diff options
author | Gaudenz Alder <gaudenz@jgraph.com> | 2017-01-26 12:33:25 +0300 |
---|---|---|
committer | Gaudenz Alder <gaudenz@jgraph.com> | 2017-01-26 12:33:25 +0300 |
commit | c83a127a606df093ee2120a6c75bd2f9750f9f4c (patch) | |
tree | 866b99e9d909d624db6a1170ec28c25e6ec93e48 | |
parent | 8a88bd116dc2ff28ef605f4b1437ef280316818c (diff) |
6.0.2.13 releasev6.0.2.13
Former-commit-id: 3b85e4bc6fc7ab646f0be36fa14672c70a85ebce
71 files changed, 2195 insertions, 827 deletions
@@ -1,3 +1,9 @@ +26-JAN-2017: 6.0.2.13 + +- Updates Arrange tab after remove from group +- Faster image and SVG export +- Uses mxGraph 3.7.0.1 beta 1 + 18-JAN-2017: 6.0.2.12 - Adds width, height in advanced export dialog @@ -1 +1 @@ -6.0.2.12
\ No newline at end of file +6.0.2.13
\ No newline at end of file diff --git a/etc/mxgraph/mxClient.js b/etc/mxgraph/mxClient.js index edbab18c..635e435a 100644 --- a/etc/mxgraph/mxClient.js +++ b/etc/mxgraph/mxClient.js @@ -1,4 +1,4 @@ -var mxClient={VERSION:"3.7.0.0",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +var mxClient={VERSION:"3.7.0.1",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| @@ -41,25 +41,25 @@ null;if("object"==typeof b)for(var d=mxUtils.indexOf(b,a);0<=d;)b.splice(d,1),c= b&&c.push(d),d=d.nextSibling;return c},importNode:function(a,b,c){if(mxClient.IS_IE&&(null==document.documentMode||10>document.documentMode))switch(b.nodeType){case 1:var d=a.createElement(b.nodeName);if(b.attributes&&0<b.attributes.length){for(var e=0;e<b.attributes.length;e++)d.setAttribute(b.attributes[e].nodeName,b.getAttribute(b.attributes[e].nodeName));if(c&&b.childNodes&&0<b.childNodes.length)for(e=0;e<b.childNodes.length;e++)d.appendChild(mxUtils.importNode(a,b.childNodes[e],c))}return d; case 3:case 4:case 8:return a.createTextNode(b.value)}else return a.importNode(b,c)},createXmlDocument:function(){var a=null;document.implementation&&document.implementation.createDocument?a=document.implementation.createDocument("","",null):window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLDOM"));return a},parseXml:function(){return window.DOMParser?function(a){return(new DOMParser).parseFromString(a,"text/xml")}:function(a){var b=mxUtils.createXmlDocument();b.async=!1;b.validateOnParse=!1; b.resolveExternals=!1;b.loadXML(a);return b}}(),clearSelection:function(){return document.selection?function(){document.selection.empty()}:window.getSelection?function(){window.getSelection().removeAllRanges()}:function(){}}(),getPrettyXml:function(a,b,c){var d=[];if(null!=a)if(b=b||" ",c=c||"",a.nodeType==mxConstants.NODETYPE_TEXT)d.push(a.value);else{d.push(c+"\x3c"+a.nodeName);var e=a.attributes;if(null!=e)for(var f=0;f<e.length;f++){var g=mxUtils.htmlEntities(e[f].value);d.push(" "+e[f].nodeName+ -'\x3d"'+g+'"')}e=a.firstChild;if(null!=e){for(d.push("\x3e\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d=b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=(a||"").replace(/&/g, -"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==b||b)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a):null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return c=c.replace(/\n/g,b||"\x26#xa;")},extractTextWithWhitespace:function(a){for(var b= -!1,c=[],d=0;a[d];d++){var e=a[d];if(3===e.nodeType||4===e.nodeType){if(11==document.documentMode&&d==a.length-1&&0==e.nodeValue.length)break;c.push(e.nodeValue+(null==e.nextSibling||3!=e.nextSibling.nodeType?"\n":""));b=!0}else 8!==e.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==e.nodeName&&0==e.innerHTML.length||!b&&"BR"==e.nodeName||"DIV"==e.nodeName&&"\x3cbr\x3e"==e.innerHTML?c.push("\n"):c.push(mxUtils.extractTextWithWhitespace(e.childNodes)),b=!1)}return c.join("")},replaceTrailingNewlines:function(a, -b){for(var c="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),c+=b;return a+c},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,b){void 0!==a.innerText?a.innerText=b:a[void 0===a.textContent?"text":"textContent"]=b},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(), -getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var b=[];b.push("\x3c"+a.nodeName);var c=a.attributes;if(null!=c)for(var d=0;d<c.length;d++){var e=c[d].value;null!=e&&0<e.length&&(b.push(" "),b.push(c[d].nodeName),b.push('\x3d"'),b.push(e),b.push('"'))}0==a.innerHTML.length?b.push("/\x3e"):(b.push("\x3e"),b.push(a.innerHTML),b.push("\x3c/"+a.nodeName+"\x3e"));return b.join("")}return""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a): -""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c=null,d=0;d<b;d++)null!=a&&(c=a.ownerDocument.createElement("br"),a.appendChild(c));return c},button:function(a,b,c){c=null!=c?c:document;c=c.createElement("button");mxUtils.write(c,a);mxEvent.addListener(c,"click",function(a){b(a)}); -return c},para:function(a,b){var c=document.createElement("p");mxUtils.write(c,b);null!=a&&a.appendChild(c);return c},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,b,c,d,e){return mxUtils.link(a,b,function(){c.execute(d)},e)},linkInvoke:function(a,b,c,d,e,f){return mxUtils.link(a,b,function(){c[d](e)},f)},link:function(a,b,c,d){var e= -document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},fit:function(a){var b=parseInt(a.offsetLeft),c=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),e=d.x,d=d.y,f=document.body,g=document.documentElement,k=e+(f.clientWidth||g.clientWidth);b+c>k&&(a.style.left=Math.max(e,k-c)+"px");b=parseInt(a.offsetTop); -c=parseInt(a.offsetHeight);f=d+Math.max(f.clientHeight||0,g.clientHeight);b+c>f&&(a.style.top=Math.max(d,f-c)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},k=0;k<a.length;k++)(function(a,c){mxUtils.get(a,function(a){var f=a.getStatus();200>f||299<f?g():(e[c]=a,d--,0==d&& -b(e))},g)})(a[k],k);0==d&&b(e)},post:function(a,b,c,d){return(new mxXmlRequest(a,b)).send(c,d)},submit:function(a,b,c,d){return(new mxXmlRequest(a,b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c||0);return Number(a)},getColor:function(a,b,c){a=null!=a?a[b]:null;null== -a?a=c:a==mxConstants.NONE&&(a=null);return a},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,e;for(e in a)if(e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e)))d[e]=!c&&"object"==typeof a[e]?mxUtils.clone(a[e]):a[e]}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b)for(var c=0;c<a.length;c++)if(a[c]==b[c]||null!=a[c]&&!a[c].equals(b[c]))return!1; -return!0},equalEntries:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){var c=0,d;for(d in b)c++;for(d in a)if(c--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(b[d]))&&a[d]!=b[d])return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype= -b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b="",c;for(c in a)try{if(null==a[c])b+=c+" \x3d [null]\n";else if("function"==typeof a[c])b+=c+" \x3d\x3e [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" \x3d\x3e ["+d+"]\n");else b+=c+" \x3d "+a[c]+"\n"}catch(e){b+=c+"\x3d"+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g, -k,l){k-=a;l-=b;if(0===c||0===d)return q;c=Math.abs(c);d=Math.abs(d);var m=-k/2,n=-l/2,p=Math.cos(e*Math.PI/180),q=Math.sin(e*Math.PI/180);e=p*m+q*n;var m=-1*q*m+p*n,n=e*e,s=m*m,r=c*c,t=d*d,y=n/r+s/t;1<y?(c*=Math.sqrt(y),d*=Math.sqrt(y),f=0):(y=1,f===g&&(y=-1),f=y*Math.sqrt((r*t-r*s-t*n)/(r*s+t*n)));n=f*c*m/d;s=-1*f*d*e/c;k=p*n-q*s+k/2;l=q*n+p*s+l/2;r=Math.atan2((m-s)/d,(e-n)/c)-Math.atan2(0,1);f=0<=r?r:2*Math.PI+r;r=Math.atan2((-m-s)/d,(-e-n)/c)-Math.atan2((m-s)/d,(e-n)/c);e=0<=r?r:2*Math.PI+r;0== -g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;m=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=q;d*=q;for(var x=Math.cos(f),z=Math.sin(f),s=-m*(n*z+d*x),r=-m*(c*z-p*x),y=t=0,q=[],v=0;v<g;++v){f+=e;var x=Math.cos(f),z=Math.sin(f),t=n*x-d*z+k,y=c*x+p*z+l,u=-m*(n*z+d*x),x=-m*(c*z-p*x),z=6*v;q[z]=Number(s+a);q[z+1]=Number(r+b);q[z+2]=Number(t-u+a);q[z+3]=Number(y-x+b);q[z+4]=Number(t+a);q[z+5]=Number(y+b);s=t+u;r=y+x}return q},getBoundingBox:function(a, -b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x,b.y,0,0));d.add(new mxRectangle(g.x, -g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45< -c?(a=1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break;case 3:b|= -mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, +'\x3d"'+g+'"')}e=a.firstChild;if(null!=e){for(d.push("\x3e\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d=b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=String(a||""); +a=a.replace(/&/g,"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==b||b)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a):null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return c=c.replace(/\n/g,b|| +"\x26#xa;")},extractTextWithWhitespace:function(a){for(var b=!1,c=[],d=0;a[d];d++){var e=a[d];if(3===e.nodeType||4===e.nodeType){if(11==document.documentMode&&d==a.length-1&&0==e.nodeValue.length)break;c.push(e.nodeValue+(null==e.nextSibling||3!=e.nextSibling.nodeType?"\n":""));b=!0}else 8!==e.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==e.nodeName&&0==e.innerHTML.length||!b&&"BR"==e.nodeName||"DIV"==e.nodeName&&"\x3cbr\x3e"==e.innerHTML?c.push("\n"):c.push(mxUtils.extractTextWithWhitespace(e.childNodes)), +b=!1)}return c.join("")},replaceTrailingNewlines:function(a,b){for(var c="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),c+=b;return a+c},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,b){void 0!==a.innerText?a.innerText=b:a[void 0===a.textContent?"text":"textContent"]=b},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!= +a?(new XMLSerializer).serializeToString(a):""}}(),getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var b=[];b.push("\x3c"+a.nodeName);var c=a.attributes;if(null!=c)for(var d=0;d<c.length;d++){var e=c[d].value;null!=e&&0<e.length&&(b.push(" "),b.push(c[d].nodeName),b.push('\x3d"'),b.push(e),b.push('"'))}0==a.innerHTML.length?b.push("/\x3e"):(b.push("\x3e"),b.push(a.innerHTML),b.push("\x3c/"+a.nodeName+"\x3e"));return b.join("")}return""}: +function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c=null,d=0;d<b;d++)null!=a&&(c=a.ownerDocument.createElement("br"),a.appendChild(c));return c},button:function(a,b,c){c=null!=c?c:document;c=c.createElement("button"); +mxUtils.write(c,a);mxEvent.addListener(c,"click",function(a){b(a)});return c},para:function(a,b){var c=document.createElement("p");mxUtils.write(c,b);null!=a&&a.appendChild(c);return c},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,b,c,d,e){return mxUtils.link(a,b,function(){c.execute(d)},e)},linkInvoke:function(a,b,c,d,e,f){return mxUtils.link(a, +b,function(){c[d](e)},f)},link:function(a,b,c,d){var e=document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},fit:function(a){var b=parseInt(a.offsetLeft),c=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),e=d.x,d=d.y,f=document.body,g=document.documentElement,k=e+(f.clientWidth||g.clientWidth); +b+c>k&&(a.style.left=Math.max(e,k-c)+"px");b=parseInt(a.offsetTop);c=parseInt(a.offsetHeight);f=d+Math.max(f.clientHeight||0,g.clientHeight);b+c>f&&(a.style.top=Math.max(d,f-c)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},k=0;k<a.length;k++)(function(a,c){mxUtils.get(a, +function(a){var f=a.getStatus();200>f||299<f?g():(e[c]=a,d--,0==d&&b(e))},g)})(a[k],k);0==d&&b(e)},post:function(a,b,c,d){return(new mxXmlRequest(a,b)).send(c,d)},submit:function(a,b,c,d){return(new mxXmlRequest(a,b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c|| +0);return Number(a)},getColor:function(a,b,c){a=null!=a?a[b]:null;null==a?a=c:a==mxConstants.NONE&&(a=null);return a},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,e;for(e in a)if(e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e)))d[e]=!c&&"object"==typeof a[e]?mxUtils.clone(a[e]):a[e]}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!= +a&&null!=b)for(var c=0;c<a.length;c++)if(a[c]==b[c]||null!=a[c]&&!a[c].equals(b[c]))return!1;return!0},equalEntries:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){var c=0,d;for(d in b)c++;for(d in a)if(c--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(b[d]))&&a[d]!=b[d])return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"== +typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b="",c;for(c in a)try{if(null==a[c])b+=c+" \x3d [null]\n";else if("function"==typeof a[c])b+=c+" \x3d\x3e [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" \x3d\x3e ["+d+"]\n");else b+=c+" \x3d "+a[c]+"\n"}catch(e){b+=c+"\x3d"+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180* +a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,k,l){k-=a;l-=b;if(0===c||0===d)return q;c=Math.abs(c);d=Math.abs(d);var m=-k/2,n=-l/2,p=Math.cos(e*Math.PI/180),q=Math.sin(e*Math.PI/180);e=p*m+q*n;var m=-1*q*m+p*n,n=e*e,s=m*m,r=c*c,t=d*d,y=n/r+s/t;1<y?(c*=Math.sqrt(y),d*=Math.sqrt(y),f=0):(y=1,f===g&&(y=-1),f=y*Math.sqrt((r*t-r*s-t*n)/(r*s+t*n)));n=f*c*m/d;s=-1*f*d*e/c;k=p*n-q*s+k/2;l=q*n+p*s+l/2;r=Math.atan2((m-s)/d,(e-n)/c)-Math.atan2(0,1);f=0<=r?r:2*Math.PI+r;r=Math.atan2((-m-s)/d,(-e-n)/c)-Math.atan2((m- +s)/d,(e-n)/c);e=0<=r?r:2*Math.PI+r;0==g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;m=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=q;d*=q;for(var x=Math.cos(f),z=Math.sin(f),s=-m*(n*z+d*x),r=-m*(c*z-p*x),y=t=0,q=[],v=0;v<g;++v){f+=e;var x=Math.cos(f),z=Math.sin(f),t=n*x-d*z+k,y=c*x+p*z+l,u=-m*(n*z+d*x),x=-m*(c*z-p*x),z=6*v;q[z]=Number(s+a);q[z+1]=Number(r+b);q[z+2]=Number(t-u+a);q[z+3]=Number(y-x+b);q[z+4]=Number(t+a);q[z+5]=Number(y+b);s= +t+u;r=y+x}return q},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x, +b.y,0,0));d.add(new mxRectangle(g.x,g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION, +0));a=0;45<c?(a=1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break; +case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, reversePortConstraints:function(a){var b=0,b=(a&mxConstants.DIRECTION_MASK_WEST)<<3,b=b|(a&mxConstants.DIRECTION_MASK_NORTH)<<1,b=b|(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return b|=(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,b,c){var d=-1;if(0<a.absolutePoints.length)for(var e=a.absolutePoints[0],f=null,g=1;g<a.absolutePoints.length;g++){var k=a.absolutePoints[g],e=mxUtils.ptSegDistSq(e.x,e.y,k.x,k.y,b,c);if(null==f||e<f)f=e,d=g-1;e=k}return d},rectangleIntersectsSegment:function(a, b,c){var d=a.y,e=a.x,f=d+a.height,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);a<e&&(a=e);if(a>k)return!1;var e=b.y,g=c.y,l=c.x-b.x;1E-7<Math.abs(l)&&(c=(c.y-b.y)/l,b=b.y-c*b.x,e=c*a+b,g=c*k+b);e>g&&(b=g,g=e,e=b);g>f&&(g=f);e<d&&(e=d);return e>g?!1:!0},contains:function(a,b,c){return a.x<=b&&a.x+a.width>=b&&a.y<=c&&a.y+a.height>=c},intersects:function(a,b){var c=a.width,d=a.height,e=b.width,f=b.height;if(0>=e||0>=f||0>=c||0>=d)return!1;var g=a.x,k=a.y,l=b.x,m=b.y,e=e+l,f=f+m,c=c+ g,d=d+k;return(e<l||e>g)&&(f<m||f>k)&&(c<g||c>l)&&(d<k||d>m)},intersectsHotspot:function(a,b,c,d,e,f){d=null!=d?d:1;e=null!=e?e:0;f=null!=f?f:0;if(0<d){var g=a.getCenterX(),k=a.getCenterY(),l=a.width,m=a.height,n=mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE)*a.view.scale;0<n&&(mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,!0)?(k=a.y+n/2,m=n):(g=a.x+n/2,l=n));l=Math.max(e,l*d);m=Math.max(e,m*d);0<f&&(l=Math.min(l,f),m=Math.min(m,f));d=new mxRectangle(g-l/2,k-m/2,l,m);g=mxUtils.toRadians(mxUtils.getValue(a.style, @@ -1452,8 +1452,8 @@ g=this.getAlignmentTolerance();if(0<g){var k=this.graph.view.getState(b);if(null mxConnectionHandler.prototype.createEdge=function(a,b,c,d){var e=null;null!=this.factoryMethod&&(e=this.factoryMethod(b,c,d));null==e&&(e=new mxCell(a||""),e.setEdge(!0),e.setStyle(d),a=new mxGeometry,a.relative=!0,e.setGeometry(a));return e}; mxConnectionHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.marker&&(this.marker.destroy(),this.marker=null);null!=this.constraintHandler&&(this.constraintHandler.destroy(),this.constraintHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getView().removeListener(this.changeHandler),this.changeHandler=null);null!=this.drillHandler&&(this.graph.removeListener(this.drillHandler), this.graph.getView().removeListener(this.drillHandler),this.drillHandler=null);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null)}; -function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,c){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)&&this.reset()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5);mxConstraintHandler.prototype.graph=null; -mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; +function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,c){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)?this.reset():this.redraw()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5); +mxConstraintHandler.prototype.graph=null;mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; mxConstraintHandler.prototype.reset=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusIcons=null}null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null);this.focusPoints=this.currentFocus=this.currentPoint=this.currentFocusArea=this.currentConstraint=null};mxConstraintHandler.prototype.getTolerance=function(a){return this.graph.getTolerance()}; mxConstraintHandler.prototype.getImageForConstraint=function(a,b,c){return this.pointImage};mxConstraintHandler.prototype.isEventIgnored=function(a,b){return!1};mxConstraintHandler.prototype.isStateIgnored=function(a,b){return!1};mxConstraintHandler.prototype.destroyIcons=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusPoints=this.focusIcons=null}}; mxConstraintHandler.prototype.destroyFocusHighlight=function(){null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null)};mxConstraintHandler.prototype.isKeepFocusEvent=function(a){return mxEvent.isShiftDown(a.getEvent())}; @@ -1462,6 +1462,8 @@ mxConstraintHandler.prototype.update=function(a,b,c,d){if(this.isEnabled()&&!thi d));if(!this.isKeepFocusEvent(a)&&(null==this.currentFocusArea||null==this.currentFocus||null!=k||!this.graph.getModel().isVertex(this.currentFocus.cell)||!mxUtils.intersects(this.currentFocusArea,e))&&k!=this.currentFocus)this.currentFocus=this.currentFocusArea=null,this.setFocus(a,k,b);a=this.currentPoint=this.currentConstraint=null;if(null!=this.focusIcons&&null!=this.constraints&&(null==k||this.currentFocus==k))for(var g=e.getCenterX(),l=e.getCenterY(),m=0;m<this.focusIcons.length;m++){var n= g-this.focusIcons[m].bounds.getCenterX(),p=l-this.focusIcons[m].bounds.getCenterY(),n=n*n+p*p;if((this.intersects(this.focusIcons[m],e,b,c)||null!=d&&this.intersects(this.focusIcons[m],f,b,c))&&(null==a||n<a)){this.currentConstraint=this.constraints[m];this.currentPoint=this.focusPoints[m];a=n;n=this.focusIcons[m].bounds.clone();n.grow(mxConstants.HIGHLIGHT_SIZE);mxClient.IS_IE&&(n.grow(1),n.width-=1,n.height-=1);if(null==this.focusHighlight){p=this.createHighlightShape();p.dialect=this.graph.dialect== mxConstants.DIALECT_SVG?mxConstants.DIALECT_SVG:mxConstants.DIALECT_VML;p.pointerEvents=!1;p.init(this.graph.getView().getOverlayPane());this.focusHighlight=p;var q=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:k});mxEvent.redirectMouseEvents(p.node,this.graph,q)}this.focusHighlight.bounds=n;this.focusHighlight.redraw()}}null==this.currentConstraint&&this.destroyFocusHighlight()}else this.currentPoint=this.currentFocus=this.currentConstraint=null}; +mxConstraintHandler.prototype.redraw=function(){if(null!=this.currentFocus&&null!=this.constraints&&null!=this.focusIcons){var a=this.graph.view.getState(this.currentFocus.cell);this.currentFocus=a;this.currentFocusArea=new mxRectangle(a.x,a.y,a.width,a.height);for(var b=0;b<this.constraints.length;b++){var c=this.graph.getConnectionPoint(a,this.constraints[b]),d=this.getImageForConstraint(a,this.constraints[b],c),d=new mxRectangle(Math.round(c.x-d.width/2),Math.round(c.y-d.height/2),d.width,d.height); +this.focusIcons[b].bounds=d;this.focusIcons[b].redraw();this.currentFocusArea.add(this.focusIcons[b].bounds);this.focusPoints[b]=c}}}; mxConstraintHandler.prototype.setFocus=function(a,b,c){this.constraints=null!=b&&!this.isStateIgnored(b,c)&&this.graph.isCellConnectable(b.cell)?this.isEnabled()?this.graph.getAllConnectionConstraints(b,c)||[]:[]:null;if(null!=this.constraints){this.currentFocus=b;this.currentFocusArea=new mxRectangle(b.x,b.y,b.width,b.height);if(null!=this.focusIcons){for(c=0;c<this.focusIcons.length;c++)this.focusIcons[c].destroy();this.focusPoints=this.focusIcons=null}this.focusPoints=[];this.focusIcons=[];for(c= 0;c<this.constraints.length;c++){var d=this.graph.getConnectionPoint(b,this.constraints[c]),e=this.getImageForConstraint(b,this.constraints[c],d),f=e.src,e=new mxRectangle(Math.round(d.x-e.width/2),Math.round(d.y-e.height/2),e.width,e.height),f=new mxImageShape(e,f);f.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG;f.preserveImageAspect=!1;f.init(this.graph.getView().getDecoratorPane());(mxClient.IS_QUIRKS||8==document.documentMode)&&mxEvent.addListener(f.node, "dragstart",function(a){mxEvent.consume(a);return!1});null!=f.node.previousSibling&&f.node.parentNode.insertBefore(f.node,f.node.parentNode.firstChild);e=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:b});f.redraw();mxEvent.redirectMouseEvents(f.node,this.graph,e);this.currentFocusArea.add(f.bounds);this.focusIcons.push(f);this.focusPoints.push(d)}this.currentFocusArea.grow(this.getTolerance(a))}else this.destroyIcons(),this.destroyFocusHighlight()}; diff --git a/src/com/mxgraph/online/SaveServlet.java b/src/com/mxgraph/online/SaveServlet.java index 51fd4b89..a38de3df 100644 --- a/src/com/mxgraph/online/SaveServlet.java +++ b/src/com/mxgraph/online/SaveServlet.java @@ -30,8 +30,8 @@ public class SaveServlet extends HttpServlet /** * */ - private static final Logger log = Logger.getLogger(SaveServlet.class - .getName()); + private static final Logger log = Logger + .getLogger(SaveServlet.class.getName()); /** * @see HttpServlet#HttpServlet() @@ -70,8 +70,9 @@ public class SaveServlet extends HttpServlet if (enc != null && enc.length() > 0) { // NOTE: Simulate is used on client-side so the value is double-encoded - xml = Utils.inflate(mxBase64.decode(URLDecoder.decode(enc, - Utils.CHARSET_FOR_URL_ENCODING).getBytes())); + xml = Utils.inflate(mxBase64.decode(URLDecoder + .decode(enc, Utils.CHARSET_FOR_URL_ENCODING) + .getBytes())); } else { @@ -81,28 +82,32 @@ public class SaveServlet extends HttpServlet // Decoding is optional (no plain text values allowed here so %3C means encoded) if (xml != null && xml.startsWith("%3C")) { - xml = URLDecoder - .decode(xml, Utils.CHARSET_FOR_URL_ENCODING); + xml = URLDecoder.decode(xml, + Utils.CHARSET_FOR_URL_ENCODING); } String binary = request.getParameter("binary"); - - if (binary != null && binary.equals("1") && xml != null && mime != null) + + if (binary != null && binary.equals("1") && xml != null + && mime != null) { response.setStatus(HttpServletResponse.SC_OK); - + if (filename != null) { response.setContentType("application/x-unknown"); - response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"; filename*=UTF-8''" + filename); + response.setHeader("Content-Disposition", + "attachment; filename=\"" + filename + + "\"; filename*=UTF-8''" + filename); } else if (mime != null) { response.setContentType(mime); } - response.getOutputStream().write(mxBase64.decodeFast(URLDecoder - .decode(xml, Utils.CHARSET_FOR_URL_ENCODING))); + response.getOutputStream() + .write(mxBase64.decodeFast(URLDecoder.decode(xml, + Utils.CHARSET_FOR_URL_ENCODING))); } else if (mime != null && xml != null) { @@ -110,7 +115,7 @@ public class SaveServlet extends HttpServlet { data = xml.getBytes(Utils.CHARSET_FOR_URL_ENCODING); } - + String format = request.getParameter("format"); if (format == null) @@ -134,18 +139,17 @@ public class SaveServlet extends HttpServlet } } - if (filename != null - && filename.length() > 0 - && !(format.equals("xml") - && filename.toLowerCase().endsWith(".html") && filename - .toLowerCase().endsWith(".svg")) + if (filename != null && filename.length() > 0 + && !filename.toLowerCase().endsWith(".svg") + && !filename.toLowerCase().endsWith(".html") + && !filename.toLowerCase().endsWith(".png") && !filename.toLowerCase().endsWith("." + format)) { filename += "." + format; } response.setStatus(HttpServletResponse.SC_OK); - + if (filename != null) { response.setContentType(mime); diff --git a/war/WEB-INF/appengine-generated/datastore-indexes-auto.xml b/war/WEB-INF/appengine-generated/datastore-indexes-auto.xml deleted file mode 100644 index bf2da20e..00000000 --- a/war/WEB-INF/appengine-generated/datastore-indexes-auto.xml +++ /dev/null @@ -1,4 +0,0 @@ -<!-- Indices written at Tue, 20 Dec 2016 20:18:20 CET --> - -<datastore-indexes/> - diff --git a/war/WEB-INF/appengine-generated/local_db.bin b/war/WEB-INF/appengine-generated/local_db.bin Binary files differdeleted file mode 100644 index 33d117c4..00000000 --- a/war/WEB-INF/appengine-generated/local_db.bin +++ /dev/null diff --git a/war/cache.manifest b/war/cache.manifest index 8baea8ed..b01f1708 100644 --- a/war/cache.manifest +++ b/war/cache.manifest @@ -1,7 +1,7 @@ CACHE MANIFEST # THIS FILE WAS GENERATED. DO NOT MODIFY! -# 01/18/2017 04:49 PM +# 01/26/2017 10:26 AM /app.html /index.html?offline=1 diff --git a/war/js/app.min.js b/war/js/app.min.js index b8dd4075..039f1f12 100644 --- a/war/js/app.min.js +++ b/war/js/app.min.js @@ -193,7 +193,7 @@ ru:"\u0420\u0443\u0441\u0441\u043a\u0438\u0439",sr:"\u0421\u0440\u043f\u0441\u04 if(null==window.mxLanguages){window.mxLanguages=[];for(var lang in mxLanguageMap)"en"!=lang&&window.mxLanguages.push(lang)}window.uiTheme=window.uiTheme||function(){var a=urlParams.ui;if(null==a&&"undefined"!==typeof JSON&&isLocalStorage)try{var c=localStorage.getItem(".drawio-config");null!=c&&(a=JSON.parse(c).ui||null)}catch(f){isLocalStorage=!1}return a}();function setCurrentXml(a,c){null!=window.parent&&null!=window.parent.openFile&&window.parent.openFile.setData(a,c)} (function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),c=!0;null!=a&&(c=JSON.parse(a).showStartScreen);!1==c&&(urlParams.splash="0")}catch(f){}})();var ex=urlParams["export"];null!=ex&&("http://"!=ex.substring(0,7)&&"https://"!=ex.substring(0,8)&&(ex="http://"+ex),EXPORT_URL=ex); if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.analytics="0",urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0";if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";var host=window.location.host,searchString="draw.io",position=host.length-searchString.length,lastIndex=host.lastIndexOf(searchString,position);-1!==lastIndex&&(lastIndex===position&&"test.draw.io"!=host)&&(window.DRAWIO_LOG_URL="https://log.draw.io");window.urlParams=window.urlParams||{};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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.7.0.0",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.7.0.1",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| @@ -236,25 +236,25 @@ null;if("object"==typeof c)for(var d=mxUtils.indexOf(c,a);0<=d;)c.splice(d,1),f= c&&f.push(d),d=d.nextSibling;return f},importNode:function(a,c,f){if(mxClient.IS_IE&&(null==document.documentMode||10>document.documentMode))switch(c.nodeType){case 1:var d=a.createElement(c.nodeName);if(c.attributes&&0<c.attributes.length){for(var b=0;b<c.attributes.length;b++)d.setAttribute(c.attributes[b].nodeName,c.getAttribute(c.attributes[b].nodeName));if(f&&c.childNodes&&0<c.childNodes.length)for(b=0;b<c.childNodes.length;b++)d.appendChild(mxUtils.importNode(a,c.childNodes[b],f))}return d; case 3:case 4:case 8:return a.createTextNode(c.value)}else return a.importNode(c,f)},createXmlDocument:function(){var a=null;document.implementation&&document.implementation.createDocument?a=document.implementation.createDocument("","",null):window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLDOM"));return a},parseXml:function(){return window.DOMParser?function(a){return(new DOMParser).parseFromString(a,"text/xml")}:function(a){var c=mxUtils.createXmlDocument();c.async=!1;c.validateOnParse=!1; c.resolveExternals=!1;c.loadXML(a);return c}}(),clearSelection:function(){return document.selection?function(){document.selection.empty()}:window.getSelection?function(){window.getSelection().removeAllRanges()}:function(){}}(),getPrettyXml:function(a,c,f){var d=[];if(null!=a)if(c=c||" ",f=f||"",a.nodeType==mxConstants.NODETYPE_TEXT)d.push(a.value);else{d.push(f+"\x3c"+a.nodeName);var b=a.attributes;if(null!=b)for(var e=0;e<b.length;e++){var g=mxUtils.htmlEntities(b[e].value);d.push(" "+b[e].nodeName+ -'\x3d"'+g+'"')}b=a.firstChild;if(null!=b){for(d.push("\x3e\n");null!=b;)d.push(mxUtils.getPrettyXml(b,c,f+c)),b=b.nextSibling;d.push(f+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,c){for(var f=c?a.previousSibling:a.nextSibling;null!=f&&f.nodeType==mxConstants.NODETYPE_TEXT;){var d=c?f.previousSibling:f.nextSibling,b=mxUtils.getTextContent(f);0==mxUtils.trim(b).length&&f.parentNode.removeChild(f);f=d}},htmlEntities:function(a,c){a=(a||"").replace(/&/g, -"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==c||c)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,c){var f="";null!=window.XMLSerializer?f=(new XMLSerializer).serializeToString(a):null!=a.xml&&(f=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return f.replace(/\n/g,c||"\x26#xa;")},extractTextWithWhitespace:function(a){for(var c= -!1,f=[],d=0;a[d];d++){var b=a[d];if(3===b.nodeType||4===b.nodeType){if(11==document.documentMode&&d==a.length-1&&0==b.nodeValue.length)break;f.push(b.nodeValue+(null==b.nextSibling||3!=b.nextSibling.nodeType?"\n":""));c=!0}else 8!==b.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==b.nodeName&&0==b.innerHTML.length||!c&&"BR"==b.nodeName||"DIV"==b.nodeName&&"\x3cbr\x3e"==b.innerHTML?f.push("\n"):f.push(mxUtils.extractTextWithWhitespace(b.childNodes)),c=!1)}return f.join("")},replaceTrailingNewlines:function(a, -c){for(var f="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),f+=c;return a+f},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,c){void 0!==a.innerText?a.innerText=c:a[void 0===a.textContent?"text":"textContent"]=c},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(), -getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var c=[];c.push("\x3c"+a.nodeName);var f=a.attributes;if(null!=f)for(var d=0;d<f.length;d++){var b=f[d].value;null!=b&&0<b.length&&(c.push(" "),c.push(f[d].nodeName),c.push('\x3d"'),c.push(b),c.push('"'))}0==a.innerHTML.length?c.push("/\x3e"):(c.push("\x3e"),c.push(a.innerHTML),c.push("\x3c/"+a.nodeName+"\x3e"));return c.join("")}return""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a): -""}}(),write:function(a,c){var f=a.ownerDocument.createTextNode(c);null!=a&&a.appendChild(f);return f},writeln:function(a,c){var f=a.ownerDocument.createTextNode(c);null!=a&&(a.appendChild(f),a.appendChild(document.createElement("br")));return f},br:function(a,c){c=c||1;for(var f=null,d=0;d<c;d++)null!=a&&(f=a.ownerDocument.createElement("br"),a.appendChild(f));return f},button:function(a,c,f){f=null!=f?f:document;f=f.createElement("button");mxUtils.write(f,a);mxEvent.addListener(f,"click",function(a){c(a)}); -return f},para:function(a,c){var f=document.createElement("p");mxUtils.write(f,c);null!=a&&a.appendChild(f);return f},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,c,f,d,b){return mxUtils.link(a,c,function(){f.execute(d)},b)},linkInvoke:function(a,c,f,d,b,e){return mxUtils.link(a,c,function(){f[d](b)},e)},link:function(a,c,f,d){var b= -document.createElement("span");b.style.color="blue";b.style.textDecoration="underline";b.style.cursor="pointer";null!=d&&(b.style.paddingLeft=d+"px");mxEvent.addListener(b,"click",f);mxUtils.write(b,c);null!=a&&a.appendChild(b);return b},fit:function(a){var c=parseInt(a.offsetLeft),f=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),b=d.x,d=d.y,e=document.body,g=document.documentElement,k=b+(e.clientWidth||g.clientWidth);c+f>k&&(a.style.left=Math.max(b,k-f)+"px");c=parseInt(a.offsetTop); -f=parseInt(a.offsetHeight);e=d+Math.max(e.clientHeight||0,g.clientHeight);c+f>e&&(a.style.top=Math.max(d,e-f)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,c,f,d,b,e){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(c,f,b,e);return a},getAll:function(a,c,f){for(var d=a.length,b=[],e=0,g=function(){0==e&&null!=f&&f();e++},k=0;k<a.length;k++)(function(a,e){mxUtils.get(a,function(a){var f=a.getStatus();200>f||299<f?g():(b[e]=a,d--,0==d&& -c(b))},g)})(a[k],k);0==d&&c(b)},post:function(a,c,f,d){return(new mxXmlRequest(a,c)).send(f,d)},submit:function(a,c,f,d){return(new mxXmlRequest(a,c)).simulate(f,d)},loadInto:function(a,c,f){mxClient.IS_IE?c.onreadystatechange=function(){4==c.readyState&&f()}:c.addEventListener("load",f,!1);c.load(a)},getValue:function(a,c,f){a=null!=a?a[c]:null;null==a&&(a=f);return a},getNumber:function(a,c,f){a=null!=a?a[c]:null;null==a&&(a=f||0);return Number(a)},getColor:function(a,c,f){a=null!=a?a[c]:null;null== -a?a=f:a==mxConstants.NONE&&(a=null);return a},clone:function(a,c,f){f=null!=f?f:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,b;for(b in a)if(b!=mxObjectIdentity.FIELD_NAME&&(null==c||0>mxUtils.indexOf(c,b)))d[b]=!f&&"object"==typeof a[b]?mxUtils.clone(a[b]):a[b]}return d},equalPoints:function(a,c){if(null==a&&null!=c||null!=a&&null==c||null!=a&&null!=c&&a.length!=c.length)return!1;if(null!=a&&null!=c)for(var f=0;f<a.length;f++)if(a[f]==c[f]||null!=a[f]&&!a[f].equals(c[f]))return!1; -return!0},equalEntries:function(a,c){if(null==a&&null!=c||null!=a&&null==c||null!=a&&null!=c&&a.length!=c.length)return!1;if(null!=a&&null!=c){var f=0,d;for(d in c)f++;for(d in a)if(f--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(c[d]))&&a[d]!=c[d])return!1}return 0==f},removeDuplicates:function(a){for(var c=new mxDictionary,f=[],d=0;d<a.length;d++)c.get(a[d])||(f.push(a[d]),c.put(a[d],!0));return f},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,c){var f=function(){};f.prototype= -c.prototype;a.prototype=new f;a.prototype.constructor=a},toString:function(a){var c="",f;for(f in a)try{if(null==a[f])c+=f+" \x3d [null]\n";else if("function"==typeof a[f])c+=f+" \x3d\x3e [Function]\n";else if("object"==typeof a[f])var d=mxUtils.getFunctionName(a[f].constructor),c=c+(f+" \x3d\x3e ["+d+"]\n");else c+=f+" \x3d "+a[f]+"\n"}catch(b){c+=f+"\x3d"+b.message}return c},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,c,f,d,b,e,g, -k,l){k-=a;l-=c;if(0===f||0===d)return s;f=Math.abs(f);d=Math.abs(d);var n=-k/2,m=-l/2,p=Math.cos(b*Math.PI/180),s=Math.sin(b*Math.PI/180);b=p*n+s*m;var n=-1*s*n+p*m,m=b*b,t=n*n,q=f*f,v=d*d,u=m/q+t/v;1<u?(f*=Math.sqrt(u),d*=Math.sqrt(u),e=0):(u=1,e===g&&(u=-1),e=u*Math.sqrt((q*v-q*t-v*m)/(q*t+v*m)));m=e*f*n/d;t=-1*e*d*b/f;k=p*m-s*t+k/2;l=s*m+p*t+l/2;q=Math.atan2((n-t)/d,(b-m)/f)-Math.atan2(0,1);e=0<=q?q:2*Math.PI+q;q=Math.atan2((-n-t)/d,(-b-m)/f)-Math.atan2((n-t)/d,(b-m)/f);b=0<=q?q:2*Math.PI+q;0== -g&&0<b?b-=2*Math.PI:0!=g&&0>b&&(b+=2*Math.PI);g=2*b/Math.PI;g=Math.ceil(0>g?-1*g:g);b/=g;n=8/3*Math.sin(b/4)*Math.sin(b/4)/Math.sin(b/2);m=p*f;p*=d;f*=s;d*=s;for(var x=Math.cos(e),A=Math.sin(e),t=-n*(m*A+d*x),q=-n*(f*A-p*x),s=[],z=0;z<g;++z){e+=b;var x=Math.cos(e),A=Math.sin(e),v=m*x-d*A+k,u=f*x+p*A+l,y=-n*(m*A+d*x),x=-n*(f*A-p*x),A=6*z;s[A]=Number(t+a);s[A+1]=Number(q+c);s[A+2]=Number(v-y+a);s[A+3]=Number(u-x+c);s[A+4]=Number(v+a);s[A+5]=Number(u+c);t=v+y;q=u+x}return s},getBoundingBox:function(a, -c,f){var d=null;if(null!=a&&null!=c&&0!=c){c=mxUtils.toRadians(c);var d=Math.cos(c),b=Math.sin(c);f=null!=f?f:new mxPoint(a.x+a.width/2,a.y+a.height/2);var e=new mxPoint(a.x,a.y);c=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(c.x,a.y+a.height);a=new mxPoint(a.x,g.y);e=mxUtils.getRotatedPoint(e,d,b,f);c=mxUtils.getRotatedPoint(c,d,b,f);g=mxUtils.getRotatedPoint(g,d,b,f);a=mxUtils.getRotatedPoint(a,d,b,f);d=new mxRectangle(e.x,e.y,0,0);d.add(new mxRectangle(c.x,c.y,0,0));d.add(new mxRectangle(g.x, -g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,c,f,d){d=null!=d?d:new mxPoint;var b=a.x-d.x;a=a.y-d.y;return new mxPoint(b*c-a*f+d.x,a*c+b*f+d.y)},getPortConstraints:function(a,c,f,d){c=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==c)return d;d=c.toString();c=mxConstants.DIRECTION_MASK_NONE;f=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(f=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45< -f?(a=1,135<=f&&(a=2)):-45>f&&(a=3,-135>=f&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:c|=mxConstants.DIRECTION_MASK_EAST;break;case 2:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:c|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_WEST;break;case 1:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:c|=mxConstants.DIRECTION_MASK_EAST;break;case 3:c|= -mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:c|=mxConstants.DIRECTION_MASK_WEST;break;case 2:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:c|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_EAST;break;case 1:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:c|=mxConstants.DIRECTION_MASK_WEST;break;case 3:c|=mxConstants.DIRECTION_MASK_NORTH}return c}, +'\x3d"'+g+'"')}b=a.firstChild;if(null!=b){for(d.push("\x3e\n");null!=b;)d.push(mxUtils.getPrettyXml(b,c,f+c)),b=b.nextSibling;d.push(f+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,c){for(var f=c?a.previousSibling:a.nextSibling;null!=f&&f.nodeType==mxConstants.NODETYPE_TEXT;){var d=c?f.previousSibling:f.nextSibling,b=mxUtils.getTextContent(f);0==mxUtils.trim(b).length&&f.parentNode.removeChild(f);f=d}},htmlEntities:function(a,c){a=String(a||""); +a=a.replace(/&/g,"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==c||c)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,c){var f="";null!=window.XMLSerializer?f=(new XMLSerializer).serializeToString(a):null!=a.xml&&(f=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return f.replace(/\n/g,c||"\x26#xa;")}, +extractTextWithWhitespace:function(a){for(var c=!1,f=[],d=0;a[d];d++){var b=a[d];if(3===b.nodeType||4===b.nodeType){if(11==document.documentMode&&d==a.length-1&&0==b.nodeValue.length)break;f.push(b.nodeValue+(null==b.nextSibling||3!=b.nextSibling.nodeType?"\n":""));c=!0}else 8!==b.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==b.nodeName&&0==b.innerHTML.length||!c&&"BR"==b.nodeName||"DIV"==b.nodeName&&"\x3cbr\x3e"==b.innerHTML?f.push("\n"):f.push(mxUtils.extractTextWithWhitespace(b.childNodes)), +c=!1)}return f.join("")},replaceTrailingNewlines:function(a,c){for(var f="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),f+=c;return a+f},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,c){void 0!==a.innerText?a.innerText=c:a[void 0===a.textContent?"text":"textContent"]=c},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!= +a?(new XMLSerializer).serializeToString(a):""}}(),getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var c=[];c.push("\x3c"+a.nodeName);var f=a.attributes;if(null!=f)for(var d=0;d<f.length;d++){var b=f[d].value;null!=b&&0<b.length&&(c.push(" "),c.push(f[d].nodeName),c.push('\x3d"'),c.push(b),c.push('"'))}0==a.innerHTML.length?c.push("/\x3e"):(c.push("\x3e"),c.push(a.innerHTML),c.push("\x3c/"+a.nodeName+"\x3e"));return c.join("")}return""}: +function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(),write:function(a,c){var f=a.ownerDocument.createTextNode(c);null!=a&&a.appendChild(f);return f},writeln:function(a,c){var f=a.ownerDocument.createTextNode(c);null!=a&&(a.appendChild(f),a.appendChild(document.createElement("br")));return f},br:function(a,c){c=c||1;for(var f=null,d=0;d<c;d++)null!=a&&(f=a.ownerDocument.createElement("br"),a.appendChild(f));return f},button:function(a,c,f){f=null!=f?f:document;f=f.createElement("button"); +mxUtils.write(f,a);mxEvent.addListener(f,"click",function(a){c(a)});return f},para:function(a,c){var f=document.createElement("p");mxUtils.write(f,c);null!=a&&a.appendChild(f);return f},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,c,f,d,b){return mxUtils.link(a,c,function(){f.execute(d)},b)},linkInvoke:function(a,c,f,d,b,e){return mxUtils.link(a, +c,function(){f[d](b)},e)},link:function(a,c,f,d){var b=document.createElement("span");b.style.color="blue";b.style.textDecoration="underline";b.style.cursor="pointer";null!=d&&(b.style.paddingLeft=d+"px");mxEvent.addListener(b,"click",f);mxUtils.write(b,c);null!=a&&a.appendChild(b);return b},fit:function(a){var c=parseInt(a.offsetLeft),f=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),b=d.x,d=d.y,e=document.body,g=document.documentElement,k=b+(e.clientWidth||g.clientWidth); +c+f>k&&(a.style.left=Math.max(b,k-f)+"px");c=parseInt(a.offsetTop);f=parseInt(a.offsetHeight);e=d+Math.max(e.clientHeight||0,g.clientHeight);c+f>e&&(a.style.top=Math.max(d,e-f)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,c,f,d,b,e){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(c,f,b,e);return a},getAll:function(a,c,f){for(var d=a.length,b=[],e=0,g=function(){0==e&&null!=f&&f();e++},k=0;k<a.length;k++)(function(a,e){mxUtils.get(a, +function(a){var f=a.getStatus();200>f||299<f?g():(b[e]=a,d--,0==d&&c(b))},g)})(a[k],k);0==d&&c(b)},post:function(a,c,f,d){return(new mxXmlRequest(a,c)).send(f,d)},submit:function(a,c,f,d){return(new mxXmlRequest(a,c)).simulate(f,d)},loadInto:function(a,c,f){mxClient.IS_IE?c.onreadystatechange=function(){4==c.readyState&&f()}:c.addEventListener("load",f,!1);c.load(a)},getValue:function(a,c,f){a=null!=a?a[c]:null;null==a&&(a=f);return a},getNumber:function(a,c,f){a=null!=a?a[c]:null;null==a&&(a=f|| +0);return Number(a)},getColor:function(a,c,f){a=null!=a?a[c]:null;null==a?a=f:a==mxConstants.NONE&&(a=null);return a},clone:function(a,c,f){f=null!=f?f:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,b;for(b in a)if(b!=mxObjectIdentity.FIELD_NAME&&(null==c||0>mxUtils.indexOf(c,b)))d[b]=!f&&"object"==typeof a[b]?mxUtils.clone(a[b]):a[b]}return d},equalPoints:function(a,c){if(null==a&&null!=c||null!=a&&null==c||null!=a&&null!=c&&a.length!=c.length)return!1;if(null!= +a&&null!=c)for(var f=0;f<a.length;f++)if(a[f]==c[f]||null!=a[f]&&!a[f].equals(c[f]))return!1;return!0},equalEntries:function(a,c){if(null==a&&null!=c||null!=a&&null==c||null!=a&&null!=c&&a.length!=c.length)return!1;if(null!=a&&null!=c){var f=0,d;for(d in c)f++;for(d in a)if(f--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(c[d]))&&a[d]!=c[d])return!1}return 0==f},removeDuplicates:function(a){for(var c=new mxDictionary,f=[],d=0;d<a.length;d++)c.get(a[d])||(f.push(a[d]),c.put(a[d],!0));return f},isNaN:function(a){return"number"== +typeof a&&isNaN(a)},extend:function(a,c){var f=function(){};f.prototype=c.prototype;a.prototype=new f;a.prototype.constructor=a},toString:function(a){var c="",f;for(f in a)try{if(null==a[f])c+=f+" \x3d [null]\n";else if("function"==typeof a[f])c+=f+" \x3d\x3e [Function]\n";else if("object"==typeof a[f])var d=mxUtils.getFunctionName(a[f].constructor),c=c+(f+" \x3d\x3e ["+d+"]\n");else c+=f+" \x3d "+a[f]+"\n"}catch(b){c+=f+"\x3d"+b.message}return c},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180* +a/Math.PI},arcToCurves:function(a,c,f,d,b,e,g,k,l){k-=a;l-=c;if(0===f||0===d)return s;f=Math.abs(f);d=Math.abs(d);var n=-k/2,m=-l/2,p=Math.cos(b*Math.PI/180),s=Math.sin(b*Math.PI/180);b=p*n+s*m;var n=-1*s*n+p*m,m=b*b,t=n*n,q=f*f,v=d*d,u=m/q+t/v;1<u?(f*=Math.sqrt(u),d*=Math.sqrt(u),e=0):(u=1,e===g&&(u=-1),e=u*Math.sqrt((q*v-q*t-v*m)/(q*t+v*m)));m=e*f*n/d;t=-1*e*d*b/f;k=p*m-s*t+k/2;l=s*m+p*t+l/2;q=Math.atan2((n-t)/d,(b-m)/f)-Math.atan2(0,1);e=0<=q?q:2*Math.PI+q;q=Math.atan2((-n-t)/d,(-b-m)/f)-Math.atan2((n- +t)/d,(b-m)/f);b=0<=q?q:2*Math.PI+q;0==g&&0<b?b-=2*Math.PI:0!=g&&0>b&&(b+=2*Math.PI);g=2*b/Math.PI;g=Math.ceil(0>g?-1*g:g);b/=g;n=8/3*Math.sin(b/4)*Math.sin(b/4)/Math.sin(b/2);m=p*f;p*=d;f*=s;d*=s;for(var x=Math.cos(e),A=Math.sin(e),t=-n*(m*A+d*x),q=-n*(f*A-p*x),s=[],z=0;z<g;++z){e+=b;var x=Math.cos(e),A=Math.sin(e),v=m*x-d*A+k,u=f*x+p*A+l,y=-n*(m*A+d*x),x=-n*(f*A-p*x),A=6*z;s[A]=Number(t+a);s[A+1]=Number(q+c);s[A+2]=Number(v-y+a);s[A+3]=Number(u-x+c);s[A+4]=Number(v+a);s[A+5]=Number(u+c);t=v+y;q= +u+x}return s},getBoundingBox:function(a,c,f){var d=null;if(null!=a&&null!=c&&0!=c){c=mxUtils.toRadians(c);var d=Math.cos(c),b=Math.sin(c);f=null!=f?f:new mxPoint(a.x+a.width/2,a.y+a.height/2);var e=new mxPoint(a.x,a.y);c=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(c.x,a.y+a.height);a=new mxPoint(a.x,g.y);e=mxUtils.getRotatedPoint(e,d,b,f);c=mxUtils.getRotatedPoint(c,d,b,f);g=mxUtils.getRotatedPoint(g,d,b,f);a=mxUtils.getRotatedPoint(a,d,b,f);d=new mxRectangle(e.x,e.y,0,0);d.add(new mxRectangle(c.x, +c.y,0,0));d.add(new mxRectangle(g.x,g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,c,f,d){d=null!=d?d:new mxPoint;var b=a.x-d.x;a=a.y-d.y;return new mxPoint(b*c-a*f+d.x,a*c+b*f+d.y)},getPortConstraints:function(a,c,f,d){c=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==c)return d;d=c.toString();c=mxConstants.DIRECTION_MASK_NONE;f=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(f=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION, +0));a=0;45<f?(a=1,135<=f&&(a=2)):-45>f&&(a=3,-135>=f&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:c|=mxConstants.DIRECTION_MASK_EAST;break;case 2:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:c|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_WEST;break;case 1:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:c|=mxConstants.DIRECTION_MASK_EAST;break; +case 3:c|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:c|=mxConstants.DIRECTION_MASK_WEST;break;case 2:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:c|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_EAST;break;case 1:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:c|=mxConstants.DIRECTION_MASK_WEST;break;case 3:c|=mxConstants.DIRECTION_MASK_NORTH}return c}, reversePortConstraints:function(a){var c=0,c=(a&mxConstants.DIRECTION_MASK_WEST)<<3,c=c|(a&mxConstants.DIRECTION_MASK_NORTH)<<1,c=c|(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return c|(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,c,f){var d=-1;if(0<a.absolutePoints.length)for(var b=a.absolutePoints[0],e=null,g=1;g<a.absolutePoints.length;g++){var k=a.absolutePoints[g],b=mxUtils.ptSegDistSq(b.x,b.y,k.x,k.y,c,f);if(null==e||b<e)e=b,d=g-1;b=k}return d},rectangleIntersectsSegment:function(a, c,f){var d=a.y,b=a.x,e=d+a.height,g=b+a.width;a=c.x;var k=f.x;c.x>f.x&&(a=f.x,k=c.x);k>g&&(k=g);a<b&&(a=b);if(a>k)return!1;var b=c.y,g=f.y,l=f.x-c.x;1E-7<Math.abs(l)&&(f=(f.y-c.y)/l,c=c.y-f*c.x,b=f*a+c,g=f*k+c);b>g&&(c=g,g=b,b=c);g>e&&(g=e);b<d&&(b=d);return b>g?!1:!0},contains:function(a,c,f){return a.x<=c&&a.x+a.width>=c&&a.y<=f&&a.y+a.height>=f},intersects:function(a,c){var f=a.width,d=a.height,b=c.width,e=c.height;if(0>=b||0>=e||0>=f||0>=d)return!1;var g=a.x,k=a.y,l=c.x,n=c.y,b=b+l,e=e+n,f=f+ g,d=d+k;return(b<l||b>g)&&(e<n||e>k)&&(f<g||f>l)&&(d<k||d>n)},intersectsHotspot:function(a,c,f,d,b,e){d=null!=d?d:1;b=null!=b?b:0;e=null!=e?e:0;if(0<d){var g=a.getCenterX(),k=a.getCenterY(),l=a.width,n=a.height,m=mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE)*a.view.scale;0<m&&(mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,!0)?(k=a.y+m/2,n=m):(g=a.x+m/2,l=m));l=Math.max(b,l*d);n=Math.max(b,n*d);0<e&&(l=Math.min(l,e),n=Math.min(n,e));d=new mxRectangle(g-l/2,k-n/2,l,n);g=mxUtils.toRadians(mxUtils.getValue(a.style, @@ -1647,8 +1647,8 @@ g=this.getAlignmentTolerance();if(0<g){var k=this.graph.view.getState(c);if(null mxConnectionHandler.prototype.createEdge=function(a,c,f,d){var b=null;null!=this.factoryMethod&&(b=this.factoryMethod(c,f,d));null==b&&(b=new mxCell(a||""),b.setEdge(!0),b.setStyle(d),a=new mxGeometry,a.relative=!0,b.setGeometry(a));return b}; mxConnectionHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.marker&&(this.marker.destroy(),this.marker=null);null!=this.constraintHandler&&(this.constraintHandler.destroy(),this.constraintHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getView().removeListener(this.changeHandler),this.changeHandler=null);null!=this.drillHandler&&(this.graph.removeListener(this.drillHandler), this.graph.getView().removeListener(this.drillHandler),this.drillHandler=null);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null)}; -function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,f){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)&&this.reset()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5);mxConstraintHandler.prototype.graph=null; -mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; +function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,f){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)?this.reset():this.redraw()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5); +mxConstraintHandler.prototype.graph=null;mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; mxConstraintHandler.prototype.reset=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusIcons=null}null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null);this.focusPoints=this.currentFocus=this.currentPoint=this.currentFocusArea=this.currentConstraint=null};mxConstraintHandler.prototype.getTolerance=function(a){return this.graph.getTolerance()}; mxConstraintHandler.prototype.getImageForConstraint=function(a,c,f){return this.pointImage};mxConstraintHandler.prototype.isEventIgnored=function(a,c){return!1};mxConstraintHandler.prototype.isStateIgnored=function(a,c){return!1};mxConstraintHandler.prototype.destroyIcons=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusPoints=this.focusIcons=null}}; mxConstraintHandler.prototype.destroyFocusHighlight=function(){null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null)};mxConstraintHandler.prototype.isKeepFocusEvent=function(a){return mxEvent.isShiftDown(a.getEvent())}; @@ -1657,6 +1657,8 @@ mxConstraintHandler.prototype.update=function(a,c,f,d){if(this.isEnabled()&&!thi d));if(!this.isKeepFocusEvent(a)&&(null==this.currentFocusArea||null==this.currentFocus||null!=k||!this.graph.getModel().isVertex(this.currentFocus.cell)||!mxUtils.intersects(this.currentFocusArea,b))&&k!=this.currentFocus)this.currentFocus=this.currentFocusArea=null,this.setFocus(a,k,c);a=this.currentPoint=this.currentConstraint=null;if(null!=this.focusIcons&&null!=this.constraints&&(null==k||this.currentFocus==k))for(var g=b.getCenterX(),l=b.getCenterY(),n=0;n<this.focusIcons.length;n++){var m= g-this.focusIcons[n].bounds.getCenterX(),p=l-this.focusIcons[n].bounds.getCenterY(),m=m*m+p*p;if((this.intersects(this.focusIcons[n],b,c,f)||null!=d&&this.intersects(this.focusIcons[n],e,c,f))&&(null==a||m<a)){this.currentConstraint=this.constraints[n];this.currentPoint=this.focusPoints[n];a=m;m=this.focusIcons[n].bounds.clone();m.grow(mxConstants.HIGHLIGHT_SIZE);mxClient.IS_IE&&(m.grow(1),m.width-=1,m.height-=1);if(null==this.focusHighlight){p=this.createHighlightShape();p.dialect=this.graph.dialect== mxConstants.DIALECT_SVG?mxConstants.DIALECT_SVG:mxConstants.DIALECT_VML;p.pointerEvents=!1;p.init(this.graph.getView().getOverlayPane());this.focusHighlight=p;var s=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:k});mxEvent.redirectMouseEvents(p.node,this.graph,s)}this.focusHighlight.bounds=m;this.focusHighlight.redraw()}}null==this.currentConstraint&&this.destroyFocusHighlight()}else this.currentPoint=this.currentFocus=this.currentConstraint=null}; +mxConstraintHandler.prototype.redraw=function(){if(null!=this.currentFocus&&null!=this.constraints&&null!=this.focusIcons){var a=this.graph.view.getState(this.currentFocus.cell);this.currentFocus=a;this.currentFocusArea=new mxRectangle(a.x,a.y,a.width,a.height);for(var c=0;c<this.constraints.length;c++){var f=this.graph.getConnectionPoint(a,this.constraints[c]),d=this.getImageForConstraint(a,this.constraints[c],f),d=new mxRectangle(Math.round(f.x-d.width/2),Math.round(f.y-d.height/2),d.width,d.height); +this.focusIcons[c].bounds=d;this.focusIcons[c].redraw();this.currentFocusArea.add(this.focusIcons[c].bounds);this.focusPoints[c]=f}}}; mxConstraintHandler.prototype.setFocus=function(a,c,f){this.constraints=null!=c&&!this.isStateIgnored(c,f)&&this.graph.isCellConnectable(c.cell)?this.isEnabled()?this.graph.getAllConnectionConstraints(c,f)||[]:[]:null;if(null!=this.constraints){this.currentFocus=c;this.currentFocusArea=new mxRectangle(c.x,c.y,c.width,c.height);if(null!=this.focusIcons){for(f=0;f<this.focusIcons.length;f++)this.focusIcons[f].destroy();this.focusPoints=this.focusIcons=null}this.focusPoints=[];this.focusIcons=[];for(f= 0;f<this.constraints.length;f++){var d=this.graph.getConnectionPoint(c,this.constraints[f]),b=this.getImageForConstraint(c,this.constraints[f],d),e=b.src,b=new mxRectangle(Math.round(d.x-b.width/2),Math.round(d.y-b.height/2),b.width,b.height),e=new mxImageShape(b,e);e.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG;e.preserveImageAspect=!1;e.init(this.graph.getView().getDecoratorPane());(mxClient.IS_QUIRKS||8==document.documentMode)&&mxEvent.addListener(e.node, "dragstart",function(b){mxEvent.consume(b);return!1});null!=e.node.previousSibling&&e.node.parentNode.insertBefore(e.node,e.node.parentNode.firstChild);b=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:c});e.redraw();mxEvent.redirectMouseEvents(e.node,this.graph,b);this.currentFocusArea.add(e.bounds);this.focusIcons.push(e);this.focusPoints.push(d)}this.currentFocusArea.grow(this.getTolerance(a))}else this.destroyIcons(),this.destroyFocusHighlight()}; @@ -2494,7 +2496,7 @@ b.length-1;0<=f;f--)if(0==f||b[f]!=e[f-1]){b[f].setAttribute("width",a);b[f].set "_blank");break}}};Graph.prototype.isCellResizable=function(b){var a=mxGraph.prototype.isCellResizable.apply(this,arguments),d=this.view.getState(b),d=null!=d?d.style:this.getCellStyle(b);return a||"0"!=mxUtils.getValue(d,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==d[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(b,a){null==a&&(a=this.getSelectionCells());if(null!=a&&1<a.length){for(var d=[],c=null,e=null,f=0;f<a.length;f++)if(this.getModel().isVertex(a[f])){var g=this.view.getState(a[f]); if(null!=g){var k=b?g.getCenterX():g.getCenterY(),c=null!=c?Math.max(c,k):k,e=null!=e?Math.min(e,k):k;d.push(g)}}if(2<d.length){d.sort(function(a,d){return b?a.x-d.x:a.y-d.y});g=this.view.translate;k=this.view.scale;e=e/k-(b?g.x:g.y);c=c/k-(b?g.x:g.y);this.getModel().beginUpdate();try{for(var l=(c-e)/(d.length-1),c=e,f=1;f<d.length-1;f++){var n=this.getCellGeometry(d[f].cell),c=c+l;null!=n&&(n=n.clone(),b?n.x=Math.round(c-n.width/2):n.y=Math.round(c-n.height/2),this.getModel().setGeometry(d[f].cell, n))}}finally{this.getModel().endUpdate()}}}return a};Graph.prototype.isCloneEvent=function(b){return mxClient.IS_MAC&&mxEvent.isMetaDown(b)||mxEvent.isControlDown(b)};Graph.prototype.encodeCells=function(b){for(var a=this.cloneCells(b),d=0;d<a.length;d++){var c=this.view.getState(b[d]);if(null!=c){var e=this.getCellGeometry(a[d]);null!=e&&e.relative&&(e.relative=!1,e.x=c.x/c.view.scale-c.view.translate.x,e.y=c.y/c.view.scale-c.view.translate.y)}}for(var c=new mxCodec,e=new mxGraphModel,f=e.getChildAt(e.getRoot(), -0),d=0;d<b.length;d++)e.add(f,a[d]);return c.encode(e)};Graph.prototype.createSvgImageExport=function(){var b=new mxImageExport;b.getLinkForCellState=mxUtils.bind(this,function(b,a){return this.getLinkForCell(b.cell)});return b};Graph.prototype.getSvg=function(b,a,d,c,e,f,g){a=null!=a?a:1;d=null!=d?d:1;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;c=f||c?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==c)throw Error(mxResources.get("drawingEmpty"));var k=this.createSvgImageExport(), +0),d=0;d<b.length;d++)e.add(f,a[d]);return c.encode(e)};Graph.prototype.createSvgImageExport=function(){var b=new mxImageExport;b.getLinkForCellState=mxUtils.bind(this,function(b,a){return this.getLinkForCell(b.cell)});return b};Graph.prototype.getSvg=function(b,a,d,c,e,f,g){a=null!=a?a:1;d=null!=d?d:0;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;c=f||c?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==c)throw Error(mxResources.get("drawingEmpty"));var k=this.createSvgImageExport(), l=k.drawCellState;k.drawCellState=function(b,a){(f||b.view.graph.isCellSelected(b.cell))&&l.apply(this,arguments)};var n=this.view.scale,m=mxUtils.createXmlDocument(),p=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"svg"):m.createElement("svg");null!=b&&(null!=p.style?p.style.backgroundColor=b:p.setAttribute("style","background-color:"+b));null==m.createElementNS?(p.setAttribute("xmlns",mxConstants.NS_SVG),p.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):p.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink",mxConstants.NS_XLINK);b=a/n;p.setAttribute("width",Math.ceil(c.width*b)+2*d+"px");p.setAttribute("height",Math.ceil(c.height*b)+2*d+"px");p.setAttribute("version","1.1");var u=p;e&&(u=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"g"):m.createElement("g"),u.setAttribute("transform","translate(0.5,0.5)"),p.appendChild(u));m.appendChild(p);m=new mxSvgCanvas2D(u);m.foOffset=e?-0.5:0;m.textOffset=e?-0.5:0;m.translate(Math.floor((d/a-c.x)/n),Math.floor((d/a-c.y)/n));var v= m.createAlternateContent;m.createAlternateContent=function(b,a,d,c,e,f,g,k,l,n,m,p,u){var q=this.state;if(null!=this.foAltText&&(0==c||0!=q.fontSize&&f.length<5*c/q.fontSize)){var t=this.createElement("text");t.setAttribute("x",Math.round(c/2));t.setAttribute("y",Math.round((e+q.fontSize)/2));t.setAttribute("fill",q.fontColor||"black");t.setAttribute("text-anchor","middle");t.setAttribute("font-size",Math.round(q.fontSize)+"px");t.setAttribute("font-family",q.fontFamily);(q.fontStyle&mxConstants.FONT_BOLD)== @@ -2787,7 +2789,7 @@ Menubar.prototype.addMenuHandler=function(a,c){if(null!=c){var f=!0,d=mxUtils.bi b);this.editorUi.setCurrentMenu(d,a)}mxEvent.consume(b)});mxEvent.addListener(a,"mousemove",mxUtils.bind(this,function(b){null!=this.editorUi.currentMenu&&this.editorUi.currentMenuElt!=a&&(this.editorUi.hideCurrentMenu(),d(b))}));mxEvent.addListener(a,"mousedown",mxUtils.bind(this,function(){f=this.currentElt!=a}));mxEvent.addListener(a,"click",mxUtils.bind(this,function(b){d(b);f=!0}))}};Menubar.prototype.destroy=function(){}; function Menu(a,c){mxEventSource.call(this);this.funct=a;this.enabled=null!=c?c:!0}mxUtils.extend(Menu,mxEventSource);Menu.prototype.isEnabled=function(){return this.enabled};Menu.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Menu.prototype.execute=function(a,c){this.funct(a,c)};EditorUi.prototype.createMenus=function(){return new Menus(this)};Format=function(a,c){this.editorUi=a;this.container=c}; Format.prototype.labelIndex=0;Format.prototype.currentIndex=0; -Format.prototype.init=function(){var a=this.editorUi.editor.graph;this.update=mxUtils.bind(this,function(a,f){this.clearSelectionState();this.refresh()});a.getSelectionModel().addListener(mxEvent.CHANGE,this.update);a.addListener(mxEvent.EDITING_STARTED,this.update);a.addListener(mxEvent.EDITING_STOPPED,this.update);a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.clearSelectionState()}));a.addListener(mxEvent.ROOT,mxUtils.bind(this,function(){this.refresh()}));this.refresh()}; +Format.prototype.init=function(){var a=this.editorUi.editor.graph;this.update=mxUtils.bind(this,function(a,f){this.clearSelectionState();this.refresh()});a.getSelectionModel().addListener(mxEvent.CHANGE,this.update);a.addListener(mxEvent.EDITING_STARTED,this.update);a.addListener(mxEvent.EDITING_STOPPED,this.update);a.getModel().addListener(mxEvent.CHANGE,this.update);a.addListener(mxEvent.ROOT,mxUtils.bind(this,function(){this.refresh()}));this.refresh()}; Format.prototype.clearSelectionState=function(){this.selectionState=null};Format.prototype.getSelectionState=function(){null==this.selectionState&&(this.selectionState=this.createSelectionState());return this.selectionState};Format.prototype.createSelectionState=function(){for(var a=this.editorUi.editor.graph.getSelectionCells(),c=this.initSelectionState(),f=0;f<a.length;f++)this.updateSelectionStateForCell(c,a[f],a);return c}; Format.prototype.initSelectionState=function(){return{vertices:[],edges:[],x:null,y:null,width:null,height:null,style:{},containsImage:!1,containsLabel:!1,fill:!0,glass:!0,rounded:!0,comic:!0,autoSize:!1,image:!0,shadow:!0}}; Format.prototype.updateSelectionStateForCell=function(a,c,f){f=this.editorUi.editor.graph;if(f.getModel().isVertex(c)){a.vertices.push(c);var d=f.getCellGeometry(c);if(null!=d&&(0<d.width?null==a.width?a.width=d.width:a.width!=d.width&&(a.width=""):a.containsLabel=!0,0<d.height?null==a.height?a.height=d.height:a.height!=d.height&&(a.height=""):a.containsLabel=!0,!d.relative||null!=d.offset)){var b=d.relative?d.offset.x:d.x,d=d.relative?d.offset.y:d.y;null==a.x?a.x=b:a.x!=b&&(a.x="");null==a.y?a.y= @@ -3090,8 +3092,8 @@ document.createElement("option");e.setAttribute("value","new");mxUtils.write(e,m b.value)window.openFile=new OpenFile(function(){a.hideDialog();window.openFile=null}),window.openFile.setData(d,null),window.open(a.getUrl());else if("replace"==b.value){a.editor.graph.model.beginUpdate();try{a.editor.setGraphXml(mxUtils.parseXml(d).documentElement),a.hideDialog()}catch(e){c=e}finally{a.editor.graph.model.endUpdate()}}else if("import"==b.value){a.editor.graph.model.beginUpdate();try{var n=mxUtils.parseXml(d),m=new mxGraphModel;(new mxCodec(n)).decode(n.documentElement,m);var p=m.getChildren(m.getChildAt(m.getRoot(), 0));a.editor.graph.setSelectionCells(a.editor.graph.importCells(p));a.hideDialog()}catch(s){c=s}finally{a.editor.graph.model.endUpdate()}}null!=c&&mxUtils.alert(c.message)});e.className="geBtn gePrimaryBtn";c.appendChild(e);a.editor.cancelFirst||c.appendChild(d);this.container=c},ExportDialog=function(a){function c(){var b=m.value,a=b.lastIndexOf(".");m.value=0<a?b.substring(0,a+1)+p.value:b+"."+p.value;"xml"===p.value?(s.setAttribute("disabled","true"),t.setAttribute("disabled","true"),q.setAttribute("disabled", "true"),u.setAttribute("disabled","true")):(s.removeAttribute("disabled"),t.removeAttribute("disabled"),q.removeAttribute("disabled"),u.removeAttribute("disabled"));"png"===p.value||"svg"===p.value?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}function f(){t.style.backgroundColor=t.value*q.value>MAX_AREA||0>=t.value?"red":"";q.style.backgroundColor=t.value*q.value>MAX_AREA||0>=q.value?"red":""}var d=a.editor.graph,b=d.getGraphBounds(),e=d.view.scale,g=Math.ceil(b.width/e),k= -Math.ceil(b.height/e),l,e=document.createElement("table"),n=document.createElement("tbody");e.setAttribute("cellpadding","2");b=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";l.style.width="100px";mxUtils.write(l,mxResources.get("filename")+":");b.appendChild(l);var m=document.createElement("input");m.setAttribute("value",a.editor.getOrCreateFilename());m.style.width="180px";l=document.createElement("td");l.appendChild(m);b.appendChild(l);n.appendChild(b);b=document.createElement("tr"); -l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("format")+":");b.appendChild(l);var p=document.createElement("select");p.style.width="180px";l=document.createElement("option");l.setAttribute("value","png");mxUtils.write(l,mxResources.get("formatPng"));p.appendChild(l);l=document.createElement("option");ExportDialog.showGifOption&&(l.setAttribute("value","gif"),mxUtils.write(l,mxResources.get("formatGif")),p.appendChild(l));l=document.createElement("option"); +Math.ceil(b.height/e),l,e=document.createElement("table"),n=document.createElement("tbody");e.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");b=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";l.style.width="100px";mxUtils.write(l,mxResources.get("filename")+":");b.appendChild(l);var m=document.createElement("input");m.setAttribute("value",a.editor.getOrCreateFilename());m.style.width="180px";l=document.createElement("td");l.appendChild(m);b.appendChild(l);n.appendChild(b); +b=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("format")+":");b.appendChild(l);var p=document.createElement("select");p.style.width="180px";l=document.createElement("option");l.setAttribute("value","png");mxUtils.write(l,mxResources.get("formatPng"));p.appendChild(l);l=document.createElement("option");ExportDialog.showGifOption&&(l.setAttribute("value","gif"),mxUtils.write(l,mxResources.get("formatGif")),p.appendChild(l));l=document.createElement("option"); l.setAttribute("value","jpg");mxUtils.write(l,mxResources.get("formatJpg"));p.appendChild(l);l=document.createElement("option");l.setAttribute("value","pdf");mxUtils.write(l,mxResources.get("formatPdf"));p.appendChild(l);l=document.createElement("option");l.setAttribute("value","svg");mxUtils.write(l,mxResources.get("formatSvg"));p.appendChild(l);ExportDialog.showXmlOption&&(l=document.createElement("option"),l.setAttribute("value","xml"),mxUtils.write(l,mxResources.get("formatXml")),p.appendChild(l)); l=document.createElement("td");l.appendChild(p);b.appendChild(l);n.appendChild(b);b=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("zoom")+" (%):");b.appendChild(l);var s=document.createElement("input");s.setAttribute("type","number");s.setAttribute("value","100");s.style.width="180px";l=document.createElement("td");l.appendChild(s);b.appendChild(l);n.appendChild(b);b=document.createElement("tr");l=document.createElement("td");l.style.fontSize= "10pt";mxUtils.write(l,mxResources.get("width")+":");b.appendChild(l);var t=document.createElement("input");t.setAttribute("value",g);t.style.width="180px";l=document.createElement("td");l.appendChild(t);b.appendChild(l);n.appendChild(b);b=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("height")+":");b.appendChild(l);var q=document.createElement("input");q.setAttribute("value",k);q.style.width="180px";l=document.createElement("td"); @@ -7556,7 +7558,7 @@ c);while(c++<a&&"1"==mxUtils.getValue(this.getCellStyle(b),"locked","0"));null!= [SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan= [SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml= [SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves= -[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var t=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,e,f,k,g,l,n){if(null!=c&&null==mxMarker.markers[c]){var m=this.getPackageForType(c);null!=m&&mxStencilRegistry.getStencil(m)}return t.apply(this,arguments)}})();(function(){EditorUi.VERSION="6.0.2.12";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=window&&window.process&&window.process.type;EditorUi.plusImage=!mxClient.IS_SVG?IMAGE_PATH+"/plus.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII\x3d"; +[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var t=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,e,f,k,g,l,n){if(null!=c&&null==mxMarker.markers[c]){var m=this.getPackageForType(c);null!=m&&mxStencilRegistry.getStencil(m)}return t.apply(this,arguments)}})();(function(){EditorUi.VERSION="6.0.2.13";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=window&&window.process&&window.process.type;EditorUi.plusImage=!mxClient.IS_SVG?IMAGE_PATH+"/plus.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII\x3d"; EditorUi.spinImage=!mxClient.IS_SVG?IMAGE_PATH+"/spin.gif":"data:image/gif;base64,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw\x3d\x3d"; EditorUi.prototype.emptyDiagramXml='\x3cmxGraphModel\x3e\x3croot\x3e\x3cmxCell id\x3d"0"/\x3e\x3cmxCell id\x3d"1" parent\x3d"0"/\x3e\x3c/root\x3e\x3c/mxGraphModel\x3e';EditorUi.prototype.emptyLibraryXml="\x3cmxlibrary\x3e[]\x3c/mxlibrary\x3e";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape\x3dstencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE\x3d);whiteSpace\x3dwrap;html\x3d1;"; EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;(function(){EditorUi.prototype.useCanvasForExport=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=c&&6<c.length}catch(d){}}; @@ -7623,126 +7625,127 @@ q.substring(0,2)&&(q=q.substring(2),a+=' \x3ca href\x3d"https://drive.google.com function(a,b,c,d,e,f,g){a=new ErrorDialog(this,a,b,c,d,e,f,g);this.showDialog(a.container,340,150,!0,!1);a.init()};EditorUi.prototype.alert=function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,c,d,e){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){f();null!=b&&b()},function(){f();null!=c&&c()},d,e)).container, 340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+ btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createPngDataUri=function(a,b){var c=a.toDataURL("image/png");if(6>=c.length||c==a.cloneNode(!1).toDataURL("image/png"))throw{message:"Invalid image"};null!=b&&(c=this.writeGraphModelToPng(c,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return c};EditorUi.prototype.saveCanvas=function(a,b){var c=this.getCurrentFile(),c=null!=c&&null!=c.getTitle()?c.getTitle():this.defaultFilename,d=c.lastIndexOf(".");0<d&&(c=c.substring(0,d)); -c+=".png";d=this.createPngDataUri(a,b);this.saveData(c,"png",d.substring(d.lastIndexOf(",")+1),"image/png",!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d){if(window.MSBlobBuilder&&navigator.msSaveOrOpenBlob)d= +c+=".png";d=this.createPngDataUri(a,b);this.saveData(c,"png",d.substring(d.lastIndexOf(",")+1),"image/png",!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d,e){if(window.MSBlobBuilder&&navigator.msSaveOrOpenBlob)d= new MSBlobBuilder,d.append(a),a=d.getBlob(c),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height="380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null); -else if(!this.isOffline()&&mxClient.IS_SF)this.createEchoRequest(a,b,c,d).simulate(document,"_blank");else{var e=document.createElement("a");e.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));e.download=b;document.body.appendChild(e);mxClient.IS_SF&&e.setAttribute("target","_blank");try{e.click(),window.setTimeout(function(){URL.revokeObjectURL(e.href)},0),e.parentNode.removeChild(e)}catch(f){}}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,f){a="xml\x3d"+encodeURIComponent(a); -return new mxXmlRequest(SAVE_URL,a+(null!=c?"\x26mime\x3d"+c:"")+(null!=e?"\x26format\x3d"+e:"")+(null!=f?"\x26base64\x3d"+f:"")+(null!=b?"\x26filename\x3d"+encodeURIComponent(b):"")+(d?"\x26binary\x3d1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),f=Array(e),g=0;g<e;++g){for(var q=1024*g,v=Math.min(q+1024,d),u=Array(v-q),x=0;q<v;++x,++q)u[x]=c[q].charCodeAt(0);f[g]=new Uint8Array(u)}return new Blob(f,{type:b})};EditorUi.prototype.saveLocalFile= -function(a,b,c,d){var e=!mxClient.IS_IOS||!navigator.standalone,f=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):null!=c&&"image/"==c.substring(0,6)&&("image/svg"!=c.substring(0,9)||mxClient.IS_SVG)?!d||mxClient.IS_EDGE||11==document.documentMode|| -10==document.documentMode?(f.document.write('\x3chtml\x3e\x3cimg src\x3d"data:'+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))+'"/\x3e\x3c/html\x3e'),f.document.close()):f.location.replace("data:"+c+";base64,"+a):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else e==App.MODE_DEVICE?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(f){this.exportFile(a,b,c,d,e,f)}))}catch(g){this.handleError(g)}}),mxUtils.bind(this,function(){this.hideDialog()}), -mxResources.get("saveAs"),mxResources.get("download"),!1,!1,e);this.showDialog(b.container,380,f?280:160,!0,!0);b.init()};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}))};EditorUi.prototype.saveRequest=function(a,b,c){var d=!mxClient.IS_IOS||!navigator.standalone,e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"=== -typeof window.DropboxClient||"function"===typeof window.OneDriveClient);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var e=c("_blank"==d?null:a,d==App.MODE_DEVICE||null==d||"_blank"==d?"0":"1");null!=e&&(d==App.MODE_DEVICE||"_blank"==d?e.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){this.spinner.spin(document.body,mxResources.get("saving"))&&e.send(mxUtils.bind(this,function(){this.spinner.stop();if(200>e.getStatus()|| -299<e.getStatus())this.handleError({message:mxResources.get("errorSavingFile")});else try{var f="pdf"==b?"application/pdf":"image/"+b;this.exportFile(e.getText(),a,f,!0,d,c)}catch(g){this.handleError(g)}}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,d);this.showDialog(a.container,380,e?280:160,!0,!0);a.init()};EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder= -function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,g){if(this.spinner.spin(document.body,mxResources.get("export"))){var q=this.editor.graph.isSelectionEmpty();c=null!=c?c:q;q=b?null:this.editor.graph.background;q==mxConstants.NONE&&(q=null);null==q&&!1==b&&(q="#ffffff");var v=this.editor.graph.getSvg(q,a,null,g,null,c);d&&this.editor.addSvgShadow(v);a=this.getCurrentFile();var u=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;a=u.lastIndexOf(".");0<a&&(u=u.substring(0, -a));var u=u+".svg",x=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c));var b='\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(u,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))}); -this.convertMath(this.editor.graph,v,!1,mxUtils.bind(this,function(){f?this.convertImages(v,x):x(v)}))}};EditorUi.prototype.showRemoteExportDialog=function(a,b,c){var d=this.editor.graph,e=document.createElement("div");e.style.padding="6px";var f=document.createElement("input");f.style.marginRight="8px";f.setAttribute("type","checkbox");d.isSelectionEmpty()&&f.setAttribute("disabled","disabled");e.appendChild(f);mxUtils.write(e,mxResources.get("selectionOnly"));mxUtils.br(e);var g=document.createElement("input"); -g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";e.appendChild(g);mxUtils.write(e,mxResources.get("includeCopyOfMyDiagram"));a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!f.checked,g.checked)}),null,a,b);this.showDialog(a.container,300,120,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e){var f=this.editor.graph,g=document.createElement("div");g.style.paddingTop="20px";g.style.paddingRight= -"8px";var q=240,v=document.createElement("input");v.style.marginRight="8px";v.setAttribute("type","checkbox");if(f.background==mxConstants.NONE||null==f.background)v.setAttribute("checked","checked"),v.defaultChecked=!0;g.appendChild(v);mxUtils.write(g,mxResources.get("transparentBackground"));mxUtils.br(g);var u=document.createElement("input");u.style.marginTop="16px";u.style.marginRight="8px";u.setAttribute("type","checkbox");g.appendChild(u);mxUtils.write(g,mxResources.get("selectionOnly"));mxUtils.br(g); -var x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.setAttribute("type","checkbox");e&&(g.appendChild(x),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),q+=26);f.isSelectionEmpty()&&(u.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"));var A=document.createElement("input");A.style.marginTop="16px";A.style.marginRight="8px";A.setAttribute("type","checkbox");g.appendChild(A);mxUtils.write(g,mxResources.get("shadow"));mxUtils.br(g); -f.shadowVisible&&(A.setAttribute("checked","checked"),A.defaultChecked=!0);var z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");(this.isOffline()||!this.canvasSupported)&&z.setAttribute("disabled","disabled");a&&(g.appendChild(z),mxUtils.write(g,mxResources.get("embedImages")),mxUtils.br(g),q+=26);var y=document.createElement("input");y.style.marginTop="16px";y.style.marginRight="8px";y.setAttribute("type","checkbox");y.style.marginBottom= -"8px";y.setAttribute("checked","checked");y.defaultChecked=!0;g.appendChild(y);mxUtils.write(g,mxResources.get("includeCopyOfMyDiagram"));a=new FilenameDialog(this,100,b,mxUtils.bind(this,function(a){d(a,v.checked,!u.checked,A.checked,y.checked,z.checked,x.checked)}),mxResources.get("zoom")+" (%)",null,g,!this.isOffline()?c:null);this.showDialog(a.container,320,q,!0,!0);a.init()};EditorUi.prototype.uploadToGithub=function(a,b,c){var d=this.spinner.pause();c=document.createElement("div");c.style.paddingTop= -"20px";c.style.paddingRight="8px";var e=document.createElement("table"),f=document.createElement("tbody"),g=document.createElement("tr"),q=document.createElement("td"),v=document.createElement("input");v.setAttribute("type","text");mxUtils.write(q,"Username:");g.appendChild(q);q=q.cloneNode(!1);q.appendChild(v);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),u=document.createElement("input");u.setAttribute("type","password");mxUtils.write(q,"Password:");g=g.cloneNode(!1);g.appendChild(q); -q=q.cloneNode(!1);q.appendChild(u);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),x=document.createElement("input");x.setAttribute("type","text");mxUtils.write(q,"Organisation:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(x);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),A=document.createElement("input");A.setAttribute("type","text");mxUtils.write(q,"Repository:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(A);g.appendChild(q);f.appendChild(g); -var q=q.cloneNode(!1),z=document.createElement("input");z.setAttribute("type","text");mxUtils.write(q,"Path:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(z);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);a=this.getCurrentFile();a=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;var y=a.lastIndexOf(".");0<y&&(a=a.substring(0,y));z.value=a+".png";var D=document.createElement("input");D.setAttribute("type","text");mxUtils.write(q,"Branch/Tag:");D.value="master"; -g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(D);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),B=document.createElement("input");B.setAttribute("type","text");mxUtils.write(q,"Message:");B.value="Updated "+a+".png";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(B);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);e.appendChild(f);c.appendChild(e);c=new FilenameDialog(this,null,mxResources.get("publish"),mxUtils.bind(this,function(){var a="https://api.github.com/repos/"+ -x.value+"/"+A.value+"/contents/"+z.value+"?ref\x3d"+encodeURIComponent(D.value);d();mxUtils.get(a,mxUtils.bind(this,function(c){if(200==c.getStatus()||404==c.getStatus()){c=JSON.parse(c.getText());var e={path:z.value,message:B.value,content:b};null!=c.sha&&(e.sha=c.sha);var f=new XMLHttpRequest;f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&300>f.status){this.spinner.stop();this.hideDialog();a="https://github.com/"+x.value+"/"+A.value+"/blob/"+D.value+"/"+z.value; -var b=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open(a)}),!1);this.showDialog(b.container,340,170,!0,!1);b.init()}else d=this.spinner.pause(),this.handleError(JSON.parse(f.responseText))});f.open("PUT",a,!0);f.setRequestHeader("Authorization","Basic "+ -btoa(v.value+":"+u.value));f.send(JSON.stringify(e))}else this.hideDialog(),this.spinner.stop(),this.handleError(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){this.hideDialog();this.spinner.stop();this.handleError({message:mxResources.get("unknownError")})}))}),null,null,c,null,!1);this.showDialog(c.container,260,260,!0,!1);c.init()};EditorUi.prototype.uploadToImgur=function(a,b,c,d){var e=this.spinner.pause();c=!1;var f=new ErrorDialog(this,mxResources.get("warning"),'\x3cimg style\x3d"max-width:300px;max-height:80px;margin-bottom:20px;padding:6px;border:1px solid gray;" src\x3d"data:image/png;base64,'+ -b+'"/\x3e\x3cbr\x3e'+mxResources.get("publishConfirmation"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("publish"),mxUtils.bind(this,function(){e();var f=null!=a.getTitle()?a.getTitle():this.defaultFilename,g=f.lastIndexOf("."),v=f;0<g&&(v=f=v.substring(0,g));var g=new mxXmlRequest("/imgur",JSON.stringify({type:"base64",image:b,name:v+".png",title:f,description:"Made with https://www.draw.io"}),"POST"),u=mxUtils.bind(this,function(a){var b={message:mxResources.get("unknownError")}; -try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});g.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText()),e="https://www.draw.io/i/"+b.data.id;try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity\x3dCONFIG\x26msg\x3dimgur-published:"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(g){}var k=mxUtils.bind(this,function(){this.spinner.stop(); -var a="https://imgur.com/"+b.data.id,f="https://www.draw.io/imgur?delete\x3d"+b.data.deletehash,a=new ErrorDialog(this,mxResources.get("published"),(c?mxResources.get("viewUrl",['\x3ca href\x3d"'+e+'" target\x3d"_blank"\x3e'+e+"\x3c/a\x3e"])+"\x3cbr\x3e":"")+mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"])+"\x3cbr\x3e"+mxResources.get("deleteUrl",[f]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("share"), -function(){d(b.data.id,c)},!1);this.showDialog(a.container,340,180,!0,!1);a.init()});if(c){var l=new mxXmlRequest("/imgur?"+b.data.deletehash,JSON.stringify({title:f,description:mxResources.get("viewUrl",[e])}),"POST");l.send(mxUtils.bind(this,function(){200==l.getStatus()?k():u(l)}),mxUtils.bind(this,function(){u(l)}))}else k()}catch(p){this.handleError(p)}else u(a)}),mxUtils.bind(this,function(a){u(a)}))}));this.showDialog(f.container,320,250,!0,!1);f.init()};EditorUi.prototype.publishImage=function(a, -b){var c=this.getCurrentFile();null!=c&&(this.isExportToCanvas()?this.showExportDialog(!1,mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e,f,g,q){d=parseInt(d);if(!isNaN(d)&&0<d){d/=100;var v=this.editor.graph.isSelectionEmpty();f=null!=f?f:v;if(this.spinner.spin(document.body,mxResources.get("publishing")))try{this.exportToCanvas(mxUtils.bind(this,function(d){try{var e=q?this.getFileData(!0,null,null,null,f):null,g=this.createPngDataUri(d, -e);a(c,g.substring(g.lastIndexOf(",")+1),q,b)}catch(m){this.handleError(m)}}),null,null,null,mxUtils.bind(this,function(a){this.handleError(a)}),null,f,d||1,e,g)}catch(u){this.handleError(u)}}})):this.showRemoteExportDialog(mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e){if(this.spinner.spin(document.body,mxResources.get("publishing"))){var f=this.editor.graph.getGraphBounds(),g=this.getFileData(!0,null,null,null,d);if(f.width* -f.height<=MAX_AREA&&g.length<=MAX_REQUEST_SIZE)try{var q=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+(e?"1":"0")+"\x26xml\x3d"+encodeURIComponent(g));q.send(mxUtils.bind(this,function(){200==q.getStatus()?a(c,q.getText(),e,b):this.handleError(q)}))}catch(v){this.handleError(v)}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}})))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3); -if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&& -(g=null));b=b.getSvg(g,null,null,null,null,f);null!=a&&b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n': -"")+mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,f){if(this.spinner.spin(document.body,mxResources.get("exporting"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c):null)}catch(b){"Invalid image"==b.message?this.downloadFile("png"):this.handleError(b)}}),null,null,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}), -null,c,a||1,b,d,null,null,null,f)}catch(q){this.spinner.stop(),this.handleError(q)}}};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,q,v,u,x,A,z,y){f=null!=f?f:!0;A=null!=A?A:this.editor.graph;z=null!=z?z:0;var D=v?null:A.background;D==mxConstants.NONE&&(D=null);null==D&&(D=d);null==D&&!1==v&&(D="#ffffff");this.convertImages(A.getSvg(D,null,null,y,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"), -g=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));q=null!=q?q:1;null!=b&&(q=!f?b/g:Math.min(1,Math.min(3*b/(4*m),b/g)));g=Math.ceil(q*g)+2*z;m=Math.ceil(q*m)+2*z;e.setAttribute("width",g);e.setAttribute("height",m);var n=e.getContext("2d");null!=D&&(n.beginPath(),n.rect(0,0,g,m),n.fillStyle=D,n.fill());n.scale(q,q);n.drawImage(d,z/q,z/q);a(e)});d.onerror=function(a){null!=e&&e(a)};try{u&&this.editor.addSvgShadow(c),this.convertMath(A,c,!0,mxUtils.bind(this,function(){d.src= -this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,x)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"==c.substring(0,8))&&c.substring(0,a.baseUrl.length)!=a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a, -b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var n=a.getElementsByTagName(c),u=0;u<n.length;u++)mxUtils.bind(this,function(c){var n=d.convert(c.getAttribute(g));if(null!=n&&"data:"!=n.substring(0,5)){var u=f[n];null==u?(e++,this.convertImageToDataUri(n,function(d){null!=d&&(f[n]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,u)}})(n[u])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.convertImageToDataUri= -function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b()});else{var c=new Image;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width=c.width;d.drawImage(c,0,0);b(a.toDataURL())};c.onerror=function(){b()};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){var q=mxUtils.parseXml(a), -v=this.editor.extractGraphModel(q.documentElement,null!=this.pages);if(null!=v&&"mxfile"==v.nodeName&&null!=this.pages){var u=v.getElementsByTagName("diagram");if(1==u.length)v=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(u[0]))).documentElement;else if(1<u.length){g.model.beginUpdate();try{for(var x=0;x<u.length;x++){var A=this.updatePageRoot(new DiagramPage(u[x])),z=this.pages.length;null==A.getName()&&A.setName(mxResources.get("pageWithNumber",[z+1]));g.model.execute(new ChangePage(this, -A,A,z))}}finally{g.model.endUpdate()}}}if(null!=v&&"mxGraphModel"===v.nodeName){var y=new mxGraphModel;(new mxCodec(v.ownerDocument)).decode(v,y);var D=y.getChildCount(y.getRoot());g.model.getChildCount(g.model.getRoot());g.model.beginUpdate();try{a={};for(x=0;x<D;x++){var B=y.getChildAt(y.getRoot(),x);if(1==D&&!g.isCellLocked(g.getDefaultParent()))var C=y.getChildren(B),f=f.concat(g.importCells(C,b,c,g.getDefaultParent(),null,a));else B=g.importCells([B],0,0,g.model.getRoot(),null,a)[0],C=g.model.getChildren(B), -g.moveCells(C,b,c),f=f.concat(C)}if(d){g.isGridEnabled()&&(b=g.snap(b),c=g.snap(c));var F=g.getBoundingBoxFromGeometry(f,!0);null!=F&&g.moveCells(f,b-F.x,c-F.y)}}finally{g.model.endUpdate()}}}}catch(H){throw e||this.handleError(H,mxResources.get("invalidOrMissingFile")),H;}return f};EditorUi.prototype.insertLucidChart=function(a,b,c,d){var e=mxUtils.bind(this,function(){if(this.pasteLucidChart)try{this.pasteLucidChart(a,b,c,d)}catch(e){}});!this.pasteLucidChart&&!this.loadingExtensions&&!this.isOffline()? -(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("/js/diagramly/Extensions.js",e):mxscript("/js/extensions.min.js",e)):window.setTimeout(e,0)};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f){f=null!=f?f:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200==a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText, -b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var g=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var q=this.extractGraphModelFromPng(a),v=this.importXml(q,b,c,f,!0);if(0<v.length)return v}if("data:image/svg+xml;"==a.substring(0,19))try{if(q=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(q=a.substring(a.indexOf(",")+1),q=window.atob&&!mxClient.IS_SF?atob(q):Base64.decode(q,!0)):q=decodeURIComponent(a.substring(a.indexOf(",")+ -1)),v=this.importXml(q,b,c,f,!0),0<v.length)return v}catch(u){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),d,e,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+this.convertDataUri(a)+";"))}),!0,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/ -d.width,this.maxImageSize/d.height)),f=Math.round(d.width*e);d=Math.round(d.height*e);g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),f,d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+a+";"))}}),mxUtils.bind(this,function(){var e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,a,g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.updateCellSize(e), -g.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{g.getModel().endUpdate()}g.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,f);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26)){e=JSON.parse(JSON.parse(a).state);var q=null,x;for(x in e.Pages)if(v=e.Pages[x],null!=v&&"0"==v.Properties.Order){q=v;break}null!=q&&this.insertLucidChart(q,b,c,f)}else{g=this.editor.graph;f=null;g.getModel().beginUpdate(); -try{f=g.insertVertex(g.getDefaultParent(),null,"",g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.fireEvent(new mxEventObject("textInserted","cells",[f])),f.value=a,g.updateCellSize(f),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i.test(f.value)&&g.setLinkForCell(f,f.value),f.geometry.width+=g.gridSize,f.geometry.height+= -g.gridSize}finally{g.getModel().endUpdate()}return[f]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\.*<graphml xmlns=\".*)/.test(a)||/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)|| -null!=b&&/(\.vsdx)($|\?)/i.test(b)};EditorUi.prototype.importFile=function(a,b,c,d,e,f,g,q,v,u,x){u=null!=u?u:!0;var A=!1,z=null;"image"==b.substring(0,5)?(g=!1,"image/png"==b.substring(0,9)&&(b=x?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(z=this.importXml(b,c,d,u),g=!0)),g||(z=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),u&&z.isGridEnabled()&&(c=z.snap(c),d=z.snap(d)),z=[z.insertVertex(null,null,"",c,d,e,f,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ -a+";")])):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,g)?(A=!0,this.parseFile(null!=v?v:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){if(4==a.readyState){var b=null;200==a.status&&(b=this.importXml(a.responseText,c,d,u));null!=q&&q(b)}}),g)):/(\.vsd)($|\?)/i.test(g)||(z=this.insertTextAt(this.validateFileData(a),c,d,!0,null,u));!A&&null!=q&&q(z);return z};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e= -a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="\x3d\x3d";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f& -15)<<2);b+="\x3d";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,g,q,v,u,x,A){var z=null!=b&&null!= -c;b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;u=null!=u?u:this.maxImageBytes;v=null!=v?v:!0;var y=this.editor.graph,D=y.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){return null!=a&&"\x3cmxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null):this.importFile(a,b,c,d,e,f,g,k,l,z,A)});f=null!=f?f:mxUtils.bind(this,function(a){y.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var B= -a.length,C=B,F=[],H=mxUtils.bind(this,function(a,b){F[a]=b;if(0==--C){this.spinner.stop();if(null!=q)q(F);else{var c=[];y.getModel().beginUpdate();try{for(var d=0;d<F.length;d++){var e=F[d]();null!=e&&(c=c.concat(e))}}finally{y.getModel().endUpdate()}}f(c)}}),G=0;G<B;G++)mxUtils.bind(this,function(f){var q=a[f],s=new FileReader;s.onload=mxUtils.bind(this,function(a){if(null==g||g(q))if("image/"==q.type.substring(0,6))if("image/svg"==q.type.substring(0,9)){var k=a.target.result,s=k.indexOf(","),z= -atob(k.substring(s+1)),y=mxUtils.parseXml(z),z=y.getElementsByTagName("svg");if(0<z.length){var z=z[0],B=A?null:z.getAttribute("content");null!=B&&("\x3c"!=B.charAt(0)&&"%"!=B.charAt(0))&&(B=unescape(window.atob?atob(B):Base64.decode(B,!0)));null!=B&&"%"==B.charAt(0)&&(B=decodeURIComponent(B));null!=B&&("\x3cmxfile "===B.substring(0,8)||"\x3cmxGraphModel "===B.substring(0,14))?H(f,mxUtils.bind(this,function(){return e(B,"text/xml",b+f*D,c+f*D,0,0,q.name)})):H(f,mxUtils.bind(this,function(){try{if(k.substring(0, -s+1),null!=y){var a=y.getElementsByTagName("svg");if(0<a.length){var g=a[0],u=parseFloat(g.getAttribute("width")),v=parseFloat(g.getAttribute("height")),x=g.getAttribute("viewBox");if(null==x||0==x.length)g.setAttribute("viewBox","0 0 "+u+" "+v);else if(isNaN(u)||isNaN(v)){var t=x.split(" ");3<t.length&&(u=parseFloat(t[2]),v=parseFloat(t[3]))}k=this.createSvgDataUri(mxUtils.getXml(a[0]));var A=Math.min(1,Math.min(d/Math.max(1,u)),d/Math.max(1,v));return e(k,q.type,b+f*D,c+f*D,Math.max(1,Math.round(u* -A)),Math.max(1,Math.round(v*A)),q.name)}}}catch(z){}return null}))}}else{z=!1;if("image/png"==q.type){var C=A?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var G=new Image;G.src=a.target.result;H(f,mxUtils.bind(this,function(){return e(C,"text/xml",b+f*D,c+f*D,G.width,G.height,q.name)}));z=!0}}z||(null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"), -mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,k,x){H(f,mxUtils.bind(this,function(){if(null!=g&&g.length<u){var s=!v||!this.isResampleImage(a.target.result)?1:Math.min(1,Math.min(d/k,d/x));return e(g,q.type,b+f*D,c+f*D,Math.round(k*s),Math.round(x*s),q.name)}this.handleError({message:mxResources.get("imageTooBig")}); -return null}))}),v,d,x)})))}else e(a.target.result,q.type,b+f*D,c+f*D,240,160,q.name,function(a){H(f,function(){return a})})});/(\.vsdx)($|\?)/i.test(q.name)?e(null,q.type,b+f*D,c+f*D,240,160,q.name,function(a){H(f,function(){return a})},q):"image"==q.type.substring(0,5)?s.readAsDataURL(q):s.readAsText(q)})(G)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange= -function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),q=Math.max(1,a.height);if(d&&this.isResampleImage(b,f))try{var v=Math.max(g/e,q/e);if(1<v){var u=Math.round(g/v),x=Math.round(q/v),A=document.createElement("canvas");A.width=u;A.height=x;A.getContext("2d").drawImage(a,0,0,u,x);var z=A.toDataURL();if(z.length<b.length){var y= -document.createElement("canvas");y.width=u;y.height=x;var D=y.toDataURL();z!==D&&(b=z,g=u,q=x)}}}catch(B){}c(b,g,q)};EditorUi.prototype.crcTable=[];for(var c=0;256>c;c++)for(var f=c,d=0;8>d;d++)f=1==(f&1)?3988292384^f>>>1:f>>>1,EditorUi.prototype.crcTable[c]=f;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=q;q+=b;return a.substring(c,q)} -function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var q=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,q);do{var v=g(a);if("IDAT"==f(a,4)){e=a.substring(0,q-8);v=4294967295;v=this.updateCRC(v,b,0,4);v=this.updateCRC(v,d,0,d.length);e+=String.fromCharCode(c.length+ -d.length+1+("zTXt"==b?1:0)>>24&255,c.length+d.length+1+("zTXt"==b?1:0)>>16&255,c.length+d.length+1+("zTXt"==b?1:0)>>8&255,c.length+d.length+1+("zTXt"==b?1:0)&255)+b+c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d+String.fromCharCode((v^4294967295)>>24&255,(v^4294967295)>>16&255,(v^4294967295)>>8&255,(v^4294967295)&255);e+=a.substring(q-8,a.length);break}e+=a.substring(q-8,q-4+v);d=f(a,v);f(a,4)}while(v);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng= -function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b|| -"IDAT"==c)return!0}))}catch(e){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var b=EditorUi.prototype.init;EditorUi.prototype.init=function(){b.apply(this,arguments);var a=this.editor.graph,c=this;mxClient.IS_SVG&&this.editor.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);this.defaultFilename=mxResources.get("untitledDiagram"); -var d=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=c.currentPage?c.currentPage.getName():"pagenumber"==a?null!=c.currentPage&&null!=c.pages?mxUtils.indexOf(c.pages,c.currentPage)+1:1:d.apply(this,arguments)};this.editor.getOrCreateFilename=function(){var a=c.defaultFilename,b=c.getCurrentFile();null!=b&&(a=null!=b.getTitle()?b.getTitle():a);return a};var e=this.actions.get("print");e.setEnabled(!mxClient.IS_IOS||!navigator.standalone);e.visible=e.isEnabled();if(!this.editor.chromeless){this.keyHandler.bindAction(70, -!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData, -d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(l){}}), -!1);var f=document.createElement("div");f.style.position="absolute";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.display="block";f.contentEditable=!0;mxUtils.setOpacity(f,0);f.style.width="1px";f.style.height="1px";f.innerHTML="\x26nbsp;";var g=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);if(null!=a.container&& -a.isEnabled()&&!a.isMouseDown&&!a.isEditing()&&null==this.dialog&&"INPUT"!=c.nodeName&&"TEXTAREA"!=c.nodeName&&(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)&&!g)f.style.left=a.container.scrollLeft+10+"px",f.style.top=a.container.scrollTop+10+"px",a.container.appendChild(f),g=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){f.focus();document.execCommand("selectAll",!1,null)},0):(f.focus(),document.execCommand("selectAll",!1,null))}));var t=function(){window.setTimeout(function(){f.innerHTML= -"\x26nbsp;";f.focus();document.execCommand("selectAll",!1,null)},0)};mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this,function(){if(g&&(224==c||17==c||91==c))g=!1,!a.isEditing()&&(null==this.dialog&&null!=a.container)&&a.container.focus(),f.parentNode.removeChild(f)}),0)}));mxEvent.addListener(f,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(f),t())}));mxEvent.addListener(f,"cut",mxUtils.bind(this, -function(b){a.isEnabled()&&(this.copyCells(f,!0),t())}));mxEvent.addListener(f,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(f.innerHTML="\x26nbsp;",f.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,f);f.innerHTML="\x26nbsp;"}),0))}),!0);var q=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==f?!0:q.apply(this,arguments)}}e=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight|| -0)/2;this.spinner=this.createSpinner(document.body.clientWidth/2-2,e,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=this.highlightElement(c); -a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list"); -/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types, -"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.test){e=document.getElementById("geFooter");null!=e&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity= -"0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),e.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility= -"hidden"})));var v=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:v.apply(this,arguments)}}e=document.getElementById("geInfo");null!=e&&e.parentNode.removeChild(e);if(Graph.fileSupport){var u=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=u&&(u.parentNode.removeChild(u),u=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){if(null==u&& -(!mxClient.IS_IE||10<document.documentMode))u=this.highlightElement(a.container);null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container,"drop",mxUtils.bind(this,function(b){null!=u&&(u.parentNode.removeChild(u),u=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),d=a.view.translate,e=a.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(b)&&(g=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files, -f,g,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var l=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")?b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b);if(null!=c)a.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")){c=b.dataTransfer.getData("text/html");e=document.createElement("div");e.innerHTML=c;var d=null,m=e.getElementsByTagName("img");null!= -m&&1==m.length?(c=m[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)||(d=!0)):(e=e.getElementsByTagName("a"),null!=e&&1==e.length&&(c=e[0].getAttribute("href")));a.setSelectionCells(this.insertTextAt(c,f,g,!0,d))}else null!=l&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)?this.loadImage(decodeURIComponent(l),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,b));a.setSelectionCell(a.insertVertex(null, -null,"",f,g,c*d,b*d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+l+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(l,f,g,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&a.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),f,g,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode()}; -EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span"); -if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&&(this.insertLucidChart(JSON.parse(d)),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var g=e.lastIndexOf("%3E");0<=g&&g<e.length-3&&(e=e.substring(0,g+3))}catch(q){}try{var c=b.getElementsByTagName("span"),v=null!=c&&0<c.length? -mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(v)&&(f=!0,e=v)}catch(u){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml=e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell()); -null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(x){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){if(null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode))b= -this.highlightElement();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer: -a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c=null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"== -c.substring(0,22)&&(d=this.extractGraphModelFromPng(c),null!=d&&0<d.length&&this.openLocalFile(d)),!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format\x3dxml\x26data\x3d"+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200==a.getStatus()&&this.openLocalFile(a.getText())})):/^https?:\/\//.test(c)&&(c=this.getUrl(window.location.pathname+"?url\x3d"+encodeURIComponent(c)),null==this.getCurrentFile()?window.location.href=c:window.openWindow(c))))}else this.openLocalFile(c)}a.stopPropagation(); -a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d=0,e=0;if(null==a)var e=document.body,f=document.documentElement,d=(e.clientWidth||f.clientWidth)-3,e=Math.max(e.clientHeight||0,f.clientHeight)-3;else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left= -c+"px";f.style.width=Math.max(0,d-3)+"px";f.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b, -c))}return a};EditorUi.prototype.openFiles=function(a){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var c=b.target.result,d=a.name;if(null!=d&&0<d.length)if(/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml"),Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,d))d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+ -".xml":d+".xml",this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200==a.status?this.openLocalFile(a.responseText,d):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if("\x3cmxlibrary"==b.target.result.substring(0,10)){this.spinner.stop();try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}}else"image/png"== -a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,d)});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=function(a,b){var c=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a); -null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename))});null!=a&&0<a.length&&(null!=this.getCurrentFile()&&!this.isDiagramEmpty()?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,c)):c())};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]), -this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])), -c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.initializeEmbedMode=function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";this.editor.graph.setEnabled(!1);if((window.opener||window.parent)!=window)("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this, -function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.diagramContainer.style.visibility="";this.formatContainer.style.visibility="";this.editor.graph.setEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.showLayersDialog()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))}; -EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler= -function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a,b){!this.editor.modified||"0"==urlParams.modified?this.editor.setStatus(""):null!=urlParams.modified&&this.editor.setStatus(mxResources.get(urlParams.modified))});this.editor.graph.model.addListener(mxEvent.CHANGE,f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function v(a){if(null!=a&&"function"===typeof a.charAt&&"\x3c"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)): -"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"\x3c"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(b){}return a}var u=f.data;if("json"==urlParams.proto){try{u=JSON.parse(u)}catch(x){u=null}if(null==u)return;if("dialog"==u.action){this.showError(null!=u.titleKey?mxResources.get(u.titleKey):u.title,null!=u.messageKey?mxResources.get(u.messageKey):u.message,null!=u.buttonKey?mxResources.get(u.buttonKey):u.button);null!= -u.modified&&(this.editor.modified=u.modified);return}if("prompt"==u.action){var s=new FilenameDialog(this,u.defaultValue||"",null!=u.okKey?mxResources.get(u.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:u}),"*")},null!=u.titleKey?mxResources.get(u.titleKey):u.title);this.showDialog(s.container,300,80,!0,!1);s.init();return}if("draft"==u.action){s=null;s="data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml):v(u.xml);s=new DraftDialog(this, -mxResources.get("draftFound",[u.name||this.defaultFilename]),s,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:u}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:u}),"*")}),u.editKey?mxResources.get(u.editKey):null,u.discardKey?mxResources.get(u.discardKey):null);this.showDialog(s.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()})); -try{s.init()}catch(z){g.postMessage(JSON.stringify({event:"draft",error:z.toString(),message:u}),"*")}return}if("template"==u.action){s=new NewDialog(this,!1,null!=u.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=u.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}));this.showDialog(s.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&& -this.actions.get("exit").funct()}));s.init();return}if("status"==u.action){null!=u.messageKey?this.editor.setStatus(mxResources.get(u.messageKey)):null!=u.message&&this.editor.setStatus(u.message);null!=u.modified&&(this.editor.modified=u.modified);return}if("spinner"==u.action){var y=null!=u.messageKey?mxResources.get(u.messageKey):u.message;null!=u.show&&!u.show?this.spinner.stop():this.spinner.spin(document.body,y);return}if("export"==u.action){if("png"==u.format||"xmlpng"==u.format){if(null== -u.spin&&null==u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey):u.spin)){var D=null!=u.xml?u.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var B=mxUtils.bind(this,function(a){var b=this.createLoadMessage("export");b.format=u.format;b.xml=encodeURIComponent(D);b.data="data:image/png;base64,"+a;g.postMessage(JSON.stringify(b),"*");this.editor.graph.setEnabled(!0)});if(this.isExportToCanvas()){var C=this.editor.graph;if(null!=this.pages&&this.currentPage!= -this.pages[0]){var C=this.createTemporaryGraph(C.getStylesheet()),F=C.getGlobalVariable,H=this.pages[0];C.getGlobalVariable=function(a){return"page"==a?H.getName():"pagenumber"==a?1:F.apply(this,arguments)};document.body.appendChild(C.container);C.model.setRoot(H.root)}this.exportToCanvas(mxUtils.bind(this,function(a){a=a.toDataURL("image/png");"xmlpng"==u.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(D))));C!=this.editor.graph&&C.container.parentNode.removeChild(C.container); -B(a.substring(a.lastIndexOf(",")+1))}),null,null,null,null,null,null,null,null,null,null,C)}else(new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26embedXml\x3d"+("xmlpng"==u.format?"1":"0")+"\x26base64\x3d1\x26xml\x3d"+encodeURIComponent(encodeURIComponent(D)))).send(mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();200==a.getStatus()&&B(a.getText())}),mxUtils.bind(this,function(){this.spinner.stop()}))}}else{null!=u.xml&&0<u.xml.length&&this.setFileData(u.xml);y=this.createLoadMessage("export"); -if("html2"==u.format||"html"==u.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))s=this.getXmlFileData(),y.xml=mxUtils.getXml(s),y.data=this.getFileData(null,null,!0,null,null,null,s),y.format=u.format;else if("html"==u.format)D=this.editor.getGraphXml(),y.data=this.getHtml(D,this.editor.graph),y.xml=mxUtils.getXml(D),y.format=u.format;else{mxSvgCanvas2D.prototype.foAltText=null;s=this.editor.graph.background;s==mxConstants.NONE&&(s=null);y.xml=this.getFileData(!0);y.format="svg"; -if(u.embedImages||null==u.embedImages){if(null==u.spin&&null==u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey):u.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==u.format?this.getEmbeddedSvg(y.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(y),"*")})):this.convertImages(this.editor.graph.getSvg(s),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0); -this.spinner.stop();y.data=this.createSvgDataUri(mxUtils.getXml(a));g.postMessage(JSON.stringify(y),"*")}));return}s="xmlsvg"==u.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(s));y.data=this.createSvgDataUri(s)}g.postMessage(JSON.stringify(y),"*")}return}if("load"==u.action)d=1==u.autosave,this.hideDialog(),null!=u.modified&&null==urlParams.modified&&(urlParams.modified=u.modified),null!=u.saveAndExit&&null==urlParams.saveAndExit&& -(urlParams.saveAndExit=u.saveAndExit),null!=u.title&&null!=this.buttonContainer&&(s=document.createElement("span"),mxUtils.write(s,u.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),this.buttonContainer.appendChild(s)),u=null!=u.xmlpng?this.extractGraphModelFromPng(u.xmlpng):null!=u.xml&&"data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml): -u.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(u)}),"*");return}}u=v(u);c=!0;try{a(u,f)}catch(G){this.handleError(G)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var I=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=I();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=I();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d; -d=JSON.stringify(f);(window.opener||window.parent).postMessage(d,"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged", -b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",b));("1"==urlParams.returnbounds||"json"==urlParams.proto)&&g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(f,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position= -"absolute";a.style.paddingTop="atlas"==uiTheme?"2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" (Ctrl+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&& -(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft= -"6px";b.style.marginRight="20px";b.style.padding="4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px";"atlas"==uiTheme&&(this.statusContainer.style.color="#707070",this.statusContainer.style.paddingLeft="26px",this.toolbar.staticElements.push(this.statusContainer),this.toolbar.container.appendChild(this.statusContainer))}}; -EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"\x3d"+urlParams[d],c="\x26")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle url embed client create title splash".split(" "), +else{var f=document.createElement("a");if("undefined"!==typeof f.download||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));"undefined"!==typeof f.download?f.download=b:f.setAttribute("target","_blank");document.body.appendChild(f);try{f.click(),window.setTimeout(function(){URL.revokeObjectURL(f.href)},0),f.parentNode.removeChild(f)}catch(g){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a, +b,c,d,e,f){a="xml\x3d"+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"\x26mime\x3d"+c:"")+(null!=e?"\x26format\x3d"+e:"")+(null!=f?"\x26base64\x3d"+f:"")+(null!=b?"\x26filename\x3d"+encodeURIComponent(b):"")+(d?"\x26binary\x3d1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),f=Array(e),g=0;g<e;++g){for(var q=1024*g,v=Math.min(q+1024,d),u=Array(v-q),x=0;q<v;++x,++q)u[x]=c[q].charCodeAt(0);f[g]=new Uint8Array(u)}return new Blob(f, +{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e){var f=!mxClient.IS_IOS||!navigator.standalone;e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):null!=c&&"image/"==c.substring(0,6)&&("image/svg"!=c.substring(0,9)||mxClient.IS_SVG)? +mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode?(f.document.write('\x3chtml\x3e\x3cimg src\x3d"data:'+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))+'"/\x3e\x3c/html\x3e'),f.document.close()):f.location.replace("data:"+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else e==App.MODE_DEVICE?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(f){this.exportFile(a, +b,c,d,e,f)}))}catch(g){this.handleError(g)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,f);this.showDialog(b.container,380,e?280:160,!0,!0);b.init()};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}))};EditorUi.prototype.saveRequest=function(a,b,c){var d=!mxClient.IS_IOS||!navigator.standalone, +e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var e=c("_blank"==d?null:a,d==App.MODE_DEVICE||null==d||"_blank"==d?"0":"1");null!=e&&(d==App.MODE_DEVICE||"_blank"==d?e.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){this.spinner.spin(document.body,mxResources.get("saving"))&& +e.send(mxUtils.bind(this,function(){this.spinner.stop();if(200>e.getStatus()||299<e.getStatus())this.handleError({message:mxResources.get("errorSavingFile")});else try{var f="pdf"==b?"application/pdf":"image/"+b;this.exportFile(e.getText(),a,f,!0,d,c)}catch(g){this.handleError(g)}}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,d);this.showDialog(a.container,380,e?280:160,!0, +!0);a.init()};EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,g){if(this.spinner.spin(document.body,mxResources.get("export"))){var q=this.editor.graph.isSelectionEmpty();c=null!=c?c:q;q=b?null:this.editor.graph.background;q==mxConstants.NONE&&(q=null);null==q&&!1==b&&(q="#ffffff");var v=this.editor.graph.getSvg(q,a,null,g,null,c);d&&this.editor.addSvgShadow(v);a=this.getCurrentFile();var u= +null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;a=u.lastIndexOf(".");0<a&&(u=u.substring(0,a));var u=u+".svg",x=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c));var b='\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(u,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")}, +mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,v,!1,mxUtils.bind(this,function(){f?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(v,x,this.thumbImageCache)):x(v)}))}};EditorUi.prototype.showRemoteExportDialog=function(a,b,c){var d=this.editor.graph,e=document.createElement("div");e.style.padding="6px";var f=document.createElement("input");f.style.marginRight="8px";f.setAttribute("type","checkbox");d.isSelectionEmpty()&& +f.setAttribute("disabled","disabled");e.appendChild(f);mxUtils.write(e,mxResources.get("selectionOnly"));mxUtils.br(e);var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";e.appendChild(g);mxUtils.write(e,mxResources.get("includeCopyOfMyDiagram"));a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!f.checked,g.checked)}),null,a,b);this.showDialog(a.container,300,120, +!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e){var f=this.editor.graph,g=document.createElement("div");g.style.paddingTop="20px";g.style.paddingRight="8px";var q=240,v=document.createElement("input");v.style.marginRight="8px";v.setAttribute("type","checkbox");if(f.background==mxConstants.NONE||null==f.background)v.setAttribute("checked","checked"),v.defaultChecked=!0;g.appendChild(v);mxUtils.write(g,mxResources.get("transparentBackground"));mxUtils.br(g);var u=document.createElement("input"); +u.style.marginTop="16px";u.style.marginRight="8px";u.setAttribute("type","checkbox");g.appendChild(u);mxUtils.write(g,mxResources.get("selectionOnly"));mxUtils.br(g);var x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.setAttribute("type","checkbox");e&&(g.appendChild(x),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),q+=26);f.isSelectionEmpty()&&(u.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"));var A=document.createElement("input"); +A.style.marginTop="16px";A.style.marginRight="8px";A.setAttribute("type","checkbox");g.appendChild(A);mxUtils.write(g,mxResources.get("shadow"));mxUtils.br(g);f.shadowVisible&&(A.setAttribute("checked","checked"),A.defaultChecked=!0);var z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");(this.isOffline()||!this.canvasSupported)&&z.setAttribute("disabled","disabled");a&&(g.appendChild(z),mxUtils.write(g,mxResources.get("embedImages")), +mxUtils.br(g),q+=26);var y=document.createElement("input");y.style.marginTop="16px";y.style.marginRight="8px";y.setAttribute("type","checkbox");y.style.marginBottom="8px";y.setAttribute("checked","checked");y.defaultChecked=!0;g.appendChild(y);mxUtils.write(g,mxResources.get("includeCopyOfMyDiagram"));a=new FilenameDialog(this,100,b,mxUtils.bind(this,function(a){d(a,v.checked,!u.checked,A.checked,y.checked,z.checked,x.checked)}),mxResources.get("zoom")+" (%)",null,g,!this.isOffline()?c:null);this.showDialog(a.container, +320,q,!0,!0);a.init()};EditorUi.prototype.uploadToGithub=function(a,b,c){var d=this.spinner.pause();c=document.createElement("div");c.style.paddingTop="20px";c.style.paddingRight="8px";var e=document.createElement("table"),f=document.createElement("tbody"),g=document.createElement("tr"),q=document.createElement("td"),v=document.createElement("input");v.setAttribute("type","text");mxUtils.write(q,"Username:");g.appendChild(q);q=q.cloneNode(!1);q.appendChild(v);g.appendChild(q);f.appendChild(g);var q= +q.cloneNode(!1),u=document.createElement("input");u.setAttribute("type","password");mxUtils.write(q,"Password:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(u);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),x=document.createElement("input");x.setAttribute("type","text");mxUtils.write(q,"Organisation:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(x);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),A=document.createElement("input");A.setAttribute("type", +"text");mxUtils.write(q,"Repository:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(A);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),z=document.createElement("input");z.setAttribute("type","text");mxUtils.write(q,"Path:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(z);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);a=this.getCurrentFile();a=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;var y=a.lastIndexOf(".");0<y&&(a=a.substring(0, +y));z.value=a+".png";var D=document.createElement("input");D.setAttribute("type","text");mxUtils.write(q,"Branch/Tag:");D.value="master";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(D);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),B=document.createElement("input");B.setAttribute("type","text");mxUtils.write(q,"Message:");B.value="Updated "+a+".png";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(B);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1); +e.appendChild(f);c.appendChild(e);c=new FilenameDialog(this,null,mxResources.get("publish"),mxUtils.bind(this,function(){var a="https://api.github.com/repos/"+x.value+"/"+A.value+"/contents/"+z.value+"?ref\x3d"+encodeURIComponent(D.value);d();mxUtils.get(a,mxUtils.bind(this,function(c){if(200==c.getStatus()||404==c.getStatus()){c=JSON.parse(c.getText());var e={path:z.value,message:B.value,content:b};null!=c.sha&&(e.sha=c.sha);var f=new XMLHttpRequest;f.onreadystatechange=mxUtils.bind(this,function(){if(4== +f.readyState)if(200<=f.status&&300>f.status){this.spinner.stop();this.hideDialog();a="https://github.com/"+x.value+"/"+A.value+"/blob/"+D.value+"/"+z.value;var b=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open(a)}),!1);this.showDialog(b.container,340, +170,!0,!1);b.init()}else d=this.spinner.pause(),this.handleError(JSON.parse(f.responseText))});f.open("PUT",a,!0);f.setRequestHeader("Authorization","Basic "+btoa(v.value+":"+u.value));f.send(JSON.stringify(e))}else this.hideDialog(),this.spinner.stop(),this.handleError(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){this.hideDialog();this.spinner.stop();this.handleError({message:mxResources.get("unknownError")})}))}),null,null,c,null,!1);this.showDialog(c.container,260,260,!0,!1);c.init()}; +EditorUi.prototype.uploadToImgur=function(a,b,c,d){var e=this.spinner.pause();c=!1;var f=new ErrorDialog(this,mxResources.get("warning"),'\x3cimg style\x3d"max-width:300px;max-height:80px;margin-bottom:20px;padding:6px;border:1px solid gray;" src\x3d"data:image/png;base64,'+b+'"/\x3e\x3cbr\x3e'+mxResources.get("publishConfirmation"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("publish"),mxUtils.bind(this,function(){e();var f=null!=a.getTitle()?a.getTitle():this.defaultFilename, +g=f.lastIndexOf("."),v=f;0<g&&(v=f=v.substring(0,g));var g=new mxXmlRequest("/imgur",JSON.stringify({type:"base64",image:b,name:v+".png",title:f,description:"Made with https://www.draw.io"}),"POST"),u=mxUtils.bind(this,function(a){var b={message:mxResources.get("unknownError")};try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});g.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText()),e="https://www.draw.io/i/"+ +b.data.id;try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity\x3dCONFIG\x26msg\x3dimgur-published:"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(g){}var k=mxUtils.bind(this,function(){this.spinner.stop();var a="https://imgur.com/"+b.data.id,f="https://www.draw.io/imgur?delete\x3d"+b.data.deletehash,a=new ErrorDialog(this,mxResources.get("published"),(c?mxResources.get("viewUrl",['\x3ca href\x3d"'+e+'" target\x3d"_blank"\x3e'+ +e+"\x3c/a\x3e"])+"\x3cbr\x3e":"")+mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"])+"\x3cbr\x3e"+mxResources.get("deleteUrl",[f]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("share"),function(){d(b.data.id,c)},!1);this.showDialog(a.container,340,180,!0,!1);a.init()});if(c){var l=new mxXmlRequest("/imgur?"+b.data.deletehash,JSON.stringify({title:f,description:mxResources.get("viewUrl",[e])}),"POST");l.send(mxUtils.bind(this, +function(){200==l.getStatus()?k():u(l)}),mxUtils.bind(this,function(){u(l)}))}else k()}catch(p){this.handleError(p)}else u(a)}),mxUtils.bind(this,function(a){u(a)}))}));this.showDialog(f.container,320,250,!0,!1);f.init()};EditorUi.prototype.publishImage=function(a,b){var c=this.getCurrentFile();null!=c&&(this.isExportToCanvas()?this.showExportDialog(!1,mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e,f,g,q){d=parseInt(d); +if(!isNaN(d)&&0<d){d/=100;var v=this.editor.graph.isSelectionEmpty();f=null!=f?f:v;if(this.spinner.spin(document.body,mxResources.get("publishing")))try{this.exportToCanvas(mxUtils.bind(this,function(d){try{var e=q?this.getFileData(!0,null,null,null,f):null,g=this.createPngDataUri(d,e);a(c,g.substring(g.lastIndexOf(",")+1),q,b)}catch(m){this.handleError(m)}}),null,null,null,mxUtils.bind(this,function(a){this.handleError(a)}),null,f,d||1,e,g)}catch(u){this.handleError(u)}}})):this.showRemoteExportDialog(mxResources.get("publish"), +"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e){if(this.spinner.spin(document.body,mxResources.get("publishing"))){var f=this.editor.graph.getGraphBounds(),g=this.getFileData(!0,null,null,null,d);if(f.width*f.height<=MAX_AREA&&g.length<=MAX_REQUEST_SIZE)try{var q=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+(e?"1":"0")+"\x26xml\x3d"+encodeURIComponent(g));q.send(mxUtils.bind(this,function(){200==q.getStatus()?a(c,q.getText(), +e,b):this.handleError(q)}))}catch(v){this.handleError(v)}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}})))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours"); +b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&&(g=null));b=b.getSvg(g,null,null,null,null,f);null!=a&&b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n': +"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,f){if(this.spinner.spin(document.body,mxResources.get("exporting"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop(); +try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c):null)}catch(b){"Invalid image"==b.message?this.downloadFile("png"):this.handleError(b)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,null,f)}catch(q){this.spinner.stop(),this.handleError(q)}}};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,q,v,u,x,A,z,y){f=null!=f?f:!0;A=null!=A?A:this.editor.graph;z=null!=z?z:0;var D=v?null:A.background;D== +mxConstants.NONE&&(D=null);null==D&&(D=d);null==D&&!1==v&&(D="#ffffff");this.convertImages(A.getSvg(D,null,null,y,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));q=null!=q?q:1;null!=b&&(q=!f?b/g:Math.min(1,Math.min(3*b/(4*m),b/g)));g=Math.ceil(q*g)+2*z;m=Math.ceil(q*m)+2*z;e.setAttribute("width",g);e.setAttribute("height",m);var n=e.getContext("2d"); +null!=D&&(n.beginPath(),n.rect(0,0,g,m),n.fillStyle=D,n.fill());n.scale(q,q);n.drawImage(d,z/q,z/q);a(e)});d.onerror=function(a){null!=e&&e(a)};try{u&&this.editor.addSvgShadow(c),this.convertMath(A,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,x)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"== +c.substring(0,8))&&c.substring(0,a.baseUrl.length)!=a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var n=a.getElementsByTagName(c),u=0;u<n.length;u++)mxUtils.bind(this,function(c){var n=d.convert(c.getAttribute(g));if(null!=n&&"data:"!=n.substring(0,5)){var u= +f[n];null==u?(e++,this.convertImageToDataUri(n,function(d){null!=d&&(f[n]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,u)}})(n[u])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b()});else{var c=new Image;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width= +c.width;d.drawImage(c,0,0);b(a.toDataURL())};c.onerror=function(){b()};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){var q=mxUtils.parseXml(a),v=this.editor.extractGraphModel(q.documentElement,null!=this.pages);if(null!=v&&"mxfile"==v.nodeName&&null!=this.pages){var u=v.getElementsByTagName("diagram");if(1==u.length)v=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(u[0]))).documentElement;else if(1< +u.length){g.model.beginUpdate();try{for(var x=0;x<u.length;x++){var A=this.updatePageRoot(new DiagramPage(u[x])),z=this.pages.length;null==A.getName()&&A.setName(mxResources.get("pageWithNumber",[z+1]));g.model.execute(new ChangePage(this,A,A,z))}}finally{g.model.endUpdate()}}}if(null!=v&&"mxGraphModel"===v.nodeName){var y=new mxGraphModel;(new mxCodec(v.ownerDocument)).decode(v,y);var D=y.getChildCount(y.getRoot());g.model.getChildCount(g.model.getRoot());g.model.beginUpdate();try{a={};for(x=0;x< +D;x++){var B=y.getChildAt(y.getRoot(),x);if(1==D&&!g.isCellLocked(g.getDefaultParent()))var C=y.getChildren(B),f=f.concat(g.importCells(C,b,c,g.getDefaultParent(),null,a));else B=g.importCells([B],0,0,g.model.getRoot(),null,a)[0],C=g.model.getChildren(B),g.moveCells(C,b,c),f=f.concat(C)}if(d){g.isGridEnabled()&&(b=g.snap(b),c=g.snap(c));var F=g.getBoundingBoxFromGeometry(f,!0);null!=F&&g.moveCells(f,b-F.x,c-F.y)}}finally{g.model.endUpdate()}}}}catch(H){throw e||this.handleError(H,mxResources.get("invalidOrMissingFile")), +H;}return f};EditorUi.prototype.insertLucidChart=function(a,b,c,d){var e=mxUtils.bind(this,function(){if(this.pasteLucidChart)try{this.pasteLucidChart(a,b,c,d)}catch(e){}});!this.pasteLucidChart&&!this.loadingExtensions&&!this.isOffline()?(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("/js/diagramly/Extensions.js",e):mxscript("/js/extensions.min.js",e)):window.setTimeout(e,0)};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f){f=null!=f?f:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&& +(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200==a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var g=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var q=this.extractGraphModelFromPng(a),v=this.importXml(q, +b,c,f,!0);if(0<v.length)return v}if("data:image/svg+xml;"==a.substring(0,19))try{if(q=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(q=a.substring(a.indexOf(",")+1),q=window.atob&&!mxClient.IS_SF?atob(q):Base64.decode(q,!0)):q=decodeURIComponent(a.substring(a.indexOf(",")+1)),v=this.importXml(q,b,c,f,!0),0<v.length)return v}catch(u){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){g.setSelectionCell(g.insertVertex(null, +null,"",g.snap(b),g.snap(c),d,e,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+this.convertDataUri(a)+";"))}),!0,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/d.height)),f=Math.round(d.width*e);d=Math.round(d.height*e);g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),f,d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ +a+";"))}}),mxUtils.bind(this,function(){var e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,a,g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.updateCellSize(e),g.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{g.getModel().endUpdate()}g.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,f);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26)){e= +JSON.parse(JSON.parse(a).state);var q=null,x;for(x in e.Pages)if(v=e.Pages[x],null!=v&&"0"==v.Properties.Order){q=v;break}null!=q&&this.insertLucidChart(q,b,c,f)}else{g=this.editor.graph;f=null;g.getModel().beginUpdate();try{f=g.insertVertex(g.getDefaultParent(),null,"",g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.fireEvent(new mxEventObject("textInserted","cells",[f])),f.value=a,g.updateCellSize(f),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i.test(f.value)&& +g.setLinkForCell(f,f.value),f.geometry.width+=g.gridSize,f.geometry.height+=g.gridSize}finally{g.getModel().endUpdate()}return[f]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat= +function(a,b){return/(\.*<graphml xmlns=\".*)/.test(a)||/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)||null!=b&&/(\.vsdx)($|\?)/i.test(b)};EditorUi.prototype.importFile=function(a,b,c,d,e,f,g,q,v,u,x){u=null!=u?u:!0;var A=!1,z=null;"image"==b.substring(0,5)?(g=!1,"image/png"==b.substring(0,9)&&(b=x?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(z=this.importXml(b,c,d,u),g=!0)),g||(z=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+ +1))),u&&z.isGridEnabled()&&(c=z.snap(c),d=z.snap(d)),z=[z.insertVertex(null,null,"",c,d,e,f,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+a+";")])):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,g)?(A=!0,this.parseFile(null!=v?v:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){if(4==a.readyState){var b=null;200==a.status&&(b=this.importXml(a.responseText, +c,d,u));null!=q&&q(b)}}),g)):/(\.vsd)($|\?)/i.test(g)||(z=this.insertTextAt(this.validateFileData(a),c,d,!0,null,u));!A&&null!=q&&q(z);return z};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="\x3d\x3d";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> +2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2);b+="\x3d";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>> +6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,g,q,v,u,x,A){var z=null!=b&&null!=c;b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;u=null!=u?u:this.maxImageBytes;v=null!=v?v:!0;var y=this.editor.graph,D=y.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){return null!=a&&"\x3cmxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null): +this.importFile(a,b,c,d,e,f,g,k,l,z,A)});f=null!=f?f:mxUtils.bind(this,function(a){y.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var B=a.length,C=B,F=[],H=mxUtils.bind(this,function(a,b){F[a]=b;if(0==--C){this.spinner.stop();if(null!=q)q(F);else{var c=[];y.getModel().beginUpdate();try{for(var d=0;d<F.length;d++){var e=F[d]();null!=e&&(c=c.concat(e))}}finally{y.getModel().endUpdate()}}f(c)}}),G=0;G<B;G++)mxUtils.bind(this,function(f){var q=a[f],s=new FileReader; +s.onload=mxUtils.bind(this,function(a){if(null==g||g(q))if("image/"==q.type.substring(0,6))if("image/svg"==q.type.substring(0,9)){var k=a.target.result,s=k.indexOf(","),z=atob(k.substring(s+1)),y=mxUtils.parseXml(z),z=y.getElementsByTagName("svg");if(0<z.length){var z=z[0],B=A?null:z.getAttribute("content");null!=B&&("\x3c"!=B.charAt(0)&&"%"!=B.charAt(0))&&(B=unescape(window.atob?atob(B):Base64.decode(B,!0)));null!=B&&"%"==B.charAt(0)&&(B=decodeURIComponent(B));null!=B&&("\x3cmxfile "===B.substring(0, +8)||"\x3cmxGraphModel "===B.substring(0,14))?H(f,mxUtils.bind(this,function(){return e(B,"text/xml",b+f*D,c+f*D,0,0,q.name)})):H(f,mxUtils.bind(this,function(){try{if(k.substring(0,s+1),null!=y){var a=y.getElementsByTagName("svg");if(0<a.length){var g=a[0],u=parseFloat(g.getAttribute("width")),v=parseFloat(g.getAttribute("height")),x=g.getAttribute("viewBox");if(null==x||0==x.length)g.setAttribute("viewBox","0 0 "+u+" "+v);else if(isNaN(u)||isNaN(v)){var t=x.split(" ");3<t.length&&(u=parseFloat(t[2]), +v=parseFloat(t[3]))}k=this.createSvgDataUri(mxUtils.getXml(a[0]));var A=Math.min(1,Math.min(d/Math.max(1,u)),d/Math.max(1,v));return e(k,q.type,b+f*D,c+f*D,Math.max(1,Math.round(u*A)),Math.max(1,Math.round(v*A)),q.name)}}}catch(z){}return null}))}}else{z=!1;if("image/png"==q.type){var C=A?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var G=new Image;G.src=a.target.result;H(f,mxUtils.bind(this,function(){return e(C,"text/xml",b+f*D,c+f*D,G.width,G.height,q.name)}));z= +!0}}z||(null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,k,x){H(f,mxUtils.bind(this,function(){if(null!= +g&&g.length<u){var s=!v||!this.isResampleImage(a.target.result)?1:Math.min(1,Math.min(d/k,d/x));return e(g,q.type,b+f*D,c+f*D,Math.round(k*s),Math.round(x*s),q.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),v,d,x)})))}else e(a.target.result,q.type,b+f*D,c+f*D,240,160,q.name,function(a){H(f,function(){return a})})});/(\.vsdx)($|\?)/i.test(q.name)?e(null,q.type,b+f*D,c+f*D,240,160,q.name,function(a){H(f,function(){return a})},q):"image"==q.type.substring(0,5)?s.readAsDataURL(q): +s.readAsText(q)})(G)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),q=Math.max(1,a.height);if(d&&this.isResampleImage(b, +f))try{var v=Math.max(g/e,q/e);if(1<v){var u=Math.round(g/v),x=Math.round(q/v),A=document.createElement("canvas");A.width=u;A.height=x;A.getContext("2d").drawImage(a,0,0,u,x);var z=A.toDataURL();if(z.length<b.length){var y=document.createElement("canvas");y.width=u;y.height=x;var D=y.toDataURL();z!==D&&(b=z,g=u,q=x)}}}catch(B){}c(b,g,q)};EditorUi.prototype.crcTable=[];for(var c=0;256>c;c++)for(var f=c,d=0;8>d;d++)f=1==(f&1)?3988292384^f>>>1:f>>>1,EditorUi.prototype.crcTable[c]=f;EditorUi.prototype.updateCRC= +function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=q;q+=b;return a.substring(c,q)}function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var q=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a, +4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,q);do{var v=g(a);if("IDAT"==f(a,4)){e=a.substring(0,q-8);v=4294967295;v=this.updateCRC(v,b,0,4);v=this.updateCRC(v,d,0,d.length);e+=String.fromCharCode(c.length+d.length+1+("zTXt"==b?1:0)>>24&255,c.length+d.length+1+("zTXt"==b?1:0)>>16&255,c.length+d.length+1+("zTXt"==b?1:0)>>8&255,c.length+d.length+1+("zTXt"==b?1:0)&255)+b+c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d+String.fromCharCode((v^4294967295)>>24&255,(v^4294967295)>> +16&255,(v^4294967295)>>8&255,(v^4294967295)&255);e+=a.substring(q-8,a.length);break}e+=a.substring(q-8,q-4+v);d=f(a,v);f(a,4)}while(v);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)), +"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(e){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror= +c);d.src=a};var b=EditorUi.prototype.init;EditorUi.prototype.init=function(){b.apply(this,arguments);var a=this.editor.graph,c=this;mxClient.IS_SVG&&this.editor.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);this.defaultFilename=mxResources.get("untitledDiagram");var d=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=c.currentPage?c.currentPage.getName():"pagenumber"==a?null!=c.currentPage&&null!=c.pages?mxUtils.indexOf(c.pages,c.currentPage)+1:1:d.apply(this,arguments)}; +this.editor.getOrCreateFilename=function(){var a=c.defaultFilename,b=c.getCurrentFile();null!=b&&(a=null!=b.getTitle()?b.getTitle():a);return a};var e=this.actions.get("print");e.setEnabled(!mxClient.IS_IOS||!navigator.standalone);e.visible=e.isEnabled();if(!this.editor.chromeless){this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88, +!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()], +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(l){}}),!1);var f=document.createElement("div");f.style.position="absolute";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.display="block";f.contentEditable=!0;mxUtils.setOpacity(f, +0);f.style.width="1px";f.style.height="1px";f.innerHTML="\x26nbsp;";var g=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);if(null!=a.container&&a.isEnabled()&&!a.isMouseDown&&!a.isEditing()&&null==this.dialog&&"INPUT"!=c.nodeName&&"TEXTAREA"!=c.nodeName&&(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)&& +!g)f.style.left=a.container.scrollLeft+10+"px",f.style.top=a.container.scrollTop+10+"px",a.container.appendChild(f),g=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){f.focus();document.execCommand("selectAll",!1,null)},0):(f.focus(),document.execCommand("selectAll",!1,null))}));var t=function(){window.setTimeout(function(){f.innerHTML="\x26nbsp;";f.focus();document.execCommand("selectAll",!1,null)},0)};mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this, +function(){if(g&&(224==c||17==c||91==c))g=!1,!a.isEditing()&&(null==this.dialog&&null!=a.container)&&a.container.focus(),f.parentNode.removeChild(f)}),0)}));mxEvent.addListener(f,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(f),t())}));mxEvent.addListener(f,"cut",mxUtils.bind(this,function(b){a.isEnabled()&&(this.copyCells(f,!0),t())}));mxEvent.addListener(f,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(f.innerHTML= +"\x26nbsp;",f.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,f);f.innerHTML="\x26nbsp;"}),0))}),!0);var q=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==f?!0:q.apply(this,arguments)}}e=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2;this.spinner=this.createSpinner(document.body.clientWidth/2-2,e,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b= +this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=this.highlightElement(c);a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files, +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1, +Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.test){e=document.getElementById("geFooter"); +null!=e&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),e.appendChild(this.styleInput), +this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var v=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:v.apply(this,arguments)}}e=document.getElementById("geInfo"); +null!=e&&e.parentNode.removeChild(e);if(Graph.fileSupport){var u=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=u&&(u.parentNode.removeChild(u),u=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){if(null==u&&(!mxClient.IS_IE||10<document.documentMode))u=this.highlightElement(a.container);null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container, +"drop",mxUtils.bind(this,function(b){null!=u&&(u.parentNode.removeChild(u),u=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),d=a.view.translate,e=a.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(b)&&(g=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var l=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")? +b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b);if(null!=c)a.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")){c=b.dataTransfer.getData("text/html");e=document.createElement("div");e.innerHTML=c;var d=null,m=e.getElementsByTagName("img");null!=m&&1==m.length?(c=m[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)||(d=!0)):(e=e.getElementsByTagName("a"),null!=e&&1==e.length&&(c=e[0].getAttribute("href"))); +a.setSelectionCells(this.insertTextAt(c,f,g,!0,d))}else null!=l&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)?this.loadImage(decodeURIComponent(l),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,b));a.setSelectionCell(a.insertVertex(null,null,"",f,g,c*d,b*d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ +l+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(l,f,g,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&a.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),f,g,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode()};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())), +e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&& +(this.insertLucidChart(JSON.parse(d)),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var g=e.lastIndexOf("%3E");0<=g&&g<e.length-3&&(e=e.substring(0,g+3))}catch(q){}try{var c=b.getElementsByTagName("span"),v=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(v)&&(f=!0,e=v)}catch(u){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml= +e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(x){}}}}}; +EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){if(null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode))b=this.highlightElement();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this, +function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c= +null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)&&(d=this.extractGraphModelFromPng(c),null!=d&&0<d.length&&this.openLocalFile(d)), +!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format\x3dxml\x26data\x3d"+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200==a.getStatus()&&this.openLocalFile(a.getText())})):/^https?:\/\//.test(c)&&(c=this.getUrl(window.location.pathname+"?url\x3d"+encodeURIComponent(c)),null==this.getCurrentFile()?window.location.href=c:window.openWindow(c))))}else this.openLocalFile(c)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b= +0,c=0,d=0,e=0;if(null==a)var e=document.body,f=document.documentElement,d=(e.clientWidth||f.clientWidth)-3,e=Math.max(e.clientHeight||0,f.clientHeight)-3;else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left=c+"px";f.style.width=Math.max(0,d-3)+"px";f.style.height=Math.max(0, +e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=function(a){if(this.spinner.spin(document.body, +mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var c=b.target.result,d=a.name;if(null!=d&&0<d.length)if(/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml"),Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,d))d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+".xml":d+".xml",this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(), +200==a.status?this.openLocalFile(a.responseText,d):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if("\x3cmxlibrary"==b.target.result.substring(0,10)){this.spinner.stop();try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c, +d)});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=function(a,b){var c=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a);null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this, +a,b||this.defaultFilename))});null!=a&&0<a.length&&(null!=this.getCurrentFile()&&!this.isDiagramEmpty()?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,c)):c())};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a); +var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f= +0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.initializeEmbedMode=function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";this.editor.graph.setEnabled(!1);if((window.opener||window.parent)!=window)("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.diagramContainer.style.visibility= +"";this.formatContainer.style.visibility="";this.editor.graph.setEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.showLayersDialog()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&& +(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a,b){!this.editor.modified||"0"==urlParams.modified? +this.editor.setStatus(""):null!=urlParams.modified&&this.editor.setStatus(mxResources.get(urlParams.modified))});this.editor.graph.model.addListener(mxEvent.CHANGE,f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function v(a){if(null!=a&&"function"===typeof a.charAt&&"\x3c"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a): +"\x3c"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(b){}return a}var u=f.data;if("json"==urlParams.proto){try{u=JSON.parse(u)}catch(x){u=null}if(null==u)return;if("dialog"==u.action){this.showError(null!=u.titleKey?mxResources.get(u.titleKey):u.title,null!=u.messageKey?mxResources.get(u.messageKey):u.message,null!=u.buttonKey?mxResources.get(u.buttonKey):u.button);null!=u.modified&&(this.editor.modified=u.modified);return}if("prompt"==u.action){var s=new FilenameDialog(this,u.defaultValue|| +"",null!=u.okKey?mxResources.get(u.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:u}),"*")},null!=u.titleKey?mxResources.get(u.titleKey):u.title);this.showDialog(s.container,300,80,!0,!1);s.init();return}if("draft"==u.action){s=null;s="data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml):v(u.xml);s=new DraftDialog(this,mxResources.get("draftFound",[u.name||this.defaultFilename]),s,mxUtils.bind(this,function(){this.hideDialog(); +g.postMessage(JSON.stringify({event:"draft",result:"edit",message:u}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:u}),"*")}),u.editKey?mxResources.get(u.editKey):null,u.discardKey?mxResources.get(u.discardKey):null);this.showDialog(s.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{s.init()}catch(z){g.postMessage(JSON.stringify({event:"draft",error:z.toString(),message:u}), +"*")}return}if("template"==u.action){s=new NewDialog(this,!1,null!=u.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=u.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}));this.showDialog(s.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));s.init();return}if("status"==u.action){null!=u.messageKey? +this.editor.setStatus(mxResources.get(u.messageKey)):null!=u.message&&this.editor.setStatus(u.message);null!=u.modified&&(this.editor.modified=u.modified);return}if("spinner"==u.action){var y=null!=u.messageKey?mxResources.get(u.messageKey):u.message;null!=u.show&&!u.show?this.spinner.stop():this.spinner.spin(document.body,y);return}if("export"==u.action){if("png"==u.format||"xmlpng"==u.format){if(null==u.spin&&null==u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey): +u.spin)){var D=null!=u.xml?u.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var B=mxUtils.bind(this,function(a){var b=this.createLoadMessage("export");b.format=u.format;b.xml=encodeURIComponent(D);b.data="data:image/png;base64,"+a;g.postMessage(JSON.stringify(b),"*");this.editor.graph.setEnabled(!0)});if(this.isExportToCanvas()){var C=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var C=this.createTemporaryGraph(C.getStylesheet()),F=C.getGlobalVariable,H=this.pages[0]; +C.getGlobalVariable=function(a){return"page"==a?H.getName():"pagenumber"==a?1:F.apply(this,arguments)};document.body.appendChild(C.container);C.model.setRoot(H.root)}this.exportToCanvas(mxUtils.bind(this,function(a){a=a.toDataURL("image/png");"xmlpng"==u.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(D))));C!=this.editor.graph&&C.container.parentNode.removeChild(C.container);B(a.substring(a.lastIndexOf(",")+1))}),null,null,null,null,null,null,null,null, +null,null,C)}else(new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26embedXml\x3d"+("xmlpng"==u.format?"1":"0")+"\x26base64\x3d1\x26xml\x3d"+encodeURIComponent(encodeURIComponent(D)))).send(mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();200==a.getStatus()&&B(a.getText())}),mxUtils.bind(this,function(){this.spinner.stop()}))}}else{null!=u.xml&&0<u.xml.length&&this.setFileData(u.xml);y=this.createLoadMessage("export");if("html2"==u.format||"html"==u.format&&("0"!=urlParams.pages|| +null!=this.pages&&1<this.pages.length))s=this.getXmlFileData(),y.xml=mxUtils.getXml(s),y.data=this.getFileData(null,null,!0,null,null,null,s),y.format=u.format;else if("html"==u.format)D=this.editor.getGraphXml(),y.data=this.getHtml(D,this.editor.graph),y.xml=mxUtils.getXml(D),y.format=u.format;else{mxSvgCanvas2D.prototype.foAltText=null;s=this.editor.graph.background;s==mxConstants.NONE&&(s=null);y.xml=this.getFileData(!0);y.format="svg";if(u.embedImages||null==u.embedImages){if(null==u.spin&&null== +u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey):u.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==u.format?this.getEmbeddedSvg(y.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(y),"*")})):this.convertImages(this.editor.graph.getSvg(s),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(mxUtils.getXml(a)); +g.postMessage(JSON.stringify(y),"*")}));return}s="xmlsvg"==u.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(s));y.data=this.createSvgDataUri(s)}g.postMessage(JSON.stringify(y),"*")}return}if("load"==u.action)d=1==u.autosave,this.hideDialog(),null!=u.modified&&null==urlParams.modified&&(urlParams.modified=u.modified),null!=u.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=u.saveAndExit),null!=u.title&&null!=this.buttonContainer&& +(s=document.createElement("span"),mxUtils.write(s,u.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),this.buttonContainer.appendChild(s)),u=null!=u.xmlpng?this.extractGraphModelFromPng(u.xmlpng):null!=u.xml&&"data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml):u.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage", +data:JSON.stringify(u)}),"*");return}}u=v(u);c=!0;try{a(u,f)}catch(G){this.handleError(G)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var I=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=I();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=I();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;d=JSON.stringify(f);(window.opener||window.parent).postMessage(d, +"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged", +b),this.addListener("pageViewChanged",b));("1"==urlParams.returnbounds||"json"==urlParams.proto)&&g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(f,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme? +"2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" (Ctrl+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b, +mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight="20px";b.style.padding= +"4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px";"atlas"==uiTheme&&(this.statusContainer.style.color="#707070",this.statusContainer.style.paddingLeft="26px",this.toolbar.staticElements.push(this.statusContainer),this.toolbar.container.appendChild(this.statusContainer))}};EditorUi.prototype.getSearch= +function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"\x3d"+urlParams[d],c="\x26")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle url embed client create title splash".split(" "), d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"\x26",null!=urlParams[d]&&(a+=d+"\x3d"+urlParams[d],b++))}return a};var e=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=e.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width- 2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var f=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return f.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&& null!=this.source.minimumGraphSize){var d=this.source.getPagePadding(),e=Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2),f=Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2);return new mxPoint(Math.round(e-d.x),Math.round(f-d.y-5/a))}return new mxPoint(8/a,8/a)};var g=b.init;b.init=function(){g.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale* diff --git a/war/js/atlas-viewer.min.js b/war/js/atlas-viewer.min.js index 15bccea6..ca7b2099 100644 --- a/war/js/atlas-viewer.min.js +++ b/war/js/atlas-viewer.min.js @@ -3,7 +3,7 @@ var mxBasePath="https://www.draw.io/mxgraph/",mxLoadStylesheets=!1;!function(a,b c[d])}return a}function g(a){this.opts=f(a||{},g.defaults,s)}function k(){function c(b,d){return a("\x3c"+b+' xmlns\x3d"urn:schemas-microsoft.com:vml" class\x3d"spin-vml"\x3e',d)}p.addRule(".spin-vml","behavior:url(#default#VML)");g.prototype.lines=function(a,d){function f(){return e(c("group",{coordsize:n+" "+n,coordorigin:-l+" "+-l}),{width:n,height:n})}function k(a,g,n){b(m,b(e(f(),{rotation:360/d.lines*a+"deg",left:~~g}),b(e(c("roundrect",{arcsize:d.corners}),{width:l,height:d.width,left:d.radius, top:-d.width>>1,filter:n}),c("fill",{color:"string"==typeof d.color?d.color:d.color[a%d.color.length],opacity:d.opacity}),c("stroke",{opacity:0}))))}var g,l=d.length+d.width,n=2*l;g=2*-(d.width+d.length)+"px";var m=e(f(),{position:"absolute",top:g,left:g});if(d.shadow)for(g=1;g<=d.lines;g++)k(g,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius\x3d2,makeshadow\x3d1,shadowopacity\x3d.3)");for(g=1;g<=d.lines;g++)k(g);return b(a,m)};g.prototype.opacity=function(a,b,c,d){a=a.firstChild;d=d.shadow&& d.lines||0;a&&b+d<a.childNodes.length&&(a=a.childNodes[b+d],a=a&&a.firstChild,a=a&&a.firstChild,a&&(a.opacity=c))}}var l,n=["webkit","Moz","ms","O"],m={},p=function(){var c=a("style",{type:"text/css"});return b(document.getElementsByTagName("head")[0],c),c.sheet||c.styleSheet}(),s={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",direction:1,speed:1,trail:100,opacity:0.25,fps:20,zIndex:2E9,className:"spinner",top:"50%",left:"50%",position:"absolute"};g.defaults={};f(g.prototype, -{spin:function(b){this.stop();var c=this,d=c.opts,f=c.el=e(a(0,{className:d.className}),{position:d.position,width:0,zIndex:d.zIndex});d.radius+d.length+d.width;if(b&&(b.insertBefore(f,b.firstChild||null),e(f,{left:d.left,top:d.top})),f.setAttribute("role","progressbar"),c.lines(f,c.opts),!l){var g,k=0,n=(d.lines-1)*(1-d.direction)/2,m=d.fps,p=m/d.speed,r=(1-d.opacity)/(p*d.trail/100),s=p/d.lines;!function G(){k++;for(var a=0;a<d.lines;a++)g=Math.max(1-(k+(d.lines-a)*s)%p*r,d.opacity),c.opacity(f, +{spin:function(b){this.stop();var c=this,d=c.opts,f=c.el=e(a(0,{className:d.className}),{position:d.position,width:0,zIndex:d.zIndex});d.radius+d.length+d.width;if(b&&(b.insertBefore(f,b.firstChild||null),e(f,{left:d.left,top:d.top})),f.setAttribute("role","progressbar"),c.lines(f,c.opts),!l){var g,k=0,n=(d.lines-1)*(1-d.direction)/2,m=d.fps,p=m/d.speed,s=(1-d.opacity)/(p*d.trail/100),r=p/d.lines;!function G(){k++;for(var a=0;a<d.lines;a++)g=Math.max(1-(k+(d.lines-a)*r)%p*s,d.opacity),c.opacity(f, a*d.direction+n,g,d);c.timeout=c.el&&setTimeout(G,~~(1E3/m))}()}return c},stop:function(){var a=this.el;return a&&(clearTimeout(this.timeout),a.parentNode&&a.parentNode.removeChild(a),this.el=void 0),this},lines:function(d,f){function g(b,c){return e(a(),{position:"absolute",width:f.length+f.width+"px",height:f.width+"px",background:b,boxShadow:c,transformOrigin:"left",transform:"rotate("+~~(360/f.lines*n+f.rotate)+"deg) translate("+f.radius+"px,0)",borderRadius:(f.corners*f.width>>1)+"px"})}for(var k, n=0,m=(f.lines-1)*(1-f.direction)/2;n<f.lines;n++)k=e(a(),{position:"absolute",top:1+~(f.width/2)+"px",transform:f.hwaccel?"translate3d(0,0,0)":"",opacity:f.opacity,animation:l&&c(f.opacity,f.trail,m+n*f.direction,f.lines)+" "+1/f.speed+"s linear infinite"}),f.shadow&&b(k,e(g("#000","0 0 4px #000"),{top:"2px"})),b(d,b(k,g("string"==typeof f.color?f.color:f.color[n%f.color.length],"0 0 1px rgba(0,0,0,.1)")));return d},opacity:function(a,b,c){b<a.childNodes.length&&(a.childNodes[b].style.opacity=c)}}); var r=e(a("group"),{behavior:"url(#default#VML)"});return!d(r,"transform")&&r.adj?k():l=d(r,"animation"),g});(function(){var a=void 0,b=!0,c=null,d=!1,e=["aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkturquoise darkviolet deeppink deepskyblue dimgray dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray snow springgreen steelblue tan teal thistle tomato transparent turquoise violet wheat white whitesmoke yellow yellowgreen".split(" "), @@ -35,7 +35,7 @@ e[79]],cssFns:["rgb()","rgba()"]},"radial-gradient()":{cssPropBits:7,cssLitGroup "rotate()":"border-bottom-left-radius","rotate3d()":"animation-delay","rotatex()":"border-bottom-left-radius","rotatey()":"border-bottom-left-radius","rotatez()":"border-bottom-left-radius","scale()":"animation-delay","scale3d()":"animation-delay","scalex()":"border-bottom-left-radius","scaley()":"border-bottom-left-radius","scalez()":"border-bottom-left-radius","skew()":"animation-delay","skewx()":"border-bottom-left-radius","skewy()":"border-bottom-left-radius","translate()":"animation-delay","translate3d()":"animation-delay", "translatex()":"border-bottom-left-radius","translatey()":"border-bottom-left-radius","translatez()":"border-bottom-left-radius"},g;for(g in f)"string"===typeof f[g]&&Object.hasOwnProperty.call(f,g)&&(f[g]=f[f[g]]);"undefined"!==typeof window&&(window.cssSchema=f);var k,l;(function(){function a(b){var c=parseInt(b.substring(1),16);return 65535<c?(c-=65536,String.fromCharCode(55296+(c>>10),56320+(c&1023))):c==c?String.fromCharCode(c):" ">b[1]?"":b[1]}function b(a,c){return'"'+a.replace(/[\u0000-\u001f\\\"<>]/g, c)+'"'}function c(a){return e[a]||(e[a]="\\"+a.charCodeAt(0).toString(16)+" ")}function d(a){return f[a]||(f[a]=("\u0010">a?"%0":"%")+a.charCodeAt(0).toString(16))}var e={"\\":"\\\\"},f={"\\":"%5c"},g=RegExp("\\uFEFF|U[+][0-9A-F?]{1,6}(?:-[0-9A-F]{1,6})?|url[(][\\t\\n\\f ]*(?:\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|(?:[\\t\\x21\\x23-\\x26\\x28-\\x5b\\x5d-\\x7e]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)[\\t\\n\\f ]*[)]|(?!url[(])-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*[(]|(?:@?-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))|#)(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*|\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|[-+]?(?:[0-9]+(?:[.][0-9]+)?|[.][0-9]+)(?:%|-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)?|\x3c!--|--\x3e|[\\t\\n\\f ]+|/(?:[*][^*]*[*]+(?:[^/][^*]*[*]+)*/|/[^\\n\\f]*)|[~|^$*]\x3d|[^\"'\\\\/]|/(?![/*])", -"gi"),n=RegExp("\\\\(?:(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff])|[\\n\\f])","g"),m=RegExp("^url\\([\\t\\n\\f ]*[\"']?|[\"']?[\\t\\n\\f ]*\\)$","gi");l=function(b){return b.replace(n,a)};k=function(a){a=(""+a).replace(/\r\n?/g,"\n").match(g)||[];for(var e=0,f=" ",k=0,n=a.length;k<n;++k){var p=l(a[k]),q=p.length,r=p.charCodeAt(0),p=34==r||39==r?b(p.substring(1,q-1),c):47==r&&1<q||"\\"==p||"--\x3e"==p||"\x3c!--"==p||"\ufeff"== +"gi"),n=RegExp("\\\\(?:(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff])|[\\n\\f])","g"),m=RegExp("^url\\([\\t\\n\\f ]*[\"']?|[\"']?[\\t\\n\\f ]*\\)$","gi");l=function(b){return b.replace(n,a)};k=function(a){a=(""+a).replace(/\r\n?/g,"\n").match(g)||[];for(var e=0,f=" ",k=0,n=a.length;k<n;++k){var p=l(a[k]),s=p.length,r=p.charCodeAt(0),p=34==r||39==r?b(p.substring(1,s-1),c):47==r&&1<s||"\\"==p||"--\x3e"==p||"\x3c!--"==p||"\ufeff"== p||32>=r?" ":/url\(/i.test(p)?"url("+b(p.replace(m,""),d)+")":p;if(f!=p||" "!=p)a[e++]=f=p}a.length=e;return a}})();"undefined"!==typeof window&&(window.lexCss=k,window.decodeCss=l);var n=function(){function a(b){b=(""+b).match(m);return!b?c:new k(g(b[1]),g(b[2]),g(b[3]),g(b[4]),g(b[5]),g(b[6]),g(b[7]))}function b(a,e){return"string"==typeof a?encodeURI(a).replace(e,d):c}function d(a){a=a.charCodeAt(0);return"%"+"0123456789ABCDEF".charAt(a>>4&15)+"0123456789ABCDEF".charAt(a&15)}function e(a){if(a=== c)return c;a=a.replace(/(^|\/)\.(?:\/|$)/g,"$1").replace(/\/{2,}/g,"/");for(var b=l,d;(d=a.replace(b,"$1"))!=a;a=d);return a}function f(a,b){var c=a.T(),d=b.K();d?c.ga(b.j):d=b.X();d?c.da(b.n):d=b.Y();d?c.ea(b.k):d=b.$();var k=b.g,g=e(k);if(d)c.ca(b.V()),g=g&&g.replace(n,"");else if(d=!!k){if(47!==g.charCodeAt(0))var g=e(c.g||"").replace(n,""),l=g.lastIndexOf("/")+1,g=e((l?g.substring(0,l):"")+e(k)).replace(n,"")}else g=g&&g.replace(n,""),g!==k&&c.G(g);d?c.G(g):d=b.aa();d?c.O(b.l):d=b.Z();d&&c.fa(b.o); return c}function k(a,b,c,d,e,f,g){this.j=a;this.n=b;this.k=c;this.h=d;this.g=e;this.l=f;this.o=g}function g(a){return"string"==typeof a&&0<a.length?a:c}var l=RegExp(/(\/|^)(?:[^./][^/]*|\.{2,}(?:[^./][^/]*)|\.{3,}[^/]*)\/\.\.(?:\/|$)/),n=/^(?:\.\.\/)*(?:\.\.$)?/;k.prototype.toString=function(){var a=[];c!==this.j&&a.push(this.j,":");c!==this.k&&(a.push("//"),c!==this.n&&a.push(this.n,"@"),a.push(this.k),c!==this.h&&a.push(":",this.h.toString()));c!==this.g&&a.push(this.g);c!==this.l&&a.push("?", @@ -44,21 +44,21 @@ function(){return this.h&&decodeURIComponent(this.h)};k.prototype.ca=function(a) !(a instanceof Array)&&(a instanceof Object||"[object Array]"!==Object.prototype.toString.call(a))){var b=[],c=-1,d;for(d in a){var e=a[d];"string"===typeof e&&(b[++c]=d,b[++c]=e)}a=b}for(var b=[],c="",f=0;f<a.length;)d=a[f++],e=a[f++],b.push(c,encodeURIComponent(d.toString())),c="\x26",e&&b.push("\x3d",encodeURIComponent(e.toString()));this.l=b.join("")};k.prototype.fa=function(a){this.o=a?a:c};k.prototype.Z=function(){return c!==this.o};var m=/^(?:([^:/?#]+):)?(?:\/\/(?:([^/?#]*)@)?([^/?#:@]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/, p=/[#\/\?@]/g,r=/[\#\?]/g;k.parse=a;k.create=function(a,e,f,g,l,n,m){a=new k(b(a,p),b(e,p),"string"==typeof f?encodeURIComponent(f):c,0<g?g.toString():c,b(l,r),c,"string"==typeof m?encodeURIComponent(m):c);n&&("string"===typeof n?a.O(n.replace(/[^?&=0-9A-Za-z_\-~.%]/g,d)):a.ba(n));return a};k.N=f;k.ma=e;k.ha={ua:function(b){return/\.html$/.test(a(b).U())?"text/html":"application/javascript"},N:function(b,c){return b?f(a(b),a(c)).toString():""+c}};return k}();"undefined"!==typeof window&&(window.URI= n);var m=a,p=a,s=a,r=a;(function(){function e(a){return"string"===typeof a?'url("'+a.replace(A,k)+'")':'url("about:blank")'}function k(a){return D[a]}function g(a,b){return a?n.ha.N(a,b):b}function t(a,b,d){if(!d)return c;var e=(""+a).match(C);return e&&(!e[1]||F.test(e[1]))?d(a,b):c}function E(a){return a.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/,"")}var A=/[\n\f\r\"\'()*<>]/g,D={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a", -"\x3c":"%3c","\x3e":"%3e"},C=/^(?:([^:/?# ]+):)?/,F=/^(?:https?|mailto|data)$/i;m=function(){var a={};return function S(b,c,d,k,n){b=E(b);var m=f[b];if(!m||"object"!==typeof m)c.length=0;else{for(var p=m.cssPropBits,r=p&80,q=p&1536,s=NaN,G=0,u=0;G<c.length;++G){var C=c[G].toLowerCase(),v=C.charCodeAt(0),F,H,D,A,Q,ha;if(32===v)C="";else if(34===v)C=16===r?d?e(t(g(k,l(c[G].substring(1,C.length-1))),b,d)):"":p&8&&!(r&r-1)?C:"";else if("inherit"!==C){if(Q=m.cssLitGroup){var ea;if(!(ea=m.cssLitMap)){ea= +"\x3c":"%3c","\x3e":"%3e"},C=/^(?:([^:/?# ]+):)?/,F=/^(?:https?|mailto|data)$/i;m=function(){var a={};return function S(b,c,d,k,n){b=E(b);var m=f[b];if(!m||"object"!==typeof m)c.length=0;else{for(var p=m.cssPropBits,r=p&80,s=p&1536,q=NaN,G=0,u=0;G<c.length;++G){var C=c[G].toLowerCase(),v=C.charCodeAt(0),F,H,D,A,Q,ha;if(32===v)C="";else if(34===v)C=16===r?d?e(t(g(k,l(c[G].substring(1,C.length-1))),b,d)):"":p&8&&!(r&r-1)?C:"";else if("inherit"!==C){if(Q=m.cssLitGroup){var ea;if(!(ea=m.cssLitMap)){ea= {};for(var V=Q.length;0<=--V;)for(var ga=Q[V],ka=ga.length;0<=--ka;)ea[ga[ka]]=a;ea=m.cssLitMap=ea}Q=ea}else Q=a;if(!(ha=Q,ha[E(C)]===a))if(35===v&&/^#(?:[0-9a-f]{3}){1,2}$/.test(C))C=p&2?C:"";else if(48<=v&&57>=v)C=p&1?C:"";else if(F=C.charCodeAt(1),H=C.charCodeAt(2),D=48<=F&&57>=F,A=48<=H&&57>=H,43===v&&(D||46===F&&A))C=p&1?(D?"":"0")+C.substring(1):"";else if(45===v&&(D||46===F&&A))C=p&4?(D?"-":"-0")+C.substring(1):p&1?"0":"";else if(46===v&&D)C=p&1?"0"+C:"";else if('url("'===C.substring(0,5))C= -d&&p&16?e(t(g(k,c[G].substring(5,C.length-2)),b,d)):"";else if("("===C.charAt(C.length-1))a:{Q=c;ea=G;C=1;V=ea+1;for(v=Q.length;V<v&&C;)ga=Q[V++],C+=")"===ga?-1:/^[^"']*\($/.test(ga);if(!C){C=Q[ea].toLowerCase();v=E(C);Q=Q.splice(ea,V-ea,"");ea=m.cssFns;V=0;for(ga=ea.length;V<ga;++V)if(ea[V].substring(0,v.length)==v){Q[0]=Q[Q.length-1]="";S(ea[V],Q,d,k);C=C+Q.join(" ")+")";break a}}C=""}else C=q&&/^-?[a-z_][\w\-]*$/.test(C)&&!/__$/.test(C)?n&&512===q?c[G]+n:1024===q&&f[C]&&"number"===typeof f[C].oa? -C:"":/^\w+$/.test(C)&&64===r&&p&8?s+1===u?(c[s]=c[s].substring(0,c[s].length-1)+" "+C+'"',""):(s=u,'"'+C+'"'):""}C&&(c[u++]=C)}1===u&&'url("about:blank")'===c[0]&&(u=0);c.length=u}}}();var G=RegExp("^(active|after|before|blank|checked|default|disabled|drop|empty|enabled|first|first-child|first-letter|first-line|first-of-type|fullscreen|focus|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|user-error|valid|visited)$"), -H={};H["\x3e"]=H["+"]=H["~"]=H;p=function(a,e,f){function k(p,r){function q(c,f,k){var g,m,p,r,t,C=b;g="";if(c<f)if(t=a[c],"*"===t)++c,g=t;else if(/^[a-zA-Z]/.test(t)&&(m=n(t.toLowerCase(),[])))"tagName"in m&&(t=m.tagName),++c,g=t;for(r=p=m="";C&&c<f;++c)if(t=a[c],"#"===t.charAt(0))/^#_|__$|[^\w#:\-]/.test(t)?C=d:m+=t+l;else if("."===t)++c<f&&/^[0-9A-Za-z:_\-]+$/.test(t=a[c])&&!/^_|__$/.test(t)?m+="."+t:C=d;else if(c+1<f&&"["===a[c]){++c;var x=a[c++].toLowerCase();t=u.m[g+"::"+x];t!==+t&&(t=u.m["*::"+ +d&&p&16?e(t(g(k,c[G].substring(5,C.length-2)),b,d)):"";else if("("===C.charAt(C.length-1))a:{Q=c;ea=G;C=1;V=ea+1;for(v=Q.length;V<v&&C;)ga=Q[V++],C+=")"===ga?-1:/^[^"']*\($/.test(ga);if(!C){C=Q[ea].toLowerCase();v=E(C);Q=Q.splice(ea,V-ea,"");ea=m.cssFns;V=0;for(ga=ea.length;V<ga;++V)if(ea[V].substring(0,v.length)==v){Q[0]=Q[Q.length-1]="";S(ea[V],Q,d,k);C=C+Q.join(" ")+")";break a}}C=""}else C=s&&/^-?[a-z_][\w\-]*$/.test(C)&&!/__$/.test(C)?n&&512===s?c[G]+n:1024===s&&f[C]&&"number"===typeof f[C].oa? +C:"":/^\w+$/.test(C)&&64===r&&p&8?q+1===u?(c[q]=c[q].substring(0,c[q].length-1)+" "+C+'"',""):(q=u,'"'+C+'"'):""}C&&(c[u++]=C)}1===u&&'url("about:blank")'===c[0]&&(u=0);c.length=u}}}();var G=RegExp("^(active|after|before|blank|checked|default|disabled|drop|empty|enabled|first|first-child|first-letter|first-line|first-of-type|fullscreen|focus|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|user-error|valid|visited)$"), +H={};H["\x3e"]=H["+"]=H["~"]=H;p=function(a,e,f){function k(p,r){function s(c,f,k){var g,m,p,r,t,C=b;g="";if(c<f)if(t=a[c],"*"===t)++c,g=t;else if(/^[a-zA-Z]/.test(t)&&(m=n(t.toLowerCase(),[])))"tagName"in m&&(t=m.tagName),++c,g=t;for(r=p=m="";C&&c<f;++c)if(t=a[c],"#"===t.charAt(0))/^#_|__$|[^\w#:\-]/.test(t)?C=d:m+=t+l;else if("."===t)++c<f&&/^[0-9A-Za-z:_\-]+$/.test(t=a[c])&&!/^_|__$/.test(t)?m+="."+t:C=d;else if(c+1<f&&"["===a[c]){++c;var x=a[c++].toLowerCase();t=u.m[g+"::"+x];t!==+t&&(t=u.m["*::"+ x]);var v;e.ia?(v=e.ia(g,x),"string"!==typeof v&&(C=d,v=x),C&&t!==+t&&(t=u.d.NONE)):(v=x,t!==+t&&(C=d));var F=x="",y=d;/^[~^$*|]?=$/.test(a[c])&&(x=a[c++],F=a[c++],/^[0-9A-Za-z:_\-]+$/.test(F)?F='"'+F+'"':"]"===F&&(F='""',--c),/^"([^\"\\]|\\.)*"$/.test(F)||(C=d),(y="i"===a[c])&&++c);"]"!==a[c]&&(++c,C=d);switch(t){case u.d.CLASSES:case u.d.LOCAL_NAME:case u.d.NONE:break;case u.d.GLOBAL_NAME:case u.d.ID:case u.d.IDREF:("\x3d"===x||"~\x3d"===x||"$\x3d"===x)&&'""'!=F&&!y?F='"'+F.substring(1,F.length- -1)+l+'"':"|\x3d"===x||""===x||(C=d);break;case u.d.URI:case u.d.URI_FRAGMENT:""!==x&&(C=d);break;default:C=d}C&&(p+="["+v.replace(/[^\w-]/g,"\\$\x26")+x+F+(y?" i]":"]"))}else if(c<f&&":"===a[c])if(t=a[++c],G.test(t))r+=":"+t;else break;else break;c!==f&&(C=d);C&&(c=(g+m).replace(/[^ .*#\w-]/g,"\\$\x26")+p+r+k)&&s.push(c);return C}" "===a[p]&&++p;r-1!==p&&" "===a[r]&&--r;for(var s=[],t=p,C=b,x=p;C&&x<r;++x){var v=a[x];if(H[v]===H||" "===v)q(t,x,v)?t=x+1:C=d}q(t,r,"")||(C=d);return C?(s.length&&(t= -s.join(""),g!==c&&(t="."+g+" "+t),m.push(t)),b):!f||f(a.slice(p,r))}var g=e.na,l=e.L,n=e.Aa,m=[],p=0,r,q=0,s;for(r=0;r<a.length;++r)if(s=a[r],"("==s||"["==s?(++q,b):")"==s||"]"==s?(q&&--q,b):!(" "==a[r]&&(q||H[a[r-1]]===H||H[a[r+1]]===H)))a[p++]=a[r];a.length=p;p=a.length;for(r=q=0;r<p;++r)if(","===a[r]){if(!k(q,r))return c;q=r+1}return!k(q,p)?c:m};(function(){var a=/^\w/,b=RegExp("^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*))*$", +1)+l+'"':"|\x3d"===x||""===x||(C=d);break;case u.d.URI:case u.d.URI_FRAGMENT:""!==x&&(C=d);break;default:C=d}C&&(p+="["+v.replace(/[^\w-]/g,"\\$\x26")+x+F+(y?" i]":"]"))}else if(c<f&&":"===a[c])if(t=a[++c],G.test(t))r+=":"+t;else break;else break;c!==f&&(C=d);C&&(c=(g+m).replace(/[^ .*#\w-]/g,"\\$\x26")+p+r+k)&&q.push(c);return C}" "===a[p]&&++p;r-1!==p&&" "===a[r]&&--r;for(var q=[],t=p,C=b,x=p;C&&x<r;++x){var v=a[x];if(H[v]===H||" "===v)s(t,x,v)?t=x+1:C=d}s(t,r,"")||(C=d);return C?(q.length&&(t= +q.join(""),g!==c&&(t="."+g+" "+t),m.push(t)),b):!f||f(a.slice(p,r))}var g=e.na,l=e.L,n=e.Aa,m=[],p=0,r,s=0,q;for(r=0;r<a.length;++r)if(q=a[r],"("==q||"["==q?(++s,b):")"==q||"]"==q?(s&&--s,b):!(" "==a[r]&&(s||H[a[r-1]]===H||H[a[r+1]]===H)))a[p++]=a[r];a.length=p;p=a.length;for(r=s=0;r<p;++r)if(","===a[r]){if(!k(s,r))return c;s=r+1}return!k(s,p)?c:m};(function(){var a=/^\w/,b=RegExp("^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*))*$", "i");r=function(c){c=c.slice();for(var d=c.length,e=0,f=0;f<d;++f){var k=c[f];" "!=k&&(c[e++]=k)}c.length=e;c=c.join(" ");return!c.length?"":!b.test(c)?"not all":a.test(c)?c:"not all , "+c}})();(function(){function e(a){var b=/^\s*[']([^']*)[']\s*$/,d=/^\s*url\s*[(]["]([^"]*)["][)]\s*$/,f=/^\s*url\s*[(][']([^']*)['][)]\s*$/,k=/^\s*url\s*[(]([^)]*)[)]\s*$/,g;return(g=/^\s*["]([^"]*)["]\s*$/.exec(a))||(g=b.exec(a))||(g=d.exec(a))||(g=f.exec(a))||(g=k.exec(a))?g[1]:c}function f(k,l,n,s,G,u,C){function x(){D= H.length&&H[H.length-1]===c}var v=a,F=C||[0],H=[],D=d;q(l,{startStylesheet:function(){v=[]},endStylesheet:function(){},startAtrule:function(a,b){if(D)a=c;else if("@media"===a)v.push("@media"," ",r(b));else if("@keyframes"===a||"@-webkit-keyframes"===a){var d=b[0];1===b.length&&!/__$|[^\w\-]/.test(d)?(v.push(a," ",d+n.L),a="@keyframes"):a=c}else if("@import"===a&&0<b.length)if(a=c,"function"===typeof u){var l=r(b.slice(1));if("not all"!==l){++F[0];var m=[];v.push(m);var p=t(g(k,e(b[0])),function(a){var b= f(p,a.qa,n,s,G,u,F);--F[0];a=l?{toString:function(){return"@media "+l+" {"+b.result+"}"}}:b.result;m[0]=a;u(a,!!F[0])},G)}}else window.console&&window.console.log("@import "+b.join(" ")+" elided");D=!a;H.push(a)},endAtrule:function(){H.pop();D||v.push(";");x()},startBlock:function(){D||v.push("{")},endBlock:function(){D||(v.push("}"),D=b)},startRuleset:function(d){if(!D){var e=a;"@keyframes"===H[H.length-1]?(e=d.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i), D=!e,e&&(e=e[0].replace(/ +/g,""))):(d=p(d,n),!d||!d.length?D=b:e=d.join(", "));D||v.push(e,"{")}H.push(c)},endRuleset:function(){H.pop();D||v.push("}");x()},declaration:function(a,c){if(!D){var e=d,f=c.length;2<=f&&"!"===c[f-2]&&"important"===c[f-1].toLowerCase()&&(e=b,c.length-=2);m(a,c,s,k,n.L);c.length&&v.push(a,":",c.join(" "),e?" !important;":";")}}});return{result:{toString:function(){return v.join("")}},va:!!F[0]}}s=function(b,c,d,e){return f(b,c,d,e,a,a).result.toString()}})()})();"undefined"!== typeof window&&(window.sanitizeCssProperty=m,window.sanitizeCssSelectorList=p,window.sanitizeStylesheet=s,window.sanitizeMediaQuery=r);var q,t;(function(){function a(b,d,e,f,k){for(var g=d++;d<e&&"{"!==b[d]&&";"!==b[d];)++d;if(d<e&&(k||";"===b[d])){k=g+1;var l=d;k<e&&" "===b[k]&&++k;l>k&&" "===b[l-1]&&--l;f.startAtrule&&f.startAtrule(b[g].toLowerCase(),b.slice(k,l));d="{"===b[d]?c(b,d,e,f):d+1;f.endAtrule&&f.endAtrule()}return d}function c(b,f,k,g){++f;for(g.startBlock&&g.startBlock();f<k;){var l= b[f].charAt(0);if("}"==l){++f;break}f=" "===l||";"===l?f+1:"@"===l?a(b,f,k,g,d):"{"===l?c(b,f,k,g):e(b,f,k,g)}g.endBlock&&g.endBlock();return f}function e(a,c,d,k){var g=c,n=f(a,c,d,b);if(0>n)return n=~n,n===g?n+1:n;var m=a[n];if("{"!==m)return n===g?n+1:n;c=n+1;n>g&&" "===a[n-1]&&--n;for(k.startRuleset&&k.startRuleset(a.slice(g,n));c<d;){m=a[c];if("}"===m){++c;break}c=" "===m?c+1:l(a,c,d,k)}k.endRuleset&&k.endRuleset();return c}function f(a,b,c,d){for(var e,k=[],g=-1;b<c;++b)if(e=a[b].charAt(0), -"["===e||"("===e)k[++g]=e;else if("]"===e&&"["===k[g]||")"===e&&"("===k[g])--g;else if("{"===e||"}"===e||";"===e||"@"===e||":"===e&&!d)break;0<=g&&(b=~(b+1));return b}function g(a,b,c){for(;b<c&&";"!==a[b]&&"}"!==a[b];)++b;return b<c&&";"===a[b]?b+1:b}function l(a,b,c,e){var k=a[b++];if(!n.test(k))return g(a,b,c);b<c&&" "===a[b]&&++b;if(b==c||":"!==a[b])return g(a,b,c);++b;b<c&&" "===a[b]&&++b;var m=f(a,b,c,d);if(0>m)m=~m;else{for(var p=[],r=0,q=b;q<m;++q)b=a[q]," "!==b&&(p[r++]=b);if(m<c){do{b=a[m]; +"["===e||"("===e)k[++g]=e;else if("]"===e&&"["===k[g]||")"===e&&"("===k[g])--g;else if("{"===e||"}"===e||";"===e||"@"===e||":"===e&&!d)break;0<=g&&(b=~(b+1));return b}function g(a,b,c){for(;b<c&&";"!==a[b]&&"}"!==a[b];)++b;return b<c&&";"===a[b]?b+1:b}function l(a,b,c,e){var k=a[b++];if(!n.test(k))return g(a,b,c);b<c&&" "===a[b]&&++b;if(b==c||":"!==a[b])return g(a,b,c);++b;b<c&&" "===a[b]&&++b;var m=f(a,b,c,d);if(0>m)m=~m;else{for(var p=[],r=0,s=b;s<m;++s)b=a[s]," "!==b&&(p[r++]=b);if(m<c){do{b=a[m]; if(";"===b||"}"===b)break;r=0}while(++m<c);";"===b&&++m}r&&e.declaration&&e.declaration(k.toLowerCase(),p)}return m}q=function(c,d){var f=k(c);d.startStylesheet&&d.startStylesheet();for(var g=0,l=f.length;g<l;)g=" "===f[g]?g+1:g<l?"@"===f[g].charAt(0)?a(f,g,l,d,b):e(f,g,l,d):g;d.endStylesheet&&d.endStylesheet()};var n=/^-?[a-z]/i;t=function(a,b){for(var c=k(a),d=0,e=c.length;d<e;)d=" "!==c[d]?l(c,d,e,b):d+1}})();"undefined"!==typeof window&&(window.parseCssStylesheet=q,window.parseCssDeclarations= t);var u={d:{NONE:0,URI:1,URI_FRAGMENT:11,SCRIPT:2,STYLE:3,HTML:12,ID:4,IDREF:5,IDREFS:6,GLOBAL_NAME:7,LOCAL_NAME:8,CLASSES:9,FRAME_TARGET:10,MEDIA_QUERY:13}};u.atype=u.d;u.m={"*::class":9,"*::dir":0,"*::draggable":0,"*::hidden":0,"*::id":4,"*::inert":0,"*::itemprop":0,"*::itemref":6,"*::itemscope":0,"*::lang":0,"*::onblur":2,"*::onchange":2,"*::onclick":2,"*::ondblclick":2,"*::onerror":2,"*::onfocus":2,"*::onkeydown":2,"*::onkeypress":2,"*::onkeyup":2,"*::onload":2,"*::onmousedown":2,"*::onmousemove":2, "*::onmouseout":2,"*::onmouseover":2,"*::onmouseup":2,"*::onreset":2,"*::onscroll":2,"*::onselect":2,"*::onsubmit":2,"*::ontouchcancel":2,"*::ontouchend":2,"*::ontouchenter":2,"*::ontouchleave":2,"*::ontouchmove":2,"*::ontouchstart":2,"*::onunload":2,"*::spellcheck":0,"*::style":3,"*::tabindex":0,"*::title":0,"*::translate":0,"a::accesskey":0,"a::coords":0,"a::href":1,"a::hreflang":0,"a::name":7,"a::onblur":2,"a::onfocus":2,"a::shape":0,"a::target":10,"a::type":0,"area::accesskey":0,"area::alt":0, @@ -82,16 +82,16 @@ time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:" u.URIEFFECTS=u.J;u.M={UNSANDBOXED:2,SANDBOXED:1,DATA:0};u.ltypes=u.M;u.I={"a::href":2,"area::href":2,"audio::src":2,"blockquote::cite":2,"command::icon":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2,"video::poster":1,"video::src":2};u.LOADERTYPES=u.I;"undefined"!==typeof window&&(window.html4=u);e=function(e){function f(a,b){var c;if(L.hasOwnProperty(b))c=L[b];else{var d=b.match(I);c=d?String.fromCharCode(parseInt(d[1],10)):(d=b.match(aa))?String.fromCharCode(parseInt(d[1], 16)):J&&M.test(b)?(J.innerHTML="\x26"+b+";",d=J.textContent,L[b]=d):"\x26"+b+";"}return c}function g(a){return a.replace(R,f)}function k(a){return(""+a).replace($,"\x26amp;").replace(X,"\x26lt;").replace(Z,"\x26gt;").replace(T,"\x26#34;")}function l(a){return a.replace(P,"\x26amp;$1").replace(X,"\x26lt;").replace(Z,"\x26gt;")}function m(a){var b={z:a.z||a.cdata,A:a.A||a.comment,B:a.B||a.endDoc,t:a.t||a.endTag,e:a.e||a.pcdata,F:a.F||a.rcdata,H:a.H||a.startDoc,w:a.w||a.startTag};return function(a,e){var f, g=/(<\/|<\!--|<[!?]|[&<>])/g;f=a+"";if(ha)f=f.split(g);else{for(var k=[],l=0,n;(n=g.exec(f))!==c;)k.push(f.substring(l,n.index)),k.push(n[0]),l=n.index+n[0].length;k.push(f.substring(l));f=k}r(b,f,0,{r:d,C:d},e)}}function p(a,b,c,d,e){return function(){r(a,b,c,d,e)}}function r(a,c,d,f,g){try{a.H&&0==d&&a.H(g);for(var k,l,n,m=c.length;d<m;){var t=c[d++],u=c[d];switch(t){case "\x26":ca.test(u)?(a.e&&a.e("\x26"+u,g,V,p(a,c,d,f,g)),d++):a.e&&a.e("\x26amp;",g,V,p(a,c,d,f,g));break;case "\x3c/":if(k=/^([-\w:]+)[^\'\"]*/.exec(u))if(k[0].length=== -u.length&&"\x3e"===c[d+1])d+=2,n=k[1].toLowerCase(),a.t&&a.t(n,g,V,p(a,c,d,f,g));else{var B=c,C=d,v=a,Q=g,y=V,z=f,Y=s(B,C);Y?(v.t&&v.t(Y.name,Q,y,p(v,B,C,z,Q)),d=Y.next):d=B.length}else a.e&&a.e("\x26lt;/",g,V,p(a,c,d,f,g));break;case "\x3c":if(k=/^([-\w:]+)\s*\/?/.exec(u))if(k[0].length===u.length&&"\x3e"===c[d+1]){d+=2;n=k[1].toLowerCase();a.w&&a.w(n,[],g,V,p(a,c,d,f,g));var H=e.f[n];H&ea&&(d=q(c,{name:n,next:d,c:H},a,g,V,f))}else{var B=c,C=a,v=g,Q=V,y=f,L=s(B,d);L?(C.w&&C.w(L.name,L.R,v,Q,p(C, -B,L.next,y,v)),d=L.c&ea?q(B,L,C,v,Q,y):L.next):d=B.length}else a.e&&a.e("\x26lt;",g,V,p(a,c,d,f,g));break;case "\x3c!--":if(!f.C){for(l=d+1;l<m&&!("\x3e"===c[l]&&/--$/.test(c[l-1]));l++);if(l<m){if(a.A){var I=c.slice(d,l).join("");a.A(I.substr(0,I.length-2),g,V,p(a,c,l+1,f,g))}d=l+1}else f.C=b}f.C&&a.e&&a.e("\x26lt;!--",g,V,p(a,c,d,f,g));break;case "\x3c!":if(/^\w/.test(u)){if(!f.r){for(l=d+1;l<m&&"\x3e"!==c[l];l++);l<m?d=l+1:f.r=b}f.r&&a.e&&a.e("\x26lt;!",g,V,p(a,c,d,f,g))}else a.e&&a.e("\x26lt;!", -g,V,p(a,c,d,f,g));break;case "\x3c?":if(!f.r){for(l=d+1;l<m&&"\x3e"!==c[l];l++);l<m?d=l+1:f.r=b}f.r&&a.e&&a.e("\x26lt;?",g,V,p(a,c,d,f,g));break;case "\x3e":a.e&&a.e("\x26gt;",g,V,p(a,c,d,f,g));break;case "":break;default:a.e&&a.e(t,g,V,p(a,c,d,f,g))}}a.B&&a.B(g)}catch(E){if(E!==V)throw E;}}function q(a,b,c,d,f,g){var k=a.length;ga.hasOwnProperty(b.name)||(ga[b.name]=RegExp("^"+b.name+"(?:[\\s\\/]|$)","i"));for(var n=ga[b.name],m=b.next,r=b.next+1;r<k&&!("\x3c/"===a[r-1]&&n.test(a[r]));r++);r<k&& -(r-=1);k=a.slice(m,r).join("");if(b.c&e.c.CDATA)c.z&&c.z(k,d,f,p(c,a,r,g,d));else if(b.c&e.c.RCDATA)c.F&&c.F(l(k),d,f,p(c,a,r,g,d));else throw Error("bug");return r}function s(a,c){var f=/^([-\w:]+)/.exec(a[c]),k={};k.name=f[1].toLowerCase();k.c=e.f[k.name];for(var l=a[c].substr(f[0].length),n=c+1,m=a.length;n<m&&"\x3e"!==a[n];n++)l+=a[n];if(!(m<=n)){for(var p=[];""!==l;)if(f=Q.exec(l))if(f[4]&&!f[5]||f[6]&&!f[7]){for(var f=f[4]||f[6],r=d,l=[l,a[n++]];n<m;n++){if(r){if("\x3e"===a[n])break}else 0<= -a[n].indexOf(f)&&(r=b);l.push(a[n])}if(m<=n)break;l=l.join("")}else{var r=f[1].toLowerCase(),q;if(f[2]){q=f[3];var t=q.charCodeAt(0);if(34===t||39===t)q=q.substr(1,q.length-2);q=g(q.replace(N,""))}else q="";p.push(r,q);l=l.substr(f[0].length)}else l=l.replace(/^[\s\S][^a-z\s]*/,"");k.R=p;k.next=n+1;return k}}function t(b){function f(a,b){l||b.push(a)}var g,l;return m({startDoc:function(){g=[];l=d},startTag:function(d,f,n){if(!l&&e.f.hasOwnProperty(d)){var m=e.f[d];if(!(m&e.c.FOLDABLE)){var p=b(d, -f);if(p){if("object"!==typeof p)throw Error("tagPolicy did not return object (old API?)");if("attribs"in p)f=p.attribs;else throw Error("tagPolicy gave no attribs");var r;"tagName"in p?(r=p.tagName,p=e.f[r]):(r=d,p=m);if(m&e.c.OPTIONAL_ENDTAG){var q=g[g.length-1];q&&q.D===d&&(q.v!==r||d!==r)&&n.push("\x3c/",q.v,"\x3e")}m&e.c.EMPTY||g.push({D:d,v:r});n.push("\x3c",r);d=0;for(q=f.length;d<q;d+=2){var s=f[d],t=f[d+1];t!==c&&t!==a&&n.push(" ",s,'\x3d"',k(t),'"')}n.push("\x3e");m&e.c.EMPTY&&!(p&e.c.EMPTY)&& +u.length&&"\x3e"===c[d+1])d+=2,n=k[1].toLowerCase(),a.t&&a.t(n,g,V,p(a,c,d,f,g));else{var B=c,C=d,v=a,Q=g,y=V,z=f,Y=q(B,C);Y?(v.t&&v.t(Y.name,Q,y,p(v,B,C,z,Q)),d=Y.next):d=B.length}else a.e&&a.e("\x26lt;/",g,V,p(a,c,d,f,g));break;case "\x3c":if(k=/^([-\w:]+)\s*\/?/.exec(u))if(k[0].length===u.length&&"\x3e"===c[d+1]){d+=2;n=k[1].toLowerCase();a.w&&a.w(n,[],g,V,p(a,c,d,f,g));var H=e.f[n];H&ea&&(d=s(c,{name:n,next:d,c:H},a,g,V,f))}else{var B=c,C=a,v=g,Q=V,y=f,L=q(B,d);L?(C.w&&C.w(L.name,L.R,v,Q,p(C, +B,L.next,y,v)),d=L.c&ea?s(B,L,C,v,Q,y):L.next):d=B.length}else a.e&&a.e("\x26lt;",g,V,p(a,c,d,f,g));break;case "\x3c!--":if(!f.C){for(l=d+1;l<m&&!("\x3e"===c[l]&&/--$/.test(c[l-1]));l++);if(l<m){if(a.A){var I=c.slice(d,l).join("");a.A(I.substr(0,I.length-2),g,V,p(a,c,l+1,f,g))}d=l+1}else f.C=b}f.C&&a.e&&a.e("\x26lt;!--",g,V,p(a,c,d,f,g));break;case "\x3c!":if(/^\w/.test(u)){if(!f.r){for(l=d+1;l<m&&"\x3e"!==c[l];l++);l<m?d=l+1:f.r=b}f.r&&a.e&&a.e("\x26lt;!",g,V,p(a,c,d,f,g))}else a.e&&a.e("\x26lt;!", +g,V,p(a,c,d,f,g));break;case "\x3c?":if(!f.r){for(l=d+1;l<m&&"\x3e"!==c[l];l++);l<m?d=l+1:f.r=b}f.r&&a.e&&a.e("\x26lt;?",g,V,p(a,c,d,f,g));break;case "\x3e":a.e&&a.e("\x26gt;",g,V,p(a,c,d,f,g));break;case "":break;default:a.e&&a.e(t,g,V,p(a,c,d,f,g))}}a.B&&a.B(g)}catch(E){if(E!==V)throw E;}}function s(a,b,c,d,f,g){var k=a.length;ga.hasOwnProperty(b.name)||(ga[b.name]=RegExp("^"+b.name+"(?:[\\s\\/]|$)","i"));for(var n=ga[b.name],m=b.next,r=b.next+1;r<k&&!("\x3c/"===a[r-1]&&n.test(a[r]));r++);r<k&& +(r-=1);k=a.slice(m,r).join("");if(b.c&e.c.CDATA)c.z&&c.z(k,d,f,p(c,a,r,g,d));else if(b.c&e.c.RCDATA)c.F&&c.F(l(k),d,f,p(c,a,r,g,d));else throw Error("bug");return r}function q(a,c){var f=/^([-\w:]+)/.exec(a[c]),k={};k.name=f[1].toLowerCase();k.c=e.f[k.name];for(var l=a[c].substr(f[0].length),n=c+1,m=a.length;n<m&&"\x3e"!==a[n];n++)l+=a[n];if(!(m<=n)){for(var p=[];""!==l;)if(f=Q.exec(l))if(f[4]&&!f[5]||f[6]&&!f[7]){for(var f=f[4]||f[6],r=d,l=[l,a[n++]];n<m;n++){if(r){if("\x3e"===a[n])break}else 0<= +a[n].indexOf(f)&&(r=b);l.push(a[n])}if(m<=n)break;l=l.join("")}else{var r=f[1].toLowerCase(),s;if(f[2]){s=f[3];var t=s.charCodeAt(0);if(34===t||39===t)s=s.substr(1,s.length-2);s=g(s.replace(N,""))}else s="";p.push(r,s);l=l.substr(f[0].length)}else l=l.replace(/^[\s\S][^a-z\s]*/,"");k.R=p;k.next=n+1;return k}}function t(b){function f(a,b){l||b.push(a)}var g,l;return m({startDoc:function(){g=[];l=d},startTag:function(d,f,n){if(!l&&e.f.hasOwnProperty(d)){var m=e.f[d];if(!(m&e.c.FOLDABLE)){var p=b(d, +f);if(p){if("object"!==typeof p)throw Error("tagPolicy did not return object (old API?)");if("attribs"in p)f=p.attribs;else throw Error("tagPolicy gave no attribs");var r;"tagName"in p?(r=p.tagName,p=e.f[r]):(r=d,p=m);if(m&e.c.OPTIONAL_ENDTAG){var s=g[g.length-1];s&&s.D===d&&(s.v!==r||d!==r)&&n.push("\x3c/",s.v,"\x3e")}m&e.c.EMPTY||g.push({D:d,v:r});n.push("\x3c",r);d=0;for(s=f.length;d<s;d+=2){var q=f[d],t=f[d+1];t!==c&&t!==a&&n.push(" ",q,'\x3d"',k(t),'"')}n.push("\x3e");m&e.c.EMPTY&&!(p&e.c.EMPTY)&& n.push("\x3c/",r,"\x3e")}else l=!(m&e.c.EMPTY)}}},endTag:function(a,b){if(l)l=d;else if(e.f.hasOwnProperty(a)){var c=e.f[a];if(!(c&(e.c.EMPTY|e.c.FOLDABLE))){if(c&e.c.OPTIONAL_ENDTAG)for(c=g.length;0<=--c;){var f=g[c].D;if(f===a)break;if(!(e.f[f]&e.c.OPTIONAL_ENDTAG))return}else for(c=g.length;0<=--c&&g[c].D!==a;);if(!(0>c)){for(f=g.length;--f>c;){var k=g[f].v;e.f[k]&e.c.OPTIONAL_ENDTAG||b.push("\x3c/",k,"\x3e")}c<g.length&&(a=g[c].v);g.length=c;b.push("\x3c/",a,"\x3e")}}}},pcdata:f,rcdata:f,cdata:f, endDoc:function(a){for(;g.length;g.length--)a.push("\x3c/",g[g.length-1].v,"\x3e")}})}function u(a,b,d,e,f){if(!f)return c;try{var g=n.parse(""+a);if(g&&(!g.K()||ka.test(g.W()))){var k=f(g,b,d,e);return k?k.toString():c}}catch(l){}return c}function K(a,b,c,d,e){c||a(b+" removed",{S:"removed",tagName:b});if(d!==e){var f="changed";d&&!e?f="removed":!d&&e&&(f="added");a(b+"."+c+" "+f,{S:f,tagName:b,la:c,oldValue:d,newValue:e})}}function S(a,b,c){b=b+"::"+c;if(a.hasOwnProperty(b))return a[b];b="*::"+ -c;if(a.hasOwnProperty(b))return a[b]}function W(b,d,f,g,k){for(var l=0;l<d.length;l+=2){var n=d[l],m=d[l+1],p=m,r=c,q;if((q=b+"::"+n,e.m.hasOwnProperty(q))||(q="*::"+n,e.m.hasOwnProperty(q)))r=e.m[q];if(r!==c)switch(r){case e.d.NONE:break;case e.d.SCRIPT:m=c;k&&K(k,b,n,p,m);break;case e.d.STYLE:if("undefined"===typeof B){m=c;k&&K(k,b,n,p,m);break}var s=[];B(m,{declaration:function(a,b){var d=a.toLowerCase();Y(d,b,f?function(a){return u(a,e.P.ja,e.M.ka,{TYPE:"CSS",CSS_PROP:d},f)}:c);b.length&&s.push(d+ -": "+b.join(" "))}});m=0<s.length?s.join(" ; "):c;k&&K(k,b,n,p,m);break;case e.d.ID:case e.d.IDREF:case e.d.IDREFS:case e.d.GLOBAL_NAME:case e.d.LOCAL_NAME:case e.d.CLASSES:m=g?g(m):m;k&&K(k,b,n,p,m);break;case e.d.URI:m=u(m,S(e.J,b,n),S(e.I,b,n),{TYPE:"MARKUP",XML_ATTR:n,XML_TAG:b},f);k&&K(k,b,n,p,m);break;case e.d.URI_FRAGMENT:m&&"#"===m.charAt(0)?(m=m.substring(1),m=g?g(m):m,m!==c&&m!==a&&(m="#"+m)):m=c;k&&K(k,b,n,p,m);break;default:m=c,k&&K(k,b,n,p,m)}else m=c,k&&K(k,b,n,p,m);d[l+1]=m}return d} +c;if(a.hasOwnProperty(b))return a[b]}function W(b,d,f,g,k){for(var l=0;l<d.length;l+=2){var n=d[l],m=d[l+1],p=m,r=c,s;if((s=b+"::"+n,e.m.hasOwnProperty(s))||(s="*::"+n,e.m.hasOwnProperty(s)))r=e.m[s];if(r!==c)switch(r){case e.d.NONE:break;case e.d.SCRIPT:m=c;k&&K(k,b,n,p,m);break;case e.d.STYLE:if("undefined"===typeof B){m=c;k&&K(k,b,n,p,m);break}var q=[];B(m,{declaration:function(a,b){var d=a.toLowerCase();Y(d,b,f?function(a){return u(a,e.P.ja,e.M.ka,{TYPE:"CSS",CSS_PROP:d},f)}:c);b.length&&q.push(d+ +": "+b.join(" "))}});m=0<q.length?q.join(" ; "):c;k&&K(k,b,n,p,m);break;case e.d.ID:case e.d.IDREF:case e.d.IDREFS:case e.d.GLOBAL_NAME:case e.d.LOCAL_NAME:case e.d.CLASSES:m=g?g(m):m;k&&K(k,b,n,p,m);break;case e.d.URI:m=u(m,S(e.J,b,n),S(e.I,b,n),{TYPE:"MARKUP",XML_ATTR:n,XML_TAG:b},f);k&&K(k,b,n,p,m);break;case e.d.URI_FRAGMENT:m&&"#"===m.charAt(0)?(m=m.substring(1),m=g?g(m):m,m!==c&&m!==a&&(m="#"+m)):m=c;k&&K(k,b,n,p,m);break;default:m=c,k&&K(k,b,n,p,m)}else m=c,k&&K(k,b,n,p,m);d[l+1]=m}return d} function da(b,c,d){return function(f,g){if(e.f[f]&e.c.UNSAFE)d&&K(d,f,a,a,a);else return{attribs:W(f,g,b,c,d)}}}function U(a,b){var c=[];t(b)(a,c);return c.join("")}var B,Y;"undefined"!==typeof window&&(B=window.parseCssDeclarations,Y=window.sanitizeCssProperty);var L={lt:"\x3c",LT:"\x3c",gt:"\x3e",GT:"\x3e",amp:"\x26",AMP:"\x26",quot:'"',apos:"'",nbsp:"\u00a0"},I=/^#(\d+)$/,aa=/^#x([0-9A-Fa-f]+)$/,M=/^[A-Za-z][A-za-z0-9]+$/,J="undefined"!==typeof window&&window.document?window.document.createElement("textarea"): c,N=/\0/g,R=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,ca=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,$=/&/g,P=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,X=/[<]/g,Z=/>/g,T=/\"/g,Q=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,ha=3==="a,b".split(/(,)/).length,ea=e.c.CDATA|e.c.RCDATA,V={},ga={},ka=/^(?:https?|mailto|data)$/i,ba={};ba.pa=ba.escapeAttrib=k;ba.ra=ba.makeHtmlSanitizer=t;ba.sa=ba.makeSaxParser=m;ba.ta=ba.makeTagPolicy=da;ba.wa=ba.normalizeRCData=l;ba.xa= ba.sanitize=function(a,b,c,d){return U(a,da(b,c,d))};ba.ya=ba.sanitizeAttribs=W;ba.za=ba.sanitizeWithPolicy=U;ba.Ba=ba.unescapeEntities=g;return ba}(u);g=e.sanitize;"undefined"!==typeof window&&(window.html=e,window.html_sanitize=g)})();var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d",encode:function(a,b){var c="",d,e,f,g,k,l,n=0;for(null!=b&&b||(a=Base64._utf8_encode(a));n<a.length;)d=a.charCodeAt(n++),e=a.charCodeAt(n++),f=a.charCodeAt(n++),g=d>>2,d=(d&3)<<4|e>>4,k=(e&15)<<2|f>>6,l=f&63,isNaN(e)?k=l=64:isNaN(f)&&(l=64),c=c+this._keyStr.charAt(g)+this._keyStr.charAt(d)+this._keyStr.charAt(k)+this._keyStr.charAt(l);return c},decode:function(a,b){b=null!=b?b:!1;var c="",d,e,f,g,k,l=0;for(a= @@ -115,8 +115,8 @@ d?(c[k++]=192|d>>>6,c[k++]=128|63&d):65536>d?(c[k++]=224|d>>>12,c[k++]=128|d>>>6 2===k?31:3===k?15:7;1<k&&d<l;)g=g<<6|63&b[d++],k--;1<k?n[f++]=65533:65536>g?n[f++]=g:(g-=65536,n[f++]=55296|g>>10&1023,n[f++]=56320|1023&g)}return e(n,f)};d.utf8border=function(b,c){var d;c=c||b.length;c>b.length&&(c=b.length);for(d=c-1;0<=d&&128===(192&b[d]);)d--;return 0>d?c:0===d?c:d+m[b[d]]>c?d:c}},{"./common":3}],5:[function(b,c,d){c.exports=function(b,c,d,k){var l=65535&b|0;b=b>>>16&65535|0;for(var n=0;0!==d;){n=2E3<d?2E3:d;d-=n;do l=l+c[k++]|0,b=b+l|0;while(--n);l%=65521;b%=65521}return l| b<<16|0}},{}],6:[function(b,c,d){c.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(b,c,d){var e=function(){for(var b,c=[],d=0;256>d;d++){b=d; for(var e=0;8>e;e++)b=1&b?3988292384^b>>>1:b>>>1;c[d]=b}return c}();c.exports=function(b,c,d,l){d=l+d;for(b^=-1;l<d;l++)b=b>>>8^e[255&(b^c[l])];return b^-1}},{}],8:[function(b,c,d){function e(b,c){return b.msg=C[c],c}function f(b){for(var c=b.length;0<=--c;)b[c]=0}function g(b){var c=b.state,d=c.pending;d>b.avail_out&&(d=b.avail_out);0!==d&&(y.arraySet(b.output,c.pending_buf,c.pending_out,d,b.next_out),b.next_out+=d,c.pending_out+=d,b.total_out+=d,b.avail_out-=d,c.pending-=d,0===c.pending&&(c.pending_out= -0))}function k(b,c){E._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,c);b.block_start=b.strstart;g(b.strm)}function l(b,c){b.pending_buf[b.pending++]=c}function n(b,c){b.pending_buf[b.pending++]=c>>>8&255;b.pending_buf[b.pending++]=255&c}function m(b,c){var d,e,f=b.max_chain_length,g=b.strstart,k=b.prev_length,l=b.nice_match,n=b.strstart>b.w_size-R?b.strstart-(b.w_size-R):0,m=b.window,p=b.w_mask,r=b.prev,q=b.strstart+N,s=m[g+k-1],G=m[g+k];b.prev_length>=b.good_match&& -(f>>=2);l>b.lookahead&&(l=b.lookahead);do if(d=c,m[d+k]===G&&m[d+k-1]===s&&m[d]===m[g]&&m[++d]===m[g+1]){g+=2;d++;do;while(m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&g<q);if(e=N-(q-g),g=q-N,e>k){if(b.match_start=c,k=e,e>=l)break;s=m[g+k-1];G=m[g+k]}}while((c=r[c&p])>n&&0!==--f);return k<=b.lookahead?k:b.lookahead}function p(b){var c,d,e,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>= +0))}function k(b,c){E._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,c);b.block_start=b.strstart;g(b.strm)}function l(b,c){b.pending_buf[b.pending++]=c}function n(b,c){b.pending_buf[b.pending++]=c>>>8&255;b.pending_buf[b.pending++]=255&c}function m(b,c){var d,e,f=b.max_chain_length,g=b.strstart,k=b.prev_length,l=b.nice_match,n=b.strstart>b.w_size-R?b.strstart-(b.w_size-R):0,m=b.window,p=b.w_mask,r=b.prev,s=b.strstart+N,q=m[g+k-1],G=m[g+k];b.prev_length>=b.good_match&& +(f>>=2);l>b.lookahead&&(l=b.lookahead);do if(d=c,m[d+k]===G&&m[d+k-1]===q&&m[d]===m[g]&&m[++d]===m[g+1]){g+=2;d++;do;while(m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&g<s);if(e=N-(s-g),g=s-N,e>k){if(b.match_start=c,k=e,e>=l)break;q=m[g+k-1];G=m[g+k]}}while((c=r[c&p])>n&&0!==--f);return k<=b.lookahead?k:b.lookahead}function p(b){var c,d,e,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>= g+(g-R)){y.arraySet(b.window,b.window,g,g,0);b.match_start-=g;b.strstart-=g;b.block_start-=g;c=d=b.hash_size;do e=b.head[--c],b.head[c]=e>=g?e-g:0;while(--d);c=d=g;do e=b.prev[--c],b.prev[c]=e>=g?e-g:0;while(--d);f+=g}if(0===b.strm.avail_in)break;c=b.strm;e=b.window;var k=b.strstart+b.lookahead,l=c.avail_in;if(d=(l>f&&(l=f),0===l?0:(c.avail_in-=l,y.arraySet(e,c.input,c.next_in,l,k),1===c.state.wrap?c.adler=A(c.adler,e,l,k):2===c.state.wrap&&(c.adler=D(c.adler,e,l,k)),c.next_in+=l,c.total_in+=l,l)), b.lookahead+=d,b.lookahead+b.insert>=J){f=b.strstart-b.insert;b.ins_h=b.window[f];for(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+J-1])&b.hash_mask,b.prev[f&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=f,f++,b.insert--,!(b.lookahead+b.insert<J)););}}while(b.lookahead<R&&0!==b.strm.avail_in)}function s(b,c){for(var d,e;;){if(b.lookahead<R){if(p(b),b.lookahead<R&&c===F)return P;if(0===b.lookahead)break}if(d=0,b.lookahead>=J&&(b.ins_h=(b.ins_h<< b.hash_shift^b.window[b.strstart+J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),0!==d&&b.strstart-d<=b.w_size-R&&(b.match_length=m(b,d)),b.match_length>=J)if(e=E._tr_tally(b,b.strstart-b.match_start,b.match_length-J),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&b.lookahead>=J){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]= @@ -130,15 +130,15 @@ this.lit_bufsize=this.l_buf=0}function u(b){var c;return b&&b.state?(b.total_in= 0,b.lookahead=0,b.insert=0,b.match_length=b.prev_length=J-1,b.match_available=0,b.ins_h=0);return c}function v(b,c,d,f,g,k){if(!b)return O;var l=1;if(c===K&&(c=6),0>f?(l=0,f=-f):15<f&&(l=2,f-=16),1>g||g>B||d!==U||8>f||15<f||0>c||9<c||0>k||k>W)return e(b,O);8===f&&(f=9);var n=new t;return b.state=n,n.strm=b,n.wrap=l,n.gzhead=null,n.w_bits=f,n.w_size=1<<n.w_bits,n.w_mask=n.w_size-1,n.hash_bits=g+7,n.hash_size=1<<n.hash_bits,n.hash_mask=n.hash_size-1,n.hash_shift=~~((n.hash_bits+J-1)/J),n.window=new y.Buf8(2* n.w_size),n.head=new y.Buf16(n.hash_size),n.prev=new y.Buf16(n.w_size),n.lit_bufsize=1<<g+6,n.pending_buf_size=4*n.lit_bufsize,n.pending_buf=new y.Buf8(n.pending_buf_size),n.d_buf=1*n.lit_bufsize,n.l_buf=3*n.lit_bufsize,n.level=c,n.strategy=k,n.method=d,x(b)}var z,y=b("../utils/common"),E=b("./trees"),A=b("./adler32"),D=b("./crc32"),C=b("./messages"),F=0,G=4,H=0,O=-2,K=-1,S=1,W=4,da=2,U=8,B=9,Y=286,L=30,I=19,aa=2*Y+1,M=15,J=3,N=258,R=N+J+1,ca=42,$=113,P=1,X=2,Z=3,T=4;z=[new q(0,0,0,0,function(b,c){var d= 65535;for(d>b.pending_buf_size-5&&(d=b.pending_buf_size-5);;){if(1>=b.lookahead){if(p(b),0===b.lookahead&&c===F)return P;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var e=b.block_start+d;if((0===b.strstart||b.strstart>=e)&&(b.lookahead=b.strstart-e,b.strstart=e,k(b,!1),0===b.strm.avail_out)||b.strstart-b.block_start>=b.w_size-R&&(k(b,!1),0===b.strm.avail_out))return P}return b.insert=0,c===G?(k(b,!0),0===b.strm.avail_out?Z:T):(b.strstart>b.block_start&&k(b,!1),P)}),new q(4,4,8, -4,s),new q(4,5,16,8,s),new q(4,6,32,32,s),new q(4,4,16,16,r),new q(8,16,32,32,r),new q(8,16,128,128,r),new q(8,32,128,256,r),new q(32,128,258,1024,r),new q(32,258,258,4096,r)];d.deflateInit=function(b,c){return v(b,c,U,15,8,0)};d.deflateInit2=v;d.deflateReset=x;d.deflateResetKeep=u;d.deflateSetHeader=function(b,c){return b&&b.state?2!==b.state.wrap?O:(b.state.gzhead=c,H):O};d.deflate=function(b,c){var d,m,r,q;if(!b||!b.state||5<c||0>c)return b?e(b,O):O;if(m=b.state,!b.output||!b.input&&0!==b.avail_in|| +4,s),new q(4,5,16,8,s),new q(4,6,32,32,s),new q(4,4,16,16,r),new q(8,16,32,32,r),new q(8,16,128,128,r),new q(8,32,128,256,r),new q(32,128,258,1024,r),new q(32,258,258,4096,r)];d.deflateInit=function(b,c){return v(b,c,U,15,8,0)};d.deflateInit2=v;d.deflateReset=x;d.deflateResetKeep=u;d.deflateSetHeader=function(b,c){return b&&b.state?2!==b.state.wrap?O:(b.state.gzhead=c,H):O};d.deflate=function(b,c){var d,m,r,s;if(!b||!b.state||5<c||0>c)return b?e(b,O):O;if(m=b.state,!b.output||!b.input&&0!==b.avail_in|| 666===m.status&&c!==G)return e(b,0===b.avail_out?-5:O);if(m.strm=b,d=m.last_flush,m.last_flush=c,m.status===ca)2===m.wrap?(b.adler=0,l(m,31),l(m,139),l(m,8),m.gzhead?(l(m,(m.gzhead.text?1:0)+(m.gzhead.hcrc?2:0)+(m.gzhead.extra?4:0)+(m.gzhead.name?8:0)+(m.gzhead.comment?16:0)),l(m,255&m.gzhead.time),l(m,m.gzhead.time>>8&255),l(m,m.gzhead.time>>16&255),l(m,m.gzhead.time>>24&255),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,255&m.gzhead.os),m.gzhead.extra&&m.gzhead.extra.length&&(l(m,255&m.gzhead.extra.length), -l(m,m.gzhead.extra.length>>8&255)),m.gzhead.hcrc&&(b.adler=D(b.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(l(m,0),l(m,0),l(m,0),l(m,0),l(m,0),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,3),m.status=$)):(r=U+(m.w_bits-8<<4)<<8,q=-1,q=2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3,r|=q<<6,0!==m.strstart&&(r|=32),m.status=$,n(m,r+(31-r%31)),0!==m.strstart&&(n(m,b.adler>>>16),n(m,65535&b.adler)),b.adler=1);if(69===m.status)if(m.gzhead.extra){for(r=m.pending;m.gzindex<(65535& +l(m,m.gzhead.extra.length>>8&255)),m.gzhead.hcrc&&(b.adler=D(b.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(l(m,0),l(m,0),l(m,0),l(m,0),l(m,0),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,3),m.status=$)):(r=U+(m.w_bits-8<<4)<<8,s=-1,s=2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3,r|=s<<6,0!==m.strstart&&(r|=32),m.status=$,n(m,r+(31-r%31)),0!==m.strstart&&(n(m,b.adler>>>16),n(m,65535&b.adler)),b.adler=1);if(69===m.status)if(m.gzhead.extra){for(r=m.pending;m.gzindex<(65535& m.gzhead.extra.length)&&(m.pending!==m.pending_buf_size||(m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r)),g(b),r=m.pending,m.pending!==m.pending_buf_size));)l(m,255&m.gzhead.extra[m.gzindex]),m.gzindex++;m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r));m.gzindex===m.gzhead.extra.length&&(m.gzindex=0,m.status=73)}else m.status=73;if(73===m.status)if(m.gzhead.name){r=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>r&& -(b.adler=D(b.adler,m.pending_buf,m.pending-r,r)),g(b),r=m.pending,m.pending===m.pending_buf_size)){q=1;break}q=m.gzindex<m.gzhead.name.length?255&m.gzhead.name.charCodeAt(m.gzindex++):0;l(m,q)}while(0!==q);m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r));0===q&&(m.gzindex=0,m.status=91)}else m.status=91;if(91===m.status)if(m.gzhead.comment){r=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r)),g(b), -r=m.pending,m.pending===m.pending_buf_size)){q=1;break}q=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;l(m,q)}while(0!==q);m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r));0===q&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(b),m.pending+2<=m.pending_buf_size&&(l(m,255&b.adler),l(m,b.adler>>8&255),b.adler=0,m.status=$)):m.status=$),0!==m.pending){if(g(b),0===b.avail_out)return m.last_flush= --1,H}else if(0===b.avail_in&&(c<<1)-(4<c?9:0)<=(d<<1)-(4<d?9:0)&&c!==G)return e(b,-5);if(666===m.status&&0!==b.avail_in)return e(b,-5);if(0!==b.avail_in||0!==m.lookahead||c!==F&&666!==m.status){var s;if(2===m.strategy)a:{for(var B;;){if(0===m.lookahead&&(p(m),0===m.lookahead)){if(c===F){s=P;break a}break}if(m.match_length=0,B=E._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,B&&(k(m,!1),0===m.strm.avail_out)){s=P;break a}}s=(m.insert=0,c===G?(k(m,!0),0===m.strm.avail_out?Z:T):m.last_lit&& -(k(m,!1),0===m.strm.avail_out)?P:X)}else if(3===m.strategy)a:{var t,C;for(B=m.window;;){if(m.lookahead<=N){if(p(m),m.lookahead<=N&&c===F){s=P;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=J&&0<m.strstart&&(C=m.strstart-1,t=B[C],t===B[++C]&&t===B[++C]&&t===B[++C])){d=m.strstart+N;do;while(t===B[++C]&&t===B[++C]&&t===B[++C]&&t===B[++C]&&t===B[++C]&&t===B[++C]&&t===B[++C]&&t===B[++C]&&C<d);m.match_length=N-(d-C);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>= -J?(s=E._tr_tally(m,1,m.match_length-J),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(s=E._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),s&&(k(m,!1),0===m.strm.avail_out)){s=P;break a}}s=(m.insert=0,c===G?(k(m,!0),0===m.strm.avail_out?Z:T):m.last_lit&&(k(m,!1),0===m.strm.avail_out)?P:X)}else s=z[m.level].func(m,c);if(s!==Z&&s!==T||(m.status=666),s===P||s===Z)return 0===b.avail_out&&(m.last_flush=-1),H;if(s===X&&(1===c?E._tr_align(m):5!==c&&(E._tr_stored_block(m, +(b.adler=D(b.adler,m.pending_buf,m.pending-r,r)),g(b),r=m.pending,m.pending===m.pending_buf_size)){s=1;break}s=m.gzindex<m.gzhead.name.length?255&m.gzhead.name.charCodeAt(m.gzindex++):0;l(m,s)}while(0!==s);m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r));0===s&&(m.gzindex=0,m.status=91)}else m.status=91;if(91===m.status)if(m.gzhead.comment){r=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r)),g(b), +r=m.pending,m.pending===m.pending_buf_size)){s=1;break}s=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;l(m,s)}while(0!==s);m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r));0===s&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(b),m.pending+2<=m.pending_buf_size&&(l(m,255&b.adler),l(m,b.adler>>8&255),b.adler=0,m.status=$)):m.status=$),0!==m.pending){if(g(b),0===b.avail_out)return m.last_flush= +-1,H}else if(0===b.avail_in&&(c<<1)-(4<c?9:0)<=(d<<1)-(4<d?9:0)&&c!==G)return e(b,-5);if(666===m.status&&0!==b.avail_in)return e(b,-5);if(0!==b.avail_in||0!==m.lookahead||c!==F&&666!==m.status){var q;if(2===m.strategy)a:{for(var B;;){if(0===m.lookahead&&(p(m),0===m.lookahead)){if(c===F){q=P;break a}break}if(m.match_length=0,B=E._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,B&&(k(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===G?(k(m,!0),0===m.strm.avail_out?Z:T):m.last_lit&& +(k(m,!1),0===m.strm.avail_out)?P:X)}else if(3===m.strategy)a:{var t,C;for(B=m.window;;){if(m.lookahead<=N){if(p(m),m.lookahead<=N&&c===F){q=P;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=J&&0<m.strstart&&(C=m.strstart-1,t=B[C],t===B[++C]&&t===B[++C]&&t===B[++C])){d=m.strstart+N;do;while(t===B[++C]&&t===B[++C]&&t===B[++C]&&t===B[++C]&&t===B[++C]&&t===B[++C]&&t===B[++C]&&t===B[++C]&&C<d);m.match_length=N-(d-C);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>= +J?(q=E._tr_tally(m,1,m.match_length-J),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(q=E._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),q&&(k(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===G?(k(m,!0),0===m.strm.avail_out?Z:T):m.last_lit&&(k(m,!1),0===m.strm.avail_out)?P:X)}else q=z[m.level].func(m,c);if(q!==Z&&q!==T||(m.status=666),q===P||q===Z)return 0===b.avail_out&&(m.last_flush=-1),H;if(q===X&&(1===c?E._tr_align(m):5!==c&&(E._tr_stored_block(m, 0,0,!1),3===c&&(f(m.head),0===m.lookahead&&(m.strstart=0,m.block_start=0,m.insert=0))),g(b),0===b.avail_out))return m.last_flush=-1,H}return c!==G?H:0>=m.wrap?1:(2===m.wrap?(l(m,255&b.adler),l(m,b.adler>>8&255),l(m,b.adler>>16&255),l(m,b.adler>>24&255),l(m,255&b.total_in),l(m,b.total_in>>8&255),l(m,b.total_in>>16&255),l(m,b.total_in>>24&255)):(n(m,b.adler>>>16),n(m,65535&b.adler)),g(b),0<m.wrap&&(m.wrap=-m.wrap),0!==m.pending?H:1)};d.deflateEnd=function(b){var c;return b&&b.state?(c=b.state.status, c!==ca&&69!==c&&73!==c&&91!==c&&103!==c&&c!==$&&666!==c?e(b,O):(b.state=null,c===$?e(b,-3):H)):O};d.deflateSetDictionary=function(b,c){var d,e,g,k,l,n,m;e=c.length;if(!b||!b.state||(d=b.state,k=d.wrap,2===k||1===k&&d.status!==ca||d.lookahead))return O;1===k&&(b.adler=A(b.adler,c,e,0));d.wrap=0;e>=d.w_size&&(0===k&&(f(d.head),d.strstart=0,d.block_start=0,d.insert=0),l=new y.Buf8(d.w_size),y.arraySet(l,c,e-d.w_size,d.w_size,0),c=l,e=d.w_size);l=b.avail_in;n=b.next_in;m=b.input;b.avail_in=e;b.next_in= 0;b.input=c;for(p(d);d.lookahead>=J;){e=d.strstart;g=d.lookahead-(J-1);do d.ins_h=(d.ins_h<<d.hash_shift^d.window[e+J-1])&d.hash_mask,d.prev[e&d.w_mask]=d.head[d.ins_h],d.head[d.ins_h]=e,e++;while(--g);d.strstart=e;d.lookahead=J-1;p(d)}return d.strstart+=d.lookahead,d.block_start=d.strstart,d.insert=d.lookahead,d.lookahead=0,d.match_length=d.prev_length=J-1,d.match_available=0,b.next_in=n,b.input=m,b.avail_in=l,d.wrap=k,H};d.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5, @@ -176,8 +176,8 @@ b.length;0<=--c;)b[c]=0}function f(b,c,d,e,f){this.static_tree=b;this.extra_bits d[2*c],d[2*c+1])}function m(b,c){var d=0;do d|=1&b,b>>>=1,d<<=1;while(0<--c);return d>>>1}function p(b,c,d){var e,f=Array(W+1),k=0;for(e=1;e<=W;e++)f[e]=k=k+d[e-1]<<1;for(d=0;d<=c;d++)e=b[2*d+1],0!==e&&(b[2*d]=m(f[e]++,e))}function s(b){var c;for(c=0;c<H;c++)b.dyn_ltree[2*c]=0;for(c=0;c<O;c++)b.dyn_dtree[2*c]=0;for(c=0;c<K;c++)b.bl_tree[2*c]=0;b.dyn_ltree[2*U]=1;b.opt_len=b.static_len=0;b.last_lit=b.matches=0}function r(b){8<b.bi_valid?k(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf); b.bi_buf=0;b.bi_valid=0}function q(b,c,d,e){var f=2*c,k=2*d;return b[f]<b[k]||b[f]===b[k]&&e[c]<=e[d]}function t(b,c,d){for(var e=b.heap[d],f=d<<1;f<=b.heap_len&&(f<b.heap_len&&q(c,b.heap[f+1],b.heap[f],b.depth)&&f++,!q(c,e,b.heap[f],b.depth));)b.heap[d]=b.heap[f],d=f,f<<=1;b.heap[d]=e}function u(b,c,d){var e,f,k,g,m=0;if(0!==b.last_lit){do e=b.pending_buf[b.d_buf+2*m]<<8|b.pending_buf[b.d_buf+2*m+1],f=b.pending_buf[b.l_buf+m],m++,0===e?n(b,f,c):(k=$[f],n(b,k+G+1,c),g=I[k],0!==g&&(f-=P[k],l(b,f,g)), e--,k=256>e?ca[e]:ca[256+(e>>>7)],n(b,k,d),g=aa[k],0!==g&&(e-=X[k],l(b,e,g)));while(m<b.last_lit)}n(b,U,c)}function x(b,c){var d,e,f,k=c.dyn_tree;e=c.stat_desc.static_tree;var g=c.stat_desc.has_stree,l=c.stat_desc.elems,n=-1;b.heap_len=0;b.heap_max=S;for(d=0;d<l;d++)0!==k[2*d]?(b.heap[++b.heap_len]=n=d,b.depth[d]=0):k[2*d+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>n?++n:0,k[2*f]=1,b.depth[f]=0,b.opt_len--,g&&(b.static_len-=e[2*f+1]);c.max_code=n;for(d=b.heap_len>>1;1<=d;d--)t(b,k,d);f=l;do d= -b.heap[1],b.heap[1]=b.heap[b.heap_len--],t(b,k,1),e=b.heap[1],b.heap[--b.heap_max]=d,b.heap[--b.heap_max]=e,k[2*f]=k[2*d]+k[2*e],b.depth[f]=(b.depth[d]>=b.depth[e]?b.depth[d]:b.depth[e])+1,k[2*d+1]=k[2*e+1]=f,b.heap[1]=f++,t(b,k,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var m,r,g=c.dyn_tree,l=c.max_code,q=c.stat_desc.static_tree,s=c.stat_desc.has_stree,B=c.stat_desc.extra_bits,u=c.stat_desc.extra_base,x=c.stat_desc.max_length,v=0;for(e=0;e<=W;e++)b.bl_count[e]=0;g[2*b.heap[b.heap_max]+ -1]=0;for(d=b.heap_max+1;d<S;d++)f=b.heap[d],e=g[2*g[2*f+1]+1]+1,e>x&&(e=x,v++),g[2*f+1]=e,f>l||(b.bl_count[e]++,m=0,f>=u&&(m=B[f-u]),r=g[2*f],b.opt_len+=r*(e+m),s&&(b.static_len+=r*(q[2*f+1]+m)));if(0!==v){do{for(e=x-1;0===b.bl_count[e];)e--;b.bl_count[e]--;b.bl_count[e+1]+=2;b.bl_count[x]--;v-=2}while(0<v);for(e=x;0!==e;e--)for(f=b.bl_count[e];0!==f;)m=b.heap[--d],m>l||(g[2*m+1]!==e&&(b.opt_len+=(e-g[2*m+1])*g[2*m],g[2*m+1]=e),f--)}p(k,n,b.bl_count)}function v(b,c,d){var e,f,k=-1,g=c[1],l=0,n=7, +b.heap[1],b.heap[1]=b.heap[b.heap_len--],t(b,k,1),e=b.heap[1],b.heap[--b.heap_max]=d,b.heap[--b.heap_max]=e,k[2*f]=k[2*d]+k[2*e],b.depth[f]=(b.depth[d]>=b.depth[e]?b.depth[d]:b.depth[e])+1,k[2*d+1]=k[2*e+1]=f,b.heap[1]=f++,t(b,k,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var m,r,g=c.dyn_tree,l=c.max_code,s=c.stat_desc.static_tree,q=c.stat_desc.has_stree,B=c.stat_desc.extra_bits,u=c.stat_desc.extra_base,x=c.stat_desc.max_length,v=0;for(e=0;e<=W;e++)b.bl_count[e]=0;g[2*b.heap[b.heap_max]+ +1]=0;for(d=b.heap_max+1;d<S;d++)f=b.heap[d],e=g[2*g[2*f+1]+1]+1,e>x&&(e=x,v++),g[2*f+1]=e,f>l||(b.bl_count[e]++,m=0,f>=u&&(m=B[f-u]),r=g[2*f],b.opt_len+=r*(e+m),q&&(b.static_len+=r*(s[2*f+1]+m)));if(0!==v){do{for(e=x-1;0===b.bl_count[e];)e--;b.bl_count[e]--;b.bl_count[e+1]+=2;b.bl_count[x]--;v-=2}while(0<v);for(e=x;0!==e;e--)for(f=b.bl_count[e];0!==f;)m=b.heap[--d],m>l||(g[2*m+1]!==e&&(b.opt_len+=(e-g[2*m+1])*g[2*m],g[2*m+1]=e),f--)}p(k,n,b.bl_count)}function v(b,c,d){var e,f,k=-1,g=c[1],l=0,n=7, m=4;0===g&&(n=138,m=3);c[2*(d+1)+1]=65535;for(e=0;e<=d;e++)f=g,g=c[2*(e+1)+1],++l<n&&f===g||(l<m?b.bl_tree[2*f]+=l:0!==f?(f!==k&&b.bl_tree[2*f]++,b.bl_tree[2*B]++):10>=l?b.bl_tree[2*Y]++:b.bl_tree[2*L]++,l=0,k=f,0===g?(n=138,m=3):f===g?(n=6,m=3):(n=7,m=4))}function z(b,c,d){var e,f,k=-1,g=c[1],m=0,p=7,r=4;0===g&&(p=138,r=3);for(e=0;e<=d;e++)if(f=g,g=c[2*(e+1)+1],!(++m<p&&f===g)){if(m<r){do n(b,f,b.bl_tree);while(0!==--m)}else 0!==f?(f!==k&&(n(b,f,b.bl_tree),m--),n(b,B,b.bl_tree),l(b,m-3,2)):10>=m? (n(b,Y,b.bl_tree),l(b,m-3,3)):(n(b,L,b.bl_tree),l(b,m-11,7));m=0;k=f;0===g?(p=138,r=3):f===g?(p=6,r=3):(p=7,r=4)}}function y(b){var c,d=4093624447;for(c=0;31>=c;c++,d>>>=1)if(1&d&&0!==b.dyn_ltree[2*c])return D;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return C;for(c=32;c<G;c++)if(0!==b.dyn_ltree[2*c])return C;return D}function E(b,c,d,e){l(b,(F<<1)+(e?1:0),3);r(b);k(b,d);k(b,~d);A.arraySet(b.pending_buf,b.window,c,d,b.pending);b.pending+=d}var A=b("../utils/common"),D=0,C=1, F=0,G=256,H=G+1+29,O=30,K=19,S=2*H+1,W=15,da=16,U=256,B=16,Y=17,L=18,I=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],aa=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],M=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],J=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],N=Array(2*(H+2));e(N);var R=Array(2*O);e(R);var ca=Array(512);e(ca);var $=Array(256);e($);var P=Array(29);e(P);var X=Array(O);e(X);var Z,T,Q,ha=!1;d._tr_init=function(b){if(!ha){var c,d,e,k=Array(W+1);for(e= @@ -193,7 +193,7 @@ ru:"\u0420\u0443\u0441\u0441\u043a\u0438\u0439",sr:"\u0421\u0440\u043f\u0441\u04 if(null==window.mxLanguages){window.mxLanguages=[];for(var lang in mxLanguageMap)"en"!=lang&&window.mxLanguages.push(lang)}window.uiTheme=window.uiTheme||function(){var a=urlParams.ui;if(null==a&&"undefined"!==typeof JSON&&isLocalStorage)try{var b=localStorage.getItem(".drawio-config");null!=b&&(a=JSON.parse(b).ui||null)}catch(c){isLocalStorage=!1}return a}();function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&window.parent.openFile.setData(a,b)} (function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),b=!0;null!=a&&(b=JSON.parse(a).showStartScreen);!1==b&&(urlParams.splash="0")}catch(c){}})();var ex=urlParams["export"];null!=ex&&("http://"!=ex.substring(0,7)&&"https://"!=ex.substring(0,8)&&(ex="http://"+ex),EXPORT_URL=ex); if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.analytics="0",urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0";if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";var host=window.location.host,searchString="draw.io",position=host.length-searchString.length,lastIndex=host.lastIndexOf(searchString,position);-1!==lastIndex&&(lastIndex===position&&"test.draw.io"!=host)&&(window.DRAWIO_LOG_URL="https://log.draw.io");window.urlParams=window.urlParams||{};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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.7.0.0",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.7.0.1",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| @@ -236,25 +236,25 @@ null;if("object"==typeof b)for(var d=mxUtils.indexOf(b,a);0<=d;)b.splice(d,1),c= b&&c.push(d),d=d.nextSibling;return c},importNode:function(a,b,c){if(mxClient.IS_IE&&(null==document.documentMode||10>document.documentMode))switch(b.nodeType){case 1:var d=a.createElement(b.nodeName);if(b.attributes&&0<b.attributes.length){for(var e=0;e<b.attributes.length;e++)d.setAttribute(b.attributes[e].nodeName,b.getAttribute(b.attributes[e].nodeName));if(c&&b.childNodes&&0<b.childNodes.length)for(e=0;e<b.childNodes.length;e++)d.appendChild(mxUtils.importNode(a,b.childNodes[e],c))}return d; case 3:case 4:case 8:return a.createTextNode(b.value)}else return a.importNode(b,c)},createXmlDocument:function(){var a=null;document.implementation&&document.implementation.createDocument?a=document.implementation.createDocument("","",null):window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLDOM"));return a},parseXml:function(){return window.DOMParser?function(a){return(new DOMParser).parseFromString(a,"text/xml")}:function(a){var b=mxUtils.createXmlDocument();b.async=!1;b.validateOnParse=!1; b.resolveExternals=!1;b.loadXML(a);return b}}(),clearSelection:function(){return document.selection?function(){document.selection.empty()}:window.getSelection?function(){window.getSelection().removeAllRanges()}:function(){}}(),getPrettyXml:function(a,b,c){var d=[];if(null!=a)if(b=b||" ",c=c||"",a.nodeType==mxConstants.NODETYPE_TEXT)d.push(a.value);else{d.push(c+"\x3c"+a.nodeName);var e=a.attributes;if(null!=e)for(var f=0;f<e.length;f++){var g=mxUtils.htmlEntities(e[f].value);d.push(" "+e[f].nodeName+ -'\x3d"'+g+'"')}e=a.firstChild;if(null!=e){for(d.push("\x3e\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d=b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=(a||"").replace(/&/g, -"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==b||b)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a):null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return c.replace(/\n/g,b||"\x26#xa;")},extractTextWithWhitespace:function(a){for(var b= -!1,c=[],d=0;a[d];d++){var e=a[d];if(3===e.nodeType||4===e.nodeType){if(11==document.documentMode&&d==a.length-1&&0==e.nodeValue.length)break;c.push(e.nodeValue+(null==e.nextSibling||3!=e.nextSibling.nodeType?"\n":""));b=!0}else 8!==e.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==e.nodeName&&0==e.innerHTML.length||!b&&"BR"==e.nodeName||"DIV"==e.nodeName&&"\x3cbr\x3e"==e.innerHTML?c.push("\n"):c.push(mxUtils.extractTextWithWhitespace(e.childNodes)),b=!1)}return c.join("")},replaceTrailingNewlines:function(a, -b){for(var c="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),c+=b;return a+c},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,b){void 0!==a.innerText?a.innerText=b:a[void 0===a.textContent?"text":"textContent"]=b},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(), -getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var b=[];b.push("\x3c"+a.nodeName);var c=a.attributes;if(null!=c)for(var d=0;d<c.length;d++){var e=c[d].value;null!=e&&0<e.length&&(b.push(" "),b.push(c[d].nodeName),b.push('\x3d"'),b.push(e),b.push('"'))}0==a.innerHTML.length?b.push("/\x3e"):(b.push("\x3e"),b.push(a.innerHTML),b.push("\x3c/"+a.nodeName+"\x3e"));return b.join("")}return""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a): -""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c=null,d=0;d<b;d++)null!=a&&(c=a.ownerDocument.createElement("br"),a.appendChild(c));return c},button:function(a,b,c){c=null!=c?c:document;c=c.createElement("button");mxUtils.write(c,a);mxEvent.addListener(c,"click",function(a){b(a)}); -return c},para:function(a,b){var c=document.createElement("p");mxUtils.write(c,b);null!=a&&a.appendChild(c);return c},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,b,c,d,e){return mxUtils.link(a,b,function(){c.execute(d)},e)},linkInvoke:function(a,b,c,d,e,f){return mxUtils.link(a,b,function(){c[d](e)},f)},link:function(a,b,c,d){var e= -document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},fit:function(a){var b=parseInt(a.offsetLeft),c=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),e=d.x,d=d.y,f=document.body,g=document.documentElement,k=e+(f.clientWidth||g.clientWidth);b+c>k&&(a.style.left=Math.max(e,k-c)+"px");b=parseInt(a.offsetTop); -c=parseInt(a.offsetHeight);f=d+Math.max(f.clientHeight||0,g.clientHeight);b+c>f&&(a.style.top=Math.max(d,f-c)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},k=0;k<a.length;k++)(function(a,c){mxUtils.get(a,function(a){var f=a.getStatus();200>f||299<f?g():(e[c]=a,d--,0==d&& -b(e))},g)})(a[k],k);0==d&&b(e)},post:function(a,b,c,d){return(new mxXmlRequest(a,b)).send(c,d)},submit:function(a,b,c,d){return(new mxXmlRequest(a,b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c||0);return Number(a)},getColor:function(a,b,c){a=null!=a?a[b]:null;null== -a?a=c:a==mxConstants.NONE&&(a=null);return a},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,e;for(e in a)if(e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e)))d[e]=!c&&"object"==typeof a[e]?mxUtils.clone(a[e]):a[e]}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b)for(var c=0;c<a.length;c++)if(a[c]==b[c]||null!=a[c]&&!a[c].equals(b[c]))return!1; -return!0},equalEntries:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){var c=0,d;for(d in b)c++;for(d in a)if(c--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(b[d]))&&a[d]!=b[d])return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype= -b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b="",c;for(c in a)try{if(null==a[c])b+=c+" \x3d [null]\n";else if("function"==typeof a[c])b+=c+" \x3d\x3e [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" \x3d\x3e ["+d+"]\n");else b+=c+" \x3d "+a[c]+"\n"}catch(e){b+=c+"\x3d"+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g, -k,l){k-=a;l-=b;if(0===c||0===d)return s;c=Math.abs(c);d=Math.abs(d);var n=-k/2,m=-l/2,p=Math.cos(e*Math.PI/180),s=Math.sin(e*Math.PI/180);e=p*n+s*m;var n=-1*s*n+p*m,m=e*e,r=n*n,q=c*c,t=d*d,u=m/q+r/t;1<u?(c*=Math.sqrt(u),d*=Math.sqrt(u),f=0):(u=1,f===g&&(u=-1),f=u*Math.sqrt((q*t-q*r-t*m)/(q*r+t*m)));m=f*c*n/d;r=-1*f*d*e/c;k=p*m-s*r+k/2;l=s*m+p*r+l/2;q=Math.atan2((n-r)/d,(e-m)/c)-Math.atan2(0,1);f=0<=q?q:2*Math.PI+q;q=Math.atan2((-n-r)/d,(-e-m)/c)-Math.atan2((n-r)/d,(e-m)/c);e=0<=q?q:2*Math.PI+q;0== -g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;n=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);m=p*c;p*=d;c*=s;d*=s;for(var x=Math.cos(f),v=Math.sin(f),r=-n*(m*v+d*x),q=-n*(c*v-p*x),s=[],z=0;z<g;++z){f+=e;var x=Math.cos(f),v=Math.sin(f),t=m*x-d*v+k,u=c*x+p*v+l,y=-n*(m*v+d*x),x=-n*(c*v-p*x),v=6*z;s[v]=Number(r+a);s[v+1]=Number(q+b);s[v+2]=Number(t-y+a);s[v+3]=Number(u-x+b);s[v+4]=Number(t+a);s[v+5]=Number(u+b);r=t+y;q=u+x}return s},getBoundingBox:function(a, -b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x,b.y,0,0));d.add(new mxRectangle(g.x, -g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45< -c?(a=1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break;case 3:b|= -mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, +'\x3d"'+g+'"')}e=a.firstChild;if(null!=e){for(d.push("\x3e\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d=b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=String(a||""); +a=a.replace(/&/g,"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==b||b)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a):null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return c.replace(/\n/g,b||"\x26#xa;")}, +extractTextWithWhitespace:function(a){for(var b=!1,c=[],d=0;a[d];d++){var e=a[d];if(3===e.nodeType||4===e.nodeType){if(11==document.documentMode&&d==a.length-1&&0==e.nodeValue.length)break;c.push(e.nodeValue+(null==e.nextSibling||3!=e.nextSibling.nodeType?"\n":""));b=!0}else 8!==e.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==e.nodeName&&0==e.innerHTML.length||!b&&"BR"==e.nodeName||"DIV"==e.nodeName&&"\x3cbr\x3e"==e.innerHTML?c.push("\n"):c.push(mxUtils.extractTextWithWhitespace(e.childNodes)), +b=!1)}return c.join("")},replaceTrailingNewlines:function(a,b){for(var c="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),c+=b;return a+c},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,b){void 0!==a.innerText?a.innerText=b:a[void 0===a.textContent?"text":"textContent"]=b},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!= +a?(new XMLSerializer).serializeToString(a):""}}(),getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var b=[];b.push("\x3c"+a.nodeName);var c=a.attributes;if(null!=c)for(var d=0;d<c.length;d++){var e=c[d].value;null!=e&&0<e.length&&(b.push(" "),b.push(c[d].nodeName),b.push('\x3d"'),b.push(e),b.push('"'))}0==a.innerHTML.length?b.push("/\x3e"):(b.push("\x3e"),b.push(a.innerHTML),b.push("\x3c/"+a.nodeName+"\x3e"));return b.join("")}return""}: +function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c=null,d=0;d<b;d++)null!=a&&(c=a.ownerDocument.createElement("br"),a.appendChild(c));return c},button:function(a,b,c){c=null!=c?c:document;c=c.createElement("button"); +mxUtils.write(c,a);mxEvent.addListener(c,"click",function(a){b(a)});return c},para:function(a,b){var c=document.createElement("p");mxUtils.write(c,b);null!=a&&a.appendChild(c);return c},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,b,c,d,e){return mxUtils.link(a,b,function(){c.execute(d)},e)},linkInvoke:function(a,b,c,d,e,f){return mxUtils.link(a, +b,function(){c[d](e)},f)},link:function(a,b,c,d){var e=document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},fit:function(a){var b=parseInt(a.offsetLeft),c=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),e=d.x,d=d.y,f=document.body,g=document.documentElement,k=e+(f.clientWidth||g.clientWidth); +b+c>k&&(a.style.left=Math.max(e,k-c)+"px");b=parseInt(a.offsetTop);c=parseInt(a.offsetHeight);f=d+Math.max(f.clientHeight||0,g.clientHeight);b+c>f&&(a.style.top=Math.max(d,f-c)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},k=0;k<a.length;k++)(function(a,c){mxUtils.get(a, +function(a){var f=a.getStatus();200>f||299<f?g():(e[c]=a,d--,0==d&&b(e))},g)})(a[k],k);0==d&&b(e)},post:function(a,b,c,d){return(new mxXmlRequest(a,b)).send(c,d)},submit:function(a,b,c,d){return(new mxXmlRequest(a,b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c|| +0);return Number(a)},getColor:function(a,b,c){a=null!=a?a[b]:null;null==a?a=c:a==mxConstants.NONE&&(a=null);return a},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,e;for(e in a)if(e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e)))d[e]=!c&&"object"==typeof a[e]?mxUtils.clone(a[e]):a[e]}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!= +a&&null!=b)for(var c=0;c<a.length;c++)if(a[c]==b[c]||null!=a[c]&&!a[c].equals(b[c]))return!1;return!0},equalEntries:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){var c=0,d;for(d in b)c++;for(d in a)if(c--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(b[d]))&&a[d]!=b[d])return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"== +typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b="",c;for(c in a)try{if(null==a[c])b+=c+" \x3d [null]\n";else if("function"==typeof a[c])b+=c+" \x3d\x3e [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" \x3d\x3e ["+d+"]\n");else b+=c+" \x3d "+a[c]+"\n"}catch(e){b+=c+"\x3d"+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180* +a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,k,l){k-=a;l-=b;if(0===c||0===d)return s;c=Math.abs(c);d=Math.abs(d);var n=-k/2,m=-l/2,p=Math.cos(e*Math.PI/180),s=Math.sin(e*Math.PI/180);e=p*n+s*m;var n=-1*s*n+p*m,m=e*e,r=n*n,q=c*c,t=d*d,u=m/q+r/t;1<u?(c*=Math.sqrt(u),d*=Math.sqrt(u),f=0):(u=1,f===g&&(u=-1),f=u*Math.sqrt((q*t-q*r-t*m)/(q*r+t*m)));m=f*c*n/d;r=-1*f*d*e/c;k=p*m-s*r+k/2;l=s*m+p*r+l/2;q=Math.atan2((n-r)/d,(e-m)/c)-Math.atan2(0,1);f=0<=q?q:2*Math.PI+q;q=Math.atan2((-n-r)/d,(-e-m)/c)-Math.atan2((n- +r)/d,(e-m)/c);e=0<=q?q:2*Math.PI+q;0==g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;n=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);m=p*c;p*=d;c*=s;d*=s;for(var x=Math.cos(f),v=Math.sin(f),r=-n*(m*v+d*x),q=-n*(c*v-p*x),s=[],z=0;z<g;++z){f+=e;var x=Math.cos(f),v=Math.sin(f),t=m*x-d*v+k,u=c*x+p*v+l,y=-n*(m*v+d*x),x=-n*(c*v-p*x),v=6*z;s[v]=Number(r+a);s[v+1]=Number(q+b);s[v+2]=Number(t-y+a);s[v+3]=Number(u-x+b);s[v+4]=Number(t+a);s[v+5]=Number(u+b);r=t+y;q= +u+x}return s},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x, +b.y,0,0));d.add(new mxRectangle(g.x,g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION, +0));a=0;45<c?(a=1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break; +case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, reversePortConstraints:function(a){var b=0,b=(a&mxConstants.DIRECTION_MASK_WEST)<<3,b=b|(a&mxConstants.DIRECTION_MASK_NORTH)<<1,b=b|(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return b|(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,b,c){var d=-1;if(0<a.absolutePoints.length)for(var e=a.absolutePoints[0],f=null,g=1;g<a.absolutePoints.length;g++){var k=a.absolutePoints[g],e=mxUtils.ptSegDistSq(e.x,e.y,k.x,k.y,b,c);if(null==f||e<f)f=e,d=g-1;e=k}return d},rectangleIntersectsSegment:function(a, b,c){var d=a.y,e=a.x,f=d+a.height,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);a<e&&(a=e);if(a>k)return!1;var e=b.y,g=c.y,l=c.x-b.x;1E-7<Math.abs(l)&&(c=(c.y-b.y)/l,b=b.y-c*b.x,e=c*a+b,g=c*k+b);e>g&&(b=g,g=e,e=b);g>f&&(g=f);e<d&&(e=d);return e>g?!1:!0},contains:function(a,b,c){return a.x<=b&&a.x+a.width>=b&&a.y<=c&&a.y+a.height>=c},intersects:function(a,b){var c=a.width,d=a.height,e=b.width,f=b.height;if(0>=e||0>=f||0>=c||0>=d)return!1;var g=a.x,k=a.y,l=b.x,n=b.y,e=e+l,f=f+n,c=c+ g,d=d+k;return(e<l||e>g)&&(f<n||f>k)&&(c<g||c>l)&&(d<k||d>n)},intersectsHotspot:function(a,b,c,d,e,f){d=null!=d?d:1;e=null!=e?e:0;f=null!=f?f:0;if(0<d){var g=a.getCenterX(),k=a.getCenterY(),l=a.width,n=a.height,m=mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE)*a.view.scale;0<m&&(mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,!0)?(k=a.y+m/2,n=m):(g=a.x+m/2,l=m));l=Math.max(e,l*d);n=Math.max(e,n*d);0<f&&(l=Math.min(l,f),n=Math.min(n,f));d=new mxRectangle(g-l/2,k-n/2,l,n);g=mxUtils.toRadians(mxUtils.getValue(a.style, @@ -1647,8 +1647,8 @@ g=this.getAlignmentTolerance();if(0<g){var k=this.graph.view.getState(b);if(null mxConnectionHandler.prototype.createEdge=function(a,b,c,d){var e=null;null!=this.factoryMethod&&(e=this.factoryMethod(b,c,d));null==e&&(e=new mxCell(a||""),e.setEdge(!0),e.setStyle(d),a=new mxGeometry,a.relative=!0,e.setGeometry(a));return e}; mxConnectionHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.marker&&(this.marker.destroy(),this.marker=null);null!=this.constraintHandler&&(this.constraintHandler.destroy(),this.constraintHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getView().removeListener(this.changeHandler),this.changeHandler=null);null!=this.drillHandler&&(this.graph.removeListener(this.drillHandler), this.graph.getView().removeListener(this.drillHandler),this.drillHandler=null);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null)}; -function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,c){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)&&this.reset()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5);mxConstraintHandler.prototype.graph=null; -mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; +function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,c){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)?this.reset():this.redraw()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5); +mxConstraintHandler.prototype.graph=null;mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; mxConstraintHandler.prototype.reset=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusIcons=null}null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null);this.focusPoints=this.currentFocus=this.currentPoint=this.currentFocusArea=this.currentConstraint=null};mxConstraintHandler.prototype.getTolerance=function(a){return this.graph.getTolerance()}; mxConstraintHandler.prototype.getImageForConstraint=function(a,b,c){return this.pointImage};mxConstraintHandler.prototype.isEventIgnored=function(a,b){return!1};mxConstraintHandler.prototype.isStateIgnored=function(a,b){return!1};mxConstraintHandler.prototype.destroyIcons=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusPoints=this.focusIcons=null}}; mxConstraintHandler.prototype.destroyFocusHighlight=function(){null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null)};mxConstraintHandler.prototype.isKeepFocusEvent=function(a){return mxEvent.isShiftDown(a.getEvent())}; @@ -1657,6 +1657,8 @@ mxConstraintHandler.prototype.update=function(a,b,c,d){if(this.isEnabled()&&!thi d));if(!this.isKeepFocusEvent(a)&&(null==this.currentFocusArea||null==this.currentFocus||null!=k||!this.graph.getModel().isVertex(this.currentFocus.cell)||!mxUtils.intersects(this.currentFocusArea,e))&&k!=this.currentFocus)this.currentFocus=this.currentFocusArea=null,this.setFocus(a,k,b);a=this.currentPoint=this.currentConstraint=null;if(null!=this.focusIcons&&null!=this.constraints&&(null==k||this.currentFocus==k))for(var g=e.getCenterX(),l=e.getCenterY(),n=0;n<this.focusIcons.length;n++){var m= g-this.focusIcons[n].bounds.getCenterX(),p=l-this.focusIcons[n].bounds.getCenterY(),m=m*m+p*p;if((this.intersects(this.focusIcons[n],e,b,c)||null!=d&&this.intersects(this.focusIcons[n],f,b,c))&&(null==a||m<a)){this.currentConstraint=this.constraints[n];this.currentPoint=this.focusPoints[n];a=m;m=this.focusIcons[n].bounds.clone();m.grow(mxConstants.HIGHLIGHT_SIZE);mxClient.IS_IE&&(m.grow(1),m.width-=1,m.height-=1);if(null==this.focusHighlight){p=this.createHighlightShape();p.dialect=this.graph.dialect== mxConstants.DIALECT_SVG?mxConstants.DIALECT_SVG:mxConstants.DIALECT_VML;p.pointerEvents=!1;p.init(this.graph.getView().getOverlayPane());this.focusHighlight=p;var s=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:k});mxEvent.redirectMouseEvents(p.node,this.graph,s)}this.focusHighlight.bounds=m;this.focusHighlight.redraw()}}null==this.currentConstraint&&this.destroyFocusHighlight()}else this.currentPoint=this.currentFocus=this.currentConstraint=null}; +mxConstraintHandler.prototype.redraw=function(){if(null!=this.currentFocus&&null!=this.constraints&&null!=this.focusIcons){var a=this.graph.view.getState(this.currentFocus.cell);this.currentFocus=a;this.currentFocusArea=new mxRectangle(a.x,a.y,a.width,a.height);for(var b=0;b<this.constraints.length;b++){var c=this.graph.getConnectionPoint(a,this.constraints[b]),d=this.getImageForConstraint(a,this.constraints[b],c),d=new mxRectangle(Math.round(c.x-d.width/2),Math.round(c.y-d.height/2),d.width,d.height); +this.focusIcons[b].bounds=d;this.focusIcons[b].redraw();this.currentFocusArea.add(this.focusIcons[b].bounds);this.focusPoints[b]=c}}}; mxConstraintHandler.prototype.setFocus=function(a,b,c){this.constraints=null!=b&&!this.isStateIgnored(b,c)&&this.graph.isCellConnectable(b.cell)?this.isEnabled()?this.graph.getAllConnectionConstraints(b,c)||[]:[]:null;if(null!=this.constraints){this.currentFocus=b;this.currentFocusArea=new mxRectangle(b.x,b.y,b.width,b.height);if(null!=this.focusIcons){for(c=0;c<this.focusIcons.length;c++)this.focusIcons[c].destroy();this.focusPoints=this.focusIcons=null}this.focusPoints=[];this.focusIcons=[];for(c= 0;c<this.constraints.length;c++){var d=this.graph.getConnectionPoint(b,this.constraints[c]),e=this.getImageForConstraint(b,this.constraints[c],d),f=e.src,e=new mxRectangle(Math.round(d.x-e.width/2),Math.round(d.y-e.height/2),e.width,e.height),f=new mxImageShape(e,f);f.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG;f.preserveImageAspect=!1;f.init(this.graph.getView().getDecoratorPane());(mxClient.IS_QUIRKS||8==document.documentMode)&&mxEvent.addListener(f.node, "dragstart",function(a){mxEvent.consume(a);return!1});null!=f.node.previousSibling&&f.node.parentNode.insertBefore(f.node,f.node.parentNode.firstChild);e=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:b});f.redraw();mxEvent.redirectMouseEvents(f.node,this.graph,e);this.currentFocusArea.add(f.bounds);this.focusIcons.push(f);this.focusPoints.push(d)}this.currentFocusArea.grow(this.getTolerance(a))}else this.destroyIcons(),this.destroyFocusHighlight()}; @@ -2304,7 +2306,7 @@ a.length-1;0<=f;f--)if(0==f||a[f]!=e[f-1]){a[f].setAttribute("width",b);a[f].set "_blank");break}}};Graph.prototype.isCellResizable=function(a){var b=mxGraph.prototype.isCellResizable.apply(this,arguments),c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return b||"0"!=mxUtils.getValue(c,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==c[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,b){null==b&&(b=this.getSelectionCells());if(null!=b&&1<b.length){for(var c=[],d=null,e=null,f=0;f<b.length;f++)if(this.getModel().isVertex(b[f])){var g=this.view.getState(b[f]); if(null!=g){var k=a?g.getCenterX():g.getCenterY(),d=null!=d?Math.max(d,k):k,e=null!=e?Math.min(e,k):k;c.push(g)}}if(2<c.length){c.sort(function(b,c){return a?b.x-c.x:b.y-c.y});g=this.view.translate;k=this.view.scale;e=e/k-(a?g.x:g.y);d=d/k-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var l=(d-e)/(c.length-1),d=e,f=1;f<c.length-1;f++){var n=this.getCellGeometry(c[f].cell),d=d+l;null!=n&&(n=n.clone(),a?n.x=Math.round(d-n.width/2):n.y=Math.round(d-n.height/2),this.getModel().setGeometry(c[f].cell, n))}}finally{this.getModel().endUpdate()}}}return b};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var b=this.cloneCells(a),c=0;c<b.length;c++){var d=this.view.getState(a[c]);if(null!=d){var e=this.getCellGeometry(b[c]);null!=e&&e.relative&&(e.relative=!1,e.x=d.x/d.view.scale-d.view.translate.x,e.y=d.y/d.view.scale-d.view.translate.y)}}for(var d=new mxCodec,e=new mxGraphModel,f=e.getChildAt(e.getRoot(), -0),c=0;c<a.length;c++)e.add(f,b[c]);return d.encode(e)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g){b=null!=b?b:1;c=null!=c?c:1;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var k=this.createSvgImageExport(), +0),c=0;c<a.length;c++)e.add(f,b[c]);return d.encode(e)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g){b=null!=b?b:1;c=null!=c?c:0;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var k=this.createSvgImageExport(), l=k.drawCellState;k.drawCellState=function(a,b){(f||a.view.graph.isCellSelected(a.cell))&&l.apply(this,arguments)};var n=this.view.scale,m=mxUtils.createXmlDocument(),p=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"svg"):m.createElement("svg");null!=a&&(null!=p.style?p.style.backgroundColor=a:p.setAttribute("style","background-color:"+a));null==m.createElementNS?(p.setAttribute("xmlns",mxConstants.NS_SVG),p.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):p.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink",mxConstants.NS_XLINK);a=b/n;p.setAttribute("width",Math.ceil(d.width*a)+2*c+"px");p.setAttribute("height",Math.ceil(d.height*a)+2*c+"px");p.setAttribute("version","1.1");var r=p;e&&(r=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"g"):m.createElement("g"),r.setAttribute("transform","translate(0.5,0.5)"),p.appendChild(r));m.appendChild(p);m=new mxSvgCanvas2D(r);m.foOffset=e?-0.5:0;m.textOffset=e?-0.5:0;m.translate(Math.floor((c/b-d.x)/n),Math.floor((c/b-d.y)/n));var q= m.createAlternateContent;m.createAlternateContent=function(a,b,c,d,e,f,g,k,l,n,m,p,r){var s=this.state;if(null!=this.foAltText&&(0==d||0!=s.fontSize&&f.length<5*d/s.fontSize)){var t=this.createElement("text");t.setAttribute("x",Math.round(d/2));t.setAttribute("y",Math.round((e+s.fontSize)/2));t.setAttribute("fill",s.fontColor||"black");t.setAttribute("text-anchor","middle");t.setAttribute("font-size",Math.round(s.fontSize)+"px");t.setAttribute("font-family",s.fontFamily);(s.fontStyle&mxConstants.FONT_BOLD)== @@ -2670,126 +2672,127 @@ q.substring(0,2)&&(q=q.substring(2),a+=' \x3ca href\x3d"https://drive.google.com function(a,b,c,d,e,f,g){a=new ErrorDialog(this,a,b,c,d,e,f,g);this.showDialog(a.container,340,150,!0,!1);a.init()};EditorUi.prototype.alert=function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,c,d,e){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){f();null!=b&&b()},function(){f();null!=c&&c()},d,e)).container, 340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+ btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createPngDataUri=function(a,b){var c=a.toDataURL("image/png");if(6>=c.length||c==a.cloneNode(!1).toDataURL("image/png"))throw{message:"Invalid image"};null!=b&&(c=this.writeGraphModelToPng(c,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return c};EditorUi.prototype.saveCanvas=function(a,b){var c=this.getCurrentFile(),c=null!=c&&null!=c.getTitle()?c.getTitle():this.defaultFilename,d=c.lastIndexOf(".");0<d&&(c=c.substring(0,d)); -c+=".png";d=this.createPngDataUri(a,b);this.saveData(c,"png",d.substring(d.lastIndexOf(",")+1),"image/png",!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d){if(window.MSBlobBuilder&&navigator.msSaveOrOpenBlob)d= +c+=".png";d=this.createPngDataUri(a,b);this.saveData(c,"png",d.substring(d.lastIndexOf(",")+1),"image/png",!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d,e){if(window.MSBlobBuilder&&navigator.msSaveOrOpenBlob)d= new MSBlobBuilder,d.append(a),a=d.getBlob(c),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height="380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null); -else if(!this.isOffline()&&mxClient.IS_SF)this.createEchoRequest(a,b,c,d).simulate(document,"_blank");else{var e=document.createElement("a");e.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));e.download=b;document.body.appendChild(e);mxClient.IS_SF&&e.setAttribute("target","_blank");try{e.click(),window.setTimeout(function(){URL.revokeObjectURL(e.href)},0),e.parentNode.removeChild(e)}catch(f){}}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,f){a="xml\x3d"+encodeURIComponent(a); -return new mxXmlRequest(SAVE_URL,a+(null!=c?"\x26mime\x3d"+c:"")+(null!=e?"\x26format\x3d"+e:"")+(null!=f?"\x26base64\x3d"+f:"")+(null!=b?"\x26filename\x3d"+encodeURIComponent(b):"")+(d?"\x26binary\x3d1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),f=Array(e),g=0;g<e;++g){for(var q=1024*g,t=Math.min(q+1024,d),u=Array(t-q),x=0;q<t;++x,++q)u[x]=c[q].charCodeAt(0);f[g]=new Uint8Array(u)}return new Blob(f,{type:b})};EditorUi.prototype.saveLocalFile= -function(a,b,c,d){var e=!mxClient.IS_IOS||!navigator.standalone,f=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):null!=c&&"image/"==c.substring(0,6)&&("image/svg"!=c.substring(0,9)||mxClient.IS_SVG)?!d||mxClient.IS_EDGE||11==document.documentMode|| -10==document.documentMode?(f.document.write('\x3chtml\x3e\x3cimg src\x3d"data:'+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))+'"/\x3e\x3c/html\x3e'),f.document.close()):f.location.replace("data:"+c+";base64,"+a):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else e==App.MODE_DEVICE?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(f){this.exportFile(a,b,c,d,e,f)}))}catch(g){this.handleError(g)}}),mxUtils.bind(this,function(){this.hideDialog()}), -mxResources.get("saveAs"),mxResources.get("download"),!1,!1,e);this.showDialog(b.container,380,f?280:160,!0,!0);b.init()};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}))};EditorUi.prototype.saveRequest=function(a,b,c){var d=!mxClient.IS_IOS||!navigator.standalone,e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"=== -typeof window.DropboxClient||"function"===typeof window.OneDriveClient);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var e=c("_blank"==d?null:a,d==App.MODE_DEVICE||null==d||"_blank"==d?"0":"1");null!=e&&(d==App.MODE_DEVICE||"_blank"==d?e.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){this.spinner.spin(document.body,mxResources.get("saving"))&&e.send(mxUtils.bind(this,function(){this.spinner.stop();if(200>e.getStatus()|| -299<e.getStatus())this.handleError({message:mxResources.get("errorSavingFile")});else try{var f="pdf"==b?"application/pdf":"image/"+b;this.exportFile(e.getText(),a,f,!0,d,c)}catch(g){this.handleError(g)}}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,d);this.showDialog(a.container,380,e?280:160,!0,!0);a.init()};EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder= -function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,g){if(this.spinner.spin(document.body,mxResources.get("export"))){var q=this.editor.graph.isSelectionEmpty();c=null!=c?c:q;q=b?null:this.editor.graph.background;q==mxConstants.NONE&&(q=null);null==q&&!1==b&&(q="#ffffff");var t=this.editor.graph.getSvg(q,a,null,g,null,c);d&&this.editor.addSvgShadow(t);a=this.getCurrentFile();var u=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;a=u.lastIndexOf(".");0<a&&(u=u.substring(0, -a));var u=u+".svg",x=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c));var b='\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(u,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))}); -this.convertMath(this.editor.graph,t,!1,mxUtils.bind(this,function(){f?this.convertImages(t,x):x(t)}))}};EditorUi.prototype.showRemoteExportDialog=function(a,b,c){var d=this.editor.graph,e=document.createElement("div");e.style.padding="6px";var f=document.createElement("input");f.style.marginRight="8px";f.setAttribute("type","checkbox");d.isSelectionEmpty()&&f.setAttribute("disabled","disabled");e.appendChild(f);mxUtils.write(e,mxResources.get("selectionOnly"));mxUtils.br(e);var g=document.createElement("input"); -g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";e.appendChild(g);mxUtils.write(e,mxResources.get("includeCopyOfMyDiagram"));a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!f.checked,g.checked)}),null,a,b);this.showDialog(a.container,300,120,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e){var f=this.editor.graph,g=document.createElement("div");g.style.paddingTop="20px";g.style.paddingRight= -"8px";var q=240,t=document.createElement("input");t.style.marginRight="8px";t.setAttribute("type","checkbox");if(f.background==mxConstants.NONE||null==f.background)t.setAttribute("checked","checked"),t.defaultChecked=!0;g.appendChild(t);mxUtils.write(g,mxResources.get("transparentBackground"));mxUtils.br(g);var u=document.createElement("input");u.style.marginTop="16px";u.style.marginRight="8px";u.setAttribute("type","checkbox");g.appendChild(u);mxUtils.write(g,mxResources.get("selectionOnly"));mxUtils.br(g); -var x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.setAttribute("type","checkbox");e&&(g.appendChild(x),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),q+=26);f.isSelectionEmpty()&&(u.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"));var v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight="8px";v.setAttribute("type","checkbox");g.appendChild(v);mxUtils.write(g,mxResources.get("shadow"));mxUtils.br(g); -f.shadowVisible&&(v.setAttribute("checked","checked"),v.defaultChecked=!0);var z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");(this.isOffline()||!this.canvasSupported)&&z.setAttribute("disabled","disabled");a&&(g.appendChild(z),mxUtils.write(g,mxResources.get("embedImages")),mxUtils.br(g),q+=26);var y=document.createElement("input");y.style.marginTop="16px";y.style.marginRight="8px";y.setAttribute("type","checkbox");y.style.marginBottom= -"8px";y.setAttribute("checked","checked");y.defaultChecked=!0;g.appendChild(y);mxUtils.write(g,mxResources.get("includeCopyOfMyDiagram"));a=new FilenameDialog(this,100,b,mxUtils.bind(this,function(a){d(a,t.checked,!u.checked,v.checked,y.checked,z.checked,x.checked)}),mxResources.get("zoom")+" (%)",null,g,!this.isOffline()?c:null);this.showDialog(a.container,320,q,!0,!0);a.init()};EditorUi.prototype.uploadToGithub=function(a,b,c){var d=this.spinner.pause();c=document.createElement("div");c.style.paddingTop= -"20px";c.style.paddingRight="8px";var e=document.createElement("table"),f=document.createElement("tbody"),g=document.createElement("tr"),q=document.createElement("td"),t=document.createElement("input");t.setAttribute("type","text");mxUtils.write(q,"Username:");g.appendChild(q);q=q.cloneNode(!1);q.appendChild(t);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),u=document.createElement("input");u.setAttribute("type","password");mxUtils.write(q,"Password:");g=g.cloneNode(!1);g.appendChild(q); -q=q.cloneNode(!1);q.appendChild(u);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),x=document.createElement("input");x.setAttribute("type","text");mxUtils.write(q,"Organisation:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(x);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),v=document.createElement("input");v.setAttribute("type","text");mxUtils.write(q,"Repository:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(v);g.appendChild(q);f.appendChild(g); -var q=q.cloneNode(!1),z=document.createElement("input");z.setAttribute("type","text");mxUtils.write(q,"Path:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(z);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);a=this.getCurrentFile();a=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;var y=a.lastIndexOf(".");0<y&&(a=a.substring(0,y));z.value=a+".png";var E=document.createElement("input");E.setAttribute("type","text");mxUtils.write(q,"Branch/Tag:");E.value="master"; -g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(E);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),A=document.createElement("input");A.setAttribute("type","text");mxUtils.write(q,"Message:");A.value="Updated "+a+".png";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(A);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);e.appendChild(f);c.appendChild(e);c=new FilenameDialog(this,null,mxResources.get("publish"),mxUtils.bind(this,function(){var a="https://api.github.com/repos/"+ -x.value+"/"+v.value+"/contents/"+z.value+"?ref\x3d"+encodeURIComponent(E.value);d();mxUtils.get(a,mxUtils.bind(this,function(c){if(200==c.getStatus()||404==c.getStatus()){c=JSON.parse(c.getText());var e={path:z.value,message:A.value,content:b};null!=c.sha&&(e.sha=c.sha);var f=new XMLHttpRequest;f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&300>f.status){this.spinner.stop();this.hideDialog();a="https://github.com/"+x.value+"/"+v.value+"/blob/"+E.value+"/"+z.value; -var b=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open(a)}),!1);this.showDialog(b.container,340,170,!0,!1);b.init()}else d=this.spinner.pause(),this.handleError(JSON.parse(f.responseText))});f.open("PUT",a,!0);f.setRequestHeader("Authorization","Basic "+ -btoa(t.value+":"+u.value));f.send(JSON.stringify(e))}else this.hideDialog(),this.spinner.stop(),this.handleError(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){this.hideDialog();this.spinner.stop();this.handleError({message:mxResources.get("unknownError")})}))}),null,null,c,null,!1);this.showDialog(c.container,260,260,!0,!1);c.init()};EditorUi.prototype.uploadToImgur=function(a,b,c,d){var e=this.spinner.pause();c=!1;var f=new ErrorDialog(this,mxResources.get("warning"),'\x3cimg style\x3d"max-width:300px;max-height:80px;margin-bottom:20px;padding:6px;border:1px solid gray;" src\x3d"data:image/png;base64,'+ -b+'"/\x3e\x3cbr\x3e'+mxResources.get("publishConfirmation"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("publish"),mxUtils.bind(this,function(){e();var f=null!=a.getTitle()?a.getTitle():this.defaultFilename,g=f.lastIndexOf("."),s=f;0<g&&(s=f=s.substring(0,g));var g=new mxXmlRequest("/imgur",JSON.stringify({type:"base64",image:b,name:s+".png",title:f,description:"Made with https://www.draw.io"}),"POST"),u=mxUtils.bind(this,function(a){var b={message:mxResources.get("unknownError")}; -try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});g.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText()),e="https://www.draw.io/i/"+b.data.id;try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity\x3dCONFIG\x26msg\x3dimgur-published:"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(g){}var k=mxUtils.bind(this,function(){this.spinner.stop(); -var a="https://imgur.com/"+b.data.id,f="https://www.draw.io/imgur?delete\x3d"+b.data.deletehash,a=new ErrorDialog(this,mxResources.get("published"),(c?mxResources.get("viewUrl",['\x3ca href\x3d"'+e+'" target\x3d"_blank"\x3e'+e+"\x3c/a\x3e"])+"\x3cbr\x3e":"")+mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"])+"\x3cbr\x3e"+mxResources.get("deleteUrl",[f]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("share"), -function(){d(b.data.id,c)},!1);this.showDialog(a.container,340,180,!0,!1);a.init()});if(c){var l=new mxXmlRequest("/imgur?"+b.data.deletehash,JSON.stringify({title:f,description:mxResources.get("viewUrl",[e])}),"POST");l.send(mxUtils.bind(this,function(){200==l.getStatus()?k():u(l)}),mxUtils.bind(this,function(){u(l)}))}else k()}catch(p){this.handleError(p)}else u(a)}),mxUtils.bind(this,function(a){u(a)}))}));this.showDialog(f.container,320,250,!0,!1);f.init()};EditorUi.prototype.publishImage=function(a, -b){var c=this.getCurrentFile();null!=c&&(this.isExportToCanvas()?this.showExportDialog(!1,mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e,f,g,q){d=parseInt(d);if(!isNaN(d)&&0<d){d/=100;var t=this.editor.graph.isSelectionEmpty();f=null!=f?f:t;if(this.spinner.spin(document.body,mxResources.get("publishing")))try{this.exportToCanvas(mxUtils.bind(this,function(d){try{var e=q?this.getFileData(!0,null,null,null,f):null,g=this.createPngDataUri(d, -e);a(c,g.substring(g.lastIndexOf(",")+1),q,b)}catch(m){this.handleError(m)}}),null,null,null,mxUtils.bind(this,function(a){this.handleError(a)}),null,f,d||1,e,g)}catch(u){this.handleError(u)}}})):this.showRemoteExportDialog(mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e){if(this.spinner.spin(document.body,mxResources.get("publishing"))){var f=this.editor.graph.getGraphBounds(),g=this.getFileData(!0,null,null,null,d);if(f.width* -f.height<=MAX_AREA&&g.length<=MAX_REQUEST_SIZE)try{var q=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+(e?"1":"0")+"\x26xml\x3d"+encodeURIComponent(g));q.send(mxUtils.bind(this,function(){200==q.getStatus()?a(c,q.getText(),e,b):this.handleError(q)}))}catch(t){this.handleError(t)}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}})))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3); -if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&& -(g=null));b=b.getSvg(g,null,null,null,null,f);null!=a&&b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n': -"")+mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,f){if(this.spinner.spin(document.body,mxResources.get("exporting"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c):null)}catch(b){"Invalid image"==b.message?this.downloadFile("png"):this.handleError(b)}}),null,null,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}), -null,c,a||1,b,d,null,null,null,f)}catch(q){this.spinner.stop(),this.handleError(q)}}};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,q,t,u,x,v,z,y){f=null!=f?f:!0;v=null!=v?v:this.editor.graph;z=null!=z?z:0;var E=t?null:v.background;E==mxConstants.NONE&&(E=null);null==E&&(E=d);null==E&&!1==t&&(E="#ffffff");this.convertImages(v.getSvg(E,null,null,y,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"), -g=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));q=null!=q?q:1;null!=b&&(q=!f?b/g:Math.min(1,Math.min(3*b/(4*m),b/g)));g=Math.ceil(q*g)+2*z;m=Math.ceil(q*m)+2*z;e.setAttribute("width",g);e.setAttribute("height",m);var n=e.getContext("2d");null!=E&&(n.beginPath(),n.rect(0,0,g,m),n.fillStyle=E,n.fill());n.scale(q,q);n.drawImage(d,z/q,z/q);a(e)});d.onerror=function(a){null!=e&&e(a)};try{u&&this.editor.addSvgShadow(c),this.convertMath(v,c,!0,mxUtils.bind(this,function(){d.src= -this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,x)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"==c.substring(0,8))&&c.substring(0,a.baseUrl.length)!=a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a, -b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var n=a.getElementsByTagName(c),u=0;u<n.length;u++)mxUtils.bind(this,function(c){var n=d.convert(c.getAttribute(g));if(null!=n&&"data:"!=n.substring(0,5)){var r=f[n];null==r?(e++,this.convertImageToDataUri(n,function(d){null!=d&&(f[n]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,r)}})(n[u])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.convertImageToDataUri= -function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b()});else{var c=new Image;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width=c.width;d.drawImage(c,0,0);b(a.toDataURL())};c.onerror=function(){b()};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){var q=mxUtils.parseXml(a), -t=this.editor.extractGraphModel(q.documentElement,null!=this.pages);if(null!=t&&"mxfile"==t.nodeName&&null!=this.pages){var u=t.getElementsByTagName("diagram");if(1==u.length)t=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(u[0]))).documentElement;else if(1<u.length){g.model.beginUpdate();try{for(var x=0;x<u.length;x++){var v=this.updatePageRoot(new DiagramPage(u[x])),z=this.pages.length;null==v.getName()&&v.setName(mxResources.get("pageWithNumber",[z+1]));g.model.execute(new ChangePage(this, -v,v,z))}}finally{g.model.endUpdate()}}}if(null!=t&&"mxGraphModel"===t.nodeName){var y=new mxGraphModel;(new mxCodec(t.ownerDocument)).decode(t,y);var E=y.getChildCount(y.getRoot());g.model.getChildCount(g.model.getRoot());g.model.beginUpdate();try{a={};for(x=0;x<E;x++){var A=y.getChildAt(y.getRoot(),x);if(1==E&&!g.isCellLocked(g.getDefaultParent()))var D=y.getChildren(A),f=f.concat(g.importCells(D,b,c,g.getDefaultParent(),null,a));else A=g.importCells([A],0,0,g.model.getRoot(),null,a)[0],D=g.model.getChildren(A), -g.moveCells(D,b,c),f=f.concat(D)}if(d){g.isGridEnabled()&&(b=g.snap(b),c=g.snap(c));var C=g.getBoundingBoxFromGeometry(f,!0);null!=C&&g.moveCells(f,b-C.x,c-C.y)}}finally{g.model.endUpdate()}}}}catch(F){throw e||this.handleError(F,mxResources.get("invalidOrMissingFile")),F;}return f};EditorUi.prototype.insertLucidChart=function(a,b,c,d){var e=mxUtils.bind(this,function(){if(this.pasteLucidChart)try{this.pasteLucidChart(a,b,c,d)}catch(e){}});!this.pasteLucidChart&&!this.loadingExtensions&&!this.isOffline()? -(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("/js/diagramly/Extensions.js",e):mxscript("/js/extensions.min.js",e)):window.setTimeout(e,0)};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f){f=null!=f?f:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200==a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText, -b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var g=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var q=this.extractGraphModelFromPng(a),t=this.importXml(q,b,c,f,!0);if(0<t.length)return t}if("data:image/svg+xml;"==a.substring(0,19))try{if(q=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(q=a.substring(a.indexOf(",")+1),q=window.atob&&!mxClient.IS_SF?atob(q):Base64.decode(q,!0)):q=decodeURIComponent(a.substring(a.indexOf(",")+ -1)),t=this.importXml(q,b,c,f,!0),0<t.length)return t}catch(u){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),d,e,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+this.convertDataUri(a)+";"))}),!0,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/ -d.width,this.maxImageSize/d.height)),f=Math.round(d.width*e);d=Math.round(d.height*e);g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),f,d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+a+";"))}}),mxUtils.bind(this,function(){var e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,a,g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.updateCellSize(e), -g.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{g.getModel().endUpdate()}g.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,f);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26)){e=JSON.parse(JSON.parse(a).state);var q=null,x;for(x in e.Pages)if(t=e.Pages[x],null!=t&&"0"==t.Properties.Order){q=t;break}null!=q&&this.insertLucidChart(q,b,c,f)}else{g=this.editor.graph;f=null;g.getModel().beginUpdate(); -try{f=g.insertVertex(g.getDefaultParent(),null,"",g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.fireEvent(new mxEventObject("textInserted","cells",[f])),f.value=a,g.updateCellSize(f),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i.test(f.value)&&g.setLinkForCell(f,f.value),f.geometry.width+=g.gridSize,f.geometry.height+= -g.gridSize}finally{g.getModel().endUpdate()}return[f]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\.*<graphml xmlns=\".*)/.test(a)||/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)|| -null!=b&&/(\.vsdx)($|\?)/i.test(b)};EditorUi.prototype.importFile=function(a,b,c,d,e,f,g,q,t,u,x){u=null!=u?u:!0;var v=!1,z=null;"image"==b.substring(0,5)?(g=!1,"image/png"==b.substring(0,9)&&(b=x?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(z=this.importXml(b,c,d,u),g=!0)),g||(z=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),u&&z.isGridEnabled()&&(c=z.snap(c),d=z.snap(d)),z=[z.insertVertex(null,null,"",c,d,e,f,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ -a+";")])):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,g)?(v=!0,this.parseFile(null!=t?t:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){if(4==a.readyState){var b=null;200==a.status&&(b=this.importXml(a.responseText,c,d,u));null!=q&&q(b)}}),g)):/(\.vsd)($|\?)/i.test(g)||(z=this.insertTextAt(this.validateFileData(a),c,d,!0,null,u));!v&&null!=q&&q(z);return z};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e= -a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="\x3d\x3d";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f& -15)<<2);b+="\x3d";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,g,q,t,u,x,v){var z=null!=b&&null!= -c;b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;u=null!=u?u:this.maxImageBytes;t=null!=t?t:!0;var y=this.editor.graph,E=y.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){return null!=a&&"\x3cmxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null):this.importFile(a,b,c,d,e,f,g,k,l,z,v)});f=null!=f?f:mxUtils.bind(this,function(a){y.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var A= -a.length,D=A,C=[],F=mxUtils.bind(this,function(a,b){C[a]=b;if(0==--D){this.spinner.stop();if(null!=q)q(C);else{var c=[];y.getModel().beginUpdate();try{for(var d=0;d<C.length;d++){var e=C[d]();null!=e&&(c=c.concat(e))}}finally{y.getModel().endUpdate()}}f(c)}}),G=0;G<A;G++)mxUtils.bind(this,function(f){var q=a[f],s=new FileReader;s.onload=mxUtils.bind(this,function(a){if(null==g||g(q))if("image/"==q.type.substring(0,6))if("image/svg"==q.type.substring(0,9)){var k=a.target.result,s=k.indexOf(","),y= -atob(k.substring(s+1)),A=mxUtils.parseXml(y),y=A.getElementsByTagName("svg");if(0<y.length){var y=y[0],z=v?null:y.getAttribute("content");null!=z&&("\x3c"!=z.charAt(0)&&"%"!=z.charAt(0))&&(z=unescape(window.atob?atob(z):Base64.decode(z,!0)));null!=z&&"%"==z.charAt(0)&&(z=decodeURIComponent(z));null!=z&&("\x3cmxfile "===z.substring(0,8)||"\x3cmxGraphModel "===z.substring(0,14))?F(f,mxUtils.bind(this,function(){return e(z,"text/xml",b+f*E,c+f*E,0,0,q.name)})):F(f,mxUtils.bind(this,function(){try{if(k.substring(0, -s+1),null!=A){var a=A.getElementsByTagName("svg");if(0<a.length){var g=a[0],r=parseFloat(g.getAttribute("width")),t=parseFloat(g.getAttribute("height")),u=g.getAttribute("viewBox");if(null==u||0==u.length)g.setAttribute("viewBox","0 0 "+r+" "+t);else if(isNaN(r)||isNaN(t)){var x=u.split(" ");3<x.length&&(r=parseFloat(x[2]),t=parseFloat(x[3]))}k=this.createSvgDataUri(mxUtils.getXml(a[0]));var v=Math.min(1,Math.min(d/Math.max(1,r)),d/Math.max(1,t));return e(k,q.type,b+f*E,c+f*E,Math.max(1,Math.round(r* -v)),Math.max(1,Math.round(t*v)),q.name)}}}catch(y){}return null}))}}else{y=!1;if("image/png"==q.type){var C=v?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var D=new Image;D.src=a.target.result;F(f,mxUtils.bind(this,function(){return e(C,"text/xml",b+f*E,c+f*E,D.width,D.height,q.name)}));y=!0}}y||(null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"), -mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,k,r){F(f,mxUtils.bind(this,function(){if(null!=g&&g.length<u){var s=!t||!this.isResampleImage(a.target.result)?1:Math.min(1,Math.min(d/k,d/r));return e(g,q.type,b+f*E,c+f*E,Math.round(k*s),Math.round(r*s),q.name)}this.handleError({message:mxResources.get("imageTooBig")}); -return null}))}),t,d,x)})))}else e(a.target.result,q.type,b+f*E,c+f*E,240,160,q.name,function(a){F(f,function(){return a})})});/(\.vsdx)($|\?)/i.test(q.name)?e(null,q.type,b+f*E,c+f*E,240,160,q.name,function(a){F(f,function(){return a})},q):"image"==q.type.substring(0,5)?s.readAsDataURL(q):s.readAsText(q)})(G)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange= -function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),q=Math.max(1,a.height);if(d&&this.isResampleImage(b,f))try{var t=Math.max(g/e,q/e);if(1<t){var u=Math.round(g/t),x=Math.round(q/t),v=document.createElement("canvas");v.width=u;v.height=x;v.getContext("2d").drawImage(a,0,0,u,x);var z=v.toDataURL();if(z.length<b.length){var y= -document.createElement("canvas");y.width=u;y.height=x;var E=y.toDataURL();z!==E&&(b=z,g=u,q=x)}}}catch(A){}c(b,g,q)};EditorUi.prototype.crcTable=[];for(var b=0;256>b;b++)for(var c=b,d=0;8>d;d++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[b]=c;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=q;q+=b;return a.substring(c,q)} -function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var q=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,q);do{var t=g(a);if("IDAT"==f(a,4)){e=a.substring(0,q-8);t=4294967295;t=this.updateCRC(t,b,0,4);t=this.updateCRC(t,d,0,d.length);e+=String.fromCharCode(c.length+ -d.length+1+("zTXt"==b?1:0)>>24&255,c.length+d.length+1+("zTXt"==b?1:0)>>16&255,c.length+d.length+1+("zTXt"==b?1:0)>>8&255,c.length+d.length+1+("zTXt"==b?1:0)&255)+b+c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d+String.fromCharCode((t^4294967295)>>24&255,(t^4294967295)>>16&255,(t^4294967295)>>8&255,(t^4294967295)&255);e+=a.substring(q-8,a.length);break}e+=a.substring(q-8,q-4+t);d=f(a,t);f(a,4)}while(t);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng= -function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b|| -"IDAT"==c)return!0}))}catch(e){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);var a=this.editor.graph,b=this;mxClient.IS_SVG&&this.editor.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);this.defaultFilename=mxResources.get("untitledDiagram"); -var c=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:c.apply(this,arguments)};this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,c=b.getCurrentFile();null!=c&&(a=null!=c.getTitle()?c.getTitle():a);return a};var d=this.actions.get("print");d.setEnabled(!mxClient.IS_IOS||!navigator.standalone);d.visible=d.isEnabled();if(!this.editor.chromeless){this.keyHandler.bindAction(70, -!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData, -d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(l){}}), -!1);var f=document.createElement("div");f.style.position="absolute";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.display="block";f.contentEditable=!0;mxUtils.setOpacity(f,0);f.style.width="1px";f.style.height="1px";f.innerHTML="\x26nbsp;";var g=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);if(null!=a.container&& -a.isEnabled()&&!a.isMouseDown&&!a.isEditing()&&null==this.dialog&&"INPUT"!=c.nodeName&&"TEXTAREA"!=c.nodeName&&(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)&&!g)f.style.left=a.container.scrollLeft+10+"px",f.style.top=a.container.scrollTop+10+"px",a.container.appendChild(f),g=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){f.focus();document.execCommand("selectAll",!1,null)},0):(f.focus(),document.execCommand("selectAll",!1,null))}));var r=function(){window.setTimeout(function(){f.innerHTML= -"\x26nbsp;";f.focus();document.execCommand("selectAll",!1,null)},0)};mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this,function(){if(g&&(224==c||17==c||91==c))g=!1,!a.isEditing()&&(null==this.dialog&&null!=a.container)&&a.container.focus(),f.parentNode.removeChild(f)}),0)}));mxEvent.addListener(f,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(f),r())}));mxEvent.addListener(f,"cut",mxUtils.bind(this, -function(b){a.isEnabled()&&(this.copyCells(f,!0),r())}));mxEvent.addListener(f,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(f.innerHTML="\x26nbsp;",f.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,f);f.innerHTML="\x26nbsp;"}),0))}),!0);var q=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==f?!0:q.apply(this,arguments)}}d=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight|| -0)/2;this.spinner=this.createSpinner(document.body.clientWidth/2-2,d,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=this.highlightElement(c); -a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list"); -/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types, -"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.test){d=document.getElementById("geFooter");null!=d&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity= -"0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),d.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility= -"hidden"})));var t=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:t.apply(this,arguments)}}d=document.getElementById("geInfo");null!=d&&d.parentNode.removeChild(d);if(Graph.fileSupport){var u=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=u&&(u.parentNode.removeChild(u),u=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){if(null==u&& -(!mxClient.IS_IE||10<document.documentMode))u=this.highlightElement(a.container);null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container,"drop",mxUtils.bind(this,function(b){null!=u&&(u.parentNode.removeChild(u),u=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),d=a.view.translate,e=a.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(b)&&(g=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files, -f,g,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var l=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")?b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b);if(null!=c)a.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")){c=b.dataTransfer.getData("text/html");e=document.createElement("div");e.innerHTML=c;var d=null,m=e.getElementsByTagName("img");null!= -m&&1==m.length?(c=m[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)||(d=!0)):(e=e.getElementsByTagName("a"),null!=e&&1==e.length&&(c=e[0].getAttribute("href")));a.setSelectionCells(this.insertTextAt(c,f,g,!0,d))}else null!=l&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)?this.loadImage(decodeURIComponent(l),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,b));a.setSelectionCell(a.insertVertex(null, -null,"",f,g,c*d,b*d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+l+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(l,f,g,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&a.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),f,g,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode()}; -EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span"); -if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&&(this.insertLucidChart(JSON.parse(d)),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var g=e.lastIndexOf("%3E");0<=g&&g<e.length-3&&(e=e.substring(0,g+3))}catch(q){}try{var c=b.getElementsByTagName("span"),t=null!=c&&0<c.length? -mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(t)&&(f=!0,e=t)}catch(u){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml=e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell()); -null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(x){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){if(null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode))b= -this.highlightElement();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer: -a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c=null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"== -c.substring(0,22)&&(d=this.extractGraphModelFromPng(c),null!=d&&0<d.length&&this.openLocalFile(d)),!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format\x3dxml\x26data\x3d"+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200==a.getStatus()&&this.openLocalFile(a.getText())})):/^https?:\/\//.test(c)&&(c=this.getUrl(window.location.pathname+"?url\x3d"+encodeURIComponent(c)),null==this.getCurrentFile()?window.location.href=c:window.openWindow(c))))}else this.openLocalFile(c)}a.stopPropagation(); -a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d=0,e=0;if(null==a)var e=document.body,f=document.documentElement,d=(e.clientWidth||f.clientWidth)-3,e=Math.max(e.clientHeight||0,f.clientHeight)-3;else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left= -c+"px";f.style.width=Math.max(0,d-3)+"px";f.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b, -c))}return a};EditorUi.prototype.openFiles=function(a){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var c=b.target.result,d=a.name;if(null!=d&&0<d.length)if(/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml"),Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,d))d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+ -".xml":d+".xml",this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200==a.status?this.openLocalFile(a.responseText,d):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if("\x3cmxlibrary"==b.target.result.substring(0,10)){this.spinner.stop();try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}}else"image/png"== -a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,d)});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=function(a,b){var c=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a); -null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename))});null!=a&&0<a.length&&(null!=this.getCurrentFile()&&!this.isDiagramEmpty()?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,c)):c())};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]), -this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])), -c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.initializeEmbedMode=function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";this.editor.graph.setEnabled(!1);if((window.opener||window.parent)!=window)("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this, -function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.diagramContainer.style.visibility="";this.formatContainer.style.visibility="";this.editor.graph.setEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.showLayersDialog()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))}; -EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler= -function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a,b){!this.editor.modified||"0"==urlParams.modified?this.editor.setStatus(""):null!=urlParams.modified&&this.editor.setStatus(mxResources.get(urlParams.modified))});this.editor.graph.model.addListener(mxEvent.CHANGE,f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function s(a){if(null!=a&&"function"===typeof a.charAt&&"\x3c"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)): -"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"\x3c"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(b){}return a}var u=f.data;if("json"==urlParams.proto){try{u=JSON.parse(u)}catch(x){u=null}if(null==u)return;if("dialog"==u.action){this.showError(null!=u.titleKey?mxResources.get(u.titleKey):u.title,null!=u.messageKey?mxResources.get(u.messageKey):u.message,null!=u.buttonKey?mxResources.get(u.buttonKey):u.button);null!= -u.modified&&(this.editor.modified=u.modified);return}if("prompt"==u.action){var v=new FilenameDialog(this,u.defaultValue||"",null!=u.okKey?mxResources.get(u.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:u}),"*")},null!=u.titleKey?mxResources.get(u.titleKey):u.title);this.showDialog(v.container,300,80,!0,!1);v.init();return}if("draft"==u.action){v=null;v="data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml):s(u.xml);v=new DraftDialog(this, -mxResources.get("draftFound",[u.name||this.defaultFilename]),v,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:u}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:u}),"*")}),u.editKey?mxResources.get(u.editKey):null,u.discardKey?mxResources.get(u.discardKey):null);this.showDialog(v.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()})); -try{v.init()}catch(z){g.postMessage(JSON.stringify({event:"draft",error:z.toString(),message:u}),"*")}return}if("template"==u.action){v=new NewDialog(this,!1,null!=u.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=u.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}));this.showDialog(v.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&& -this.actions.get("exit").funct()}));v.init();return}if("status"==u.action){null!=u.messageKey?this.editor.setStatus(mxResources.get(u.messageKey)):null!=u.message&&this.editor.setStatus(u.message);null!=u.modified&&(this.editor.modified=u.modified);return}if("spinner"==u.action){var y=null!=u.messageKey?mxResources.get(u.messageKey):u.message;null!=u.show&&!u.show?this.spinner.stop():this.spinner.spin(document.body,y);return}if("export"==u.action){if("png"==u.format||"xmlpng"==u.format){if(null== -u.spin&&null==u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey):u.spin)){var E=null!=u.xml?u.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var A=mxUtils.bind(this,function(a){var b=this.createLoadMessage("export");b.format=u.format;b.xml=encodeURIComponent(E);b.data="data:image/png;base64,"+a;g.postMessage(JSON.stringify(b),"*");this.editor.graph.setEnabled(!0)});if(this.isExportToCanvas()){var D=this.editor.graph;if(null!=this.pages&&this.currentPage!= -this.pages[0]){var D=this.createTemporaryGraph(D.getStylesheet()),C=D.getGlobalVariable,F=this.pages[0];D.getGlobalVariable=function(a){return"page"==a?F.getName():"pagenumber"==a?1:C.apply(this,arguments)};document.body.appendChild(D.container);D.model.setRoot(F.root)}this.exportToCanvas(mxUtils.bind(this,function(a){a=a.toDataURL("image/png");"xmlpng"==u.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(E))));D!=this.editor.graph&&D.container.parentNode.removeChild(D.container); -A(a.substring(a.lastIndexOf(",")+1))}),null,null,null,null,null,null,null,null,null,null,D)}else(new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26embedXml\x3d"+("xmlpng"==u.format?"1":"0")+"\x26base64\x3d1\x26xml\x3d"+encodeURIComponent(encodeURIComponent(E)))).send(mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();200==a.getStatus()&&A(a.getText())}),mxUtils.bind(this,function(){this.spinner.stop()}))}}else{null!=u.xml&&0<u.xml.length&&this.setFileData(u.xml);y=this.createLoadMessage("export"); -if("html2"==u.format||"html"==u.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))v=this.getXmlFileData(),y.xml=mxUtils.getXml(v),y.data=this.getFileData(null,null,!0,null,null,null,v),y.format=u.format;else if("html"==u.format)E=this.editor.getGraphXml(),y.data=this.getHtml(E,this.editor.graph),y.xml=mxUtils.getXml(E),y.format=u.format;else{mxSvgCanvas2D.prototype.foAltText=null;v=this.editor.graph.background;v==mxConstants.NONE&&(v=null);y.xml=this.getFileData(!0);y.format="svg"; -if(u.embedImages||null==u.embedImages){if(null==u.spin&&null==u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey):u.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==u.format?this.getEmbeddedSvg(y.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(y),"*")})):this.convertImages(this.editor.graph.getSvg(v),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0); -this.spinner.stop();y.data=this.createSvgDataUri(mxUtils.getXml(a));g.postMessage(JSON.stringify(y),"*")}));return}v="xmlsvg"==u.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(v));y.data=this.createSvgDataUri(v)}g.postMessage(JSON.stringify(y),"*")}return}if("load"==u.action)d=1==u.autosave,this.hideDialog(),null!=u.modified&&null==urlParams.modified&&(urlParams.modified=u.modified),null!=u.saveAndExit&&null==urlParams.saveAndExit&& -(urlParams.saveAndExit=u.saveAndExit),null!=u.title&&null!=this.buttonContainer&&(v=document.createElement("span"),mxUtils.write(v,u.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),this.buttonContainer.appendChild(v)),u=null!=u.xmlpng?this.extractGraphModelFromPng(u.xmlpng):null!=u.xml&&"data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml): -u.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(u)}),"*");return}}u=s(u);c=!0;try{a(u,f)}catch(G){this.handleError(G)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var H=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=H();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=H();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d; -d=JSON.stringify(f);(window.opener||window.parent).postMessage(d,"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged", -b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",b));("1"==urlParams.returnbounds||"json"==urlParams.proto)&&g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(f,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position= -"absolute";a.style.paddingTop="atlas"==uiTheme?"2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" (Ctrl+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&& -(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft= -"6px";b.style.marginRight="20px";b.style.padding="4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px";"atlas"==uiTheme&&(this.statusContainer.style.color="#707070",this.statusContainer.style.paddingLeft="26px",this.toolbar.staticElements.push(this.statusContainer),this.toolbar.container.appendChild(this.statusContainer))}}; -EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"\x3d"+urlParams[d],c="\x26")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle url embed client create title splash".split(" "), +else{var f=document.createElement("a");if("undefined"!==typeof f.download||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));"undefined"!==typeof f.download?f.download=b:f.setAttribute("target","_blank");document.body.appendChild(f);try{f.click(),window.setTimeout(function(){URL.revokeObjectURL(f.href)},0),f.parentNode.removeChild(f)}catch(g){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a, +b,c,d,e,f){a="xml\x3d"+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"\x26mime\x3d"+c:"")+(null!=e?"\x26format\x3d"+e:"")+(null!=f?"\x26base64\x3d"+f:"")+(null!=b?"\x26filename\x3d"+encodeURIComponent(b):"")+(d?"\x26binary\x3d1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),f=Array(e),g=0;g<e;++g){for(var q=1024*g,t=Math.min(q+1024,d),u=Array(t-q),x=0;q<t;++x,++q)u[x]=c[q].charCodeAt(0);f[g]=new Uint8Array(u)}return new Blob(f, +{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e){var f=!mxClient.IS_IOS||!navigator.standalone;e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):null!=c&&"image/"==c.substring(0,6)&&("image/svg"!=c.substring(0,9)||mxClient.IS_SVG)? +mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode?(f.document.write('\x3chtml\x3e\x3cimg src\x3d"data:'+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))+'"/\x3e\x3c/html\x3e'),f.document.close()):f.location.replace("data:"+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else e==App.MODE_DEVICE?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(f){this.exportFile(a, +b,c,d,e,f)}))}catch(g){this.handleError(g)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,f);this.showDialog(b.container,380,e?280:160,!0,!0);b.init()};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}))};EditorUi.prototype.saveRequest=function(a,b,c){var d=!mxClient.IS_IOS||!navigator.standalone, +e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var e=c("_blank"==d?null:a,d==App.MODE_DEVICE||null==d||"_blank"==d?"0":"1");null!=e&&(d==App.MODE_DEVICE||"_blank"==d?e.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){this.spinner.spin(document.body,mxResources.get("saving"))&& +e.send(mxUtils.bind(this,function(){this.spinner.stop();if(200>e.getStatus()||299<e.getStatus())this.handleError({message:mxResources.get("errorSavingFile")});else try{var f="pdf"==b?"application/pdf":"image/"+b;this.exportFile(e.getText(),a,f,!0,d,c)}catch(g){this.handleError(g)}}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,d);this.showDialog(a.container,380,e?280:160,!0, +!0);a.init()};EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,g){if(this.spinner.spin(document.body,mxResources.get("export"))){var q=this.editor.graph.isSelectionEmpty();c=null!=c?c:q;q=b?null:this.editor.graph.background;q==mxConstants.NONE&&(q=null);null==q&&!1==b&&(q="#ffffff");var t=this.editor.graph.getSvg(q,a,null,g,null,c);d&&this.editor.addSvgShadow(t);a=this.getCurrentFile();var u= +null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;a=u.lastIndexOf(".");0<a&&(u=u.substring(0,a));var u=u+".svg",x=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c));var b='\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(u,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")}, +mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,t,!1,mxUtils.bind(this,function(){f?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(t,x,this.thumbImageCache)):x(t)}))}};EditorUi.prototype.showRemoteExportDialog=function(a,b,c){var d=this.editor.graph,e=document.createElement("div");e.style.padding="6px";var f=document.createElement("input");f.style.marginRight="8px";f.setAttribute("type","checkbox");d.isSelectionEmpty()&& +f.setAttribute("disabled","disabled");e.appendChild(f);mxUtils.write(e,mxResources.get("selectionOnly"));mxUtils.br(e);var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";e.appendChild(g);mxUtils.write(e,mxResources.get("includeCopyOfMyDiagram"));a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!f.checked,g.checked)}),null,a,b);this.showDialog(a.container,300,120, +!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e){var f=this.editor.graph,g=document.createElement("div");g.style.paddingTop="20px";g.style.paddingRight="8px";var q=240,t=document.createElement("input");t.style.marginRight="8px";t.setAttribute("type","checkbox");if(f.background==mxConstants.NONE||null==f.background)t.setAttribute("checked","checked"),t.defaultChecked=!0;g.appendChild(t);mxUtils.write(g,mxResources.get("transparentBackground"));mxUtils.br(g);var u=document.createElement("input"); +u.style.marginTop="16px";u.style.marginRight="8px";u.setAttribute("type","checkbox");g.appendChild(u);mxUtils.write(g,mxResources.get("selectionOnly"));mxUtils.br(g);var x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.setAttribute("type","checkbox");e&&(g.appendChild(x),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),q+=26);f.isSelectionEmpty()&&(u.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"));var v=document.createElement("input"); +v.style.marginTop="16px";v.style.marginRight="8px";v.setAttribute("type","checkbox");g.appendChild(v);mxUtils.write(g,mxResources.get("shadow"));mxUtils.br(g);f.shadowVisible&&(v.setAttribute("checked","checked"),v.defaultChecked=!0);var z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");(this.isOffline()||!this.canvasSupported)&&z.setAttribute("disabled","disabled");a&&(g.appendChild(z),mxUtils.write(g,mxResources.get("embedImages")), +mxUtils.br(g),q+=26);var y=document.createElement("input");y.style.marginTop="16px";y.style.marginRight="8px";y.setAttribute("type","checkbox");y.style.marginBottom="8px";y.setAttribute("checked","checked");y.defaultChecked=!0;g.appendChild(y);mxUtils.write(g,mxResources.get("includeCopyOfMyDiagram"));a=new FilenameDialog(this,100,b,mxUtils.bind(this,function(a){d(a,t.checked,!u.checked,v.checked,y.checked,z.checked,x.checked)}),mxResources.get("zoom")+" (%)",null,g,!this.isOffline()?c:null);this.showDialog(a.container, +320,q,!0,!0);a.init()};EditorUi.prototype.uploadToGithub=function(a,b,c){var d=this.spinner.pause();c=document.createElement("div");c.style.paddingTop="20px";c.style.paddingRight="8px";var e=document.createElement("table"),f=document.createElement("tbody"),g=document.createElement("tr"),q=document.createElement("td"),t=document.createElement("input");t.setAttribute("type","text");mxUtils.write(q,"Username:");g.appendChild(q);q=q.cloneNode(!1);q.appendChild(t);g.appendChild(q);f.appendChild(g);var q= +q.cloneNode(!1),u=document.createElement("input");u.setAttribute("type","password");mxUtils.write(q,"Password:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(u);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),x=document.createElement("input");x.setAttribute("type","text");mxUtils.write(q,"Organisation:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(x);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),v=document.createElement("input");v.setAttribute("type", +"text");mxUtils.write(q,"Repository:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(v);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),z=document.createElement("input");z.setAttribute("type","text");mxUtils.write(q,"Path:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(z);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);a=this.getCurrentFile();a=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;var y=a.lastIndexOf(".");0<y&&(a=a.substring(0, +y));z.value=a+".png";var E=document.createElement("input");E.setAttribute("type","text");mxUtils.write(q,"Branch/Tag:");E.value="master";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(E);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),A=document.createElement("input");A.setAttribute("type","text");mxUtils.write(q,"Message:");A.value="Updated "+a+".png";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(A);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1); +e.appendChild(f);c.appendChild(e);c=new FilenameDialog(this,null,mxResources.get("publish"),mxUtils.bind(this,function(){var a="https://api.github.com/repos/"+x.value+"/"+v.value+"/contents/"+z.value+"?ref\x3d"+encodeURIComponent(E.value);d();mxUtils.get(a,mxUtils.bind(this,function(c){if(200==c.getStatus()||404==c.getStatus()){c=JSON.parse(c.getText());var e={path:z.value,message:A.value,content:b};null!=c.sha&&(e.sha=c.sha);var f=new XMLHttpRequest;f.onreadystatechange=mxUtils.bind(this,function(){if(4== +f.readyState)if(200<=f.status&&300>f.status){this.spinner.stop();this.hideDialog();a="https://github.com/"+x.value+"/"+v.value+"/blob/"+E.value+"/"+z.value;var b=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open(a)}),!1);this.showDialog(b.container,340, +170,!0,!1);b.init()}else d=this.spinner.pause(),this.handleError(JSON.parse(f.responseText))});f.open("PUT",a,!0);f.setRequestHeader("Authorization","Basic "+btoa(t.value+":"+u.value));f.send(JSON.stringify(e))}else this.hideDialog(),this.spinner.stop(),this.handleError(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){this.hideDialog();this.spinner.stop();this.handleError({message:mxResources.get("unknownError")})}))}),null,null,c,null,!1);this.showDialog(c.container,260,260,!0,!1);c.init()}; +EditorUi.prototype.uploadToImgur=function(a,b,c,d){var e=this.spinner.pause();c=!1;var f=new ErrorDialog(this,mxResources.get("warning"),'\x3cimg style\x3d"max-width:300px;max-height:80px;margin-bottom:20px;padding:6px;border:1px solid gray;" src\x3d"data:image/png;base64,'+b+'"/\x3e\x3cbr\x3e'+mxResources.get("publishConfirmation"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("publish"),mxUtils.bind(this,function(){e();var f=null!=a.getTitle()?a.getTitle():this.defaultFilename, +g=f.lastIndexOf("."),s=f;0<g&&(s=f=s.substring(0,g));var g=new mxXmlRequest("/imgur",JSON.stringify({type:"base64",image:b,name:s+".png",title:f,description:"Made with https://www.draw.io"}),"POST"),u=mxUtils.bind(this,function(a){var b={message:mxResources.get("unknownError")};try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});g.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText()),e="https://www.draw.io/i/"+ +b.data.id;try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity\x3dCONFIG\x26msg\x3dimgur-published:"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(g){}var k=mxUtils.bind(this,function(){this.spinner.stop();var a="https://imgur.com/"+b.data.id,f="https://www.draw.io/imgur?delete\x3d"+b.data.deletehash,a=new ErrorDialog(this,mxResources.get("published"),(c?mxResources.get("viewUrl",['\x3ca href\x3d"'+e+'" target\x3d"_blank"\x3e'+ +e+"\x3c/a\x3e"])+"\x3cbr\x3e":"")+mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"])+"\x3cbr\x3e"+mxResources.get("deleteUrl",[f]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("share"),function(){d(b.data.id,c)},!1);this.showDialog(a.container,340,180,!0,!1);a.init()});if(c){var l=new mxXmlRequest("/imgur?"+b.data.deletehash,JSON.stringify({title:f,description:mxResources.get("viewUrl",[e])}),"POST");l.send(mxUtils.bind(this, +function(){200==l.getStatus()?k():u(l)}),mxUtils.bind(this,function(){u(l)}))}else k()}catch(p){this.handleError(p)}else u(a)}),mxUtils.bind(this,function(a){u(a)}))}));this.showDialog(f.container,320,250,!0,!1);f.init()};EditorUi.prototype.publishImage=function(a,b){var c=this.getCurrentFile();null!=c&&(this.isExportToCanvas()?this.showExportDialog(!1,mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e,f,g,q){d=parseInt(d); +if(!isNaN(d)&&0<d){d/=100;var t=this.editor.graph.isSelectionEmpty();f=null!=f?f:t;if(this.spinner.spin(document.body,mxResources.get("publishing")))try{this.exportToCanvas(mxUtils.bind(this,function(d){try{var e=q?this.getFileData(!0,null,null,null,f):null,g=this.createPngDataUri(d,e);a(c,g.substring(g.lastIndexOf(",")+1),q,b)}catch(m){this.handleError(m)}}),null,null,null,mxUtils.bind(this,function(a){this.handleError(a)}),null,f,d||1,e,g)}catch(u){this.handleError(u)}}})):this.showRemoteExportDialog(mxResources.get("publish"), +"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e){if(this.spinner.spin(document.body,mxResources.get("publishing"))){var f=this.editor.graph.getGraphBounds(),g=this.getFileData(!0,null,null,null,d);if(f.width*f.height<=MAX_AREA&&g.length<=MAX_REQUEST_SIZE)try{var q=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+(e?"1":"0")+"\x26xml\x3d"+encodeURIComponent(g));q.send(mxUtils.bind(this,function(){200==q.getStatus()?a(c,q.getText(), +e,b):this.handleError(q)}))}catch(t){this.handleError(t)}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}})))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours"); +b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&&(g=null));b=b.getSvg(g,null,null,null,null,f);null!=a&&b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n': +"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,f){if(this.spinner.spin(document.body,mxResources.get("exporting"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop(); +try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c):null)}catch(b){"Invalid image"==b.message?this.downloadFile("png"):this.handleError(b)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,null,f)}catch(q){this.spinner.stop(),this.handleError(q)}}};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,q,t,u,x,v,z,y){f=null!=f?f:!0;v=null!=v?v:this.editor.graph;z=null!=z?z:0;var E=t?null:v.background;E== +mxConstants.NONE&&(E=null);null==E&&(E=d);null==E&&!1==t&&(E="#ffffff");this.convertImages(v.getSvg(E,null,null,y,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));q=null!=q?q:1;null!=b&&(q=!f?b/g:Math.min(1,Math.min(3*b/(4*m),b/g)));g=Math.ceil(q*g)+2*z;m=Math.ceil(q*m)+2*z;e.setAttribute("width",g);e.setAttribute("height",m);var n=e.getContext("2d"); +null!=E&&(n.beginPath(),n.rect(0,0,g,m),n.fillStyle=E,n.fill());n.scale(q,q);n.drawImage(d,z/q,z/q);a(e)});d.onerror=function(a){null!=e&&e(a)};try{u&&this.editor.addSvgShadow(c),this.convertMath(v,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,x)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"== +c.substring(0,8))&&c.substring(0,a.baseUrl.length)!=a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var n=a.getElementsByTagName(c),u=0;u<n.length;u++)mxUtils.bind(this,function(c){var n=d.convert(c.getAttribute(g));if(null!=n&&"data:"!=n.substring(0,5)){var r= +f[n];null==r?(e++,this.convertImageToDataUri(n,function(d){null!=d&&(f[n]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,r)}})(n[u])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b()});else{var c=new Image;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width= +c.width;d.drawImage(c,0,0);b(a.toDataURL())};c.onerror=function(){b()};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){var q=mxUtils.parseXml(a),t=this.editor.extractGraphModel(q.documentElement,null!=this.pages);if(null!=t&&"mxfile"==t.nodeName&&null!=this.pages){var u=t.getElementsByTagName("diagram");if(1==u.length)t=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(u[0]))).documentElement;else if(1< +u.length){g.model.beginUpdate();try{for(var x=0;x<u.length;x++){var v=this.updatePageRoot(new DiagramPage(u[x])),z=this.pages.length;null==v.getName()&&v.setName(mxResources.get("pageWithNumber",[z+1]));g.model.execute(new ChangePage(this,v,v,z))}}finally{g.model.endUpdate()}}}if(null!=t&&"mxGraphModel"===t.nodeName){var y=new mxGraphModel;(new mxCodec(t.ownerDocument)).decode(t,y);var E=y.getChildCount(y.getRoot());g.model.getChildCount(g.model.getRoot());g.model.beginUpdate();try{a={};for(x=0;x< +E;x++){var A=y.getChildAt(y.getRoot(),x);if(1==E&&!g.isCellLocked(g.getDefaultParent()))var D=y.getChildren(A),f=f.concat(g.importCells(D,b,c,g.getDefaultParent(),null,a));else A=g.importCells([A],0,0,g.model.getRoot(),null,a)[0],D=g.model.getChildren(A),g.moveCells(D,b,c),f=f.concat(D)}if(d){g.isGridEnabled()&&(b=g.snap(b),c=g.snap(c));var C=g.getBoundingBoxFromGeometry(f,!0);null!=C&&g.moveCells(f,b-C.x,c-C.y)}}finally{g.model.endUpdate()}}}}catch(F){throw e||this.handleError(F,mxResources.get("invalidOrMissingFile")), +F;}return f};EditorUi.prototype.insertLucidChart=function(a,b,c,d){var e=mxUtils.bind(this,function(){if(this.pasteLucidChart)try{this.pasteLucidChart(a,b,c,d)}catch(e){}});!this.pasteLucidChart&&!this.loadingExtensions&&!this.isOffline()?(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("/js/diagramly/Extensions.js",e):mxscript("/js/extensions.min.js",e)):window.setTimeout(e,0)};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f){f=null!=f?f:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&& +(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200==a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var g=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var q=this.extractGraphModelFromPng(a),t=this.importXml(q, +b,c,f,!0);if(0<t.length)return t}if("data:image/svg+xml;"==a.substring(0,19))try{if(q=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(q=a.substring(a.indexOf(",")+1),q=window.atob&&!mxClient.IS_SF?atob(q):Base64.decode(q,!0)):q=decodeURIComponent(a.substring(a.indexOf(",")+1)),t=this.importXml(q,b,c,f,!0),0<t.length)return t}catch(u){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){g.setSelectionCell(g.insertVertex(null, +null,"",g.snap(b),g.snap(c),d,e,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+this.convertDataUri(a)+";"))}),!0,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/d.height)),f=Math.round(d.width*e);d=Math.round(d.height*e);g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),f,d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ +a+";"))}}),mxUtils.bind(this,function(){var e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,a,g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.updateCellSize(e),g.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{g.getModel().endUpdate()}g.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,f);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26)){e= +JSON.parse(JSON.parse(a).state);var q=null,x;for(x in e.Pages)if(t=e.Pages[x],null!=t&&"0"==t.Properties.Order){q=t;break}null!=q&&this.insertLucidChart(q,b,c,f)}else{g=this.editor.graph;f=null;g.getModel().beginUpdate();try{f=g.insertVertex(g.getDefaultParent(),null,"",g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.fireEvent(new mxEventObject("textInserted","cells",[f])),f.value=a,g.updateCellSize(f),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i.test(f.value)&& +g.setLinkForCell(f,f.value),f.geometry.width+=g.gridSize,f.geometry.height+=g.gridSize}finally{g.getModel().endUpdate()}return[f]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat= +function(a,b){return/(\.*<graphml xmlns=\".*)/.test(a)||/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)||null!=b&&/(\.vsdx)($|\?)/i.test(b)};EditorUi.prototype.importFile=function(a,b,c,d,e,f,g,q,t,u,x){u=null!=u?u:!0;var v=!1,z=null;"image"==b.substring(0,5)?(g=!1,"image/png"==b.substring(0,9)&&(b=x?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(z=this.importXml(b,c,d,u),g=!0)),g||(z=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+ +1))),u&&z.isGridEnabled()&&(c=z.snap(c),d=z.snap(d)),z=[z.insertVertex(null,null,"",c,d,e,f,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+a+";")])):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,g)?(v=!0,this.parseFile(null!=t?t:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){if(4==a.readyState){var b=null;200==a.status&&(b=this.importXml(a.responseText, +c,d,u));null!=q&&q(b)}}),g)):/(\.vsd)($|\?)/i.test(g)||(z=this.insertTextAt(this.validateFileData(a),c,d,!0,null,u));!v&&null!=q&&q(z);return z};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="\x3d\x3d";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> +2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2);b+="\x3d";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>> +6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,g,q,t,u,x,v){var z=null!=b&&null!=c;b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;u=null!=u?u:this.maxImageBytes;t=null!=t?t:!0;var y=this.editor.graph,E=y.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){return null!=a&&"\x3cmxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null): +this.importFile(a,b,c,d,e,f,g,k,l,z,v)});f=null!=f?f:mxUtils.bind(this,function(a){y.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var A=a.length,D=A,C=[],F=mxUtils.bind(this,function(a,b){C[a]=b;if(0==--D){this.spinner.stop();if(null!=q)q(C);else{var c=[];y.getModel().beginUpdate();try{for(var d=0;d<C.length;d++){var e=C[d]();null!=e&&(c=c.concat(e))}}finally{y.getModel().endUpdate()}}f(c)}}),G=0;G<A;G++)mxUtils.bind(this,function(f){var q=a[f],s=new FileReader; +s.onload=mxUtils.bind(this,function(a){if(null==g||g(q))if("image/"==q.type.substring(0,6))if("image/svg"==q.type.substring(0,9)){var k=a.target.result,s=k.indexOf(","),y=atob(k.substring(s+1)),A=mxUtils.parseXml(y),y=A.getElementsByTagName("svg");if(0<y.length){var y=y[0],z=v?null:y.getAttribute("content");null!=z&&("\x3c"!=z.charAt(0)&&"%"!=z.charAt(0))&&(z=unescape(window.atob?atob(z):Base64.decode(z,!0)));null!=z&&"%"==z.charAt(0)&&(z=decodeURIComponent(z));null!=z&&("\x3cmxfile "===z.substring(0, +8)||"\x3cmxGraphModel "===z.substring(0,14))?F(f,mxUtils.bind(this,function(){return e(z,"text/xml",b+f*E,c+f*E,0,0,q.name)})):F(f,mxUtils.bind(this,function(){try{if(k.substring(0,s+1),null!=A){var a=A.getElementsByTagName("svg");if(0<a.length){var g=a[0],r=parseFloat(g.getAttribute("width")),t=parseFloat(g.getAttribute("height")),u=g.getAttribute("viewBox");if(null==u||0==u.length)g.setAttribute("viewBox","0 0 "+r+" "+t);else if(isNaN(r)||isNaN(t)){var x=u.split(" ");3<x.length&&(r=parseFloat(x[2]), +t=parseFloat(x[3]))}k=this.createSvgDataUri(mxUtils.getXml(a[0]));var v=Math.min(1,Math.min(d/Math.max(1,r)),d/Math.max(1,t));return e(k,q.type,b+f*E,c+f*E,Math.max(1,Math.round(r*v)),Math.max(1,Math.round(t*v)),q.name)}}}catch(y){}return null}))}}else{y=!1;if("image/png"==q.type){var C=v?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var D=new Image;D.src=a.target.result;F(f,mxUtils.bind(this,function(){return e(C,"text/xml",b+f*E,c+f*E,D.width,D.height,q.name)}));y= +!0}}y||(null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,k,r){F(f,mxUtils.bind(this,function(){if(null!= +g&&g.length<u){var s=!t||!this.isResampleImage(a.target.result)?1:Math.min(1,Math.min(d/k,d/r));return e(g,q.type,b+f*E,c+f*E,Math.round(k*s),Math.round(r*s),q.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),t,d,x)})))}else e(a.target.result,q.type,b+f*E,c+f*E,240,160,q.name,function(a){F(f,function(){return a})})});/(\.vsdx)($|\?)/i.test(q.name)?e(null,q.type,b+f*E,c+f*E,240,160,q.name,function(a){F(f,function(){return a})},q):"image"==q.type.substring(0,5)?s.readAsDataURL(q): +s.readAsText(q)})(G)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),q=Math.max(1,a.height);if(d&&this.isResampleImage(b, +f))try{var t=Math.max(g/e,q/e);if(1<t){var u=Math.round(g/t),x=Math.round(q/t),v=document.createElement("canvas");v.width=u;v.height=x;v.getContext("2d").drawImage(a,0,0,u,x);var z=v.toDataURL();if(z.length<b.length){var y=document.createElement("canvas");y.width=u;y.height=x;var E=y.toDataURL();z!==E&&(b=z,g=u,q=x)}}}catch(A){}c(b,g,q)};EditorUi.prototype.crcTable=[];for(var b=0;256>b;b++)for(var c=b,d=0;8>d;d++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[b]=c;EditorUi.prototype.updateCRC= +function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=q;q+=b;return a.substring(c,q)}function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var q=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a, +4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,q);do{var t=g(a);if("IDAT"==f(a,4)){e=a.substring(0,q-8);t=4294967295;t=this.updateCRC(t,b,0,4);t=this.updateCRC(t,d,0,d.length);e+=String.fromCharCode(c.length+d.length+1+("zTXt"==b?1:0)>>24&255,c.length+d.length+1+("zTXt"==b?1:0)>>16&255,c.length+d.length+1+("zTXt"==b?1:0)>>8&255,c.length+d.length+1+("zTXt"==b?1:0)&255)+b+c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d+String.fromCharCode((t^4294967295)>>24&255,(t^4294967295)>> +16&255,(t^4294967295)>>8&255,(t^4294967295)&255);e+=a.substring(q-8,a.length);break}e+=a.substring(q-8,q-4+t);d=f(a,t);f(a,4)}while(t);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)), +"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(e){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror= +c);d.src=a};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);var a=this.editor.graph,b=this;mxClient.IS_SVG&&this.editor.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);this.defaultFilename=mxResources.get("untitledDiagram");var c=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:c.apply(this,arguments)}; +this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,c=b.getCurrentFile();null!=c&&(a=null!=c.getTitle()?c.getTitle():a);return a};var d=this.actions.get("print");d.setEnabled(!mxClient.IS_IOS||!navigator.standalone);d.visible=d.isEnabled();if(!this.editor.chromeless){this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88, +!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()], +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(l){}}),!1);var f=document.createElement("div");f.style.position="absolute";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.display="block";f.contentEditable=!0;mxUtils.setOpacity(f, +0);f.style.width="1px";f.style.height="1px";f.innerHTML="\x26nbsp;";var g=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);if(null!=a.container&&a.isEnabled()&&!a.isMouseDown&&!a.isEditing()&&null==this.dialog&&"INPUT"!=c.nodeName&&"TEXTAREA"!=c.nodeName&&(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)&& +!g)f.style.left=a.container.scrollLeft+10+"px",f.style.top=a.container.scrollTop+10+"px",a.container.appendChild(f),g=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){f.focus();document.execCommand("selectAll",!1,null)},0):(f.focus(),document.execCommand("selectAll",!1,null))}));var r=function(){window.setTimeout(function(){f.innerHTML="\x26nbsp;";f.focus();document.execCommand("selectAll",!1,null)},0)};mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this, +function(){if(g&&(224==c||17==c||91==c))g=!1,!a.isEditing()&&(null==this.dialog&&null!=a.container)&&a.container.focus(),f.parentNode.removeChild(f)}),0)}));mxEvent.addListener(f,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(f),r())}));mxEvent.addListener(f,"cut",mxUtils.bind(this,function(b){a.isEnabled()&&(this.copyCells(f,!0),r())}));mxEvent.addListener(f,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(f.innerHTML= +"\x26nbsp;",f.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,f);f.innerHTML="\x26nbsp;"}),0))}),!0);var q=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==f?!0:q.apply(this,arguments)}}d=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2;this.spinner=this.createSpinner(document.body.clientWidth/2-2,d,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b= +this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=this.highlightElement(c);a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files, +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1, +Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.test){d=document.getElementById("geFooter"); +null!=d&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),d.appendChild(this.styleInput), +this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var t=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:t.apply(this,arguments)}}d=document.getElementById("geInfo"); +null!=d&&d.parentNode.removeChild(d);if(Graph.fileSupport){var u=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=u&&(u.parentNode.removeChild(u),u=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){if(null==u&&(!mxClient.IS_IE||10<document.documentMode))u=this.highlightElement(a.container);null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container, +"drop",mxUtils.bind(this,function(b){null!=u&&(u.parentNode.removeChild(u),u=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),d=a.view.translate,e=a.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(b)&&(g=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var l=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")? +b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b);if(null!=c)a.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")){c=b.dataTransfer.getData("text/html");e=document.createElement("div");e.innerHTML=c;var d=null,m=e.getElementsByTagName("img");null!=m&&1==m.length?(c=m[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)||(d=!0)):(e=e.getElementsByTagName("a"),null!=e&&1==e.length&&(c=e[0].getAttribute("href"))); +a.setSelectionCells(this.insertTextAt(c,f,g,!0,d))}else null!=l&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)?this.loadImage(decodeURIComponent(l),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,b));a.setSelectionCell(a.insertVertex(null,null,"",f,g,c*d,b*d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ +l+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(l,f,g,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&a.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),f,g,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode()};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())), +e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&& +(this.insertLucidChart(JSON.parse(d)),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var g=e.lastIndexOf("%3E");0<=g&&g<e.length-3&&(e=e.substring(0,g+3))}catch(q){}try{var c=b.getElementsByTagName("span"),t=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(t)&&(f=!0,e=t)}catch(u){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml= +e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(x){}}}}}; +EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){if(null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode))b=this.highlightElement();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this, +function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c= +null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)&&(d=this.extractGraphModelFromPng(c),null!=d&&0<d.length&&this.openLocalFile(d)), +!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format\x3dxml\x26data\x3d"+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200==a.getStatus()&&this.openLocalFile(a.getText())})):/^https?:\/\//.test(c)&&(c=this.getUrl(window.location.pathname+"?url\x3d"+encodeURIComponent(c)),null==this.getCurrentFile()?window.location.href=c:window.openWindow(c))))}else this.openLocalFile(c)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b= +0,c=0,d=0,e=0;if(null==a)var e=document.body,f=document.documentElement,d=(e.clientWidth||f.clientWidth)-3,e=Math.max(e.clientHeight||0,f.clientHeight)-3;else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left=c+"px";f.style.width=Math.max(0,d-3)+"px";f.style.height=Math.max(0, +e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=function(a){if(this.spinner.spin(document.body, +mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var c=b.target.result,d=a.name;if(null!=d&&0<d.length)if(/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml"),Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,d))d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+".xml":d+".xml",this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(), +200==a.status?this.openLocalFile(a.responseText,d):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if("\x3cmxlibrary"==b.target.result.substring(0,10)){this.spinner.stop();try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c, +d)});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=function(a,b){var c=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a);null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this, +a,b||this.defaultFilename))});null!=a&&0<a.length&&(null!=this.getCurrentFile()&&!this.isDiagramEmpty()?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,c)):c())};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a); +var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f= +0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.initializeEmbedMode=function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";this.editor.graph.setEnabled(!1);if((window.opener||window.parent)!=window)("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.diagramContainer.style.visibility= +"";this.formatContainer.style.visibility="";this.editor.graph.setEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.showLayersDialog()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&& +(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a,b){!this.editor.modified||"0"==urlParams.modified? +this.editor.setStatus(""):null!=urlParams.modified&&this.editor.setStatus(mxResources.get(urlParams.modified))});this.editor.graph.model.addListener(mxEvent.CHANGE,f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function s(a){if(null!=a&&"function"===typeof a.charAt&&"\x3c"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a): +"\x3c"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(b){}return a}var u=f.data;if("json"==urlParams.proto){try{u=JSON.parse(u)}catch(x){u=null}if(null==u)return;if("dialog"==u.action){this.showError(null!=u.titleKey?mxResources.get(u.titleKey):u.title,null!=u.messageKey?mxResources.get(u.messageKey):u.message,null!=u.buttonKey?mxResources.get(u.buttonKey):u.button);null!=u.modified&&(this.editor.modified=u.modified);return}if("prompt"==u.action){var v=new FilenameDialog(this,u.defaultValue|| +"",null!=u.okKey?mxResources.get(u.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:u}),"*")},null!=u.titleKey?mxResources.get(u.titleKey):u.title);this.showDialog(v.container,300,80,!0,!1);v.init();return}if("draft"==u.action){v=null;v="data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml):s(u.xml);v=new DraftDialog(this,mxResources.get("draftFound",[u.name||this.defaultFilename]),v,mxUtils.bind(this,function(){this.hideDialog(); +g.postMessage(JSON.stringify({event:"draft",result:"edit",message:u}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:u}),"*")}),u.editKey?mxResources.get(u.editKey):null,u.discardKey?mxResources.get(u.discardKey):null);this.showDialog(v.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{v.init()}catch(z){g.postMessage(JSON.stringify({event:"draft",error:z.toString(),message:u}), +"*")}return}if("template"==u.action){v=new NewDialog(this,!1,null!=u.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=u.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}));this.showDialog(v.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));v.init();return}if("status"==u.action){null!=u.messageKey? +this.editor.setStatus(mxResources.get(u.messageKey)):null!=u.message&&this.editor.setStatus(u.message);null!=u.modified&&(this.editor.modified=u.modified);return}if("spinner"==u.action){var y=null!=u.messageKey?mxResources.get(u.messageKey):u.message;null!=u.show&&!u.show?this.spinner.stop():this.spinner.spin(document.body,y);return}if("export"==u.action){if("png"==u.format||"xmlpng"==u.format){if(null==u.spin&&null==u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey): +u.spin)){var E=null!=u.xml?u.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var A=mxUtils.bind(this,function(a){var b=this.createLoadMessage("export");b.format=u.format;b.xml=encodeURIComponent(E);b.data="data:image/png;base64,"+a;g.postMessage(JSON.stringify(b),"*");this.editor.graph.setEnabled(!0)});if(this.isExportToCanvas()){var D=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var D=this.createTemporaryGraph(D.getStylesheet()),C=D.getGlobalVariable,F=this.pages[0]; +D.getGlobalVariable=function(a){return"page"==a?F.getName():"pagenumber"==a?1:C.apply(this,arguments)};document.body.appendChild(D.container);D.model.setRoot(F.root)}this.exportToCanvas(mxUtils.bind(this,function(a){a=a.toDataURL("image/png");"xmlpng"==u.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(E))));D!=this.editor.graph&&D.container.parentNode.removeChild(D.container);A(a.substring(a.lastIndexOf(",")+1))}),null,null,null,null,null,null,null,null, +null,null,D)}else(new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26embedXml\x3d"+("xmlpng"==u.format?"1":"0")+"\x26base64\x3d1\x26xml\x3d"+encodeURIComponent(encodeURIComponent(E)))).send(mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();200==a.getStatus()&&A(a.getText())}),mxUtils.bind(this,function(){this.spinner.stop()}))}}else{null!=u.xml&&0<u.xml.length&&this.setFileData(u.xml);y=this.createLoadMessage("export");if("html2"==u.format||"html"==u.format&&("0"!=urlParams.pages|| +null!=this.pages&&1<this.pages.length))v=this.getXmlFileData(),y.xml=mxUtils.getXml(v),y.data=this.getFileData(null,null,!0,null,null,null,v),y.format=u.format;else if("html"==u.format)E=this.editor.getGraphXml(),y.data=this.getHtml(E,this.editor.graph),y.xml=mxUtils.getXml(E),y.format=u.format;else{mxSvgCanvas2D.prototype.foAltText=null;v=this.editor.graph.background;v==mxConstants.NONE&&(v=null);y.xml=this.getFileData(!0);y.format="svg";if(u.embedImages||null==u.embedImages){if(null==u.spin&&null== +u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey):u.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==u.format?this.getEmbeddedSvg(y.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(y),"*")})):this.convertImages(this.editor.graph.getSvg(v),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(mxUtils.getXml(a)); +g.postMessage(JSON.stringify(y),"*")}));return}v="xmlsvg"==u.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(v));y.data=this.createSvgDataUri(v)}g.postMessage(JSON.stringify(y),"*")}return}if("load"==u.action)d=1==u.autosave,this.hideDialog(),null!=u.modified&&null==urlParams.modified&&(urlParams.modified=u.modified),null!=u.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=u.saveAndExit),null!=u.title&&null!=this.buttonContainer&& +(v=document.createElement("span"),mxUtils.write(v,u.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),this.buttonContainer.appendChild(v)),u=null!=u.xmlpng?this.extractGraphModelFromPng(u.xmlpng):null!=u.xml&&"data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml):u.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage", +data:JSON.stringify(u)}),"*");return}}u=s(u);c=!0;try{a(u,f)}catch(G){this.handleError(G)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var H=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=H();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=H();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;d=JSON.stringify(f);(window.opener||window.parent).postMessage(d, +"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged", +b),this.addListener("pageViewChanged",b));("1"==urlParams.returnbounds||"json"==urlParams.proto)&&g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(f,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme? +"2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" (Ctrl+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b, +mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight="20px";b.style.padding= +"4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px";"atlas"==uiTheme&&(this.statusContainer.style.color="#707070",this.statusContainer.style.paddingLeft="26px",this.toolbar.staticElements.push(this.statusContainer),this.toolbar.container.appendChild(this.statusContainer))}};EditorUi.prototype.getSearch= +function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"\x3d"+urlParams[d],c="\x26")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle url embed client create title splash".split(" "), d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"\x26",null!=urlParams[d]&&(a+=d+"\x3d"+urlParams[d],b++))}return a};var f=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=f.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width- 2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&& null!=this.source.minimumGraphSize){var d=this.source.getPagePadding(),e=Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2),f=Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2);return new mxPoint(Math.round(e-d.x),Math.round(f-d.y-5/a))}return new mxPoint(8/a,8/a)};var g=b.init;b.init=function(){g.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale* diff --git a/war/js/atlas.min.js b/war/js/atlas.min.js index 326790ce..13386f9f 100644 --- a/war/js/atlas.min.js +++ b/war/js/atlas.min.js @@ -198,7 +198,7 @@ if(null==window.mxLanguages){window.mxLanguages=[];for(var lang in mxLanguageMap if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.analytics="0",urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0";if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";var host=window.location.host,searchString="draw.io",position=host.length-searchString.length,lastIndex=host.lastIndexOf(searchString,position);-1!==lastIndex&&lastIndex===position&&"test.draw.io"!=host&&(window.DRAWIO_LOG_URL="https://log.draw.io"); window.urlParams=window.urlParams||{};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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"]; -var mxClient={VERSION:"3.7.0.0",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +var mxClient={VERSION:"3.7.0.1",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| @@ -241,25 +241,25 @@ null;if("object"==typeof c)for(var d=mxUtils.indexOf(c,a);0<=d;)c.splice(d,1),f= c&&f.push(d),d=d.nextSibling;return f},importNode:function(a,c,f){if(mxClient.IS_IE&&(null==document.documentMode||10>document.documentMode))switch(c.nodeType){case 1:var d=a.createElement(c.nodeName);if(c.attributes&&0<c.attributes.length){for(var b=0;b<c.attributes.length;b++)d.setAttribute(c.attributes[b].nodeName,c.getAttribute(c.attributes[b].nodeName));if(f&&c.childNodes&&0<c.childNodes.length)for(b=0;b<c.childNodes.length;b++)d.appendChild(mxUtils.importNode(a,c.childNodes[b],f))}return d; case 3:case 4:case 8:return a.createTextNode(c.value)}else return a.importNode(c,f)},createXmlDocument:function(){var a=null;document.implementation&&document.implementation.createDocument?a=document.implementation.createDocument("","",null):window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLDOM"));return a},parseXml:function(){return window.DOMParser?function(a){return(new DOMParser).parseFromString(a,"text/xml")}:function(a){var c=mxUtils.createXmlDocument();c.async=!1;c.validateOnParse=!1; c.resolveExternals=!1;c.loadXML(a);return c}}(),clearSelection:function(){return document.selection?function(){document.selection.empty()}:window.getSelection?function(){window.getSelection().removeAllRanges()}:function(){}}(),getPrettyXml:function(a,c,f){var d=[];if(null!=a)if(c=c||" ",f=f||"",a.nodeType==mxConstants.NODETYPE_TEXT)d.push(a.value);else{d.push(f+"\x3c"+a.nodeName);var b=a.attributes;if(null!=b)for(var e=0;e<b.length;e++){var g=mxUtils.htmlEntities(b[e].value);d.push(" "+b[e].nodeName+ -'\x3d"'+g+'"')}b=a.firstChild;if(null!=b){for(d.push("\x3e\n");null!=b;)d.push(mxUtils.getPrettyXml(b,c,f+c)),b=b.nextSibling;d.push(f+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,c){for(var f=c?a.previousSibling:a.nextSibling;null!=f&&f.nodeType==mxConstants.NODETYPE_TEXT;){var d=c?f.previousSibling:f.nextSibling,b=mxUtils.getTextContent(f);0==mxUtils.trim(b).length&&f.parentNode.removeChild(f);f=d}},htmlEntities:function(a,c){a=(a||"").replace(/&/g, -"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==c||c)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,c){var f="";null!=window.XMLSerializer?f=(new XMLSerializer).serializeToString(a):null!=a.xml&&(f=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return f.replace(/\n/g,c||"\x26#xa;")},extractTextWithWhitespace:function(a){for(var c= -!1,f=[],d=0;a[d];d++){var b=a[d];if(3===b.nodeType||4===b.nodeType){if(11==document.documentMode&&d==a.length-1&&0==b.nodeValue.length)break;f.push(b.nodeValue+(null==b.nextSibling||3!=b.nextSibling.nodeType?"\n":""));c=!0}else 8!==b.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==b.nodeName&&0==b.innerHTML.length||!c&&"BR"==b.nodeName||"DIV"==b.nodeName&&"\x3cbr\x3e"==b.innerHTML?f.push("\n"):f.push(mxUtils.extractTextWithWhitespace(b.childNodes)),c=!1)}return f.join("")},replaceTrailingNewlines:function(a, -c){for(var f="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),f+=c;return a+f},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,c){void 0!==a.innerText?a.innerText=c:a[void 0===a.textContent?"text":"textContent"]=c},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(), -getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var c=[];c.push("\x3c"+a.nodeName);var f=a.attributes;if(null!=f)for(var d=0;d<f.length;d++){var b=f[d].value;null!=b&&0<b.length&&(c.push(" "),c.push(f[d].nodeName),c.push('\x3d"'),c.push(b),c.push('"'))}0==a.innerHTML.length?c.push("/\x3e"):(c.push("\x3e"),c.push(a.innerHTML),c.push("\x3c/"+a.nodeName+"\x3e"));return c.join("")}return""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a): -""}}(),write:function(a,c){var f=a.ownerDocument.createTextNode(c);null!=a&&a.appendChild(f);return f},writeln:function(a,c){var f=a.ownerDocument.createTextNode(c);null!=a&&(a.appendChild(f),a.appendChild(document.createElement("br")));return f},br:function(a,c){c=c||1;for(var f=null,d=0;d<c;d++)null!=a&&(f=a.ownerDocument.createElement("br"),a.appendChild(f));return f},button:function(a,c,f){f=null!=f?f:document;f=f.createElement("button");mxUtils.write(f,a);mxEvent.addListener(f,"click",function(a){c(a)}); -return f},para:function(a,c){var f=document.createElement("p");mxUtils.write(f,c);null!=a&&a.appendChild(f);return f},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,c,f,d,b){return mxUtils.link(a,c,function(){f.execute(d)},b)},linkInvoke:function(a,c,f,d,b,e){return mxUtils.link(a,c,function(){f[d](b)},e)},link:function(a,c,f,d){var b= -document.createElement("span");b.style.color="blue";b.style.textDecoration="underline";b.style.cursor="pointer";null!=d&&(b.style.paddingLeft=d+"px");mxEvent.addListener(b,"click",f);mxUtils.write(b,c);null!=a&&a.appendChild(b);return b},fit:function(a){var c=parseInt(a.offsetLeft),f=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),b=d.x,d=d.y,e=document.body,g=document.documentElement,k=b+(e.clientWidth||g.clientWidth);c+f>k&&(a.style.left=Math.max(b,k-f)+"px");c=parseInt(a.offsetTop); -f=parseInt(a.offsetHeight);e=d+Math.max(e.clientHeight||0,g.clientHeight);c+f>e&&(a.style.top=Math.max(d,e-f)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,c,f,d,b,e){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(c,f,b,e);return a},getAll:function(a,c,f){for(var d=a.length,b=[],e=0,g=function(){0==e&&null!=f&&f();e++},k=0;k<a.length;k++)(function(a,e){mxUtils.get(a,function(a){var f=a.getStatus();200>f||299<f?g():(b[e]=a,d--,0==d&& -c(b))},g)})(a[k],k);0==d&&c(b)},post:function(a,c,f,d){return(new mxXmlRequest(a,c)).send(f,d)},submit:function(a,c,f,d){return(new mxXmlRequest(a,c)).simulate(f,d)},loadInto:function(a,c,f){mxClient.IS_IE?c.onreadystatechange=function(){4==c.readyState&&f()}:c.addEventListener("load",f,!1);c.load(a)},getValue:function(a,c,f){a=null!=a?a[c]:null;null==a&&(a=f);return a},getNumber:function(a,c,f){a=null!=a?a[c]:null;null==a&&(a=f||0);return Number(a)},getColor:function(a,c,f){a=null!=a?a[c]:null;null== -a?a=f:a==mxConstants.NONE&&(a=null);return a},clone:function(a,c,f){f=null!=f?f:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,b;for(b in a)if(b!=mxObjectIdentity.FIELD_NAME&&(null==c||0>mxUtils.indexOf(c,b)))d[b]=!f&&"object"==typeof a[b]?mxUtils.clone(a[b]):a[b]}return d},equalPoints:function(a,c){if(null==a&&null!=c||null!=a&&null==c||null!=a&&null!=c&&a.length!=c.length)return!1;if(null!=a&&null!=c)for(var f=0;f<a.length;f++)if(a[f]==c[f]||null!=a[f]&&!a[f].equals(c[f]))return!1; -return!0},equalEntries:function(a,c){if(null==a&&null!=c||null!=a&&null==c||null!=a&&null!=c&&a.length!=c.length)return!1;if(null!=a&&null!=c){var f=0,d;for(d in c)f++;for(d in a)if(f--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(c[d]))&&a[d]!=c[d])return!1}return 0==f},removeDuplicates:function(a){for(var c=new mxDictionary,f=[],d=0;d<a.length;d++)c.get(a[d])||(f.push(a[d]),c.put(a[d],!0));return f},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,c){var f=function(){};f.prototype= -c.prototype;a.prototype=new f;a.prototype.constructor=a},toString:function(a){var c="",f;for(f in a)try{if(null==a[f])c+=f+" \x3d [null]\n";else if("function"==typeof a[f])c+=f+" \x3d\x3e [Function]\n";else if("object"==typeof a[f])var d=mxUtils.getFunctionName(a[f].constructor),c=c+(f+" \x3d\x3e ["+d+"]\n");else c+=f+" \x3d "+a[f]+"\n"}catch(b){c+=f+"\x3d"+b.message}return c},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,c,f,d,b,e,g, -k,l){k-=a;l-=c;if(0===f||0===d)return s;f=Math.abs(f);d=Math.abs(d);var m=-k/2,n=-l/2,p=Math.cos(b*Math.PI/180),s=Math.sin(b*Math.PI/180);b=p*m+s*n;var m=-1*s*m+p*n,n=b*b,t=m*m,q=f*f,u=d*d,v=n/q+t/u;1<v?(f*=Math.sqrt(v),d*=Math.sqrt(v),e=0):(v=1,e===g&&(v=-1),e=v*Math.sqrt((q*u-q*t-u*n)/(q*t+u*n)));n=e*f*m/d;t=-1*e*d*b/f;k=p*n-s*t+k/2;l=s*n+p*t+l/2;q=Math.atan2((m-t)/d,(b-n)/f)-Math.atan2(0,1);e=0<=q?q:2*Math.PI+q;q=Math.atan2((-m-t)/d,(-b-n)/f)-Math.atan2((m-t)/d,(b-n)/f);b=0<=q?q:2*Math.PI+q;0== -g&&0<b?b-=2*Math.PI:0!=g&&0>b&&(b+=2*Math.PI);g=2*b/Math.PI;g=Math.ceil(0>g?-1*g:g);b/=g;m=8/3*Math.sin(b/4)*Math.sin(b/4)/Math.sin(b/2);n=p*f;p*=d;f*=s;d*=s;for(var x=Math.cos(e),z=Math.sin(e),t=-m*(n*z+d*x),q=-m*(f*z-p*x),s=[],A=0;A<g;++A){e+=b;var x=Math.cos(e),z=Math.sin(e),u=n*x-d*z+k,v=f*x+p*z+l,y=-m*(n*z+d*x),x=-m*(f*z-p*x),z=6*A;s[z]=Number(t+a);s[z+1]=Number(q+c);s[z+2]=Number(u-y+a);s[z+3]=Number(v-x+c);s[z+4]=Number(u+a);s[z+5]=Number(v+c);t=u+y;q=v+x}return s},getBoundingBox:function(a, -c,f){var d=null;if(null!=a&&null!=c&&0!=c){c=mxUtils.toRadians(c);var d=Math.cos(c),b=Math.sin(c);f=null!=f?f:new mxPoint(a.x+a.width/2,a.y+a.height/2);var e=new mxPoint(a.x,a.y);c=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(c.x,a.y+a.height);a=new mxPoint(a.x,g.y);e=mxUtils.getRotatedPoint(e,d,b,f);c=mxUtils.getRotatedPoint(c,d,b,f);g=mxUtils.getRotatedPoint(g,d,b,f);a=mxUtils.getRotatedPoint(a,d,b,f);d=new mxRectangle(e.x,e.y,0,0);d.add(new mxRectangle(c.x,c.y,0,0));d.add(new mxRectangle(g.x, -g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,c,f,d){d=null!=d?d:new mxPoint;var b=a.x-d.x;a=a.y-d.y;return new mxPoint(b*c-a*f+d.x,a*c+b*f+d.y)},getPortConstraints:function(a,c,f,d){c=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==c)return d;d=c.toString();c=mxConstants.DIRECTION_MASK_NONE;f=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(f=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45< -f?(a=1,135<=f&&(a=2)):-45>f&&(a=3,-135>=f&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:c|=mxConstants.DIRECTION_MASK_EAST;break;case 2:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:c|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_WEST;break;case 1:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:c|=mxConstants.DIRECTION_MASK_EAST;break;case 3:c|= -mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:c|=mxConstants.DIRECTION_MASK_WEST;break;case 2:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:c|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_EAST;break;case 1:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:c|=mxConstants.DIRECTION_MASK_WEST;break;case 3:c|=mxConstants.DIRECTION_MASK_NORTH}return c}, +'\x3d"'+g+'"')}b=a.firstChild;if(null!=b){for(d.push("\x3e\n");null!=b;)d.push(mxUtils.getPrettyXml(b,c,f+c)),b=b.nextSibling;d.push(f+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,c){for(var f=c?a.previousSibling:a.nextSibling;null!=f&&f.nodeType==mxConstants.NODETYPE_TEXT;){var d=c?f.previousSibling:f.nextSibling,b=mxUtils.getTextContent(f);0==mxUtils.trim(b).length&&f.parentNode.removeChild(f);f=d}},htmlEntities:function(a,c){a=String(a||""); +a=a.replace(/&/g,"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==c||c)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,c){var f="";null!=window.XMLSerializer?f=(new XMLSerializer).serializeToString(a):null!=a.xml&&(f=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return f.replace(/\n/g,c||"\x26#xa;")}, +extractTextWithWhitespace:function(a){for(var c=!1,f=[],d=0;a[d];d++){var b=a[d];if(3===b.nodeType||4===b.nodeType){if(11==document.documentMode&&d==a.length-1&&0==b.nodeValue.length)break;f.push(b.nodeValue+(null==b.nextSibling||3!=b.nextSibling.nodeType?"\n":""));c=!0}else 8!==b.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==b.nodeName&&0==b.innerHTML.length||!c&&"BR"==b.nodeName||"DIV"==b.nodeName&&"\x3cbr\x3e"==b.innerHTML?f.push("\n"):f.push(mxUtils.extractTextWithWhitespace(b.childNodes)), +c=!1)}return f.join("")},replaceTrailingNewlines:function(a,c){for(var f="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),f+=c;return a+f},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,c){void 0!==a.innerText?a.innerText=c:a[void 0===a.textContent?"text":"textContent"]=c},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!= +a?(new XMLSerializer).serializeToString(a):""}}(),getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var c=[];c.push("\x3c"+a.nodeName);var f=a.attributes;if(null!=f)for(var d=0;d<f.length;d++){var b=f[d].value;null!=b&&0<b.length&&(c.push(" "),c.push(f[d].nodeName),c.push('\x3d"'),c.push(b),c.push('"'))}0==a.innerHTML.length?c.push("/\x3e"):(c.push("\x3e"),c.push(a.innerHTML),c.push("\x3c/"+a.nodeName+"\x3e"));return c.join("")}return""}: +function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(),write:function(a,c){var f=a.ownerDocument.createTextNode(c);null!=a&&a.appendChild(f);return f},writeln:function(a,c){var f=a.ownerDocument.createTextNode(c);null!=a&&(a.appendChild(f),a.appendChild(document.createElement("br")));return f},br:function(a,c){c=c||1;for(var f=null,d=0;d<c;d++)null!=a&&(f=a.ownerDocument.createElement("br"),a.appendChild(f));return f},button:function(a,c,f){f=null!=f?f:document;f=f.createElement("button"); +mxUtils.write(f,a);mxEvent.addListener(f,"click",function(a){c(a)});return f},para:function(a,c){var f=document.createElement("p");mxUtils.write(f,c);null!=a&&a.appendChild(f);return f},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,c,f,d,b){return mxUtils.link(a,c,function(){f.execute(d)},b)},linkInvoke:function(a,c,f,d,b,e){return mxUtils.link(a, +c,function(){f[d](b)},e)},link:function(a,c,f,d){var b=document.createElement("span");b.style.color="blue";b.style.textDecoration="underline";b.style.cursor="pointer";null!=d&&(b.style.paddingLeft=d+"px");mxEvent.addListener(b,"click",f);mxUtils.write(b,c);null!=a&&a.appendChild(b);return b},fit:function(a){var c=parseInt(a.offsetLeft),f=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),b=d.x,d=d.y,e=document.body,g=document.documentElement,k=b+(e.clientWidth||g.clientWidth); +c+f>k&&(a.style.left=Math.max(b,k-f)+"px");c=parseInt(a.offsetTop);f=parseInt(a.offsetHeight);e=d+Math.max(e.clientHeight||0,g.clientHeight);c+f>e&&(a.style.top=Math.max(d,e-f)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,c,f,d,b,e){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(c,f,b,e);return a},getAll:function(a,c,f){for(var d=a.length,b=[],e=0,g=function(){0==e&&null!=f&&f();e++},k=0;k<a.length;k++)(function(a,e){mxUtils.get(a, +function(a){var f=a.getStatus();200>f||299<f?g():(b[e]=a,d--,0==d&&c(b))},g)})(a[k],k);0==d&&c(b)},post:function(a,c,f,d){return(new mxXmlRequest(a,c)).send(f,d)},submit:function(a,c,f,d){return(new mxXmlRequest(a,c)).simulate(f,d)},loadInto:function(a,c,f){mxClient.IS_IE?c.onreadystatechange=function(){4==c.readyState&&f()}:c.addEventListener("load",f,!1);c.load(a)},getValue:function(a,c,f){a=null!=a?a[c]:null;null==a&&(a=f);return a},getNumber:function(a,c,f){a=null!=a?a[c]:null;null==a&&(a=f|| +0);return Number(a)},getColor:function(a,c,f){a=null!=a?a[c]:null;null==a?a=f:a==mxConstants.NONE&&(a=null);return a},clone:function(a,c,f){f=null!=f?f:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,b;for(b in a)if(b!=mxObjectIdentity.FIELD_NAME&&(null==c||0>mxUtils.indexOf(c,b)))d[b]=!f&&"object"==typeof a[b]?mxUtils.clone(a[b]):a[b]}return d},equalPoints:function(a,c){if(null==a&&null!=c||null!=a&&null==c||null!=a&&null!=c&&a.length!=c.length)return!1;if(null!= +a&&null!=c)for(var f=0;f<a.length;f++)if(a[f]==c[f]||null!=a[f]&&!a[f].equals(c[f]))return!1;return!0},equalEntries:function(a,c){if(null==a&&null!=c||null!=a&&null==c||null!=a&&null!=c&&a.length!=c.length)return!1;if(null!=a&&null!=c){var f=0,d;for(d in c)f++;for(d in a)if(f--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(c[d]))&&a[d]!=c[d])return!1}return 0==f},removeDuplicates:function(a){for(var c=new mxDictionary,f=[],d=0;d<a.length;d++)c.get(a[d])||(f.push(a[d]),c.put(a[d],!0));return f},isNaN:function(a){return"number"== +typeof a&&isNaN(a)},extend:function(a,c){var f=function(){};f.prototype=c.prototype;a.prototype=new f;a.prototype.constructor=a},toString:function(a){var c="",f;for(f in a)try{if(null==a[f])c+=f+" \x3d [null]\n";else if("function"==typeof a[f])c+=f+" \x3d\x3e [Function]\n";else if("object"==typeof a[f])var d=mxUtils.getFunctionName(a[f].constructor),c=c+(f+" \x3d\x3e ["+d+"]\n");else c+=f+" \x3d "+a[f]+"\n"}catch(b){c+=f+"\x3d"+b.message}return c},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180* +a/Math.PI},arcToCurves:function(a,c,f,d,b,e,g,k,l){k-=a;l-=c;if(0===f||0===d)return s;f=Math.abs(f);d=Math.abs(d);var m=-k/2,n=-l/2,p=Math.cos(b*Math.PI/180),s=Math.sin(b*Math.PI/180);b=p*m+s*n;var m=-1*s*m+p*n,n=b*b,t=m*m,q=f*f,u=d*d,v=n/q+t/u;1<v?(f*=Math.sqrt(v),d*=Math.sqrt(v),e=0):(v=1,e===g&&(v=-1),e=v*Math.sqrt((q*u-q*t-u*n)/(q*t+u*n)));n=e*f*m/d;t=-1*e*d*b/f;k=p*n-s*t+k/2;l=s*n+p*t+l/2;q=Math.atan2((m-t)/d,(b-n)/f)-Math.atan2(0,1);e=0<=q?q:2*Math.PI+q;q=Math.atan2((-m-t)/d,(-b-n)/f)-Math.atan2((m- +t)/d,(b-n)/f);b=0<=q?q:2*Math.PI+q;0==g&&0<b?b-=2*Math.PI:0!=g&&0>b&&(b+=2*Math.PI);g=2*b/Math.PI;g=Math.ceil(0>g?-1*g:g);b/=g;m=8/3*Math.sin(b/4)*Math.sin(b/4)/Math.sin(b/2);n=p*f;p*=d;f*=s;d*=s;for(var x=Math.cos(e),z=Math.sin(e),t=-m*(n*z+d*x),q=-m*(f*z-p*x),s=[],A=0;A<g;++A){e+=b;var x=Math.cos(e),z=Math.sin(e),u=n*x-d*z+k,v=f*x+p*z+l,y=-m*(n*z+d*x),x=-m*(f*z-p*x),z=6*A;s[z]=Number(t+a);s[z+1]=Number(q+c);s[z+2]=Number(u-y+a);s[z+3]=Number(v-x+c);s[z+4]=Number(u+a);s[z+5]=Number(v+c);t=u+y;q= +v+x}return s},getBoundingBox:function(a,c,f){var d=null;if(null!=a&&null!=c&&0!=c){c=mxUtils.toRadians(c);var d=Math.cos(c),b=Math.sin(c);f=null!=f?f:new mxPoint(a.x+a.width/2,a.y+a.height/2);var e=new mxPoint(a.x,a.y);c=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(c.x,a.y+a.height);a=new mxPoint(a.x,g.y);e=mxUtils.getRotatedPoint(e,d,b,f);c=mxUtils.getRotatedPoint(c,d,b,f);g=mxUtils.getRotatedPoint(g,d,b,f);a=mxUtils.getRotatedPoint(a,d,b,f);d=new mxRectangle(e.x,e.y,0,0);d.add(new mxRectangle(c.x, +c.y,0,0));d.add(new mxRectangle(g.x,g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,c,f,d){d=null!=d?d:new mxPoint;var b=a.x-d.x;a=a.y-d.y;return new mxPoint(b*c-a*f+d.x,a*c+b*f+d.y)},getPortConstraints:function(a,c,f,d){c=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==c)return d;d=c.toString();c=mxConstants.DIRECTION_MASK_NONE;f=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(f=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION, +0));a=0;45<f?(a=1,135<=f&&(a=2)):-45>f&&(a=3,-135>=f&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:c|=mxConstants.DIRECTION_MASK_EAST;break;case 2:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:c|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_WEST;break;case 1:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:c|=mxConstants.DIRECTION_MASK_EAST;break; +case 3:c|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:c|=mxConstants.DIRECTION_MASK_WEST;break;case 2:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:c|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_EAST;break;case 1:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:c|=mxConstants.DIRECTION_MASK_WEST;break;case 3:c|=mxConstants.DIRECTION_MASK_NORTH}return c}, reversePortConstraints:function(a){var c=0,c=(a&mxConstants.DIRECTION_MASK_WEST)<<3,c=c|(a&mxConstants.DIRECTION_MASK_NORTH)<<1,c=c|(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return c|(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,c,f){var d=-1;if(0<a.absolutePoints.length)for(var b=a.absolutePoints[0],e=null,g=1;g<a.absolutePoints.length;g++){var k=a.absolutePoints[g],b=mxUtils.ptSegDistSq(b.x,b.y,k.x,k.y,c,f);if(null==e||b<e)e=b,d=g-1;b=k}return d},rectangleIntersectsSegment:function(a, c,f){var d=a.y,b=a.x,e=d+a.height,g=b+a.width;a=c.x;var k=f.x;c.x>f.x&&(a=f.x,k=c.x);k>g&&(k=g);a<b&&(a=b);if(a>k)return!1;var b=c.y,g=f.y,l=f.x-c.x;1E-7<Math.abs(l)&&(f=(f.y-c.y)/l,c=c.y-f*c.x,b=f*a+c,g=f*k+c);b>g&&(c=g,g=b,b=c);g>e&&(g=e);b<d&&(b=d);return b>g?!1:!0},contains:function(a,c,f){return a.x<=c&&a.x+a.width>=c&&a.y<=f&&a.y+a.height>=f},intersects:function(a,c){var f=a.width,d=a.height,b=c.width,e=c.height;if(0>=b||0>=e||0>=f||0>=d)return!1;var g=a.x,k=a.y,l=c.x,m=c.y,b=b+l,e=e+m,f=f+ g,d=d+k;return(b<l||b>g)&&(e<m||e>k)&&(f<g||f>l)&&(d<k||d>m)},intersectsHotspot:function(a,c,f,d,b,e){d=null!=d?d:1;b=null!=b?b:0;e=null!=e?e:0;if(0<d){var g=a.getCenterX(),k=a.getCenterY(),l=a.width,m=a.height,n=mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE)*a.view.scale;0<n&&(mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,!0)?(k=a.y+n/2,m=n):(g=a.x+n/2,l=n));l=Math.max(b,l*d);m=Math.max(b,m*d);0<e&&(l=Math.min(l,e),m=Math.min(m,e));d=new mxRectangle(g-l/2,k-m/2,l,m);g=mxUtils.toRadians(mxUtils.getValue(a.style, @@ -1652,8 +1652,8 @@ g=this.getAlignmentTolerance();if(0<g){var k=this.graph.view.getState(c);if(null mxConnectionHandler.prototype.createEdge=function(a,c,f,d){var b=null;null!=this.factoryMethod&&(b=this.factoryMethod(c,f,d));null==b&&(b=new mxCell(a||""),b.setEdge(!0),b.setStyle(d),a=new mxGeometry,a.relative=!0,b.setGeometry(a));return b}; mxConnectionHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.marker&&(this.marker.destroy(),this.marker=null);null!=this.constraintHandler&&(this.constraintHandler.destroy(),this.constraintHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getView().removeListener(this.changeHandler),this.changeHandler=null);null!=this.drillHandler&&(this.graph.removeListener(this.drillHandler), this.graph.getView().removeListener(this.drillHandler),this.drillHandler=null);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null)}; -function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,f){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)&&this.reset()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5);mxConstraintHandler.prototype.graph=null; -mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; +function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,f){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)?this.reset():this.redraw()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5); +mxConstraintHandler.prototype.graph=null;mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; mxConstraintHandler.prototype.reset=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusIcons=null}null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null);this.focusPoints=this.currentFocus=this.currentPoint=this.currentFocusArea=this.currentConstraint=null};mxConstraintHandler.prototype.getTolerance=function(a){return this.graph.getTolerance()}; mxConstraintHandler.prototype.getImageForConstraint=function(a,c,f){return this.pointImage};mxConstraintHandler.prototype.isEventIgnored=function(a,c){return!1};mxConstraintHandler.prototype.isStateIgnored=function(a,c){return!1};mxConstraintHandler.prototype.destroyIcons=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusPoints=this.focusIcons=null}}; mxConstraintHandler.prototype.destroyFocusHighlight=function(){null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null)};mxConstraintHandler.prototype.isKeepFocusEvent=function(a){return mxEvent.isShiftDown(a.getEvent())}; @@ -1662,6 +1662,8 @@ mxConstraintHandler.prototype.update=function(a,c,f,d){if(this.isEnabled()&&!thi d));if(!this.isKeepFocusEvent(a)&&(null==this.currentFocusArea||null==this.currentFocus||null!=k||!this.graph.getModel().isVertex(this.currentFocus.cell)||!mxUtils.intersects(this.currentFocusArea,b))&&k!=this.currentFocus)this.currentFocus=this.currentFocusArea=null,this.setFocus(a,k,c);a=this.currentPoint=this.currentConstraint=null;if(null!=this.focusIcons&&null!=this.constraints&&(null==k||this.currentFocus==k))for(var g=b.getCenterX(),l=b.getCenterY(),m=0;m<this.focusIcons.length;m++){var n= g-this.focusIcons[m].bounds.getCenterX(),p=l-this.focusIcons[m].bounds.getCenterY(),n=n*n+p*p;if((this.intersects(this.focusIcons[m],b,c,f)||null!=d&&this.intersects(this.focusIcons[m],e,c,f))&&(null==a||n<a)){this.currentConstraint=this.constraints[m];this.currentPoint=this.focusPoints[m];a=n;n=this.focusIcons[m].bounds.clone();n.grow(mxConstants.HIGHLIGHT_SIZE);mxClient.IS_IE&&(n.grow(1),n.width-=1,n.height-=1);if(null==this.focusHighlight){p=this.createHighlightShape();p.dialect=this.graph.dialect== mxConstants.DIALECT_SVG?mxConstants.DIALECT_SVG:mxConstants.DIALECT_VML;p.pointerEvents=!1;p.init(this.graph.getView().getOverlayPane());this.focusHighlight=p;var s=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:k});mxEvent.redirectMouseEvents(p.node,this.graph,s)}this.focusHighlight.bounds=n;this.focusHighlight.redraw()}}null==this.currentConstraint&&this.destroyFocusHighlight()}else this.currentPoint=this.currentFocus=this.currentConstraint=null}; +mxConstraintHandler.prototype.redraw=function(){if(null!=this.currentFocus&&null!=this.constraints&&null!=this.focusIcons){var a=this.graph.view.getState(this.currentFocus.cell);this.currentFocus=a;this.currentFocusArea=new mxRectangle(a.x,a.y,a.width,a.height);for(var c=0;c<this.constraints.length;c++){var f=this.graph.getConnectionPoint(a,this.constraints[c]),d=this.getImageForConstraint(a,this.constraints[c],f),d=new mxRectangle(Math.round(f.x-d.width/2),Math.round(f.y-d.height/2),d.width,d.height); +this.focusIcons[c].bounds=d;this.focusIcons[c].redraw();this.currentFocusArea.add(this.focusIcons[c].bounds);this.focusPoints[c]=f}}}; mxConstraintHandler.prototype.setFocus=function(a,c,f){this.constraints=null!=c&&!this.isStateIgnored(c,f)&&this.graph.isCellConnectable(c.cell)?this.isEnabled()?this.graph.getAllConnectionConstraints(c,f)||[]:[]:null;if(null!=this.constraints){this.currentFocus=c;this.currentFocusArea=new mxRectangle(c.x,c.y,c.width,c.height);if(null!=this.focusIcons){for(f=0;f<this.focusIcons.length;f++)this.focusIcons[f].destroy();this.focusPoints=this.focusIcons=null}this.focusPoints=[];this.focusIcons=[];for(f= 0;f<this.constraints.length;f++){var d=this.graph.getConnectionPoint(c,this.constraints[f]),b=this.getImageForConstraint(c,this.constraints[f],d),e=b.src,b=new mxRectangle(Math.round(d.x-b.width/2),Math.round(d.y-b.height/2),b.width,b.height),e=new mxImageShape(b,e);e.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG;e.preserveImageAspect=!1;e.init(this.graph.getView().getDecoratorPane());(mxClient.IS_QUIRKS||8==document.documentMode)&&mxEvent.addListener(e.node, "dragstart",function(b){mxEvent.consume(b);return!1});null!=e.node.previousSibling&&e.node.parentNode.insertBefore(e.node,e.node.parentNode.firstChild);b=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:c});e.redraw();mxEvent.redirectMouseEvents(e.node,this.graph,b);this.currentFocusArea.add(e.bounds);this.focusIcons.push(e);this.focusPoints.push(d)}this.currentFocusArea.grow(this.getTolerance(a))}else this.destroyIcons(),this.destroyFocusHighlight()}; @@ -2500,7 +2502,7 @@ b.length-1;0<=f;f--)if(0==f||b[f]!=c[f-1]){b[f].setAttribute("width",a);b[f].set "_blank");break}}};Graph.prototype.isCellResizable=function(b){var a=mxGraph.prototype.isCellResizable.apply(this,arguments),d=this.view.getState(b),d=null!=d?d.style:this.getCellStyle(b);return a||"0"!=mxUtils.getValue(d,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==d[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(b,a){null==a&&(a=this.getSelectionCells());if(null!=a&&1<a.length){for(var d=[],e=null,c=null,f=0;f<a.length;f++)if(this.getModel().isVertex(a[f])){var g=this.view.getState(a[f]); if(null!=g){var k=b?g.getCenterX():g.getCenterY(),e=null!=e?Math.max(e,k):k,c=null!=c?Math.min(c,k):k;d.push(g)}}if(2<d.length){d.sort(function(a,d){return b?a.x-d.x:a.y-d.y});g=this.view.translate;k=this.view.scale;c=c/k-(b?g.x:g.y);e=e/k-(b?g.x:g.y);this.getModel().beginUpdate();try{for(var l=(e-c)/(d.length-1),e=c,f=1;f<d.length-1;f++){var m=this.getCellGeometry(d[f].cell),e=e+l;null!=m&&(m=m.clone(),b?m.x=Math.round(e-m.width/2):m.y=Math.round(e-m.height/2),this.getModel().setGeometry(d[f].cell, m))}}finally{this.getModel().endUpdate()}}}return a};Graph.prototype.isCloneEvent=function(b){return mxClient.IS_MAC&&mxEvent.isMetaDown(b)||mxEvent.isControlDown(b)};Graph.prototype.encodeCells=function(b){for(var a=this.cloneCells(b),d=0;d<a.length;d++){var e=this.view.getState(b[d]);if(null!=e){var c=this.getCellGeometry(a[d]);null!=c&&c.relative&&(c.relative=!1,c.x=e.x/e.view.scale-e.view.translate.x,c.y=e.y/e.view.scale-e.view.translate.y)}}for(var e=new mxCodec,c=new mxGraphModel,f=c.getChildAt(c.getRoot(), -0),d=0;d<b.length;d++)c.add(f,a[d]);return e.encode(c)};Graph.prototype.createSvgImageExport=function(){var b=new mxImageExport;b.getLinkForCellState=mxUtils.bind(this,function(b,a){return this.getLinkForCell(b.cell)});return b};Graph.prototype.getSvg=function(b,a,d,e,c,f,g){a=null!=a?a:1;d=null!=d?d:1;c=null!=c?c:!0;f=null!=f?f:!0;g=null!=g?g:!0;e=f||e?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==e)throw Error(mxResources.get("drawingEmpty"));var k=this.createSvgImageExport(), +0),d=0;d<b.length;d++)c.add(f,a[d]);return e.encode(c)};Graph.prototype.createSvgImageExport=function(){var b=new mxImageExport;b.getLinkForCellState=mxUtils.bind(this,function(b,a){return this.getLinkForCell(b.cell)});return b};Graph.prototype.getSvg=function(b,a,d,e,c,f,g){a=null!=a?a:1;d=null!=d?d:0;c=null!=c?c:!0;f=null!=f?f:!0;g=null!=g?g:!0;e=f||e?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==e)throw Error(mxResources.get("drawingEmpty"));var k=this.createSvgImageExport(), l=k.drawCellState;k.drawCellState=function(b,a){(f||b.view.graph.isCellSelected(b.cell))&&l.apply(this,arguments)};var m=this.view.scale,n=mxUtils.createXmlDocument(),p=null!=n.createElementNS?n.createElementNS(mxConstants.NS_SVG,"svg"):n.createElement("svg");null!=b&&(null!=p.style?p.style.backgroundColor=b:p.setAttribute("style","background-color:"+b));null==n.createElementNS?(p.setAttribute("xmlns",mxConstants.NS_SVG),p.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):p.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink",mxConstants.NS_XLINK);b=a/m;p.setAttribute("width",Math.ceil(e.width*b)+2*d+"px");p.setAttribute("height",Math.ceil(e.height*b)+2*d+"px");p.setAttribute("version","1.1");var q=p;c&&(q=null!=n.createElementNS?n.createElementNS(mxConstants.NS_SVG,"g"):n.createElement("g"),q.setAttribute("transform","translate(0.5,0.5)"),p.appendChild(q));n.appendChild(p);n=new mxSvgCanvas2D(q);n.foOffset=c?-0.5:0;n.textOffset=c?-0.5:0;n.translate(Math.floor((d/a-e.x)/m),Math.floor((d/a-e.y)/m));var t= n.createAlternateContent;n.createAlternateContent=function(b,a,d,e,c,f,g,k,l,m,n,p,q){var s=this.state;if(null!=this.foAltText&&(0==e||0!=s.fontSize&&f.length<5*e/s.fontSize)){var u=this.createElement("text");u.setAttribute("x",Math.round(e/2));u.setAttribute("y",Math.round((c+s.fontSize)/2));u.setAttribute("fill",s.fontColor||"black");u.setAttribute("text-anchor","middle");u.setAttribute("font-size",Math.round(s.fontSize)+"px");u.setAttribute("font-family",s.fontFamily);(s.fontStyle&mxConstants.FONT_BOLD)== @@ -2793,7 +2795,7 @@ Menubar.prototype.addMenuHandler=function(a,c){if(null!=c){var f=!0,d=mxUtils.bi b);this.editorUi.setCurrentMenu(d,a)}mxEvent.consume(b)});mxEvent.addListener(a,"mousemove",mxUtils.bind(this,function(b){null!=this.editorUi.currentMenu&&this.editorUi.currentMenuElt!=a&&(this.editorUi.hideCurrentMenu(),d(b))}));mxEvent.addListener(a,"mousedown",mxUtils.bind(this,function(){f=this.currentElt!=a}));mxEvent.addListener(a,"click",mxUtils.bind(this,function(b){d(b);f=!0}))}};Menubar.prototype.destroy=function(){}; function Menu(a,c){mxEventSource.call(this);this.funct=a;this.enabled=null!=c?c:!0}mxUtils.extend(Menu,mxEventSource);Menu.prototype.isEnabled=function(){return this.enabled};Menu.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Menu.prototype.execute=function(a,c){this.funct(a,c)};EditorUi.prototype.createMenus=function(){return new Menus(this)};Format=function(a,c){this.editorUi=a;this.container=c}; Format.prototype.labelIndex=0;Format.prototype.currentIndex=0; -Format.prototype.init=function(){var a=this.editorUi.editor.graph;this.update=mxUtils.bind(this,function(a,f){this.clearSelectionState();this.refresh()});a.getSelectionModel().addListener(mxEvent.CHANGE,this.update);a.addListener(mxEvent.EDITING_STARTED,this.update);a.addListener(mxEvent.EDITING_STOPPED,this.update);a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.clearSelectionState()}));a.addListener(mxEvent.ROOT,mxUtils.bind(this,function(){this.refresh()}));this.refresh()}; +Format.prototype.init=function(){var a=this.editorUi.editor.graph;this.update=mxUtils.bind(this,function(a,f){this.clearSelectionState();this.refresh()});a.getSelectionModel().addListener(mxEvent.CHANGE,this.update);a.addListener(mxEvent.EDITING_STARTED,this.update);a.addListener(mxEvent.EDITING_STOPPED,this.update);a.getModel().addListener(mxEvent.CHANGE,this.update);a.addListener(mxEvent.ROOT,mxUtils.bind(this,function(){this.refresh()}));this.refresh()}; Format.prototype.clearSelectionState=function(){this.selectionState=null};Format.prototype.getSelectionState=function(){null==this.selectionState&&(this.selectionState=this.createSelectionState());return this.selectionState};Format.prototype.createSelectionState=function(){for(var a=this.editorUi.editor.graph.getSelectionCells(),c=this.initSelectionState(),f=0;f<a.length;f++)this.updateSelectionStateForCell(c,a[f],a);return c}; Format.prototype.initSelectionState=function(){return{vertices:[],edges:[],x:null,y:null,width:null,height:null,style:{},containsImage:!1,containsLabel:!1,fill:!0,glass:!0,rounded:!0,comic:!0,autoSize:!1,image:!0,shadow:!0}}; Format.prototype.updateSelectionStateForCell=function(a,c,f){f=this.editorUi.editor.graph;if(f.getModel().isVertex(c)){a.vertices.push(c);var d=f.getCellGeometry(c);if(null!=d&&(0<d.width?null==a.width?a.width=d.width:a.width!=d.width&&(a.width=""):a.containsLabel=!0,0<d.height?null==a.height?a.height=d.height:a.height!=d.height&&(a.height=""):a.containsLabel=!0,!d.relative||null!=d.offset)){var b=d.relative?d.offset.x:d.x,d=d.relative?d.offset.y:d.y;null==a.x?a.x=b:a.x!=b&&(a.x="");null==a.y?a.y= @@ -3096,8 +3098,8 @@ document.createElement("option");e.setAttribute("value","new");mxUtils.write(e,m b.value)window.openFile=new OpenFile(function(){a.hideDialog();window.openFile=null}),window.openFile.setData(d,null),window.open(a.getUrl());else if("replace"==b.value){a.editor.graph.model.beginUpdate();try{a.editor.setGraphXml(mxUtils.parseXml(d).documentElement),a.hideDialog()}catch(c){e=c}finally{a.editor.graph.model.endUpdate()}}else if("import"==b.value){a.editor.graph.model.beginUpdate();try{var m=mxUtils.parseXml(d),n=new mxGraphModel;(new mxCodec(m)).decode(m.documentElement,n);var p=n.getChildren(n.getChildAt(n.getRoot(), 0));a.editor.graph.setSelectionCells(a.editor.graph.importCells(p));a.hideDialog()}catch(s){e=s}finally{a.editor.graph.model.endUpdate()}}null!=e&&mxUtils.alert(e.message)});e.className="geBtn gePrimaryBtn";c.appendChild(e);a.editor.cancelFirst||c.appendChild(d);this.container=c},ExportDialog=function(a){function c(){var b=n.value,a=b.lastIndexOf(".");n.value=0<a?b.substring(0,a+1)+p.value:b+"."+p.value;"xml"===p.value?(s.setAttribute("disabled","true"),t.setAttribute("disabled","true"),q.setAttribute("disabled", "true"),v.setAttribute("disabled","true")):(s.removeAttribute("disabled"),t.removeAttribute("disabled"),q.removeAttribute("disabled"),v.removeAttribute("disabled"));"png"===p.value||"svg"===p.value?u.removeAttribute("disabled"):u.setAttribute("disabled","disabled")}function f(){t.style.backgroundColor=t.value*q.value>MAX_AREA||0>=t.value?"red":"";q.style.backgroundColor=t.value*q.value>MAX_AREA||0>=q.value?"red":""}var d=a.editor.graph,b=d.getGraphBounds(),e=d.view.scale,g=Math.ceil(b.width/e),k= -Math.ceil(b.height/e),l,e=document.createElement("table"),m=document.createElement("tbody");e.setAttribute("cellpadding","2");b=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";l.style.width="100px";mxUtils.write(l,mxResources.get("filename")+":");b.appendChild(l);var n=document.createElement("input");n.setAttribute("value",a.editor.getOrCreateFilename());n.style.width="180px";l=document.createElement("td");l.appendChild(n);b.appendChild(l);m.appendChild(b);b=document.createElement("tr"); -l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("format")+":");b.appendChild(l);var p=document.createElement("select");p.style.width="180px";l=document.createElement("option");l.setAttribute("value","png");mxUtils.write(l,mxResources.get("formatPng"));p.appendChild(l);l=document.createElement("option");ExportDialog.showGifOption&&(l.setAttribute("value","gif"),mxUtils.write(l,mxResources.get("formatGif")),p.appendChild(l));l=document.createElement("option"); +Math.ceil(b.height/e),l,e=document.createElement("table"),m=document.createElement("tbody");e.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");b=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";l.style.width="100px";mxUtils.write(l,mxResources.get("filename")+":");b.appendChild(l);var n=document.createElement("input");n.setAttribute("value",a.editor.getOrCreateFilename());n.style.width="180px";l=document.createElement("td");l.appendChild(n);b.appendChild(l);m.appendChild(b); +b=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("format")+":");b.appendChild(l);var p=document.createElement("select");p.style.width="180px";l=document.createElement("option");l.setAttribute("value","png");mxUtils.write(l,mxResources.get("formatPng"));p.appendChild(l);l=document.createElement("option");ExportDialog.showGifOption&&(l.setAttribute("value","gif"),mxUtils.write(l,mxResources.get("formatGif")),p.appendChild(l));l=document.createElement("option"); l.setAttribute("value","jpg");mxUtils.write(l,mxResources.get("formatJpg"));p.appendChild(l);l=document.createElement("option");l.setAttribute("value","pdf");mxUtils.write(l,mxResources.get("formatPdf"));p.appendChild(l);l=document.createElement("option");l.setAttribute("value","svg");mxUtils.write(l,mxResources.get("formatSvg"));p.appendChild(l);ExportDialog.showXmlOption&&(l=document.createElement("option"),l.setAttribute("value","xml"),mxUtils.write(l,mxResources.get("formatXml")),p.appendChild(l)); l=document.createElement("td");l.appendChild(p);b.appendChild(l);m.appendChild(b);b=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("zoom")+" (%):");b.appendChild(l);var s=document.createElement("input");s.setAttribute("type","number");s.setAttribute("value","100");s.style.width="180px";l=document.createElement("td");l.appendChild(s);b.appendChild(l);m.appendChild(b);b=document.createElement("tr");l=document.createElement("td");l.style.fontSize= "10pt";mxUtils.write(l,mxResources.get("width")+":");b.appendChild(l);var t=document.createElement("input");t.setAttribute("value",g);t.style.width="180px";l=document.createElement("td");l.appendChild(t);b.appendChild(l);m.appendChild(b);b=document.createElement("tr");l=document.createElement("td");l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("height")+":");b.appendChild(l);var q=document.createElement("input");q.setAttribute("value",k);q.style.width="180px";l=document.createElement("td"); @@ -7570,7 +7572,7 @@ c);while(c++<a&&"1"==mxUtils.getValue(this.getCellStyle(b),"locked","0"));null!= [SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml= [SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves= [SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var t=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,e,f,k,g,l,m){if(null!=c&&null==mxMarker.markers[c]){var n=this.getPackageForType(c);null!=n&&mxStencilRegistry.getStencil(n)}return t.apply(this,arguments)}})(); -(function(){EditorUi.VERSION="6.0.2.12";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=window&&window.process&&window.process.type;EditorUi.plusImage=!mxClient.IS_SVG?IMAGE_PATH+"/plus.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII\x3d"; +(function(){EditorUi.VERSION="6.0.2.13";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=window&&window.process&&window.process.type;EditorUi.plusImage=!mxClient.IS_SVG?IMAGE_PATH+"/plus.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII\x3d"; EditorUi.spinImage=!mxClient.IS_SVG?IMAGE_PATH+"/spin.gif":"data:image/gif;base64,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw\x3d\x3d"; EditorUi.prototype.emptyDiagramXml='\x3cmxGraphModel\x3e\x3croot\x3e\x3cmxCell id\x3d"0"/\x3e\x3cmxCell id\x3d"1" parent\x3d"0"/\x3e\x3c/root\x3e\x3c/mxGraphModel\x3e';EditorUi.prototype.emptyLibraryXml="\x3cmxlibrary\x3e[]\x3c/mxlibrary\x3e";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape\x3dstencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE\x3d);whiteSpace\x3dwrap;html\x3d1;"; EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;(function(){EditorUi.prototype.useCanvasForExport=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=c&&6<c.length}catch(d){}}; @@ -7637,126 +7639,127 @@ q.substring(0,2)&&(q=q.substring(2),a+=' \x3ca href\x3d"https://drive.google.com function(a,b,c,d,e,f,g){a=new ErrorDialog(this,a,b,c,d,e,f,g);this.showDialog(a.container,340,150,!0,!1);a.init()};EditorUi.prototype.alert=function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,c,d,e){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){f();null!=b&&b()},function(){f();null!=c&&c()},d,e)).container, 340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+ btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createPngDataUri=function(a,b){var c=a.toDataURL("image/png");if(6>=c.length||c==a.cloneNode(!1).toDataURL("image/png"))throw{message:"Invalid image"};null!=b&&(c=this.writeGraphModelToPng(c,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return c};EditorUi.prototype.saveCanvas=function(a,b){var c=this.getCurrentFile(),c=null!=c&&null!=c.getTitle()?c.getTitle():this.defaultFilename,d=c.lastIndexOf(".");0<d&&(c=c.substring(0,d)); -c+=".png";d=this.createPngDataUri(a,b);this.saveData(c,"png",d.substring(d.lastIndexOf(",")+1),"image/png",!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d){if(window.MSBlobBuilder&&navigator.msSaveOrOpenBlob)d= +c+=".png";d=this.createPngDataUri(a,b);this.saveData(c,"png",d.substring(d.lastIndexOf(",")+1),"image/png",!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d,e){if(window.MSBlobBuilder&&navigator.msSaveOrOpenBlob)d= new MSBlobBuilder,d.append(a),a=d.getBlob(c),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height="380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null); -else if(!this.isOffline()&&mxClient.IS_SF)this.createEchoRequest(a,b,c,d).simulate(document,"_blank");else{var e=document.createElement("a");e.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));e.download=b;document.body.appendChild(e);mxClient.IS_SF&&e.setAttribute("target","_blank");try{e.click(),window.setTimeout(function(){URL.revokeObjectURL(e.href)},0),e.parentNode.removeChild(e)}catch(f){}}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,f){a="xml\x3d"+encodeURIComponent(a); -return new mxXmlRequest(SAVE_URL,a+(null!=c?"\x26mime\x3d"+c:"")+(null!=e?"\x26format\x3d"+e:"")+(null!=f?"\x26base64\x3d"+f:"")+(null!=b?"\x26filename\x3d"+encodeURIComponent(b):"")+(d?"\x26binary\x3d1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),f=Array(e),g=0;g<e;++g){for(var q=1024*g,u=Math.min(q+1024,d),v=Array(u-q),x=0;q<u;++x,++q)v[x]=c[q].charCodeAt(0);f[g]=new Uint8Array(v)}return new Blob(f,{type:b})};EditorUi.prototype.saveLocalFile= -function(a,b,c,d){var e=!mxClient.IS_IOS||!navigator.standalone,f=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):null!=c&&"image/"==c.substring(0,6)&&("image/svg"!=c.substring(0,9)||mxClient.IS_SVG)?!d||mxClient.IS_EDGE||11==document.documentMode|| -10==document.documentMode?(f.document.write('\x3chtml\x3e\x3cimg src\x3d"data:'+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))+'"/\x3e\x3c/html\x3e'),f.document.close()):f.location.replace("data:"+c+";base64,"+a):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else e==App.MODE_DEVICE?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(f){this.exportFile(a,b,c,d,e,f)}))}catch(g){this.handleError(g)}}),mxUtils.bind(this,function(){this.hideDialog()}), -mxResources.get("saveAs"),mxResources.get("download"),!1,!1,e);this.showDialog(b.container,380,f?280:160,!0,!0);b.init()};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}))};EditorUi.prototype.saveRequest=function(a,b,c){var d=!mxClient.IS_IOS||!navigator.standalone,e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"=== -typeof window.DropboxClient||"function"===typeof window.OneDriveClient);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var e=c("_blank"==d?null:a,d==App.MODE_DEVICE||null==d||"_blank"==d?"0":"1");null!=e&&(d==App.MODE_DEVICE||"_blank"==d?e.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){this.spinner.spin(document.body,mxResources.get("saving"))&&e.send(mxUtils.bind(this,function(){this.spinner.stop();if(200>e.getStatus()|| -299<e.getStatus())this.handleError({message:mxResources.get("errorSavingFile")});else try{var f="pdf"==b?"application/pdf":"image/"+b;this.exportFile(e.getText(),a,f,!0,d,c)}catch(g){this.handleError(g)}}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,d);this.showDialog(a.container,380,e?280:160,!0,!0);a.init()};EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder= -function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,g){if(this.spinner.spin(document.body,mxResources.get("export"))){var q=this.editor.graph.isSelectionEmpty();c=null!=c?c:q;q=b?null:this.editor.graph.background;q==mxConstants.NONE&&(q=null);null==q&&!1==b&&(q="#ffffff");var u=this.editor.graph.getSvg(q,a,null,g,null,c);d&&this.editor.addSvgShadow(u);a=this.getCurrentFile();var v=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;a=v.lastIndexOf(".");0<a&&(v=v.substring(0, -a));var v=v+".svg",x=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c));var b='\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(v,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))}); -this.convertMath(this.editor.graph,u,!1,mxUtils.bind(this,function(){f?this.convertImages(u,x):x(u)}))}};EditorUi.prototype.showRemoteExportDialog=function(a,b,c){var d=this.editor.graph,e=document.createElement("div");e.style.padding="6px";var f=document.createElement("input");f.style.marginRight="8px";f.setAttribute("type","checkbox");d.isSelectionEmpty()&&f.setAttribute("disabled","disabled");e.appendChild(f);mxUtils.write(e,mxResources.get("selectionOnly"));mxUtils.br(e);var g=document.createElement("input"); -g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";e.appendChild(g);mxUtils.write(e,mxResources.get("includeCopyOfMyDiagram"));a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!f.checked,g.checked)}),null,a,b);this.showDialog(a.container,300,120,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e){var f=this.editor.graph,g=document.createElement("div");g.style.paddingTop="20px";g.style.paddingRight= -"8px";var q=240,u=document.createElement("input");u.style.marginRight="8px";u.setAttribute("type","checkbox");if(f.background==mxConstants.NONE||null==f.background)u.setAttribute("checked","checked"),u.defaultChecked=!0;g.appendChild(u);mxUtils.write(g,mxResources.get("transparentBackground"));mxUtils.br(g);var v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight="8px";v.setAttribute("type","checkbox");g.appendChild(v);mxUtils.write(g,mxResources.get("selectionOnly"));mxUtils.br(g); -var x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.setAttribute("type","checkbox");e&&(g.appendChild(x),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),q+=26);f.isSelectionEmpty()&&(v.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"));var z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");g.appendChild(z);mxUtils.write(g,mxResources.get("shadow"));mxUtils.br(g); -f.shadowVisible&&(z.setAttribute("checked","checked"),z.defaultChecked=!0);var A=document.createElement("input");A.style.marginTop="16px";A.style.marginRight="8px";A.setAttribute("type","checkbox");(this.isOffline()||!this.canvasSupported)&&A.setAttribute("disabled","disabled");a&&(g.appendChild(A),mxUtils.write(g,mxResources.get("embedImages")),mxUtils.br(g),q+=26);var y=document.createElement("input");y.style.marginTop="16px";y.style.marginRight="8px";y.setAttribute("type","checkbox");y.style.marginBottom= -"8px";y.setAttribute("checked","checked");y.defaultChecked=!0;g.appendChild(y);mxUtils.write(g,mxResources.get("includeCopyOfMyDiagram"));a=new FilenameDialog(this,100,b,mxUtils.bind(this,function(a){d(a,u.checked,!v.checked,z.checked,y.checked,A.checked,x.checked)}),mxResources.get("zoom")+" (%)",null,g,!this.isOffline()?c:null);this.showDialog(a.container,320,q,!0,!0);a.init()};EditorUi.prototype.uploadToGithub=function(a,b,c){var d=this.spinner.pause();c=document.createElement("div");c.style.paddingTop= -"20px";c.style.paddingRight="8px";var e=document.createElement("table"),f=document.createElement("tbody"),g=document.createElement("tr"),q=document.createElement("td"),u=document.createElement("input");u.setAttribute("type","text");mxUtils.write(q,"Username:");g.appendChild(q);q=q.cloneNode(!1);q.appendChild(u);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),v=document.createElement("input");v.setAttribute("type","password");mxUtils.write(q,"Password:");g=g.cloneNode(!1);g.appendChild(q); -q=q.cloneNode(!1);q.appendChild(v);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),x=document.createElement("input");x.setAttribute("type","text");mxUtils.write(q,"Organisation:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(x);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),z=document.createElement("input");z.setAttribute("type","text");mxUtils.write(q,"Repository:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(z);g.appendChild(q);f.appendChild(g); -var q=q.cloneNode(!1),A=document.createElement("input");A.setAttribute("type","text");mxUtils.write(q,"Path:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(A);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);a=this.getCurrentFile();a=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;var y=a.lastIndexOf(".");0<y&&(a=a.substring(0,y));A.value=a+".png";var D=document.createElement("input");D.setAttribute("type","text");mxUtils.write(q,"Branch/Tag:");D.value="master"; -g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(D);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),B=document.createElement("input");B.setAttribute("type","text");mxUtils.write(q,"Message:");B.value="Updated "+a+".png";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(B);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);e.appendChild(f);c.appendChild(e);c=new FilenameDialog(this,null,mxResources.get("publish"),mxUtils.bind(this,function(){var a="https://api.github.com/repos/"+ -x.value+"/"+z.value+"/contents/"+A.value+"?ref\x3d"+encodeURIComponent(D.value);d();mxUtils.get(a,mxUtils.bind(this,function(c){if(200==c.getStatus()||404==c.getStatus()){c=JSON.parse(c.getText());var e={path:A.value,message:B.value,content:b};null!=c.sha&&(e.sha=c.sha);var f=new XMLHttpRequest;f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&300>f.status){this.spinner.stop();this.hideDialog();a="https://github.com/"+x.value+"/"+z.value+"/blob/"+D.value+"/"+A.value; -var b=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open(a)}),!1);this.showDialog(b.container,340,170,!0,!1);b.init()}else d=this.spinner.pause(),this.handleError(JSON.parse(f.responseText))});f.open("PUT",a,!0);f.setRequestHeader("Authorization","Basic "+ -btoa(u.value+":"+v.value));f.send(JSON.stringify(e))}else this.hideDialog(),this.spinner.stop(),this.handleError(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){this.hideDialog();this.spinner.stop();this.handleError({message:mxResources.get("unknownError")})}))}),null,null,c,null,!1);this.showDialog(c.container,260,260,!0,!1);c.init()};EditorUi.prototype.uploadToImgur=function(a,b,c,d){var e=this.spinner.pause();c=!1;var f=new ErrorDialog(this,mxResources.get("warning"),'\x3cimg style\x3d"max-width:300px;max-height:80px;margin-bottom:20px;padding:6px;border:1px solid gray;" src\x3d"data:image/png;base64,'+ -b+'"/\x3e\x3cbr\x3e'+mxResources.get("publishConfirmation"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("publish"),mxUtils.bind(this,function(){e();var f=null!=a.getTitle()?a.getTitle():this.defaultFilename,g=f.lastIndexOf("."),s=f;0<g&&(s=f=s.substring(0,g));var g=new mxXmlRequest("/imgur",JSON.stringify({type:"base64",image:b,name:s+".png",title:f,description:"Made with https://www.draw.io"}),"POST"),v=mxUtils.bind(this,function(a){var b={message:mxResources.get("unknownError")}; -try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});g.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText()),e="https://www.draw.io/i/"+b.data.id;try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity\x3dCONFIG\x26msg\x3dimgur-published:"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(g){}var k=mxUtils.bind(this,function(){this.spinner.stop(); -var a="https://imgur.com/"+b.data.id,f="https://www.draw.io/imgur?delete\x3d"+b.data.deletehash,a=new ErrorDialog(this,mxResources.get("published"),(c?mxResources.get("viewUrl",['\x3ca href\x3d"'+e+'" target\x3d"_blank"\x3e'+e+"\x3c/a\x3e"])+"\x3cbr\x3e":"")+mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"])+"\x3cbr\x3e"+mxResources.get("deleteUrl",[f]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("share"), -function(){d(b.data.id,c)},!1);this.showDialog(a.container,340,180,!0,!1);a.init()});if(c){var l=new mxXmlRequest("/imgur?"+b.data.deletehash,JSON.stringify({title:f,description:mxResources.get("viewUrl",[e])}),"POST");l.send(mxUtils.bind(this,function(){200==l.getStatus()?k():v(l)}),mxUtils.bind(this,function(){v(l)}))}else k()}catch(p){this.handleError(p)}else v(a)}),mxUtils.bind(this,function(a){v(a)}))}));this.showDialog(f.container,320,250,!0,!1);f.init()};EditorUi.prototype.publishImage=function(a, -b){var c=this.getCurrentFile();null!=c&&(this.isExportToCanvas()?this.showExportDialog(!1,mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e,f,g,q){d=parseInt(d);if(!isNaN(d)&&0<d){d/=100;var u=this.editor.graph.isSelectionEmpty();f=null!=f?f:u;if(this.spinner.spin(document.body,mxResources.get("publishing")))try{this.exportToCanvas(mxUtils.bind(this,function(d){try{var e=q?this.getFileData(!0,null,null,null,f):null,g=this.createPngDataUri(d, -e);a(c,g.substring(g.lastIndexOf(",")+1),q,b)}catch(n){this.handleError(n)}}),null,null,null,mxUtils.bind(this,function(a){this.handleError(a)}),null,f,d||1,e,g)}catch(v){this.handleError(v)}}})):this.showRemoteExportDialog(mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e){if(this.spinner.spin(document.body,mxResources.get("publishing"))){var f=this.editor.graph.getGraphBounds(),g=this.getFileData(!0,null,null,null,d);if(f.width* -f.height<=MAX_AREA&&g.length<=MAX_REQUEST_SIZE)try{var q=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+(e?"1":"0")+"\x26xml\x3d"+encodeURIComponent(g));q.send(mxUtils.bind(this,function(){200==q.getStatus()?a(c,q.getText(),e,b):this.handleError(q)}))}catch(u){this.handleError(u)}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}})))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3); -if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&& -(g=null));b=b.getSvg(g,null,null,null,null,f);null!=a&&b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n': -"")+mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,f){if(this.spinner.spin(document.body,mxResources.get("exporting"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c):null)}catch(b){"Invalid image"==b.message?this.downloadFile("png"):this.handleError(b)}}),null,null,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}), -null,c,a||1,b,d,null,null,null,f)}catch(q){this.spinner.stop(),this.handleError(q)}}};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,q,u,v,x,z,A,y){f=null!=f?f:!0;z=null!=z?z:this.editor.graph;A=null!=A?A:0;var D=u?null:z.background;D==mxConstants.NONE&&(D=null);null==D&&(D=d);null==D&&!1==u&&(D="#ffffff");this.convertImages(z.getSvg(D,null,null,y,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"), -g=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));q=null!=q?q:1;null!=b&&(q=!f?b/g:Math.min(1,Math.min(3*b/(4*m),b/g)));g=Math.ceil(q*g)+2*A;m=Math.ceil(q*m)+2*A;e.setAttribute("width",g);e.setAttribute("height",m);var n=e.getContext("2d");null!=D&&(n.beginPath(),n.rect(0,0,g,m),n.fillStyle=D,n.fill());n.scale(q,q);n.drawImage(d,A/q,A/q);a(e)});d.onerror=function(a){null!=e&&e(a)};try{v&&this.editor.addSvgShadow(c),this.convertMath(z,c,!0,mxUtils.bind(this,function(){d.src= -this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,x)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"==c.substring(0,8))&&c.substring(0,a.baseUrl.length)!=a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a, -b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var m=a.getElementsByTagName(c),v=0;v<m.length;v++)mxUtils.bind(this,function(c){var m=d.convert(c.getAttribute(g));if(null!=m&&"data:"!=m.substring(0,5)){var t=f[m];null==t?(e++,this.convertImageToDataUri(m,function(d){null!=d&&(f[m]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,t)}})(m[v])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.convertImageToDataUri= -function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b()});else{var c=new Image;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width=c.width;d.drawImage(c,0,0);b(a.toDataURL())};c.onerror=function(){b()};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){var q=mxUtils.parseXml(a), -u=this.editor.extractGraphModel(q.documentElement,null!=this.pages);if(null!=u&&"mxfile"==u.nodeName&&null!=this.pages){var v=u.getElementsByTagName("diagram");if(1==v.length)u=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(v[0]))).documentElement;else if(1<v.length){g.model.beginUpdate();try{for(var x=0;x<v.length;x++){var z=this.updatePageRoot(new DiagramPage(v[x])),A=this.pages.length;null==z.getName()&&z.setName(mxResources.get("pageWithNumber",[A+1]));g.model.execute(new ChangePage(this, -z,z,A))}}finally{g.model.endUpdate()}}}if(null!=u&&"mxGraphModel"===u.nodeName){var y=new mxGraphModel;(new mxCodec(u.ownerDocument)).decode(u,y);var D=y.getChildCount(y.getRoot());g.model.getChildCount(g.model.getRoot());g.model.beginUpdate();try{a={};for(x=0;x<D;x++){var B=y.getChildAt(y.getRoot(),x);if(1==D&&!g.isCellLocked(g.getDefaultParent()))var C=y.getChildren(B),f=f.concat(g.importCells(C,b,c,g.getDefaultParent(),null,a));else B=g.importCells([B],0,0,g.model.getRoot(),null,a)[0],C=g.model.getChildren(B), -g.moveCells(C,b,c),f=f.concat(C)}if(d){g.isGridEnabled()&&(b=g.snap(b),c=g.snap(c));var E=g.getBoundingBoxFromGeometry(f,!0);null!=E&&g.moveCells(f,b-E.x,c-E.y)}}finally{g.model.endUpdate()}}}}catch(G){throw e||this.handleError(G,mxResources.get("invalidOrMissingFile")),G;}return f};EditorUi.prototype.insertLucidChart=function(a,b,c,d){var e=mxUtils.bind(this,function(){if(this.pasteLucidChart)try{this.pasteLucidChart(a,b,c,d)}catch(e){}});!this.pasteLucidChart&&!this.loadingExtensions&&!this.isOffline()? -(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("/js/diagramly/Extensions.js",e):mxscript("/js/extensions.min.js",e)):window.setTimeout(e,0)};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f){f=null!=f?f:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200==a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText, -b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var g=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var q=this.extractGraphModelFromPng(a),u=this.importXml(q,b,c,f,!0);if(0<u.length)return u}if("data:image/svg+xml;"==a.substring(0,19))try{if(q=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(q=a.substring(a.indexOf(",")+1),q=window.atob&&!mxClient.IS_SF?atob(q):Base64.decode(q,!0)):q=decodeURIComponent(a.substring(a.indexOf(",")+ -1)),u=this.importXml(q,b,c,f,!0),0<u.length)return u}catch(v){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),d,e,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+this.convertDataUri(a)+";"))}),!0,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/ -d.width,this.maxImageSize/d.height)),f=Math.round(d.width*e);d=Math.round(d.height*e);g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),f,d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+a+";"))}}),mxUtils.bind(this,function(){var e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,a,g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.updateCellSize(e), -g.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{g.getModel().endUpdate()}g.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,f);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26)){e=JSON.parse(JSON.parse(a).state);var q=null,x;for(x in e.Pages)if(u=e.Pages[x],null!=u&&"0"==u.Properties.Order){q=u;break}null!=q&&this.insertLucidChart(q,b,c,f)}else{g=this.editor.graph;f=null;g.getModel().beginUpdate(); -try{f=g.insertVertex(g.getDefaultParent(),null,"",g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.fireEvent(new mxEventObject("textInserted","cells",[f])),f.value=a,g.updateCellSize(f),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i.test(f.value)&&g.setLinkForCell(f,f.value),f.geometry.width+=g.gridSize,f.geometry.height+= -g.gridSize}finally{g.getModel().endUpdate()}return[f]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\.*<graphml xmlns=\".*)/.test(a)||/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)|| -null!=b&&/(\.vsdx)($|\?)/i.test(b)};EditorUi.prototype.importFile=function(a,b,c,d,e,f,g,q,u,v,x){v=null!=v?v:!0;var z=!1,A=null;"image"==b.substring(0,5)?(g=!1,"image/png"==b.substring(0,9)&&(b=x?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(A=this.importXml(b,c,d,v),g=!0)),g||(A=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),v&&A.isGridEnabled()&&(c=A.snap(c),d=A.snap(d)),A=[A.insertVertex(null,null,"",c,d,e,f,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ -a+";")])):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,g)?(z=!0,this.parseFile(null!=u?u:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){if(4==a.readyState){var b=null;200==a.status&&(b=this.importXml(a.responseText,c,d,v));null!=q&&q(b)}}),g)):/(\.vsd)($|\?)/i.test(g)||(A=this.insertTextAt(this.validateFileData(a),c,d,!0,null,v));!z&&null!=q&&q(A);return A};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e= -a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="\x3d\x3d";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f& -15)<<2);b+="\x3d";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,g,q,u,v,x,z){var A=null!=b&&null!= -c;b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;v=null!=v?v:this.maxImageBytes;u=null!=u?u:!0;var y=this.editor.graph,D=y.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){return null!=a&&"\x3cmxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null):this.importFile(a,b,c,d,e,f,g,k,l,A,z)});f=null!=f?f:mxUtils.bind(this,function(a){y.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var B= -a.length,C=B,E=[],G=mxUtils.bind(this,function(a,b){E[a]=b;if(0==--C){this.spinner.stop();if(null!=q)q(E);else{var c=[];y.getModel().beginUpdate();try{for(var d=0;d<E.length;d++){var e=E[d]();null!=e&&(c=c.concat(e))}}finally{y.getModel().endUpdate()}}f(c)}}),H=0;H<B;H++)mxUtils.bind(this,function(f){var q=a[f],s=new FileReader;s.onload=mxUtils.bind(this,function(a){if(null==g||g(q))if("image/"==q.type.substring(0,6))if("image/svg"==q.type.substring(0,9)){var k=a.target.result,s=k.indexOf(","),y= -atob(k.substring(s+1)),A=mxUtils.parseXml(y),y=A.getElementsByTagName("svg");if(0<y.length){var y=y[0],B=z?null:y.getAttribute("content");null!=B&&"\x3c"!=B.charAt(0)&&"%"!=B.charAt(0)&&(B=unescape(window.atob?atob(B):Base64.decode(B,!0)));null!=B&&"%"==B.charAt(0)&&(B=decodeURIComponent(B));null!=B&&("\x3cmxfile "===B.substring(0,8)||"\x3cmxGraphModel "===B.substring(0,14))?G(f,mxUtils.bind(this,function(){return e(B,"text/xml",b+f*D,c+f*D,0,0,q.name)})):G(f,mxUtils.bind(this,function(){try{if(k.substring(0, -s+1),null!=A){var a=A.getElementsByTagName("svg");if(0<a.length){var g=a[0],t=parseFloat(g.getAttribute("width")),u=parseFloat(g.getAttribute("height")),v=g.getAttribute("viewBox");if(null==v||0==v.length)g.setAttribute("viewBox","0 0 "+t+" "+u);else if(isNaN(t)||isNaN(u)){var x=v.split(" ");3<x.length&&(t=parseFloat(x[2]),u=parseFloat(x[3]))}k=this.createSvgDataUri(mxUtils.getXml(a[0]));var z=Math.min(1,Math.min(d/Math.max(1,t)),d/Math.max(1,u));return e(k,q.type,b+f*D,c+f*D,Math.max(1,Math.round(t* -z)),Math.max(1,Math.round(u*z)),q.name)}}}catch(y){}return null}))}}else{y=!1;if("image/png"==q.type){var C=z?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var E=new Image;E.src=a.target.result;G(f,mxUtils.bind(this,function(){return e(C,"text/xml",b+f*D,c+f*D,E.width,E.height,q.name)}));y=!0}}y||(null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"), -mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,k,s){G(f,mxUtils.bind(this,function(){if(null!=g&&g.length<v){var t=!u||!this.isResampleImage(a.target.result)?1:Math.min(1,Math.min(d/k,d/s));return e(g,q.type,b+f*D,c+f*D,Math.round(k*t),Math.round(s*t),q.name)}this.handleError({message:mxResources.get("imageTooBig")}); -return null}))}),u,d,x)})))}else e(a.target.result,q.type,b+f*D,c+f*D,240,160,q.name,function(a){G(f,function(){return a})})});/(\.vsdx)($|\?)/i.test(q.name)?e(null,q.type,b+f*D,c+f*D,240,160,q.name,function(a){G(f,function(){return a})},q):"image"==q.type.substring(0,5)?s.readAsDataURL(q):s.readAsText(q)})(H)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange= -function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),q=Math.max(1,a.height);if(d&&this.isResampleImage(b,f))try{var u=Math.max(g/e,q/e);if(1<u){var v=Math.round(g/u),x=Math.round(q/u),z=document.createElement("canvas");z.width=v;z.height=x;z.getContext("2d").drawImage(a,0,0,v,x);var A=z.toDataURL();if(A.length<b.length){var y= -document.createElement("canvas");y.width=v;y.height=x;var D=y.toDataURL();A!==D&&(b=A,g=v,q=x)}}}catch(B){}c(b,g,q)};EditorUi.prototype.crcTable=[];for(var c=0;256>c;c++)for(var f=c,d=0;8>d;d++)f=1==(f&1)?3988292384^f>>>1:f>>>1,EditorUi.prototype.crcTable[c]=f;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=q;q+=b;return a.substring(c,q)} -function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var q=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,q);do{var u=g(a);if("IDAT"==f(a,4)){e=a.substring(0,q-8);u=4294967295;u=this.updateCRC(u,b,0,4);u=this.updateCRC(u,d,0,d.length);e+=String.fromCharCode(c.length+ -d.length+1+("zTXt"==b?1:0)>>24&255,c.length+d.length+1+("zTXt"==b?1:0)>>16&255,c.length+d.length+1+("zTXt"==b?1:0)>>8&255,c.length+d.length+1+("zTXt"==b?1:0)&255)+b+c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d+String.fromCharCode((u^4294967295)>>24&255,(u^4294967295)>>16&255,(u^4294967295)>>8&255,(u^4294967295)&255);e+=a.substring(q-8,a.length);break}e+=a.substring(q-8,q-4+u);d=f(a,u);f(a,4)}while(u);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng= -function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b|| -"IDAT"==c)return!0}))}catch(e){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var b=EditorUi.prototype.init;EditorUi.prototype.init=function(){b.apply(this,arguments);var a=this.editor.graph,c=this;mxClient.IS_SVG&&this.editor.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);this.defaultFilename=mxResources.get("untitledDiagram"); -var d=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=c.currentPage?c.currentPage.getName():"pagenumber"==a?null!=c.currentPage&&null!=c.pages?mxUtils.indexOf(c.pages,c.currentPage)+1:1:d.apply(this,arguments)};this.editor.getOrCreateFilename=function(){var a=c.defaultFilename,b=c.getCurrentFile();null!=b&&(a=null!=b.getTitle()?b.getTitle():a);return a};var e=this.actions.get("print");e.setEnabled(!mxClient.IS_IOS||!navigator.standalone);e.visible=e.isEnabled();if(!this.editor.chromeless){this.keyHandler.bindAction(70, -!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData, -d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(l){}}), -!1);var f=document.createElement("div");f.style.position="absolute";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.display="block";f.contentEditable=!0;mxUtils.setOpacity(f,0);f.style.width="1px";f.style.height="1px";f.innerHTML="\x26nbsp;";var g=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);if(null!=a.container&& -a.isEnabled()&&!a.isMouseDown&&!a.isEditing()&&null==this.dialog&&"INPUT"!=c.nodeName&&"TEXTAREA"!=c.nodeName&&(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)&&!g)f.style.left=a.container.scrollLeft+10+"px",f.style.top=a.container.scrollTop+10+"px",a.container.appendChild(f),g=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){f.focus();document.execCommand("selectAll",!1,null)},0):(f.focus(),document.execCommand("selectAll",!1,null))}));var t=function(){window.setTimeout(function(){f.innerHTML= -"\x26nbsp;";f.focus();document.execCommand("selectAll",!1,null)},0)};mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this,function(){if(g&&(224==c||17==c||91==c))g=!1,!a.isEditing()&&null==this.dialog&&null!=a.container&&a.container.focus(),f.parentNode.removeChild(f)}),0)}));mxEvent.addListener(f,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(f),t())}));mxEvent.addListener(f,"cut",mxUtils.bind(this, -function(b){a.isEnabled()&&(this.copyCells(f,!0),t())}));mxEvent.addListener(f,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(f.innerHTML="\x26nbsp;",f.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,f);f.innerHTML="\x26nbsp;"}),0))}),!0);var q=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==f?!0:q.apply(this,arguments)}}e=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight|| -0)/2;this.spinner=this.createSpinner(document.body.clientWidth/2-2,e,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=this.highlightElement(c); -a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list"); -/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types, -"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.test){e=document.getElementById("geFooter");null!=e&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity= -"0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),e.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility= -"hidden"})));var u=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:u.apply(this,arguments)}}e=document.getElementById("geInfo");null!=e&&e.parentNode.removeChild(e);if(Graph.fileSupport){var v=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=v&&(v.parentNode.removeChild(v),v=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){if(null==v&& -(!mxClient.IS_IE||10<document.documentMode))v=this.highlightElement(a.container);null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container,"drop",mxUtils.bind(this,function(b){null!=v&&(v.parentNode.removeChild(v),v=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),d=a.view.translate,e=a.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(b)&&(g=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files, -f,g,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var l=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")?b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b);if(null!=c)a.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")){c=b.dataTransfer.getData("text/html");e=document.createElement("div");e.innerHTML=c;var d=null,m=e.getElementsByTagName("img");null!= -m&&1==m.length?(c=m[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)||(d=!0)):(e=e.getElementsByTagName("a"),null!=e&&1==e.length&&(c=e[0].getAttribute("href")));a.setSelectionCells(this.insertTextAt(c,f,g,!0,d))}else null!=l&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)?this.loadImage(decodeURIComponent(l),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,b));a.setSelectionCell(a.insertVertex(null, -null,"",f,g,c*d,b*d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+l+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(l,f,g,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&a.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),f,g,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode()}; -EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span"); -if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&&(this.insertLucidChart(JSON.parse(d)),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var g=e.lastIndexOf("%3E");0<=g&&g<e.length-3&&(e=e.substring(0,g+3))}catch(q){}try{var c=b.getElementsByTagName("span"),u=null!=c&&0<c.length? -mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(u)&&(f=!0,e=u)}catch(v){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml=e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell()); -null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(x){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){if(null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode))b= -this.highlightElement();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer: -a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c=null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"== -c.substring(0,22)&&(d=this.extractGraphModelFromPng(c),null!=d&&0<d.length&&this.openLocalFile(d)),!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format\x3dxml\x26data\x3d"+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200==a.getStatus()&&this.openLocalFile(a.getText())})):/^https?:\/\//.test(c)&&(c=this.getUrl(window.location.pathname+"?url\x3d"+encodeURIComponent(c)),null==this.getCurrentFile()?window.location.href=c:window.openWindow(c))))}else this.openLocalFile(c)}a.stopPropagation(); -a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d=0,e=0;if(null==a)var e=document.body,f=document.documentElement,d=(e.clientWidth||f.clientWidth)-3,e=Math.max(e.clientHeight||0,f.clientHeight)-3;else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left= -c+"px";f.style.width=Math.max(0,d-3)+"px";f.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b, -c))}return a};EditorUi.prototype.openFiles=function(a){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var c=b.target.result,d=a.name;if(null!=d&&0<d.length)if(/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml"),Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,d))d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+ -".xml":d+".xml",this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200==a.status?this.openLocalFile(a.responseText,d):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if("\x3cmxlibrary"==b.target.result.substring(0,10)){this.spinner.stop();try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}}else"image/png"== -a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,d)});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=function(a,b){var c=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a); -null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename))});null!=a&&0<a.length&&(null!=this.getCurrentFile()&&!this.isDiagramEmpty()?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,c)):c())};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]), -this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])), -c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.initializeEmbedMode=function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";this.editor.graph.setEnabled(!1);if((window.opener||window.parent)!=window)("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this, -function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.diagramContainer.style.visibility="";this.formatContainer.style.visibility="";this.editor.graph.setEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.showLayersDialog()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))}; -EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler= -function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a,b){!this.editor.modified||"0"==urlParams.modified?this.editor.setStatus(""):null!=urlParams.modified&&this.editor.setStatus(mxResources.get(urlParams.modified))});this.editor.graph.model.addListener(mxEvent.CHANGE,f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function u(a){if(null!=a&&"function"===typeof a.charAt&&"\x3c"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)): -"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"\x3c"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(b){}return a}var s=f.data;if("json"==urlParams.proto){try{s=JSON.parse(s)}catch(x){s=null}if(null==s)return;if("dialog"==s.action){this.showError(null!=s.titleKey?mxResources.get(s.titleKey):s.title,null!=s.messageKey?mxResources.get(s.messageKey):s.message,null!=s.buttonKey?mxResources.get(s.buttonKey):s.button);null!= -s.modified&&(this.editor.modified=s.modified);return}if("prompt"==s.action){var z=new FilenameDialog(this,s.defaultValue||"",null!=s.okKey?mxResources.get(s.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:s}),"*")},null!=s.titleKey?mxResources.get(s.titleKey):s.title);this.showDialog(z.container,300,80,!0,!1);z.init();return}if("draft"==s.action){z=null;z="data:image/png;base64,"==s.xml.substring(0,22)?this.extractGraphModelFromPng(s.xml):u(s.xml);z=new DraftDialog(this, -mxResources.get("draftFound",[s.name||this.defaultFilename]),z,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:s}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:s}),"*")}),s.editKey?mxResources.get(s.editKey):null,s.discardKey?mxResources.get(s.discardKey):null);this.showDialog(z.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()})); -try{z.init()}catch(A){g.postMessage(JSON.stringify({event:"draft",error:A.toString(),message:s}),"*")}return}if("template"==s.action){z=new NewDialog(this,!1,null!=s.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=s.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}));this.showDialog(z.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&& -this.actions.get("exit").funct()}));z.init();return}if("status"==s.action){null!=s.messageKey?this.editor.setStatus(mxResources.get(s.messageKey)):null!=s.message&&this.editor.setStatus(s.message);null!=s.modified&&(this.editor.modified=s.modified);return}if("spinner"==s.action){var y=null!=s.messageKey?mxResources.get(s.messageKey):s.message;null!=s.show&&!s.show?this.spinner.stop():this.spinner.spin(document.body,y);return}if("export"==s.action){if("png"==s.format||"xmlpng"==s.format){if(null== -s.spin&&null==s.spinKey||this.spinner.spin(document.body,null!=s.spinKey?mxResources.get(s.spinKey):s.spin)){var D=null!=s.xml?s.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var B=mxUtils.bind(this,function(a){var b=this.createLoadMessage("export");b.format=s.format;b.xml=encodeURIComponent(D);b.data="data:image/png;base64,"+a;g.postMessage(JSON.stringify(b),"*");this.editor.graph.setEnabled(!0)});if(this.isExportToCanvas()){var C=this.editor.graph;if(null!=this.pages&&this.currentPage!= -this.pages[0]){var C=this.createTemporaryGraph(C.getStylesheet()),E=C.getGlobalVariable,G=this.pages[0];C.getGlobalVariable=function(a){return"page"==a?G.getName():"pagenumber"==a?1:E.apply(this,arguments)};document.body.appendChild(C.container);C.model.setRoot(G.root)}this.exportToCanvas(mxUtils.bind(this,function(a){a=a.toDataURL("image/png");"xmlpng"==s.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(D))));C!=this.editor.graph&&C.container.parentNode.removeChild(C.container); -B(a.substring(a.lastIndexOf(",")+1))}),null,null,null,null,null,null,null,null,null,null,C)}else(new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26embedXml\x3d"+("xmlpng"==s.format?"1":"0")+"\x26base64\x3d1\x26xml\x3d"+encodeURIComponent(encodeURIComponent(D)))).send(mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();200==a.getStatus()&&B(a.getText())}),mxUtils.bind(this,function(){this.spinner.stop()}))}}else{null!=s.xml&&0<s.xml.length&&this.setFileData(s.xml);y=this.createLoadMessage("export"); -if("html2"==s.format||"html"==s.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))z=this.getXmlFileData(),y.xml=mxUtils.getXml(z),y.data=this.getFileData(null,null,!0,null,null,null,z),y.format=s.format;else if("html"==s.format)D=this.editor.getGraphXml(),y.data=this.getHtml(D,this.editor.graph),y.xml=mxUtils.getXml(D),y.format=s.format;else{mxSvgCanvas2D.prototype.foAltText=null;z=this.editor.graph.background;z==mxConstants.NONE&&(z=null);y.xml=this.getFileData(!0);y.format="svg"; -if(s.embedImages||null==s.embedImages){if(null==s.spin&&null==s.spinKey||this.spinner.spin(document.body,null!=s.spinKey?mxResources.get(s.spinKey):s.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==s.format?this.getEmbeddedSvg(y.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(y),"*")})):this.convertImages(this.editor.graph.getSvg(z),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0); -this.spinner.stop();y.data=this.createSvgDataUri(mxUtils.getXml(a));g.postMessage(JSON.stringify(y),"*")}));return}z="xmlsvg"==s.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(z));y.data=this.createSvgDataUri(z)}g.postMessage(JSON.stringify(y),"*")}return}if("load"==s.action)d=1==s.autosave,this.hideDialog(),null!=s.modified&&null==urlParams.modified&&(urlParams.modified=s.modified),null!=s.saveAndExit&&null==urlParams.saveAndExit&& -(urlParams.saveAndExit=s.saveAndExit),null!=s.title&&null!=this.buttonContainer&&(z=document.createElement("span"),mxUtils.write(z,s.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),this.buttonContainer.appendChild(z)),s=null!=s.xmlpng?this.extractGraphModelFromPng(s.xmlpng):null!=s.xml&&"data:image/png;base64,"==s.xml.substring(0,22)?this.extractGraphModelFromPng(s.xml): -s.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(s)}),"*");return}}s=u(s);c=!0;try{a(s,f)}catch(H){this.handleError(H)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var I=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=I();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=I();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d; -d=JSON.stringify(f);(window.opener||window.parent).postMessage(d,"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged", -b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",b));("1"==urlParams.returnbounds||"json"==urlParams.proto)&&g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(f,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position= -"absolute";a.style.paddingTop="atlas"==uiTheme?"2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" (Ctrl+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&& -(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft= -"6px";b.style.marginRight="20px";b.style.padding="4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px";"atlas"==uiTheme&&(this.statusContainer.style.color="#707070",this.statusContainer.style.paddingLeft="26px",this.toolbar.staticElements.push(this.statusContainer),this.toolbar.container.appendChild(this.statusContainer))}}; -EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"\x3d"+urlParams[d],c="\x26")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle url embed client create title splash".split(" "), +else{var f=document.createElement("a");if("undefined"!==typeof f.download||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));"undefined"!==typeof f.download?f.download=b:f.setAttribute("target","_blank");document.body.appendChild(f);try{f.click(),window.setTimeout(function(){URL.revokeObjectURL(f.href)},0),f.parentNode.removeChild(f)}catch(g){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a, +b,c,d,e,f){a="xml\x3d"+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"\x26mime\x3d"+c:"")+(null!=e?"\x26format\x3d"+e:"")+(null!=f?"\x26base64\x3d"+f:"")+(null!=b?"\x26filename\x3d"+encodeURIComponent(b):"")+(d?"\x26binary\x3d1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),f=Array(e),g=0;g<e;++g){for(var q=1024*g,u=Math.min(q+1024,d),v=Array(u-q),x=0;q<u;++x,++q)v[x]=c[q].charCodeAt(0);f[g]=new Uint8Array(v)}return new Blob(f, +{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e){var f=!mxClient.IS_IOS||!navigator.standalone;e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):null!=c&&"image/"==c.substring(0,6)&&("image/svg"!=c.substring(0,9)||mxClient.IS_SVG)? +mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode?(f.document.write('\x3chtml\x3e\x3cimg src\x3d"data:'+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))+'"/\x3e\x3c/html\x3e'),f.document.close()):f.location.replace("data:"+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else e==App.MODE_DEVICE?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(f){this.exportFile(a, +b,c,d,e,f)}))}catch(g){this.handleError(g)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,f);this.showDialog(b.container,380,e?280:160,!0,!0);b.init()};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}))};EditorUi.prototype.saveRequest=function(a,b,c){var d=!mxClient.IS_IOS||!navigator.standalone, +e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var e=c("_blank"==d?null:a,d==App.MODE_DEVICE||null==d||"_blank"==d?"0":"1");null!=e&&(d==App.MODE_DEVICE||"_blank"==d?e.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){this.spinner.spin(document.body,mxResources.get("saving"))&& +e.send(mxUtils.bind(this,function(){this.spinner.stop();if(200>e.getStatus()||299<e.getStatus())this.handleError({message:mxResources.get("errorSavingFile")});else try{var f="pdf"==b?"application/pdf":"image/"+b;this.exportFile(e.getText(),a,f,!0,d,c)}catch(g){this.handleError(g)}}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,d);this.showDialog(a.container,380,e?280:160,!0, +!0);a.init()};EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,g){if(this.spinner.spin(document.body,mxResources.get("export"))){var q=this.editor.graph.isSelectionEmpty();c=null!=c?c:q;q=b?null:this.editor.graph.background;q==mxConstants.NONE&&(q=null);null==q&&!1==b&&(q="#ffffff");var u=this.editor.graph.getSvg(q,a,null,g,null,c);d&&this.editor.addSvgShadow(u);a=this.getCurrentFile();var v= +null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;a=v.lastIndexOf(".");0<a&&(v=v.substring(0,a));var v=v+".svg",x=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c));var b='\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(v,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")}, +mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,u,!1,mxUtils.bind(this,function(){f?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(u,x,this.thumbImageCache)):x(u)}))}};EditorUi.prototype.showRemoteExportDialog=function(a,b,c){var d=this.editor.graph,e=document.createElement("div");e.style.padding="6px";var f=document.createElement("input");f.style.marginRight="8px";f.setAttribute("type","checkbox");d.isSelectionEmpty()&& +f.setAttribute("disabled","disabled");e.appendChild(f);mxUtils.write(e,mxResources.get("selectionOnly"));mxUtils.br(e);var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";e.appendChild(g);mxUtils.write(e,mxResources.get("includeCopyOfMyDiagram"));a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!f.checked,g.checked)}),null,a,b);this.showDialog(a.container,300,120, +!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e){var f=this.editor.graph,g=document.createElement("div");g.style.paddingTop="20px";g.style.paddingRight="8px";var q=240,u=document.createElement("input");u.style.marginRight="8px";u.setAttribute("type","checkbox");if(f.background==mxConstants.NONE||null==f.background)u.setAttribute("checked","checked"),u.defaultChecked=!0;g.appendChild(u);mxUtils.write(g,mxResources.get("transparentBackground"));mxUtils.br(g);var v=document.createElement("input"); +v.style.marginTop="16px";v.style.marginRight="8px";v.setAttribute("type","checkbox");g.appendChild(v);mxUtils.write(g,mxResources.get("selectionOnly"));mxUtils.br(g);var x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.setAttribute("type","checkbox");e&&(g.appendChild(x),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),q+=26);f.isSelectionEmpty()&&(v.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"));var z=document.createElement("input"); +z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");g.appendChild(z);mxUtils.write(g,mxResources.get("shadow"));mxUtils.br(g);f.shadowVisible&&(z.setAttribute("checked","checked"),z.defaultChecked=!0);var A=document.createElement("input");A.style.marginTop="16px";A.style.marginRight="8px";A.setAttribute("type","checkbox");(this.isOffline()||!this.canvasSupported)&&A.setAttribute("disabled","disabled");a&&(g.appendChild(A),mxUtils.write(g,mxResources.get("embedImages")), +mxUtils.br(g),q+=26);var y=document.createElement("input");y.style.marginTop="16px";y.style.marginRight="8px";y.setAttribute("type","checkbox");y.style.marginBottom="8px";y.setAttribute("checked","checked");y.defaultChecked=!0;g.appendChild(y);mxUtils.write(g,mxResources.get("includeCopyOfMyDiagram"));a=new FilenameDialog(this,100,b,mxUtils.bind(this,function(a){d(a,u.checked,!v.checked,z.checked,y.checked,A.checked,x.checked)}),mxResources.get("zoom")+" (%)",null,g,!this.isOffline()?c:null);this.showDialog(a.container, +320,q,!0,!0);a.init()};EditorUi.prototype.uploadToGithub=function(a,b,c){var d=this.spinner.pause();c=document.createElement("div");c.style.paddingTop="20px";c.style.paddingRight="8px";var e=document.createElement("table"),f=document.createElement("tbody"),g=document.createElement("tr"),q=document.createElement("td"),u=document.createElement("input");u.setAttribute("type","text");mxUtils.write(q,"Username:");g.appendChild(q);q=q.cloneNode(!1);q.appendChild(u);g.appendChild(q);f.appendChild(g);var q= +q.cloneNode(!1),v=document.createElement("input");v.setAttribute("type","password");mxUtils.write(q,"Password:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(v);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),x=document.createElement("input");x.setAttribute("type","text");mxUtils.write(q,"Organisation:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(x);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),z=document.createElement("input");z.setAttribute("type", +"text");mxUtils.write(q,"Repository:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(z);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),A=document.createElement("input");A.setAttribute("type","text");mxUtils.write(q,"Path:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(A);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);a=this.getCurrentFile();a=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;var y=a.lastIndexOf(".");0<y&&(a=a.substring(0, +y));A.value=a+".png";var D=document.createElement("input");D.setAttribute("type","text");mxUtils.write(q,"Branch/Tag:");D.value="master";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(D);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),B=document.createElement("input");B.setAttribute("type","text");mxUtils.write(q,"Message:");B.value="Updated "+a+".png";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(B);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1); +e.appendChild(f);c.appendChild(e);c=new FilenameDialog(this,null,mxResources.get("publish"),mxUtils.bind(this,function(){var a="https://api.github.com/repos/"+x.value+"/"+z.value+"/contents/"+A.value+"?ref\x3d"+encodeURIComponent(D.value);d();mxUtils.get(a,mxUtils.bind(this,function(c){if(200==c.getStatus()||404==c.getStatus()){c=JSON.parse(c.getText());var e={path:A.value,message:B.value,content:b};null!=c.sha&&(e.sha=c.sha);var f=new XMLHttpRequest;f.onreadystatechange=mxUtils.bind(this,function(){if(4== +f.readyState)if(200<=f.status&&300>f.status){this.spinner.stop();this.hideDialog();a="https://github.com/"+x.value+"/"+z.value+"/blob/"+D.value+"/"+A.value;var b=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open(a)}),!1);this.showDialog(b.container,340, +170,!0,!1);b.init()}else d=this.spinner.pause(),this.handleError(JSON.parse(f.responseText))});f.open("PUT",a,!0);f.setRequestHeader("Authorization","Basic "+btoa(u.value+":"+v.value));f.send(JSON.stringify(e))}else this.hideDialog(),this.spinner.stop(),this.handleError(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){this.hideDialog();this.spinner.stop();this.handleError({message:mxResources.get("unknownError")})}))}),null,null,c,null,!1);this.showDialog(c.container,260,260,!0,!1);c.init()}; +EditorUi.prototype.uploadToImgur=function(a,b,c,d){var e=this.spinner.pause();c=!1;var f=new ErrorDialog(this,mxResources.get("warning"),'\x3cimg style\x3d"max-width:300px;max-height:80px;margin-bottom:20px;padding:6px;border:1px solid gray;" src\x3d"data:image/png;base64,'+b+'"/\x3e\x3cbr\x3e'+mxResources.get("publishConfirmation"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("publish"),mxUtils.bind(this,function(){e();var f=null!=a.getTitle()?a.getTitle():this.defaultFilename, +g=f.lastIndexOf("."),s=f;0<g&&(s=f=s.substring(0,g));var g=new mxXmlRequest("/imgur",JSON.stringify({type:"base64",image:b,name:s+".png",title:f,description:"Made with https://www.draw.io"}),"POST"),v=mxUtils.bind(this,function(a){var b={message:mxResources.get("unknownError")};try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});g.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText()),e="https://www.draw.io/i/"+ +b.data.id;try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity\x3dCONFIG\x26msg\x3dimgur-published:"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(g){}var k=mxUtils.bind(this,function(){this.spinner.stop();var a="https://imgur.com/"+b.data.id,f="https://www.draw.io/imgur?delete\x3d"+b.data.deletehash,a=new ErrorDialog(this,mxResources.get("published"),(c?mxResources.get("viewUrl",['\x3ca href\x3d"'+e+'" target\x3d"_blank"\x3e'+ +e+"\x3c/a\x3e"])+"\x3cbr\x3e":"")+mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"])+"\x3cbr\x3e"+mxResources.get("deleteUrl",[f]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("share"),function(){d(b.data.id,c)},!1);this.showDialog(a.container,340,180,!0,!1);a.init()});if(c){var l=new mxXmlRequest("/imgur?"+b.data.deletehash,JSON.stringify({title:f,description:mxResources.get("viewUrl",[e])}),"POST");l.send(mxUtils.bind(this, +function(){200==l.getStatus()?k():v(l)}),mxUtils.bind(this,function(){v(l)}))}else k()}catch(p){this.handleError(p)}else v(a)}),mxUtils.bind(this,function(a){v(a)}))}));this.showDialog(f.container,320,250,!0,!1);f.init()};EditorUi.prototype.publishImage=function(a,b){var c=this.getCurrentFile();null!=c&&(this.isExportToCanvas()?this.showExportDialog(!1,mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e,f,g,q){d=parseInt(d); +if(!isNaN(d)&&0<d){d/=100;var u=this.editor.graph.isSelectionEmpty();f=null!=f?f:u;if(this.spinner.spin(document.body,mxResources.get("publishing")))try{this.exportToCanvas(mxUtils.bind(this,function(d){try{var e=q?this.getFileData(!0,null,null,null,f):null,g=this.createPngDataUri(d,e);a(c,g.substring(g.lastIndexOf(",")+1),q,b)}catch(n){this.handleError(n)}}),null,null,null,mxUtils.bind(this,function(a){this.handleError(a)}),null,f,d||1,e,g)}catch(v){this.handleError(v)}}})):this.showRemoteExportDialog(mxResources.get("publish"), +"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e){if(this.spinner.spin(document.body,mxResources.get("publishing"))){var f=this.editor.graph.getGraphBounds(),g=this.getFileData(!0,null,null,null,d);if(f.width*f.height<=MAX_AREA&&g.length<=MAX_REQUEST_SIZE)try{var q=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+(e?"1":"0")+"\x26xml\x3d"+encodeURIComponent(g));q.send(mxUtils.bind(this,function(){200==q.getStatus()?a(c,q.getText(), +e,b):this.handleError(q)}))}catch(u){this.handleError(u)}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}})))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours"); +b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&&(g=null));b=b.getSvg(g,null,null,null,null,f);null!=a&&b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n': +"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,f){if(this.spinner.spin(document.body,mxResources.get("exporting"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop(); +try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c):null)}catch(b){"Invalid image"==b.message?this.downloadFile("png"):this.handleError(b)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,null,f)}catch(q){this.spinner.stop(),this.handleError(q)}}};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,q,u,v,x,z,A,y){f=null!=f?f:!0;z=null!=z?z:this.editor.graph;A=null!=A?A:0;var D=u?null:z.background;D== +mxConstants.NONE&&(D=null);null==D&&(D=d);null==D&&!1==u&&(D="#ffffff");this.convertImages(z.getSvg(D,null,null,y,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));q=null!=q?q:1;null!=b&&(q=!f?b/g:Math.min(1,Math.min(3*b/(4*m),b/g)));g=Math.ceil(q*g)+2*A;m=Math.ceil(q*m)+2*A;e.setAttribute("width",g);e.setAttribute("height",m);var n=e.getContext("2d"); +null!=D&&(n.beginPath(),n.rect(0,0,g,m),n.fillStyle=D,n.fill());n.scale(q,q);n.drawImage(d,A/q,A/q);a(e)});d.onerror=function(a){null!=e&&e(a)};try{v&&this.editor.addSvgShadow(c),this.convertMath(z,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,x)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"== +c.substring(0,8))&&c.substring(0,a.baseUrl.length)!=a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var m=a.getElementsByTagName(c),v=0;v<m.length;v++)mxUtils.bind(this,function(c){var m=d.convert(c.getAttribute(g));if(null!=m&&"data:"!=m.substring(0,5)){var t= +f[m];null==t?(e++,this.convertImageToDataUri(m,function(d){null!=d&&(f[m]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,t)}})(m[v])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b()});else{var c=new Image;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width= +c.width;d.drawImage(c,0,0);b(a.toDataURL())};c.onerror=function(){b()};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){var q=mxUtils.parseXml(a),u=this.editor.extractGraphModel(q.documentElement,null!=this.pages);if(null!=u&&"mxfile"==u.nodeName&&null!=this.pages){var v=u.getElementsByTagName("diagram");if(1==v.length)u=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(v[0]))).documentElement;else if(1< +v.length){g.model.beginUpdate();try{for(var x=0;x<v.length;x++){var z=this.updatePageRoot(new DiagramPage(v[x])),A=this.pages.length;null==z.getName()&&z.setName(mxResources.get("pageWithNumber",[A+1]));g.model.execute(new ChangePage(this,z,z,A))}}finally{g.model.endUpdate()}}}if(null!=u&&"mxGraphModel"===u.nodeName){var y=new mxGraphModel;(new mxCodec(u.ownerDocument)).decode(u,y);var D=y.getChildCount(y.getRoot());g.model.getChildCount(g.model.getRoot());g.model.beginUpdate();try{a={};for(x=0;x< +D;x++){var B=y.getChildAt(y.getRoot(),x);if(1==D&&!g.isCellLocked(g.getDefaultParent()))var C=y.getChildren(B),f=f.concat(g.importCells(C,b,c,g.getDefaultParent(),null,a));else B=g.importCells([B],0,0,g.model.getRoot(),null,a)[0],C=g.model.getChildren(B),g.moveCells(C,b,c),f=f.concat(C)}if(d){g.isGridEnabled()&&(b=g.snap(b),c=g.snap(c));var E=g.getBoundingBoxFromGeometry(f,!0);null!=E&&g.moveCells(f,b-E.x,c-E.y)}}finally{g.model.endUpdate()}}}}catch(G){throw e||this.handleError(G,mxResources.get("invalidOrMissingFile")), +G;}return f};EditorUi.prototype.insertLucidChart=function(a,b,c,d){var e=mxUtils.bind(this,function(){if(this.pasteLucidChart)try{this.pasteLucidChart(a,b,c,d)}catch(e){}});!this.pasteLucidChart&&!this.loadingExtensions&&!this.isOffline()?(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("/js/diagramly/Extensions.js",e):mxscript("/js/extensions.min.js",e)):window.setTimeout(e,0)};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f){f=null!=f?f:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&& +(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200==a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var g=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var q=this.extractGraphModelFromPng(a),u=this.importXml(q, +b,c,f,!0);if(0<u.length)return u}if("data:image/svg+xml;"==a.substring(0,19))try{if(q=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(q=a.substring(a.indexOf(",")+1),q=window.atob&&!mxClient.IS_SF?atob(q):Base64.decode(q,!0)):q=decodeURIComponent(a.substring(a.indexOf(",")+1)),u=this.importXml(q,b,c,f,!0),0<u.length)return u}catch(v){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){g.setSelectionCell(g.insertVertex(null, +null,"",g.snap(b),g.snap(c),d,e,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+this.convertDataUri(a)+";"))}),!0,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/d.height)),f=Math.round(d.width*e);d=Math.round(d.height*e);g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),f,d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ +a+";"))}}),mxUtils.bind(this,function(){var e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,a,g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.updateCellSize(e),g.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{g.getModel().endUpdate()}g.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,f);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26)){e= +JSON.parse(JSON.parse(a).state);var q=null,x;for(x in e.Pages)if(u=e.Pages[x],null!=u&&"0"==u.Properties.Order){q=u;break}null!=q&&this.insertLucidChart(q,b,c,f)}else{g=this.editor.graph;f=null;g.getModel().beginUpdate();try{f=g.insertVertex(g.getDefaultParent(),null,"",g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.fireEvent(new mxEventObject("textInserted","cells",[f])),f.value=a,g.updateCellSize(f),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i.test(f.value)&& +g.setLinkForCell(f,f.value),f.geometry.width+=g.gridSize,f.geometry.height+=g.gridSize}finally{g.getModel().endUpdate()}return[f]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat= +function(a,b){return/(\.*<graphml xmlns=\".*)/.test(a)||/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)||null!=b&&/(\.vsdx)($|\?)/i.test(b)};EditorUi.prototype.importFile=function(a,b,c,d,e,f,g,q,u,v,x){v=null!=v?v:!0;var z=!1,A=null;"image"==b.substring(0,5)?(g=!1,"image/png"==b.substring(0,9)&&(b=x?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(A=this.importXml(b,c,d,v),g=!0)),g||(A=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+ +1))),v&&A.isGridEnabled()&&(c=A.snap(c),d=A.snap(d)),A=[A.insertVertex(null,null,"",c,d,e,f,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+a+";")])):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,g)?(z=!0,this.parseFile(null!=u?u:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){if(4==a.readyState){var b=null;200==a.status&&(b=this.importXml(a.responseText, +c,d,v));null!=q&&q(b)}}),g)):/(\.vsd)($|\?)/i.test(g)||(A=this.insertTextAt(this.validateFileData(a),c,d,!0,null,v));!z&&null!=q&&q(A);return A};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="\x3d\x3d";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> +2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2);b+="\x3d";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>> +6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,g,q,u,v,x,z){var A=null!=b&&null!=c;b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;v=null!=v?v:this.maxImageBytes;u=null!=u?u:!0;var y=this.editor.graph,D=y.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){return null!=a&&"\x3cmxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null): +this.importFile(a,b,c,d,e,f,g,k,l,A,z)});f=null!=f?f:mxUtils.bind(this,function(a){y.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var B=a.length,C=B,E=[],G=mxUtils.bind(this,function(a,b){E[a]=b;if(0==--C){this.spinner.stop();if(null!=q)q(E);else{var c=[];y.getModel().beginUpdate();try{for(var d=0;d<E.length;d++){var e=E[d]();null!=e&&(c=c.concat(e))}}finally{y.getModel().endUpdate()}}f(c)}}),H=0;H<B;H++)mxUtils.bind(this,function(f){var q=a[f],s=new FileReader; +s.onload=mxUtils.bind(this,function(a){if(null==g||g(q))if("image/"==q.type.substring(0,6))if("image/svg"==q.type.substring(0,9)){var k=a.target.result,s=k.indexOf(","),y=atob(k.substring(s+1)),A=mxUtils.parseXml(y),y=A.getElementsByTagName("svg");if(0<y.length){var y=y[0],B=z?null:y.getAttribute("content");null!=B&&"\x3c"!=B.charAt(0)&&"%"!=B.charAt(0)&&(B=unescape(window.atob?atob(B):Base64.decode(B,!0)));null!=B&&"%"==B.charAt(0)&&(B=decodeURIComponent(B));null!=B&&("\x3cmxfile "===B.substring(0, +8)||"\x3cmxGraphModel "===B.substring(0,14))?G(f,mxUtils.bind(this,function(){return e(B,"text/xml",b+f*D,c+f*D,0,0,q.name)})):G(f,mxUtils.bind(this,function(){try{if(k.substring(0,s+1),null!=A){var a=A.getElementsByTagName("svg");if(0<a.length){var g=a[0],t=parseFloat(g.getAttribute("width")),u=parseFloat(g.getAttribute("height")),v=g.getAttribute("viewBox");if(null==v||0==v.length)g.setAttribute("viewBox","0 0 "+t+" "+u);else if(isNaN(t)||isNaN(u)){var x=v.split(" ");3<x.length&&(t=parseFloat(x[2]), +u=parseFloat(x[3]))}k=this.createSvgDataUri(mxUtils.getXml(a[0]));var z=Math.min(1,Math.min(d/Math.max(1,t)),d/Math.max(1,u));return e(k,q.type,b+f*D,c+f*D,Math.max(1,Math.round(t*z)),Math.max(1,Math.round(u*z)),q.name)}}}catch(y){}return null}))}}else{y=!1;if("image/png"==q.type){var C=z?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var E=new Image;E.src=a.target.result;G(f,mxUtils.bind(this,function(){return e(C,"text/xml",b+f*D,c+f*D,E.width,E.height,q.name)}));y= +!0}}y||(null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,k,s){G(f,mxUtils.bind(this,function(){if(null!= +g&&g.length<v){var t=!u||!this.isResampleImage(a.target.result)?1:Math.min(1,Math.min(d/k,d/s));return e(g,q.type,b+f*D,c+f*D,Math.round(k*t),Math.round(s*t),q.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),u,d,x)})))}else e(a.target.result,q.type,b+f*D,c+f*D,240,160,q.name,function(a){G(f,function(){return a})})});/(\.vsdx)($|\?)/i.test(q.name)?e(null,q.type,b+f*D,c+f*D,240,160,q.name,function(a){G(f,function(){return a})},q):"image"==q.type.substring(0,5)?s.readAsDataURL(q): +s.readAsText(q)})(H)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),q=Math.max(1,a.height);if(d&&this.isResampleImage(b, +f))try{var u=Math.max(g/e,q/e);if(1<u){var v=Math.round(g/u),x=Math.round(q/u),z=document.createElement("canvas");z.width=v;z.height=x;z.getContext("2d").drawImage(a,0,0,v,x);var A=z.toDataURL();if(A.length<b.length){var y=document.createElement("canvas");y.width=v;y.height=x;var D=y.toDataURL();A!==D&&(b=A,g=v,q=x)}}}catch(B){}c(b,g,q)};EditorUi.prototype.crcTable=[];for(var c=0;256>c;c++)for(var f=c,d=0;8>d;d++)f=1==(f&1)?3988292384^f>>>1:f>>>1,EditorUi.prototype.crcTable[c]=f;EditorUi.prototype.updateCRC= +function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=q;q+=b;return a.substring(c,q)}function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var q=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a, +4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,q);do{var u=g(a);if("IDAT"==f(a,4)){e=a.substring(0,q-8);u=4294967295;u=this.updateCRC(u,b,0,4);u=this.updateCRC(u,d,0,d.length);e+=String.fromCharCode(c.length+d.length+1+("zTXt"==b?1:0)>>24&255,c.length+d.length+1+("zTXt"==b?1:0)>>16&255,c.length+d.length+1+("zTXt"==b?1:0)>>8&255,c.length+d.length+1+("zTXt"==b?1:0)&255)+b+c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d+String.fromCharCode((u^4294967295)>>24&255,(u^4294967295)>> +16&255,(u^4294967295)>>8&255,(u^4294967295)&255);e+=a.substring(q-8,a.length);break}e+=a.substring(q-8,q-4+u);d=f(a,u);f(a,4)}while(u);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)), +"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(e){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror= +c);d.src=a};var b=EditorUi.prototype.init;EditorUi.prototype.init=function(){b.apply(this,arguments);var a=this.editor.graph,c=this;mxClient.IS_SVG&&this.editor.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);this.defaultFilename=mxResources.get("untitledDiagram");var d=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=c.currentPage?c.currentPage.getName():"pagenumber"==a?null!=c.currentPage&&null!=c.pages?mxUtils.indexOf(c.pages,c.currentPage)+1:1:d.apply(this,arguments)}; +this.editor.getOrCreateFilename=function(){var a=c.defaultFilename,b=c.getCurrentFile();null!=b&&(a=null!=b.getTitle()?b.getTitle():a);return a};var e=this.actions.get("print");e.setEnabled(!mxClient.IS_IOS||!navigator.standalone);e.visible=e.isEnabled();if(!this.editor.chromeless){this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88, +!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()], +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(l){}}),!1);var f=document.createElement("div");f.style.position="absolute";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.display="block";f.contentEditable=!0;mxUtils.setOpacity(f, +0);f.style.width="1px";f.style.height="1px";f.innerHTML="\x26nbsp;";var g=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);if(null!=a.container&&a.isEnabled()&&!a.isMouseDown&&!a.isEditing()&&null==this.dialog&&"INPUT"!=c.nodeName&&"TEXTAREA"!=c.nodeName&&(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)&& +!g)f.style.left=a.container.scrollLeft+10+"px",f.style.top=a.container.scrollTop+10+"px",a.container.appendChild(f),g=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){f.focus();document.execCommand("selectAll",!1,null)},0):(f.focus(),document.execCommand("selectAll",!1,null))}));var t=function(){window.setTimeout(function(){f.innerHTML="\x26nbsp;";f.focus();document.execCommand("selectAll",!1,null)},0)};mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this, +function(){if(g&&(224==c||17==c||91==c))g=!1,!a.isEditing()&&null==this.dialog&&null!=a.container&&a.container.focus(),f.parentNode.removeChild(f)}),0)}));mxEvent.addListener(f,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(f),t())}));mxEvent.addListener(f,"cut",mxUtils.bind(this,function(b){a.isEnabled()&&(this.copyCells(f,!0),t())}));mxEvent.addListener(f,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(f.innerHTML= +"\x26nbsp;",f.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,f);f.innerHTML="\x26nbsp;"}),0))}),!0);var q=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==f?!0:q.apply(this,arguments)}}e=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2;this.spinner=this.createSpinner(document.body.clientWidth/2-2,e,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b= +this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=this.highlightElement(c);a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files, +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1, +Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.test){e=document.getElementById("geFooter"); +null!=e&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),e.appendChild(this.styleInput), +this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var u=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:u.apply(this,arguments)}}e=document.getElementById("geInfo"); +null!=e&&e.parentNode.removeChild(e);if(Graph.fileSupport){var v=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=v&&(v.parentNode.removeChild(v),v=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){if(null==v&&(!mxClient.IS_IE||10<document.documentMode))v=this.highlightElement(a.container);null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container, +"drop",mxUtils.bind(this,function(b){null!=v&&(v.parentNode.removeChild(v),v=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),d=a.view.translate,e=a.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(b)&&(g=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var l=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")? +b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b);if(null!=c)a.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")){c=b.dataTransfer.getData("text/html");e=document.createElement("div");e.innerHTML=c;var d=null,m=e.getElementsByTagName("img");null!=m&&1==m.length?(c=m[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)||(d=!0)):(e=e.getElementsByTagName("a"),null!=e&&1==e.length&&(c=e[0].getAttribute("href"))); +a.setSelectionCells(this.insertTextAt(c,f,g,!0,d))}else null!=l&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)?this.loadImage(decodeURIComponent(l),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,b));a.setSelectionCell(a.insertVertex(null,null,"",f,g,c*d,b*d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ +l+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(l,f,g,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&a.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),f,g,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode()};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())), +e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&& +(this.insertLucidChart(JSON.parse(d)),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var g=e.lastIndexOf("%3E");0<=g&&g<e.length-3&&(e=e.substring(0,g+3))}catch(q){}try{var c=b.getElementsByTagName("span"),u=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(u)&&(f=!0,e=u)}catch(v){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml= +e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(x){}}}}}; +EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){if(null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode))b=this.highlightElement();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this, +function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c= +null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)&&(d=this.extractGraphModelFromPng(c),null!=d&&0<d.length&&this.openLocalFile(d)), +!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format\x3dxml\x26data\x3d"+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200==a.getStatus()&&this.openLocalFile(a.getText())})):/^https?:\/\//.test(c)&&(c=this.getUrl(window.location.pathname+"?url\x3d"+encodeURIComponent(c)),null==this.getCurrentFile()?window.location.href=c:window.openWindow(c))))}else this.openLocalFile(c)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b= +0,c=0,d=0,e=0;if(null==a)var e=document.body,f=document.documentElement,d=(e.clientWidth||f.clientWidth)-3,e=Math.max(e.clientHeight||0,f.clientHeight)-3;else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left=c+"px";f.style.width=Math.max(0,d-3)+"px";f.style.height=Math.max(0, +e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=function(a){if(this.spinner.spin(document.body, +mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var c=b.target.result,d=a.name;if(null!=d&&0<d.length)if(/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml"),Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,d))d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+".xml":d+".xml",this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(), +200==a.status?this.openLocalFile(a.responseText,d):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if("\x3cmxlibrary"==b.target.result.substring(0,10)){this.spinner.stop();try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c, +d)});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=function(a,b){var c=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a);null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this, +a,b||this.defaultFilename))});null!=a&&0<a.length&&(null!=this.getCurrentFile()&&!this.isDiagramEmpty()?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,c)):c())};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a); +var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f= +0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.initializeEmbedMode=function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";this.editor.graph.setEnabled(!1);if((window.opener||window.parent)!=window)("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.diagramContainer.style.visibility= +"";this.formatContainer.style.visibility="";this.editor.graph.setEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.showLayersDialog()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&& +(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a,b){!this.editor.modified||"0"==urlParams.modified? +this.editor.setStatus(""):null!=urlParams.modified&&this.editor.setStatus(mxResources.get(urlParams.modified))});this.editor.graph.model.addListener(mxEvent.CHANGE,f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function u(a){if(null!=a&&"function"===typeof a.charAt&&"\x3c"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a): +"\x3c"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(b){}return a}var s=f.data;if("json"==urlParams.proto){try{s=JSON.parse(s)}catch(x){s=null}if(null==s)return;if("dialog"==s.action){this.showError(null!=s.titleKey?mxResources.get(s.titleKey):s.title,null!=s.messageKey?mxResources.get(s.messageKey):s.message,null!=s.buttonKey?mxResources.get(s.buttonKey):s.button);null!=s.modified&&(this.editor.modified=s.modified);return}if("prompt"==s.action){var z=new FilenameDialog(this,s.defaultValue|| +"",null!=s.okKey?mxResources.get(s.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:s}),"*")},null!=s.titleKey?mxResources.get(s.titleKey):s.title);this.showDialog(z.container,300,80,!0,!1);z.init();return}if("draft"==s.action){z=null;z="data:image/png;base64,"==s.xml.substring(0,22)?this.extractGraphModelFromPng(s.xml):u(s.xml);z=new DraftDialog(this,mxResources.get("draftFound",[s.name||this.defaultFilename]),z,mxUtils.bind(this,function(){this.hideDialog(); +g.postMessage(JSON.stringify({event:"draft",result:"edit",message:s}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:s}),"*")}),s.editKey?mxResources.get(s.editKey):null,s.discardKey?mxResources.get(s.discardKey):null);this.showDialog(z.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{z.init()}catch(A){g.postMessage(JSON.stringify({event:"draft",error:A.toString(),message:s}), +"*")}return}if("template"==s.action){z=new NewDialog(this,!1,null!=s.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=s.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}));this.showDialog(z.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));z.init();return}if("status"==s.action){null!=s.messageKey? +this.editor.setStatus(mxResources.get(s.messageKey)):null!=s.message&&this.editor.setStatus(s.message);null!=s.modified&&(this.editor.modified=s.modified);return}if("spinner"==s.action){var y=null!=s.messageKey?mxResources.get(s.messageKey):s.message;null!=s.show&&!s.show?this.spinner.stop():this.spinner.spin(document.body,y);return}if("export"==s.action){if("png"==s.format||"xmlpng"==s.format){if(null==s.spin&&null==s.spinKey||this.spinner.spin(document.body,null!=s.spinKey?mxResources.get(s.spinKey): +s.spin)){var D=null!=s.xml?s.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var B=mxUtils.bind(this,function(a){var b=this.createLoadMessage("export");b.format=s.format;b.xml=encodeURIComponent(D);b.data="data:image/png;base64,"+a;g.postMessage(JSON.stringify(b),"*");this.editor.graph.setEnabled(!0)});if(this.isExportToCanvas()){var C=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var C=this.createTemporaryGraph(C.getStylesheet()),E=C.getGlobalVariable,G=this.pages[0]; +C.getGlobalVariable=function(a){return"page"==a?G.getName():"pagenumber"==a?1:E.apply(this,arguments)};document.body.appendChild(C.container);C.model.setRoot(G.root)}this.exportToCanvas(mxUtils.bind(this,function(a){a=a.toDataURL("image/png");"xmlpng"==s.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(D))));C!=this.editor.graph&&C.container.parentNode.removeChild(C.container);B(a.substring(a.lastIndexOf(",")+1))}),null,null,null,null,null,null,null,null, +null,null,C)}else(new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26embedXml\x3d"+("xmlpng"==s.format?"1":"0")+"\x26base64\x3d1\x26xml\x3d"+encodeURIComponent(encodeURIComponent(D)))).send(mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();200==a.getStatus()&&B(a.getText())}),mxUtils.bind(this,function(){this.spinner.stop()}))}}else{null!=s.xml&&0<s.xml.length&&this.setFileData(s.xml);y=this.createLoadMessage("export");if("html2"==s.format||"html"==s.format&&("0"!=urlParams.pages|| +null!=this.pages&&1<this.pages.length))z=this.getXmlFileData(),y.xml=mxUtils.getXml(z),y.data=this.getFileData(null,null,!0,null,null,null,z),y.format=s.format;else if("html"==s.format)D=this.editor.getGraphXml(),y.data=this.getHtml(D,this.editor.graph),y.xml=mxUtils.getXml(D),y.format=s.format;else{mxSvgCanvas2D.prototype.foAltText=null;z=this.editor.graph.background;z==mxConstants.NONE&&(z=null);y.xml=this.getFileData(!0);y.format="svg";if(s.embedImages||null==s.embedImages){if(null==s.spin&&null== +s.spinKey||this.spinner.spin(document.body,null!=s.spinKey?mxResources.get(s.spinKey):s.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==s.format?this.getEmbeddedSvg(y.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(y),"*")})):this.convertImages(this.editor.graph.getSvg(z),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(mxUtils.getXml(a)); +g.postMessage(JSON.stringify(y),"*")}));return}z="xmlsvg"==s.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(z));y.data=this.createSvgDataUri(z)}g.postMessage(JSON.stringify(y),"*")}return}if("load"==s.action)d=1==s.autosave,this.hideDialog(),null!=s.modified&&null==urlParams.modified&&(urlParams.modified=s.modified),null!=s.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=s.saveAndExit),null!=s.title&&null!=this.buttonContainer&& +(z=document.createElement("span"),mxUtils.write(z,s.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),this.buttonContainer.appendChild(z)),s=null!=s.xmlpng?this.extractGraphModelFromPng(s.xmlpng):null!=s.xml&&"data:image/png;base64,"==s.xml.substring(0,22)?this.extractGraphModelFromPng(s.xml):s.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage", +data:JSON.stringify(s)}),"*");return}}s=u(s);c=!0;try{a(s,f)}catch(H){this.handleError(H)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var I=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=I();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=I();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;d=JSON.stringify(f);(window.opener||window.parent).postMessage(d, +"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged", +b),this.addListener("pageViewChanged",b));("1"==urlParams.returnbounds||"json"==urlParams.proto)&&g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(f,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme? +"2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" (Ctrl+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b, +mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight="20px";b.style.padding= +"4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px";"atlas"==uiTheme&&(this.statusContainer.style.color="#707070",this.statusContainer.style.paddingLeft="26px",this.toolbar.staticElements.push(this.statusContainer),this.toolbar.container.appendChild(this.statusContainer))}};EditorUi.prototype.getSearch= +function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"\x3d"+urlParams[d],c="\x26")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle url embed client create title splash".split(" "), d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"\x26",null!=urlParams[d]&&(a+=d+"\x3d"+urlParams[d],b++))}return a};var e=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=e.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width- 2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var f=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return f.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&& null!=this.source.minimumGraphSize){var d=this.source.getPagePadding(),e=Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2),f=Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2);return new mxPoint(Math.round(e-d.x),Math.round(f-d.y-5/a))}return new mxPoint(8/a,8/a)};var g=b.init;b.init=function(){g.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale* diff --git a/war/js/diagramly/EditorUi.js b/war/js/diagramly/EditorUi.js index adbe2f0c..b57bc59f 100644 --- a/war/js/diagramly/EditorUi.js +++ b/war/js/diagramly/EditorUi.js @@ -2396,7 +2396,7 @@ * @param {number} dx X-coordinate of the translation. * @param {number} dy Y-coordinate of the translation. */ - EditorUi.prototype.doSaveLocalFile = function(data, filename, mimeType, base64Encoded) + EditorUi.prototype.doSaveLocalFile = function(data, filename, mimeType, base64Encoded, format) { // Newer versions of IE if (window.MSBlobBuilder && navigator.msSaveOrOpenBlob) @@ -2433,40 +2433,48 @@ dlg.init(); document.execCommand('selectall', false, null); } - else if (!this.isOffline() && mxClient.IS_SF) - { - var req = this.createEchoRequest(data, filename, mimeType, base64Encoded); - - req.simulate(document, '_blank'); - } else { var a = document.createElement('a'); - a.href = URL.createObjectURL((base64Encoded) ? - this.base64ToBlob(data, mimeType) : - new Blob([data], {type: mimeType})); - a.download = filename; - document.body.appendChild(a); - // Workaround for link opens in same window in Safari - if (mxClient.IS_SF) + if (typeof a.download !== 'undefined' || this.isOffline()) { - a.setAttribute('target', '_blank'); - } - - try - { - a.click(); + a.href = URL.createObjectURL((base64Encoded) ? + this.base64ToBlob(data, mimeType) : + new Blob([data], {type: mimeType})); - window.setTimeout(function() + if (typeof a.download !== 'undefined') { - URL.revokeObjectURL(a.href); - }, 0); - a.parentNode.removeChild(a); + a.download = filename; + } + else + { + // Workaround for same window in Safari + a.setAttribute('target', '_blank'); + } + + document.body.appendChild(a); + + try + { + a.click(); + + window.setTimeout(function() + { + URL.revokeObjectURL(a.href); + }, 0); + a.parentNode.removeChild(a); + } + catch (e) + { + // ignore + } } - catch (e) + else { - // ignore + var req = this.createEchoRequest(data, filename, mimeType, base64Encoded, format); + + req.simulate(document, '_blank'); } } }; @@ -2529,7 +2537,7 @@ * @param {number} dx X-coordinate of the translation. * @param {number} dy Y-coordinate of the translation. */ - EditorUi.prototype.saveLocalFile = function(data, filename, mimeType, base64Encoded) + EditorUi.prototype.saveLocalFile = function(data, filename, mimeType, base64Encoded, format) { var allowTab = !mxClient.IS_IOS || !navigator.standalone; var backends = !this.isOfflineApp() && !this.isOffline() && @@ -2556,8 +2564,7 @@ else if (mimeType != null && mimeType.substring(0, 6) == 'image/' && (mimeType.substring(0, 9) != 'image/svg' || mxClient.IS_SVG)) { - // IMG performance is better for large SVG in Chrome - if (!base64Encoded || mxClient.IS_EDGE || document.documentMode == 11 || document.documentMode == 10) + if (mxClient.IS_EDGE || document.documentMode == 11 || document.documentMode == 10) { win.document.write('<html><img src="data:' + mimeType + ((base64Encoded) ? ';base64,' + @@ -2568,7 +2575,8 @@ else { // Enables page refresh and drag and drop of URL - win.location.replace('data:' + mimeType + ';base64,' + data); + win.location.replace('data:' + mimeType + ((base64Encoded) ? ';base64,' + + data : ';charset=utf8,' + encodeURIComponent(data))); } } else @@ -2611,7 +2619,7 @@ { if (this.isLocalFileSave()) { - this.saveLocalFile(data, filename, mime, base64Encoded); + this.saveLocalFile(data, filename, mime, base64Encoded, format); } else { @@ -2783,7 +2791,13 @@ { if (embedImages) { - this.convertImages(svgRoot, doSave); + // Caches images + if (this.thumbImageCache == null) + { + this.thumbImageCache = new Object(); + } + + this.convertImages(svgRoot, doSave, this.thumbImageCache); } else { @@ -3568,6 +3582,12 @@ var selectionEmpty = this.editor.graph.isSelectionEmpty(); ignoreSelection = (ignoreSelection != null) ? ignoreSelection : selectionEmpty; + // Caches images + if (this.thumbImageCache == null) + { + this.thumbImageCache = new Object(); + } + try { this.exportToCanvas(mxUtils.bind(this, function(canvas) @@ -3591,7 +3611,7 @@ this.handleError(e); } } - }), null, null, null, mxUtils.bind(this, function(e) + }), null, this.thumbImageCache, null, mxUtils.bind(this, function(e) { this.spinner.stop(); this.handleError(e); diff --git a/war/js/embed-static.min.js b/war/js/embed-static.min.js index f3389b1f..a10e384c 100644 --- a/war/js/embed-static.min.js +++ b/war/js/embed-static.min.js @@ -184,7 +184,7 @@ f)+"\n"+u+"}":"{"+v.join(",")+"}";f=u;return r}}"function"!==typeof Date.prototy e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})}); "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();var mxBasePath="https://www.draw.io/mxgraph/",mxLoadStylesheets=mxLoadResources=!1,mxLanguage="en";window.urlParams=window.urlParams||{};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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"6.0.2.12",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"6.0.2.13",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| @@ -224,25 +224,25 @@ null;if("object"==typeof b)for(var d=mxUtils.indexOf(b,a);0<=d;)b.splice(d,1),c= b&&c.push(d),d=d.nextSibling;return c},importNode:function(a,b,c){if(mxClient.IS_IE&&(null==document.documentMode||10>document.documentMode))switch(b.nodeType){case 1:var d=a.createElement(b.nodeName);if(b.attributes&&0<b.attributes.length){for(var e=0;e<b.attributes.length;e++)d.setAttribute(b.attributes[e].nodeName,b.getAttribute(b.attributes[e].nodeName));if(c&&b.childNodes&&0<b.childNodes.length)for(e=0;e<b.childNodes.length;e++)d.appendChild(mxUtils.importNode(a,b.childNodes[e],c))}return d; case 3:case 4:case 8:return a.createTextNode(b.value)}else return a.importNode(b,c)},createXmlDocument:function(){var a=null;document.implementation&&document.implementation.createDocument?a=document.implementation.createDocument("","",null):window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLDOM"));return a},parseXml:function(){return window.DOMParser?function(a){return(new DOMParser).parseFromString(a,"text/xml")}:function(a){var b=mxUtils.createXmlDocument();b.async=!1;b.validateOnParse=!1; b.resolveExternals=!1;b.loadXML(a);return b}}(),clearSelection:function(){return document.selection?function(){document.selection.empty()}:window.getSelection?function(){window.getSelection().removeAllRanges()}:function(){}}(),getPrettyXml:function(a,b,c){var d=[];if(null!=a)if(b=b||" ",c=c||"",a.nodeType==mxConstants.NODETYPE_TEXT)d.push(a.value);else{d.push(c+"\x3c"+a.nodeName);var e=a.attributes;if(null!=e)for(var f=0;f<e.length;f++){var g=mxUtils.htmlEntities(e[f].value);d.push(" "+e[f].nodeName+ -'\x3d"'+g+'"')}e=a.firstChild;if(null!=e){for(d.push("\x3e\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d=b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=(a||"").replace(/&/g, -"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==b||b)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a):null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return c=c.replace(/\n/g,b||"\x26#xa;")},extractTextWithWhitespace:function(a){for(var b= -!1,c=[],d=0;a[d];d++){var e=a[d];if(3===e.nodeType||4===e.nodeType){if(11==document.documentMode&&d==a.length-1&&0==e.nodeValue.length)break;c.push(e.nodeValue+(null==e.nextSibling||3!=e.nextSibling.nodeType?"\n":""));b=!0}else 8!==e.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==e.nodeName&&0==e.innerHTML.length||!b&&"BR"==e.nodeName||"DIV"==e.nodeName&&"\x3cbr\x3e"==e.innerHTML?c.push("\n"):c.push(mxUtils.extractTextWithWhitespace(e.childNodes)),b=!1)}return c.join("")},replaceTrailingNewlines:function(a, -b){for(var c="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),c+=b;return a+c},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,b){void 0!==a.innerText?a.innerText=b:a[void 0===a.textContent?"text":"textContent"]=b},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(), -getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var b=[];b.push("\x3c"+a.nodeName);var c=a.attributes;if(null!=c)for(var d=0;d<c.length;d++){var e=c[d].value;null!=e&&0<e.length&&(b.push(" "),b.push(c[d].nodeName),b.push('\x3d"'),b.push(e),b.push('"'))}0==a.innerHTML.length?b.push("/\x3e"):(b.push("\x3e"),b.push(a.innerHTML),b.push("\x3c/"+a.nodeName+"\x3e"));return b.join("")}return""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a): -""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c=null,d=0;d<b;d++)null!=a&&(c=a.ownerDocument.createElement("br"),a.appendChild(c));return c},button:function(a,b,c){c=null!=c?c:document;c=c.createElement("button");mxUtils.write(c,a);mxEvent.addListener(c,"click",function(a){b(a)}); -return c},para:function(a,b){var c=document.createElement("p");mxUtils.write(c,b);null!=a&&a.appendChild(c);return c},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,b,c,d,e){return mxUtils.link(a,b,function(){c.execute(d)},e)},linkInvoke:function(a,b,c,d,e,f){return mxUtils.link(a,b,function(){c[d](e)},f)},link:function(a,b,c,d){var e= -document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},fit:function(a){var b=parseInt(a.offsetLeft),c=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),e=d.x,d=d.y,f=document.body,g=document.documentElement,h=e+(f.clientWidth||g.clientWidth);b+c>h&&(a.style.left=Math.max(e,h-c)+"px");b=parseInt(a.offsetTop); -c=parseInt(a.offsetHeight);f=d+Math.max(f.clientHeight||0,g.clientHeight);b+c>f&&(a.style.top=Math.max(d,f-c)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},h=0;h<a.length;h++)(function(a,c){mxUtils.get(a,function(a){var f=a.getStatus();200>f||299<f?g():(e[c]=a,d--,0==d&& -b(e))},g)})(a[h],h);0==d&&b(e)},post:function(a,b,c,d){return(new mxXmlRequest(a,b)).send(c,d)},submit:function(a,b,c,d){return(new mxXmlRequest(a,b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c||0);return Number(a)},getColor:function(a,b,c){a=null!=a?a[b]:null;null== -a?a=c:a==mxConstants.NONE&&(a=null);return a},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,e;for(e in a)if(e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e)))d[e]=!c&&"object"==typeof a[e]?mxUtils.clone(a[e]):a[e]}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b)for(var c=0;c<a.length;c++)if(a[c]==b[c]||null!=a[c]&&!a[c].equals(b[c]))return!1; -return!0},equalEntries:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){var c=0,d;for(d in b)c++;for(d in a)if(c--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(b[d]))&&a[d]!=b[d])return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype= -b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b="",c;for(c in a)try{if(null==a[c])b+=c+" \x3d [null]\n";else if("function"==typeof a[c])b+=c+" \x3d\x3e [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" \x3d\x3e ["+d+"]\n");else b+=c+" \x3d "+a[c]+"\n"}catch(e){b+=c+"\x3d"+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g, -h,k){h-=a;k-=b;if(0===c||0===d)return p;c=Math.abs(c);d=Math.abs(d);var l=-h/2,m=-k/2,n=Math.cos(e*Math.PI/180),p=Math.sin(e*Math.PI/180);e=n*l+p*m;var l=-1*p*l+n*m,m=e*e,r=l*l,q=c*c,u=d*d,v=m/q+r/u;1<v?(c*=Math.sqrt(v),d*=Math.sqrt(v),f=0):(v=1,f===g&&(v=-1),f=v*Math.sqrt((q*u-q*r-u*m)/(q*r+u*m)));m=f*c*l/d;r=-1*f*d*e/c;h=n*m-p*r+h/2;k=p*m+n*r+k/2;q=Math.atan2((l-r)/d,(e-m)/c)-Math.atan2(0,1);f=0<=q?q:2*Math.PI+q;q=Math.atan2((-l-r)/d,(-e-m)/c)-Math.atan2((l-r)/d,(e-m)/c);e=0<=q?q:2*Math.PI+q;0== -g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;l=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);m=n*c;n*=d;c*=p;d*=p;for(var t=Math.cos(f),y=Math.sin(f),r=-l*(m*y+d*t),q=-l*(c*y-n*t),v=u=0,p=[],z=0;z<g;++z){f+=e;var t=Math.cos(f),y=Math.sin(f),u=m*t-d*y+h,v=c*t+n*y+k,w=-l*(m*y+d*t),t=-l*(c*y-n*t),y=6*z;p[y]=Number(r+a);p[y+1]=Number(q+b);p[y+2]=Number(u-w+a);p[y+3]=Number(v-t+b);p[y+4]=Number(u+a);p[y+5]=Number(v+b);r=u+w;q=v+t}return p},getBoundingBox:function(a, -b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x,b.y,0,0));d.add(new mxRectangle(g.x, -g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45< -c?(a=1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break;case 3:b|= -mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, +'\x3d"'+g+'"')}e=a.firstChild;if(null!=e){for(d.push("\x3e\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d=b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=String(a||""); +a=a.replace(/&/g,"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==b||b)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a):null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return c=c.replace(/\n/g,b|| +"\x26#xa;")},extractTextWithWhitespace:function(a){for(var b=!1,c=[],d=0;a[d];d++){var e=a[d];if(3===e.nodeType||4===e.nodeType){if(11==document.documentMode&&d==a.length-1&&0==e.nodeValue.length)break;c.push(e.nodeValue+(null==e.nextSibling||3!=e.nextSibling.nodeType?"\n":""));b=!0}else 8!==e.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==e.nodeName&&0==e.innerHTML.length||!b&&"BR"==e.nodeName||"DIV"==e.nodeName&&"\x3cbr\x3e"==e.innerHTML?c.push("\n"):c.push(mxUtils.extractTextWithWhitespace(e.childNodes)), +b=!1)}return c.join("")},replaceTrailingNewlines:function(a,b){for(var c="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),c+=b;return a+c},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,b){void 0!==a.innerText?a.innerText=b:a[void 0===a.textContent?"text":"textContent"]=b},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!= +a?(new XMLSerializer).serializeToString(a):""}}(),getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var b=[];b.push("\x3c"+a.nodeName);var c=a.attributes;if(null!=c)for(var d=0;d<c.length;d++){var e=c[d].value;null!=e&&0<e.length&&(b.push(" "),b.push(c[d].nodeName),b.push('\x3d"'),b.push(e),b.push('"'))}0==a.innerHTML.length?b.push("/\x3e"):(b.push("\x3e"),b.push(a.innerHTML),b.push("\x3c/"+a.nodeName+"\x3e"));return b.join("")}return""}: +function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c=null,d=0;d<b;d++)null!=a&&(c=a.ownerDocument.createElement("br"),a.appendChild(c));return c},button:function(a,b,c){c=null!=c?c:document;c=c.createElement("button"); +mxUtils.write(c,a);mxEvent.addListener(c,"click",function(a){b(a)});return c},para:function(a,b){var c=document.createElement("p");mxUtils.write(c,b);null!=a&&a.appendChild(c);return c},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,b,c,d,e){return mxUtils.link(a,b,function(){c.execute(d)},e)},linkInvoke:function(a,b,c,d,e,f){return mxUtils.link(a, +b,function(){c[d](e)},f)},link:function(a,b,c,d){var e=document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},fit:function(a){var b=parseInt(a.offsetLeft),c=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),e=d.x,d=d.y,f=document.body,g=document.documentElement,h=e+(f.clientWidth||g.clientWidth); +b+c>h&&(a.style.left=Math.max(e,h-c)+"px");b=parseInt(a.offsetTop);c=parseInt(a.offsetHeight);f=d+Math.max(f.clientHeight||0,g.clientHeight);b+c>f&&(a.style.top=Math.max(d,f-c)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},h=0;h<a.length;h++)(function(a,c){mxUtils.get(a, +function(a){var f=a.getStatus();200>f||299<f?g():(e[c]=a,d--,0==d&&b(e))},g)})(a[h],h);0==d&&b(e)},post:function(a,b,c,d){return(new mxXmlRequest(a,b)).send(c,d)},submit:function(a,b,c,d){return(new mxXmlRequest(a,b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c|| +0);return Number(a)},getColor:function(a,b,c){a=null!=a?a[b]:null;null==a?a=c:a==mxConstants.NONE&&(a=null);return a},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,e;for(e in a)if(e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e)))d[e]=!c&&"object"==typeof a[e]?mxUtils.clone(a[e]):a[e]}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!= +a&&null!=b)for(var c=0;c<a.length;c++)if(a[c]==b[c]||null!=a[c]&&!a[c].equals(b[c]))return!1;return!0},equalEntries:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){var c=0,d;for(d in b)c++;for(d in a)if(c--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(b[d]))&&a[d]!=b[d])return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"== +typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b="",c;for(c in a)try{if(null==a[c])b+=c+" \x3d [null]\n";else if("function"==typeof a[c])b+=c+" \x3d\x3e [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" \x3d\x3e ["+d+"]\n");else b+=c+" \x3d "+a[c]+"\n"}catch(e){b+=c+"\x3d"+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180* +a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,h,k){h-=a;k-=b;if(0===c||0===d)return p;c=Math.abs(c);d=Math.abs(d);var l=-h/2,m=-k/2,n=Math.cos(e*Math.PI/180),p=Math.sin(e*Math.PI/180);e=n*l+p*m;var l=-1*p*l+n*m,m=e*e,r=l*l,q=c*c,u=d*d,v=m/q+r/u;1<v?(c*=Math.sqrt(v),d*=Math.sqrt(v),f=0):(v=1,f===g&&(v=-1),f=v*Math.sqrt((q*u-q*r-u*m)/(q*r+u*m)));m=f*c*l/d;r=-1*f*d*e/c;h=n*m-p*r+h/2;k=p*m+n*r+k/2;q=Math.atan2((l-r)/d,(e-m)/c)-Math.atan2(0,1);f=0<=q?q:2*Math.PI+q;q=Math.atan2((-l-r)/d,(-e-m)/c)-Math.atan2((l- +r)/d,(e-m)/c);e=0<=q?q:2*Math.PI+q;0==g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;l=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);m=n*c;n*=d;c*=p;d*=p;for(var t=Math.cos(f),y=Math.sin(f),r=-l*(m*y+d*t),q=-l*(c*y-n*t),v=u=0,p=[],z=0;z<g;++z){f+=e;var t=Math.cos(f),y=Math.sin(f),u=m*t-d*y+h,v=c*t+n*y+k,w=-l*(m*y+d*t),t=-l*(c*y-n*t),y=6*z;p[y]=Number(r+a);p[y+1]=Number(q+b);p[y+2]=Number(u-w+a);p[y+3]=Number(v-t+b);p[y+4]=Number(u+a);p[y+5]=Number(v+b);r= +u+w;q=v+t}return p},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x, +b.y,0,0));d.add(new mxRectangle(g.x,g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION, +0));a=0;45<c?(a=1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break; +case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, reversePortConstraints:function(a){var b=0,b=(a&mxConstants.DIRECTION_MASK_WEST)<<3,b=b|(a&mxConstants.DIRECTION_MASK_NORTH)<<1,b=b|(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return b|=(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,b,c){var d=-1;if(0<a.absolutePoints.length)for(var e=a.absolutePoints[0],f=null,g=1;g<a.absolutePoints.length;g++){var h=a.absolutePoints[g],e=mxUtils.ptSegDistSq(e.x,e.y,h.x,h.y,b,c);if(null==f||e<f)f=e,d=g-1;e=h}return d},rectangleIntersectsSegment:function(a, b,c){var d=a.y,e=a.x,f=d+a.height,g=e+a.width;a=b.x;var h=c.x;b.x>c.x&&(a=c.x,h=b.x);h>g&&(h=g);a<e&&(a=e);if(a>h)return!1;var e=b.y,g=c.y,k=c.x-b.x;1E-7<Math.abs(k)&&(c=(c.y-b.y)/k,b=b.y-c*b.x,e=c*a+b,g=c*h+b);e>g&&(b=g,g=e,e=b);g>f&&(g=f);e<d&&(e=d);return e>g?!1:!0},contains:function(a,b,c){return a.x<=b&&a.x+a.width>=b&&a.y<=c&&a.y+a.height>=c},intersects:function(a,b){var c=a.width,d=a.height,e=b.width,f=b.height;if(0>=e||0>=f||0>=c||0>=d)return!1;var g=a.x,h=a.y,k=b.x,l=b.y,e=e+k,f=f+l,c=c+ g,d=d+h;return(e<k||e>g)&&(f<l||f>h)&&(c<g||c>k)&&(d<h||d>l)},intersectsHotspot:function(a,b,c,d,e,f){d=null!=d?d:1;e=null!=e?e:0;f=null!=f?f:0;if(0<d){var g=a.getCenterX(),h=a.getCenterY(),k=a.width,l=a.height,m=mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE)*a.view.scale;0<m&&(mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,!0)?(h=a.y+m/2,l=m):(g=a.x+m/2,k=m));k=Math.max(e,k*d);l=Math.max(e,l*d);0<f&&(k=Math.min(k,f),l=Math.min(l,f));d=new mxRectangle(g-k/2,h-l/2,k,l);g=mxUtils.toRadians(mxUtils.getValue(a.style, @@ -1184,7 +1184,8 @@ mxGraph.prototype.cellsResized=function(a,b,c){c=null!=c?c:!1;if(null!=a&&null!= mxGraph.prototype.cellResized=function(a,b,c,d){var e=this.model.getGeometry(a);if(null!=e&&(e.x!=b.x||e.y!=b.y||e.width!=b.width||e.height!=b.height)){e=e.clone();!c&&e.relative?(c=e.offset,null!=c&&(c.x+=b.x-e.x,c.y+=b.y-e.y)):(e.x=b.x,e.y=b.y);e.width=b.width;e.height=b.height;!e.relative&&(this.model.isVertex(a)&&!this.isAllowNegativeCoordinates())&&(e.x=Math.max(0,e.x),e.y=Math.max(0,e.y));this.model.beginUpdate();try{d&&this.resizeChildCells(a,e),this.model.setGeometry(a,e),this.constrainChildCells(a)}finally{this.model.endUpdate()}}}; mxGraph.prototype.resizeChildCells=function(a,b){for(var c=this.model.getGeometry(a),d=b.width/c.width,c=b.height/c.height,e=this.model.getChildCount(a),f=0;f<e;f++)this.scaleCell(this.model.getChildAt(a,f),d,c,!0)};mxGraph.prototype.constrainChildCells=function(a){for(var b=this.model.getChildCount(a),c=0;c<b;c++)this.constrainChild(this.model.getChildAt(a,c))}; mxGraph.prototype.scaleCell=function(a,b,c,d){var e=this.model.getGeometry(a);if(null!=e){var f=this.view.getState(a),f=null!=f?f.style:this.getCellStyle(a),e=e.clone(),g=e.x,h=e.y,k=e.width,l=e.height;e.scale(b,c,"fixed"==f[mxConstants.STYLE_ASPECT]);"1"==f[mxConstants.STYLE_RESIZE_WIDTH]?e.width=k*b:"0"==f[mxConstants.STYLE_RESIZE_WIDTH]&&(e.width=k);"1"==f[mxConstants.STYLE_RESIZE_HEIGHT]?e.height=l*c:"0"==f[mxConstants.STYLE_RESIZE_HEIGHT]&&(e.height=l);this.isCellMovable(a)||(e.x=g,e.y=h);this.isCellResizable(a)|| -(e.width=k,e.height=l);this.model.isVertex(a)?this.cellResized(a,e,!0,d):this.model.setGeometry(a,e)}};mxGraph.prototype.extendParent=function(a){if(null!=a){var b=this.model.getParent(a),c=this.getCellGeometry(b);if(null!=b&&(null!=c&&!this.isCellCollapsed(b))&&(a=this.getCellGeometry(a),null!=a&&!a.relative&&(c.width<a.x+a.width||c.height<a.y+a.height)))c=c.clone(),c.width=Math.max(c.width,a.x+a.width),c.height=Math.max(c.height,a.y+a.height),this.cellsResized([b],[c],!1)}}; +(e.width=k,e.height=l);this.model.isVertex(a)?this.cellResized(a,e,!0,d):this.model.setGeometry(a,e)}}; +mxGraph.prototype.extendParent=function(a){if(null!==a){var b=this.model.getParent(a),c=this.getCellGeometry(b);b&&(c&&!this.isCellCollapsed(b))&&(a=this.getCellGeometry(a),null!==a&&!a.relative&&(c=c.clone(),c.width<a.x+a.width?c.width=a.x+a.width:0>a.x&&(c.width=0>a.x+a.width?-a.x+c.width:0===c.width?a.width:-a.x+c.width),c.height<a.y+a.height?c.height=a.y+a.height:0>a.y&&(c.height=0>a.y+a.height?-a.y+c.height:0===c.height?a.height:-a.y+c.height),this.cellsResized([b],[c],!1)))}}; mxGraph.prototype.importCells=function(a,b,c,d,e,f){return this.moveCells(a,b,c,!0,d,e,f)}; mxGraph.prototype.moveCells=function(a,b,c,d,e,f,g){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:!1;if(null!=a&&(0!=b||0!=c||d||null!=e)){a=this.model.getTopmostCells(a);this.model.beginUpdate();try{for(var h=new mxDictionary,k=0;k<a.length;k++)h.put(a[k],!0);for(var l=mxUtils.bind(this,function(a){for(;null!=a;){if(h.get(a))return!0;a=this.model.getParent(a)}return!1}),m=[],k=0;k<a.length;k++){var n=this.getCellGeometry(a[k]),p=this.model.getParent(a[k]);(null==n||!n.relative||!this.model.isEdge(p)|| !l(this.model.getTerminal(p,!0))&&!l(this.model.getTerminal(p,!1)))&&m.push(a[k])}a=m;d&&(a=this.cloneCells(a,this.isCloneInvalidEdges(),g),null==e&&(e=this.getDefaultParent()));var r=this.isAllowNegativeCoordinates();null!=e&&this.setAllowNegativeCoordinates(!0);this.cellsMoved(a,b,c,!d&&this.isDisconnectOnMove()&&this.isAllowDanglingEdges(),null==e,this.isExtendParentsOnMove()&&null==e);this.setAllowNegativeCoordinates(r);if(null!=e){var q=this.model.getChildCount(e);this.cellsAdded(a,e,q,null, @@ -1441,8 +1442,8 @@ g=this.getAlignmentTolerance();if(0<g){var h=this.graph.view.getState(b);if(null mxConnectionHandler.prototype.createEdge=function(a,b,c,d){var e=null;null!=this.factoryMethod&&(e=this.factoryMethod(b,c,d));null==e&&(e=new mxCell(a||""),e.setEdge(!0),e.setStyle(d),a=new mxGeometry,a.relative=!0,e.setGeometry(a));return e}; mxConnectionHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.marker&&(this.marker.destroy(),this.marker=null);null!=this.constraintHandler&&(this.constraintHandler.destroy(),this.constraintHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getView().removeListener(this.changeHandler),this.changeHandler=null);null!=this.drillHandler&&(this.graph.removeListener(this.drillHandler), this.graph.getView().removeListener(this.drillHandler),this.drillHandler=null);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null)}; -function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,c){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)&&this.reset()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5);mxConstraintHandler.prototype.graph=null; -mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; +function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,c){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)?this.reset():this.redraw()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5); +mxConstraintHandler.prototype.graph=null;mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; mxConstraintHandler.prototype.reset=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusIcons=null}null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null);this.focusPoints=this.currentFocus=this.currentPoint=this.currentFocusArea=this.currentConstraint=null};mxConstraintHandler.prototype.getTolerance=function(a){return this.graph.getTolerance()}; mxConstraintHandler.prototype.getImageForConstraint=function(a,b,c){return this.pointImage};mxConstraintHandler.prototype.isEventIgnored=function(a,b){return!1};mxConstraintHandler.prototype.isStateIgnored=function(a,b){return!1};mxConstraintHandler.prototype.destroyIcons=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusPoints=this.focusIcons=null}}; mxConstraintHandler.prototype.destroyFocusHighlight=function(){null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null)};mxConstraintHandler.prototype.isKeepFocusEvent=function(a){return mxEvent.isShiftDown(a.getEvent())}; @@ -1451,6 +1452,8 @@ mxConstraintHandler.prototype.update=function(a,b,c,d){if(this.isEnabled()&&!thi d));if(!this.isKeepFocusEvent(a)&&(null==this.currentFocusArea||null==this.currentFocus||null!=h||!this.graph.getModel().isVertex(this.currentFocus.cell)||!mxUtils.intersects(this.currentFocusArea,e))&&h!=this.currentFocus)this.currentFocus=this.currentFocusArea=null,this.setFocus(a,h,b);a=this.currentPoint=this.currentConstraint=null;if(null!=this.focusIcons&&null!=this.constraints&&(null==h||this.currentFocus==h))for(var g=e.getCenterX(),k=e.getCenterY(),l=0;l<this.focusIcons.length;l++){var m= g-this.focusIcons[l].bounds.getCenterX(),n=k-this.focusIcons[l].bounds.getCenterY(),m=m*m+n*n;if((this.intersects(this.focusIcons[l],e,b,c)||null!=d&&this.intersects(this.focusIcons[l],f,b,c))&&(null==a||m<a)){this.currentConstraint=this.constraints[l];this.currentPoint=this.focusPoints[l];a=m;m=this.focusIcons[l].bounds.clone();m.grow(mxConstants.HIGHLIGHT_SIZE);mxClient.IS_IE&&(m.grow(1),m.width-=1,m.height-=1);if(null==this.focusHighlight){n=this.createHighlightShape();n.dialect=this.graph.dialect== mxConstants.DIALECT_SVG?mxConstants.DIALECT_SVG:mxConstants.DIALECT_VML;n.pointerEvents=!1;n.init(this.graph.getView().getOverlayPane());this.focusHighlight=n;var p=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:h});mxEvent.redirectMouseEvents(n.node,this.graph,p)}this.focusHighlight.bounds=m;this.focusHighlight.redraw()}}null==this.currentConstraint&&this.destroyFocusHighlight()}else this.currentPoint=this.currentFocus=this.currentConstraint=null}; +mxConstraintHandler.prototype.redraw=function(){if(null!=this.currentFocus&&null!=this.constraints&&null!=this.focusIcons){var a=this.graph.view.getState(this.currentFocus.cell);this.currentFocus=a;this.currentFocusArea=new mxRectangle(a.x,a.y,a.width,a.height);for(var b=0;b<this.constraints.length;b++){var c=this.graph.getConnectionPoint(a,this.constraints[b]),d=this.getImageForConstraint(a,this.constraints[b],c),d=new mxRectangle(Math.round(c.x-d.width/2),Math.round(c.y-d.height/2),d.width,d.height); +this.focusIcons[b].bounds=d;this.focusIcons[b].redraw();this.currentFocusArea.add(this.focusIcons[b].bounds);this.focusPoints[b]=c}}}; mxConstraintHandler.prototype.setFocus=function(a,b,c){this.constraints=null!=b&&!this.isStateIgnored(b,c)&&this.graph.isCellConnectable(b.cell)?this.isEnabled()?this.graph.getAllConnectionConstraints(b,c)||[]:[]:null;if(null!=this.constraints){this.currentFocus=b;this.currentFocusArea=new mxRectangle(b.x,b.y,b.width,b.height);if(null!=this.focusIcons){for(c=0;c<this.focusIcons.length;c++)this.focusIcons[c].destroy();this.focusPoints=this.focusIcons=null}this.focusPoints=[];this.focusIcons=[];for(c= 0;c<this.constraints.length;c++){var d=this.graph.getConnectionPoint(b,this.constraints[c]),e=this.getImageForConstraint(b,this.constraints[c],d),f=e.src,e=new mxRectangle(Math.round(d.x-e.width/2),Math.round(d.y-e.height/2),e.width,e.height),f=new mxImageShape(e,f);f.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG;f.preserveImageAspect=!1;f.init(this.graph.getView().getDecoratorPane());(mxClient.IS_QUIRKS||8==document.documentMode)&&mxEvent.addListener(f.node, "dragstart",function(a){mxEvent.consume(a);return!1});null!=f.node.previousSibling&&f.node.parentNode.insertBefore(f.node,f.node.parentNode.firstChild);e=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:b});f.redraw();mxEvent.redirectMouseEvents(f.node,this.graph,e);this.currentFocusArea.add(f.bounds);this.focusIcons.push(f);this.focusPoints.push(d)}this.currentFocusArea.grow(this.getTolerance(a))}else this.destroyIcons(),this.destroyFocusHighlight()}; @@ -1655,7 +1658,7 @@ a.length-1;0<=f;f--)if(0==f||a[f]!=e[f-1]){a[f].setAttribute("width",b);a[f].set "_blank");break}}};Graph.prototype.isCellResizable=function(a){var b=mxGraph.prototype.isCellResizable.apply(this,arguments),c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return b||"0"!=mxUtils.getValue(c,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==c[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,b){null==b&&(b=this.getSelectionCells());if(null!=b&&1<b.length){for(var c=[],d=null,e=null,f=0;f<b.length;f++)if(this.getModel().isVertex(b[f])){var g=this.view.getState(b[f]); if(null!=g){var h=a?g.getCenterX():g.getCenterY(),d=null!=d?Math.max(d,h):h,e=null!=e?Math.min(e,h):h;c.push(g)}}if(2<c.length){c.sort(function(b,c){return a?b.x-c.x:b.y-c.y});g=this.view.translate;h=this.view.scale;e=e/h-(a?g.x:g.y);d=d/h-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var k=(d-e)/(c.length-1),d=e,f=1;f<c.length-1;f++){var l=this.getCellGeometry(c[f].cell),d=d+k;null!=l&&(l=l.clone(),a?l.x=Math.round(d-l.width/2):l.y=Math.round(d-l.height/2),this.getModel().setGeometry(c[f].cell, l))}}finally{this.getModel().endUpdate()}}}return b};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var b=this.cloneCells(a),c=0;c<b.length;c++){var d=this.view.getState(a[c]);if(null!=d){var e=this.getCellGeometry(b[c]);null!=e&&e.relative&&(e.relative=!1,e.x=d.x/d.view.scale-d.view.translate.x,e.y=d.y/d.view.scale-d.view.translate.y)}}for(var d=new mxCodec,e=new mxGraphModel,f=e.getChildAt(e.getRoot(), -0),c=0;c<a.length;c++)e.add(f,b[c]);return d.encode(e)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g){b=null!=b?b:1;c=null!=c?c:1;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var h=this.createSvgImageExport(), +0),c=0;c<a.length;c++)e.add(f,b[c]);return d.encode(e)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g){b=null!=b?b:1;c=null!=c?c:0;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var h=this.createSvgImageExport(), k=h.drawCellState;h.drawCellState=function(a,b){(f||a.view.graph.isCellSelected(a.cell))&&k.apply(this,arguments)};var l=this.view.scale,m=mxUtils.createXmlDocument(),n=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"svg"):m.createElement("svg");null!=a&&(null!=n.style?n.style.backgroundColor=a:n.setAttribute("style","background-color:"+a));null==m.createElementNS?(n.setAttribute("xmlns",mxConstants.NS_SVG),n.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):n.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink",mxConstants.NS_XLINK);a=b/l;n.setAttribute("width",Math.ceil(d.width*a)+2*c+"px");n.setAttribute("height",Math.ceil(d.height*a)+2*c+"px");n.setAttribute("version","1.1");var p=n;e&&(p=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"g"):m.createElement("g"),p.setAttribute("transform","translate(0.5,0.5)"),n.appendChild(p));m.appendChild(n);m=new mxSvgCanvas2D(p);m.foOffset=e?-0.5:0;m.textOffset=e?-0.5:0;m.translate(Math.floor((c/b-d.x)/l),Math.floor((c/b-d.y)/l));var q= m.createAlternateContent;m.createAlternateContent=function(a,b,c,d,e,f,g,h,k,l,m,n,p){var s=this.state;if(null!=this.foAltText&&(0==d||0!=s.fontSize&&f.length<5*d/s.fontSize)){var r=this.createElement("text");r.setAttribute("x",Math.round(d/2));r.setAttribute("y",Math.round((e+s.fontSize)/2));r.setAttribute("fill",s.fontColor||"black");r.setAttribute("text-anchor","middle");r.setAttribute("font-size",Math.round(s.fontSize)+"px");r.setAttribute("font-family",s.fontFamily);(s.fontStyle&mxConstants.FONT_BOLD)== diff --git a/war/js/mxgraph/Dialogs.js b/war/js/mxgraph/Dialogs.js index 43bc2a1d..c40794db 100644 --- a/war/js/mxgraph/Dialogs.js +++ b/war/js/mxgraph/Dialogs.js @@ -1704,7 +1704,7 @@ var ExportDialog = function(editorUi) var table = document.createElement('table'); var tbody = document.createElement('tbody'); - table.setAttribute('cellpadding', '2'); + table.setAttribute('cellpadding', (mxClient.IS_SF) ? '0' : '2'); row = document.createElement('tr'); diff --git a/war/js/mxgraph/Format.js b/war/js/mxgraph/Format.js index 9966f86b..0885d489 100644 --- a/war/js/mxgraph/Format.js +++ b/war/js/mxgraph/Format.js @@ -35,10 +35,7 @@ Format.prototype.init = function() graph.getSelectionModel().addListener(mxEvent.CHANGE, this.update); graph.addListener(mxEvent.EDITING_STARTED, this.update); graph.addListener(mxEvent.EDITING_STOPPED, this.update); - graph.getModel().addListener(mxEvent.CHANGE, mxUtils.bind(this, function() - { - this.clearSelectionState(); - })); + graph.getModel().addListener(mxEvent.CHANGE, this.update); graph.addListener(mxEvent.ROOT, mxUtils.bind(this, function() { this.refresh(); diff --git a/war/js/mxgraph/Graph.js b/war/js/mxgraph/Graph.js index 94dde920..804a0909 100644 --- a/war/js/mxgraph/Graph.js +++ b/war/js/mxgraph/Graph.js @@ -4927,7 +4927,7 @@ if (typeof mxVertexHandler != 'undefined') Graph.prototype.getSvg = function(background, scale, border, nocrop, crisp, ignoreSelection, showText) { scale = (scale != null) ? scale : 1; - border = (border != null) ? border : 1; + border = (border != null) ? border : 0; crisp = (crisp != null) ? crisp : true; ignoreSelection = (ignoreSelection != null) ? ignoreSelection : true; showText = (showText != null) ? showText : true; diff --git a/war/js/reader.min.js b/war/js/reader.min.js index 7a02002a..be356e79 100644 --- a/war/js/reader.min.js +++ b/war/js/reader.min.js @@ -184,7 +184,7 @@ f)+"\n"+u+"}":"{"+v.join(",")+"}";f=u;return r}}"function"!==typeof Date.prototy e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})}); "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();var mxBasePath="https://www.draw.io/mxgraph/",mxLoadStylesheets=mxLoadResources=!1,mxLanguage="en";window.urlParams=window.urlParams||{};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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"6.0.2.12",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"6.0.2.13",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| @@ -224,25 +224,25 @@ null;if("object"==typeof b)for(var d=mxUtils.indexOf(b,a);0<=d;)b.splice(d,1),c= b&&c.push(d),d=d.nextSibling;return c},importNode:function(a,b,c){if(mxClient.IS_IE&&(null==document.documentMode||10>document.documentMode))switch(b.nodeType){case 1:var d=a.createElement(b.nodeName);if(b.attributes&&0<b.attributes.length){for(var e=0;e<b.attributes.length;e++)d.setAttribute(b.attributes[e].nodeName,b.getAttribute(b.attributes[e].nodeName));if(c&&b.childNodes&&0<b.childNodes.length)for(e=0;e<b.childNodes.length;e++)d.appendChild(mxUtils.importNode(a,b.childNodes[e],c))}return d; case 3:case 4:case 8:return a.createTextNode(b.value)}else return a.importNode(b,c)},createXmlDocument:function(){var a=null;document.implementation&&document.implementation.createDocument?a=document.implementation.createDocument("","",null):window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLDOM"));return a},parseXml:function(){return window.DOMParser?function(a){return(new DOMParser).parseFromString(a,"text/xml")}:function(a){var b=mxUtils.createXmlDocument();b.async=!1;b.validateOnParse=!1; b.resolveExternals=!1;b.loadXML(a);return b}}(),clearSelection:function(){return document.selection?function(){document.selection.empty()}:window.getSelection?function(){window.getSelection().removeAllRanges()}:function(){}}(),getPrettyXml:function(a,b,c){var d=[];if(null!=a)if(b=b||" ",c=c||"",a.nodeType==mxConstants.NODETYPE_TEXT)d.push(a.value);else{d.push(c+"\x3c"+a.nodeName);var e=a.attributes;if(null!=e)for(var f=0;f<e.length;f++){var g=mxUtils.htmlEntities(e[f].value);d.push(" "+e[f].nodeName+ -'\x3d"'+g+'"')}e=a.firstChild;if(null!=e){for(d.push("\x3e\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d=b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=(a||"").replace(/&/g, -"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==b||b)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a):null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return c=c.replace(/\n/g,b||"\x26#xa;")},extractTextWithWhitespace:function(a){for(var b= -!1,c=[],d=0;a[d];d++){var e=a[d];if(3===e.nodeType||4===e.nodeType){if(11==document.documentMode&&d==a.length-1&&0==e.nodeValue.length)break;c.push(e.nodeValue+(null==e.nextSibling||3!=e.nextSibling.nodeType?"\n":""));b=!0}else 8!==e.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==e.nodeName&&0==e.innerHTML.length||!b&&"BR"==e.nodeName||"DIV"==e.nodeName&&"\x3cbr\x3e"==e.innerHTML?c.push("\n"):c.push(mxUtils.extractTextWithWhitespace(e.childNodes)),b=!1)}return c.join("")},replaceTrailingNewlines:function(a, -b){for(var c="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),c+=b;return a+c},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,b){void 0!==a.innerText?a.innerText=b:a[void 0===a.textContent?"text":"textContent"]=b},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(), -getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var b=[];b.push("\x3c"+a.nodeName);var c=a.attributes;if(null!=c)for(var d=0;d<c.length;d++){var e=c[d].value;null!=e&&0<e.length&&(b.push(" "),b.push(c[d].nodeName),b.push('\x3d"'),b.push(e),b.push('"'))}0==a.innerHTML.length?b.push("/\x3e"):(b.push("\x3e"),b.push(a.innerHTML),b.push("\x3c/"+a.nodeName+"\x3e"));return b.join("")}return""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a): -""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c=null,d=0;d<b;d++)null!=a&&(c=a.ownerDocument.createElement("br"),a.appendChild(c));return c},button:function(a,b,c){c=null!=c?c:document;c=c.createElement("button");mxUtils.write(c,a);mxEvent.addListener(c,"click",function(a){b(a)}); -return c},para:function(a,b){var c=document.createElement("p");mxUtils.write(c,b);null!=a&&a.appendChild(c);return c},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,b,c,d,e){return mxUtils.link(a,b,function(){c.execute(d)},e)},linkInvoke:function(a,b,c,d,e,f){return mxUtils.link(a,b,function(){c[d](e)},f)},link:function(a,b,c,d){var e= -document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},fit:function(a){var b=parseInt(a.offsetLeft),c=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),e=d.x,d=d.y,f=document.body,g=document.documentElement,h=e+(f.clientWidth||g.clientWidth);b+c>h&&(a.style.left=Math.max(e,h-c)+"px");b=parseInt(a.offsetTop); -c=parseInt(a.offsetHeight);f=d+Math.max(f.clientHeight||0,g.clientHeight);b+c>f&&(a.style.top=Math.max(d,f-c)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},h=0;h<a.length;h++)(function(a,c){mxUtils.get(a,function(a){var f=a.getStatus();200>f||299<f?g():(e[c]=a,d--,0==d&& -b(e))},g)})(a[h],h);0==d&&b(e)},post:function(a,b,c,d){return(new mxXmlRequest(a,b)).send(c,d)},submit:function(a,b,c,d){return(new mxXmlRequest(a,b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c||0);return Number(a)},getColor:function(a,b,c){a=null!=a?a[b]:null;null== -a?a=c:a==mxConstants.NONE&&(a=null);return a},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,e;for(e in a)if(e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e)))d[e]=!c&&"object"==typeof a[e]?mxUtils.clone(a[e]):a[e]}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b)for(var c=0;c<a.length;c++)if(a[c]==b[c]||null!=a[c]&&!a[c].equals(b[c]))return!1; -return!0},equalEntries:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){var c=0,d;for(d in b)c++;for(d in a)if(c--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(b[d]))&&a[d]!=b[d])return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype= -b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b="",c;for(c in a)try{if(null==a[c])b+=c+" \x3d [null]\n";else if("function"==typeof a[c])b+=c+" \x3d\x3e [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" \x3d\x3e ["+d+"]\n");else b+=c+" \x3d "+a[c]+"\n"}catch(e){b+=c+"\x3d"+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g, -h,k){h-=a;k-=b;if(0===c||0===d)return p;c=Math.abs(c);d=Math.abs(d);var l=-h/2,m=-k/2,n=Math.cos(e*Math.PI/180),p=Math.sin(e*Math.PI/180);e=n*l+p*m;var l=-1*p*l+n*m,m=e*e,r=l*l,q=c*c,u=d*d,v=m/q+r/u;1<v?(c*=Math.sqrt(v),d*=Math.sqrt(v),f=0):(v=1,f===g&&(v=-1),f=v*Math.sqrt((q*u-q*r-u*m)/(q*r+u*m)));m=f*c*l/d;r=-1*f*d*e/c;h=n*m-p*r+h/2;k=p*m+n*r+k/2;q=Math.atan2((l-r)/d,(e-m)/c)-Math.atan2(0,1);f=0<=q?q:2*Math.PI+q;q=Math.atan2((-l-r)/d,(-e-m)/c)-Math.atan2((l-r)/d,(e-m)/c);e=0<=q?q:2*Math.PI+q;0== -g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;l=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);m=n*c;n*=d;c*=p;d*=p;for(var t=Math.cos(f),y=Math.sin(f),r=-l*(m*y+d*t),q=-l*(c*y-n*t),v=u=0,p=[],z=0;z<g;++z){f+=e;var t=Math.cos(f),y=Math.sin(f),u=m*t-d*y+h,v=c*t+n*y+k,w=-l*(m*y+d*t),t=-l*(c*y-n*t),y=6*z;p[y]=Number(r+a);p[y+1]=Number(q+b);p[y+2]=Number(u-w+a);p[y+3]=Number(v-t+b);p[y+4]=Number(u+a);p[y+5]=Number(v+b);r=u+w;q=v+t}return p},getBoundingBox:function(a, -b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x,b.y,0,0));d.add(new mxRectangle(g.x, -g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45< -c?(a=1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break;case 3:b|= -mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, +'\x3d"'+g+'"')}e=a.firstChild;if(null!=e){for(d.push("\x3e\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d=b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=String(a||""); +a=a.replace(/&/g,"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==b||b)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a):null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return c=c.replace(/\n/g,b|| +"\x26#xa;")},extractTextWithWhitespace:function(a){for(var b=!1,c=[],d=0;a[d];d++){var e=a[d];if(3===e.nodeType||4===e.nodeType){if(11==document.documentMode&&d==a.length-1&&0==e.nodeValue.length)break;c.push(e.nodeValue+(null==e.nextSibling||3!=e.nextSibling.nodeType?"\n":""));b=!0}else 8!==e.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==e.nodeName&&0==e.innerHTML.length||!b&&"BR"==e.nodeName||"DIV"==e.nodeName&&"\x3cbr\x3e"==e.innerHTML?c.push("\n"):c.push(mxUtils.extractTextWithWhitespace(e.childNodes)), +b=!1)}return c.join("")},replaceTrailingNewlines:function(a,b){for(var c="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),c+=b;return a+c},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,b){void 0!==a.innerText?a.innerText=b:a[void 0===a.textContent?"text":"textContent"]=b},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!= +a?(new XMLSerializer).serializeToString(a):""}}(),getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var b=[];b.push("\x3c"+a.nodeName);var c=a.attributes;if(null!=c)for(var d=0;d<c.length;d++){var e=c[d].value;null!=e&&0<e.length&&(b.push(" "),b.push(c[d].nodeName),b.push('\x3d"'),b.push(e),b.push('"'))}0==a.innerHTML.length?b.push("/\x3e"):(b.push("\x3e"),b.push(a.innerHTML),b.push("\x3c/"+a.nodeName+"\x3e"));return b.join("")}return""}: +function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c=null,d=0;d<b;d++)null!=a&&(c=a.ownerDocument.createElement("br"),a.appendChild(c));return c},button:function(a,b,c){c=null!=c?c:document;c=c.createElement("button"); +mxUtils.write(c,a);mxEvent.addListener(c,"click",function(a){b(a)});return c},para:function(a,b){var c=document.createElement("p");mxUtils.write(c,b);null!=a&&a.appendChild(c);return c},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,b,c,d,e){return mxUtils.link(a,b,function(){c.execute(d)},e)},linkInvoke:function(a,b,c,d,e,f){return mxUtils.link(a, +b,function(){c[d](e)},f)},link:function(a,b,c,d){var e=document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},fit:function(a){var b=parseInt(a.offsetLeft),c=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),e=d.x,d=d.y,f=document.body,g=document.documentElement,h=e+(f.clientWidth||g.clientWidth); +b+c>h&&(a.style.left=Math.max(e,h-c)+"px");b=parseInt(a.offsetTop);c=parseInt(a.offsetHeight);f=d+Math.max(f.clientHeight||0,g.clientHeight);b+c>f&&(a.style.top=Math.max(d,f-c)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},h=0;h<a.length;h++)(function(a,c){mxUtils.get(a, +function(a){var f=a.getStatus();200>f||299<f?g():(e[c]=a,d--,0==d&&b(e))},g)})(a[h],h);0==d&&b(e)},post:function(a,b,c,d){return(new mxXmlRequest(a,b)).send(c,d)},submit:function(a,b,c,d){return(new mxXmlRequest(a,b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c|| +0);return Number(a)},getColor:function(a,b,c){a=null!=a?a[b]:null;null==a?a=c:a==mxConstants.NONE&&(a=null);return a},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,e;for(e in a)if(e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e)))d[e]=!c&&"object"==typeof a[e]?mxUtils.clone(a[e]):a[e]}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!= +a&&null!=b)for(var c=0;c<a.length;c++)if(a[c]==b[c]||null!=a[c]&&!a[c].equals(b[c]))return!1;return!0},equalEntries:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){var c=0,d;for(d in b)c++;for(d in a)if(c--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(b[d]))&&a[d]!=b[d])return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"== +typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b="",c;for(c in a)try{if(null==a[c])b+=c+" \x3d [null]\n";else if("function"==typeof a[c])b+=c+" \x3d\x3e [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" \x3d\x3e ["+d+"]\n");else b+=c+" \x3d "+a[c]+"\n"}catch(e){b+=c+"\x3d"+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180* +a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,h,k){h-=a;k-=b;if(0===c||0===d)return p;c=Math.abs(c);d=Math.abs(d);var l=-h/2,m=-k/2,n=Math.cos(e*Math.PI/180),p=Math.sin(e*Math.PI/180);e=n*l+p*m;var l=-1*p*l+n*m,m=e*e,r=l*l,q=c*c,u=d*d,v=m/q+r/u;1<v?(c*=Math.sqrt(v),d*=Math.sqrt(v),f=0):(v=1,f===g&&(v=-1),f=v*Math.sqrt((q*u-q*r-u*m)/(q*r+u*m)));m=f*c*l/d;r=-1*f*d*e/c;h=n*m-p*r+h/2;k=p*m+n*r+k/2;q=Math.atan2((l-r)/d,(e-m)/c)-Math.atan2(0,1);f=0<=q?q:2*Math.PI+q;q=Math.atan2((-l-r)/d,(-e-m)/c)-Math.atan2((l- +r)/d,(e-m)/c);e=0<=q?q:2*Math.PI+q;0==g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;l=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);m=n*c;n*=d;c*=p;d*=p;for(var t=Math.cos(f),y=Math.sin(f),r=-l*(m*y+d*t),q=-l*(c*y-n*t),v=u=0,p=[],z=0;z<g;++z){f+=e;var t=Math.cos(f),y=Math.sin(f),u=m*t-d*y+h,v=c*t+n*y+k,w=-l*(m*y+d*t),t=-l*(c*y-n*t),y=6*z;p[y]=Number(r+a);p[y+1]=Number(q+b);p[y+2]=Number(u-w+a);p[y+3]=Number(v-t+b);p[y+4]=Number(u+a);p[y+5]=Number(v+b);r= +u+w;q=v+t}return p},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x, +b.y,0,0));d.add(new mxRectangle(g.x,g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION, +0));a=0;45<c?(a=1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break; +case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, reversePortConstraints:function(a){var b=0,b=(a&mxConstants.DIRECTION_MASK_WEST)<<3,b=b|(a&mxConstants.DIRECTION_MASK_NORTH)<<1,b=b|(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return b|=(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,b,c){var d=-1;if(0<a.absolutePoints.length)for(var e=a.absolutePoints[0],f=null,g=1;g<a.absolutePoints.length;g++){var h=a.absolutePoints[g],e=mxUtils.ptSegDistSq(e.x,e.y,h.x,h.y,b,c);if(null==f||e<f)f=e,d=g-1;e=h}return d},rectangleIntersectsSegment:function(a, b,c){var d=a.y,e=a.x,f=d+a.height,g=e+a.width;a=b.x;var h=c.x;b.x>c.x&&(a=c.x,h=b.x);h>g&&(h=g);a<e&&(a=e);if(a>h)return!1;var e=b.y,g=c.y,k=c.x-b.x;1E-7<Math.abs(k)&&(c=(c.y-b.y)/k,b=b.y-c*b.x,e=c*a+b,g=c*h+b);e>g&&(b=g,g=e,e=b);g>f&&(g=f);e<d&&(e=d);return e>g?!1:!0},contains:function(a,b,c){return a.x<=b&&a.x+a.width>=b&&a.y<=c&&a.y+a.height>=c},intersects:function(a,b){var c=a.width,d=a.height,e=b.width,f=b.height;if(0>=e||0>=f||0>=c||0>=d)return!1;var g=a.x,h=a.y,k=b.x,l=b.y,e=e+k,f=f+l,c=c+ g,d=d+h;return(e<k||e>g)&&(f<l||f>h)&&(c<g||c>k)&&(d<h||d>l)},intersectsHotspot:function(a,b,c,d,e,f){d=null!=d?d:1;e=null!=e?e:0;f=null!=f?f:0;if(0<d){var g=a.getCenterX(),h=a.getCenterY(),k=a.width,l=a.height,m=mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE)*a.view.scale;0<m&&(mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,!0)?(h=a.y+m/2,l=m):(g=a.x+m/2,k=m));k=Math.max(e,k*d);l=Math.max(e,l*d);0<f&&(k=Math.min(k,f),l=Math.min(l,f));d=new mxRectangle(g-k/2,h-l/2,k,l);g=mxUtils.toRadians(mxUtils.getValue(a.style, @@ -1184,7 +1184,8 @@ mxGraph.prototype.cellsResized=function(a,b,c){c=null!=c?c:!1;if(null!=a&&null!= mxGraph.prototype.cellResized=function(a,b,c,d){var e=this.model.getGeometry(a);if(null!=e&&(e.x!=b.x||e.y!=b.y||e.width!=b.width||e.height!=b.height)){e=e.clone();!c&&e.relative?(c=e.offset,null!=c&&(c.x+=b.x-e.x,c.y+=b.y-e.y)):(e.x=b.x,e.y=b.y);e.width=b.width;e.height=b.height;!e.relative&&(this.model.isVertex(a)&&!this.isAllowNegativeCoordinates())&&(e.x=Math.max(0,e.x),e.y=Math.max(0,e.y));this.model.beginUpdate();try{d&&this.resizeChildCells(a,e),this.model.setGeometry(a,e),this.constrainChildCells(a)}finally{this.model.endUpdate()}}}; mxGraph.prototype.resizeChildCells=function(a,b){for(var c=this.model.getGeometry(a),d=b.width/c.width,c=b.height/c.height,e=this.model.getChildCount(a),f=0;f<e;f++)this.scaleCell(this.model.getChildAt(a,f),d,c,!0)};mxGraph.prototype.constrainChildCells=function(a){for(var b=this.model.getChildCount(a),c=0;c<b;c++)this.constrainChild(this.model.getChildAt(a,c))}; mxGraph.prototype.scaleCell=function(a,b,c,d){var e=this.model.getGeometry(a);if(null!=e){var f=this.view.getState(a),f=null!=f?f.style:this.getCellStyle(a),e=e.clone(),g=e.x,h=e.y,k=e.width,l=e.height;e.scale(b,c,"fixed"==f[mxConstants.STYLE_ASPECT]);"1"==f[mxConstants.STYLE_RESIZE_WIDTH]?e.width=k*b:"0"==f[mxConstants.STYLE_RESIZE_WIDTH]&&(e.width=k);"1"==f[mxConstants.STYLE_RESIZE_HEIGHT]?e.height=l*c:"0"==f[mxConstants.STYLE_RESIZE_HEIGHT]&&(e.height=l);this.isCellMovable(a)||(e.x=g,e.y=h);this.isCellResizable(a)|| -(e.width=k,e.height=l);this.model.isVertex(a)?this.cellResized(a,e,!0,d):this.model.setGeometry(a,e)}};mxGraph.prototype.extendParent=function(a){if(null!=a){var b=this.model.getParent(a),c=this.getCellGeometry(b);if(null!=b&&(null!=c&&!this.isCellCollapsed(b))&&(a=this.getCellGeometry(a),null!=a&&!a.relative&&(c.width<a.x+a.width||c.height<a.y+a.height)))c=c.clone(),c.width=Math.max(c.width,a.x+a.width),c.height=Math.max(c.height,a.y+a.height),this.cellsResized([b],[c],!1)}}; +(e.width=k,e.height=l);this.model.isVertex(a)?this.cellResized(a,e,!0,d):this.model.setGeometry(a,e)}}; +mxGraph.prototype.extendParent=function(a){if(null!==a){var b=this.model.getParent(a),c=this.getCellGeometry(b);b&&(c&&!this.isCellCollapsed(b))&&(a=this.getCellGeometry(a),null!==a&&!a.relative&&(c=c.clone(),c.width<a.x+a.width?c.width=a.x+a.width:0>a.x&&(c.width=0>a.x+a.width?-a.x+c.width:0===c.width?a.width:-a.x+c.width),c.height<a.y+a.height?c.height=a.y+a.height:0>a.y&&(c.height=0>a.y+a.height?-a.y+c.height:0===c.height?a.height:-a.y+c.height),this.cellsResized([b],[c],!1)))}}; mxGraph.prototype.importCells=function(a,b,c,d,e,f){return this.moveCells(a,b,c,!0,d,e,f)}; mxGraph.prototype.moveCells=function(a,b,c,d,e,f,g){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:!1;if(null!=a&&(0!=b||0!=c||d||null!=e)){a=this.model.getTopmostCells(a);this.model.beginUpdate();try{for(var h=new mxDictionary,k=0;k<a.length;k++)h.put(a[k],!0);for(var l=mxUtils.bind(this,function(a){for(;null!=a;){if(h.get(a))return!0;a=this.model.getParent(a)}return!1}),m=[],k=0;k<a.length;k++){var n=this.getCellGeometry(a[k]),p=this.model.getParent(a[k]);(null==n||!n.relative||!this.model.isEdge(p)|| !l(this.model.getTerminal(p,!0))&&!l(this.model.getTerminal(p,!1)))&&m.push(a[k])}a=m;d&&(a=this.cloneCells(a,this.isCloneInvalidEdges(),g),null==e&&(e=this.getDefaultParent()));var r=this.isAllowNegativeCoordinates();null!=e&&this.setAllowNegativeCoordinates(!0);this.cellsMoved(a,b,c,!d&&this.isDisconnectOnMove()&&this.isAllowDanglingEdges(),null==e,this.isExtendParentsOnMove()&&null==e);this.setAllowNegativeCoordinates(r);if(null!=e){var q=this.model.getChildCount(e);this.cellsAdded(a,e,q,null, @@ -1441,8 +1442,8 @@ g=this.getAlignmentTolerance();if(0<g){var h=this.graph.view.getState(b);if(null mxConnectionHandler.prototype.createEdge=function(a,b,c,d){var e=null;null!=this.factoryMethod&&(e=this.factoryMethod(b,c,d));null==e&&(e=new mxCell(a||""),e.setEdge(!0),e.setStyle(d),a=new mxGeometry,a.relative=!0,e.setGeometry(a));return e}; mxConnectionHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.marker&&(this.marker.destroy(),this.marker=null);null!=this.constraintHandler&&(this.constraintHandler.destroy(),this.constraintHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getView().removeListener(this.changeHandler),this.changeHandler=null);null!=this.drillHandler&&(this.graph.removeListener(this.drillHandler), this.graph.getView().removeListener(this.drillHandler),this.drillHandler=null);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null)}; -function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,c){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)&&this.reset()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5);mxConstraintHandler.prototype.graph=null; -mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; +function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,c){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)?this.reset():this.redraw()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5); +mxConstraintHandler.prototype.graph=null;mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; mxConstraintHandler.prototype.reset=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusIcons=null}null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null);this.focusPoints=this.currentFocus=this.currentPoint=this.currentFocusArea=this.currentConstraint=null};mxConstraintHandler.prototype.getTolerance=function(a){return this.graph.getTolerance()}; mxConstraintHandler.prototype.getImageForConstraint=function(a,b,c){return this.pointImage};mxConstraintHandler.prototype.isEventIgnored=function(a,b){return!1};mxConstraintHandler.prototype.isStateIgnored=function(a,b){return!1};mxConstraintHandler.prototype.destroyIcons=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusPoints=this.focusIcons=null}}; mxConstraintHandler.prototype.destroyFocusHighlight=function(){null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null)};mxConstraintHandler.prototype.isKeepFocusEvent=function(a){return mxEvent.isShiftDown(a.getEvent())}; @@ -1451,6 +1452,8 @@ mxConstraintHandler.prototype.update=function(a,b,c,d){if(this.isEnabled()&&!thi d));if(!this.isKeepFocusEvent(a)&&(null==this.currentFocusArea||null==this.currentFocus||null!=h||!this.graph.getModel().isVertex(this.currentFocus.cell)||!mxUtils.intersects(this.currentFocusArea,e))&&h!=this.currentFocus)this.currentFocus=this.currentFocusArea=null,this.setFocus(a,h,b);a=this.currentPoint=this.currentConstraint=null;if(null!=this.focusIcons&&null!=this.constraints&&(null==h||this.currentFocus==h))for(var g=e.getCenterX(),k=e.getCenterY(),l=0;l<this.focusIcons.length;l++){var m= g-this.focusIcons[l].bounds.getCenterX(),n=k-this.focusIcons[l].bounds.getCenterY(),m=m*m+n*n;if((this.intersects(this.focusIcons[l],e,b,c)||null!=d&&this.intersects(this.focusIcons[l],f,b,c))&&(null==a||m<a)){this.currentConstraint=this.constraints[l];this.currentPoint=this.focusPoints[l];a=m;m=this.focusIcons[l].bounds.clone();m.grow(mxConstants.HIGHLIGHT_SIZE);mxClient.IS_IE&&(m.grow(1),m.width-=1,m.height-=1);if(null==this.focusHighlight){n=this.createHighlightShape();n.dialect=this.graph.dialect== mxConstants.DIALECT_SVG?mxConstants.DIALECT_SVG:mxConstants.DIALECT_VML;n.pointerEvents=!1;n.init(this.graph.getView().getOverlayPane());this.focusHighlight=n;var p=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:h});mxEvent.redirectMouseEvents(n.node,this.graph,p)}this.focusHighlight.bounds=m;this.focusHighlight.redraw()}}null==this.currentConstraint&&this.destroyFocusHighlight()}else this.currentPoint=this.currentFocus=this.currentConstraint=null}; +mxConstraintHandler.prototype.redraw=function(){if(null!=this.currentFocus&&null!=this.constraints&&null!=this.focusIcons){var a=this.graph.view.getState(this.currentFocus.cell);this.currentFocus=a;this.currentFocusArea=new mxRectangle(a.x,a.y,a.width,a.height);for(var b=0;b<this.constraints.length;b++){var c=this.graph.getConnectionPoint(a,this.constraints[b]),d=this.getImageForConstraint(a,this.constraints[b],c),d=new mxRectangle(Math.round(c.x-d.width/2),Math.round(c.y-d.height/2),d.width,d.height); +this.focusIcons[b].bounds=d;this.focusIcons[b].redraw();this.currentFocusArea.add(this.focusIcons[b].bounds);this.focusPoints[b]=c}}}; mxConstraintHandler.prototype.setFocus=function(a,b,c){this.constraints=null!=b&&!this.isStateIgnored(b,c)&&this.graph.isCellConnectable(b.cell)?this.isEnabled()?this.graph.getAllConnectionConstraints(b,c)||[]:[]:null;if(null!=this.constraints){this.currentFocus=b;this.currentFocusArea=new mxRectangle(b.x,b.y,b.width,b.height);if(null!=this.focusIcons){for(c=0;c<this.focusIcons.length;c++)this.focusIcons[c].destroy();this.focusPoints=this.focusIcons=null}this.focusPoints=[];this.focusIcons=[];for(c= 0;c<this.constraints.length;c++){var d=this.graph.getConnectionPoint(b,this.constraints[c]),e=this.getImageForConstraint(b,this.constraints[c],d),f=e.src,e=new mxRectangle(Math.round(d.x-e.width/2),Math.round(d.y-e.height/2),e.width,e.height),f=new mxImageShape(e,f);f.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG;f.preserveImageAspect=!1;f.init(this.graph.getView().getDecoratorPane());(mxClient.IS_QUIRKS||8==document.documentMode)&&mxEvent.addListener(f.node, "dragstart",function(a){mxEvent.consume(a);return!1});null!=f.node.previousSibling&&f.node.parentNode.insertBefore(f.node,f.node.parentNode.firstChild);e=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:b});f.redraw();mxEvent.redirectMouseEvents(f.node,this.graph,e);this.currentFocusArea.add(f.bounds);this.focusIcons.push(f);this.focusPoints.push(d)}this.currentFocusArea.grow(this.getTolerance(a))}else this.destroyIcons(),this.destroyFocusHighlight()}; @@ -1655,7 +1658,7 @@ a.length-1;0<=f;f--)if(0==f||a[f]!=e[f-1]){a[f].setAttribute("width",b);a[f].set "_blank");break}}};Graph.prototype.isCellResizable=function(a){var b=mxGraph.prototype.isCellResizable.apply(this,arguments),c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return b||"0"!=mxUtils.getValue(c,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==c[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,b){null==b&&(b=this.getSelectionCells());if(null!=b&&1<b.length){for(var c=[],d=null,e=null,f=0;f<b.length;f++)if(this.getModel().isVertex(b[f])){var g=this.view.getState(b[f]); if(null!=g){var h=a?g.getCenterX():g.getCenterY(),d=null!=d?Math.max(d,h):h,e=null!=e?Math.min(e,h):h;c.push(g)}}if(2<c.length){c.sort(function(b,c){return a?b.x-c.x:b.y-c.y});g=this.view.translate;h=this.view.scale;e=e/h-(a?g.x:g.y);d=d/h-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var k=(d-e)/(c.length-1),d=e,f=1;f<c.length-1;f++){var l=this.getCellGeometry(c[f].cell),d=d+k;null!=l&&(l=l.clone(),a?l.x=Math.round(d-l.width/2):l.y=Math.round(d-l.height/2),this.getModel().setGeometry(c[f].cell, l))}}finally{this.getModel().endUpdate()}}}return b};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var b=this.cloneCells(a),c=0;c<b.length;c++){var d=this.view.getState(a[c]);if(null!=d){var e=this.getCellGeometry(b[c]);null!=e&&e.relative&&(e.relative=!1,e.x=d.x/d.view.scale-d.view.translate.x,e.y=d.y/d.view.scale-d.view.translate.y)}}for(var d=new mxCodec,e=new mxGraphModel,f=e.getChildAt(e.getRoot(), -0),c=0;c<a.length;c++)e.add(f,b[c]);return d.encode(e)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g){b=null!=b?b:1;c=null!=c?c:1;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var h=this.createSvgImageExport(), +0),c=0;c<a.length;c++)e.add(f,b[c]);return d.encode(e)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g){b=null!=b?b:1;c=null!=c?c:0;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var h=this.createSvgImageExport(), k=h.drawCellState;h.drawCellState=function(a,b){(f||a.view.graph.isCellSelected(a.cell))&&k.apply(this,arguments)};var l=this.view.scale,m=mxUtils.createXmlDocument(),n=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"svg"):m.createElement("svg");null!=a&&(null!=n.style?n.style.backgroundColor=a:n.setAttribute("style","background-color:"+a));null==m.createElementNS?(n.setAttribute("xmlns",mxConstants.NS_SVG),n.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):n.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink",mxConstants.NS_XLINK);a=b/l;n.setAttribute("width",Math.ceil(d.width*a)+2*c+"px");n.setAttribute("height",Math.ceil(d.height*a)+2*c+"px");n.setAttribute("version","1.1");var p=n;e&&(p=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"g"):m.createElement("g"),p.setAttribute("transform","translate(0.5,0.5)"),n.appendChild(p));m.appendChild(n);m=new mxSvgCanvas2D(p);m.foOffset=e?-0.5:0;m.textOffset=e?-0.5:0;m.translate(Math.floor((c/b-d.x)/l),Math.floor((c/b-d.y)/l));var q= m.createAlternateContent;m.createAlternateContent=function(a,b,c,d,e,f,g,h,k,l,m,n,p){var s=this.state;if(null!=this.foAltText&&(0==d||0!=s.fontSize&&f.length<5*d/s.fontSize)){var r=this.createElement("text");r.setAttribute("x",Math.round(d/2));r.setAttribute("y",Math.round((e+s.fontSize)/2));r.setAttribute("fill",s.fontColor||"black");r.setAttribute("text-anchor","middle");r.setAttribute("font-size",Math.round(s.fontSize)+"px");r.setAttribute("font-family",s.fontFamily);(s.fontStyle&mxConstants.FONT_BOLD)== diff --git a/war/js/viewer.min.js b/war/js/viewer.min.js index 04ecf89b..b91a1262 100644 --- a/war/js/viewer.min.js +++ b/war/js/viewer.min.js @@ -4,7 +4,7 @@ var mxBasePath="https://www.draw.io/mxgraph/",mxLoadStylesheets=!1; c[d])}return a}function g(a){this.opts=f(a||{},g.defaults,s)}function k(){function c(b,d){return a("\x3c"+b+' xmlns\x3d"urn:schemas-microsoft.com:vml" class\x3d"spin-vml"\x3e',d)}p.addRule(".spin-vml","behavior:url(#default#VML)");g.prototype.lines=function(a,d){function f(){return e(c("group",{coordsize:n+" "+n,coordorigin:-l+" "+-l}),{width:n,height:n})}function k(a,g,n){b(m,b(e(f(),{rotation:360/d.lines*a+"deg",left:~~g}),b(e(c("roundrect",{arcsize:d.corners}),{width:l,height:d.width,left:d.radius, top:-d.width>>1,filter:n}),c("fill",{color:"string"==typeof d.color?d.color:d.color[a%d.color.length],opacity:d.opacity}),c("stroke",{opacity:0}))))}var g,l=d.length+d.width,n=2*l;g=2*-(d.width+d.length)+"px";var m=e(f(),{position:"absolute",top:g,left:g});if(d.shadow)for(g=1;g<=d.lines;g++)k(g,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius\x3d2,makeshadow\x3d1,shadowopacity\x3d.3)");for(g=1;g<=d.lines;g++)k(g);return b(a,m)};g.prototype.opacity=function(a,b,c,d){a=a.firstChild;d=d.shadow&& d.lines||0;a&&b+d<a.childNodes.length&&(a=a.childNodes[b+d],a=a&&a.firstChild,a=a&&a.firstChild,a&&(a.opacity=c))}}var l,n=["webkit","Moz","ms","O"],m={},p=function(){var c=a("style",{type:"text/css"});return b(document.getElementsByTagName("head")[0],c),c.sheet||c.styleSheet}(),s={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",direction:1,speed:1,trail:100,opacity:0.25,fps:20,zIndex:2E9,className:"spinner",top:"50%",left:"50%",position:"absolute"};g.defaults={};f(g.prototype, -{spin:function(b){this.stop();var c=this,d=c.opts,f=c.el=e(a(0,{className:d.className}),{position:d.position,width:0,zIndex:d.zIndex});d.radius+d.length+d.width;if(b&&(b.insertBefore(f,b.firstChild||null),e(f,{left:d.left,top:d.top})),f.setAttribute("role","progressbar"),c.lines(f,c.opts),!l){var g,k=0,n=(d.lines-1)*(1-d.direction)/2,m=d.fps,p=m/d.speed,r=(1-d.opacity)/(p*d.trail/100),s=p/d.lines;!function G(){k++;for(var a=0;a<d.lines;a++)g=Math.max(1-(k+(d.lines-a)*s)%p*r,d.opacity),c.opacity(f, +{spin:function(b){this.stop();var c=this,d=c.opts,f=c.el=e(a(0,{className:d.className}),{position:d.position,width:0,zIndex:d.zIndex});d.radius+d.length+d.width;if(b&&(b.insertBefore(f,b.firstChild||null),e(f,{left:d.left,top:d.top})),f.setAttribute("role","progressbar"),c.lines(f,c.opts),!l){var g,k=0,n=(d.lines-1)*(1-d.direction)/2,m=d.fps,p=m/d.speed,s=(1-d.opacity)/(p*d.trail/100),r=p/d.lines;!function G(){k++;for(var a=0;a<d.lines;a++)g=Math.max(1-(k+(d.lines-a)*r)%p*s,d.opacity),c.opacity(f, a*d.direction+n,g,d);c.timeout=c.el&&setTimeout(G,~~(1E3/m))}()}return c},stop:function(){var a=this.el;return a&&(clearTimeout(this.timeout),a.parentNode&&a.parentNode.removeChild(a),this.el=void 0),this},lines:function(d,f){function g(b,c){return e(a(),{position:"absolute",width:f.length+f.width+"px",height:f.width+"px",background:b,boxShadow:c,transformOrigin:"left",transform:"rotate("+~~(360/f.lines*n+f.rotate)+"deg) translate("+f.radius+"px,0)",borderRadius:(f.corners*f.width>>1)+"px"})}for(var k, n=0,m=(f.lines-1)*(1-f.direction)/2;n<f.lines;n++)k=e(a(),{position:"absolute",top:1+~(f.width/2)+"px",transform:f.hwaccel?"translate3d(0,0,0)":"",opacity:f.opacity,animation:l&&c(f.opacity,f.trail,m+n*f.direction,f.lines)+" "+1/f.speed+"s linear infinite"}),f.shadow&&b(k,e(g("#000","0 0 4px #000"),{top:"2px"})),b(d,b(k,g("string"==typeof f.color?f.color:f.color[n%f.color.length],"0 0 1px rgba(0,0,0,.1)")));return d},opacity:function(a,b,c){b<a.childNodes.length&&(a.childNodes[b].style.opacity=c)}}); var r=e(a("group"),{behavior:"url(#default#VML)"});return!d(r,"transform")&&r.adj?k():l=d(r,"animation"),g}); @@ -36,7 +36,7 @@ cssLitGroup:[e[36],e[48]],cssFns:[]},"image()":{cssPropBits:18,cssLitGroup:[e[0] "rect()":{cssPropBits:5,cssLitGroup:[e[48],e[52]],cssFns:[]},"alpha()":{cssPropBits:1,cssLitGroup:[e[28]],cssFns:[]},"matrix()":"animation-delay","perspective()":"border-bottom-left-radius","rotate()":"border-bottom-left-radius","rotate3d()":"animation-delay","rotatex()":"border-bottom-left-radius","rotatey()":"border-bottom-left-radius","rotatez()":"border-bottom-left-radius","scale()":"animation-delay","scale3d()":"animation-delay","scalex()":"border-bottom-left-radius","scaley()":"border-bottom-left-radius", "scalez()":"border-bottom-left-radius","skew()":"animation-delay","skewx()":"border-bottom-left-radius","skewy()":"border-bottom-left-radius","translate()":"animation-delay","translate3d()":"animation-delay","translatex()":"border-bottom-left-radius","translatey()":"border-bottom-left-radius","translatez()":"border-bottom-left-radius"},g;for(g in f)"string"===typeof f[g]&&Object.hasOwnProperty.call(f,g)&&(f[g]=f[f[g]]);"undefined"!==typeof window&&(window.cssSchema=f);var k,l;(function(){function a(b){var c= parseInt(b.substring(1),16);return 65535<c?(c-=65536,String.fromCharCode(55296+(c>>10),56320+(c&1023))):c==c?String.fromCharCode(c):" ">b[1]?"":b[1]}function b(a,c){return'"'+a.replace(/[\u0000-\u001f\\\"<>]/g,c)+'"'}function c(a){return e[a]||(e[a]="\\"+a.charCodeAt(0).toString(16)+" ")}function d(a){return f[a]||(f[a]=("\u0010">a?"%0":"%")+a.charCodeAt(0).toString(16))}var e={"\\":"\\\\"},f={"\\":"%5c"},g=RegExp("\\uFEFF|U[+][0-9A-F?]{1,6}(?:-[0-9A-F]{1,6})?|url[(][\\t\\n\\f ]*(?:\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|(?:[\\t\\x21\\x23-\\x26\\x28-\\x5b\\x5d-\\x7e]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)[\\t\\n\\f ]*[)]|(?!url[(])-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*[(]|(?:@?-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))|#)(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*|\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|[-+]?(?:[0-9]+(?:[.][0-9]+)?|[.][0-9]+)(?:%|-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)?|\x3c!--|--\x3e|[\\t\\n\\f ]+|/(?:[*][^*]*[*]+(?:[^/][^*]*[*]+)*/|/[^\\n\\f]*)|[~|^$*]\x3d|[^\"'\\\\/]|/(?![/*])", -"gi"),n=RegExp("\\\\(?:(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff])|[\\n\\f])","g"),m=RegExp("^url\\([\\t\\n\\f ]*[\"']?|[\"']?[\\t\\n\\f ]*\\)$","gi");l=function(b){return b.replace(n,a)};k=function(a){a=(""+a).replace(/\r\n?/g,"\n").match(g)||[];for(var e=0,f=" ",k=0,n=a.length;k<n;++k){var p=l(a[k]),q=p.length,r=p.charCodeAt(0),p=34==r||39==r?b(p.substring(1,q-1),c):47==r&&1<q||"\\"==p||"--\x3e"==p||"\x3c!--"==p||"\ufeff"== +"gi"),n=RegExp("\\\\(?:(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff])|[\\n\\f])","g"),m=RegExp("^url\\([\\t\\n\\f ]*[\"']?|[\"']?[\\t\\n\\f ]*\\)$","gi");l=function(b){return b.replace(n,a)};k=function(a){a=(""+a).replace(/\r\n?/g,"\n").match(g)||[];for(var e=0,f=" ",k=0,n=a.length;k<n;++k){var p=l(a[k]),s=p.length,r=p.charCodeAt(0),p=34==r||39==r?b(p.substring(1,s-1),c):47==r&&1<s||"\\"==p||"--\x3e"==p||"\x3c!--"==p||"\ufeff"== p||32>=r?" ":/url\(/i.test(p)?"url("+b(p.replace(m,""),d)+")":p;if(f!=p||" "!=p)a[e++]=f=p}a.length=e;return a}})();"undefined"!==typeof window&&(window.lexCss=k,window.decodeCss=l);var n=function(){function a(b){b=(""+b).match(m);return!b?c:new k(g(b[1]),g(b[2]),g(b[3]),g(b[4]),g(b[5]),g(b[6]),g(b[7]))}function b(a,e){return"string"==typeof a?encodeURI(a).replace(e,d):c}function d(a){a=a.charCodeAt(0);return"%"+"0123456789ABCDEF".charAt(a>>4&15)+"0123456789ABCDEF".charAt(a&15)}function e(a){if(a=== c)return c;a=a.replace(/(^|\/)\.(?:\/|$)/g,"$1").replace(/\/{2,}/g,"/");for(var b=l,d;(d=a.replace(b,"$1"))!=a;a=d);return a}function f(a,b){var c=a.T(),d=b.K();d?c.ga(b.j):d=b.X();d?c.da(b.n):d=b.Y();d?c.ea(b.k):d=b.$();var k=b.g,g=e(k);if(d)c.ca(b.V()),g=g&&g.replace(n,"");else if(d=!!k){if(47!==g.charCodeAt(0))var g=e(c.g||"").replace(n,""),l=g.lastIndexOf("/")+1,g=e((l?g.substring(0,l):"")+e(k)).replace(n,"")}else g=g&&g.replace(n,""),g!==k&&c.G(g);d?c.G(g):d=b.aa();d?c.O(b.l):d=b.Z();d&&c.fa(b.o); return c}function k(a,b,c,d,e,f,g){this.j=a;this.n=b;this.k=c;this.h=d;this.g=e;this.l=f;this.o=g}function g(a){return"string"==typeof a&&0<a.length?a:c}var l=RegExp(/(\/|^)(?:[^./][^/]*|\.{2,}(?:[^./][^/]*)|\.{3,}[^/]*)\/\.\.(?:\/|$)/),n=/^(?:\.\.\/)*(?:\.\.$)?/;k.prototype.toString=function(){var a=[];c!==this.j&&a.push(this.j,":");c!==this.k&&(a.push("//"),c!==this.n&&a.push(this.n,"@"),a.push(this.k),c!==this.h&&a.push(":",this.h.toString()));c!==this.g&&a.push(this.g);c!==this.l&&a.push("?", @@ -45,21 +45,21 @@ function(){return this.h&&decodeURIComponent(this.h)};k.prototype.ca=function(a) !(a instanceof Array)&&(a instanceof Object||"[object Array]"!==Object.prototype.toString.call(a))){var b=[],c=-1,d;for(d in a){var e=a[d];"string"===typeof e&&(b[++c]=d,b[++c]=e)}a=b}for(var b=[],c="",f=0;f<a.length;)d=a[f++],e=a[f++],b.push(c,encodeURIComponent(d.toString())),c="\x26",e&&b.push("\x3d",encodeURIComponent(e.toString()));this.l=b.join("")};k.prototype.fa=function(a){this.o=a?a:c};k.prototype.Z=function(){return c!==this.o};var m=/^(?:([^:/?#]+):)?(?:\/\/(?:([^/?#]*)@)?([^/?#:@]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/, p=/[#\/\?@]/g,r=/[\#\?]/g;k.parse=a;k.create=function(a,e,f,g,l,n,m){a=new k(b(a,p),b(e,p),"string"==typeof f?encodeURIComponent(f):c,0<g?g.toString():c,b(l,r),c,"string"==typeof m?encodeURIComponent(m):c);n&&("string"===typeof n?a.O(n.replace(/[^?&=0-9A-Za-z_\-~.%]/g,d)):a.ba(n));return a};k.N=f;k.ma=e;k.ha={ua:function(b){return/\.html$/.test(a(b).U())?"text/html":"application/javascript"},N:function(b,c){return b?f(a(b),a(c)).toString():""+c}};return k}();"undefined"!==typeof window&&(window.URI= n);var m=a,p=a,s=a,r=a;(function(){function e(a){return"string"===typeof a?'url("'+a.replace(A,k)+'")':'url("about:blank")'}function k(a){return D[a]}function g(a,b){return a?n.ha.N(a,b):b}function t(a,b,d){if(!d)return c;var e=(""+a).match(C);return e&&(!e[1]||F.test(e[1]))?d(a,b):c}function E(a){return a.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/,"")}var A=/[\n\f\r\"\'()*<>]/g,D={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a", -"\x3c":"%3c","\x3e":"%3e"},C=/^(?:([^:/?# ]+):)?/,F=/^(?:https?|mailto|data)$/i;m=function(){var a={};return function S(b,c,d,k,n){b=E(b);var m=f[b];if(!m||"object"!==typeof m)c.length=0;else{for(var p=m.cssPropBits,r=p&80,q=p&1536,s=NaN,G=0,u=0;G<c.length;++G){var C=c[G].toLowerCase(),v=C.charCodeAt(0),F,H,D,A,Q,ha;if(32===v)C="";else if(34===v)C=16===r?d?e(t(g(k,l(c[G].substring(1,C.length-1))),b,d)):"":p&8&&!(r&r-1)?C:"";else if("inherit"!==C){if(Q=m.cssLitGroup){var ea;if(!(ea=m.cssLitMap)){ea= +"\x3c":"%3c","\x3e":"%3e"},C=/^(?:([^:/?# ]+):)?/,F=/^(?:https?|mailto|data)$/i;m=function(){var a={};return function S(b,c,d,k,n){b=E(b);var m=f[b];if(!m||"object"!==typeof m)c.length=0;else{for(var p=m.cssPropBits,r=p&80,s=p&1536,q=NaN,G=0,u=0;G<c.length;++G){var C=c[G].toLowerCase(),v=C.charCodeAt(0),F,H,D,A,Q,ha;if(32===v)C="";else if(34===v)C=16===r?d?e(t(g(k,l(c[G].substring(1,C.length-1))),b,d)):"":p&8&&!(r&r-1)?C:"";else if("inherit"!==C){if(Q=m.cssLitGroup){var ea;if(!(ea=m.cssLitMap)){ea= {};for(var V=Q.length;0<=--V;)for(var ga=Q[V],ka=ga.length;0<=--ka;)ea[ga[ka]]=a;ea=m.cssLitMap=ea}Q=ea}else Q=a;if(!(ha=Q,ha[E(C)]===a))if(35===v&&/^#(?:[0-9a-f]{3}){1,2}$/.test(C))C=p&2?C:"";else if(48<=v&&57>=v)C=p&1?C:"";else if(F=C.charCodeAt(1),H=C.charCodeAt(2),D=48<=F&&57>=F,A=48<=H&&57>=H,43===v&&(D||46===F&&A))C=p&1?(D?"":"0")+C.substring(1):"";else if(45===v&&(D||46===F&&A))C=p&4?(D?"-":"-0")+C.substring(1):p&1?"0":"";else if(46===v&&D)C=p&1?"0"+C:"";else if('url("'===C.substring(0,5))C= -d&&p&16?e(t(g(k,c[G].substring(5,C.length-2)),b,d)):"";else if("("===C.charAt(C.length-1))a:{Q=c;ea=G;C=1;V=ea+1;for(v=Q.length;V<v&&C;)ga=Q[V++],C+=")"===ga?-1:/^[^"']*\($/.test(ga);if(!C){C=Q[ea].toLowerCase();v=E(C);Q=Q.splice(ea,V-ea,"");ea=m.cssFns;V=0;for(ga=ea.length;V<ga;++V)if(ea[V].substring(0,v.length)==v){Q[0]=Q[Q.length-1]="";S(ea[V],Q,d,k);C=C+Q.join(" ")+")";break a}}C=""}else C=q&&/^-?[a-z_][\w\-]*$/.test(C)&&!/__$/.test(C)?n&&512===q?c[G]+n:1024===q&&f[C]&&"number"===typeof f[C].oa? -C:"":/^\w+$/.test(C)&&64===r&&p&8?s+1===u?(c[s]=c[s].substring(0,c[s].length-1)+" "+C+'"',""):(s=u,'"'+C+'"'):""}C&&(c[u++]=C)}1===u&&'url("about:blank")'===c[0]&&(u=0);c.length=u}}}();var G=RegExp("^(active|after|before|blank|checked|default|disabled|drop|empty|enabled|first|first-child|first-letter|first-line|first-of-type|fullscreen|focus|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|user-error|valid|visited)$"), -H={};H["\x3e"]=H["+"]=H["~"]=H;p=function(a,e,f){function k(p,r){function q(c,f,k){var g,m,p,r,t,C=b;g="";if(c<f)if(t=a[c],"*"===t)++c,g=t;else if(/^[a-zA-Z]/.test(t)&&(m=n(t.toLowerCase(),[])))"tagName"in m&&(t=m.tagName),++c,g=t;for(r=p=m="";C&&c<f;++c)if(t=a[c],"#"===t.charAt(0))/^#_|__$|[^\w#:\-]/.test(t)?C=d:m+=t+l;else if("."===t)++c<f&&/^[0-9A-Za-z:_\-]+$/.test(t=a[c])&&!/^_|__$/.test(t)?m+="."+t:C=d;else if(c+1<f&&"["===a[c]){++c;var x=a[c++].toLowerCase();t=u.m[g+"::"+x];t!==+t&&(t=u.m["*::"+ +d&&p&16?e(t(g(k,c[G].substring(5,C.length-2)),b,d)):"";else if("("===C.charAt(C.length-1))a:{Q=c;ea=G;C=1;V=ea+1;for(v=Q.length;V<v&&C;)ga=Q[V++],C+=")"===ga?-1:/^[^"']*\($/.test(ga);if(!C){C=Q[ea].toLowerCase();v=E(C);Q=Q.splice(ea,V-ea,"");ea=m.cssFns;V=0;for(ga=ea.length;V<ga;++V)if(ea[V].substring(0,v.length)==v){Q[0]=Q[Q.length-1]="";S(ea[V],Q,d,k);C=C+Q.join(" ")+")";break a}}C=""}else C=s&&/^-?[a-z_][\w\-]*$/.test(C)&&!/__$/.test(C)?n&&512===s?c[G]+n:1024===s&&f[C]&&"number"===typeof f[C].oa? +C:"":/^\w+$/.test(C)&&64===r&&p&8?q+1===u?(c[q]=c[q].substring(0,c[q].length-1)+" "+C+'"',""):(q=u,'"'+C+'"'):""}C&&(c[u++]=C)}1===u&&'url("about:blank")'===c[0]&&(u=0);c.length=u}}}();var G=RegExp("^(active|after|before|blank|checked|default|disabled|drop|empty|enabled|first|first-child|first-letter|first-line|first-of-type|fullscreen|focus|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|user-error|valid|visited)$"), +H={};H["\x3e"]=H["+"]=H["~"]=H;p=function(a,e,f){function k(p,r){function s(c,f,k){var g,m,p,r,t,C=b;g="";if(c<f)if(t=a[c],"*"===t)++c,g=t;else if(/^[a-zA-Z]/.test(t)&&(m=n(t.toLowerCase(),[])))"tagName"in m&&(t=m.tagName),++c,g=t;for(r=p=m="";C&&c<f;++c)if(t=a[c],"#"===t.charAt(0))/^#_|__$|[^\w#:\-]/.test(t)?C=d:m+=t+l;else if("."===t)++c<f&&/^[0-9A-Za-z:_\-]+$/.test(t=a[c])&&!/^_|__$/.test(t)?m+="."+t:C=d;else if(c+1<f&&"["===a[c]){++c;var x=a[c++].toLowerCase();t=u.m[g+"::"+x];t!==+t&&(t=u.m["*::"+ x]);var v;e.ia?(v=e.ia(g,x),"string"!==typeof v&&(C=d,v=x),C&&t!==+t&&(t=u.d.NONE)):(v=x,t!==+t&&(C=d));var F=x="",y=d;/^[~^$*|]?=$/.test(a[c])&&(x=a[c++],F=a[c++],/^[0-9A-Za-z:_\-]+$/.test(F)?F='"'+F+'"':"]"===F&&(F='""',--c),/^"([^\"\\]|\\.)*"$/.test(F)||(C=d),(y="i"===a[c])&&++c);"]"!==a[c]&&(++c,C=d);switch(t){case u.d.CLASSES:case u.d.LOCAL_NAME:case u.d.NONE:break;case u.d.GLOBAL_NAME:case u.d.ID:case u.d.IDREF:("\x3d"===x||"~\x3d"===x||"$\x3d"===x)&&'""'!=F&&!y?F='"'+F.substring(1,F.length- -1)+l+'"':"|\x3d"===x||""===x||(C=d);break;case u.d.URI:case u.d.URI_FRAGMENT:""!==x&&(C=d);break;default:C=d}C&&(p+="["+v.replace(/[^\w-]/g,"\\$\x26")+x+F+(y?" i]":"]"))}else if(c<f&&":"===a[c])if(t=a[++c],G.test(t))r+=":"+t;else break;else break;c!==f&&(C=d);C&&(c=(g+m).replace(/[^ .*#\w-]/g,"\\$\x26")+p+r+k)&&s.push(c);return C}" "===a[p]&&++p;r-1!==p&&" "===a[r]&&--r;for(var s=[],t=p,C=b,x=p;C&&x<r;++x){var v=a[x];if(H[v]===H||" "===v)q(t,x,v)?t=x+1:C=d}q(t,r,"")||(C=d);return C?(s.length&&(t= -s.join(""),g!==c&&(t="."+g+" "+t),m.push(t)),b):!f||f(a.slice(p,r))}var g=e.na,l=e.L,n=e.Aa,m=[],p=0,r,q=0,s;for(r=0;r<a.length;++r)if(s=a[r],"("==s||"["==s?(++q,b):")"==s||"]"==s?(q&&--q,b):!(" "==a[r]&&(q||H[a[r-1]]===H||H[a[r+1]]===H)))a[p++]=a[r];a.length=p;p=a.length;for(r=q=0;r<p;++r)if(","===a[r]){if(!k(q,r))return c;q=r+1}return!k(q,p)?c:m};(function(){var a=/^\w/,b=RegExp("^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*))*$", +1)+l+'"':"|\x3d"===x||""===x||(C=d);break;case u.d.URI:case u.d.URI_FRAGMENT:""!==x&&(C=d);break;default:C=d}C&&(p+="["+v.replace(/[^\w-]/g,"\\$\x26")+x+F+(y?" i]":"]"))}else if(c<f&&":"===a[c])if(t=a[++c],G.test(t))r+=":"+t;else break;else break;c!==f&&(C=d);C&&(c=(g+m).replace(/[^ .*#\w-]/g,"\\$\x26")+p+r+k)&&q.push(c);return C}" "===a[p]&&++p;r-1!==p&&" "===a[r]&&--r;for(var q=[],t=p,C=b,x=p;C&&x<r;++x){var v=a[x];if(H[v]===H||" "===v)s(t,x,v)?t=x+1:C=d}s(t,r,"")||(C=d);return C?(q.length&&(t= +q.join(""),g!==c&&(t="."+g+" "+t),m.push(t)),b):!f||f(a.slice(p,r))}var g=e.na,l=e.L,n=e.Aa,m=[],p=0,r,s=0,q;for(r=0;r<a.length;++r)if(q=a[r],"("==q||"["==q?(++s,b):")"==q||"]"==q?(s&&--s,b):!(" "==a[r]&&(s||H[a[r-1]]===H||H[a[r+1]]===H)))a[p++]=a[r];a.length=p;p=a.length;for(r=s=0;r<p;++r)if(","===a[r]){if(!k(s,r))return c;s=r+1}return!k(s,p)?c:m};(function(){var a=/^\w/,b=RegExp("^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*))*$", "i");r=function(c){c=c.slice();for(var d=c.length,e=0,f=0;f<d;++f){var k=c[f];" "!=k&&(c[e++]=k)}c.length=e;c=c.join(" ");return!c.length?"":!b.test(c)?"not all":a.test(c)?c:"not all , "+c}})();(function(){function e(a){var b=/^\s*[']([^']*)[']\s*$/,d=/^\s*url\s*[(]["]([^"]*)["][)]\s*$/,f=/^\s*url\s*[(][']([^']*)['][)]\s*$/,k=/^\s*url\s*[(]([^)]*)[)]\s*$/,g;return(g=/^\s*["]([^"]*)["]\s*$/.exec(a))||(g=b.exec(a))||(g=d.exec(a))||(g=f.exec(a))||(g=k.exec(a))?g[1]:c}function f(k,l,n,s,G,u,C){function x(){D= H.length&&H[H.length-1]===c}var v=a,F=C||[0],H=[],D=d;q(l,{startStylesheet:function(){v=[]},endStylesheet:function(){},startAtrule:function(a,b){if(D)a=c;else if("@media"===a)v.push("@media"," ",r(b));else if("@keyframes"===a||"@-webkit-keyframes"===a){var d=b[0];1===b.length&&!/__$|[^\w\-]/.test(d)?(v.push(a," ",d+n.L),a="@keyframes"):a=c}else if("@import"===a&&0<b.length)if(a=c,"function"===typeof u){var l=r(b.slice(1));if("not all"!==l){++F[0];var m=[];v.push(m);var p=t(g(k,e(b[0])),function(a){var b= f(p,a.qa,n,s,G,u,F);--F[0];a=l?{toString:function(){return"@media "+l+" {"+b.result+"}"}}:b.result;m[0]=a;u(a,!!F[0])},G)}}else window.console&&window.console.log("@import "+b.join(" ")+" elided");D=!a;H.push(a)},endAtrule:function(){H.pop();D||v.push(";");x()},startBlock:function(){D||v.push("{")},endBlock:function(){D||(v.push("}"),D=b)},startRuleset:function(d){if(!D){var e=a;"@keyframes"===H[H.length-1]?(e=d.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i), D=!e,e&&(e=e[0].replace(/ +/g,""))):(d=p(d,n),!d||!d.length?D=b:e=d.join(", "));D||v.push(e,"{")}H.push(c)},endRuleset:function(){H.pop();D||v.push("}");x()},declaration:function(a,c){if(!D){var e=d,f=c.length;2<=f&&"!"===c[f-2]&&"important"===c[f-1].toLowerCase()&&(e=b,c.length-=2);m(a,c,s,k,n.L);c.length&&v.push(a,":",c.join(" "),e?" !important;":";")}}});return{result:{toString:function(){return v.join("")}},va:!!F[0]}}s=function(b,c,d,e){return f(b,c,d,e,a,a).result.toString()}})()})();"undefined"!== typeof window&&(window.sanitizeCssProperty=m,window.sanitizeCssSelectorList=p,window.sanitizeStylesheet=s,window.sanitizeMediaQuery=r);var q,t;(function(){function a(b,d,e,f,k){for(var g=d++;d<e&&"{"!==b[d]&&";"!==b[d];)++d;if(d<e&&(k||";"===b[d])){k=g+1;var l=d;k<e&&" "===b[k]&&++k;l>k&&" "===b[l-1]&&--l;f.startAtrule&&f.startAtrule(b[g].toLowerCase(),b.slice(k,l));d="{"===b[d]?c(b,d,e,f):d+1;f.endAtrule&&f.endAtrule()}return d}function c(b,f,k,g){++f;for(g.startBlock&&g.startBlock();f<k;){var l= b[f].charAt(0);if("}"==l){++f;break}f=" "===l||";"===l?f+1:"@"===l?a(b,f,k,g,d):"{"===l?c(b,f,k,g):e(b,f,k,g)}g.endBlock&&g.endBlock();return f}function e(a,c,d,k){var g=c,n=f(a,c,d,b);if(0>n)return n=~n,n===g?n+1:n;var m=a[n];if("{"!==m)return n===g?n+1:n;c=n+1;n>g&&" "===a[n-1]&&--n;for(k.startRuleset&&k.startRuleset(a.slice(g,n));c<d;){m=a[c];if("}"===m){++c;break}c=" "===m?c+1:l(a,c,d,k)}k.endRuleset&&k.endRuleset();return c}function f(a,b,c,d){for(var e,k=[],g=-1;b<c;++b)if(e=a[b].charAt(0), -"["===e||"("===e)k[++g]=e;else if("]"===e&&"["===k[g]||")"===e&&"("===k[g])--g;else if("{"===e||"}"===e||";"===e||"@"===e||":"===e&&!d)break;0<=g&&(b=~(b+1));return b}function g(a,b,c){for(;b<c&&";"!==a[b]&&"}"!==a[b];)++b;return b<c&&";"===a[b]?b+1:b}function l(a,b,c,e){var k=a[b++];if(!n.test(k))return g(a,b,c);b<c&&" "===a[b]&&++b;if(b==c||":"!==a[b])return g(a,b,c);++b;b<c&&" "===a[b]&&++b;var m=f(a,b,c,d);if(0>m)m=~m;else{for(var p=[],r=0,q=b;q<m;++q)b=a[q]," "!==b&&(p[r++]=b);if(m<c){do{b=a[m]; +"["===e||"("===e)k[++g]=e;else if("]"===e&&"["===k[g]||")"===e&&"("===k[g])--g;else if("{"===e||"}"===e||";"===e||"@"===e||":"===e&&!d)break;0<=g&&(b=~(b+1));return b}function g(a,b,c){for(;b<c&&";"!==a[b]&&"}"!==a[b];)++b;return b<c&&";"===a[b]?b+1:b}function l(a,b,c,e){var k=a[b++];if(!n.test(k))return g(a,b,c);b<c&&" "===a[b]&&++b;if(b==c||":"!==a[b])return g(a,b,c);++b;b<c&&" "===a[b]&&++b;var m=f(a,b,c,d);if(0>m)m=~m;else{for(var p=[],r=0,s=b;s<m;++s)b=a[s]," "!==b&&(p[r++]=b);if(m<c){do{b=a[m]; if(";"===b||"}"===b)break;r=0}while(++m<c);";"===b&&++m}r&&e.declaration&&e.declaration(k.toLowerCase(),p)}return m}q=function(c,d){var f=k(c);d.startStylesheet&&d.startStylesheet();for(var g=0,l=f.length;g<l;)g=" "===f[g]?g+1:g<l?"@"===f[g].charAt(0)?a(f,g,l,d,b):e(f,g,l,d):g;d.endStylesheet&&d.endStylesheet()};var n=/^-?[a-z]/i;t=function(a,b){for(var c=k(a),d=0,e=c.length;d<e;)d=" "!==c[d]?l(c,d,e,b):d+1}})();"undefined"!==typeof window&&(window.parseCssStylesheet=q,window.parseCssDeclarations= t);var u={d:{NONE:0,URI:1,URI_FRAGMENT:11,SCRIPT:2,STYLE:3,HTML:12,ID:4,IDREF:5,IDREFS:6,GLOBAL_NAME:7,LOCAL_NAME:8,CLASSES:9,FRAME_TARGET:10,MEDIA_QUERY:13}};u.atype=u.d;u.m={"*::class":9,"*::dir":0,"*::draggable":0,"*::hidden":0,"*::id":4,"*::inert":0,"*::itemprop":0,"*::itemref":6,"*::itemscope":0,"*::lang":0,"*::onblur":2,"*::onchange":2,"*::onclick":2,"*::ondblclick":2,"*::onerror":2,"*::onfocus":2,"*::onkeydown":2,"*::onkeypress":2,"*::onkeyup":2,"*::onload":2,"*::onmousedown":2,"*::onmousemove":2, "*::onmouseout":2,"*::onmouseover":2,"*::onmouseup":2,"*::onreset":2,"*::onscroll":2,"*::onselect":2,"*::onsubmit":2,"*::ontouchcancel":2,"*::ontouchend":2,"*::ontouchenter":2,"*::ontouchleave":2,"*::ontouchmove":2,"*::ontouchstart":2,"*::onunload":2,"*::spellcheck":0,"*::style":3,"*::tabindex":0,"*::title":0,"*::translate":0,"a::accesskey":0,"a::coords":0,"a::href":1,"a::hreflang":0,"a::name":7,"a::onblur":2,"a::onfocus":2,"a::shape":0,"a::target":10,"a::type":0,"area::accesskey":0,"area::alt":0, @@ -83,16 +83,16 @@ time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:" u.URIEFFECTS=u.J;u.M={UNSANDBOXED:2,SANDBOXED:1,DATA:0};u.ltypes=u.M;u.I={"a::href":2,"area::href":2,"audio::src":2,"blockquote::cite":2,"command::icon":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2,"video::poster":1,"video::src":2};u.LOADERTYPES=u.I;"undefined"!==typeof window&&(window.html4=u);e=function(e){function f(a,b){var c;if(L.hasOwnProperty(b))c=L[b];else{var d=b.match(I);c=d?String.fromCharCode(parseInt(d[1],10)):(d=b.match(aa))?String.fromCharCode(parseInt(d[1], 16)):J&&M.test(b)?(J.innerHTML="\x26"+b+";",d=J.textContent,L[b]=d):"\x26"+b+";"}return c}function g(a){return a.replace(R,f)}function k(a){return(""+a).replace($,"\x26amp;").replace(X,"\x26lt;").replace(Z,"\x26gt;").replace(T,"\x26#34;")}function l(a){return a.replace(P,"\x26amp;$1").replace(X,"\x26lt;").replace(Z,"\x26gt;")}function m(a){var b={z:a.z||a.cdata,A:a.A||a.comment,B:a.B||a.endDoc,t:a.t||a.endTag,e:a.e||a.pcdata,F:a.F||a.rcdata,H:a.H||a.startDoc,w:a.w||a.startTag};return function(a,e){var f, g=/(<\/|<\!--|<[!?]|[&<>])/g;f=a+"";if(ha)f=f.split(g);else{for(var k=[],l=0,n;(n=g.exec(f))!==c;)k.push(f.substring(l,n.index)),k.push(n[0]),l=n.index+n[0].length;k.push(f.substring(l));f=k}r(b,f,0,{r:d,C:d},e)}}function p(a,b,c,d,e){return function(){r(a,b,c,d,e)}}function r(a,c,d,f,g){try{a.H&&0==d&&a.H(g);for(var k,l,n,m=c.length;d<m;){var t=c[d++],u=c[d];switch(t){case "\x26":ca.test(u)?(a.e&&a.e("\x26"+u,g,V,p(a,c,d,f,g)),d++):a.e&&a.e("\x26amp;",g,V,p(a,c,d,f,g));break;case "\x3c/":if(k=/^([-\w:]+)[^\'\"]*/.exec(u))if(k[0].length=== -u.length&&"\x3e"===c[d+1])d+=2,n=k[1].toLowerCase(),a.t&&a.t(n,g,V,p(a,c,d,f,g));else{var B=c,C=d,v=a,Q=g,y=V,z=f,Y=s(B,C);Y?(v.t&&v.t(Y.name,Q,y,p(v,B,C,z,Q)),d=Y.next):d=B.length}else a.e&&a.e("\x26lt;/",g,V,p(a,c,d,f,g));break;case "\x3c":if(k=/^([-\w:]+)\s*\/?/.exec(u))if(k[0].length===u.length&&"\x3e"===c[d+1]){d+=2;n=k[1].toLowerCase();a.w&&a.w(n,[],g,V,p(a,c,d,f,g));var H=e.f[n];H&ea&&(d=q(c,{name:n,next:d,c:H},a,g,V,f))}else{var B=c,C=a,v=g,Q=V,y=f,L=s(B,d);L?(C.w&&C.w(L.name,L.R,v,Q,p(C, -B,L.next,y,v)),d=L.c&ea?q(B,L,C,v,Q,y):L.next):d=B.length}else a.e&&a.e("\x26lt;",g,V,p(a,c,d,f,g));break;case "\x3c!--":if(!f.C){for(l=d+1;l<m&&!("\x3e"===c[l]&&/--$/.test(c[l-1]));l++);if(l<m){if(a.A){var I=c.slice(d,l).join("");a.A(I.substr(0,I.length-2),g,V,p(a,c,l+1,f,g))}d=l+1}else f.C=b}f.C&&a.e&&a.e("\x26lt;!--",g,V,p(a,c,d,f,g));break;case "\x3c!":if(/^\w/.test(u)){if(!f.r){for(l=d+1;l<m&&"\x3e"!==c[l];l++);l<m?d=l+1:f.r=b}f.r&&a.e&&a.e("\x26lt;!",g,V,p(a,c,d,f,g))}else a.e&&a.e("\x26lt;!", -g,V,p(a,c,d,f,g));break;case "\x3c?":if(!f.r){for(l=d+1;l<m&&"\x3e"!==c[l];l++);l<m?d=l+1:f.r=b}f.r&&a.e&&a.e("\x26lt;?",g,V,p(a,c,d,f,g));break;case "\x3e":a.e&&a.e("\x26gt;",g,V,p(a,c,d,f,g));break;case "":break;default:a.e&&a.e(t,g,V,p(a,c,d,f,g))}}a.B&&a.B(g)}catch(E){if(E!==V)throw E;}}function q(a,b,c,d,f,g){var k=a.length;ga.hasOwnProperty(b.name)||(ga[b.name]=RegExp("^"+b.name+"(?:[\\s\\/]|$)","i"));for(var n=ga[b.name],m=b.next,r=b.next+1;r<k&&!("\x3c/"===a[r-1]&&n.test(a[r]));r++);r<k&& -(r-=1);k=a.slice(m,r).join("");if(b.c&e.c.CDATA)c.z&&c.z(k,d,f,p(c,a,r,g,d));else if(b.c&e.c.RCDATA)c.F&&c.F(l(k),d,f,p(c,a,r,g,d));else throw Error("bug");return r}function s(a,c){var f=/^([-\w:]+)/.exec(a[c]),k={};k.name=f[1].toLowerCase();k.c=e.f[k.name];for(var l=a[c].substr(f[0].length),n=c+1,m=a.length;n<m&&"\x3e"!==a[n];n++)l+=a[n];if(!(m<=n)){for(var p=[];""!==l;)if(f=Q.exec(l))if(f[4]&&!f[5]||f[6]&&!f[7]){for(var f=f[4]||f[6],r=d,l=[l,a[n++]];n<m;n++){if(r){if("\x3e"===a[n])break}else 0<= -a[n].indexOf(f)&&(r=b);l.push(a[n])}if(m<=n)break;l=l.join("")}else{var r=f[1].toLowerCase(),q;if(f[2]){q=f[3];var t=q.charCodeAt(0);if(34===t||39===t)q=q.substr(1,q.length-2);q=g(q.replace(O,""))}else q="";p.push(r,q);l=l.substr(f[0].length)}else l=l.replace(/^[\s\S][^a-z\s]*/,"");k.R=p;k.next=n+1;return k}}function t(b){function f(a,b){l||b.push(a)}var g,l;return m({startDoc:function(){g=[];l=d},startTag:function(d,f,n){if(!l&&e.f.hasOwnProperty(d)){var m=e.f[d];if(!(m&e.c.FOLDABLE)){var p=b(d, -f);if(p){if("object"!==typeof p)throw Error("tagPolicy did not return object (old API?)");if("attribs"in p)f=p.attribs;else throw Error("tagPolicy gave no attribs");var r;"tagName"in p?(r=p.tagName,p=e.f[r]):(r=d,p=m);if(m&e.c.OPTIONAL_ENDTAG){var q=g[g.length-1];q&&q.D===d&&(q.v!==r||d!==r)&&n.push("\x3c/",q.v,"\x3e")}m&e.c.EMPTY||g.push({D:d,v:r});n.push("\x3c",r);d=0;for(q=f.length;d<q;d+=2){var s=f[d],t=f[d+1];t!==c&&t!==a&&n.push(" ",s,'\x3d"',k(t),'"')}n.push("\x3e");m&e.c.EMPTY&&!(p&e.c.EMPTY)&& +u.length&&"\x3e"===c[d+1])d+=2,n=k[1].toLowerCase(),a.t&&a.t(n,g,V,p(a,c,d,f,g));else{var B=c,C=d,v=a,Q=g,y=V,z=f,Y=q(B,C);Y?(v.t&&v.t(Y.name,Q,y,p(v,B,C,z,Q)),d=Y.next):d=B.length}else a.e&&a.e("\x26lt;/",g,V,p(a,c,d,f,g));break;case "\x3c":if(k=/^([-\w:]+)\s*\/?/.exec(u))if(k[0].length===u.length&&"\x3e"===c[d+1]){d+=2;n=k[1].toLowerCase();a.w&&a.w(n,[],g,V,p(a,c,d,f,g));var H=e.f[n];H&ea&&(d=s(c,{name:n,next:d,c:H},a,g,V,f))}else{var B=c,C=a,v=g,Q=V,y=f,L=q(B,d);L?(C.w&&C.w(L.name,L.R,v,Q,p(C, +B,L.next,y,v)),d=L.c&ea?s(B,L,C,v,Q,y):L.next):d=B.length}else a.e&&a.e("\x26lt;",g,V,p(a,c,d,f,g));break;case "\x3c!--":if(!f.C){for(l=d+1;l<m&&!("\x3e"===c[l]&&/--$/.test(c[l-1]));l++);if(l<m){if(a.A){var I=c.slice(d,l).join("");a.A(I.substr(0,I.length-2),g,V,p(a,c,l+1,f,g))}d=l+1}else f.C=b}f.C&&a.e&&a.e("\x26lt;!--",g,V,p(a,c,d,f,g));break;case "\x3c!":if(/^\w/.test(u)){if(!f.r){for(l=d+1;l<m&&"\x3e"!==c[l];l++);l<m?d=l+1:f.r=b}f.r&&a.e&&a.e("\x26lt;!",g,V,p(a,c,d,f,g))}else a.e&&a.e("\x26lt;!", +g,V,p(a,c,d,f,g));break;case "\x3c?":if(!f.r){for(l=d+1;l<m&&"\x3e"!==c[l];l++);l<m?d=l+1:f.r=b}f.r&&a.e&&a.e("\x26lt;?",g,V,p(a,c,d,f,g));break;case "\x3e":a.e&&a.e("\x26gt;",g,V,p(a,c,d,f,g));break;case "":break;default:a.e&&a.e(t,g,V,p(a,c,d,f,g))}}a.B&&a.B(g)}catch(E){if(E!==V)throw E;}}function s(a,b,c,d,f,g){var k=a.length;ga.hasOwnProperty(b.name)||(ga[b.name]=RegExp("^"+b.name+"(?:[\\s\\/]|$)","i"));for(var n=ga[b.name],m=b.next,r=b.next+1;r<k&&!("\x3c/"===a[r-1]&&n.test(a[r]));r++);r<k&& +(r-=1);k=a.slice(m,r).join("");if(b.c&e.c.CDATA)c.z&&c.z(k,d,f,p(c,a,r,g,d));else if(b.c&e.c.RCDATA)c.F&&c.F(l(k),d,f,p(c,a,r,g,d));else throw Error("bug");return r}function q(a,c){var f=/^([-\w:]+)/.exec(a[c]),k={};k.name=f[1].toLowerCase();k.c=e.f[k.name];for(var l=a[c].substr(f[0].length),n=c+1,m=a.length;n<m&&"\x3e"!==a[n];n++)l+=a[n];if(!(m<=n)){for(var p=[];""!==l;)if(f=Q.exec(l))if(f[4]&&!f[5]||f[6]&&!f[7]){for(var f=f[4]||f[6],r=d,l=[l,a[n++]];n<m;n++){if(r){if("\x3e"===a[n])break}else 0<= +a[n].indexOf(f)&&(r=b);l.push(a[n])}if(m<=n)break;l=l.join("")}else{var r=f[1].toLowerCase(),s;if(f[2]){s=f[3];var t=s.charCodeAt(0);if(34===t||39===t)s=s.substr(1,s.length-2);s=g(s.replace(O,""))}else s="";p.push(r,s);l=l.substr(f[0].length)}else l=l.replace(/^[\s\S][^a-z\s]*/,"");k.R=p;k.next=n+1;return k}}function t(b){function f(a,b){l||b.push(a)}var g,l;return m({startDoc:function(){g=[];l=d},startTag:function(d,f,n){if(!l&&e.f.hasOwnProperty(d)){var m=e.f[d];if(!(m&e.c.FOLDABLE)){var p=b(d, +f);if(p){if("object"!==typeof p)throw Error("tagPolicy did not return object (old API?)");if("attribs"in p)f=p.attribs;else throw Error("tagPolicy gave no attribs");var r;"tagName"in p?(r=p.tagName,p=e.f[r]):(r=d,p=m);if(m&e.c.OPTIONAL_ENDTAG){var s=g[g.length-1];s&&s.D===d&&(s.v!==r||d!==r)&&n.push("\x3c/",s.v,"\x3e")}m&e.c.EMPTY||g.push({D:d,v:r});n.push("\x3c",r);d=0;for(s=f.length;d<s;d+=2){var q=f[d],t=f[d+1];t!==c&&t!==a&&n.push(" ",q,'\x3d"',k(t),'"')}n.push("\x3e");m&e.c.EMPTY&&!(p&e.c.EMPTY)&& n.push("\x3c/",r,"\x3e")}else l=!(m&e.c.EMPTY)}}},endTag:function(a,b){if(l)l=d;else if(e.f.hasOwnProperty(a)){var c=e.f[a];if(!(c&(e.c.EMPTY|e.c.FOLDABLE))){if(c&e.c.OPTIONAL_ENDTAG)for(c=g.length;0<=--c;){var f=g[c].D;if(f===a)break;if(!(e.f[f]&e.c.OPTIONAL_ENDTAG))return}else for(c=g.length;0<=--c&&g[c].D!==a;);if(!(0>c)){for(f=g.length;--f>c;){var k=g[f].v;e.f[k]&e.c.OPTIONAL_ENDTAG||b.push("\x3c/",k,"\x3e")}c<g.length&&(a=g[c].v);g.length=c;b.push("\x3c/",a,"\x3e")}}}},pcdata:f,rcdata:f,cdata:f, endDoc:function(a){for(;g.length;g.length--)a.push("\x3c/",g[g.length-1].v,"\x3e")}})}function u(a,b,d,e,f){if(!f)return c;try{var g=n.parse(""+a);if(g&&(!g.K()||ka.test(g.W()))){var k=f(g,b,d,e);return k?k.toString():c}}catch(l){}return c}function K(a,b,c,d,e){c||a(b+" removed",{S:"removed",tagName:b});if(d!==e){var f="changed";d&&!e?f="removed":!d&&e&&(f="added");a(b+"."+c+" "+f,{S:f,tagName:b,la:c,oldValue:d,newValue:e})}}function S(a,b,c){b=b+"::"+c;if(a.hasOwnProperty(b))return a[b];b="*::"+ -c;if(a.hasOwnProperty(b))return a[b]}function W(b,d,f,g,k){for(var l=0;l<d.length;l+=2){var n=d[l],m=d[l+1],p=m,r=c,q;if((q=b+"::"+n,e.m.hasOwnProperty(q))||(q="*::"+n,e.m.hasOwnProperty(q)))r=e.m[q];if(r!==c)switch(r){case e.d.NONE:break;case e.d.SCRIPT:m=c;k&&K(k,b,n,p,m);break;case e.d.STYLE:if("undefined"===typeof B){m=c;k&&K(k,b,n,p,m);break}var s=[];B(m,{declaration:function(a,b){var d=a.toLowerCase();Y(d,b,f?function(a){return u(a,e.P.ja,e.M.ka,{TYPE:"CSS",CSS_PROP:d},f)}:c);b.length&&s.push(d+ -": "+b.join(" "))}});m=0<s.length?s.join(" ; "):c;k&&K(k,b,n,p,m);break;case e.d.ID:case e.d.IDREF:case e.d.IDREFS:case e.d.GLOBAL_NAME:case e.d.LOCAL_NAME:case e.d.CLASSES:m=g?g(m):m;k&&K(k,b,n,p,m);break;case e.d.URI:m=u(m,S(e.J,b,n),S(e.I,b,n),{TYPE:"MARKUP",XML_ATTR:n,XML_TAG:b},f);k&&K(k,b,n,p,m);break;case e.d.URI_FRAGMENT:m&&"#"===m.charAt(0)?(m=m.substring(1),m=g?g(m):m,m!==c&&m!==a&&(m="#"+m)):m=c;k&&K(k,b,n,p,m);break;default:m=c,k&&K(k,b,n,p,m)}else m=c,k&&K(k,b,n,p,m);d[l+1]=m}return d} +c;if(a.hasOwnProperty(b))return a[b]}function W(b,d,f,g,k){for(var l=0;l<d.length;l+=2){var n=d[l],m=d[l+1],p=m,r=c,s;if((s=b+"::"+n,e.m.hasOwnProperty(s))||(s="*::"+n,e.m.hasOwnProperty(s)))r=e.m[s];if(r!==c)switch(r){case e.d.NONE:break;case e.d.SCRIPT:m=c;k&&K(k,b,n,p,m);break;case e.d.STYLE:if("undefined"===typeof B){m=c;k&&K(k,b,n,p,m);break}var q=[];B(m,{declaration:function(a,b){var d=a.toLowerCase();Y(d,b,f?function(a){return u(a,e.P.ja,e.M.ka,{TYPE:"CSS",CSS_PROP:d},f)}:c);b.length&&q.push(d+ +": "+b.join(" "))}});m=0<q.length?q.join(" ; "):c;k&&K(k,b,n,p,m);break;case e.d.ID:case e.d.IDREF:case e.d.IDREFS:case e.d.GLOBAL_NAME:case e.d.LOCAL_NAME:case e.d.CLASSES:m=g?g(m):m;k&&K(k,b,n,p,m);break;case e.d.URI:m=u(m,S(e.J,b,n),S(e.I,b,n),{TYPE:"MARKUP",XML_ATTR:n,XML_TAG:b},f);k&&K(k,b,n,p,m);break;case e.d.URI_FRAGMENT:m&&"#"===m.charAt(0)?(m=m.substring(1),m=g?g(m):m,m!==c&&m!==a&&(m="#"+m)):m=c;k&&K(k,b,n,p,m);break;default:m=c,k&&K(k,b,n,p,m)}else m=c,k&&K(k,b,n,p,m);d[l+1]=m}return d} function da(b,c,d){return function(f,g){if(e.f[f]&e.c.UNSAFE)d&&K(d,f,a,a,a);else return{attribs:W(f,g,b,c,d)}}}function U(a,b){var c=[];t(b)(a,c);return c.join("")}var B,Y;"undefined"!==typeof window&&(B=window.parseCssDeclarations,Y=window.sanitizeCssProperty);var L={lt:"\x3c",LT:"\x3c",gt:"\x3e",GT:"\x3e",amp:"\x26",AMP:"\x26",quot:'"',apos:"'",nbsp:"\u00a0"},I=/^#(\d+)$/,aa=/^#x([0-9A-Fa-f]+)$/,M=/^[A-Za-z][A-za-z0-9]+$/,J="undefined"!==typeof window&&window.document?window.document.createElement("textarea"): c,O=/\0/g,R=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,ca=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,$=/&/g,P=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,X=/[<]/g,Z=/>/g,T=/\"/g,Q=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,ha=3==="a,b".split(/(,)/).length,ea=e.c.CDATA|e.c.RCDATA,V={},ga={},ka=/^(?:https?|mailto|data)$/i,ba={};ba.pa=ba.escapeAttrib=k;ba.ra=ba.makeHtmlSanitizer=t;ba.sa=ba.makeSaxParser=m;ba.ta=ba.makeTagPolicy=da;ba.wa=ba.normalizeRCData=l;ba.xa= ba.sanitize=function(a,b,c,d){return U(a,da(b,c,d))};ba.ya=ba.sanitizeAttribs=W;ba.za=ba.sanitizeWithPolicy=U;ba.Ba=ba.unescapeEntities=g;return ba}(u);g=e.sanitize;"undefined"!==typeof window&&(window.html=e,window.html_sanitize=g)})(); @@ -118,8 +118,8 @@ d?(c[k++]=192|d>>>6,c[k++]=128|63&d):65536>d?(c[k++]=224|d>>>12,c[k++]=128|d>>>6 2===k?31:3===k?15:7;1<k&&d<l;)g=g<<6|63&b[d++],k--;1<k?n[f++]=65533:65536>g?n[f++]=g:(g-=65536,n[f++]=55296|g>>10&1023,n[f++]=56320|1023&g)}return e(n,f)};d.utf8border=function(b,c){var d;c=c||b.length;c>b.length&&(c=b.length);for(d=c-1;0<=d&&128===(192&b[d]);)d--;return 0>d?c:0===d?c:d+m[b[d]]>c?d:c}},{"./common":3}],5:[function(b,c,d){c.exports=function(b,c,d,k){var l=65535&b|0;b=b>>>16&65535|0;for(var n=0;0!==d;){n=2E3<d?2E3:d;d-=n;do l=l+c[k++]|0,b=b+l|0;while(--n);l%=65521;b%=65521}return l| b<<16|0}},{}],6:[function(b,c,d){c.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(b,c,d){var e=function(){for(var b,c=[],d=0;256>d;d++){b=d; for(var e=0;8>e;e++)b=1&b?3988292384^b>>>1:b>>>1;c[d]=b}return c}();c.exports=function(b,c,d,l){d=l+d;for(b^=-1;l<d;l++)b=b>>>8^e[255&(b^c[l])];return b^-1}},{}],8:[function(b,c,d){function e(b,c){return b.msg=C[c],c}function f(b){for(var c=b.length;0<=--c;)b[c]=0}function g(b){var c=b.state,d=c.pending;d>b.avail_out&&(d=b.avail_out);0!==d&&(y.arraySet(b.output,c.pending_buf,c.pending_out,d,b.next_out),b.next_out+=d,c.pending_out+=d,b.total_out+=d,b.avail_out-=d,c.pending-=d,0===c.pending&&(c.pending_out= -0))}function k(b,c){E._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,c);b.block_start=b.strstart;g(b.strm)}function l(b,c){b.pending_buf[b.pending++]=c}function n(b,c){b.pending_buf[b.pending++]=c>>>8&255;b.pending_buf[b.pending++]=255&c}function m(b,c){var d,e,f=b.max_chain_length,g=b.strstart,k=b.prev_length,l=b.nice_match,n=b.strstart>b.w_size-R?b.strstart-(b.w_size-R):0,m=b.window,p=b.w_mask,r=b.prev,q=b.strstart+O,s=m[g+k-1],G=m[g+k];b.prev_length>=b.good_match&& -(f>>=2);l>b.lookahead&&(l=b.lookahead);do if(d=c,m[d+k]===G&&m[d+k-1]===s&&m[d]===m[g]&&m[++d]===m[g+1]){g+=2;d++;do;while(m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&g<q);if(e=O-(q-g),g=q-O,e>k){if(b.match_start=c,k=e,e>=l)break;s=m[g+k-1];G=m[g+k]}}while((c=r[c&p])>n&&0!==--f);return k<=b.lookahead?k:b.lookahead}function p(b){var c,d,e,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>= +0))}function k(b,c){E._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,c);b.block_start=b.strstart;g(b.strm)}function l(b,c){b.pending_buf[b.pending++]=c}function n(b,c){b.pending_buf[b.pending++]=c>>>8&255;b.pending_buf[b.pending++]=255&c}function m(b,c){var d,e,f=b.max_chain_length,g=b.strstart,k=b.prev_length,l=b.nice_match,n=b.strstart>b.w_size-R?b.strstart-(b.w_size-R):0,m=b.window,p=b.w_mask,r=b.prev,s=b.strstart+O,q=m[g+k-1],G=m[g+k];b.prev_length>=b.good_match&& +(f>>=2);l>b.lookahead&&(l=b.lookahead);do if(d=c,m[d+k]===G&&m[d+k-1]===q&&m[d]===m[g]&&m[++d]===m[g+1]){g+=2;d++;do;while(m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&g<s);if(e=O-(s-g),g=s-O,e>k){if(b.match_start=c,k=e,e>=l)break;q=m[g+k-1];G=m[g+k]}}while((c=r[c&p])>n&&0!==--f);return k<=b.lookahead?k:b.lookahead}function p(b){var c,d,e,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>= g+(g-R)){y.arraySet(b.window,b.window,g,g,0);b.match_start-=g;b.strstart-=g;b.block_start-=g;c=d=b.hash_size;do e=b.head[--c],b.head[c]=e>=g?e-g:0;while(--d);c=d=g;do e=b.prev[--c],b.prev[c]=e>=g?e-g:0;while(--d);f+=g}if(0===b.strm.avail_in)break;c=b.strm;e=b.window;var k=b.strstart+b.lookahead,l=c.avail_in;if(d=(l>f&&(l=f),0===l?0:(c.avail_in-=l,y.arraySet(e,c.input,c.next_in,l,k),1===c.state.wrap?c.adler=A(c.adler,e,l,k):2===c.state.wrap&&(c.adler=D(c.adler,e,l,k)),c.next_in+=l,c.total_in+=l,l)), b.lookahead+=d,b.lookahead+b.insert>=J){f=b.strstart-b.insert;b.ins_h=b.window[f];for(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+J-1])&b.hash_mask,b.prev[f&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=f,f++,b.insert--,!(b.lookahead+b.insert<J)););}}while(b.lookahead<R&&0!==b.strm.avail_in)}function s(b,c){for(var d,e;;){if(b.lookahead<R){if(p(b),b.lookahead<R&&c===F)return P;if(0===b.lookahead)break}if(d=0,b.lookahead>=J&&(b.ins_h=(b.ins_h<< b.hash_shift^b.window[b.strstart+J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),0!==d&&b.strstart-d<=b.w_size-R&&(b.match_length=m(b,d)),b.match_length>=J)if(e=E._tr_tally(b,b.strstart-b.match_start,b.match_length-J),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&b.lookahead>=J){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]= @@ -133,15 +133,15 @@ this.lit_bufsize=this.l_buf=0}function u(b){var c;return b&&b.state?(b.total_in= 0,b.lookahead=0,b.insert=0,b.match_length=b.prev_length=J-1,b.match_available=0,b.ins_h=0);return c}function v(b,c,d,f,g,k){if(!b)return N;var l=1;if(c===K&&(c=6),0>f?(l=0,f=-f):15<f&&(l=2,f-=16),1>g||g>B||d!==U||8>f||15<f||0>c||9<c||0>k||k>W)return e(b,N);8===f&&(f=9);var n=new t;return b.state=n,n.strm=b,n.wrap=l,n.gzhead=null,n.w_bits=f,n.w_size=1<<n.w_bits,n.w_mask=n.w_size-1,n.hash_bits=g+7,n.hash_size=1<<n.hash_bits,n.hash_mask=n.hash_size-1,n.hash_shift=~~((n.hash_bits+J-1)/J),n.window=new y.Buf8(2* n.w_size),n.head=new y.Buf16(n.hash_size),n.prev=new y.Buf16(n.w_size),n.lit_bufsize=1<<g+6,n.pending_buf_size=4*n.lit_bufsize,n.pending_buf=new y.Buf8(n.pending_buf_size),n.d_buf=1*n.lit_bufsize,n.l_buf=3*n.lit_bufsize,n.level=c,n.strategy=k,n.method=d,x(b)}var z,y=b("../utils/common"),E=b("./trees"),A=b("./adler32"),D=b("./crc32"),C=b("./messages"),F=0,G=4,H=0,N=-2,K=-1,S=1,W=4,da=2,U=8,B=9,Y=286,L=30,I=19,aa=2*Y+1,M=15,J=3,O=258,R=O+J+1,ca=42,$=113,P=1,X=2,Z=3,T=4;z=[new q(0,0,0,0,function(b,c){var d= 65535;for(d>b.pending_buf_size-5&&(d=b.pending_buf_size-5);;){if(1>=b.lookahead){if(p(b),0===b.lookahead&&c===F)return P;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var e=b.block_start+d;if((0===b.strstart||b.strstart>=e)&&(b.lookahead=b.strstart-e,b.strstart=e,k(b,!1),0===b.strm.avail_out)||b.strstart-b.block_start>=b.w_size-R&&(k(b,!1),0===b.strm.avail_out))return P}return b.insert=0,c===G?(k(b,!0),0===b.strm.avail_out?Z:T):(b.strstart>b.block_start&&k(b,!1),P)}),new q(4,4,8, -4,s),new q(4,5,16,8,s),new q(4,6,32,32,s),new q(4,4,16,16,r),new q(8,16,32,32,r),new q(8,16,128,128,r),new q(8,32,128,256,r),new q(32,128,258,1024,r),new q(32,258,258,4096,r)];d.deflateInit=function(b,c){return v(b,c,U,15,8,0)};d.deflateInit2=v;d.deflateReset=x;d.deflateResetKeep=u;d.deflateSetHeader=function(b,c){return b&&b.state?2!==b.state.wrap?N:(b.state.gzhead=c,H):N};d.deflate=function(b,c){var d,m,r,q;if(!b||!b.state||5<c||0>c)return b?e(b,N):N;if(m=b.state,!b.output||!b.input&&0!==b.avail_in|| +4,s),new q(4,5,16,8,s),new q(4,6,32,32,s),new q(4,4,16,16,r),new q(8,16,32,32,r),new q(8,16,128,128,r),new q(8,32,128,256,r),new q(32,128,258,1024,r),new q(32,258,258,4096,r)];d.deflateInit=function(b,c){return v(b,c,U,15,8,0)};d.deflateInit2=v;d.deflateReset=x;d.deflateResetKeep=u;d.deflateSetHeader=function(b,c){return b&&b.state?2!==b.state.wrap?N:(b.state.gzhead=c,H):N};d.deflate=function(b,c){var d,m,r,s;if(!b||!b.state||5<c||0>c)return b?e(b,N):N;if(m=b.state,!b.output||!b.input&&0!==b.avail_in|| 666===m.status&&c!==G)return e(b,0===b.avail_out?-5:N);if(m.strm=b,d=m.last_flush,m.last_flush=c,m.status===ca)2===m.wrap?(b.adler=0,l(m,31),l(m,139),l(m,8),m.gzhead?(l(m,(m.gzhead.text?1:0)+(m.gzhead.hcrc?2:0)+(m.gzhead.extra?4:0)+(m.gzhead.name?8:0)+(m.gzhead.comment?16:0)),l(m,255&m.gzhead.time),l(m,m.gzhead.time>>8&255),l(m,m.gzhead.time>>16&255),l(m,m.gzhead.time>>24&255),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,255&m.gzhead.os),m.gzhead.extra&&m.gzhead.extra.length&&(l(m,255&m.gzhead.extra.length), -l(m,m.gzhead.extra.length>>8&255)),m.gzhead.hcrc&&(b.adler=D(b.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(l(m,0),l(m,0),l(m,0),l(m,0),l(m,0),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,3),m.status=$)):(r=U+(m.w_bits-8<<4)<<8,q=2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3,r|=q<<6,0!==m.strstart&&(r|=32),m.status=$,n(m,r+(31-r%31)),0!==m.strstart&&(n(m,b.adler>>>16),n(m,65535&b.adler)),b.adler=1);if(69===m.status)if(m.gzhead.extra){for(r=m.pending;m.gzindex<(65535& +l(m,m.gzhead.extra.length>>8&255)),m.gzhead.hcrc&&(b.adler=D(b.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(l(m,0),l(m,0),l(m,0),l(m,0),l(m,0),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,3),m.status=$)):(r=U+(m.w_bits-8<<4)<<8,s=2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3,r|=s<<6,0!==m.strstart&&(r|=32),m.status=$,n(m,r+(31-r%31)),0!==m.strstart&&(n(m,b.adler>>>16),n(m,65535&b.adler)),b.adler=1);if(69===m.status)if(m.gzhead.extra){for(r=m.pending;m.gzindex<(65535& m.gzhead.extra.length)&&(m.pending!==m.pending_buf_size||(m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r)),g(b),r=m.pending,m.pending!==m.pending_buf_size));)l(m,255&m.gzhead.extra[m.gzindex]),m.gzindex++;m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r));m.gzindex===m.gzhead.extra.length&&(m.gzindex=0,m.status=73)}else m.status=73;if(73===m.status)if(m.gzhead.name){r=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>r&& -(b.adler=D(b.adler,m.pending_buf,m.pending-r,r)),g(b),r=m.pending,m.pending===m.pending_buf_size)){q=1;break}q=m.gzindex<m.gzhead.name.length?255&m.gzhead.name.charCodeAt(m.gzindex++):0;l(m,q)}while(0!==q);m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r));0===q&&(m.gzindex=0,m.status=91)}else m.status=91;if(91===m.status)if(m.gzhead.comment){r=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r)),g(b), -r=m.pending,m.pending===m.pending_buf_size)){q=1;break}q=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;l(m,q)}while(0!==q);m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r));0===q&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(b),m.pending+2<=m.pending_buf_size&&(l(m,255&b.adler),l(m,b.adler>>8&255),b.adler=0,m.status=$)):m.status=$),0!==m.pending){if(g(b),0===b.avail_out)return m.last_flush= --1,H}else if(0===b.avail_in&&(c<<1)-(4<c?9:0)<=(d<<1)-(4<d?9:0)&&c!==G)return e(b,-5);if(666===m.status&&0!==b.avail_in)return e(b,-5);if(0!==b.avail_in||0!==m.lookahead||c!==F&&666!==m.status){var s;if(2===m.strategy)a:{for(var t;;){if(0===m.lookahead&&(p(m),0===m.lookahead)){if(c===F){s=P;break a}break}if(m.match_length=0,t=E._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,t&&(k(m,!1),0===m.strm.avail_out)){s=P;break a}}s=(m.insert=0,c===G?(k(m,!0),0===m.strm.avail_out?Z:T):m.last_lit&& -(k(m,!1),0===m.strm.avail_out)?P:X)}else if(3===m.strategy)a:{var B,C;for(t=m.window;;){if(m.lookahead<=O){if(p(m),m.lookahead<=O&&c===F){s=P;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=J&&0<m.strstart&&(C=m.strstart-1,B=t[C],B===t[++C]&&B===t[++C]&&B===t[++C])){d=m.strstart+O;do;while(B===t[++C]&&B===t[++C]&&B===t[++C]&&B===t[++C]&&B===t[++C]&&B===t[++C]&&B===t[++C]&&B===t[++C]&&C<d);m.match_length=O-(d-C);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>= -J?(s=E._tr_tally(m,1,m.match_length-J),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(s=E._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),s&&(k(m,!1),0===m.strm.avail_out)){s=P;break a}}s=(m.insert=0,c===G?(k(m,!0),0===m.strm.avail_out?Z:T):m.last_lit&&(k(m,!1),0===m.strm.avail_out)?P:X)}else s=z[m.level].func(m,c);if(s!==Z&&s!==T||(m.status=666),s===P||s===Z)return 0===b.avail_out&&(m.last_flush=-1),H;if(s===X&&(1===c?E._tr_align(m):5!==c&&(E._tr_stored_block(m, +(b.adler=D(b.adler,m.pending_buf,m.pending-r,r)),g(b),r=m.pending,m.pending===m.pending_buf_size)){s=1;break}s=m.gzindex<m.gzhead.name.length?255&m.gzhead.name.charCodeAt(m.gzindex++):0;l(m,s)}while(0!==s);m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r));0===s&&(m.gzindex=0,m.status=91)}else m.status=91;if(91===m.status)if(m.gzhead.comment){r=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r)),g(b), +r=m.pending,m.pending===m.pending_buf_size)){s=1;break}s=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;l(m,s)}while(0!==s);m.gzhead.hcrc&&m.pending>r&&(b.adler=D(b.adler,m.pending_buf,m.pending-r,r));0===s&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(b),m.pending+2<=m.pending_buf_size&&(l(m,255&b.adler),l(m,b.adler>>8&255),b.adler=0,m.status=$)):m.status=$),0!==m.pending){if(g(b),0===b.avail_out)return m.last_flush= +-1,H}else if(0===b.avail_in&&(c<<1)-(4<c?9:0)<=(d<<1)-(4<d?9:0)&&c!==G)return e(b,-5);if(666===m.status&&0!==b.avail_in)return e(b,-5);if(0!==b.avail_in||0!==m.lookahead||c!==F&&666!==m.status){var q;if(2===m.strategy)a:{for(var t;;){if(0===m.lookahead&&(p(m),0===m.lookahead)){if(c===F){q=P;break a}break}if(m.match_length=0,t=E._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,t&&(k(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===G?(k(m,!0),0===m.strm.avail_out?Z:T):m.last_lit&& +(k(m,!1),0===m.strm.avail_out)?P:X)}else if(3===m.strategy)a:{var B,C;for(t=m.window;;){if(m.lookahead<=O){if(p(m),m.lookahead<=O&&c===F){q=P;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=J&&0<m.strstart&&(C=m.strstart-1,B=t[C],B===t[++C]&&B===t[++C]&&B===t[++C])){d=m.strstart+O;do;while(B===t[++C]&&B===t[++C]&&B===t[++C]&&B===t[++C]&&B===t[++C]&&B===t[++C]&&B===t[++C]&&B===t[++C]&&C<d);m.match_length=O-(d-C);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>= +J?(q=E._tr_tally(m,1,m.match_length-J),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(q=E._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),q&&(k(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===G?(k(m,!0),0===m.strm.avail_out?Z:T):m.last_lit&&(k(m,!1),0===m.strm.avail_out)?P:X)}else q=z[m.level].func(m,c);if(q!==Z&&q!==T||(m.status=666),q===P||q===Z)return 0===b.avail_out&&(m.last_flush=-1),H;if(q===X&&(1===c?E._tr_align(m):5!==c&&(E._tr_stored_block(m, 0,0,!1),3===c&&(f(m.head),0===m.lookahead&&(m.strstart=0,m.block_start=0,m.insert=0))),g(b),0===b.avail_out))return m.last_flush=-1,H}return c!==G?H:0>=m.wrap?1:(2===m.wrap?(l(m,255&b.adler),l(m,b.adler>>8&255),l(m,b.adler>>16&255),l(m,b.adler>>24&255),l(m,255&b.total_in),l(m,b.total_in>>8&255),l(m,b.total_in>>16&255),l(m,b.total_in>>24&255)):(n(m,b.adler>>>16),n(m,65535&b.adler)),g(b),0<m.wrap&&(m.wrap=-m.wrap),0!==m.pending?H:1)};d.deflateEnd=function(b){var c;return b&&b.state?(c=b.state.status, c!==ca&&69!==c&&73!==c&&91!==c&&103!==c&&c!==$&&666!==c?e(b,N):(b.state=null,c===$?e(b,-3):H)):N};d.deflateSetDictionary=function(b,c){var d,e,g,k,l,n,m;e=c.length;if(!b||!b.state||(d=b.state,k=d.wrap,2===k||1===k&&d.status!==ca||d.lookahead))return N;1===k&&(b.adler=A(b.adler,c,e,0));d.wrap=0;e>=d.w_size&&(0===k&&(f(d.head),d.strstart=0,d.block_start=0,d.insert=0),l=new y.Buf8(d.w_size),y.arraySet(l,c,e-d.w_size,d.w_size,0),c=l,e=d.w_size);l=b.avail_in;n=b.next_in;m=b.input;b.avail_in=e;b.next_in= 0;b.input=c;for(p(d);d.lookahead>=J;){e=d.strstart;g=d.lookahead-(J-1);do d.ins_h=(d.ins_h<<d.hash_shift^d.window[e+J-1])&d.hash_mask,d.prev[e&d.w_mask]=d.head[d.ins_h],d.head[d.ins_h]=e,e++;while(--g);d.strstart=e;d.lookahead=J-1;p(d)}return d.strstart+=d.lookahead,d.block_start=d.strstart,d.insert=d.lookahead,d.lookahead=0,d.match_length=d.prev_length=J-1,d.match_available=0,b.next_in=n,b.input=m,b.avail_in=l,d.wrap=k,H};d.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5, @@ -179,8 +179,8 @@ c,d,e,f){this.static_tree=b;this.extra_bits=c;this.extra_base=d;this.elems=e;thi 0;do d|=1&b,b>>>=1,d<<=1;while(0<--c);return d>>>1}function p(b,c,d){var e,f=Array(W+1),k=0;for(e=1;e<=W;e++)f[e]=k=k+d[e-1]<<1;for(d=0;d<=c;d++)e=b[2*d+1],0!==e&&(b[2*d]=m(f[e]++,e))}function s(b){var c;for(c=0;c<H;c++)b.dyn_ltree[2*c]=0;for(c=0;c<N;c++)b.dyn_dtree[2*c]=0;for(c=0;c<K;c++)b.bl_tree[2*c]=0;b.dyn_ltree[2*U]=1;b.opt_len=b.static_len=0;b.last_lit=b.matches=0}function r(b){8<b.bi_valid?k(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);b.bi_buf=0;b.bi_valid=0}function q(b, c,d,e){var f=2*c,k=2*d;return b[f]<b[k]||b[f]===b[k]&&e[c]<=e[d]}function t(b,c,d){for(var e=b.heap[d],f=d<<1;f<=b.heap_len&&(f<b.heap_len&&q(c,b.heap[f+1],b.heap[f],b.depth)&&f++,!q(c,e,b.heap[f],b.depth));)b.heap[d]=b.heap[f],d=f,f<<=1;b.heap[d]=e}function u(b,c,d){var e,f,k,g,m=0;if(0!==b.last_lit){do e=b.pending_buf[b.d_buf+2*m]<<8|b.pending_buf[b.d_buf+2*m+1],f=b.pending_buf[b.l_buf+m],m++,0===e?n(b,f,c):(k=$[f],n(b,k+G+1,c),g=I[k],0!==g&&(f-=P[k],l(b,f,g)),e--,k=256>e?ca[e]:ca[256+(e>>>7)], n(b,k,d),g=aa[k],0!==g&&(e-=X[k],l(b,e,g)));while(m<b.last_lit)}n(b,U,c)}function x(b,c){var d,e,f,k=c.dyn_tree;e=c.stat_desc.static_tree;var g=c.stat_desc.has_stree,l=c.stat_desc.elems,n=-1;b.heap_len=0;b.heap_max=S;for(d=0;d<l;d++)0!==k[2*d]?(b.heap[++b.heap_len]=n=d,b.depth[d]=0):k[2*d+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>n?++n:0,k[2*f]=1,b.depth[f]=0,b.opt_len--,g&&(b.static_len-=e[2*f+1]);c.max_code=n;for(d=b.heap_len>>1;1<=d;d--)t(b,k,d);f=l;do d=b.heap[1],b.heap[1]=b.heap[b.heap_len--], -t(b,k,1),e=b.heap[1],b.heap[--b.heap_max]=d,b.heap[--b.heap_max]=e,k[2*f]=k[2*d]+k[2*e],b.depth[f]=(b.depth[d]>=b.depth[e]?b.depth[d]:b.depth[e])+1,k[2*d+1]=k[2*e+1]=f,b.heap[1]=f++,t(b,k,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var m,r,g=c.dyn_tree,l=c.max_code,q=c.stat_desc.static_tree,s=c.stat_desc.has_stree,B=c.stat_desc.extra_bits,u=c.stat_desc.extra_base,x=c.stat_desc.max_length,v=0;for(e=0;e<=W;e++)b.bl_count[e]=0;g[2*b.heap[b.heap_max]+1]=0;for(d=b.heap_max+1;d<S;d++)f=b.heap[d], -e=g[2*g[2*f+1]+1]+1,e>x&&(e=x,v++),g[2*f+1]=e,f>l||(b.bl_count[e]++,m=0,f>=u&&(m=B[f-u]),r=g[2*f],b.opt_len+=r*(e+m),s&&(b.static_len+=r*(q[2*f+1]+m)));if(0!==v){do{for(e=x-1;0===b.bl_count[e];)e--;b.bl_count[e]--;b.bl_count[e+1]+=2;b.bl_count[x]--;v-=2}while(0<v);for(e=x;0!==e;e--)for(f=b.bl_count[e];0!==f;)m=b.heap[--d],m>l||(g[2*m+1]!==e&&(b.opt_len+=(e-g[2*m+1])*g[2*m],g[2*m+1]=e),f--)}p(k,n,b.bl_count)}function v(b,c,d){var e,f,k=-1,g=c[1],l=0,n=7,m=4;0===g&&(n=138,m=3);c[2*(d+1)+1]=65535;for(e= +t(b,k,1),e=b.heap[1],b.heap[--b.heap_max]=d,b.heap[--b.heap_max]=e,k[2*f]=k[2*d]+k[2*e],b.depth[f]=(b.depth[d]>=b.depth[e]?b.depth[d]:b.depth[e])+1,k[2*d+1]=k[2*e+1]=f,b.heap[1]=f++,t(b,k,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var m,r,g=c.dyn_tree,l=c.max_code,s=c.stat_desc.static_tree,q=c.stat_desc.has_stree,B=c.stat_desc.extra_bits,u=c.stat_desc.extra_base,x=c.stat_desc.max_length,v=0;for(e=0;e<=W;e++)b.bl_count[e]=0;g[2*b.heap[b.heap_max]+1]=0;for(d=b.heap_max+1;d<S;d++)f=b.heap[d], +e=g[2*g[2*f+1]+1]+1,e>x&&(e=x,v++),g[2*f+1]=e,f>l||(b.bl_count[e]++,m=0,f>=u&&(m=B[f-u]),r=g[2*f],b.opt_len+=r*(e+m),q&&(b.static_len+=r*(s[2*f+1]+m)));if(0!==v){do{for(e=x-1;0===b.bl_count[e];)e--;b.bl_count[e]--;b.bl_count[e+1]+=2;b.bl_count[x]--;v-=2}while(0<v);for(e=x;0!==e;e--)for(f=b.bl_count[e];0!==f;)m=b.heap[--d],m>l||(g[2*m+1]!==e&&(b.opt_len+=(e-g[2*m+1])*g[2*m],g[2*m+1]=e),f--)}p(k,n,b.bl_count)}function v(b,c,d){var e,f,k=-1,g=c[1],l=0,n=7,m=4;0===g&&(n=138,m=3);c[2*(d+1)+1]=65535;for(e= 0;e<=d;e++)f=g,g=c[2*(e+1)+1],++l<n&&f===g||(l<m?b.bl_tree[2*f]+=l:0!==f?(f!==k&&b.bl_tree[2*f]++,b.bl_tree[2*B]++):10>=l?b.bl_tree[2*Y]++:b.bl_tree[2*L]++,l=0,k=f,0===g?(n=138,m=3):f===g?(n=6,m=3):(n=7,m=4))}function z(b,c,d){var e,f,k=-1,g=c[1],m=0,p=7,r=4;0===g&&(p=138,r=3);for(e=0;e<=d;e++)if(f=g,g=c[2*(e+1)+1],!(++m<p&&f===g)){if(m<r){do n(b,f,b.bl_tree);while(0!==--m)}else 0!==f?(f!==k&&(n(b,f,b.bl_tree),m--),n(b,B,b.bl_tree),l(b,m-3,2)):10>=m?(n(b,Y,b.bl_tree),l(b,m-3,3)):(n(b,L,b.bl_tree), l(b,m-11,7));m=0;k=f;0===g?(p=138,r=3):f===g?(p=6,r=3):(p=7,r=4)}}function y(b){var c,d=4093624447;for(c=0;31>=c;c++,d>>>=1)if(1&d&&0!==b.dyn_ltree[2*c])return D;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return C;for(c=32;c<G;c++)if(0!==b.dyn_ltree[2*c])return C;return D}function E(b,c,d,e){l(b,(F<<1)+(e?1:0),3);r(b);k(b,d);k(b,~d);A.arraySet(b.pending_buf,b.window,c,d,b.pending);b.pending+=d}var A=b("../utils/common"),D=0,C=1,F=0,G=256,H=G+1+29,N=30,K=19,S=2*H+1,W=15,da=16, U=256,B=16,Y=17,L=18,I=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],aa=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],M=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],J=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],O=Array(2*(H+2));e(O);var R=Array(2*N);e(R);var ca=Array(512);e(ca);var $=Array(256);e($);var P=Array(29);e(P);var X=Array(N);e(X);var Z,T,Q,ha=!1;d._tr_init=function(b){if(!ha){var c,d,e,k=Array(W+1);for(e=d=0;28>e;e++){P[e]=d;for(c=0;c<1<<I[e];c++)$[d++]= @@ -198,7 +198,7 @@ if(null==window.mxLanguages){window.mxLanguages=[];for(var lang in mxLanguageMap if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.analytics="0",urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0";if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";var host=window.location.host,searchString="draw.io",position=host.length-searchString.length,lastIndex=host.lastIndexOf(searchString,position);-1!==lastIndex&&lastIndex===position&&"test.draw.io"!=host&&(window.DRAWIO_LOG_URL="https://log.draw.io"); window.urlParams=window.urlParams||{};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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"]; -var mxClient={VERSION:"3.7.0.0",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +var mxClient={VERSION:"3.7.0.1",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| @@ -241,25 +241,25 @@ null;if("object"==typeof b)for(var d=mxUtils.indexOf(b,a);0<=d;)b.splice(d,1),c= b&&c.push(d),d=d.nextSibling;return c},importNode:function(a,b,c){if(mxClient.IS_IE&&(null==document.documentMode||10>document.documentMode))switch(b.nodeType){case 1:var d=a.createElement(b.nodeName);if(b.attributes&&0<b.attributes.length){for(var e=0;e<b.attributes.length;e++)d.setAttribute(b.attributes[e].nodeName,b.getAttribute(b.attributes[e].nodeName));if(c&&b.childNodes&&0<b.childNodes.length)for(e=0;e<b.childNodes.length;e++)d.appendChild(mxUtils.importNode(a,b.childNodes[e],c))}return d; case 3:case 4:case 8:return a.createTextNode(b.value)}else return a.importNode(b,c)},createXmlDocument:function(){var a=null;document.implementation&&document.implementation.createDocument?a=document.implementation.createDocument("","",null):window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLDOM"));return a},parseXml:function(){return window.DOMParser?function(a){return(new DOMParser).parseFromString(a,"text/xml")}:function(a){var b=mxUtils.createXmlDocument();b.async=!1;b.validateOnParse=!1; b.resolveExternals=!1;b.loadXML(a);return b}}(),clearSelection:function(){return document.selection?function(){document.selection.empty()}:window.getSelection?function(){window.getSelection().removeAllRanges()}:function(){}}(),getPrettyXml:function(a,b,c){var d=[];if(null!=a)if(b=b||" ",c=c||"",a.nodeType==mxConstants.NODETYPE_TEXT)d.push(a.value);else{d.push(c+"\x3c"+a.nodeName);var e=a.attributes;if(null!=e)for(var f=0;f<e.length;f++){var g=mxUtils.htmlEntities(e[f].value);d.push(" "+e[f].nodeName+ -'\x3d"'+g+'"')}e=a.firstChild;if(null!=e){for(d.push("\x3e\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d=b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=(a||"").replace(/&/g, -"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==b||b)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a):null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return c.replace(/\n/g,b||"\x26#xa;")},extractTextWithWhitespace:function(a){for(var b= -!1,c=[],d=0;a[d];d++){var e=a[d];if(3===e.nodeType||4===e.nodeType){if(11==document.documentMode&&d==a.length-1&&0==e.nodeValue.length)break;c.push(e.nodeValue+(null==e.nextSibling||3!=e.nextSibling.nodeType?"\n":""));b=!0}else 8!==e.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==e.nodeName&&0==e.innerHTML.length||!b&&"BR"==e.nodeName||"DIV"==e.nodeName&&"\x3cbr\x3e"==e.innerHTML?c.push("\n"):c.push(mxUtils.extractTextWithWhitespace(e.childNodes)),b=!1)}return c.join("")},replaceTrailingNewlines:function(a, -b){for(var c="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),c+=b;return a+c},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,b){void 0!==a.innerText?a.innerText=b:a[void 0===a.textContent?"text":"textContent"]=b},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(), -getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var b=[];b.push("\x3c"+a.nodeName);var c=a.attributes;if(null!=c)for(var d=0;d<c.length;d++){var e=c[d].value;null!=e&&0<e.length&&(b.push(" "),b.push(c[d].nodeName),b.push('\x3d"'),b.push(e),b.push('"'))}0==a.innerHTML.length?b.push("/\x3e"):(b.push("\x3e"),b.push(a.innerHTML),b.push("\x3c/"+a.nodeName+"\x3e"));return b.join("")}return""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a): -""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c=null,d=0;d<b;d++)null!=a&&(c=a.ownerDocument.createElement("br"),a.appendChild(c));return c},button:function(a,b,c){c=null!=c?c:document;c=c.createElement("button");mxUtils.write(c,a);mxEvent.addListener(c,"click",function(a){b(a)}); -return c},para:function(a,b){var c=document.createElement("p");mxUtils.write(c,b);null!=a&&a.appendChild(c);return c},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,b,c,d,e){return mxUtils.link(a,b,function(){c.execute(d)},e)},linkInvoke:function(a,b,c,d,e,f){return mxUtils.link(a,b,function(){c[d](e)},f)},link:function(a,b,c,d){var e= -document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},fit:function(a){var b=parseInt(a.offsetLeft),c=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),e=d.x,d=d.y,f=document.body,g=document.documentElement,k=e+(f.clientWidth||g.clientWidth);b+c>k&&(a.style.left=Math.max(e,k-c)+"px");b=parseInt(a.offsetTop); -c=parseInt(a.offsetHeight);f=d+Math.max(f.clientHeight||0,g.clientHeight);b+c>f&&(a.style.top=Math.max(d,f-c)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},k=0;k<a.length;k++)(function(a,c){mxUtils.get(a,function(a){var f=a.getStatus();200>f||299<f?g():(e[c]=a,d--,0==d&& -b(e))},g)})(a[k],k);0==d&&b(e)},post:function(a,b,c,d){return(new mxXmlRequest(a,b)).send(c,d)},submit:function(a,b,c,d){return(new mxXmlRequest(a,b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c||0);return Number(a)},getColor:function(a,b,c){a=null!=a?a[b]:null;null== -a?a=c:a==mxConstants.NONE&&(a=null);return a},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,e;for(e in a)if(e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e)))d[e]=!c&&"object"==typeof a[e]?mxUtils.clone(a[e]):a[e]}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b)for(var c=0;c<a.length;c++)if(a[c]==b[c]||null!=a[c]&&!a[c].equals(b[c]))return!1; -return!0},equalEntries:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){var c=0,d;for(d in b)c++;for(d in a)if(c--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(b[d]))&&a[d]!=b[d])return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype= -b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b="",c;for(c in a)try{if(null==a[c])b+=c+" \x3d [null]\n";else if("function"==typeof a[c])b+=c+" \x3d\x3e [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" \x3d\x3e ["+d+"]\n");else b+=c+" \x3d "+a[c]+"\n"}catch(e){b+=c+"\x3d"+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g, -k,l){k-=a;l-=b;if(0===c||0===d)return s;c=Math.abs(c);d=Math.abs(d);var n=-k/2,m=-l/2,p=Math.cos(e*Math.PI/180),s=Math.sin(e*Math.PI/180);e=p*n+s*m;var n=-1*s*n+p*m,m=e*e,r=n*n,q=c*c,t=d*d,u=m/q+r/t;1<u?(c*=Math.sqrt(u),d*=Math.sqrt(u),f=0):(u=1,f===g&&(u=-1),f=u*Math.sqrt((q*t-q*r-t*m)/(q*r+t*m)));m=f*c*n/d;r=-1*f*d*e/c;k=p*m-s*r+k/2;l=s*m+p*r+l/2;q=Math.atan2((n-r)/d,(e-m)/c)-Math.atan2(0,1);f=0<=q?q:2*Math.PI+q;q=Math.atan2((-n-r)/d,(-e-m)/c)-Math.atan2((n-r)/d,(e-m)/c);e=0<=q?q:2*Math.PI+q;0== -g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;n=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);m=p*c;p*=d;c*=s;d*=s;for(var x=Math.cos(f),v=Math.sin(f),r=-n*(m*v+d*x),q=-n*(c*v-p*x),s=[],z=0;z<g;++z){f+=e;var x=Math.cos(f),v=Math.sin(f),t=m*x-d*v+k,u=c*x+p*v+l,y=-n*(m*v+d*x),x=-n*(c*v-p*x),v=6*z;s[v]=Number(r+a);s[v+1]=Number(q+b);s[v+2]=Number(t-y+a);s[v+3]=Number(u-x+b);s[v+4]=Number(t+a);s[v+5]=Number(u+b);r=t+y;q=u+x}return s},getBoundingBox:function(a, -b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x,b.y,0,0));d.add(new mxRectangle(g.x, -g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45< -c?(a=1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break;case 3:b|= -mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, +'\x3d"'+g+'"')}e=a.firstChild;if(null!=e){for(d.push("\x3e\n");null!=e;)d.push(mxUtils.getPrettyXml(e,b,c+b)),e=e.nextSibling;d.push(c+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,b){for(var c=b?a.previousSibling:a.nextSibling;null!=c&&c.nodeType==mxConstants.NODETYPE_TEXT;){var d=b?c.previousSibling:c.nextSibling,e=mxUtils.getTextContent(c);0==mxUtils.trim(e).length&&c.parentNode.removeChild(c);c=d}},htmlEntities:function(a,b){a=String(a||""); +a=a.replace(/&/g,"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==b||b)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,b){var c="";null!=window.XMLSerializer?c=(new XMLSerializer).serializeToString(a):null!=a.xml&&(c=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return c.replace(/\n/g,b||"\x26#xa;")}, +extractTextWithWhitespace:function(a){for(var b=!1,c=[],d=0;a[d];d++){var e=a[d];if(3===e.nodeType||4===e.nodeType){if(11==document.documentMode&&d==a.length-1&&0==e.nodeValue.length)break;c.push(e.nodeValue+(null==e.nextSibling||3!=e.nextSibling.nodeType?"\n":""));b=!0}else 8!==e.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==e.nodeName&&0==e.innerHTML.length||!b&&"BR"==e.nodeName||"DIV"==e.nodeName&&"\x3cbr\x3e"==e.innerHTML?c.push("\n"):c.push(mxUtils.extractTextWithWhitespace(e.childNodes)), +b=!1)}return c.join("")},replaceTrailingNewlines:function(a,b){for(var c="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),c+=b;return a+c},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,b){void 0!==a.innerText?a.innerText=b:a[void 0===a.textContent?"text":"textContent"]=b},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!= +a?(new XMLSerializer).serializeToString(a):""}}(),getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var b=[];b.push("\x3c"+a.nodeName);var c=a.attributes;if(null!=c)for(var d=0;d<c.length;d++){var e=c[d].value;null!=e&&0<e.length&&(b.push(" "),b.push(c[d].nodeName),b.push('\x3d"'),b.push(e),b.push('"'))}0==a.innerHTML.length?b.push("/\x3e"):(b.push("\x3e"),b.push(a.innerHTML),b.push("\x3c/"+a.nodeName+"\x3e"));return b.join("")}return""}: +function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(),write:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&a.appendChild(c);return c},writeln:function(a,b){var c=a.ownerDocument.createTextNode(b);null!=a&&(a.appendChild(c),a.appendChild(document.createElement("br")));return c},br:function(a,b){b=b||1;for(var c=null,d=0;d<b;d++)null!=a&&(c=a.ownerDocument.createElement("br"),a.appendChild(c));return c},button:function(a,b,c){c=null!=c?c:document;c=c.createElement("button"); +mxUtils.write(c,a);mxEvent.addListener(c,"click",function(a){b(a)});return c},para:function(a,b){var c=document.createElement("p");mxUtils.write(c,b);null!=a&&a.appendChild(c);return c},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,b,c,d,e){return mxUtils.link(a,b,function(){c.execute(d)},e)},linkInvoke:function(a,b,c,d,e,f){return mxUtils.link(a, +b,function(){c[d](e)},f)},link:function(a,b,c,d){var e=document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},fit:function(a){var b=parseInt(a.offsetLeft),c=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),e=d.x,d=d.y,f=document.body,g=document.documentElement,k=e+(f.clientWidth||g.clientWidth); +b+c>k&&(a.style.left=Math.max(e,k-c)+"px");b=parseInt(a.offsetTop);c=parseInt(a.offsetHeight);f=d+Math.max(f.clientHeight||0,g.clientHeight);b+c>f&&(a.style.top=Math.max(d,f-c)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},k=0;k<a.length;k++)(function(a,c){mxUtils.get(a, +function(a){var f=a.getStatus();200>f||299<f?g():(e[c]=a,d--,0==d&&b(e))},g)})(a[k],k);0==d&&b(e)},post:function(a,b,c,d){return(new mxXmlRequest(a,b)).send(c,d)},submit:function(a,b,c,d){return(new mxXmlRequest(a,b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c|| +0);return Number(a)},getColor:function(a,b,c){a=null!=a?a[b]:null;null==a?a=c:a==mxConstants.NONE&&(a=null);return a},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,e;for(e in a)if(e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e)))d[e]=!c&&"object"==typeof a[e]?mxUtils.clone(a[e]):a[e]}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!= +a&&null!=b)for(var c=0;c<a.length;c++)if(a[c]==b[c]||null!=a[c]&&!a[c].equals(b[c]))return!1;return!0},equalEntries:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){var c=0,d;for(d in b)c++;for(d in a)if(c--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(b[d]))&&a[d]!=b[d])return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"== +typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b="",c;for(c in a)try{if(null==a[c])b+=c+" \x3d [null]\n";else if("function"==typeof a[c])b+=c+" \x3d\x3e [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" \x3d\x3e ["+d+"]\n");else b+=c+" \x3d "+a[c]+"\n"}catch(e){b+=c+"\x3d"+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180* +a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,k,l){k-=a;l-=b;if(0===c||0===d)return s;c=Math.abs(c);d=Math.abs(d);var n=-k/2,m=-l/2,p=Math.cos(e*Math.PI/180),s=Math.sin(e*Math.PI/180);e=p*n+s*m;var n=-1*s*n+p*m,m=e*e,r=n*n,q=c*c,t=d*d,u=m/q+r/t;1<u?(c*=Math.sqrt(u),d*=Math.sqrt(u),f=0):(u=1,f===g&&(u=-1),f=u*Math.sqrt((q*t-q*r-t*m)/(q*r+t*m)));m=f*c*n/d;r=-1*f*d*e/c;k=p*m-s*r+k/2;l=s*m+p*r+l/2;q=Math.atan2((n-r)/d,(e-m)/c)-Math.atan2(0,1);f=0<=q?q:2*Math.PI+q;q=Math.atan2((-n-r)/d,(-e-m)/c)-Math.atan2((n- +r)/d,(e-m)/c);e=0<=q?q:2*Math.PI+q;0==g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;n=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);m=p*c;p*=d;c*=s;d*=s;for(var x=Math.cos(f),v=Math.sin(f),r=-n*(m*v+d*x),q=-n*(c*v-p*x),s=[],z=0;z<g;++z){f+=e;var x=Math.cos(f),v=Math.sin(f),t=m*x-d*v+k,u=c*x+p*v+l,y=-n*(m*v+d*x),x=-n*(c*v-p*x),v=6*z;s[v]=Number(r+a);s[v+1]=Number(q+b);s[v+2]=Number(t-y+a);s[v+3]=Number(u-x+b);s[v+4]=Number(t+a);s[v+5]=Number(u+b);r=t+y;q= +u+x}return s},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x, +b.y,0,0));d.add(new mxRectangle(g.x,g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION, +0));a=0;45<c?(a=1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break; +case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, reversePortConstraints:function(a){var b=0,b=(a&mxConstants.DIRECTION_MASK_WEST)<<3,b=b|(a&mxConstants.DIRECTION_MASK_NORTH)<<1,b=b|(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return b|(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,b,c){var d=-1;if(0<a.absolutePoints.length)for(var e=a.absolutePoints[0],f=null,g=1;g<a.absolutePoints.length;g++){var k=a.absolutePoints[g],e=mxUtils.ptSegDistSq(e.x,e.y,k.x,k.y,b,c);if(null==f||e<f)f=e,d=g-1;e=k}return d},rectangleIntersectsSegment:function(a, b,c){var d=a.y,e=a.x,f=d+a.height,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);a<e&&(a=e);if(a>k)return!1;var e=b.y,g=c.y,l=c.x-b.x;1E-7<Math.abs(l)&&(c=(c.y-b.y)/l,b=b.y-c*b.x,e=c*a+b,g=c*k+b);e>g&&(b=g,g=e,e=b);g>f&&(g=f);e<d&&(e=d);return e>g?!1:!0},contains:function(a,b,c){return a.x<=b&&a.x+a.width>=b&&a.y<=c&&a.y+a.height>=c},intersects:function(a,b){var c=a.width,d=a.height,e=b.width,f=b.height;if(0>=e||0>=f||0>=c||0>=d)return!1;var g=a.x,k=a.y,l=b.x,n=b.y,e=e+l,f=f+n,c=c+ g,d=d+k;return(e<l||e>g)&&(f<n||f>k)&&(c<g||c>l)&&(d<k||d>n)},intersectsHotspot:function(a,b,c,d,e,f){d=null!=d?d:1;e=null!=e?e:0;f=null!=f?f:0;if(0<d){var g=a.getCenterX(),k=a.getCenterY(),l=a.width,n=a.height,m=mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE)*a.view.scale;0<m&&(mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,!0)?(k=a.y+m/2,n=m):(g=a.x+m/2,l=m));l=Math.max(e,l*d);n=Math.max(e,n*d);0<f&&(l=Math.min(l,f),n=Math.min(n,f));d=new mxRectangle(g-l/2,k-n/2,l,n);g=mxUtils.toRadians(mxUtils.getValue(a.style, @@ -1652,8 +1652,8 @@ g=this.getAlignmentTolerance();if(0<g){var k=this.graph.view.getState(b);if(null mxConnectionHandler.prototype.createEdge=function(a,b,c,d){var e=null;null!=this.factoryMethod&&(e=this.factoryMethod(b,c,d));null==e&&(e=new mxCell(a||""),e.setEdge(!0),e.setStyle(d),a=new mxGeometry,a.relative=!0,e.setGeometry(a));return e}; mxConnectionHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.marker&&(this.marker.destroy(),this.marker=null);null!=this.constraintHandler&&(this.constraintHandler.destroy(),this.constraintHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getView().removeListener(this.changeHandler),this.changeHandler=null);null!=this.drillHandler&&(this.graph.removeListener(this.drillHandler), this.graph.getView().removeListener(this.drillHandler),this.drillHandler=null);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null)}; -function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,c){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)&&this.reset()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5);mxConstraintHandler.prototype.graph=null; -mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; +function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,c){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)?this.reset():this.redraw()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5); +mxConstraintHandler.prototype.graph=null;mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a}; mxConstraintHandler.prototype.reset=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusIcons=null}null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null);this.focusPoints=this.currentFocus=this.currentPoint=this.currentFocusArea=this.currentConstraint=null};mxConstraintHandler.prototype.getTolerance=function(a){return this.graph.getTolerance()}; mxConstraintHandler.prototype.getImageForConstraint=function(a,b,c){return this.pointImage};mxConstraintHandler.prototype.isEventIgnored=function(a,b){return!1};mxConstraintHandler.prototype.isStateIgnored=function(a,b){return!1};mxConstraintHandler.prototype.destroyIcons=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusPoints=this.focusIcons=null}}; mxConstraintHandler.prototype.destroyFocusHighlight=function(){null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null)};mxConstraintHandler.prototype.isKeepFocusEvent=function(a){return mxEvent.isShiftDown(a.getEvent())}; @@ -1662,6 +1662,8 @@ mxConstraintHandler.prototype.update=function(a,b,c,d){if(this.isEnabled()&&!thi d));if(!this.isKeepFocusEvent(a)&&(null==this.currentFocusArea||null==this.currentFocus||null!=k||!this.graph.getModel().isVertex(this.currentFocus.cell)||!mxUtils.intersects(this.currentFocusArea,e))&&k!=this.currentFocus)this.currentFocus=this.currentFocusArea=null,this.setFocus(a,k,b);a=this.currentPoint=this.currentConstraint=null;if(null!=this.focusIcons&&null!=this.constraints&&(null==k||this.currentFocus==k))for(var g=e.getCenterX(),l=e.getCenterY(),n=0;n<this.focusIcons.length;n++){var m= g-this.focusIcons[n].bounds.getCenterX(),p=l-this.focusIcons[n].bounds.getCenterY(),m=m*m+p*p;if((this.intersects(this.focusIcons[n],e,b,c)||null!=d&&this.intersects(this.focusIcons[n],f,b,c))&&(null==a||m<a)){this.currentConstraint=this.constraints[n];this.currentPoint=this.focusPoints[n];a=m;m=this.focusIcons[n].bounds.clone();m.grow(mxConstants.HIGHLIGHT_SIZE);mxClient.IS_IE&&(m.grow(1),m.width-=1,m.height-=1);if(null==this.focusHighlight){p=this.createHighlightShape();p.dialect=this.graph.dialect== mxConstants.DIALECT_SVG?mxConstants.DIALECT_SVG:mxConstants.DIALECT_VML;p.pointerEvents=!1;p.init(this.graph.getView().getOverlayPane());this.focusHighlight=p;var s=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:k});mxEvent.redirectMouseEvents(p.node,this.graph,s)}this.focusHighlight.bounds=m;this.focusHighlight.redraw()}}null==this.currentConstraint&&this.destroyFocusHighlight()}else this.currentPoint=this.currentFocus=this.currentConstraint=null}; +mxConstraintHandler.prototype.redraw=function(){if(null!=this.currentFocus&&null!=this.constraints&&null!=this.focusIcons){var a=this.graph.view.getState(this.currentFocus.cell);this.currentFocus=a;this.currentFocusArea=new mxRectangle(a.x,a.y,a.width,a.height);for(var b=0;b<this.constraints.length;b++){var c=this.graph.getConnectionPoint(a,this.constraints[b]),d=this.getImageForConstraint(a,this.constraints[b],c),d=new mxRectangle(Math.round(c.x-d.width/2),Math.round(c.y-d.height/2),d.width,d.height); +this.focusIcons[b].bounds=d;this.focusIcons[b].redraw();this.currentFocusArea.add(this.focusIcons[b].bounds);this.focusPoints[b]=c}}}; mxConstraintHandler.prototype.setFocus=function(a,b,c){this.constraints=null!=b&&!this.isStateIgnored(b,c)&&this.graph.isCellConnectable(b.cell)?this.isEnabled()?this.graph.getAllConnectionConstraints(b,c)||[]:[]:null;if(null!=this.constraints){this.currentFocus=b;this.currentFocusArea=new mxRectangle(b.x,b.y,b.width,b.height);if(null!=this.focusIcons){for(c=0;c<this.focusIcons.length;c++)this.focusIcons[c].destroy();this.focusPoints=this.focusIcons=null}this.focusPoints=[];this.focusIcons=[];for(c= 0;c<this.constraints.length;c++){var d=this.graph.getConnectionPoint(b,this.constraints[c]),e=this.getImageForConstraint(b,this.constraints[c],d),f=e.src,e=new mxRectangle(Math.round(d.x-e.width/2),Math.round(d.y-e.height/2),e.width,e.height),f=new mxImageShape(e,f);f.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG;f.preserveImageAspect=!1;f.init(this.graph.getView().getDecoratorPane());(mxClient.IS_QUIRKS||8==document.documentMode)&&mxEvent.addListener(f.node, "dragstart",function(a){mxEvent.consume(a);return!1});null!=f.node.previousSibling&&f.node.parentNode.insertBefore(f.node,f.node.parentNode.firstChild);e=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:b});f.redraw();mxEvent.redirectMouseEvents(f.node,this.graph,e);this.currentFocusArea.add(f.bounds);this.focusIcons.push(f);this.focusPoints.push(d)}this.currentFocusArea.grow(this.getTolerance(a))}else this.destroyIcons(),this.destroyFocusHighlight()}; @@ -2312,7 +2314,7 @@ a.length-1;0<=f;f--)if(0==f||a[f]!=e[f-1]){a[f].setAttribute("width",b);a[f].set "_blank");break}}};Graph.prototype.isCellResizable=function(a){var b=mxGraph.prototype.isCellResizable.apply(this,arguments),c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return b||"0"!=mxUtils.getValue(c,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==c[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,b){null==b&&(b=this.getSelectionCells());if(null!=b&&1<b.length){for(var c=[],d=null,e=null,f=0;f<b.length;f++)if(this.getModel().isVertex(b[f])){var g=this.view.getState(b[f]); if(null!=g){var k=a?g.getCenterX():g.getCenterY(),d=null!=d?Math.max(d,k):k,e=null!=e?Math.min(e,k):k;c.push(g)}}if(2<c.length){c.sort(function(b,c){return a?b.x-c.x:b.y-c.y});g=this.view.translate;k=this.view.scale;e=e/k-(a?g.x:g.y);d=d/k-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var l=(d-e)/(c.length-1),d=e,f=1;f<c.length-1;f++){var n=this.getCellGeometry(c[f].cell),d=d+l;null!=n&&(n=n.clone(),a?n.x=Math.round(d-n.width/2):n.y=Math.round(d-n.height/2),this.getModel().setGeometry(c[f].cell, n))}}finally{this.getModel().endUpdate()}}}return b};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var b=this.cloneCells(a),c=0;c<b.length;c++){var d=this.view.getState(a[c]);if(null!=d){var e=this.getCellGeometry(b[c]);null!=e&&e.relative&&(e.relative=!1,e.x=d.x/d.view.scale-d.view.translate.x,e.y=d.y/d.view.scale-d.view.translate.y)}}for(var d=new mxCodec,e=new mxGraphModel,f=e.getChildAt(e.getRoot(), -0),c=0;c<a.length;c++)e.add(f,b[c]);return d.encode(e)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g){b=null!=b?b:1;c=null!=c?c:1;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var k=this.createSvgImageExport(), +0),c=0;c<a.length;c++)e.add(f,b[c]);return d.encode(e)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g){b=null!=b?b:1;c=null!=c?c:0;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var k=this.createSvgImageExport(), l=k.drawCellState;k.drawCellState=function(a,b){(f||a.view.graph.isCellSelected(a.cell))&&l.apply(this,arguments)};var n=this.view.scale,m=mxUtils.createXmlDocument(),p=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"svg"):m.createElement("svg");null!=a&&(null!=p.style?p.style.backgroundColor=a:p.setAttribute("style","background-color:"+a));null==m.createElementNS?(p.setAttribute("xmlns",mxConstants.NS_SVG),p.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):p.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink",mxConstants.NS_XLINK);a=b/n;p.setAttribute("width",Math.ceil(d.width*a)+2*c+"px");p.setAttribute("height",Math.ceil(d.height*a)+2*c+"px");p.setAttribute("version","1.1");var r=p;e&&(r=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"g"):m.createElement("g"),r.setAttribute("transform","translate(0.5,0.5)"),p.appendChild(r));m.appendChild(p);m=new mxSvgCanvas2D(r);m.foOffset=e?-0.5:0;m.textOffset=e?-0.5:0;m.translate(Math.floor((c/b-d.x)/n),Math.floor((c/b-d.y)/n));var q= m.createAlternateContent;m.createAlternateContent=function(a,b,c,d,e,f,g,k,l,n,m,p,r){var s=this.state;if(null!=this.foAltText&&(0==d||0!=s.fontSize&&f.length<5*d/s.fontSize)){var t=this.createElement("text");t.setAttribute("x",Math.round(d/2));t.setAttribute("y",Math.round((e+s.fontSize)/2));t.setAttribute("fill",s.fontColor||"black");t.setAttribute("text-anchor","middle");t.setAttribute("font-size",Math.round(s.fontSize)+"px");t.setAttribute("font-family",s.fontFamily);(s.fontStyle&mxConstants.FONT_BOLD)== @@ -2683,126 +2685,127 @@ q.substring(0,2)&&(q=q.substring(2),a+=' \x3ca href\x3d"https://drive.google.com function(a,b,c,d,e,f,g){a=new ErrorDialog(this,a,b,c,d,e,f,g);this.showDialog(a.container,340,150,!0,!1);a.init()};EditorUi.prototype.alert=function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,c,d,e){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){f();null!=b&&b()},function(){f();null!=c&&c()},d,e)).container, 340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+ btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createPngDataUri=function(a,b){var c=a.toDataURL("image/png");if(6>=c.length||c==a.cloneNode(!1).toDataURL("image/png"))throw{message:"Invalid image"};null!=b&&(c=this.writeGraphModelToPng(c,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return c};EditorUi.prototype.saveCanvas=function(a,b){var c=this.getCurrentFile(),c=null!=c&&null!=c.getTitle()?c.getTitle():this.defaultFilename,d=c.lastIndexOf(".");0<d&&(c=c.substring(0,d)); -c+=".png";d=this.createPngDataUri(a,b);this.saveData(c,"png",d.substring(d.lastIndexOf(",")+1),"image/png",!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d){if(window.MSBlobBuilder&&navigator.msSaveOrOpenBlob)d= +c+=".png";d=this.createPngDataUri(a,b);this.saveData(c,"png",d.substring(d.lastIndexOf(",")+1),"image/png",!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d,e){if(window.MSBlobBuilder&&navigator.msSaveOrOpenBlob)d= new MSBlobBuilder,d.append(a),a=d.getBlob(c),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height="380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null); -else if(!this.isOffline()&&mxClient.IS_SF)this.createEchoRequest(a,b,c,d).simulate(document,"_blank");else{var e=document.createElement("a");e.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));e.download=b;document.body.appendChild(e);mxClient.IS_SF&&e.setAttribute("target","_blank");try{e.click(),window.setTimeout(function(){URL.revokeObjectURL(e.href)},0),e.parentNode.removeChild(e)}catch(f){}}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,f){a="xml\x3d"+encodeURIComponent(a); -return new mxXmlRequest(SAVE_URL,a+(null!=c?"\x26mime\x3d"+c:"")+(null!=e?"\x26format\x3d"+e:"")+(null!=f?"\x26base64\x3d"+f:"")+(null!=b?"\x26filename\x3d"+encodeURIComponent(b):"")+(d?"\x26binary\x3d1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),f=Array(e),g=0;g<e;++g){for(var q=1024*g,t=Math.min(q+1024,d),u=Array(t-q),x=0;q<t;++x,++q)u[x]=c[q].charCodeAt(0);f[g]=new Uint8Array(u)}return new Blob(f,{type:b})};EditorUi.prototype.saveLocalFile= -function(a,b,c,d){var e=!mxClient.IS_IOS||!navigator.standalone,f=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):null!=c&&"image/"==c.substring(0,6)&&("image/svg"!=c.substring(0,9)||mxClient.IS_SVG)?!d||mxClient.IS_EDGE||11==document.documentMode|| -10==document.documentMode?(f.document.write('\x3chtml\x3e\x3cimg src\x3d"data:'+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))+'"/\x3e\x3c/html\x3e'),f.document.close()):f.location.replace("data:"+c+";base64,"+a):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else e==App.MODE_DEVICE?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(f){this.exportFile(a,b,c,d,e,f)}))}catch(g){this.handleError(g)}}),mxUtils.bind(this,function(){this.hideDialog()}), -mxResources.get("saveAs"),mxResources.get("download"),!1,!1,e);this.showDialog(b.container,380,f?280:160,!0,!0);b.init()};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}))};EditorUi.prototype.saveRequest=function(a,b,c){var d=!mxClient.IS_IOS||!navigator.standalone,e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"=== -typeof window.DropboxClient||"function"===typeof window.OneDriveClient);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var e=c("_blank"==d?null:a,d==App.MODE_DEVICE||null==d||"_blank"==d?"0":"1");null!=e&&(d==App.MODE_DEVICE||"_blank"==d?e.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){this.spinner.spin(document.body,mxResources.get("saving"))&&e.send(mxUtils.bind(this,function(){this.spinner.stop();if(200>e.getStatus()|| -299<e.getStatus())this.handleError({message:mxResources.get("errorSavingFile")});else try{var f="pdf"==b?"application/pdf":"image/"+b;this.exportFile(e.getText(),a,f,!0,d,c)}catch(g){this.handleError(g)}}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,d);this.showDialog(a.container,380,e?280:160,!0,!0);a.init()};EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder= -function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,g){if(this.spinner.spin(document.body,mxResources.get("export"))){var q=this.editor.graph.isSelectionEmpty();c=null!=c?c:q;q=b?null:this.editor.graph.background;q==mxConstants.NONE&&(q=null);null==q&&!1==b&&(q="#ffffff");var t=this.editor.graph.getSvg(q,a,null,g,null,c);d&&this.editor.addSvgShadow(t);a=this.getCurrentFile();var u=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;a=u.lastIndexOf(".");0<a&&(u=u.substring(0, -a));var u=u+".svg",x=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c));var b='\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(u,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))}); -this.convertMath(this.editor.graph,t,!1,mxUtils.bind(this,function(){f?this.convertImages(t,x):x(t)}))}};EditorUi.prototype.showRemoteExportDialog=function(a,b,c){var d=this.editor.graph,e=document.createElement("div");e.style.padding="6px";var f=document.createElement("input");f.style.marginRight="8px";f.setAttribute("type","checkbox");d.isSelectionEmpty()&&f.setAttribute("disabled","disabled");e.appendChild(f);mxUtils.write(e,mxResources.get("selectionOnly"));mxUtils.br(e);var g=document.createElement("input"); -g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";e.appendChild(g);mxUtils.write(e,mxResources.get("includeCopyOfMyDiagram"));a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!f.checked,g.checked)}),null,a,b);this.showDialog(a.container,300,120,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e){var f=this.editor.graph,g=document.createElement("div");g.style.paddingTop="20px";g.style.paddingRight= -"8px";var q=240,t=document.createElement("input");t.style.marginRight="8px";t.setAttribute("type","checkbox");if(f.background==mxConstants.NONE||null==f.background)t.setAttribute("checked","checked"),t.defaultChecked=!0;g.appendChild(t);mxUtils.write(g,mxResources.get("transparentBackground"));mxUtils.br(g);var u=document.createElement("input");u.style.marginTop="16px";u.style.marginRight="8px";u.setAttribute("type","checkbox");g.appendChild(u);mxUtils.write(g,mxResources.get("selectionOnly"));mxUtils.br(g); -var x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.setAttribute("type","checkbox");e&&(g.appendChild(x),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),q+=26);f.isSelectionEmpty()&&(u.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"));var v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight="8px";v.setAttribute("type","checkbox");g.appendChild(v);mxUtils.write(g,mxResources.get("shadow"));mxUtils.br(g); -f.shadowVisible&&(v.setAttribute("checked","checked"),v.defaultChecked=!0);var z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");(this.isOffline()||!this.canvasSupported)&&z.setAttribute("disabled","disabled");a&&(g.appendChild(z),mxUtils.write(g,mxResources.get("embedImages")),mxUtils.br(g),q+=26);var y=document.createElement("input");y.style.marginTop="16px";y.style.marginRight="8px";y.setAttribute("type","checkbox");y.style.marginBottom= -"8px";y.setAttribute("checked","checked");y.defaultChecked=!0;g.appendChild(y);mxUtils.write(g,mxResources.get("includeCopyOfMyDiagram"));a=new FilenameDialog(this,100,b,mxUtils.bind(this,function(a){d(a,t.checked,!u.checked,v.checked,y.checked,z.checked,x.checked)}),mxResources.get("zoom")+" (%)",null,g,!this.isOffline()?c:null);this.showDialog(a.container,320,q,!0,!0);a.init()};EditorUi.prototype.uploadToGithub=function(a,b,c){var d=this.spinner.pause();c=document.createElement("div");c.style.paddingTop= -"20px";c.style.paddingRight="8px";var e=document.createElement("table"),f=document.createElement("tbody"),g=document.createElement("tr"),q=document.createElement("td"),t=document.createElement("input");t.setAttribute("type","text");mxUtils.write(q,"Username:");g.appendChild(q);q=q.cloneNode(!1);q.appendChild(t);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),u=document.createElement("input");u.setAttribute("type","password");mxUtils.write(q,"Password:");g=g.cloneNode(!1);g.appendChild(q); -q=q.cloneNode(!1);q.appendChild(u);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),x=document.createElement("input");x.setAttribute("type","text");mxUtils.write(q,"Organisation:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(x);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),v=document.createElement("input");v.setAttribute("type","text");mxUtils.write(q,"Repository:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(v);g.appendChild(q);f.appendChild(g); -var q=q.cloneNode(!1),z=document.createElement("input");z.setAttribute("type","text");mxUtils.write(q,"Path:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(z);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);a=this.getCurrentFile();a=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;var y=a.lastIndexOf(".");0<y&&(a=a.substring(0,y));z.value=a+".png";var E=document.createElement("input");E.setAttribute("type","text");mxUtils.write(q,"Branch/Tag:");E.value="master"; -g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(E);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),A=document.createElement("input");A.setAttribute("type","text");mxUtils.write(q,"Message:");A.value="Updated "+a+".png";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(A);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);e.appendChild(f);c.appendChild(e);c=new FilenameDialog(this,null,mxResources.get("publish"),mxUtils.bind(this,function(){var a="https://api.github.com/repos/"+ -x.value+"/"+v.value+"/contents/"+z.value+"?ref\x3d"+encodeURIComponent(E.value);d();mxUtils.get(a,mxUtils.bind(this,function(c){if(200==c.getStatus()||404==c.getStatus()){c=JSON.parse(c.getText());var e={path:z.value,message:A.value,content:b};null!=c.sha&&(e.sha=c.sha);var f=new XMLHttpRequest;f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&300>f.status){this.spinner.stop();this.hideDialog();a="https://github.com/"+x.value+"/"+v.value+"/blob/"+E.value+"/"+z.value; -var b=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open(a)}),!1);this.showDialog(b.container,340,170,!0,!1);b.init()}else d=this.spinner.pause(),this.handleError(JSON.parse(f.responseText))});f.open("PUT",a,!0);f.setRequestHeader("Authorization","Basic "+ -btoa(t.value+":"+u.value));f.send(JSON.stringify(e))}else this.hideDialog(),this.spinner.stop(),this.handleError(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){this.hideDialog();this.spinner.stop();this.handleError({message:mxResources.get("unknownError")})}))}),null,null,c,null,!1);this.showDialog(c.container,260,260,!0,!1);c.init()};EditorUi.prototype.uploadToImgur=function(a,b,c,d){var e=this.spinner.pause();c=!1;var f=new ErrorDialog(this,mxResources.get("warning"),'\x3cimg style\x3d"max-width:300px;max-height:80px;margin-bottom:20px;padding:6px;border:1px solid gray;" src\x3d"data:image/png;base64,'+ -b+'"/\x3e\x3cbr\x3e'+mxResources.get("publishConfirmation"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("publish"),mxUtils.bind(this,function(){e();var f=null!=a.getTitle()?a.getTitle():this.defaultFilename,g=f.lastIndexOf("."),s=f;0<g&&(s=f=s.substring(0,g));var g=new mxXmlRequest("/imgur",JSON.stringify({type:"base64",image:b,name:s+".png",title:f,description:"Made with https://www.draw.io"}),"POST"),u=mxUtils.bind(this,function(a){var b={message:mxResources.get("unknownError")}; -try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});g.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText()),e="https://www.draw.io/i/"+b.data.id;try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity\x3dCONFIG\x26msg\x3dimgur-published:"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(g){}var k=mxUtils.bind(this,function(){this.spinner.stop(); -var a="https://imgur.com/"+b.data.id,f="https://www.draw.io/imgur?delete\x3d"+b.data.deletehash,a=new ErrorDialog(this,mxResources.get("published"),(c?mxResources.get("viewUrl",['\x3ca href\x3d"'+e+'" target\x3d"_blank"\x3e'+e+"\x3c/a\x3e"])+"\x3cbr\x3e":"")+mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"])+"\x3cbr\x3e"+mxResources.get("deleteUrl",[f]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("share"), -function(){d(b.data.id,c)},!1);this.showDialog(a.container,340,180,!0,!1);a.init()});if(c){var l=new mxXmlRequest("/imgur?"+b.data.deletehash,JSON.stringify({title:f,description:mxResources.get("viewUrl",[e])}),"POST");l.send(mxUtils.bind(this,function(){200==l.getStatus()?k():u(l)}),mxUtils.bind(this,function(){u(l)}))}else k()}catch(p){this.handleError(p)}else u(a)}),mxUtils.bind(this,function(a){u(a)}))}));this.showDialog(f.container,320,250,!0,!1);f.init()};EditorUi.prototype.publishImage=function(a, -b){var c=this.getCurrentFile();null!=c&&(this.isExportToCanvas()?this.showExportDialog(!1,mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e,f,g,q){d=parseInt(d);if(!isNaN(d)&&0<d){d/=100;var t=this.editor.graph.isSelectionEmpty();f=null!=f?f:t;if(this.spinner.spin(document.body,mxResources.get("publishing")))try{this.exportToCanvas(mxUtils.bind(this,function(d){try{var e=q?this.getFileData(!0,null,null,null,f):null,g=this.createPngDataUri(d, -e);a(c,g.substring(g.lastIndexOf(",")+1),q,b)}catch(m){this.handleError(m)}}),null,null,null,mxUtils.bind(this,function(a){this.handleError(a)}),null,f,d||1,e,g)}catch(u){this.handleError(u)}}})):this.showRemoteExportDialog(mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e){if(this.spinner.spin(document.body,mxResources.get("publishing"))){var f=this.editor.graph.getGraphBounds(),g=this.getFileData(!0,null,null,null,d);if(f.width* -f.height<=MAX_AREA&&g.length<=MAX_REQUEST_SIZE)try{var q=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+(e?"1":"0")+"\x26xml\x3d"+encodeURIComponent(g));q.send(mxUtils.bind(this,function(){200==q.getStatus()?a(c,q.getText(),e,b):this.handleError(q)}))}catch(t){this.handleError(t)}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}})))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3); -if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&& -(g=null));b=b.getSvg(g,null,null,null,null,f);null!=a&&b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n': -"")+mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,f){if(this.spinner.spin(document.body,mxResources.get("exporting"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c):null)}catch(b){"Invalid image"==b.message?this.downloadFile("png"):this.handleError(b)}}),null,null,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}), -null,c,a||1,b,d,null,null,null,f)}catch(q){this.spinner.stop(),this.handleError(q)}}};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,q,t,u,x,v,z,y){f=null!=f?f:!0;v=null!=v?v:this.editor.graph;z=null!=z?z:0;var E=t?null:v.background;E==mxConstants.NONE&&(E=null);null==E&&(E=d);null==E&&!1==t&&(E="#ffffff");this.convertImages(v.getSvg(E,null,null,y,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"), -g=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));q=null!=q?q:1;null!=b&&(q=!f?b/g:Math.min(1,Math.min(3*b/(4*m),b/g)));g=Math.ceil(q*g)+2*z;m=Math.ceil(q*m)+2*z;e.setAttribute("width",g);e.setAttribute("height",m);var n=e.getContext("2d");null!=E&&(n.beginPath(),n.rect(0,0,g,m),n.fillStyle=E,n.fill());n.scale(q,q);n.drawImage(d,z/q,z/q);a(e)});d.onerror=function(a){null!=e&&e(a)};try{u&&this.editor.addSvgShadow(c),this.convertMath(v,c,!0,mxUtils.bind(this,function(){d.src= -this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,x)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"==c.substring(0,8))&&c.substring(0,a.baseUrl.length)!=a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a, -b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var n=a.getElementsByTagName(c),u=0;u<n.length;u++)mxUtils.bind(this,function(c){var n=d.convert(c.getAttribute(g));if(null!=n&&"data:"!=n.substring(0,5)){var r=f[n];null==r?(e++,this.convertImageToDataUri(n,function(d){null!=d&&(f[n]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,r)}})(n[u])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.convertImageToDataUri= -function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b()});else{var c=new Image;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width=c.width;d.drawImage(c,0,0);b(a.toDataURL())};c.onerror=function(){b()};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){var q=mxUtils.parseXml(a), -t=this.editor.extractGraphModel(q.documentElement,null!=this.pages);if(null!=t&&"mxfile"==t.nodeName&&null!=this.pages){var u=t.getElementsByTagName("diagram");if(1==u.length)t=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(u[0]))).documentElement;else if(1<u.length){g.model.beginUpdate();try{for(var x=0;x<u.length;x++){var v=this.updatePageRoot(new DiagramPage(u[x])),z=this.pages.length;null==v.getName()&&v.setName(mxResources.get("pageWithNumber",[z+1]));g.model.execute(new ChangePage(this, -v,v,z))}}finally{g.model.endUpdate()}}}if(null!=t&&"mxGraphModel"===t.nodeName){var y=new mxGraphModel;(new mxCodec(t.ownerDocument)).decode(t,y);var E=y.getChildCount(y.getRoot());g.model.getChildCount(g.model.getRoot());g.model.beginUpdate();try{a={};for(x=0;x<E;x++){var A=y.getChildAt(y.getRoot(),x);if(1==E&&!g.isCellLocked(g.getDefaultParent()))var D=y.getChildren(A),f=f.concat(g.importCells(D,b,c,g.getDefaultParent(),null,a));else A=g.importCells([A],0,0,g.model.getRoot(),null,a)[0],D=g.model.getChildren(A), -g.moveCells(D,b,c),f=f.concat(D)}if(d){g.isGridEnabled()&&(b=g.snap(b),c=g.snap(c));var C=g.getBoundingBoxFromGeometry(f,!0);null!=C&&g.moveCells(f,b-C.x,c-C.y)}}finally{g.model.endUpdate()}}}}catch(F){throw e||this.handleError(F,mxResources.get("invalidOrMissingFile")),F;}return f};EditorUi.prototype.insertLucidChart=function(a,b,c,d){var e=mxUtils.bind(this,function(){if(this.pasteLucidChart)try{this.pasteLucidChart(a,b,c,d)}catch(e){}});!this.pasteLucidChart&&!this.loadingExtensions&&!this.isOffline()? -(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("/js/diagramly/Extensions.js",e):mxscript("/js/extensions.min.js",e)):window.setTimeout(e,0)};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f){f=null!=f?f:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200==a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText, -b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var g=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var q=this.extractGraphModelFromPng(a),t=this.importXml(q,b,c,f,!0);if(0<t.length)return t}if("data:image/svg+xml;"==a.substring(0,19))try{if(q=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(q=a.substring(a.indexOf(",")+1),q=window.atob&&!mxClient.IS_SF?atob(q):Base64.decode(q,!0)):q=decodeURIComponent(a.substring(a.indexOf(",")+ -1)),t=this.importXml(q,b,c,f,!0),0<t.length)return t}catch(u){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),d,e,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+this.convertDataUri(a)+";"))}),!0,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/ -d.width,this.maxImageSize/d.height)),f=Math.round(d.width*e);d=Math.round(d.height*e);g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),f,d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+a+";"))}}),mxUtils.bind(this,function(){var e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,a,g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.updateCellSize(e), -g.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{g.getModel().endUpdate()}g.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,f);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26)){e=JSON.parse(JSON.parse(a).state);var q=null,x;for(x in e.Pages)if(t=e.Pages[x],null!=t&&"0"==t.Properties.Order){q=t;break}null!=q&&this.insertLucidChart(q,b,c,f)}else{g=this.editor.graph;f=null;g.getModel().beginUpdate(); -try{f=g.insertVertex(g.getDefaultParent(),null,"",g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.fireEvent(new mxEventObject("textInserted","cells",[f])),f.value=a,g.updateCellSize(f),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i.test(f.value)&&g.setLinkForCell(f,f.value),f.geometry.width+=g.gridSize,f.geometry.height+= -g.gridSize}finally{g.getModel().endUpdate()}return[f]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\.*<graphml xmlns=\".*)/.test(a)||/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)|| -null!=b&&/(\.vsdx)($|\?)/i.test(b)};EditorUi.prototype.importFile=function(a,b,c,d,e,f,g,q,t,u,x){u=null!=u?u:!0;var v=!1,z=null;"image"==b.substring(0,5)?(g=!1,"image/png"==b.substring(0,9)&&(b=x?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(z=this.importXml(b,c,d,u),g=!0)),g||(z=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),u&&z.isGridEnabled()&&(c=z.snap(c),d=z.snap(d)),z=[z.insertVertex(null,null,"",c,d,e,f,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ -a+";")])):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,g)?(v=!0,this.parseFile(null!=t?t:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){if(4==a.readyState){var b=null;200==a.status&&(b=this.importXml(a.responseText,c,d,u));null!=q&&q(b)}}),g)):/(\.vsd)($|\?)/i.test(g)||(z=this.insertTextAt(this.validateFileData(a),c,d,!0,null,u));!v&&null!=q&&q(z);return z};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e= -a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="\x3d\x3d";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f& -15)<<2);b+="\x3d";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,g,q,t,u,x,v){var z=null!=b&&null!= -c;b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;u=null!=u?u:this.maxImageBytes;t=null!=t?t:!0;var y=this.editor.graph,E=y.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){return null!=a&&"\x3cmxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null):this.importFile(a,b,c,d,e,f,g,k,l,z,v)});f=null!=f?f:mxUtils.bind(this,function(a){y.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var A= -a.length,D=A,C=[],F=mxUtils.bind(this,function(a,b){C[a]=b;if(0==--D){this.spinner.stop();if(null!=q)q(C);else{var c=[];y.getModel().beginUpdate();try{for(var d=0;d<C.length;d++){var e=C[d]();null!=e&&(c=c.concat(e))}}finally{y.getModel().endUpdate()}}f(c)}}),G=0;G<A;G++)mxUtils.bind(this,function(f){var q=a[f],s=new FileReader;s.onload=mxUtils.bind(this,function(a){if(null==g||g(q))if("image/"==q.type.substring(0,6))if("image/svg"==q.type.substring(0,9)){var k=a.target.result,s=k.indexOf(","),y= -atob(k.substring(s+1)),A=mxUtils.parseXml(y),y=A.getElementsByTagName("svg");if(0<y.length){var y=y[0],z=v?null:y.getAttribute("content");null!=z&&"\x3c"!=z.charAt(0)&&"%"!=z.charAt(0)&&(z=unescape(window.atob?atob(z):Base64.decode(z,!0)));null!=z&&"%"==z.charAt(0)&&(z=decodeURIComponent(z));null!=z&&("\x3cmxfile "===z.substring(0,8)||"\x3cmxGraphModel "===z.substring(0,14))?F(f,mxUtils.bind(this,function(){return e(z,"text/xml",b+f*E,c+f*E,0,0,q.name)})):F(f,mxUtils.bind(this,function(){try{if(k.substring(0, -s+1),null!=A){var a=A.getElementsByTagName("svg");if(0<a.length){var g=a[0],r=parseFloat(g.getAttribute("width")),t=parseFloat(g.getAttribute("height")),u=g.getAttribute("viewBox");if(null==u||0==u.length)g.setAttribute("viewBox","0 0 "+r+" "+t);else if(isNaN(r)||isNaN(t)){var x=u.split(" ");3<x.length&&(r=parseFloat(x[2]),t=parseFloat(x[3]))}k=this.createSvgDataUri(mxUtils.getXml(a[0]));var v=Math.min(1,Math.min(d/Math.max(1,r)),d/Math.max(1,t));return e(k,q.type,b+f*E,c+f*E,Math.max(1,Math.round(r* -v)),Math.max(1,Math.round(t*v)),q.name)}}}catch(y){}return null}))}}else{y=!1;if("image/png"==q.type){var C=v?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var D=new Image;D.src=a.target.result;F(f,mxUtils.bind(this,function(){return e(C,"text/xml",b+f*E,c+f*E,D.width,D.height,q.name)}));y=!0}}y||(null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"), -mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,k,r){F(f,mxUtils.bind(this,function(){if(null!=g&&g.length<u){var s=!t||!this.isResampleImage(a.target.result)?1:Math.min(1,Math.min(d/k,d/r));return e(g,q.type,b+f*E,c+f*E,Math.round(k*s),Math.round(r*s),q.name)}this.handleError({message:mxResources.get("imageTooBig")}); -return null}))}),t,d,x)})))}else e(a.target.result,q.type,b+f*E,c+f*E,240,160,q.name,function(a){F(f,function(){return a})})});/(\.vsdx)($|\?)/i.test(q.name)?e(null,q.type,b+f*E,c+f*E,240,160,q.name,function(a){F(f,function(){return a})},q):"image"==q.type.substring(0,5)?s.readAsDataURL(q):s.readAsText(q)})(G)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange= -function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),q=Math.max(1,a.height);if(d&&this.isResampleImage(b,f))try{var t=Math.max(g/e,q/e);if(1<t){var u=Math.round(g/t),x=Math.round(q/t),v=document.createElement("canvas");v.width=u;v.height=x;v.getContext("2d").drawImage(a,0,0,u,x);var z=v.toDataURL();if(z.length<b.length){var y= -document.createElement("canvas");y.width=u;y.height=x;var E=y.toDataURL();z!==E&&(b=z,g=u,q=x)}}}catch(A){}c(b,g,q)};EditorUi.prototype.crcTable=[];for(var b=0;256>b;b++)for(var c=b,d=0;8>d;d++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[b]=c;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=q;q+=b;return a.substring(c,q)} -function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var q=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,q);do{var t=g(a);if("IDAT"==f(a,4)){e=a.substring(0,q-8);t=4294967295;t=this.updateCRC(t,b,0,4);t=this.updateCRC(t,d,0,d.length);e+=String.fromCharCode(c.length+ -d.length+1+("zTXt"==b?1:0)>>24&255,c.length+d.length+1+("zTXt"==b?1:0)>>16&255,c.length+d.length+1+("zTXt"==b?1:0)>>8&255,c.length+d.length+1+("zTXt"==b?1:0)&255)+b+c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d+String.fromCharCode((t^4294967295)>>24&255,(t^4294967295)>>16&255,(t^4294967295)>>8&255,(t^4294967295)&255);e+=a.substring(q-8,a.length);break}e+=a.substring(q-8,q-4+t);d=f(a,t);f(a,4)}while(t);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng= -function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b|| -"IDAT"==c)return!0}))}catch(e){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);var a=this.editor.graph,b=this;mxClient.IS_SVG&&this.editor.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);this.defaultFilename=mxResources.get("untitledDiagram"); -var c=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:c.apply(this,arguments)};this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,c=b.getCurrentFile();null!=c&&(a=null!=c.getTitle()?c.getTitle():a);return a};var d=this.actions.get("print");d.setEnabled(!mxClient.IS_IOS||!navigator.standalone);d.visible=d.isEnabled();if(!this.editor.chromeless){this.keyHandler.bindAction(70, -!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData, -d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(l){}}), -!1);var f=document.createElement("div");f.style.position="absolute";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.display="block";f.contentEditable=!0;mxUtils.setOpacity(f,0);f.style.width="1px";f.style.height="1px";f.innerHTML="\x26nbsp;";var g=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);if(null!=a.container&& -a.isEnabled()&&!a.isMouseDown&&!a.isEditing()&&null==this.dialog&&"INPUT"!=c.nodeName&&"TEXTAREA"!=c.nodeName&&(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)&&!g)f.style.left=a.container.scrollLeft+10+"px",f.style.top=a.container.scrollTop+10+"px",a.container.appendChild(f),g=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){f.focus();document.execCommand("selectAll",!1,null)},0):(f.focus(),document.execCommand("selectAll",!1,null))}));var r=function(){window.setTimeout(function(){f.innerHTML= -"\x26nbsp;";f.focus();document.execCommand("selectAll",!1,null)},0)};mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this,function(){if(g&&(224==c||17==c||91==c))g=!1,!a.isEditing()&&null==this.dialog&&null!=a.container&&a.container.focus(),f.parentNode.removeChild(f)}),0)}));mxEvent.addListener(f,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(f),r())}));mxEvent.addListener(f,"cut",mxUtils.bind(this, -function(b){a.isEnabled()&&(this.copyCells(f,!0),r())}));mxEvent.addListener(f,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(f.innerHTML="\x26nbsp;",f.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,f);f.innerHTML="\x26nbsp;"}),0))}),!0);var q=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==f?!0:q.apply(this,arguments)}}d=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight|| -0)/2;this.spinner=this.createSpinner(document.body.clientWidth/2-2,d,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=this.highlightElement(c); -a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list"); -/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types, -"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.test){d=document.getElementById("geFooter");null!=d&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity= -"0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),d.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility= -"hidden"})));var t=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:t.apply(this,arguments)}}d=document.getElementById("geInfo");null!=d&&d.parentNode.removeChild(d);if(Graph.fileSupport){var u=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=u&&(u.parentNode.removeChild(u),u=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){if(null==u&& -(!mxClient.IS_IE||10<document.documentMode))u=this.highlightElement(a.container);null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container,"drop",mxUtils.bind(this,function(b){null!=u&&(u.parentNode.removeChild(u),u=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),d=a.view.translate,e=a.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(b)&&(g=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files, -f,g,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var l=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")?b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b);if(null!=c)a.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")){c=b.dataTransfer.getData("text/html");e=document.createElement("div");e.innerHTML=c;var d=null,m=e.getElementsByTagName("img");null!= -m&&1==m.length?(c=m[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)||(d=!0)):(e=e.getElementsByTagName("a"),null!=e&&1==e.length&&(c=e[0].getAttribute("href")));a.setSelectionCells(this.insertTextAt(c,f,g,!0,d))}else null!=l&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)?this.loadImage(decodeURIComponent(l),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,b));a.setSelectionCell(a.insertVertex(null, -null,"",f,g,c*d,b*d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+l+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(l,f,g,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&a.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),f,g,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode()}; -EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span"); -if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&&(this.insertLucidChart(JSON.parse(d)),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var g=e.lastIndexOf("%3E");0<=g&&g<e.length-3&&(e=e.substring(0,g+3))}catch(q){}try{var c=b.getElementsByTagName("span"),t=null!=c&&0<c.length? -mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(t)&&(f=!0,e=t)}catch(u){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml=e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell()); -null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(x){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){if(null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode))b= -this.highlightElement();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer: -a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c=null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"== -c.substring(0,22)&&(d=this.extractGraphModelFromPng(c),null!=d&&0<d.length&&this.openLocalFile(d)),!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format\x3dxml\x26data\x3d"+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200==a.getStatus()&&this.openLocalFile(a.getText())})):/^https?:\/\//.test(c)&&(c=this.getUrl(window.location.pathname+"?url\x3d"+encodeURIComponent(c)),null==this.getCurrentFile()?window.location.href=c:window.openWindow(c))))}else this.openLocalFile(c)}a.stopPropagation(); -a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d=0,e=0;if(null==a)var e=document.body,f=document.documentElement,d=(e.clientWidth||f.clientWidth)-3,e=Math.max(e.clientHeight||0,f.clientHeight)-3;else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left= -c+"px";f.style.width=Math.max(0,d-3)+"px";f.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b, -c))}return a};EditorUi.prototype.openFiles=function(a){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var c=b.target.result,d=a.name;if(null!=d&&0<d.length)if(/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml"),Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,d))d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+ -".xml":d+".xml",this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200==a.status?this.openLocalFile(a.responseText,d):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if("\x3cmxlibrary"==b.target.result.substring(0,10)){this.spinner.stop();try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}}else"image/png"== -a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,d)});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=function(a,b){var c=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a); -null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename))});null!=a&&0<a.length&&(null!=this.getCurrentFile()&&!this.isDiagramEmpty()?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,c)):c())};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]), -this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])), -c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.initializeEmbedMode=function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";this.editor.graph.setEnabled(!1);if((window.opener||window.parent)!=window)("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this, -function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.diagramContainer.style.visibility="";this.formatContainer.style.visibility="";this.editor.graph.setEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.showLayersDialog()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))}; -EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler= -function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a,b){!this.editor.modified||"0"==urlParams.modified?this.editor.setStatus(""):null!=urlParams.modified&&this.editor.setStatus(mxResources.get(urlParams.modified))});this.editor.graph.model.addListener(mxEvent.CHANGE,f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function s(a){if(null!=a&&"function"===typeof a.charAt&&"\x3c"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)): -"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"\x3c"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(b){}return a}var u=f.data;if("json"==urlParams.proto){try{u=JSON.parse(u)}catch(x){u=null}if(null==u)return;if("dialog"==u.action){this.showError(null!=u.titleKey?mxResources.get(u.titleKey):u.title,null!=u.messageKey?mxResources.get(u.messageKey):u.message,null!=u.buttonKey?mxResources.get(u.buttonKey):u.button);null!= -u.modified&&(this.editor.modified=u.modified);return}if("prompt"==u.action){var v=new FilenameDialog(this,u.defaultValue||"",null!=u.okKey?mxResources.get(u.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:u}),"*")},null!=u.titleKey?mxResources.get(u.titleKey):u.title);this.showDialog(v.container,300,80,!0,!1);v.init();return}if("draft"==u.action){v=null;v="data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml):s(u.xml);v=new DraftDialog(this, -mxResources.get("draftFound",[u.name||this.defaultFilename]),v,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:u}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:u}),"*")}),u.editKey?mxResources.get(u.editKey):null,u.discardKey?mxResources.get(u.discardKey):null);this.showDialog(v.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()})); -try{v.init()}catch(z){g.postMessage(JSON.stringify({event:"draft",error:z.toString(),message:u}),"*")}return}if("template"==u.action){v=new NewDialog(this,!1,null!=u.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=u.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}));this.showDialog(v.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&& -this.actions.get("exit").funct()}));v.init();return}if("status"==u.action){null!=u.messageKey?this.editor.setStatus(mxResources.get(u.messageKey)):null!=u.message&&this.editor.setStatus(u.message);null!=u.modified&&(this.editor.modified=u.modified);return}if("spinner"==u.action){var y=null!=u.messageKey?mxResources.get(u.messageKey):u.message;null!=u.show&&!u.show?this.spinner.stop():this.spinner.spin(document.body,y);return}if("export"==u.action){if("png"==u.format||"xmlpng"==u.format){if(null== -u.spin&&null==u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey):u.spin)){var E=null!=u.xml?u.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var A=mxUtils.bind(this,function(a){var b=this.createLoadMessage("export");b.format=u.format;b.xml=encodeURIComponent(E);b.data="data:image/png;base64,"+a;g.postMessage(JSON.stringify(b),"*");this.editor.graph.setEnabled(!0)});if(this.isExportToCanvas()){var D=this.editor.graph;if(null!=this.pages&&this.currentPage!= -this.pages[0]){var D=this.createTemporaryGraph(D.getStylesheet()),C=D.getGlobalVariable,F=this.pages[0];D.getGlobalVariable=function(a){return"page"==a?F.getName():"pagenumber"==a?1:C.apply(this,arguments)};document.body.appendChild(D.container);D.model.setRoot(F.root)}this.exportToCanvas(mxUtils.bind(this,function(a){a=a.toDataURL("image/png");"xmlpng"==u.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(E))));D!=this.editor.graph&&D.container.parentNode.removeChild(D.container); -A(a.substring(a.lastIndexOf(",")+1))}),null,null,null,null,null,null,null,null,null,null,D)}else(new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26embedXml\x3d"+("xmlpng"==u.format?"1":"0")+"\x26base64\x3d1\x26xml\x3d"+encodeURIComponent(encodeURIComponent(E)))).send(mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();200==a.getStatus()&&A(a.getText())}),mxUtils.bind(this,function(){this.spinner.stop()}))}}else{null!=u.xml&&0<u.xml.length&&this.setFileData(u.xml);y=this.createLoadMessage("export"); -if("html2"==u.format||"html"==u.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))v=this.getXmlFileData(),y.xml=mxUtils.getXml(v),y.data=this.getFileData(null,null,!0,null,null,null,v),y.format=u.format;else if("html"==u.format)E=this.editor.getGraphXml(),y.data=this.getHtml(E,this.editor.graph),y.xml=mxUtils.getXml(E),y.format=u.format;else{mxSvgCanvas2D.prototype.foAltText=null;v=this.editor.graph.background;v==mxConstants.NONE&&(v=null);y.xml=this.getFileData(!0);y.format="svg"; -if(u.embedImages||null==u.embedImages){if(null==u.spin&&null==u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey):u.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==u.format?this.getEmbeddedSvg(y.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(y),"*")})):this.convertImages(this.editor.graph.getSvg(v),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0); -this.spinner.stop();y.data=this.createSvgDataUri(mxUtils.getXml(a));g.postMessage(JSON.stringify(y),"*")}));return}v="xmlsvg"==u.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(v));y.data=this.createSvgDataUri(v)}g.postMessage(JSON.stringify(y),"*")}return}if("load"==u.action)d=1==u.autosave,this.hideDialog(),null!=u.modified&&null==urlParams.modified&&(urlParams.modified=u.modified),null!=u.saveAndExit&&null==urlParams.saveAndExit&& -(urlParams.saveAndExit=u.saveAndExit),null!=u.title&&null!=this.buttonContainer&&(v=document.createElement("span"),mxUtils.write(v,u.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),this.buttonContainer.appendChild(v)),u=null!=u.xmlpng?this.extractGraphModelFromPng(u.xmlpng):null!=u.xml&&"data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml): -u.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(u)}),"*");return}}u=s(u);c=!0;try{a(u,f)}catch(G){this.handleError(G)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var H=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=H();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=H();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d; -d=JSON.stringify(f);(window.opener||window.parent).postMessage(d,"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged", -b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",b));("1"==urlParams.returnbounds||"json"==urlParams.proto)&&g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(f,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position= -"absolute";a.style.paddingTop="atlas"==uiTheme?"2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" (Ctrl+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&& -(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft= -"6px";b.style.marginRight="20px";b.style.padding="4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px";"atlas"==uiTheme&&(this.statusContainer.style.color="#707070",this.statusContainer.style.paddingLeft="26px",this.toolbar.staticElements.push(this.statusContainer),this.toolbar.container.appendChild(this.statusContainer))}}; -EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"\x3d"+urlParams[d],c="\x26")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle url embed client create title splash".split(" "), +else{var f=document.createElement("a");if("undefined"!==typeof f.download||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));"undefined"!==typeof f.download?f.download=b:f.setAttribute("target","_blank");document.body.appendChild(f);try{f.click(),window.setTimeout(function(){URL.revokeObjectURL(f.href)},0),f.parentNode.removeChild(f)}catch(g){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a, +b,c,d,e,f){a="xml\x3d"+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"\x26mime\x3d"+c:"")+(null!=e?"\x26format\x3d"+e:"")+(null!=f?"\x26base64\x3d"+f:"")+(null!=b?"\x26filename\x3d"+encodeURIComponent(b):"")+(d?"\x26binary\x3d1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),f=Array(e),g=0;g<e;++g){for(var q=1024*g,t=Math.min(q+1024,d),u=Array(t-q),x=0;q<t;++x,++q)u[x]=c[q].charCodeAt(0);f[g]=new Uint8Array(u)}return new Blob(f, +{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e){var f=!mxClient.IS_IOS||!navigator.standalone;e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):null!=c&&"image/"==c.substring(0,6)&&("image/svg"!=c.substring(0,9)||mxClient.IS_SVG)? +mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode?(f.document.write('\x3chtml\x3e\x3cimg src\x3d"data:'+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))+'"/\x3e\x3c/html\x3e'),f.document.close()):f.location.replace("data:"+c+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a))):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else e==App.MODE_DEVICE?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(f){this.exportFile(a, +b,c,d,e,f)}))}catch(g){this.handleError(g)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,f);this.showDialog(b.container,380,e?280:160,!0,!0);b.init()};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}))};EditorUi.prototype.saveRequest=function(a,b,c){var d=!mxClient.IS_IOS||!navigator.standalone, +e=!this.isOfflineApp()&&!this.isOffline()&&("function"===typeof window.DriveClient||"function"===typeof window.DropboxClient||"function"===typeof window.OneDriveClient);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var e=c("_blank"==d?null:a,d==App.MODE_DEVICE||null==d||"_blank"==d?"0":"1");null!=e&&(d==App.MODE_DEVICE||"_blank"==d?e.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){this.spinner.spin(document.body,mxResources.get("saving"))&& +e.send(mxUtils.bind(this,function(){this.spinner.stop();if(200>e.getStatus()||299<e.getStatus())this.handleError({message:mxResources.get("errorSavingFile")});else try{var f="pdf"==b?"application/pdf":"image/"+b;this.exportFile(e.getText(),a,f,!0,d,c)}catch(g){this.handleError(g)}}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,d);this.showDialog(a.container,380,e?280:160,!0, +!0);a.init()};EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,g){if(this.spinner.spin(document.body,mxResources.get("export"))){var q=this.editor.graph.isSelectionEmpty();c=null!=c?c:q;q=b?null:this.editor.graph.background;q==mxConstants.NONE&&(q=null);null==q&&!1==b&&(q="#ffffff");var t=this.editor.graph.getSvg(q,a,null,g,null,c);d&&this.editor.addSvgShadow(t);a=this.getCurrentFile();var u= +null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;a=u.lastIndexOf(".");0<a&&(u=u.substring(0,a));var u=u+".svg",x=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c));var b='\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(u,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")}, +mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,t,!1,mxUtils.bind(this,function(){f?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(t,x,this.thumbImageCache)):x(t)}))}};EditorUi.prototype.showRemoteExportDialog=function(a,b,c){var d=this.editor.graph,e=document.createElement("div");e.style.padding="6px";var f=document.createElement("input");f.style.marginRight="8px";f.setAttribute("type","checkbox");d.isSelectionEmpty()&& +f.setAttribute("disabled","disabled");e.appendChild(f);mxUtils.write(e,mxResources.get("selectionOnly"));mxUtils.br(e);var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";e.appendChild(g);mxUtils.write(e,mxResources.get("includeCopyOfMyDiagram"));a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!f.checked,g.checked)}),null,a,b);this.showDialog(a.container,300,120, +!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e){var f=this.editor.graph,g=document.createElement("div");g.style.paddingTop="20px";g.style.paddingRight="8px";var q=240,t=document.createElement("input");t.style.marginRight="8px";t.setAttribute("type","checkbox");if(f.background==mxConstants.NONE||null==f.background)t.setAttribute("checked","checked"),t.defaultChecked=!0;g.appendChild(t);mxUtils.write(g,mxResources.get("transparentBackground"));mxUtils.br(g);var u=document.createElement("input"); +u.style.marginTop="16px";u.style.marginRight="8px";u.setAttribute("type","checkbox");g.appendChild(u);mxUtils.write(g,mxResources.get("selectionOnly"));mxUtils.br(g);var x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.setAttribute("type","checkbox");e&&(g.appendChild(x),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),q+=26);f.isSelectionEmpty()&&(u.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"));var v=document.createElement("input"); +v.style.marginTop="16px";v.style.marginRight="8px";v.setAttribute("type","checkbox");g.appendChild(v);mxUtils.write(g,mxResources.get("shadow"));mxUtils.br(g);f.shadowVisible&&(v.setAttribute("checked","checked"),v.defaultChecked=!0);var z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");(this.isOffline()||!this.canvasSupported)&&z.setAttribute("disabled","disabled");a&&(g.appendChild(z),mxUtils.write(g,mxResources.get("embedImages")), +mxUtils.br(g),q+=26);var y=document.createElement("input");y.style.marginTop="16px";y.style.marginRight="8px";y.setAttribute("type","checkbox");y.style.marginBottom="8px";y.setAttribute("checked","checked");y.defaultChecked=!0;g.appendChild(y);mxUtils.write(g,mxResources.get("includeCopyOfMyDiagram"));a=new FilenameDialog(this,100,b,mxUtils.bind(this,function(a){d(a,t.checked,!u.checked,v.checked,y.checked,z.checked,x.checked)}),mxResources.get("zoom")+" (%)",null,g,!this.isOffline()?c:null);this.showDialog(a.container, +320,q,!0,!0);a.init()};EditorUi.prototype.uploadToGithub=function(a,b,c){var d=this.spinner.pause();c=document.createElement("div");c.style.paddingTop="20px";c.style.paddingRight="8px";var e=document.createElement("table"),f=document.createElement("tbody"),g=document.createElement("tr"),q=document.createElement("td"),t=document.createElement("input");t.setAttribute("type","text");mxUtils.write(q,"Username:");g.appendChild(q);q=q.cloneNode(!1);q.appendChild(t);g.appendChild(q);f.appendChild(g);var q= +q.cloneNode(!1),u=document.createElement("input");u.setAttribute("type","password");mxUtils.write(q,"Password:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(u);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),x=document.createElement("input");x.setAttribute("type","text");mxUtils.write(q,"Organisation:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(x);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),v=document.createElement("input");v.setAttribute("type", +"text");mxUtils.write(q,"Repository:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(v);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),z=document.createElement("input");z.setAttribute("type","text");mxUtils.write(q,"Path:");g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(z);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1);a=this.getCurrentFile();a=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;var y=a.lastIndexOf(".");0<y&&(a=a.substring(0, +y));z.value=a+".png";var E=document.createElement("input");E.setAttribute("type","text");mxUtils.write(q,"Branch/Tag:");E.value="master";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(E);g.appendChild(q);f.appendChild(g);var q=q.cloneNode(!1),A=document.createElement("input");A.setAttribute("type","text");mxUtils.write(q,"Message:");A.value="Updated "+a+".png";g=g.cloneNode(!1);g.appendChild(q);q=q.cloneNode(!1);q.appendChild(A);g.appendChild(q);f.appendChild(g);q=q.cloneNode(!1); +e.appendChild(f);c.appendChild(e);c=new FilenameDialog(this,null,mxResources.get("publish"),mxUtils.bind(this,function(){var a="https://api.github.com/repos/"+x.value+"/"+v.value+"/contents/"+z.value+"?ref\x3d"+encodeURIComponent(E.value);d();mxUtils.get(a,mxUtils.bind(this,function(c){if(200==c.getStatus()||404==c.getStatus()){c=JSON.parse(c.getText());var e={path:z.value,message:A.value,content:b};null!=c.sha&&(e.sha=c.sha);var f=new XMLHttpRequest;f.onreadystatechange=mxUtils.bind(this,function(){if(4== +f.readyState)if(200<=f.status&&300>f.status){this.spinner.stop();this.hideDialog();a="https://github.com/"+x.value+"/"+v.value+"/blob/"+E.value+"/"+z.value;var b=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open(a)}),!1);this.showDialog(b.container,340, +170,!0,!1);b.init()}else d=this.spinner.pause(),this.handleError(JSON.parse(f.responseText))});f.open("PUT",a,!0);f.setRequestHeader("Authorization","Basic "+btoa(t.value+":"+u.value));f.send(JSON.stringify(e))}else this.hideDialog(),this.spinner.stop(),this.handleError(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){this.hideDialog();this.spinner.stop();this.handleError({message:mxResources.get("unknownError")})}))}),null,null,c,null,!1);this.showDialog(c.container,260,260,!0,!1);c.init()}; +EditorUi.prototype.uploadToImgur=function(a,b,c,d){var e=this.spinner.pause();c=!1;var f=new ErrorDialog(this,mxResources.get("warning"),'\x3cimg style\x3d"max-width:300px;max-height:80px;margin-bottom:20px;padding:6px;border:1px solid gray;" src\x3d"data:image/png;base64,'+b+'"/\x3e\x3cbr\x3e'+mxResources.get("publishConfirmation"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("publish"),mxUtils.bind(this,function(){e();var f=null!=a.getTitle()?a.getTitle():this.defaultFilename, +g=f.lastIndexOf("."),s=f;0<g&&(s=f=s.substring(0,g));var g=new mxXmlRequest("/imgur",JSON.stringify({type:"base64",image:b,name:s+".png",title:f,description:"Made with https://www.draw.io"}),"POST"),u=mxUtils.bind(this,function(a){var b={message:mxResources.get("unknownError")};try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});g.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText()),e="https://www.draw.io/i/"+ +b.data.id;try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity\x3dCONFIG\x26msg\x3dimgur-published:"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(g){}var k=mxUtils.bind(this,function(){this.spinner.stop();var a="https://imgur.com/"+b.data.id,f="https://www.draw.io/imgur?delete\x3d"+b.data.deletehash,a=new ErrorDialog(this,mxResources.get("published"),(c?mxResources.get("viewUrl",['\x3ca href\x3d"'+e+'" target\x3d"_blank"\x3e'+ +e+"\x3c/a\x3e"])+"\x3cbr\x3e":"")+mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"])+"\x3cbr\x3e"+mxResources.get("deleteUrl",[f]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("share"),function(){d(b.data.id,c)},!1);this.showDialog(a.container,340,180,!0,!1);a.init()});if(c){var l=new mxXmlRequest("/imgur?"+b.data.deletehash,JSON.stringify({title:f,description:mxResources.get("viewUrl",[e])}),"POST");l.send(mxUtils.bind(this, +function(){200==l.getStatus()?k():u(l)}),mxUtils.bind(this,function(){u(l)}))}else k()}catch(p){this.handleError(p)}else u(a)}),mxUtils.bind(this,function(a){u(a)}))}));this.showDialog(f.container,320,250,!0,!1);f.init()};EditorUi.prototype.publishImage=function(a,b){var c=this.getCurrentFile();null!=c&&(this.isExportToCanvas()?this.showExportDialog(!1,mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e,f,g,q){d=parseInt(d); +if(!isNaN(d)&&0<d){d/=100;var t=this.editor.graph.isSelectionEmpty();f=null!=f?f:t;if(this.spinner.spin(document.body,mxResources.get("publishing")))try{this.exportToCanvas(mxUtils.bind(this,function(d){try{var e=q?this.getFileData(!0,null,null,null,f):null,g=this.createPngDataUri(d,e);a(c,g.substring(g.lastIndexOf(",")+1),q,b)}catch(m){this.handleError(m)}}),null,null,null,mxUtils.bind(this,function(a){this.handleError(a)}),null,f,d||1,e,g)}catch(u){this.handleError(u)}}})):this.showRemoteExportDialog(mxResources.get("publish"), +"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e){if(this.spinner.spin(document.body,mxResources.get("publishing"))){var f=this.editor.graph.getGraphBounds(),g=this.getFileData(!0,null,null,null,d);if(f.width*f.height<=MAX_AREA&&g.length<=MAX_REQUEST_SIZE)try{var q=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+(e?"1":"0")+"\x26xml\x3d"+encodeURIComponent(g));q.send(mxUtils.bind(this,function(){200==q.getStatus()?a(c,q.getText(), +e,b):this.handleError(q)}))}catch(t){this.handleError(t)}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}})))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours"); +b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&&(g=null));b=b.getSvg(g,null,null,null,null,f);null!=a&&b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n': +"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,f){if(this.spinner.spin(document.body,mxResources.get("exporting"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop(); +try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c):null)}catch(b){"Invalid image"==b.message?this.downloadFile("png"):this.handleError(b)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,null,f)}catch(q){this.spinner.stop(),this.handleError(q)}}};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,q,t,u,x,v,z,y){f=null!=f?f:!0;v=null!=v?v:this.editor.graph;z=null!=z?z:0;var E=t?null:v.background;E== +mxConstants.NONE&&(E=null);null==E&&(E=d);null==E&&!1==t&&(E="#ffffff");this.convertImages(v.getSvg(E,null,null,y,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));q=null!=q?q:1;null!=b&&(q=!f?b/g:Math.min(1,Math.min(3*b/(4*m),b/g)));g=Math.ceil(q*g)+2*z;m=Math.ceil(q*m)+2*z;e.setAttribute("width",g);e.setAttribute("height",m);var n=e.getContext("2d"); +null!=E&&(n.beginPath(),n.rect(0,0,g,m),n.fillStyle=E,n.fill());n.scale(q,q);n.drawImage(d,z/q,z/q);a(e)});d.onerror=function(a){null!=e&&e(a)};try{u&&this.editor.addSvgShadow(c),this.convertMath(v,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,x)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"== +c.substring(0,8))&&c.substring(0,a.baseUrl.length)!=a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var n=a.getElementsByTagName(c),u=0;u<n.length;u++)mxUtils.bind(this,function(c){var n=d.convert(c.getAttribute(g));if(null!=n&&"data:"!=n.substring(0,5)){var r= +f[n];null==r?(e++,this.convertImageToDataUri(n,function(d){null!=d&&(f[n]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,r)}})(n[u])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b()});else{var c=new Image;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width= +c.width;d.drawImage(c,0,0);b(a.toDataURL())};c.onerror=function(){b()};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){var q=mxUtils.parseXml(a),t=this.editor.extractGraphModel(q.documentElement,null!=this.pages);if(null!=t&&"mxfile"==t.nodeName&&null!=this.pages){var u=t.getElementsByTagName("diagram");if(1==u.length)t=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(u[0]))).documentElement;else if(1< +u.length){g.model.beginUpdate();try{for(var x=0;x<u.length;x++){var v=this.updatePageRoot(new DiagramPage(u[x])),z=this.pages.length;null==v.getName()&&v.setName(mxResources.get("pageWithNumber",[z+1]));g.model.execute(new ChangePage(this,v,v,z))}}finally{g.model.endUpdate()}}}if(null!=t&&"mxGraphModel"===t.nodeName){var y=new mxGraphModel;(new mxCodec(t.ownerDocument)).decode(t,y);var E=y.getChildCount(y.getRoot());g.model.getChildCount(g.model.getRoot());g.model.beginUpdate();try{a={};for(x=0;x< +E;x++){var A=y.getChildAt(y.getRoot(),x);if(1==E&&!g.isCellLocked(g.getDefaultParent()))var D=y.getChildren(A),f=f.concat(g.importCells(D,b,c,g.getDefaultParent(),null,a));else A=g.importCells([A],0,0,g.model.getRoot(),null,a)[0],D=g.model.getChildren(A),g.moveCells(D,b,c),f=f.concat(D)}if(d){g.isGridEnabled()&&(b=g.snap(b),c=g.snap(c));var C=g.getBoundingBoxFromGeometry(f,!0);null!=C&&g.moveCells(f,b-C.x,c-C.y)}}finally{g.model.endUpdate()}}}}catch(F){throw e||this.handleError(F,mxResources.get("invalidOrMissingFile")), +F;}return f};EditorUi.prototype.insertLucidChart=function(a,b,c,d){var e=mxUtils.bind(this,function(){if(this.pasteLucidChart)try{this.pasteLucidChart(a,b,c,d)}catch(e){}});!this.pasteLucidChart&&!this.loadingExtensions&&!this.isOffline()?(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("/js/diagramly/Extensions.js",e):mxscript("/js/extensions.min.js",e)):window.setTimeout(e,0)};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f){f=null!=f?f:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&& +(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200==a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var g=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var q=this.extractGraphModelFromPng(a),t=this.importXml(q, +b,c,f,!0);if(0<t.length)return t}if("data:image/svg+xml;"==a.substring(0,19))try{if(q=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(q=a.substring(a.indexOf(",")+1),q=window.atob&&!mxClient.IS_SF?atob(q):Base64.decode(q,!0)):q=decodeURIComponent(a.substring(a.indexOf(",")+1)),t=this.importXml(q,b,c,f,!0),0<t.length)return t}catch(u){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){g.setSelectionCell(g.insertVertex(null, +null,"",g.snap(b),g.snap(c),d,e,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+this.convertDataUri(a)+";"))}),!0,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/d.height)),f=Math.round(d.width*e);d=Math.round(d.height*e);g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),f,d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ +a+";"))}}),mxUtils.bind(this,function(){var e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,a,g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.updateCellSize(e),g.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{g.getModel().endUpdate()}g.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,f);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26)){e= +JSON.parse(JSON.parse(a).state);var q=null,x;for(x in e.Pages)if(t=e.Pages[x],null!=t&&"0"==t.Properties.Order){q=t;break}null!=q&&this.insertLucidChart(q,b,c,f)}else{g=this.editor.graph;f=null;g.getModel().beginUpdate();try{f=g.insertVertex(g.getDefaultParent(),null,"",g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.fireEvent(new mxEventObject("textInserted","cells",[f])),f.value=a,g.updateCellSize(f),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i.test(f.value)&& +g.setLinkForCell(f,f.value),f.geometry.width+=g.gridSize,f.geometry.height+=g.gridSize}finally{g.getModel().endUpdate()}return[f]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat= +function(a,b){return/(\.*<graphml xmlns=\".*)/.test(a)||/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)||null!=b&&/(\.vsdx)($|\?)/i.test(b)};EditorUi.prototype.importFile=function(a,b,c,d,e,f,g,q,t,u,x){u=null!=u?u:!0;var v=!1,z=null;"image"==b.substring(0,5)?(g=!1,"image/png"==b.substring(0,9)&&(b=x?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(z=this.importXml(b,c,d,u),g=!0)),g||(z=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+ +1))),u&&z.isGridEnabled()&&(c=z.snap(c),d=z.snap(d)),z=[z.insertVertex(null,null,"",c,d,e,f,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+a+";")])):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,g)?(v=!0,this.parseFile(null!=t?t:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){if(4==a.readyState){var b=null;200==a.status&&(b=this.importXml(a.responseText, +c,d,u));null!=q&&q(b)}}),g)):/(\.vsd)($|\?)/i.test(g)||(z=this.insertTextAt(this.validateFileData(a),c,d,!0,null,u));!v&&null!=q&&q(z);return z};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="\x3d\x3d";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> +2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2);b+="\x3d";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>> +6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,g,q,t,u,x,v){var z=null!=b&&null!=c;b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;u=null!=u?u:this.maxImageBytes;t=null!=t?t:!0;var y=this.editor.graph,E=y.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){return null!=a&&"\x3cmxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null): +this.importFile(a,b,c,d,e,f,g,k,l,z,v)});f=null!=f?f:mxUtils.bind(this,function(a){y.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var A=a.length,D=A,C=[],F=mxUtils.bind(this,function(a,b){C[a]=b;if(0==--D){this.spinner.stop();if(null!=q)q(C);else{var c=[];y.getModel().beginUpdate();try{for(var d=0;d<C.length;d++){var e=C[d]();null!=e&&(c=c.concat(e))}}finally{y.getModel().endUpdate()}}f(c)}}),G=0;G<A;G++)mxUtils.bind(this,function(f){var q=a[f],s=new FileReader; +s.onload=mxUtils.bind(this,function(a){if(null==g||g(q))if("image/"==q.type.substring(0,6))if("image/svg"==q.type.substring(0,9)){var k=a.target.result,s=k.indexOf(","),y=atob(k.substring(s+1)),A=mxUtils.parseXml(y),y=A.getElementsByTagName("svg");if(0<y.length){var y=y[0],z=v?null:y.getAttribute("content");null!=z&&"\x3c"!=z.charAt(0)&&"%"!=z.charAt(0)&&(z=unescape(window.atob?atob(z):Base64.decode(z,!0)));null!=z&&"%"==z.charAt(0)&&(z=decodeURIComponent(z));null!=z&&("\x3cmxfile "===z.substring(0, +8)||"\x3cmxGraphModel "===z.substring(0,14))?F(f,mxUtils.bind(this,function(){return e(z,"text/xml",b+f*E,c+f*E,0,0,q.name)})):F(f,mxUtils.bind(this,function(){try{if(k.substring(0,s+1),null!=A){var a=A.getElementsByTagName("svg");if(0<a.length){var g=a[0],r=parseFloat(g.getAttribute("width")),t=parseFloat(g.getAttribute("height")),u=g.getAttribute("viewBox");if(null==u||0==u.length)g.setAttribute("viewBox","0 0 "+r+" "+t);else if(isNaN(r)||isNaN(t)){var x=u.split(" ");3<x.length&&(r=parseFloat(x[2]), +t=parseFloat(x[3]))}k=this.createSvgDataUri(mxUtils.getXml(a[0]));var v=Math.min(1,Math.min(d/Math.max(1,r)),d/Math.max(1,t));return e(k,q.type,b+f*E,c+f*E,Math.max(1,Math.round(r*v)),Math.max(1,Math.round(t*v)),q.name)}}}catch(y){}return null}))}}else{y=!1;if("image/png"==q.type){var C=v?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var D=new Image;D.src=a.target.result;F(f,mxUtils.bind(this,function(){return e(C,"text/xml",b+f*E,c+f*E,D.width,D.height,q.name)}));y= +!0}}y||(null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,k,r){F(f,mxUtils.bind(this,function(){if(null!= +g&&g.length<u){var s=!t||!this.isResampleImage(a.target.result)?1:Math.min(1,Math.min(d/k,d/r));return e(g,q.type,b+f*E,c+f*E,Math.round(k*s),Math.round(r*s),q.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),t,d,x)})))}else e(a.target.result,q.type,b+f*E,c+f*E,240,160,q.name,function(a){F(f,function(){return a})})});/(\.vsdx)($|\?)/i.test(q.name)?e(null,q.type,b+f*E,c+f*E,240,160,q.name,function(a){F(f,function(){return a})},q):"image"==q.type.substring(0,5)?s.readAsDataURL(q): +s.readAsText(q)})(G)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),q=Math.max(1,a.height);if(d&&this.isResampleImage(b, +f))try{var t=Math.max(g/e,q/e);if(1<t){var u=Math.round(g/t),x=Math.round(q/t),v=document.createElement("canvas");v.width=u;v.height=x;v.getContext("2d").drawImage(a,0,0,u,x);var z=v.toDataURL();if(z.length<b.length){var y=document.createElement("canvas");y.width=u;y.height=x;var E=y.toDataURL();z!==E&&(b=z,g=u,q=x)}}}catch(A){}c(b,g,q)};EditorUi.prototype.crcTable=[];for(var b=0;256>b;b++)for(var c=b,d=0;8>d;d++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[b]=c;EditorUi.prototype.updateCRC= +function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=q;q+=b;return a.substring(c,q)}function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var q=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a, +4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,q);do{var t=g(a);if("IDAT"==f(a,4)){e=a.substring(0,q-8);t=4294967295;t=this.updateCRC(t,b,0,4);t=this.updateCRC(t,d,0,d.length);e+=String.fromCharCode(c.length+d.length+1+("zTXt"==b?1:0)>>24&255,c.length+d.length+1+("zTXt"==b?1:0)>>16&255,c.length+d.length+1+("zTXt"==b?1:0)>>8&255,c.length+d.length+1+("zTXt"==b?1:0)&255)+b+c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d+String.fromCharCode((t^4294967295)>>24&255,(t^4294967295)>> +16&255,(t^4294967295)>>8&255,(t^4294967295)&255);e+=a.substring(q-8,a.length);break}e+=a.substring(q-8,q-4+t);d=f(a,t);f(a,4)}while(t);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)), +"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(e){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror= +c);d.src=a};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);var a=this.editor.graph,b=this;mxClient.IS_SVG&&this.editor.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);this.defaultFilename=mxResources.get("untitledDiagram");var c=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:c.apply(this,arguments)}; +this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,c=b.getCurrentFile();null!=c&&(a=null!=c.getTitle()?c.getTitle():a);return a};var d=this.actions.get("print");d.setEnabled(!mxClient.IS_IOS||!navigator.standalone);d.visible=d.isEnabled();if(!this.editor.chromeless){this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88, +!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()], +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(l){}}),!1);var f=document.createElement("div");f.style.position="absolute";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.display="block";f.contentEditable=!0;mxUtils.setOpacity(f, +0);f.style.width="1px";f.style.height="1px";f.innerHTML="\x26nbsp;";var g=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);if(null!=a.container&&a.isEnabled()&&!a.isMouseDown&&!a.isEditing()&&null==this.dialog&&"INPUT"!=c.nodeName&&"TEXTAREA"!=c.nodeName&&(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)&& +!g)f.style.left=a.container.scrollLeft+10+"px",f.style.top=a.container.scrollTop+10+"px",a.container.appendChild(f),g=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){f.focus();document.execCommand("selectAll",!1,null)},0):(f.focus(),document.execCommand("selectAll",!1,null))}));var r=function(){window.setTimeout(function(){f.innerHTML="\x26nbsp;";f.focus();document.execCommand("selectAll",!1,null)},0)};mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this, +function(){if(g&&(224==c||17==c||91==c))g=!1,!a.isEditing()&&null==this.dialog&&null!=a.container&&a.container.focus(),f.parentNode.removeChild(f)}),0)}));mxEvent.addListener(f,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(f),r())}));mxEvent.addListener(f,"cut",mxUtils.bind(this,function(b){a.isEnabled()&&(this.copyCells(f,!0),r())}));mxEvent.addListener(f,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(f.innerHTML= +"\x26nbsp;",f.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,f);f.innerHTML="\x26nbsp;"}),0))}),!0);var q=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==f?!0:q.apply(this,arguments)}}d=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2;this.spinner=this.createSpinner(document.body.clientWidth/2-2,d,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b= +this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=this.highlightElement(c);a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files, +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1, +Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.test){d=document.getElementById("geFooter"); +null!=d&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),d.appendChild(this.styleInput), +this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var t=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:t.apply(this,arguments)}}d=document.getElementById("geInfo"); +null!=d&&d.parentNode.removeChild(d);if(Graph.fileSupport){var u=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=u&&(u.parentNode.removeChild(u),u=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){if(null==u&&(!mxClient.IS_IE||10<document.documentMode))u=this.highlightElement(a.container);null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container, +"drop",mxUtils.bind(this,function(b){null!=u&&(u.parentNode.removeChild(u),u=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),d=a.view.translate,e=a.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(b)&&(g=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var l=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")? +b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b);if(null!=c)a.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")){c=b.dataTransfer.getData("text/html");e=document.createElement("div");e.innerHTML=c;var d=null,m=e.getElementsByTagName("img");null!=m&&1==m.length?(c=m[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)||(d=!0)):(e=e.getElementsByTagName("a"),null!=e&&1==e.length&&(c=e[0].getAttribute("href"))); +a.setSelectionCells(this.insertTextAt(c,f,g,!0,d))}else null!=l&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)?this.loadImage(decodeURIComponent(l),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,b));a.setSelectionCell(a.insertVertex(null,null,"",f,g,c*d,b*d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;imageAspect\x3d0;image\x3d"+ +l+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(l,f,g,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&a.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),f,g,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode()};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())), +e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&& +(this.insertLucidChart(JSON.parse(d)),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var g=e.lastIndexOf("%3E");0<=g&&g<e.length-3&&(e=e.substring(0,g+3))}catch(q){}try{var c=b.getElementsByTagName("span"),t=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(t)&&(f=!0,e=t)}catch(u){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml= +e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(x){}}}}}; +EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){if(null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode))b=this.highlightElement();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this, +function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c= +null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)&&(d=this.extractGraphModelFromPng(c),null!=d&&0<d.length&&this.openLocalFile(d)), +!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format\x3dxml\x26data\x3d"+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200==a.getStatus()&&this.openLocalFile(a.getText())})):/^https?:\/\//.test(c)&&(c=this.getUrl(window.location.pathname+"?url\x3d"+encodeURIComponent(c)),null==this.getCurrentFile()?window.location.href=c:window.openWindow(c))))}else this.openLocalFile(c)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b= +0,c=0,d=0,e=0;if(null==a)var e=document.body,f=document.documentElement,d=(e.clientWidth||f.clientWidth)-3,e=Math.max(e.clientHeight||0,f.clientHeight)-3;else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left=c+"px";f.style.width=Math.max(0,d-3)+"px";f.style.height=Math.max(0, +e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=function(a){if(this.spinner.spin(document.body, +mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var c=b.target.result,d=a.name;if(null!=d&&0<d.length)if(/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml"),Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,d))d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+".xml":d+".xml",this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(), +200==a.status?this.openLocalFile(a.responseText,d):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if("\x3cmxlibrary"==b.target.result.substring(0,10)){this.spinner.stop();try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c, +d)});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=function(a,b){var c=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a);null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this, +a,b||this.defaultFilename))});null!=a&&0<a.length&&(null!=this.getCurrentFile()&&!this.isDiagramEmpty()?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,c)):c())};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a); +var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f= +0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.initializeEmbedMode=function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";this.editor.graph.setEnabled(!1);if((window.opener||window.parent)!=window)("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.diagramContainer.style.visibility= +"";this.formatContainer.style.visibility="";this.editor.graph.setEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.showLayersDialog()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&& +(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a,b){!this.editor.modified||"0"==urlParams.modified? +this.editor.setStatus(""):null!=urlParams.modified&&this.editor.setStatus(mxResources.get(urlParams.modified))});this.editor.graph.model.addListener(mxEvent.CHANGE,f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function s(a){if(null!=a&&"function"===typeof a.charAt&&"\x3c"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a): +"\x3c"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(b){}return a}var u=f.data;if("json"==urlParams.proto){try{u=JSON.parse(u)}catch(x){u=null}if(null==u)return;if("dialog"==u.action){this.showError(null!=u.titleKey?mxResources.get(u.titleKey):u.title,null!=u.messageKey?mxResources.get(u.messageKey):u.message,null!=u.buttonKey?mxResources.get(u.buttonKey):u.button);null!=u.modified&&(this.editor.modified=u.modified);return}if("prompt"==u.action){var v=new FilenameDialog(this,u.defaultValue|| +"",null!=u.okKey?mxResources.get(u.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:u}),"*")},null!=u.titleKey?mxResources.get(u.titleKey):u.title);this.showDialog(v.container,300,80,!0,!1);v.init();return}if("draft"==u.action){v=null;v="data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml):s(u.xml);v=new DraftDialog(this,mxResources.get("draftFound",[u.name||this.defaultFilename]),v,mxUtils.bind(this,function(){this.hideDialog(); +g.postMessage(JSON.stringify({event:"draft",result:"edit",message:u}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:u}),"*")}),u.editKey?mxResources.get(u.editKey):null,u.discardKey?mxResources.get(u.discardKey):null);this.showDialog(v.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{v.init()}catch(z){g.postMessage(JSON.stringify({event:"draft",error:z.toString(),message:u}), +"*")}return}if("template"==u.action){v=new NewDialog(this,!1,null!=u.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=u.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}));this.showDialog(v.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));v.init();return}if("status"==u.action){null!=u.messageKey? +this.editor.setStatus(mxResources.get(u.messageKey)):null!=u.message&&this.editor.setStatus(u.message);null!=u.modified&&(this.editor.modified=u.modified);return}if("spinner"==u.action){var y=null!=u.messageKey?mxResources.get(u.messageKey):u.message;null!=u.show&&!u.show?this.spinner.stop():this.spinner.spin(document.body,y);return}if("export"==u.action){if("png"==u.format||"xmlpng"==u.format){if(null==u.spin&&null==u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey): +u.spin)){var E=null!=u.xml?u.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var A=mxUtils.bind(this,function(a){var b=this.createLoadMessage("export");b.format=u.format;b.xml=encodeURIComponent(E);b.data="data:image/png;base64,"+a;g.postMessage(JSON.stringify(b),"*");this.editor.graph.setEnabled(!0)});if(this.isExportToCanvas()){var D=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var D=this.createTemporaryGraph(D.getStylesheet()),C=D.getGlobalVariable,F=this.pages[0]; +D.getGlobalVariable=function(a){return"page"==a?F.getName():"pagenumber"==a?1:C.apply(this,arguments)};document.body.appendChild(D.container);D.model.setRoot(F.root)}this.exportToCanvas(mxUtils.bind(this,function(a){a=a.toDataURL("image/png");"xmlpng"==u.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(E))));D!=this.editor.graph&&D.container.parentNode.removeChild(D.container);A(a.substring(a.lastIndexOf(",")+1))}),null,null,null,null,null,null,null,null, +null,null,D)}else(new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26embedXml\x3d"+("xmlpng"==u.format?"1":"0")+"\x26base64\x3d1\x26xml\x3d"+encodeURIComponent(encodeURIComponent(E)))).send(mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();200==a.getStatus()&&A(a.getText())}),mxUtils.bind(this,function(){this.spinner.stop()}))}}else{null!=u.xml&&0<u.xml.length&&this.setFileData(u.xml);y=this.createLoadMessage("export");if("html2"==u.format||"html"==u.format&&("0"!=urlParams.pages|| +null!=this.pages&&1<this.pages.length))v=this.getXmlFileData(),y.xml=mxUtils.getXml(v),y.data=this.getFileData(null,null,!0,null,null,null,v),y.format=u.format;else if("html"==u.format)E=this.editor.getGraphXml(),y.data=this.getHtml(E,this.editor.graph),y.xml=mxUtils.getXml(E),y.format=u.format;else{mxSvgCanvas2D.prototype.foAltText=null;v=this.editor.graph.background;v==mxConstants.NONE&&(v=null);y.xml=this.getFileData(!0);y.format="svg";if(u.embedImages||null==u.embedImages){if(null==u.spin&&null== +u.spinKey||this.spinner.spin(document.body,null!=u.spinKey?mxResources.get(u.spinKey):u.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==u.format?this.getEmbeddedSvg(y.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(y),"*")})):this.convertImages(this.editor.graph.getSvg(v),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();y.data=this.createSvgDataUri(mxUtils.getXml(a)); +g.postMessage(JSON.stringify(y),"*")}));return}v="xmlsvg"==u.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(v));y.data=this.createSvgDataUri(v)}g.postMessage(JSON.stringify(y),"*")}return}if("load"==u.action)d=1==u.autosave,this.hideDialog(),null!=u.modified&&null==urlParams.modified&&(urlParams.modified=u.modified),null!=u.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=u.saveAndExit),null!=u.title&&null!=this.buttonContainer&& +(v=document.createElement("span"),mxUtils.write(v,u.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),this.buttonContainer.appendChild(v)),u=null!=u.xmlpng?this.extractGraphModelFromPng(u.xmlpng):null!=u.xml&&"data:image/png;base64,"==u.xml.substring(0,22)?this.extractGraphModelFromPng(u.xml):u.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage", +data:JSON.stringify(u)}),"*");return}}u=s(u);c=!0;try{a(u,f)}catch(G){this.handleError(G)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var H=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=H();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=H();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;d=JSON.stringify(f);(window.opener||window.parent).postMessage(d, +"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged", +b),this.addListener("pageViewChanged",b));("1"==urlParams.returnbounds||"json"==urlParams.proto)&&g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(f,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme? +"2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" (Ctrl+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b, +mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight="20px";b.style.padding= +"4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px";"atlas"==uiTheme&&(this.statusContainer.style.color="#707070",this.statusContainer.style.paddingLeft="26px",this.toolbar.staticElements.push(this.statusContainer),this.toolbar.container.appendChild(this.statusContainer))}};EditorUi.prototype.getSearch= +function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"\x3d"+urlParams[d],c="\x26")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle url embed client create title splash".split(" "), d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"\x26",null!=urlParams[d]&&(a+=d+"\x3d"+urlParams[d],b++))}return a};var f=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=f.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width- 2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&& null!=this.source.minimumGraphSize){var d=this.source.getPagePadding(),e=Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2),f=Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2);return new mxPoint(Math.round(e-d.x),Math.round(f-d.y-5/a))}return new mxPoint(8/a,8/a)};var g=b.init;b.init=function(){g.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale* diff --git a/war/resources/dia.txt b/war/resources/dia.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia.txt +++ b/war/resources/dia.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_am.txt b/war/resources/dia_am.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_am.txt +++ b/war/resources/dia_am.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_ar.txt b/war/resources/dia_ar.txt index 4bdd5c71..39ef208c 100644 --- a/war/resources/dia_ar.txt +++ b/war/resources/dia_ar.txt @@ -8,6 +8,7 @@ addImages=إضافة صور addImageUrl=إضافة رابط صورة addLayer=إضافة طبقة addProperty=إضافة خاصية +address=Address addToExistingDrawing=أضف إلى الرسم الحالي addWaypoint=أضف نقطة على المسار adjustTo=Adjust to @@ -16,6 +17,8 @@ align=صُف alignment=محاذاة allChangesLost=سيتم فقد جميع التغييرات allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=زاوية @@ -40,6 +43,7 @@ authorizing=بصدد الترخيص automatic=تلقائي autosave=حفظ تلقائي autosize=تحجيم تلقائي +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=إخفاء/ إظهار الصفحات المفتوحة collapse-expand=إخفاء/ إظهار الصفحات المفتوحة collapsible=قابل للإخفاء comic=Comic +comment=Comment commentsNotes=تعليقات/ملاحظات connect=اتصل connecting=بصدد الاتصال @@ -273,6 +278,8 @@ forum=المناقشات/ منتديات المساعدة fromTemplate=من قالب fromTemplateUrl=من رابط القالب fromText=من نص +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=عام github=GitHub @@ -306,7 +313,9 @@ htmlText=نص HTML iframe=IFrame ignore=تجاهل image=صورة +imageUrl=Image URL images=صور +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=جلب @@ -327,7 +336,8 @@ insertRowBefore=إضافة سطر قبل insertRowAfter=إضافة سطر بعد insertText=إضافة نص inserting=إضافة -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=اسم غير صالح invalidOrMissingFile=ملف غير صالح أو غير موجود invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=لغة leanMapping=Lean Mapping lastChange=آخر تعديل قبل {1} يوم(ا) lessThanAMinute=أقل من دقيقة +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=دقيقة minutes=دقائق @@ -377,6 +389,8 @@ manual=يدوي middle=وسط misc=متفرقات mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=المزيد moreResults=المزيد من النتائج moreShapes=المزيد من الأشكال @@ -390,6 +404,7 @@ networking=Networking new=جديد newLibrary=مكتبة جديدة nextPage=Next Page +noAttachments=No attachments found noColor=لا يوجد لون noFiles=لا يوجد ملفات noFileSelected=لم يتم اختيار أي ملف @@ -402,6 +417,7 @@ noPreview=No preview noResponse=لا إجابة من طرف الخادم noResultsFor=لا توجد نتائج متعلقة بـ '{1}' noRevisions=لا توجد مراجعات +noSearchResults=No search results found normal=عادي north=شمال notADiagramFile=ليس ملف رسم @@ -471,6 +487,8 @@ previousPage=Previous Page print=طباعة printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=خواص publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=شجرة شعاعية readOnly=قراءة فقط reconnecting=إعادة الإتصال +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=تم إنجاز أو تعديل هذا الملف باستخدام draw.io pro. تتم الآن إعادة التوجيه. realtimeTimeout=يبدو أنك قمت ببعض التعجيلات في وضع غير الاتصال. نعتذر عن عدم إمكانية حفظ التغييرات. redo=إعادة تنفيذ الأمر @@ -512,6 +532,7 @@ restoring=يتم الاسترداد retryingIn=تتم إعادة المحاولة خلال {1} من الثواني retryingLoad=فشل التحميل. إعادة المحاولة... retryingLogin=انتهت صلاحية التسجيل. تتم إعادة المحاولة... +revision=Revision revisionHistory=سجل المراجعات right=يمين rightAlign=محاذاة إلى اليمين @@ -563,6 +584,7 @@ solid=موحد sourceSpacing=تباعد المصدر south=جنوب software=Software +space=Space spacing=التباعد specialLink=رابط خاص standard=Standard @@ -571,6 +593,7 @@ straight=مستقيم strokeColor=لون الخط style=نمط subscript=خط صغير +summary=Summary superscript=خط كبير support=مساعدة sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=لم يتم تحديد أية عناصر other=أخرى softwaredesign=تصميم برمجي venndiagrams=مخططات فين +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=إطارات diff --git a/war/resources/dia_bg.txt b/war/resources/dia_bg.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_bg.txt +++ b/war/resources/dia_bg.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_bn.txt b/war/resources/dia_bn.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_bn.txt +++ b/war/resources/dia_bn.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_bs.txt b/war/resources/dia_bs.txt index 1e61c5a8..4df829b4 100644 --- a/war/resources/dia_bs.txt +++ b/war/resources/dia_bs.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Dodaj na postojeći crtež addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Poravnaj alignment=Poravnanje allChangesLost=Sve promjene će biti izgubljene! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Automatska veličina +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Spusti/proširi collapse-expand=Spusti/proširi collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Poveži connecting=Povezivanje @@ -273,6 +278,8 @@ forum=Forum fromTemplate=Od šablona fromTemplateUrl=From Template URL fromText=Od teksta +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Opšti github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Slika +imageUrl=Image URL images=Slike +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -328,6 +337,7 @@ insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting invalidFilename=Imena dijagrama ne smeju sadržati sledeće znake : \ / | : ; { < & + ? = +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Neispravan ili nepostojeći dokument invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Jezik leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Sredina misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=Još rezultata moreShapes=Još oblika @@ -390,6 +404,7 @@ networking=Networking new=Novi newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=Bez boje noFiles=Nema fajlova noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=Nema više rezultata za {1} noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=Sjever notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Štampa printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Rekonekcija +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Ponovi @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Desno rightAlign=Desno poravnanje @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Proređivanje izvora south=Jug software=Software +space=Space spacing=Proređivanje specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Pravo strokeColor=Boja linije style=Stil subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_ca.txt b/war/resources/dia_ca.txt index 4142472a..0e23de56 100644 --- a/war/resources/dia_ca.txt +++ b/war/resources/dia_ca.txt @@ -8,6 +8,7 @@ addImages=Afegeix imatges addImageUrl=Afegeix l'URL de la imatge addLayer=Afegeix una capa addProperty=Afegeix una propietat +address=Address addToExistingDrawing=Afegeix al dibuix actual addWaypoint=Afegeix Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Alinea alignment=Alineació allChangesLost=Es perderan tots els canvis! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Autoritzant automatic=Automàtic autosave=Desat automàtic autosize=Autodimensionar +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Minimitza/Maximitza collapse-expand=Feu clic per minimitzar/maximitzar\ premeu Shift per moure els veïns \premeu Alt per protegir la mida del grup collapsible=Minimitzable comic=Comic +comment=Comment commentsNotes=Comentaris/Notes connect=Connecta connecting=Connectant @@ -273,6 +278,8 @@ forum=Fòrums de discussió i ajuda fromTemplate=Des de la plantilla fromTemplateUrl=Des de l'URL de la plantilla fromText=Des del text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=Text HTML iframe=IFrame ignore=Ignora image=Imatge +imageUrl=Image URL images=Imatges +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importa @@ -327,7 +336,8 @@ insertRowBefore=Afegeix una fila amunt insertRowAfter=Afegeix una fila avall insertText=Afegeix text inserting=Afegint -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Nom invàlid invalidOrMissingFile=fitxer invàlid o desconegut invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Idioma leanMapping=Lean Mapping lastChange=El darrer canvi s'ha efectuat fa {1} lessThanAMinute=menys d'un minut +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minut minutes=minuts @@ -377,6 +389,8 @@ manual=Manual middle=Mig misc=Diversos mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Més moreResults=Més resultats moreShapes=Més formes @@ -390,6 +404,7 @@ networking=Networking new=Nou newLibrary=Biblioteca nova nextPage=Next Page +noAttachments=No attachments found noColor=Sense color noFiles=No hi ha fitxers noFileSelected=No s'ha seleccionat cap fitxer @@ -402,6 +417,7 @@ noPreview=No preview noResponse=El servidor no respon noResultsFor=No hi ha cap resultat per a {1} noRevisions=Sense revisions +noSearchResults=No search results found normal=Normal north=Nord notADiagramFile=No és un fitxer de diagrama @@ -471,6 +487,8 @@ previousPage=Previous Page print=Imprimeix printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Propietats publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Arbre radial readOnly=Només lectura reconnecting=Reconnectant +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Aquest fitxer va ser creat o modificat a draw.io pro. Sereu redireccionats. realtimeTimeout=Sembla que heu fet canvis mentres estaveu desconnectats. Disculpeu les molèsties, no es poden desar aquests canvis. redo=Refés @@ -512,6 +532,7 @@ restoring=Recuperant retryingIn=Reintentant en {1} segon/s retryingLoad=Càrrega fallida. Reintentant... retryingLogin=Temps d'accés esgotat. Reintentant... +revision=Revision revisionHistory=Historial de revisions right=Dreta rightAlign=Alinea a la dreta @@ -563,6 +584,7 @@ solid=Continu sourceSpacing=Espaiat entre fonts south=Sud software=Software +space=Space spacing=Espaiat specialLink=Enllaç especial standard=Standard @@ -571,6 +593,7 @@ straight=Recte strokeColor=Color de la línia style=Estil subscript=Subíndex +summary=Summary superscript=Superíndex support=Suport sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=No hi ha res seleccionat other=Altres usuaris softwaredesign=Diseny de programari venndiagrams=Diagrames de Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Esquemes de pàgina diff --git a/war/resources/dia_cs.txt b/war/resources/dia_cs.txt index c93533d9..14750aa5 100644 --- a/war/resources/dia_cs.txt +++ b/war/resources/dia_cs.txt @@ -8,6 +8,7 @@ addImages=Přidat obrázky addImageUrl=Přidat URL obrázku addLayer=Přidat vrstvu addProperty=Přidat vlastnost +address=Address addToExistingDrawing=Přidat do existujícího výkresu addWaypoint=Přidat waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Zarovnat alignment=Zarovnání allChangesLost=Všechny změny budou ztraceny! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Úhel @@ -40,6 +43,7 @@ authorizing=Autorizuji automatic=Automaticky autosave=Automatické uložení autosize=Automatická velikost +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Sbalit/Rozbalit collapse-expand=Sbalit/Rozbalit collapsible=Sbalovací comic=Comic +comment=Comment commentsNotes=Komentáře/Poznámky connect=Připojit connecting=Připojuji @@ -273,6 +278,8 @@ forum=Fóra s diskusí/nápovědou fromTemplate=Ze šablony fromTemplateUrl=Ze šablony URL fromText=Z textu +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Obecné github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML text iframe=IFrame ignore=Ignorovat image=Obrázek +imageUrl=Image URL images=Obrázky +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Vložit řádek nad insertRowAfter=Vložit řádek po insertText=Vložit text inserting=Vkládání -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Neplatný název invalidOrMissingFile=Neplatný nebo chybějící soubor invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Jazyk leanMapping=Lean Mapping lastChange=Poslední změny před {1} lessThanAMinute=méně než minuta +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minuta minutes=minuty @@ -377,6 +389,8 @@ manual=Manuál middle=Střed misc=Různé mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Více moreResults=Další výsledky moreShapes=Další tvary @@ -390,6 +404,7 @@ networking=Networking new=Nový newLibrary=Nová knihovna nextPage=Next Page +noAttachments=No attachments found noColor=Bez barvy noFiles=Žádné soubory noFileSelected=Nevybrán žádný soubor @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Žádná odpověď ze serveru noResultsFor=Žádné výsledky pro {1} noRevisions=Žádné revize +noSearchResults=No search results found normal=Normální north=Sever notADiagramFile=Není diagramový soubor @@ -471,6 +487,8 @@ previousPage=Previous Page print=Tisk printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Vlastnosti publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radiální strom readOnly=Jen pro čtení reconnecting=Připojuji znovu +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Tento soubor byl vytvořen nebo upraven v draw.io pro. Budete nyní přesměrováni. realtimeTimeout=Vypadá to, že jste provedli několik změn, když jste byli offline. Je nám líto, tyto změny nemohou být uloženy. redo=Opakovat @@ -512,6 +532,7 @@ restoring=Obnovuji retryingIn=Opětovný pokus za {1} vteřin retryingLoad=Načítání selhalo. Zkouším znovu... retryingLogin=Čas přihlášení vypršel. Zkouším znovu... +revision=Revision revisionHistory=Historie prohlížení right=Vpravo rightAlign=Zarovnat vpravo @@ -563,6 +584,7 @@ solid=Pevný sourceSpacing=Odsazení zdroje south=Jih software=Software +space=Space spacing=Odsazení specialLink=Speciální odkaz standard=Standard @@ -571,6 +593,7 @@ straight=Přímý strokeColor=Barva čáry style=Styl subscript=Index +summary=Summary superscript=Nadpis support=Podpora sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nic není vybráno other=Ostatní softwaredesign=Softwarový design venndiagrams=Vennovy diagramy +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Skicy webu diff --git a/war/resources/dia_da.txt b/war/resources/dia_da.txt index dd8557e4..6814ee41 100644 --- a/war/resources/dia_da.txt +++ b/war/resources/dia_da.txt @@ -8,6 +8,7 @@ addImages=Tilføj billeder addImageUrl=Tilføj billed-URL addLayer=Tilføj lag addProperty=Tilføj egenskab +address=Address addToExistingDrawing=Føj til eksisterende tegning addWaypoint=Tilføj støttepunkt adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Juster alignment=Justering allChangesLost=Alle ændringer vil gå tabt! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Vinkel @@ -40,6 +43,7 @@ authorizing=Tillader automatic=Automatisk autosave=Auto-gem autosize=Tilpas størrelse +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Kollaps / Udvid collapse-expand=Kollaps / Udvid collapsible=Kan foldes sammen comic=Comic +comment=Comment commentsNotes=Kommentarer/bemærkninger connect=Tilslut connecting=Tilslutter @@ -273,6 +278,8 @@ forum=Diskussion/Hjælpeforumer fromTemplate=Fra skabelon fromTemplateUrl=Fra skabelon-URL fromText=Fra tekst +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Generel github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML-tekst iframe=IFrame ignore=Ignorér image=Billede +imageUrl=Image URL images=Billeder +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importér @@ -327,7 +336,8 @@ insertRowBefore=Indsæt række ovenover insertRowAfter=Indsæt række nedenfor insertText=Insert Text inserting=Indsætter -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Ugyldigt navn invalidOrMissingFile=Ugyldig eller manglende fil invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Sprog leanMapping=Lean Mapping lastChange=Sidste ændring for {1} siden lessThanAMinute=mindre end et minut +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minut minutes=minutter @@ -377,6 +389,8 @@ manual=Manuel middle=Midt misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Flere moreResults=Flere Fesultater moreShapes=Flere Figurer @@ -390,6 +404,7 @@ networking=Networking new=Nyt newLibrary=Nyt bibliotek nextPage=Next Page +noAttachments=No attachments found noColor=Ingen farve noFiles=Ingen filer noFileSelected=Ingen fil valgt @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Intet svar fra serveren noResultsFor=Ingen resultater for '{1}' noRevisions=Ingen versioner +noSearchResults=No search results found normal=Normal north=Nord notADiagramFile=Ikke en diagramfil @@ -471,6 +487,8 @@ previousPage=Previous Page print=Udskriv printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Egenskaber publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radialt træ readOnly=Skrivebeskyttet reconnecting=Gentilslutter +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Denne fil er oprettet eller ændret i draw.io pro. Du bliver omdirigeret nu. realtimeTimeout=Det ser ud til, at du har foretaget ændringer, mens du var offline. Vi beklager, men disse ændringer kan ikke gemmes. redo=Gentag @@ -512,6 +532,7 @@ restoring=Genetablerer retryingIn=Forsøger igen om {1} sekund(er) retryingLoad=Indlæsning mislykkedes. Forsøger igen... retryingLogin=Login timeout. Forsøger igen... +revision=Revision revisionHistory=Revisionsoversigt right=Højre rightAlign=Højre @@ -563,6 +584,7 @@ solid=Fast sourceSpacing=Kildeafstand south=Syd software=Software +space=Space spacing=Mellemrum specialLink=Specielt link standard=Standard @@ -571,6 +593,7 @@ straight=Lige strokeColor=Linjefarve style=Typografi subscript=Sænket skrift +summary=Summary superscript=Hævet skrift support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Intet valgt other=Andet softwaredesign=Software-design venndiagrams=Venn-diagrammer +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframe-model diff --git a/war/resources/dia_de.txt b/war/resources/dia_de.txt index b2dbb6ea..802b00d9 100644 --- a/war/resources/dia_de.txt +++ b/war/resources/dia_de.txt @@ -8,6 +8,7 @@ addImages=Bilder hinzufügen addImageUrl=Bild URL hinzufügen addLayer=Ebene hinzufügen addProperty=Eigenschaft einfügen +address=Adresse addToExistingDrawing=In vorhandene Zeichnung einfügen addWaypoint=Wegpunkt einfügen adjustTo=Verkleinern/Vergrößern @@ -16,6 +17,8 @@ align=Ausrichten alignment=Ausrichtung allChangesLost=Alle Änderungen gehen verloren! allPages=Alle Seiten +allProjects=Alle Projekte +allSpaces=Alle Bereiche allTags=Alle Tags android=Android angle=Winkel @@ -40,6 +43,7 @@ authorizing=Wird autorisiert automatic=Automatisch autosave=Automatisch speichern autosize=Größe anpassen +attachments=Anhänge aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Ein-/Ausklappen collapse-expand=Klicken um ein-/auszuklappen\nShift-Klick um Nachbarn zu verschieben\nAlt-Klick um Gruppengröße zu schützen collapsible=Einklappbar comic=Comic +comment=Kommentar commentsNotes=Kommentare/Notizen connect=Verbinden connecting=Verbindungsaufbau @@ -273,6 +278,8 @@ forum=Diskussion/Hilfe Foren fromTemplate=Aus Vorlage fromTemplateUrl=Vorlage von URL fromText=Aus Text +fromUrl=Von URL +fromThisPage=Aus dieser Seite fullscreen=Vollbild general=Allgemein github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignorieren image=Bild +imageUrl=Bild URL images=Bilder +imagePreviewError=Die Bildvorschau konnte nicht geladen werden. Bitte überprüfen Sie die URL. imageTooBig=Bild zu groß imgur=Imgur import=Importieren @@ -327,7 +336,8 @@ insertRowBefore=Zeile oberhalb einfügen insertRowAfter=Zeile unterhalb einfügen insertText=Text einfügen inserting=Wird eingefügt -invalidFilename=Diagramm Namen dürfen keine der folgenden Zeichen enthalten: \ / | :; {<& +? = +invalidFilename=Diagramm Namen dürfen keine der folgenden Zeichen enthalten\ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Ihre Lizenz ist ungültig, bitte besuchen Sie diese <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">Seite</a>. invalidName=Ungültiger Name invalidOrMissingFile=Ungültige oder fehlende Datei invalidPublicUrl=Ungültige öffentliche URL @@ -342,8 +352,10 @@ language=Sprache leanMapping=Lean Mapping lastChange=Letzte Änderung vor {1} lessThanAMinute=weniger als einer Minute +licensingError=Lizenzfehler licenseHasExpired=Die Lizenz für {1} ist am {2} abgelaufen. Hier klicken. licenseWillExpire=Die Lizenz für {1} läuft am {2} ab. Hier klicken. +linkText=Link Text list=Liste minute=Minute minutes=Minuten @@ -377,6 +389,8 @@ manual=Manuell middle=Mitte misc=Verschiedenes mockups=Mockups +modificationDate=Änderungsdatum +modifiedBy=Geändert von more=Mehr moreResults=Mehr Resultate moreShapes=Mehr Shapes @@ -390,6 +404,7 @@ networking=Netzwerk new=Neu newLibrary=Neue Bibliothek nextPage=Nächste Seite +noAttachments=Keine Anhänge gefunden noColor=Keine Farbe noFiles=Keine Dateien noFileSelected=Keine Datei ausgewählt @@ -402,6 +417,7 @@ noPreview=Keine Vorschau noResponse=Keine Antowort vom Server noResultsFor=Keine Resultate für '{1}' noRevisions=Keine Überarbeitungen +noSearchResults=Keine Suchergebnisse gefunden normal=Normal north=Nord notADiagramFile=Keine Diagrammdatei @@ -471,6 +487,8 @@ previousPage=Vorherige Seite print=Drucken printAllPages=Alle Seiten Drucken procEng=Proc. Eng. +project=Projekt +priority=Priorität properties=Eigenschaften publish=Veröffentlichen publishConfirmation=Ihr Diagramm wird auf imgur.com veröffentlicht. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radialer Baum readOnly=Nur Lesen reconnecting=Verbindungswiederherstellung +recentlyUpdated=Kürzlich geändert +recentlyViewed=Kürzlich angesehen redirectToNewApp=Diese Datei wurde mit einer neueren Version dieser App erstellt oder verändert. Sie werden nun weitergeleitet. realtimeTimeout=Es wurden Änderungen gemacht während Sie offline waren. Diese können leider nicht gespeichert werden. redo=Wiederherstellen @@ -512,6 +532,7 @@ restoring=Wird wiederhergestellt retryingIn=Versuche erneut in {1} Sekunde(n) retryingLoad=Laden fehlgeschlagen. Versuche erneut... retryingLogin=Zeitüberschreitung beim Anmelden. Versuche erneut... +revision=Revision revisionHistory=Änderungshistorie right=Rechts rightAlign=Rechts @@ -563,6 +584,7 @@ solid=Durchgehend sourceSpacing=Anfangsabstand south=Süd software=Software +space=Bereich spacing=Abstand specialLink=Besondere Verknüpfung standard=Standard @@ -571,6 +593,7 @@ straight=Gerade strokeColor=Linienfarbe style=Style subscript=Tiefgestellt +summary=Zusammenfassung superscript=Hochgestellt support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Es ist nichts markiert other=Andere softwaredesign=Software Design venndiagrams=Venn Diagramme +webEmailOrOther=Web, Email oder eine andere Internet Adresse +webLink=Web Link wireframes=Drahtgittermodelle diff --git a/war/resources/dia_el.txt b/war/resources/dia_el.txt index da43c094..6594032e 100644 --- a/war/resources/dia_el.txt +++ b/war/resources/dia_el.txt @@ -8,6 +8,7 @@ addImages=Προσθήκη εικόνων addImageUrl=Προσθήκη εικόνας URL addLayer=Προσθήκη επιπέδου addProperty=Προσθήκη ιδιότητας +address=Address addToExistingDrawing=Προσθήκη σε υπάρχουσα σχεδίαση addWaypoint=Προσθήκη σημείου αναφοράς adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Στοίχισε alignment=Στοίχιση allChangesLost=Όλες οι αλλαγές θα χαθούν! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Γωνία @@ -40,6 +43,7 @@ authorizing=Εξουσιοδότηση automatic=Αυτόματα autosave=Αυτόματη αποθήκευση autosize=Αυτόματο μέγεθος +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Κατάρρευση/Επέκταση collapse-expand=Κατάρρευση/Επέκταση collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Σχόλια/Σημειώσεις connect=Σύνδεση connecting=Γίνεται Σύνδεση @@ -273,6 +278,8 @@ forum=Συζήτηση/Φόρουμ Βοήθειας fromTemplate=Από πρότυπο fromTemplateUrl=Από πρότυπο URL fromText=Από Κείμενο +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Γενικά github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML κείμενο iframe=IFrame ignore=Αγνοήστε image=Εικόνα +imageUrl=Image URL images=Εικόνες +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Εισαγωγή @@ -327,7 +336,8 @@ insertRowBefore=Εισαγωγή σειράς από πάνω insertRowAfter=Εισαγωγή σειράς μετά insertText=Εισαγωγή κειμένου inserting=Εισάγοντας -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Μη έγκυρο όνομα invalidOrMissingFile=Μη έγκυρο ή ανύπαρκτο αρχείο invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Γλώσσα leanMapping=Lean Mapping lastChange=Τελευταία αλλαγή {1} πριν lessThanAMinute=λιγότερο από ένα λεπτό +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=λεπτό minutes=λεπτά @@ -377,6 +389,8 @@ manual=Χειροκίνητα middle=Μέσο misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Περισσότερα moreResults=Περισσότερα Αποτελέσματα moreShapes=Περισσότερα Σχήματα @@ -390,6 +404,7 @@ networking=Networking new=Νέο newLibrary=Νέα βιβλιοθήκη nextPage=Next Page +noAttachments=No attachments found noColor=Χωρίς χρώμα noFiles=Δεν υπάρχει αρχείο noFileSelected=Δεν επιλέχθηκε αρχείο @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Χωρίς ανταπόκριση από το διακομιστή noResultsFor=Δεν υπάρχουν αποτελέσματα για '{1}' noRevisions=Χωρίς αναθεωρήσεις +noSearchResults=No search results found normal=Κανονικό north=Βορράς notADiagramFile=Δεν είναι αρχείο διαγράμματος @@ -471,6 +487,8 @@ previousPage=Previous Page print=Εκτύπωση printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Ιδιότητες publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Ακτινικό δέντρο readOnly=Ανάγνωση μόνο reconnecting=Επανασύνδεση +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Αυτό το αρχείο δημιουργήθηκε ή τροποποιήθηκε στο draw.io pro. Θα ανακατευθυνθείτε τώρα. realtimeTimeout=Φαίνεται, ότι έχετε κάνει μερικές αλλαγές, ενόσω βρισκόσασταν εκτός δικτύου. Λυπούμαστε, αυτές οι αλλαγές δεν μπορούν να αποθηκευτούν. redo=Επανάληψη @@ -512,6 +532,7 @@ restoring=Επαναφέρεται retryingIn=Δοκιμή ξανά σε {1} δευτερόλεπτα retryingLoad=Η φόρτωση απέτυχε. Δοκιμή ξανά... retryingLogin=Η σύνδεση έληξε. Δοκιμή ξανά... +revision=Revision revisionHistory=Ιστορικό αναθεώρησης right=Δεξιά rightAlign=Στοίχιση Δεξιά @@ -563,6 +584,7 @@ solid=Συμπαγές sourceSpacing=Απόσταση Πηγής south=Νότια software=Software +space=Space spacing=Απόσταση specialLink=Ειδικός σύνδεσμος standard=Standard @@ -571,6 +593,7 @@ straight=Ευθεία strokeColor=Χρώμα γραμμής style=Εμφάνιση subscript=Δείκτης +summary=Summary superscript=Εκθέτης support=Υποστήριξη sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Δεν έχει επιλεχθεί τίποτα other=Άλλο softwaredesign=Σχεδιασμός λογισμικού venndiagrams=Διαγράμματα Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Πλαίσια diff --git a/war/resources/dia_es.txt b/war/resources/dia_es.txt index f70051d1..e356c69b 100644 --- a/war/resources/dia_es.txt +++ b/war/resources/dia_es.txt @@ -8,6 +8,7 @@ addImages=Añadir imágenes addImageUrl=Añadir URL de imagen addLayer=Añadir capa addProperty=Añadir propiedad +address=Address addToExistingDrawing=Añadir al dibujo existente addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Alinear alignment=Alineación allChangesLost=¡Se perderán todos los cambios! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Ángulo @@ -40,6 +43,7 @@ authorizing=Autorizando automatic=Automático autosave=Guardado automático autosize=Autodimensionar +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,12 +102,13 @@ collapseExpand=Minimizar/Maximizar collapse-expand=Haz clic para minimizar/maximizar\ pulsa Shift para mover los vecinos \Pulsa Alt para proteger el tamaño del grupo collapsible=Minimizable comic=Comic +comment=Comment commentsNotes=Comentarios/Notas connect=Conectar connecting=Conectando connectWithDrive=Conectar con Google Drive connection=Conexión -connectionArrows=Connection Arrows +connectionArrows=Flechas de conexión connectionPoints=Puntos de conexión constrainProportions=Limitar proporciones containsValidationErrors=Contiene errores de validación @@ -170,8 +175,8 @@ duplicateIt=Duplicar {1} divider=Separador east=Este edit=Editar -editData=Edit Data -editDiagram=Edit Diagram +editData=Editar datos +editDiagram=Editar diagrama editGeometry=Editar geometría editImage=Editar imagen editImageUrl=Editar URL de la imagen @@ -235,7 +240,7 @@ fileOpenLocation=¿Cómo quieres abrir este/os archivo/s? fileWillBeSavedInAppFolder={1} se guardará en la carpeta de aplicaciones. fill=Relleno fillColor=Color del relleno -find=Find +find=Buscar fit=Ajustar fitContainer=Redimensionar contenedor fitIntoContainer=Ajustar al contenedor @@ -273,6 +278,8 @@ forum=Foros de discusión y ayuda fromTemplate=Desde plantilla fromTemplateUrl=Desde URL de plantilla fromText=Desde texto +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=Texto HTML iframe=IFrame ignore=Ignorar image=Imagen +imageUrl=Image URL images=Imágenes +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importar @@ -327,7 +336,8 @@ insertRowBefore=Insertar fila arriba insertRowAfter=insertar fila debajo insertText=Insertar texto inserting=Insertando -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Nombre inválido invalidOrMissingFile=Archivo inválido o desconocido invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Idioma leanMapping=Lean Mapping lastChange=El último cambio se ha realizado hace {1} lessThanAMinute=menos de un minuto +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minuto minutes=minutos @@ -377,6 +389,8 @@ manual=Manual middle=Medio misc=Varios mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Más moreResults=Más resultados moreShapes=Más formas @@ -390,6 +404,7 @@ networking=Networking new=Nuevo newLibrary=Nueva biblioteca nextPage=Next Page +noAttachments=No attachments found noColor=Sin color noFiles=No hay archivos noFileSelected=Ningún archivo seleccionado @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No hay respuesta del servidor noResultsFor=No hay resultados para {1} noRevisions=Sin revisiones +noSearchResults=No search results found normal=Normal north=Norte notADiagramFile=No es un archivo de diagrama @@ -428,7 +444,7 @@ openLink=Abrir enlace openInNewWindow=Abrir en ventana nueva openInThisWindow=Abrir en ventana actual openIt=Abrir {1} -openRecent=Open Recent +openRecent=Abrir reciente openSupported=Los formatos soportados son los archivos guardados desde este software (.xml), .vsdx y .gliffy options=Opciones organic=Orgánico @@ -437,8 +453,8 @@ otherViewer=otro usuario otherViewers=otros usuarios outline=Contorno oval=Óvalo -page=Page -pageWithNumber=Page-{1} +page=Página +pageWithNumber=Página-{1} pages=Páginas pageView=Vista de página pageSetup=Configuración de página @@ -471,8 +487,10 @@ previousPage=Previous Page print=Imprimir printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Propiedades -publish=Publish +publish=Publicar publishConfirmation=This will make your diagram public on imgur.com. published=Published publishedAt=Published at {1} @@ -483,6 +501,8 @@ rack=Rack radialTree=Árbol radial readOnly=Sólo lectura reconnecting=Reconectando +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Este archivo fue creado o modificado en draw.io pro. Serás redirigido. realtimeTimeout=Parece que has realizado algunos cambios mientras estabas desconectado/a. Lo sentimos, no es posible guardar estos cambios. redo=Rehacer @@ -503,7 +523,7 @@ replaceIt={1} ya existe. ¿Deseas reemplazarlo? replaceExistingDrawing=Reemplazar el dibujo existente required=requerido reset=Restablecer -resetView=Reset View +resetView=Restaurar zoom resize=Redimensionar retina=Retina responsive=Responsive @@ -512,6 +532,7 @@ restoring=Restaurando retryingIn=Reintentando en {1} segundo/s retryingLoad=Carga fallida. Reintentando... retryingLogin=Tiempo de acceso agotado. Reintentando... +revision=Revision revisionHistory=Historial de revisiones right=Derecha rightAlign=Alinear a la derecha @@ -537,7 +558,7 @@ selectAll=Seleccionar todo selectionOnly=Selection Only selectEdges=Seleccionar bordes selectFont=Seleccionar una fuente -selectNone=Select None +selectNone=Eliminar selección selectVertices=Seleccionar vértices sendMessage=Enviar sendYourFeedbackToDrawIo=Enviar tu crítica a draw.io @@ -552,7 +573,7 @@ share=Compartir shareLink=Enlace para edición compartida. sharp=Nitidez show=Mostrar -showStartScreen=Show Start Screen +showStartScreen=Mostrar pantalla de inicio sidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect. signs=Signs signOut=Cerrar sesión @@ -563,6 +584,7 @@ solid=Sólido sourceSpacing=Espaciado entre fuentes south=Sur software=Software +space=Space spacing=Espaciado specialLink=Enlace especial standard=Standard @@ -571,6 +593,7 @@ straight=Recto strokeColor=Color de línea style=Estilo subscript=Subíndice +summary=Summary superscript=Superíndice support=Soporte sysml=SysML @@ -603,8 +626,8 @@ uml=UML underline=Subrayar undo=Deshacer ungroup=Desagrupar -unsavedChanges=Cambios sin guardar -unsavedChangesClickHereToSave=Unsaved changes. Click here to save. +unsavedChanges=Cambios no guardados +unsavedChangesClickHereToSave=Cambios no guardados. Click aqui para guardar. untitled=Untitled untitledDiagram=Diagrama sin nombre untitledLayer=Untitled Layer @@ -646,4 +669,6 @@ nothingIsSelected=No hay nada seleccionado other=Otros softwaredesign=Diseño de software venndiagrams=Diagramas de Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Esquemas de página diff --git a/war/resources/dia_et.txt b/war/resources/dia_et.txt index cc3a60a4..92144a9d 100644 --- a/war/resources/dia_et.txt +++ b/war/resources/dia_et.txt @@ -8,6 +8,7 @@ addImages=Lisa pilte addImageUrl=Lisa pildi URL addLayer=Lisa kiht addProperty=Lisa väärtus +address=Address addToExistingDrawing=Lisa olemasolevale joonisele addWaypoint=Lisa teepunkt adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Joonda alignment=Joondamine allChangesLost=Kõik muudatused kaovad! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Nurk @@ -40,6 +43,7 @@ authorizing=Volitamine automatic=Automaatne autosave=Automaatne salvestamine autosize=Automaatne suurus +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Vähenda/Suurenda collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Vähendatav comic=Comic +comment=Comment commentsNotes=Märkused connect=Ühenda connecting=Ühendamas @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_fa.txt b/war/resources/dia_fa.txt index b293173f..069fdbf2 100644 --- a/war/resources/dia_fa.txt +++ b/war/resources/dia_fa.txt @@ -8,6 +8,7 @@ addImages=افزودن تصاویر addImageUrl=افزودن URL تصویر addLayer=افزودن لایه addProperty=افزودن ویژگی +address=Address addToExistingDrawing=افزودن به طراحیهای موجود addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=تراز alignment=همترازی allChangesLost=تمامی تغییرات از دست خواهند رفت! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=اندروید angle=زاویه @@ -40,6 +43,7 @@ authorizing=اجازه automatic=خودکار autosave=ذخیره خودکار autosize=اندازه بصورت خودکار +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=جمعکردن/باز نمودن collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=قابل comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=از قالب fromTemplateUrl=از آدرس قالب fromText=از متن +fromUrl=From URL +fromThisPage=From this page fullscreen=تمامصفحه general=عمومی github=GitHub @@ -306,7 +313,9 @@ htmlText=متن HTML iframe=IFrame ignore=نادیده گرفتن image=تصویر +imageUrl=Image URL images=تصاویر +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=تصویر خیلی بزرگ است imgur=Imgur import=وارد نمودن @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=نام نامعتبر invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=زبان leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=کمتر از یک دقیقه +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=دقیقه minutes=دقیقه @@ -377,6 +389,8 @@ manual=دَستی middle=وسط misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=بیشتر moreResults=نتایج بیشتر moreShapes=شکلهای بیشتر @@ -390,6 +404,7 @@ networking=Networking new=جدید newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=بدون رنگ noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_fi.txt b/war/resources/dia_fi.txt index a27bbc78..9b204f84 100644 --- a/war/resources/dia_fi.txt +++ b/war/resources/dia_fi.txt @@ -8,6 +8,7 @@ addImages=Lisää kuvia addImageUrl=Lisää kuvan URL addLayer=Lisää kerros addProperty=Lisää ominaisuus +address=Address addToExistingDrawing=Lisää olemassa olevaan piirustukseen addWaypoint=Lisää reittipiste adjustTo=Sovita @@ -16,6 +17,8 @@ align=Kohdista alignment=Kohdistus allChangesLost=Kaikki muutokset menetään! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Kulma @@ -40,6 +43,7 @@ authorizing=Valtuutus käynnissä automatic=Automaattinen autosave=Automaattinen tallennus autosize=Automaattinen koko +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Pienennä/Laajenna collapse-expand=Klikkaa pienentääksesi/laajentaaksesi\nShift+click siirtääksesi naapureita \nAlt+click säilyttääksesi ryhmän koon collapsible=Pienennättävä comic=Comic +comment=Comment commentsNotes=Kommentit/Muistiinpanot connect=Yhdistä connecting=Yhdistetään @@ -273,6 +278,8 @@ forum=Keskustelu-/Apu-foorumit fromTemplate=Mallipohjasta fromTemplateUrl=Mallipohjan URL:ista fromText=Tekstistä +fromUrl=From URL +fromThisPage=From this page fullscreen=Koko näyttö general=Yleinen github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML teksti iframe=IFrame ignore=Sivuuta image=Kuva +imageUrl=Image URL images=Kuvat +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Liian suuri kuva imgur=Imgur import=Tuo @@ -328,6 +337,7 @@ insertRowAfter=Lisää rivi alapuolelle insertText=Lisää tekstiä inserting=Lisätään invalidFilename=Kaavioiden nimet eivät saa sisältää seuraavia merkkejä : \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Virheellinen nimi invalidOrMissingFile=Epäkelvollinen tai puuttuva tiedosto invalidPublicUrl=Epäkelvollinen julkinen URL @@ -342,8 +352,10 @@ language=Kieli leanMapping=Lean Mapping lastChange=Viimeinen muutos {1} sitten lessThanAMinute=alle minuutti sitten +licensingError=Licensing Error licenseHasExpired={1} lisenssi on päättynyt {2}. Klikkaa tästä. licenseWillExpire={1} lisenssi päättyy {2}. Klikkaa tästä. +linkText=Link Text list=List minute=minuutti minutes=minuuttia @@ -377,6 +389,8 @@ manual=Manuaalinen middle=Keskellä misc=Sekalaiset mockups=Mallit +modificationDate=Modification date +modifiedBy=Modified by more=Lisää moreResults=Lisää tuloksia moreShapes=Lisää muotoja @@ -390,6 +404,7 @@ networking=Verkkotyöskentely new=Uusi newLibrary=Uusi kokoelma nextPage=Next Page +noAttachments=No attachments found noColor=Ei väriä noFiles=Ei tiedostoja noFileSelected=Tiedostoa ei valittu @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Ei vastausta palvelimelta noResultsFor=Ei tuloksia haulle '{1}' noRevisions=Ei muokattuja versioita +noSearchResults=No search results found normal=Normaali north=Pohjoinen notADiagramFile=Ei kaaviotiedostoa @@ -471,6 +487,8 @@ previousPage=Previous Page print=Tulosta printAllPages=Tulosta kaikki sivut procEng=Teollisuus +project=Project +priority=Priority properties=Ominaisuudet publish=Julkaise publishConfirmation=Tämä julkaisee kaaviosi osoitteessa imgur.com @@ -483,6 +501,8 @@ rack=Teline radialTree=Radiaalinen puu readOnly=Vain luettavissa reconnecting=Yhdistetään uudelleen +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Tämä tiedosto on luotu tai muokattu draw.io pro:ssa. Sinut uudelleenohjataan nyt. realtimeTimeout=Näyttää siltä, että olet tehnyt muutoksia offline-tilassa. Olemme pahoillamme, mutta näitä muutoksia ei voida tallentaa. redo=Toista @@ -512,6 +532,7 @@ restoring=Palautetaan retryingIn=Yritetään uudelleen {1} sekunnin kuluttua retryingLoad=Lataus epäonnistui. Yritetään uudelleen... retryingLogin=Sisäänkirjautuminen epäonnistui. Yritetään uudelleen... +revision=Revision revisionHistory=Muutoshistoria right=Oikea rightAlign=Oikea tasaus @@ -563,6 +584,7 @@ solid=Kiinteä sourceSpacing=Lähteen väli south=Etelä software=Software +space=Space spacing=Väli specialLink=Erityislinkki standard=Standard @@ -571,6 +593,7 @@ straight=Suora strokeColor=Rivin väri style=Tyyli subscript=Alaindeksi +summary=Summary superscript=Yläindeksi support=Tuki sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Mitään ei ole valittu other=Muu softwaredesign=Ohjelmistojen suunnittelu venndiagrams=Venn-diagrammit +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Viivakehykset diff --git a/war/resources/dia_fil.txt b/war/resources/dia_fil.txt index 03843990..d0ea36d0 100644 --- a/war/resources/dia_fil.txt +++ b/war/resources/dia_fil.txt @@ -8,6 +8,7 @@ addImages=Magdagdag ng mga imahe addImageUrl=Magdagdag ng imahe ng URL addLayer=Magdagdag ng palapag addProperty=Magdagdag ng katangian +address=Address addToExistingDrawing=Idagdag sa kasalukuyang guhit addWaypoint=Magdagdag ng panturo adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Ihanay alignment=Paghahanay allChangesLost=Lahat ng pagbabago ay mawawala allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Anggulo @@ -40,6 +43,7 @@ authorizing=Pinahihintulutan automatic=Otomatiko autosave=Otomatikong pag-seyb autosize=Otomatikong sukat +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Ibagsak/ Palawigin collapse-expand=Pindutin para ibagsak/palawigin\nShift-pindutin para galawin ang mga katabi\nAlt-pindutin para maprutektahan ang sukat ng grupo collapsible=Pwedeng bumagsak comic=Comic +comment=Comment commentsNotes=Mga kumento/Paalala connect=Konekta connecting=Kumokunekta @@ -273,6 +278,8 @@ forum=Diskusyon/ Tulong usapan fromTemplate=Mula sa templeyt fromTemplateUrl=Mula sa template URL fromText=Mula sa teksto +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Pangkalahatan github=GitHub @@ -306,7 +313,9 @@ htmlText=Teksto ng HTML iframe=IKuwadro ignore=Baliwalain image=Imahe +imageUrl=Image URL images=Mga imahe +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Magsingit ng hanay sa itaas insertRowAfter=Magsingit ng hanay pagkatapos insertText=Magsingit ng teksto inserting=Nagsisingit -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Imbalidong pangalan invalidOrMissingFile=Imbalido o nawawalang payl invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Lengguwahe leanMapping=Lean Mapping lastChange=Huling pagbabago {1} lessThanAMinute=Mababa sa isang minuto +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minuto minutes=mga minuto @@ -377,6 +389,8 @@ manual=Manwal middle=Gitna misc=Iba't iba mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Higit moreResults=Higit pang mga resulta moreShapes=Higit pang mga hugis @@ -390,6 +404,7 @@ networking=Networking new=Bago newLibrary=Bagong libraryo nextPage=Next Page +noAttachments=No attachments found noColor=Walang kulay noFiles=Walang mga payl noFileSelected=Walang payl na napili @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Walang sagot mula sa serber noResultsFor=Walang mga resulta para sa '{1}' noRevisions=Walang mga pagbabago +noSearchResults=No search results found normal=Normal north=Hilaga notADiagramFile=Hindi dayagram na payl @@ -471,6 +487,8 @@ previousPage=Previous Page print=Tatak printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Mga katangian publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Istraktura ng Radial readOnly=Pagbasa- lang reconnecting=Kumukonektang muli +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Ang payl na ito ay ginawa o minodipika sa draw.io pro. Ikaw ay dadalhin na ngayon. realtimeTimeout=Mukhang ikaw ay gumawa ng konting mga pagbabago ng ikaw ay wala sa linya o naka oplayn. Kami po ay humihingi ng tawad, itong mga pagbabago ay hindi maiseseyb. redo=Gawing muli @@ -512,6 +532,7 @@ restoring=Ibinabalik retryingIn=Susubukang muli sa {1} segundo(s) retryingLoad=Hindi naglowd. Sinusubukang muli... retryingLogin=Natapos na ang oras ng Login. Sinusubukang muli... +revision=Revision revisionHistory=Pagkasunod sunod ng pagbabago right=Kanan rightAlign=Ihanay sa kanan @@ -563,6 +584,7 @@ solid=Solido sourceSpacing=Ang source ng espasyo south=Timog software=Software +space=Space spacing=Espasyo specialLink=Espesyal na paguugnay standard=Standard @@ -571,6 +593,7 @@ straight=Diresto strokeColor=Kulay ng linya style=Istilo subscript=Subskripto +summary=Summary superscript=Superskripto support=Suporta sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Walang napili other=Iba softwaredesign=Disenyo ng Software venndiagrams=Mga dayagram ng Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wineframes diff --git a/war/resources/dia_fr.txt b/war/resources/dia_fr.txt index a9446244..414e85b3 100644 --- a/war/resources/dia_fr.txt +++ b/war/resources/dia_fr.txt @@ -8,6 +8,7 @@ addImages=Ajouter des images addImageUrl=Ajouter l'URL d'une image addLayer=Ajouter une couche addProperty=Ajouter une propriété +address=Address addToExistingDrawing=Ajouter au diagramme existant addWaypoint=Ajouter un repère adjustTo=Ajuster à @@ -16,6 +17,8 @@ align=Aligner alignment=Alignement allChangesLost=Toutes les modifications seront perdues! allPages=Toutes les pages +allProjects=All Projects +allSpaces=All Spaces allTags=Toutes les étiquettes android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Autorisé automatic=Automatique autosave=Enregistrement auto autosize=Taille automatique +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Réduire-Développer collapse-expand=Cliquer pour réduire/développer\nShift+clic pour déplacer les voisins\nAlt+clic pour conserver la taille du groupe collapsible=Réductible comic=Comic +comment=Comment commentsNotes=Commentaires/Notes connect=Connecter connecting=Connexion en cours @@ -273,6 +278,8 @@ forum=Forum d'aide fromTemplate=Depuis un modèle fromTemplateUrl=Depuis le modèle à l'adresse fromText=Depuis du texte +fromUrl=From URL +fromThisPage=From this page fullscreen=Plein écran general=Général github=GitHub @@ -306,7 +313,9 @@ htmlText=Texte HTML iframe=IFrame ignore=Ignorer image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image trop grande imgur=Imgur import=Importer @@ -328,6 +337,7 @@ insertRowAfter=Insérer une ligne après insertText=Insérer du texte inserting=Insertion invalidFilename=Le nom des diagrammes ne doit pas contenir les caractères suivants : \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Nom invalide invalidOrMissingFile=Fichier invalide ou manquant invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Langue leanMapping=Lean Mapping lastChange=Dernière modification il y a {1} lessThanAMinute=moins d'une minute +licensingError=Licensing Error licenseHasExpired=La license pour {1} a expiré le {2}. Cliquez ici. licenseWillExpire=La license pour {1} expirera le {2}. Cliquez ici. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manuel middle=Au milieu misc=Divers mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Plus moreResults=Plus de résultats moreShapes=Plus d'icones @@ -390,6 +404,7 @@ networking=Networking new=Nouveau newLibrary=Nouvelle librairie nextPage=Next Page +noAttachments=No attachments found noColor=Pas de couleur noFiles=Pas de fichiers noFileSelected=Aucun fichier sélectionné @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Pas de réponse du serveur noResultsFor=Pas de résultats pour '{1}' noRevisions=Pas de révisions +noSearchResults=No search results found normal=Normal north=Nord notADiagramFile=N'est pas un fichier de diagramme @@ -471,6 +487,8 @@ previousPage=Previous Page print=Imprimer printAllPages=Imprimer toutes les pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Propriétés publish=Publier publishConfirmation=Cela rendra public votre diagramme sur imgur.com @@ -483,6 +501,8 @@ rack=Rack radialTree=Arbre radial readOnly=Lecture seule reconnecting=Reconnexion +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Fichier créé ou modifié dans draw.io pro. Vous allez être redirigé maintenant. realtimeTimeout=Des modifications hors ligne ont été effectuées. Ces modifications ne peuvent être enregistrées. redo=Refaire @@ -512,6 +532,7 @@ restoring=Récupération retryingIn=Nouvelle tentative dans {1} seconde(s) retryingLoad=Le chargement a échoué. Nouvel essai... retryingLogin=L'identification a échoué. Nouvel essai... +revision=Revision revisionHistory=Historique des révisions right=Droit rightAlign=Aligner à droite @@ -563,6 +584,7 @@ solid=Uni sourceSpacing=Espacement de la source south=Sud software=Software +space=Space spacing=Espacement specialLink=Lien Spécial standard=Standard @@ -571,6 +593,7 @@ straight=Droit strokeColor=Couleur de la ligne style=Style subscript=Texte miniaturisé +summary=Summary superscript=Texte agrandi support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Pas de sélection other=Autre softwaredesign=Modélisation Logicielle venndiagrams=Diagrammes de Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Maquettes conceptuelles diff --git a/war/resources/dia_gu.txt b/war/resources/dia_gu.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_gu.txt +++ b/war/resources/dia_gu.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_he.txt b/war/resources/dia_he.txt index 690792fe..4fcc0e1f 100644 --- a/war/resources/dia_he.txt +++ b/war/resources/dia_he.txt @@ -8,6 +8,7 @@ addImages=הוסף תמונות addImageUrl=הוסף קישור לתמונה addLayer=הוסף שכבה addProperty=הוסף מאפיין +address=Address addToExistingDrawing=הוסף לסקיצה קיימת addWaypoint=הוסף נקודת ציון adjustTo=Adjust to @@ -16,6 +17,8 @@ align=ישר alignment=יישור allChangesLost=כל השינויים יאבדו! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=זווית @@ -40,6 +43,7 @@ authorizing=נותן הרשאה automatic=אוטומטי autosave=שמירה אוטומטית autosize=גודל אוטומטי +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=פרק/הרחב collapse-expand=לחץ כדי לפרק/להרחיב/n החזק את Shift ולחץ כדי להזיז שכנים/n החזק את Alt ולחץ כדי להגן על גודל הקבוצה collapsible=ניתן לפירוק comic=Comic +comment=Comment commentsNotes=תגובות/הערות connect=חבר connecting=מחבר @@ -273,6 +278,8 @@ forum=דיון/פורום תמיכה fromTemplate=מתוך תבנית fromTemplateUrl=מתוך קישור לתבנית fromText=מטקסט +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=כללי github=GitHub @@ -306,7 +313,9 @@ htmlText=טקסט HTML iframe=IFrame ignore=התעלם image=תמונה +imageUrl=Image URL images=תמונות +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=ייבא @@ -327,7 +336,8 @@ insertRowBefore=הכנס שורה מעל insertRowAfter=הכנס שורה אחרי insertText=הכנס טקסט inserting=מכניס -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=שם לא חוקי invalidOrMissingFile=קובץ חסר או לא תקין invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=שפה leanMapping=Lean Mapping lastChange=שינוי אחרון לפני {1} lessThanAMinute=פחות מדקה +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=דקה minutes=דקות @@ -377,6 +389,8 @@ manual=ידני middle=אמצע misc=שונות mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=עוד moreResults=תוצאות נוספות moreShapes=צורות נוספות @@ -390,6 +404,7 @@ networking=Networking new=חדש newLibrary=ספרייה חדשה nextPage=Next Page +noAttachments=No attachments found noColor=ללא צבע noFiles=ללא קבצים noFileSelected=לא נבחרו קבצים @@ -402,6 +417,7 @@ noPreview=No preview noResponse=אין תגובה מהשרת noResultsFor=אין תוצאות עבור '{1}' noRevisions=אין שינויים +noSearchResults=No search results found normal=רגיל north=צפון notADiagramFile=זה לא קובץ דיאגרמה @@ -471,6 +487,8 @@ previousPage=Previous Page print=הדפס printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=מאפיינים publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=עץ רדיאלי readOnly=קריאה בלבד reconnecting=מתחבר מחדש +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=הקובץ הזה נוצר או שונה באמצעות draw.io pro. אתה תנותב עכשיו. realtimeTimeout=נראה שביצעת מספר שינויים במצב לא מקוון. אנחנו מצטערים, לא ניתן לשמור שינויים אלו. redo=בצע שוב @@ -512,6 +532,7 @@ restoring=משחזר retryingIn=מנסה מחדש בעוד {1} שניות retryingLoad=הטעינה נכשלה. מנסה מחדש... retryingLogin=זמן ההתחברות פג. מנסה מחדש... +revision=Revision revisionHistory=היסטוריית שינויים right=ימין rightAlign=יישר לימין @@ -563,6 +584,7 @@ solid=מוצק sourceSpacing=מרווח מקור south=דרום software=Software +space=Space spacing=מרווח specialLink=קישור מיוחד standard=Standard @@ -571,6 +593,7 @@ straight=ישר strokeColor=צבע קו style=סגנון subscript=סקריפט משנה +summary=Summary superscript=סופר סקריפט support=תמיכה sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=לא נבחרו פריטים other=אחר softwaredesign=עיצוב תוכנה venndiagrams=דיאגרמות Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_hi.txt b/war/resources/dia_hi.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_hi.txt +++ b/war/resources/dia_hi.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_hr.txt b/war/resources/dia_hr.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_hr.txt +++ b/war/resources/dia_hr.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_hu.txt b/war/resources/dia_hu.txt index 14879c01..104ddf06 100644 --- a/war/resources/dia_hu.txt +++ b/war/resources/dia_hu.txt @@ -8,6 +8,7 @@ addImages=Képet hozzáad addImageUrl=Kép URL hozzáadás addLayer=Réteget hozzáad addProperty=Tulajdonság hozzáadás +address=Address addToExistingDrawing=Add hozzá a meglévő rajzhoz addWaypoint=Útpont hozzáadás adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Igazít alignment=Igazítás allChangesLost=Elvesz minden változtatás! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Szög @@ -40,6 +43,7 @@ authorizing=Engedélyezés automatic=Automatikus autosave=Automatikus mentés autosize=Automatikus méret +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Összevon/Bővít collapse-expand=Összevon/Bővít collapsible=Összevonható comic=Comic +comment=Comment commentsNotes=Kommentárok/Jegyzetek connect=Csatlakoztat connecting=Csatlakoztatás @@ -273,6 +278,8 @@ forum=Fórum fromTemplate=Sablonból fromTemplateUrl=Sablon URL-ból fromText=Szövegből +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Általános github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML szöveg iframe=IFrame ignore=Mellőz image=Kép +imageUrl=Image URL images=Képek +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importál @@ -327,7 +336,8 @@ insertRowBefore=Sort beszúr felette insertRowAfter=Sort beszúr alatta insertText=Insert Text inserting=Beszúrás -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Érvénytelen név invalidOrMissingFile=Érvénytelen vagy hiányzó fájl invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Nyelv leanMapping=Lean Mapping lastChange=Utolsó változás ideje: {1} lessThanAMinute=kevesebb mint egy perc +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=perc minutes=perc @@ -377,6 +389,8 @@ manual=Kézi middle=Közép misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Több moreResults=Több eredmény moreShapes=Több alakzat @@ -390,6 +404,7 @@ networking=Networking new=Új newLibrary=Új könyvtár nextPage=Next Page +noAttachments=No attachments found noColor=Szín nélkül noFiles=Fájlok nélkül noFileSelected=Nincs kiválasztott fájl @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Nincs válasz a szervertől noResultsFor=Nincs eredmény a {1}-hez noRevisions=Nincs revízió +noSearchResults=No search results found normal=Normális north=Észak notADiagramFile=Nem diagram fájl @@ -471,6 +487,8 @@ previousPage=Previous Page print=Nyomtat printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Tulajdonságok publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radiális fa readOnly=Csak olvasható reconnecting=Újracsatlakoztatás +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Ez a fájl a draw.io pro-ban lett készítve vagy módosítva. Azonnal át lesz irányítva. realtimeTimeout=Úgy látszik néhány változást csinált miközben le volt kapcsolva. Sajnáljuk, ezek a változtatások nem menthetők. redo=Helyrehoz @@ -512,6 +532,7 @@ restoring=Visszaállítás retryingIn=Újrapróbálkozás {1} másodperc múlva retryingLoad=A betöltés sikertelen. Újrapróbálkozás... retryingLogin=A bejelentkezési idő lejárt. Újrapróbálkozás... +revision=Revision revisionHistory=Revízió történelem right=Jobb rightAlign=Jobb igazítás @@ -563,6 +584,7 @@ solid=Folytonos sourceSpacing=Forrás térköz south=Dél software=Software +space=Space spacing=Térköz specialLink=Különleges link standard=Standard @@ -571,6 +593,7 @@ straight=Egyenes strokeColor=Vonal szín style=Stílus subscript=Index +summary=Summary superscript=Mutatószám support=Támogatás sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Semmi nincs kijelölve other=Más softwaredesign=Szoftvertervezés venndiagrams=Venn diagramok +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Drótvázak diff --git a/war/resources/dia_i18n.txt b/war/resources/dia_i18n.txt index 5812acb6..940dd3c8 100644 --- a/war/resources/dia_i18n.txt +++ b/war/resources/dia_i18n.txt @@ -8,6 +8,7 @@ addImages=addImages addImageUrl=addImageUrl addLayer=addLayer addProperty=addProperty +address=address addToExistingDrawing=addToExistingDrawing addWaypoint=addWaypoint adjustTo=adjustTo @@ -16,6 +17,8 @@ align=align alignment=alignment allChangesLost=allChangesLost allPages=allPages +allProjects=allProjects +allSpaces=allSpaces allTags=allTags android=android angle=angle @@ -40,6 +43,7 @@ authorizing=authorizing automatic=automatic autosave=autosave autosize=autosize +attachments=attachments aws=aws aws3d=aws3d azure=azure @@ -98,6 +102,7 @@ collapseExpand=collapseExpand collapse-expand=collapse-expand collapsible=collapsible comic=comic +comment=comment commentsNotes=commentsNotes connect=connect connecting=connecting @@ -273,6 +278,8 @@ forum=forum fromTemplate=fromTemplate fromTemplateUrl=fromTemplateUrl fromText=fromText +fromUrl=fromUrl +fromThisPage=fromThisPage fullscreen=fullscreen general=general github=github @@ -306,7 +313,9 @@ htmlText=htmlText iframe=iframe ignore=ignore image=image +imageUrl=imageUrl images=images +imagePreviewError=imagePreviewError imageTooBig=imageTooBig imgur=imgur import=import @@ -328,6 +337,7 @@ insertRowAfter=insertRowAfter insertText=insertText inserting=inserting invalidFilename=invalidFilename +invalidLicenseSeeThisPage=invalidLicenseSeeThisPage invalidName=invalidName invalidOrMissingFile=invalidOrMissingFile invalidPublicUrl=invalidPublicUrl @@ -342,8 +352,10 @@ language=language leanMapping=leanMapping lastChange=lastChange lessThanAMinute=lessThanAMinute +licensingError=licensingError licenseHasExpired=licenseHasExpired licenseWillExpire=licenseWillExpire +linkText=linkText list=list minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=manual middle=middle misc=misc mockups=mockups +modificationDate=modificationDate +modifiedBy=modifiedBy more=more moreResults=moreResults moreShapes=moreShapes @@ -390,6 +404,7 @@ networking=networking new=new newLibrary=newLibrary nextPage=nextPage +noAttachments=noAttachments noColor=noColor noFiles=noFiles noFileSelected=noFileSelected @@ -402,6 +417,7 @@ noPreview=noPreview noResponse=noResponse noResultsFor=noResultsFor noRevisions=noRevisions +noSearchResults=noSearchResults normal=normal north=north notADiagramFile=notADiagramFile @@ -471,6 +487,8 @@ previousPage=previousPage print=print printAllPages=printAllPages procEng=procEng +project=project +priority=priority properties=properties publish=publish publishConfirmation=publishConfirmation @@ -483,6 +501,8 @@ rack=rack radialTree=radialTree readOnly=readOnly reconnecting=reconnecting +recentlyUpdated=recentlyUpdated +recentlyViewed=recentlyViewed redirectToNewApp=redirectToNewApp realtimeTimeout=realtimeTimeout redo=redo @@ -512,6 +532,7 @@ restoring=restoring retryingIn=retryingIn retryingLoad=retryingLoad retryingLogin=retryingLogin +revision=revision revisionHistory=revisionHistory right=right rightAlign=rightAlign @@ -563,6 +584,7 @@ solid=solid sourceSpacing=sourceSpacing south=south software=software +space=space spacing=spacing specialLink=specialLink standard=standard @@ -571,6 +593,7 @@ straight=straight strokeColor=strokeColor style=style subscript=subscript +summary=summary superscript=superscript support=support sysml=sysml @@ -646,4 +669,6 @@ nothingIsSelected=nothingIsSelected other=other softwaredesign=softwaredesign venndiagrams=venndiagrams +webEmailOrOther=webEmailOrOther +webLink=webLink wireframes=wireframes diff --git a/war/resources/dia_id.txt b/war/resources/dia_id.txt index bdf9efd5..7d51481f 100644 --- a/war/resources/dia_id.txt +++ b/war/resources/dia_id.txt @@ -8,6 +8,7 @@ addImages=Tambah gambar addImageUrl=Tambah URL gambar addLayer=Add Layer addProperty=Tambah properti +address=Address addToExistingDrawing=Tambah ke gambar yang ada addWaypoint=Tambah arah poin adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Rata alignment=Perataan allChangesLost=Semua perubahan akan hilang! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Sudut @@ -40,6 +43,7 @@ authorizing=Memberikan otorisasi automatic=Otomatis autosave=Simpan secara otomatis autosize=Ukuran Otomatis +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Perlebar/Persempit collapse-expand=Klik untuk persempit/perlebar\nShift-klik untuk memindahkan \nAlt-click untuk proteksi ukuran grup collapsible=Dapat dipersempit comic=Comic +comment=Comment commentsNotes=Komen/catatan connect=Hubungi connecting=Menghubungi @@ -273,6 +278,8 @@ forum=Forum Diskusi/Bantuan fromTemplate=Dari template fromTemplateUrl=Dari URL template fromText=Dari Teks +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Umum github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML teks iframe=IFrame ignore=Abaikan image=Gambar +imageUrl=Image URL images=Gambar-gambar +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Impor @@ -327,7 +336,8 @@ insertRowBefore=Sisipkan baris pada bagian atas insertRowAfter=Sisipan baris setelah insertText=Sisipkan teks inserting=Menyisipkan -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Nama tidak valid invalidOrMissingFile=File tidak valid atau hilang invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Bahasa leanMapping=Lean Mapping lastChange=Modifikasi () yang lalu lessThanAMinute=Kurang dari 1 menit +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=Menit minutes=Menit @@ -377,6 +389,8 @@ manual=Manual middle=Pertengahan misc=Lain-lain mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Lebih moreResults=Hasil Lainnya moreShapes=Bentuk Lainnya @@ -390,6 +404,7 @@ networking=Networking new=Baru newLibrary=Librari baru nextPage=Next Page +noAttachments=No attachments found noColor=Tidak ada warna noFiles=Tidak ada file noFileSelected=Tidak ada file yang dipilih @@ -402,6 +417,7 @@ noPreview=No preview noResponse=TIdak ada respon dari server noResultsFor=Tidak ada hasil untuk '{1}' noRevisions=Tidak ada revisi +noSearchResults=No search results found normal=normal north=Utara notADiagramFile=Bukan sebuah file diagram @@ -471,6 +487,8 @@ previousPage=Previous Page print=Cetak printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properti-properti publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Data struktur serara radial readOnly=Baca saja reconnecting=Menghubungi kembali +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=File ini dibuat atau diubah oleh draw.io pro. Anda akan diarahkan sekarang realtimeTimeout=Sepertinya Anda telah membuat beberapa perubahan selagi offline. Kami minta maaf, perubahan ini tidak dapat disimpan. redo=Ulangi @@ -512,6 +532,7 @@ restoring=Mengembalikan retryingIn=Mencoba lagi dalam () detik retryingLoad=Pemanggilan gagal. Mecoba lagi... retryingLogin=Waktu login habis. Mencoba lagi... +revision=Revision revisionHistory=revisi yang lalu right=Kanan rightAlign=Rata Kanan @@ -563,6 +584,7 @@ solid=Padat sourceSpacing=Spasi Sumber south=Selatan software=Software +space=Space spacing=Spasi specialLink=Tautan spesial standard=Standard @@ -571,6 +593,7 @@ straight=Lurus strokeColor=Warna Garis style=Gaya subscript=Subskrip +summary=Summary superscript=Superskrip support=Bantuan sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Tidak ada yang dipilih other=Lainnya softwaredesign=desain piranti lunak venndiagrams=Diagram Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Bingkai skema diff --git a/war/resources/dia_it.txt b/war/resources/dia_it.txt index 37626503..563138a1 100644 --- a/war/resources/dia_it.txt +++ b/war/resources/dia_it.txt @@ -8,6 +8,7 @@ addImages=Aggiungi immagini addImageUrl=Aggiungi immagine da URL addLayer=Aggiungi layer addProperty=Aggiungi proprietà +address=Address addToExistingDrawing=Aggiungi al disegno esistente addWaypoint=Aggiungi punto di passaggio adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Allinea alignment=Allineamento allChangesLost=Tutte le modifiche saranno perse! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angolo @@ -40,6 +43,7 @@ authorizing=Autorizzando automatic=Automatico autosave=Salvataggio automatico autosize=Ridimensionamento automatico +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Riduci/Espandi collapse-expand=Clicca per ridurre/espandere\Clicca e premi shift per muovere gli oggetti vicini\Clicca e premi alt per proteggere le dimensioni del gruppo collapsible=Riducibile comic=Comic +comment=Comment commentsNotes=Commenti/Note connect=Connetti connecting=Connessione @@ -273,6 +278,8 @@ forum=Forum di discussione/Aiuto fromTemplate=Da modello fromTemplateUrl=Da modello tramite URL fromText=Dal testo +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Generale github=GitHub @@ -306,7 +313,9 @@ htmlText=Testo HTML iframe=IFrame ignore=Ignora image=Immagine +imageUrl=Image URL images=Immagini +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importa @@ -327,7 +336,8 @@ insertRowBefore=Inserisci riga sopra insertRowAfter=Inserisci riga sotto insertText=Inserisci testo inserting=Inserimento in corso -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Nome non valido invalidOrMissingFile=File mancante o non valido invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Lingua leanMapping=Lean Mapping lastChange=Ultima modifica {1} fa lessThanAMinute=meno di un minuto +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minuto minutes=minuti @@ -377,6 +389,8 @@ manual=Manuale middle=Al centro misc=Miscellanea mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Altro moreResults=Altri risultati moreShapes=Altre forme @@ -390,6 +404,7 @@ networking=Networking new=Nuovo newLibrary=Nuova libreria nextPage=Next Page +noAttachments=No attachments found noColor=Nessun colore noFiles=Nessun file noFileSelected=Nessun file selezionato @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Nessuna risposta dal server noResultsFor=Nessun risultato per '{1}' noRevisions=Nessuna revisione +noSearchResults=No search results found normal=Normale north=Nord notADiagramFile=Non un file di diagramma @@ -471,6 +487,8 @@ previousPage=Previous Page print=Stampa printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Proprietà publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Albero radiale readOnly=Sola lettura reconnecting=Riconessione +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Questo file è stato creato o modificato in draw.io pro. Sarai reindirizzato ora. realtimeTimeout=Sembra che tu abbia fatto alcune modifiche mentre eri offline. Purtroppo queste modifiche non possono essere salvate. redo=Ripeti @@ -512,6 +532,7 @@ restoring=Recupero in corso retryingIn=Nuovo tentativo in {1} secondi retryingLoad=Caricamento non riuscito. Nuovo tentativo in corso... retryingLogin=Login time out. Nuovo tentativo in corso... +revision=Revision revisionHistory=Vedi modifiche precedenti right=A destra rightAlign=Allinea a destra @@ -563,6 +584,7 @@ solid=Solido sourceSpacing=Spaziatura dell'origine south=Sud software=Software +space=Space spacing=Spaziatura specialLink=Link speciale standard=Standard @@ -571,6 +593,7 @@ straight=Diritta strokeColor=Colore linea style=Stile subscript=Indice +summary=Summary superscript=Testo ingrandito support=Supporto sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Non è stato selezionato nulla other=Altro softwaredesign=Disegno del software venndiagrams=Diagrammi di Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Rappresentazione in 3D diff --git a/war/resources/dia_ja.txt b/war/resources/dia_ja.txt index 0fc055a6..0a009198 100644 --- a/war/resources/dia_ja.txt +++ b/war/resources/dia_ja.txt @@ -8,6 +8,7 @@ addImages=画像を追加 addImageUrl=画像のURLを追加 addLayer=レイヤーを追加 addProperty=属性を追加 +address=Address addToExistingDrawing=既存の図面に追加 addWaypoint=途中点を追加 adjustTo=Adjust to @@ -16,6 +17,8 @@ align=整列 alignment=文字配置 allChangesLost=すべての変更が失われます! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=アンドロイド angle=角度 @@ -40,6 +43,7 @@ authorizing=認証中... automatic=自動 autosave=自動保存 autosize=自動サイズ +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=折りたたむ / 拡げる collapse-expand=折りたたむ / 拡げる collapsible=折りたたみ可 comic=Comic +comment=Comment commentsNotes=コメント / 備考 connect=接続する connecting=接続中 @@ -273,6 +278,8 @@ forum=ヘルプ・ディスカッション fromTemplate=テンプレートから fromTemplateUrl=テンプレートURLから fromText=テキストから +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=一般 github=GitHub @@ -306,7 +313,9 @@ htmlText=HTMLテキスト iframe=iFrame ignore=無視する image=イメージ +imageUrl=Image URL images=イメージ +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=画像が大きすぎます imgur=Imgur import=インポート @@ -327,7 +336,8 @@ insertRowBefore=行を上に挿入 insertRowAfter=行を下に挿入 insertText=文字を挿入 inserting=挿入中 -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=無効な名前です invalidOrMissingFile=無効または不明なファイル invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=言語 leanMapping=Lean Mapping lastChange={1}保存されました。 lessThanAMinute=1分以内に +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=分前に minutes=分前に @@ -377,6 +389,8 @@ manual=マニュアル middle=上下中央揃え misc=その他 mockups=モックアップ +modificationDate=Modification date +modifiedBy=Modified by more=その他 moreResults=その他の結果 moreShapes=その他の図形 @@ -390,6 +404,7 @@ networking=新規 new=新規作成 newLibrary=新規ライブラリ nextPage=Next Page +noAttachments=No attachments found noColor=色なし noFiles=ファイルなし noFileSelected=ファイルが選ばれていません。 @@ -402,6 +417,7 @@ noPreview=No preview noResponse=サーバーの応答がありません。 noResultsFor={1}'での検索結果はありません noRevisions=改訂はありません。 +noSearchResults=No search results found normal=ノーマル north=上 notADiagramFile=ダイアグラムファイルではありません。 @@ -471,6 +487,8 @@ previousPage=Previous Page print=印刷 printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=属性 publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=放射状図 readOnly=読み取り専用 reconnecting=再接続中 +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=このファイルはdraw.io Proで作成されました。リダイレクトします。 realtimeTimeout=オフライン時にいくつかの修正があったようですが、それらは保存されません。申し訳ございません。 redo=やり直し @@ -512,6 +532,7 @@ restoring=復帰中 retryingIn={1}秒後に再試行します retryingLoad=ロードが失敗しました。再試行中。 retryingLogin=ログインがタイムアウトしました。再試行中。 +revision=Revision revisionHistory=改訂履歴 right=右 rightAlign=右揃え @@ -563,6 +584,7 @@ solid=実線 sourceSpacing=始点の間隔 south=下 software=ソフトウェア +space=Space spacing=間隔 specialLink=特別なリンク standard=Standard @@ -571,6 +593,7 @@ straight=直線 strokeColor=線の色 style=スタイル subscript=下付き文字 +summary=Summary superscript=上付き文字 support=サポート sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=何も選択されていません。 other=その他 softwaredesign=ソフトウェアデザイン venndiagrams=ベン図表 +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=ワイヤーフレーム diff --git a/war/resources/dia_kn.txt b/war/resources/dia_kn.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_kn.txt +++ b/war/resources/dia_kn.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_ko.txt b/war/resources/dia_ko.txt index 9439a7f1..cfd8df3e 100644 --- a/war/resources/dia_ko.txt +++ b/war/resources/dia_ko.txt @@ -8,6 +8,7 @@ addImages=이미지 추가 addImageUrl=이미지 URL 추가 addLayer=레이어 추가 addProperty=속성 추가 +address=Address addToExistingDrawing=기존 그림에 추가 addWaypoint=중간점 추가 adjustTo=Adjust to @@ -16,6 +17,8 @@ align=정렬 alignment=정렬 allChangesLost=모든 변경내용이 손실됩니다! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=각 @@ -40,6 +43,7 @@ authorizing=승인중 automatic=자동 autosave=자동 저장 autosize=자동 크기 +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=접기/펼치기 collapse-expand=클릭하여 접기/펼치기\nShift + 클릭하여 인접한 객체 이동\nAlt + 클릭하여 그룹 크기 유지 collapsible=접기가능 comic=Comic +comment=Comment commentsNotes=코멘트/메모 connect=연결 connecting=연결중 @@ -273,6 +278,8 @@ forum=토론/문의 포럼 fromTemplate=템플릿에서 fromTemplateUrl=템플릿 URL에서 fromText=텍스트에서 +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=일반 github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML 텍스트 iframe=IFrame ignore=무시 image=이미지 +imageUrl=Image URL images=이미지 +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=가져오기 @@ -327,7 +336,8 @@ insertRowBefore=위에 열 삽입 insertRowAfter=아래에 열 삽입 insertText=텍스트 삽입 inserting=삽입중 -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=유효하지 않은 이름 invalidOrMissingFile=유효하지 않거나 분실된 파일 invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=언어 leanMapping=Lean Mapping lastChange={1}전 마지막으로 변경됨 lessThanAMinute=방금 +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=분 minutes=분 @@ -377,6 +389,8 @@ manual=수동 middle=중간 misc=기타 mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=그 외 moreResults=그 외 결과 moreShapes=그 외 도형 @@ -390,6 +404,7 @@ networking=Networking new=새로 만들기 newLibrary=새로운 라이브러리 nextPage=Next Page +noAttachments=No attachments found noColor=색 없음 noFiles=파일 없음 noFileSelected=선택된 파일 없음 @@ -402,6 +417,7 @@ noPreview=No preview noResponse=서버로부터 응답 없음 noResultsFor={1}'에 대한 결과 없음 noRevisions=수정내용 없음 +noSearchResults=No search results found normal=정상 north=상 notADiagramFile=다이어그램 파일이 아님 @@ -471,6 +487,8 @@ previousPage=Previous Page print=인쇄 printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=속성 publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=방사형 트리 readOnly=읽기 전용 reconnecting=다시 연결중 +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=이 파일은 draw.io pro에서 생성 또는 수정되었습니다. 지금 페이지를 이동합니다. realtimeTimeout=일부 변경내용이 오프라인 상태에서 입력되었습니다. 변경내용을 저장할 수 없습니다. redo=다시 실행 @@ -512,6 +532,7 @@ restoring=복구중 retryingIn={1)초 후 재시도 예정 retryingLoad=불러오기 실패. 재시도중… retryingLogin=로그인 시간 초과. 재시도중… +revision=Revision revisionHistory=수정 내역 right=오른쪽 rightAlign=오른쪽 정렬 @@ -563,6 +584,7 @@ solid=실선 sourceSpacing=소스 간격 south=하 software=Software +space=Space spacing=간격 specialLink=특수 링크 standard=Standard @@ -571,6 +593,7 @@ straight=직선 strokeColor=선 색 style=스타일 subscript=아래 첨자 +summary=Summary superscript=위 첨자 support=고객지원 sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=아무것도 선택되지 않았습니다 other=기타 softwaredesign=소프트웨어 설계 venndiagrams=벤 다이어그램 +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=와이어 프레임 diff --git a/war/resources/dia_lt.txt b/war/resources/dia_lt.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_lt.txt +++ b/war/resources/dia_lt.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_lv.txt b/war/resources/dia_lv.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_lv.txt +++ b/war/resources/dia_lv.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_ml.txt b/war/resources/dia_ml.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_ml.txt +++ b/war/resources/dia_ml.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_mr.txt b/war/resources/dia_mr.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_mr.txt +++ b/war/resources/dia_mr.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_ms.txt b/war/resources/dia_ms.txt index b656b406..9cfc433e 100644 --- a/war/resources/dia_ms.txt +++ b/war/resources/dia_ms.txt @@ -8,6 +8,7 @@ addImages=Tambah imej-imej addImageUrl=Tambah URL imej addLayer=Tambah lapisan addProperty=Tambah sifat +address=Address addToExistingDrawing=Tambah ke lukisan yang sedia ada addWaypoint=Tambah titik arah adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Menjajar alignment=Penjajaran allChangesLost=Semua perubahan akan hilang! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Sudut @@ -40,6 +43,7 @@ authorizing=Mengizinkan automatic=Automatik autosave=Simpan secara automatik autosize=Mengubah saiz secara automatik +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Runtuhkan/Kembangkan collapse-expand=Klik untuk runtuhkan/kembangkan\nShift-klik untuk gerakkan jiran-jiran\nAlt-klik untuk melindungi saiz kumpulan collapsible=boleh diruntuhkan comic=Comic +comment=Comment commentsNotes=Ulasan-ulasan/Nota-nota connect=Menyambung connecting=Sedang menyambung @@ -273,6 +278,8 @@ forum=Perbincangan/Forum Bantuan fromTemplate=Daripada templat fromTemplateUrl=Daripada URL templat fromText=Daripada teks +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Umum github=GitHub @@ -306,7 +313,9 @@ htmlText=Teks HTML iframe=IFrame ignore=Abaikan image=Imej +imageUrl=Image URL images=Imej-imej +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Masukkan baris di atas insertRowAfter=Masukkan baris selepas insertText=Masukkan teks inserting=Memasukkan -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Nama yang tidak sah invalidOrMissingFile=Fail yang tidak sah atau hilang invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Bahasa leanMapping=Lean Mapping lastChange=Perubahan terakhir pada {1} yang lalu lessThanAMinute=Kurang daripada satu minit +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=Minit minutes=Minit @@ -377,6 +389,8 @@ manual=Manual middle=Tengah misc=Beraneka mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Lebih banyak moreResults=Lebih banyak keputusan moreShapes=Lebih banyak bentuk @@ -390,6 +404,7 @@ networking=Networking new=Baru newLibrary=Perpustakaan baru nextPage=Next Page +noAttachments=No attachments found noColor=Tiada warna noFiles=Tiada fail-fail noFileSelected=Tiada fail yang dipilih @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Tiada respons daripada pelayan noResultsFor=Tiada keputusan untuk '{1}' noRevisions=Tiada semakan +noSearchResults=No search results found normal=Normal north=Utara notADiagramFile=Bukan satu fail gambarajah @@ -471,6 +487,8 @@ previousPage=Previous Page print=Cetak printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Sifat-sifat publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Untuk dibaca sahaja reconnecting=Sambung semula +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Fail ini telah dicipta atau diubahsuai dalam draw.io pro. Anda akan diarahkan semula sekarang. realtimeTimeout=Ia kelihatan anda mempunyai perubahan semasa di luar talian. Kami meminta maaf bahawa perubahan ini tidak dapat disimpan. redo=Buat semula @@ -512,6 +532,7 @@ restoring=Mengembalikan retryingIn=Cuba lagi dalam {1} saat retryingLoad=Gagal untuk memuatkan, Sedang mencuba lagi... retryingLogin=Masa daftar masuk tamat. Mencuba lagi... +revision=Revision revisionHistory=Sejarah semakan right=kanan rightAlign=Jajaran kanan @@ -563,6 +584,7 @@ solid=Pepejal sourceSpacing=Jarak antara sumber south=Selatan software=Software +space=Space spacing=Jarak antara sasaran specialLink=Pautan istimewa standard=Standard @@ -571,6 +593,7 @@ straight=Lurus strokeColor=Warna garis style=Gaya subscript=Subskrip +summary=Summary superscript=Superskrip support=Sokongan sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Tiada apa-apa yang dipilih other=Lain-lain softwaredesign=Reka bentuk perisian venndiagrams=Gambarajah Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Bingkai kawat diff --git a/war/resources/dia_nl.txt b/war/resources/dia_nl.txt index 722e7996..92448d60 100644 --- a/war/resources/dia_nl.txt +++ b/war/resources/dia_nl.txt @@ -8,6 +8,7 @@ addImages=Afbeeldingen toevoegen addImageUrl=Afbeeldings-url toevoegen addLayer=Layer toevoegen addProperty=Eigenschap toevoegen +address=Address addToExistingDrawing=Toevoegen aan bestaande tekening addWaypoint=Waypoint toevoegen adjustTo=Adjust to @@ -16,6 +17,8 @@ align=In lijn brengen alignment=Uitlijnen allChangesLost=Alle veranderingen zullen verloren gaan! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Hoek @@ -40,6 +43,7 @@ authorizing=Autoriseren automatic=Automatisch autosave=Automatisch opslaan autosize=Automatisch Formaat +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Verkleinen/Vergroten collapse-expand=Verkleinen/Vergroten collapsible=Verkleinbaar comic=Comic +comment=Comment commentsNotes=Commentaar/Aantekeningen connect=Verbinden connecting=Bezig te verbinden @@ -273,6 +278,8 @@ forum=Discussie-/Helpforums fromTemplate=Van sjabloon fromTemplateUrl=Van template URL fromText=Van tekst +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Algemeen github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML tekst iframe=IFrame ignore=Negeren image=Afbeelding +imageUrl=Image URL images=Afbeeldingen +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importeren @@ -327,7 +336,8 @@ insertRowBefore=Voeg rij boven toe insertRowAfter=Voeg rij na toe insertText=Text invoegen inserting=Invoegen -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Ongeldige naam invalidOrMissingFile=Onjuist of niet gevonden bestand invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Taal leanMapping=Lean Mapping lastChange=Laatste verandering {1} minuten geleden lessThanAMinute=Minder dan een minuut +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=Minuut minutes=Minuten @@ -377,6 +389,8 @@ manual=Handleiding middle=Midden misc=Diverse mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Meer moreResults=Meer resultaten moreShapes=Meer vormen @@ -390,6 +404,7 @@ networking=Networking new=Nieuw newLibrary=Nieuwe bibliotheek nextPage=Next Page +noAttachments=No attachments found noColor=Geen kleur noFiles=Geen bestanden noFileSelected=Geen bestand geselecteerd @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Geen reactie van de server noResultsFor=Geen resultaten voor '{1}' noRevisions=Geen revisies +noSearchResults=No search results found normal=Normaal north=Noord notADiagramFile=Geen diagrambestand @@ -471,6 +487,8 @@ previousPage=Previous Page print=Afdrukken printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Eigenschappen publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radiale boom readOnly=Alleen-Lezen reconnecting=Bezig met opnieuw te verbinden +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Dit bestand is gemaakt of aangepast in draw.io. U wordt nu doorgestuurd. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Herhalen @@ -512,6 +532,7 @@ restoring=Herstellen retryingIn=Opnieuw proberen in {1} seconde(n) retryingLoad=Laden mislukt. Opnieuw proberen... retryingLogin=Login verlopen. Opnieuw proberen... +revision=Revision revisionHistory=Revisiegeschiedenis right=Rechts rightAlign=Rechts uitlijnen @@ -563,6 +584,7 @@ solid=Solide sourceSpacing=Bron Interlinie south=Zuid software=Software +space=Space spacing=Interlinie specialLink=Speciale link standard=Standard @@ -571,6 +593,7 @@ straight=Recht strokeColor=Lijn Kleur style=Stijl subscript=Subscript +summary=Summary superscript=Superscript support=Help sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Niets geselecteerd other=Overig softwaredesign=Softwareontwerp venndiagrams=Venn diagrammen +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Draadframes diff --git a/war/resources/dia_no.txt b/war/resources/dia_no.txt index 0b7b009b..aa81bb00 100644 --- a/war/resources/dia_no.txt +++ b/war/resources/dia_no.txt @@ -8,6 +8,7 @@ addImages=Legg til bilder addImageUrl=Legg til bilde-URL addLayer=Legg til lag addProperty=Legg til egenskap +address=Address addToExistingDrawing=Legg til i eksisterende tegning addWaypoint=Legg til støttepunkt adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Juster alignment=Justering allChangesLost=Alle endringer vil gå tapt allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Vinkel @@ -40,6 +43,7 @@ authorizing=Autoriserer automatic=Automatisk autosave=Automatisk lagring autosize=Tilpass størrelse +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Minimer/utvid collapse-expand=Klikk for å minimere/utvide\nShift-klikk for å flytte nærliggende\nAlt-klikk for å bevare gruppestørrelse collapsible=Kan minimeres comic=Comic +comment=Comment commentsNotes=Kommentarer/notater connect=Koble til connecting=Kobler til @@ -273,6 +278,8 @@ forum=Diskusjon/hjelpeforum fromTemplate=Fra mal fromTemplateUrl=Fra URL for mal fromText=Fra tekst +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Generell github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML-tekst iframe=iFrame ignore=Ignorer image=Bilde +imageUrl=Image URL images=Bilder +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importer @@ -327,7 +336,8 @@ insertRowBefore=Sett inn rad ovenfor insertRowAfter=Sett inn rad nedenfor insertText=Sett inn tekst inserting=Setter inn -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Ugyldig navn invalidOrMissingFile=Ugyldig eller manglende fil invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Språk leanMapping=Lean-mapping lastChange=Siste endring for {1} siden lessThanAMinute=mindre enn ett minutt +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minutt minutes=minutter @@ -377,6 +389,8 @@ manual=Manual middle=Midten misc=Øvrig mockups=Testmodeller +modificationDate=Modification date +modifiedBy=Modified by more=Mer moreResults=Flere treff moreShapes=Flere former @@ -390,6 +404,7 @@ networking=Nettverksbygging new=Ny newLibrary=Nytt bibliotek nextPage=Next Page +noAttachments=No attachments found noColor=Ingen farge noFiles=Ingen filer noFileSelected=Ingen fil valgt @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Ingen respons fra server noResultsFor=Ingen treff for '{1}' noRevisions=Ingen revisjoner +noSearchResults=No search results found normal=Normal north=Nord notADiagramFile=Ikke en diagramfil @@ -471,6 +487,8 @@ previousPage=Previous Page print=Skriv ut printAllPages=Print All Pages procEng=Prosessteknikk +project=Project +priority=Priority properties=Egenskaper publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Reol radialTree=Radialt tre readOnly=Skrivebeskyttet reconnecting=Kobler til på nytt +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Denne filen ble opprettet eller endret i draw.io pro. Du blir nå omdirigert dit. realtimeTimeout=Det ser ut til at du har foretatt endringer mens du var offline. Vi beklager, men disse endringene kan ikke lagres. redo=Gjør om @@ -512,6 +532,7 @@ restoring=Gjenoppretter retryingIn=Prøver igjen om {1} sekund(er) retryingLoad=Lasting feilet. Prøver på nytt... retryingLogin=Innloggingen ble tidsavbrutt. Prøver på nytt... +revision=Revision revisionHistory=Revideringshistorikk right=Høyre rightAlign=Høyrejuster @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Kildeavstand south=Sør software=Programvare +space=Space spacing=Avstand specialLink=Spesiell lenke standard=Standard @@ -571,6 +593,7 @@ straight=Rett strokeColor=Linjefarge style=Stil subscript=Senket skrift +summary=Summary superscript=Hevet skrift support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Ingenting er valgt other=Annet softwaredesign=Programvaredesign venndiagrams=Venn-diagram +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Trådmodeller diff --git a/war/resources/dia_pl.txt b/war/resources/dia_pl.txt index 96883b19..02e9631b 100644 --- a/war/resources/dia_pl.txt +++ b/war/resources/dia_pl.txt @@ -8,6 +8,7 @@ addImages=Dodaj obrazy addImageUrl=Dodaj adres URL obrazu addLayer=Dodaj warstwę addProperty=Dodaj atrybut +address=Address addToExistingDrawing=Dodaj do istniejącego rysunku addWaypoint=Dodaj punkt trasy adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Wyrównaj alignment=Wyrównywanie allChangesLost=Wszystkie zmiany zostaną utracone! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Kąt @@ -40,6 +43,7 @@ authorizing=Autoryzacja automatic=Automatycznie autosave=Automatyczny zapis autosize=Automatycznie dopasowanie rozmiaru +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Zwiń/Rozwiń collapse-expand=Kliknij, aby zwinąć/rozwinąć\nkliknij prztrzymując klawisz Shift, aby przesunąć sąsiadujące \nkliknij przytrzymując klawisz Alt, aby zabezpieczyć rozmiar grupy collapsible=Zwijalny comic=Comic +comment=Comment commentsNotes=Komentarze/uwagi connect=Połącz connecting=Łączenie @@ -273,6 +278,8 @@ forum=Dyskusja/Forum wsparcia fromTemplate=Z szablonu fromTemplateUrl=Z adresu URL szablonu fromText=Z tekstu +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Ogólny github=GitHub @@ -306,7 +313,9 @@ htmlText=Tekst w HTML iframe=IFrame ignore=Ignoruj image=Obraz +imageUrl=Image URL images=Obrazy +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Obraz zbyt duży imgur=Imgur import=Importuj @@ -327,7 +336,8 @@ insertRowBefore=Wstaw wiersz u góry insertRowAfter=Wstaw wiersz u dołu insertText=Wstaw tekst inserting=Wstawianie -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Nieprawidłowa nazwa invalidOrMissingFile=Nieprawidłowy lub brakujący plik invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Język leanMapping=Lean Mapping lastChange=Ostatnia zmiana {1} temu lessThanAMinute=poniżej minuty +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minutę minutes=minut @@ -377,6 +389,8 @@ manual=Ręczny middle=Środek misc=Różne mockups=Modele +modificationDate=Modification date +modifiedBy=Modified by more=Więcej moreResults=Więcej wyników moreShapes=Więcej kształtów @@ -390,6 +404,7 @@ networking=Sieci komputerowe new=Nowy newLibrary=Nowa biblioteka nextPage=Next Page +noAttachments=No attachments found noColor=Brak koloru noFiles=Brak plików noFileSelected=Nie wybrano żadnego pliku @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Brak odpowiedzi z serwera noResultsFor=Brak wyników dla '{1}' noRevisions=Brak zmian +noSearchResults=No search results found normal=Normalny north=Północ notADiagramFile=To nie jest plik diagramu @@ -471,6 +487,8 @@ previousPage=Previous Page print=Drukuj printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Właściwości publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Szafa serwerowa radialTree=Drzewo radialne readOnly=Tylko do odczytu reconnecting=Łączę ponownie +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Ten plik został utworzony w programie draw.io pro. Teraz nastąpi przekierowanie. realtimeTimeout=Wygląda na to, że dokonał-eś/aś kilku zmian w trybie offline. Bardzo nam przykro, ale te zmiany nie mogą zostać zapisane. redo=Powtórz @@ -512,6 +532,7 @@ restoring=Przywracanie retryingIn=Ponawiam w ciągu {1} sekund/y retryingLoad=Błąd ładowania. Ponawiam... retryingLogin=Upłynął czas logowania. Ponawiam... +revision=Revision revisionHistory=Historia zmian right=Do prawej rightAlign=Wyrównaj do prawej @@ -563,6 +584,7 @@ solid=Ciągła sourceSpacing=Rozmieszczenie źródła south=Południe software=Oprogramowanie +space=Space spacing=Rozmieszczenie specialLink=Łącze specjalne standard=Standardowe @@ -571,6 +593,7 @@ straight=Prosty strokeColor=Kolor linii style=Styl subscript=Indeks dolny +summary=Summary superscript=Indeks górny support=Wsparcie sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nic nie wybrano other=Inne softwaredesign=Projekt oprogramowania venndiagrams=Diagramy Venna +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Projekty ramowe diff --git a/war/resources/dia_pt-br.txt b/war/resources/dia_pt-br.txt index 16338d62..4f68a15b 100644 --- a/war/resources/dia_pt-br.txt +++ b/war/resources/dia_pt-br.txt @@ -8,6 +8,7 @@ addImages=Adicionar imagens addImageUrl=Adicionar URL da imagem addLayer=Adicionar camada addProperty=Adicionar propriedade +address=Address addToExistingDrawing=Adicionar ao desenho existente addWaypoint=Adicionar ponto de notificação adjustTo=Ajustar para @@ -16,6 +17,8 @@ align=Alinhar alignment=Alinhamento allChangesLost=Todas as modificações serão perdidas! allPages=Todas as páginas +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Ângulo @@ -40,6 +43,7 @@ authorizing=Autorizando automatic=Automático autosave=Salvamento automático autosize=Auto dimensionar +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Recolher/Expandir collapse-expand=Recolher/Expandir collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comentários/Notas connect=Conectar connecting=Conetando @@ -273,6 +278,8 @@ forum=Fóruns Discussão/Ajuda fromTemplate=Do modelo fromTemplateUrl=Do modelo de URL fromText=Do texto +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Geral github=GitHub @@ -306,7 +313,9 @@ htmlText=Texto HTML iframe=IFrame ignore=Ignorar image=Imagem +imageUrl=Image URL images=Imagens +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importar @@ -327,7 +336,8 @@ insertRowBefore=Inserir linha acima insertRowAfter=Inserir linha abaixo insertText=Inserir texto inserting=Inserindo -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Nome inválido invalidOrMissingFile=Arquivo inválido ou em falta invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Linguagem leanMapping=Lean Mapping lastChange=Última mudança {1} atrás lessThanAMinute=menos de um minuto +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minuto minutes=minutos @@ -377,6 +389,8 @@ manual=Manual middle=Meio misc=Miscelânea mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Mais moreResults=Mais resultados moreShapes=Mais formas @@ -390,6 +404,7 @@ networking=Networking new=Novo newLibrary=Nova biblioteca nextPage=Next Page +noAttachments=No attachments found noColor=Sem cor noFiles=Nenhum arquivo noFileSelected=Nenhum arquivo selecionado @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Sem resposta do servidor noResultsFor=Sem resultados para '{1}' noRevisions=Nenhuma revisão +noSearchResults=No search results found normal=Normal north=Norte notADiagramFile=Não é um arquivo de diagrama @@ -471,6 +487,8 @@ previousPage=Página anterior print=Imprimir printAllPages=Imprimir todas as páginas procEng=Proc. Eng. +project=Project +priority=Priority properties=Propriedades publish=Publicar publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Árvore radial readOnly=Somente leitura reconnecting=Reconetando +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Esse arquivo foi criado ou modificado em draw.io pro. Você será redirecionado agora. realtimeTimeout=Parece que você fez algumas mudanças enquanto estava offline. Infelizmente essas mudanças não podem ser salvas. redo=Refazer @@ -512,6 +532,7 @@ restoring=Restaurando retryingIn=Tentando novamente em {1} segundo(s) retryingLoad=Carregamento falhou. Tentanto novamente... retryingLogin=Tempo de login esgotado. Tentando novamente... +revision=Revision revisionHistory=Histórico de revisões right=Direita rightAlign=Alinhar à direita @@ -563,6 +584,7 @@ solid=Sólido sourceSpacing=Espaçamento entre fontes south=Sul software=Software +space=Space spacing=Espaçamento specialLink=Link especial standard=Standard @@ -571,6 +593,7 @@ straight=Reto strokeColor=Cor da linha style=Estilo subscript=Subescrever +summary=Summary superscript=Sobrescrever support=Ajuda sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nenhuma seleção other=Outros softwaredesign=Design de software venndiagrams=Diagramas de Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_pt.txt b/war/resources/dia_pt.txt index 6aa889f5..80593fde 100644 --- a/war/resources/dia_pt.txt +++ b/war/resources/dia_pt.txt @@ -8,6 +8,7 @@ addImages=Adicionar imagens addImageUrl=Adicionar URL da imagem addLayer=Adicionar camada addProperty=Adicionar propriedade +address=Address addToExistingDrawing=Adicionar ao desenho existente addWaypoint=Adicionar ponto de notificação adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Alinhar alignment=Alinhamento allChangesLost=Todas as alterações serão perdidas! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Ângulo @@ -40,6 +43,7 @@ authorizing=A autorizar automatic=Automático autosave=Guardar automáticamente autosize=Dimensionar automáticamente +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Reduzir/Ampliar collapse-expand=Clique para reduzir/ampliar\ Prima Shift para mover os vizinhos n\Prima Alt para proteger o tamanho do grupo collapsible=Reduzível comic=Comic +comment=Comment commentsNotes=Comentários/Notas connect=Conetar connecting=A conetar @@ -273,6 +278,8 @@ forum=Fóruns de discussão e ajuda fromTemplate=Do modelo fromTemplateUrl=Do modelo de URL fromText=Do texto +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Geral github=GitHub @@ -306,7 +313,9 @@ htmlText=Texto HTML iframe=IFrame ignore=Ignorar image=Imagem +imageUrl=Image URL images=Imagens +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importar @@ -327,7 +336,8 @@ insertRowBefore=Inserir linha acima insertRowAfter=Inserir linha abaixo insertText=Inserir texto inserting=A inserir -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Nome inválido invalidOrMissingFile=Ficheiro inválido ou em falta invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Linguagem leanMapping=Lean Mapping lastChange=A última alteração foi realizada {1} atrás lessThanAMinute=menos de um minuto +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minuto minutes=minutos @@ -377,6 +389,8 @@ manual=Manual middle=Meio misc=Diversos mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Mais moreResults=Mais resultados moreShapes=Mais formas @@ -390,6 +404,7 @@ networking=Networking new=Novo newLibrary=Nova biblioteca nextPage=Next Page +noAttachments=No attachments found noColor=Sem cor noFiles=Nenhum ficheiro noFileSelected=Nenhum ficheiro selecionado @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Sem resposta do servidor noResultsFor=Sem resultados para '{1}' noRevisions=Nenhuma revisão +noSearchResults=No search results found normal=Normal north=Norte notADiagramFile=Não é um ficheiro de diagrama @@ -471,6 +487,8 @@ previousPage=Previous Page print=Imprimir printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Propriedades publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Árvore radial readOnly=Somente de leitura reconnecting=A reconetar +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Este ficheiro foi criado ou modificado em draw.io pro. Será redirecionado. realtimeTimeout=Parece que realizou algumas alterações enquanto estava desconetado. Lamentoamos, mas estas alterações não podem ser guardadas. redo=Refazer @@ -512,6 +532,7 @@ restoring=A restaurar retryingIn=A tentar novamente em {1} segundo(s) retryingLoad=Erro no carregamento. A tentar novamente... retryingLogin=Tempo de inicio da sessão esgotado. A tentar novamente... +revision=Revision revisionHistory=Histórico de revisões right=Direita rightAlign=Alinhar à direita @@ -563,6 +584,7 @@ solid=Sólido sourceSpacing=Espaçamento entre fontes south=Sul software=Software +space=Space spacing=Espaçamento specialLink=Link especial standard=Standard @@ -571,6 +593,7 @@ straight=Reto strokeColor=Cor da linha style=Estilo subscript=Subescrever +summary=Summary superscript=Sobrescrever support=Ajuda sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nenhuma seleção other=Outros softwaredesign=Design de software venndiagrams=Diagramas de Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_ro.txt b/war/resources/dia_ro.txt index 0a951c9f..73014448 100644 --- a/war/resources/dia_ro.txt +++ b/war/resources/dia_ro.txt @@ -8,6 +8,7 @@ addImages=Adaugă imagini addImageUrl=Adaugă imagine URL addLayer=Adaugă layer addProperty=Adaugă proprietate +address=Address addToExistingDrawing=Adaugă la desenul existent addWaypoint=Adaugă reper adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Aliniază alignment=Aliniere allChangesLost=Toate modificările vor fi pierdute! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Unghi @@ -40,6 +43,7 @@ authorizing=Se autorizează automatic=Automat autosave=Salvare automată autosize=Auto-dimensionare +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Micșorează/Extinde collapse-expand= Apasă pentru a micşora/extinde\nShift-apasă pentru a muta vecinii \nAlt-apasă pentru a păstra mărimea grupului collapsible=Reductibil comic=Comic +comment=Comment commentsNotes=Comentarii/Note connect=Conectare connecting=În curs de conectare @@ -273,6 +278,8 @@ forum=Forumuri de Discuții/Ajutor fromTemplate=Din template fromTemplateUrl=Din URL template fromText=Din text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=Text HTML iframe=IFrame ignore=Ignoră image=Imagine +imageUrl=Image URL images=Imagini +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importare @@ -327,7 +336,8 @@ insertRowBefore=Inserează rând deasupra insertRowAfter=Inserează rând dedesubt insertText= Inserează text inserting=Se inserează -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Nume invalid invalidOrMissingFile=Fișier invalid sau inexistent invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Limbă leanMapping=Lean Mapping lastChange=Ultima modificare {1} în urmă lessThanAMinute=mai puţin de un minut +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minut minutes=minute @@ -377,6 +389,8 @@ manual=Manual middle=Mijloc misc=Diverse mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Mai mult moreResults=Mai multe rezultate moreShapes=Mai multe forme @@ -390,6 +404,7 @@ networking=Networking new=Nou newLibrary=Bibliotecă nouă nextPage=Next Page +noAttachments=No attachments found noColor=Fără culoare noFiles=Nu există fișiere noFileSelected=Nu a fost selectat nici un fișier @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Nici un răspuns de la server noResultsFor=Nu există rezultate pentru '{1}' noRevisions=Nici o revizie +noSearchResults=No search results found normal=Normal north=Nord notADiagramFile=Nu e un fişier de diagramă @@ -471,6 +487,8 @@ previousPage=Previous Page print=Imprimare printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Caracteristici publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Arbore radial readOnly=Doar pentru citit reconnecting=Reconectare +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Acest fişier a fost creat sau modificat cu draw.io pro. Acum vei fi redirecţionat. realtimeTimeout=Se pare că ai făcut nişte modificări în timp ce erai offline. Ne pare rău, aceste modificări nu pot fi salvate. redo=Refacere @@ -512,6 +532,7 @@ restoring=Se recuperează retryingIn=Reincercare în {1} secunde retryingLoad=Încercarea a eşuat. Se încearcă din nou... retryingLogin=Timpul de logare a expirat. Se încearcă din nou... +revision=Revision revisionHistory=Istoric revizii right=Dreapta rightAlign=Aliniere la dreapta @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Spațierea sursei south=Sud software=Software +space=Space spacing=Spațiere specialLink=Link special standard=Standard @@ -571,6 +593,7 @@ straight=Drept strokeColor=Culoarea liniei style=Stil subscript=Indice +summary=Summary superscript=Text mărit support=Suport sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nu ai selectat nimic other=Alt softwaredesign=Design software venndiagrams=Diagrame Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframe-uri diff --git a/war/resources/dia_ru.txt b/war/resources/dia_ru.txt index b28af193..e7bffda8 100644 --- a/war/resources/dia_ru.txt +++ b/war/resources/dia_ru.txt @@ -8,6 +8,7 @@ addImages=Добавить картинку addImageUrl=Добавить ссылку на картинку addLayer=Добавить слой addProperty=Добавить свойство +address=Address addToExistingDrawing=Добавить к существующему документу addWaypoint=Добавить путевую точку adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Выровнять alignment=Выравнивание allChangesLost=Все изменения будут потеряны! allPages=Все страницы +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Угол @@ -40,6 +43,7 @@ authorizing=Авторизация automatic=Автоматически autosave=Автосохранение autosize=Авторазмер +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Свернуть/Развернуть collapse-expand=Свернуть/Развернуть\nShift+щелчок - перемещение соседних элементов\nAlt+щелчок - сохранить размер группы collapsible=Сворачиваемый comic=Comic +comment=Comment commentsNotes=Комментарии/Заметки connect=Соединить connecting=Подключение @@ -273,6 +278,8 @@ forum=Обсуждение/Справочный форум fromTemplate=Из шаблона fromTemplateUrl=Из шаблона по ссылке fromText=Из текста +fromUrl=From URL +fromThisPage=From this page fullscreen=Полный экран general=Общие github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML текст iframe=IFrame ignore=Игнорировать image=Изображение +imageUrl=Image URL images=Изображения +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Изображение слишком большое imgur=Imgur import=Импортировать @@ -328,6 +337,7 @@ insertRowAfter=Вставить строку снизу insertText=Текст inserting=Вставка invalidFilename=Название диаграммы не должно сорежать следующие символы: \ / | : ; { < & + ? = +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Некорректное имя invalidOrMissingFile=Файл поврежден или отсутствует invalidPublicUrl=Некорректный адрес @@ -342,8 +352,10 @@ language=Язык leanMapping=Lean Mapping lastChange=Последнее изменение {1} назад lessThanAMinute=меньше минуты +licensingError=Licensing Error licenseHasExpired=Лицензия на {1} истекла {2}. Нажмите сюда. licenseWillExpire=Лицензия на {1} истекает {2}. Нажмите сюда. +linkText=Link Text list=List minute=минуту minutes=минут @@ -377,6 +389,8 @@ manual=Вручную middle=Посередине misc=Дополнительные mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Еще moreResults=Другие результаты moreShapes=Другие фигуры @@ -390,6 +404,7 @@ networking=Сеть new=Создать newLibrary=Новая библиотека nextPage=Следующая страница +noAttachments=No attachments found noColor=Нет цвета noFiles=Нет файлов noFileSelected=Файлы не выделены @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Нет ответа от сервера noResultsFor=Нет результатов для '{1}' noRevisions=Нет ревизий +noSearchResults=No search results found normal=Обычный north=Север notADiagramFile=Не файл диаграммы @@ -471,6 +487,8 @@ previousPage=Предыдущая страница print=Печать printAllPages=Пачать всех страниц procEng=Техн. процессы +project=Project +priority=Priority properties=Свойства publish=Опубликовать publishConfirmation=Диаграмма будет опубликована на igmur.com @@ -483,6 +501,8 @@ rack=Стойки и оборудование radialTree=Радиальное дерево readOnly=Только для чтения reconnecting=Восстановление соединения +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Файл был создан или изменен в более новой версии редактора. Выполняется перенаправление realtimeTimeout=Похоже, вы внесли некоторые правки, пока находились не в сети. Приносим свои извинения, эти изменения не могут быть сохранены. redo=Вернуть @@ -512,6 +532,7 @@ restoring=Восстанавливается retryingIn=Повторная попытка через {1} с retryingLoad=Загрузка не удалась. Пробуем еще раз... retryingLogin=Время входа истекло. Пробуем еще раз... +revision=Revision revisionHistory=История изменений right=Справа rightAlign=По правому краю @@ -563,6 +584,7 @@ solid=Сплошная линия sourceSpacing=От начального узла south=Юг software=Software +space=Space spacing=Интервал specialLink=Специальная ссылка standard=Standard @@ -571,6 +593,7 @@ straight=По прямой strokeColor=Цвет линии style=Стиль subscript=Нижний индекс +summary=Summary superscript=Верхний индекс support=Поддержка sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Ничего не выбрано other=Другое softwaredesign=Проектирование ПО venndiagrams=Диаграммы Венна +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Макеты интерфейсов (UI) diff --git a/war/resources/dia_sk.txt b/war/resources/dia_sk.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_sk.txt +++ b/war/resources/dia_sk.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_sl.txt b/war/resources/dia_sl.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_sl.txt +++ b/war/resources/dia_sl.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_sr.txt b/war/resources/dia_sr.txt index 9c8e9d47..96df28d3 100644 --- a/war/resources/dia_sr.txt +++ b/war/resources/dia_sr.txt @@ -8,6 +8,7 @@ addImages=Dodaj slike addImageUrl=Dodaj URL slike addLayer=Dodaj sloj addProperty=Dodaj osobinu +address=Address addToExistingDrawing=Dodaj na postojeći crtež addWaypoint=Dodaj waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Poravnaj alignment=Poravnanje allChangesLost=Sve promene će biti izgubljene! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Ugao @@ -40,6 +43,7 @@ authorizing=Autorizacija automatic=Automatski autosave=Auto-snimanje autosize=Automatska veličina +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Spusti/proširi collapse-expand=Spusti/proširi collapsible=Kolapsirajući comic=Comic +comment=Comment commentsNotes=Komentari/Beleške connect=Poveži connecting=Povezivanje @@ -273,6 +278,8 @@ forum=Forum fromTemplate=Od šablona fromTemplateUrl=Prema URL-u šablona fromText=Od teksta +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Opšti github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML tekst iframe=IFrame ignore=Ignoriši image=Slika +imageUrl=Image URL images=Slike +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -328,6 +337,7 @@ insertRowAfter=Umetni red ispod insertText=Insert Text inserting=Umetanje invalidFilename=Imena dijagrama ne smeju sadržati sledeće znake : \ / | : ; { < & + ? = +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Neispravno ime invalidOrMissingFile=Neispravan ili nepostojeći dokument invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Jezik leanMapping=Lean Mapping lastChange=Poslednja promena pre {1} lessThanAMinute=manje od minut +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minut minutes=minuta @@ -377,6 +389,8 @@ manual=Ručno middle=Sredina misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Više moreResults=Još rezultata moreShapes=Još oblika @@ -390,6 +404,7 @@ networking=Networking new=Novi newLibrary=Nova biblioteka nextPage=Next Page +noAttachments=No attachments found noColor=Bez boje noFiles=Nema fajlova noFileSelected=Nijedan izabrani dokument @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Nema odgovora od servera noResultsFor=Nema više rezultata za {1} noRevisions=Nema revizija +noSearchResults=No search results found normal=Normal north=Sever notADiagramFile=Nije dijagram dokument @@ -471,6 +487,8 @@ previousPage=Previous Page print=Štampa printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Osobine publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radijalno drvo readOnly=Samo čitanje reconnecting=Rekonekcija +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Ovaj dokument je kreiran ili menjan u draw.io pro. Sada ćete biti preusmereni. realtimeTimeout=Izgleda da ste napravili nekoliko promena dok ste bili bez konekcije. Žao nam je, ove promene se ne mogu sačuvati. redo=Ponovi @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Ponovni pokušaj za {1} sekundi retryingLoad=Učitavanje neuspešno. Ponovni pokušaj... retryingLogin=Vreme logovanja isteklo. Ponovni pokušaj... +revision=Revision revisionHistory=Istorija revizije right=Desno rightAlign=Desno poravnanje @@ -563,6 +584,7 @@ solid=Puna linija sourceSpacing=Proređivanje izvora south=Jug software=Software +space=Space spacing=Proređivanje specialLink=Posebna veza standard=Standard @@ -571,6 +593,7 @@ straight=Pravo strokeColor=Boja linije style=Stil subscript=Potpis +summary=Summary superscript=Natpis support=Podrška sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Ništa nije izabrano other=Ostali softwaredesign=Dizajn softvera venndiagrams=Venovi dijagrami +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Žičani modeli diff --git a/war/resources/dia_sv.txt b/war/resources/dia_sv.txt index 1a6a3c0f..d9c40fcf 100644 --- a/war/resources/dia_sv.txt +++ b/war/resources/dia_sv.txt @@ -8,6 +8,7 @@ addImages=Lägg till bilder addImageUrl=Lägg till URL för bild addLayer=Lägg till lager addProperty=Lägg till egenskap +address=Address addToExistingDrawing=Lägg till på befintlig ritning addWaypoint=Lägg till vägpunkt adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Justera alignment=Justering allChangesLost=Alla ändringar kommer gå förlorade! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Vinkel @@ -40,6 +43,7 @@ authorizing=Auktorisering automatic=Automatisk autosave=Spara automatiskt autosize=Storleksändra automatiskt +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Minimera/Expandera collapse-expand=Klicka för att Minimera/Expandera\nShift-klick för att flytta intilliggande \nAlt-klick för att slydda gruppstorleken collapsible=Minimerbar comic=Comic +comment=Comment commentsNotes=Kommentarer/Anteckningar connect=Anslut connecting=Ansluter @@ -273,6 +278,8 @@ forum=Diskussion/Hjälpforum fromTemplate=Från mall fromTemplateUrl=Från URL för mall fromText=Från text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Allmänt github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML text iframe=iFrame ignore=Ignorera image=Bild +imageUrl=Image URL images=Bilder +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Importera @@ -327,7 +336,8 @@ insertRowBefore=Infoga rad ovanför insertRowAfter=Infoga rad efter insertText=Infoga text inserting=Infogar -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Felaktigt namn invalidOrMissingFile=Felaktig eller saknad fil invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Språk leanMapping=Lean Mapping lastChange=Senaste ändring {1} sedan lessThanAMinute=mindre än en minut +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minut minutes=minuter @@ -377,6 +389,8 @@ manual=Handbok middle=Mitten misc=Övrigt mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Mer moreResults=Mer resultat moreShapes=Mer former @@ -390,6 +404,7 @@ networking=Networking new=Ny newLibrary=Nytt bibliotek nextPage=Next Page +noAttachments=No attachments found noColor=Ingen färg noFiles=Inga filer noFileSelected=Inga filer har valts @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Inget svar från server noResultsFor=Inga resultat för '{1}' noRevisions=Inga revisioner +noSearchResults=No search results found normal=Normal north=Norr notADiagramFile=Inte en diagramfil @@ -471,6 +487,8 @@ previousPage=Previous Page print=Skriv ut printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Egenskaper publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radiellt träd readOnly=Skrivskyddad reconnecting=Återansluter +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Denna fil skapades eller modifierades i draw.io pro. Du kommer nu omdirigeras dit. realtimeTimeout=Det ser ut som du gjort några ändringar medan du varit offline. Vi beklagar men dessa ändringar kan inte sparas. redo=Gör om @@ -512,6 +532,7 @@ restoring=Återställer retryingIn=Försöker igen om {1} sekunder retryingLoad=Kunde inte ladda, försöker igen… retryingLogin=Det tog för lång tid att logga in, försöker igen… +revision=Revision revisionHistory=Revideringshistorik right=Höger rightAlign=Högerjustera @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Källavstånd south=Söder software=Software +space=Space spacing=Avstånd specialLink=Särskild länk standard=Standard @@ -571,6 +593,7 @@ straight=Rak strokeColor=Linjefärg style=Stil subscript=Nedsänkt text +summary=Summary superscript=Upphöjd text support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Inget har valts other=Annat softwaredesign=Mjukvarudesign venndiagrams=Venn diagram +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Trådmodeller diff --git a/war/resources/dia_sw.txt b/war/resources/dia_sw.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_sw.txt +++ b/war/resources/dia_sw.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_ta.txt b/war/resources/dia_ta.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_ta.txt +++ b/war/resources/dia_ta.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_te.txt b/war/resources/dia_te.txt index 54d30d35..4bc728bc 100644 --- a/war/resources/dia_te.txt +++ b/war/resources/dia_te.txt @@ -8,6 +8,7 @@ addImages=Add Images addImageUrl=Add Image URL addLayer=Add Layer addProperty=Add Property +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Align alignment=Alignment allChangesLost=All changes will be lost! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Angle @@ -40,6 +43,7 @@ authorizing=Authorizing automatic=Automatic autosave=Autosave autosize=Autosize +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Collapse/Expand collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=Collapsible comic=Comic +comment=Comment commentsNotes=Comments/Notes connect=Connect connecting=Connecting @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=From Template fromTemplateUrl=From Template URL fromText=From Text +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=General github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=Ignore image=Image +imageUrl=Image URL images=Images +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Import @@ -327,7 +336,8 @@ insertRowBefore=Insert Row Above insertRowAfter=Insert Row After insertText=Insert Text inserting=Inserting -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Invalid name invalidOrMissingFile=Invalid or missing file invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Language leanMapping=Lean Mapping lastChange=Last change {1} ago lessThanAMinute=less than a minute +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=minute minutes=minutes @@ -377,6 +389,8 @@ manual=Manual middle=Middle misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=More moreResults=More Results moreShapes=More Shapes @@ -390,6 +404,7 @@ networking=Networking new=New newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=No Color noFiles=No Files noFileSelected=No file selected @@ -402,6 +417,7 @@ noPreview=No preview noResponse=No response from server noResultsFor=No results for '{1}' noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=North notADiagramFile=Not a diagram file @@ -471,6 +487,8 @@ previousPage=Previous Page print=Print printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Properties publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=Redo @@ -512,6 +532,7 @@ restoring=Restoring retryingIn=Retrying in {1} second(s) retryingLoad=Load failed. Retrying... retryingLogin=Login time out. Retrying... +revision=Revision revisionHistory=Revision History right=Right rightAlign=Right Align @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=Source Spacing south=South software=Software +space=Space spacing=Spacing specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=Line Color style=Style subscript=Subscript +summary=Summary superscript=Superscript support=Support sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=Other softwaredesign=Software Design venndiagrams=Venn Diagrams +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Wireframes diff --git a/war/resources/dia_th.txt b/war/resources/dia_th.txt index 2b34b9ef..9305bea9 100644 --- a/war/resources/dia_th.txt +++ b/war/resources/dia_th.txt @@ -8,6 +8,7 @@ addImages=เพิ่มรูปภาพ addImageUrl=เพิ่ม URL รูปภาพ addLayer=เพิ่มชั้น addProperty=เพิ่มคุณสมบัติ +address=Address addToExistingDrawing=เพิ่มเข้าสู่การวาดปัจจุบัน addWaypoint=เพิ่มการวางตำแหน่ง adjustTo=Adjust to @@ -16,6 +17,8 @@ align=จัดเรียงแนวเดียวกัน alignment=การจัดเรียงแนวเดียวกัน allChangesLost=การเปลี่ยนแปลงทั้งหมดจะสูญหาย allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=มุม @@ -40,6 +43,7 @@ authorizing=การอนุญาต automatic=อัตโนมัติ autosave=บันทึกโดยอัตโนมัติ autosize=ขนาดอัติโนมัติ +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=ย่อ/ขยาย collapse-expand=คลิกเพื่อย่อ/ขยาย\n กดชิฟแล้วคลิกเพื่อย้ายเพื่อนบ้าน\n กดอัลเทอเนท แล้วคลิกเพื่อป้องกันขนาดของกลุ่ม collapsible=ที่สามารถย่อได้ comic=Comic +comment=Comment commentsNotes=หมายเหตุ/บันทึกข้อความ connect=เชื่อมต่อ connecting=กำลังเชื่อมต่อ @@ -273,6 +278,8 @@ forum=พูดคุย/ฟอรั่มให้ความช่วยเ fromTemplate=จากรูปแบบ fromTemplateUrl=จากรูปแบบ URL fromText=จากข้อความ +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=ทั่วไป github=GitHub @@ -306,7 +313,9 @@ htmlText=ข้อความ HTML iframe=IFrame ignore=ละเลย image=รูปภาพ +imageUrl=Image URL images=รูปภาพหลายรูป +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=นำเข้า @@ -327,7 +336,8 @@ insertRowBefore=แทรกบรรทัดข้างบน insertRowAfter=แทรกบรรทัดข้างล่าง insertText=แทรกข้อความ inserting=การแทรก -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=ชื่อที่ใช้ไม่ได้ invalidOrMissingFile=ไฟล์ไม่ถูกต้องหรือไฟล์สูญหาย invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=ภาษา leanMapping=Lean Mapping lastChange=การเปลี่ยนแปลงครั้งสุดท้าย เมื่อ {1} ที่แล้ว lessThanAMinute=น้อยกว่าหนึ่งนาที +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=นาที minutes=นาที @@ -377,6 +389,8 @@ manual=คู่มือ middle=กลาง misc=เบ็ดเตล็ด mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=เพิ่มเต็ม moreResults=ผลลัพธ์เพิ่มเติม moreShapes=รูปร่างเพิ่มเติม @@ -390,6 +404,7 @@ networking=Networking new=ใหม่ newLibrary=ที่จัดเก็บเอกสารใหม่ nextPage=Next Page +noAttachments=No attachments found noColor=ไม่มีสี noFiles=ไม่มีไฟล์ noFileSelected=ไม่มีไฟล์ที่เลือก @@ -402,6 +417,7 @@ noPreview=No preview noResponse=ไม่มีการตอบรับจากเซิฟเวอร์ noResultsFor=ไม่มีผลลัพธ์สำหรับ '{1}' noRevisions=ไม่มีการปรับปรุง +noSearchResults=No search results found normal=ปกติ north=ทิศเหนือ notADiagramFile=ไม่ใช่ไฟล์แผนภาพ @@ -471,6 +487,8 @@ previousPage=Previous Page print=พิมพ์ printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=คุณสมบัติ publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=กลุ่มเส้นรัศมี readOnly=อ่านเท่านั้น reconnecting=เชื่อมต่ออีกครั้ง +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=ไฟล์นี้ถูกสร้างและปรับปรุงใน draw.io โปร คุณจะถูกนำไปที่นั่นเดี๋ยวนี้ realtimeTimeout=คุณได้ทำการเปลี่ยนแปลงบางอย่างในขณะที่ออฟไลน์ เราต้องขออภัยด้วย การเปลี่ยนแปลงเหล่านี้ไม่สามารถถูกบันทึกได้ redo=ทำอีกครั้ง @@ -512,6 +532,7 @@ restoring=กำลังฟื้นฟู retryingIn=ลองใหม่อีกครั้งใน {1} วินาที retryingLoad=โหลดไม่สำเร็จ กำลังลองใหม่ retryingLogin=เกินกำหนดเวลาการเข้าใช้งาน กำลังลองใหม่ +revision=Revision revisionHistory=ประวัติการปรับปรุง right=ขวา rightAlign=จัดเรียงด้านขวา @@ -563,6 +584,7 @@ solid=แข็ง sourceSpacing=เว้นวรรคแหล่งข้อมูล south=ทิศใต้ software=Software +space=Space spacing=การเว้นวรรค specialLink=Link พิเศษ standard=Standard @@ -571,6 +593,7 @@ straight=ตรง strokeColor=เส้นสี style=รูปแบบ subscript=ดรรชนีล่าง +summary=Summary superscript=ดรรชนีบน support=ช่วยเหลือ sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=ไม่ได้เลือกอ่ะไร other=อื่นๆ softwaredesign=การออกแบบซอฟท์แวร์ venndiagrams=แผนภาพ Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=แบบร่างแผนงาน diff --git a/war/resources/dia_tr.txt b/war/resources/dia_tr.txt index f2556474..8e83bae9 100644 --- a/war/resources/dia_tr.txt +++ b/war/resources/dia_tr.txt @@ -8,6 +8,7 @@ addImages=Resim ekle addImageUrl=Resim URL'si ekle addLayer=Katman ekle addProperty=Özellik ekle +address=Address addToExistingDrawing=Mevcut çizime ekle addWaypoint=Ara nokta ekle adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Hizala alignment=Hizalama allChangesLost=Tüm değişiklikler kaybolacaktır! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Açı @@ -40,6 +43,7 @@ authorizing=Yetkilendiriliyor automatic=Otomatik autosave=Otomatik kaydet autosize=Otomatik boyutlandır +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Daralt/Genişlet collapse-expand=Daraltmak/genişletmek için tıklayın\nKomşuları taşımak için Shift ile tıklayın\nGrup boyutlarını korumak için Alt ile tıklayın collapsible=Daraltılabilir comic=Comic +comment=Comment commentsNotes=Yorumlar/Notlar connect=Bağlan connecting=Bağlanıyor @@ -273,6 +278,8 @@ forum=Tartışma/Yardım Forumları fromTemplate=Şablondan fromTemplateUrl=Şablon URL'sinden fromText=Metinden +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Genel github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML metin iframe=IFrame ignore=Göz ardı et image=Resim +imageUrl=Image URL images=Resimler +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=İçe aktar @@ -327,7 +336,8 @@ insertRowBefore=Üste satır ekle insertRowAfter=Alta satır ekle insertText=Metin ekle inserting=Ekleniyor -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Geçersiz isim invalidOrMissingFile=Geçersiz veya olmayan dosya invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Dil leanMapping=Lean Mapping lastChange=Son değişiklik {1} önce lessThanAMinute=bir dakikadan az +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=dakika minutes=dakika @@ -377,6 +389,8 @@ manual=Elle middle=Orta misc=Çeşitli mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Daha moreResults=Daha fazla sonuç moreShapes=Daha fazla şekil @@ -390,6 +404,7 @@ networking=Networking new=Yeni newLibrary=Yeni kütüphane nextPage=Next Page +noAttachments=No attachments found noColor=Renk yok noFiles=Dosya yok noFileSelected=Hiç dosya seçilmedi @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Sunucudan yanıt yok noResultsFor='{1}' için sonuç yok noRevisions=Düzenleme yok +noSearchResults=No search results found normal=Normal north=Kuzey notADiagramFile=Diyagram dosyası değil @@ -471,6 +487,8 @@ previousPage=Previous Page print=Yazdır printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Özellikler publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Dairesel ağaç readOnly=Salt okunur reconnecting=Yeniden bağlanıyor +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Dosya draw.io pro sürümüyle oluşturulmuş veya değiştirilmiş. Şimdi yönlendirileceksiniz. realtimeTimeout=Görünüşe göre çevrimdışıyken bazı değişiklikler yapmışsınız. Üzgünüz, bu değişiklikler kaydedilemez. redo=Yinele @@ -512,6 +532,7 @@ restoring=Eski Haline Alınıyor retryingIn={1} saniye içinte tekrar denenecek retryingLoad=Yükleme başarısız. Tekrar deneniyor... retryingLogin=Giriş zaman-aşımı. Tekrar deneniyor... +revision=Revision revisionHistory=Düzeltme geçmişi right=Sağ rightAlign=Sağa hizala @@ -563,6 +584,7 @@ solid=Katı sourceSpacing=Kaynak boşluğu south=Güney software=Software +space=Space spacing=Boşluk specialLink=Özel link standard=Standard @@ -571,6 +593,7 @@ straight=Düz strokeColor=Çizgi rengi style=Stil subscript=Alt-simge +summary=Summary superscript=Üst-simge support=Destek sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Hiçbir şey seçilmedi other=Diğer softwaredesign=Yazılım tasarımı venndiagrams=Venn diyagramları +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Tel-kafesler diff --git a/war/resources/dia_uk.txt b/war/resources/dia_uk.txt index d83fc162..9407aad9 100644 --- a/war/resources/dia_uk.txt +++ b/war/resources/dia_uk.txt @@ -8,6 +8,7 @@ addImages=Додати малюнки addImageUrl=Додати URL-адресу малюнка addLayer=Додати шар addProperty=Додати властивість +address=Address addToExistingDrawing=Додати до існуючого документа addWaypoint=Додати шляхову точку adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Вирівняти alignment=Вирівнювання allChangesLost=Всі зміни будуть втрачені! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Кут @@ -40,6 +43,7 @@ authorizing=Авторизація automatic=Автоматично autosave=Автозбереження autosize=Авторозмір +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Згорнути/Розгорнути collapse-expand=Клікніть щоб згорнути/розгорнути\nклікніть з затиснутою клавішею Shift, щоб перемістити сусідів \nклікніть з затиснутою клавішею Alt, щоб обмежити розмір групи collapsible=Згортуване comic=Comic +comment=Comment commentsNotes=Коментарі/Примітки connect=Підключити connecting=Підключаю @@ -273,6 +278,8 @@ forum=Обговорення/Довідковий форум fromTemplate=З шаблону fromTemplateUrl=З шаблону за URL-адресою fromText=З тексту +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Загальний github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML текст iframe=IFrame ignore=Ігнорувати image=Зображення +imageUrl=Image URL images=Зображення +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Імпорт @@ -327,7 +336,8 @@ insertRowBefore=Вставити рядок зверху insertRowAfter=Вставити рядок внизу insertText=Вставити текст inserting=Вставляю -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Недійсне ім'я invalidOrMissingFile=Файл недійсний або відсутній invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Мова leanMapping=Lean Mapping lastChange=Остання зміна {1} тому lessThanAMinute=менше хвилини +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=хвилину minutes=хвилин @@ -377,6 +389,8 @@ manual=Вручну middle=Посередині misc=Різне mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Більше moreResults=Більше результатів moreShapes=Більше форм @@ -390,6 +404,7 @@ networking=Networking new=Створити newLibrary=Нова бібліотека nextPage=Next Page +noAttachments=No attachments found noColor=Немає кольору noFiles=Немає файлів noFileSelected=Файли не виділені @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Сервер не відповідає noResultsFor=Немає результатів для'{1}' noRevisions=Немає ревізій +noSearchResults=No search results found normal=Звичайний north=Північ notADiagramFile=Не є файлом діаграми @@ -471,6 +487,8 @@ previousPage=Previous Page print=Роздрукувати printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Властивості publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Радіальне дерево readOnly=Лише для читання reconnecting=Повторне підключення +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Цей файл був створений чи змінений на draw.io pro. Зараз ви будете переміщені. realtimeTimeout=Схоже, що ви внесли деякі зміни, перебуваючи поза мережею. Вибачте, але ці зміни не можуть бути збережені. redo=Повторити @@ -512,6 +532,7 @@ restoring=Відновлюю retryingIn=Повторна спроба через {1} секунд(у) retryingLoad=Не вдалося завантажити. Спробуємо ще раз... retryingLogin=Час для входу закінчився. Спробуємо ще раз... +revision=Revision revisionHistory=Історія змін right=Справа rightAlign=Вирівнювання по правому краю @@ -563,6 +584,7 @@ solid=Суцільний sourceSpacing=Від початкового вузла south=Південь software=Software +space=Space spacing=Інтервал specialLink=Спеціальне посилання standard=Standard @@ -571,6 +593,7 @@ straight=Прямий strokeColor=Колір лінії style=Стиль subscript=Нижній індекс +summary=Summary superscript=Верхній індекс support=Підтримка sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Нічого не вибрано other=Інше softwaredesign=Розробка програмного забезпечення venndiagrams=Діаграми Венна +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Макети інтерфейсу diff --git a/war/resources/dia_vi.txt b/war/resources/dia_vi.txt index fe7f9b8c..bee1d903 100644 --- a/war/resources/dia_vi.txt +++ b/war/resources/dia_vi.txt @@ -8,6 +8,7 @@ addImages=Thêm ảnh addImageUrl=Thêm đường dẫn ảnh addLayer=Thêm lớp addProperty=Thêm thuộc tính +address=Address addToExistingDrawing=Thêm vào bản vẽ sẵn có addWaypoint=Thêm điểm tham chiếu adjustTo=Adjust to @@ -16,6 +17,8 @@ align=Căn lề alignment=Sự căn lề allChangesLost=Tất cả thay đổi sẽ mất! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=Góc @@ -40,6 +43,7 @@ authorizing=Đang cấp phép automatic=Tự động autosave=Tự động lưu autosize=Tự động chọn kích thước +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=Thu gọn/Mở rộng collapse-expand=Nhấp chuột để thu gọn/mở rộng\nShift - nhấp chuột để di chuyển hàng xóm\nAtl - nhấp chuột để bảo vệ kích thước nhóm collapsible=Có thể thu gọn comic=Comic +comment=Comment commentsNotes=Bình luận/Ghi chú connect=Kết nối connecting=Đang kết nối @@ -273,6 +278,8 @@ forum=Thảo luận/Diễn đàn trợ giúp fromTemplate=Từ bản mẫu fromTemplateUrl=Từ đường dẫn bản mẫu fromText=Từ văn bản +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=Chung github=GitHub @@ -306,7 +313,9 @@ htmlText=Văn bản HTML iframe=IFrame ignore=Bỏ qua image=Ảnh +imageUrl=Image URL images=Ảnh +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=Nhập @@ -327,7 +336,8 @@ insertRowBefore=Chèn dòng trên insertRowAfter=Chèn dòng dưới insertText=Chèn văn bản inserting=Đang chèn -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=Tên không hợp lệ invalidOrMissingFile=Tập tin không hợp lệ hay thiếu invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=Ngôn ngữ leanMapping=Lean Mapping lastChange=Thay đổi lần cuối {1} trước lessThanAMinute=ít hơn một phút +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=phút minutes=phút @@ -377,6 +389,8 @@ manual=Hướng dẫn middle=Giữa misc=Linh tinh mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=Xem thêm moreResults=Xem thêm kết quả moreShapes=Xem thêm hình @@ -390,6 +404,7 @@ networking=Networking new=Mới newLibrary=Thư viện mới nextPage=Next Page +noAttachments=No attachments found noColor=Không có màu noFiles=Không có tập tin noFileSelected=Không có tập tin được chọn @@ -402,6 +417,7 @@ noPreview=No preview noResponse=Không có phản hồi từ máy chủ noResultsFor=Không có kết quả cho '{1}' noRevisions=Không có sửa đổi +noSearchResults=No search results found normal=Bình thường north=Bắc notADiagramFile=Không phải tập tin biểu đồ @@ -471,6 +487,8 @@ previousPage=Previous Page print=In printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=Thuộc tính publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=Cây hướng tâm readOnly=Chỉ đọc reconnecting=Đang kết nối lại +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=Tập tin này được tạo hay sửa đổi trong draw.io pro. Bạn sẽ được chuyển hướng ngay bây giờ. realtimeTimeout=Có vẻ như bạn đã làm một số thay đổi khi đăng xuất. Xin lỗi, những thay đổi này không thể được lưu. redo=Làm lại @@ -512,6 +532,7 @@ restoring=Đang phục hồi retryingIn=Thử lại trong {1} giây retryingLoad=Tải thất bại. Đang thử lại... retryingLogin=Đăng nhập quá giờ. Đang thử lại... +revision=Revision revisionHistory=Lịch sử sửa đổi right=Phải rightAlign=Căn lề phải @@ -563,6 +584,7 @@ solid=Rắn sourceSpacing=Khoảng cách nguồn south=Nam software=Software +space=Space spacing=Khoảng cách specialLink=Đường dẫn đặc biệt standard=Standard @@ -571,6 +593,7 @@ straight=Thẳng strokeColor=Màu hàng style=Phong cách subscript=Chỉ số dưới +summary=Summary superscript=Chỉ số trên support=Hỗ trợ sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Không có gì được chọn other=Khác softwaredesign=Thiết kế phần mềm venndiagrams=Biểu đồ Venn +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=Khung dây diff --git a/war/resources/dia_zh-tw.txt b/war/resources/dia_zh-tw.txt index 8ddb22ba..216afbee 100644 --- a/war/resources/dia_zh-tw.txt +++ b/war/resources/dia_zh-tw.txt @@ -8,6 +8,7 @@ addImages=新增圖片 addImageUrl=新增圖片超連結 addLayer=新增圖層 addProperty=新增屬性 +address=Address addToExistingDrawing=Add to Existing Drawing addWaypoint=Add Waypoint adjustTo=Adjust to @@ -16,6 +17,8 @@ align=對齊 alignment=對齊 allChangesLost=所有的修改將不會被儲存! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=角度 @@ -40,6 +43,7 @@ authorizing=授權中 automatic=自動偵測(瀏覽器) autosave=自動儲存 autosize=自動調整大小 +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=收起/展開 collapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size collapsible=可收展 comic=Comic +comment=Comment commentsNotes=備註 connect=連線 connecting=連線中 @@ -273,6 +278,8 @@ forum=Discussion/Help Forums fromTemplate=從樣板開啟 fromTemplateUrl=從樣板連結 fromText=從文字 +fromUrl=From URL +fromThisPage=From this page fullscreen=全螢幕 general=通用 github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML Text iframe=IFrame ignore=忽略 image=圖片 +imageUrl=Image URL images=圖片 +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=圖片太大 imgur=Imgur import=輸入 @@ -327,7 +336,8 @@ insertRowBefore=插入上方列 insertRowAfter=插入下方列 insertText=插入文字 inserting=正在插入 -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=無效名稱 invalidOrMissingFile=無效或遺失的檔案 invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=語言 leanMapping=Lean Mapping lastChange={1}之前修改 lessThanAMinute=一分鐘內 +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=分鐘 minutes=分鐘 @@ -377,6 +389,8 @@ manual=手冊 middle=垂直置中 misc=其他 mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=更多 moreResults=更多結果 moreShapes=更多圖形 @@ -390,6 +404,7 @@ networking=Networking new=新增 newLibrary=New Library nextPage=Next Page +noAttachments=No attachments found noColor=無顏色 noFiles=無檔案 noFileSelected=未選擇檔案 @@ -402,6 +417,7 @@ noPreview=No preview noResponse=伺服器無回應 noResultsFor=沒有找到 ‘{1}’ noRevisions=No revisions +noSearchResults=No search results found normal=Normal north=向上漸層 notADiagramFile=不是圖表檔案 @@ -471,6 +487,8 @@ previousPage=Previous Page print=列印 printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=屬性 publish=發佈 publishConfirmation=此會將您的圖表發佈至 imgur.com @@ -483,6 +501,8 @@ rack=Rack radialTree=Radial Tree readOnly=Read-only reconnecting=Reconnecting +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now. realtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved. redo=重作 @@ -512,6 +532,7 @@ restoring=Restoring retryingIn={1}秒後重試 retryingLoad=載入失敗,重試中... retryingLogin=登入超時,重試中... +revision=Revision revisionHistory=版本歷史 right=右 rightAlign=向右對齊 @@ -563,6 +584,7 @@ solid=實線 sourceSpacing=來源間距 south=向下漸層 software=軟體 +space=Space spacing=間距 specialLink=Special Link standard=Standard @@ -571,6 +593,7 @@ straight=Straight strokeColor=邊線顏色 style=物件樣式 subscript=下標 +summary=Summary superscript=上標 support=協助 sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=未選擇 other=其他 softwaredesign=軟體設計 venndiagrams=文氏圖 +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=線框圖 diff --git a/war/resources/dia_zh.txt b/war/resources/dia_zh.txt index 6c712135..7de04eaa 100644 --- a/war/resources/dia_zh.txt +++ b/war/resources/dia_zh.txt @@ -8,6 +8,7 @@ addImages=添加图像 addImageUrl=添加图像链接 addLayer=添加图层 addProperty=添加属性 +address=Address addToExistingDrawing=添加到当前的图形 addWaypoint=添加航点 adjustTo=Adjust to @@ -16,6 +17,8 @@ align=对齐 alignment=对齐 allChangesLost=所有修改都不会被保存! allPages=All Pages +allProjects=All Projects +allSpaces=All Spaces allTags=All Tags android=Android angle=角度 @@ -40,6 +43,7 @@ authorizing=授权中 automatic=自动 autosave=自动保存 autosize=自动调整大小 +attachments=Attachments aws=AWS aws3d=AWS 3D azure=Azure @@ -98,6 +102,7 @@ collapseExpand=收起/展开 collapse-expand=收起/展开 collapsible=收展开关 comic=Comic +comment=Comment commentsNotes=备注 connect=连接 connecting=连接 @@ -273,6 +278,8 @@ forum=讨论组/帮助论坛 fromTemplate=从模板 fromTemplateUrl=从模板链接 fromText=从文本 +fromUrl=From URL +fromThisPage=From this page fullscreen=Fullscreen general=通用 github=GitHub @@ -306,7 +313,9 @@ htmlText=HTML文本 iframe=IFrame ignore=忽略 image=图像 +imageUrl=Image URL images=图像 +imagePreviewError=This image couldn't be loaded for preview. Please check the URL. imageTooBig=Image too big imgur=Imgur import=导入 @@ -327,7 +336,8 @@ insertRowBefore=上面插入行 insertRowAfter=下面插入行 insertText=Insert Text inserting=正在插入 -invalidFilename=Diagram names must not contain the following characters : \ / | : ; { } < > & + ? = " +invalidFilename=Diagram names must not contain the following characters: \ / | : ; { } < > & + ? = " +invalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. invalidName=无效名 invalidOrMissingFile=无效或丢失的文件 invalidPublicUrl=Invalid public URL @@ -342,8 +352,10 @@ language=语言 leanMapping=Lean Mapping lastChange={1}以前最新更改 lessThanAMinute=一分钟以内 +licensingError=Licensing Error licenseHasExpired=The license for {1} has expired on {2}. Click here. licenseWillExpire=The license for {1} will expire on {2}. Click here. +linkText=Link Text list=List minute=分钟 minutes=分钟 @@ -377,6 +389,8 @@ manual=手册 middle=垂直居中 misc=Misc mockups=Mockups +modificationDate=Modification date +modifiedBy=Modified by more=更多 moreResults=更多结果 moreShapes=更多图库 @@ -390,6 +404,7 @@ networking=Networking new=新建 newLibrary=新建库 nextPage=Next Page +noAttachments=No attachments found noColor=无颜色 noFiles=无文件 noFileSelected=没有选择文件 @@ -402,6 +417,7 @@ noPreview=No preview noResponse=服务器无响应 noResultsFor=没有找到'{1}' noRevisions=No revisions +noSearchResults=No search results found normal=正常 north=向上 notADiagramFile=不是图表文件 @@ -471,6 +487,8 @@ previousPage=Previous Page print=打印 printAllPages=Print All Pages procEng=Proc. Eng. +project=Project +priority=Priority properties=属性 publish=Publish publishConfirmation=This will make your diagram public on imgur.com. @@ -483,6 +501,8 @@ rack=Rack radialTree=径向树 readOnly=只读 reconnecting=重新连接 +recentlyUpdated=Recently Updated +recentlyViewed=Recently Viewed redirectToNewApp=文件是由draw.io pro所创建或修改的,正在重定向。 realtimeTimeout=似乎你在离线状态下做过更改。对不起,这些更改不能保存。 redo=重做 @@ -512,6 +532,7 @@ restoring=Restoring retryingIn={1}秒后重试 retryingLoad=载入失败,正在重试... retryingLogin=登录超时,正在重试... +revision=Revision revisionHistory=Revision History right=右 rightAlign=右对齐 @@ -563,6 +584,7 @@ solid=Solid sourceSpacing=始端间距 south=向下 software=Software +space=Space spacing=间距 specialLink=特殊链接 standard=Standard @@ -571,6 +593,7 @@ straight=直线 strokeColor=线颜色 style=样式 subscript=下标 +summary=Summary superscript=上标 support=支持 sysml=SysML @@ -646,4 +669,6 @@ nothingIsSelected=Nothing is selected other=其他 softwaredesign=软件设计图 venndiagrams=文氏图 +webEmailOrOther=Web, email or any other internet address +webLink=Web Link wireframes=线框图 diff --git a/war/templates/softwaredesign/database.xml b/war/templates/softwaredesign/database.xml index 041276f1..a1bac543 100644 --- a/war/templates/softwaredesign/database.xml +++ b/war/templates/softwaredesign/database.xml @@ -1 +1 @@ -<mxfile type="device" userAgent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io"><diagram>7V1dt6I60v41+1IXyId42fvr9Flr+l0906fnzFyyla28jcZBdn+cX38qWEGTIIRtUJDohQpYCSR5nlSlqnLnPKx//paG29UnsoiSu4m1+HnnPN5NJhNrGsAHPfJrf8S2/On+yDKNF3jscOBL/FfELsSjb/Ei2nEXZoQkWbzlD87JZhPNM+5YmKbkB3/ZK0n4UrfhEkvEAumBL/MwYfU4HP0zXmSr/dFg4h+Of4zi5YqVbPuz/ZmXcP5tmZK3DZZ3N3Fe89f+9DpksvJynSd4iikhIIZ+W/98iBL6JNkzwsrtsl+sYnfO/SpbJ/DDhq/56ecTf8Z7qP4z3EoabfA29sWdlIe3+D1M3pjAiZ/Af++3XDn+/97oHd2vw3QZb+6cD3DW2kLngCLhCdCDo4xs9ydcdiKLfmajMImX+I85VCtKj84tojlJwywmeAE84yhN4g0UCtewQuHbEj/zqu2ylGyW7Oi/CNQRz8Cd8iePTsAN8cdWKZRIn41wvPmdJ9ErXELPBHhGrPrviwey3oabX6yQF6Hw/wvXx3chVbaNSj1Gu3kab/PHf+GiH9IozKLFh+zSBX/dLq5T8NMmfEmiRXmxwqD+HqVZDMj1YT90HvORdY8D6XFf1j2Bq14T8gOOvMYwqp37V7LJEHdtCgz093O4jhMK2R+j5HtEpfKIQYfLt+iBJATGJZTtWJbj+D49swoXuXR6GS3h6KJH98l+9rAI+c8SCiFu0fuKkFHyQ4hKv0VkHWUpDA4Lzzq2NbaOXigAuWdmj333cNJ192d/HGDd9hFnV8eQzsA3RCpZFuUeMBK+IEyWQyaT0WfIFLCos6hpQNGAogHFk6BooVBERceajN3Z4YUT9npU9DSgIruZPqMiqAqbRQj41v3JpFzVi4xXaRp7qYIHxgT/hr6++LrJYhhjhoMMB3WHg1yBguDfRxQ0CdzxEQPNAkeRg9jBszgI69JnDvq6A5Hd5x+hmoZ7dJf5j3CXXaPcp3V4ec6hvekaN/s53O1+kPQE9BuONRx7HY4NpjOORdFIjxzrOsiVPKmWmcs4ig10UCzyed8p9nNK/h/WmHqydHC6xhci3uuUird8+YJPz24MVAlQ5YEp3goOwIOmpGKNmDfUe6omKUsHVuGqQK9NUklM26YHBimxokYlMAsTZsI60IUJ3ijkef545kurFrUk4OkgASSkPpPARwLG4LD7q7W/L+SaXooGrrQeMjAeeAQwNtxjuKfLCxK8BjLhFZCiyMssSGBhfSafP+J19GUVRX1QQsrqamjghkwzhguMDax7DGTbUyQLJB2fmdprWYb98SyWwTCMm2CZj+StD+vfpfUVXfqvSEjXWqGnN/wASLkktA9fvPRw9+3Spf7zLQQ3rezid9sF+v8UbiBo6uLdzMwCDB834mPXFtbTFeNFoKk00DOuefWZnh/J/G3dj4WokqoaFbAlB+XnlKyH4xnNetYDwBZ87AZGe4b1Os56kyqnsSCwx8BxB0OoooKqxWnsBoLMZYNXVwnwal5T13EBGRjvfsnCNLvGMtzTZmFW/67AerJRSUX5NuxY46eI/Mc8VByb81BBi+pF9EPmzd13822J2a/L1ttrWSmN56Cx1RlcPmgt7qTKddD1vLK4llq1hYHqWcB8AykNigWoB7LLHvYl9Gh1rbTWF1zKutLaXd1tGxSps/jPbD4ViuKEbqYhE4pzA1HovUKL64GEmcuZuZxB4QKFZ4IrLp+zLwh4+zRCbe1UztUxlbuBsGU0+/QKmqvqfOtBxGYS1xA+fKa0FXM4PpeQImDMdODFDYQOQ8eHft8jzw0cqddy4LgiVFTfsgEKMeJHDPnh02DOJv57lrq14MYNRJtSJ9pj35bOGomu4Ow7MIXvT5Je/BFfDYbNyrrR5g3LVthUQRPnaRfdumo1eC3MWhZKK7QZZAD4QPeJgV9kG0E73cOR49bY0SHOLlnE4ZpsFn+saIfan2LXuuzAc96qjxYVtYDNZLAskmYrsiSbMHk6HK3ehoVt3ALhQnO2Hw0+PyhoCasM3OYCtLTKRmJtUhWmjP/6TGI6tTz5l32d8KrjvWLYH1mHYH88JWh/I5KgvGmLqqu1thzSZo3HwH9Ci6fRLv6LDmpsJGF8lg/iJHyJkvtiT5+jsYO7+vDDmMptZYjW9BjW43E7JLzLwwZC6iN5hJ0vjRKYG37nt0NS6DisEKG5yevrjq6OndfScnSEvMfRqWZO9yBj2pl7cGc2s8fgusjhJiyKaWl3t0xT6hae570Gpgv765uiO8uUyaE73mMturOmgLglxzvl0l3pm32ibZsJVGUGH/KVNhCrjydceVYwOJ5gI6kzPBGMZ/ahK/g2Irxe+JAnCAOjDX3NrqfVRx5L14bDfmR7QkAKtpnejlAWXdktHol+xtl/sB3p9//Sf44hMd3ZFFOmQDSkmKlfBd1uVQq+8n7QUKAqxcwguqmBWI0UIwcvDY9icJB1lGICwZvfGVvO4aw9bQN3WIcbMAFp6xSaCKgV/dQrcwLut92pVDNBlFOlDQeceTg4Fnaia84bTSWqEofnVhGHJFYfcXiyH+jgiIONno4SB0tHrxcxZF+zgTGDvlbXZLgUW52PMRlBjlAuPTXbTlhvtyhzKeqmopJfrVVRQSw/R1GBvZsByHlSqEyfd6IvqIhRXhFxqLJTI0wjo8g20+ExCg6jzjDKSPBanPJxJyz7k14skc2eQ6MYbd1ATy8QN5bX08xliT17rnvgLXFMgL1ZnQlKULf5WoiSGGUmcKl9qkaYRiaQrZ7DYwLsSre9Pu7J5sehQb22dtYL9YX20Eaz+2UBSx3TFjZwN7m6MJ7Sxs1/U5WBNmNTXmABWufYpFxxFZqH42mVG1p5UzeVqLxe7lTZpCSx+njDl5XQwfEGG1qd1SBGs+nYO86I0cb6hS/rkgPjFX39QNf6BZ+hyhVF6Gn32/OjLeMOloRBmTsqV6298oiiBkRyjnjlJXKmbxSOez6f81Pw49NIK8ZdtxhYt62O+IN319XXzl1e9p6WJbHprP6RL1Fw+sd56xUs/PssbUR0teV1h0BUGxVIpKFE5RXySu9dSaw+2pjKSu7gaIMNtM7RRmHe4OcmRYizXriR9dKB0Yq+ftAnbQQMRzenjeCxs1Y4LArJPLx7DSL9mohRXuGYUKNVjTCN3GAiO4rR0SFuKA0ALqiCz7k4s1uhisFHfujrFh1e+552P65Dx9o3M/0qM4Mjuy95VRnyTjkuKYhRX/uWF9IlYRqZwQRkFKPjto1NzJ45YKgfRIxFcIMxFmVYj7ytjPU2Nficj/UqYtS1gBKVoj2sZ57aQ8Z6Njq6ayFqBRMGH0Whr907PM0Puh8VocXFtWmwQx4NJ7iTVu1pcmqaryBGGfrzSLoaYRqh3wQ7FKOje65KekFg8OEM+hq6FR/XyRjiWNzAhVRQjh1MA9ePRrbgpaKnJ9xgxAM+So4OsLn15IGq3IXwPXmgJIF68kBJYjWShYmHKMZOd8hC1Av1QMTgAyL0NbQmfZBP88T0lkI95HdxCFpZFWIu87dEHPicOOLA61SJwxeI3GluPqoVoUoOU8E9VRKkjw5mskFxcHTARsRtLxHMZAPhwNhAXzu3FB4nwn8bvUCeE/Qe/cty+zVUG/LsFBUplZp7FDWVqOyCWpndTxJ7gimg8UJ6++yyLb0AtjI5q2/ZTGsZNJlgg3TIECW6J7YAKzbbwXDA7KKt4S+ha9jjYObCPNMHk+IMUMNqy05ls23Kj3rG1x1s4dKUdBbhbpWHKbwnaLoskR/bVEI5TEEIPm2euK9OgjIHCHnn28vMZ7MIu8px3dqEIc8DXDthqKGPF5JlZP2eTlPmn9zQC21kjQP7+M1cElk6Xm6QTtlgOTd3n9A/RIVCtaNNmOJ5StCJnnYQpBlLmhm9NyTfzq2FKScaUTmflYZTzmKvH7YXX3M8qRWh2s5Fbs9TgnQiimyAxqd95jSxGOc9mTAUvbmz7iqt2CFs5gt/1AHmqziBzcbOnC4OuANo9llky1DOODhKD95KdnCblXltTGd5EDhMb2hEngkPEJIacnEeQobD+hZpKFDZQcUSNqyrkasR/m1ZURwo/LOmvW2zsw0KgIF7zQ3eEty3sdxoM6uCIr6/JGT+ba9B6lQC96akIhFCLpNlQWBZ2UpzOuenWsjp3ND4oGmIi3wSvNu7XWQQSVJjy7NijVF/OJnaR7jeR8f4Qw/e1+D9/fmcAPwWuKsGczqXwk20S/IZ5oW4WKYrnANJ8DMldHfjw+VpuF19IouIXvE3</diagram></mxfile>
\ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> <mxfile type="device" userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io"><diagram name="Page-1">7V1tc6M4Ev41/mgX4p2PEyfZ2aqbq7nLzO7tR2IUmxuMfJjMJPvrD4xkWxJgKRZGNmSrdhIJWoKWnket7hYTa75++y0LN6svKILJxDSit4l1PzFNz3CK/5cF71UBAI5dlSyzOMJlh4Kn+G+ICw1c+hpHcEtdmCOU5PGGLlygNIWLnCoLswz9oi97QQnd6iZc4haNQ8HTIkwgd9mfcZSvqlLfdA/ln2G8XJGWgRtUNc/h4scyQ68pbm9iWi+7n6p6HRJZuN3tKozQr6Mi62FizTOE8uq39dscJuW7Ja+N3Je/k75OrLtVvk6KP0Dx6676seFmIHJz8XQZTPPj5hrl4af+GSavRKDpJsW9dxuqHfd/r+UT3a3DbBmnE+tTUWts3nZNGlXhNEebqsImFTl8y6dhEi/xHYuiWzA7qovgAmVhHiN8QfHaYZbEKdxdQxotflvif3dd2+YZSpek9N+o6COuKZ6Urjyq2LBlq2xSvp5Htlz+yRP4klc1Pq5hu/57NEfrTZi+k0aemcb/Ga5hW2e76NQ93C6yeLN7/Rduep7BMIfRp/zSDX/fRP00/JCGzwmM6ptlJvVPmOVxAWafqqlzv5tZd3gi3Vdt3aHiqpdkhz0vcTGrrbsXlOYYioGJ/34M13FSovhnmPyEpVQaMcrp8gPOUYKyXduWYViW65Y1BNnKy8oWji66tx/Ao4Ob4G/mUAjjVvlc8O2oCKPSbxCtYZ4Vk8PAtRYwZsbRDxaA6SgAM9c+VNqYm34dkB64GGdXxyhPwDfE7LLct3vAyOIXDJP1kElkXDNkMlikLWqOoDiC4giKjaBouBQqWoY5s4PDjy+Kio4CVAQ3gIqF9ZBGYaY9LBaLSb6rF5mv3DL2Ug0PjAn+KMZ69D3N42TkoJGDdOIgm6Egk6Ig07dnwTEFWYIcRArP4iDz+jno+xZeA/8w3Ry5R3Wb/wi3eR/tPqzDy3NOOZr6eNiv4Xb7C2UN0D9y7Mix/XCs7wUUiwYUx9qWUUeqddtlFMX6KijWug2K/Zqh/8JFfiWug+YeX4h4+2kVP/LlG25e3YxQxUCVE4CZ4R+Ax6GgChj0Rr0juiVlqMAq+/qxap7EpW70hyiuo6NJcEPbUeOCdWQBGccEvSnkOO4scDmvxUkScFSQgHP9JPAZJXEU6u+t/T3ie3opGujJHzIwHrgvwHjknpF7dOIe1iFBWyAmbYDsm7yMQ8K9fvL5Fq/h0wrCazBC6vo60sANbc2MXDDugenHQAB4BkU6LtlqP8kyngqW8W6IZT6j12vwf9f2lw3p75GQ+vLQlw88L5ByibIerMBv4fbHpVv912uY5nF+8afVgf6/hGm4vPwwG1cBIx9L8bENGH+6YL6IqcQN5V8/Pd+jxev6OhxRNV0dTcCOApQfM7TupeFeIqPJyJoXsFX8sx0Y7Y2spznrmW1BY74PZuDIBycal60kaOwGksz5DS9dCbC3qKl+QkAGxrtPeZjlfbjhHtJo9P71wHr8ppKI8T2y44k4RYuOULEAFaHiXdA+JNHc18yODdt+ulJkn7uUA+OrweP3iMvtVotttoUO2o5Tl9dy0myxVADzDRxpsHdAzdE2n1ctXAc+N/f6gq6snnx3px57RJFTO/4BoI9CEVzQBQpOQrFuIAv9qtCiP5AY13LjWm5E4T0KB3bbmX2+T+9PO4JLOVvFUu4G0pbxts9VQXNbny8bqjIu4rSHD9di13D2RwAjUIEX56YOF3OsETJIXQNqUNXNwCGHGmcHcHxkxjAvgZ40zVNVXQTHBztw+YbbH3lECjblh835oc/BDEz3I75uJcBxA+mmZRTt9sNAccFdoh6ifQdm8f2Jsou/4t6WbKNrfTTnR5adNG+qApZ2A0ETXgmz1uXSMjqDafSp/HZM8RfawEJPd0XJsTa25RQnl0RxuEZp9G1VDqiqilxrk4LHnVbvy+UcjJbwCbeFsnyFligNk4dDaft3WMiXW9BrtoDkvVRlRUNLiC8jXxcoW2tV0jvzwuveLb7rK4rLpWXjLVWf8FUHjRxufGNubBJUPQgnaKfafdfFtM3ntBmzWcppPIPb+O9yUmMlMfOzfhIn4TNM7vbf+TmaO/hLP/Q0NrqaoidGDBnx+BNJ+Cknhw9QCM/kKR58GUyKteFPSI1IgYFDGmHUjV5etvBsTfPpEfxHjprUnFUgM+qZenFnqtkJmGluOB3o3a6zlPTC892ogRG+XhbdyVGZFLqbguhOVAGCmeU0xXS3Bmc36FZOoCgzuJ6UWHU8YfOrgsHxBJlJ2vCEPwvAYSi4wO8CPvgFwsBoQ53a1Wh96jg0b0yBw2SkeF0MhLr0Sr14BL7F+X+wHsvf/yrvnJnO+RRTZ0BIUozntkG33XYGX/04kBQoSjGBKSVWIcXw2UvDoxhfa4rxmXB+a2ZYh1rgdYE7ZMANmICUDQpFBNSJferURQHrxS9KLJNAjjYsn4Fj5lN08rwhK1GUOBy7jTg4seqIwzFH4iCzR1PicLowTRw+2GxgzKBO64o2LlmtmxQGTE06+88l3xNWOyzqYor0IhJiqBjKDRW3hnEkDRVgGgWQ06TQen5ew1gQESPsEbHc08IUMgq/Zzo8RrE1Y5QpE7bo0YknZicUw297Do1ilA0DNaOA/bK8GjXXneypF2VIM4FXwwSuLBPUoK68L0RIjDAT2OZpYQqZgN/1HB4TeJoxQTf7D/z249CgXpme1UL93nroQu1uXcaSXtBfKCh735kLM88hf/+F1SjLC5aCPSmb9ULTcOy1haHVq1pWorC/3Grbk+LEquMNlzdCB8cbZGppwxusBTENvJlzfCRGF/4Ll7clB8Yr6saBKv8FfUSVzYpQo/fbi6Ot4w5yCoMwd7R6rZ36jCIJIjlHvLCL3KdxBBgufegnE8enkFbGcN39xNKGVjoxR9zBh+uq07PObm/P1J4mjuwPk7M/zvNXkPzvs6wRNtSWth181mwUIBFJicIe8tboXU6sOtrweCN3cLRBJpp2tLHf3qDXJvsUZ7Vww9ulA6MVdePgmqwRT/8sEGnuADXcIevhMDzOm+BIZPrJiBH2cJjWaWEKuWHM7NjPDo24oTYBeE8V9KGLAeiEKgaf+aFuWGjs+/b0z+tQ4fsmW7/CzGDx4UtO2xF5TYFLAmLEfd+8I50TppAZxoSM/ezQiBk6wACynzlgqB9EjoV/gzkWdVjvSGI9AEqwXkSMuBVQY1J0h/UkUnvIWE9mh3ZY32kAjD/4LAp1etd4me/rnxWhJMTVlIT+XTYcE07a9lGTpmW+gBhh6N9l0p0QphD6x2SH/ezQBvqnrL7VgMDg0xnUKbqTGFdz5hVd9G1gOBbwPd924RRYXYyEG8x4MGrowJajg/Zjm1o/Q9jg8pUTqOYcKE6sQrIY8yH2c0cfsmDtQjUQMfiECHWKVmQP0sc8Ebtlbx7aTHUXXqGA3yq8euJwaogDyBGHyxC5Jb99dFKEKDl4/glB6ugg4DcUB0cHZEZoQwedbB0H/AbhwNhAnZ47So9j4b+LUcCvCa4e/evO9pM0Gyw264A5Ukk+okhWonAIauvpfpzYBqYolBe+H122KS/Ynjm2gMEvLYZHJoFmZDK12PDEDmAFGPw6Ymjsokzxl7A1wMwP7GKd6Zq+GxSoYXS1TwXId8qPRsb3LZQnnSjcrnZpCh9Jmq47yI98VEI4TYFJPpU/uO+UBGEOCNrlqDMPgCHiXOxswQCEFgwn6OMZ5Tlaf2TQ1MUnS0ahTY2ZD47/IyGJ5DheapJ6ZLKce3YfMz5Yg0J0oJn2CUENI+0gSDGWyG16p2j3ObcOlpw+PzIsySUnYCZxII8nJ0WI6tlyTghSiSj8BjR+22cuE/fz/EoWDPvRrM1SkQ1X6WQfAhi8CbpYxUkkrP+m5eKAB4DimEXihrJm/tHx4J2cDg4AbzT2gunkHAQK0yU3kQPmBQYenefhy2pEUqBwgIrhSclVCP+ANxQHCv9EtdrBv+L5zdt/A4V7dQrvCO67cDcCIHc+23OCFj8qC1KlEVhtJe0PQgCTo1MQyKlstWc6ex2d6Sy5+aBoirN84n84up1lEE6S9M6zYI+x/dB4tA9zvYsD4w8juOrBx8fzOQn4HXDXCczR7gg3dl/SpDGIzosltsI5kFT8maHy68aHy7Nws/qCIlhe8X8=</diagram></mxfile>
\ No newline at end of file |