diff --git a/ChangeLog b/ChangeLog
index c92b1c12..b79f4bcc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+21-AUG-2017: 7.1.9
+
+- Adds persistent autosave setting in Electron App
+- Adds File, Page Setup and Publish in Electron/Chrome App
+- Fixes keyboard shortcut labels on Mac
+- Changes keyboard shortcuts for connection points/arrows
+
18-AUG-2017: 7.1.8
- Fixes bounding box margins for vertical labels
diff --git a/VERSION b/VERSION
index 0e5aa899..cdf5fdc5 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-7.1.8
\ No newline at end of file
+7.1.9
\ No newline at end of file
diff --git a/war/cache.manifest b/war/cache.manifest
index 83821eec..6ca5148c 100644
--- a/war/cache.manifest
+++ b/war/cache.manifest
@@ -1,7 +1,7 @@
CACHE MANIFEST
# THIS FILE WAS GENERATED. DO NOT MODIFY!
-# 08/18/2017 03:55 PM
+# 08/21/2017 11:21 AM
app.html
index.html?offline=1
diff --git a/war/electron.js b/war/electron.js
index c8b0d623..785d9b54 100644
--- a/war/electron.js
+++ b/war/electron.js
@@ -46,6 +46,7 @@ function createWindow (opt = {})
'gapi': 0,
'od': 0,
'gh': 0,
+ 'tr': 0,
'analytics': 0,
'picker': 0,
'mode': 'device',
diff --git a/war/images/trello-logo.svg b/war/images/trello-logo.svg
new file mode 100644
index 00000000..b5f81d01
--- /dev/null
+++ b/war/images/trello-logo.svg
@@ -0,0 +1,32 @@
+
+
\ No newline at end of file
diff --git a/war/js/app.min.js b/war/js/app.min.js
index 815bb871..8443da98 100644
--- a/war/js/app.min.js
+++ b/war/js/app.min.js
@@ -1916,7 +1916,7 @@ Editor.printLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCA
Editor.layersLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAmVBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v7///+bnZkkAAAAMnRSTlMABPr8ByiD88KsTi/rvJb272mjeUA1CuPe1M/KjVxYHxMP6KZ0S9nYzGRGGRaznpGIbzaGUf0AAAHESURBVDjLbZLZYoIwEEVDgLCjbKIgAlqXqt3m/z+uNwu1rcyDhjl3ktnYL7OY254C0VX3yWFZfzDrOClbbgKxi0YDHjwl4jbnRkXxJS/C1YP3DbBhD1n7Ex4uaAqdVDb3yJ/4J/3nJD2to/ngQz/DfUvzMp4JJ5sSCaF5oXmemgQDfDxzbi+Kq4sU+vNcuAmx94JtyOP2DD4Epz2asWSCz4Z/4fECxyNj9zC9xNLHcdPEO+awDKeSaUu0W4twZQiO2hYVisTR3RCtK/c1X6t4xMEpiGqXqVntEBLolkZZsKY4QtwH6jzq67dEHlJysB1aNOD3XT7n1UkasQN59L4yC2RELMDSeCRtz3yV22Ub3ozIUTknYx8JWqDdQxbUes98cR2kZtUSveF/bAhcedwEWmlxIkpZUy4XOCb6VBjjxHvbwo/1lBAHHi2JCr0NI570QhyHq/DhJoE2lLgyA4RVe6KmZ47O/3b86MCP0HWa73A8/C3SUc5Qc1ajt6fgpXJ+RGpMvDSchepZDOOQRcZVIKcK90x2D7etqtI+56+u6n3sPriO6nfphitR4+O2m3EbM7lh3me1FM1o+LMI887rN+s3/wZdTFlpNVJiOAAAAABJRU5ErkJggg==";
Editor.closeLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAUVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////8IN+deAAAAGnRSTlMAuvAIg/dDM/QlOeuFhj0S5s4vKgzjxJRQNiLSey0AAADNSURBVDjLfZLbEoMgDEQjRRRs1XqX///QNmOHJSnjPkHOGR7IEmeoGtJZstnwjqbRfIsmgEdtPCqe9Ynz7ZSc07rE2QiSc+qv8TvjRXA2PDUm3dpe82iJhOEUfxJJo3aCv+jKmRmH4lcCjCjeh9GWOdL/GZZkXH3PYYDrHBnfc4D/RVZf5sjoC1was+Y6HQxwaUxFvq/a0Pv343VCTxfBSRiB+ab3M3eiQZXmMNBJ3Y8pGRZtYQ7DgHMXJEdPLTaN/qBjzJOBc3nmNcbsA16bMR0oLqf+AAAAAElFTkSuQmCC";
Editor.editLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgMAAAAOFJJnAAAACVBMVEUAAAD///////9zeKVjAAAAAnRSTlMAgJsrThgAAABcSURBVBjThc6xDcAgDATAd8MQTEPW8TRUmYCGnzLRYyOlIV+dZFtvkICTFGqiJEzAG0/Uje9oL+e5Vu4F5yUYJxxqGKhQZ0eBvmgwYQLQaARKD1hbiPyDR0QOeAC31EyNe5X/kAAAAABJRU5ErkJggg==";Editor.previousLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMA7fci493c0MW8uJ6CZks4MxQHEZL6ewAAAFZJREFUOMvdkskRgDAMA4lDwg2B7b9XOlge/KKvdsa25KFb5XlRvxXC/DNBEv8IFNjBgGdDgXtFgTyhwDXiQAUHCvwa4Uv6mR6UR+1led2mVonvl+tML45qCQNQLIx7AAAAAElFTkSuQmCC";
-Editor.nextLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMA7fci493c0MW8uJ6CZks4MxQHEZL6ewAAAFRJREFUOMvd0skRgCAQBVEFwQ0V7fxzNQP6wI05v6pZ/kyj1b7FNgik2gQzzLcAwiUAigHOTwDHK4A1CmB5BJANJG1hQ9qafYcqFlZP3IFc9eVGrR+iIgkDQRUXIAAAAABJRU5ErkJggg==";mxUtils.extend(Editor,mxEventSource);Editor.prototype.originalNoForeignObject=mxClient.NO_FO;
+Editor.nextLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMA7fci493c0MW8uJ6CZks4MxQHEZL6ewAAAFRJREFUOMvd0skRgCAQBVEFwQ0V7fxzNQP6wI05v6pZ/kyj1b7FNgik2gQzzLcAwiUAigHOTwDHK4A1CmB5BJANJG1hQ9qafYcqFlZP3IFc9eVGrR+iIgkDQRUXIAAAAABJRU5ErkJggg==";Editor.ctrlKey=mxClient.IS_MAC?"Cmd":"Ctrl";mxUtils.extend(Editor,mxEventSource);Editor.prototype.originalNoForeignObject=mxClient.NO_FO;
Editor.prototype.transparentImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7":IMAGE_PATH+"/transparent.gif";Editor.prototype.extendCanvas=!0;Editor.prototype.chromeless=!1;Editor.prototype.cancelFirst=!0;Editor.prototype.enabled=!0;Editor.prototype.filename=null;Editor.prototype.modified=!1;Editor.prototype.autosave=!0;Editor.prototype.initialTopSpacing=0;Editor.prototype.appName=document.title;
Editor.prototype.editBlankUrl=window.location.protocol+"//"+window.location.host+"/?client=1";Editor.prototype.editBlankFallbackUrl=window.location.protocol+"//"+window.location.host+"/?create=drawdata&splash=0";Editor.prototype.init=function(){};Editor.prototype.setAutosave=function(a){this.autosave=a;this.fireEvent(new mxEventObject("autosaveChanged"))};Editor.prototype.getEditBlankUrl=function(a,c){return(c?this.editBlankFallbackUrl:this.editBlankUrl)+a};
Editor.prototype.editAsNew=function(a,c){var d=null!=c?"&title="+encodeURIComponent(c):"";if("undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)){var b=null,e=mxUtils.bind(this,function(c){"ready"==c.data&&c.source==b&&(b.postMessage(a,"*"),mxEvent.removeListener(window,"message",e))});mxEvent.addListener(window,"message",e);b=window.open(this.getEditBlankUrl(d,!1))}else window.drawdata=a,window.open(this.getEditBlankUrl(d,!0))};
@@ -2109,14 +2109,14 @@ EditorUi.prototype.createOutline=function(a){var c=new mxOutline(this.editor.gra
EditorUi.prototype.createKeyHandler=function(a){function c(a,c,d){h.push(function(){if(!b.isSelectionEmpty()&&b.isEnabled())if(c=null!=c?c:1,d){b.getModel().beginUpdate();try{for(var f=b.getSelectionCells(),e=0;e/g,"\n"));var f=document.createElement("div");f.innerHTML=e;e=mxUtils.extractTextWithWhitespace(f.childNodes);b.cellLabelChanged(a.cell,e)}else e=mxUtils.htmlEntities(b.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(e=e.replace(/\n/g,"
")),b.cellLabelChanged(a.cell,b.sanitizeHtml(e));b.setCellStyles("html",d);c.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=d?d:"0"],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}}});
-this.addAction("wordWrap",function(){var a=b.getView().getState(b.getSelectionCell()),c="wrap";b.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(c=null);b.setCellStyles(mxConstants.STYLE_WHITE_SPACE,c)});this.addAction("rotation",function(){var a="0",d=b.getView().getState(b.getSelectionCell());null!=d&&(a=d.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(c,a,mxResources.get("apply"),function(a){null!=a&&0/g,"\n"));var f=document.createElement("div");f.innerHTML=e;e=mxUtils.extractTextWithWhitespace(f.childNodes);b.cellLabelChanged(a.cell,e)}else e=mxUtils.htmlEntities(b.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,
+"nl2Br","1")&&(e=e.replace(/\n/g,"
")),b.cellLabelChanged(a.cell,b.sanitizeHtml(e));b.setCellStyles("html",d);c.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=d?d:"0"],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=b.getView().getState(b.getSelectionCell()),c="wrap";b.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(c=null);b.setCellStyles(mxConstants.STYLE_WHITE_SPACE,c)});this.addAction("rotation",
+function(){var a="0",d=b.getView().getState(b.getSelectionCell());null!=d&&(a=d.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(c,a,mxResources.get("apply"),function(a){null!=a&&0")}),b)}d(mxResources.get("normal"),"p");d("","h1").firstChild.nextSibling.innerHTML=''+mxResources.get("heading")+" 1
";d("","h2").firstChild.nextSibling.innerHTML=''+mxResources.get("heading")+" 2
";d("","h3").firstChild.nextSibling.innerHTML=''+mxResources.get("heading")+" 3
";d("","h4").firstChild.nextSibling.innerHTML=''+mxResources.get("heading")+
@@ -2853,8 +2854,8 @@ g.style.margin="0px";this.addArrow(g);g.style.width="192px";g.style.height="15px
[mxConstants.ALIGN_LEFT]),n),q=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifycenter",!1,null)}:this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER]),n),r=this.editorUi.toolbar.addButton("geSprite-right",mxResources.get("right"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifyright",!1,null)}:this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],
[mxConstants.ALIGN_RIGHT]),n);this.styleButtons([p,q,r]);if(b.cellEditor.isContentEditing()){var t=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},g);this.styleButtons([t])}var u=this.editorUi.toolbar.addButton("geSprite-top",mxResources.get("top"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP]),n),v=this.editorUi.toolbar.addButton("geSprite-middle",
mxResources.get("middle"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE]),n),x=this.editorUi.toolbar.addButton("geSprite-bottom",mxResources.get("bottom"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM]),n);this.styleButtons([u,v,x]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(n);var z,A,E,F,w,J,K;b.cellEditor.isContentEditing()?(u.style.display="none",v.style.display="none",
-x.style.display="none",m.style.display="none",E=this.editorUi.toolbar.addButton("geSprite-justifyfull",null,function(){document.execCommand("justifyfull",!1,null)},n),this.styleButtons([E,z=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" (Ctrl+,)",function(){document.execCommand("subscript",!1,null)},n),A=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" (Ctrl+.)",function(){document.execCommand("superscript",!1,null)},n)]),
-E.style.marginRight="9px",t=n.cloneNode(!1),t.style.paddingTop="4px",n=[this.editorUi.toolbar.addButton("geSprite-orderedlist",mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},t),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"),function(){document.execCommand("insertunorderedlist",!1,null)},t),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",
+x.style.display="none",m.style.display="none",E=this.editorUi.toolbar.addButton("geSprite-justifyfull",null,function(){document.execCommand("justifyfull",!1,null)},n),this.styleButtons([E,z=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript",!1,null)},n),A=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",
+!1,null)},n)]),E.style.marginRight="9px",t=n.cloneNode(!1),t.style.paddingTop="4px",n=[this.editorUi.toolbar.addButton("geSprite-orderedlist",mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},t),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"),function(){document.execCommand("insertunorderedlist",!1,null)},t),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",
!1,null)},t),this.editorUi.toolbar.addButton("geSprite-indent",mxResources.get("increaseIndent"),function(){document.execCommand("indent",!1,null)},t),this.editorUi.toolbar.addButton("geSprite-code",mxResources.get("html"),function(){b.cellEditor.toggleViewMode()},t)],this.styleButtons(n),n[n.length-1].style.marginLeft="9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),t.style.height="40"),a.appendChild(t)):(l[2].style.marginRight="9px",r.style.marginRight="9px");n=f.cloneNode(!1);n.style.marginLeft="0px";
n.style.paddingTop="8px";n.style.paddingBottom="4px";n.style.fontWeight="normal";mxUtils.write(n,mxResources.get("position"));var I=document.createElement("select");I.style.position="absolute";I.style.right="20px";I.style.width="97px";I.style.marginTop="-2px";for(var G="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "),B={topLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM],top:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP,
mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM],topRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM],left:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE],center:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE],right:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE],bottomLeft:[mxConstants.ALIGN_LEFT,
@@ -2995,14 +2996,14 @@ c[1].setAttribute("title",mxResources.get("undo")+" ("+this.editorUi.actions.get
!1,null)}),null,"geIcon geSprite geSprite-right");d.setAttribute("title",mxResources.get("right"));d=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("justifyfull",!1,null)}),null,"geIcon geSprite geSprite-justifyfull");d.setAttribute("title",mxResources.get("justifyfull"));d=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("insertorderedlist",!1,null)}),null,"geIcon geSprite geSprite-orderedlist");d.setAttribute("title",mxResources.get("numberedList"));d=a.addItem("",
null,mxUtils.bind(this,function(){document.execCommand("insertunorderedlist",!1,null)}),null,"geIcon geSprite geSprite-unorderedlist");d.setAttribute("title",mxResources.get("bulletedList"));d=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("outdent",!1,null)}),null,"geIcon geSprite geSprite-outdent");d.setAttribute("title",mxResources.get("decreaseIndent"));d=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("indent",!1,null)}),null,"geIcon geSprite geSprite-indent");
d.setAttribute("title",mxResources.get("increaseIndent"))}));c.style.position="relative";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.innerHTML='
'+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="22px",c.getElementsByTagName("img")[0].style.top="5px");c=this.addMenuFunction("",mxResources.get("format"),!1,mxUtils.bind(this,function(a){d=
-a.addItem("",null,this.editorUi.actions.get("subscript").funct,null,"geIcon geSprite geSprite-subscript");d.setAttribute("title",mxResources.get("subscript")+" (Ctrl+,)");d=a.addItem("",null,this.editorUi.actions.get("superscript").funct,null,"geIcon geSprite geSprite-superscript");d.setAttribute("title",mxResources.get("superscript")+" (Ctrl+.)");d=a.addItem("",null,this.editorUi.actions.get("fontColor").funct,null,"geIcon geSprite geSprite-fontcolor");d.setAttribute("title",mxResources.get("fontColor"));
-d=a.addItem("",null,this.editorUi.actions.get("backgroundColor").funct,null,"geIcon geSprite geSprite-fontbackground");d.setAttribute("title",mxResources.get("backgroundColor"));d=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("removeformat",!1,null)}),null,"geIcon geSprite geSprite-removeformat");d.setAttribute("title",mxResources.get("removeFormat"))}));c.style.position="relative";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.innerHTML=''+
-this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="22px",c.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.addButton("geIcon geSprite geSprite-code",mxResources.get("html"),function(){a.cellEditor.toggleViewMode();0'+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"36px":"16px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="24px",c.getElementsByTagName("img")[0].style.top="5px",c.style.width=mxClient.IS_QUIRKS?"50px":"30px");this.addSeparator();var d=this.addMenuFunction("geIcon geSprite geSprite-table",mxResources.get("table"),
-!1,mxUtils.bind(this,function(b){var c=a.getSelectedElement(),d=a.getParentByName(c,"TD",a.cellEditor.text2),h=a.getParentByName(c,"TR",a.cellEditor.text2);if(null==h)this.editorUi.menus.addInsertTableItem(b);else{var g=a.getParentByName(h,"TABLE",a.cellEditor.text2),c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex:0))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertcolumnbefore");c.setAttribute("title",
-mxResources.get("insertColumnBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex+1:-1))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertcolumnafter");c.setAttribute("title",mxResources.get("insertColumnAfter"));c=b.addItem("Delete column",null,mxUtils.bind(this,function(){if(null!=d)try{a.deleteColumn(g,d.cellIndex)}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),
-null,"geIcon geSprite geSprite-deletecolumn");c.setAttribute("title",mxResources.get("deleteColumn"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,h.sectionRowIndex))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertrowbefore");c.setAttribute("title",mxResources.get("insertRowBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,h.sectionRowIndex+1))}catch(k){mxUtils.alert(mxResources.get("error")+
+a.addItem("",null,this.editorUi.actions.get("subscript").funct,null,"geIcon geSprite geSprite-subscript");d.setAttribute("title",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)");d=a.addItem("",null,this.editorUi.actions.get("superscript").funct,null,"geIcon geSprite geSprite-superscript");d.setAttribute("title",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)");d=a.addItem("",null,this.editorUi.actions.get("fontColor").funct,null,"geIcon geSprite geSprite-fontcolor");d.setAttribute("title",
+mxResources.get("fontColor"));d=a.addItem("",null,this.editorUi.actions.get("backgroundColor").funct,null,"geIcon geSprite geSprite-fontbackground");d.setAttribute("title",mxResources.get("backgroundColor"));d=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("removeformat",!1,null)}),null,"geIcon geSprite geSprite-removeformat");d.setAttribute("title",mxResources.get("removeFormat"))}));c.style.position="relative";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.innerHTML=
+''+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="22px",c.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.addButton("geIcon geSprite geSprite-code",mxResources.get("html"),function(){a.cellEditor.toggleViewMode();0'+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"36px":"16px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="24px",c.getElementsByTagName("img")[0].style.top="5px",c.style.width=mxClient.IS_QUIRKS?"50px":"30px");this.addSeparator();var d=this.addMenuFunction("geIcon geSprite geSprite-table",
+mxResources.get("table"),!1,mxUtils.bind(this,function(b){var c=a.getSelectedElement(),d=a.getParentByName(c,"TD",a.cellEditor.text2),h=a.getParentByName(c,"TR",a.cellEditor.text2);if(null==h)this.editorUi.menus.addInsertTableItem(b);else{var g=a.getParentByName(h,"TABLE",a.cellEditor.text2),c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex:0))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertcolumnbefore");
+c.setAttribute("title",mxResources.get("insertColumnBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex+1:-1))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertcolumnafter");c.setAttribute("title",mxResources.get("insertColumnAfter"));c=b.addItem("Delete column",null,mxUtils.bind(this,function(){if(null!=d)try{a.deleteColumn(g,d.cellIndex)}catch(k){mxUtils.alert(mxResources.get("error")+
+": "+k.message)}}),null,"geIcon geSprite geSprite-deletecolumn");c.setAttribute("title",mxResources.get("deleteColumn"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,h.sectionRowIndex))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertrowbefore");c.setAttribute("title",mxResources.get("insertRowBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,h.sectionRowIndex+1))}catch(k){mxUtils.alert(mxResources.get("error")+
": "+k.message)}}),null,"geIcon geSprite geSprite-insertrowafter");c.setAttribute("title",mxResources.get("insertRowAfter"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.deleteRow(g,h.sectionRowIndex)}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-deleterow");c.setAttribute("title",mxResources.get("deleteRow"));c=b.addItem("",null,mxUtils.bind(this,function(){var a=g.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,
function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){null==a||a==mxConstants.NONE?(g.removeAttribute("border"),g.style.border="",g.style.borderCollapse=""):(g.setAttribute("border","1"),g.style.border="1px solid "+a,g.style.borderCollapse="collapse")})}),null,"geIcon geSprite geSprite-strokecolor");c.setAttribute("title",mxResources.get("borderColor"));c=b.addItem("",
null,mxUtils.bind(this,function(){var a=g.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){g.style.backgroundColor=null==a||a==mxConstants.NONE?"":a})}),null,"geIcon geSprite geSprite-fillcolor");c.setAttribute("title",mxResources.get("backgroundColor"));c=b.addItem("",null,mxUtils.bind(this,
@@ -5893,237 +5894,237 @@ StorageFile.prototype.isRenamable=function(){return!0};StorageFile.prototype.sav
StorageFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable()){var f=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=a);try{this.ui.setLocalData(this.title,this.getData(),mxUtils.bind(this,function(){this.setModified(!1);this.contentChanged();null!=c&&c()}))}catch(g){null!=d&&d(g)}});this.isRenamable()&&"."==a.charAt(0)&&null!=d?d({message:mxResources.get("invalidName")}):this.ui.getLocalData(a,mxUtils.bind(this,function(b){this.isRenamable()&&this.getTitle()!=a&&null!=b?this.ui.confirm(mxResources.get("replaceIt",
[a]),f,d):f()}))}else null!=c&&c()};StorageFile.prototype.rename=function(a,b,c){var d=this.getTitle();this.title=a;this.hasSameExtension(d,a)||this.setData(this.ui.getFileData());this.saveFile(a,!1,mxUtils.bind(this,function(){d!=a&&this.ui.removeLocalData(d,b)}),c)};StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};
StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(a,b,c){StorageFile.call(this,a,b,c)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!0};StorageLibrary.prototype.saveAs=function(a,b,c){this.saveFile(a,!1,b,c)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title};
-StorageLibrary.prototype.isRenamable=function(a,b,c){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(a,b,c){StorageFile.call(this,a,b,c);a=c;b=a.lastIndexOf("/");0<=b&&(a=a.substring(b+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,b,c){return!1};UrlLibrary.prototype.saveAs=function(a,b,c){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(a,b,c){function d(e,d,f,g,p,t){function w(){mxEvent.addListener(u,"click",null!=t?t:function(){f!=App.MODE_GOOGLE||a.isDriveDomain()?f==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(f,l.checked);b()})):(a.setMode(f,l.checked),b()):window.location.hostname=DriveClient.prototype.newAppHostname})}var u=document.createElement("a");u.style.overflow="hidden";u.style.display=
-mxClient.IS_QUIRKS?"inline":"inline-block";u.className="geBaseButton";u.style.fontSize="11px";u.style.position="relative";u.style.margin="4px";u.style.padding="8px 10px 12px 10px";u.style.width="68px";u.style.height="80px";u.style.whiteSpace="nowrap";u.setAttribute("title",d);mxClient.IS_QUIRKS&&(u.style.cssFloat="left",u.style.zoom="1");var x=document.createElement("div");x.style.textOverflow="ellipsis";x.style.overflow="hidden";if(null!=e){var k=document.createElement("img");k.setAttribute("src",
-e);k.setAttribute("border","0");k.setAttribute("align","absmiddle");k.style.width="60px";k.style.height="60px";k.style.paddingBottom="6px";u.appendChild(k)}else x.style.paddingTop="5px",x.style.whiteSpace="normal",mxClient.IS_IOS?(u.style.padding="0px 10px 20px 10px",u.style.top="6px"):mxClient.IS_FF&&(x.style.paddingTop="0px",x.style.marginTop="-2px");u.appendChild(x);mxUtils.write(x,d);if(null!=p)for(e=0;e=c&&(mxUtils.br(h),m=0)}c=null!=c?c:3;var f=document.createElement("div");f.style.textAlign="center";f.style.whiteSpace="nowrap";f.style.paddingTop="0px";f.style.paddingBottom="20px";var g=a.addLanguageMenu(f);null!=g&&(g.style.bottom="28px");if(!a.isOffline()&&1 '+mxResources.get("googleDriveMissingClickHere")+"",f.appendChild(n))},5E3);this.container=f},SplashDialog=function(a){var b=document.createElement("div");b.style.textAlign=
-"center";a.addLanguageMenu(b);var c=null,d=a.getServiceCount();!a.isOffline()&&1"+g.innerHTML,g.style.paddingBottom="8px",g.style.paddingTop="8px",g.style.height="auto",g.style.width="40%");a.editor.cancelFirst&&m.appendChild(g);f=mxUtils.button(f||mxResources.get("ok"),function(){a.hideDialog();null!=c&&c(n.checked)});m.appendChild(f);null!=k?(f.innerHTML=k+"
"+f.innerHTML+"
",f.style.paddingBottom="8px",f.style.paddingTop=
-"8px",f.style.height="auto",f.className="geBtn",f.style.width="40%"):f.className="geBtn gePrimaryBtn";a.editor.cancelFirst||m.appendChild(g);l.appendChild(m);h?(m.style.marginTop="10px",m=document.createElement("p"),m.style.marginTop="20px",m.appendChild(n),k=document.createElement("span"),mxUtils.write(k," "+mxResources.get("rememberThisSetting")),m.appendChild(k),l.appendChild(m),mxEvent.addListener(k,"click",function(a){n.checked=!n.checked;mxEvent.consume(a)})):m.style.marginTop="16px";this.container=
-l},ErrorDialog=function(a,b,c,d,f,g,k,e,h){h=null!=h?h:!0;var l=document.createElement("div");l.style.textAlign="center";if(null!=b){var m=document.createElement("div");m.style.padding="0px";m.style.margin="0px";m.style.fontSize="18px";m.style.paddingBottom="16px";m.style.marginBottom="16px";m.style.borderBottom="1px solid #c0c0c0";m.style.color="gray";mxUtils.write(m,b);l.appendChild(m)}b=document.createElement("div");b.style.padding="6px";b.innerHTML=c;l.appendChild(b);c=document.createElement("div");
-c.style.marginTop="16px";c.style.textAlign="right";null!=g&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();g()}),b.className="geBtn",c.appendChild(b),c.style.textAlign="center");var n=mxUtils.button(d,function(){h&&a.hideDialog();null!=f&&f()});n.className="geBtn";c.appendChild(n);null!=k&&(d=mxUtils.button(k,function(){h&&a.hideDialog();null!=e&&e()}),d.className="geBtn gePrimaryBtn",c.appendChild(d));this.init=function(){n.focus()};l.appendChild(c);this.container=l},EmbedDialog=
-function(a,b,c,d,f){d=document.createElement("div");var g=/^https?:\/\//.test(b)||/^mailto:\/\//.test(b);mxUtils.write(d,mxResources.get(5E5>b.length?g?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(d);var k=document.createElement("div");k.style.position="absolute";k.style.top="30px";k.style.right="30px";k.style.color="gray";mxUtils.write(k,a.formatFileSize(b.length));d.appendChild(k);var e=document.createElement("textarea");e.setAttribute("autocomplete","off");e.setAttribute("autocorrect","off");
-e.setAttribute("autocapitalize","off");e.setAttribute("spellcheck","false");e.style.marginTop="10px";e.style.resize="none";e.style.height="150px";e.style.width="440px";e.style.border="1px solid gray";e.value=mxResources.get("updatingDocument");d.appendChild(e);mxUtils.br(d);this.init=function(){window.setTimeout(function(){5E5>b.length?(e.value=b,e.focus(),mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null)):(e.setAttribute("readonly",
-"true"),e.value=b.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};k=document.createElement("div");k.style.position="absolute";k.style.bottom="36px";k.style.right="32px";var h=null;mxClient.IS_CHROMEAPP||navigator.standalone||!(g||mxClient.IS_SVG&&(null==document.documentMode||9b.length?"preview":"openInNewWindow"),function(){var d=5E5>b.length?e.value:b;if(null!=f)f(d);else if(g)try{var h=window.open(d);(null==c||
-0"+encodeURIComponent(mxResources.get("preview"))+''+b+"