From 24ec18a21b09389b12f3bd21ba33b6877ebb788f Mon Sep 17 00:00:00 2001
From: "David Benson [draw.io]" <david@jgraph.com>
Date: Mon, 9 Dec 2019 17:53:37 +0000
Subject: [PATCH] 12.3.9 release

---
 ChangeLog                                     |  10 +
 VERSION                                       |   2 +-
 .../importer/GliffyDiagramConverter.java      |  15 +-
 .../mxgraph/io/gliffy/model/GliffyObject.java |  52 +-
 .../com/mxgraph/io/gliffy/model/Graphic.java  |  10 +-
 src/main/webapp/cache.manifest                |   2 +-
 src/main/webapp/js/app.min.js                 |  19 +-
 .../webapp/js/diagramly/DrawioFileSync.js     |   8 +-
 src/main/webapp/js/diagramly/DriveClient.js   |   4 +
 src/main/webapp/js/diagramly/Extensions.js    |   4 +-
 src/main/webapp/js/diagramly/GraphViewer.js   |   5 +-
 src/main/webapp/js/extensions.min.js          | 114 +-
 src/main/webapp/js/viewer.min.js              |  16 +-
 src/main/webapp/resources/dia.txt             |  15 +-
 src/main/webapp/resources/dia_am.txt          |  15 +-
 src/main/webapp/resources/dia_ar.txt          |  15 +-
 src/main/webapp/resources/dia_bg.txt          |  15 +-
 src/main/webapp/resources/dia_bn.txt          |  15 +-
 src/main/webapp/resources/dia_bs.txt          |  19 +-
 src/main/webapp/resources/dia_ca.txt          | 337 +++---
 src/main/webapp/resources/dia_cs.txt          |  15 +-
 src/main/webapp/resources/dia_da.txt          |  15 +-
 src/main/webapp/resources/dia_de.txt          |  13 +-
 src/main/webapp/resources/dia_el.txt          |  15 +-
 src/main/webapp/resources/dia_eo.txt          |  15 +-
 src/main/webapp/resources/dia_es.txt          |  15 +-
 src/main/webapp/resources/dia_et.txt          |  15 +-
 src/main/webapp/resources/dia_fa.txt          |  15 +-
 src/main/webapp/resources/dia_fi.txt          |  15 +-
 src/main/webapp/resources/dia_fil.txt         |  15 +-
 src/main/webapp/resources/dia_fr.txt          |  15 +-
 src/main/webapp/resources/dia_gu.txt          |  15 +-
 src/main/webapp/resources/dia_he.txt          |  15 +-
 src/main/webapp/resources/dia_hi.txt          |  15 +-
 src/main/webapp/resources/dia_hr.txt          |  15 +-
 src/main/webapp/resources/dia_hu.txt          |  15 +-
 src/main/webapp/resources/dia_i18n.txt        |   3 +
 src/main/webapp/resources/dia_id.txt          |  15 +-
 src/main/webapp/resources/dia_it.txt          |  15 +-
 src/main/webapp/resources/dia_ja.txt          |  15 +-
 src/main/webapp/resources/dia_kn.txt          |  15 +-
 src/main/webapp/resources/dia_ko.txt          |  15 +-
 src/main/webapp/resources/dia_lt.txt          |  15 +-
 src/main/webapp/resources/dia_lv.txt          |  15 +-
 src/main/webapp/resources/dia_ml.txt          |  15 +-
 src/main/webapp/resources/dia_mr.txt          |  15 +-
 src/main/webapp/resources/dia_ms.txt          |  15 +-
 src/main/webapp/resources/dia_my.txt          | 987 ++++++++++++++++++
 src/main/webapp/resources/dia_nl.txt          |  13 +-
 src/main/webapp/resources/dia_no.txt          |  15 +-
 src/main/webapp/resources/dia_pl.txt          |  15 +-
 src/main/webapp/resources/dia_pt-br.txt       |  15 +-
 src/main/webapp/resources/dia_pt.txt          |  15 +-
 src/main/webapp/resources/dia_ro.txt          |  15 +-
 src/main/webapp/resources/dia_ru.txt          |  15 +-
 src/main/webapp/resources/dia_si.txt          | 987 ++++++++++++++++++
 src/main/webapp/resources/dia_sk.txt          |  15 +-
 src/main/webapp/resources/dia_sl.txt          |  15 +-
 src/main/webapp/resources/dia_sr.txt          |  15 +-
 src/main/webapp/resources/dia_sv.txt          |  15 +-
 src/main/webapp/resources/dia_sw.txt          |  15 +-
 src/main/webapp/resources/dia_ta.txt          |  15 +-
 src/main/webapp/resources/dia_te.txt          |  15 +-
 src/main/webapp/resources/dia_th.txt          |  15 +-
 src/main/webapp/resources/dia_tr.txt          |  15 +-
 src/main/webapp/resources/dia_uk.txt          |  15 +-
 src/main/webapp/resources/dia_vi.txt          |  15 +-
 src/main/webapp/resources/dia_zh-tw.txt       |  15 +-
 src/main/webapp/resources/dia_zh.txt          |  15 +-
 69 files changed, 2779 insertions(+), 576 deletions(-)
 create mode 100644 src/main/webapp/resources/dia_my.txt
 create mode 100644 src/main/webapp/resources/dia_si.txt

diff --git a/ChangeLog b/ChangeLog
index 16f414e5c..6dfbe7af7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+09-DEC-2019: 12.3.9
+
+- Fixes NPE in Lucidchart import
+- Adds check for empty layerID array in GraphViewer
+
+06-DEC-2019: 12.3.8
+
+- Improves Gliffy import of nested links
+- Adds pageID target export selection in Confluence Cloud
+
 05-DEC-2019: 12.3.7
 
 - Fixes handling of clipboard data
diff --git a/VERSION b/VERSION
index 284ea3fae..6a85e440d 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-12.3.7
\ No newline at end of file
+12.3.9
\ No newline at end of file
diff --git a/src/main/java/com/mxgraph/io/gliffy/importer/GliffyDiagramConverter.java b/src/main/java/com/mxgraph/io/gliffy/importer/GliffyDiagramConverter.java
index be74942a4..1a7f34693 100644
--- a/src/main/java/com/mxgraph/io/gliffy/importer/GliffyDiagramConverter.java
+++ b/src/main/java/com/mxgraph/io/gliffy/importer/GliffyDiagramConverter.java
@@ -655,9 +655,9 @@ public class GliffyDiagramConverter
 
 				if (style.lastIndexOf("strokeWidth") == -1)
 				{
-					style.append("strokeWidth=" + shape.strokeWidth).append(";");
+					style.append("strokeWidth=" + shape.getStrokeWidth()).append(";");
 
-					if (shape.strokeWidth == 0 && !isChevron)
+					if (shape.getStrokeWidth() == 0 && !isChevron)
 					{
 						style.append("strokeColor=none;");
 					}
@@ -720,13 +720,13 @@ public class GliffyDiagramConverter
 
 				cell.setEdge(true);
 				style.append("shape=filledEdge;");
-				style.append("strokeWidth=" + line.strokeWidth).append(";");
+				style.append("strokeWidth=" + line.getStrokeWidth()).append(";");
 				style.append("strokeColor=" + line.strokeColor).append(";");
 				style.append("fillColor=" + line.fillColor).append(";");
 				style.append(ArrowMapping.get(line.startArrow).toString(true)).append(";");
 				style.append(ArrowMapping.get(line.endArrow).toString(false)).append(";");
 				style.append("rounded=" + (line.cornerRadius != null ? "1" : "0")).append(";");
-				style.append(DashStyleMapping.get(line.dashStyle, line.strokeWidth));
+				style.append(DashStyleMapping.get(line.dashStyle, line.getStrokeWidth()));
 				style.append(LineMapping.get(line.interpolationType));
 
 				geometry.setX(0);
@@ -737,7 +737,6 @@ public class GliffyDiagramConverter
 				textObject = gliffyObject;
 				cell.setVertex(true);
 				style.append("text;html=1;nl2Br=0;");
-//				setFontSizeBasedOnGlobal(style);
 				cell.setValue(gliffyObject.getText());
 
 				//if text is a child of a cell, use relative geometry and set X and Y to 0
@@ -852,7 +851,7 @@ public class GliffyDiagramConverter
 			GliffyObject header = gliffyObject.children.get(0);// first child is the header of the swimlane
 
 			GliffyShape shape = header.graphic.getShape();
-			style.append("strokeWidth=" + shape.strokeWidth).append(";");
+			style.append("strokeWidth=" + shape.getStrokeWidth()).append(";");
 			style.append("shadow=" + (shape.dropShadow ? 1 : 0)).append(";");
 			style.append("fillColor=" + shape.fillColor).append(";");
 			style.append("strokeColor=" + shape.strokeColor).append(";");
@@ -867,7 +866,7 @@ public class GliffyDiagramConverter
 				GliffyShape gs = gLane.graphic.getShape();
 				StringBuilder laneStyle = new StringBuilder();
 				laneStyle.append("swimlane;collapsible=0;swimlaneLine=0;");
-				laneStyle.append("strokeWidth=" + gs.strokeWidth).append(";");
+				laneStyle.append("strokeWidth=" + gs.getStrokeWidth()).append(";");
 				laneStyle.append("shadow=" + (gs.dropShadow ? 1 : 0)).append(";");
 				laneStyle.append("fillColor=" + gs.fillColor).append(";");
 				laneStyle.append("strokeColor=" + gs.strokeColor).append(";");
@@ -918,7 +917,7 @@ public class GliffyDiagramConverter
 
 			style.append("shape=" + StencilTranslator.translate(gliffyObject.uid, null)).append(";");
 			style.append("shadow=" + (mindmap.dropShadow ? 1 : 0)).append(";");
-			style.append("strokeWidth=" + mindmap.strokeWidth).append(";");
+			style.append("strokeWidth=" + mindmap.getStrokeWidth()).append(";");
 			style.append("fillColor=" + mindmap.fillColor).append(";");
 			style.append("strokeColor=" + mindmap.strokeColor).append(";");
 			style.append(DashStyleMapping.get(mindmap.dashStyle, 1));
diff --git a/src/main/java/com/mxgraph/io/gliffy/model/GliffyObject.java b/src/main/java/com/mxgraph/io/gliffy/model/GliffyObject.java
index 5b62e016e..8631ae7a6 100644
--- a/src/main/java/com/mxgraph/io/gliffy/model/GliffyObject.java
+++ b/src/main/java/com/mxgraph/io/gliffy/model/GliffyObject.java
@@ -30,6 +30,8 @@ public class GliffyObject implements PostDeserializable
 	
 	public static Set<String> FORCE_CONSTRAINTS_SHAPES = new HashSet<String>();
 	
+	public static Set<String> DEEPLY_NESTED_LINKS = new HashSet<String>();
+	
 	private static Map<String, double[]> SHAPES_COORD_FIX = new HashMap<>();
 
 	public float x;
@@ -225,6 +227,12 @@ public class GliffyObject implements PostDeserializable
 		
 		//There are many shapes where fillColor is the strokeColor
 		FILLCLR_IS_STROKECLR_SHAPES.add("com.gliffy.stencil.rectangle.no_fill_line_bottom_2px_off");
+		
+		//these shapes put links on their grandchildren
+		DEEPLY_NESTED_LINKS.add("com.gliffy.shape.basic.basic_v1.default.chevron_box_right");
+		DEEPLY_NESTED_LINKS.add("com.gliffy.shape.basic.basic_v1.default.chevron_box_left");
+		DEEPLY_NESTED_LINKS.add("com.gliffy.shape.basic.basic_v1.default.chevron_tail_right");
+		DEEPLY_NESTED_LINKS.add("com.gliffy.shape.basic.basic_v1.default.chevron_tail_left");
 	}
 
 	public GliffyObject()
@@ -310,17 +318,46 @@ public class GliffyObject implements PostDeserializable
 			
 		Iterator<GliffyObject> it = children.iterator();
 		
-		while (it.hasNext()) 
+		StringBuilder sb = new StringBuilder();
+		if(isDeeplyNestedLink()) 
+		{
+			getDeeplyNestedLink(sb);
+		}
+		else 
 		{
-			GliffyObject child = it.next();
+			while (it.hasNext()) 
+			{
+				GliffyObject child = it.next();
+				
+				if (child.isLink())
+				{
+					return child.graphic.getLink().href;
+				}
+			}
+		}
 
+		return sb.length() > 0 ? sb.toString() : null;
+	}
+	
+	/**
+	 * Inspects entire hierarchy of sub-elements to get the link URL.
+	 * 
+	 * @param sb placeholder for link URL
+	 */
+	private void getDeeplyNestedLink(StringBuilder sb) 
+	{
+		for(GliffyObject child : children) 
+		{
 			if (child.isLink())
 			{
-				return child.graphic.getLink().href;
+				sb.append(child.graphic.getLink().href);
+				return;
+			}
+			else if(child.children != null && !child.children.isEmpty())
+			{
+				child.getDeeplyNestedLink(sb);
 			}
 		}
-
-		return null;
 	}
 
 	/**
@@ -403,6 +440,11 @@ public class GliffyObject implements PostDeserializable
 	{
 		return uid != null && uid.startsWith("com.gliffy.shape.venn");
 	}
+	
+	public boolean isDeeplyNestedLink() 
+	{
+		return uid != null && DEEPLY_NESTED_LINKS.contains(uid);
+	}
 
 	public String getGradientColor()
 	{
diff --git a/src/main/java/com/mxgraph/io/gliffy/model/Graphic.java b/src/main/java/com/mxgraph/io/gliffy/model/Graphic.java
index 6105c7230..da08b92f8 100644
--- a/src/main/java/com/mxgraph/io/gliffy/model/Graphic.java
+++ b/src/main/java/com/mxgraph/io/gliffy/model/Graphic.java
@@ -29,13 +29,17 @@ public class Graphic
 
 	public static abstract class GliffyAbstractShape
 	{
-		public int strokeWidth;
+		private float strokeWidth;
 
 		public String strokeColor;
 
 		public String fillColor;
 
 		public String dashStyle;
+		
+		public int getStrokeWidth() {
+			return Math.round(strokeWidth);
+		}
 	}
 
 	public static class GliffyLine extends GliffyAbstractShape
@@ -61,9 +65,9 @@ public class Graphic
 
 		public int state;
 
-		public int shadowX;
+		public float shadowX;
 
-		public int shadowY;
+		public float shadowY;
 
 		public float opacity;
 
diff --git a/src/main/webapp/cache.manifest b/src/main/webapp/cache.manifest
index e22a10060..9730cc74b 100644
--- a/src/main/webapp/cache.manifest
+++ b/src/main/webapp/cache.manifest
@@ -1,7 +1,7 @@
 CACHE MANIFEST
 
 # THIS FILE WAS GENERATED. DO NOT MODIFY!
-# 12/05/2019 10:46 AM
+# 12/09/2019 05:11 PM
 
 app.html
 index.html?offline=1
diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js
index 1d3bdc9a4..673c6e30e 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -8354,7 +8354,7 @@ M.style.width="60px";k.appendChild(M);m.appendChild(k);p=document.createElement(
 function(){a.hideDialog();d(!1)}),l.className="geBtn",p.appendChild(l));l=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});l.className="geBtn gePrimaryBtn";p.appendChild(l);a.editor.cancelFirst||p.appendChild(k);m.appendChild(p);this.container=m};var z=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||
 (this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(z.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),
 null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var B=document.createElement("canvas"),C=new Image;C.onload=function(){try{B.getContext("2d").drawImage(C,0,0);var a=B.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(G){}};C.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(A){}})();
-(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,b){b.ui=a.ui;return d};a.afterDecode=function(a,d,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="12.3.7";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";
+(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,b){b.ui=a.ui;return d};a.afterDecode=function(a,d,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="12.3.9";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";
 EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.logError=
 function(a,b,c,d,e){if("1"==urlParams.dev)EditorUi.debug("logError",a,b,c,d,e);else if(EditorUi.enableLogging)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){EditorUi.lastErrorMessage=a;var f=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE",m=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";
 e=null!=e?e:Error(a);(new Image).src=m+"/log?severity="+f+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+(null!=d?":colno:"+encodeURIComponent(d):"")+(null!=e&&null!=e.stack?"&stack="+encodeURIComponent(e.stack):"")}}catch(y){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var b=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:
@@ -8773,9 +8773,9 @@ null==mxSettings.settings.createTarget&&(mxSettings.settings.createTarget=!1),nu
 mxGraphView.prototype.defaultDarkGridColor),null==mxSettings.settings.autosave&&(mxSettings.settings.autosave=!0),null!=mxSettings.settings.scratchpadSeen&&delete mxSettings.settings.scratchpadSeen))},clear:function(){isLocalStorage&&localStorage.removeItem(mxSettings.key)}};("undefined"==typeof mxLoadSettings||mxLoadSettings)&&mxSettings.load();DrawioFileSync=function(a){mxEventSource.call(this);this.lastActivity=new Date;this.clientId=Editor.guid();this.ui=a.ui;this.file=a;this.onlineListener=mxUtils.bind(this,function(){this.updateOnlineState();this.isConnected()&&this.fileChangedNotify()});mxEvent.addListener(window,"online",this.onlineListener);this.visibleListener=mxUtils.bind(this,function(){"hidden"==document.visibilityState?this.isConnected()&&this.stop():this.start()});mxEvent.addListener(document,"visibilitychange",this.visibleListener);
 this.activityListener=mxUtils.bind(this,function(a){this.lastActivity=new Date;this.start()});mxEvent.addListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.activityListener);mxEvent.addListener(document,"keypress",this.activityListener);mxEvent.addListener(window,"focus",this.activityListener);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(mxEvent.addListener(document,"touchstart",this.activityListener),mxEvent.addListener(document,"touchmove",this.activityListener));this.pusherErrorListener=
 mxUtils.bind(this,function(a){null!=a.error&&null!=a.error.data&&4004===a.error.data.code&&EditorUi.logError("Error: Pusher Limit",null,this.file.getId())});this.connectionListener=mxUtils.bind(this,function(){this.updateOnlineState();this.updateStatus();if(this.isConnected()){if(!this.announced){var a=this.file.getCurrentUser(),d={a:"join"};null!=a&&(d.name=a.displayName,d.uid=a.id);mxUtils.post(EditorUi.cacheUrl,this.getIdParameters()+"&msg="+encodeURIComponent(this.objectToString(this.createMessage(d))));
-this.file.stats.msgSent++;this.announced=!0}this.fileChangedNotify()}});this.changeListener=mxUtils.bind(this,function(a){this.file.stats.msgReceived++;this.lastActivity=new Date;if(this.enabled&&!this.file.inConflictState&&!this.file.redirectDialogShowing)try{var c=this.stringToObject(a);null!=c&&(EditorUi.debug("Sync.message",[this],c,a.length,"bytes"),c.v>DrawioFileSync.PROTOCOL?this.file.redirectToNewApp(mxUtils.bind(this,function(){})):c.v===DrawioFileSync.PROTOCOL&&null!=c.d&&this.handleMessageData(c.d))}catch(b){EditorUi.logError("Protocol Error "+
-b.message,null,"data_"+(null!=a?a.length:"null")+"_file_"+this.file.getHash()+"_client_"+this.clientId),null!=window.console&&console.log(b)}})};DrawioFileSync.PROTOCOL=6;mxUtils.extend(DrawioFileSync,mxEventSource);DrawioFileSync.prototype.maxCacheEntrySize=1E6;DrawioFileSync.prototype.enabled=!0;DrawioFileSync.prototype.updateStatusInterval=1E4;DrawioFileSync.prototype.channelId=null;DrawioFileSync.prototype.channel=null;DrawioFileSync.prototype.catchupRetryCount=0;
-DrawioFileSync.prototype.maxCatchupRetries=15;DrawioFileSync.prototype.maxCacheReadyRetries=2;DrawioFileSync.prototype.cacheReadyDelay=500;DrawioFileSync.prototype.inactivityTimeoutSeconds=1800;DrawioFileSync.prototype.lastActivity=null;
+this.file.stats.msgSent++;this.announced=!0}this.fileChangedNotify()}});this.changeListener=mxUtils.bind(this,function(a){this.file.stats.msgReceived++;this.lastActivity=new Date;if(this.enabled&&!this.file.inConflictState&&!this.file.redirectDialogShowing)try{var c=this.stringToObject(a);null!=c&&(EditorUi.debug("Sync.message",[this],c,a.length,"bytes"),c.v>DrawioFileSync.PROTOCOL?this.file.redirectToNewApp(mxUtils.bind(this,function(){})):c.v===DrawioFileSync.PROTOCOL&&null!=c.d&&this.handleMessageData(c.d))}catch(b){this.isConnected()&&
+this.fileChangedNotify(),EditorUi.logError("Protocol Error "+b.message,null,"data_"+(null!=a?a.length:"null")+"_file_"+this.file.getHash()+"_client_"+this.clientId),null!=window.console&&console.log(b)}})};DrawioFileSync.PROTOCOL=6;mxUtils.extend(DrawioFileSync,mxEventSource);DrawioFileSync.prototype.maxCacheEntrySize=1E6;DrawioFileSync.prototype.enabled=!0;DrawioFileSync.prototype.updateStatusInterval=1E4;DrawioFileSync.prototype.channelId=null;DrawioFileSync.prototype.channel=null;
+DrawioFileSync.prototype.catchupRetryCount=0;DrawioFileSync.prototype.maxCatchupRetries=15;DrawioFileSync.prototype.maxCacheReadyRetries=2;DrawioFileSync.prototype.cacheReadyDelay=500;DrawioFileSync.prototype.inactivityTimeoutSeconds=1800;DrawioFileSync.prototype.lastActivity=null;
 DrawioFileSync.prototype.start=function(){null==this.channelId&&(this.channelId=this.file.getChannelId());null==this.key&&(this.key=this.file.getChannelKey());if(null==this.pusher&&null!=this.channelId&&"hidden"!=document.visibilityState){this.pusher=this.ui.getPusher();if(null!=this.pusher){try{null!=this.pusher.connection&&this.pusher.connection.bind("error",this.pusherErrorListener)}catch(a){}try{this.pusher.connect(),this.channel=this.pusher.subscribe(this.channelId),EditorUi.debug("Sync.start",
 "v"+DrawioFileSync.PROTOCOL,[this])}catch(a){}this.installListeners()}window.setTimeout(mxUtils.bind(this,function(){this.lastModified=this.file.getLastModifiedDate();this.lastActivity=new Date;this.resetUpdateStatusThread();this.updateOnlineState();this.updateStatus()},0))}};DrawioFileSync.prototype.isConnected=function(){return null!=this.pusher&&null!=this.pusher.connection?"connected"==this.pusher.connection.state:!1};
 DrawioFileSync.prototype.updateOnlineState=function(){var a=mxUtils.bind(this,function(a){mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.enabled=!this.enabled;this.ui.updateButtonContainer();this.resetUpdateStatusThread();this.updateOnlineState();this.updateStatus();!this.file.inConflictState&&this.enabled&&this.fileChangedNotify()}))});if("min"==uiTheme&&null!=this.ui.buttonContainer){if(null==this.collaboratorsElement){var c=document.createElement("a");c.className="geToolbarButton";
@@ -8903,11 +8903,12 @@ function(a){a.pinned=!0;this.executeRequest({url:"/files/"+x.id+"/revisions/"+x.
 k||a.constructor!=DriveFile||"manual"!=DrawioFile.SYNC&&"auto"!=DrawioFile.SYNC?null:a.getCurrentEtag(),g=0,m=mxUtils.bind(this,function(b){a.saveLevel=5;try{var k=a.desc.mimeType!=this.xmlMimeType&&a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,m=!0,l=window.setTimeout(mxUtils.bind(this,function(){m=!1;n({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),3*this.ui.timeout);this.executeRequest(this.createUploadRequest(a.getId(),B,d,c||b||k,e,b?null:f,z),mxUtils.bind(this,
 function(a){window.clearTimeout(l);m&&A(a)}),mxUtils.bind(this,function(b){window.clearTimeout(l);if(m){a.saveLevel=6;try{a.isConflict(b)?this.executeRequest({url:"/files/"+a.getId()+"?supportsTeamDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(c){a.saveLevel=7;try{if(null!=c&&c.etag==f)if(g<this.maxRetries)g++,window.setTimeout(p,2*g*this.coolOff*(1+.1*(Math.random()-.5)));else{p(!0);try{EditorUi.logEvent({category:"STALE-ETAG-SAVE-FILE-"+a.getHash(),action:"rev_"+a.desc.headRevisionId+
 "-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType+(this.ui.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}catch(ca){}}else"1"==urlParams.test&&c.headRevisionId==u&&EditorUi.debug("DriveClient: Remote Etag Changed","local",f,"remote",c.etag,"rev",
-a.desc.headRevisionId,"response",[c],"file",[a]),n(b,c)}catch(ca){t(ca)}}),mxUtils.bind(this,function(){n(b)})):n(b)}catch(ga){t(ga)}}}))}catch(X){t(X)}}),p=mxUtils.bind(this,function(b){a.saveLevel=9;if(b)m(b);else{var c=!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;n({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),3*this.ui.timeout);this.executeRequest({url:"/files/"+a.getId()+"?supportsTeamDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(e){window.clearTimeout(d);
-if(c){a.saveLevel=13;try{null!=e&&e.headRevisionId==u?("1"==urlParams.test&&f!=e.etag&&EditorUi.debug("DriveClient: Preflight Etag Update","from",f,"to",e.etag,"rev",a.desc.headRevisionId,"response",[e],"file",[a]),f=e.etag,m(b)):n({error:{code:412}},e)}catch(X){t(X)}}}),mxUtils.bind(this,function(a){window.clearTimeout(d);c&&n(a)}))}});if(v&&null==b){a.saveLevel=8;var q=new Image;q.onload=mxUtils.bind(this,function(){try{var a=this.thumbnailWidth/q.width,b=document.createElement("canvas");b.width=
-this.thumbnailWidth;b.height=Math.floor(q.height*a);b.getContext("2d").drawImage(q,0,0,b.width,b.height);var c=b.toDataURL(),c=c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");B.thumbnail={image:c,mimeType:"image/png"};p(!1)}catch(V){p(!1)}});q.src="data:image/png;base64,"+d}else p(!1)}catch(Y){t(Y)}});v?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){y(a,!0)}),n,this.ui.getCurrentFile()!=a?C:null):y(C,!1)}catch(F){t(F)}});try{if(a.saveLevel=2,g||v||a.constructor==DriveLibrary||
-!this.enableThumbnails||"0"==urlParams.thumb||null!=a.desc.mimeType&&"application/vnd.jgraph.mxfile"!=a.desc.mimeType.substring(0,29)||!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(b){try{var c=a.thumbTime=null;try{null!=b&&(c=b.toDataURL("image/png")),null!=c&&(c=c.length>this.maxThumbnailSize?null:c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_"))}catch(D){c=null}q(c,"image/png")}catch(D){t(D)}})))a.thumbTime=null,q(null,null,a.constructor!=DriveLibrary)}catch(x){t(x)}}else this.ui.editor.graph.reset(),
-n({message:mxResources.get("readOnly")})}catch(x){t(x)}};DriveClient.prototype.insertFile=function(a,c,d,b,e,g,k){g=null!=g?g:this.xmlMimeType;a={mimeType:g,title:a};null!=d&&(a.parents=[{kind:"drive#fileLink",id:d}]);this.executeRequest(this.createUploadRequest(null,a,c,!1,k),mxUtils.bind(this,function(a){g==this.libraryMimeType?b(new DriveLibrary(this.ui,c,a)):0==a?null!=e&&e({message:mxResources.get("errorSavingFile")}):b(new DriveFile(this.ui,c,a))}),e)};
+a.desc.headRevisionId,"response",[c],"file",[a]),n(b,c)}catch(ca){t(ca)}}),mxUtils.bind(this,function(){n(b)})):n(b)}catch(ga){t(ga)}}}))}catch(X){t(X)}}),p=mxUtils.bind(this,function(b){a.saveLevel=9;if(b)m(b);else{var c=!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;n({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),3*this.ui.timeout);this.executeRequest({url:"/files/"+a.getId()+"?supportsTeamDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(e){a.saveLevel=
+11;window.clearTimeout(d);if(c){a.saveLevel=13;try{null!=e&&e.headRevisionId==u?("1"==urlParams.test&&f!=e.etag&&EditorUi.debug("DriveClient: Preflight Etag Update","from",f,"to",e.etag,"rev",a.desc.headRevisionId,"response",[e],"file",[a]),f=e.etag,m(b)):n({error:{code:412}},e)}catch(X){t(X)}}}),mxUtils.bind(this,function(b){a.saveLevel=12;window.clearTimeout(d);c&&n(b)}));a.saveLevel=10}});if(v&&null==b){a.saveLevel=8;var q=new Image;q.onload=mxUtils.bind(this,function(){try{var a=this.thumbnailWidth/
+q.width,b=document.createElement("canvas");b.width=this.thumbnailWidth;b.height=Math.floor(q.height*a);b.getContext("2d").drawImage(q,0,0,b.width,b.height);var c=b.toDataURL(),c=c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");B.thumbnail={image:c,mimeType:"image/png"};p(!1)}catch(V){p(!1)}});q.src="data:image/png;base64,"+d}else p(!1)}catch(Y){t(Y)}});v?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){y(a,!0)}),n,this.ui.getCurrentFile()!=a?C:null):y(C,!1)}catch(F){t(F)}});
+try{if(a.saveLevel=2,g||v||a.constructor==DriveLibrary||!this.enableThumbnails||"0"==urlParams.thumb||null!=a.desc.mimeType&&"application/vnd.jgraph.mxfile"!=a.desc.mimeType.substring(0,29)||!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(b){try{var c=a.thumbTime=null;try{null!=b&&(c=b.toDataURL("image/png")),null!=c&&(c=c.length>this.maxThumbnailSize?null:c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_"))}catch(D){c=null}q(c,"image/png")}catch(D){t(D)}})))a.thumbTime=
+null,q(null,null,a.constructor!=DriveLibrary)}catch(x){t(x)}}else this.ui.editor.graph.reset(),n({message:mxResources.get("readOnly")})}catch(x){t(x)}};
+DriveClient.prototype.insertFile=function(a,c,d,b,e,g,k){g=null!=g?g:this.xmlMimeType;a={mimeType:g,title:a};null!=d&&(a.parents=[{kind:"drive#fileLink",id:d}]);this.executeRequest(this.createUploadRequest(null,a,c,!1,k),mxUtils.bind(this,function(a){g==this.libraryMimeType?b(new DriveLibrary(this.ui,c,a)):0==a?null!=e&&e({message:mxResources.get("errorSavingFile")}):b(new DriveFile(this.ui,c,a))}),e)};
 DriveClient.prototype.createUploadRequest=function(a,c,d,b,e,g,k){e=null!=e?e:!1;var l={"Content-Type":'multipart/mixed; boundary="-------314159265358979323846"'};null!=g&&(l["If-Match"]=g);a={fullUrl:"https://content.googleapis.com/upload/drive/v2/files"+(null!=a?"/"+a:"")+"?uploadType=multipart&supportsTeamDrives=true&fields="+this.allFields,method:null!=a?"PUT":"POST",headers:l,params:"\r\n---------314159265358979323846\r\nContent-Type: application/json\r\n\r\n"+JSON.stringify(c)+"\r\n---------314159265358979323846\r\nContent-Type: application/octect-stream\r\nContent-Transfer-Encoding: base64\r\n\r\n"+
 (null!=d?e?d:Base64.encode(d):"")+"\r\n---------314159265358979323846--"};b||(a.url+="&newRevision=false");k&&(a.url+="&pinned=true");return a};
 DriveClient.prototype.pickFile=function(a,c){this.filePickerCallback=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("G"+a)});this.filePicked=mxUtils.bind(this,function(a){a.action==google.picker.Action.PICKED&&this.filePickerCallback(a.docs[0].id)});this.ui.spinner.spin(document.body,mxResources.get("authorizing"))&&this.execute(mxUtils.bind(this,function(){try{this.ui.spinner.stop();var a=c?"genericPicker":"filePicker",b=mxUtils.bind(this,function(c){"picker modal-dialog-bg picker-dialog-bg"==
diff --git a/src/main/webapp/js/diagramly/DrawioFileSync.js b/src/main/webapp/js/diagramly/DrawioFileSync.js
index ba6594738..42be2cfd8 100644
--- a/src/main/webapp/js/diagramly/DrawioFileSync.js
+++ b/src/main/webapp/js/diagramly/DrawioFileSync.js
@@ -102,7 +102,7 @@ DrawioFileSync = function(file)
 		}
 	});
 	
-	// Listens to remove messages
+	// Listens to messages
 	this.changeListener = mxUtils.bind(this, function(data)
 	{
 		this.file.stats.msgReceived++;
@@ -135,6 +135,12 @@ DrawioFileSync = function(file)
 			}
 			catch (e)
 			{
+				// Checks if file was changed
+				if (this.isConnected())
+				{
+					this.fileChangedNotify();
+				}
+				
 				var len = (data != null) ? data.length : 'null';
 				
 				EditorUi.logError('Protocol Error ' + e.message,
diff --git a/src/main/webapp/js/diagramly/DriveClient.js b/src/main/webapp/js/diagramly/DriveClient.js
index 5035a7065..a017ceeac 100644
--- a/src/main/webapp/js/diagramly/DriveClient.js
+++ b/src/main/webapp/js/diagramly/DriveClient.js
@@ -1621,6 +1621,7 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec
 									},
 									mxUtils.bind(this, function(desc2)
 									{
+										file.saveLevel = 11;
 										window.clearTimeout(timeoutThread);
 										
 										if (acceptResponse)
@@ -1656,6 +1657,7 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec
 									}), mxUtils.bind(this, function(err)
 									{
 										// Simulated 
+										file.saveLevel = 12;
 										window.clearTimeout(timeoutThread);
 										
 										if (acceptResponse)
@@ -1663,6 +1665,8 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec
 											error(err);
 										}
 									}));
+									
+									file.saveLevel = 10;
 								}
 							});
 							
diff --git a/src/main/webapp/js/diagramly/Extensions.js b/src/main/webapp/js/diagramly/Extensions.js
index de6a738e3..1c38b0620 100644
--- a/src/main/webapp/js/diagramly/Extensions.js
+++ b/src/main/webapp/js/diagramly/Extensions.js
@@ -4292,7 +4292,7 @@ LucidImporter = {};
 	   	v.insert(dummy);
 	   	cells = [dummy];
 	   	
-		var e = sb.cloneCell(edge);
+		var e = edge.clone();
 		cell.insertEdge(e, false);
 		dummy.insertEdge(e, true);
 		cells.push(e);
@@ -4311,7 +4311,7 @@ LucidImporter = {};
 	   	v.insert(dummy2);
 	   	cells = [dummy2];
 	   	
-		var e = sb.cloneCell(edge);
+		var e = edge.clone();
 		dummy1.insertEdge(e, true);
 		dummy2.insertEdge(e, false);
 		cells.push(e);
diff --git a/src/main/webapp/js/diagramly/GraphViewer.js b/src/main/webapp/js/diagramly/GraphViewer.js
index 1db828e26..24b46cc2a 100644
--- a/src/main/webapp/js/diagramly/GraphViewer.js
+++ b/src/main/webapp/js/diagramly/GraphViewer.js
@@ -1467,10 +1467,11 @@ GraphViewer.prototype.showLocalLightbox = function()
 	urlParams['pages'] = '1';
 	urlParams['page'] = this.currentPage;
 	urlParams['page-id'] = this.graphConfig.pageId;
-	urlParams['layer-ids'] = this.graphConfig.layerIds != null? this.graphConfig.layerIds.join(' ') : null;
+	urlParams['layer-ids'] = (this.graphConfig.layerIds != null && this.graphConfig.layerIds.length > 0)
+														? this.graphConfig.layerIds.join(' ') : null;
 	urlParams['nav'] = (this.graphConfig.nav != false) ? '1' : '0';
 	urlParams['layers'] = (this.layersEnabled) ? '1' : '0';
-	
+
 	// PostMessage not working and Permission denied for opened access in IE9-
 	if (document.documentMode == null || document.documentMode >= 10)
 	{
diff --git a/src/main/webapp/js/extensions.min.js b/src/main/webapp/js/extensions.min.js
index cf6bb5ff9..75e45d39c 100644
--- a/src/main/webapp/js/extensions.min.js
+++ b/src/main/webapp/js/extensions.min.js
@@ -4,7 +4,7 @@ null!=b.Value.t)return b.Value.t=b.Value.t.replace(/</g,"&lt;"),b.Value.t=b.Valu
 b,d,h){var p="";null!=a&&""!=a&&";"!=a.charAt(a.length-1)&&(p=";");return p+=e(mxConstants.STYLE_FONTSIZE,a,b,d,h)+e(mxConstants.STYLE_FONTCOLOR,a,b,d,h)+e(mxConstants.STYLE_FONTSTYLE,a,b,d,h)+e(mxConstants.STYLE_ALIGN,a,b,d,h)+e(mxConstants.STYLE_SPACING_LEFT,a,b,d,h)+e(mxConstants.STYLE_SPACING_RIGHT,a,b,d,h)+e(mxConstants.STYLE_SPACING_TOP,a,b,d,h)+e(mxConstants.STYLE_SPACING_BOTTOM,a,b,d,h)+e(mxConstants.STYLE_SPACING,a,b,d,h)+e(mxConstants.STYLE_VERTICAL_ALIGN,a,b,d,h)+e(mxConstants.STYLE_STROKECOLOR,
 a,b,d,h)+e(mxConstants.STYLE_OPACITY,a,b,d,h)+e(mxConstants.STYLE_ROUNDED,a,b,d,h)+e(mxConstants.STYLE_ROTATION,a,b,d,h)+e(mxConstants.STYLE_FLIPH,a,b,d,h)+e(mxConstants.STYLE_FLIPV,a,b,d,h)+e(mxConstants.STYLE_SHADOW,a,b,d,h)+e(mxConstants.STYLE_FILLCOLOR,a,b,d,h)+e(mxConstants.STYLE_DASHED,a,b,d,h)+e(mxConstants.STYLE_STROKEWIDTH,a,b,d,h)+e(mxConstants.STYLE_IMAGE,a,b,d,h)}function e(c,e,f,k,g){a:{if(null!=e&&null!=c){if(e.includes(";"+c+"=")){e=!0;break a}if(e.substring(0,c.length+1)==c+"="){e=
 !0;break a}}e=!1}if(!e)switch(c){case mxConstants.STYLE_FONTSIZE:return b(f);case mxConstants.STYLE_FONTCOLOR:return a(f);case mxConstants.STYLE_FONTSTYLE:return d(f);case mxConstants.STYLE_ALIGN:return h(f);case mxConstants.STYLE_SPACING_LEFT:return p(f);case mxConstants.STYLE_SPACING_RIGHT:return y(f);case mxConstants.STYLE_SPACING_TOP:return z(f);case mxConstants.STYLE_SPACING_BOTTOM:return x(f);case mxConstants.STYLE_SPACING:return C(f);case mxConstants.STYLE_VERTICAL_ALIGN:return F(f);case mxConstants.STYLE_STROKECOLOR:return A(f,
-k);case mxConstants.STYLE_OPACITY:return B(f,k,g);case mxConstants.STYLE_ROUNDED:return k=!g.edge&&null!=f.Rounding&&0<f.Rounding?"rounded=1;absoluteArcSize=1;arcSize="+.6*f.Rounding+";":"",k;case mxConstants.STYLE_ROTATION:a:{if(null!=f.Rotation&&(c=mxUtils.toDegree(parseFloat(f.Rotation)),"AdvancedSwimLaneBlockRotated"==k.Class?(c+=90,g.geometry.rotate90()):0<=mxUtils.indexOf(pb,k.Class)?(c-=90,g.geometry.rotate90(),g.geometry.rotate90(),g.geometry.rotate90()):0<=mxUtils.indexOf(Yb,k.Class)&&(c+=
+k);case mxConstants.STYLE_OPACITY:return B(f,k,g);case mxConstants.STYLE_ROUNDED:return k=!g.edge&&null!=f.Rounding&&0<f.Rounding?"rounded=1;absoluteArcSize=1;arcSize="+.6*f.Rounding+";":"",k;case mxConstants.STYLE_ROTATION:a:{if(null!=f.Rotation&&(c=mxUtils.toDegree(parseFloat(f.Rotation)),"AdvancedSwimLaneBlockRotated"==k.Class?(c+=90,g.geometry.rotate90()):0<=mxUtils.indexOf(pb,k.Class)?(c-=90,g.geometry.rotate90(),g.geometry.rotate90(),g.geometry.rotate90()):0<=mxUtils.indexOf(Xb,k.Class)&&(c+=
 180,g.geometry.rotate90(),g.geometry.rotate90()),0!=c)){k="rotation="+c+";";break a}k=""}return k;case mxConstants.STYLE_FLIPH:return k=f.FlipX?"flipH=1;":"",k;case mxConstants.STYLE_FLIPV:return k=f.FlipY?"flipV=1;":"",k;case mxConstants.STYLE_SHADOW:return G(f);case mxConstants.STYLE_FILLCOLOR:return D(f,k);case mxConstants.STYLE_DASHED:return Z(f);case mxConstants.STYLE_STROKEWIDTH:return Y(f);case mxConstants.STYLE_IMAGE:return k="ImageSearchBlock2"==k.Class?"image="+f.URL+";":"UserImage2Block"==
 k.Class&&null!=f.ImageFillProps&&null!=f.ImageFillProps.url?"image="+f.ImageFillProps.url+";":"",k}return""}function b(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("s"==d.n&&null!=d.v)return"fontSize="+Math.round(.6*d.v)+";";b++}return"fontSize=11;"}function a(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("c"==d.n&&null!=d.v)return a=d.v,"#"!=a.charAt(0)&&(a="#"+a),a=a.substring(0,7),mxConstants.STYLE_FONTCOLOR+"="+a+";";b++}return""}function d(a){a=m(a);if(null!=a){var b=
 0,d=!1;if(null!=a)for(var h=0;!d&&h<a.length;){var p=a[h];"b"==p.n&&null!=p.v&&p.v&&(d=!0,b+=1);h++}d=!1;if(null!=a)for(h=0;!d&&h<a.length;)p=a[h],"i"==p.n&&null!=p.v&&p.v&&(d=!0,b+=2),h++;d=!1;if(null!=a)for(h=0;!d&&h<a.length;)p=a[h],"u"==p.n&&null!=p.v&&p.v&&(d=!0,b+=4),h++;if(0<b)return"fontStyle="+b+";"}return""}function h(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("a"==d.n&&null!=d.v)return"align="+d.v+";";b++}return""}function p(a){var b=m(a);if(null!=b)for(var d=0;d<b.length;){var p=
@@ -18,44 +18,44 @@ null!=h.Rounding?a.style+("rounded=1;arcSize="+h.Rounding+";"):a.style+"rounded=
 d.x+0),Math.round(.6*d.y+0),Math.round(.6*d.w),Math.round(.6*d.h)),"html=1;whiteSpace=wrap;");v.vertex=!0;aa(v,a,b);return v}function S(a,b,d){d=2*(parseFloat(a.Location)-.5);a=new mxCell(c(a),new mxGeometry(d,0,0,0),"text;html=1;resizable=0;labelBackgroundColor=#ffffff;align=center;verticalAlign=middle;");a.geometry.relative=!0;a.vertex=!0;b.insert(a);return b}function U(a,b,d,h){null!=b&&null!=h&&(b=h(b));return null!=b&&b!=d?a+"="+b+";":""}function da(a,b,d){null!=b&&null!=b.LinkX&&null!=b.LinkY&&
 (a.style+=(d?"exitX":"entryX")+"="+b.LinkX+";"+(d?"exitY":"entryY")+"="+b.LinkY+";"+(d?"exitPerimeter":"entryPerimeter")+"=1;")}function ka(a,b,d,h,p,c){a.getModel().beginUpdate();try{var e=function(b,d){var h=null!=d.Endpoint1.Block?y[d.Endpoint1.Block]:null,p=null!=d.Endpoint2.Block?y[d.Endpoint2.Block]:null,c;c=new mxCell("",new mxGeometry(0,0,100,100),"html=1;jettySize=18;");c.geometry.relative=!0;c.edge=!0;aa(c,b);var e=n(b).Properties,f=null!=e?e.TextAreas:b.TextAreas;if(null!=f){for(var l=
 0;null!=f["t"+l];){var z=f["t"+l];c=S(z,c);l++}for(l=1;null!=f["m"+l];)z=f["m"+l],c=S(z,c,b),l++;null!=f.Text&&(c=S(f,c,b));f=null!=e?e.TextAreas:b.TextAreas;null!=f.Message&&(c=S(f.Message,c,b))}null==h&&null!=d.Endpoint1&&c.geometry.setTerminalPoint(new mxPoint(Math.round(.6*d.Endpoint1.x),Math.round(.6*d.Endpoint1.y)),!0);null==p&&null!=d.Endpoint2&&c.geometry.setTerminalPoint(new mxPoint(Math.round(.6*d.Endpoint2.x),Math.round(.6*d.Endpoint2.y)),!1);g.push(a.addCell(c,null,null,h,p))},g=[],y=
-{},f=[],z=[],x=0;if(null!=b.Groups)for(var k in b.Groups){var m=b.Groups[k];m.id=k;if(1==m.Hidden&&null!=m.Members){0>mxUtils.indexOf(z,k)&&z.push(k);for(var C in m.Members)z=Eb(C,b.Groups,z)}}if(null!=b.Blocks)for(k in b.Blocks)m=b.Blocks[k],m.id=k,0>mxUtils.indexOf(z,k)&&(C=!1,null!=bb[m.Class]&&"mxCompositeShape"==bb[m.Class]&&(y[m.id]=qb(m,g,a),f.push(m),C=!0),C||(y[m.id]=L(m),f.push(m)));else for(x=0;x<b.Objects.length;x++)m=b.Objects[x],null!=m.Action&&"mxCompositeShape"==bb[m.Action.Class]?
+{},f=[],z=[],x=0;if(null!=b.Groups)for(var k in b.Groups){var m=b.Groups[k];m.id=k;if(1==m.Hidden&&null!=m.Members){0>mxUtils.indexOf(z,k)&&z.push(k);for(var C in m.Members)z=Db(C,b.Groups,z)}}if(null!=b.Blocks)for(k in b.Blocks)m=b.Blocks[k],m.id=k,0>mxUtils.indexOf(z,k)&&(C=!1,null!=bb[m.Class]&&"mxCompositeShape"==bb[m.Class]&&(y[m.id]=qb(m,g,a),f.push(m),C=!0),C||(y[m.id]=L(m),f.push(m)));else for(x=0;x<b.Objects.length;x++)m=b.Objects[x],null!=m.Action&&"mxCompositeShape"==bb[m.Action.Class]?
 y[m.id]=qb(m,g,a):m.IsBlock&&null!=m.Action&&null!=m.Action.Properties&&(y[m.id]=L(m,a)),f.push(m);f.sort(function(a,b){a=n(a);b=n(b);return null!=a.Properties&&null!=b.Properties?a.Properties.ZOrder-b.Properties.ZOrder:0});for(x=0;x<f.length;x++){var m=f[x],u=y[m.id];null!=u?g.push(a.addCell(u)):m.IsLine&&null!=m.Action&&null!=m.Action.Properties&&e(m,m.Action.Properties)}if(null!=b.Lines)for(k in b.Lines)0>mxUtils.indexOf(z,k)&&(m=b.Lines[k],e(m,m));if(p&&null!=d&&null!=h){a.isGridEnabled()&&(d=
-a.snap(d),h=a.snap(h));var l=a.getBoundingBoxFromGeometry(g,!0);null!=l&&a.moveCells(g,d-l.x,h-l.y)}c||a.setSelectionCells(g)}finally{a.getModel().endUpdate()}}function ba(){var a=new Graph;a.setExtendParents(!1);a.setExtendParentsOnAdd(!1);a.setConstrainChildren(!1);a.setHtmlLabels(!0);a.getModel().maintainEdgeParent=!1;return a}function Da(a,b,d,h,p,c,e,y){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;e.insert(a);c=[a];d=sb.cloneCell(d);y.insertEdge(d,!1);
-a.insertEdge(d,!0);c.push(d);h.push(p.addCell(d,null,null,null,null))}function ga(a,b,d,h,p,c,e,y,f){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;f.insert(a);d=new mxCell("",new mxGeometry(d,h,0,0),"strokeColor=none;fillColor=none;");d.vertex=!0;f.insert(d);y=[d];p=sb.cloneCell(p);a.insertEdge(p,!0);d.insertEdge(p,!1);y.push(p);c.push(e.addCell(p,null,null,null,null))}function ea(a,b,d,h,p,e){h.style="rounded=1;absoluteArcSize=1;fillColor=#ffffff;arcSize=2;strokeColor=#dddddd;";
+a.snap(d),h=a.snap(h));var l=a.getBoundingBoxFromGeometry(g,!0);null!=l&&a.moveCells(g,d-l.x,h-l.y)}c||a.setSelectionCells(g)}finally{a.getModel().endUpdate()}}function ba(){var a=new Graph;a.setExtendParents(!1);a.setExtendParentsOnAdd(!1);a.setConstrainChildren(!1);a.setHtmlLabels(!0);a.getModel().maintainEdgeParent=!1;return a}function Da(a,b,d,h,p,c,e,y){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;e.insert(a);c=[a];d=d.clone();y.insertEdge(d,!1);a.insertEdge(d,
+!0);c.push(d);h.push(p.addCell(d,null,null,null,null))}function ga(a,b,d,h,p,c,e,y,f){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;f.insert(a);d=new mxCell("",new mxGeometry(d,h,0,0),"strokeColor=none;fillColor=none;");d.vertex=!0;f.insert(d);y=[d];p=p.clone();a.insertEdge(p,!0);d.insertEdge(p,!1);y.push(p);c.push(e.addCell(p,null,null,null,null))}function ea(a,b,d,h,p,e){h.style="rounded=1;absoluteArcSize=1;fillColor=#ffffff;arcSize=2;strokeColor=#dddddd;";
 h.style+=f(h.style,p,e,h);b=c(p);h.vertex=!0;a=new mxCell(b,new mxGeometry(0,.5,24,24),"dashed=0;connectable=0;html=1;strokeColor=none;"+mxConstants.STYLE_SHAPE+"=mxgraph.gcp2."+a+";part=1;shadow=0;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=5;");a.style+=f(a.style,p,e,a);a.geometry.relative=!0;a.geometry.offset=new mxPoint(5,-12);a.vertex=!0;h.insert(a)}function ia(a,b,d,h,p,e,y,z){p="transparent"!=a?mxConstants.STYLE_SHAPE+"=mxgraph.gcp2.":mxConstants.STYLE_SHAPE+
 "=";e.style="rounded=1;absoluteArcSize=1;arcSize=2;verticalAlign=bottom;fillColor=#ffffff;strokeColor=#dddddd;whiteSpace=wrap;";e.style+=f(e.style,y,z,e);e.value=c(y);e.vertex=!0;a=new mxCell(null,new mxGeometry(.5,0,.7*h*b,.7*h*d),p+a+";part=1;dashed=0;connectable=0;html=1;strokeColor=none;shadow=0;");a.geometry.relative=!0;a.geometry.offset=new mxPoint(-b*h*.35,10+(1-d)*h*.35);a.vertex=!0;a.style+=f(a.style,y,z,a);e.insert(a)}function qb(e,m,L){var u=n(e),g=u.Properties,S=g.BoundingBox,t=Math.round(.6*
 S.w),r=Math.round(.6*S.h),U=Math.round(.6*S.x+0),ba=Math.round(.6*S.y+0);null==e.Class||"GCPInputDatabase"!==e.Class&&"GCPInputRecord"!==e.Class&&"GCPInputPayment"!==e.Class&&"GCPInputGateway"!==e.Class&&"GCPInputLocalCompute"!==e.Class&&"GCPInputBeacon"!==e.Class&&"GCPInputStorage"!==e.Class&&"GCPInputList"!==e.Class&&"GCPInputStream"!==e.Class&&"GCPInputMobileDevices"!==e.Class&&"GCPInputCircuitBoard"!==e.Class&&"GCPInputLive"!==e.Class&&"GCPInputUsers"!==e.Class&&"GCPInputLaptop"!==e.Class&&"GCPInputApplication"!==
 e.Class&&"GCPInputLightbulb"!==e.Class&&"GCPInputGame"!==e.Class&&"GCPInputDesktop"!==e.Class&&"GCPInputDesktopAndMobile"!==e.Class&&"GCPInputWebcam"!==e.Class&&"GCPInputSpeaker"!==e.Class&&"GCPInputRetail"!==e.Class&&"GCPInputReport"!==e.Class&&"GCPInputPhone"!==e.Class&&"GCPInputBlank"!==e.Class||(r+=20);v=new mxCell("",new mxGeometry(U,ba,t,r),"html=1;whiteSpace=wrap;");v.vertex=!0;switch(null!=e.Class?e.Class:null!=u?u.Class:null){case "BraceNoteBlock":case "UI2BraceNoteBlock":var ka=!1;null!=
 g.BraceDirection&&"Right"==g.BraceDirection&&(ka=!0);var da=null,la=null;ka?(da=new mxCell("",new mxGeometry(t-.125*r,0,.125*r,r),"shape=curlyBracket;rounded=1;"),la=new mxCell("",new mxGeometry(0,0,t-.125*r,r),"strokeColor=none;fillColor=none;")):(da=new mxCell("",new mxGeometry(0,0,.125*r,r),"shape=curlyBracket;rounded=1;flipH=1;"),la=new mxCell("",new mxGeometry(.125*r,0,t-.125*r,r),"strokeColor=none;fillColor=none;"));v.style="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);da.vertex=
-!0;v.insert(da);da.style+=f(da.style,g,u,da);la.vertex=!0;la.value=c(g);v.insert(la);la.style+=f(la.style,g,u,la);break;case "AdvancedSwimLaneBlockRotated":case "AdvancedSwimLaneBlock":var pb=0;null!=g.Lanes&&(pb=g.Lanes.length);v.style="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);for(var qb=0,db=[],l=0;l<pb;l++){var Yb=parseFloat(g.Lanes[l].p);db.push(new mxCell("",new mxGeometry(t*qb,0,t*Yb,r),"shape=swimlane;startSize=25;"));db[l].vertex=!0;v.insert(db[l]);db[l].value=c(g["Lane_"+
-l]);db[l].style+=b(g["Lane_"+l])+a(g["Lane_"+l])+d(g["Lane_"+l])+h(g["Lane_"+l],db[l])+p(g["Lane_"+l])+y(g["Lane_"+l])+z(g["Lane_"+l])+x(g["Lane_"+l])+C(g["Lane_"+l])+F(g["Lane_"+l]);f(db[l].style,g,u,db[l]);qb+=Yb}break;case "AndroidDevice":if(null!=g.AndroidDeviceName){v.style="fillColor=#000000;strokeColor=#000000;";var ib=null,Cb=null,bb=null;if("Tablet"==g.AndroidDeviceName||"Mini Tablet"==g.AndroidDeviceName)v.style+="shape=mxgraph.android.tab2;",ib=new mxCell("",new mxGeometry(.112*t,.077*
-r,.77*t,.85*r),""),g.KeyboardShown&&(Cb=new mxCell("",new mxGeometry(.112*t,.727*r,.77*t,.2*r),"shape=mxgraph.android.keyboard;")),g.FullScreen||(bb=new mxCell("",new mxGeometry(.112*t,.077*r,.77*t,.03*r),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*r+";"));else if("Large Phone"==g.AndroidDeviceName||"Phone"==g.AndroidDeviceName)v.style+="shape=mxgraph.android.phone2;",ib=new mxCell("",new mxGeometry(.04*t,.092*r,.92*t,.816*r),""),g.KeyboardShown&&
-(Cb=new mxCell("",new mxGeometry(.04*t,.708*r,.92*t,.2*r),"shape=mxgraph.android.keyboard;")),g.FullScreen||(bb=new mxCell("",new mxGeometry(.04*t,.092*r,.92*t,.03*r),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*r+";"));ib.vertex=!0;v.insert(ib);"Dark"==g.Scheme?ib.style+="fillColor=#111111;":"Light"==g.Scheme&&(ib.style+="fillColor=#ffffff;");null!=Cb&&(Cb.vertex=!0,v.insert(Cb));null!=bb&&(bb.vertex=!0,v.insert(bb))}v.style+=f(v.style,
-g,u,v);break;case "AndroidAlertDialog":var La=new mxCell("",new mxGeometry(0,0,t,30),"strokeColor=none;fillColor=none;spacingLeft=9;");La.vertex=!0;v.insert(La);var na=new mxCell("",new mxGeometry(0,25,t,10),"shape=line;strokeColor=#33B5E5;");na.vertex=!0;v.insert(na);var Db=new mxCell("",new mxGeometry(0,30,t,r-30),"strokeColor=none;fillColor=none;verticalAlign=top;");Db.vertex=!0;v.insert(Db);var qa=new mxCell("",new mxGeometry(0,r-25,.5*t,25),"fillColor=none;");qa.vertex=!0;v.insert(qa);var ra=
-new mxCell("",new mxGeometry(.5*t,r-25,.5*t,25),"fillColor=none;");ra.vertex=!0;v.insert(ra);La.value=c(g.DialogTitle);La.style+=k(g.DialogTitle);Db.value=c(g.DialogText);Db.style+=k(g.DialogText);qa.value=c(g.Button_0);qa.style+=k(g.Button_0);ra.value=c(g.Button_1);ra.style+=k(g.Button_1);"Dark"==g.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",qa.style+="strokeColor=#353535;",ra.style+="strokeColor=#353535;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",qa.style+=
+!0;v.insert(da);da.style+=f(da.style,g,u,da);la.vertex=!0;la.value=c(g);v.insert(la);la.style+=f(la.style,g,u,la);break;case "AdvancedSwimLaneBlockRotated":case "AdvancedSwimLaneBlock":var pb=0;null!=g.Lanes&&(pb=g.Lanes.length);v.style="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);for(var qb=0,db=[],l=0;l<pb;l++){var Xb=parseFloat(g.Lanes[l].p);db.push(new mxCell("",new mxGeometry(t*qb,0,t*Xb,r),"shape=swimlane;startSize=25;"));db[l].vertex=!0;v.insert(db[l]);db[l].value=c(g["Lane_"+
+l]);db[l].style+=b(g["Lane_"+l])+a(g["Lane_"+l])+d(g["Lane_"+l])+h(g["Lane_"+l],db[l])+p(g["Lane_"+l])+y(g["Lane_"+l])+z(g["Lane_"+l])+x(g["Lane_"+l])+C(g["Lane_"+l])+F(g["Lane_"+l]);f(db[l].style,g,u,db[l]);qb+=Xb}break;case "AndroidDevice":if(null!=g.AndroidDeviceName){v.style="fillColor=#000000;strokeColor=#000000;";var ib=null,Bb=null,bb=null;if("Tablet"==g.AndroidDeviceName||"Mini Tablet"==g.AndroidDeviceName)v.style+="shape=mxgraph.android.tab2;",ib=new mxCell("",new mxGeometry(.112*t,.077*
+r,.77*t,.85*r),""),g.KeyboardShown&&(Bb=new mxCell("",new mxGeometry(.112*t,.727*r,.77*t,.2*r),"shape=mxgraph.android.keyboard;")),g.FullScreen||(bb=new mxCell("",new mxGeometry(.112*t,.077*r,.77*t,.03*r),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*r+";"));else if("Large Phone"==g.AndroidDeviceName||"Phone"==g.AndroidDeviceName)v.style+="shape=mxgraph.android.phone2;",ib=new mxCell("",new mxGeometry(.04*t,.092*r,.92*t,.816*r),""),g.KeyboardShown&&
+(Bb=new mxCell("",new mxGeometry(.04*t,.708*r,.92*t,.2*r),"shape=mxgraph.android.keyboard;")),g.FullScreen||(bb=new mxCell("",new mxGeometry(.04*t,.092*r,.92*t,.03*r),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*r+";"));ib.vertex=!0;v.insert(ib);"Dark"==g.Scheme?ib.style+="fillColor=#111111;":"Light"==g.Scheme&&(ib.style+="fillColor=#ffffff;");null!=Bb&&(Bb.vertex=!0,v.insert(Bb));null!=bb&&(bb.vertex=!0,v.insert(bb))}v.style+=f(v.style,
+g,u,v);break;case "AndroidAlertDialog":var La=new mxCell("",new mxGeometry(0,0,t,30),"strokeColor=none;fillColor=none;spacingLeft=9;");La.vertex=!0;v.insert(La);var na=new mxCell("",new mxGeometry(0,25,t,10),"shape=line;strokeColor=#33B5E5;");na.vertex=!0;v.insert(na);var Cb=new mxCell("",new mxGeometry(0,30,t,r-30),"strokeColor=none;fillColor=none;verticalAlign=top;");Cb.vertex=!0;v.insert(Cb);var qa=new mxCell("",new mxGeometry(0,r-25,.5*t,25),"fillColor=none;");qa.vertex=!0;v.insert(qa);var ra=
+new mxCell("",new mxGeometry(.5*t,r-25,.5*t,25),"fillColor=none;");ra.vertex=!0;v.insert(ra);La.value=c(g.DialogTitle);La.style+=k(g.DialogTitle);Cb.value=c(g.DialogText);Cb.style+=k(g.DialogText);qa.value=c(g.Button_0);qa.style+=k(g.Button_0);ra.value=c(g.Button_1);ra.style+=k(g.Button_1);"Dark"==g.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",qa.style+="strokeColor=#353535;",ra.style+="strokeColor=#353535;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",qa.style+=
 "strokeColor=#E2E2E2;",ra.style+="strokeColor=#E2E2E2;");v.style+=f(v.style,g,u,v);break;case "AndroidDateDialog":case "AndroidTimeDialog":La=new mxCell("",new mxGeometry(0,0,t,30),"strokeColor=none;fillColor=none;spacingLeft=9;");La.vertex=!0;v.insert(La);La.value=c(g.DialogTitle);La.style+=k(g.DialogTitle);na=new mxCell("",new mxGeometry(0,25,t,10),"shape=line;strokeColor=#33B5E5;");na.vertex=!0;v.insert(na);qa=new mxCell("",new mxGeometry(0,r-25,.5*t,25),"fillColor=none;");qa.vertex=!0;v.insert(qa);
-qa.value=c(g.Button_0);qa.style+=k(g.Button_0);ra=new mxCell("",new mxGeometry(.5*t,r-25,.5*t,25),"fillColor=none;");ra.vertex=!0;v.insert(ra);ra.value=c(g.Button_1);ra.style+=k(g.Button_1);var rb=new mxCell("",new mxGeometry(.5*t-4,41,8,4),"shape=triangle;direction=north;");rb.vertex=!0;v.insert(rb);var tb=new mxCell("",new mxGeometry(.25*t-4,41,8,4),"shape=triangle;direction=north;");tb.vertex=!0;v.insert(tb);var ub=new mxCell("",new mxGeometry(.75*t-4,41,8,4),"shape=triangle;direction=north;");
-ub.vertex=!0;v.insert(ub);var Fb=new mxCell("",new mxGeometry(.375*t,50,.2*t,15),"strokeColor=none;fillColor=none;");Fb.vertex=!0;v.insert(Fb);Fb.value=c(g.Label_1);Fb.style+=k(g.Label_1);var Gb=new mxCell("",new mxGeometry(.125*t,50,.2*t,15),"strokeColor=none;fillColor=none;");Gb.vertex=!0;v.insert(Gb);Gb.value=c(g.Label_0);Gb.style+=k(g.Label_0);var vb=null;"AndroidDateDialog"==e.Class&&(vb=new mxCell("",new mxGeometry(.625*t,50,.2*t,15),"strokeColor=none;fillColor=none;"),vb.vertex=!0,v.insert(vb),
-vb.value=c(g.Label_2),vb.style+=k(g.Label_2));var Ma=new mxCell("",new mxGeometry(.43*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Ma.vertex=!0;v.insert(Ma);var Na=new mxCell("",new mxGeometry(.18*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Na.vertex=!0;v.insert(Na);var Eb=new mxCell("",new mxGeometry(.68*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Eb.vertex=!0;v.insert(Eb);var Hb=new mxCell("",new mxGeometry(.375*t,65,.2*t,15),"strokeColor=none;fillColor=none;");Hb.vertex=!0;v.insert(Hb);
-Hb.value=c(g.Label_4);Hb.style+=k(g.Label_4);var wb=null;"AndroidTimeDialog"==e.Class&&(wb=new mxCell("",new mxGeometry(.3*t,65,.1*t,15),"strokeColor=none;fillColor=none;"),wb.vertex=!0,v.insert(wb),wb.value=c(g.Label_Colon),wb.style+=k(g.Label_Colon));var Ib=new mxCell("",new mxGeometry(.125*t,65,.2*t,15),"strokeColor=none;fillColor=none;");Ib.vertex=!0;v.insert(Ib);Ib.value=c(g.Label_3);Ib.style+=k(g.Label_3);var Jb=new mxCell("",new mxGeometry(.625*t,65,.2*t,15),"strokeColor=none;fillColor=none;");
-Jb.vertex=!0;v.insert(Jb);Jb.value=c(g.Label_5);Jb.style+=k(g.Label_5);var kc=new mxCell("",new mxGeometry(.43*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");kc.vertex=!0;v.insert(kc);var lc=new mxCell("",new mxGeometry(.18*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");lc.vertex=!0;v.insert(lc);var mc=new mxCell("",new mxGeometry(.68*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");mc.vertex=!0;v.insert(mc);var Kb=new mxCell("",new mxGeometry(.375*t,80,.2*t,15),"strokeColor=none;fillColor=none;");
-Kb.vertex=!0;v.insert(Kb);Kb.value=c(g.Label_7);Kb.style+=k(g.Label_7);var Lb=new mxCell("",new mxGeometry(.125*t,80,.2*t,15),"strokeColor=none;fillColor=none;");Lb.vertex=!0;v.insert(Lb);Lb.value=c(g.Label_6);Lb.style+=k(g.Label_6);var Mb=new mxCell("",new mxGeometry(.625*t,80,.2*t,15),"strokeColor=none;fillColor=none;");Mb.vertex=!0;v.insert(Mb);Mb.value=c(g.Label_8);Mb.style+=k(g.Label_8);var xb=new mxCell("",new mxGeometry(.5*t-4,99,8,4),"shape=triangle;direction=south;");xb.vertex=!0;v.insert(xb);
-var yb=new mxCell("",new mxGeometry(.25*t-4,99,8,4),"shape=triangle;direction=south;");yb.vertex=!0;v.insert(yb);var zb=new mxCell("",new mxGeometry(.75*t-4,99,8,4),"shape=triangle;direction=south;");zb.vertex=!0;v.insert(zb);"Dark"==g.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",qa.style+="strokeColor=#353535;",ra.style+="strokeColor=#353535;",rb.style+="strokeColor=none;fillColor=#7E7E7E;",tb.style+="strokeColor=none;fillColor=#7E7E7E;",ub.style+="strokeColor=none;fillColor=#7E7E7E;",
-xb.style+="strokeColor=none;fillColor=#7E7E7E;",yb.style+="strokeColor=none;fillColor=#7E7E7E;",zb.style+="strokeColor=none;fillColor=#7E7E7E;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",qa.style+="strokeColor=#E2E2E2;",ra.style+="strokeColor=#E2E2E2;",rb.style+="strokeColor=none;fillColor=#939393;",tb.style+="strokeColor=none;fillColor=#939393;",ub.style+="strokeColor=none;fillColor=#939393;",xb.style+="strokeColor=none;fillColor=#939393;",yb.style+="strokeColor=none;fillColor=#939393;",
-zb.style+="strokeColor=none;fillColor=#939393;");v.style+=f(v.style,g,u,v);break;case "AndroidListItems":var xa=r,eb=0;if(g.ShowHeader){var eb=8,Nb=new mxCell("",new mxGeometry(0,0,t,eb),"strokeColor=none;fillColor=none;");Nb.vertex=!0;v.insert(Nb);Nb.value=c(g.Header);Nb.style+=k(g.Header);var xa=xa-eb,nc=new mxCell("",new mxGeometry(0,eb-2,t,4),"shape=line;strokeColor=#999999;");nc.vertex=!0;v.insert(nc)}var Oa=parseInt(g.Items);0<Oa&&(xa/=Oa);for(var H=[],na=[],l=0;l<Oa;l++)H[l]=new mxCell("",
+qa.value=c(g.Button_0);qa.style+=k(g.Button_0);ra=new mxCell("",new mxGeometry(.5*t,r-25,.5*t,25),"fillColor=none;");ra.vertex=!0;v.insert(ra);ra.value=c(g.Button_1);ra.style+=k(g.Button_1);var rb=new mxCell("",new mxGeometry(.5*t-4,41,8,4),"shape=triangle;direction=north;");rb.vertex=!0;v.insert(rb);var sb=new mxCell("",new mxGeometry(.25*t-4,41,8,4),"shape=triangle;direction=north;");sb.vertex=!0;v.insert(sb);var tb=new mxCell("",new mxGeometry(.75*t-4,41,8,4),"shape=triangle;direction=north;");
+tb.vertex=!0;v.insert(tb);var Eb=new mxCell("",new mxGeometry(.375*t,50,.2*t,15),"strokeColor=none;fillColor=none;");Eb.vertex=!0;v.insert(Eb);Eb.value=c(g.Label_1);Eb.style+=k(g.Label_1);var Fb=new mxCell("",new mxGeometry(.125*t,50,.2*t,15),"strokeColor=none;fillColor=none;");Fb.vertex=!0;v.insert(Fb);Fb.value=c(g.Label_0);Fb.style+=k(g.Label_0);var ub=null;"AndroidDateDialog"==e.Class&&(ub=new mxCell("",new mxGeometry(.625*t,50,.2*t,15),"strokeColor=none;fillColor=none;"),ub.vertex=!0,v.insert(ub),
+ub.value=c(g.Label_2),ub.style+=k(g.Label_2));var Ma=new mxCell("",new mxGeometry(.43*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Ma.vertex=!0;v.insert(Ma);var Na=new mxCell("",new mxGeometry(.18*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Na.vertex=!0;v.insert(Na);var Db=new mxCell("",new mxGeometry(.68*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Db.vertex=!0;v.insert(Db);var Gb=new mxCell("",new mxGeometry(.375*t,65,.2*t,15),"strokeColor=none;fillColor=none;");Gb.vertex=!0;v.insert(Gb);
+Gb.value=c(g.Label_4);Gb.style+=k(g.Label_4);var vb=null;"AndroidTimeDialog"==e.Class&&(vb=new mxCell("",new mxGeometry(.3*t,65,.1*t,15),"strokeColor=none;fillColor=none;"),vb.vertex=!0,v.insert(vb),vb.value=c(g.Label_Colon),vb.style+=k(g.Label_Colon));var Hb=new mxCell("",new mxGeometry(.125*t,65,.2*t,15),"strokeColor=none;fillColor=none;");Hb.vertex=!0;v.insert(Hb);Hb.value=c(g.Label_3);Hb.style+=k(g.Label_3);var Ib=new mxCell("",new mxGeometry(.625*t,65,.2*t,15),"strokeColor=none;fillColor=none;");
+Ib.vertex=!0;v.insert(Ib);Ib.value=c(g.Label_5);Ib.style+=k(g.Label_5);var jc=new mxCell("",new mxGeometry(.43*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");jc.vertex=!0;v.insert(jc);var kc=new mxCell("",new mxGeometry(.18*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");kc.vertex=!0;v.insert(kc);var lc=new mxCell("",new mxGeometry(.68*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");lc.vertex=!0;v.insert(lc);var Jb=new mxCell("",new mxGeometry(.375*t,80,.2*t,15),"strokeColor=none;fillColor=none;");
+Jb.vertex=!0;v.insert(Jb);Jb.value=c(g.Label_7);Jb.style+=k(g.Label_7);var Kb=new mxCell("",new mxGeometry(.125*t,80,.2*t,15),"strokeColor=none;fillColor=none;");Kb.vertex=!0;v.insert(Kb);Kb.value=c(g.Label_6);Kb.style+=k(g.Label_6);var Lb=new mxCell("",new mxGeometry(.625*t,80,.2*t,15),"strokeColor=none;fillColor=none;");Lb.vertex=!0;v.insert(Lb);Lb.value=c(g.Label_8);Lb.style+=k(g.Label_8);var wb=new mxCell("",new mxGeometry(.5*t-4,99,8,4),"shape=triangle;direction=south;");wb.vertex=!0;v.insert(wb);
+var xb=new mxCell("",new mxGeometry(.25*t-4,99,8,4),"shape=triangle;direction=south;");xb.vertex=!0;v.insert(xb);var yb=new mxCell("",new mxGeometry(.75*t-4,99,8,4),"shape=triangle;direction=south;");yb.vertex=!0;v.insert(yb);"Dark"==g.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",qa.style+="strokeColor=#353535;",ra.style+="strokeColor=#353535;",rb.style+="strokeColor=none;fillColor=#7E7E7E;",sb.style+="strokeColor=none;fillColor=#7E7E7E;",tb.style+="strokeColor=none;fillColor=#7E7E7E;",
+wb.style+="strokeColor=none;fillColor=#7E7E7E;",xb.style+="strokeColor=none;fillColor=#7E7E7E;",yb.style+="strokeColor=none;fillColor=#7E7E7E;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",qa.style+="strokeColor=#E2E2E2;",ra.style+="strokeColor=#E2E2E2;",rb.style+="strokeColor=none;fillColor=#939393;",sb.style+="strokeColor=none;fillColor=#939393;",tb.style+="strokeColor=none;fillColor=#939393;",wb.style+="strokeColor=none;fillColor=#939393;",xb.style+="strokeColor=none;fillColor=#939393;",
+yb.style+="strokeColor=none;fillColor=#939393;");v.style+=f(v.style,g,u,v);break;case "AndroidListItems":var xa=r,eb=0;if(g.ShowHeader){var eb=8,Mb=new mxCell("",new mxGeometry(0,0,t,eb),"strokeColor=none;fillColor=none;");Mb.vertex=!0;v.insert(Mb);Mb.value=c(g.Header);Mb.style+=k(g.Header);var xa=xa-eb,mc=new mxCell("",new mxGeometry(0,eb-2,t,4),"shape=line;strokeColor=#999999;");mc.vertex=!0;v.insert(mc)}var Oa=parseInt(g.Items);0<Oa&&(xa/=Oa);for(var H=[],na=[],l=0;l<Oa;l++)H[l]=new mxCell("",
 new mxGeometry(0,eb+l*xa,t,xa),"strokeColor=none;fillColor=none;"),H[l].vertex=!0,v.insert(H[l]),H[l].value=c(g["Item_"+l]),H[l].style+=k(g["Item_"+l]),0<l&&(na[l]=new mxCell("",new mxGeometry(0,eb+l*xa-2,t,4),"shape=line;"),na[l].vertex=!0,v.insert(na[l]),na[l].style="Dark"==g.Scheme?na[l].style+"strokeColor=#ffffff;":na[l].style+"strokeColor=#D9D9D9;");v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#111111;":v.style+"strokeColor=none;fillColor=#ffffff;";v.style+=f(v.style,g,u,v);break;
-case "AndroidTabs":var Pa=parseInt(g.Tabs),Ea=t;0<Pa&&(Ea/=Pa);for(var fa=[],na=[],l=0;l<Pa;l++)fa[l]=new mxCell("",new mxGeometry(l*Ea,0,Ea,r),"strokeColor=none;fillColor=none;"),fa[l].vertex=!0,v.insert(fa[l]),fa[l].value=c(g["Tab_"+l]),fa[l].style+=k(g["Tab_"+l]),0<l&&(na[l]=new mxCell("",new mxGeometry(l*Ea-2,.2*r,4,.6*r),"shape=line;direction=north;"),na[l].vertex=!0,v.insert(na[l]),na[l].style="Dark"==g.Scheme?na[l].style+"strokeColor=#484848;":na[l].style+"strokeColor=#CCCCCC;");var oc=new mxCell("",
-new mxGeometry(g.Selected*Ea+2,r-3,Ea-4,3),"strokeColor=none;fillColor=#33B5E5;");oc.vertex=!0;v.insert(oc);v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#333333;":v.style+"strokeColor=none;fillColor=#DDDDDD;";v.style+=f(v.style,g,u,v);break;case "AndroidProgressBar":v=new mxCell("",new mxGeometry(Math.round(U),Math.round(ba+.25*r),Math.round(t),Math.round(.5*r)),"html=1;whiteSpace=wrap;");v.vertex=!0;var Ob=new mxCell("",new mxGeometry(0,0,t*g.BarPosition,Math.round(.5*r)),"strokeColor=none;fillColor=#33B5E5;");
-Ob.vertex=!0;v.insert(Ob);v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#474747;":v.style+"strokeColor=none;fillColor=#BBBBBB;";v.style+=f(v.style,g,u,v);break;case "AndroidImageBlock":v.style="Dark"==g.Scheme?v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#7E7E7E;fillColor=#111111;":v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#939393;fillColor=#ffffff;";v.style+=f(v.style,g,u,v);break;case "AndroidTextBlock":v.style="Dark"==g.Scheme?g.ShowBorder?v.style+
+case "AndroidTabs":var Pa=parseInt(g.Tabs),Ea=t;0<Pa&&(Ea/=Pa);for(var fa=[],na=[],l=0;l<Pa;l++)fa[l]=new mxCell("",new mxGeometry(l*Ea,0,Ea,r),"strokeColor=none;fillColor=none;"),fa[l].vertex=!0,v.insert(fa[l]),fa[l].value=c(g["Tab_"+l]),fa[l].style+=k(g["Tab_"+l]),0<l&&(na[l]=new mxCell("",new mxGeometry(l*Ea-2,.2*r,4,.6*r),"shape=line;direction=north;"),na[l].vertex=!0,v.insert(na[l]),na[l].style="Dark"==g.Scheme?na[l].style+"strokeColor=#484848;":na[l].style+"strokeColor=#CCCCCC;");var nc=new mxCell("",
+new mxGeometry(g.Selected*Ea+2,r-3,Ea-4,3),"strokeColor=none;fillColor=#33B5E5;");nc.vertex=!0;v.insert(nc);v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#333333;":v.style+"strokeColor=none;fillColor=#DDDDDD;";v.style+=f(v.style,g,u,v);break;case "AndroidProgressBar":v=new mxCell("",new mxGeometry(Math.round(U),Math.round(ba+.25*r),Math.round(t),Math.round(.5*r)),"html=1;whiteSpace=wrap;");v.vertex=!0;var Nb=new mxCell("",new mxGeometry(0,0,t*g.BarPosition,Math.round(.5*r)),"strokeColor=none;fillColor=#33B5E5;");
+Nb.vertex=!0;v.insert(Nb);v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#474747;":v.style+"strokeColor=none;fillColor=#BBBBBB;";v.style+=f(v.style,g,u,v);break;case "AndroidImageBlock":v.style="Dark"==g.Scheme?v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#7E7E7E;fillColor=#111111;":v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#939393;fillColor=#ffffff;";v.style+=f(v.style,g,u,v);break;case "AndroidTextBlock":v.style="Dark"==g.Scheme?g.ShowBorder?v.style+
 "fillColor=#111111;strokeColor=#ffffff;":v.style+"fillColor=#111111;strokeColor=none;":g.ShowBorder?v.style+"fillColor=#ffffff;strokeColor=#000000;":v.style+"fillColor=#ffffff;strokeColor=none;";v.value=c(g.Label);v.style+=k(g.Label);v.style+=f(v.style,g,u,v);break;case "AndroidActionBar":v.style+="strokeColor=none;";switch(g.BarBackground){case "Blue":v.style+="fillColor=#002E3E;";break;case "Gray":v.style+="fillColor=#DDDDDD;";break;case "Dark Gray":v.style+="fillColor=#474747;";break;case "White":v.style+=
-"fillColor=#ffffff;"}if(g.HighlightShow){var fb=null,fb=g.HighlightTop?new mxCell("",new mxGeometry(0,0,t,2),"strokeColor=none;"):new mxCell("",new mxGeometry(0,r-2,t,2),"strokeColor=none;");fb.vertex=!0;v.insert(fb);switch(g.HighlightColor){case "Blue":fb.style+="fillColor=#33B5E5;";break;case "Dark Gray":fb.style+="fillColor=#B0B0B0;";break;case "White":fb.style+="fillColor=#ffffff;"}}if(g.VlignShow){var Ab=new mxCell("",new mxGeometry(20,5,2,r-10),"shape=line;direction=north;");Ab.vertex=!0;v.insert(Ab);
-switch(g.VlignColor){case "Blue":Ab.style+="strokeColor=#244C5A;";break;case "White":Ab.style+="strokeColor=#ffffff;"}}v.style+=f(v.style,g,u,v);break;case "AndroidButton":v.value=c(g.Label);v.style+=k(g.Label)+"shape=partialRectangle;left=0;right=0;";v.style="Dark"==g.Scheme?v.style+"fillColor=#474747;strokeColor=#C6C5C6;bottom=0;":v.style+"fillColor=#DFE0DF;strokeColor=#C6C5C6;top=0;";v.style+=f(v.style,g,u,v);break;case "AndroidTextBox":v.value=c(g.Label);v.style+=k(g.Label);var Pb=new mxCell("",
-new mxGeometry(2,r-6,t-4,4),"shape=partialRectangle;top=0;fillColor=none;");Pb.vertex=!0;v.insert(Pb);v.style="Dark"==g.Scheme?v.style+"fillColor=#111111;strokeColor=none;":v.style+"fillColor=#ffffff;strokeColor=none;";Pb.style=g.TextFocused?Pb.style+"strokeColor=#33B5E5;":Pb.style+"strokeColor=#A9A9A9;";v.style+=f(v.style,g,u,v);break;case "AndroidRadioButton":var nb=null;g.Checked&&(nb=new mxCell("",new mxGeometry(.15*t,.15*r,.7*t,.7*r),"shape=ellipse;fillColor=#33B5E5;strokeWidth=0.6;"),nb.vertex=
-!0,v.insert(nb));"Dark"==g.Scheme?(v.style+="shape=ellipse;strokeWidth=0.6;strokeColor=#272727;",g.Checked?(nb.style+="strokeColor=#1F5C73;",v.style+="fillColor=#193C49;"):v.style+="fillColor=#111111;"):(v.style+="shape=ellipse;strokeWidth=0.6;fillColor=#ffffff;strokeColor=#5C5C5C;",g.Checked&&(nb.style+="strokeColor=#999999;"));v.style+=f(v.style,g,u,v);break;case "AndroidCheckBox":var dc=null;g.Checked&&(dc=new mxCell("",new mxGeometry(.25*t,.05*-r,t,.8*r),"shape=mxgraph.ios7.misc.check;strokeColor=#33B5E5;strokeWidth=2;"),
-dc.vertex=!0,v.insert(dc));v.style="Dark"==g.Scheme?v.style+"strokeWidth=0.6;strokeColor=#272727;fillColor=#111111;":v.style+"strokeWidth=0.6;strokeColor=#5C5C5C;fillColor=#ffffff;";v.style+=f(v.style,g,u,v);break;case "AndroidToggle":v.style="Dark"==g.Scheme?g.Checked?v.style+"shape=mxgraph.android.switch_on;fillColor=#666666;":v.style+"shape=mxgraph.android.switch_off;fillColor=#666666;":g.Checked?v.style+"shape=mxgraph.android.switch_on;fillColor=#E6E6E6;":v.style+"shape=mxgraph.android.switch_off;fillColor=#E6E6E6;";
+"fillColor=#ffffff;"}if(g.HighlightShow){var fb=null,fb=g.HighlightTop?new mxCell("",new mxGeometry(0,0,t,2),"strokeColor=none;"):new mxCell("",new mxGeometry(0,r-2,t,2),"strokeColor=none;");fb.vertex=!0;v.insert(fb);switch(g.HighlightColor){case "Blue":fb.style+="fillColor=#33B5E5;";break;case "Dark Gray":fb.style+="fillColor=#B0B0B0;";break;case "White":fb.style+="fillColor=#ffffff;"}}if(g.VlignShow){var zb=new mxCell("",new mxGeometry(20,5,2,r-10),"shape=line;direction=north;");zb.vertex=!0;v.insert(zb);
+switch(g.VlignColor){case "Blue":zb.style+="strokeColor=#244C5A;";break;case "White":zb.style+="strokeColor=#ffffff;"}}v.style+=f(v.style,g,u,v);break;case "AndroidButton":v.value=c(g.Label);v.style+=k(g.Label)+"shape=partialRectangle;left=0;right=0;";v.style="Dark"==g.Scheme?v.style+"fillColor=#474747;strokeColor=#C6C5C6;bottom=0;":v.style+"fillColor=#DFE0DF;strokeColor=#C6C5C6;top=0;";v.style+=f(v.style,g,u,v);break;case "AndroidTextBox":v.value=c(g.Label);v.style+=k(g.Label);var Ob=new mxCell("",
+new mxGeometry(2,r-6,t-4,4),"shape=partialRectangle;top=0;fillColor=none;");Ob.vertex=!0;v.insert(Ob);v.style="Dark"==g.Scheme?v.style+"fillColor=#111111;strokeColor=none;":v.style+"fillColor=#ffffff;strokeColor=none;";Ob.style=g.TextFocused?Ob.style+"strokeColor=#33B5E5;":Ob.style+"strokeColor=#A9A9A9;";v.style+=f(v.style,g,u,v);break;case "AndroidRadioButton":var nb=null;g.Checked&&(nb=new mxCell("",new mxGeometry(.15*t,.15*r,.7*t,.7*r),"shape=ellipse;fillColor=#33B5E5;strokeWidth=0.6;"),nb.vertex=
+!0,v.insert(nb));"Dark"==g.Scheme?(v.style+="shape=ellipse;strokeWidth=0.6;strokeColor=#272727;",g.Checked?(nb.style+="strokeColor=#1F5C73;",v.style+="fillColor=#193C49;"):v.style+="fillColor=#111111;"):(v.style+="shape=ellipse;strokeWidth=0.6;fillColor=#ffffff;strokeColor=#5C5C5C;",g.Checked&&(nb.style+="strokeColor=#999999;"));v.style+=f(v.style,g,u,v);break;case "AndroidCheckBox":var cc=null;g.Checked&&(cc=new mxCell("",new mxGeometry(.25*t,.05*-r,t,.8*r),"shape=mxgraph.ios7.misc.check;strokeColor=#33B5E5;strokeWidth=2;"),
+cc.vertex=!0,v.insert(cc));v.style="Dark"==g.Scheme?v.style+"strokeWidth=0.6;strokeColor=#272727;fillColor=#111111;":v.style+"strokeWidth=0.6;strokeColor=#5C5C5C;fillColor=#ffffff;";v.style+=f(v.style,g,u,v);break;case "AndroidToggle":v.style="Dark"==g.Scheme?g.Checked?v.style+"shape=mxgraph.android.switch_on;fillColor=#666666;":v.style+"shape=mxgraph.android.switch_off;fillColor=#666666;":g.Checked?v.style+"shape=mxgraph.android.switch_on;fillColor=#E6E6E6;":v.style+"shape=mxgraph.android.switch_off;fillColor=#E6E6E6;";
 v.style+=f(v.style,g,u,v);break;case "AndroidSlider":v.style+="shape=mxgraph.android.progressScrubberFocused;dx="+g.BarPosition+";fillColor=#33b5e5;";v.style+=f(v.style,g,u,v);break;case "iOSSegmentedControl":Pa=parseInt(g.Tabs);Ea=t;v.style+="strokeColor=none;fillColor=none;";0<Pa&&(Ea/=Pa);fa=[];na=[];for(l=0;l<Pa;l++)fa[l]=new mxCell("",new mxGeometry(l*Ea,0,Ea,r),"strokeColor="+g.FillColor+";"),fa[l].vertex=!0,v.insert(fa[l]),fa[l].value=c(g["Tab_"+l]),fa[l].style+=k(g["Tab_"+l]),fa[l].style=
-g.Selected==l?fa[l].style+D(g,u):fa[l].style+"fillColor=none;";v.style+=f(v.style,g,u,v);break;case "iOSSlider":v.style+="shape=mxgraph.ios7ui.slider;strokeColor="+g.FillColor+";fillColor=#ffffff;strokeWidth=2;barPos="+100*g.BarPosition+";";v.style+=f(v.style,g,u,v);break;case "iOSProgressBar":v=new mxCell("",new mxGeometry(Math.round(U),Math.round(ba+.25*r),Math.round(t),Math.round(.5*r)),"html=1;whiteSpace=wrap;strokeColor=none;fillColor=#B5B5B5;");v.vertex=!0;Ob=new mxCell("",new mxGeometry(0,
-0,t*g.BarPosition,Math.round(.5*r)),"strokeColor=none;"+D(g,u));Ob.vertex=!0;v.insert(Ob);v.style+=f(v.style,g,u,v);break;case "iOSPageControls":v.style+="shape=mxgraph.ios7ui.pageControl;strokeColor=#D6D6D6;";v.style+=f(v.style,g,u,v);break;case "iOSStatusBar":v.style+="shape=mxgraph.ios7ui.appBar;strokeColor=#000000;";var Q=new mxCell(c(g.Text),new mxGeometry(.35*t,0,.3*t,r),"strokeColor=none;fillColor=none;");Q.vertex=!0;v.insert(Q);Q.style+=k(g.Text);var za=new mxCell(c(g.Carrier),new mxGeometry(.09*
+g.Selected==l?fa[l].style+D(g,u):fa[l].style+"fillColor=none;";v.style+=f(v.style,g,u,v);break;case "iOSSlider":v.style+="shape=mxgraph.ios7ui.slider;strokeColor="+g.FillColor+";fillColor=#ffffff;strokeWidth=2;barPos="+100*g.BarPosition+";";v.style+=f(v.style,g,u,v);break;case "iOSProgressBar":v=new mxCell("",new mxGeometry(Math.round(U),Math.round(ba+.25*r),Math.round(t),Math.round(.5*r)),"html=1;whiteSpace=wrap;strokeColor=none;fillColor=#B5B5B5;");v.vertex=!0;Nb=new mxCell("",new mxGeometry(0,
+0,t*g.BarPosition,Math.round(.5*r)),"strokeColor=none;"+D(g,u));Nb.vertex=!0;v.insert(Nb);v.style+=f(v.style,g,u,v);break;case "iOSPageControls":v.style+="shape=mxgraph.ios7ui.pageControl;strokeColor=#D6D6D6;";v.style+=f(v.style,g,u,v);break;case "iOSStatusBar":v.style+="shape=mxgraph.ios7ui.appBar;strokeColor=#000000;";var Q=new mxCell(c(g.Text),new mxGeometry(.35*t,0,.3*t,r),"strokeColor=none;fillColor=none;");Q.vertex=!0;v.insert(Q);Q.style+=k(g.Text);var za=new mxCell(c(g.Carrier),new mxGeometry(.09*
 t,0,.2*t,r),"strokeColor=none;fillColor=none;");za.vertex=!0;v.insert(za);za.style+=k(g.Carrier);v.style+=f(v.style,g,u,v);break;case "iOSSearchBar":v.style+="strokeColor=none;";v.style+=f(v.style,g,u,v)+k(g.Search);v.value=c(g.Search);var V=new mxCell("",new mxGeometry(.3*t,.3*r,.4*r,.4*r),"shape=mxgraph.ios7.icons.looking_glass;strokeColor=#000000;fillColor=none;");V.vertex=!0;v.insert(V);break;case "iOSNavBar":v.style+="shape=partialRectangle;top=0;right=0;left=0;strokeColor=#979797;";+k(g.Title);
 v.style+=f(v.style,g,u,v);v.value=c(g.Title);Q=new mxCell(c(g.LeftText),new mxGeometry(.03*t,0,.3*t,r),"strokeColor=none;fillColor=none;");Q.vertex=!0;v.insert(Q);Q.style+=k(g.LeftText);za=new mxCell(c(g.RightText),new mxGeometry(.65*t,0,.3*t,r),"strokeColor=none;fillColor=none;");za.vertex=!0;v.insert(za);za.style+=k(g.RightText);V=new mxCell("",new mxGeometry(.02*t,.2*r,.3*r,.5*r),"shape=mxgraph.ios7.misc.left;strokeColor=#007AFF;strokeWidth=2;");V.vertex=!0;v.insert(V);break;case "iOSTabs":Pa=
 parseInt(g.Tabs);Ea=t;v.style+="shape=partialRectangle;right=0;left=0;bottom=0;strokeColor=#979797;";v.style+=f(v.style,g,u,v);0<Pa&&(Ea/=Pa);fa=[];na=[];for(l=0;l<Pa;l++)fa[l]=new mxCell("",new mxGeometry(l*Ea,0,Ea,r),"strokeColor=none;"),fa[l].vertex=!0,v.insert(fa[l]),fa[l].value=c(g["Tab_"+l]),fa[l].style+=b(g["Tab_"+l]),fa[l].style+=a(g["Tab_"+l])+d(g["Tab_"+l])+h(g["Tab_"+l])+p(g["Tab_"+l])+y(g["Tab_"+l])+z(g["Tab_"+l])+x(g["Tab_"+l])+C(g["Tab_"+l]),fa[l].style+="verticalAlign=bottom;",fa[l].style=
@@ -97,10 +97,10 @@ q=new mxCell("",new mxGeometry(.1*t,0,.9*t,.9*r),"part=1;");q.vertex=!0;v.insert
 !0;v.insert(hb);la=new mxCell("",new mxGeometry(.25*r,0,t-.5*r,r),"strokeColor=none;fillColor=none;");la.vertex=!0;la.value=c(g);v.insert(la);v.style="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);gb.style+=B(g,u,gb);hb.style+=B(g,u,hb);la.style+=a(g,la);gb.style+=f(gb.style,g,u,gb);hb.style+=f(hb.style,g,u,hb);la.style+=f(la.style,g,u,la);break;case "UMLTextBlock":v.style+="strokeColor=none;"+k(g.Text);v.style+=f(v.style,g,u,v);v.value=c(g.Text);break;case "BPMNActivity":switch(g.bpmnActivityType){case 1:v.style+=
 k(g.Text);v.value=c(g.Text);break;case 2:v.style+="shape=ext;double=1;"+k(g.Text);v.value=c(g.Text);break;case 3:v.style+="shape=ext;dashed=1;dashPattern=2 1;"+k(g.Text);v.value=c(g.Text);break;case 4:v.style+="shape=ext;strokeWidth=2;"+k(g.Text),v.value=c(g.Text)}if(0!=g.bpmnTaskType){switch(g.bpmnTaskType){case 1:q=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;");q.geometry.offset=new mxPoint(4,7);break;case 2:q=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;");q.geometry.offset=
 new mxPoint(4,7);break;case 3:q=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.user_task;");q.geometry.offset=new mxPoint(4,5);break;case 4:q=new mxCell("",new mxGeometry(0,0,15,10),"shape=mxgraph.bpmn.manual_task;");q.geometry.offset=new mxPoint(4,7);break;case 5:q=new mxCell("",new mxGeometry(0,0,18,13),"shape=mxgraph.bpmn.business_rule_task;");q.geometry.offset=new mxPoint(4,7);break;case 6:q=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.service_task;");q.geometry.offset=
-new mxPoint(4,5);break;case 7:q=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.script_task;"),q.geometry.offset=new mxPoint(4,5)}if(1==g.bpmnTaskType){var Qb=D(g,u),I=A(g,u),I=I.replace("strokeColor","fillColor"),Qb=Qb.replace("fillColor","strokeColor");""==I&&(I="fillColor=#000000;");""==Qb&&(Qb="strokeColor=#ffffff;");q.style+=Qb+I+"part=1;"}else q.style+=D(g,u)+A(g,u)+"part=1;";q.geometry.relative=!0;q.vertex=!0;v.insert(q)}var Rb=0;0!=g.bpmnActivityMarker1&&Rb++;0!=g.bpmnActivityMarker2&&
-Rb++;var Aa=0;1==Rb?Aa=-7.5:2==Rb&&(Aa=-19);if(0!=g.bpmnActivityMarker1){switch(g.bpmnActivityMarker1){case 1:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 2:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 3:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;part=1;");q.geometry.offset=new mxPoint(Aa,
+new mxPoint(4,5);break;case 7:q=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.script_task;"),q.geometry.offset=new mxPoint(4,5)}if(1==g.bpmnTaskType){var Pb=D(g,u),I=A(g,u),I=I.replace("strokeColor","fillColor"),Pb=Pb.replace("fillColor","strokeColor");""==I&&(I="fillColor=#000000;");""==Pb&&(Pb="strokeColor=#ffffff;");q.style+=Pb+I+"part=1;"}else q.style+=D(g,u)+A(g,u)+"part=1;";q.geometry.relative=!0;q.vertex=!0;v.insert(q)}var Qb=0;0!=g.bpmnActivityMarker1&&Qb++;0!=g.bpmnActivityMarker2&&
+Qb++;var Aa=0;1==Qb?Aa=-7.5:2==Qb&&(Aa=-19);if(0!=g.bpmnActivityMarker1){switch(g.bpmnActivityMarker1){case 1:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 2:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 3:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;part=1;");q.geometry.offset=new mxPoint(Aa,
 -20);q.style+=D(g,u)+A(g,u);break;case 4:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 5:q=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;");q.geometry.offset=new mxPoint(Aa,-17);I=A(g,u);I=I.replace("strokeColor","fillColor");""==I&&(I="fillColor=#000000;");q.style+=I;break;case 6:q=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),
-q.geometry.offset=new mxPoint(Aa,-18),q.style+=D(g,u)+A(g,u)}q.geometry.relative=!0;q.vertex=!0;v.insert(q)}2==Rb&&(Aa=5);if(0!=g.bpmnActivityMarker2){switch(g.bpmnActivityMarker2){case 1:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 2:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 3:q=new mxCell("",new mxGeometry(.5,
+q.geometry.offset=new mxPoint(Aa,-18),q.style+=D(g,u)+A(g,u)}q.geometry.relative=!0;q.vertex=!0;v.insert(q)}2==Qb&&(Aa=5);if(0!=g.bpmnActivityMarker2){switch(g.bpmnActivityMarker2){case 1:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 2:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 3:q=new mxCell("",new mxGeometry(.5,
 1,15,15),"shape=parallelMarker;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 4:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(g,u)+A(g,u);break;case 5:q=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;");q.geometry.offset=new mxPoint(Aa,-17);I=A(g,u);I=I.replace("strokeColor","fillColor");""==I&&(I="fillColor=#000000;");
 q.style+=I;break;case 6:q=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),q.geometry.offset=new mxPoint(Aa,-18),q.style+=D(g,u)+A(g,u)}q.geometry.relative=!0;q.vertex=!0;v.insert(q)}v.style+=f(v.style,g,u,v);break;case "BPMNEvent":v.style+="shape=mxgraph.bpmn.shape;verticalLabelPosition=bottom;verticalAlign=top;";v.value=c(g.Text);if(1==g.bpmnDashed)switch(g.bpmnEventGroup){case 0:v.style+="outline=eventNonint;";break;case 1:v.style+="outline=boundNonint;";break;
 case 2:v.style+="outline=end;"}else switch(g.bpmnEventGroup){case 0:v.style+="outline=standard;";break;case 1:v.style+="outline=throwing;";break;case 2:v.style+="outline=end;"}switch(g.bpmnEventType){case 1:v.style+="symbol=message;";break;case 2:v.style+="symbol=timer;";break;case 3:v.style+="symbol=escalation;";break;case 4:v.style+="symbol=conditional;";break;case 5:v.style+="symbol=link;";break;case 6:v.style+="symbol=error;";break;case 7:v.style+="symbol=cancel;";break;case 8:v.style+="symbol=compensation;";
@@ -127,15 +127,15 @@ q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(
 break;case "AWSElasticComputeCloudBlock2":v.style+="strokeColor=none;shape=mxgraph.aws3.ec2;verticalLabelPosition=bottom;align=center;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Title);break;case "AWSRoute53Block2":v.style+="strokeColor=none;shape=mxgraph.aws3.route_53;verticalLabelPosition=bottom;align=center;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Title);break;case "AWSRDBSBlock2":v.style+="strokeColor=none;shape=mxgraph.aws3.rds;verticalLabelPosition=bottom;align=center;verticalAlign=top;";
 v.style+=f(v.style,g,u,v);v.value=c(g.Title);break;case "NET_RingNetwork":v.style+="strokeColor=none;fillColor=none;";var W=new mxCell("",new mxGeometry(.25*t,.25*r,.5*t,.5*r),"html=1;shape=ellipse;perimeter=ellipsePerimeter;strokeColor=#29AAE1;strokeWidth=2;");W.vertex=!0;v.insert(W);var ca=[W];W.style+=D(g,u);var R=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=none;dashed=0;html=1;strokeColor=#29AAE1;strokeWidth=2;");R.geometry.relative=!0;R.edge=!0;Da(.5*t,0,R,m,L,ca,
 v,W);Da(.855*t,.145*r,R,m,L,ca,v,W);Da(t,.5*r,R,m,L,ca,v,W);Da(.855*t,.855*r,R,m,L,ca,v,W);Da(.5*t,r,R,m,L,ca,v,W);Da(.145*t,.855*r,R,m,L,ca,v,W);Da(0,.5*r,R,m,L,ca,v,W);Da(.145*t,.145*r,R,m,L,ca,v,W);break;case "NET_Ethernet":v.style+="strokeColor=none;fillColor=none;";W=new mxCell("",new mxGeometry(0,.5*r-10,t,20),"shape=mxgraph.networks.bus;gradientColor=none;gradientDirection=north;fontColor=#ffffff;perimeter=backbonePerimeter;backboneSize=20;fillColor=#29AAE1;strokeColor=#29AAE1;");W.vertex=
-!0;v.insert(W);ca=[W];R=new mxCell("",new mxGeometry(0,0,0,0),"strokeColor=#29AAE1;edgeStyle=none;rounded=0;endArrow=none;html=1;strokeWidth=2;");R.geometry.relative=!0;R.edge=!0;for(var ca=[W],Sb=t/g.NumTopNodes,l=0;l<g.NumTopNodes;l++)Da(.5*Sb+l*Sb,0,R,m,L,ca,v,W);Sb=t/g.NumBottomNodes;for(l=0;l<g.NumBottomNodes;l++)Da(.5*Sb+l*Sb,r,R,m,L,ca,v,W);break;case "EE_OpAmp":v.style+="shape=mxgraph.electrical.abstract.operational_amp_1;";v.style+=f(v.style,g,u,v);v.value=c(g.Title);g.ToggleCharge&&(v.style+=
+!0;v.insert(W);ca=[W];R=new mxCell("",new mxGeometry(0,0,0,0),"strokeColor=#29AAE1;edgeStyle=none;rounded=0;endArrow=none;html=1;strokeWidth=2;");R.geometry.relative=!0;R.edge=!0;for(var ca=[W],Rb=t/g.NumTopNodes,l=0;l<g.NumTopNodes;l++)Da(.5*Rb+l*Rb,0,R,m,L,ca,v,W);Rb=t/g.NumBottomNodes;for(l=0;l<g.NumBottomNodes;l++)Da(.5*Rb+l*Rb,r,R,m,L,ca,v,W);break;case "EE_OpAmp":v.style+="shape=mxgraph.electrical.abstract.operational_amp_1;";v.style+=f(v.style,g,u,v);v.value=c(g.Title);g.ToggleCharge&&(v.style+=
 "flipV=1;");break;case "EIMessageChannelBlock":case "EIDatatypeChannelBlock":case "EIInvalidMessageChannelBlock":case "EIDeadLetterChannelBlock":case "EIGuaranteedDeliveryBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);"EIMessageChannelBlock"==e.Class?(q=new mxCell("",new mxGeometry(.5,.5,.9*t,20),"shape=mxgraph.eip.messageChannel;fillColor=#818181;part=1;"),q.geometry.offset=new mxPoint(.45*-t,0)):"EIDatatypeChannelBlock"==e.Class?(q=
 new mxCell("",new mxGeometry(.5,.5,.9*t,20),"shape=mxgraph.eip.dataChannel;fillColor=#818181;part=1;"),q.geometry.offset=new mxPoint(.45*-t,0)):"EIInvalidMessageChannelBlock"==e.Class?(q=new mxCell("",new mxGeometry(.5,.5,.9*t,20),"shape=mxgraph.eip.invalidMessageChannel;fillColor=#818181;part=1;"),q.geometry.offset=new mxPoint(.45*-t,0)):"EIDeadLetterChannelBlock"==e.Class?(q=new mxCell("",new mxGeometry(.5,.5,.9*t,20),"shape=mxgraph.eip.deadLetterChannel;fillColor=#818181;part=1;"),q.geometry.offset=
 new mxPoint(.45*-t,0)):"EIGuaranteedDeliveryBlock"==e.Class&&(q=new mxCell("",new mxGeometry(.5,.5,20,27),"shape=cylinder;fillColor=#818181;part=1;"),q.geometry.offset=new mxPoint(-10,-7));q.geometry.relative=!0;q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);R=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");R.geometry.relative=!0;R.edge=!0;ga(.15*t,.25*r,.85*t,.25*r,R,m,L,ca,v,W);break;case "EIChannelAdapterBlock":v.style+=
 "verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,.07*r,.21*t,.86*r),"fillColor=#FFFF33;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("",new mxGeometry(.26*t,.09*r,.2*t,.82*r),"shape=mxgraph.eip.channel_adapter;fillColor=#4CA3D9;part=1;");w.vertex=!0;v.insert(w);w.style+=f(w.style,g,u,w);E=new mxCell("",new mxGeometry(1,.5,.35*t,20),"shape=mxgraph.eip.messageChannel;fillColor=#818181;part=1;");
 E.geometry.relative=!0;E.geometry.offset=new mxPoint(.4*-t,-10);E.vertex=!0;v.insert(E);E.style+=f(E.style,g,u,E);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;endArrow=none;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=2;");K.geometry.relative=!0;K.edge=!0;q.insertEdge(K,!0);w.insertEdge(K,!1);K.style+=A(g,u);m.push(L.addCell(K,null,null,null,null));J=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;endArrow=block;startArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=2;startFill=1;startSize=2;");
-J.geometry.relative=!0;J.edge=!0;w.insertEdge(J,!0);E.insertEdge(J,!1);m.push(L.addCell(J,null,null,null,null));break;case "EIMessageBlock":case "EICommandMessageBlock":case "EIDocumentMessageBlock":case "EIEventMessageBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,0,17,17),"shape=ellipse;fillColor=#808080;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);for(var Tb=
-g.Messages,ec=(r-17)/Tb,w=[],R=[],l=0;l<Tb;l++){var Ub=ec*(l+1)-3;w[l]=new mxCell("",new mxGeometry(t-20,Ub,20,20),"part=1;");w[l].vertex=!0;v.insert(w[l]);switch(e.Class){case "EIMessageBlock":w[l].value=c(g["message_"+(l+1)]);w.style+=k(g["message_"+(l+1)]);break;case "EICommandMessageBlock":w[l].value="C";w[l].style+="fontStyle=1;fontSize=11;";break;case "EIDocumentMessageBlock":w[l].value="D";w[l].style+="fontStyle=1;fontSize=11;";break;case "EIEventMessageBlock":w[l].value="E",w[l].style+="fontStyle=1;fontSize=11;"}w[l].style+=
-f(w[l].style,g,u,w[l]);R[l]=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");R[l].geometry.relative=!0;R[l].edge=!0;q.insertEdge(R[l],!1);w[l].insertEdge(R[l],!0);R[l].style+=f(R[l].style,g,u,R[l]);var jb=[];jb.push(new mxPoint(U+8.5,ba+Ub+10));R[l].geometry.points=jb;m.push(L.addCell(R[l],null,null,null,null))}break;case "EIMessageEndpointBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,
+J.geometry.relative=!0;J.edge=!0;w.insertEdge(J,!0);E.insertEdge(J,!1);m.push(L.addCell(J,null,null,null,null));break;case "EIMessageBlock":case "EICommandMessageBlock":case "EIDocumentMessageBlock":case "EIEventMessageBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,0,17,17),"shape=ellipse;fillColor=#808080;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);for(var Sb=
+g.Messages,dc=(r-17)/Sb,w=[],R=[],l=0;l<Sb;l++){var Tb=dc*(l+1)-3;w[l]=new mxCell("",new mxGeometry(t-20,Tb,20,20),"part=1;");w[l].vertex=!0;v.insert(w[l]);switch(e.Class){case "EIMessageBlock":w[l].value=c(g["message_"+(l+1)]);w.style+=k(g["message_"+(l+1)]);break;case "EICommandMessageBlock":w[l].value="C";w[l].style+="fontStyle=1;fontSize=11;";break;case "EIDocumentMessageBlock":w[l].value="D";w[l].style+="fontStyle=1;fontSize=11;";break;case "EIEventMessageBlock":w[l].value="E",w[l].style+="fontStyle=1;fontSize=11;"}w[l].style+=
+f(w[l].style,g,u,w[l]);R[l]=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");R[l].geometry.relative=!0;R[l].edge=!0;q.insertEdge(R[l],!1);w[l].insertEdge(R[l],!0);R[l].style+=f(R[l].style,g,u,R[l]);var jb=[];jb.push(new mxPoint(U+8.5,ba+Tb+10));R[l].geometry.points=jb;m.push(L.addCell(R[l],null,null,null,null))}break;case "EIMessageEndpointBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,
 g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.45*t,.25*r,.3*t,.5*r),"part=1;fillColor=#ffffff");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);R=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");R.geometry.relative=!0;R.edge=!0;ga(0,.5*r,.4*t,.5*r,R,m,L,ca,v,W);break;case "EIPublishSubscribeChannelBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,
 u,v);v.value=c(g.Text);var K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");K.geometry.relative=!0;K.edge=!0;ga(.05*t,.5*r,.85*t,.5*r,K,m,L,ca,v,W);var J=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");J.geometry.relative=!0;J.edge=!0;ga(.05*t,.5*r,.85*t,.15*r,J,m,L,ca,v,W);var P=new mxCell("",
 new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");P.geometry.relative=!0;P.edge=!0;ga(.05*t,.5*r,.85*t,.85*r,P,m,L,ca,v,W);break;case "EIMessageBusBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");
@@ -145,24 +145,24 @@ q=new mxCell("",new mxGeometry(.2*t,.21*r,.16*t,.24*r),"part=1;fillColor=#ffffff
 new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");J.geometry.relative=!0;J.edge=!0;ga(.55*t,.67*r,.2*t,.67*r,J,m,L,ca,v,W);break;case "EIReturnAddressBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.1*t,.15*r,.8*t,.7*r),"part=1;shape=mxgraph.eip.retAddr;fillColor=#FFE040;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,
 u,q);break;case "EICorrelationIDBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.04*t,.06*r,.18*t,.28*r),"shape=ellipse;fillColor=#808080;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("",new mxGeometry(.2*t,.56*r,.2*t,.32*r),"part=1;");w.vertex=!0;v.insert(w);w.value="A";w.style+="fontStyle=1;fontSize=11;";q.style+=f(q.style,g,u,q);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");
 K.geometry.relative=!0;K.edge=!0;q.insertEdge(K,!1);w.insertEdge(K,!0);K.style+=f(K.style,g,u,K);jb=[];jb.push(new mxPoint(U+.13*t,ba+.72*r));K.geometry.points=jb;m.push(L.addCell(K,null,null,null,null));E=new mxCell("",new mxGeometry(.6*t,.06*r,.18*t,.28*r),"shape=ellipse;fillColor=#808080;part=1;");E.vertex=!0;v.insert(E);E.style+=A(g,u)+Y(g);E.style+=f(E.style,g,u,E);O=new mxCell("",new mxGeometry(.76*t,.56*r,.2*t,.32*r),"part=1;");O.vertex=!0;v.insert(O);O.style+=A(g,u)+B(g,u,O)+Y(g)+Z(g);O.value=
-"B";O.style+="fontStyle=1;fontSize=11;fillColor=#ffffff;";O.style+=f(O.style,g,u,O);J=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");J.geometry.relative=!0;J.edge=!0;E.insertEdge(J,!1);O.insertEdge(J,!0);J.style+=f(J.style,g,u,J);var pc=[];pc.push(new mxPoint(U+.69*t,ba+.72*r));J.geometry.points=pc;m.push(L.addCell(J,null,null,null,null));P=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;endSize=6;part=1;");
+"B";O.style+="fontStyle=1;fontSize=11;fillColor=#ffffff;";O.style+=f(O.style,g,u,O);J=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");J.geometry.relative=!0;J.edge=!0;E.insertEdge(J,!1);O.insertEdge(J,!0);J.style+=f(J.style,g,u,J);var oc=[];oc.push(new mxPoint(U+.69*t,ba+.72*r));J.geometry.points=oc;m.push(L.addCell(J,null,null,null,null));P=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;endSize=6;part=1;");
 P.geometry.relative=!0;P.edge=!0;q.insertEdge(P,!1);E.insertEdge(P,!0);P.style+=f(P.style,g,u,P);m.push(L.addCell(P,null,null,null,null));break;case "EIMessageSequenceBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("1",new mxGeometry(.2*t,.4*r,.1*t,.19*r),"fontStyle=1;fillColor=#ffffff;fontSize=11;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("2",new mxGeometry(.45*t,.4*r,.1*t,.19*r),"fontStyle=1;fillColor=#ffffff;fontSize=11;part=1;");
 w.vertex=!0;v.insert(w);w.style+=f(w.style,g,u,w);E=new mxCell("3",new mxGeometry(.7*t,.4*r,.1*t,.19*r),"fontStyle=1;fillColor=#ffffff;fontSize=11;part=1;");E.vertex=!0;v.insert(E);E.style+=f(E.style,g,u,E);K=new mxCell("",new mxGeometry(0,0,0,0),"curved=1;endArrow=block;html=1;endSize=3;part=1;");q.insertEdge(K,!1);w.insertEdge(K,!0);K.geometry.points=[new mxPoint(U+.375*t,ba+.15*r)];K.geometry.relative=!0;K.edge=!0;K.style+=f(K.style,g,u,K);m.push(L.addCell(K,null,null,null,null));J=new mxCell("",
 new mxGeometry(0,0,0,0),"curved=1;endArrow=block;html=1;endSize=3;part=1;");w.insertEdge(J,!1);E.insertEdge(J,!0);J.geometry.points=[new mxPoint(U+.675*t,ba+.15*r)];J.geometry.relative=!0;J.edge=!0;J.style+=f(J.style,g,u,J);m.push(L.addCell(J,null,null,null,null));break;case "EIMessageExpirationBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.3*t,.2*r,.4*t,.6*r),"shape=mxgraph.ios7.icons.clock;fillColor=#ffffff;flipH=1;part=1;");
 q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);break;case "EIMessageBrokerBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.38*t,.42*r,.24*t,.16*r),"part=1;fillColor=#aefe7d;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("",new mxGeometry(.38*t,0,.24*t,.16*r),"part=1;");w.vertex=!0;v.insert(w);w.style+=f(w.style,g,u,w);E=new mxCell("",new mxGeometry(.76*
-t,.23*r,.24*t,.16*r),"");E.vertex=!0;v.insert(E);E.style=w.style;var O=new mxCell("",new mxGeometry(.76*t,.61*r,.24*t,.16*r),"");O.vertex=!0;v.insert(O);O.style=w.style;var Zb=new mxCell("",new mxGeometry(.38*t,.84*r,.24*t,.16*r),"");Zb.vertex=!0;v.insert(Zb);Zb.style=w.style;var $b=new mxCell("",new mxGeometry(0,.61*r,.24*t,.16*r),"");$b.vertex=!0;v.insert($b);$b.style=w.style;var ac=new mxCell("",new mxGeometry(0,.23*r,.24*t,.16*r),"");ac.vertex=!0;v.insert(ac);ac.style=w.style;K=new mxCell("",
+t,.23*r,.24*t,.16*r),"");E.vertex=!0;v.insert(E);E.style=w.style;var O=new mxCell("",new mxGeometry(.76*t,.61*r,.24*t,.16*r),"");O.vertex=!0;v.insert(O);O.style=w.style;var Yb=new mxCell("",new mxGeometry(.38*t,.84*r,.24*t,.16*r),"");Yb.vertex=!0;v.insert(Yb);Yb.style=w.style;var Zb=new mxCell("",new mxGeometry(0,.61*r,.24*t,.16*r),"");Zb.vertex=!0;v.insert(Zb);Zb.style=w.style;var $b=new mxCell("",new mxGeometry(0,.23*r,.24*t,.16*r),"");$b.vertex=!0;v.insert($b);$b.style=w.style;K=new mxCell("",
 new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(K,!1);w.insertEdge(K,!0);K.edge=!0;K.style+=f(K.style,g,u,K);m.push(L.addCell(K,null,null,null,null));J=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(J,!1);E.insertEdge(J,!0);J.edge=!0;J.style+=f(J.style,g,u,J);m.push(L.addCell(J,null,null,null,null));P=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(P,!1);O.insertEdge(P,!0);P.edge=!0;P.style+=f(P.style,g,u,P);m.push(L.addCell(P,
-null,null,null,null));ja=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(ja,!1);Zb.insertEdge(ja,!0);ja.edge=!0;ja.style+=f(ja.style,g,u,ja);m.push(L.addCell(ja,null,null,null,null));var kb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(kb,!1);$b.insertEdge(kb,!0);kb.edge=!0;kb.style+=f(kb.style,g,u,kb);m.push(L.addCell(kb,null,null,null,null));var lb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(lb,!1);ac.insertEdge(lb,
+null,null,null,null));ja=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(ja,!1);Yb.insertEdge(ja,!0);ja.edge=!0;ja.style+=f(ja.style,g,u,ja);m.push(L.addCell(ja,null,null,null,null));var kb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(kb,!1);Zb.insertEdge(kb,!0);kb.edge=!0;kb.style+=f(kb.style,g,u,kb);m.push(L.addCell(kb,null,null,null,null));var lb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(lb,!1);$b.insertEdge(lb,
 !0);lb.edge=!0;lb.style+=f(lb.style,g,u,lb);m.push(L.addCell(lb,null,null,null,null));break;case "EIDurableSubscriberBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;endFill=1;endSize=6;");K.geometry.relative=!0;K.edge=!0;ga(.05*t,.5*r,.6*t,.25*r,K,m,L,ca,v,W);J=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;endFill=1;endSize=6;");
 J.geometry.relative=!0;J.edge=!0;ga(.05*t,.5*r,.6*t,.75*r,J,m,L,ca,v,W);q=new mxCell("",new mxGeometry(.7*t,.1*r,.15*t,.32*r),"shape=mxgraph.eip.durable_subscriber;part=1;fillColor=#818181;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);break;case "EIControlBusBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.25*t,.25*r,.5*t,.5*r),"shape=mxgraph.eip.control_bus;part=1;");q.vertex=!0;v.insert(q);q.style+=
 f(q.style,g,u,q);break;case "EIMessageHistoryBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,0,17,17),"shape=ellipse;fillColor=#808080;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);E=new mxCell("",new mxGeometry(t-45,30,30,20),"shape=mxgraph.mockup.misc.mail2;fillColor=#FFE040;part=1;");E.vertex=!0;v.insert(E);E.style+=f(E.style,g,u,E);P=new mxCell("",new mxGeometry(0,
 0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");P.geometry.relative=!0;P.edge=!0;q.insertEdge(P,!1);E.insertEdge(P,!0);P.style+=f(P.style,g,u,P);P.geometry.points=[new mxPoint(U+8.5,ba+40)];m.push(L.addCell(P,null,null,null,null));O=new mxCell("",new mxGeometry(t-45,r-20,20,20),"part=1;");O.vertex=!0;v.insert(O);O.value=c(g.message_0);O.style+=k(g.message_0);O.style+=f(O.style,g,u,O);ja=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");
-ja.geometry.relative=!0;ja.edge=!0;q.insertEdge(ja,!1);O.insertEdge(ja,!0);ja.style+=f(ja.style,g,u,ja);ja.geometry.points=[new mxPoint(U+8.5,ba+r-10)];m.push(L.addCell(ja,null,null,null,null));Tb=g.HistoryMessages;ec=(r-75)/Tb;w=[];R=[];for(l=0;l<Tb;l++)Ub=ec*(l+1)+30,w[l]=new mxCell("",new mxGeometry(t-20,Ub,20,20),"part=1;"),w[l].vertex=!0,w[l].value=c(g["message_"+(l+1)]),w.style+=k(g["message_"+(l+1)]),v.insert(w[l]),w[l].style+=f(w[l].style,g,u,w[l]),R[l]=new mxCell("",new mxGeometry(0,0,0,
-0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;"),R[l].geometry.relative=!0,R[l].edge=!0,E.insertEdge(R[l],!1),w[l].insertEdge(R[l],!0),R[l].style+=f(R[l].style,g,u,R[l]),jb=[],jb.push(new mxPoint(U+t-30,ba+Ub+10)),R[l].geometry.points=jb,m.push(L.addCell(R[l],null,null,null,null));break;case "fpDoor":v.style+="shape=mxgraph.floorplan.doorRight;";0>g.DoorAngle&&(v.style+="flipV=1;");v.style+=f(v.style,g,u,v);break;case "fpDoubleDoor":v.style+="shape=mxgraph.floorplan.doorDouble;";
-0<g.DoorAngle&&(v.style+="flipV=1;");v.style+=f(v.style,g,u,v);break;case "fpRestroomLights":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);q=new mxCell("",new mxGeometry(0,0,t,.25*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);for(var w=[],qc=.02*t,fc=(t-2*qc)/g.LightCount,rc=.8*fc,l=0;l<g.LightCount;l++)w[l]=new mxCell("",new mxGeometry(qc+fc*l+(fc-rc)/2,.25*r,rc,.75*r),"part=1;shape=ellipse;"),w[l].vertex=!0,v.insert(w[l]),w[l].style+=f(w[l].style,g,u,w[l]);
-break;case "fpRestroomSinks":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);for(var q=[],sc=t/g.SinkCount,l=0;l<g.SinkCount;l++)q[l]=new mxCell("",new mxGeometry(sc*l,0,sc,r),"part=1;shape=mxgraph.floorplan.sink_2;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=f(q[l].style,g,u,q[l]);break;case "fpRestroomStalls":v.style+="strokeColor=none;fillColor=none;";var Ba=.1*t/g.StallCount,q=new mxCell("",new mxGeometry(0,0,Ba,r),"fillColor=#000000;part=1;");q.vertex=!0;v.insert(q);q.style+=
-f(q.style,g,u,q);for(var Ia=(t-Ba)/g.StallCount,gc=[],Vb=[],Wb=[],Xb=[],I=A(g,u),I=""==I?"#000000;":I.replace("stokreColor=",""),bc="part=1;fillColor="+I,bc=bc+f(bc,g,u,v),hc=f("",g,u,v),l=0;l<g.StallCount;l++)gc[l]=new mxCell("",new mxGeometry((l+1)*Ia,0,Ba,r),bc),gc[l].vertex=!0,v.insert(gc[l]),Wb[l]=new mxCell("",new mxGeometry(Ba+l*Ia+.05*(Ia-Ba),r-.92*(Ia-Ba),.9*(Ia-Ba),.92*(Ia-Ba)),"shape=mxgraph.floorplan.doorRight;flipV=1;part=1;"),Wb[l].vertex=!0,v.insert(Wb[l]),Wb[l].style+=hc,Vb[l]=new mxCell("",
-new mxGeometry(Ba+l*Ia+.2*(Ia-Ba),0,.6*(Ia-Ba),.8*(Ia-Ba)),"shape=mxgraph.floorplan.toilet;part=1;"),Vb[l].vertex=!0,v.insert(Vb[l]),Vb[l].style+=hc,Xb[l]=new mxCell("",new mxGeometry(Ba+l*Ia,.42*r,.15*(Ia-Ba),.12*(Ia-Ba)),"part=1;"),Xb[l].vertex=!0,v.insert(Xb[l]),Xb[l].style+=hc;break;case "PEOneToMany":v.style+="strokeColor=none;fillColor=none;";var Ka="edgeStyle=none;endArrow=none;part=1;";Ka.style+=f(Ka.style,g,u,Ka);var I=A(g,u),I=""==I?"#000000;":I.replace("strokeColor=",""),mb="shape=triangle;part=1;fillColor="+
+ja.geometry.relative=!0;ja.edge=!0;q.insertEdge(ja,!1);O.insertEdge(ja,!0);ja.style+=f(ja.style,g,u,ja);ja.geometry.points=[new mxPoint(U+8.5,ba+r-10)];m.push(L.addCell(ja,null,null,null,null));Sb=g.HistoryMessages;dc=(r-75)/Sb;w=[];R=[];for(l=0;l<Sb;l++)Tb=dc*(l+1)+30,w[l]=new mxCell("",new mxGeometry(t-20,Tb,20,20),"part=1;"),w[l].vertex=!0,w[l].value=c(g["message_"+(l+1)]),w.style+=k(g["message_"+(l+1)]),v.insert(w[l]),w[l].style+=f(w[l].style,g,u,w[l]),R[l]=new mxCell("",new mxGeometry(0,0,0,
+0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;"),R[l].geometry.relative=!0,R[l].edge=!0,E.insertEdge(R[l],!1),w[l].insertEdge(R[l],!0),R[l].style+=f(R[l].style,g,u,R[l]),jb=[],jb.push(new mxPoint(U+t-30,ba+Tb+10)),R[l].geometry.points=jb,m.push(L.addCell(R[l],null,null,null,null));break;case "fpDoor":v.style+="shape=mxgraph.floorplan.doorRight;";0>g.DoorAngle&&(v.style+="flipV=1;");v.style+=f(v.style,g,u,v);break;case "fpDoubleDoor":v.style+="shape=mxgraph.floorplan.doorDouble;";
+0<g.DoorAngle&&(v.style+="flipV=1;");v.style+=f(v.style,g,u,v);break;case "fpRestroomLights":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);q=new mxCell("",new mxGeometry(0,0,t,.25*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);for(var w=[],pc=.02*t,ec=(t-2*pc)/g.LightCount,qc=.8*ec,l=0;l<g.LightCount;l++)w[l]=new mxCell("",new mxGeometry(pc+ec*l+(ec-qc)/2,.25*r,qc,.75*r),"part=1;shape=ellipse;"),w[l].vertex=!0,v.insert(w[l]),w[l].style+=f(w[l].style,g,u,w[l]);
+break;case "fpRestroomSinks":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);for(var q=[],rc=t/g.SinkCount,l=0;l<g.SinkCount;l++)q[l]=new mxCell("",new mxGeometry(rc*l,0,rc,r),"part=1;shape=mxgraph.floorplan.sink_2;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=f(q[l].style,g,u,q[l]);break;case "fpRestroomStalls":v.style+="strokeColor=none;fillColor=none;";var Ba=.1*t/g.StallCount,q=new mxCell("",new mxGeometry(0,0,Ba,r),"fillColor=#000000;part=1;");q.vertex=!0;v.insert(q);q.style+=
+f(q.style,g,u,q);for(var Ia=(t-Ba)/g.StallCount,fc=[],Ub=[],Vb=[],Wb=[],I=A(g,u),I=""==I?"#000000;":I.replace("stokreColor=",""),ac="part=1;fillColor="+I,ac=ac+f(ac,g,u,v),gc=f("",g,u,v),l=0;l<g.StallCount;l++)fc[l]=new mxCell("",new mxGeometry((l+1)*Ia,0,Ba,r),ac),fc[l].vertex=!0,v.insert(fc[l]),Vb[l]=new mxCell("",new mxGeometry(Ba+l*Ia+.05*(Ia-Ba),r-.92*(Ia-Ba),.9*(Ia-Ba),.92*(Ia-Ba)),"shape=mxgraph.floorplan.doorRight;flipV=1;part=1;"),Vb[l].vertex=!0,v.insert(Vb[l]),Vb[l].style+=gc,Ub[l]=new mxCell("",
+new mxGeometry(Ba+l*Ia+.2*(Ia-Ba),0,.6*(Ia-Ba),.8*(Ia-Ba)),"shape=mxgraph.floorplan.toilet;part=1;"),Ub[l].vertex=!0,v.insert(Ub[l]),Ub[l].style+=gc,Wb[l]=new mxCell("",new mxGeometry(Ba+l*Ia,.42*r,.15*(Ia-Ba),.12*(Ia-Ba)),"part=1;"),Wb[l].vertex=!0,v.insert(Wb[l]),Wb[l].style+=gc;break;case "PEOneToMany":v.style+="strokeColor=none;fillColor=none;";var Ka="edgeStyle=none;endArrow=none;part=1;";Ka.style+=f(Ka.style,g,u,Ka);var I=A(g,u),I=""==I?"#000000;":I.replace("strokeColor=",""),mb="shape=triangle;part=1;fillColor="+
 I,mb=mb+f(mb,g,u,v),K=new mxCell("",new mxGeometry(0,0,0,0),Ka);K.geometry.relative=!0;K.edge=!0;ga(0,.5*r,.65*t,.5*r,K,m,L,ca,v,W);for(var M=r/g.numLines,J=[],ob=[],l=0;l<g.numLines;l++)J[l]=new mxCell("",new mxGeometry(0,0,0,0),Ka),J[l].geometry.relative=!0,J[l].edge=!0,ga(.65*t,.5*r,.96*t,(l+.5)*M,J[l],m,L,ca,v,W),ob[l]=new mxCell("",new mxGeometry(.95*t,(l+.2)*M,.05*t,.6*M),mb),ob[l].vertex=!0,v.insert(ob[l]);break;case "PEMultilines":v.style+="strokeColor=none;fillColor=none;";Ka="edgeStyle=none;endArrow=none;part=1;";
 Ka.style+=f(Ka.style,g,u,Ka);I=A(g,u);I=""==I?"#000000;":I.replace("strokeColor=","");mb="shape=triangle;part=1;fillColor="+I;mb+=f(mb,g,u,v);M=r/g.numLines;J=[];ob=[];for(l=0;l<g.numLines;l++)J[l]=new mxCell("",new mxGeometry(0,0,0,0),Ka),J[l].geometry.relative=!0,J[l].edge=!0,ga(0,(l+.5)*M,.96*t,(l+.5)*M,J[l],m,L,ca,v,W),ob[l]=new mxCell("",new mxGeometry(.95*t,(l+.2)*M,.05*t,.6*M),mb),ob[l].vertex=!0,v.insert(ob[l]);break;case "PEVesselBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";
 v.value=c(g.Text);switch(g.vesselType){case 1:v.style+="shape=mxgraph.pid.vessels.pressurized_vessel;";break;case 2:v.style+="shape=hexagon;perimeter=hexagonPerimeter2;size=0.10;direction=south;"}v.style+=f(v.style,g,u,v);break;case "PEClosedTankBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=c(g.Text);1==g.peakedRoof&&0==g.stumpType?v.style+="shape=mxgraph.pid.vessels.tank_(conical_roof);":1==g.stumpType&&(v.style+="shape=mxgraph.pid.vessels.tank_(boot);");v.style+=f(v.style,
@@ -172,8 +172,8 @@ q.vertex=!0;v.insert(q);q.style+=N;q.style+=f(q.style,g,u,q);N="endSize=4;endArr
 new mxGeometry(.2*t,.2*r,.6*t,.6*r),"part=1;shape=trapezoid;perimeter=trapezoidPerimeter;direction=south;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);break;case "PEIndicatorBlock":case "PEIndicator2Block":case "PESharedIndicatorBlock":case "PEComputerIndicatorBlock":case "PESharedIndicator2Block":case "PEProgrammableIndicatorBlock":switch(e.Class){case "PEIndicatorBlock":v.style+="shape=mxgraph.pid2inst.discInst;";break;case "PEIndicator2Block":v.style+="shape=mxgraph.pid2inst.indicator;indType=inst;";
 break;case "PESharedIndicatorBlock":v.style+="shape=mxgraph.pid2inst.sharedCont;";break;case "PEComputerIndicatorBlock":v.style+="shape=mxgraph.pid2inst.compFunc;";break;case "PESharedIndicator2Block":v.style+="shape=mxgraph.pid2inst.indicator;indType=ctrl;";break;case "PEProgrammableIndicatorBlock":v.style+="shape=mxgraph.pid2inst.progLogCont;"}v.style+=f(v.style,g,u,v);"PEIndicator2Block"==e.Class||"PESharedIndicator2Block"==e.Class?(q=new mxCell("",new mxGeometry(0,0,t,.5*t),"part=1;strokeColor=none;fillColor=none;"),
 q.vertex=!0,v.insert(q),q.style+=k(g.TopText),q.style+=f(q.style,g,u,q),q.value=c(g.TopText),w=new mxCell("",new mxGeometry(0,.5*t,t,.5*t),"part=1;strokeColor=none;fillColor=none;")):(q=new mxCell("",new mxGeometry(0,0,t,.5*r),"part=1;strokeColor=none;fillColor=none;"),q.vertex=!0,v.insert(q),q.style+=k(g.TopText),q.style+=f(q.style,g,u,q),q.value=c(g.TopText),w=new mxCell("",new mxGeometry(0,.5*r,t,.5*r),"part=1;strokeColor=none;fillColor=none;"));w.vertex=!0;v.insert(w);w.style+=k(g.BotText);w.style+=
-f(w.style,g,u,w);w.value=c(g.BotText);switch(g.instrumentLocation){case 0:v.style+="mounting=field;";break;case 1:v.style+="mounting=inaccessible;";break;case 2:v.style+="mounting=room;";break;case 3:v.style+="mounting=local;"}break;case "PEGateValveBlock":case "PEGlobeValveBlock":case "PEAngleValveBlock":case "PEAngleGlobeValveBlock":case "PEPoweredValveBlock":var ic=!1;"PEPoweredValveBlock"==e.Class?1!=g.poweredHandOperated&&(ic=!0):1!=g.handOperated&&(ic=!0);if(ic){var g=n(e).Properties,S=g.BoundingBox,
-tc=S.h;S.h="PEAngleValveBlock"==e.Class||"PEAngleGlobeValveBlock"==e.Class?.7*S.h:.6*S.h;v=new mxCell("",new mxGeometry(Math.round(.6*S.x+0),Math.round(.6*(S.y+tc-S.h)+0),Math.round(.6*S.w),Math.round(.6*S.h)),"");v.vertex=!0;aa(v,e)}if("PEPoweredValveBlock"==e.Class)v.style+="shape=mxgraph.pid2valves.valve;verticalLabelPosition=bottom;verticalAlign=top;",v.style+=f(v.style,g,u,v),1==g.poweredHandOperated?(v.style+="valveType=gate;actuator=powered;",q=new mxCell("",new mxGeometry(.325*t,0,.35*t,.35*
+f(w.style,g,u,w);w.value=c(g.BotText);switch(g.instrumentLocation){case 0:v.style+="mounting=field;";break;case 1:v.style+="mounting=inaccessible;";break;case 2:v.style+="mounting=room;";break;case 3:v.style+="mounting=local;"}break;case "PEGateValveBlock":case "PEGlobeValveBlock":case "PEAngleValveBlock":case "PEAngleGlobeValveBlock":case "PEPoweredValveBlock":var hc=!1;"PEPoweredValveBlock"==e.Class?1!=g.poweredHandOperated&&(hc=!0):1!=g.handOperated&&(hc=!0);if(hc){var g=n(e).Properties,S=g.BoundingBox,
+sc=S.h;S.h="PEAngleValveBlock"==e.Class||"PEAngleGlobeValveBlock"==e.Class?.7*S.h:.6*S.h;v=new mxCell("",new mxGeometry(Math.round(.6*S.x+0),Math.round(.6*(S.y+sc-S.h)+0),Math.round(.6*S.w),Math.round(.6*S.h)),"");v.vertex=!0;aa(v,e)}if("PEPoweredValveBlock"==e.Class)v.style+="shape=mxgraph.pid2valves.valve;verticalLabelPosition=bottom;verticalAlign=top;",v.style+=f(v.style,g,u,v),1==g.poweredHandOperated?(v.style+="valveType=gate;actuator=powered;",q=new mxCell("",new mxGeometry(.325*t,0,.35*t,.35*
 r),"part=1;strokeColor=none;fillColor=none;spacingTop=2;"),q.vertex=!0,v.insert(q),q.style+="fontSize=6;"+a(g.PoweredText)+d(g.PoweredText)+h(g.PoweredText)+p(g.PoweredText)+y(g.PoweredText)+x(g.PoweredText)+C(g.PoweredText)+F(g.PoweredText),q.style+=f(q.style,g,u,q),q.value=c(g.PoweredText)):v.style+="valveType=gate;";else{v.style+="verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.pid2valves.valve;";v.value=c(g.Text);switch(e.Class){case "PEGateValveBlock":v.style+="valveType=gate;";
 break;case "PEGlobeValveBlock":v.style+="valveType=globe;";break;case "PEAngleValveBlock":v.style+="valveType=angle;";break;case "PEAngleGlobeValveBlock":v.style+="valveType=angleGlobe;flipH=1;"}1==g.handOperated&&(v.style+="actuator=man;")}v.style+=f(v.style,g,u,v);break;case "UI2BrowserBlock":v.style+="shape=mxgraph.mockup.containers.browserWindow;mainText=;";1==g.vScroll&&(E=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,r-130),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):
 new mxCell("",new mxGeometry(1,0,20,r-110),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(-20,110),E.vertex=!0,v.insert(E),v.style+="spacingRight=20;");1==g.hScroll&&(O=1==g.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),
@@ -209,13 +209,13 @@ w[l].vertex=!0,q[l].insert(w[l])),w[l].style+=k(g["Button_"+(l+1)]),w[l].style+=
 T,0,T,r),"fillColor=none;strokeColor=none;"),w[l].vertex=!0,v.insert(w[l]),w[l].style+=k(g["Link_"+(l+1)]),w[l].value=c(g["Link_"+(l+1)]);break;case "UI2BreadCrumbsBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);q=[];w=[];T=t/g.Links;for(l=0;l<g.Links;l++)q[l]=new mxCell("",new mxGeometry(l*T,0,T,r),"fillColor=none;strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(g["Link_"+(l+1)]),q[l].value=c(g["Link_"+(l+1)]);for(l=1;l<g.Links;l++)w[l]=new mxCell("",new mxGeometry(l/
 g.Links,.5,6,10),"shape=mxgraph.ios7.misc.right;"),w[l].geometry.relative=!0,w[l].geometry.offset=new mxPoint(-3,-5),w[l].vertex=!0,v.insert(w[l]);break;case "UI2MenuBarBlock":v.style+="strokeColor=none;";v.style+=f(v.style,g,u,v);q=[];T=t/(g.Buttons+1);for(l=0;l<=g.Buttons-1;l++)q[l]=l!=g.Selected-1?new mxCell("",new mxGeometry(0,0,T,r),"strokeColor=none;fillColor=none;resizeHeight=1;"):new mxCell("",new mxGeometry(0,0,T,r),"fillColor=#000000;fillOpacity=25;strokeColor=none;resizeHeight=1;"),q[l].geometry.relative=
 !0,q[l].geometry.offset=new mxPoint(l*T,0),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(g["MenuItem_"+(l+1)]),q[l].value=c(g["MenuItem_"+(l+1)]);break;case "UI2AtoZBlock":v.style+="fillColor=none;strokeColor=none;"+k(g.Text_0);v.value="0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";break;case "UI2PaginationBlock":v.style+="fillColor=none;strokeColor=none;"+k(g.Text_prev);v.value=c(g.Text_prev)+" ";for(l=0;l<g.Links;l++)v.value+=c(g["Link_"+(l+1)])+" ";v.value+=c(g.Text_next);break;case "UI2ContextMenuBlock":v.style+=
-f(v.style,g,u,v);for(var H=[],cb=[],Bb=[],M=r/g.Lines,N=null,l=0;l<g.Lines;l++)null!=g["Item_"+(l+1)]&&(null==N&&(N=""+b(g["Item_"+(l+1)])+a(g["Item_"+(l+1)])+d(g["Item_"+(l+1)])),H[l]=new mxCell("",new mxGeometry(0,l*r/g.Lines,t,M),"strokeColor=none;fillColor=none;spacingLeft=20;align=left;html=1;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=N,H[l].value=c(g["Item_"+(l+1)])),null!=g.Icons[l+1]&&null!=H[l]&&("dot"==g.Icons[l+1]?(cb[l]=new mxCell("",new mxGeometry(0,.5,8,8),"shape=ellipse;strokeColor=none;"),
+f(v.style,g,u,v);for(var H=[],cb=[],Ab=[],M=r/g.Lines,N=null,l=0;l<g.Lines;l++)null!=g["Item_"+(l+1)]&&(null==N&&(N=""+b(g["Item_"+(l+1)])+a(g["Item_"+(l+1)])+d(g["Item_"+(l+1)])),H[l]=new mxCell("",new mxGeometry(0,l*r/g.Lines,t,M),"strokeColor=none;fillColor=none;spacingLeft=20;align=left;html=1;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=N,H[l].value=c(g["Item_"+(l+1)])),null!=g.Icons[l+1]&&null!=H[l]&&("dot"==g.Icons[l+1]?(cb[l]=new mxCell("",new mxGeometry(0,.5,8,8),"shape=ellipse;strokeColor=none;"),
 cb[l].geometry.offset=new mxPoint(6,-4)):"check"==g.Icons[l+1]&&(cb[l]=new mxCell("",new mxGeometry(0,.5,7,8),"shape=mxgraph.mscae.general.checkmark;strokeColor=none;"),cb[l].geometry.offset=new mxPoint(6.5,-4)),null!=cb[l]&&(cb[l].geometry.relative=!0,cb[l].vertex=!0,H[l].insert(cb[l]),I=A(g,u),I=I.replace("strokeColor","fillColor"),""==I&&(I="fillColor=#000000;"),cb[l].style+=I)),null!=g["Shortcut_"+(l+1)]&&(null==N&&(N=""+b(g["Shortcut_"+(l+1)])+a(g["Shortcut_"+(l+1)])+d(g["Shortcut_"+(l+1)])),
-Bb[l]=new mxCell("",new mxGeometry(.6*t,l*r/g.Lines,.4*t,M),"strokeColor=none;fillColor=none;spacingRight=3;align=right;html=1;"),Bb[l].vertex=!0,v.insert(Bb[l]),Bb[l].style+=N,Bb[l].value=c(g["Shortcut_"+(l+1)])),null!=g.Dividers[l+1]&&(H[l]=new mxCell("",new mxGeometry(.05*t,l*r/g.Lines,.9*t,M),"shape=line;strokeWidth=0.25;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=A(g,u));break;case "UI2ProgressBarBlock":v.style+="shape=mxgraph.mockup.misc.progressBar;fillColor2=#888888;barPos="+100*g.ScrollVal+
+Ab[l]=new mxCell("",new mxGeometry(.6*t,l*r/g.Lines,.4*t,M),"strokeColor=none;fillColor=none;spacingRight=3;align=right;html=1;"),Ab[l].vertex=!0,v.insert(Ab[l]),Ab[l].style+=N,Ab[l].value=c(g["Shortcut_"+(l+1)])),null!=g.Dividers[l+1]&&(H[l]=new mxCell("",new mxGeometry(.05*t,l*r/g.Lines,.9*t,M),"shape=line;strokeWidth=0.25;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=A(g,u));break;case "UI2ProgressBarBlock":v.style+="shape=mxgraph.mockup.misc.progressBar;fillColor2=#888888;barPos="+100*g.ScrollVal+
 ";";break;case "UI2TooltipSquareBlock":v.style+="html=1;shape=callout;flipV=1;base=13;size=7;position=0.5;position2=0.66;rounded=1;arcSize="+g.RoundCorners+";"+k(g.Tip);v.style+=f(v.style,g,u,v);v.value=c(g.Tip);break;case "UI2CalloutBlock":v.style+="shape=ellipse;"+k(g.Txt);v.style+=f(v.style,g,u,v);v.value=c(g.Txt);break;case "UI2AlertBlock":v.style+=k(g.Txt);v.style+=f(v.style,g,u,v);v.value=c(g.Txt);q=new mxCell("",new mxGeometry(0,0,t,30),"part=1;resizeHeight=0;");q.vertex=!0;v.insert(q);q.style+=
-k(g.Title);q.style+=f(q.style,g,u,q);q.value=c(g.Title);w=new mxCell("",new mxGeometry(1,.5,20,20),"part=1;shape=ellipse;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");w.geometry.relative=!0;w.geometry.offset=new mxPoint(-25,-10);w.vertex=!0;q.insert(w);for(var uc=45*g.Buttons+(10*g.Buttons-1),E=[],l=0;l<g.Buttons;l++)E[l]=new mxCell("",new mxGeometry(.5,1,45,20),"part=1;html=1;"),E[l].geometry.relative=!0,E[l].geometry.offset=new mxPoint(.5*-uc+55*l,-40),E[l].vertex=!0,v.insert(E[l]),E[l].style+=
+k(g.Title);q.style+=f(q.style,g,u,q);q.value=c(g.Title);w=new mxCell("",new mxGeometry(1,.5,20,20),"part=1;shape=ellipse;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");w.geometry.relative=!0;w.geometry.offset=new mxPoint(-25,-10);w.vertex=!0;q.insert(w);for(var tc=45*g.Buttons+(10*g.Buttons-1),E=[],l=0;l<g.Buttons;l++)E[l]=new mxCell("",new mxGeometry(.5,1,45,20),"part=1;html=1;"),E[l].geometry.relative=!0,E[l].geometry.offset=new mxPoint(.5*-tc+55*l,-40),E[l].vertex=!0,v.insert(E[l]),E[l].style+=
 k(g["Button_"+(l+1)]),E[l].style+=f(E[l].style,g,u,E[l]),E[l].value=c(g["Button_"+(l+1)]);break;case "UMLClassBlock":if(0==g.Simple){var N=D(g,u),Ca=Math.round(.6*g.TitleHeight),N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+N+"startSize="+Ca+";"+k(g.Title);v.style+=f(v.style,g,u,v);v.value=c(g.Title);
-for(var H=[],jc=[],ya=Ca/r,l=0;l<=g.Attributes;l++)0<l&&(jc[l]=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),jc[l].vertex=!0,v.insert(jc[l])),M=0,l<g.Attributes?(M=g["Text"+(l+1)+"Percent"],ya+=M):M=1-ya,H[l]=new mxCell("",new mxGeometry(0,0,t,Math.round((r-Ca)*M)),"part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+for(var H=[],ic=[],ya=Ca/r,l=0;l<=g.Attributes;l++)0<l&&(ic[l]=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),ic[l].vertex=!0,v.insert(ic[l])),M=0,l<g.Attributes?(M=g["Text"+(l+1)+"Percent"],ya+=M):M=1-ya,H[l]=new mxCell("",new mxGeometry(0,0,t,Math.round((r-Ca)*M)),"part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
 H[l].vertex=!0,v.insert(H[l]),H[l].style+=N+B(g,u,H[l])+b(g["Text"+(l+1)])+a(g["Text"+(l+1)])+d(g["Text"+(l+1)]),H[l].value=c(g["Text"+(l+1)])}else v.style+=k(g.Title),v.style+=f(v.style,g,u,v),v.value=c(g.Title);break;case "ERDEntityBlock":N=D(g,u);Ca=.6*g.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+
 N+"startSize="+Ca+";"+k(g.Name);v.style+=f(v.style,g,u,v);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+D(g,u);v.value=c(g.Name);H=[];ya=Ca/r;for(l=0;l<g.Fields;l++)M=0,H[l]=new mxCell("",new mxGeometry(0,0,t,.6*g["Field"+(l+1)+"_h"]),"part=1;resizeHeight=0;strokeColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=N+b(g["Field"+(l+1)])+a(g["Field"+
 (l+1)])+d(g["Field"+(l+1)]),H[l].style=1==g.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;opacity=5;":H[l].style+("fillColor=none;"+B(g,u,H[l])),H[l].value=c(g["Field"+(l+1)]);break;case "ERDEntityBlock2":N=D(g,u);Ca=.6*g.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+N+"startSize="+Ca+";"+k(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+
@@ -225,9 +225,9 @@ D(g,u);v.style+=f(v.style,g,u,v);v.value=c(g.Name);var H=[],X=[],ya=Ca,Ga=30;nul
 "fillColor=#e0e0e0;":v.style+D(g,u);v.style+=f(v.style,g,u,v);v.value=c(g.Name);H=[];X=[];ya=Ca;Ga=30;null!=g.Column1&&(Ga=.6*g.Column1);for(l=0;l<g.Fields;l++)M=0,X[l]=new mxCell("",new mxGeometry(0,ya,Ga,.6*g["Field"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),X[l].vertex=!0,v.insert(X[l]),X[l].style+=N+b(g["Field"+(l+1)])+a(g["Field"+(l+1)])+d(g["Field"+
 (l+1)]),X[l].style=1==g.AltRows&&0!=l%2?X[l].style+"fillColor=#000000;fillOpacity=5;":X[l].style+("fillColor=none;"+B(g,u,X[l])),X[l].style+=f(X[l].style,g,u,X[l]),X[l].value=c(g["Field"+(l+1)]),H[l]=new mxCell("",new mxGeometry(Ga,ya,t-Ga,.6*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),H[l].vertex=!0,v.insert(H[l]),
 H[l].style+=N+b(g["Type"+(l+1)])+a(g["Type"+(l+1)])+d(g["Type"+(l+1)]),H[l].style=1==g.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;fillOpacity=5;":H[l].style+("fillColor=none;"+B(g,u,H[l])),H[l].style+=f(H[l].style,g,u,H[l]),H[l].value=c(g["Type"+(l+1)]),ya+=.6*g["Field"+(l+1)+"_h"];break;case "ERDEntityBlock4":N=D(g,u);Ca=.6*g.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+
-N+"startSize="+Ca+";"+k(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+D(g,u);v.style+=f(v.style,g,u,v);v.value=c(g.Name);var H=[],X=[],Ha=[],ya=Ca,Ga=30,cc=40;null!=g.Column1&&(Ga=.6*g.Column1);null!=g.Column2&&(cc=.6*g.Column2);for(l=0;l<g.Fields;l++)M=0,X[l]=new mxCell("",new mxGeometry(0,ya,Ga,.6*g["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-X[l].vertex=!0,v.insert(X[l]),X[l].style+=N+b(g["Key"+(l+1)])+a(g["Key"+(l+1)])+d(g["Key"+(l+1)]),X[l].style=1==g.AltRows&&0!=l%2?X[l].style+"fillColor=#000000;fillOpacity=5;":X[l].style+("fillColor=none;"+B(g,u,X[l])),X[l].style+=f(X[l].style,g,u,X[l]),X[l].value=c(g["Key"+(l+1)]),H[l]=new mxCell("",new mxGeometry(Ga,ya,t-Ga-cc,.6*g["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-H[l].vertex=!0,v.insert(H[l]),H[l].style+=N+b(g["Field"+(l+1)])+a(g["Field"+(l+1)])+d(g["Field"+(l+1)]),H[l].style=1==g.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;fillOpacity=5;":H[l].style+("fillColor=none;"+B(g,u,H[l])),H[l].style+=f(H[l].style,g,u,H[l]),H[l].value=c(g["Field"+(l+1)]),Ha[l]=new mxCell("",new mxGeometry(t-cc,ya,cc,.6*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+N+"startSize="+Ca+";"+k(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+D(g,u);v.style+=f(v.style,g,u,v);v.value=c(g.Name);var H=[],X=[],Ha=[],ya=Ca,Ga=30,bc=40;null!=g.Column1&&(Ga=.6*g.Column1);null!=g.Column2&&(bc=.6*g.Column2);for(l=0;l<g.Fields;l++)M=0,X[l]=new mxCell("",new mxGeometry(0,ya,Ga,.6*g["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+X[l].vertex=!0,v.insert(X[l]),X[l].style+=N+b(g["Key"+(l+1)])+a(g["Key"+(l+1)])+d(g["Key"+(l+1)]),X[l].style=1==g.AltRows&&0!=l%2?X[l].style+"fillColor=#000000;fillOpacity=5;":X[l].style+("fillColor=none;"+B(g,u,X[l])),X[l].style+=f(X[l].style,g,u,X[l]),X[l].value=c(g["Key"+(l+1)]),H[l]=new mxCell("",new mxGeometry(Ga,ya,t-Ga-bc,.6*g["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+H[l].vertex=!0,v.insert(H[l]),H[l].style+=N+b(g["Field"+(l+1)])+a(g["Field"+(l+1)])+d(g["Field"+(l+1)]),H[l].style=1==g.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;fillOpacity=5;":H[l].style+("fillColor=none;"+B(g,u,H[l])),H[l].style+=f(H[l].style,g,u,H[l]),H[l].value=c(g["Field"+(l+1)]),Ha[l]=new mxCell("",new mxGeometry(t-bc,ya,bc,.6*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
 Ha[l].vertex=!0,v.insert(Ha[l]),Ha[l].style+=N+b(g["Type"+(l+1)])+a(g["Type"+(l+1)])+d(g["Type"+(l+1)]),Ha[l].style=1==g.AltRows&&0!=l%2?Ha[l].style+"fillColor=#000000;fillOpacity=5;":Ha[l].style+("fillColor=none;"+B(g,u,Ha[l])),Ha[l].style+=f(Ha[l].style,g,u,Ha[l]),Ha[l].value=c(g["Type"+(l+1)]),ya+=.6*g["Key"+(l+1)+"_h"];break;case "GCPServiceCardApplicationSystemBlock":ea("application_system",t,r,v,g,u);break;case "GCPServiceCardAuthorizationBlock":ea("internal_payment_authorization",t,r,v,g,u);
 break;case "GCPServiceCardBlankBlock":ea("blank",t,r,v,g,u);break;case "GCPServiceCardReallyBlankBlock":ea("blank",t,r,v,g,u);break;case "GCPServiceCardBucketBlock":ea("bucket",t,r,v,g,u);break;case "GCPServiceCardCDNInterconnectBlock":ea("google_network_edge_cache",t,r,v,g,u);break;case "GCPServiceCardCloudDNSBlock":ea("blank",t,r,v,g,u);break;case "GCPServiceCardClusterBlock":ea("cluster",t,r,v,g,u);break;case "GCPServiceCardDiskSnapshotBlock":ea("persistent_disk_snapshot",t,r,v,g,u);break;case "GCPServiceCardEdgePopBlock":ea("google_network_edge_cache",
 t,r,v,g,u);break;case "GCPServiceCardFrontEndPlatformServicesBlock":ea("frontend_platform_services",t,r,v,g,u);break;case "GCPServiceCardGatewayBlock":ea("gateway",t,r,v,g,u);break;case "GCPServiceCardGoogleNetworkBlock":ea("google_network_edge_cache",t,r,v,g,u);break;case "GCPServiceCardImageServicesBlock":ea("image_services",t,r,v,g,u);break;case "GCPServiceCardLoadBalancerBlock":ea("network_load_balancer",t,r,v,g,u);break;case "GCPServiceCardLocalComputeBlock":ea("dedicated_game_server",t,r,v,
@@ -235,7 +235,7 @@ g,u);break;case "GCPServiceCardLocalStorageBlock":ea("persistent_disk_snapshot",
 t,r,v,g,u);break;case "GCPServiceCardServiceDiscoveryBlock":ea("service_discovery",t,r,v,g,u);break;case "GCPServiceCardSquidProxyBlock":ea("squid_proxy",t,r,v,g,u);break;case "GCPServiceCardTaskQueuesBlock":ea("task_queues",t,r,v,g,u);break;case "GCPServiceCardVirtualFileSystemBlock":ea("virtual_file_system",t,r,v,g,u);break;case "GCPServiceCardVPNGatewayBlock":ea("gateway",t,r,v,g,u);break;case "GCPInputDatabase":ia("database",1,.9,t,r,v,g,u);break;case "GCPInputRecord":ia("record",1,.66,t,r,v,
 g,u);break;case "GCPInputPayment":ia("payment",1,.8,t,r,v,g,u);break;case "GCPInputGateway":ia("gateway_icon",1,.44,t,r,v,g,u);break;case "GCPInputLocalCompute":ia("compute_engine_icon",1,.89,t,r,v,g,u);break;case "GCPInputBeacon":ia("beacon",.73,1,t,r,v,g,u);break;case "GCPInputStorage":ia("storage",1,.8,t,r,v,g,u);break;case "GCPInputList":ia("list",.89,1,t,r,v,g,u);break;case "GCPInputStream":ia("stream",1,.82,t,r,v,g,u);break;case "GCPInputMobileDevices":ia("mobile_devices",1,.73,t,r,v,g,u);break;
 case "GCPInputCircuitBoard":ia("circuit_board",1,.9,t,r,v,g,u);break;case "GCPInputLive":ia("live",.74,1,t,r,v,g,u);break;case "GCPInputUsers":ia("users",1,.63,t,r,v,g,u);break;case "GCPInputLaptop":ia("laptop",1,.66,t,r,v,g,u);break;case "GCPInputApplication":ia("application",1,.8,t,r,v,g,u);break;case "GCPInputLightbulb":ia("lightbulb",.7,1,t,r,v,g,u);break;case "GCPInputGame":ia("game",1,.54,t,r,v,g,u);break;case "GCPInputDesktop":ia("desktop",1,.9,t,r,v,g,u);break;case "GCPInputDesktopAndMobile":ia("desktop_and_mobile",
-1,.66,t,r,v,g,u);break;case "GCPInputWebcam":ia("webcam",.5,1,t,r,v,g,u);break;case "GCPInputSpeaker":ia("speaker",.7,1,t,r,v,g,u);break;case "GCPInputRetail":ia("retail",1,.89,t,r,v,g,u);break;case "GCPInputReport":ia("report",1,1,t,r,v,g,u);break;case "GCPInputPhone":ia("phone",.64,1,t,r,v,g,u);break;case "GCPInputBlank":ia("transparent",1,1,t,r,v,g,u)}return v}var pb=["AEUSBBlock","AGSCutandpasteBlock","iOSDeviceiPadLandscape","iOSDeviceiPadProLandscape"],Yb=["fpDoor"],la={None:"none",Arrow:"block;endFill=1",
+1,.66,t,r,v,g,u);break;case "GCPInputWebcam":ia("webcam",.5,1,t,r,v,g,u);break;case "GCPInputSpeaker":ia("speaker",.7,1,t,r,v,g,u);break;case "GCPInputRetail":ia("retail",1,.89,t,r,v,g,u);break;case "GCPInputReport":ia("report",1,1,t,r,v,g,u);break;case "GCPInputPhone":ia("phone",.64,1,t,r,v,g,u);break;case "GCPInputBlank":ia("transparent",1,1,t,r,v,g,u)}return v}var pb=["AEUSBBlock","AGSCutandpasteBlock","iOSDeviceiPadLandscape","iOSDeviceiPadProLandscape"],Xb=["fpDoor"],la={None:"none",Arrow:"block;endFill=1",
 "Hollow Arrow":"block;endFill=0","Open Arrow":"open;","CFN ERD Zero Or More Arrow":"ERzeroToMany;startSize=10","CFN ERD One Or More Arrow":"ERoneToMany;startSize=10","CFN ERD Many Arrow":"ERmany;startSize=10","CFN ERD Exactly One Arrow":"ERmandOne;startSize=10","CFN ERD Zero Or One Arrow":"ERzeroToOne;startSize=10","CFN ERD One Arrow":"ERone;startSize=16",Generalization:"block;endFill=0;startSize=12","Big Open Arrow":"open;startSize=10",Asynch1:"openAsync;flipH=1;startSize=10",Asynch2:"openAsync;startSize=10",
 Aggregation:"diamond;endFill=0;startSize=16",Composition:"diamond;endFill=1;startSize=16",BlockEnd:"none;endFill=1;startSize=16"},bb={DefaultTextBlockNew:"text;strokeColor=none;fillColor=none",DefaultTextBlock:"text;strokeColor=none;fillColor=none",DefaultSquareBlock:"",DefaultNoteBlock:"shape=note;size=15",DefaultNoteBlockV2:"shape=note;size=15",HotspotBlock:"strokeColor=none;opacity=50",ImageSearchBlock2:"shape=image",UserImage2Block:"shape=image",ProcessBlock:"",DecisionBlock:"rhombus",TerminatorBlock:"rounded=1;arcSize=50",
 PredefinedProcessBlock:"shape=process",DocumentBlock:"shape=document",MultiDocumentBlock:"shape=mxgraph.flowchart.multi-document",ManualInputBlock:"shape=manualInput;size=15",PreparationBlock:"shape=hexagon;perimeter=hexagonPerimeter2",DataBlock:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",DataBlockNew:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",DatabaseBlock:"shape=cylinder;size=0.1;anchorPointDirection=0;boundedLbl=1;",DirectAccessStorageBlock:"shape=cylinder;direction=south;size=0.1;anchorPointDirection=0;boundedLbl=1;",
@@ -704,8 +704,8 @@ GCPInputPhone:"mxCompositeShape",GCPInputBlank:"mxCompositeShape",SMHome:"shape=
 SMPrint:"shape=mxgraph.sitemap.print;strokeColor=#000000;fillColor=#E6E6E6",SMScript:"shape=mxgraph.sitemap.script;strokeColor=#000000;fillColor=#E6E6E6",SMSearch:"shape=mxgraph.sitemap.search;strokeColor=#000000;fillColor=#E6E6E6",SMSettings:"shape=mxgraph.sitemap.settings;strokeColor=#000000;fillColor=#E6E6E6",SMSitemap:"shape=mxgraph.sitemap.sitemap;strokeColor=#000000;fillColor=#E6E6E6",SMSuccess:"shape=mxgraph.sitemap.success;strokeColor=#000000;fillColor=#E6E6E6",SMVideo:"shape=mxgraph.sitemap.video;strokeColor=#000000;fillColor=#E6E6E6",
 SMAudio:"shape=mxgraph.sitemap.audio;strokeColor=#000000;fillColor=#E6E6E6",SMBlog:"shape=mxgraph.sitemap.blog;strokeColor=#000000;fillColor=#E6E6E6",SMCalendar:"shape=mxgraph.sitemap.calendar;strokeColor=#000000;fillColor=#E6E6E6",SMChart:"shape=mxgraph.sitemap.chart;strokeColor=#000000;fillColor=#E6E6E6",SMCloud:"shape=mxgraph.sitemap.cloud;strokeColor=#000000;fillColor=#E6E6E6",SMDocument:"shape=mxgraph.sitemap.document;strokeColor=#000000;fillColor=#E6E6E6",SMDownload:"shape=mxgraph.sitemap.download;strokeColor=#000000;fillColor=#E6E6E6",
 SMError:"shape=mxgraph.sitemap.error;strokeColor=#000000;fillColor=#E6E6E6",SMForm:"shape=mxgraph.sitemap.form;strokeColor=#000000;fillColor=#E6E6E6",SMGame:"shape=mxgraph.sitemap.game;strokeColor=#000000;fillColor=#E6E6E6",SMJobs:"shape=mxgraph.sitemap.jobs;strokeColor=#000000;fillColor=#E6E6E6",SMLucid:"shape=mxgraph.sitemap.home;strokeColor=#000000;fillColor=#E6E6E6",SMNewspress:"shape=mxgraph.sitemap.news;strokeColor=#000000;fillColor=#E6E6E6",SMPhoto:"shape=mxgraph.sitemap.photo;strokeColor=#000000;fillColor=#E6E6E6",
-SMPortfolio:"shape=mxgraph.sitemap.portfolio;strokeColor=#000000;fillColor=#E6E6E6",SMPricing:"shape=mxgraph.sitemap.pricing;strokeColor=#000000;fillColor=#E6E6E6",SMProfile:"shape=mxgraph.sitemap.profile;strokeColor=#000000;fillColor=#E6E6E6",SMSlideshow:"shape=mxgraph.sitemap.slideshow;strokeColor=#000000;fillColor=#E6E6E6",SMUpload:"shape=mxgraph.sitemap.upload;strokeColor=#000000;fillColor=#E6E6E6"},Eb=function(a,b,d){0>mxUtils.indexOf(d,a)&&d.push(a);if(a in b){var h=b[a];h.id=a;if(null!=h.Members)for(var p in h.Members)d=
-Eb(p,b,d)}return d};LucidImporter.importState=function(a){function b(a){for(var b in a.Pages)h.push(a.Pages[b]);h.sort(function(a,b){return a.Properties.Order<b.Properties.Order?-1:a.Properties.Order>b.Properties.Order?1:0})}var d=['<?xml version="1.0" encoding="UTF-8"?>',"<mxfile>"],h=[];null!=a.state?b(JSON.parse(a.state)):null==a.Page&&null!=a.Pages?b(a):h.push(a);a=ba();for(var p=new mxCodec,c=0;c<h.length;c++){d.push("<diagram");null!=h[c].Properties&&null!=h[c].Properties.Title&&d.push(' name="'+
+SMPortfolio:"shape=mxgraph.sitemap.portfolio;strokeColor=#000000;fillColor=#E6E6E6",SMPricing:"shape=mxgraph.sitemap.pricing;strokeColor=#000000;fillColor=#E6E6E6",SMProfile:"shape=mxgraph.sitemap.profile;strokeColor=#000000;fillColor=#E6E6E6",SMSlideshow:"shape=mxgraph.sitemap.slideshow;strokeColor=#000000;fillColor=#E6E6E6",SMUpload:"shape=mxgraph.sitemap.upload;strokeColor=#000000;fillColor=#E6E6E6"},Db=function(a,b,d){0>mxUtils.indexOf(d,a)&&d.push(a);if(a in b){var h=b[a];h.id=a;if(null!=h.Members)for(var p in h.Members)d=
+Db(p,b,d)}return d};LucidImporter.importState=function(a){function b(a){for(var b in a.Pages)h.push(a.Pages[b]);h.sort(function(a,b){return a.Properties.Order<b.Properties.Order?-1:a.Properties.Order>b.Properties.Order?1:0})}var d=['<?xml version="1.0" encoding="UTF-8"?>',"<mxfile>"],h=[];null!=a.state?b(JSON.parse(a.state)):null==a.Page&&null!=a.Pages?b(a):h.push(a);a=ba();for(var p=new mxCodec,c=0;c<h.length;c++){d.push("<diagram");null!=h[c].Properties&&null!=h[c].Properties.Title&&d.push(' name="'+
 mxUtils.htmlEntities(h[c].Properties.Title)+'"');ka(a,h[c],null,null,null,!0);var e=p.encode(a.getModel());a.getModel().clear();d.push(">"+Graph.compress(mxUtils.getXml(e))+"</diagram>")}d.push("</mxfile>");return d.join("")}})();function VsdxExport(c){function n(a,b){var d={"[Content_Types].xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Types xmlns='http://schemas.openxmlformats.org/package/2006/content-types'><Default Extension='png' ContentType='image/png'/><Default Extension='jpg' ContentType='image/jpeg'/><Default Extension='jpeg' ContentType='image/jpeg'/><Default Extension='svg' ContentType='image/svg+xml'/><Default Extension='bmp' ContentType='image/bmp'/><Default Extension='gif' ContentType='image/gif'/><Default Extension='emf' ContentType='image/x-emf' /><Default Extension='rels' ContentType='application/vnd.openxmlformats-package.relationships+xml' /><Default Extension='xml' ContentType='application/xml' /><Override PartName='/docProps/app.xml' ContentType='application/vnd.openxmlformats-officedocument.extended-properties+xml' /><Override PartName='/docProps/core.xml' ContentType='application/vnd.openxmlformats-package.core-properties+xml' /><Override PartName='/docProps/custom.xml' ContentType='application/vnd.openxmlformats-officedocument.custom-properties+xml' /><Override PartName='/visio/document.xml' ContentType='application/vnd.ms-visio.drawing.main+xml' /><Override PartName='/visio/masters/masters.xml' ContentType='application/vnd.ms-visio.masters+xml' /><Override PartName='/visio/masters/master1.xml' ContentType='application/vnd.ms-visio.master+xml'/><Override PartName='/visio/pages/page1.xml' ContentType='application/vnd.ms-visio.page+xml' /><Override PartName='/visio/pages/pages.xml' ContentType='application/vnd.ms-visio.pages+xml' /><Override PartName='/visio/windows.xml' ContentType='application/vnd.ms-visio.windows+xml' /></Types>",
 "_rels/.rels":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns='http://schemas.openxmlformats.org/package/2006/relationships'><Relationship Id='rId1' Type='http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties' Target='docProps/core.xml' /><Relationship Id='rId2' Type='http://schemas.microsoft.com/visio/2010/relationships/document' Target='visio/document.xml' /><Relationship Id='rId3' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties' Target='docProps/custom.xml' /><Relationship Id='rId4' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties' Target='docProps/app.xml' /></Relationships>",
 "docProps/app.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns=\'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\' xmlns:vt=\'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\'><Application>Microsoft Visio</Application><AppVersion>15.0000</AppVersion><Template /><Manager /><Company /><HyperlinkBase /></Properties>',"docProps/core.xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><cp:coreProperties xmlns:cp='http://schemas.openxmlformats.org/package/2006/metadata/core-properties' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:dcterms='http://purl.org/dc/terms/' xmlns:dcmitype='http://purl.org/dc/dcmitype/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><dc:title /><dc:subject /><dc:creator /><cp:keywords /><dc:description /><cp:category /><dc:language>en-US</dc:language></cp:coreProperties>",
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index fdeefd568..4108bd2b2 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -3520,7 +3520,7 @@ if(null!=N){this.tabContainer.style.right="70px";var C=u.addMenu("100%",N.funct)
 C.style.right="0px";C.style.bottom="0px";C.style.overflow="hidden";C.style.visibility="hidden";C.style.textAlign="center";C.style.color="#000";C.style.fontSize="12px";C.style.color="#707070";C.style.width="59px";C.style.cursor="pointer";C.style.borderTop="1px solid lightgray";C.style.borderLeft="1px solid lightgray";C.style.height=parseInt(k.tabContainerHeight)-1+"px";C.style.lineHeight=parseInt(k.tabContainerHeight)+1+"px";B.appendChild(C);N=mxUtils.bind(this,function(){C.innerHTML=Math.round(100*
 k.editor.graph.view.scale)+"%"});k.editor.graph.view.addListener(mxEvent.EVENT_SCALE,N);k.editor.addListener("resetGraphView",N);k.editor.addListener("pageSelected",N);var L=k.setGraphEnabled;k.setGraphEnabled=function(){L.apply(this,arguments);null!=this.tabContainer&&(C.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}B.appendChild(k.tabContainer);B.appendChild(p);B.appendChild(k.diagramContainer);
 g.appendChild(B);k.updateTabContainer();var O=null;f();mxEvent.addListener(window,"resize",function(){f();null!=k.sidebarWindow&&k.sidebarWindow.window.fit();null!=k.formatWindow&&k.formatWindow.window.fit();null!=k.actions.outlineWindow&&k.actions.outlineWindow.window.fit();null!=k.actions.layersWindow&&k.actions.layersWindow.window.fit();null!=k.menus.tagsWindow&&k.menus.tagsWindow.window.fit();null!=k.menus.findWindow&&k.menus.findWindow.window.fit()})}}};
-(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,e,c,k,m,p){this.file=a;this.id=b;this.content=e;this.modifiedDate=c;this.createdDate=k;this.isResolved=m;this.user=p;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,e,c,k){b()};DrawioComment.prototype.editComment=function(a,b,e){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,e,c,k){this.id=a;this.email=b;this.displayName=e;this.pictureUrl=c;this.locale=k};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed:  / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Download draw.io Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters:  / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # %  * : < > ? /  { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrwaDiag=draw.io diagram\nunknownErr=Unkown Error\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound=Gliffy diagram "{1}" found. Importing\nconfAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished.\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement;
+(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,e,c,k,m,p){this.file=a;this.id=b;this.content=e;this.modifiedDate=c;this.createdDate=k;this.isResolved=m;this.user=p;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,e,c,k){b()};DrawioComment.prototype.editComment=function(a,b,e){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,e,c,k){this.id=a;this.email=b;this.displayName=e;this.pictureUrl=c;this.locale=k};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed:  / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Download draw.io Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters:  / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # %  * : < > ? /  { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrwaDiag=draw.io diagram\nunknownErr=Unkown Error\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished.\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully.\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement;
 Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,e){this.init(a,b,e)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://www.draw.io/";GraphViewer.prototype.imageBaseUrl="https://www.draw.io/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!0;GraphViewer.prototype.center=!1;GraphViewer.prototype.allowZoomIn=!1;
 GraphViewer.prototype.showTitleAsTooltip=!1;GraphViewer.prototype.checkVisibleState=!0;GraphViewer.prototype.minHeight=28;GraphViewer.prototype.minWidth=100;
 GraphViewer.prototype.init=function(a,b,e){this.graphConfig=null!=e?e:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.center=null!=this.graphConfig.center?this.graphConfig.center:this.center;this.checkVisibleState=null!=this.graphConfig["check-visible-state"]?this.graphConfig["check-visible-state"]:this.checkVisibleState;this.toolbarItems=null!=
@@ -3568,13 +3568,13 @@ GraphViewer.prototype.showLightbox=function(a,b,e){if("open"==this.graphConfig.l
 (e.highlight=this.graphConfig.highlight.substring(1));null!=this.currentPage&&0<this.currentPage&&(e.page=this.currentPage);"undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)?null==this.lightboxWindow&&mxEvent.addListener(window,"message",mxUtils.bind(this,function(a){"ready"==a.data&&a.source==this.lightboxWindow&&this.lightboxWindow.postMessage(this.xml,"*")})):e.data=encodeURIComponent(this.xml);a="www.draw.io";"1"==urlParams.dev&&(e.dev="1",e.drawdev=
 "1",a="test.draw.io");this.lightboxWindow=window.open("https://"+a+"/#P"+encodeURIComponent(JSON.stringify(e)))}else this.lightboxWindow.focus();else this.showLocalLightbox()};
 GraphViewer.prototype.showLocalLightbox=function(){var a=mxUtils.getDocumentScrollOrigin(document),b=document.createElement("div");mxClient.IS_QUIRKS?(b.style.position="absolute",b.style.left=a.x+"px",b.style.top=a.y+"px",b.style.width=document.body.offsetWidth+"px",b.style.height=document.body.offsetHeight+"px"):b.style.cssText="position:fixed;top:0;left:0;bottom:0;right:0;";b.style.zIndex=this.lightboxZIndex;b.style.backgroundColor="#000000";mxUtils.setOpacity(b,70);document.body.appendChild(b);
-var e=document.createElement("img");e.setAttribute("border","0");e.setAttribute("src",Editor.closeImage);mxClient.IS_QUIRKS?(e.style.position="absolute",e.style.right="32px",e.style.top=a.y+32+"px"):e.style.cssText="position:fixed;top:32px;right:32px;";e.style.cursor="pointer";mxEvent.addListener(e,"click",function(){k.destroy()});urlParams.pages="1";urlParams.page=this.currentPage;urlParams["page-id"]=this.graphConfig.pageId;urlParams["layer-ids"]=null!=this.graphConfig.layerIds?this.graphConfig.layerIds.join(" "):
-null;urlParams.nav=0!=this.graphConfig.nav?"1":"0";urlParams.layers=this.layersEnabled?"1":"0";if(null==document.documentMode||10<=document.documentMode)Editor.prototype.editButtonLink=this.graphConfig.edit,Editor.prototype.editButtonFunc=this.graphConfig.editFunc;EditorUi.prototype.updateActionStates=function(){};EditorUi.prototype.addBeforeUnloadListener=function(){};EditorUi.prototype.addChromelessClickHandler=function(){};var c=Graph.prototype.shadowId;Graph.prototype.shadowId="lightboxDropShadow";
-var k=new EditorUi(new Editor(!0),document.createElement("div"),!0);k.editor.editBlankUrl=this.editBlankUrl;k.editor.graph.shadowId="lightboxDropShadow";Graph.prototype.shadowId=c;k.refresh=function(){};var m=mxUtils.bind(this,function(a){27==a.keyCode&&k.destroy()}),p=k.destroy;k.destroy=function(){mxEvent.removeListener(document.documentElement,"keydown",m);document.body.removeChild(b);document.body.removeChild(e);document.body.style.overflow="auto";GraphViewer.resizeSensorEnabled=!0;p.apply(this,
-arguments)};var u=k.editor.graph,y=u.container;y.style.overflow="hidden";this.lightboxChrome?(y.style.border="1px solid #c0c0c0",y.style.margin="40px",mxEvent.addListener(document.documentElement,"keydown",m)):(b.style.display="none",e.style.display="none");var B=this;u.getImageFromBundles=function(a){return B.getImageUrl(a)};var d=k.createTemporaryGraph;k.createTemporaryGraph=function(){var a=d.apply(this,arguments);a.getImageFromBundles=function(a){return B.getImageUrl(a)};return a};this.graphConfig.move&&
-(u.isMoveCellsEvent=function(a){return!0});mxClient.IS_QUIRKS||(mxUtils.setPrefixedStyle(y.style,"border-radius","4px"),y.style.position="fixed");GraphViewer.resizeSensorEnabled=!1;document.body.style.overflow="hidden";mxClient.IS_SF||mxClient.IS_EDGE||(mxUtils.setPrefixedStyle(y.style,"transform","rotateY(90deg)"),mxUtils.setPrefixedStyle(y.style,"transition","all .25s ease-in-out"));this.addClickHandler(u,k);window.setTimeout(mxUtils.bind(this,function(){y.style.outline="none";y.style.zIndex=this.lightboxZIndex;
-e.style.zIndex=this.lightboxZIndex;document.body.appendChild(y);document.body.appendChild(e);k.setFileData(this.xml);mxUtils.setPrefixedStyle(y.style,"transform","rotateY(0deg)");k.chromelessToolbar.style.bottom="60px";k.chromelessToolbar.style.zIndex=this.lightboxZIndex;document.body.appendChild(k.chromelessToolbar);k.getEditBlankXml=mxUtils.bind(this,function(){return this.xml});mxClient.IS_QUIRKS&&(y.style.position="absolute",y.style.display="block",y.style.left=a.x+"px",y.style.top=a.y+"px",y.style.width=
-document.body.clientWidth-80+"px",y.style.height=document.body.clientHeight-80+"px",y.style.backgroundColor="white",k.chromelessToolbar.style.display="block",k.chromelessToolbar.style.position="absolute",k.chromelessToolbar.style.bottom="",k.chromelessToolbar.style.top=a.y+document.body.clientHeight-100+"px");k.lightboxFit();k.chromelessResize();this.showLayers(u,this.graph);mxEvent.addListener(b,"click",function(){k.destroy()})}),0);return k};
+var e=document.createElement("img");e.setAttribute("border","0");e.setAttribute("src",Editor.closeImage);mxClient.IS_QUIRKS?(e.style.position="absolute",e.style.right="32px",e.style.top=a.y+32+"px"):e.style.cssText="position:fixed;top:32px;right:32px;";e.style.cursor="pointer";mxEvent.addListener(e,"click",function(){k.destroy()});urlParams.pages="1";urlParams.page=this.currentPage;urlParams["page-id"]=this.graphConfig.pageId;urlParams["layer-ids"]=null!=this.graphConfig.layerIds&&0<this.graphConfig.layerIds.length?
+this.graphConfig.layerIds.join(" "):null;urlParams.nav=0!=this.graphConfig.nav?"1":"0";urlParams.layers=this.layersEnabled?"1":"0";if(null==document.documentMode||10<=document.documentMode)Editor.prototype.editButtonLink=this.graphConfig.edit,Editor.prototype.editButtonFunc=this.graphConfig.editFunc;EditorUi.prototype.updateActionStates=function(){};EditorUi.prototype.addBeforeUnloadListener=function(){};EditorUi.prototype.addChromelessClickHandler=function(){};var c=Graph.prototype.shadowId;Graph.prototype.shadowId=
+"lightboxDropShadow";var k=new EditorUi(new Editor(!0),document.createElement("div"),!0);k.editor.editBlankUrl=this.editBlankUrl;k.editor.graph.shadowId="lightboxDropShadow";Graph.prototype.shadowId=c;k.refresh=function(){};var m=mxUtils.bind(this,function(a){27==a.keyCode&&k.destroy()}),p=k.destroy;k.destroy=function(){mxEvent.removeListener(document.documentElement,"keydown",m);document.body.removeChild(b);document.body.removeChild(e);document.body.style.overflow="auto";GraphViewer.resizeSensorEnabled=
+!0;p.apply(this,arguments)};var u=k.editor.graph,y=u.container;y.style.overflow="hidden";this.lightboxChrome?(y.style.border="1px solid #c0c0c0",y.style.margin="40px",mxEvent.addListener(document.documentElement,"keydown",m)):(b.style.display="none",e.style.display="none");var B=this;u.getImageFromBundles=function(a){return B.getImageUrl(a)};var d=k.createTemporaryGraph;k.createTemporaryGraph=function(){var a=d.apply(this,arguments);a.getImageFromBundles=function(a){return B.getImageUrl(a)};return a};
+this.graphConfig.move&&(u.isMoveCellsEvent=function(a){return!0});mxClient.IS_QUIRKS||(mxUtils.setPrefixedStyle(y.style,"border-radius","4px"),y.style.position="fixed");GraphViewer.resizeSensorEnabled=!1;document.body.style.overflow="hidden";mxClient.IS_SF||mxClient.IS_EDGE||(mxUtils.setPrefixedStyle(y.style,"transform","rotateY(90deg)"),mxUtils.setPrefixedStyle(y.style,"transition","all .25s ease-in-out"));this.addClickHandler(u,k);window.setTimeout(mxUtils.bind(this,function(){y.style.outline="none";
+y.style.zIndex=this.lightboxZIndex;e.style.zIndex=this.lightboxZIndex;document.body.appendChild(y);document.body.appendChild(e);k.setFileData(this.xml);mxUtils.setPrefixedStyle(y.style,"transform","rotateY(0deg)");k.chromelessToolbar.style.bottom="60px";k.chromelessToolbar.style.zIndex=this.lightboxZIndex;document.body.appendChild(k.chromelessToolbar);k.getEditBlankXml=mxUtils.bind(this,function(){return this.xml});mxClient.IS_QUIRKS&&(y.style.position="absolute",y.style.display="block",y.style.left=
+a.x+"px",y.style.top=a.y+"px",y.style.width=document.body.clientWidth-80+"px",y.style.height=document.body.clientHeight-80+"px",y.style.backgroundColor="white",k.chromelessToolbar.style.display="block",k.chromelessToolbar.style.position="absolute",k.chromelessToolbar.style.bottom="",k.chromelessToolbar.style.top=a.y+document.body.clientHeight-100+"px");k.lightboxFit();k.chromelessResize();this.showLayers(u,this.graph);mxEvent.addListener(b,"click",function(){k.destroy()})}),0);return k};
 GraphViewer.processElements=function(a){mxUtils.forEach(GraphViewer.getElementsByClassName(a||"mxgraph"),function(a){try{a.innerHTML="",GraphViewer.createViewerForElement(a)}catch(e){throw a.innerHTML=e.message,e;}})};
 GraphViewer.getElementsByClassName=function(a){if(document.getElementsByClassName){var b=document.getElementsByClassName(a);a=[];for(var e=0;e<b.length;e++)a.push(b[e]);return a}for(var c=document.getElementsByTagName("*"),b=[],e=0;e<c.length;e++){var k=c[e].className;null!=k&&0<k.length&&(k=k.split(" "),0<=mxUtils.indexOf(k,a)&&b.push(c[e]))}return b};
 GraphViewer.createViewerForElement=function(a,b){var e=a.getAttribute("data-mxgraph");if(null!=e){var c=JSON.parse(e),k=function(e){e=mxUtils.parseXml(e);e=new GraphViewer(a,e.documentElement,c);null!=b&&b(e)};null!=c.url?GraphViewer.getUrl(c.url,function(a){k(a)}):k(c.xml)}};
diff --git a/src/main/webapp/resources/dia.txt b/src/main/webapp/resources/dia.txt
index 21f558175..bdffe47e6 100644
--- a/src/main/webapp/resources/dia.txt
+++ b/src/main/webapp/resources/dia.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_am.txt b/src/main/webapp/resources/dia_am.txt
index 0da87c587..42a0a0c27 100644
--- a/src/main/webapp/resources/dia_am.txt
+++ b/src/main/webapp/resources/dia_am.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_ar.txt b/src/main/webapp/resources/dia_ar.txt
index 3b1768ab5..543e1c90b 100644
--- a/src/main/webapp/resources/dia_ar.txt
+++ b/src/main/webapp/resources/dia_ar.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_bg.txt b/src/main/webapp/resources/dia_bg.txt
index 0fba6ebd7..116f867df 100644
--- a/src/main/webapp/resources/dia_bg.txt
+++ b/src/main/webapp/resources/dia_bg.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_bn.txt b/src/main/webapp/resources/dia_bn.txt
index bfcbf71d0..03a638eff 100644
--- a/src/main/webapp/resources/dia_bn.txt
+++ b/src/main/webapp/resources/dia_bn.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_bs.txt b/src/main/webapp/resources/dia_bs.txt
index 98c1b12fa..40d75fede 100644
--- a/src/main/webapp/resources/dia_bs.txt
+++ b/src/main/webapp/resources/dia_bs.txt
@@ -96,7 +96,7 @@ chromeApp=Chrome Aplikacija
 collaborativeEditingNotice=Important Notice for Collaborative Editing
 compressed=Kompresovano
 commitMessage=Posveti poruku
-configLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!
+configLinkWarn= 
 configLinkConfirm=Click OK to configure and restart draw.io.
 csv=CSV
 dark=Dark
@@ -829,7 +829,7 @@ reOpened=Re-opened
 markedAsResolved=Marked as resolved
 noCommentsFound=No comments found
 comments=Comments
-timeAgo={1} ago
+timeAgo= 
 confluenceCloud=Confluence Cloud
 libraries=Libraries
 confAnchor=Confluence Page Anchor
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_ca.txt b/src/main/webapp/resources/dia_ca.txt
index 8e3339b86..c51f77fa9 100644
--- a/src/main/webapp/resources/dia_ca.txt
+++ b/src/main/webapp/resources/dia_ca.txt
@@ -6,7 +6,7 @@ action=Acció
 actualSize=Mida real
 add=Afegeix
 addAccount=Afegeix un compte
-addedFile=Afegit {1}
+addedFile={1} afegit
 addImages=Afegeix imatges
 addImageUrl=Afegeix l'URL de la imatge
 addLayer=Afegeix una capa
@@ -93,14 +93,14 @@ userLeft={1} ha sortit
 chatWindowTitle=Xat
 chooseAnOption=Escolliu una opció
 chromeApp=Aplicació Chrome
-collaborativeEditingNotice=Important Notice for Collaborative Editing
+collaborativeEditingNotice=Avís important per a l'edició col·laborativa
 compressed=Comprimit
 commitMessage=Missatge de la comissió
-configLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!
-configLinkConfirm=Click OK to configure and restart draw.io.
+configLinkWarn=L'enllaç configura el draw.io. Feu clic a "Accepta" només si confieu en la persona que us l'ha enviat.
+configLinkConfirm=Feu clic a "Accepta" per configurar i reiniciar el draw.io
 csv=CSV
 dark=Fosc
-didYouMeanToExportToPdf=Did you mean to export to PDF?
+didYouMeanToExportToPdf=Voleu exportar-ho a PDF?
 draftFound=S'ha trobat un esborrany per a '{1}'. Carrega'l a l'editor o descarta'l per continuar.
 dragAndDropNotSupported=Les imatges no es poden arrossegar i deixar anar. Voleu importar-les?
 dropboxCharsNotAllowed=No es permeten aquests caràcters: \ / : ? * " |
@@ -118,12 +118,12 @@ collaborator=Col·laborador
 collaborators=Col·laboradors
 collapse=Minimitza
 collapseExpand=Minimitza/Maximitza
-collapse-expand=Fes clic per minimitzar/maximitzar\nPrem Shift per moure els veïns \nPrem Alt per protegir la mida del grup
+collapse-expand=Feu clic per reduir/xtendre\nPremeu Shift i feu clic per moure els veïns\nPremeu Alt i feu clic per protegir la mida del grup
 collapsible=Minimitzable
 comic=Còmic
 comment=Comentari
 commentsNotes=Comentaris/Notes
-compress=Compress
+compress=Comprimeix
 connect=Connecta
 connecting=Connectant
 connectWithDrive=Connecta amb Google Drive
@@ -135,7 +135,7 @@ containsValidationErrors=Conté errors de validació
 copiedToClipboard=Copiat al porta-retalls
 copy=Copia
 copyConnect=Copia en connectar
-copyCreated=A copy of the file was created.
+copyCreated=S'ha creat una còpia del fitxer.
 copyOf=Còpia de {1}
 copyOfDrawing=Còpia del dibuix
 copySize=Copia la mida
@@ -148,7 +148,7 @@ crop=Retalla
 curved=Corbada
 custom=Personalitza
 current=Actual
-currentPage=Current page
+currentPage=Pàgina actual
 cut=Talla
 dashed=Discontinu
 decideLater=Decideix més tard
@@ -165,7 +165,7 @@ device=Dispositiu
 diagram=Diagrama
 diagramContent=Contingut del diagrama
 diagramLocked=El diagrama s'ha bloquejat per evitar la pèrdua de dades.
-diagramLockedBySince=The diagram is locked by {1} since {2} ago
+diagramLockedBySince=El diagrama està bloquejat per {1} des de fa {2}
 diagramName=Nom del diagrama
 diagramIsPublic=El diagrama és públic
 diagramIsNotPublic=El diagrama no és públic
@@ -225,7 +225,7 @@ embed=Incrusta
 embedImages=Incrusta imatges
 mainEmbedNotice=Enganxa-ho a la pàgina
 electrical=Elèctric
-ellipse=Ellipse
+ellipse=El·lipse
 embedNotice=Enganxa-ho una vegada al final de la pàgina
 enterGroup=Introduïu el grup
 enterName=Introduïu el nom
@@ -244,7 +244,7 @@ errorSavingFileUnknown=Error en autoritzar els servidors de Google. Si us plau,
 errorSavingFileForbidden=Error en desar el fitxer. No disposeu dels drets d'accés suficients.
 errorSavingFileNameConflict=No s'ha pogut desar el diagrama. La pàgina actual conté un fitxer anomenat '{1}'.
 errorSavingFileNotFound=Error en desar. No s'ha trobat el fitxer.
-errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
+errorSavingFileReadOnlyMode=No s'ha pogut desar el diagrama mentre el mode de només lectura és actiu
 errorSavingFileSessionTimeout=La teva sessió ha acabat. Si us plau, <a target='_blank' href='{1}'>{2}</a> i retorna a aquesta pestanya per intentar desar-ho de nou.
 errorSendingFeedback=Error en enviar l'opinió.
 errorUpdatingPreview=Error pujant la vista prèvia.
@@ -256,7 +256,7 @@ exporting=S'està exportant
 exportAs=Exporta com a 
 exportOptionsDisabled=Opcions d'exportació inactives
 exportOptionsDisabledDetails=El propietari ha desactivat les opcions per a descarregar, imprimir o copiar aquest fitxer per els que només tenen permís per visualitzar i comentar.
-externalChanges=External Changes
+externalChanges=Canvis externs
 extras=Extres
 facebook=Facebook
 failedToSaveTryReconnect=Error en desar, intentant reconnectar
@@ -265,14 +265,14 @@ feedback=Opinió
 feedbackSent=S'ha enviat la seva opinió correctament.
 floorplans=Plànols
 file=Fitxer
-fileChangedOverwriteDialog=El fitxer s'ha modificat. Sobreescriure els canvis?
-fileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?
-fileChangedSync=The file has been modified. Click here to synchronize.
-overwrite=Sobreescriure
+fileChangedOverwriteDialog=S'ha modificat el fitxer. Esteu segur que voleu desar el fitxer i sobreescriure els canvis?
+fileChangedSyncDialog=S'ha modificat el fitxer. Esteu segur que voleu sincronitzar els canvis? 
+fileChangedSync=S'ha modificat el fitxer. Feu clic aquí per sincronitzar.
+overwrite=Sobreescriu
 synchronize=Sincronitza
 filename=Nom del fitxer
 fileExists=Aquest fitxer ja existeix
-fileMovedToTrash=File was moved to trash
+fileMovedToTrash=S'ha tirat el fitxer a la paperera
 fileNearlyFullSeeFaq=El fitxer està quasi ple, si us plau llegeix les PMF
 fileNotFound=No s'ha trobat el fitxer
 repositoryNotFound=No s'ha trobat el repositori
@@ -280,13 +280,13 @@ fileNotFoundOrDenied=No s'ha trobat el fitxer. No existeix o no teniu permís.
 fileNotLoaded=No s'ha carregat el fitxer 
 fileNotSaved=No s'ha desat el fitxer
 fileOpenLocation=Com desitja obrir aquest(s) fitxer(s)?
-filetypeHtml=.html causes file to save as HTML with redirect to cloud URL
-filetypePng=.png causes file to save as PNG with embedded data
-filetypeSvg=.svg causes file to save as SVG with embedded data
+filetypeHtml=.html fa que el fitxer es desi en HTML amb una redirecció a un URL al núvol
+filetypePng=.png fa que el fitxer es desi en PNG amb dades incrustades
+filetypeSvg=.svg fa que el fitxer es desi en SVG amb dades incrustades
 fileWillBeSavedInAppFolder={1} es desarà a la carpeta d'aplicacions.
 fill=Farcit
 fillColor=Color de farcit
-filterCards=Filter Cards
+filterCards=Filtra les targetes
 find=Cerca
 fit=Ajusta
 fitContainer=Redimensiona el contenidor
@@ -344,7 +344,7 @@ googleDocs=Documents de Google
 googleDrive=Google Drive
 googleGadget=Google Gadget
 googlePlus=Google+
-googleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:
+googleSharingNotAvailable=Només està disponible compartir amb Google Drive. Feu clic a "Obra" més avall i compartiu-ho des del menú de més accions:
 googleSlides=Presentacions de Google 
 googleSites=Google Sites
 googleSheets=Fulls de càlcul de Google
@@ -393,15 +393,15 @@ insertHorizontalRule=Afegeix una regla horitzontal
 insertLink=Afegeix un enllaç
 insertPage=Afegeix una pàgina
 insertRectangle=Afegeix un rectangle
-insertRhombus=Insert Rhombus
+insertRhombus=Afegeix un rombe
 insertRowBefore=Afegeix una fila amunt
 insertRowAfter=Afegeix una fila avall
 insertText=Afegeix text
 inserting=Afegint
 invalidFilename=Els noms dels diagrames no poden contenir els següents caràcters: \ / | : ; { < & + ? = "
 invalidLicenseSeeThisPage=La teva llicència no és vàlida, si us plau mira això <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.
-invalidInput=Invalid input
-invalidName=Nom invàlid
+invalidInput=L'entrada no és vàlida
+invalidName=El nom no és vàlid
 invalidOrMissingFile=Fitxer  no vàlid o desconegut
 invalidPublicUrl=URL públic no vàlid
 isometric=Isomètric
@@ -418,7 +418,7 @@ lessThanAMinute=menys d'un minut
 licensingError=Error de llicència
 licenseHasExpired=La llicència per a {1} ha expirat el {2}. Clica aquí.
 licenseWillExpire=La llicència per a {1} expira el {2}. Clica aquí.
-lineJumps=Line jumps
+lineJumps=Salts de línia
 linkAccountRequired=Si el diagrama no és públic es requereix un compte de Google per a veure l'enllaç.
 linkText=Text de l'enllaç
 list=Llista
@@ -479,7 +479,7 @@ new=Nou
 newLibrary=Biblioteca nova
 nextPage=Pàgina següent
 no=No
-noPickFolder=No, pick folder
+noPickFolder=No, selecciona una carpeta
 noAttachments=No s'han trobat arxius adjunts
 noColor=Sense color
 noFiles=No hi ha fitxers
@@ -584,8 +584,8 @@ realtimeTimeout=Sembla que heu fet canvis mentre s'estava desconnectat. Malaurad
 redo=Refés
 refresh=Refresca
 regularExpression=Expressió normal
-relative=Relative
-relativeUrlNotAllowed=Relative URL not allowed
+relative=Relatiu
+relativeUrlNotAllowed=No es permet un URL relatiu
 rememberMe=Recorda'm
 rememberThisSetting=Recorda la configuració actual
 removeFormat=Esborra el format
@@ -603,7 +603,7 @@ required=requerit
 reset=Restableix
 resetView=Restableix la vista
 resize=Ajusta la mida
-resizeLargeImages=Do you want to resize large images to make the application run faster?
+resizeLargeImages=Voleu canviar la mida de les imatges grans per fer que l'aplicació funcioni més ràpid?
 retina=Retina
 responsive=Receptiu
 restore=Recupera
@@ -638,13 +638,13 @@ search=Cercar
 searchShapes=Cercar formes
 selectAll=Selecciona-ho tot
 selectionOnly=Selecciona només
-selectCard=Select Card
+selectCard=Selecciona una targeta
 selectEdges=Selecciona les vores
-selectFile=Selecciona fitxer
-selectFolder=Selecciona carpeta
+selectFile=Selecciona un fitxer
+selectFolder=Selecciona una carpeta
 selectFont=Selecciona una font
-selectNone=No seleccionar res
-selectTemplate=Select Template
+selectNone=No seleccionis res
+selectTemplate=Selecciona una plantilla
 selectVertices=Selecciona els vèrtexs 
 sendMessage=Envia
 sendYourFeedbackToDrawIo=Envia la teva opinió a draw.io
@@ -772,129 +772,129 @@ venndiagrams=Diagrames de Venn
 webEmailOrOther=Web, e-mail o qualsevol altra adreça d'internet
 webLink=Enllaç web
 wireframes=Wireframes
-property=Property
-value=Value
-showMore=Show More
-showLess=Show Less
-myDiagrams=My Diagrams
-allDiagrams=All Diagrams
-recentlyUsed=Recently used
-listView=List view
-gridView=Grid view
-resultsFor=Results for '{1}'
-oneDriveCharsNotAllowed=The following characters are not allowed: ~ " # %  * : < > ? / \ { | }
-oneDriveInvalidDeviceName=The specified device name is invalid
-officeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.
-officeSelectSingleDiag=Please select a single draw.io diagram only without other contents.
-officeSelectDiag=Please select a draw.io diagram.
-officeCannotFindDiagram=Cannot find a draw.io diagram in the selection
-noDiagrams=No diagrams found
-authFailed=Authentication failed
-officeFailedAuthMsg=Unable to successfully authenticate user or authorize application.
-convertingDiagramFailed=Converting diagram failed
-officeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.
-insertingImageFailed=Inserting image failed
-officeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.
-folderEmpty=Folder is empty
+property=Propietat 
+value=Valor
+showMore=Mostra més
+showLess=Mostra menys
+myDiagrams=Els meus diagrames
+allDiagrams=Tots els diagrames
+recentlyUsed=Usats recentment
+listView=Visualització de llista
+gridView=Visualització en graella
+resultsFor=Resultats per '{1}'
+oneDriveCharsNotAllowed=Els següents caràcters no estan permesos: ~ " # %  * : < > ? / \ { | }
+oneDriveInvalidDeviceName=El nom de dispositiu especificat no és vàlid
+officeNotLoggedOD=No heu entrat a OneDrive. Obriu el quadre de tasques draw.io i inicieu la sessió primer.
+officeSelectSingleDiag=Seleccioneu un únic diagrama draw.io, sense altres continguts.
+officeSelectDiag=Seleccioneu un diagrama draw.io.
+officeCannotFindDiagram=No s'ha trobat pogut trobar un diagrama draw.io a la selecció
+noDiagrams=No s'ha trobat cap diagrama
+authFailed=Ha fallat l'autenticació
+officeFailedAuthMsg=No s'ha pogut autenticar correctament l'usuari ni autoritzar l'aplicació.
+convertingDiagramFailed=Ha fallat la conversió del diagrama
+officeCopyImgErrMsg=A causa d'algunes limitacions en l'aplicació, no s'ha pogut inserir la imatge. Proveu de copiar manualment la imatge i enganxar-la al document.
+insertingImageFailed=La inserció de la imatge ha fallat
+officeCopyImgInst=Instruccions: feu clic amb el botó dret a la imatge de sota. Seleccioneu "Copia la imatge" al menú contextual. A continuació, al document, feu clic amb el botó dret i seleccioneu "Enganxa" al menú contextual.
+folderEmpty=La carpeta està buida
 recent=Recent
-sharedWithMe=Shared With Me
-sharepointSites=Sharepoint Sites
-errorFetchingFolder=Error fetching folder items
-errorAuthOD=Error authenticating to OneDrive
-officeMainHeader=Adds draw.io diagrams to your document.
-officeStepsHeader=This add-in performs the following steps:
-officeStep1=Connects to Microsoft OneDrive, Google Drive or your device.
-officeStep2=Select a draw.io diagram.
-officeStep3=Insert the diagram into the document.
-officeAuthPopupInfo=Please complete the authentication in the pop-up window.
-officeSelDiag=Select draw.io Diagram:
-files=Files
-shared=Shared
+sharedWithMe=Compartit amb mi
+sharepointSites=Llocs Sharepoint
+errorFetchingFolder=S'ha produït un error en recuperar els elements de la carpeta
+errorAuthOD=S'ha produït un error en autenticar-se a OneDrive
+officeMainHeader=Afegeix esquemes draw.io al document.
+officeStepsHeader=Aquest complement realitza els passos següents:
+officeStep1=Es connecta a Microsoft OneDrive, Google Drive o al vostre dispositiu.
+officeStep2=Seleccioneu un diagrama de draw.io.
+officeStep3=Insereix el diagrama al document.
+officeAuthPopupInfo=Completeu l'autenticació a la finestra emergent.
+officeSelDiag=Seleccioneu un diagrama de draw.io
+files=Fitxers
+shared=Compartit
 sharepoint=Sharepoint
-officeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.
-officeClickToEdit=Click icon to start editing:
-pasteDiagram=Paste draw.io diagram here
-connectOD=Connect to OneDrive
-selectChildren=Select Children
-selectSiblings=Select Siblings
-selectParent=Select Parent
-selectDescendants=Select Descendants
-lastSaved=Last saved {1} ago
-resolve=Resolve
-reopen=Re-open
-showResolved=Show Resolved
-reply=Reply
-objectNotFound=Object not found
-reOpened=Re-opened
-markedAsResolved=Marked as resolved
-noCommentsFound=No comments found
-comments=Comments
-timeAgo={1} ago
+officeManualUpdateInst=Instruccions: copieu el diagrama de draw.io del document. A continuació, al quadre següent, feu clic amb el botó dret i seleccioneu "Enganxa" al menú contextual.
+officeClickToEdit=Feu clic a la icona per començar a editar:
+pasteDiagram=Enganxa el diagrama de draw.io aquí
+connectOD=Connecta’t a OneDrive
+selectChildren=Selecciona els fills
+selectSiblings=Selecciona els germans
+selectParent=Selecciona el pare
+selectDescendants=Selecciona els descendents
+lastSaved=Desat per última vegada fa {1}
+resolve=Resol
+reopen=Torna a obrir
+showResolved=Mostra els resolts
+reply=Respon
+objectNotFound=No s'ha trobat l'objecte
+reOpened=Tornat a obrir
+markedAsResolved=S'ha marcat com a resolt
+noCommentsFound=No s'ha trobat cap comentari
+comments=Comentaris
+timeAgo=Fa {1}
 confluenceCloud=Confluence Cloud
-libraries=Libraries
-confAnchor=Confluence Page Anchor
-confTimeout=The connection has timed out
-confSrvTakeTooLong=The server at {1} is taking too long to respond.
-confCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page
-confSaveTry=Please save the page and try again.
-confCannotGetID=Unable to determine page ID
-confContactAdmin=Please contact your Confluence administrator.
-readErr=Read Error
-editingErr=Editing Error
-confExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page
-confEditedExt=Diagram/Page edited externally
-diagNotFound=Diagram Not Found
-confEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.
-confCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.
-retBack=Return back
-confDiagNotPublished=The diagram does not belong to a published page
-createdByDraw=Created by draw.io
-filenameShort=Filename too short
-invalidChars=Invalid characters
-alreadyExst={1} already exists
-draftReadErr=Draft Read Error
-diagCantLoad=Diagram cannot be loaded
-draftWriteErr=Draft Write Error
-draftCantCreate=Draft could not be created
-confDuplName=Duplicate diagram name detected. Please pick another name.
-confSessionExpired=Looks like your session expired. Log in again to keep working.
-login=Login
-drawPrev=draw.io preview
-drwaDiag=draw.io diagram
-unknownErr=Unkown Error
+libraries=Biblioteques
+confAnchor=Ancoratge a la pàgina de Confluence
+confTimeout=La connexió ha expirat
+confSrvTakeTooLong=El servidor de {1} triga massa temps a respondre.
+confCannotInsertNew=No es pot inserir el diagrama draw.io a una pàgina nova de Confluència
+confSaveTry=Deseu la pàgina i torneu-ho a provar.
+confCannotGetID=No s'ha pogut determinar l'ID de pàgina
+confContactAdmin=Poseu-vos en contacte amb l'administrador de Confluence.
+readErr=Error de lectura
+editingErr=Error d'edició
+confExtEditNotPossible=Aquest diagrama no es pot editar externament. Proveu d'editar-lo mentre editeu la pàgina
+confEditedExt=S'ha editat el diagrama o la pàgina externament
+diagNotFound=No s'ha trobat el diagrama
+confEditedExtRefresh=S'ha editat el diagrama o la pàgina externament. Si us plau refresqueu la pàgina.
+confCannotEditDraftDelOrExt=No es poden editar esquemes d'una pàgina d'esborrany, si el diagrama s'ha suprimit de la pàgina o si el diagrama s'ha editat externament. Comproveu la pàgina.
+retBack=Torna
+confDiagNotPublished=El diagrama no pertany a cap pàgina publicada
+createdByDraw=Creat per draw.io
+filenameShort=El nom del fitxer és massa curt
+invalidChars=Caràcters no vàlids
+alreadyExst={1} ja existeix
+draftReadErr=Error de lectura de l'esborrany
+diagCantLoad=No s'ha pogut carregar el diagrama
+draftWriteErr=Error d'escriptura de l'esborrany
+draftCantCreate=No s'ha pogut crear l'esborrany
+confDuplName=S'ha detectat que el nom de l'esquema està duplicat. Trieu un altre nom.
+confSessionExpired=Sembla que la vostra sessió ha caducat. Torneu a iniciar la sessió de nou per continuar treballant.
+login=Inicia la sessió
+drawPrev=Previsualització del draw.io
+drwaDiag=Diagrama del draw.io 
+unknownErr=Error desconegut
 invalidCallFnNotFound=Invalid Call: {1} not found
 invalidCallErrOccured=Invalid Call: An error occurred, {1}
-anonymous=Anonymous
+anonymous=Anònim
 confGotoPage=Go to containing page
-showComments=Show Comments
+showComments=Mostra els comentaris
 confError=Error: {1}
-gliffyImport=Gliffy Import
+gliffyImport=Importa de Gliffy 
 gliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.
 gliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.
-startImport=Start Import
-drawConfig=draw.io Configuration
-customLib=Custom Libraries
-customTemp=Custom Templates
+startImport=Inicia l'importació
+drawConfig=Configuració del draw.io
+customLib=Biblioteques personalitzades
+customTemp=Plantilles personalitzades 
 pageIdsExp=Page IDs Export
 drawReindex=draw.io re-indexing (beta)
-working=Working
+working=S'està treballant
 drawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.
 createConfSp=Create Config Space
 unexpErrRefresh=Unexpected error, please refresh the page and try again.
 configJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to
-thisPage=this page
-curCustLib=Current Custom Libraries
-libName=Library Name
-action=Action
+thisPage=aquesta pàgina 
+curCustLib=Biblioteques personalitzades actuals 
+libName=Nom de la biblioteca
+action=Acció
 drawConfID=draw.io Config ID
-addLibInst=Click the "Add Library" button to upload a new library.
-addLib=Add Library
+addLibInst=Feu clic al botó "Afegeix una biblioteca" per pujar una nova biblioteca.
+addLib=Afegeix una biblioteca
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
-tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+tempsPage=Pàgina de plantilles
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
-startExp=Start Export
+startExp=Inicia l'exportació
 refreshDrawIndex=Refresh draw.io Diagrams Index
 reindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.
 reindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -926,35 +926,35 @@ confAIndexDiagFailed=Indexing diagram "{1}" failed.
 confASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!
 confADiagUptoDate=Diagram "{1}" is up to date.
 confACheckPagesWDraw=Checking pages having draw.io diagrams.
-confAErrOccured=An error occurred!
-savedSucc=Saved successfully
-confASaveFailedErr=Saving Failed (Unexpected Error)
+confAErrOccured=S'ha produït un error.
+savedSucc=S'ha desat correctament.
+confASaveFailedErr=S'ha produït un error en desar (error inesperat)
 character=Character
 confAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment
 confALibPageDesc=This page contains draw.io custom libraries as attachments
 confATempPageDesc=This page contains draw.io custom templates as attachments
-working=Working
+working=S'està treballant
 confAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates
-confANoCustLib=No Custom Libraries
-delFailed=Delete failed!
-showID=Show ID
-confAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.
-uploading=Uploading
-confALibExist=This library already exists
-confAUploadSucc=Uploaded successfully
-confAUploadFailErr=Upload Failed (Unexpected Error)
-hiResPreview=High Res Preview
+confANoCustLib=No hi ha biblioteques personalitzades
+delFailed=Ha fallat l'esborrat
+showID=Mostra l'identificador
+confAIncorrectLibFileType=El tipus de fitxer no és correcte. Les biblioteques haurien de ser fitxers XML.
+uploading=S'està pujant
+confALibExist=La biblioteca ja existeix
+confAUploadSucc=S'ha pujat correctament
+confAUploadFailErr=S'ha produït un error en la pujada (error inesperat)
+hiResPreview=Previsualització en alta definició
 officeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.
 officePopupInfo=Please complete the process in the pop-up window.
-pickODFile=Pick OneDrive File
-pickGDriveFile=Pick Google Drive File
-pickDeviceFile=Pick Device File
-vsdNoConfig="vsdurl" is not configured
-ruler=Ruler
-units=Units
-points=Points
-inches=Inches
-millimeters=Millimeters
+pickODFile=Seleccioneu el fitxer de OneDrive
+pickGDriveFile=Seleccioneu el fitxer de Google Drive
+pickDeviceFile=Seleccioneu el fitxer del dispositiu
+vsdNoConfig=No s'ha configurat "vsdurl"
+ruler=Regle
+units=Unitats
+points=Punts
+inches=Polzades
+millimeters=Mil·límetres
 confEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.
 confDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session's modifications.
 macroNotFound=Macro Not Found
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_cs.txt b/src/main/webapp/resources/dia_cs.txt
index 77a165e77..70f92f2ad 100644
--- a/src/main/webapp/resources/dia_cs.txt
+++ b/src/main/webapp/resources/dia_cs.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_da.txt b/src/main/webapp/resources/dia_da.txt
index 7050d4869..7bb11bf1b 100644
--- a/src/main/webapp/resources/dia_da.txt
+++ b/src/main/webapp/resources/dia_da.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_de.txt b/src/main/webapp/resources/dia_de.txt
index e6ff583ed..d5a3f65d1 100644
--- a/src/main/webapp/resources/dia_de.txt
+++ b/src/main/webapp/resources/dia_de.txt
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=Keine {1} Diagramme auf Seite "{2}" gefunden.
 confAFetchPageFailed=Seite konnte nicht geladen werden.
 confANoDiagFound=Keine {1} Diagramme gefunden. Prozess beendet.
 confASearchFailed=Suche nach {1} Diagrammen fehlgeschlagen. Versuchen Sie es bitte später noch einmal.
-confAGliffyDiagFound=Gliffy Diagramm "{1}" gefunden. Wird importiert
-confAGliffyDiagImported=Gliffy Diagramm "{1}" erfolgreich importiert.
-confASavingImpGliffyFailed=Importiertes Gliffy Diagramm "{1}" konnte nicht gespeichert werden.
+confAGliffyDiagFound={2} Diagramm "{1}" gefunden. Wird importiert
+confAGliffyDiagImported={2} Diagramm "{1}" erfolgreich importiert.
+confASavingImpGliffyFailed=Importiertes {2} Diagramm "{1}" konnte nicht gespeichert werden.
 confAImportedFromByDraw=draw.io hat dies von "{1}" importiert.
-confAImportGliffyFailed=Gliffy Diagramm "{1}" konnte nicht importiert werden.
-confAFetchGliffyFailed=Gliffy Diagramm "{1}" konnte nicht geladen werden.
+confAImportGliffyFailed={2} Diagramm "{1}" konnte nicht importiert werden.
+confAFetchGliffyFailed={2} Diagramm "{1}" konnte nicht geladen werden.
 confACheckBrokenDiagLnk=Suche nach ungültigen Verweisen.
 confADelDiagLinkOf=Lösche Verweis auf "{1}"
 confADupLnk=(doppelter Link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_el.txt b/src/main/webapp/resources/dia_el.txt
index 12bc6154c..265bdcfd5 100644
--- a/src/main/webapp/resources/dia_el.txt
+++ b/src/main/webapp/resources/dia_el.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_eo.txt b/src/main/webapp/resources/dia_eo.txt
index c9618467b..92ef1bc77 100644
--- a/src/main/webapp/resources/dia_eo.txt
+++ b/src/main/webapp/resources/dia_eo.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_es.txt b/src/main/webapp/resources/dia_es.txt
index a7c278d5f..045d134b4 100644
--- a/src/main/webapp/resources/dia_es.txt
+++ b/src/main/webapp/resources/dia_es.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_et.txt b/src/main/webapp/resources/dia_et.txt
index 7517db278..ad0c46113 100644
--- a/src/main/webapp/resources/dia_et.txt
+++ b/src/main/webapp/resources/dia_et.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Alusta eksporti
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_fa.txt b/src/main/webapp/resources/dia_fa.txt
index bfa608dd2..9119aae09 100644
--- a/src/main/webapp/resources/dia_fa.txt
+++ b/src/main/webapp/resources/dia_fa.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_fi.txt b/src/main/webapp/resources/dia_fi.txt
index d03b1489d..5c45da66d 100644
--- a/src/main/webapp/resources/dia_fi.txt
+++ b/src/main/webapp/resources/dia_fi.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_fil.txt b/src/main/webapp/resources/dia_fil.txt
index df2484c03..565110ab3 100644
--- a/src/main/webapp/resources/dia_fil.txt
+++ b/src/main/webapp/resources/dia_fil.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_fr.txt b/src/main/webapp/resources/dia_fr.txt
index 35487c5cd..ee49a3e55 100644
--- a/src/main/webapp/resources/dia_fr.txt
+++ b/src/main/webapp/resources/dia_fr.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_gu.txt b/src/main/webapp/resources/dia_gu.txt
index f16e726bb..5e3f997a6 100644
--- a/src/main/webapp/resources/dia_gu.txt
+++ b/src/main/webapp/resources/dia_gu.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_he.txt b/src/main/webapp/resources/dia_he.txt
index 8e3244aea..33338124e 100644
--- a/src/main/webapp/resources/dia_he.txt
+++ b/src/main/webapp/resources/dia_he.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_hi.txt b/src/main/webapp/resources/dia_hi.txt
index 5b0ec0a3a..286965866 100644
--- a/src/main/webapp/resources/dia_hi.txt
+++ b/src/main/webapp/resources/dia_hi.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_hr.txt b/src/main/webapp/resources/dia_hr.txt
index c7b3c9748..b9ac0b309 100644
--- a/src/main/webapp/resources/dia_hr.txt
+++ b/src/main/webapp/resources/dia_hr.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_hu.txt b/src/main/webapp/resources/dia_hu.txt
index f58e80859..cd6f97c1d 100644
--- a/src/main/webapp/resources/dia_hu.txt
+++ b/src/main/webapp/resources/dia_hu.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_i18n.txt b/src/main/webapp/resources/dia_i18n.txt
index 6c154b16b..5a40c4025 100644
--- a/src/main/webapp/resources/dia_i18n.txt
+++ b/src/main/webapp/resources/dia_i18n.txt
@@ -982,3 +982,6 @@ confAFixingMacro=confAFixingMacro
 confAErrReadingExpFile=confAErrReadingExpFile
 confAPrcsDiagInPageDone=confAPrcsDiagInPageDone
 confAFixingMacroSkipped=confAFixingMacroSkipped
+pageIdsExpTrg=pageIdsExpTrg
+confALucidDiagImgImported=confALucidDiagImgImported
+confASavingLucidDiagImgFailed=confASavingLucidDiagImgFailed
diff --git a/src/main/webapp/resources/dia_id.txt b/src/main/webapp/resources/dia_id.txt
index da191b895..596ebd6b0 100644
--- a/src/main/webapp/resources/dia_id.txt
+++ b/src/main/webapp/resources/dia_id.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_it.txt b/src/main/webapp/resources/dia_it.txt
index 5bc61e22f..61aa64ba9 100644
--- a/src/main/webapp/resources/dia_it.txt
+++ b/src/main/webapp/resources/dia_it.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_ja.txt b/src/main/webapp/resources/dia_ja.txt
index 47d452d52..df4045c60 100644
--- a/src/main/webapp/resources/dia_ja.txt
+++ b/src/main/webapp/resources/dia_ja.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_kn.txt b/src/main/webapp/resources/dia_kn.txt
index 3dd5bd542..2819160be 100644
--- a/src/main/webapp/resources/dia_kn.txt
+++ b/src/main/webapp/resources/dia_kn.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_ko.txt b/src/main/webapp/resources/dia_ko.txt
index f3c79d953..a7a2d94ea 100644
--- a/src/main/webapp/resources/dia_ko.txt
+++ b/src/main/webapp/resources/dia_ko.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_lt.txt b/src/main/webapp/resources/dia_lt.txt
index 57c92dad0..5b45da1d9 100644
--- a/src/main/webapp/resources/dia_lt.txt
+++ b/src/main/webapp/resources/dia_lt.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_lv.txt b/src/main/webapp/resources/dia_lv.txt
index c8297804a..c2cfb37cb 100644
--- a/src/main/webapp/resources/dia_lv.txt
+++ b/src/main/webapp/resources/dia_lv.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_ml.txt b/src/main/webapp/resources/dia_ml.txt
index 7e5dfa9d5..aa8e44963 100644
--- a/src/main/webapp/resources/dia_ml.txt
+++ b/src/main/webapp/resources/dia_ml.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_mr.txt b/src/main/webapp/resources/dia_mr.txt
index aedd3929a..d029c61ac 100644
--- a/src/main/webapp/resources/dia_mr.txt
+++ b/src/main/webapp/resources/dia_mr.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_ms.txt b/src/main/webapp/resources/dia_ms.txt
index 06d366393..0e64aee03 100644
--- a/src/main/webapp/resources/dia_ms.txt
+++ b/src/main/webapp/resources/dia_ms.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_my.txt b/src/main/webapp/resources/dia_my.txt
new file mode 100644
index 000000000..bdffe47e6
--- /dev/null
+++ b/src/main/webapp/resources/dia_my.txt
@@ -0,0 +1,987 @@
+# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*
+# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE
+aboutDrawio=About draw.io
+accessDenied=Access Denied
+action=Action
+actualSize=Actual Size
+add=Add
+addAccount=Add account
+addedFile=Added {1}
+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
+advanced=Advanced
+align=Align
+alignment=Alignment
+allChangesLost=All changes will be lost!
+allPages=All Pages
+allProjects=All Projects
+allSpaces=All Spaces
+allTags=All Tags
+anchor=Anchor
+android=Android
+angle=Angle
+arc=Arc
+areYouSure=Are you sure?
+ensureDataSaved=Please ensure your data is saved before closing.
+allChangesSaved=All changes saved
+allChangesSavedInDrive=All changes saved in Drive
+allowPopups=Allow pop-ups to avoid this dialog.
+allowRelativeUrl=Allow relative URL
+alreadyConnected=Nodes already connected
+apply=Apply
+archiMate21=ArchiMate 2.1
+arrange=Arrange
+arrow=Arrow
+arrows=Arrows
+asNew=As New
+atlas=Atlas
+author=Author
+authorizationRequired=Authorization required
+authorizeThisAppIn=Authorize this app in {1}:
+authorize=Authorize
+authorizing=Authorizing
+automatic=Automatic
+autosave=Autosave
+autosize=Autosize
+attachments=Attachments
+aws=AWS
+aws3d=AWS 3D
+azure=Azure
+back=Back
+background=Background
+backgroundColor=Background Color
+backgroundImage=Background Image
+basic=Basic
+blankDrawing=Blank Drawing
+blankDiagram=Blank Diagram
+block=Block
+blockquote=Blockquote
+blog=Blog
+bold=Bold
+bootstrap=Bootstrap
+border=Border
+borderColor=Border Color
+borderWidth=Border Width
+bottom=Bottom
+bottomAlign=Bottom Align
+bottomLeft=Bottom Left
+bottomRight=Bottom Right
+bpmn=BPMN
+browser=Browser
+bulletedList=Bulleted List
+business=Business
+busy=Operation in progress
+cabinets=Cabinets
+cancel=Cancel
+center=Center
+cannotLoad=Load attempts failed. Please try again later.
+cannotLogin=Log in attempts failed. Please try again later.
+cannotOpenFile=Cannot open file
+change=Change
+changeOrientation=Change Orientation
+changeUser=Change user
+changeStorage=Change storage
+changesNotSaved=Changes have not been saved
+userJoined={1} has joined
+userLeft={1} has left
+chatWindowTitle=Chat
+chooseAnOption=Choose an option
+chromeApp=Chrome App
+collaborativeEditingNotice=Important Notice for Collaborative Editing
+compressed=Compressed
+commitMessage=Commit Message
+configLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!
+configLinkConfirm=Click OK to configure and restart draw.io.
+csv=CSV
+dark=Dark
+didYouMeanToExportToPdf=Did you mean to export to PDF?
+draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
+dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
+check=Check
+checksum=Checksum
+circle=Circle
+cisco=Cisco
+classic=Classic
+clearDefaultStyle=Clear Default Style
+clearWaypoints=Clear Waypoints
+clipart=Clipart
+close=Close
+closingFile=Closing file
+collaborator=Collaborator
+collaborators=Collaborators
+collapse=Collapse
+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
+compress=Compress
+connect=Connect
+connecting=Connecting
+connectWithDrive=Connect with Google Drive
+connection=Connection
+connectionArrows=Connection Arrows
+connectionPoints=Connection Points
+constrainProportions=Constrain Proportions
+containsValidationErrors=Contains validation errors
+copiedToClipboard=Copied to clipboard
+copy=Copy
+copyConnect=Copy on connect
+copyCreated=A copy of the file was created.
+copyOf=Copy of {1}
+copyOfDrawing=Copy of Drawing
+copySize=Copy Size
+copyStyle=Copy Style
+create=Create
+createNewDiagram=Create New Diagram
+createRevision=Create Revision
+createShape=Create Shape
+crop=Crop
+curved=Curved
+custom=Custom
+current=Current
+currentPage=Current page
+cut=Cut
+dashed=Dashed
+decideLater=Decide later
+default=Default
+delete=Delete
+deleteColumn=Delete Column
+deleteLibrary401=Insufficient permissions to delete this library
+deleteLibrary404=Selected library could not be found
+deleteLibrary500=Error deleting library
+deleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?
+deleteRow=Delete Row
+description=Description
+device=Device
+diagram=Diagram
+diagramContent=Diagram Content
+diagramLocked=Diagram has been locked to prevent further data loss.
+diagramLockedBySince=The diagram is locked by {1} since {2} ago
+diagramName=Diagram Name
+diagramIsPublic=Diagram is public
+diagramIsNotPublic=Diagram is not public
+diamond=Diamond
+diamondThin=Diamond (thin)
+didYouKnow=Did you know...
+direction=Direction
+discard=Discard
+discardChangesAndReconnect=Discard Changes and Reconnect
+googleDriveMissingClickHere=Google Drive missing? Click here!
+discardChanges=Discard Changes
+disconnected=Disconnected
+distribute=Distribute
+done=Done
+dotted=Dotted
+doubleClickOrientation=Doubleclick to change orientation
+doubleClickTooltip=Doubleclick to insert text
+doubleClickChangeProperty=Doubleclick to change property name
+download=Download
+downloadDesktop=Download draw.io Desktop
+downloadAs=Download as
+clickHereToSave=Click here to save.
+dpi=DPI
+draftDiscarded=Draft discarded
+draftSaved=Draft saved
+dragElementsHere=Drag elements here
+dragImagesHere=Drag images or URLs here
+dragUrlsHere=Drag URLs here
+draw.io=draw.io
+drawing=Drawing{1}
+drawingEmpty=Drawing is empty
+drawingTooLarge=Drawing is too large
+drawioForWork=Draw.io for GSuite
+dropbox=Dropbox
+duplicate=Duplicate
+duplicateIt=Duplicate {1}
+divider=Divider
+dx=Dx
+dy=Dy
+east=East
+edit=Edit
+editData=Edit Data
+editDiagram=Edit Diagram
+editGeometry=Edit Geometry
+editImage=Edit Image
+editImageUrl=Edit Image URL
+editLink=Edit Link
+editShape=Edit Shape
+editStyle=Edit Style
+editText=Edit Text
+editTooltip=Edit Tooltip
+glass=Glass
+googleImages=Google Images
+imageSearch=Image Search
+eip=EIP
+embed=Embed
+embedImages=Embed Images
+mainEmbedNotice=Paste this into the page
+electrical=Electrical
+ellipse=Ellipse
+embedNotice=Paste this once at the end of the page
+enterGroup=Enter Group
+enterName=Enter Name
+enterPropertyName=Enter Property Name
+enterValue=Enter Value
+entityRelation=Entity Relation
+error=Error
+errorDeletingFile=Error deleting file
+errorLoadingFile=Error loading file
+errorRenamingFile=Error renaming file
+errorRenamingFileNotFound=Error renaming file. File was not found.
+errorRenamingFileForbidden=Error renaming file. Insufficient access rights.
+errorSavingDraft=Error saving draft
+errorSavingFile=Error saving file
+errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh the page to re-attempt.
+errorSavingFileForbidden=Error saving file. Insufficient access rights.
+errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
+errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
+errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
+errorSendingFeedback=Error sending feedback.
+errorUpdatingPreview=Error updating preview.
+exit=Exit
+exitGroup=Exit Group
+expand=Expand
+export=Export
+exporting=Exporting
+exportAs=Export as
+exportOptionsDisabled=Export options disabled
+exportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.
+externalChanges=External Changes
+extras=Extras
+facebook=Facebook
+failedToSaveTryReconnect=Failed to save, trying to reconnect
+featureRequest=Feature Request
+feedback=Feedback
+feedbackSent=Feedback successfully sent.
+floorplans=Floorplans
+file=File
+fileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?
+fileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?
+fileChangedSync=The file has been modified. Click here to synchronize.
+overwrite=Overwrite
+synchronize=Synchronize
+filename=Filename
+fileExists=File already exists
+fileMovedToTrash=File was moved to trash
+fileNearlyFullSeeFaq=File nearly full, please see FAQ
+fileNotFound=File not found
+repositoryNotFound=Repository not found
+fileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.
+fileNotLoaded=File not loaded
+fileNotSaved=File not saved
+fileOpenLocation=How would you like to open these file(s)?
+filetypeHtml=.html causes file to save as HTML with redirect to cloud URL
+filetypePng=.png causes file to save as PNG with embedded data
+filetypeSvg=.svg causes file to save as SVG with embedded data
+fileWillBeSavedInAppFolder={1} will be saved in the app folder.
+fill=Fill
+fillColor=Fill Color
+filterCards=Filter Cards
+find=Find
+fit=Fit
+fitContainer=Resize Container
+fitIntoContainer=Fit into Container
+fitPage=Fit Page
+fitPageWidth=Fit Page Width
+fitTo=Fit to
+fitToSheetsAcross=sheet(s) across
+fitToBy=by
+fitToSheetsDown=sheet(s) down
+fitTwoPages=Two Pages
+fitWindow=Fit Window
+flip=Flip
+flipH=Flip Horizontal
+flipV=Flip Vertical
+flowchart=Flowchart
+folder=Folder
+font=Font
+fontColor=Font Color
+fontFamily=Font Family
+fontSize=Font Size
+forbidden=You are not authorized to access this file
+format=Format
+formatPanel=Format Panel
+formatted=Formatted
+formattedText=Formatted Text
+formatPng=PNG
+formatGif=GIF
+formatJpg=JPEG
+formatPdf=PDF
+formatSql=SQL
+formatSvg=SVG
+formatHtmlEmbedded=HTML
+formatSvgEmbedded=SVG (with XML)
+formatVsdx=VSDX
+formatVssx=VSSX
+formatXmlPlain=XML (Plain)
+formatXml=XML
+forum=Discussion/Help Forums
+freehand=Freehand
+fromTemplate=From Template
+fromTemplateUrl=From Template URL
+fromText=From Text
+fromUrl=From URL
+fromThisPage=From this page
+fullscreen=Fullscreen
+gap=Gap
+gcp=GCP
+general=General
+github=GitHub
+gitlab=GitLab
+gliffy=Gliffy
+global=Global
+googleDocs=Google Docs
+googleDrive=Google Drive
+googleGadget=Google Gadget
+googlePlus=Google+
+googleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:
+googleSlides=Google Slides
+googleSites=Google Sites
+googleSheets=Google Sheets
+gradient=Gradient
+gradientColor=Color
+grid=Grid
+gridColor=Grid Color
+gridSize=Grid Size
+group=Group
+guides=Guides
+hateApp=I hate draw.io
+heading=Heading
+height=Height
+help=Help
+helpTranslate=Help us translate this application
+hide=Hide
+hideIt=Hide {1}
+hidden=Hidden
+home=Home
+horizontal=Horizontal
+horizontalFlow=Horizontal Flow
+horizontalTree=Horizontal Tree
+howTranslate=How good is the translation in your language?
+html=HTML
+htmlText=HTML Text
+id=ID
+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
+importFrom=Import from
+includeCopyOfMyDiagram=Include a copy of my diagram
+increaseIndent=Increase Indent
+decreaseIndent=Decrease Indent
+insert=Insert
+insertColumnBefore=Insert Column Left
+insertColumnAfter=Insert Column Right
+insertEllipse=Insert Ellipse
+insertImage=Insert Image
+insertHorizontalRule=Insert Horizontal Rule
+insertLink=Insert Link
+insertPage=Insert Page
+insertRectangle=Insert Rectangle
+insertRhombus=Insert Rhombus
+insertRowBefore=Insert Row Above
+insertRowAfter=Insert Row After
+insertText=Insert Text
+inserting=Inserting
+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>.
+invalidInput=Invalid input
+invalidName=Invalid name
+invalidOrMissingFile=Invalid or missing file
+invalidPublicUrl=Invalid public URL
+isometric=Isometric
+ios=iOS
+italic=Italic
+kennedy=Kennedy
+keyboardShortcuts=Keyboard Shortcuts
+layers=Layers
+landscape=Landscape
+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.
+lineJumps=Line jumps
+linkAccountRequired=If the diagram is not public a Google account is required to view the link.
+linkText=Link Text
+list=List
+minute=minute
+minutes=minutes
+hours=hours
+days=days
+months=months
+years=years
+restartForChangeRequired=Changes will take effect after a restart of the application.
+laneColor=Lanecolor
+lastModified=Last modified
+layout=Layout
+left=Left
+leftAlign=Left Align
+leftToRight=Left to right
+libraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.
+lightbox=Lightbox
+line=Line
+lineend=Line end
+lineheight=Line Height
+linestart=Line start
+linewidth=Linewidth
+link=Link
+links=Links
+loading=Loading
+lockUnlock=Lock/Unlock
+loggedOut=Logged Out
+logIn=log in
+loveIt=I love {1}
+lucidchart=Lucidchart
+maps=Maps
+mathematicalTypesetting=Mathematical Typesetting
+makeCopy=Make a Copy
+manual=Manual
+microsoftOffice=Microsoft Office
+microsoftExcel=Microsoft Excel
+microsoftPowerPoint=Microsoft PowerPoint
+microsoftWord=Microsoft Word
+middle=Middle
+minimal=Minimal
+misc=Misc
+mockups=Mockups
+modificationDate=Modification date
+modifiedBy=Modified by
+more=More
+moreResults=More Results
+moreShapes=More Shapes
+move=Move
+moveToFolder=Move to Folder
+moving=Moving
+moveSelectionTo=Move selection to {1}
+name=Name
+navigation=Navigation
+network=Network
+networking=Networking
+new=New
+newLibrary=New Library
+nextPage=Next Page
+no=No
+noPickFolder=No, pick folder
+noAttachments=No attachments found
+noColor=No Color
+noFiles=No Files
+noFileSelected=No file selected
+noLibraries=No libraries found
+noMoreResults=No more results
+none=None
+noOtherViewers=No other viewers
+noPlugins=No plugins
+noPreview=No preview
+noResponse=No response from server
+noResultsFor=No results for '{1}'
+noRevisions=No revisions
+noSearchResults=No search results found
+noPageContentOrNotSaved=No anchors found on this page or it hasn't been saved yet
+normal=Normal
+north=North
+notADiagramFile=Not a diagram file
+notALibraryFile=Not a library file
+notAvailable=Not available
+notAUtf8File=Not a UTF-8 file
+notConnected=Not connected
+note=Note
+notUsingService=Not using {1}?
+numberedList=Numbered list
+offline=Offline
+ok=OK
+oneDrive=OneDrive
+online=Online
+opacity=Opacity
+open=Open
+openArrow=Open Arrow
+openExistingDiagram=Open Existing Diagram
+openFile=Open File
+openFrom=Open from
+openLibrary=Open Library
+openLibraryFrom=Open Library from
+openLink=Open Link
+openInNewWindow=Open in New Window
+openInThisWindow=Open in This Window
+openIt=Open {1}
+openRecent=Open Recent
+openSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy
+options=Options
+organic=Organic
+orthogonal=Orthogonal
+otherViewer=other viewer
+otherViewers=other viewers
+outline=Outline
+oval=Oval
+page=Page
+pageContent=Page Content
+pageNotFound=Page not found
+pageWithNumber=Page-{1}
+pages=Pages
+pageView=Page View
+pageSetup=Page Setup
+pageScale=Page Scale
+pan=Pan
+panTooltip=Space+Drag to pan
+paperSize=Paper Size
+pattern=Pattern
+paste=Paste
+pasteHere=Paste here
+pasteSize=Paste Size
+pasteStyle=Paste Style
+perimeter=Perimeter
+permissionAnyone=Anyone can edit
+permissionAuthor=Owner and admins can edit
+pickFolder=Pick a folder
+pickLibraryDialogTitle=Select Library
+publicDiagramUrl=Public URL of the diagram
+placeholders=Placeholders
+plantUml=PlantUML
+plugins=Plugins
+pluginUrl=Plugin URL
+pluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n
+plusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).
+portrait=Portrait
+position=Position
+posterPrint=Poster Print
+preferences=Preferences
+preview=Preview
+previousPage=Previous Page
+print=Print
+printAllPages=Print All Pages
+procEng=Proc. Eng.
+project=Project
+priority=Priority
+properties=Properties
+publish=Publish
+quickStart=Quick Start Video
+rack=Rack
+radialTree=Radial Tree
+readOnly=Read-only
+reconnecting=Reconnecting
+recentlyUpdated=Recently Updated
+recentlyViewed=Recently Viewed
+rectangle=Rectangle
+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
+refresh=Refresh
+regularExpression=Regular Expression
+relative=Relative
+relativeUrlNotAllowed=Relative URL not allowed
+rememberMe=Remember me
+rememberThisSetting=Remember this setting
+removeFormat=Clear Formatting
+removeFromGroup=Remove from Group
+removeIt=Remove {1}
+removeWaypoint=Remove Waypoint
+rename=Rename
+renamed=Renamed
+renameIt=Rename {1}
+renaming=Renaming
+replace=Replace
+replaceIt={1} already exists. Do you want to replace it?
+replaceExistingDrawing=Replace existing drawing
+required=required
+reset=Reset
+resetView=Reset View
+resize=Resize
+resizeLargeImages=Do you want to resize large images to make the application run faster?
+retina=Retina
+responsive=Responsive
+restore=Restore
+restoring=Restoring
+retryingIn=Retrying in {1} second(s)
+retryingLoad=Load failed. Retrying...
+retryingLogin=Login time out. Retrying...
+reverse=Reverse
+revision=Revision
+revisionHistory=Revision History
+rhombus=Rhombus
+right=Right
+rightAlign=Right Align
+rightToLeft=Right to left
+rotate=Rotate
+rotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees
+rotation=Rotation
+rounded=Rounded
+save=Save
+saveAndExit=Save & Exit
+saveAs=Save as
+saveAsXmlFile=Save as XML file?
+saved=Saved
+saveDiagramFirst=Please save the diagram first
+saveDiagramsTo=Save diagrams to
+saveLibrary403=Insufficient permissions to edit this library
+saveLibrary500=There was an error while saving the library
+saving=Saving
+scratchpad=Scratchpad
+scrollbars=Scrollbars
+search=Search
+searchShapes=Search Shapes
+selectAll=Select All
+selectionOnly=Selection Only
+selectCard=Select Card
+selectEdges=Select Edges
+selectFile=Select File
+selectFolder=Select Folder
+selectFont=Select Font
+selectNone=Select None
+selectTemplate=Select Template
+selectVertices=Select Vertices
+sendMessage=Send
+sendYourFeedbackToDrawIo=Send your feedback to draw.io
+serviceUnavailableOrBlocked=Service unavailable or blocked
+sessionExpired=Your session has expired. Please refresh the browser window.
+sessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. 
+setAsDefaultStyle=Set as Default Style
+shadow=Shadow
+shape=Shape
+shapes=Shapes
+share=Share
+shareLink=Link for shared editing
+sharp=Sharp
+show=Show
+showStartScreen=Show Start Screen
+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=Sign out
+simple=Simple
+simpleArrow=Simple Arrow
+simpleViewer=Simple Viewer
+size=Size
+solid=Solid
+sourceSpacing=Source Spacing
+south=South
+software=Software
+space=Space
+spacing=Spacing
+specialLink=Special Link
+standard=Standard
+startDrawing=Start drawing
+stopDrawing=Stop drawing
+starting=Starting
+straight=Straight
+strikethrough=Strikethrough
+strokeColor=Line Color
+style=Style
+subscript=Subscript
+summary=Summary
+superscript=Superscript
+support=Support
+sysml=SysML
+tags=Tags
+table=Table
+tables=Tables
+takeOver=Take Over
+targetSpacing=Target Spacing
+template=Template
+templates=Templates
+text=Text
+textAlignment=Text Alignment
+textOpacity=Text Opacity
+theme=Theme
+timeout=Timeout
+title=Title
+to=to
+toBack=To Back
+toFront=To Front
+toolbar=Toolbar
+tooltips=Tooltips
+top=Top
+topAlign=Top Align
+topLeft=Top Left
+topRight=Top Right
+transparent=Transparent
+transparentBackground=Transparent Background
+trello=Trello
+tryAgain=Try again
+tryOpeningViaThisPage=Try opening via this page
+turn=Rotate shape only by 90°
+type=Type
+twitter=Twitter
+uml=UML
+underline=Underline
+undo=Undo
+ungroup=Ungroup
+unsavedChanges=Unsaved changes
+unsavedChangesClickHereToSave=Unsaved changes. Click here to save.
+untitled=Untitled
+untitledDiagram=Untitled Diagram
+untitledLayer=Untitled Layer
+untitledLibrary=Untitled Library
+unknownError=Unknown error
+updateFile=Update {1}
+updatingDocument=Updating Document. Please wait...
+updatingPreview=Updating Preview. Please wait...
+updatingSelection=Updating Selection. Please wait...
+upload=Upload
+url=URL
+useOffline=Use Offline
+useRootFolder=Use root folder?
+userManual=User Manual
+vertical=Vertical
+verticalFlow=Vertical Flow
+verticalTree=Vertical Tree
+view=View
+viewerSettings=Viewer Settings
+viewUrl=Link to view: {1}
+voiceAssistant=Voice Assistant (beta)
+warning=Warning
+waypoints=Waypoints
+west=West
+width=Width
+wiki=Wiki
+wordWrap=Word Wrap
+writingDirection=Writing Direction
+yes=Yes
+yourEmailAddress=Your email address
+zoom=Zoom
+zoomIn=Zoom In
+zoomOut=Zoom Out
+basic=Basic
+businessprocess=Business Processes
+charts=Charts
+engineering=Engineering
+flowcharts=Flowcharts
+gmdl=Material Design
+mindmaps=Mindmaps
+mockups=Mockups
+networkdiagrams=Network Diagrams
+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
+property=Property
+value=Value
+showMore=Show More
+showLess=Show Less
+myDiagrams=My Diagrams
+allDiagrams=All Diagrams
+recentlyUsed=Recently used
+listView=List view
+gridView=Grid view
+resultsFor=Results for '{1}'
+oneDriveCharsNotAllowed=The following characters are not allowed: ~ " # %  * : < > ? / \ { | }
+oneDriveInvalidDeviceName=The specified device name is invalid
+officeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.
+officeSelectSingleDiag=Please select a single draw.io diagram only without other contents.
+officeSelectDiag=Please select a draw.io diagram.
+officeCannotFindDiagram=Cannot find a draw.io diagram in the selection
+noDiagrams=No diagrams found
+authFailed=Authentication failed
+officeFailedAuthMsg=Unable to successfully authenticate user or authorize application.
+convertingDiagramFailed=Converting diagram failed
+officeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.
+insertingImageFailed=Inserting image failed
+officeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.
+folderEmpty=Folder is empty
+recent=Recent
+sharedWithMe=Shared With Me
+sharepointSites=Sharepoint Sites
+errorFetchingFolder=Error fetching folder items
+errorAuthOD=Error authenticating to OneDrive
+officeMainHeader=Adds draw.io diagrams to your document.
+officeStepsHeader=This add-in performs the following steps:
+officeStep1=Connects to Microsoft OneDrive, Google Drive or your device.
+officeStep2=Select a draw.io diagram.
+officeStep3=Insert the diagram into the document.
+officeAuthPopupInfo=Please complete the authentication in the pop-up window.
+officeSelDiag=Select draw.io Diagram:
+files=Files
+shared=Shared
+sharepoint=Sharepoint
+officeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.
+officeClickToEdit=Click icon to start editing:
+pasteDiagram=Paste draw.io diagram here
+connectOD=Connect to OneDrive
+selectChildren=Select Children
+selectSiblings=Select Siblings
+selectParent=Select Parent
+selectDescendants=Select Descendants
+lastSaved=Last saved {1} ago
+resolve=Resolve
+reopen=Re-open
+showResolved=Show Resolved
+reply=Reply
+objectNotFound=Object not found
+reOpened=Re-opened
+markedAsResolved=Marked as resolved
+noCommentsFound=No comments found
+comments=Comments
+timeAgo={1} ago
+confluenceCloud=Confluence Cloud
+libraries=Libraries
+confAnchor=Confluence Page Anchor
+confTimeout=The connection has timed out
+confSrvTakeTooLong=The server at {1} is taking too long to respond.
+confCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page
+confSaveTry=Please save the page and try again.
+confCannotGetID=Unable to determine page ID
+confContactAdmin=Please contact your Confluence administrator.
+readErr=Read Error
+editingErr=Editing Error
+confExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page
+confEditedExt=Diagram/Page edited externally
+diagNotFound=Diagram Not Found
+confEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.
+confCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.
+retBack=Return back
+confDiagNotPublished=The diagram does not belong to a published page
+createdByDraw=Created by draw.io
+filenameShort=Filename too short
+invalidChars=Invalid characters
+alreadyExst={1} already exists
+draftReadErr=Draft Read Error
+diagCantLoad=Diagram cannot be loaded
+draftWriteErr=Draft Write Error
+draftCantCreate=Draft could not be created
+confDuplName=Duplicate diagram name detected. Please pick another name.
+confSessionExpired=Looks like your session expired. Log in again to keep working.
+login=Login
+drawPrev=draw.io preview
+drwaDiag=draw.io diagram
+unknownErr=Unkown Error
+invalidCallFnNotFound=Invalid Call: {1} not found
+invalidCallErrOccured=Invalid Call: An error occurred, {1}
+anonymous=Anonymous
+confGotoPage=Go to containing page
+showComments=Show Comments
+confError=Error: {1}
+gliffyImport=Gliffy Import
+gliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.
+gliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.
+startImport=Start Import
+drawConfig=draw.io Configuration
+customLib=Custom Libraries
+customTemp=Custom Templates
+pageIdsExp=Page IDs Export
+drawReindex=draw.io re-indexing (beta)
+working=Working
+drawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.
+createConfSp=Create Config Space
+unexpErrRefresh=Unexpected error, please refresh the page and try again.
+configJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to
+thisPage=this page
+curCustLib=Current Custom Libraries
+libName=Library Name
+action=Action
+drawConfID=draw.io Config ID
+addLibInst=Click the "Add Library" button to upload a new library.
+addLib=Add Library
+customTempInst1=Custom templates are draw.io diagrams saved in children pages of
+customTempInst2=For more details, please refer to
+tempsPage=Templates page
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
+pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
+startExp=Start Export
+refreshDrawIndex=Refresh draw.io Diagrams Index
+reindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.
+reindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.
+startIndexing=Start Indexing
+confAPageFoundFetch=Page "{1}" found. Fetching
+confAAllDiagDone=All {1} diagrams processed. Process finished.
+confAStartedProcessing=Started processing page "{1}"
+confAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.
+confAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.
+confAUpdatePageFailed=Updating page "{1}" failed.
+confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
+confAFetchPageFailed=Fetching the page failed.
+confANoDiagFound=No {1} diagrams found. Process finished.
+confASearchFailed=Searching for {1} diagrams failed. Please try again later.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
+confAImportedFromByDraw=Imported from "{1}" by draw.io
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
+confACheckBrokenDiagLnk=Checking for broken diagrams links.
+confADelDiagLinkOf=Deleting diagram link of "{1}"
+confADupLnk=(duplicate link)
+confADelDiagLnkFailed=Deleting diagram link of "{1}" failed.
+confAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}
+confADiagFoundIndex=Diagram "{1}" found. Indexing
+confADiagIndexSucc=Diagram "{1}" indexed successfully.
+confAIndexDiagFailed=Indexing diagram "{1}" failed.
+confASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!
+confADiagUptoDate=Diagram "{1}" is up to date.
+confACheckPagesWDraw=Checking pages having draw.io diagrams.
+confAErrOccured=An error occurred!
+savedSucc=Saved successfully
+confASaveFailedErr=Saving Failed (Unexpected Error)
+character=Character
+confAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment
+confALibPageDesc=This page contains draw.io custom libraries as attachments
+confATempPageDesc=This page contains draw.io custom templates as attachments
+working=Working
+confAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates
+confANoCustLib=No Custom Libraries
+delFailed=Delete failed!
+showID=Show ID
+confAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.
+uploading=Uploading
+confALibExist=This library already exists
+confAUploadSucc=Uploaded successfully
+confAUploadFailErr=Upload Failed (Unexpected Error)
+hiResPreview=High Res Preview
+officeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.
+officePopupInfo=Please complete the process in the pop-up window.
+pickODFile=Pick OneDrive File
+pickGDriveFile=Pick Google Drive File
+pickDeviceFile=Pick Device File
+vsdNoConfig="vsdurl" is not configured
+ruler=Ruler
+units=Units
+points=Points
+inches=Inches
+millimeters=Millimeters
+confEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.
+confDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session's modifications.
+macroNotFound=Macro Not Found
+confAInvalidPageIdsFormat=Incorrect Page IDs file format
+confACollectingCurPages=Collecting current pages
+confABuildingPagesMap=Building pages mapping
+confAProcessDrawDiag=Started processing imported draw.io diagrams
+confAProcessDrawDiagDone=Finished processing imported draw.io diagrams
+confAProcessImpPages=Started processing imported pages
+confAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"
+confAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"
+confAImpDiagram=Importing diagram "{1}"
+confAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+confAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.
+confAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.
+confImpDiagramSuccess=Updating diagram "{1}" done successfully.
+confANoLnksInDrgm=No links to update in: {1}
+confAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"
+confAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"
+confAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"
+confAPageIdsImpDone=Page IDs Import finished.
+confAPrcsMacrosInPage=Processing draw.io macros in page "{1}"
+confAErrFetchPage=Error fetching page "{1}"
+confAFixingMacro=Fixing macro of diagram "{1}"
+confAErrReadingExpFile=Error reading export file
+confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
+confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_nl.txt b/src/main/webapp/resources/dia_nl.txt
index b9df061ef..13ac65946 100644
--- a/src/main/webapp/resources/dia_nl.txt
+++ b/src/main/webapp/resources/dia_nl.txt
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=Geen {1} diagrammen gevonden op pagina "{2}".
 confAFetchPageFailed=Het ophalen van de pagina is mislukt.
 confANoDiagFound=Geen {1} diagrammen gevonden. Proces voltooid.
 confASearchFailed=Zoeken naar {1} diagrammen is mislukt. Probeer het later opnieuw.
-confAGliffyDiagFound=Gliffy-diagram "{1}" gevonden. Importeren
-confAGliffyDiagImported=Gliffy-diagram "{1}" succesvol geïmporteerd.
-confASavingImpGliffyFailed=Het opslaan van geïmporteerd Gliffy-diagram "{1}" is mislukt.
+confAGliffyDiagFound={2}-diagram "{1}" gevonden. Importeren
+confAGliffyDiagImported={2}-diagram "{1}" succesvol geïmporteerd.
+confASavingImpGliffyFailed=Het opslaan van geïmporteerd {2}-diagram "{1}" is mislukt.
 confAImportedFromByDraw=Door draw.io uit "{1}" geïmporteerd
-confAImportGliffyFailed=Het importeren van Gliffy-diagram "{1}" is mislukt.
-confAFetchGliffyFailed=Het ophalen van Gliffy-diagram "{1}" is mislukt.
+confAImportGliffyFailed=Het importeren van {2}-diagram "{1}" is mislukt.
+confAFetchGliffyFailed=Het ophalen van {2}-diagram "{1}" is mislukt.
 confACheckBrokenDiagLnk=Controleren op verbroken diagramkoppelingen.
 confADelDiagLinkOf=Diagramkoppeling van "{1}" verwijderen
 confADupLnk=(dubbele koppeling)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_no.txt b/src/main/webapp/resources/dia_no.txt
index 0b18352d4..765f6dcb2 100644
--- a/src/main/webapp/resources/dia_no.txt
+++ b/src/main/webapp/resources/dia_no.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_pl.txt b/src/main/webapp/resources/dia_pl.txt
index 406033121..2f3ca81cc 100644
--- a/src/main/webapp/resources/dia_pl.txt
+++ b/src/main/webapp/resources/dia_pl.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_pt-br.txt b/src/main/webapp/resources/dia_pt-br.txt
index f09255f9d..d065108b8 100644
--- a/src/main/webapp/resources/dia_pt-br.txt
+++ b/src/main/webapp/resources/dia_pt-br.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_pt.txt b/src/main/webapp/resources/dia_pt.txt
index bedbdabd5..238f398ad 100644
--- a/src/main/webapp/resources/dia_pt.txt
+++ b/src/main/webapp/resources/dia_pt.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_ro.txt b/src/main/webapp/resources/dia_ro.txt
index 87021c53d..b394a4e83 100644
--- a/src/main/webapp/resources/dia_ro.txt
+++ b/src/main/webapp/resources/dia_ro.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_ru.txt b/src/main/webapp/resources/dia_ru.txt
index c6a99ead6..71ce6e934 100644
--- a/src/main/webapp/resources/dia_ru.txt
+++ b/src/main/webapp/resources/dia_ru.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_si.txt b/src/main/webapp/resources/dia_si.txt
new file mode 100644
index 000000000..bdffe47e6
--- /dev/null
+++ b/src/main/webapp/resources/dia_si.txt
@@ -0,0 +1,987 @@
+# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*
+# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE
+aboutDrawio=About draw.io
+accessDenied=Access Denied
+action=Action
+actualSize=Actual Size
+add=Add
+addAccount=Add account
+addedFile=Added {1}
+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
+advanced=Advanced
+align=Align
+alignment=Alignment
+allChangesLost=All changes will be lost!
+allPages=All Pages
+allProjects=All Projects
+allSpaces=All Spaces
+allTags=All Tags
+anchor=Anchor
+android=Android
+angle=Angle
+arc=Arc
+areYouSure=Are you sure?
+ensureDataSaved=Please ensure your data is saved before closing.
+allChangesSaved=All changes saved
+allChangesSavedInDrive=All changes saved in Drive
+allowPopups=Allow pop-ups to avoid this dialog.
+allowRelativeUrl=Allow relative URL
+alreadyConnected=Nodes already connected
+apply=Apply
+archiMate21=ArchiMate 2.1
+arrange=Arrange
+arrow=Arrow
+arrows=Arrows
+asNew=As New
+atlas=Atlas
+author=Author
+authorizationRequired=Authorization required
+authorizeThisAppIn=Authorize this app in {1}:
+authorize=Authorize
+authorizing=Authorizing
+automatic=Automatic
+autosave=Autosave
+autosize=Autosize
+attachments=Attachments
+aws=AWS
+aws3d=AWS 3D
+azure=Azure
+back=Back
+background=Background
+backgroundColor=Background Color
+backgroundImage=Background Image
+basic=Basic
+blankDrawing=Blank Drawing
+blankDiagram=Blank Diagram
+block=Block
+blockquote=Blockquote
+blog=Blog
+bold=Bold
+bootstrap=Bootstrap
+border=Border
+borderColor=Border Color
+borderWidth=Border Width
+bottom=Bottom
+bottomAlign=Bottom Align
+bottomLeft=Bottom Left
+bottomRight=Bottom Right
+bpmn=BPMN
+browser=Browser
+bulletedList=Bulleted List
+business=Business
+busy=Operation in progress
+cabinets=Cabinets
+cancel=Cancel
+center=Center
+cannotLoad=Load attempts failed. Please try again later.
+cannotLogin=Log in attempts failed. Please try again later.
+cannotOpenFile=Cannot open file
+change=Change
+changeOrientation=Change Orientation
+changeUser=Change user
+changeStorage=Change storage
+changesNotSaved=Changes have not been saved
+userJoined={1} has joined
+userLeft={1} has left
+chatWindowTitle=Chat
+chooseAnOption=Choose an option
+chromeApp=Chrome App
+collaborativeEditingNotice=Important Notice for Collaborative Editing
+compressed=Compressed
+commitMessage=Commit Message
+configLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!
+configLinkConfirm=Click OK to configure and restart draw.io.
+csv=CSV
+dark=Dark
+didYouMeanToExportToPdf=Did you mean to export to PDF?
+draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
+dropboxCharsNotAllowed=The following characters are not allowed: \ / : ? * " |
+check=Check
+checksum=Checksum
+circle=Circle
+cisco=Cisco
+classic=Classic
+clearDefaultStyle=Clear Default Style
+clearWaypoints=Clear Waypoints
+clipart=Clipart
+close=Close
+closingFile=Closing file
+collaborator=Collaborator
+collaborators=Collaborators
+collapse=Collapse
+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
+compress=Compress
+connect=Connect
+connecting=Connecting
+connectWithDrive=Connect with Google Drive
+connection=Connection
+connectionArrows=Connection Arrows
+connectionPoints=Connection Points
+constrainProportions=Constrain Proportions
+containsValidationErrors=Contains validation errors
+copiedToClipboard=Copied to clipboard
+copy=Copy
+copyConnect=Copy on connect
+copyCreated=A copy of the file was created.
+copyOf=Copy of {1}
+copyOfDrawing=Copy of Drawing
+copySize=Copy Size
+copyStyle=Copy Style
+create=Create
+createNewDiagram=Create New Diagram
+createRevision=Create Revision
+createShape=Create Shape
+crop=Crop
+curved=Curved
+custom=Custom
+current=Current
+currentPage=Current page
+cut=Cut
+dashed=Dashed
+decideLater=Decide later
+default=Default
+delete=Delete
+deleteColumn=Delete Column
+deleteLibrary401=Insufficient permissions to delete this library
+deleteLibrary404=Selected library could not be found
+deleteLibrary500=Error deleting library
+deleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?
+deleteRow=Delete Row
+description=Description
+device=Device
+diagram=Diagram
+diagramContent=Diagram Content
+diagramLocked=Diagram has been locked to prevent further data loss.
+diagramLockedBySince=The diagram is locked by {1} since {2} ago
+diagramName=Diagram Name
+diagramIsPublic=Diagram is public
+diagramIsNotPublic=Diagram is not public
+diamond=Diamond
+diamondThin=Diamond (thin)
+didYouKnow=Did you know...
+direction=Direction
+discard=Discard
+discardChangesAndReconnect=Discard Changes and Reconnect
+googleDriveMissingClickHere=Google Drive missing? Click here!
+discardChanges=Discard Changes
+disconnected=Disconnected
+distribute=Distribute
+done=Done
+dotted=Dotted
+doubleClickOrientation=Doubleclick to change orientation
+doubleClickTooltip=Doubleclick to insert text
+doubleClickChangeProperty=Doubleclick to change property name
+download=Download
+downloadDesktop=Download draw.io Desktop
+downloadAs=Download as
+clickHereToSave=Click here to save.
+dpi=DPI
+draftDiscarded=Draft discarded
+draftSaved=Draft saved
+dragElementsHere=Drag elements here
+dragImagesHere=Drag images or URLs here
+dragUrlsHere=Drag URLs here
+draw.io=draw.io
+drawing=Drawing{1}
+drawingEmpty=Drawing is empty
+drawingTooLarge=Drawing is too large
+drawioForWork=Draw.io for GSuite
+dropbox=Dropbox
+duplicate=Duplicate
+duplicateIt=Duplicate {1}
+divider=Divider
+dx=Dx
+dy=Dy
+east=East
+edit=Edit
+editData=Edit Data
+editDiagram=Edit Diagram
+editGeometry=Edit Geometry
+editImage=Edit Image
+editImageUrl=Edit Image URL
+editLink=Edit Link
+editShape=Edit Shape
+editStyle=Edit Style
+editText=Edit Text
+editTooltip=Edit Tooltip
+glass=Glass
+googleImages=Google Images
+imageSearch=Image Search
+eip=EIP
+embed=Embed
+embedImages=Embed Images
+mainEmbedNotice=Paste this into the page
+electrical=Electrical
+ellipse=Ellipse
+embedNotice=Paste this once at the end of the page
+enterGroup=Enter Group
+enterName=Enter Name
+enterPropertyName=Enter Property Name
+enterValue=Enter Value
+entityRelation=Entity Relation
+error=Error
+errorDeletingFile=Error deleting file
+errorLoadingFile=Error loading file
+errorRenamingFile=Error renaming file
+errorRenamingFileNotFound=Error renaming file. File was not found.
+errorRenamingFileForbidden=Error renaming file. Insufficient access rights.
+errorSavingDraft=Error saving draft
+errorSavingFile=Error saving file
+errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh the page to re-attempt.
+errorSavingFileForbidden=Error saving file. Insufficient access rights.
+errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
+errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
+errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
+errorSendingFeedback=Error sending feedback.
+errorUpdatingPreview=Error updating preview.
+exit=Exit
+exitGroup=Exit Group
+expand=Expand
+export=Export
+exporting=Exporting
+exportAs=Export as
+exportOptionsDisabled=Export options disabled
+exportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.
+externalChanges=External Changes
+extras=Extras
+facebook=Facebook
+failedToSaveTryReconnect=Failed to save, trying to reconnect
+featureRequest=Feature Request
+feedback=Feedback
+feedbackSent=Feedback successfully sent.
+floorplans=Floorplans
+file=File
+fileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?
+fileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?
+fileChangedSync=The file has been modified. Click here to synchronize.
+overwrite=Overwrite
+synchronize=Synchronize
+filename=Filename
+fileExists=File already exists
+fileMovedToTrash=File was moved to trash
+fileNearlyFullSeeFaq=File nearly full, please see FAQ
+fileNotFound=File not found
+repositoryNotFound=Repository not found
+fileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.
+fileNotLoaded=File not loaded
+fileNotSaved=File not saved
+fileOpenLocation=How would you like to open these file(s)?
+filetypeHtml=.html causes file to save as HTML with redirect to cloud URL
+filetypePng=.png causes file to save as PNG with embedded data
+filetypeSvg=.svg causes file to save as SVG with embedded data
+fileWillBeSavedInAppFolder={1} will be saved in the app folder.
+fill=Fill
+fillColor=Fill Color
+filterCards=Filter Cards
+find=Find
+fit=Fit
+fitContainer=Resize Container
+fitIntoContainer=Fit into Container
+fitPage=Fit Page
+fitPageWidth=Fit Page Width
+fitTo=Fit to
+fitToSheetsAcross=sheet(s) across
+fitToBy=by
+fitToSheetsDown=sheet(s) down
+fitTwoPages=Two Pages
+fitWindow=Fit Window
+flip=Flip
+flipH=Flip Horizontal
+flipV=Flip Vertical
+flowchart=Flowchart
+folder=Folder
+font=Font
+fontColor=Font Color
+fontFamily=Font Family
+fontSize=Font Size
+forbidden=You are not authorized to access this file
+format=Format
+formatPanel=Format Panel
+formatted=Formatted
+formattedText=Formatted Text
+formatPng=PNG
+formatGif=GIF
+formatJpg=JPEG
+formatPdf=PDF
+formatSql=SQL
+formatSvg=SVG
+formatHtmlEmbedded=HTML
+formatSvgEmbedded=SVG (with XML)
+formatVsdx=VSDX
+formatVssx=VSSX
+formatXmlPlain=XML (Plain)
+formatXml=XML
+forum=Discussion/Help Forums
+freehand=Freehand
+fromTemplate=From Template
+fromTemplateUrl=From Template URL
+fromText=From Text
+fromUrl=From URL
+fromThisPage=From this page
+fullscreen=Fullscreen
+gap=Gap
+gcp=GCP
+general=General
+github=GitHub
+gitlab=GitLab
+gliffy=Gliffy
+global=Global
+googleDocs=Google Docs
+googleDrive=Google Drive
+googleGadget=Google Gadget
+googlePlus=Google+
+googleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:
+googleSlides=Google Slides
+googleSites=Google Sites
+googleSheets=Google Sheets
+gradient=Gradient
+gradientColor=Color
+grid=Grid
+gridColor=Grid Color
+gridSize=Grid Size
+group=Group
+guides=Guides
+hateApp=I hate draw.io
+heading=Heading
+height=Height
+help=Help
+helpTranslate=Help us translate this application
+hide=Hide
+hideIt=Hide {1}
+hidden=Hidden
+home=Home
+horizontal=Horizontal
+horizontalFlow=Horizontal Flow
+horizontalTree=Horizontal Tree
+howTranslate=How good is the translation in your language?
+html=HTML
+htmlText=HTML Text
+id=ID
+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
+importFrom=Import from
+includeCopyOfMyDiagram=Include a copy of my diagram
+increaseIndent=Increase Indent
+decreaseIndent=Decrease Indent
+insert=Insert
+insertColumnBefore=Insert Column Left
+insertColumnAfter=Insert Column Right
+insertEllipse=Insert Ellipse
+insertImage=Insert Image
+insertHorizontalRule=Insert Horizontal Rule
+insertLink=Insert Link
+insertPage=Insert Page
+insertRectangle=Insert Rectangle
+insertRhombus=Insert Rhombus
+insertRowBefore=Insert Row Above
+insertRowAfter=Insert Row After
+insertText=Insert Text
+inserting=Inserting
+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>.
+invalidInput=Invalid input
+invalidName=Invalid name
+invalidOrMissingFile=Invalid or missing file
+invalidPublicUrl=Invalid public URL
+isometric=Isometric
+ios=iOS
+italic=Italic
+kennedy=Kennedy
+keyboardShortcuts=Keyboard Shortcuts
+layers=Layers
+landscape=Landscape
+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.
+lineJumps=Line jumps
+linkAccountRequired=If the diagram is not public a Google account is required to view the link.
+linkText=Link Text
+list=List
+minute=minute
+minutes=minutes
+hours=hours
+days=days
+months=months
+years=years
+restartForChangeRequired=Changes will take effect after a restart of the application.
+laneColor=Lanecolor
+lastModified=Last modified
+layout=Layout
+left=Left
+leftAlign=Left Align
+leftToRight=Left to right
+libraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.
+lightbox=Lightbox
+line=Line
+lineend=Line end
+lineheight=Line Height
+linestart=Line start
+linewidth=Linewidth
+link=Link
+links=Links
+loading=Loading
+lockUnlock=Lock/Unlock
+loggedOut=Logged Out
+logIn=log in
+loveIt=I love {1}
+lucidchart=Lucidchart
+maps=Maps
+mathematicalTypesetting=Mathematical Typesetting
+makeCopy=Make a Copy
+manual=Manual
+microsoftOffice=Microsoft Office
+microsoftExcel=Microsoft Excel
+microsoftPowerPoint=Microsoft PowerPoint
+microsoftWord=Microsoft Word
+middle=Middle
+minimal=Minimal
+misc=Misc
+mockups=Mockups
+modificationDate=Modification date
+modifiedBy=Modified by
+more=More
+moreResults=More Results
+moreShapes=More Shapes
+move=Move
+moveToFolder=Move to Folder
+moving=Moving
+moveSelectionTo=Move selection to {1}
+name=Name
+navigation=Navigation
+network=Network
+networking=Networking
+new=New
+newLibrary=New Library
+nextPage=Next Page
+no=No
+noPickFolder=No, pick folder
+noAttachments=No attachments found
+noColor=No Color
+noFiles=No Files
+noFileSelected=No file selected
+noLibraries=No libraries found
+noMoreResults=No more results
+none=None
+noOtherViewers=No other viewers
+noPlugins=No plugins
+noPreview=No preview
+noResponse=No response from server
+noResultsFor=No results for '{1}'
+noRevisions=No revisions
+noSearchResults=No search results found
+noPageContentOrNotSaved=No anchors found on this page or it hasn't been saved yet
+normal=Normal
+north=North
+notADiagramFile=Not a diagram file
+notALibraryFile=Not a library file
+notAvailable=Not available
+notAUtf8File=Not a UTF-8 file
+notConnected=Not connected
+note=Note
+notUsingService=Not using {1}?
+numberedList=Numbered list
+offline=Offline
+ok=OK
+oneDrive=OneDrive
+online=Online
+opacity=Opacity
+open=Open
+openArrow=Open Arrow
+openExistingDiagram=Open Existing Diagram
+openFile=Open File
+openFrom=Open from
+openLibrary=Open Library
+openLibraryFrom=Open Library from
+openLink=Open Link
+openInNewWindow=Open in New Window
+openInThisWindow=Open in This Window
+openIt=Open {1}
+openRecent=Open Recent
+openSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy
+options=Options
+organic=Organic
+orthogonal=Orthogonal
+otherViewer=other viewer
+otherViewers=other viewers
+outline=Outline
+oval=Oval
+page=Page
+pageContent=Page Content
+pageNotFound=Page not found
+pageWithNumber=Page-{1}
+pages=Pages
+pageView=Page View
+pageSetup=Page Setup
+pageScale=Page Scale
+pan=Pan
+panTooltip=Space+Drag to pan
+paperSize=Paper Size
+pattern=Pattern
+paste=Paste
+pasteHere=Paste here
+pasteSize=Paste Size
+pasteStyle=Paste Style
+perimeter=Perimeter
+permissionAnyone=Anyone can edit
+permissionAuthor=Owner and admins can edit
+pickFolder=Pick a folder
+pickLibraryDialogTitle=Select Library
+publicDiagramUrl=Public URL of the diagram
+placeholders=Placeholders
+plantUml=PlantUML
+plugins=Plugins
+pluginUrl=Plugin URL
+pluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n
+plusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).
+portrait=Portrait
+position=Position
+posterPrint=Poster Print
+preferences=Preferences
+preview=Preview
+previousPage=Previous Page
+print=Print
+printAllPages=Print All Pages
+procEng=Proc. Eng.
+project=Project
+priority=Priority
+properties=Properties
+publish=Publish
+quickStart=Quick Start Video
+rack=Rack
+radialTree=Radial Tree
+readOnly=Read-only
+reconnecting=Reconnecting
+recentlyUpdated=Recently Updated
+recentlyViewed=Recently Viewed
+rectangle=Rectangle
+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
+refresh=Refresh
+regularExpression=Regular Expression
+relative=Relative
+relativeUrlNotAllowed=Relative URL not allowed
+rememberMe=Remember me
+rememberThisSetting=Remember this setting
+removeFormat=Clear Formatting
+removeFromGroup=Remove from Group
+removeIt=Remove {1}
+removeWaypoint=Remove Waypoint
+rename=Rename
+renamed=Renamed
+renameIt=Rename {1}
+renaming=Renaming
+replace=Replace
+replaceIt={1} already exists. Do you want to replace it?
+replaceExistingDrawing=Replace existing drawing
+required=required
+reset=Reset
+resetView=Reset View
+resize=Resize
+resizeLargeImages=Do you want to resize large images to make the application run faster?
+retina=Retina
+responsive=Responsive
+restore=Restore
+restoring=Restoring
+retryingIn=Retrying in {1} second(s)
+retryingLoad=Load failed. Retrying...
+retryingLogin=Login time out. Retrying...
+reverse=Reverse
+revision=Revision
+revisionHistory=Revision History
+rhombus=Rhombus
+right=Right
+rightAlign=Right Align
+rightToLeft=Right to left
+rotate=Rotate
+rotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees
+rotation=Rotation
+rounded=Rounded
+save=Save
+saveAndExit=Save & Exit
+saveAs=Save as
+saveAsXmlFile=Save as XML file?
+saved=Saved
+saveDiagramFirst=Please save the diagram first
+saveDiagramsTo=Save diagrams to
+saveLibrary403=Insufficient permissions to edit this library
+saveLibrary500=There was an error while saving the library
+saving=Saving
+scratchpad=Scratchpad
+scrollbars=Scrollbars
+search=Search
+searchShapes=Search Shapes
+selectAll=Select All
+selectionOnly=Selection Only
+selectCard=Select Card
+selectEdges=Select Edges
+selectFile=Select File
+selectFolder=Select Folder
+selectFont=Select Font
+selectNone=Select None
+selectTemplate=Select Template
+selectVertices=Select Vertices
+sendMessage=Send
+sendYourFeedbackToDrawIo=Send your feedback to draw.io
+serviceUnavailableOrBlocked=Service unavailable or blocked
+sessionExpired=Your session has expired. Please refresh the browser window.
+sessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. 
+setAsDefaultStyle=Set as Default Style
+shadow=Shadow
+shape=Shape
+shapes=Shapes
+share=Share
+shareLink=Link for shared editing
+sharp=Sharp
+show=Show
+showStartScreen=Show Start Screen
+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=Sign out
+simple=Simple
+simpleArrow=Simple Arrow
+simpleViewer=Simple Viewer
+size=Size
+solid=Solid
+sourceSpacing=Source Spacing
+south=South
+software=Software
+space=Space
+spacing=Spacing
+specialLink=Special Link
+standard=Standard
+startDrawing=Start drawing
+stopDrawing=Stop drawing
+starting=Starting
+straight=Straight
+strikethrough=Strikethrough
+strokeColor=Line Color
+style=Style
+subscript=Subscript
+summary=Summary
+superscript=Superscript
+support=Support
+sysml=SysML
+tags=Tags
+table=Table
+tables=Tables
+takeOver=Take Over
+targetSpacing=Target Spacing
+template=Template
+templates=Templates
+text=Text
+textAlignment=Text Alignment
+textOpacity=Text Opacity
+theme=Theme
+timeout=Timeout
+title=Title
+to=to
+toBack=To Back
+toFront=To Front
+toolbar=Toolbar
+tooltips=Tooltips
+top=Top
+topAlign=Top Align
+topLeft=Top Left
+topRight=Top Right
+transparent=Transparent
+transparentBackground=Transparent Background
+trello=Trello
+tryAgain=Try again
+tryOpeningViaThisPage=Try opening via this page
+turn=Rotate shape only by 90°
+type=Type
+twitter=Twitter
+uml=UML
+underline=Underline
+undo=Undo
+ungroup=Ungroup
+unsavedChanges=Unsaved changes
+unsavedChangesClickHereToSave=Unsaved changes. Click here to save.
+untitled=Untitled
+untitledDiagram=Untitled Diagram
+untitledLayer=Untitled Layer
+untitledLibrary=Untitled Library
+unknownError=Unknown error
+updateFile=Update {1}
+updatingDocument=Updating Document. Please wait...
+updatingPreview=Updating Preview. Please wait...
+updatingSelection=Updating Selection. Please wait...
+upload=Upload
+url=URL
+useOffline=Use Offline
+useRootFolder=Use root folder?
+userManual=User Manual
+vertical=Vertical
+verticalFlow=Vertical Flow
+verticalTree=Vertical Tree
+view=View
+viewerSettings=Viewer Settings
+viewUrl=Link to view: {1}
+voiceAssistant=Voice Assistant (beta)
+warning=Warning
+waypoints=Waypoints
+west=West
+width=Width
+wiki=Wiki
+wordWrap=Word Wrap
+writingDirection=Writing Direction
+yes=Yes
+yourEmailAddress=Your email address
+zoom=Zoom
+zoomIn=Zoom In
+zoomOut=Zoom Out
+basic=Basic
+businessprocess=Business Processes
+charts=Charts
+engineering=Engineering
+flowcharts=Flowcharts
+gmdl=Material Design
+mindmaps=Mindmaps
+mockups=Mockups
+networkdiagrams=Network Diagrams
+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
+property=Property
+value=Value
+showMore=Show More
+showLess=Show Less
+myDiagrams=My Diagrams
+allDiagrams=All Diagrams
+recentlyUsed=Recently used
+listView=List view
+gridView=Grid view
+resultsFor=Results for '{1}'
+oneDriveCharsNotAllowed=The following characters are not allowed: ~ " # %  * : < > ? / \ { | }
+oneDriveInvalidDeviceName=The specified device name is invalid
+officeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.
+officeSelectSingleDiag=Please select a single draw.io diagram only without other contents.
+officeSelectDiag=Please select a draw.io diagram.
+officeCannotFindDiagram=Cannot find a draw.io diagram in the selection
+noDiagrams=No diagrams found
+authFailed=Authentication failed
+officeFailedAuthMsg=Unable to successfully authenticate user or authorize application.
+convertingDiagramFailed=Converting diagram failed
+officeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.
+insertingImageFailed=Inserting image failed
+officeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.
+folderEmpty=Folder is empty
+recent=Recent
+sharedWithMe=Shared With Me
+sharepointSites=Sharepoint Sites
+errorFetchingFolder=Error fetching folder items
+errorAuthOD=Error authenticating to OneDrive
+officeMainHeader=Adds draw.io diagrams to your document.
+officeStepsHeader=This add-in performs the following steps:
+officeStep1=Connects to Microsoft OneDrive, Google Drive or your device.
+officeStep2=Select a draw.io diagram.
+officeStep3=Insert the diagram into the document.
+officeAuthPopupInfo=Please complete the authentication in the pop-up window.
+officeSelDiag=Select draw.io Diagram:
+files=Files
+shared=Shared
+sharepoint=Sharepoint
+officeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.
+officeClickToEdit=Click icon to start editing:
+pasteDiagram=Paste draw.io diagram here
+connectOD=Connect to OneDrive
+selectChildren=Select Children
+selectSiblings=Select Siblings
+selectParent=Select Parent
+selectDescendants=Select Descendants
+lastSaved=Last saved {1} ago
+resolve=Resolve
+reopen=Re-open
+showResolved=Show Resolved
+reply=Reply
+objectNotFound=Object not found
+reOpened=Re-opened
+markedAsResolved=Marked as resolved
+noCommentsFound=No comments found
+comments=Comments
+timeAgo={1} ago
+confluenceCloud=Confluence Cloud
+libraries=Libraries
+confAnchor=Confluence Page Anchor
+confTimeout=The connection has timed out
+confSrvTakeTooLong=The server at {1} is taking too long to respond.
+confCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page
+confSaveTry=Please save the page and try again.
+confCannotGetID=Unable to determine page ID
+confContactAdmin=Please contact your Confluence administrator.
+readErr=Read Error
+editingErr=Editing Error
+confExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page
+confEditedExt=Diagram/Page edited externally
+diagNotFound=Diagram Not Found
+confEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.
+confCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.
+retBack=Return back
+confDiagNotPublished=The diagram does not belong to a published page
+createdByDraw=Created by draw.io
+filenameShort=Filename too short
+invalidChars=Invalid characters
+alreadyExst={1} already exists
+draftReadErr=Draft Read Error
+diagCantLoad=Diagram cannot be loaded
+draftWriteErr=Draft Write Error
+draftCantCreate=Draft could not be created
+confDuplName=Duplicate diagram name detected. Please pick another name.
+confSessionExpired=Looks like your session expired. Log in again to keep working.
+login=Login
+drawPrev=draw.io preview
+drwaDiag=draw.io diagram
+unknownErr=Unkown Error
+invalidCallFnNotFound=Invalid Call: {1} not found
+invalidCallErrOccured=Invalid Call: An error occurred, {1}
+anonymous=Anonymous
+confGotoPage=Go to containing page
+showComments=Show Comments
+confError=Error: {1}
+gliffyImport=Gliffy Import
+gliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.
+gliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.
+startImport=Start Import
+drawConfig=draw.io Configuration
+customLib=Custom Libraries
+customTemp=Custom Templates
+pageIdsExp=Page IDs Export
+drawReindex=draw.io re-indexing (beta)
+working=Working
+drawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.
+createConfSp=Create Config Space
+unexpErrRefresh=Unexpected error, please refresh the page and try again.
+configJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to
+thisPage=this page
+curCustLib=Current Custom Libraries
+libName=Library Name
+action=Action
+drawConfID=draw.io Config ID
+addLibInst=Click the "Add Library" button to upload a new library.
+addLib=Add Library
+customTempInst1=Custom templates are draw.io diagrams saved in children pages of
+customTempInst2=For more details, please refer to
+tempsPage=Templates page
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
+pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
+startExp=Start Export
+refreshDrawIndex=Refresh draw.io Diagrams Index
+reindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.
+reindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.
+startIndexing=Start Indexing
+confAPageFoundFetch=Page "{1}" found. Fetching
+confAAllDiagDone=All {1} diagrams processed. Process finished.
+confAStartedProcessing=Started processing page "{1}"
+confAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.
+confAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.
+confAUpdatePageFailed=Updating page "{1}" failed.
+confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
+confAFetchPageFailed=Fetching the page failed.
+confANoDiagFound=No {1} diagrams found. Process finished.
+confASearchFailed=Searching for {1} diagrams failed. Please try again later.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
+confAImportedFromByDraw=Imported from "{1}" by draw.io
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
+confACheckBrokenDiagLnk=Checking for broken diagrams links.
+confADelDiagLinkOf=Deleting diagram link of "{1}"
+confADupLnk=(duplicate link)
+confADelDiagLnkFailed=Deleting diagram link of "{1}" failed.
+confAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}
+confADiagFoundIndex=Diagram "{1}" found. Indexing
+confADiagIndexSucc=Diagram "{1}" indexed successfully.
+confAIndexDiagFailed=Indexing diagram "{1}" failed.
+confASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!
+confADiagUptoDate=Diagram "{1}" is up to date.
+confACheckPagesWDraw=Checking pages having draw.io diagrams.
+confAErrOccured=An error occurred!
+savedSucc=Saved successfully
+confASaveFailedErr=Saving Failed (Unexpected Error)
+character=Character
+confAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment
+confALibPageDesc=This page contains draw.io custom libraries as attachments
+confATempPageDesc=This page contains draw.io custom templates as attachments
+working=Working
+confAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates
+confANoCustLib=No Custom Libraries
+delFailed=Delete failed!
+showID=Show ID
+confAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.
+uploading=Uploading
+confALibExist=This library already exists
+confAUploadSucc=Uploaded successfully
+confAUploadFailErr=Upload Failed (Unexpected Error)
+hiResPreview=High Res Preview
+officeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.
+officePopupInfo=Please complete the process in the pop-up window.
+pickODFile=Pick OneDrive File
+pickGDriveFile=Pick Google Drive File
+pickDeviceFile=Pick Device File
+vsdNoConfig="vsdurl" is not configured
+ruler=Ruler
+units=Units
+points=Points
+inches=Inches
+millimeters=Millimeters
+confEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.
+confDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session's modifications.
+macroNotFound=Macro Not Found
+confAInvalidPageIdsFormat=Incorrect Page IDs file format
+confACollectingCurPages=Collecting current pages
+confABuildingPagesMap=Building pages mapping
+confAProcessDrawDiag=Started processing imported draw.io diagrams
+confAProcessDrawDiagDone=Finished processing imported draw.io diagrams
+confAProcessImpPages=Started processing imported pages
+confAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"
+confAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"
+confAImpDiagram=Importing diagram "{1}"
+confAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+confAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.
+confAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.
+confImpDiagramSuccess=Updating diagram "{1}" done successfully.
+confANoLnksInDrgm=No links to update in: {1}
+confAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"
+confAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"
+confAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"
+confAPageIdsImpDone=Page IDs Import finished.
+confAPrcsMacrosInPage=Processing draw.io macros in page "{1}"
+confAErrFetchPage=Error fetching page "{1}"
+confAFixingMacro=Fixing macro of diagram "{1}"
+confAErrReadingExpFile=Error reading export file
+confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
+confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_sk.txt b/src/main/webapp/resources/dia_sk.txt
index 0abdb3fdc..b9c1c5ef9 100644
--- a/src/main/webapp/resources/dia_sk.txt
+++ b/src/main/webapp/resources/dia_sk.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_sl.txt b/src/main/webapp/resources/dia_sl.txt
index e94013e14..be94ff198 100644
--- a/src/main/webapp/resources/dia_sl.txt
+++ b/src/main/webapp/resources/dia_sl.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_sr.txt b/src/main/webapp/resources/dia_sr.txt
index 3f23fb80f..720bcb249 100644
--- a/src/main/webapp/resources/dia_sr.txt
+++ b/src/main/webapp/resources/dia_sr.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_sv.txt b/src/main/webapp/resources/dia_sv.txt
index b3fe4823e..893757861 100644
--- a/src/main/webapp/resources/dia_sv.txt
+++ b/src/main/webapp/resources/dia_sv.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_sw.txt b/src/main/webapp/resources/dia_sw.txt
index 304e83393..305366ade 100644
--- a/src/main/webapp/resources/dia_sw.txt
+++ b/src/main/webapp/resources/dia_sw.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_ta.txt b/src/main/webapp/resources/dia_ta.txt
index b90f35833..c1eef68e9 100644
--- a/src/main/webapp/resources/dia_ta.txt
+++ b/src/main/webapp/resources/dia_ta.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_te.txt b/src/main/webapp/resources/dia_te.txt
index b174ee89a..114fc3fea 100644
--- a/src/main/webapp/resources/dia_te.txt
+++ b/src/main/webapp/resources/dia_te.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_th.txt b/src/main/webapp/resources/dia_th.txt
index 68ccb14a8..0f0127591 100644
--- a/src/main/webapp/resources/dia_th.txt
+++ b/src/main/webapp/resources/dia_th.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_tr.txt b/src/main/webapp/resources/dia_tr.txt
index a730fa328..b15cddc84 100644
--- a/src/main/webapp/resources/dia_tr.txt
+++ b/src/main/webapp/resources/dia_tr.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_uk.txt b/src/main/webapp/resources/dia_uk.txt
index 6c42c7428..e74b9dd5e 100644
--- a/src/main/webapp/resources/dia_uk.txt
+++ b/src/main/webapp/resources/dia_uk.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_vi.txt b/src/main/webapp/resources/dia_vi.txt
index 39ac30c7e..c01d6443c 100644
--- a/src/main/webapp/resources/dia_vi.txt
+++ b/src/main/webapp/resources/dia_vi.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_zh-tw.txt b/src/main/webapp/resources/dia_zh-tw.txt
index 79fdc6730..94acd53cd 100644
--- a/src/main/webapp/resources/dia_zh-tw.txt
+++ b/src/main/webapp/resources/dia_zh-tw.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
diff --git a/src/main/webapp/resources/dia_zh.txt b/src/main/webapp/resources/dia_zh.txt
index e904dae90..d9e133155 100644
--- a/src/main/webapp/resources/dia_zh.txt
+++ b/src/main/webapp/resources/dia_zh.txt
@@ -892,7 +892,7 @@ addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
 customTempInst2=For more details, please refer to
 tempsPage=Templates page
-pageIdsExpInst1=Click the "Start Export" button to export all pages IDs.
+pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
 startExp=Start Export
 refreshDrawIndex=Refresh draw.io Diagrams Index
@@ -909,12 +909,12 @@ confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
 confASearchFailed=Searching for {1} diagrams failed. Please try again later.
-confAGliffyDiagFound=Gliffy diagram "{1}" found. Importing
-confAGliffyDiagImported=Gliffy diagram "{1}" imported successfully.
-confASavingImpGliffyFailed=Saving imported Gliffy diagram "{1}" failed.
+confAGliffyDiagFound={2} diagram "{1}" found. Importing
+confAGliffyDiagImported={2} diagram "{1}" imported successfully.
+confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
 confAImportedFromByDraw=Imported from "{1}" by draw.io
-confAImportGliffyFailed=Importing Gliffy diagram "{1}" failed.
-confAFetchGliffyFailed=Fetching Gliffy diagram "{1}" failed.
+confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
+confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
 confACheckBrokenDiagLnk=Checking for broken diagrams links.
 confADelDiagLinkOf=Deleting diagram link of "{1}"
 confADupLnk=(duplicate link)
@@ -982,3 +982,6 @@ confAFixingMacro=Fixing macro of diagram "{1}"
 confAErrReadingExpFile=Error reading export file
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
+pageIdsExpTrg=Export target
+confALucidDiagImgImported={2} diagram "{1}" image extracted successfully.
+confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.
-- 
GitLab