From 7b523e56ef24d6db40ba11b13a67972569d3701b Mon Sep 17 00:00:00 2001 From: David Benson Date: Tue, 11 Jun 2024 14:07:19 +0100 Subject: [PATCH] 24.5.3 release --- .github/workflows/codeql-analysis.yml | 4 +- .github/workflows/stale.yml | 6 +- ChangeLog | 7 + VERSION | 2 +- src/main/webapp/js/app.min.js | 821 +++++------ src/main/webapp/js/diagramly/App.js | 26 +- src/main/webapp/js/diagramly/Dialogs.js | 2 +- src/main/webapp/js/diagramly/EditorUi.js | 3 +- src/main/webapp/js/grapheditor/Format.js | 33 +- src/main/webapp/js/grapheditor/Graph.js | 23 +- src/main/webapp/js/integrate.min.js | 821 +++++------ src/main/webapp/js/viewer-static.min.js | 1344 +++++++++---------- src/main/webapp/js/viewer.min.js | 1344 +++++++++---------- src/main/webapp/mxgraph/mxClient.js | 87 +- src/main/webapp/mxgraph/src/util/mxUtils.js | 38 + src/main/webapp/resources/dia_nl.txt | 2 +- src/main/webapp/service-worker.js | 2 +- src/main/webapp/service-worker.js.map | 2 +- 18 files changed, 2303 insertions(+), 2264 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 3c0a37a20..d684d156d 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -32,7 +32,7 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'javascript' ] + language: [ 'java', 'javascript' ] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] # Learn more about CodeQL language support at https://git.io/codeql-language-support @@ -70,4 +70,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v2 \ No newline at end of file diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 4757cd3ed..5de1faf01 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -7,7 +7,7 @@ name: Mark stale issues and pull requests on: schedule: - - cron: '45 20 * * *' + - cron: '42 11 * * *' jobs: stale: @@ -26,7 +26,7 @@ jobs: stale-issue-label: 'wonfix' stale-pr-label: 'wonfix' close-issue-label: 'declined' - days-before-stale: 200 + days-before-stale: 300 days-before-close: 60 exempt-issue-labels: notstale - exempt-pr-labels: notstale + exempt-pr-labels: notstale \ No newline at end of file diff --git a/ChangeLog b/ChangeLog index 58d2b7ebc..f8f82d956 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +11-JUN-2024: 24.5.3 + +- Fixes show start screen option [drawio-desktop-1738] +- Fixes fallback text position [drawio-desktop-1624] +- Removes control characters in link check +- Uses current unit in line position (start, end) in Format panel - Arrange [drawio-1915] + 07-JUN-2024: 24.5.2 - [conf cloud] Adds Drive file access and app check to embed macro diff --git a/VERSION b/VERSION index 6f4ea7538..0ecc276bc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -24.5.2 \ No newline at end of file +24.5.3 \ No newline at end of file diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index 320d05e4d..99ed99f68 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -64,7 +64,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);"function"!==typeof window.structuredClone&&(window.structuredClone=function(a){return a});window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use","foreignObject"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,ADD_ATTR:["target","content","pointer-events","requiredFeatures"]};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:"24.5.2",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.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"24.5.3",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&&2navigator.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|| @@ -135,48 +135,49 @@ g=e+a.width;a=b.x;var k=c.x;b.x>c.x&&(a=c.x,k=b.x);k>g&&(k=g);ak) g>a)&&(dk)&&(eb)},intersectsHotspot:function(a,b,c,d,e,f){d=null!=d?d:1;e=null!=e?e:0;f=null!=f?f:0;if(0a.toLowerCase().indexOf("0x"))},isInteger:function(a){return String(parseInt(a))=== -String(a)},mod:function(a,b){return(a%b+b)%b},intersection:function(a,b,c,d,e,f,g,k){var l=(k-f)*(c-a)-(g-e)*(d-b);g=((g-e)*(b-f)-(k-f)*(a-e))/l;e=((c-a)*(b-f)-(d-b)*(a-e))/l;return 0<=g&&1>=g&&0<=e&&1>=e?new mxPoint(a+g*(c-a),b+g*(d-b)):null},ptSegDistSq:function(a,b,c,d,e,f){c-=a;d-=b;e-=a;f-=b;0>=e*c+f*d?c=0:(e=c-e,f=d-f,a=e*c+f*d,c=0>=a?0:a*a/(c*c+d*d));e=e*e+f*f-c;0>e&&(e=0);return e},ptLineDist:function(a,b,c,d,e,f){return Math.abs((d-b)*e-(c-a)*f+c*b-d*a)/Math.sqrt((d-b)*(d-b)+(c-a)*(c-a))}, -relativeCcw:function(a,b,c,d,e,f){c-=a;d-=b;e-=a;f-=b;a=e*d-f*c;0==a&&(a=e*c+f*d,0a&&(a=0)));return 0>a?-1:0document.documentMode)?a.style.filter=100<=b? -"":"alpha(opacity="+b+")":a.style.opacity=b/100},createElementNs:function(a,b,c){if(null!=a.createElementNS)return a.createElementNS(b,c);a=a.createElement(c);null!=namespace&&a.setAttribute("xmlns",b);return a},createImage:function(a){var b=document.createElement("img");b.setAttribute("src",a);b.setAttribute("border","0");return b},sortCells:function(a,b){b=null!=b?b:!0;var c=new mxDictionary;a.sort(function(d,e){var f=c.get(d);null==f&&(f=mxCellPath.create(d).split(mxCellPath.PATH_SEPARATOR),c.put(d, -f));d=c.get(e);null==d&&(d=mxCellPath.create(e).split(mxCellPath.PATH_SEPARATOR),c.put(e,d));e=mxCellPath.compare(f,d);return 0==e?0:0a.indexOf("="))?a:""},getStylenames:function(a){var b=[];if(null!=a){a=a.split(";");for(var c=0;ca[c].indexOf("=")&&b.push(a[c])}return b},indexOfStylename:function(a,b){if(null!=a&&null!=b){a=a.split(";");for(var c=0,d=0;dmxUtils.indexOfStylename(a,b)&&(null==a?a="":0e?";":a.substring(e)):0>e||e==a.length-1?"":a.substring(e+1)}else{var f=a.indexOf(";"+b+"=");0>f?d&&(d=";"==a.charAt(a.length-1)?"":";",a=a+d+b+"="+c+";"):(e=a.indexOf(";",f+1),a=d?a.substring(0,f+1)+b+"="+c+(0>e?";":a.substring(e)):a.substring(0,f)+(0>e?";":a.substring(e)))}return a},setCellStyleFlags:function(a,b,c,d,e){if(null!=b&&0e)e=";"==a.charAt(a.length-1)?"":";",a=d||null==d?a+e+b+"="+c:a+e+b+"=0";else{var f=a.indexOf(";",e),g=0>f?a.substring(e+b.length+1):a.substring(e+b.length+1,f);g=null==d?parseInt(g)^c:d?parseInt(g)|c:parseInt(g)&~c;a=a.substring(0,e)+b+"="+g+(0<=f?a.substring(f):"")}}return a},getAlignmentAsPoint:function(a, -b){var c=-.5,d=-.5;a==mxConstants.ALIGN_LEFT?c=0:a==mxConstants.ALIGN_RIGHT&&(c=-1);b==mxConstants.ALIGN_TOP?d=0:b==mxConstants.ALIGN_BOTTOM&&(d=-1);return new mxPoint(c,d)},getSizeForString:function(a,b,c,d,e){b=null!=b?b:mxConstants.DEFAULT_FONTSIZE;c=null!=c?c:mxConstants.DEFAULT_FONTFAMILY;var f=document.createElement("div");f.style.fontFamily=c;f.style.fontSize=Math.round(b)+"px";f.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?b*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*mxSvgCanvas2D.prototype.lineHeightCorrection; -null!=e&&((e&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(f.style.fontWeight="bold"),(e&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(f.style.fontStyle="italic"),b=[],(e&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.push("underline"),(e&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&b.push("line-through"),0a)return 1;c=null!=c?c:mxConstants.PAGE_FORMAT_A4_PORTRAIT;d=null!=d?d:0;var e=c.width-2*d;c=c.height-2*d;d=mxRectangle.fromRectangle(b.getGraphBounds());b=b.getView().getScale();d.width/=b;d.height/=b;b=d.width;var f=Math.sqrt(a);d=Math.sqrt(b/d.height/(e/c));c=f*d;d=f/d;if(1>c&&d>a){var g=d/a;d=a;c/=g}1>d&&c>a&&(g=c/a,c=a,d/=g);g=Math.ceil(c)*Math.ceil(d);for(f=0;g>a;){g=Math.floor(c)/c;var k=Math.floor(d)/ -d;1==g&&(g=Math.floor(c-1)/c);1==k&&(k=Math.floor(d-1)/d);g=g>k?g:k;c*=g;d*=g;g=Math.ceil(c)*Math.ceil(d);f++;if(10";g=document.getElementsByTagName("base");for(c=0;c";for(c=0;c
')+a.container.innerHTML; -b.writeln(d+"
");b.close()}else{b.writeln("");g=document.getElementsByTagName("base");for(c=0;c');b.close();c=b.createElement("div");c.position="absolute"; -c.overflow="hidden";c.style.width=e+"px";c.style.height=f+"px";e=b.createElement("div");e.style.position="absolute";e.style.left=k+"px";e.style.top=l+"px";f=a.container.firstChild;for(d=null;null!=f;)g=f.cloneNode(!0),f==a.view.drawPane.ownerSVGElement?(c.appendChild(g),d=g):e.appendChild(g),f=f.nextSibling;b.body.appendChild(c);null!=e.firstChild&&b.body.appendChild(e);null!=d&&(d.style.minWidth="",d.style.minHeight="",d.firstChild.setAttribute("transform","translate("+k+","+l+")"))}mxUtils.removeCursors(b.body); -return b},printScreen:function(a){var b=window.open();mxUtils.show(a,b.document);a=function(){b.focus();b.print();b.close()};mxClient.IS_GC?b.setTimeout(a,500):a()},popup:function(a,b){if(b){var c=document.createElement("div");c.style.overflow="scroll";c.style.width="636px";c.style.height="460px";b=document.createElement("pre");b.innerHTML=mxUtils.htmlEntities(a,!1).replace(/\n/g,"
").replace(/ /g," ");c.appendChild(b);c=new mxWindow("Popup Window",c,document.body.clientWidth/2-320,Math.max(document.body.clientHeight|| -0,document.documentElement.clientHeight)/2-240,640,480,!1,!0);c.setClosable(!0);c.setVisible(!0)}else mxClient.IS_NS?(c=window.open(),c.document.writeln("
"+mxUtils.htmlEntities(a)+"").replace(/ /g," "),c.document.body.appendChild(b))},alert:function(a){alert(a)},prompt:function(a,b){return prompt(a,null!=b?b:"")},confirm:function(a){return confirm(a)},
-error:function(a,b,c,d){var e=document.createElement("div");e.style.padding="20px";var f=document.createElement("img");f.setAttribute("src",d||mxUtils.errorImage);f.setAttribute("valign","bottom");f.style.verticalAlign="middle";e.appendChild(f);e.appendChild(document.createTextNode(" "));e.appendChild(document.createTextNode(" "));e.appendChild(document.createTextNode(" "));mxUtils.write(e,a);a=document.body.clientWidth;d=document.body.clientHeight||document.documentElement.clientHeight;var g=new mxWindow(mxResources.get(mxUtils.errorResource)||
-mxUtils.errorResource,e,(a-b)/2,d/4,b,null,!1,!0);c&&(mxUtils.br(e),b=document.createElement("p"),c=document.createElement("button"),mxClient.IS_IE?c.style.cssText="float:right":c.setAttribute("style","float:right"),mxEvent.addListener(c,"click",function(k){g.destroy()}),mxUtils.write(c,mxResources.get(mxUtils.closeResource)||mxUtils.closeResource),b.appendChild(c),e.appendChild(b),mxUtils.br(e),g.setClosable(!0));g.setVisible(!0);return g},makeDraggable:function(a,b,c,d,e,f,g,k,l,m){a=new mxDragSource(a,
-c);a.dragOffset=new mxPoint(null!=e?e:0,null!=f?f:mxConstants.TOOLTIP_VERTICAL_OFFSET);a.autoscroll=g;a.setGuidesEnabled(!1);null!=l&&(a.highlightDropTargets=l);null!=m&&(a.getDropTarget=m);a.getGraphForEvent=function(n){return"function"==typeof b?b(n):b};null!=d&&(a.createDragElement=function(){return d.cloneNode(!0)},k&&(a.createPreviewElement=function(n){var p=d.cloneNode(!0),q=parseInt(p.style.width),r=parseInt(p.style.height);p.style.width=Math.round(q*n.view.scale)+"px";p.style.height=Math.round(r*
-n.view.scale)+"px";return p}));return a},format:function(a){return parseFloat(parseFloat(a).toFixed(2))}},mxConstants={DEFAULT_HOTSPOT:.3,MIN_HOTSPOT_SIZE:8,MAX_HOTSPOT_SIZE:0,RENDERING_HINT_EXACT:"exact",RENDERING_HINT_FASTER:"faster",RENDERING_HINT_FASTEST:"fastest",DIALECT_SVG:"svg",DIALECT_MIXEDHTML:"mixedHtml",DIALECT_PREFERHTML:"preferHtml",DIALECT_STRICTHTML:"strictHtml",NS_SVG:"http://www.w3.org/2000/svg",NS_XHTML:"http://www.w3.org/1999/xhtml",NS_XLINK:"http://www.w3.org/1999/xlink",SHADOWCOLOR:"#808080",
-VML_SHADOWCOLOR:"#808080",SHADOW_OFFSET_X:2,SHADOW_OFFSET_Y:3,SHADOW_BLUR:2,SHADOW_OPACITY:1,NODETYPE_ELEMENT:1,NODETYPE_ATTRIBUTE:2,NODETYPE_TEXT:3,NODETYPE_CDATA:4,NODETYPE_ENTITY_REFERENCE:5,NODETYPE_ENTITY:6,NODETYPE_PROCESSING_INSTRUCTION:7,NODETYPE_COMMENT:8,NODETYPE_DOCUMENT:9,NODETYPE_DOCUMENTTYPE:10,NODETYPE_DOCUMENT_FRAGMENT:11,NODETYPE_NOTATION:12,TOOLTIP_VERTICAL_OFFSET:16,DEFAULT_VALID_COLOR:"#00FF00",DEFAULT_INVALID_COLOR:"#FF0000",OUTLINE_HIGHLIGHT_COLOR:"#00FF00",OUTLINE_HIGHLIGHT_STROKEWIDTH:5,
-HIGHLIGHT_STROKEWIDTH:3,HIGHLIGHT_SIZE:2,HIGHLIGHT_OPACITY:100,CURSOR_MOVABLE_VERTEX:"move",CURSOR_MOVABLE_EDGE:"move",CURSOR_LABEL_HANDLE:"default",CURSOR_TERMINAL_HANDLE:"pointer",CURSOR_BEND_HANDLE:"crosshair",CURSOR_VIRTUAL_BEND_HANDLE:"crosshair",CURSOR_CONNECT:"pointer",HIGHLIGHT_COLOR:"#00FF00",CONNECT_TARGET_COLOR:"#0000FF",INVALID_CONNECT_TARGET_COLOR:"#FF0000",DROP_TARGET_COLOR:"#0000FF",VALID_COLOR:"#00FF00",INVALID_COLOR:"#FF0000",EDGE_SELECTION_COLOR:"#00FF00",VERTEX_SELECTION_COLOR:"#00FF00",
-VERTEX_SELECTION_STROKEWIDTH:1,EDGE_SELECTION_STROKEWIDTH:1,VERTEX_SELECTION_DASHED:!0,EDGE_SELECTION_DASHED:!0,GUIDE_COLOR:"#FF0000",GUIDE_STROKEWIDTH:1,OUTLINE_COLOR:"#0099FF",OUTLINE_STROKEWIDTH:mxClient.IS_IE?2:3,HANDLE_SIZE:6,LABEL_HANDLE_SIZE:4,HANDLE_FILLCOLOR:"#00FF00",HANDLE_STROKECOLOR:"black",LABEL_HANDLE_FILLCOLOR:"yellow",CONNECT_HANDLE_FILLCOLOR:"#0000FF",LOCKED_HANDLE_FILLCOLOR:"#FF0000",OUTLINE_HANDLE_FILLCOLOR:"#00FFFF",OUTLINE_HANDLE_STROKECOLOR:"#0033FF",DEFAULT_FONTFAMILY:"Arial,Helvetica",
-DEFAULT_FONTSIZE:11,DEFAULT_TEXT_DIRECTION:"",LINE_HEIGHT:1.2,WORD_WRAP:"normal",ABSOLUTE_LINE_HEIGHT:!1,DEFAULT_FONTSTYLE:0,DEFAULT_STARTSIZE:40,DEFAULT_MARKERSIZE:6,DEFAULT_IMAGESIZE:24,ENTITY_SEGMENT:30,RECTANGLE_ROUNDING_FACTOR:.15,LINE_ARCSIZE:20,ARROW_SPACING:0,ARROW_WIDTH:30,ARROW_SIZE:30,PAGE_FORMAT_A4_PORTRAIT:new mxRectangle(0,0,827,1169),PAGE_FORMAT_A4_LANDSCAPE:new mxRectangle(0,0,1169,827),PAGE_FORMAT_LETTER_PORTRAIT:new mxRectangle(0,0,850,1100),PAGE_FORMAT_LETTER_LANDSCAPE:new mxRectangle(0,
-0,1100,850),NONE:"none",STYLE_PERIMETER:"perimeter",STYLE_SOURCE_PORT:"sourcePort",STYLE_TARGET_PORT:"targetPort",STYLE_PORT_CONSTRAINT:"portConstraint",STYLE_PORT_CONSTRAINT_ROTATION:"portConstraintRotation",STYLE_SOURCE_PORT_CONSTRAINT:"sourcePortConstraint",STYLE_TARGET_PORT_CONSTRAINT:"targetPortConstraint",STYLE_OPACITY:"opacity",STYLE_FILL_OPACITY:"fillOpacity",STYLE_FILL_STYLE:"fillStyle",STYLE_STROKE_OPACITY:"strokeOpacity",STYLE_TEXT_OPACITY:"textOpacity",STYLE_TEXT_DIRECTION:"textDirection",
-STYLE_OVERFLOW:"overflow",STYLE_BLOCK_SPACING:"blockSpacing",STYLE_ORTHOGONAL:"orthogonal",STYLE_EXIT_X:"exitX",STYLE_EXIT_Y:"exitY",STYLE_EXIT_DX:"exitDx",STYLE_EXIT_DY:"exitDy",STYLE_EXIT_PERIMETER:"exitPerimeter",STYLE_ENTRY_X:"entryX",STYLE_ENTRY_Y:"entryY",STYLE_ENTRY_DX:"entryDx",STYLE_ENTRY_DY:"entryDy",STYLE_ENTRY_PERIMETER:"entryPerimeter",STYLE_WHITE_SPACE:"whiteSpace",STYLE_ROTATION:"rotation",STYLE_FILLCOLOR:"fillColor",STYLE_POINTER_EVENTS:"pointerEvents",STYLE_SWIMLANE_FILLCOLOR:"swimlaneFillColor",
-STYLE_MARGIN:"margin",STYLE_GRADIENTCOLOR:"gradientColor",STYLE_GRADIENT_DIRECTION:"gradientDirection",STYLE_STROKECOLOR:"strokeColor",STYLE_SEPARATORCOLOR:"separatorColor",STYLE_STROKEWIDTH:"strokeWidth",STYLE_ALIGN:"align",STYLE_VERTICAL_ALIGN:"verticalAlign",STYLE_LABEL_WIDTH:"labelWidth",STYLE_LABEL_POSITION:"labelPosition",STYLE_VERTICAL_LABEL_POSITION:"verticalLabelPosition",STYLE_IMAGE_ASPECT:"imageAspect",STYLE_IMAGE_ALIGN:"imageAlign",STYLE_IMAGE_VERTICAL_ALIGN:"imageVerticalAlign",STYLE_GLASS:"glass",
-STYLE_IMAGE:"image",STYLE_IMAGE_WIDTH:"imageWidth",STYLE_IMAGE_HEIGHT:"imageHeight",STYLE_IMAGE_BACKGROUND:"imageBackground",STYLE_IMAGE_BORDER:"imageBorder",STYLE_FLIPH:"flipH",STYLE_FLIPV:"flipV",STYLE_NOLABEL:"noLabel",STYLE_NOEDGESTYLE:"noEdgeStyle",STYLE_LABEL_BACKGROUNDCOLOR:"labelBackgroundColor",STYLE_LABEL_BORDERCOLOR:"labelBorderColor",STYLE_LABEL_PADDING:"labelPadding",STYLE_INDICATOR_SHAPE:"indicatorShape",STYLE_INDICATOR_IMAGE:"indicatorImage",STYLE_INDICATOR_COLOR:"indicatorColor",STYLE_INDICATOR_STROKECOLOR:"indicatorStrokeColor",
-STYLE_INDICATOR_GRADIENTCOLOR:"indicatorGradientColor",STYLE_INDICATOR_SPACING:"indicatorSpacing",STYLE_INDICATOR_WIDTH:"indicatorWidth",STYLE_INDICATOR_HEIGHT:"indicatorHeight",STYLE_INDICATOR_DIRECTION:"indicatorDirection",STYLE_SHADOW:"shadow",STYLE_TEXT_SHADOW:"textShadow",STYLE_SHADOW_OFFSET_X:"shadowOffsetX",STYLE_SHADOW_OFFSET_Y:"shadowOffsetY",STYLE_SHADOW_BLUR:"shadowBlur",STYLE_SHADOWCOLOR:"shadowColor",STYLE_SHADOW_OPACITY:"shadowOpacity",STYLE_SEGMENT:"segment",STYLE_ENDARROW:"endArrow",
-STYLE_STARTARROW:"startArrow",STYLE_ENDSIZE:"endSize",STYLE_STARTSIZE:"startSize",STYLE_SWIMLANE_LINE:"swimlaneLine",STYLE_SWIMLANE_HEAD:"swimlaneHead",STYLE_SWIMLANE_BODY:"swimlaneBody",STYLE_ENDFILL:"endFill",STYLE_ENDFILLCOLOR:"endFillColor",STYLE_STARTFILL:"startFill",STYLE_STARTFILLCOLOR:"startFillColor",STYLE_DASHED:"dashed",STYLE_DASH_PATTERN:"dashPattern",STYLE_FIX_DASH:"fixDash",STYLE_ROUNDED:"rounded",STYLE_CURVED:"curved",STYLE_ARCSIZE:"arcSize",STYLE_ABSOLUTE_ARCSIZE:"absoluteArcSize",
-STYLE_SOURCE_PERIMETER_SPACING:"sourcePerimeterSpacing",STYLE_TARGET_PERIMETER_SPACING:"targetPerimeterSpacing",STYLE_PERIMETER_SPACING:"perimeterSpacing",STYLE_SPACING:"spacing",STYLE_SPACING_TOP:"spacingTop",STYLE_SPACING_LEFT:"spacingLeft",STYLE_SPACING_BOTTOM:"spacingBottom",STYLE_SPACING_RIGHT:"spacingRight",STYLE_HORIZONTAL:"horizontal",STYLE_DIRECTION:"direction",STYLE_ANCHOR_POINT_DIRECTION:"anchorPointDirection",STYLE_ELBOW:"elbow",STYLE_FONTCOLOR:"fontColor",STYLE_FONTFAMILY:"fontFamily",
-STYLE_FONTSIZE:"fontSize",STYLE_FONTSTYLE:"fontStyle",STYLE_ASPECT:"aspect",STYLE_AUTOSIZE:"autosize",STYLE_FIXED_WIDTH:"fixedWidth",STYLE_FOLDABLE:"foldable",STYLE_EDITABLE:"editable",STYLE_BACKGROUND_OUTLINE:"backgroundOutline",STYLE_BENDABLE:"bendable",STYLE_MOVABLE:"movable",STYLE_RESIZABLE:"resizable",STYLE_RESIZE_WIDTH:"resizeWidth",STYLE_RESIZE_HEIGHT:"resizeHeight",STYLE_ROTATABLE:"rotatable",STYLE_CLONEABLE:"cloneable",STYLE_DELETABLE:"deletable",STYLE_SHAPE:"shape",STYLE_EDGE:"edgeStyle",
-STYLE_JETTY_SIZE:"jettySize",STYLE_SOURCE_JETTY_SIZE:"sourceJettySize",STYLE_TARGET_JETTY_SIZE:"targetJettySize",STYLE_LOOP:"loopStyle",STYLE_ORTHOGONAL_LOOP:"orthogonalLoop",STYLE_ROUTING_CENTER_X:"routingCenterX",STYLE_ROUTING_CENTER_Y:"routingCenterY",STYLE_CLIP_PATH:"clipPath",FONT_BOLD:1,FONT_ITALIC:2,FONT_UNDERLINE:4,FONT_STRIKETHROUGH:8,SHAPE_RECTANGLE:"rectangle",SHAPE_ELLIPSE:"ellipse",SHAPE_DOUBLE_ELLIPSE:"doubleEllipse",SHAPE_RHOMBUS:"rhombus",SHAPE_LINE:"line",SHAPE_IMAGE:"image",SHAPE_ARROW:"arrow",
-SHAPE_ARROW_CONNECTOR:"arrowConnector",SHAPE_LABEL:"label",SHAPE_CYLINDER:"cylinder",SHAPE_SWIMLANE:"swimlane",SHAPE_CONNECTOR:"connector",SHAPE_ACTOR:"actor",SHAPE_CLOUD:"cloud",SHAPE_TRIANGLE:"triangle",SHAPE_HEXAGON:"hexagon",ARROW_CLASSIC:"classic",ARROW_CLASSIC_THIN:"classicThin",ARROW_BLOCK:"block",ARROW_BLOCK_THIN:"blockThin",ARROW_OPEN:"open",ARROW_OPEN_THIN:"openThin",ARROW_OVAL:"oval",ARROW_DIAMOND:"diamond",ARROW_DIAMOND_THIN:"diamondThin",ALIGN_LEFT:"left",ALIGN_CENTER:"center",ALIGN_RIGHT:"right",
-ALIGN_TOP:"top",ALIGN_MIDDLE:"middle",ALIGN_BOTTOM:"bottom",DIRECTION_NORTH:"north",DIRECTION_SOUTH:"south",DIRECTION_EAST:"east",DIRECTION_WEST:"west",DIRECTION_RADIAL:"radial",TEXT_DIRECTION_DEFAULT:"",TEXT_DIRECTION_AUTO:"auto",TEXT_DIRECTION_LTR:"ltr",TEXT_DIRECTION_RTL:"rtl",TEXT_DIRECTION_VERTICAL_LR:"vertical-lr",TEXT_DIRECTION_VERTICAL_RL:"vertical-rl",DIRECTION_MASK_NONE:0,DIRECTION_MASK_WEST:1,DIRECTION_MASK_NORTH:2,DIRECTION_MASK_SOUTH:4,DIRECTION_MASK_EAST:8,DIRECTION_MASK_ALL:15,ELBOW_VERTICAL:"vertical",
-ELBOW_HORIZONTAL:"horizontal",EDGESTYLE_ELBOW:"elbowEdgeStyle",EDGESTYLE_ENTITY_RELATION:"entityRelationEdgeStyle",EDGESTYLE_LOOP:"loopEdgeStyle",EDGESTYLE_SIDETOSIDE:"sideToSideEdgeStyle",EDGESTYLE_TOPTOBOTTOM:"topToBottomEdgeStyle",EDGESTYLE_ORTHOGONAL:"orthogonalEdgeStyle",EDGESTYLE_SEGMENT:"segmentEdgeStyle",PERIMETER_ELLIPSE:"ellipsePerimeter",PERIMETER_RECTANGLE:"rectanglePerimeter",PERIMETER_RHOMBUS:"rhombusPerimeter",PERIMETER_HEXAGON:"hexagonPerimeter",PERIMETER_TRIANGLE:"trianglePerimeter"};
+e=d.body,f=d.documentElement,g=new mxPoint,k=!1;null!=a&&a!=e&&a!=f;){isNaN(a.scrollLeft)||isNaN(a.scrollTop)||(g.x+=a.scrollLeft,g.y+=a.scrollTop);var l=mxUtils.getCurrentStyle(a);null!=l&&(k=k||"fixed"==l.position);a=b?a.parentNode:null}!k&&c&&(a=mxUtils.getDocumentScrollOrigin(d),g.x+=a.x,g.y+=a.y);return g},convertPoint:function(a,b,c){var d=mxUtils.getScrollOrigin(a,!1);a=mxUtils.getOffset(a);a.x-=d.x;a.y-=d.y;return new mxPoint(b-a.x,c-a.y)},removeJavascriptProtocol:function(a){for(a=null!=
+a?mxUtils.zapGremlins(a):null;null!=a&&"javascript:"===mxUtils.ltrim(a.toLowerCase()).substring(0,11);)a=a.substring(a.toLowerCase().indexOf(":")+1);return a},zapGremlins:function(a){for(var b=0,c=[],d=0;da.toLowerCase().indexOf("0x"))},isInteger:function(a){return String(parseInt(a))===String(a)},mod:function(a,b){return(a%b+b)%b},intersection:function(a,b,c,d,e,f,g,k){var l=(k-f)*(c-a)-(g-e)*(d-b);g=((g-e)*(b-f)-(k-f)*(a-e))/l;e=((c-a)*(b-f)-(d-b)*(a-e))/l;return 0<=g&&1>=
+g&&0<=e&&1>=e?new mxPoint(a+g*(c-a),b+g*(d-b)):null},ptSegDistSq:function(a,b,c,d,e,f){c-=a;d-=b;e-=a;f-=b;0>=e*c+f*d?c=0:(e=c-e,f=d-f,a=e*c+f*d,c=0>=a?0:a*a/(c*c+d*d));e=e*e+f*f-c;0>e&&(e=0);return e},ptLineDist:function(a,b,c,d,e,f){return Math.abs((d-b)*e-(c-a)*f+c*b-d*a)/Math.sqrt((d-b)*(d-b)+(c-a)*(c-a))},relativeCcw:function(a,b,c,d,e,f){c-=a;d-=b;e-=a;f-=b;a=e*d-f*c;0==a&&(a=e*c+f*d,0a&&(a=0)));return 0>a?-1:0document.documentMode)?a.style.filter=100<=b?"":"alpha(opacity="+b+")":a.style.opacity=b/100},createElementNs:function(a,b,c){if(null!=a.createElementNS)return a.createElementNS(b,c);a=a.createElement(c);null!=namespace&&a.setAttribute("xmlns",b);return a},
+createImage:function(a){var b=document.createElement("img");b.setAttribute("src",a);b.setAttribute("border","0");return b},sortCells:function(a,b){b=null!=b?b:!0;var c=new mxDictionary;a.sort(function(d,e){var f=c.get(d);null==f&&(f=mxCellPath.create(d).split(mxCellPath.PATH_SEPARATOR),c.put(d,f));d=c.get(e);null==d&&(d=mxCellPath.create(e).split(mxCellPath.PATH_SEPARATOR),c.put(e,d));e=mxCellPath.compare(f,d);return 0==e?0:0a.indexOf("="))?a:""},getStylenames:function(a){var b=[];if(null!=a){a=a.split(";");for(var c=0;ca[c].indexOf("=")&&b.push(a[c])}return b},indexOfStylename:function(a,b){if(null!=a&&null!=b){a=a.split(";");for(var c=0,d=0;dmxUtils.indexOfStylename(a,b)&&(null==a?a="":0e?";":a.substring(e)):0>e||e==a.length-1?"":a.substring(e+1)}else{var f=a.indexOf(";"+b+"=");0>f?d&&(d=";"==a.charAt(a.length-
+1)?"":";",a=a+d+b+"="+c+";"):(e=a.indexOf(";",f+1),a=d?a.substring(0,f+1)+b+"="+c+(0>e?";":a.substring(e)):a.substring(0,f)+(0>e?";":a.substring(e)))}return a},setCellStyleFlags:function(a,b,c,d,e){if(null!=b&&0e)e=";"==
+a.charAt(a.length-1)?"":";",a=d||null==d?a+e+b+"="+c:a+e+b+"=0";else{var f=a.indexOf(";",e),g=0>f?a.substring(e+b.length+1):a.substring(e+b.length+1,f);g=null==d?parseInt(g)^c:d?parseInt(g)|c:parseInt(g)&~c;a=a.substring(0,e)+b+"="+g+(0<=f?a.substring(f):"")}}return a},getAlignmentAsPoint:function(a,b){var c=-.5,d=-.5;a==mxConstants.ALIGN_LEFT?c=0:a==mxConstants.ALIGN_RIGHT&&(c=-1);b==mxConstants.ALIGN_TOP?d=0:b==mxConstants.ALIGN_BOTTOM&&(d=-1);return new mxPoint(c,d)},getSizeForString:function(a,
+b,c,d,e){b=null!=b?b:mxConstants.DEFAULT_FONTSIZE;c=null!=c?c:mxConstants.DEFAULT_FONTFAMILY;var f=document.createElement("div");f.style.fontFamily=c;f.style.fontSize=Math.round(b)+"px";f.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?b*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*mxSvgCanvas2D.prototype.lineHeightCorrection;null!=e&&((e&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(f.style.fontWeight="bold"),(e&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(f.style.fontStyle="italic"),
+b=[],(e&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.push("underline"),(e&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&b.push("line-through"),0a)return 1;c=null!=c?c:mxConstants.PAGE_FORMAT_A4_PORTRAIT;d=null!=d?d:0;var e=
+c.width-2*d;c=c.height-2*d;d=mxRectangle.fromRectangle(b.getGraphBounds());b=b.getView().getScale();d.width/=b;d.height/=b;b=d.width;var f=Math.sqrt(a);d=Math.sqrt(b/d.height/(e/c));c=f*d;d=f/d;if(1>c&&d>a){var g=d/a;d=a;c/=g}1>d&&c>a&&(g=c/a,c=a,d/=g);g=Math.ceil(c)*Math.ceil(d);for(f=0;g>a;){g=Math.floor(c)/c;var k=Math.floor(d)/d;1==g&&(g=Math.floor(c-1)/c);1==k&&(k=Math.floor(d-1)/d);g=g>k?g:k;c*=g;d*=g;g=Math.ceil(c)*Math.ceil(d);f++;if(10";g=document.getElementsByTagName("base");for(c=0;c
')+a.container.innerHTML;b.writeln(d+"
");b.close()}else{b.writeln("");g=document.getElementsByTagName("base");for(c=0;c');b.close();c=b.createElement("div");c.position="absolute";c.overflow="hidden";c.style.width=e+"px";c.style.height=f+"px";e=b.createElement("div");e.style.position="absolute";e.style.left=k+"px";e.style.top=l+"px";f=a.container.firstChild; +for(d=null;null!=f;)g=f.cloneNode(!0),f==a.view.drawPane.ownerSVGElement?(c.appendChild(g),d=g):e.appendChild(g),f=f.nextSibling;b.body.appendChild(c);null!=e.firstChild&&b.body.appendChild(e);null!=d&&(d.style.minWidth="",d.style.minHeight="",d.firstChild.setAttribute("transform","translate("+k+","+l+")"))}mxUtils.removeCursors(b.body);return b},printScreen:function(a){var b=window.open();mxUtils.show(a,b.document);a=function(){b.focus();b.print();b.close()};mxClient.IS_GC?b.setTimeout(a,500):a()}, +popup:function(a,b){if(b){var c=document.createElement("div");c.style.overflow="scroll";c.style.width="636px";c.style.height="460px";b=document.createElement("pre");b.innerHTML=mxUtils.htmlEntities(a,!1).replace(/\n/g,"
").replace(/ /g," ");c.appendChild(b);c=new mxWindow("Popup Window",c,document.body.clientWidth/2-320,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight)/2-240,640,480,!1,!0);c.setClosable(!0);c.setVisible(!0)}else mxClient.IS_NS?(c=window.open(), +c.document.writeln("
"+mxUtils.htmlEntities(a)+"").replace(/ /g," "),c.document.body.appendChild(b))},alert:function(a){alert(a)},prompt:function(a,b){return prompt(a,null!=b?b:"")},confirm:function(a){return confirm(a)},error:function(a,b,c,d){var e=document.createElement("div");e.style.padding="20px";var f=document.createElement("img");f.setAttribute("src",
+d||mxUtils.errorImage);f.setAttribute("valign","bottom");f.style.verticalAlign="middle";e.appendChild(f);e.appendChild(document.createTextNode(" "));e.appendChild(document.createTextNode(" "));e.appendChild(document.createTextNode(" "));mxUtils.write(e,a);a=document.body.clientWidth;d=document.body.clientHeight||document.documentElement.clientHeight;var g=new mxWindow(mxResources.get(mxUtils.errorResource)||mxUtils.errorResource,e,(a-b)/2,d/4,b,null,!1,!0);c&&(mxUtils.br(e),b=document.createElement("p"),
+c=document.createElement("button"),mxClient.IS_IE?c.style.cssText="float:right":c.setAttribute("style","float:right"),mxEvent.addListener(c,"click",function(k){g.destroy()}),mxUtils.write(c,mxResources.get(mxUtils.closeResource)||mxUtils.closeResource),b.appendChild(c),e.appendChild(b),mxUtils.br(e),g.setClosable(!0));g.setVisible(!0);return g},makeDraggable:function(a,b,c,d,e,f,g,k,l,m){a=new mxDragSource(a,c);a.dragOffset=new mxPoint(null!=e?e:0,null!=f?f:mxConstants.TOOLTIP_VERTICAL_OFFSET);a.autoscroll=
+g;a.setGuidesEnabled(!1);null!=l&&(a.highlightDropTargets=l);null!=m&&(a.getDropTarget=m);a.getGraphForEvent=function(n){return"function"==typeof b?b(n):b};null!=d&&(a.createDragElement=function(){return d.cloneNode(!0)},k&&(a.createPreviewElement=function(n){var p=d.cloneNode(!0),q=parseInt(p.style.width),r=parseInt(p.style.height);p.style.width=Math.round(q*n.view.scale)+"px";p.style.height=Math.round(r*n.view.scale)+"px";return p}));return a},format:function(a){return parseFloat(parseFloat(a).toFixed(2))}},
+mxConstants={DEFAULT_HOTSPOT:.3,MIN_HOTSPOT_SIZE:8,MAX_HOTSPOT_SIZE:0,RENDERING_HINT_EXACT:"exact",RENDERING_HINT_FASTER:"faster",RENDERING_HINT_FASTEST:"fastest",DIALECT_SVG:"svg",DIALECT_MIXEDHTML:"mixedHtml",DIALECT_PREFERHTML:"preferHtml",DIALECT_STRICTHTML:"strictHtml",NS_SVG:"http://www.w3.org/2000/svg",NS_XHTML:"http://www.w3.org/1999/xhtml",NS_XLINK:"http://www.w3.org/1999/xlink",SHADOWCOLOR:"#808080",VML_SHADOWCOLOR:"#808080",SHADOW_OFFSET_X:2,SHADOW_OFFSET_Y:3,SHADOW_BLUR:2,SHADOW_OPACITY:1,
+NODETYPE_ELEMENT:1,NODETYPE_ATTRIBUTE:2,NODETYPE_TEXT:3,NODETYPE_CDATA:4,NODETYPE_ENTITY_REFERENCE:5,NODETYPE_ENTITY:6,NODETYPE_PROCESSING_INSTRUCTION:7,NODETYPE_COMMENT:8,NODETYPE_DOCUMENT:9,NODETYPE_DOCUMENTTYPE:10,NODETYPE_DOCUMENT_FRAGMENT:11,NODETYPE_NOTATION:12,TOOLTIP_VERTICAL_OFFSET:16,DEFAULT_VALID_COLOR:"#00FF00",DEFAULT_INVALID_COLOR:"#FF0000",OUTLINE_HIGHLIGHT_COLOR:"#00FF00",OUTLINE_HIGHLIGHT_STROKEWIDTH:5,HIGHLIGHT_STROKEWIDTH:3,HIGHLIGHT_SIZE:2,HIGHLIGHT_OPACITY:100,CURSOR_MOVABLE_VERTEX:"move",
+CURSOR_MOVABLE_EDGE:"move",CURSOR_LABEL_HANDLE:"default",CURSOR_TERMINAL_HANDLE:"pointer",CURSOR_BEND_HANDLE:"crosshair",CURSOR_VIRTUAL_BEND_HANDLE:"crosshair",CURSOR_CONNECT:"pointer",HIGHLIGHT_COLOR:"#00FF00",CONNECT_TARGET_COLOR:"#0000FF",INVALID_CONNECT_TARGET_COLOR:"#FF0000",DROP_TARGET_COLOR:"#0000FF",VALID_COLOR:"#00FF00",INVALID_COLOR:"#FF0000",EDGE_SELECTION_COLOR:"#00FF00",VERTEX_SELECTION_COLOR:"#00FF00",VERTEX_SELECTION_STROKEWIDTH:1,EDGE_SELECTION_STROKEWIDTH:1,VERTEX_SELECTION_DASHED:!0,
+EDGE_SELECTION_DASHED:!0,GUIDE_COLOR:"#FF0000",GUIDE_STROKEWIDTH:1,OUTLINE_COLOR:"#0099FF",OUTLINE_STROKEWIDTH:mxClient.IS_IE?2:3,HANDLE_SIZE:6,LABEL_HANDLE_SIZE:4,HANDLE_FILLCOLOR:"#00FF00",HANDLE_STROKECOLOR:"black",LABEL_HANDLE_FILLCOLOR:"yellow",CONNECT_HANDLE_FILLCOLOR:"#0000FF",LOCKED_HANDLE_FILLCOLOR:"#FF0000",OUTLINE_HANDLE_FILLCOLOR:"#00FFFF",OUTLINE_HANDLE_STROKECOLOR:"#0033FF",DEFAULT_FONTFAMILY:"Arial,Helvetica",DEFAULT_FONTSIZE:11,DEFAULT_TEXT_DIRECTION:"",LINE_HEIGHT:1.2,WORD_WRAP:"normal",
+ABSOLUTE_LINE_HEIGHT:!1,DEFAULT_FONTSTYLE:0,DEFAULT_STARTSIZE:40,DEFAULT_MARKERSIZE:6,DEFAULT_IMAGESIZE:24,ENTITY_SEGMENT:30,RECTANGLE_ROUNDING_FACTOR:.15,LINE_ARCSIZE:20,ARROW_SPACING:0,ARROW_WIDTH:30,ARROW_SIZE:30,PAGE_FORMAT_A4_PORTRAIT:new mxRectangle(0,0,827,1169),PAGE_FORMAT_A4_LANDSCAPE:new mxRectangle(0,0,1169,827),PAGE_FORMAT_LETTER_PORTRAIT:new mxRectangle(0,0,850,1100),PAGE_FORMAT_LETTER_LANDSCAPE:new mxRectangle(0,0,1100,850),NONE:"none",STYLE_PERIMETER:"perimeter",STYLE_SOURCE_PORT:"sourcePort",
+STYLE_TARGET_PORT:"targetPort",STYLE_PORT_CONSTRAINT:"portConstraint",STYLE_PORT_CONSTRAINT_ROTATION:"portConstraintRotation",STYLE_SOURCE_PORT_CONSTRAINT:"sourcePortConstraint",STYLE_TARGET_PORT_CONSTRAINT:"targetPortConstraint",STYLE_OPACITY:"opacity",STYLE_FILL_OPACITY:"fillOpacity",STYLE_FILL_STYLE:"fillStyle",STYLE_STROKE_OPACITY:"strokeOpacity",STYLE_TEXT_OPACITY:"textOpacity",STYLE_TEXT_DIRECTION:"textDirection",STYLE_OVERFLOW:"overflow",STYLE_BLOCK_SPACING:"blockSpacing",STYLE_ORTHOGONAL:"orthogonal",
+STYLE_EXIT_X:"exitX",STYLE_EXIT_Y:"exitY",STYLE_EXIT_DX:"exitDx",STYLE_EXIT_DY:"exitDy",STYLE_EXIT_PERIMETER:"exitPerimeter",STYLE_ENTRY_X:"entryX",STYLE_ENTRY_Y:"entryY",STYLE_ENTRY_DX:"entryDx",STYLE_ENTRY_DY:"entryDy",STYLE_ENTRY_PERIMETER:"entryPerimeter",STYLE_WHITE_SPACE:"whiteSpace",STYLE_ROTATION:"rotation",STYLE_FILLCOLOR:"fillColor",STYLE_POINTER_EVENTS:"pointerEvents",STYLE_SWIMLANE_FILLCOLOR:"swimlaneFillColor",STYLE_MARGIN:"margin",STYLE_GRADIENTCOLOR:"gradientColor",STYLE_GRADIENT_DIRECTION:"gradientDirection",
+STYLE_STROKECOLOR:"strokeColor",STYLE_SEPARATORCOLOR:"separatorColor",STYLE_STROKEWIDTH:"strokeWidth",STYLE_ALIGN:"align",STYLE_VERTICAL_ALIGN:"verticalAlign",STYLE_LABEL_WIDTH:"labelWidth",STYLE_LABEL_POSITION:"labelPosition",STYLE_VERTICAL_LABEL_POSITION:"verticalLabelPosition",STYLE_IMAGE_ASPECT:"imageAspect",STYLE_IMAGE_ALIGN:"imageAlign",STYLE_IMAGE_VERTICAL_ALIGN:"imageVerticalAlign",STYLE_GLASS:"glass",STYLE_IMAGE:"image",STYLE_IMAGE_WIDTH:"imageWidth",STYLE_IMAGE_HEIGHT:"imageHeight",STYLE_IMAGE_BACKGROUND:"imageBackground",
+STYLE_IMAGE_BORDER:"imageBorder",STYLE_FLIPH:"flipH",STYLE_FLIPV:"flipV",STYLE_NOLABEL:"noLabel",STYLE_NOEDGESTYLE:"noEdgeStyle",STYLE_LABEL_BACKGROUNDCOLOR:"labelBackgroundColor",STYLE_LABEL_BORDERCOLOR:"labelBorderColor",STYLE_LABEL_PADDING:"labelPadding",STYLE_INDICATOR_SHAPE:"indicatorShape",STYLE_INDICATOR_IMAGE:"indicatorImage",STYLE_INDICATOR_COLOR:"indicatorColor",STYLE_INDICATOR_STROKECOLOR:"indicatorStrokeColor",STYLE_INDICATOR_GRADIENTCOLOR:"indicatorGradientColor",STYLE_INDICATOR_SPACING:"indicatorSpacing",
+STYLE_INDICATOR_WIDTH:"indicatorWidth",STYLE_INDICATOR_HEIGHT:"indicatorHeight",STYLE_INDICATOR_DIRECTION:"indicatorDirection",STYLE_SHADOW:"shadow",STYLE_TEXT_SHADOW:"textShadow",STYLE_SHADOW_OFFSET_X:"shadowOffsetX",STYLE_SHADOW_OFFSET_Y:"shadowOffsetY",STYLE_SHADOW_BLUR:"shadowBlur",STYLE_SHADOWCOLOR:"shadowColor",STYLE_SHADOW_OPACITY:"shadowOpacity",STYLE_SEGMENT:"segment",STYLE_ENDARROW:"endArrow",STYLE_STARTARROW:"startArrow",STYLE_ENDSIZE:"endSize",STYLE_STARTSIZE:"startSize",STYLE_SWIMLANE_LINE:"swimlaneLine",
+STYLE_SWIMLANE_HEAD:"swimlaneHead",STYLE_SWIMLANE_BODY:"swimlaneBody",STYLE_ENDFILL:"endFill",STYLE_ENDFILLCOLOR:"endFillColor",STYLE_STARTFILL:"startFill",STYLE_STARTFILLCOLOR:"startFillColor",STYLE_DASHED:"dashed",STYLE_DASH_PATTERN:"dashPattern",STYLE_FIX_DASH:"fixDash",STYLE_ROUNDED:"rounded",STYLE_CURVED:"curved",STYLE_ARCSIZE:"arcSize",STYLE_ABSOLUTE_ARCSIZE:"absoluteArcSize",STYLE_SOURCE_PERIMETER_SPACING:"sourcePerimeterSpacing",STYLE_TARGET_PERIMETER_SPACING:"targetPerimeterSpacing",STYLE_PERIMETER_SPACING:"perimeterSpacing",
+STYLE_SPACING:"spacing",STYLE_SPACING_TOP:"spacingTop",STYLE_SPACING_LEFT:"spacingLeft",STYLE_SPACING_BOTTOM:"spacingBottom",STYLE_SPACING_RIGHT:"spacingRight",STYLE_HORIZONTAL:"horizontal",STYLE_DIRECTION:"direction",STYLE_ANCHOR_POINT_DIRECTION:"anchorPointDirection",STYLE_ELBOW:"elbow",STYLE_FONTCOLOR:"fontColor",STYLE_FONTFAMILY:"fontFamily",STYLE_FONTSIZE:"fontSize",STYLE_FONTSTYLE:"fontStyle",STYLE_ASPECT:"aspect",STYLE_AUTOSIZE:"autosize",STYLE_FIXED_WIDTH:"fixedWidth",STYLE_FOLDABLE:"foldable",
+STYLE_EDITABLE:"editable",STYLE_BACKGROUND_OUTLINE:"backgroundOutline",STYLE_BENDABLE:"bendable",STYLE_MOVABLE:"movable",STYLE_RESIZABLE:"resizable",STYLE_RESIZE_WIDTH:"resizeWidth",STYLE_RESIZE_HEIGHT:"resizeHeight",STYLE_ROTATABLE:"rotatable",STYLE_CLONEABLE:"cloneable",STYLE_DELETABLE:"deletable",STYLE_SHAPE:"shape",STYLE_EDGE:"edgeStyle",STYLE_JETTY_SIZE:"jettySize",STYLE_SOURCE_JETTY_SIZE:"sourceJettySize",STYLE_TARGET_JETTY_SIZE:"targetJettySize",STYLE_LOOP:"loopStyle",STYLE_ORTHOGONAL_LOOP:"orthogonalLoop",
+STYLE_ROUTING_CENTER_X:"routingCenterX",STYLE_ROUTING_CENTER_Y:"routingCenterY",STYLE_CLIP_PATH:"clipPath",FONT_BOLD:1,FONT_ITALIC:2,FONT_UNDERLINE:4,FONT_STRIKETHROUGH:8,SHAPE_RECTANGLE:"rectangle",SHAPE_ELLIPSE:"ellipse",SHAPE_DOUBLE_ELLIPSE:"doubleEllipse",SHAPE_RHOMBUS:"rhombus",SHAPE_LINE:"line",SHAPE_IMAGE:"image",SHAPE_ARROW:"arrow",SHAPE_ARROW_CONNECTOR:"arrowConnector",SHAPE_LABEL:"label",SHAPE_CYLINDER:"cylinder",SHAPE_SWIMLANE:"swimlane",SHAPE_CONNECTOR:"connector",SHAPE_ACTOR:"actor",
+SHAPE_CLOUD:"cloud",SHAPE_TRIANGLE:"triangle",SHAPE_HEXAGON:"hexagon",ARROW_CLASSIC:"classic",ARROW_CLASSIC_THIN:"classicThin",ARROW_BLOCK:"block",ARROW_BLOCK_THIN:"blockThin",ARROW_OPEN:"open",ARROW_OPEN_THIN:"openThin",ARROW_OVAL:"oval",ARROW_DIAMOND:"diamond",ARROW_DIAMOND_THIN:"diamondThin",ALIGN_LEFT:"left",ALIGN_CENTER:"center",ALIGN_RIGHT:"right",ALIGN_TOP:"top",ALIGN_MIDDLE:"middle",ALIGN_BOTTOM:"bottom",DIRECTION_NORTH:"north",DIRECTION_SOUTH:"south",DIRECTION_EAST:"east",DIRECTION_WEST:"west",
+DIRECTION_RADIAL:"radial",TEXT_DIRECTION_DEFAULT:"",TEXT_DIRECTION_AUTO:"auto",TEXT_DIRECTION_LTR:"ltr",TEXT_DIRECTION_RTL:"rtl",TEXT_DIRECTION_VERTICAL_LR:"vertical-lr",TEXT_DIRECTION_VERTICAL_RL:"vertical-rl",DIRECTION_MASK_NONE:0,DIRECTION_MASK_WEST:1,DIRECTION_MASK_NORTH:2,DIRECTION_MASK_SOUTH:4,DIRECTION_MASK_EAST:8,DIRECTION_MASK_ALL:15,ELBOW_VERTICAL:"vertical",ELBOW_HORIZONTAL:"horizontal",EDGESTYLE_ELBOW:"elbowEdgeStyle",EDGESTYLE_ENTITY_RELATION:"entityRelationEdgeStyle",EDGESTYLE_LOOP:"loopEdgeStyle",
+EDGESTYLE_SIDETOSIDE:"sideToSideEdgeStyle",EDGESTYLE_TOPTOBOTTOM:"topToBottomEdgeStyle",EDGESTYLE_ORTHOGONAL:"orthogonalEdgeStyle",EDGESTYLE_SEGMENT:"segmentEdgeStyle",PERIMETER_ELLIPSE:"ellipsePerimeter",PERIMETER_RECTANGLE:"rectanglePerimeter",PERIMETER_RHOMBUS:"rhombusPerimeter",PERIMETER_HEXAGON:"hexagonPerimeter",PERIMETER_TRIANGLE:"trianglePerimeter"};
 function mxEventObject(a){this.name=a;this.properties=[];for(var b=1;bN.clientHeight-G&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(d&&(d=document.createElement("img"),d.setAttribute("src",Dialog.prototype.closeImage),d.setAttribute("title",mxResources.get("close")),
+g&&document.body.appendChild(this.bg);var Q=a.createDiv(q?"geTransDialog":"geDialog");g=this.getPosition(D,K,e,f);D=g.x;K=g.y;Q.style.width=e+"px";Q.style.height=f+"px";Q.style.left=D+"px";Q.style.top=K+"px";Q.style.zIndex=this.zIndex;Q.appendChild(b);document.body.appendChild(Q);!n&&b.clientHeight>Q.clientHeight-G&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(d&&(d=document.createElement("img"),d.setAttribute("src",Dialog.prototype.closeImage),d.setAttribute("title",mxResources.get("close")),
 d.className="geDialogClose",d.style.top=K+14+"px",d.style.left=D+e+38-w+"px",d.style.zIndex=this.zIndex,mxEvent.addListener(d,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(d),this.dialogImg=d,!p)){var H=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(Z){H=!0}),null,mxUtils.bind(this,function(Z){H&&(a.hideDialog(!0),H=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=l){var Z=l();null!=Z&&(z=e=Z.w,C=f=Z.h)}Z=Editor.inlineFullscreen||
 null==a.embedViewport?this.getDocumentSize():mxUtils.clone(a.embedViewport);F=Z.height;this.bg.style.height=F+"px";Editor.inlineFullscreen||null==a.embedViewport||(this.bg.style.height=this.getDocumentSize().height+"px");e=null!=document.body?Math.min(z,document.body.scrollWidth-G):z;f=Math.min(C,F-G);Z=Math.max(1,Math.round((Z.width-e-G)/2));var R=Math.max(1,Math.round((F-f-a.footerHeight)/3));R=this.getPosition(Z,R,e,f);Z=R.x;R=R.y;var Y=mxUtils.getDocumentScrollOrigin(document);Z+=Y.x;R+=Y.y;Editor.inlineFullscreen||
-null==a.embedViewport||(R+=a.embedViewport.y,Z+=a.embedViewport.x);N.style.left=Z+"px";N.style.top=R+"px";N.style.width=e+"px";N.style.height=f+"px";!n&&b.clientHeight>N.clientHeight-G&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=R+14+"px",this.dialogImg.style.left=Z+e+38-w+"px")});null!=a.embedViewport?a.addListener("embedViewportChanged",this.resizeListener):mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=h;this.container=N;a.editor.fireEvent(new mxEventObject("showDialog"))}
+null==a.embedViewport||(R+=a.embedViewport.y,Z+=a.embedViewport.x);Q.style.left=Z+"px";Q.style.top=R+"px";Q.style.width=e+"px";Q.style.height=f+"px";!n&&b.clientHeight>Q.clientHeight-G&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=R+14+"px",this.dialogImg.style.left=Z+e+38-w+"px")});null!=a.embedViewport?a.addListener("embedViewportChanged",this.resizeListener):mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=h;this.container=Q;a.editor.fireEvent(new mxEventObject("showDialog"))}
 Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-2;
 Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+
 "/nocolor.png";Dialog.prototype.defaultColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAKUlEQVQI1wXBMREAIAwEsHAMjJVQKZVW6U8CDpdH0QxLnLjxoqJjYvMBewMJ51TWcscAAAAASUVORK5CYII=":IMAGE_PATH+"/defaultcolor.png";
@@ -2010,8 +2011,8 @@ this.container.parentNode.removeChild(this.container)};
 var ErrorDialog=function(a,b,e,f,g,d,h,n,q,l,p){q=null!=q?q:!0;var w=document.createElement("div");w.style.textAlign="center";if(null!=b){var z=document.createElement("div");z.style.padding="0px";z.style.margin="0px";z.style.fontSize="18px";z.style.paddingBottom="16px";z.style.marginBottom="10px";z.style.borderBottom="1px solid #c0c0c0";z.style.color="gray";z.style.whiteSpace="nowrap";z.style.textOverflow="ellipsis";z.style.overflow="hidden";mxUtils.write(z,b);z.setAttribute("title",b);w.appendChild(z)}b=
 document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";"string"===typeof e&&(e=e.replace(/\n/g,"
"));b.innerHTML=Graph.sanitizeHtml(e);w.appendChild(b);e=document.createElement("div");e.style.marginTop="12px";e.style.textAlign="center";null!=d&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();d()}),b.className="geBtn",e.appendChild(b),e.style.textAlign="center");null!=l&&(l=mxUtils.button(l,function(){null!=p&&p()}),l.className="geBtn",e.appendChild(l)); var C=mxUtils.button(f,function(){q&&a.hideDialog();null!=g&&g()});C.className="geBtn";e.appendChild(C);null!=h&&(f=mxUtils.button(h,function(){q&&a.hideDialog();null!=n&&n()}),f.className="geBtn gePrimaryBtn",e.appendChild(f));this.init=function(){C.focus()};w.appendChild(e);this.container=w},PrintDialog=function(a,b,e){this.create(a,b,e)}; -PrintDialog.prototype.create=function(a){function b(C){var G=h.checked||l.checked,D=parseInt(w.value)/100;isNaN(D)&&(D=1,w.value="100%");mxClient.IS_SF&&(D*=.75);var F=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,K=1/e.pageScale;if(G){var I=h.checked?1:parseInt(p.value);isNaN(I)||(K=mxUtils.getScaleForPageCount(I,e,F))}var N=I=0;F=mxRectangle.fromRectangle(F);F.width=Math.ceil(F.width*D);F.height=Math.ceil(F.height*D);K*=D;!G&&e.pageVisible?(D=e.getPageLayout(),I-=D.x*F.width,N-=D.y*F.height): -G=!0;G=PrintDialog.createPrintPreview(e,K,F,0,I,N,G);G.open();C&&PrintDialog.printPreview(G)}var e=a.editor.graph,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var g=document.createElement("tbody");var d=document.createElement("tr");var h=document.createElement("input");h.setAttribute("type","checkbox");var n=document.createElement("td");n.setAttribute("colspan","2");n.style.fontSize="10pt";n.appendChild(h);var q=document.createElement("span");mxUtils.write(q," "+mxResources.get("fitPage")); +PrintDialog.prototype.create=function(a){function b(C){var G=h.checked||l.checked,D=parseInt(w.value)/100;isNaN(D)&&(D=1,w.value="100%");mxClient.IS_SF&&(D*=.75);var F=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,K=1/e.pageScale;if(G){var I=h.checked?1:parseInt(p.value);isNaN(I)||(K=mxUtils.getScaleForPageCount(I,e,F))}var Q=I=0;F=mxRectangle.fromRectangle(F);F.width=Math.ceil(F.width*D);F.height=Math.ceil(F.height*D);K*=D;!G&&e.pageVisible?(D=e.getPageLayout(),I-=D.x*F.width,Q-=D.y*F.height): +G=!0;G=PrintDialog.createPrintPreview(e,K,F,0,I,Q,G);G.open();C&&PrintDialog.printPreview(G)}var e=a.editor.graph,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var g=document.createElement("tbody");var d=document.createElement("tr");var h=document.createElement("input");h.setAttribute("type","checkbox");var n=document.createElement("td");n.setAttribute("colspan","2");n.style.fontSize="10pt";n.appendChild(h);var q=document.createElement("span");mxUtils.write(q," "+mxResources.get("fitPage")); n.appendChild(q);mxEvent.addListener(q,"click",function(C){h.checked=!h.checked;l.checked=!h.checked;mxEvent.consume(C)});mxEvent.addListener(h,"change",function(){l.checked=!h.checked});d.appendChild(n);g.appendChild(d);d=d.cloneNode(!1);var l=document.createElement("input");l.setAttribute("type","checkbox");n=document.createElement("td");n.style.fontSize="10pt";n.appendChild(l);q=document.createElement("span");mxUtils.write(q," "+mxResources.get("posterPrint")+":");n.appendChild(q);mxEvent.addListener(q, "click",function(C){l.checked=!l.checked;h.checked=!l.checked;mxEvent.consume(C)});d.appendChild(n);var p=document.createElement("input");p.setAttribute("value","1");p.setAttribute("type","number");p.setAttribute("min","1");p.setAttribute("size","4");p.setAttribute("disabled","disabled");p.style.width="50px";n=document.createElement("td");n.style.fontSize="10pt";n.appendChild(p);mxUtils.write(n," "+mxResources.get("pages")+" (max)");d.appendChild(n);g.appendChild(d);mxEvent.addListener(l,"change", function(){l.checked?p.removeAttribute("disabled"):p.setAttribute("disabled","disabled");h.checked=!l.checked});d=d.cloneNode(!1);n=document.createElement("td");mxUtils.write(n,mxResources.get("pageScale")+":");d.appendChild(n);n=document.createElement("td");var w=document.createElement("input");w.setAttribute("value","100 %");w.setAttribute("size","5");w.style.width="50px";n.appendChild(w);d.appendChild(n);g.appendChild(d);d=document.createElement("tr");n=document.createElement("td");n.colSpan=2; @@ -2023,7 +2024,7 @@ var PageSetupDialog=function(a){function b(){var D=w;null!=D&&null!=D.originalSr var d=document.createElement("tr");var h=document.createElement("td");h.style.verticalAlign="top";h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("paperSize")+":");d.appendChild(h);h=document.createElement("td");h.style.verticalAlign="top";h.style.fontSize="10pt";var n=PageSetupDialog.addPageFormatPanel(h,"pagesetupdialog",e.pageFormat);d.appendChild(h);g.appendChild(d);d=document.createElement("tr");h=document.createElement("td");mxUtils.write(h,mxResources.get("gridSize")+":");d.appendChild(h); h=document.createElement("td");h.style.whiteSpace="nowrap";var q=document.createElement("input");q.setAttribute("type","number");q.setAttribute("min","0");q.style.width="40px";q.style.marginLeft="6px";q.value=e.getGridSize();h.appendChild(q);mxEvent.addListener(q,"change",function(){var D=parseInt(q.value);q.value=Math.max(1,isNaN(D)?e.getGridSize():D)});d.appendChild(h);g.appendChild(d);d=document.createElement("tr");h=document.createElement("td");mxUtils.write(h,mxResources.get("background")+":"); d.appendChild(h);h=document.createElement("td");var l=document.createElement("button");l.className="geBtn";l.style.margin="0px";mxUtils.write(l,mxResources.get("change")+"...");var p=document.createElement("div");p.style.display="inline-block";p.style.verticalAlign="middle";p.style.backgroundPosition="center center";p.style.backgroundRepeat="no-repeat";p.style.backgroundSize="contain";p.style.border="1px solid lightGray";p.style.borderRadius="4px";p.style.marginRight="14px";p.style.height="32px"; -p.style.width="64px";p.style.cursor="pointer";p.style.padding="4px";var w=e.backgroundImage,z=e.background,C=e.shadowVisible,G=function(D){a.showBackgroundImageDialog(function(F,K,I,N){K||(null!=F&&null!=F.src&&Graph.isPageLink(F.src)&&(F={originalSrc:F.src}),w=F,C=N);z=I;b()},w,z,!0);mxEvent.consume(D)};mxEvent.addListener(l,"click",G);mxEvent.addListener(p,"click",G);b();h.appendChild(p);h.appendChild(l);d.appendChild(h);g.appendChild(d);d=document.createElement("tr");h=document.createElement("td"); +p.style.width="64px";p.style.cursor="pointer";p.style.padding="4px";var w=e.backgroundImage,z=e.background,C=e.shadowVisible,G=function(D){a.showBackgroundImageDialog(function(F,K,I,Q){K||(null!=F&&null!=F.src&&Graph.isPageLink(F.src)&&(F={originalSrc:F.src}),w=F,C=Q);z=I;b()},w,z,!0);mxEvent.consume(D)};mxEvent.addListener(l,"click",G);mxEvent.addListener(p,"click",G);b();h.appendChild(p);h.appendChild(l);d.appendChild(h);g.appendChild(d);d=document.createElement("tr");h=document.createElement("td"); h.colSpan=2;h.style.paddingTop="16px";h.setAttribute("align","right");l=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});l.className="geBtn";a.editor.cancelFirst&&h.appendChild(l);G=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var D=parseInt(q.value);isNaN(D)||e.gridSize===D||e.setGridSize(D);D=new ChangePageSetup(a,z,w,n.get());D.ignoreColor=e.background==z;D.ignoreImage=(null!=e.backgroundImage?e.backgroundImage.src:null)===(null!=w?w.src:null);null!=C&& (D.shadowVisible=C);e.pageFormat.width==D.previousFormat.width&&e.pageFormat.height==D.previousFormat.height&&D.ignoreColor&&D.ignoreImage&&D.shadowVisible==e.shadowVisible||e.model.execute(D)});G.className="geBtn gePrimaryBtn";h.appendChild(G);a.editor.cancelFirst||h.appendChild(l);d.appendChild(h);g.appendChild(d);f.appendChild(g);this.container=f}; PageSetupDialog.addPageFormatPanel=function(a,b,e,f){b="format-"+b;var g=document.createElement("input");g.setAttribute("name",b);g.setAttribute("type","radio");g.setAttribute("value","portrait");var d=document.createElement("input");d.setAttribute("name",b);d.setAttribute("type","radio");d.setAttribute("value","landscape");var h=document.createElement("select");h.style.marginBottom="4px";h.style.borderRadius="4px";h.style.borderWidth="1px";h.style.borderStyle="solid";h.style.boxSizing="border-box"; @@ -2032,17 +2033,17 @@ n.appendChild(q);var l=document.createElement("div");l.style.whiteSpace="nowrap" var z=document.createElement("select");z.style.marginLeft="4px";z.style.maxWidth="78px";z.style.width="78px";for(var C=[{label:mxResources.get("points"),unit:mxConstants.POINTS},{label:mxResources.get("inches"),unit:mxConstants.INCHES},{label:mxResources.get("millimeters"),unit:mxConstants.MILLIMETERS}],G=0;G=H)p.value=Editor.toUnit(e.width,z.value);H=parseFloat(w.value);if(isNaN(H)||0>=H)w.value=Editor.toUnit(e.height,z.value);H=new mxRectangle(0,0,Math.floor(Editor.fromUnit(parseFloat(p.value),z.value)),Math.floor(Editor.fromUnit(parseFloat(w.value),z.value)));Z||H.width==e.width&&H.height==e.height||(e=H,null!=f&&f(e))};mxEvent.addListener(b,"click",function(H){g.checked=!0;N(H);mxEvent.consume(H)}); -mxEvent.addListener(q,"click",function(H){d.checked=!0;N(H);mxEvent.consume(H)});mxEvent.addListener(p,"blur",N);mxEvent.addListener(p,"click",N);mxEvent.addListener(w,"blur",N);mxEvent.addListener(w,"click",N);mxEvent.addListener(d,"change",N);mxEvent.addListener(g,"change",N);mxEvent.addListener(h,"change",function(H){N(H,"custom"==h.value);mxEvent.consume(H)});mxEvent.addListener(z,"change",function(H){p.value=Editor.toUnit(Editor.fromUnit(p.value,Editor.pageSizeUnit),z.value);w.value=Editor.toUnit(Editor.fromUnit(w.value, -Editor.pageSizeUnit),z.value);Editor.pageSizeUnit=z.value;N(H,!0);mxEvent.consume(H)});N(null,!0);return{set:function(H){e=H;I(null,null,!0)},get:function(){return e},widthInput:p,heightInput:w}}; +(p.value=Editor.toUnit(e.width,z.value),w.value=Editor.toUnit(e.height,z.value),g.setAttribute("checked","checked"),h.value="custom",n.style.display="none",l.style.display=""):(n.style.display="",l.style.display="none")};I();a.appendChild(h);mxUtils.br(a);a.appendChild(n);a.appendChild(l);var Q=function(H,Z){H=F[h.value];null!=H.format?(p.value=Editor.toUnit(d.checked?H.format.height:H.format.width,z.value),w.value=Editor.toUnit(d.checked?H.format.width:H.format.height,z.value),l.style.display="none", +n.style.display=""):(n.style.display="none",l.style.display="");H=parseFloat(p.value);if(isNaN(H)||0>=H)p.value=Editor.toUnit(e.width,z.value);H=parseFloat(w.value);if(isNaN(H)||0>=H)w.value=Editor.toUnit(e.height,z.value);H=new mxRectangle(0,0,Math.floor(Editor.fromUnit(parseFloat(p.value),z.value)),Math.floor(Editor.fromUnit(parseFloat(w.value),z.value)));Z||H.width==e.width&&H.height==e.height||(e=H,null!=f&&f(e))};mxEvent.addListener(b,"click",function(H){g.checked=!0;Q(H);mxEvent.consume(H)}); +mxEvent.addListener(q,"click",function(H){d.checked=!0;Q(H);mxEvent.consume(H)});mxEvent.addListener(p,"blur",Q);mxEvent.addListener(p,"click",Q);mxEvent.addListener(w,"blur",Q);mxEvent.addListener(w,"click",Q);mxEvent.addListener(d,"change",Q);mxEvent.addListener(g,"change",Q);mxEvent.addListener(h,"change",function(H){Q(H,"custom"==h.value);mxEvent.consume(H)});mxEvent.addListener(z,"change",function(H){p.value=Editor.toUnit(Editor.fromUnit(p.value,Editor.pageSizeUnit),z.value);w.value=Editor.toUnit(Editor.fromUnit(w.value, +Editor.pageSizeUnit),z.value);Editor.pageSizeUnit=z.value;Q(H,!0);mxEvent.consume(H)});Q(null,!0);return{set:function(H){e=H;I(null,null,!0)},get:function(){return e},widthInput:p,heightInput:w}}; PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:'US-Tabloid (11" x 17")',format:new mxRectangle(0,0,1100,1700)},{key:"executive",title:'US-Executive (7" x 10")',format:new mxRectangle(0,0,700,1E3)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)", format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)",format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)}, {key:"b4",title:"B4 (250 mm x 353 mm)",format:new mxRectangle(0,0,980,1390)},{key:"b5",title:"B5 (176 mm x 250 mm)",format:new mxRectangle(0,0,690,980)},{key:"16-9",title:"16:9 (1600 x 900)",format:new mxRectangle(0,0,900,1600)},{key:"16-10",title:"16:10 (1920 x 1200)",format:new mxRectangle(0,0,1200,1920)},{key:"4-3",title:"4:3 (1600 x 1200)",format:new mxRectangle(0,0,1200,1600)},{key:"custom",title:mxResources.get("custom"),format:null}]}; var FilenameDialog=function(a,b,e,f,g,d,h,n,q,l,p){q=null!=q?q:!0;var w=document.createElement("div"),z=document.createElement("div");z.style.width="100%";z.style.display="grid";z.style.gap="5px 8px";z.style.gridAutoColumns="auto 1fr";z.style.boxSizing="border-box";z.style.padding="3px";var C=document.createElement("div");C.style.display="inline-flex";C.style.alignItems="center";C.style.justifyContent="flex-end";C.style.minWidth="0";var G=document.createElement("div");G.style.display="inline-block"; G.style.textOverflow="ellipsis";G.style.whiteSpace="nowrap";G.style.overflow="hidden";G.style.fontSize="10pt";G.style.padding="2px 0";G.setAttribute("title",g||mxResources.get("filename"));mxUtils.write(G,(g||mxResources.get("filename"))+":");C.appendChild(G);z.appendChild(C);var D=document.createElement("input");D.setAttribute("value",b||"");D.style.flexGrow="1";var F=mxUtils.button(e,function(){if(null==d||d(D.value))q&&a.hideDialog(),f(D.value)});F.className="geBtn gePrimaryBtn";this.init=function(){if(null!= -g||null==h)if(null!=p?Editor.selectFilename(D):(D.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?D.select():document.execCommand("selectAll",!1,null)),Graph.fileSupport){var K=z.parentNode;if(null!=K){var I=null;mxEvent.addListener(K,"dragleave",function(N){null!=I&&(I.style.backgroundColor="",I=null);N.stopPropagation();N.preventDefault()});mxEvent.addListener(K,"dragover",mxUtils.bind(this,function(N){null==I&&(!mxClient.IS_IE||10'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(h,n){a.apply(this,arguments);if(null!=this.shiftPreview1){var q=this.view.canvas; null!=q.ownerSVGElement&&(q=q.ownerSVGElement);var l=this.gridSize*this.view.scale*this.view.gridSteps;l=-Math.round(l-mxUtils.mod(this.view.translate.x*this.view.scale+h,l))+"px "+-Math.round(l-mxUtils.mod(this.view.translate.y*this.view.scale+n,l))+"px";q.style.backgroundPosition=l}};mxGraph.prototype.updatePageBreaks=function(h,n,q){var l=this.view.scale,p=this.view.translate,w=this.pageFormat,z=l*this.pageScale,C=this.view.getBackgroundPageBounds();n=C.width;q=C.height;var G=new mxRectangle(l* -p.x,l*p.y,w.width*z,w.height*z),D=(h=h&&Math.min(G.width,G.height)>this.minPageBreakDist)?Math.ceil(q/G.height)-1:0,F=h?Math.ceil(n/G.width)-1:0,K=C.x+n,I=C.y+q;null==this.horizontalPageBreaks&&0this.minPageBreakDist)?Math.ceil(q/G.height)-1:0,F=h?Math.ceil(n/G.width)-1:0,K=C.x+n,I=C.y+q;null==this.horizontalPageBreaks&&0mxUtils.indexOf(this.toolbar.staticElements,L)&&(L.parentNode.removeChild(L),V.push(L));L=ca}L=this.toolbar.fontMenu;ca=this.toolbar.sizeMenu;if(null==I)this.toolbar.createTextToolbar();else{for(var la=0;lamxUtils.indexOf(this.toolbar.staticElements,L)&&(L.parentNode.removeChild(L),V.push(L));L=ca}L=this.toolbar.fontMenu;ca=this.toolbar.sizeMenu;if(null==I)this.toolbar.createTextToolbar();else{for(var la=0;lah.length?35*h.length:140;z.className="geToolbarContainer geSidebarContainer geShapePicker";z.setAttribute("title",mxResources.get("sidebarTooltip"));z.style.left=a+"px";z.style.top=b+"px";z.style.width=g+"px";mxClient.IS_POINTER&&(z.style.touchAction="none");n||mxUtils.setPrefixedStyle(z.style,"transform","translate(-22px,-22px)");null!=w.background&&w.background!=mxConstants.NONE&&(z.style.backgroundColor= w.background);w.container.appendChild(z);g=mxUtils.bind(this,function(D){var F=document.createElement("a");F.className="geItem";F.style.cssText="position:relative;display:inline-block;position:relative;width:30px;height:30px;cursor:pointer;overflow:hidden;padding:1px";z.appendChild(F);null!=G&&"1"!=urlParams.sketch?this.sidebar.graph.pasteStyle(G,[D]):this.sidebar.graph.pasteCellStyles([D],w.currentVertexStyle,w.currentEdgeStyle);var K=D.geometry;w.model.isEdge(D)&&(K=K.getTerminalPoint(!1),K=new mxRectangle(0, -0,K.x,K.y));null!=K&&F.appendChild(this.sidebar.createVertexTemplateFromCells([D],K.width,K.height,"",!0,!1,null,!1,mxUtils.bind(this,function(I){if(!mxEvent.isShiftDown(I)||null==e&&w.isSelectionEmpty()){var N=w.cloneCell(D);if(null!=f)f(N);else{var H=q([N]);w.model.isEdge(N)?N.geometry.translate(H.x,H.y):(N.geometry.x=H.x,N.geometry.y=H.y);w.model.beginUpdate();try{w.addCell(N),w.model.isVertex(N)&&w.isAutoSizeCell(N)&&w.updateCellSize(N)}finally{w.model.endUpdate()}w.setSelectionCell(N);w.scrollCellToVisible(N); -p&&w.startEditing(N);null!=C.hoverIcons&&C.hoverIcons.update(w.view.getState(N))}}else N=w.getEditableCells(null!=e?[e]:w.getSelectionCells()),w.updateShapes(D,N);null!=d&&d(I);mxEvent.consume(I)}),25,25,null,null,e))});for(l=0;l<(n?Math.min(h.length,4):h.length);l++)g(h[l]);h=z.offsetTop+z.clientHeight-(w.container.scrollTop+w.container.offsetHeight);0=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+.05)/this.view.scale:(this.cumulativeZoomFactor*=Aa,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=Aa,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100/this.view.scale); this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/this.view.scale;if(a.isFastZoomEnabled()){null==ka&&""!=qa.getAttribute("filter")&&(ka=qa.getAttribute("filter"),qa.removeAttribute("filter"));W=new mxPoint(a.container.scrollLeft,a.container.scrollTop);S=Math.round(Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100*20)/(20*this.view.scale);Aa=ja||null==X?a.container.scrollLeft+a.container.clientWidth/2:X.x+a.container.scrollLeft-a.container.offsetLeft; var Ua=ja||null==X?a.container.scrollTop+a.container.clientHeight/2:X.y+a.container.scrollTop-a.container.offsetTop;qa.style.transformOrigin=Aa+"px "+Ua+"px";qa.style.transform="scale("+S+")";la.style.transformOrigin=Aa+"px "+Ua+"px";la.style.transform="scale("+S+")";null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node?(Aa=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(Aa.style,"transform-origin",(ja||null==X?a.container.clientWidth/2+a.container.scrollLeft-Aa.offsetLeft+ "px":X.x+a.container.scrollLeft-Aa.offsetLeft-a.container.offsetLeft+"px")+" "+(ja||null==X?a.container.clientHeight/2+a.container.scrollTop-Aa.offsetTop+"px":X.y+a.container.scrollTop-Aa.offsetTop-a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(Aa.style,"transform","scale("+S+")")):a.view.validateBackgroundStyles(S,Aa,Ua);a.view.getDecoratorPane().style.opacity="0";a.view.getOverlayPane().style.opacity="0";null!=e.hoverIcons&&e.hoverIcons.reset();a.fireEvent(new mxEventObject("zoomPreview", -"factor",S))}T(a.isFastZoomEnabled()?xa:0)};mxEvent.addGestureListeners(a.container,function(S){null!=P&&window.clearTimeout(P)},null,function(S){1!=a.cumulativeZoomFactor&&T(0)});mxEvent.addListener(a.container,"scroll",function(S){null==P||a.isMouseDown||1==a.cumulativeZoomFactor||T(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(S,ja,xa,Aa,Ua){a.fireEvent(new mxEventObject("wheel"));if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&!xa&&a.isScrollWheelEvent(S))xa=a.view.getTranslate(), +"factor",S))}T(a.isFastZoomEnabled()?xa:0)};mxEvent.addGestureListeners(a.container,function(S){null!=O&&window.clearTimeout(O)},null,function(S){1!=a.cumulativeZoomFactor&&T(0)});mxEvent.addListener(a.container,"scroll",function(S){null==O||a.isMouseDown||1==a.cumulativeZoomFactor||T(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(S,ja,xa,Aa,Ua){a.fireEvent(new mxEventObject("wheel"));if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&!xa&&a.isScrollWheelEvent(S))xa=a.view.getTranslate(), Aa=40/a.view.scale,mxEvent.isShiftDown(S)?a.view.setTranslate(xa.x+(ja?-Aa:Aa),xa.y):a.view.setTranslate(xa.x,xa.y+(ja?Aa:-Aa));else if(xa||a.isZoomWheelEvent(S))for(var na=mxEvent.getSource(S);null!=na;){if(na==a.container)return a.tooltipHandler.hideTooltip(),X=null!=Aa&&null!=Ua?new mxPoint(Aa,Ua):new mxPoint(mxEvent.getClientX(S),mxEvent.getClientY(S)),da=xa,xa=a.zoomFactor,Aa=null,S.ctrlKey&&null!=S.deltaY&&40>Math.abs(S.deltaY)&&Math.round(S.deltaY)!=S.deltaY?xa=1+Math.abs(S.deltaY)/20*(xa- 1):null!=S.movementY&&"pointermove"==S.type&&(xa=1+Math.max(1,Math.abs(S.movementY))/20*(xa-1),Aa=-1),a.lazyZoom(ja,null,Aa,xa),mxEvent.consume(S),!1;na=na.parentNode}}),a.container);a.panningHandler.zoomGraph=function(S){a.cumulativeZoomFactor=S.scale;a.lazyZoom(0S&&S>this.dropTargetDelay||na.model.isEdge(Ra)?Na:null,null!=I&&sa){Ma=[la,qa,R,Y,aa,L];for(sa=0;sada||Math.abs(h.y-X.getGraphY())>da){var ka=null;mxEvent.isShiftDown(X.getEvent())|| -(ka=this.selectionCellsHandler.getHandler(W.cell));if(null!=ka&&null!=ka.bends&&0da||Math.abs(h.y-X.getGraphY())>da){var ka=null;mxEvent.isShiftDown(X.getEvent())|| +(ka=this.selectionCellsHandler.getHandler(W.cell));if(null!=ka&&null!=ka.bends&&0'+(""!=g?'":"")+'
'+a+"
")}; -Graph.zapGremlins=function(a){for(var b=0,e=[],f=0;f'+(""!=g?'":"")+'
'+a+"
")};Graph.zapGremlins=function(a){return mxUtils.zapGremlins(a)}; +Graph.stringToBytes=function(a){for(var b=Array(a.length),e=0;epageSize){var N=w.startIndex||0;K=F.slice(Math.max(0,N),Math.min(F.length,N+pageSize))}K=f.getOpposites(K,D).concat(K);var H=p.cloneCells(K);for(I=0;IpageSize){var Q=w.startIndex||0;K=F.slice(Math.max(0,Q),Math.min(F.length,Q+pageSize))}K=f.getOpposites(K,D).concat(K);var H=p.cloneCells(K);for(I=0;IZ.geometry.x?-.8:.5(w.startIndex||0)+pageSize){var Y=p.createVertex(null,null,mxResources.get("nextPage")+" ("+(Math.ceil((w.startIndex||0)/pageSize)+2)+"/"+Math.ceil(F.length/pageSize)+")",0,0,120,30,"fillColor=green;fontColor=white;strokeColor=green;rounded=1;");Y.referenceCell= G;Y.startIndex=(w.startIndex||0)+pageSize;H.splice(0,0,Y)}for(var aa in p.getModel().cells){var L=p.getModel().getCell(aa);L!=p.rootCell&&!p.getModel().isAncestor(p.rootCell,L)&&p.getModel().isVertex(L)&&p.removeCells([L])}p.addCells(H);var V=p.getModel().getGeometry(p.rootCell);null!=V&&(V=V.clone(),V.x=z-V.width/2,V.y=C-V.height/3,p.getModel().setGeometry(p.rootCell,V));w=[];for(aa in p.getModel().cells)L=p.getModel().getCell(aa),L!=p.rootCell&&p.getModel().isVertex(L)&&p.getModel().getParent(L)== p.getDefaultParent()&&(w.push(L),V=p.getModel().getGeometry(L),null!=V&&(V.x=z-V.width/2,V.y=C-V.height/2));var ca=w.length,la=2*Math.PI/ca,qa=Math.max(minSize,Math.min(p.container.scrollWidth/2.5-80,p.container.scrollHeight/2.5-80));for(z=0;zmxUtils.indexOf(q,p)})),this.updateCellStyles(h,n))};Graph.prototype.copyCellStyles=function(h,n,q,l,p,w,z){var C=!1,G=!1;if(0mxUtils.indexOf(Graph.edgeStyles,H))&&(C=mxUtils.setStyle(C,H,V),"fontFamily"==H&&null==G.fontSource&&(C=mxUtils.setStyle(C,"fontSource",null)),L&&"rounded"==H&&"1"==V&&null==G.curved&&(C=mxUtils.setStyle(C,"curved",null)))}Editor.simpleLabels&&(C=mxUtils.setStyle(mxUtils.setStyle(C,"html",null),"whiteSpace",null));this.model.setStyle(z,C)}}finally{this.model.endUpdate()}return h};Graph.prototype.updateCellStyles=function(h,n){this.model.beginUpdate(); try{for(var q=0;qD||Math.abs(ca.y-I.y)>D)&&(Math.abs(ca.x-K.x)>D||Math.abs(ca.y-K.y)>D)&&(null==aa||mxUtils.ptLineDist(I.x, -I.y,K.x,K.y,aa.x,aa.y)>D||mxUtils.ptLineDist(I.x,I.y,K.x,K.y,V.x,V.y)>D)&&(null==H||mxUtils.ptLineDist(I.x,I.y,K.x,K.y,H.x,H.y)>D||mxUtils.ptLineDist(I.x,I.y,K.x,K.y,L.x,L.y)>D)){H=ca.x-I.x;aa=ca.y-I.y;ca={distSq:H*H+aa*aa,x:ca.x,y:ca.y};for(H=0;Hca.distSq){N.splice(H,0,ca);ca=null;break}null==ca||0!=N.length&&N[N.length-1].x===ca.x&&N[N.length-1].y===ca.y||N.push(ca)}aa=V}}}for(R=0;RD||mxUtils.ptLineDist(I.x,I.y,K.x,K.y,V.x,V.y)>D)&&(null==H||mxUtils.ptLineDist(I.x,I.y,K.x,K.y,H.x,H.y)>D||mxUtils.ptLineDist(I.x,I.y,K.x,K.y,L.x,L.y)>D)){H=ca.x-I.x;aa=ca.y-I.y;ca={distSq:H*H+aa*aa,x:ca.x,y:ca.y};for(H=0;Hca.distSq){Q.splice(H,0,ca);ca=null;break}null==ca||0!=Q.length&&Q[Q.length-1].x===ca.x&&Q[Q.length-1].y===ca.y||Q.push(ca)}aa=V}}}for(R=0;RG*G&&0G*G&&(aa=new mxPoint(Y.x-H.x,Y.y-H.y),R=new mxPoint(Y.x+H.x,Y.y+H.y),N.push(aa),this.addPoints(p,N,z,C,!1,null,F),N=0>Math.round(H.x)||0==Math.round(H.x)&&0>=Math.round(H.y)?1:-1,F=!1,"sharp"==D?(p.lineTo(aa.x-H.y*N,aa.y+H.x*N),p.lineTo(R.x-H.y*N,R.y+H.x*N),p.lineTo(R.x,R.y)):"line"==D?(p.moveTo(aa.x+H.y*N,aa.y-H.x*N),p.lineTo(aa.x-H.y*N,aa.y+H.x*N),p.moveTo(R.x-H.y*N,R.y+H.x*N),p.lineTo(R.x+H.y*N,R.y-H.x*N),p.moveTo(R.x,R.y)):"arc"==D?(N*= -1.3,p.curveTo(aa.x-H.y*N,aa.y+H.x*N,R.x-H.y*N,R.y+H.x*N,R.x,R.y)):(p.moveTo(R.x,R.y),F=!0),N=[R],aa=!0))}else H=null;aa||(N.push(Y),K=Y)}this.addPoints(p,N,z,C,!1,null,F);p.stroke()}};var h=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(p,w,z,C){return null!=w&&"centerPerimeter"==w.style[mxConstants.STYLE_PERIMETER]?new mxPoint(w.getCenterX(),w.getCenterY()):h.apply(this,arguments)};var n=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint= -function(p,w,z,C){if(null==w||null==p||"1"!=w.style.snapToPoint&&"1"!=p.style.snapToPoint)n.apply(this,arguments);else{w=this.getTerminalPort(p,w,C);var G=this.getNextPoint(p,z,C),D=this.graph.isOrthogonal(p),F=mxUtils.toRadians(Number(w.style[mxConstants.STYLE_ROTATION]||"0")),K=new mxPoint(w.getCenterX(),w.getCenterY());if(0!=F){var I=Math.cos(-F),N=Math.sin(-F);G=mxUtils.getRotatedPoint(G,I,N,K)}I=parseFloat(p.style[mxConstants.STYLE_PERIMETER_SPACING]||0);I+=parseFloat(p.style[C?mxConstants.STYLE_SOURCE_PERIMETER_SPACING: -mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);G=this.getPerimeterPoint(w,G,0==F&&D,I);0!=F&&(I=Math.cos(F),N=Math.sin(F),G=mxUtils.getRotatedPoint(G,I,N,K));p.setAbsoluteTerminalPoint(this.snapToAnchorPoint(p,w,z,C,G),C)}};mxGraphView.prototype.snapToAnchorPoint=function(p,w,z,C,G){if(null!=w&&null!=p){p=this.graph.getAllConnectionConstraints(w);C=z=null;if(null!=p)for(var D=0;DG*G&&0G*G&&(aa=new mxPoint(Y.x-H.x,Y.y-H.y),R=new mxPoint(Y.x+H.x,Y.y+H.y),Q.push(aa),this.addPoints(p,Q,z,C,!1,null,F),Q=0>Math.round(H.x)||0==Math.round(H.x)&&0>=Math.round(H.y)?1:-1,F=!1,"sharp"==D?(p.lineTo(aa.x-H.y*Q,aa.y+H.x*Q),p.lineTo(R.x-H.y*Q,R.y+H.x*Q),p.lineTo(R.x,R.y)):"line"==D?(p.moveTo(aa.x+H.y*Q,aa.y-H.x*Q),p.lineTo(aa.x-H.y*Q,aa.y+H.x*Q),p.moveTo(R.x-H.y*Q,R.y+H.x*Q),p.lineTo(R.x+H.y*Q,R.y-H.x*Q),p.moveTo(R.x,R.y)):"arc"==D?(Q*= +1.3,p.curveTo(aa.x-H.y*Q,aa.y+H.x*Q,R.x-H.y*Q,R.y+H.x*Q,R.x,R.y)):(p.moveTo(R.x,R.y),F=!0),Q=[R],aa=!0))}else H=null;aa||(Q.push(Y),K=Y)}this.addPoints(p,Q,z,C,!1,null,F);p.stroke()}};var h=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(p,w,z,C){return null!=w&&"centerPerimeter"==w.style[mxConstants.STYLE_PERIMETER]?new mxPoint(w.getCenterX(),w.getCenterY()):h.apply(this,arguments)};var n=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint= +function(p,w,z,C){if(null==w||null==p||"1"!=w.style.snapToPoint&&"1"!=p.style.snapToPoint)n.apply(this,arguments);else{w=this.getTerminalPort(p,w,C);var G=this.getNextPoint(p,z,C),D=this.graph.isOrthogonal(p),F=mxUtils.toRadians(Number(w.style[mxConstants.STYLE_ROTATION]||"0")),K=new mxPoint(w.getCenterX(),w.getCenterY());if(0!=F){var I=Math.cos(-F),Q=Math.sin(-F);G=mxUtils.getRotatedPoint(G,I,Q,K)}I=parseFloat(p.style[mxConstants.STYLE_PERIMETER_SPACING]||0);I+=parseFloat(p.style[C?mxConstants.STYLE_SOURCE_PERIMETER_SPACING: +mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);G=this.getPerimeterPoint(w,G,0==F&&D,I);0!=F&&(I=Math.cos(F),Q=Math.sin(F),G=mxUtils.getRotatedPoint(G,I,Q,K));p.setAbsoluteTerminalPoint(this.snapToAnchorPoint(p,w,z,C,G),C)}};mxGraphView.prototype.snapToAnchorPoint=function(p,w,z,C,G){if(null!=w&&null!=p){p=this.graph.getAllConnectionConstraints(w);C=z=null;if(null!=p)for(var D=0;D=ha.x&&this.model.remove(ta[A]);var Ja=this.model.getTerminal(B,!1); -if(null!=Ja){var Ka=this.getCurrentCellStyle(Ja);null!=Ka&&"1"==Ka.snapToPoint&&(this.setCellStyles(mxConstants.STYLE_EXIT_X,null,[u]),this.setCellStyles(mxConstants.STYLE_EXIT_Y,null,[u]),this.setCellStyles(mxConstants.STYLE_ENTRY_X,null,[B]),this.setCellStyles(mxConstants.STYLE_ENTRY_Y,null,[B]))}}finally{this.model.endUpdate()}return B};var w=Graph.prototype.selectCell;Graph.prototype.selectCell=function(u,A,B){if(A||B)w.apply(this,arguments);else{var E=this.getSelectionCell(),M=null,Q=[],U=mxUtils.bind(this, -function(ia){if(null!=this.view.getState(ia)&&(this.model.isVertex(ia)||this.model.isEdge(ia)))if(Q.push(ia),ia==E)M=Q.length-1;else if(u&&null==E&&0M||!u&&0=ha.x&&this.model.remove(ta[A]);var Ja=this.model.getTerminal(B,!1); +if(null!=Ja){var Ka=this.getCurrentCellStyle(Ja);null!=Ka&&"1"==Ka.snapToPoint&&(this.setCellStyles(mxConstants.STYLE_EXIT_X,null,[u]),this.setCellStyles(mxConstants.STYLE_EXIT_Y,null,[u]),this.setCellStyles(mxConstants.STYLE_ENTRY_X,null,[B]),this.setCellStyles(mxConstants.STYLE_ENTRY_Y,null,[B]))}}finally{this.model.endUpdate()}return B};var w=Graph.prototype.selectCell;Graph.prototype.selectCell=function(u,A,B){if(A||B)w.apply(this,arguments);else{var E=this.getSelectionCell(),M=null,P=[],U=mxUtils.bind(this, +function(ia){if(null!=this.view.getState(ia)&&(this.model.isVertex(ia)||this.model.isEdge(ia)))if(P.push(ia),ia==E)M=P.length-1;else if(u&&null==E&&0M||!u&&0ua)for(ya=0;ya>ua;ya--)this.model.remove(va[va.length+ya-1]);va=this.model.getChildCells(u[ea],!0);for(ya=0;yamxUtils.indexOf(u,Q)&&0>mxUtils.indexOf(B,Q)&&B.push(Q):this.labelChanged(u[E],"")}else{if(this.isTableRow(u[E])&&(Q=this.model.getParent(u[E]),0>mxUtils.indexOf(u,Q)&&0>mxUtils.indexOf(B,Q))){for(var U=this.model.getChildCells(Q,!0),ia=0,ea=0;eamxUtils.indexOf(u,P)&&0>mxUtils.indexOf(B,P)&&B.push(P):this.labelChanged(u[E],"")}else{if(this.isTableRow(u[E])&&(P=this.model.getParent(u[E]),0>mxUtils.indexOf(u,P)&&0>mxUtils.indexOf(B,P))){for(var U=this.model.getChildCells(P,!0),ia=0,ea=0;eamxUtils.indexOf(u,Q))return null}Q=D.apply(this,arguments);var U=!0;for(M=0;MmxUtils.indexOf(u,P))return null}P=D.apply(this,arguments);var U=!0;for(M=0;MQ||ha>Q)&&this.clear());else{for(ea=ha.getSource();null!=ea&&"a"!=ea.nodeName.toLowerCase();)ea=ea.parentNode;null!=ea?this.clear():(null!=U.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&U.tooltipHandler.reset(ha,!0,this.currentState),(null==this.currentState||ha.getState()!= -this.currentState&&null!=ha.sourceState||!U.intersects(this.currentState,ha.getGraphX(),ha.getGraphY()))&&this.updateCurrentState(ha))}},mouseUp:function(ea,ha){var ta=ha.getSource();for(ea=ha.getEvent();null!=ta&&"a"!=ta.nodeName.toLowerCase();)ta=ta.parentNode;null==ta&&Math.abs(this.scrollLeft-U.container.scrollLeft)P||ha>P)&&this.clear());else{for(ea=ha.getSource();null!=ea&&"a"!=ea.nodeName.toLowerCase();)ea=ea.parentNode;null!=ea?this.clear():(null!=U.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&U.tooltipHandler.reset(ha,!0,this.currentState),(null==this.currentState||ha.getState()!= +this.currentState&&null!=ha.sourceState||!U.intersects(this.currentState,ha.getGraphX(),ha.getGraphY()))&&this.updateCurrentState(ha))}},mouseUp:function(ea,ha){var ta=ha.getSource();for(ea=ha.getEvent();null!=ta&&"a"!=ta.nodeName.toLowerCase();)ta=ta.parentNode;null==ta&&Math.abs(this.scrollLeft-U.container.scrollLeft)J&&v++;x++}r.lengthmxUtils.indexOf(E,Q)&&E.push(Q);break}else Q=Q.parentNode;return E};Graph.prototype.getSelectedElement=function(){var u=null;if(window.getSelection){var A=window.getSelection();A.getRangeAt&&A.rangeCount&&(u=A.getRangeAt(0).commonAncestorContainer)}else document.selection&&(u=document.selection.createRange().parentElement());return u};Graph.prototype.getSelectedEditingElement=function(){for(var u=this.getSelectedElement();null!=u&&u.nodeType!=mxConstants.NODETYPE_ELEMENT;)u= +U.commonAncestorContainer;var ha=[],ta;for(ta=ia.parentNode;ta&&(ha.push(ta),ta!=U);ta=ta.parentNode);ha.reverse();for(ta=ia;ta&&(ha.push(ta),ta!=ea);ta=u(ta));return ha}var B=[this.getSelectedElement()];if(window.getSelection){var E=window.getSelection();E.getRangeAt&&E.rangeCount&&(B=A(E.getRangeAt(0)))}E=[];for(var M=0;MmxUtils.indexOf(E,P)&&E.push(P);break}else P=P.parentNode;return E};Graph.prototype.getSelectedElement=function(){var u=null;if(window.getSelection){var A=window.getSelection();A.getRangeAt&&A.rangeCount&&(u=A.getRangeAt(0).commonAncestorContainer)}else document.selection&&(u=document.selection.createRange().parentElement());return u};Graph.prototype.getSelectedEditingElement=function(){for(var u=this.getSelectedElement();null!=u&&u.nodeType!=mxConstants.NODETYPE_ELEMENT;)u= u.parentNode;null!=u&&u==this.cellEditor.textarea&&1==this.cellEditor.textarea.children.length&&this.cellEditor.textarea.firstChild.nodeType==mxConstants.NODETYPE_ELEMENT&&(u=this.cellEditor.textarea.firstChild);return u};Graph.prototype.getParentByName=function(u,A,B){for(;null!=u&&u.nodeName!=A;){if(u==B)return null;u=u.parentNode}return u};Graph.prototype.getParentByNames=function(u,A,B){for(;null!=u&&!(0<=mxUtils.indexOf(A,u.nodeName));){if(u==B)return null;u=u.parentNode}return u};Graph.prototype.selectNode= function(u){var A=null;if(window.getSelection){if(A=window.getSelection(),A.getRangeAt&&A.rangeCount){var B=document.createRange();B.selectNode(u);A.removeAllRanges();A.addRange(B)}}else(A=document.selection)&&"Control"!=A.type&&(u=A.createRange(),u.collapse(!0),B=A.createRange(),B.setEndPoint("StartToStart",u),B.select())};Graph.prototype.flipEdgePoints=function(u,A,B){var E=this.getCellGeometry(u);if(null!=E){E=E.clone();if(null!=E.points)for(var M=0;M=Q.length)A.remove(B);else{var U=Q.length-1;this.isTableCell(u)&&(U=mxUtils.indexOf(Q, +B.beginUpdate();try{var E=null;if("stackLayout"==this.getCurrentCellStyle(u).childLayout){E=u;var M=B.getChildCells(E,!0);u=M[A?0:M.length-1]}else E=B.getParent(u);var P=E.getIndex(u);u=B.cloneCell(u,!1);u.value=null;B.add(E,u,P+(A?0:1))}finally{B.endUpdate()}};Graph.prototype.insertTableRow=function(u,A){var B=this.getModel();B.beginUpdate();try{var E=u,M=u;if(this.isTableCell(u))M=B.getParent(u),E=B.getParent(M);else if(this.isTableRow(u))E=B.getParent(u);else{var P=B.getChildCells(E,!0);M=P[A? +0:P.length-1]}var U=B.getChildCells(M,!0),ia=E.getIndex(M);M=B.cloneCell(M,!1);M.value=null;var ea=this.getCellGeometry(M);if(null!=ea){for(P=0;P=P.length)A.remove(B);else{var U=P.length-1;this.isTableCell(u)&&(U=mxUtils.indexOf(P, u));for(E=u=0;E=M.length)A.remove(B);else{this.isTableRow(E)|| -(E=M[M.length-1]);A.remove(E);u=0;var Q=this.getCellGeometry(E);null!=Q&&(u=Q.height);var U=this.getCellGeometry(B);null!=U&&(U=U.clone(),U.height-=u,A.setGeometry(B,U))}}finally{A.endUpdate()}};Graph.prototype.insertRow=function(u,A){for(var B=u.tBodies[0],E=B.rows[0].cells,M=u=0;MA&&u[B].deleteCell(A)}};Graph.prototype.pasteHtmlAtCaret=function(u){if(window.getSelection){var A= -window.getSelection();if(A.getRangeAt&&A.rangeCount){A=A.getRangeAt(0);A.deleteContents();var B=document.createElement("div");B.innerHTML=u;u=document.createDocumentFragment();for(var E;E=B.firstChild;)lastNode=u.appendChild(E);A.insertNode(u)}}else(A=document.selection)&&"Control"!=A.type&&A.createRange().pasteHTML(u)};Graph.prototype.createLinkForHint=function(u,A,B){function E(Q,U){Q.length>U&&(Q=Q.substring(0,Math.round(U/2))+"..."+Q.substring(Q.length-Math.round(U/4)));return Q}u=null!=u?u:"javascript:void(0);"; -if(null==A||0==A.length)A=this.isCustomLink(u)?this.getLinkTitle(u):u;var M=document.createElement("a");M.setAttribute("rel",this.linkRelation);M.setAttribute("href",this.getAbsoluteUrl(u));M.setAttribute("title",E(this.isCustomLink(u)?this.getLinkTitle(u):u,80));null!=this.linkTarget&&M.setAttribute("target",this.linkTarget);mxUtils.write(M,E(A,40));this.isCustomLink(u)&&mxEvent.addListener(M,"click",mxUtils.bind(this,function(Q){this.customLinkClicked(u,B);mxEvent.consume(Q)}));return M};Graph.prototype.initTouch= -function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(Q,U){this.popupMenuHandler.hideMenu()});var u=this.updateMouseEvent;this.updateMouseEvent=function(Q){Q=u.apply(this,arguments);if(mxEvent.isTouchEvent(Q.getEvent())&&null==Q.getState()){var U=this.getCellAt(Q.graphX,Q.graphY);null!=U&&this.isSwimlane(U)&&this.hitsSwimlaneContent(U,Q.graphX,Q.graphY)||(Q.state=this.view.getState(U),null!=Q.state&& -null!=Q.state.shape&&(this.container.style.cursor=Q.state.shape.node.style.cursor))}null==Q.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return Q};var A=!1,B=!1,E=!1,M=this.fireMouseEvent;this.fireMouseEvent=function(Q,U,ia){Q==mxEvent.MOUSE_DOWN&&(U=this.updateMouseEvent(U),A=this.isCellSelected(U.getCell()),B=this.isSelectionEmpty(),E=this.popupMenuHandler.isMenuShowing());M.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(Q,U){if(null!=this.freehand&& +window.getSelection();if(A.getRangeAt&&A.rangeCount){A=A.getRangeAt(0);A.deleteContents();var B=document.createElement("div");B.innerHTML=u;u=document.createDocumentFragment();for(var E;E=B.firstChild;)lastNode=u.appendChild(E);A.insertNode(u)}}else(A=document.selection)&&"Control"!=A.type&&A.createRange().pasteHTML(u)};Graph.prototype.createLinkForHint=function(u,A,B){function E(P,U){P.length>U&&(P=P.substring(0,Math.round(U/2))+"..."+P.substring(P.length-Math.round(U/4)));return P}u=null!=u?u:"javascript:void(0);"; +if(null==A||0==A.length)A=this.isCustomLink(u)?this.getLinkTitle(u):u;var M=document.createElement("a");M.setAttribute("rel",this.linkRelation);M.setAttribute("href",this.getAbsoluteUrl(u));M.setAttribute("title",E(this.isCustomLink(u)?this.getLinkTitle(u):u,80));null!=this.linkTarget&&M.setAttribute("target",this.linkTarget);mxUtils.write(M,E(A,40));this.isCustomLink(u)&&mxEvent.addListener(M,"click",mxUtils.bind(this,function(P){this.customLinkClicked(u,B);mxEvent.consume(P)}));return M};Graph.prototype.initTouch= +function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(P,U){this.popupMenuHandler.hideMenu()});var u=this.updateMouseEvent;this.updateMouseEvent=function(P){P=u.apply(this,arguments);if(mxEvent.isTouchEvent(P.getEvent())&&null==P.getState()){var U=this.getCellAt(P.graphX,P.graphY);null!=U&&this.isSwimlane(U)&&this.hitsSwimlaneContent(U,P.graphX,P.graphY)||(P.state=this.view.getState(U),null!=P.state&& +null!=P.state.shape&&(this.container.style.cursor=P.state.shape.node.style.cursor))}null==P.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return P};var A=!1,B=!1,E=!1,M=this.fireMouseEvent;this.fireMouseEvent=function(P,U,ia){P==mxEvent.MOUSE_DOWN&&(U=this.updateMouseEvent(U),A=this.isCellSelected(U.getCell()),B=this.isSelectionEmpty(),E=this.popupMenuHandler.isMenuShowing());M.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(P,U){if(null!=this.freehand&& !this.freehand.isDrawing()){var ia=mxEvent.isMouseEvent(U.getEvent());this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==U.getState()||!U.isSource(U.getState().control))&&(this.popupMenuHandler.popupTrigger||!E&&!ia&&(B&&null==U.getCell()&&this.isSelectionEmpty()||A&&this.isCellSelected(U.getCell())));ia=!A||ia?null:mxUtils.bind(this,function(ea){window.setTimeout(mxUtils.bind(this,function(){if(!this.isEditing()){var ha=mxUtils.getScrollOrigin();this.popupMenuHandler.popup(U.getX()+ -ha.x+1,U.getY()+ha.y+1,ea,U.getEvent())}}),300)});mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,[Q,U,ia])}})};mxCellEditor.prototype.isContentEditing=function(){var u=this.graph.view.getState(this.editingCell);return null!=u&&1==u.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.isTextSelected=function(){var u="";window.getSelection?u=window.getSelection(): +ha.x+1,U.getY()+ha.y+1,ea,U.getEvent())}}),300)});mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,[P,U,ia])}})};mxCellEditor.prototype.isContentEditing=function(){var u=this.graph.view.getState(this.editingCell);return null!=u&&1==u.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.isTextSelected=function(){var u="";window.getSelection?u=window.getSelection(): document.getSelection?u=document.getSelection():document.selection&&(u=document.selection.createRange().text);return""!=u};mxCellEditor.prototype.insertTab=function(u){var A=this.textarea.ownerDocument.defaultView.getSelection(),B=A.getRangeAt(0);u=Graph.createTabNode(u);B.insertNode(u);B.setStartAfter(u);B.setEndAfter(u);A.removeAllRanges();A.addRange(B)};mxCellEditor.prototype.alignText=function(u,A){var B=this.graph.getView().getState(this.editingCell);if(null!=B){B=mxUtils.getValue(B.style,mxConstants.STYLE_TEXT_DIRECTION, -mxConstants.DEFAULT_TEXT_DIRECTION);var E=null!=B&&"vertical-"==B.substring(0,9),M=null!=A&&mxEvent.isShiftDown(A);if(M||null!=window.getSelection&&null!=window.getSelection().containsNode){var Q=!0;this.graph.processElements(this.textarea,function(U){M||E||window.getSelection().containsNode(U,!0)?(U.removeAttribute("align"),U.style.textAlign=null):Q=!1});(Q||E)&&this.graph.cellEditor.setAlign(u)}E||document.execCommand("justify"+u.toLowerCase(),!1,null)}};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var u= +mxConstants.DEFAULT_TEXT_DIRECTION);var E=null!=B&&"vertical-"==B.substring(0,9),M=null!=A&&mxEvent.isShiftDown(A);if(M||null!=window.getSelection&&null!=window.getSelection().containsNode){var P=!0;this.graph.processElements(this.textarea,function(U){M||E||window.getSelection().containsNode(U,!0)?(U.removeAttribute("align"),U.style.textAlign=null):P=!1});(P||E)&&this.graph.cellEditor.setAlign(u)}E||document.execCommand("justify"+u.toLowerCase(),!1,null)}};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var u= window.getSelection();if(u.getRangeAt&&u.rangeCount){for(var A=[],B=0,E=u.rangeCount;B"):ia,!0);this.textarea.className="mxCellEditor geContentEditable";ea=mxUtils.getValue(u.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE);A=mxUtils.getValue(u.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY); -var E=mxUtils.getValue(u.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),M=(mxUtils.getValue(u.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,Q=(mxUtils.getValue(u.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,U=[];(mxUtils.getValue(u.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&U.push("underline");(mxUtils.getValue(u.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)== -mxConstants.FONT_STRIKETHROUGH&&U.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(ea*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(ea)+"px";this.textarea.style.textDecoration=U.join(" ");this.textarea.style.fontWeight=M?"bold":"normal";this.textarea.style.fontStyle=Q?"italic":"";this.textarea.style.fontFamily=A;this.textarea.style.textAlign=E;this.textarea.style.padding="0px";this.textarea.innerHTML!=ia&& +var E=mxUtils.getValue(u.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),M=(mxUtils.getValue(u.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,P=(mxUtils.getValue(u.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,U=[];(mxUtils.getValue(u.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&U.push("underline");(mxUtils.getValue(u.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)== +mxConstants.FONT_STRIKETHROUGH&&U.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(ea*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(ea)+"px";this.textarea.style.textDecoration=U.join(" ");this.textarea.style.fontWeight=M?"bold":"normal";this.textarea.style.fontStyle=P?"italic":"";this.textarea.style.fontFamily=A;this.textarea.style.textAlign=E;this.textarea.style.padding="0px";this.textarea.innerHTML!=ia&& (this.textarea.innerHTML=ia,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0
"));ia=Graph.sanitizeHtml(A?ia.replace(/\n/g,"").replace(/<br\s*.?>/g, "
"):ia,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var ea=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(ea*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(ea)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.width= -"";this.textarea.style.padding="2px";this.textarea.innerHTML!=ia&&(this.textarea.innerHTML=ia);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=B;this.resize()}};var N=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(u,A){if(null!=this.textarea)if(u=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=u){var B=u.view.scale;this.bounds=mxRectangle.fromRectangle(u); +"";this.textarea.style.padding="2px";this.textarea.innerHTML!=ia&&(this.textarea.innerHTML=ia);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=B;this.resize()}};var Q=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(u,A){if(null!=this.textarea)if(u=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=u){var B=u.view.scale;this.bounds=mxRectangle.fromRectangle(u); if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*B;this.bounds.height=60*B;var E=null!=u.text?u.text.margin:null;null==E&&(E=mxUtils.getAlignmentAsPoint(mxUtils.getValue(u.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(u.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=E.x*this.bounds.width;this.bounds.y+=E.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/B)+"px";this.textarea.style.height= Math.round((this.bounds.height-4)/B)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight"));return B=Graph.sanitizeHtml(B,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(u){if("0"==mxUtils.getValue(u.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var A=Graph.sanitizeHtml(this.textarea.innerHTML,!0);"1"==mxUtils.getValue(u.style,"nl2Br","1")?(A=A.replace(/\r\n/g,"
").replace(/\n/g, "
"),0"==A.substring(A.length-5)||"
"==A.substring(A.length-4))&&(A=A.substring(0,A.lastIndexOf("
")):A=A.replace(/\r\n/g,"").replace(/\n/g,"");return A};var H=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(u){this.codeViewMode&&this.toggleViewMode();H.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(u){}};var Z=mxCellEditor.prototype.applyValue; mxCellEditor.prototype.applyValue=function(u,A){this.graph.getModel().beginUpdate();try{Z.apply(this,arguments),""==A&&this.graph.isCellDeletable(u.cell)&&0==this.graph.model.getChildCount(u.cell)&&this.graph.isTransparentState(u)&&this.graph.removeCells([u.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(u){u=mxUtils.getValue(u.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);u==mxConstants.NONE&&(u=null);return u};mxCellEditor.prototype.getBorderColor= function(u){u=mxUtils.getValue(u.style,mxConstants.STYLE_LABEL_BORDERCOLOR,null);u==mxConstants.NONE&&(u=null);return u};mxCellEditor.prototype.getMinimumSize=function(u){var A=this.graph.getView().scale;return new mxRectangle(0,0,null==u.text?30:u.text.size*A+20,30)};mxGraphHandlerIsValidDropTarget=mxGraphHandler.prototype.isValidDropTarget;mxGraphHandler.prototype.isValidDropTarget=function(u,A){return mxGraphHandlerIsValidDropTarget.apply(this,arguments)&&!mxEvent.isAltDown(A.getEvent)};mxGraphView.prototype.formatUnitText= function(u){return u?b(u,this.unit):u};mxGraphHandler.prototype.updateHint=function(u){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var A=this.graph.view.translate,B=this.graph.view.scale;u=this.roundLength((this.bounds.x+this.currentDx)/B-A.x);A=this.roundLength((this.bounds.y+this.currentDy)/B-A.y);B=this.graph.view.unit;this.hint.innerHTML=b(u,B)+", "+b(A,B);this.hint.style.left=this.pBounds.x+this.currentDx+ Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.pBounds.y+this.currentDy+this.pBounds.height+Editor.hintOffset+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(null!=this.hint.parentNode&&this.hint.parentNode.removeChild(this.hint),this.hint=null)};var R=mxStackLayout.prototype.resizeCell;mxStackLayout.prototype.resizeCell=function(u,A){R.apply(this,arguments);var B=this.graph.getCellStyle(u);if(null==B.childLayout){var E=this.graph.model.getParent(u), -M=null!=E?this.graph.getCellGeometry(E):null;if(null!=M&&(B=this.graph.getCellStyle(E),"stackLayout"==B.childLayout)){var Q=parseFloat(mxUtils.getValue(B,"stackBorder",mxStackLayout.prototype.border));B="1"==mxUtils.getValue(B,"horizontalStack","1");var U=this.graph.getActualStartSize(E);M=M.clone();B?M.height=A.height+U.y+U.height+2*Q:M.width=A.width+U.x+U.width+2*Q;this.graph.model.setGeometry(E,M)}}};var Y=mxSelectionCellsHandler.prototype.getHandledSelectionCells;mxSelectionCellsHandler.prototype.getHandledSelectionCells= -function(){function u(ia){B.get(ia)||(B.put(ia,!0),M.push(ia))}for(var A=Y.apply(this,arguments),B=new mxDictionary,E=this.graph.model,M=[],Q=0;Qu;u++){var A=new mxRectangleShape(new mxRectangle(0,0,6,6),"#ffffff",mxConstants.HANDLE_STROKECOLOR);A.dialect=mxConstants.DIALECT_SVG;A.init(this.graph.view.getOverlayPane());this.cornerHandles.push(A)}}this.graph.isTable(this.state.cell)&&this.graph.isCellMovable(this.state.cell)&&this.refreshMoveHandles();u=this.graph.getLinkForCell(this.state.cell);A=this.graph.getLinksForState(this.state); this.updateLinkHint(u,A)};var S=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var u=new mxPoint(0,0),A=this.tolerance,B=this.state.style.shape;null==mxCellRenderer.defaultShapes[B]&&mxStencilRegistry.getStencil(B);B=this.graph.isTable(this.state.cell)||this.graph.cellEditor.getEditingCell()==this.state.cell;if(!B&&null!=this.customHandles)for(var E=0;E'); Graph.prototype.collapsedImage=Graph.createSvgImage(9,9,'');mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle= @@ -2942,10 +2942,10 @@ HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prot !0;mxVertexHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.dblClickRemoveEnabled=!0;mxEdgeHandler.prototype.straightRemoveEnabled=!0;mxEdgeHandler.prototype.virtualBendsEnabled=!0;mxEdgeHandler.prototype.mergeRemoveEnabled=!0;mxEdgeHandler.prototype.manageLabelHandle=!0;mxEdgeHandler.prototype.outlineConnect=!0;mxEdgeHandler.prototype.isAddVirtualBendEvent=function(u){return!mxEvent.isShiftDown(u.getEvent())};mxEdgeHandler.prototype.isCustomHandleEvent= function(u){return!mxEvent.isShiftDown(u.getEvent())};if(Graph.touchStyle){if(mxClient.IS_TOUCH||0Q||Math.abs(M)>Q)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(u,B),this.isSpaceEvent(A)?(u=this.x+this.width,B=this.y+this.height,E=this.graph.view.scale,mxEvent.isAltDown(A.getEvent())||(this.width=this.graph.snap(this.width/E)*E,this.height=this.graph.snap(this.height/E)*E,this.graph.isGridEnabled()|| +!this.graph.isCellLocked(this.graph.getDefaultParent())&&(mxEvent.isControlDown(u.getEvent())||mxEvent.isMetaDown(u.getEvent()))&&mxEvent.isShiftDown(u.getEvent())&&mxEvent.isAltDown(u.getEvent())};mxRubberband.prototype.cancelled=!1;mxRubberband.prototype.cancel=function(){this.isActive()&&(this.cancelled=!0,this.reset())};mxRubberband.prototype.mouseUp=function(u,A){if(this.cancelled)this.cancelled=!1,A.consume();else{var B=null!=this.div&&"none"!=this.div.style.display,E=null,M=null,P=u=null;null!= +this.first&&null!=this.currentX&&null!=this.currentY&&(E=this.first.x,M=this.first.y,u=(this.currentX-E)/this.graph.view.scale,P=(this.currentY-M)/this.graph.view.scale,mxEvent.isAltDown(A.getEvent())||(u=this.graph.snap(u),P=this.graph.snap(P),this.graph.isGridEnabled()||(Math.abs(u)P||Math.abs(M)>P)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(u,B),this.isSpaceEvent(A)?(u=this.x+this.width,B=this.y+this.height,E=this.graph.view.scale,mxEvent.isAltDown(A.getEvent())||(this.width=this.graph.snap(this.width/E)*E,this.height=this.graph.snap(this.height/E)*E,this.graph.isGridEnabled()|| (this.width=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px", null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+"px",this.secondDiv.style.height=Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&& (this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),A.consume()}};var Ua=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);Ua.apply(this,arguments)};var na=(new Date).getTime(),Ia=0,Ha=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(u,A,B,E){Ha.apply(this,arguments);B!=this.currentTerminalState?(na=(new Date).getTime(), @@ -2959,8 +2959,8 @@ mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE mxVertexHandler.prototype.mouseMove=function(u,A){$a.apply(this,arguments);null!=this.graph.graphHandler.first&&(null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var gb=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(u,A){gb.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= 1==this.graph.getSelectionCount()?"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="");this.blockDelayedSelection=null};mxVertexHandler.prototype.updateLinkHint=function(u,A){try{if(null==u&&(null==A||0==A.length))null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=u||null!=A&&0z;z++)(function(fa){mxEvent.addListener(l[fa],"click",function(){b(l[fa],""==l[fa].style.backgroundImage)})})(z); var sa=mxUtils.bind(this,function(fa,Fa,wa){g=e.getSelectionState();fa=mxUtils.getValue(g.style,mxConstants.STYLE_FONTSTYLE,0);b(l[0],(fa&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);b(l[1],(fa&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);b(l[2],(fa&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);q.firstChild.nodeValue=mxUtils.getValue(g.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont);b(p,"0"==mxUtils.getValue(g.style,mxConstants.STYLE_HORIZONTAL,"1"));if(wa||document.activeElement!= -W)fa=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),W.value=isNaN(fa)?"":fa+" "+Editor.fontSizeUnit;fa=mxUtils.getValue(g.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);b(C,fa==mxConstants.ALIGN_LEFT);b(G,fa==mxConstants.ALIGN_CENTER);b(D,fa==mxConstants.ALIGN_RIGHT);fa=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);b(K,fa==mxConstants.ALIGN_TOP);b(I,fa==mxConstants.ALIGN_MIDDLE);b(N,fa==mxConstants.ALIGN_BOTTOM); +W)fa=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),W.value=isNaN(fa)?"":fa+" "+Editor.fontSizeUnit;fa=mxUtils.getValue(g.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);b(C,fa==mxConstants.ALIGN_LEFT);b(G,fa==mxConstants.ALIGN_CENTER);b(D,fa==mxConstants.ALIGN_RIGHT);fa=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);b(K,fa==mxConstants.ALIGN_TOP);b(I,fa==mxConstants.ALIGN_MIDDLE);b(Q,fa==mxConstants.ALIGN_BOTTOM); fa=mxUtils.getValue(g.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);Fa=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);V.value=fa==mxConstants.ALIGN_LEFT&&Fa==mxConstants.ALIGN_TOP?"topLeft":fa==mxConstants.ALIGN_CENTER&&Fa==mxConstants.ALIGN_TOP?"top":fa==mxConstants.ALIGN_RIGHT&&Fa==mxConstants.ALIGN_TOP?"topRight":fa==mxConstants.ALIGN_LEFT&&Fa==mxConstants.ALIGN_BOTTOM?"bottomLeft":fa==mxConstants.ALIGN_CENTER&&Fa==mxConstants.ALIGN_BOTTOM? "bottom":fa==mxConstants.ALIGN_RIGHT&&Fa==mxConstants.ALIGN_BOTTOM?"bottomRight":fa==mxConstants.ALIGN_LEFT?"left":fa==mxConstants.ALIGN_RIGHT?"right":"center";fa=mxUtils.getValue(g.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);fa==mxConstants.TEXT_DIRECTION_RTL?qa.value="rightToLeft":fa==mxConstants.TEXT_DIRECTION_LTR?qa.value="leftToRight":fa!=mxConstants.TEXT_DIRECTION_AUTO&&g.html?fa==mxConstants.TEXT_DIRECTION_VERTICAL_LR?qa.value="vertical-leftToRight":fa==mxConstants.TEXT_DIRECTION_VERTICAL_RL&& (qa.value="vertical-rightToLeft"):qa.value="automatic";if(wa||document.activeElement!=na)fa=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING,2)),na.value=isNaN(fa)?"":fa+" pt";if(wa||document.activeElement!=Ua)fa=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_TOP,0)),Ua.value=isNaN(fa)?"":fa+" pt";if(wa||document.activeElement!=Oa)fa=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_RIGHT,0)),Oa.value=isNaN(fa)?"":fa+" pt";if(wa||document.activeElement!=Ha)fa= @@ -3135,11 +3136,11 @@ parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_BOTTOM,0)),Ha.valu mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");var hb=this.installInputHandler(Ia,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(W,sa);this.addKeyHandler(na,sa);this.addKeyHandler(Ua,sa);this.addKeyHandler(Oa,sa);this.addKeyHandler(Ha,sa);this.addKeyHandler(Ia,sa);f.getModel().addListener(mxEvent.CHANGE,sa);this.listeners.push({destroy:function(){f.getModel().removeListener(sa)}});sa();if(f.cellEditor.isContentEditing()){var ib=null,fb=!1;d=mxUtils.bind(this,function(){fb|| (fb=!0,window.setTimeout(mxUtils.bind(this,function(){var fa=f.getSelectedEditingElement();if(null!=fa){var Fa=function(va,Ba){if(null!=va&&null!=Ba){if(va==Ba)return!0;if(va.length>Ba.length+1)return va.substring(va.length-Ba.length-1,va.length)=="-"+Ba}return!1},wa=function(va){if(null!=f.getParentByName(fa,va,f.cellEditor.textarea))return!0;for(var Ba=fa;null!=Ba&&1==Ba.childNodes.length;)if(Ba=Ba.childNodes[0],Ba.nodeName==va)return!0;return!1},u=function(va){va=null!=va?va.fontSize:null;return null!= va&&"px"==va.substring(va.length-2)?parseFloat(va):mxConstants.DEFAULT_FONTSIZE},A=function(va,Ba,ua){return null!=ua.style&&null!=Ba?(Ba=Ba.lineHeight,null!=ua.style.lineHeight&&"%"==ua.style.lineHeight.substring(ua.style.lineHeight.length-1)?parseInt(ua.style.lineHeight)/100:"px"==Ba.substring(Ba.length-2)?parseFloat(Ba)/va:parseInt(Ba)):""},B=function(va){for(;null!=va&&va!=f.cellEditor.textarea;){if("block"==mxUtils.getCurrentStyle(va).display)return va;va=va.parentNode}return null},E=mxUtils.getCurrentStyle(fa), -M=u(E),Q=A(M,E,fa),U=fa.getElementsByTagName("*");if(0C){I=function(R){mxEvent.addListener(R,"mouseenter",function(){R.style.opacity="1"});mxEvent.addListener(R,"mouseleave",function(){R.style.opacity="0.5"})};var H=document.createElement("div");H.className="geAdaptiveAsset";H.style.position="absolute";H.style.left="0px";H.style.top="0px";H.style.bottom="0px";H.style.width="24px";H.style.height="24px";H.style.margin="0px";H.style.cursor="pointer";H.style.opacity="0.5";H.style.backgroundRepeat= +K.style.whiteSpace="nowrap";K.style.position="relative";K.style.textAlign="center";K.style.paddingTop="4px";K.style.width="210px";for(var I=0;IC){I=function(R){mxEvent.addListener(R,"mouseenter",function(){R.style.opacity="1"});mxEvent.addListener(R,"mouseleave",function(){R.style.opacity="0.5"})};var H=document.createElement("div");H.className="geAdaptiveAsset";H.style.position="absolute";H.style.left="0px";H.style.top="0px";H.style.bottom="0px";H.style.width="24px";H.style.height="24px";H.style.margin="0px";H.style.cursor="pointer";H.style.opacity="0.5";H.style.backgroundRepeat= "no-repeat";H.style.backgroundPosition="center center";H.style.backgroundSize="24px 24px";H.style.backgroundImage="url("+Editor.previousImage+")";var Z=H.cloneNode(!1);Z.style.backgroundImage="url("+Editor.nextImage+")";Z.style.left="";Z.style.right="2px";K.appendChild(H);K.appendChild(Z);mxEvent.addListener(H,"click",mxUtils.bind(this,function(){F(mxUtils.mod(this.format.currentStylePage-1,C))}));mxEvent.addListener(Z,"click",mxUtils.bind(this,function(){F(mxUtils.mod(this.format.currentStylePage+ 1,C))}));I(H);I(Z)}}else D();return a};DiagramStylePanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.darkModeChangedListener&&(this.editorUi.removeListener(this.darkModeChangedListener),this.darkModeChangedListener=null)};DiagramFormatPanel=function(a,b,e){BaseFormatPanel.call(this,a,b,e);this.init()};mxUtils.extend(DiagramFormatPanel,BaseFormatPanel);DiagramFormatPanel.showPageView=!0;DiagramFormatPanel.prototype.showBackgroundImageOption=!0; DiagramFormatPanel.prototype.init=function(){var a=this.editorUi.editor.graph;this.container.appendChild(this.addView(this.createPanel()));a.isEnabled()&&(this.container.appendChild(this.addOptions(this.createPanel())),this.container.appendChild(this.addPaperSize(this.createPanel())),this.container.appendChild(this.addStyleOps(this.createPanel())))}; @@ -3270,13 +3271,13 @@ DiagramFormatPanel.prototype.addDocumentProperties=function(a){a.appendChild(thi DiagramFormatPanel.prototype.addPaperSize=function(a){var b=this.editorUi,e=b.editor.graph;a.appendChild(this.createTitle(mxResources.get("paperSize")));var f=PageSetupDialog.addPageFormatPanel(a,"formatpanel",e.pageFormat,function(d){if(null==e.pageFormat||e.pageFormat.width!=d.width||e.pageFormat.height!=d.height)d=new ChangePageSetup(b,null,null,d),d.ignoreColor=!0,d.ignoreImage=!0,e.model.execute(d)});this.addKeyHandler(f.widthInput,function(){f.set(e.pageFormat)});this.addKeyHandler(f.heightInput, function(){f.set(e.pageFormat)});var g=function(){f.set(e.pageFormat)};b.addListener("pageFormatChanged",g);this.listeners.push({destroy:function(){b.removeListener(g)}});e.getModel().addListener(mxEvent.CHANGE,g);this.listeners.push({destroy:function(){e.getModel().removeListener(g)}});return a};DiagramFormatPanel.prototype.addStyleOps=function(a){this.addActions(a,["editData"]);this.addActions(a,["clearDefaultStyle"]);return a}; DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(c,k,t){mxShape.call(this);this.line=c;this.stroke=k;this.strokewidth=null!=t?t:1;this.updateBoundsFromLine()}function b(){mxSwimlane.call(this)}function e(){mxSwimlane.call(this)}function f(){mxCylinder.call(this)}function g(){mxConnector.call(this)}function d(){mxCylinder.call(this)}function h(){mxActor.call(this)}function n(){mxCylinder.call(this)}function q(){mxCylinder.call(this)}function l(){mxCylinder.call(this)}function p(){mxCylinder.call(this)}function w(){mxShape.call(this)} -function z(){mxShape.call(this)}function C(c,k,t,m){mxShape.call(this);this.bounds=c;this.fill=k;this.stroke=t;this.strokewidth=null!=m?m:1}function G(){mxActor.call(this)}function D(){mxCylinder.call(this)}function F(){mxCylinder.call(this)}function K(){mxActor.call(this)}function I(){mxActor.call(this)}function N(){mxActor.call(this)}function H(){mxActor.call(this)}function Z(){mxActor.call(this)}function R(){mxActor.call(this)}function Y(){mxActor.call(this)}function aa(c,k){this.canvas=c;this.canvas.setLineJoin("round"); +function z(){mxShape.call(this)}function C(c,k,t,m){mxShape.call(this);this.bounds=c;this.fill=k;this.stroke=t;this.strokewidth=null!=m?m:1}function G(){mxActor.call(this)}function D(){mxCylinder.call(this)}function F(){mxCylinder.call(this)}function K(){mxActor.call(this)}function I(){mxActor.call(this)}function Q(){mxActor.call(this)}function H(){mxActor.call(this)}function Z(){mxActor.call(this)}function R(){mxActor.call(this)}function Y(){mxActor.call(this)}function aa(c,k){this.canvas=c;this.canvas.setLineJoin("round"); this.canvas.setLineCap("round");this.defaultVariation=k;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,aa.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,aa.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,aa.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,aa.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo= -mxUtils.bind(this,aa.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,aa.prototype.arcTo)}function L(){mxRectangleShape.call(this)}function V(){mxRectangleShape.call(this)}function ca(){mxActor.call(this)}function la(){mxActor.call(this)}function qa(){mxActor.call(this)}function P(){mxRectangleShape.call(this)}function X(){mxRectangleShape.call(this)}function W(){mxCylinder.call(this)}function da(){mxShape.call(this)}function ka(){mxShape.call(this)}function T(){mxEllipse.call(this)} +mxUtils.bind(this,aa.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,aa.prototype.arcTo)}function L(){mxRectangleShape.call(this)}function V(){mxRectangleShape.call(this)}function ca(){mxActor.call(this)}function la(){mxActor.call(this)}function qa(){mxActor.call(this)}function O(){mxRectangleShape.call(this)}function X(){mxRectangleShape.call(this)}function W(){mxCylinder.call(this)}function da(){mxShape.call(this)}function ka(){mxShape.call(this)}function T(){mxEllipse.call(this)} function S(){mxShape.call(this)}function ja(){mxShape.call(this)}function xa(){mxRectangleShape.call(this)}function Aa(){mxShape.call(this)}function Ua(){mxShape.call(this)}function na(){mxShape.call(this)}function Ia(){mxShape.call(this)}function Ha(){mxShape.call(this)}function Oa(){mxCylinder.call(this)}function Ra(){mxCylinder.call(this)}function Ma(){mxRectangleShape.call(this)}function Na(){mxDoubleEllipse.call(this)}function sa(){mxDoubleEllipse.call(this)}function Pa(){mxArrowConnector.call(this); this.spacing=0}function $a(){mxArrowConnector.call(this);this.spacing=0}function gb(){mxActor.call(this)}function cb(){mxRectangleShape.call(this)}function hb(){mxActor.call(this)}function ib(){mxActor.call(this)}function fb(){mxActor.call(this)}function fa(){mxActor.call(this)}function Fa(){mxActor.call(this)}function wa(){mxActor.call(this)}function u(){mxActor.call(this)}function A(){mxActor.call(this)}function B(){mxActor.call(this)}function E(){mxActor.call(this)}function M(){mxEllipse.call(this)} -function Q(){mxEllipse.call(this)}function U(){mxEllipse.call(this)}function ia(){mxRhombus.call(this)}function ea(){mxEllipse.call(this)}function ha(){mxEllipse.call(this)}function ta(){mxEllipse.call(this)}function Ja(){mxEllipse.call(this)}function Ka(){mxActor.call(this)}function va(){mxActor.call(this)}function Ba(){mxActor.call(this)}function ua(c,k,t,m){mxShape.call(this);this.bounds=c;this.fill=k;this.stroke=t;this.strokewidth=null!=m?m:1;this.rectStyle="square";this.size=10;this.absoluteCornerSize= -!0;this.indent=2;this.rectOutline="single"}function ya(){mxConnector.call(this)}function Ya(c,k,t,m,r,v,x,J,y,ba){x+=y;var O=m.clone();m.x-=r*(2*x+y);m.y-=v*(2*x+y);r*=x+y;v*=x+y;return function(){c.ellipse(O.x-r-x,O.y-v-x,2*x,2*x);ba?c.fillAndStroke():c.stroke()}}mxUtils.extend(a,mxShape);a.prototype.updateBoundsFromLine=function(){var c=null;if(null!=this.line)for(var k=0;kO?-1:1:O===O?0:NaN:NaN},m=Math.abs(c-this.lastX),r=Math.abs(k-this.lastY),v=Math.sqrt(m*m+r*r);if(2>v){this.originalLineTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=k;return}var x=Math.round(v/10),J=this.defaultVariation;5>x&&(x=5,J/=3);var y=t(c-this.lastX)*m/x;t=t(k-this.lastY)*r/x;m/=v;r/=v;for(v=0;vN?-1:1:N===N?0:NaN:NaN},m=Math.abs(c-this.lastX),r=Math.abs(k-this.lastY),v=Math.sqrt(m*m+r*r);if(2>v){this.originalLineTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=k;return}var x=Math.round(v/10),J=this.defaultVariation;5>x&&(x=5,J/=3);var y=t(c-this.lastX)*m/x;t=t(k-this.lastY)*r/x;m/=v;r/=v;for(v=0;vx+y?c.y=t.y:c.x=t.x);return mxUtils.getPerimeterPoint(J,c,t)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(c,k,t,m){var r="0"!=mxUtils.getValue(k.style,"fixedSize","0"),v=r?Z.prototype.fixedSize:Z.prototype.size;null!=k&&(v=mxUtils.getValue(k.style,"size",v));r&&(v*=k.view.scale); var x=c.x,J=c.y,y=c.width,ba=c.height;k=null!=k?mxUtils.getValue(k.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;k==mxConstants.DIRECTION_EAST?(r=r?Math.max(0,Math.min(.5*y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x+r,J),new mxPoint(x+y-r,J),new mxPoint(x+y,J+ba),new mxPoint(x,J+ba),new mxPoint(x+r,J)]):k==mxConstants.DIRECTION_WEST?(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(x+y,J),new mxPoint(x+y-r,J+ ba),new mxPoint(x+r,J+ba),new mxPoint(x,J)]):k==mxConstants.DIRECTION_NORTH?(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J+r),new mxPoint(x+y,J),new mxPoint(x+y,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba-r),new mxPoint(x,J+ba),new mxPoint(x,J)]);ba=c.getCenterX();c=c.getCenterY();c=new mxPoint(ba,c);m&&(t.xx+y?c.y=t.y:c.x=t.x);return mxUtils.getPerimeterPoint(J, -c,t)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(c,k,t,m){var r="0"!=mxUtils.getValue(k.style,"fixedSize","0"),v=r?la.prototype.fixedSize:la.prototype.size;null!=k&&(v=mxUtils.getValue(k.style,"size",v));r&&(v*=k.view.scale);var x=c.x,J=c.y,y=c.width,ba=c.height,O=c.getCenterX();c=c.getCenterY();k=null!=k?mxUtils.getValue(k.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;k==mxConstants.DIRECTION_EAST? +c,t)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(c,k,t,m){var r="0"!=mxUtils.getValue(k.style,"fixedSize","0"),v=r?la.prototype.fixedSize:la.prototype.size;null!=k&&(v=mxUtils.getValue(k.style,"size",v));r&&(v*=k.view.scale);var x=c.x,J=c.y,y=c.width,ba=c.height,N=c.getCenterX();c=c.getCenterY();k=null!=k?mxUtils.getValue(k.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;k==mxConstants.DIRECTION_EAST? (r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(x+y-r,J),new mxPoint(x+y,c),new mxPoint(x+y-r,J+ba),new mxPoint(x,J+ba),new mxPoint(x+r,c),new mxPoint(x,J)]):k==mxConstants.DIRECTION_WEST?(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x+r,J),new mxPoint(x+y,J),new mxPoint(x+y-r,c),new mxPoint(x+y,J+ba),new mxPoint(x+r,J+ba),new mxPoint(x,c),new mxPoint(x+r,J)]):k==mxConstants.DIRECTION_NORTH?(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0, -Math.min(1,v)),J=[new mxPoint(x,J+r),new mxPoint(O,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba),new mxPoint(O,J+ba-r),new mxPoint(x,J+ba),new mxPoint(x,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(O,J+r),new mxPoint(x+y,J),new mxPoint(x+y,J+ba-r),new mxPoint(O,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J)]);O=new mxPoint(O,c);m&&(t.xx+y?O.y=t.y:O.x=t.x);return mxUtils.getPerimeterPoint(J,O,t)};mxStyleRegistry.putValue("stepPerimeter", -mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(c,k,t,m){var r="0"!=mxUtils.getValue(k.style,"fixedSize","0"),v=r?qa.prototype.fixedSize:qa.prototype.size;null!=k&&(v=mxUtils.getValue(k.style,"size",v));r&&(v*=k.view.scale);var x=c.x,J=c.y,y=c.width,ba=c.height,O=c.getCenterX();c=c.getCenterY();k=null!=k?mxUtils.getValue(k.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;k==mxConstants.DIRECTION_NORTH||k==mxConstants.DIRECTION_SOUTH?(r=r?Math.max(0, -Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(O,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba-r),new mxPoint(O,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J+r),new mxPoint(O,J)]):(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x+r,J),new mxPoint(x+y-r,J),new mxPoint(x+y,c),new mxPoint(x+y-r,J+ba),new mxPoint(x+r,J+ba),new mxPoint(x,c),new mxPoint(x+r,J)]);O=new mxPoint(O,c);m&&(t.xx+y?O.y=t.y:O.x=t.x);return mxUtils.getPerimeterPoint(J,O,t)};mxStyleRegistry.putValue("hexagonPerimeter2", +Math.min(1,v)),J=[new mxPoint(x,J+r),new mxPoint(N,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba),new mxPoint(N,J+ba-r),new mxPoint(x,J+ba),new mxPoint(x,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(N,J+r),new mxPoint(x+y,J),new mxPoint(x+y,J+ba-r),new mxPoint(N,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J)]);N=new mxPoint(N,c);m&&(t.xx+y?N.y=t.y:N.x=t.x);return mxUtils.getPerimeterPoint(J,N,t)};mxStyleRegistry.putValue("stepPerimeter", +mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(c,k,t,m){var r="0"!=mxUtils.getValue(k.style,"fixedSize","0"),v=r?qa.prototype.fixedSize:qa.prototype.size;null!=k&&(v=mxUtils.getValue(k.style,"size",v));r&&(v*=k.view.scale);var x=c.x,J=c.y,y=c.width,ba=c.height,N=c.getCenterX();c=c.getCenterY();k=null!=k?mxUtils.getValue(k.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;k==mxConstants.DIRECTION_NORTH||k==mxConstants.DIRECTION_SOUTH?(r=r?Math.max(0, +Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(N,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba-r),new mxPoint(N,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J+r),new mxPoint(N,J)]):(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x+r,J),new mxPoint(x+y-r,J),new mxPoint(x+y,c),new mxPoint(x+y-r,J+ba),new mxPoint(x+r,J+ba),new mxPoint(x,c),new mxPoint(x+r,J)]);N=new mxPoint(N,c);m&&(t.xx+y?N.y=t.y:N.x=t.x);return mxUtils.getPerimeterPoint(J,N,t)};mxStyleRegistry.putValue("hexagonPerimeter2", mxPerimeter.HexagonPerimeter2);mxUtils.extend(Ua,mxShape);Ua.prototype.size=10;Ua.prototype.paintBackground=function(c,k,t,m,r){var v=parseFloat(mxUtils.getValue(this.style,"size",this.size));c.translate(k,t);c.ellipse((m-v)/2,0,v,v);c.fillAndStroke();c.begin();c.moveTo(m/2,v);c.lineTo(m/2,r);c.end();c.stroke()};mxCellRenderer.registerShape("lollipop",Ua);mxUtils.extend(na,mxShape);na.prototype.size=10;na.prototype.inset=2;na.prototype.paintBackground=function(c,k,t,m,r){var v=parseFloat(mxUtils.getValue(this.style, "size",this.size)),x=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;c.translate(k,t);c.begin();c.moveTo(m/2,v+x);c.lineTo(m/2,r);c.end();c.stroke();c.begin();c.moveTo((m-v)/2-x,v/2);c.quadTo((m-v)/2-x,v+x,m/2,v+x);c.quadTo((m+v)/2+x,v+x,(m+v)/2+x,v/2);c.end();c.stroke()};mxCellRenderer.registerShape("requires",na);mxUtils.extend(Ia,mxShape);Ia.prototype.paintBackground=function(c,k,t,m,r){c.translate(k,t);c.begin();c.moveTo(0,0);c.quadTo(m,0,m,r/2);c.quadTo(m,r,0,r); c.end();c.stroke()};mxCellRenderer.registerShape("requiredInterface",Ia);mxUtils.extend(Ha,mxShape);Ha.prototype.inset=2;Ha.prototype.paintBackground=function(c,k,t,m,r){var v=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;c.translate(k,t);c.ellipse(0,v,m-2*v,r-2*v);c.fillAndStroke();c.begin();c.moveTo(m/2,0);c.quadTo(m,0,m,r/2);c.quadTo(m,r,m/2,r);c.end();c.stroke()};mxCellRenderer.registerShape("providedRequiredInterface",Ha);mxUtils.extend(Oa,mxCylinder);Oa.prototype.jettyWidth= @@ -3376,12 +3377,12 @@ Fa);mxUtils.extend(wa,mxActor);wa.prototype.size=.1;wa.prototype.fixedSize=20;wa mxUtils.extend(u,mxActor);u.prototype.redrawPath=function(c,k,t,m,r){c.moveTo(0,0);c.quadTo(m,0,m,r/2);c.quadTo(m,r,0,r);c.close();c.end()};mxCellRenderer.registerShape("or",u);mxUtils.extend(A,mxActor);A.prototype.redrawPath=function(c,k,t,m,r){c.moveTo(0,0);c.quadTo(m,0,m,r/2);c.quadTo(m,r,0,r);c.quadTo(m/2,r/2,0,0);c.close();c.end()};mxCellRenderer.registerShape("xor",A);mxUtils.extend(B,mxActor);B.prototype.size=20;B.prototype.isRoundable=function(){return!0};B.prototype.redrawPath=function(c, k,t,m,r){k=Math.min(m/2,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size))));t=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(k,0),new mxPoint(m-k,0),new mxPoint(m,.8*k),new mxPoint(m,r),new mxPoint(0,r),new mxPoint(0,.8*k)],this.isRounded,t,!0);c.end()};mxCellRenderer.registerShape("loopLimit",B);mxUtils.extend(E,mxActor);E.prototype.size=.375;E.prototype.isRoundable=function(){return!0};E.prototype.redrawPath=function(c, k,t,m,r){k=r*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));t=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,0),new mxPoint(m,0),new mxPoint(m,r-k),new mxPoint(m/2,r),new mxPoint(0,r-k)],this.isRounded,t,!0);c.end()};mxCellRenderer.registerShape("offPageConnector",E);mxUtils.extend(M,mxEllipse);M.prototype.paintVertexShape=function(c,k,t,m,r){mxEllipse.prototype.paintVertexShape.apply(this,arguments); -c.begin();c.moveTo(k+m/2,t+r);c.lineTo(k+m,t+r);c.end();c.stroke()};mxCellRenderer.registerShape("tapeData",M);mxUtils.extend(Q,mxEllipse);Q.prototype.paintVertexShape=function(c,k,t,m,r){mxEllipse.prototype.paintVertexShape.apply(this,arguments);c.setShadow(!1);c.begin();c.moveTo(k,t+r/2);c.lineTo(k+m,t+r/2);c.end();c.stroke();c.begin();c.moveTo(k+m/2,t);c.lineTo(k+m/2,t+r);c.end();c.stroke()};mxCellRenderer.registerShape("orEllipse",Q);mxUtils.extend(U,mxEllipse);U.prototype.paintVertexShape=function(c, +c.begin();c.moveTo(k+m/2,t+r);c.lineTo(k+m,t+r);c.end();c.stroke()};mxCellRenderer.registerShape("tapeData",M);mxUtils.extend(P,mxEllipse);P.prototype.paintVertexShape=function(c,k,t,m,r){mxEllipse.prototype.paintVertexShape.apply(this,arguments);c.setShadow(!1);c.begin();c.moveTo(k,t+r/2);c.lineTo(k+m,t+r/2);c.end();c.stroke();c.begin();c.moveTo(k+m/2,t);c.lineTo(k+m/2,t+r);c.end();c.stroke()};mxCellRenderer.registerShape("orEllipse",P);mxUtils.extend(U,mxEllipse);U.prototype.paintVertexShape=function(c, k,t,m,r){mxEllipse.prototype.paintVertexShape.apply(this,arguments);c.setShadow(!1);c.begin();c.moveTo(k+.145*m,t+.145*r);c.lineTo(k+.855*m,t+.855*r);c.end();c.stroke();c.begin();c.moveTo(k+.855*m,t+.145*r);c.lineTo(k+.145*m,t+.855*r);c.end();c.stroke()};mxCellRenderer.registerShape("sumEllipse",U);mxUtils.extend(ia,mxRhombus);ia.prototype.paintVertexShape=function(c,k,t,m,r){mxRhombus.prototype.paintVertexShape.apply(this,arguments);c.setShadow(!1);c.begin();c.moveTo(k,t+r/2);c.lineTo(k+m,t+r/2); c.end();c.stroke()};mxCellRenderer.registerShape("sortShape",ia);mxUtils.extend(ea,mxEllipse);ea.prototype.paintVertexShape=function(c,k,t,m,r){c.begin();c.moveTo(k,t);c.lineTo(k+m,t);c.lineTo(k+m/2,t+r/2);c.close();c.fillAndStroke();c.begin();c.moveTo(k,t+r);c.lineTo(k+m,t+r);c.lineTo(k+m/2,t+r/2);c.close();c.fillAndStroke()};mxCellRenderer.registerShape("collate",ea);mxUtils.extend(ha,mxEllipse);ha.prototype.paintVertexShape=function(c,k,t,m,r){var v=c.state.strokeWidth/2,x=10+2*v,J=t+r-x/2;c.begin(); c.moveTo(k,t);c.lineTo(k,t+r);c.moveTo(k+v,J);c.lineTo(k+v+x,J-x/2);c.moveTo(k+v,J);c.lineTo(k+v+x,J+x/2);c.moveTo(k+v,J);c.lineTo(k+m-v,J);c.moveTo(k+m,t);c.lineTo(k+m,t+r);c.moveTo(k+m-v,J);c.lineTo(k+m-x-v,J-x/2);c.moveTo(k+m-v,J);c.lineTo(k+m-x-v,J+x/2);c.end();c.stroke()};mxCellRenderer.registerShape("dimension",ha);mxUtils.extend(ta,mxEllipse);ta.prototype.drawHidden=!0;ta.prototype.paintVertexShape=function(c,k,t,m,r){this.outline||c.setStrokeColor(null);if(null!=this.style){var v=c.pointerEvents, -x=null!=this.fill&&this.fill!=mxConstants.NONE;"1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1")||x||(c.pointerEvents=!1);var J="1"==mxUtils.getValue(this.style,"top","1"),y="1"==mxUtils.getValue(this.style,"left","1"),ba="1"==mxUtils.getValue(this.style,"right","1"),O="1"==mxUtils.getValue(this.style,"bottom","1");this.drawHidden||x||this.outline||J||ba||O||y?(c.rect(k,t,m,r),c.fill(),c.pointerEvents=v,c.setStrokeColor(this.stroke),c.setLineCap("square"),c.begin(),c.moveTo(k, -t),this.outline||J?c.lineTo(k+m,t):c.moveTo(k+m,t),this.outline||ba?c.lineTo(k+m,t+r):c.moveTo(k+m,t+r),this.outline||O?c.lineTo(k,t+r):c.moveTo(k,t+r),(this.outline||y)&&c.lineTo(k,t),c.end(),c.stroke(),c.setLineCap("flat")):c.setStrokeColor(this.stroke)}};mxCellRenderer.registerShape("partialRectangle",ta);mxUtils.extend(Ja,mxEllipse);Ja.prototype.paintVertexShape=function(c,k,t,m,r){mxEllipse.prototype.paintVertexShape.apply(this,arguments);c.setShadow(!1);c.begin();"vertical"==mxUtils.getValue(this.style, +x=null!=this.fill&&this.fill!=mxConstants.NONE;"1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1")||x||(c.pointerEvents=!1);var J="1"==mxUtils.getValue(this.style,"top","1"),y="1"==mxUtils.getValue(this.style,"left","1"),ba="1"==mxUtils.getValue(this.style,"right","1"),N="1"==mxUtils.getValue(this.style,"bottom","1");this.drawHidden||x||this.outline||J||ba||N||y?(c.rect(k,t,m,r),c.fill(),c.pointerEvents=v,c.setStrokeColor(this.stroke),c.setLineCap("square"),c.begin(),c.moveTo(k, +t),this.outline||J?c.lineTo(k+m,t):c.moveTo(k+m,t),this.outline||ba?c.lineTo(k+m,t+r):c.moveTo(k+m,t+r),this.outline||N?c.lineTo(k,t+r):c.moveTo(k,t+r),(this.outline||y)&&c.lineTo(k,t),c.end(),c.stroke(),c.setLineCap("flat")):c.setStrokeColor(this.stroke)}};mxCellRenderer.registerShape("partialRectangle",ta);mxUtils.extend(Ja,mxEllipse);Ja.prototype.paintVertexShape=function(c,k,t,m,r){mxEllipse.prototype.paintVertexShape.apply(this,arguments);c.setShadow(!1);c.begin();"vertical"==mxUtils.getValue(this.style, "line")?(c.moveTo(k+m/2,t),c.lineTo(k+m/2,t+r)):(c.moveTo(k,t+r/2),c.lineTo(k+m,t+r/2));c.end();c.stroke()};mxCellRenderer.registerShape("lineEllipse",Ja);mxUtils.extend(Ka,mxActor);Ka.prototype.redrawPath=function(c,k,t,m,r){k=Math.min(m,r/2);c.moveTo(0,0);c.lineTo(m-k,0);c.quadTo(m,0,m,r/2);c.quadTo(m,r,m-k,r);c.lineTo(0,r);c.close();c.end()};mxCellRenderer.registerShape("delay",Ka);mxUtils.extend(va,mxActor);va.prototype.size=.2;va.prototype.redrawPath=function(c,k,t,m,r){k=Math.min(r,m);var v= Math.max(0,Math.min(k,k*parseFloat(mxUtils.getValue(this.style,"size",this.size))));k=(r-v)/2;t=k+v;var x=(m-v)/2;v=x+v;c.moveTo(0,k);c.lineTo(x,k);c.lineTo(x,0);c.lineTo(v,0);c.lineTo(v,k);c.lineTo(m,k);c.lineTo(m,t);c.lineTo(v,t);c.lineTo(v,r);c.lineTo(x,r);c.lineTo(x,t);c.lineTo(0,t);c.close();c.end()};mxCellRenderer.registerShape("cross",va);mxUtils.extend(Ba,mxActor);Ba.prototype.size=.25;Ba.prototype.redrawPath=function(c,k,t,m,r){k=Math.min(m,r/2);t=Math.min(m-k,Math.max(0,parseFloat(mxUtils.getValue(this.style, "size",this.size)))*m);c.moveTo(0,r/2);c.lineTo(t,0);c.lineTo(m-k,0);c.quadTo(m,0,m,r/2);c.quadTo(m,r,m-k,r);c.lineTo(t,r);c.close();c.end()};mxCellRenderer.registerShape("display",Ba);mxUtils.extend(ua,mxActor);ua.prototype.cst={RECT2:"mxgraph.basic.rect"};ua.prototype.customProperties=[{name:"rectStyle",dispName:"Style",type:"enum",defVal:"square",enumList:[{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold", @@ -3390,66 +3391,66 @@ type:"color",defVal:"none"},{name:"gradientDirection2",dispName:"Inside Gradient 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:"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"}]}];ua.prototype.paintVertexShape=function(c,k,t,m,r){c.translate(k,t);this.strictDrawShape(c,0,0,m,r)};ua.prototype.strictDrawShape=function(c,k,t,m,r,v){var x=v&&v.rectStyle?v.rectStyle:mxUtils.getValue(this.style,"rectStyle",this.rectStyle),J=v&&v.absoluteCornerSize?v.absoluteCornerSize:mxUtils.getValue(this.style,"absoluteCornerSize",this.absoluteCornerSize),y=v&&v.size?v.size:Math.max(0,Math.min(m, -parseFloat(mxUtils.getValue(this.style,"size",this.size)))),ba=v&&v.rectOutline?v.rectOutline:mxUtils.getValue(this.style,"rectOutline",this.rectOutline),O=v&&v.indent?v.indent:Math.max(0,Math.min(m,parseFloat(mxUtils.getValue(this.style,"indent",this.indent)))),Ga=v&&v.dashed?v.dashed:mxUtils.getValue(this.style,"dashed",!1),Wa=v&&v.dashPattern?v.dashPattern:mxUtils.getValue(this.style,"dashPattern",null),Qa=v&&v.relIndent?v.relIndent:Math.max(0,Math.min(50,O)),ma=v&&v.top?v.top:mxUtils.getValue(this.style, +parseFloat(mxUtils.getValue(this.style,"size",this.size)))),ba=v&&v.rectOutline?v.rectOutline:mxUtils.getValue(this.style,"rectOutline",this.rectOutline),N=v&&v.indent?v.indent:Math.max(0,Math.min(m,parseFloat(mxUtils.getValue(this.style,"indent",this.indent)))),Ga=v&&v.dashed?v.dashed:mxUtils.getValue(this.style,"dashed",!1),Wa=v&&v.dashPattern?v.dashPattern:mxUtils.getValue(this.style,"dashPattern",null),Qa=v&&v.relIndent?v.relIndent:Math.max(0,Math.min(50,N)),ma=v&&v.top?v.top:mxUtils.getValue(this.style, "top",!0),ra=v&&v.right?v.right:mxUtils.getValue(this.style,"right",!0),pa=v&&v.bottom?v.bottom:mxUtils.getValue(this.style,"bottom",!0),oa=v&&v.left?v.left:mxUtils.getValue(this.style,"left",!0),za=v&&v.topLeftStyle?v.topLeftStyle:mxUtils.getValue(this.style,"topLeftStyle","default"),Ca=v&&v.topRightStyle?v.topRightStyle:mxUtils.getValue(this.style,"topRightStyle","default"),Da=v&&v.bottomRightStyle?v.bottomRightStyle:mxUtils.getValue(this.style,"bottomRightStyle","default"),Ea=v&&v.bottomLeftStyle? v.bottomLeftStyle:mxUtils.getValue(this.style,"bottomLeftStyle","default"),Bb=v&&v.fillColor?v.fillColor:mxUtils.getValue(this.style,"fillColor","#ffffff");v&&v.strokeColor||mxUtils.getValue(this.style,"strokeColor","#000000");var Cb=v&&v.strokeWidth?v.strokeWidth:mxUtils.getValue(this.style,"strokeWidth","1"),yb=v&&v.fillColor2?v.fillColor2:mxUtils.getValue(this.style,"fillColor2","none"),Ab=v&&v.gradientColor2?v.gradientColor2:mxUtils.getValue(this.style,"gradientColor2","none"),Db=v&&v.gradientDirection2? -v.gradientDirection2:mxUtils.getValue(this.style,"gradientDirection2","south"),Eb=v&&v.opacity?v.opacity:mxUtils.getValue(this.style,"opacity","100"),Fb=Math.max(0,Math.min(50,y));v=ua.prototype;c.setDashed(Ga);Wa&&""!=Wa&&c.setDashPattern(Wa);c.setStrokeWidth(Cb);y=Math.min(.5*r,.5*m,y);J||(y=Fb*Math.min(m,r)/100);y=Math.min(y,.5*Math.min(m,r));J||(O=Math.min(Qa*Math.min(m,r)/100));O=Math.min(O,.5*Math.min(m,r)-y);(ma||ra||pa||oa)&&"frame"!=ba&&(c.begin(),ma?v.moveNW(c,k,t,m,r,x,za,y,oa):c.moveTo(0, -0),ma&&v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),ra&&v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),pa&&v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),oa&&v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),c.close(),c.fill(),c.setShadow(!1),c.setFillColor(yb),Ga=J=Eb,"none"==yb&&(J=0),"none"==Ab&&(Ga=0),c.setGradient(yb,Ab,0,0,m,r,Db,J,Ga),c.begin(),ma?v.moveNWInner(c,k,t,m,r,x,za,y,O,ma,oa):c.moveTo(O,0),v.paintLeftInner(c,k, -t,m,r,x,Ea,y,O,pa,oa),oa&&pa&&v.paintSWInner(c,k,t,m,r,x,Ea,y,O,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),pa&&ra&&v.paintSEInner(c,k,t,m,r,x,Da,y,O),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),ra&&ma&&v.paintNEInner(c,k,t,m,r,x,Ca,y,O),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),ma&&oa&&v.paintNWInner(c,k,t,m,r,x,za,y,O),c.fill(),"none"==Bb&&(c.begin(),v.paintFolds(c,k,t,m,r,x,za,Ca,Da,Ea,y,ma,ra,pa,oa),c.stroke()));ma||ra||pa||!oa?ma||ra||!pa||oa?!ma&&!ra&&pa&&oa?"frame"!=ba?(c.begin(),v.moveSE(c, -k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),"double"==ba&&(v.moveNWInner(c,k,t,m,r,x,za,y,O,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,O,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa)),c.stroke()):(c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.lineNWInner(c,k,t,m,r,x,za,y,O,ma,oa),v.paintLeftInner(c, -k,t,m,r,x,Ea,y,O,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,O,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),c.close(),c.fillAndStroke()):ma||!ra||pa||oa?!ma&&ra&&!pa&&oa?"frame"!=ba?(c.begin(),v.moveSW(c,k,t,m,r,x,za,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),"double"==ba&&(v.moveNWInner(c,k,t,m,r,x,za,y,O,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa)),c.stroke(),c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),"double"==ba&&(v.moveSEInner(c,k,t,m,r,x,Da,y,O,pa),v.paintRightInner(c, -k,t,m,r,x,Ca,y,O,ma,ra)),c.stroke()):(c.begin(),v.moveSW(c,k,t,m,r,x,za,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.lineNWInner(c,k,t,m,r,x,za,y,O,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),c.close(),c.fillAndStroke(),c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.lineSEInner(c,k,t,m,r,x,Da,y,O,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),c.close(),c.fillAndStroke()):!ma&&ra&&pa&&!oa?"frame"!=ba?(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x, -Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),"double"==ba&&(v.moveSWInner(c,k,t,m,r,x,Ea,y,O,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,O),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra)),c.stroke()):(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.lineSWInner(c,k,t,m,r,x,Ea,y,O,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),v.paintSEInner(c, -k,t,m,r,x,Da,y,O),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),c.close(),c.fillAndStroke()):!ma&&ra&&pa&&oa?"frame"!=ba?(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),"double"==ba&&(v.moveNWInner(c,k,t,m,r,x,za,y,O,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,O,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra, -pa),v.paintSEInner(c,k,t,m,r,x,Da,y,O),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra)),c.stroke()):(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.lineNWInner(c,k,t,m,r,x,za,y,O,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,O,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,O), -v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),c.close(),c.fillAndStroke()):!ma||ra||pa||oa?ma&&!ra&&!pa&&oa?"frame"!=ba?(c.begin(),v.moveSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),"double"==ba&&(v.moveNEInner(c,k,t,m,r,x,Ca,y,O,ra),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,O),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa)),c.stroke()):(c.begin(),v.moveSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m, -r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.lineNEInner(c,k,t,m,r,x,Ca,y,O,ra),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,O),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),c.close(),c.fillAndStroke()):ma&&!ra&&pa&&!oa?"frame"!=ba?(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),"double"==ba&&(v.moveNEInner(c,k,t,m,r,x,Ca,y,O,ra),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma)),c.stroke(),c.begin(),v.moveSE(c,k,t,m,r,x, -Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),"double"==ba&&(v.moveSWInner(c,k,t,m,r,x,Ea,y,O,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa)),c.stroke()):(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.lineNEInner(c,k,t,m,r,x,Ca,y,O,ra),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),c.close(),c.fillAndStroke(),c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.lineSWInner(c,k,t,m,r,x,Ea,y,O,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),c.close(), -c.fillAndStroke()):ma&&!ra&&pa&&oa?"frame"!=ba?(c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),"double"==ba&&(v.moveNEInner(c,k,t,m,r,x,Ca,y,O,ra),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,O),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,O,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra, -pa)),c.stroke()):(c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.lineNEInner(c,k,t,m,r,x,Ca,y,O,ra),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,O),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,O,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),c.close(),c.fillAndStroke()):ma&&ra&&!pa&& -!oa?"frame"!=ba?(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),"double"==ba&&(v.moveSEInner(c,k,t,m,r,x,Da,y,O,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,O),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma)),c.stroke()):(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.lineSEInner(c,k,t,m,r, -x,Da,y,O,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,O),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),c.close(),c.fillAndStroke()):ma&&ra&&!pa&&oa?"frame"!=ba?(c.begin(),v.moveSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),"double"==ba&&(v.moveSEInner(c,k,t,m,r,x,Da,y,O,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),v.paintNEInner(c, -k,t,m,r,x,Ca,y,O),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,O),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa)),c.stroke()):(c.begin(),v.moveSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.lineSEInner(c,k,t,m,r,x,Da,y,O,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,O),v.paintTopInner(c,k,t,m,r,x,za,y, -O,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,O),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),c.close(),c.fillAndStroke()):ma&&ra&&pa&&!oa?"frame"!=ba?(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),"double"==ba&&(v.moveSWInner(c,k,t,m,r,x,Ea,y,O,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,O),v.paintRightInner(c,k, -t,m,r,x,Ca,y,O,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,O),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma)),c.stroke()):(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.lineSWInner(c,k,t,m,r,x,Ea,y,O,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,O),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),v.paintNEInner(c,k,t,m,r, -x,Ca,y,O),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),c.close(),c.fillAndStroke()):ma&&ra&&pa&&oa&&("frame"!=ba?(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),c.close(),"double"==ba&&(v.moveSWInner(c,k,t,m,r,x,Ea,y,O,oa),v.paintSWInner(c,k,t,m,r,x,Ea, -y,O,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,O),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,O),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,O),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),c.close()),c.stroke()):(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x, -Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),c.close(),v.moveSWInner(c,k,t,m,r,x,Ea,y,O,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,O,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,O),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,O),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,O),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),c.close(),c.fillAndStroke())): -"frame"!=ba?(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),"double"==ba&&(v.moveNEInner(c,k,t,m,r,x,Ca,y,O,ra),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma)),c.stroke()):(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.lineNEInner(c,k,t,m,r,x,Ca,y,O,ra),v.paintTopInner(c,k,t,m,r,x,za,y,O,oa,ma),c.close(),c.fillAndStroke()):"frame"!=ba?(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),"double"==ba&&(v.moveSEInner(c,k,t,m,r,x, -Da,y,O,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra)),c.stroke()):(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.lineSEInner(c,k,t,m,r,x,Da,y,O,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,O,ma,ra),c.close(),c.fillAndStroke()):"frame"!=ba?(c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),"double"==ba&&(v.moveSWInner(c,k,t,m,r,x,Ea,y,O,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa)),c.stroke()):(c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c, -k,t,m,r,x,Ea,y,oa),v.lineSWInner(c,k,t,m,r,x,Ea,y,O,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,O,ra,pa),c.close(),c.fillAndStroke()):"frame"!=ba?(c.begin(),v.moveSW(c,k,t,m,r,x,za,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),"double"==ba&&(v.moveNWInner(c,k,t,m,r,x,za,y,O,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa)),c.stroke()):(c.begin(),v.moveSW(c,k,t,m,r,x,za,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.lineNWInner(c,k,t,m,r,x,za,y,O,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,O,pa,oa),c.close(),c.fillAndStroke()); +v.gradientDirection2:mxUtils.getValue(this.style,"gradientDirection2","south"),Eb=v&&v.opacity?v.opacity:mxUtils.getValue(this.style,"opacity","100"),Fb=Math.max(0,Math.min(50,y));v=ua.prototype;c.setDashed(Ga);Wa&&""!=Wa&&c.setDashPattern(Wa);c.setStrokeWidth(Cb);y=Math.min(.5*r,.5*m,y);J||(y=Fb*Math.min(m,r)/100);y=Math.min(y,.5*Math.min(m,r));J||(N=Math.min(Qa*Math.min(m,r)/100));N=Math.min(N,.5*Math.min(m,r)-y);(ma||ra||pa||oa)&&"frame"!=ba&&(c.begin(),ma?v.moveNW(c,k,t,m,r,x,za,y,oa):c.moveTo(0, +0),ma&&v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),ra&&v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),pa&&v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),oa&&v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),c.close(),c.fill(),c.setShadow(!1),c.setFillColor(yb),Ga=J=Eb,"none"==yb&&(J=0),"none"==Ab&&(Ga=0),c.setGradient(yb,Ab,0,0,m,r,Db,J,Ga),c.begin(),ma?v.moveNWInner(c,k,t,m,r,x,za,y,N,ma,oa):c.moveTo(N,0),v.paintLeftInner(c,k, +t,m,r,x,Ea,y,N,pa,oa),oa&&pa&&v.paintSWInner(c,k,t,m,r,x,Ea,y,N,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),pa&&ra&&v.paintSEInner(c,k,t,m,r,x,Da,y,N),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),ra&&ma&&v.paintNEInner(c,k,t,m,r,x,Ca,y,N),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),ma&&oa&&v.paintNWInner(c,k,t,m,r,x,za,y,N),c.fill(),"none"==Bb&&(c.begin(),v.paintFolds(c,k,t,m,r,x,za,Ca,Da,Ea,y,ma,ra,pa,oa),c.stroke()));ma||ra||pa||!oa?ma||ra||!pa||oa?!ma&&!ra&&pa&&oa?"frame"!=ba?(c.begin(),v.moveSE(c, +k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),"double"==ba&&(v.moveNWInner(c,k,t,m,r,x,za,y,N,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,N,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa)),c.stroke()):(c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.lineNWInner(c,k,t,m,r,x,za,y,N,ma,oa),v.paintLeftInner(c, +k,t,m,r,x,Ea,y,N,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,N,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),c.close(),c.fillAndStroke()):ma||!ra||pa||oa?!ma&&ra&&!pa&&oa?"frame"!=ba?(c.begin(),v.moveSW(c,k,t,m,r,x,za,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),"double"==ba&&(v.moveNWInner(c,k,t,m,r,x,za,y,N,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa)),c.stroke(),c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),"double"==ba&&(v.moveSEInner(c,k,t,m,r,x,Da,y,N,pa),v.paintRightInner(c, +k,t,m,r,x,Ca,y,N,ma,ra)),c.stroke()):(c.begin(),v.moveSW(c,k,t,m,r,x,za,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.lineNWInner(c,k,t,m,r,x,za,y,N,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),c.close(),c.fillAndStroke(),c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.lineSEInner(c,k,t,m,r,x,Da,y,N,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),c.close(),c.fillAndStroke()):!ma&&ra&&pa&&!oa?"frame"!=ba?(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x, +Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),"double"==ba&&(v.moveSWInner(c,k,t,m,r,x,Ea,y,N,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,N),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra)),c.stroke()):(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.lineSWInner(c,k,t,m,r,x,Ea,y,N,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),v.paintSEInner(c, +k,t,m,r,x,Da,y,N),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),c.close(),c.fillAndStroke()):!ma&&ra&&pa&&oa?"frame"!=ba?(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),"double"==ba&&(v.moveNWInner(c,k,t,m,r,x,za,y,N,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,N,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra, +pa),v.paintSEInner(c,k,t,m,r,x,Da,y,N),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra)),c.stroke()):(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.lineNWInner(c,k,t,m,r,x,za,y,N,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,N,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,N), +v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),c.close(),c.fillAndStroke()):!ma||ra||pa||oa?ma&&!ra&&!pa&&oa?"frame"!=ba?(c.begin(),v.moveSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),"double"==ba&&(v.moveNEInner(c,k,t,m,r,x,Ca,y,N,ra),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,N),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa)),c.stroke()):(c.begin(),v.moveSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m, +r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.lineNEInner(c,k,t,m,r,x,Ca,y,N,ra),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,N),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),c.close(),c.fillAndStroke()):ma&&!ra&&pa&&!oa?"frame"!=ba?(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),"double"==ba&&(v.moveNEInner(c,k,t,m,r,x,Ca,y,N,ra),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma)),c.stroke(),c.begin(),v.moveSE(c,k,t,m,r,x, +Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),"double"==ba&&(v.moveSWInner(c,k,t,m,r,x,Ea,y,N,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa)),c.stroke()):(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.lineNEInner(c,k,t,m,r,x,Ca,y,N,ra),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),c.close(),c.fillAndStroke(),c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.lineSWInner(c,k,t,m,r,x,Ea,y,N,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),c.close(), +c.fillAndStroke()):ma&&!ra&&pa&&oa?"frame"!=ba?(c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),"double"==ba&&(v.moveNEInner(c,k,t,m,r,x,Ca,y,N,ra),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,N),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,N,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra, +pa)),c.stroke()):(c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.lineNEInner(c,k,t,m,r,x,Ca,y,N,ra),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,N),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,N,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),c.close(),c.fillAndStroke()):ma&&ra&&!pa&& +!oa?"frame"!=ba?(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),"double"==ba&&(v.moveSEInner(c,k,t,m,r,x,Da,y,N,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,N),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma)),c.stroke()):(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.lineSEInner(c,k,t,m,r, +x,Da,y,N,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,N),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),c.close(),c.fillAndStroke()):ma&&ra&&!pa&&oa?"frame"!=ba?(c.begin(),v.moveSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),"double"==ba&&(v.moveSEInner(c,k,t,m,r,x,Da,y,N,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),v.paintNEInner(c, +k,t,m,r,x,Ca,y,N),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,N),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa)),c.stroke()):(c.begin(),v.moveSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.lineSEInner(c,k,t,m,r,x,Da,y,N,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,N),v.paintTopInner(c,k,t,m,r,x,za,y, +N,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,N),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),c.close(),c.fillAndStroke()):ma&&ra&&pa&&!oa?"frame"!=ba?(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),"double"==ba&&(v.moveSWInner(c,k,t,m,r,x,Ea,y,N,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,N),v.paintRightInner(c,k, +t,m,r,x,Ca,y,N,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,N),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma)),c.stroke()):(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.lineSWInner(c,k,t,m,r,x,Ea,y,N,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,N),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),v.paintNEInner(c,k,t,m,r, +x,Ca,y,N),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),c.close(),c.fillAndStroke()):ma&&ra&&pa&&oa&&("frame"!=ba?(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),c.close(),"double"==ba&&(v.moveSWInner(c,k,t,m,r,x,Ea,y,N,oa),v.paintSWInner(c,k,t,m,r,x,Ea, +y,N,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,N),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,N),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,N),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),c.close()),c.stroke()):(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.paintNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.paintSE(c,k,t,m,r,x, +Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),v.paintSW(c,k,t,m,r,x,Ea,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),c.close(),v.moveSWInner(c,k,t,m,r,x,Ea,y,N,oa),v.paintSWInner(c,k,t,m,r,x,Ea,y,N,pa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),v.paintSEInner(c,k,t,m,r,x,Da,y,N),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),v.paintNEInner(c,k,t,m,r,x,Ca,y,N),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),v.paintNWInner(c,k,t,m,r,x,za,y,N),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),c.close(),c.fillAndStroke())): +"frame"!=ba?(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),"double"==ba&&(v.moveNEInner(c,k,t,m,r,x,Ca,y,N,ra),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma)),c.stroke()):(c.begin(),v.moveNW(c,k,t,m,r,x,za,y,oa),v.paintTop(c,k,t,m,r,x,Ca,y,ra),v.lineNEInner(c,k,t,m,r,x,Ca,y,N,ra),v.paintTopInner(c,k,t,m,r,x,za,y,N,oa,ma),c.close(),c.fillAndStroke()):"frame"!=ba?(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),"double"==ba&&(v.moveSEInner(c,k,t,m,r,x, +Da,y,N,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra)),c.stroke()):(c.begin(),v.moveNE(c,k,t,m,r,x,Ca,y,ma),v.paintRight(c,k,t,m,r,x,Da,y,pa),v.lineSEInner(c,k,t,m,r,x,Da,y,N,pa),v.paintRightInner(c,k,t,m,r,x,Ca,y,N,ma,ra),c.close(),c.fillAndStroke()):"frame"!=ba?(c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c,k,t,m,r,x,Ea,y,oa),"double"==ba&&(v.moveSWInner(c,k,t,m,r,x,Ea,y,N,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa)),c.stroke()):(c.begin(),v.moveSE(c,k,t,m,r,x,Da,y,ra),v.paintBottom(c, +k,t,m,r,x,Ea,y,oa),v.lineSWInner(c,k,t,m,r,x,Ea,y,N,oa),v.paintBottomInner(c,k,t,m,r,x,Da,y,N,ra,pa),c.close(),c.fillAndStroke()):"frame"!=ba?(c.begin(),v.moveSW(c,k,t,m,r,x,za,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),"double"==ba&&(v.moveNWInner(c,k,t,m,r,x,za,y,N,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa)),c.stroke()):(c.begin(),v.moveSW(c,k,t,m,r,x,za,y,pa),v.paintLeft(c,k,t,m,r,x,za,y,ma),v.lineNWInner(c,k,t,m,r,x,za,y,N,ma,oa),v.paintLeftInner(c,k,t,m,r,x,Ea,y,N,pa,oa),c.close(),c.fillAndStroke()); c.begin();v.paintFolds(c,k,t,m,r,x,za,Ca,Da,Ea,y,ma,ra,pa,oa);c.stroke()};ua.prototype.moveNW=function(c,k,t,m,r,v,x,J,y){"square"==x||"default"==x&&"square"==v||!y?c.moveTo(0,0):c.moveTo(0,J)};ua.prototype.moveNE=function(c,k,t,m,r,v,x,J,y){"square"==x||"default"==x&&"square"==v||!y?c.moveTo(m,0):c.moveTo(m-J,0)};ua.prototype.moveSE=function(c,k,t,m,r,v,x,J,y){"square"==x||"default"==x&&"square"==v||!y?c.moveTo(m,r):c.moveTo(m,r-J)};ua.prototype.moveSW=function(c,k,t,m,r,v,x,J,y){"square"==x||"default"== x&&"square"==v||!y?c.moveTo(0,r):c.moveTo(J,r)};ua.prototype.paintNW=function(c,k,t,m,r,v,x,J,y){if(y)if("rounded"==x||"default"==x&&"rounded"==v||"invRound"==x||"default"==x&&"invRound"==v){k=0;if("rounded"==x||"default"==x&&"rounded"==v)k=1;c.arcTo(J,J,0,0,k,J,0)}else("snip"==x||"default"==x&&"snip"==v||"fold"==x||"default"==x&&"fold"==v)&&c.lineTo(J,0);else c.lineTo(0,0)};ua.prototype.paintTop=function(c,k,t,m,r,v,x,J,y){"square"==x||"default"==x&&"square"==v||!y?c.lineTo(m,0):c.lineTo(m-J,0)}; ua.prototype.paintNE=function(c,k,t,m,r,v,x,J,y){if(y)if("rounded"==x||"default"==x&&"rounded"==v||"invRound"==x||"default"==x&&"invRound"==v){k=0;if("rounded"==x||"default"==x&&"rounded"==v)k=1;c.arcTo(J,J,0,0,k,m,J)}else("snip"==x||"default"==x&&"snip"==v||"fold"==x||"default"==x&&"fold"==v)&&c.lineTo(m,J);else c.lineTo(m,0)};ua.prototype.paintRight=function(c,k,t,m,r,v,x,J,y){"square"==x||"default"==x&&"square"==v||!y?c.lineTo(m,r):c.lineTo(m,r-J)};ua.prototype.paintLeft=function(c,k,t,m,r,v,x, J,y){"square"==x||"default"==x&&"square"==v||!y?c.lineTo(0,0):c.lineTo(0,J)};ua.prototype.paintSE=function(c,k,t,m,r,v,x,J,y){if(y)if("rounded"==x||"default"==x&&"rounded"==v||"invRound"==x||"default"==x&&"invRound"==v){k=0;if("rounded"==x||"default"==x&&"rounded"==v)k=1;c.arcTo(J,J,0,0,k,m-J,r)}else("snip"==x||"default"==x&&"snip"==v||"fold"==x||"default"==x&&"fold"==v)&&c.lineTo(m-J,r);else c.lineTo(m,r)};ua.prototype.paintBottom=function(c,k,t,m,r,v,x,J,y){"square"==x||"default"==x&&"square"== v||!y?c.lineTo(0,r):c.lineTo(J,r)};ua.prototype.paintSW=function(c,k,t,m,r,v,x,J,y){if(y)if("rounded"==x||"default"==x&&"rounded"==v||"invRound"==x||"default"==x&&"invRound"==v){k=0;if("rounded"==x||"default"==x&&"rounded"==v)k=1;c.arcTo(J,J,0,0,k,0,r-J)}else("snip"==x||"default"==x&&"snip"==v||"fold"==x||"default"==x&&"fold"==v)&&c.lineTo(0,r-J);else c.lineTo(0,r)};ua.prototype.paintNWInner=function(c,k,t,m,r,v,x,J,y){if("rounded"==x||"default"==x&&"rounded"==v)c.arcTo(J-.5*y,J-.5*y,0,0,0,y,.5*y+ -J);else if("invRound"==x||"default"==x&&"invRound"==v)c.arcTo(J+y,J+y,0,0,1,y,y+J);else if("snip"==x||"default"==x&&"snip"==v)c.lineTo(y,.5*y+J);else if("fold"==x||"default"==x&&"fold"==v)c.lineTo(y+J,y+J),c.lineTo(y,y+J)};ua.prototype.paintTopInner=function(c,k,t,m,r,v,x,J,y,ba,O){ba||O?!ba&&O?c.lineTo(0,y):ba&&!O?c.lineTo(y,0):ba?"square"==x||"default"==x&&"square"==v?c.lineTo(y,y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(J+.5*y,y):c.lineTo(J+y,y):c.lineTo(0, -y):c.lineTo(0,0)};ua.prototype.paintNEInner=function(c,k,t,m,r,v,x,J,y){if("rounded"==x||"default"==x&&"rounded"==v)c.arcTo(J-.5*y,J-.5*y,0,0,0,m-J-.5*y,y);else if("invRound"==x||"default"==x&&"invRound"==v)c.arcTo(J+y,J+y,0,0,1,m-J-y,y);else if("snip"==x||"default"==x&&"snip"==v)c.lineTo(m-J-.5*y,y);else if("fold"==x||"default"==x&&"fold"==v)c.lineTo(m-J-y,J+y),c.lineTo(m-J-y,y)};ua.prototype.paintRightInner=function(c,k,t,m,r,v,x,J,y,ba,O){ba||O?!ba&&O?c.lineTo(m-y,0):ba&&!O?c.lineTo(m,y):ba?"square"== -x||"default"==x&&"square"==v?c.lineTo(m-y,y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(m-y,J+.5*y):c.lineTo(m-y,J+y):c.lineTo(m-y,0):c.lineTo(m,0)};ua.prototype.paintLeftInner=function(c,k,t,m,r,v,x,J,y,ba,O){ba||O?!ba&&O?c.lineTo(y,r):ba&&!O?c.lineTo(0,r-y):ba?"square"==x||"default"==x&&"square"==v?c.lineTo(y,r-y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(y,r-J-.5*y):c.lineTo(y,r-J-y):c.lineTo(y,r):c.lineTo(0, -r)};ua.prototype.paintSEInner=function(c,k,t,m,r,v,x,J,y){if("rounded"==x||"default"==x&&"rounded"==v)c.arcTo(J-.5*y,J-.5*y,0,0,0,m-y,r-J-.5*y);else if("invRound"==x||"default"==x&&"invRound"==v)c.arcTo(J+y,J+y,0,0,1,m-y,r-J-y);else if("snip"==x||"default"==x&&"snip"==v)c.lineTo(m-y,r-J-.5*y);else if("fold"==x||"default"==x&&"fold"==v)c.lineTo(m-J-y,r-J-y),c.lineTo(m-y,r-J-y)};ua.prototype.paintBottomInner=function(c,k,t,m,r,v,x,J,y,ba,O){ba||O?!ba&&O?c.lineTo(m,r-y):ba&&!O?c.lineTo(m-y,r):"square"== +J);else if("invRound"==x||"default"==x&&"invRound"==v)c.arcTo(J+y,J+y,0,0,1,y,y+J);else if("snip"==x||"default"==x&&"snip"==v)c.lineTo(y,.5*y+J);else if("fold"==x||"default"==x&&"fold"==v)c.lineTo(y+J,y+J),c.lineTo(y,y+J)};ua.prototype.paintTopInner=function(c,k,t,m,r,v,x,J,y,ba,N){ba||N?!ba&&N?c.lineTo(0,y):ba&&!N?c.lineTo(y,0):ba?"square"==x||"default"==x&&"square"==v?c.lineTo(y,y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(J+.5*y,y):c.lineTo(J+y,y):c.lineTo(0, +y):c.lineTo(0,0)};ua.prototype.paintNEInner=function(c,k,t,m,r,v,x,J,y){if("rounded"==x||"default"==x&&"rounded"==v)c.arcTo(J-.5*y,J-.5*y,0,0,0,m-J-.5*y,y);else if("invRound"==x||"default"==x&&"invRound"==v)c.arcTo(J+y,J+y,0,0,1,m-J-y,y);else if("snip"==x||"default"==x&&"snip"==v)c.lineTo(m-J-.5*y,y);else if("fold"==x||"default"==x&&"fold"==v)c.lineTo(m-J-y,J+y),c.lineTo(m-J-y,y)};ua.prototype.paintRightInner=function(c,k,t,m,r,v,x,J,y,ba,N){ba||N?!ba&&N?c.lineTo(m-y,0):ba&&!N?c.lineTo(m,y):ba?"square"== +x||"default"==x&&"square"==v?c.lineTo(m-y,y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(m-y,J+.5*y):c.lineTo(m-y,J+y):c.lineTo(m-y,0):c.lineTo(m,0)};ua.prototype.paintLeftInner=function(c,k,t,m,r,v,x,J,y,ba,N){ba||N?!ba&&N?c.lineTo(y,r):ba&&!N?c.lineTo(0,r-y):ba?"square"==x||"default"==x&&"square"==v?c.lineTo(y,r-y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(y,r-J-.5*y):c.lineTo(y,r-J-y):c.lineTo(y,r):c.lineTo(0, +r)};ua.prototype.paintSEInner=function(c,k,t,m,r,v,x,J,y){if("rounded"==x||"default"==x&&"rounded"==v)c.arcTo(J-.5*y,J-.5*y,0,0,0,m-y,r-J-.5*y);else if("invRound"==x||"default"==x&&"invRound"==v)c.arcTo(J+y,J+y,0,0,1,m-y,r-J-y);else if("snip"==x||"default"==x&&"snip"==v)c.lineTo(m-y,r-J-.5*y);else if("fold"==x||"default"==x&&"fold"==v)c.lineTo(m-J-y,r-J-y),c.lineTo(m-y,r-J-y)};ua.prototype.paintBottomInner=function(c,k,t,m,r,v,x,J,y,ba,N){ba||N?!ba&&N?c.lineTo(m,r-y):ba&&!N?c.lineTo(m-y,r):"square"== x||"default"==x&&"square"==v||!ba?c.lineTo(m-y,r-y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(m-J-.5*y,r-y):c.lineTo(m-J-y,r-y):c.lineTo(m,r)};ua.prototype.paintSWInner=function(c,k,t,m,r,v,x,J,y,ba){if(!ba)c.lineTo(y,r);else if("square"==x||"default"==x&&"square"==v)c.lineTo(y,r-y);else if("rounded"==x||"default"==x&&"rounded"==v)c.arcTo(J-.5*y,J-.5*y,0,0,0,J+.5*y,r-y);else if("invRound"==x||"default"==x&&"invRound"==v)c.arcTo(J+y,J+y,0,0,1,J+y,r-y);else if("snip"== x||"default"==x&&"snip"==v)c.lineTo(J+.5*y,r-y);else if("fold"==x||"default"==x&&"fold"==v)c.lineTo(y+J,r-J-y),c.lineTo(y+J,r-y)};ua.prototype.moveSWInner=function(c,k,t,m,r,v,x,J,y,ba){ba?"square"==x||"default"==x&&"square"==v?c.moveTo(y,r-y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.moveTo(y,r-J-.5*y):("invRound"==x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.moveTo(y,r-J-y):c.moveTo(0,r-y)};ua.prototype.lineSWInner=function(c,k,t,m, r,v,x,J,y,ba){ba?"square"==x||"default"==x&&"square"==v?c.lineTo(y,r-y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(y,r-J-.5*y):("invRound"==x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.lineTo(y,r-J-y):c.lineTo(0,r-y)};ua.prototype.moveSEInner=function(c,k,t,m,r,v,x,J,y,ba){ba?"square"==x||"default"==x&&"square"==v?c.moveTo(m-y,r-y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.moveTo(m-y,r-J-.5*y): ("invRound"==x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.moveTo(m-y,r-J-y):c.moveTo(m-y,r)};ua.prototype.lineSEInner=function(c,k,t,m,r,v,x,J,y,ba){ba?"square"==x||"default"==x&&"square"==v?c.lineTo(m-y,r-y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(m-y,r-J-.5*y):("invRound"==x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.lineTo(m-y,r-J-y):c.lineTo(m-y,r)};ua.prototype.moveNEInner=function(c,k,t,m,r,v,x, J,y,ba){ba?"square"==x||"default"==x&&"square"==v||ba?c.moveTo(m-y,y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.moveTo(m-y,J+.5*y):("invRound"==x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.moveTo(m-y,J+y):c.moveTo(m,y)};ua.prototype.lineNEInner=function(c,k,t,m,r,v,x,J,y,ba){ba?"square"==x||"default"==x&&"square"==v||ba?c.lineTo(m-y,y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(m-y,J+.5*y):("invRound"== -x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.lineTo(m-y,J+y):c.lineTo(m,y)};ua.prototype.moveNWInner=function(c,k,t,m,r,v,x,J,y,ba,O){ba||O?!ba&&O?c.moveTo(y,0):ba&&!O?c.moveTo(0,y):"square"==x||"default"==x&&"square"==v?c.moveTo(y,y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.moveTo(y,J+.5*y):("invRound"==x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.moveTo(y,J+y):c.moveTo(0,0)};ua.prototype.lineNWInner=function(c, -k,t,m,r,v,x,J,y,ba,O){ba||O?!ba&&O?c.lineTo(y,0):ba&&!O?c.lineTo(0,y):"square"==x||"default"==x&&"square"==v?c.lineTo(y,y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(y,J+.5*y):("invRound"==x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.lineTo(y,J+y):c.lineTo(0,0)};ua.prototype.paintFolds=function(c,k,t,m,r,v,x,J,y,ba,O,Ga,Wa,Qa,ma){if("fold"==v||"fold"==x||"fold"==J||"fold"==y||"fold"==ba)("fold"==x||"default"==x&&"fold"==v)&&Ga&& -ma&&(c.moveTo(0,O),c.lineTo(O,O),c.lineTo(O,0)),("fold"==J||"default"==J&&"fold"==v)&&Ga&&Wa&&(c.moveTo(m-O,0),c.lineTo(m-O,O),c.lineTo(m,O)),("fold"==y||"default"==y&&"fold"==v)&&Qa&&Wa&&(c.moveTo(m-O,r),c.lineTo(m-O,r-O),c.lineTo(m,r-O)),("fold"==ba||"default"==ba&&"fold"==v)&&Qa&&ma&&(c.moveTo(0,r-O),c.lineTo(O,r-O),c.lineTo(O,r))};mxCellRenderer.registerShape(ua.prototype.cst.RECT2,ua);ua.prototype.constraints=null;mxUtils.extend(ya,mxConnector);ya.prototype.origPaintEdgeShape=ya.prototype.paintEdgeShape; +x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.lineTo(m-y,J+y):c.lineTo(m,y)};ua.prototype.moveNWInner=function(c,k,t,m,r,v,x,J,y,ba,N){ba||N?!ba&&N?c.moveTo(y,0):ba&&!N?c.moveTo(0,y):"square"==x||"default"==x&&"square"==v?c.moveTo(y,y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.moveTo(y,J+.5*y):("invRound"==x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.moveTo(y,J+y):c.moveTo(0,0)};ua.prototype.lineNWInner=function(c, +k,t,m,r,v,x,J,y,ba,N){ba||N?!ba&&N?c.lineTo(y,0):ba&&!N?c.lineTo(0,y):"square"==x||"default"==x&&"square"==v?c.lineTo(y,y):"rounded"==x||"default"==x&&"rounded"==v||"snip"==x||"default"==x&&"snip"==v?c.lineTo(y,J+.5*y):("invRound"==x||"default"==x&&"invRound"==v||"fold"==x||"default"==x&&"fold"==v)&&c.lineTo(y,J+y):c.lineTo(0,0)};ua.prototype.paintFolds=function(c,k,t,m,r,v,x,J,y,ba,N,Ga,Wa,Qa,ma){if("fold"==v||"fold"==x||"fold"==J||"fold"==y||"fold"==ba)("fold"==x||"default"==x&&"fold"==v)&&Ga&& +ma&&(c.moveTo(0,N),c.lineTo(N,N),c.lineTo(N,0)),("fold"==J||"default"==J&&"fold"==v)&&Ga&&Wa&&(c.moveTo(m-N,0),c.lineTo(m-N,N),c.lineTo(m,N)),("fold"==y||"default"==y&&"fold"==v)&&Qa&&Wa&&(c.moveTo(m-N,r),c.lineTo(m-N,r-N),c.lineTo(m,r-N)),("fold"==ba||"default"==ba&&"fold"==v)&&Qa&&ma&&(c.moveTo(0,r-N),c.lineTo(N,r-N),c.lineTo(N,r))};mxCellRenderer.registerShape(ua.prototype.cst.RECT2,ua);ua.prototype.constraints=null;mxUtils.extend(ya,mxConnector);ya.prototype.origPaintEdgeShape=ya.prototype.paintEdgeShape; ya.prototype.paintEdgeShape=function(c,k,t){for(var m=[],r=0;r=2*m&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1, 0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0), new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];ta.prototype.constraints=mxRectangleShape.prototype.constraints; -mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;P.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;l.prototype.getConstraints=function(c,k,t){c=[];var m=Math.max(0,Math.min(k,Math.min(t,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, +mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;O.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;l.prototype.getConstraints=function(c,k,t){c=[];var m=Math.max(0,Math.min(k,Math.min(t,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*(k-m),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k-m,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k-.5*m,.5*m));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k,m));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k,.5*(t+m)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, .5),!1));k>=2*m&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};K.prototype.getConstraints=function(c,k,t){c=[];var m=Math.max(0,Math.min(k,Math.min(t,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(k+m),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*m,.5*m));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,0,m));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(t+m)));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));k>=2*m&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};f.prototype.getConstraints=function(c,k,t){c=[];var m=Math.max(0,Math.min(k,Math.min(t,parseFloat(mxUtils.getValue(this.style, @@ -3505,7 +3506,7 @@ mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwim function(c,k,t){c=[];var m=Math.max(0,Math.min(k,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),r=Math.max(0,Math.min(t,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(c.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*m,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,0)),c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,m,r)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(k+m),r))):(c.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k-.5*m,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k-m,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k-m,r)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(k-m),r)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k,r));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,k,.25*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k,.5*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k,.75*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,.75*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t));c.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return c};cb.prototype.constraints=mxRectangleShape.prototype.constraints;wa.prototype.constraints=mxRectangleShape.prototype.constraints;M.prototype.constraints=mxEllipse.prototype.constraints;Q.prototype.constraints=mxEllipse.prototype.constraints; +0),!1,null,0,.75*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t));c.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return c};cb.prototype.constraints=mxRectangleShape.prototype.constraints;wa.prototype.constraints=mxRectangleShape.prototype.constraints;M.prototype.constraints=mxEllipse.prototype.constraints;P.prototype.constraints=mxEllipse.prototype.constraints; U.prototype.constraints=mxEllipse.prototype.constraints;Ja.prototype.constraints=mxEllipse.prototype.constraints;gb.prototype.constraints=mxRectangleShape.prototype.constraints;Ka.prototype.constraints=mxRectangleShape.prototype.constraints;Ba.prototype.getConstraints=function(c,k,t){c=[];var m=Math.min(k,t/2),r=Math.min(k-m,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*k);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(r+k-m),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k-m,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k-m,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(r+k-m),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));return c};Oa.prototype.getConstraints=function(c,k,t){k=parseFloat(mxUtils.getValue(c, "jettyWidth",Oa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",Oa.prototype.jettyHeight));var m=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,k),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, @@ -3521,7 +3522,7 @@ U.prototype.constraints=mxEllipse.prototype.constraints;Ja.prototype.constraints 0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1, .5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375, 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55, -.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];H.prototype.constraints=mxRectangleShape.prototype.constraints;Z.prototype.constraints=mxRectangleShape.prototype.constraints;N.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, +.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];H.prototype.constraints=mxRectangleShape.prototype.constraints;Z.prototype.constraints=mxRectangleShape.prototype.constraints;Q.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, 0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;fb.prototype.getConstraints=function(c,k,t){c=[];var m=Math.max(0,Math.min(k,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),r=Math.max(0,Math.min(t,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,k,.5*r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,k,r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*k+.25*m,r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(k+m),r));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*(k+m),.5*(t+r)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(k+m),t));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(k-m),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(k-m),.5*(t+r)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(k-m),r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*k-.25*m,r));c.push(new mxConnectionConstraint(new mxPoint(0, @@ -3594,9 +3595,9 @@ l.index)});this.addAction("clearAnchors",function(){var l=d.getSelectionCells(); function(){var l=d.getSelectionCells();if(null!=l){l=d.getEditableCells(d.addAllEdges(l));d.getModel().beginUpdate();try{for(var p=0;p"];for(var N=0;N");for(var H=0;H
");K.push("")}K.push("");G=K.join("");I.call(F,G);G=F.cellEditor.textarea.getElementsByTagName("table");if(G.length==C.length+1)for(I=G.length-1;0<=I;I--)if(0==I||G[I]!=C[I-1]){F.selectNode(G[I].rows[0].cells[0]);break}}});var d=this.editorUi.editor.graph,h=null,n=null;null==e&&(a.div.className+=" geToolbarMenu", +C=[];for(var I=0;I"];for(var Q=0;Q");for(var H=0;H
");K.push("")}K.push("");G=K.join("");I.call(F,G);G=F.cellEditor.textarea.getElementsByTagName("table");if(G.length==C.length+1)for(I=G.length-1;0<=I;I--)if(0==I||G[I]!=C[I-1]){F.selectNode(G[I].rows[0].cells[0]);break}}});var d=this.editorUi.editor.graph,h=null,n=null;null==e&&(a.div.className+=" geToolbarMenu", a.labels=!1);a=a.addItem("",null,null,e,null,null,null,!0);a.firstChild.style.fontSize=Menus.prototype.defaultFontSize+"px";e=a.getElementsByTagName("td");1MAX_AREA||0>=C.value?"red":"";G.style.backgroundColor=C.value*G.value>MAX_AREA||0>=G.value?"red":""}var f=a.editor.graph,g=f.getGraphBounds(),d=f.view.scale,h=Math.ceil(g.width/ +"disabled");"png"===w.value||"jpg"===w.value||"pdf"===w.value?Q.removeAttribute("disabled"):Q.setAttribute("disabled","disabled");"png"===w.value?(D.removeAttribute("disabled"),F.removeAttribute("disabled")):(D.setAttribute("disabled","disabled"),F.setAttribute("disabled","disabled"))}function e(){C.style.backgroundColor=C.value*G.value>MAX_AREA||0>=C.value?"red":"";G.style.backgroundColor=C.value*G.value>MAX_AREA||0>=G.value?"red":""}var f=a.editor.graph,g=f.getGraphBounds(),d=f.view.scale,h=Math.ceil(g.width/ d),n=Math.ceil(g.height/d);d=document.createElement("table");var q=document.createElement("tbody");d.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");g=document.createElement("tr");var l=document.createElement("td");l.style.fontSize="10pt";l.style.width="100px";mxUtils.write(l,mxResources.get("filename")+":");g.appendChild(l);var p=document.createElement("input");p.setAttribute("value",a.editor.getOrCreateFilename());p.style.width="180px";l=document.createElement("td");l.appendChild(p);g.appendChild(l); q.appendChild(g);g=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("format")+":");g.appendChild(l);var w=document.createElement("select");w.style.width="180px";l=document.createElement("option");l.setAttribute("value","png");mxUtils.write(l,mxResources.get("formatPng"));w.appendChild(l);l=document.createElement("option");ExportDialog.showGifOption&&(l.setAttribute("value","gif"),mxUtils.write(l,mxResources.get("formatGif")),w.appendChild(l)); l=document.createElement("option");l.setAttribute("value","jpg");mxUtils.write(l,mxResources.get("formatJpg"));w.appendChild(l);l=document.createElement("option");l.setAttribute("value","svg");mxUtils.write(l,mxResources.get("formatSvg"));w.appendChild(l);ExportDialog.showXmlOption&&(l=document.createElement("option"),l.setAttribute("value","xml"),mxUtils.write(l,mxResources.get("formatXml")),w.appendChild(l));l=document.createElement("td");l.appendChild(w);g.appendChild(l);q.appendChild(g);g=document.createElement("tr"); @@ -3761,21 +3762,21 @@ C.setAttribute("value",h);C.style.width="180px";l=document.createElement("td");l l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("dpi")+":");g.appendChild(l);var D=document.createElement("select");D.style.width="180px";l=document.createElement("option");l.setAttribute("value","100");mxUtils.write(l,"100dpi");D.appendChild(l);l=document.createElement("option");l.setAttribute("value","200");mxUtils.write(l,"200dpi");D.appendChild(l);l=document.createElement("option");l.setAttribute("value","300");mxUtils.write(l,"300dpi");D.appendChild(l);l=document.createElement("option"); l.setAttribute("value","400");mxUtils.write(l,"400dpi");D.appendChild(l);l=document.createElement("option");l.setAttribute("value","custom");mxUtils.write(l,mxResources.get("custom"));D.appendChild(l);var F=document.createElement("input");F.style.width="180px";F.style.display="none";F.setAttribute("value","100");F.setAttribute("type","number");F.setAttribute("min","50");F.setAttribute("step","50");var K=!1;mxEvent.addListener(D,"change",function(){"custom"==this.value?(this.style.display="none",F.style.display= "",F.focus()):(F.value=this.value,K||(z.value=this.value))});mxEvent.addListener(F,"change",function(){var Y=parseInt(F.value);isNaN(Y)||0>=Y?F.style.backgroundColor="red":(F.style.backgroundColor="",K||(z.value=Y))});l=document.createElement("td");l.appendChild(D);l.appendChild(F);g.appendChild(l);q.appendChild(g);g=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("background")+":");g.appendChild(l);var I=document.createElement("input"); -I.setAttribute("type","checkbox");I.checked=null==f.background||f.background==mxConstants.NONE;l=document.createElement("td");l.appendChild(I);mxUtils.write(l,mxResources.get("transparent"));g.appendChild(l);q.appendChild(g);g=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("grid")+":");g.appendChild(l);var N=document.createElement("input");N.setAttribute("type","checkbox");N.checked=!1;l=document.createElement("td");l.appendChild(N); +I.setAttribute("type","checkbox");I.checked=null==f.background||f.background==mxConstants.NONE;l=document.createElement("td");l.appendChild(I);mxUtils.write(l,mxResources.get("transparent"));g.appendChild(l);q.appendChild(g);g=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("grid")+":");g.appendChild(l);var Q=document.createElement("input");Q.setAttribute("type","checkbox");Q.checked=!1;l=document.createElement("td");l.appendChild(Q); g.appendChild(l);q.appendChild(g);g=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("borderWidth")+":");g.appendChild(l);var H=document.createElement("input");H.setAttribute("type","number");H.setAttribute("value",ExportDialog.lastBorderValue);H.style.width="180px";l=document.createElement("td");l.appendChild(H);g.appendChild(l);q.appendChild(g);d.appendChild(q);mxEvent.addListener(w,"change",b);b();mxEvent.addListener(z,"change", function(){K=!0;var Y=Math.max(0,parseFloat(z.value)||100)/100;z.value=parseFloat((100*Y).toFixed(2));0=parseInt(z.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var Y=p.value,aa=w.value,L=Math.max(0,parseFloat(z.value)||100)/100,V=Math.max(0,parseInt(H.value)),ca=f.background,la=Math.max(1,parseInt(F.value));if(("svg"==aa||"png"== -aa||"pdf"==aa)&&I.checked)ca=null;else if(null==ca||ca==mxConstants.NONE)ca="#ffffff";ExportDialog.lastBorderValue=V;ExportDialog.exportFile(a,Y,aa,ca,L,V,la,N.checked)}}));Z.className="geBtn gePrimaryBtn";var R=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});R.className="geBtn";a.editor.cancelFirst?(l.appendChild(R),l.appendChild(Z)):(l.appendChild(Z),l.appendChild(R));g.appendChild(l);q.appendChild(g);d.appendChild(q);this.container=d};ExportDialog.lastBorderValue=0; +aa||"pdf"==aa)&&I.checked)ca=null;else if(null==ca||ca==mxConstants.NONE)ca="#ffffff";ExportDialog.lastBorderValue=V;ExportDialog.exportFile(a,Y,aa,ca,L,V,la,Q.checked)}}));Z.className="geBtn gePrimaryBtn";var R=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});R.className="geBtn";a.editor.cancelFirst?(l.appendChild(R),l.appendChild(Z)):(l.appendChild(Z),l.appendChild(R));g.appendChild(l);q.appendChild(g);d.appendChild(q);this.container=d};ExportDialog.lastBorderValue=0; ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0; ExportDialog.exportFile=function(a,b,e,f,g,d,h,n){n=a.editor.graph;if("xml"==e)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),b,e);else if("svg"==e)ExportDialog.saveLocalFile(a,mxUtils.getXml(n.getSvg(f,g,d)),b,e);else{var q=n.getGraphBounds(),l=mxUtils.createXmlDocument(),p=l.createElement("output");l.appendChild(p);l=new mxXmlCanvas2D(p);l.translate(Math.floor((d/g-q.x)/n.view.scale),Math.floor((d/g-q.y)/n.view.scale));l.scale(g/n.view.scale);(new mxImageExport).drawState(n.getView().getState(n.model.root), l);p="xml="+encodeURIComponent(mxUtils.getXml(p));l=Math.ceil(q.width*g/n.view.scale+2*d);g=Math.ceil(q.height*g/n.view.scale+2*d);p.length<=MAX_REQUEST_SIZE&&l*gaa.name?1:0});if(null!=G){p=document.createElement("div");p.style.width="100%";p.style.fontSize="11px";p.style.textAlign="center";mxUtils.write(p,G);var N=l.addField(mxResources.get("id")+":",p);mxEvent.addListener(p,"dblclick",function(Y){Y=new FilenameDialog(a,G,mxResources.get("apply"),mxUtils.bind(this,function(aa){if(null!=aa&&0aa.name?1:0});if(null!=G){p=document.createElement("div");p.style.width="100%";p.style.fontSize="11px";p.style.textAlign="center";mxUtils.write(p,G);var Q=l.addField(mxResources.get("id")+":",p);mxEvent.addListener(p,"dblclick",function(Y){Y=new FilenameDialog(a,G,mxResources.get("apply"),mxUtils.bind(this,function(aa){if(null!=aa&&0Y.indexOf(":"))try{var aa=mxUtils.indexOf(w,Y);if(0<=aa&&null!=z[aa])z[aa].focus();else{d.cloneNode(!1).setAttribute(Y, "");0<=aa&&(w.splice(aa,1),z.splice(aa,1));w.push(Y);var L=l.addTextarea(Y+":","",2);L.style.width="100%";z.push(L);D(L,Y);L.focus()}Z.setAttribute("disabled","disabled");H.value=""}catch(V){mxUtils.alert(V)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(H,"keypress",function(Y){13==Y.keyCode&&Z.click()});this.init=function(){0")});mxEvent.addListener(W,"dragend",function(S){null!=z&&null!=C&&q.addCell(P,q.model.root,C);C=z=null;S.stopPropagation();S.preventDefault()});var ka=document.createElement("img");ka.setAttribute("draggable","false");ka.setAttribute("align","top");ka.setAttribute("border","0");ka.className="geAdaptiveAsset"; -ka.style.width="16px";ka.style.padding="0px 6px 0 4px";ka.style.marginTop="2px";ka.style.cursor="pointer";ka.setAttribute("title",mxResources.get(q.model.isVisible(P)?"hide":"show"));q.model.isVisible(P)?(ka.setAttribute("src",Editor.visibleImage),mxUtils.setOpacity(W,90)):(ka.setAttribute("src",Editor.hiddenImage),mxUtils.setOpacity(W,40));q.isEnabled()||mxUtils.setOpacity(ka,50);da.appendChild(ka);mxEvent.addListener(ka,"click",function(S){q.isEnabled()&&q.model.setVisible(P,!q.model.isVisible(P)); -mxEvent.consume(S)});ka=document.createElement("img");ka.setAttribute("draggable","false");ka.setAttribute("align","top");ka.setAttribute("border","0");ka.className="geAdaptiveAsset";ka.style.width="16px";ka.style.padding="0px 6px 0 0";ka.style.marginTop="2px";ka.setAttribute("title",mxResources.get("lockUnlock"));var T=q.getCurrentCellStyle(P);"1"==mxUtils.getValue(T,"locked","0")?(ka.setAttribute("src",Editor.lockedImage),mxUtils.setOpacity(ka,90),W.style.color="red"):(ka.setAttribute("src",Editor.unlockedImage), -mxUtils.setOpacity(ka,40));q.isEnabled()&&(ka.style.cursor="pointer");mxEvent.addListener(ka,"click",function(S){if(q.isEnabled()){var ja=null;q.getModel().beginUpdate();try{ja="1"==mxUtils.getValue(T,"locked","0")?null:"1",q.setCellStyles("locked",ja,[P])}finally{q.getModel().endUpdate()}"1"==ja&&q.removeSelectionCells(q.getModel().getDescendants(P));mxEvent.consume(S)}});da.appendChild(ka);ka=document.createElement("span");mxUtils.write(ka,qa);ka.style.display="block";ka.style.whiteSpace="nowrap"; +V=new FilenameDialog(a,V||mxResources.get("background"),mxResources.get("rename"),mxUtils.bind(this,function(ca){null!=ca&&q.cellLabelChanged(L,ca)}),mxResources.get("enterName"));a.showDialog(V.container,300,100,!0,!0);V.init()}}function h(){var L=Y.get(q.getLayerForCells(q.getSelectionCells()));null!=L?L.appendChild(aa):null!=aa.parentNode&&aa.parentNode.removeChild(aa)}function n(){function L(la,qa,O,X){var W=document.createElement("div");W.className="geToolbarContainer";Y.put(O,W);W.style.overflow= +"hidden";W.style.position="relative";W.style.padding="4px";W.style.height="22px";W.style.display="block";W.style.backgroundColor=Editor.isDarkMode()?Editor.darkColor:"whiteSmoke";W.style.borderWidth="0px 0px 1px 0px";W.style.borderColor="#c3c3c3";W.style.borderStyle="solid";W.style.whiteSpace="nowrap";W.setAttribute("title",qa+" ("+O.getId()+")");var da=document.createElement("div");da.style.display="inline-block";da.style.width="100%";da.style.textOverflow="ellipsis";da.style.overflow="hidden";mxEvent.addListener(W, +"dragover",function(S){S.dataTransfer.dropEffect="move";C=la;S.stopPropagation();S.preventDefault()});mxEvent.addListener(W,"dragstart",function(S){z=W;mxClient.IS_FF&&S.dataTransfer.setData("Text","")});mxEvent.addListener(W,"dragend",function(S){null!=z&&null!=C&&q.addCell(O,q.model.root,C);C=z=null;S.stopPropagation();S.preventDefault()});var ka=document.createElement("img");ka.setAttribute("draggable","false");ka.setAttribute("align","top");ka.setAttribute("border","0");ka.className="geAdaptiveAsset"; +ka.style.width="16px";ka.style.padding="0px 6px 0 4px";ka.style.marginTop="2px";ka.style.cursor="pointer";ka.setAttribute("title",mxResources.get(q.model.isVisible(O)?"hide":"show"));q.model.isVisible(O)?(ka.setAttribute("src",Editor.visibleImage),mxUtils.setOpacity(W,90)):(ka.setAttribute("src",Editor.hiddenImage),mxUtils.setOpacity(W,40));q.isEnabled()||mxUtils.setOpacity(ka,50);da.appendChild(ka);mxEvent.addListener(ka,"click",function(S){q.isEnabled()&&q.model.setVisible(O,!q.model.isVisible(O)); +mxEvent.consume(S)});ka=document.createElement("img");ka.setAttribute("draggable","false");ka.setAttribute("align","top");ka.setAttribute("border","0");ka.className="geAdaptiveAsset";ka.style.width="16px";ka.style.padding="0px 6px 0 0";ka.style.marginTop="2px";ka.setAttribute("title",mxResources.get("lockUnlock"));var T=q.getCurrentCellStyle(O);"1"==mxUtils.getValue(T,"locked","0")?(ka.setAttribute("src",Editor.lockedImage),mxUtils.setOpacity(ka,90),W.style.color="red"):(ka.setAttribute("src",Editor.unlockedImage), +mxUtils.setOpacity(ka,40));q.isEnabled()&&(ka.style.cursor="pointer");mxEvent.addListener(ka,"click",function(S){if(q.isEnabled()){var ja=null;q.getModel().beginUpdate();try{ja="1"==mxUtils.getValue(T,"locked","0")?null:"1",q.setCellStyles("locked",ja,[O])}finally{q.getModel().endUpdate()}"1"==ja&&q.removeSelectionCells(q.getModel().getDescendants(O));mxEvent.consume(S)}});da.appendChild(ka);ka=document.createElement("span");mxUtils.write(ka,qa);ka.style.display="block";ka.style.whiteSpace="nowrap"; ka.style.overflow="hidden";ka.style.textOverflow="ellipsis";ka.style.position="absolute";ka.style.left="52px";ka.style.right="8px";ka.style.top="8px";da.appendChild(ka);W.appendChild(da);if(q.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_IE&&10>document.documentMode)qa=document.createElement("div"),qa.style.display="block",qa.style.textAlign="right",qa.style.whiteSpace="nowrap",qa.style.position="absolute",qa.style.right="16px",qa.style.top="6px",0";if(Sa||"undefined"===typeof mxMermaidToDrawio)pa=da=Oa,na="Smart Template: "+Ja;Oa=C.cloneNode(!0);va.appendChild(Oa);Xa=function(eb){Q=null!=b.sidebar.tooltip&&"none"!=b.sidebar.tooltip.style.display}; -Ga=function(eb){Q||B(hb,mxEvent.getClientX(eb),mxEvent.getClientY(eb),Ua,Ja)};mxEvent.addGestureListeners(Ua,Xa,null,Ga);mxEvent.addGestureListeners(Oa,Xa,null,Ga)},function(Oa){b.spinner.stop();null!=mxMermaidToDrawio.resetListeners&&mxMermaidToDrawio.resetListeners();b.handleError(Oa)})});Qa.setAttribute("disabled","disabled");Qa.className="geBtn gePrimaryBtn";ua=function(){window.setTimeout(function(){""!=Ba.value?Qa.removeAttribute("disabled"):Qa.setAttribute("disabled","disabled")},0)};ya=urlParams["smart-template"]; -null!=ya&&"1"!=ya&&(Ba.value=decodeURIComponent(ya),ua(),"1"==urlParams["smart-template-generate"]&&window.setTimeout(function(){Qa.click()},0));mxEvent.addListener(Ba,"change",ua);mxEvent.addListener(Ba,"keydown",ua);mxEvent.addListener(Ba,"cut",ua);mxEvent.addListener(Ba,"paste",ua);mxEvent.addListener(Ba,"keydown",function(Ka){13==Ka.keyCode&&Qa.click()});ua=document.createElement("div");ua.style.height="40px";ua.style.marginTop="4px";ua.style.marginBottom="4px";ua.style.whiteSpace="nowrap";ua.style.overflowX= -"auto";ua.style.overflowY="hidden";ua.appendChild(oa);ua.appendChild(Qa);la.appendChild(ua);la.appendChild(va);return la}function K(){null!=da&&da==pa&&EditorUi.logEvent({category:"OPENAI-DIAGRAM",action:"templateGenerated",label:na});if(ca&&null!=d)f||b.hideDialog(),d(ca,ka,M.value);else if(c)f||b.hideDialog(),c(da,M.value,ja,ha);else{var la=M.value;if(null!=la&&0=ab.getStatus()&&(db=ab.getText());$a(db,Ua)}))):$a(db,Ua)}function Oa(Pa,$a){if(null==la||N||b.sidebar.currentElt==Ga)b.sidebar.hideTooltip();else if(b.sidebar.hideTooltip(),null!=P){var ab=""+Graph.compress('')+"";B(ab,mxEvent.getClientX(Pa),mxEvent.getClientY(Pa),va,la)}else b.sidebar.currentElt=Ga,N=!0,Ja(la,function(fb){if(N&&b.sidebar.currentElt==Ga)try{B(fb,mxEvent.getClientX(Pa),mxEvent.getClientY(Pa),Ga,$a)}catch(Ya){b.sidebar.currentElt=null,b.handleError(Ya)}N=!1})}function Xa(){var Pa=document.createElement("table");Pa.setAttribute("width","100%");Pa.setAttribute("height","100%");Pa.style.background=Editor.isDarkMode()?"transparent": -"rgba(255,255,255,0.85)";Pa.style.lineHeight="1.3em";Pa.style.border="none";var $a=document.createElement("tbody"),ab=document.createElement("tr"),fb=document.createElement("td");fb.setAttribute("align","center");fb.setAttribute("valign","middle");var Ya=document.createElement("span");Ya.style.display="inline-block";Ya.style.padding="2px 8px";Ya.style.userSelect="none";Ya.style.borderRadius="8px";Ya.style.background="rgba(255,255,255,0.7)";Ya.style.overflow="hidden";Ya.style.textOverflow="ellipsis"; -Ya.style.maxWidth=fa-34+"px";mxUtils.write(Ya,mxResources.get(va,null,va));fb.appendChild(Ya);ab.appendChild(fb);$a.appendChild(ab);Pa.appendChild($a);return Pa}var Ga=null;if("generative"!=Sa||null==ta){Ga=document.createElement("div");Ga.className="geTemplate geAdaptiveAsset";Ga.style.backgroundOrigin="content-box";Ga.style.backgroundPosition="center center";Ga.style.backgroundRepeat="no-repeat";Ga.style.backgroundSize="contain";Ga.style.boxSizing="border-box";Ga.style.borderRadius="12px";Ga.style.position= -"relative";Ga.style.height=fa+"px";Ga.style.width=ma+"px";Ga.style.padding="4px";Ga.style.border="2px solid transparent";var db=null,Ua=la;null!=va?Ga.setAttribute("title",mxResources.get(va,null,va)):null!=ua&&0=ea.scrollHeight&&(y(),mxEvent.consume(Ja))}));if(0";if(Sa||"undefined"===typeof mxMermaidToDrawio)pa=da=Oa;Oa=C.cloneNode(!0);va.appendChild(Oa);Xa=function(eb){Q=null!=b.sidebar.tooltip&&"none"!= +b.sidebar.tooltip.style.display};Ga=function(eb){Q||B(hb,mxEvent.getClientX(eb),mxEvent.getClientY(eb),Ua,Ja)};mxEvent.addGestureListeners(Ua,Xa,null,Ga);mxEvent.addGestureListeners(Oa,Xa,null,Ga)},function(Oa){b.spinner.stop();null!=mxMermaidToDrawio.resetListeners&&mxMermaidToDrawio.resetListeners();b.handleError(Oa)})});Qa.setAttribute("disabled","disabled");Qa.className="geBtn gePrimaryBtn";ua=function(){window.setTimeout(function(){""!=Ba.value?Qa.removeAttribute("disabled"):Qa.setAttribute("disabled", +"disabled")},0)};ya=urlParams["smart-template"];null!=ya&&"1"!=ya&&(Ba.value=decodeURIComponent(ya),ua(),"1"==urlParams["smart-template-generate"]&&window.setTimeout(function(){Qa.click()},0));mxEvent.addListener(Ba,"change",ua);mxEvent.addListener(Ba,"keydown",ua);mxEvent.addListener(Ba,"cut",ua);mxEvent.addListener(Ba,"paste",ua);mxEvent.addListener(Ba,"keydown",function(Ka){13==Ka.keyCode&&Qa.click()});ua=document.createElement("div");ua.style.height="40px";ua.style.marginTop="4px";ua.style.marginBottom= +"4px";ua.style.whiteSpace="nowrap";ua.style.overflowX="auto";ua.style.overflowY="hidden";ua.appendChild(oa);ua.appendChild(Qa);la.appendChild(ua);la.appendChild(va);return la}function K(){null!=da&&da==pa&&EditorUi.logEvent({category:"OPENAI-DIAGRAM",action:"templateGenerated",label:na});if(ca&&null!=d)f||b.hideDialog(),d(ca,ka,M.value);else if(c)f||b.hideDialog(),c(da,M.value,ja,ha);else{var la=M.value;if(null!=la&&0=ab.getStatus()&&(db=ab.getText());$a(db,Ua)}))):$a(db,Ua)}function Oa(Pa,$a){if(null==la||N||b.sidebar.currentElt==Ga)b.sidebar.hideTooltip();else if(b.sidebar.hideTooltip(),null!=P){var ab=""+Graph.compress('')+"";B(ab,mxEvent.getClientX(Pa),mxEvent.getClientY(Pa),va,la)}else b.sidebar.currentElt=Ga,N=!0,Ja(la,function(fb){if(N&&b.sidebar.currentElt==Ga)try{B(fb,mxEvent.getClientX(Pa),mxEvent.getClientY(Pa),Ga,$a)}catch(Ya){b.sidebar.currentElt=null,b.handleError(Ya)}N=!1})}function Xa(){var Pa=document.createElement("table");Pa.setAttribute("width","100%");Pa.setAttribute("height","100%"); +Pa.style.background=Editor.isDarkMode()?"transparent":"rgba(255,255,255,0.85)";Pa.style.lineHeight="1.3em";Pa.style.border="none";var $a=document.createElement("tbody"),ab=document.createElement("tr"),fb=document.createElement("td");fb.setAttribute("align","center");fb.setAttribute("valign","middle");var Ya=document.createElement("span");Ya.style.display="inline-block";Ya.style.padding="2px 8px";Ya.style.userSelect="none";Ya.style.borderRadius="8px";Ya.style.background="rgba(255,255,255,0.7)";Ya.style.overflow= +"hidden";Ya.style.textOverflow="ellipsis";Ya.style.maxWidth=fa-34+"px";mxUtils.write(Ya,mxResources.get(va,null,va));fb.appendChild(Ya);ab.appendChild(fb);$a.appendChild(ab);Pa.appendChild($a);return Pa}var Ga=null;if("generative"!=Sa||null==ta){Ga=document.createElement("div");Ga.className="geTemplate geAdaptiveAsset";Ga.style.backgroundOrigin="content-box";Ga.style.backgroundPosition="center center";Ga.style.backgroundRepeat="no-repeat";Ga.style.backgroundSize="contain";Ga.style.boxSizing="border-box"; +Ga.style.borderRadius="12px";Ga.style.position="relative";Ga.style.height=fa+"px";Ga.style.width=ma+"px";Ga.style.padding="4px";Ga.style.border="2px solid transparent";var db=null,Ua=la;null!=va?Ga.setAttribute("title",mxResources.get(va,null,va)):null!=ua&&0=ea.scrollHeight&&(y(),mxEvent.consume(Ja))}));if(0
')))}catch(l){}Editor.prototype.useCanvasForExport=!1})(); (function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};b.afterDecode=function(e,f,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(b)})(); -(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="24.5.2";EditorUi.compactUi="atlas"!=Editor.currentTheme||window.DRAWIO_PUBLIC_BUILD;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))&&"https://preprod.diagrams.net/"!=window.location.hostname&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost= +(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="24.5.3";EditorUi.compactUi="atlas"!=Editor.currentTheme||window.DRAWIO_PUBLIC_BUILD;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))&&"https://preprod.diagrams.net/"!=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.drawio.com/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.mermaidDiagramTypes="flowchart classDiagram sequenceDiagram stateDiagram mindmap graph erDiagram requirementDiagram journey gantt pie gitGraph".split(" "); 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"}}; @@ -12132,47 +12133,47 @@ x,this.thumbImageCache)):x(N)});O?this.embedFonts(M,C):(this.editor.addFontCss(M R.lastChild);J()}function v(){if(B';d=null!=d?"&fetch="+encodeURIComponent(d):"";R(g,'