drawio/war/js/app.min.js
Gaudenz Alder 0f977d3540 5.6.0.3 release
Former-commit-id: 115f64248f
2016-09-07 15:37:28 +02:00

7964 lines
No EOL
3.9 MiB

!function(a,c){"object"==typeof exports?module.exports=c():"function"==typeof define&&define.amd?define(c):a.Spinner=c()}(this,function(){function a(b,a){var d,e=document.createElement(b||"div");for(d in a)e[d]=a[d];return e}function c(b){for(var a=1,d=arguments.length;d>a;a++)b.appendChild(arguments[a]);return b}function f(b,a,d,e){var c=["opacity",a,~~(100*b),d,e].join("-");d=0.01+100*(d/e);e=Math.max(1-(1-b)/a*(100-d),b);var f=l.substring(0,l.indexOf("Animation")).toLowerCase();return m[c]||(p.insertRule("@"+
(f&&"-"+f+"-"||"")+"keyframes "+c+"{0%{opacity:"+e+"}"+d+"%{opacity:"+b+"}"+(d+0.01)+"%{opacity:1}"+(d+a)%100+"%{opacity:"+b+"}100%{opacity:"+e+"}}",p.cssRules.length),m[c]=1),c}function d(b,a){var d,e,c=b.style;a=a.charAt(0).toUpperCase()+a.slice(1);for(e=0;e<n.length;e++)if(d=n[e]+a,void 0!==c[d])return d;return void 0!==c[a]?a:void 0}function b(b,a){for(var e in a)b.style[d(b,e)||e]=a[e];return b}function e(b){for(var a=1;a<arguments.length;a++){var d=arguments[a],e;for(e in d)void 0===b[e]&&(b[e]=
d[e])}return b}function g(b){this.opts=e(b||{},g.defaults,r)}function k(){function d(b,e){return a("\x3c"+b+' xmlns\x3d"urn:schemas-microsoft.com:vml" class\x3d"spin-vml"\x3e',e)}p.addRule(".spin-vml","behavior:url(#default#VML)");g.prototype.lines=function(a,e){function f(){return b(d("group",{coordsize:n+" "+n,coordorigin:-l+" "+-l}),{width:n,height:n})}function g(a,k,n){c(m,c(b(f(),{rotation:360/e.lines*a+"deg",left:~~k}),c(b(d("roundrect",{arcsize:e.corners}),{width:l,height:e.width,left:e.radius,
top:-e.width>>1,filter:n}),d("fill",{color:"string"==typeof e.color?e.color:e.color[a%e.color.length],opacity:e.opacity}),d("stroke",{opacity:0}))))}var k,l=e.length+e.width,n=2*l;k=2*-(e.width+e.length)+"px";var m=b(f(),{position:"absolute",top:k,left:k});if(e.shadow)for(k=1;k<=e.lines;k++)g(k,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius\x3d2,makeshadow\x3d1,shadowopacity\x3d.3)");for(k=1;k<=e.lines;k++)g(k);return c(a,m)};g.prototype.opacity=function(b,a,d,e){b=b.firstChild;e=e.shadow&&
e.lines||0;b&&a+e<b.childNodes.length&&(b=b.childNodes[a+e],b=b&&b.firstChild,b=b&&b.firstChild,b&&(b.opacity=d))}}var l,n=["webkit","Moz","ms","O"],m={},p=function(){var b=a("style",{type:"text/css"});return c(document.getElementsByTagName("head")[0],b),b.sheet||b.styleSheet}(),r={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",direction:1,speed:1,trail:100,opacity:0.25,fps:20,zIndex:2E9,className:"spinner",top:"50%",left:"50%",position:"absolute"};g.defaults={};e(g.prototype,
{spin:function(d){this.stop();var e=this,c=e.opts,f=e.el=b(a(0,{className:c.className}),{position:c.position,width:0,zIndex:c.zIndex});c.radius+c.length+c.width;if(d&&(d.insertBefore(f,d.firstChild||null),b(f,{left:c.left,top:c.top})),f.setAttribute("role","progressbar"),e.lines(f,e.opts),!l){var g,k=0,n=(c.lines-1)*(1-c.direction)/2,m=c.fps,p=m/c.speed,r=(1-c.opacity)/(p*c.trail/100),s=p/c.lines;!function F(){k++;for(var b=0;b<c.lines;b++)g=Math.max(1-(k+(c.lines-b)*s)%p*r,c.opacity),e.opacity(f,
b*c.direction+n,g,c);e.timeout=e.el&&setTimeout(F,~~(1E3/m))}()}return e},stop:function(){var b=this.el;return b&&(clearTimeout(this.timeout),b.parentNode&&b.parentNode.removeChild(b),this.el=void 0),this},lines:function(d,e){function g(d,c){return b(a(),{position:"absolute",width:e.length+e.width+"px",height:e.width+"px",background:d,boxShadow:c,transformOrigin:"left",transform:"rotate("+~~(360/e.lines*n+e.rotate)+"deg) translate("+e.radius+"px,0)",borderRadius:(e.corners*e.width>>1)+"px"})}for(var k,
n=0,m=(e.lines-1)*(1-e.direction)/2;n<e.lines;n++)k=b(a(),{position:"absolute",top:1+~(e.width/2)+"px",transform:e.hwaccel?"translate3d(0,0,0)":"",opacity:e.opacity,animation:l&&f(e.opacity,e.trail,m+n*e.direction,e.lines)+" "+1/e.speed+"s linear infinite"}),e.shadow&&c(k,b(g("#000","0 0 4px #000"),{top:"2px"})),c(d,c(k,g("string"==typeof e.color?e.color:e.color[n%e.color.length],"0 0 1px rgba(0,0,0,.1)")));return d},opacity:function(b,a,d){a<b.childNodes.length&&(b.childNodes[a].style.opacity=d)}});
var s=b(a("group"),{behavior:"url(#default#VML)"});return!d(s,"transform")&&s.adj?k():l=d(s,"animation"),g});(function(){var a=void 0,c=!0,f=null,d=!1,b=["aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkturquoise darkviolet deeppink deepskyblue dimgray dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray snow springgreen steelblue tan teal thistle tomato transparent turquoise violet wheat white whitesmoke yellow yellowgreen".split(" "),
"all-scroll col-resize crosshair default e-resize hand help move n-resize ne-resize no-drop not-allowed nw-resize pointer progress row-resize s-resize se-resize sw-resize text vertical-text w-resize wait".split(" "),"armenian decimal decimal-leading-zero disc georgian lower-alpha lower-greek lower-latin lower-roman square upper-alpha upper-latin upper-roman".split(" "),"100 200 300 400 500 600 700 800 900 bold bolder lighter".split(" "),"block-level inline-level table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group".split(" "),
"condensed expanded extra-condensed extra-expanded narrower semi-condensed semi-expanded ultra-condensed ultra-expanded wider".split(" "),"inherit inline inline-block inline-box inline-flex inline-grid inline-list-item inline-stack inline-table run-in".split(" "),"behind center-left center-right far-left far-right left-side leftwards right-side rightwards".split(" "),"large larger small smaller x-large x-small xx-large xx-small".split(" "),"dashed dotted double groove outset ridge solid".split(" "),
"ease ease-in ease-in-out ease-out linear step-end step-start".split(" "),"at closest-corner closest-side ellipse farthest-corner farthest-side".split(" "),"baseline middle sub super text-bottom text-top".split(" "),"caption icon menu message-box small-caption status-bar".split(" "),"fast faster slow slower x-fast x-slow".split(" "),["above","below","higher","level","lower"],["cursive","fantasy","monospace","sans-serif","serif"],["loud","silent","soft","x-loud","x-soft"],["no-repeat","repeat-x","repeat-y",
"round","space"],["blink","line-through","overline","underline"],["block","flex","grid","table"],["high","low","x-high","x-low"],["nowrap","pre","pre-line","pre-wrap"],["absolute","relative","static"],["alternate","alternate-reverse","reverse"],["border-box","content-box","padding-box"],["capitalize","lowercase","uppercase"],["child","female","male"],["\x3d","opacity"],["backwards","forwards"],["bidi-override","embed"],["bottom","top"],["break-all","keep-all"],["clip","ellipsis"],["contain","cover"],
["continuous","digits"],["end","start"],["flat","preserve-3d"],["hide","show"],["horizontal","vertical"],["inside","outside"],["italic","oblique"],["left","right"],["ltr","rtl"],["no-content","no-display"],["paused","running"],["suppress","unrestricted"],["thick","thin"],[","],["/"],["all"],["always"],["auto"],["avoid"],["both"],["break-word"],["center"],["circle"],["code"],["collapse"],["contents"],["fixed"],["hidden"],["infinite"],["inset"],["invert"],["justify"],["list-item"],["local"],["medium"],
["mix"],["none"],["normal"],["once"],["repeat"],["scroll"],["separate"],["small-caps"],["spell-out"],["to"],["visible"]],e={animation:{cssPropBits:517,cssLitGroup:[b[10],b[24],b[29],b[45],b[48],b[54],b[63],b[71],b[72]],cssFns:["cubic-bezier()","steps()"]},"animation-delay":{cssPropBits:5,cssLitGroup:[b[48]],cssFns:[]},"animation-direction":{cssPropBits:0,cssLitGroup:[b[24],b[48],b[72]],cssFns:[]},"animation-duration":"animation-delay","animation-fill-mode":{cssPropBits:0,cssLitGroup:[b[29],b[48],
b[54],b[71]],cssFns:[]},"animation-iteration-count":{cssPropBits:5,cssLitGroup:[b[48],b[63]],cssFns:[]},"animation-name":{cssPropBits:512,cssLitGroup:[b[48],b[71]],cssFns:[]},"animation-play-state":{cssPropBits:0,cssLitGroup:[b[45],b[48]],cssFns:[]},"animation-timing-function":{cssPropBits:0,cssLitGroup:[b[10],b[48]],cssFns:["cubic-bezier()","steps()"]},appearance:{cssPropBits:0,cssLitGroup:[b[71]],cssFns:[]},azimuth:{cssPropBits:5,cssLitGroup:[b[7],b[42],b[56]],cssFns:[]},"backface-visibility":{cssPropBits:0,
cssLitGroup:[b[59],b[62],b[80]],cssFns:[]},background:{cssPropBits:23,cssLitGroup:[b[0],b[18],b[25],b[31],b[34],b[42],b[48],b[49],b[52],b[56],b[61],b[68],b[71],b[74],b[75]],cssFns:"image() linear-gradient() radial-gradient() repeating-linear-gradient() repeating-radial-gradient() rgb() rgba()".split(" ")},"background-attachment":{cssPropBits:0,cssLitGroup:[b[48],b[61],b[68],b[75]],cssFns:[]},"background-color":{cssPropBits:2,cssLitGroup:[b[0]],cssFns:["rgb()","rgba()"]},"background-image":{cssPropBits:16,
cssLitGroup:[b[48],b[71]],cssFns:["image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()"]},"background-position":{cssPropBits:5,cssLitGroup:[b[31],b[42],b[48],b[56]],cssFns:[]},"background-repeat":{cssPropBits:0,cssLitGroup:[b[18],b[48],b[74]],cssFns:[]},"background-size":{cssPropBits:5,cssLitGroup:[b[34],b[48],b[52]],cssFns:[]},border:{cssPropBits:7,cssLitGroup:[b[0],b[9],b[47],b[62],b[64],b[69],b[71]],cssFns:["rgb()","rgba()"]},"border-bottom":"border",
"border-bottom-color":"background-color","border-bottom-left-radius":{cssPropBits:5,cssFns:[]},"border-bottom-right-radius":"border-bottom-left-radius","border-bottom-style":{cssPropBits:0,cssLitGroup:[b[9],b[62],b[64],b[71]],cssFns:[]},"border-bottom-width":{cssPropBits:5,cssLitGroup:[b[47],b[69]],cssFns:[]},"border-collapse":{cssPropBits:0,cssLitGroup:[b[59],b[76]],cssFns:[]},"border-color":"background-color","border-left":"border","border-left-color":"background-color","border-left-style":"border-bottom-style",
"border-left-width":"border-bottom-width","border-radius":{cssPropBits:5,cssLitGroup:[b[49]],cssFns:[]},"border-right":"border","border-right-color":"background-color","border-right-style":"border-bottom-style","border-right-width":"border-bottom-width","border-spacing":"border-bottom-left-radius","border-style":"border-bottom-style","border-top":"border","border-top-color":"background-color","border-top-left-radius":"border-bottom-left-radius","border-top-right-radius":"border-bottom-left-radius",
"border-top-style":"border-bottom-style","border-top-width":"border-bottom-width","border-width":"border-bottom-width",bottom:{cssPropBits:5,cssLitGroup:[b[52]],cssFns:[]},box:{cssPropBits:0,cssLitGroup:[b[60],b[71],b[72]],cssFns:[]},"box-shadow":{cssPropBits:7,cssLitGroup:[b[0],b[48],b[64],b[71]],cssFns:["rgb()","rgba()"]},"box-sizing":{cssPropBits:0,cssLitGroup:[b[25]],cssFns:[]},"caption-side":{cssPropBits:0,cssLitGroup:[b[31]],cssFns:[]},clear:{cssPropBits:0,cssLitGroup:[b[42],b[54],b[71]],cssFns:[]},
clip:{cssPropBits:0,cssLitGroup:[b[52]],cssFns:["rect()"]},color:"background-color",content:{cssPropBits:8,cssLitGroup:[b[71],b[72]],cssFns:[]},cue:{cssPropBits:16,cssLitGroup:[b[71]],cssFns:[]},"cue-after":"cue","cue-before":"cue",cursor:{cssPropBits:16,cssLitGroup:[b[1],b[48],b[52]],cssFns:[]},direction:{cssPropBits:0,cssLitGroup:[b[43]],cssFns:[]},display:{cssPropBits:0,cssLitGroup:[b[4],b[6],b[20],b[52],b[67],b[71]],cssFns:[]},"display-extras":{cssPropBits:0,cssLitGroup:[b[67],b[71]],cssFns:[]},
"display-inside":{cssPropBits:0,cssLitGroup:[b[20],b[52]],cssFns:[]},"display-outside":{cssPropBits:0,cssLitGroup:[b[4],b[71]],cssFns:[]},elevation:{cssPropBits:5,cssLitGroup:[b[15]],cssFns:[]},"empty-cells":{cssPropBits:0,cssLitGroup:[b[38]],cssFns:[]},filter:{cssPropBits:0,cssFns:["alpha()"]},"float":{cssPropBits:0,cssLitGroup:[b[42],b[71]],cssFns:[]},font:{cssPropBits:73,cssLitGroup:[b[3],b[8],b[13],b[16],b[41],b[48],b[49],b[69],b[72],b[77]],cssFns:[]},"font-family":{cssPropBits:72,cssLitGroup:[b[16],
b[48]],cssFns:[]},"font-size":{cssPropBits:1,cssLitGroup:[b[8],b[69]],cssFns:[]},"font-stretch":{cssPropBits:0,cssLitGroup:[b[5],b[72]],cssFns:[]},"font-style":{cssPropBits:0,cssLitGroup:[b[41],b[72]],cssFns:[]},"font-variant":{cssPropBits:0,cssLitGroup:[b[72],b[77]],cssFns:[]},"font-weight":{cssPropBits:0,cssLitGroup:[b[3],b[72]],cssFns:[]},height:"bottom",left:"bottom","letter-spacing":{cssPropBits:5,cssLitGroup:[b[72]],cssFns:[]},"line-height":{cssPropBits:1,cssLitGroup:[b[72]],cssFns:[]},"list-style":{cssPropBits:16,
cssLitGroup:[b[2],b[40],b[57],b[71]],cssFns:["image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()"]},"list-style-image":{cssPropBits:16,cssLitGroup:[b[71]],cssFns:["image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()"]},"list-style-position":{cssPropBits:0,cssLitGroup:[b[40]],cssFns:[]},"list-style-type":{cssPropBits:0,cssLitGroup:[b[2],b[57],b[71]],cssFns:[]},margin:"bottom","margin-bottom":"bottom",
"margin-left":"bottom","margin-right":"bottom","margin-top":"bottom","max-height":{cssPropBits:1,cssLitGroup:[b[52],b[71]],cssFns:[]},"max-width":"max-height","min-height":{cssPropBits:1,cssLitGroup:[b[52]],cssFns:[]},"min-width":"min-height",opacity:{cssPropBits:1,cssFns:[]},outline:{cssPropBits:7,cssLitGroup:[b[0],b[9],b[47],b[62],b[64],b[65],b[69],b[71]],cssFns:["rgb()","rgba()"]},"outline-color":{cssPropBits:2,cssLitGroup:[b[0],b[65]],cssFns:["rgb()","rgba()"]},"outline-style":"border-bottom-style",
"outline-width":"border-bottom-width",overflow:{cssPropBits:0,cssLitGroup:[b[52],b[62],b[75],b[80]],cssFns:[]},"overflow-wrap":{cssPropBits:0,cssLitGroup:[b[55],b[72]],cssFns:[]},"overflow-x":{cssPropBits:0,cssLitGroup:[b[44],b[52],b[62],b[75],b[80]],cssFns:[]},"overflow-y":"overflow-x",padding:"opacity","padding-bottom":"opacity","padding-left":"opacity","padding-right":"opacity","padding-top":"opacity","page-break-after":{cssPropBits:0,cssLitGroup:[b[42],b[51],b[52],b[53]],cssFns:[]},"page-break-before":"page-break-after",
"page-break-inside":{cssPropBits:0,cssLitGroup:[b[52],b[53]],cssFns:[]},pause:"border-bottom-left-radius","pause-after":"border-bottom-left-radius","pause-before":"border-bottom-left-radius",perspective:{cssPropBits:5,cssLitGroup:[b[71]],cssFns:[]},"perspective-origin":{cssPropBits:5,cssLitGroup:[b[31],b[42],b[56]],cssFns:[]},pitch:{cssPropBits:5,cssLitGroup:[b[21],b[69]],cssFns:[]},"pitch-range":"border-bottom-left-radius","play-during":{cssPropBits:16,cssLitGroup:[b[52],b[70],b[71],b[74]],cssFns:[]},
position:{cssPropBits:0,cssLitGroup:[b[23]],cssFns:[]},quotes:{cssPropBits:8,cssLitGroup:[b[71]],cssFns:[]},resize:{cssPropBits:0,cssLitGroup:[b[39],b[54],b[71]],cssFns:[]},richness:"border-bottom-left-radius",right:"bottom",speak:{cssPropBits:0,cssLitGroup:[b[71],b[72],b[78]],cssFns:[]},"speak-header":{cssPropBits:0,cssLitGroup:[b[51],b[73]],cssFns:[]},"speak-numeral":{cssPropBits:0,cssLitGroup:[b[35]],cssFns:[]},"speak-punctuation":{cssPropBits:0,cssLitGroup:[b[58],b[71]],cssFns:[]},"speech-rate":{cssPropBits:5,
cssLitGroup:[b[14],b[69]],cssFns:[]},stress:"border-bottom-left-radius","table-layout":{cssPropBits:0,cssLitGroup:[b[52],b[61]],cssFns:[]},"text-align":{cssPropBits:0,cssLitGroup:[b[42],b[56],b[66]],cssFns:[]},"text-decoration":{cssPropBits:0,cssLitGroup:[b[19],b[71]],cssFns:[]},"text-indent":"border-bottom-left-radius","text-overflow":{cssPropBits:8,cssLitGroup:[b[33]],cssFns:[]},"text-shadow":"box-shadow","text-transform":{cssPropBits:0,cssLitGroup:[b[26],b[71]],cssFns:[]},"text-wrap":{cssPropBits:0,
cssLitGroup:[b[46],b[71],b[72]],cssFns:[]},top:"bottom",transform:{cssPropBits:0,cssLitGroup:[b[71]],cssFns:"matrix() perspective() rotate() rotate3d() rotatex() rotatey() rotatez() scale() scale3d() scalex() scaley() scalez() skew() skewx() skewy() translate() translate3d() translatex() translatey() translatez()".split(" ")},"transform-origin":"perspective-origin","transform-style":{cssPropBits:0,cssLitGroup:[b[37]],cssFns:[]},transition:{cssPropBits:1029,cssLitGroup:[b[10],b[48],b[50],b[71]],cssFns:["cubic-bezier()",
"steps()"]},"transition-delay":"animation-delay","transition-duration":"animation-delay","transition-property":{cssPropBits:1024,cssLitGroup:[b[48],b[50]],cssFns:[]},"transition-timing-function":"animation-timing-function","unicode-bidi":{cssPropBits:0,cssLitGroup:[b[30],b[72]],cssFns:[]},"vertical-align":{cssPropBits:5,cssLitGroup:[b[12],b[31]],cssFns:[]},visibility:"backface-visibility","voice-family":{cssPropBits:8,cssLitGroup:[b[27],b[48]],cssFns:[]},volume:{cssPropBits:1,cssLitGroup:[b[17],b[69]],
cssFns:[]},"white-space":{cssPropBits:0,cssLitGroup:[b[22],b[72]],cssFns:[]},width:"min-height","word-break":{cssPropBits:0,cssLitGroup:[b[32],b[72]],cssFns:[]},"word-spacing":"letter-spacing","word-wrap":"overflow-wrap","z-index":"bottom",zoom:"line-height","cubic-bezier()":"animation-delay","steps()":{cssPropBits:5,cssLitGroup:[b[36],b[48]],cssFns:[]},"image()":{cssPropBits:18,cssLitGroup:[b[0],b[48]],cssFns:["rgb()","rgba()"]},"linear-gradient()":{cssPropBits:7,cssLitGroup:[b[0],b[31],b[42],b[48],
b[79]],cssFns:["rgb()","rgba()"]},"radial-gradient()":{cssPropBits:7,cssLitGroup:[b[0],b[11],b[31],b[42],b[48],b[56],b[57]],cssFns:["rgb()","rgba()"]},"repeating-linear-gradient()":"linear-gradient()","repeating-radial-gradient()":"radial-gradient()","rgb()":{cssPropBits:1,cssLitGroup:[b[48]],cssFns:[]},"rgba()":"rgb()","rect()":{cssPropBits:5,cssLitGroup:[b[48],b[52]],cssFns:[]},"alpha()":{cssPropBits:1,cssLitGroup:[b[28]],cssFns:[]},"matrix()":"animation-delay","perspective()":"border-bottom-left-radius",
"rotate()":"border-bottom-left-radius","rotate3d()":"animation-delay","rotatex()":"border-bottom-left-radius","rotatey()":"border-bottom-left-radius","rotatez()":"border-bottom-left-radius","scale()":"animation-delay","scale3d()":"animation-delay","scalex()":"border-bottom-left-radius","scaley()":"border-bottom-left-radius","scalez()":"border-bottom-left-radius","skew()":"animation-delay","skewx()":"border-bottom-left-radius","skewy()":"border-bottom-left-radius","translate()":"animation-delay","translate3d()":"animation-delay",
"translatex()":"border-bottom-left-radius","translatey()":"border-bottom-left-radius","translatez()":"border-bottom-left-radius"},g;for(g in e)"string"===typeof e[g]&&Object.hasOwnProperty.call(e,g)&&(e[g]=e[e[g]]);"undefined"!==typeof window&&(window.cssSchema=e);var k,l;(function(){function b(a){var d=parseInt(a.substring(1),16);return 65535<d?(d-=65536,String.fromCharCode(55296+(d>>10),56320+(d&1023))):d==d?String.fromCharCode(d):" ">a[1]?"":a[1]}function a(b,d){return'"'+b.replace(/[\u0000-\u001f\\\"<>]/g,
d)+'"'}function d(b){return c[b]||(c[b]="\\"+b.charCodeAt(0).toString(16)+" ")}function e(b){return f[b]||(f[b]=("\u0010">b?"%0":"%")+b.charCodeAt(0).toString(16))}var c={"\\":"\\\\"},f={"\\":"%5c"},g=RegExp("\\uFEFF|U[+][0-9A-F?]{1,6}(?:-[0-9A-F]{1,6})?|url[(][\\t\\n\\f ]*(?:\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|(?:[\\t\\x21\\x23-\\x26\\x28-\\x5b\\x5d-\\x7e]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)[\\t\\n\\f ]*[)]|(?!url[(])-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*[(]|(?:@?-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))|#)(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*|\"(?:'|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*\"|'(?:\"|[^'\"\\n\\f\\\\]|\\\\[\\s\\S])*'|[-+]?(?:[0-9]+(?:[.][0-9]+)?|[.][0-9]+)(?:%|-?(?:[a-zA-Z_]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))(?:[a-zA-Z0-9_-]|[\\u0080-\\ud7ff\\ue000-\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]|\\\\(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff]))*)?|\x3c!--|--\x3e|[\\t\\n\\f ]+|/(?:[*][^*]*[*]+(?:[^/][^*]*[*]+)*/|/[^\\n\\f]*)|[~|^$*]\x3d|[^\"'\\\\/]|/(?![/*])",
"gi"),n=RegExp("\\\\(?:(?:[0-9a-fA-F]{1,6}[\\t\\n\\f ]?|[\\u0020-\\u007e\\u0080-\\ud7ff\\ue000\\ufffd]|[\\ud800-\\udbff][\\udc00-\\udfff])|[\\n\\f])","g"),m=RegExp("^url\\([\\t\\n\\f ]*[\"']?|[\"']?[\\t\\n\\f ]*\\)$","gi");l=function(a){return a.replace(n,b)};k=function(b){b=(""+b).replace(/\r\n?/g,"\n").match(g)||[];for(var c=0,f=" ",k=0,n=b.length;k<n;++k){var t=l(b[k]),u=t.length,q=t.charCodeAt(0),t=34==q||39==q?a(t.substring(1,u-1),d):47==q&&1<u||"\\"==t||"--\x3e"==t||"\x3c!--"==t||"\ufeff"==
t||32>=q?" ":/url\(/i.test(t)?"url("+a(t.replace(m,""),e)+")":t;if(f!=t||" "!=t)b[c++]=f=t}b.length=c;return b}})();"undefined"!==typeof window&&(window.lexCss=k,window.decodeCss=l);var n=function(){function b(a){a=(""+a).match(m);return!a?f:new g(k(a[1]),k(a[2]),k(a[3]),k(a[4]),k(a[5]),k(a[6]),k(a[7]))}function a(b,e){return"string"==typeof b?encodeURI(b).replace(e,d):f}function d(b){b=b.charCodeAt(0);return"%"+"0123456789ABCDEF".charAt(b>>4&15)+"0123456789ABCDEF".charAt(b&15)}function e(b){if(b===
f)return f;b=b.replace(/(^|\/)\.(?:\/|$)/g,"$1").replace(/\/{2,}/g,"/");for(var a=l,d;(d=b.replace(a,"$1"))!=b;b=d);return b}function c(b,a){var d=b.T(),f=a.K();f?d.ga(a.j):f=a.X();f?d.da(a.n):f=a.Y();f?d.ea(a.k):f=a.$();var g=a.g,k=e(g);if(f)d.ca(a.V()),k=k&&k.replace(n,"");else if(f=!!g){if(47!==k.charCodeAt(0))var k=e(d.g||"").replace(n,""),l=k.lastIndexOf("/")+1,k=e((l?k.substring(0,l):"")+e(g)).replace(n,"")}else k=k&&k.replace(n,""),k!==g&&d.G(k);f?d.G(k):f=a.aa();f?d.O(a.l):f=a.Z();f&&d.fa(a.o);
return d}function g(b,a,d,e,c,f,k){this.j=b;this.n=a;this.k=d;this.h=e;this.g=c;this.l=f;this.o=k}function k(b){return"string"==typeof b&&0<b.length?b:f}var l=RegExp(/(\/|^)(?:[^./][^/]*|\.{2,}(?:[^./][^/]*)|\.{3,}[^/]*)\/\.\.(?:\/|$)/),n=/^(?:\.\.\/)*(?:\.\.$)?/;g.prototype.toString=function(){var b=[];f!==this.j&&b.push(this.j,":");f!==this.k&&(b.push("//"),f!==this.n&&b.push(this.n,"@"),b.push(this.k),f!==this.h&&b.push(":",this.h.toString()));f!==this.g&&b.push(this.g);f!==this.l&&b.push("?",
this.l);f!==this.o&&b.push("#",this.o);return b.join("")};g.prototype.T=function(){return new g(this.j,this.n,this.k,this.h,this.g,this.l,this.o)};g.prototype.W=function(){return this.j&&decodeURIComponent(this.j).toLowerCase()};g.prototype.ga=function(b){this.j=b?b:f};g.prototype.K=function(){return f!==this.j};g.prototype.da=function(b){this.n=b?b:f};g.prototype.X=function(){return f!==this.n};g.prototype.ea=function(b){this.k=b?b:f;this.G(this.g)};g.prototype.Y=function(){return f!==this.k};g.prototype.V=
function(){return this.h&&decodeURIComponent(this.h)};g.prototype.ca=function(b){if(b){b=Number(b);if(b!==(b&65535))throw Error("Bad port number "+b);this.h=""+b}else this.h=f};g.prototype.$=function(){return f!==this.h};g.prototype.U=function(){return this.g&&decodeURIComponent(this.g)};g.prototype.G=function(b){b?(b=""+b,this.g=!this.k||/^\//.test(b)?b:"/"+b):this.g=f};g.prototype.O=function(b){this.l=b?b:f};g.prototype.aa=function(){return f!==this.l};g.prototype.ba=function(b){if("object"===typeof b&&
!(b instanceof Array)&&(b instanceof Object||"[object Array]"!==Object.prototype.toString.call(b))){var a=[],d=-1,e;for(e in b){var c=b[e];"string"===typeof c&&(a[++d]=e,a[++d]=c)}b=a}for(var a=[],d="",f=0;f<b.length;)e=b[f++],c=b[f++],a.push(d,encodeURIComponent(e.toString())),d="\x26",c&&a.push("\x3d",encodeURIComponent(c.toString()));this.l=a.join("")};g.prototype.fa=function(b){this.o=b?b:f};g.prototype.Z=function(){return f!==this.o};var m=/^(?:([^:/?#]+):)?(?:\/\/(?:([^/?#]*)@)?([^/?#:@]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/,
t=/[#\/\?@]/g,u=/[\#\?]/g;g.parse=b;g.create=function(b,e,c,k,l,n,m){b=new g(a(b,t),a(e,t),"string"==typeof c?encodeURIComponent(c):f,0<k?k.toString():f,a(l,u),f,"string"==typeof m?encodeURIComponent(m):f);n&&("string"===typeof n?b.O(n.replace(/[^?&=0-9A-Za-z_\-~.%]/g,d)):b.ba(n));return b};g.N=c;g.ma=e;g.ha={ua:function(a){return/\.html$/.test(b(a).U())?"text/html":"application/javascript"},N:function(a,d){return a?c(b(a),b(d)).toString():""+d}};return g}();"undefined"!==typeof window&&(window.URI=
n);var m=a,p=a,r=a,s=a;(function(){function b(a){return"string"===typeof a?'url("'+a.replace(A,g)+'")':'url("about:blank")'}function g(b){return B[b]}function k(b,a){return b?n.ha.N(b,a):a}function u(b,a,d){if(!d)return f;var e=(""+b).match(E);return e&&(!e[1]||G.test(e[1]))?d(b,a):f}function D(b){return b.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/,"")}var A=/[\n\f\r\"\'()*<>]/g,B={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a",
"\x3c":"%3c","\x3e":"%3e"},E=/^(?:([^:/?# ]+):)?/,G=/^(?:https?|mailto|data)$/i;m=function(){var a={};return function O(d,c,f,g,n){d=D(d);var m=e[d];if(!m||"object"!==typeof m)c.length=0;else{for(var t=m.cssPropBits,q=t&80,p=t&1536,z=NaN,r=0,s=0;r<c.length;++r){var F=c[r].toLowerCase(),E=F.charCodeAt(0),G,B,H,A,Q,ga;if(32===E)F="";else if(34===E)F=16===q?f?b(u(k(g,l(c[r].substring(1,F.length-1))),d,f)):"":t&8&&!(q&q-1)?F:"";else if("inherit"!==F){if(Q=m.cssLitGroup){var ca;if(!(ca=m.cssLitMap)){ca=
{};for(var $=Q.length;0<=--$;)for(var fa=Q[$],ia=fa.length;0<=--ia;)ca[fa[ia]]=a;ca=m.cssLitMap=ca}Q=ca}else Q=a;if(!(ga=Q,ga[D(F)]===a))if(35===E&&/^#(?:[0-9a-f]{3}){1,2}$/.test(F))F=t&2?F:"";else if(48<=E&&57>=E)F=t&1?F:"";else if(G=F.charCodeAt(1),B=F.charCodeAt(2),H=48<=G&&57>=G,A=48<=B&&57>=B,43===E&&(H||46===G&&A))F=t&1?(H?"":"0")+F.substring(1):"";else if(45===E&&(H||46===G&&A))F=t&4?(H?"-":"-0")+F.substring(1):t&1?"0":"";else if(46===E&&H)F=t&1?"0"+F:"";else if('url("'===F.substring(0,5))F=
f&&t&16?b(u(k(g,c[r].substring(5,F.length-2)),d,f)):"";else if("("===F.charAt(F.length-1))a:{Q=c;ca=r;F=1;$=ca+1;for(E=Q.length;$<E&&F;)fa=Q[$++],F+=")"===fa?-1:/^[^"']*\($/.test(fa);if(!F){F=Q[ca].toLowerCase();E=D(F);Q=Q.splice(ca,$-ca,"");ca=m.cssFns;$=0;for(fa=ca.length;$<fa;++$)if(ca[$].substring(0,E.length)==E){Q[0]=Q[Q.length-1]="";O(ca[$],Q,f,g);F=F+Q.join(" ")+")";break a}}F=""}else F=p&&/^-?[a-z_][\w\-]*$/.test(F)&&!/__$/.test(F)?n&&512===p?c[r]+n:1024===p&&e[F]&&"number"===typeof e[F].oa?
F:"":/^\w+$/.test(F)&&64===q&&t&8?z+1===s?(c[z]=c[z].substring(0,c[z].length-1)+" "+F+'"',""):(z=s,'"'+F+'"'):""}F&&(c[s++]=F)}1===s&&'url("about:blank")'===c[0]&&(s=0);c.length=s}}}();var F=RegExp("^(active|after|before|blank|checked|default|disabled|drop|empty|enabled|first|first-child|first-letter|first-line|first-of-type|fullscreen|focus|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|user-error|valid|visited)$"),
H={};H["\x3e"]=H["+"]=H["~"]=H;p=function(b,a,e){function g(u,q){function v(e,f,g){var k,m,u,q,z,y=c;k="";if(e<f)if(z=b[e],"*"===z)++e,k=z;else if(/^[a-zA-Z]/.test(z)&&(m=n(z.toLowerCase(),[])))"tagName"in m&&(z=m.tagName),++e,k=z;for(q=u=m="";y&&e<f;++e)if(z=b[e],"#"===z.charAt(0))/^#_|__$|[^\w#:\-]/.test(z)?y=d:m+=z+l;else if("."===z)++e<f&&/^[0-9A-Za-z:_\-]+$/.test(z=b[e])&&!/^_|__$/.test(z)?m+="."+z:y=d;else if(e+1<f&&"["===b[e]){++e;var x=b[e++].toLowerCase();z=t.m[k+"::"+x];z!==+z&&(z=t.m["*::"+
x]);var r;a.ia?(r=a.ia(k,x),"string"!==typeof r&&(y=d,r=x),y&&z!==+z&&(z=t.d.NONE)):(r=x,z!==+z&&(y=d));var s=x="",E=d;/^[~^$*|]?=$/.test(b[e])&&(x=b[e++],s=b[e++],/^[0-9A-Za-z:_\-]+$/.test(s)?s='"'+s+'"':"]"===s&&(s='""',--e),/^"([^\"\\]|\\.)*"$/.test(s)||(y=d),(E="i"===b[e])&&++e);"]"!==b[e]&&(++e,y=d);switch(z){case t.d.CLASSES:case t.d.LOCAL_NAME:case t.d.NONE:break;case t.d.GLOBAL_NAME:case t.d.ID:case t.d.IDREF:("\x3d"===x||"~\x3d"===x||"$\x3d"===x)&&'""'!=s&&!E?s='"'+s.substring(1,s.length-
1)+l+'"':"|\x3d"===x||""===x||(y=d);break;case t.d.URI:case t.d.URI_FRAGMENT:""!==x&&(y=d);break;default:y=d}y&&(u+="["+r.replace(/[^\w-]/g,"\\$\x26")+x+s+(E?" i]":"]"))}else if(e<f&&":"===b[e])if(z=b[++e],F.test(z))q+=":"+z;else break;else break;e!==f&&(y=d);y&&(e=(k+m).replace(/[^ .*#\w-]/g,"\\$\x26")+u+q+g)&&p.push(e);return y}" "===b[u]&&++u;q-1!==u&&" "===b[q]&&--q;for(var p=[],z=u,y=c,x=u;y&&x<q;++x){var r=b[x];if(H[r]===H||" "===r)v(z,x,r)?z=x+1:y=d}v(z,q,"")||(y=d);return y?(p.length&&(z=
p.join(""),k!==f&&(z="."+k+" "+z),m.push(z)),c):!e||e(b.slice(u,q))}var k=a.na,l=a.L,n=a.Aa,m=[],u=0,q,v=0,p;for(q=0;q<b.length;++q)if(p=b[q],"("==p||"["==p?(++v,c):")"==p||"]"==p?(v&&--v,c):!(" "==b[q]&&(v||H[b[q-1]]===H||H[b[q+1]]===H)))b[u++]=b[q];b.length=u;u=b.length;for(q=v=0;q<u;++q)if(","===b[q]){if(!g(v,q))return f;v=q+1}return!g(v,u)?f:m};(function(){var b=/^\w/,a=RegExp("^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*))*$",
"i");s=function(d){d=d.slice();for(var e=d.length,c=0,f=0;f<e;++f){var g=d[f];" "!=g&&(d[c++]=g)}d.length=c;d=d.join(" ");return!d.length?"":!a.test(d)?"not all":b.test(d)?d:"not all , "+d}})();(function(){function b(a){var d=/^\s*[']([^']*)[']\s*$/,e=/^\s*url\s*[(]["]([^"]*)["][)]\s*$/,c=/^\s*url\s*[(][']([^']*)['][)]\s*$/,g=/^\s*url\s*[(]([^)]*)[)]\s*$/,k;return(k=/^\s*["]([^"]*)["]\s*$/.exec(a))||(k=d.exec(a))||(k=e.exec(a))||(k=c.exec(a))||(k=g.exec(a))?k[1]:f}function e(g,l,n,t,v,z,r){function F(){D=
B.length&&B[B.length-1]===f}var E=a,G=r||[0],B=[],D=d;q(l,{startStylesheet:function(){E=[]},endStylesheet:function(){},startAtrule:function(a,d){if(D)a=f;else if("@media"===a)E.push("@media"," ",s(d));else if("@keyframes"===a||"@-webkit-keyframes"===a){var c=d[0];1===d.length&&!/__$|[^\w\-]/.test(c)?(E.push(a," ",c+n.L),a="@keyframes"):a=f}else if("@import"===a&&0<d.length)if(a=f,"function"===typeof z){var l=s(d.slice(1));if("not all"!==l){++G[0];var m=[];E.push(m);var q=u(k(g,b(d[0])),function(b){var a=
e(q,b.qa,n,t,v,z,G);--G[0];b=l?{toString:function(){return"@media "+l+" {"+a.result+"}"}}:a.result;m[0]=b;z(b,!!G[0])},v)}}else window.console&&window.console.log("@import "+d.join(" ")+" elided");D=!a;B.push(a)},endAtrule:function(){B.pop();D||E.push(";");F()},startBlock:function(){D||E.push("{")},endBlock:function(){D||(E.push("}"),D=c)},startRuleset:function(b){if(!D){var d=a;"@keyframes"===B[B.length-1]?(d=b.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i),
D=!d,d&&(d=d[0].replace(/ +/g,""))):(b=p(b,n),!b||!b.length?D=c:d=b.join(", "));D||E.push(d,"{")}B.push(f)},endRuleset:function(){B.pop();D||E.push("}");F()},declaration:function(b,a){if(!D){var e=d,f=a.length;2<=f&&"!"===a[f-2]&&"important"===a[f-1].toLowerCase()&&(e=c,a.length-=2);m(b,a,t,g,n.L);a.length&&E.push(b,":",a.join(" "),e?" !important;":";")}}});return{result:{toString:function(){return E.join("")}},va:!!G[0]}}r=function(b,d,c,f){return e(b,d,c,f,a,a).result.toString()}})()})();"undefined"!==
typeof window&&(window.sanitizeCssProperty=m,window.sanitizeCssSelectorList=p,window.sanitizeStylesheet=r,window.sanitizeMediaQuery=s);var q,u;(function(){function b(d,e,c,f,g){for(var k=e++;e<c&&"{"!==d[e]&&";"!==d[e];)++e;if(e<c&&(g||";"===d[e])){g=k+1;var l=e;g<c&&" "===d[g]&&++g;l>g&&" "===d[l-1]&&--l;f.startAtrule&&f.startAtrule(d[k].toLowerCase(),d.slice(g,l));e="{"===d[e]?a(d,e,c,f):e+1;f.endAtrule&&f.endAtrule()}return e}function a(c,f,g,k){++f;for(k.startBlock&&k.startBlock();f<g;){var l=
c[f].charAt(0);if("}"==l){++f;break}f=" "===l||";"===l?f+1:"@"===l?b(c,f,g,k,d):"{"===l?a(c,f,g,k):e(c,f,g,k)}k.endBlock&&k.endBlock();return f}function e(b,a,d,g){var k=a,n=f(b,a,d,c);if(0>n)return n=~n,n===k?n+1:n;var m=b[n];if("{"!==m)return n===k?n+1:n;a=n+1;n>k&&" "===b[n-1]&&--n;for(g.startRuleset&&g.startRuleset(b.slice(k,n));a<d;){m=b[a];if("}"===m){++a;break}a=" "===m?a+1:l(b,a,d,g)}g.endRuleset&&g.endRuleset();return a}function f(b,a,d,e){for(var c,g=[],k=-1;a<d;++a)if(c=b[a].charAt(0),
"["===c||"("===c)g[++k]=c;else if("]"===c&&"["===g[k]||")"===c&&"("===g[k])--k;else if("{"===c||"}"===c||";"===c||"@"===c||":"===c&&!e)break;0<=k&&(a=~(a+1));return a}function g(b,a,d){for(;a<d&&";"!==b[a]&&"}"!==b[a];)++a;return a<d&&";"===b[a]?a+1:a}function l(b,a,e,c){var k=b[a++];if(!n.test(k))return g(b,a,e);a<e&&" "===b[a]&&++a;if(a==e||":"!==b[a])return g(b,a,e);++a;a<e&&" "===b[a]&&++a;var m=f(b,a,e,d);if(0>m)m=~m;else{for(var t=[],u=0,q=a;q<m;++q)a=b[q]," "!==a&&(t[u++]=a);if(m<e){do{a=b[m];
if(";"===a||"}"===a)break;u=0}while(++m<e);";"===a&&++m}u&&c.declaration&&c.declaration(k.toLowerCase(),t)}return m}q=function(a,d){var f=k(a);d.startStylesheet&&d.startStylesheet();for(var g=0,l=f.length;g<l;)g=" "===f[g]?g+1:g<l?"@"===f[g].charAt(0)?b(f,g,l,d,c):e(f,g,l,d):g;d.endStylesheet&&d.endStylesheet()};var n=/^-?[a-z]/i;u=function(b,a){for(var d=k(b),e=0,c=d.length;e<c;)e=" "!==d[e]?l(d,e,c,a):e+1}})();"undefined"!==typeof window&&(window.parseCssStylesheet=q,window.parseCssDeclarations=
u);var t={d:{NONE:0,URI:1,URI_FRAGMENT:11,SCRIPT:2,STYLE:3,HTML:12,ID:4,IDREF:5,IDREFS:6,GLOBAL_NAME:7,LOCAL_NAME:8,CLASSES:9,FRAME_TARGET:10,MEDIA_QUERY:13}};t.atype=t.d;t.m={"*::class":9,"*::dir":0,"*::draggable":0,"*::hidden":0,"*::id":4,"*::inert":0,"*::itemprop":0,"*::itemref":6,"*::itemscope":0,"*::lang":0,"*::onblur":2,"*::onchange":2,"*::onclick":2,"*::ondblclick":2,"*::onerror":2,"*::onfocus":2,"*::onkeydown":2,"*::onkeypress":2,"*::onkeyup":2,"*::onload":2,"*::onmousedown":2,"*::onmousemove":2,
"*::onmouseout":2,"*::onmouseover":2,"*::onmouseup":2,"*::onreset":2,"*::onscroll":2,"*::onselect":2,"*::onsubmit":2,"*::ontouchcancel":2,"*::ontouchend":2,"*::ontouchenter":2,"*::ontouchleave":2,"*::ontouchmove":2,"*::ontouchstart":2,"*::onunload":2,"*::spellcheck":0,"*::style":3,"*::tabindex":0,"*::title":0,"*::translate":0,"a::accesskey":0,"a::coords":0,"a::href":1,"a::hreflang":0,"a::name":7,"a::onblur":2,"a::onfocus":2,"a::shape":0,"a::target":10,"a::type":0,"area::accesskey":0,"area::alt":0,
"area::coords":0,"area::href":1,"area::nohref":0,"area::onblur":2,"area::onfocus":2,"area::shape":0,"area::target":10,"audio::controls":0,"audio::loop":0,"audio::mediagroup":5,"audio::muted":0,"audio::preload":0,"audio::src":1,"bdo::dir":0,"blockquote::cite":1,"br::clear":0,"button::accesskey":0,"button::disabled":0,"button::name":8,"button::onblur":2,"button::onfocus":2,"button::type":0,"button::value":0,"canvas::height":0,"canvas::width":0,"caption::align":0,"col::align":0,"col::char":0,"col::charoff":0,
"col::span":0,"col::valign":0,"col::width":0,"colgroup::align":0,"colgroup::char":0,"colgroup::charoff":0,"colgroup::span":0,"colgroup::valign":0,"colgroup::width":0,"command::checked":0,"command::command":5,"command::disabled":0,"command::icon":1,"command::label":0,"command::radiogroup":0,"command::type":0,"data::value":0,"del::cite":1,"del::datetime":0,"details::open":0,"dir::compact":0,"div::align":0,"dl::compact":0,"fieldset::disabled":0,"font::color":0,"font::face":0,"font::size":0,"form::accept":0,
"form::action":1,"form::autocomplete":0,"form::enctype":0,"form::method":0,"form::name":7,"form::novalidate":0,"form::onreset":2,"form::onsubmit":2,"form::target":10,"h1::align":0,"h2::align":0,"h3::align":0,"h4::align":0,"h5::align":0,"h6::align":0,"hr::align":0,"hr::noshade":0,"hr::size":0,"hr::width":0,"iframe::align":0,"iframe::frameborder":0,"iframe::height":0,"iframe::marginheight":0,"iframe::marginwidth":0,"iframe::width":0,"img::align":0,"img::alt":0,"img::border":0,"img::height":0,"img::hspace":0,
"img::ismap":0,"img::name":7,"img::src":1,"img::usemap":11,"img::vspace":0,"img::width":0,"input::accept":0,"input::accesskey":0,"input::align":0,"input::alt":0,"input::autocomplete":0,"input::checked":0,"input::disabled":0,"input::inputmode":0,"input::ismap":0,"input::list":5,"input::max":0,"input::maxlength":0,"input::min":0,"input::multiple":0,"input::name":8,"input::onblur":2,"input::onchange":2,"input::onfocus":2,"input::onselect":2,"input::pattern":0,"input::placeholder":0,"input::readonly":0,
"input::required":0,"input::size":0,"input::src":1,"input::step":0,"input::type":0,"input::usemap":11,"input::value":0,"ins::cite":1,"ins::datetime":0,"label::accesskey":0,"label::for":5,"label::onblur":2,"label::onfocus":2,"legend::accesskey":0,"legend::align":0,"li::type":0,"li::value":0,"map::name":7,"menu::compact":0,"menu::label":0,"menu::type":0,"meter::high":0,"meter::low":0,"meter::max":0,"meter::min":0,"meter::value":0,"ol::compact":0,"ol::reversed":0,"ol::start":0,"ol::type":0,"optgroup::disabled":0,
"optgroup::label":0,"option::disabled":0,"option::label":0,"option::selected":0,"option::value":0,"output::for":6,"output::name":8,"p::align":0,"pre::width":0,"progress::max":0,"progress::min":0,"progress::value":0,"q::cite":1,"select::autocomplete":0,"select::disabled":0,"select::multiple":0,"select::name":8,"select::onblur":2,"select::onchange":2,"select::onfocus":2,"select::required":0,"select::size":0,"source::type":0,"table::align":0,"table::bgcolor":0,"table::border":0,"table::cellpadding":0,
"table::cellspacing":0,"table::frame":0,"table::rules":0,"table::summary":0,"table::width":0,"tbody::align":0,"tbody::char":0,"tbody::charoff":0,"tbody::valign":0,"td::abbr":0,"td::align":0,"td::axis":0,"td::bgcolor":0,"td::char":0,"td::charoff":0,"td::colspan":0,"td::headers":6,"td::height":0,"td::nowrap":0,"td::rowspan":0,"td::scope":0,"td::valign":0,"td::width":0,"textarea::accesskey":0,"textarea::autocomplete":0,"textarea::cols":0,"textarea::disabled":0,"textarea::inputmode":0,"textarea::name":8,
"textarea::onblur":2,"textarea::onchange":2,"textarea::onfocus":2,"textarea::onselect":2,"textarea::placeholder":0,"textarea::readonly":0,"textarea::required":0,"textarea::rows":0,"textarea::wrap":0,"tfoot::align":0,"tfoot::char":0,"tfoot::charoff":0,"tfoot::valign":0,"th::abbr":0,"th::align":0,"th::axis":0,"th::bgcolor":0,"th::char":0,"th::charoff":0,"th::colspan":0,"th::headers":6,"th::height":0,"th::nowrap":0,"th::rowspan":0,"th::scope":0,"th::valign":0,"th::width":0,"thead::align":0,"thead::char":0,
"thead::charoff":0,"thead::valign":0,"tr::align":0,"tr::bgcolor":0,"tr::char":0,"tr::charoff":0,"tr::valign":0,"track::default":0,"track::kind":0,"track::label":0,"track::srclang":0,"ul::compact":0,"ul::type":0,"video::controls":0,"video::height":0,"video::loop":0,"video::mediagroup":5,"video::muted":0,"video::poster":1,"video::preload":0,"video::src":1,"video::width":0};t.ATTRIBS=t.m;t.c={OPTIONAL_ENDTAG:1,EMPTY:2,CDATA:4,RCDATA:8,UNSAFE:16,FOLDABLE:32,SCRIPT:64,STYLE:128,VIRTUALIZED:256};t.eflags=
t.c;t.f={a:0,abbr:0,acronym:0,address:0,applet:272,area:2,article:0,aside:0,audio:0,b:0,base:274,basefont:274,bdi:0,bdo:0,big:0,blockquote:0,body:305,br:2,button:0,canvas:0,caption:0,center:0,cite:0,code:0,col:2,colgroup:1,command:2,data:0,datalist:0,dd:1,del:0,details:0,dfn:0,dialog:272,dir:0,div:0,dl:0,dt:1,em:0,fieldset:0,figcaption:0,figure:0,font:0,footer:0,form:0,frame:274,frameset:272,h1:0,h2:0,h3:0,h4:0,h5:0,h6:0,head:305,header:0,hgroup:0,hr:2,html:305,i:0,iframe:4,img:2,input:2,ins:0,isindex:274,
kbd:0,keygen:274,label:0,legend:0,li:1,link:274,map:0,mark:0,menu:0,meta:274,meter:0,nav:0,nobr:0,noembed:276,noframes:276,noscript:276,object:272,ol:0,optgroup:0,option:1,output:0,p:1,param:274,pre:0,progress:0,q:0,s:0,samp:0,script:84,section:0,select:0,small:0,source:2,span:0,strike:0,strong:0,style:148,sub:0,summary:0,sup:0,table:0,tbody:1,td:1,textarea:8,tfoot:1,th:1,thead:1,time:0,title:280,tr:1,track:2,tt:0,u:0,ul:0,"var":0,video:0,wbr:2};t.ELEMENTS=t.f;t.Q={a:"HTMLAnchorElement",abbr:"HTMLElement",
acronym:"HTMLElement",address:"HTMLElement",applet:"HTMLAppletElement",area:"HTMLAreaElement",article:"HTMLElement",aside:"HTMLElement",audio:"HTMLAudioElement",b:"HTMLElement",base:"HTMLBaseElement",basefont:"HTMLBaseFontElement",bdi:"HTMLElement",bdo:"HTMLElement",big:"HTMLElement",blockquote:"HTMLQuoteElement",body:"HTMLBodyElement",br:"HTMLBRElement",button:"HTMLButtonElement",canvas:"HTMLCanvasElement",caption:"HTMLTableCaptionElement",center:"HTMLElement",cite:"HTMLElement",code:"HTMLElement",
col:"HTMLTableColElement",colgroup:"HTMLTableColElement",command:"HTMLCommandElement",data:"HTMLElement",datalist:"HTMLDataListElement",dd:"HTMLElement",del:"HTMLModElement",details:"HTMLDetailsElement",dfn:"HTMLElement",dialog:"HTMLDialogElement",dir:"HTMLDirectoryElement",div:"HTMLDivElement",dl:"HTMLDListElement",dt:"HTMLElement",em:"HTMLElement",fieldset:"HTMLFieldSetElement",figcaption:"HTMLElement",figure:"HTMLElement",font:"HTMLFontElement",footer:"HTMLElement",form:"HTMLFormElement",frame:"HTMLFrameElement",
frameset:"HTMLFrameSetElement",h1:"HTMLHeadingElement",h2:"HTMLHeadingElement",h3:"HTMLHeadingElement",h4:"HTMLHeadingElement",h5:"HTMLHeadingElement",h6:"HTMLHeadingElement",head:"HTMLHeadElement",header:"HTMLElement",hgroup:"HTMLElement",hr:"HTMLHRElement",html:"HTMLHtmlElement",i:"HTMLElement",iframe:"HTMLIFrameElement",img:"HTMLImageElement",input:"HTMLInputElement",ins:"HTMLModElement",isindex:"HTMLUnknownElement",kbd:"HTMLElement",keygen:"HTMLKeygenElement",label:"HTMLLabelElement",legend:"HTMLLegendElement",
li:"HTMLLIElement",link:"HTMLLinkElement",map:"HTMLMapElement",mark:"HTMLElement",menu:"HTMLMenuElement",meta:"HTMLMetaElement",meter:"HTMLMeterElement",nav:"HTMLElement",nobr:"HTMLElement",noembed:"HTMLElement",noframes:"HTMLElement",noscript:"HTMLElement",object:"HTMLObjectElement",ol:"HTMLOListElement",optgroup:"HTMLOptGroupElement",option:"HTMLOptionElement",output:"HTMLOutputElement",p:"HTMLParagraphElement",param:"HTMLParamElement",pre:"HTMLPreElement",progress:"HTMLProgressElement",q:"HTMLQuoteElement",
s:"HTMLElement",samp:"HTMLElement",script:"HTMLScriptElement",section:"HTMLElement",select:"HTMLSelectElement",small:"HTMLElement",source:"HTMLSourceElement",span:"HTMLSpanElement",strike:"HTMLElement",strong:"HTMLElement",style:"HTMLStyleElement",sub:"HTMLElement",summary:"HTMLElement",sup:"HTMLElement",table:"HTMLTableElement",tbody:"HTMLTableSectionElement",td:"HTMLTableDataCellElement",textarea:"HTMLTextAreaElement",tfoot:"HTMLTableSectionElement",th:"HTMLTableHeaderCellElement",thead:"HTMLTableSectionElement",
time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"HTMLTrackElement",tt:"HTMLElement",u:"HTMLElement",ul:"HTMLUListElement","var":"HTMLElement",video:"HTMLVideoElement",wbr:"HTMLElement"};t.ELEMENT_DOM_INTERFACES=t.Q;t.P={NOT_LOADED:0,SAME_DOCUMENT:1,NEW_DOCUMENT:2};t.ueffects=t.P;t.J={"a::href":2,"area::href":2,"audio::src":1,"blockquote::cite":0,"command::icon":1,"del::cite":0,"form::action":2,"img::src":1,"input::src":1,"ins::cite":0,"q::cite":0,"video::poster":1,"video::src":1};
t.URIEFFECTS=t.J;t.M={UNSANDBOXED:2,SANDBOXED:1,DATA:0};t.ltypes=t.M;t.I={"a::href":2,"area::href":2,"audio::src":2,"blockquote::cite":2,"command::icon":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2,"video::poster":1,"video::src":2};t.LOADERTYPES=t.I;"undefined"!==typeof window&&(window.html4=t);b=function(b){function e(b,a){var d;if(P.hasOwnProperty(a))d=P[a];else{var c=a.match(M);d=c?String.fromCharCode(parseInt(c[1],10)):(c=a.match(U))?String.fromCharCode(parseInt(c[1],
16)):K&&J.test(a)?(K.innerHTML="\x26"+a+";",c=K.textContent,P[a]=c):"\x26"+a+";"}return d}function g(b){return b.replace(Z,e)}function k(b){return(""+b).replace(da,"\x26amp;").replace(Y,"\x26lt;").replace(aa,"\x26gt;").replace(W,"\x26#34;")}function l(b){return b.replace(V,"\x26amp;$1").replace(Y,"\x26lt;").replace(aa,"\x26gt;")}function m(b){var a={z:b.z||b.cdata,A:b.A||b.comment,B:b.B||b.endDoc,t:b.t||b.endTag,e:b.e||b.pcdata,F:b.F||b.rcdata,H:b.H||b.startDoc,w:b.w||b.startTag};return function(b,
e){var c,g=/(<\/|<\!--|<[!?]|[&<>])/g;c=b+"";if(ga)c=c.split(g);else{for(var k=[],l=0,n;(n=g.exec(c))!==f;)k.push(c.substring(l,n.index)),k.push(n[0]),l=n.index+n[0].length;k.push(c.substring(l));c=k}u(a,c,0,{r:d,C:d},e)}}function t(b,a,d,e,c){return function(){u(b,a,d,e,c)}}function u(a,d,e,f,g){try{a.H&&0==e&&a.H(g);for(var k,l,n,m=d.length;e<m;){var z=d[e++],y=d[e];switch(z){case "\x26":ea.test(y)?(a.e&&a.e("\x26"+y,g,$,t(a,d,e,f,g)),e++):a.e&&a.e("\x26amp;",g,$,t(a,d,e,f,g));break;case "\x3c/":if(k=
/^([-\w:]+)[^\'\"]*/.exec(y))if(k[0].length===y.length&&"\x3e"===d[e+1])e+=2,n=k[1].toLowerCase(),a.t&&a.t(n,g,$,t(a,d,e,f,g));else{var x=d,r=e,s=a,E=g,D=$,A=f,U=p(x,r);U?(s.t&&s.t(U.name,E,D,t(s,x,r,A,E)),e=U.next):e=x.length}else a.e&&a.e("\x26lt;/",g,$,t(a,d,e,f,g));break;case "\x3c":if(k=/^([-\w:]+)\s*\/?/.exec(y))if(k[0].length===y.length&&"\x3e"===d[e+1]){e+=2;n=k[1].toLowerCase();a.w&&a.w(n,[],g,$,t(a,d,e,f,g));var H=b.f[n];H&ca&&(e=q(d,{name:n,next:e,c:H},a,g,$,f))}else{var x=d,r=a,s=g,E=
$,D=f,Q=p(x,e);Q?(r.w&&r.w(Q.name,Q.R,s,E,t(r,x,Q.next,D,s)),e=Q.c&ca?q(x,Q,r,s,E,D):Q.next):e=x.length}else a.e&&a.e("\x26lt;",g,$,t(a,d,e,f,g));break;case "\x3c!--":if(!f.C){for(l=e+1;l<m&&!("\x3e"===d[l]&&/--$/.test(d[l-1]));l++);if(l<m){if(a.A){var J=d.slice(e,l).join("");a.A(J.substr(0,J.length-2),g,$,t(a,d,l+1,f,g))}e=l+1}else f.C=c}f.C&&a.e&&a.e("\x26lt;!--",g,$,t(a,d,e,f,g));break;case "\x3c!":if(/^\w/.test(y)){if(!f.r){for(l=e+1;l<m&&"\x3e"!==d[l];l++);l<m?e=l+1:f.r=c}f.r&&a.e&&a.e("\x26lt;!",
g,$,t(a,d,e,f,g))}else a.e&&a.e("\x26lt;!",g,$,t(a,d,e,f,g));break;case "\x3c?":if(!f.r){for(l=e+1;l<m&&"\x3e"!==d[l];l++);l<m?e=l+1:f.r=c}f.r&&a.e&&a.e("\x26lt;?",g,$,t(a,d,e,f,g));break;case "\x3e":a.e&&a.e("\x26gt;",g,$,t(a,d,e,f,g));break;case "":break;default:a.e&&a.e(z,g,$,t(a,d,e,f,g))}}a.B&&a.B(g)}catch(K){if(K!==$)throw K;}}function q(a,d,e,c,f,g){var k=a.length;fa.hasOwnProperty(d.name)||(fa[d.name]=RegExp("^"+d.name+"(?:[\\s\\/]|$)","i"));for(var n=fa[d.name],m=d.next,u=d.next+1;u<k&&!("\x3c/"===
a[u-1]&&n.test(a[u]));u++);u<k&&(u-=1);k=a.slice(m,u).join("");if(d.c&b.c.CDATA)e.z&&e.z(k,c,f,t(e,a,u,g,c));else if(d.c&b.c.RCDATA)e.F&&e.F(l(k),c,f,t(e,a,u,g,c));else throw Error("bug");return u}function p(a,e){var f=/^([-\w:]+)/.exec(a[e]),k={};k.name=f[1].toLowerCase();k.c=b.f[k.name];for(var l=a[e].substr(f[0].length),n=e+1,m=a.length;n<m&&"\x3e"!==a[n];n++)l+=a[n];if(!(m<=n)){for(var t=[];""!==l;)if(f=Q.exec(l))if(f[4]&&!f[5]||f[6]&&!f[7]){for(var f=f[4]||f[6],u=d,l=[l,a[n++]];n<m;n++){if(u){if("\x3e"===
a[n])break}else 0<=a[n].indexOf(f)&&(u=c);l.push(a[n])}if(m<=n)break;l=l.join("")}else{var u=f[1].toLowerCase(),q;if(f[2]){q=f[3];var z=q.charCodeAt(0);if(34===z||39===z)q=q.substr(1,q.length-2);q=g(q.replace(S,""))}else q="";t.push(u,q);l=l.substr(f[0].length)}else l=l.replace(/^[\s\S][^a-z\s]*/,"");k.R=t;k.next=n+1;return k}}function r(e){function c(b,a){l||a.push(b)}var g,l;return m({startDoc:function(){g=[];l=d},startTag:function(d,c,n){if(!l&&b.f.hasOwnProperty(d)){var m=b.f[d];if(!(m&b.c.FOLDABLE)){var t=
e(d,c);if(t){if("object"!==typeof t)throw Error("tagPolicy did not return object (old API?)");if("attribs"in t)c=t.attribs;else throw Error("tagPolicy gave no attribs");var u;"tagName"in t?(u=t.tagName,t=b.f[u]):(u=d,t=m);if(m&b.c.OPTIONAL_ENDTAG){var q=g[g.length-1];q&&q.D===d&&(q.v!==u||d!==u)&&n.push("\x3c/",q.v,"\x3e")}m&b.c.EMPTY||g.push({D:d,v:u});n.push("\x3c",u);d=0;for(q=c.length;d<q;d+=2){var p=c[d],z=c[d+1];z!==f&&z!==a&&n.push(" ",p,'\x3d"',k(z),'"')}n.push("\x3e");m&b.c.EMPTY&&!(t&b.c.EMPTY)&&
n.push("\x3c/",u,"\x3e")}else l=!(m&b.c.EMPTY)}}},endTag:function(a,e){if(l)l=d;else if(b.f.hasOwnProperty(a)){var c=b.f[a];if(!(c&(b.c.EMPTY|b.c.FOLDABLE))){if(c&b.c.OPTIONAL_ENDTAG)for(c=g.length;0<=--c;){var f=g[c].D;if(f===a)break;if(!(b.f[f]&b.c.OPTIONAL_ENDTAG))return}else for(c=g.length;0<=--c&&g[c].D!==a;);if(!(0>c)){for(f=g.length;--f>c;){var k=g[f].v;b.f[k]&b.c.OPTIONAL_ENDTAG||e.push("\x3c/",k,"\x3e")}c<g.length&&(a=g[c].v);g.length=c;e.push("\x3c/",a,"\x3e")}}}},pcdata:c,rcdata:c,cdata:c,
endDoc:function(b){for(;g.length;g.length--)b.push("\x3c/",g[g.length-1].v,"\x3e")}})}function s(b,a,d,e,c){if(!c)return f;try{var g=n.parse(""+b);if(g&&(!g.K()||ia.test(g.W()))){var k=c(g,a,d,e);return k?k.toString():f}}catch(l){}return f}function L(b,a,d,e,c){d||b(a+" removed",{S:"removed",tagName:a});if(e!==c){var f="changed";e&&!c?f="removed":!e&&c&&(f="added");b(a+"."+d+" "+f,{S:f,tagName:a,la:d,oldValue:e,newValue:c})}}function O(b,a,d){a=a+"::"+d;if(b.hasOwnProperty(a))return b[a];a="*::"+
d;if(b.hasOwnProperty(a))return b[a]}function T(d,e,c,g,k){for(var l=0;l<e.length;l+=2){var n=e[l],m=e[l+1],t=m,u=f,q;if((q=d+"::"+n,b.m.hasOwnProperty(q))||(q="*::"+n,b.m.hasOwnProperty(q)))u=b.m[q];if(u!==f)switch(u){case b.d.NONE:break;case b.d.SCRIPT:m=f;k&&L(k,d,n,t,m);break;case b.d.STYLE:if("undefined"===typeof C){m=f;k&&L(k,d,n,t,m);break}var p=[];C(m,{declaration:function(a,d){var e=a.toLowerCase();N(e,d,c?function(a){return s(a,b.P.ja,b.M.ka,{TYPE:"CSS",CSS_PROP:e},c)}:f);d.length&&p.push(e+
": "+d.join(" "))}});m=0<p.length?p.join(" ; "):f;k&&L(k,d,n,t,m);break;case b.d.ID:case b.d.IDREF:case b.d.IDREFS:case b.d.GLOBAL_NAME:case b.d.LOCAL_NAME:case b.d.CLASSES:m=g?g(m):m;k&&L(k,d,n,t,m);break;case b.d.URI:m=s(m,O(b.J,d,n),O(b.I,d,n),{TYPE:"MARKUP",XML_ATTR:n,XML_TAG:d},c);k&&L(k,d,n,t,m);break;case b.d.URI_FRAGMENT:m&&"#"===m.charAt(0)?(m=m.substring(1),m=g?g(m):m,m!==f&&m!==a&&(m="#"+m)):m=f;k&&L(k,d,n,t,m);break;default:m=f,k&&L(k,d,n,t,m)}else m=f,k&&L(k,d,n,t,m);e[l+1]=m}return e}
function X(d,e,c){return function(f,g){if(b.f[f]&b.c.UNSAFE)c&&L(c,f,a,a,a);else return{attribs:T(f,g,d,e,c)}}}function R(b,a){var d=[];r(a)(b,d);return d.join("")}var C,N;"undefined"!==typeof window&&(C=window.parseCssDeclarations,N=window.sanitizeCssProperty);var P={lt:"\x3c",LT:"\x3c",gt:"\x3e",GT:"\x3e",amp:"\x26",AMP:"\x26",quot:'"',apos:"'",nbsp:"\u00a0"},M=/^#(\d+)$/,U=/^#x([0-9A-Fa-f]+)$/,J=/^[A-Za-z][A-za-z0-9]+$/,K="undefined"!==typeof window&&window.document?window.document.createElement("textarea"):
f,S=/\0/g,Z=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,ea=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,da=/&/g,V=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,Y=/[<]/g,aa=/>/g,W=/\"/g,Q=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,ga=3==="a,b".split(/(,)/).length,ca=b.c.CDATA|b.c.RCDATA,$={},fa={},ia=/^(?:https?|mailto|data)$/i,ba={};ba.pa=ba.escapeAttrib=k;ba.ra=ba.makeHtmlSanitizer=r;ba.sa=ba.makeSaxParser=m;ba.ta=ba.makeTagPolicy=X;ba.wa=ba.normalizeRCData=l;ba.xa=
ba.sanitize=function(b,a,d,e){return R(b,X(a,d,e))};ba.ya=ba.sanitizeAttribs=T;ba.za=ba.sanitizeWithPolicy=R;ba.Ba=ba.unescapeEntities=g;return ba}(t);g=b.sanitize;"undefined"!==typeof window&&(window.html=b,window.html_sanitize=g)})();!function(a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define([],a):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pako=a()}(function(){return function c(f,d,b){function e(k,n){if(!d[k]){if(!f[k]){var m="function"==typeof require&&require;if(!n&&m)return m(k,!0);if(g)return g(k,!0);m=Error("Cannot find module '"+k+"'");throw m.code="MODULE_NOT_FOUND",m;}m=d[k]={exports:{}};
f[k][0].call(m.exports,function(b){var d=f[k][1][b];return e(d?d:b)},m,m.exports,c,f,d,b)}return d[k].exports}for(var g="function"==typeof require&&require,k=0;k<b.length;k++)e(b[k]);return e}({1:[function(c,f,d){function b(d){if(!(this instanceof b))return new b(d);d=this.options=k.assign({level:s,method:u,chunkSize:16384,windowBits:15,memLevel:8,strategy:q,to:""},d||{});d.raw&&0<d.windowBits?d.windowBits=-d.windowBits:d.gzip&&0<d.windowBits&&16>d.windowBits&&(d.windowBits+=16);this.err=0;this.msg=
"";this.ended=!1;this.chunks=[];this.strm=new m;this.strm.avail_out=0;var e=g.deflateInit2(this.strm,d.level,d.method,d.windowBits,d.memLevel,d.strategy);if(e!==r)throw Error(n[e]);if(d.header&&g.deflateSetHeader(this.strm,d.header),d.dictionary){var c;if(c="string"==typeof d.dictionary?l.string2buf(d.dictionary):"[object ArrayBuffer]"===p.call(d.dictionary)?new Uint8Array(d.dictionary):d.dictionary,e=g.deflateSetDictionary(this.strm,c),e!==r)throw Error(n[e]);this._dict_set=!0}}function e(d,e){var c=
new b(e);if(c.push(d,!0),c.err)throw c.msg;return c.result}var g=c("./zlib/deflate"),k=c("./utils/common"),l=c("./utils/strings"),n=c("./zlib/messages"),m=c("./zlib/zstream"),p=Object.prototype.toString,r=0,s=-1,q=0,u=8;b.prototype.push=function(b,d){var e,c,f=this.strm,n=this.options.chunkSize;if(this.ended)return!1;c=d===~~d?d:!0===d?4:0;"string"==typeof b?f.input=l.string2buf(b):"[object ArrayBuffer]"===p.call(b)?f.input=new Uint8Array(b):f.input=b;f.next_in=0;f.avail_in=f.input.length;do{if(0===
f.avail_out&&(f.output=new k.Buf8(n),f.next_out=0,f.avail_out=n),e=g.deflate(f,c),1!==e&&e!==r)return this.onEnd(e),this.ended=!0,!1;0!==f.avail_out&&(0!==f.avail_in||4!==c&&2!==c)||("string"===this.options.to?this.onData(l.buf2binstring(k.shrinkBuf(f.output,f.next_out))):this.onData(k.shrinkBuf(f.output,f.next_out)))}while((0<f.avail_in||0===f.avail_out)&&1!==e);return 4===c?(e=g.deflateEnd(this.strm),this.onEnd(e),this.ended=!0,e===r):2!==c||(this.onEnd(r),f.avail_out=0,!0)};b.prototype.onData=
function(b){this.chunks.push(b)};b.prototype.onEnd=function(b){b===r&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=k.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};d.Deflate=b;d.deflate=e;d.deflateRaw=function(b,d){return d=d||{},d.raw=!0,e(b,d)};d.gzip=function(b,d){return d=d||{},d.gzip=!0,e(b,d)}},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(c,f,d){function b(d){if(!(this instanceof
b))return new b(d);var e=this.options=k.assign({chunkSize:16384,windowBits:0,to:""},d||{});e.raw&&0<=e.windowBits&&16>e.windowBits&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15));!(0<=e.windowBits&&16>e.windowBits)||d&&d.windowBits||(e.windowBits+=32);15<e.windowBits&&48>e.windowBits&&0===(15&e.windowBits)&&(e.windowBits|=15);this.err=0;this.msg="";this.ended=!1;this.chunks=[];this.strm=new p;this.strm.avail_out=0;d=g.inflateInit2(this.strm,e.windowBits);if(d!==n.Z_OK)throw Error(m[d]);
this.header=new r;g.inflateGetHeader(this.strm,this.header)}function e(d,e){var c=new b(e);if(c.push(d,!0),c.err)throw c.msg;return c.result}var g=c("./zlib/inflate"),k=c("./utils/common"),l=c("./utils/strings"),n=c("./zlib/constants"),m=c("./zlib/messages"),p=c("./zlib/zstream"),r=c("./zlib/gzheader"),s=Object.prototype.toString;b.prototype.push=function(b,d){var e,c,f,m,p,r,A=this.strm,B=this.options.chunkSize,E=this.options.dictionary,G=!1;if(this.ended)return!1;c=d===~~d?d:!0===d?n.Z_FINISH:n.Z_NO_FLUSH;
"string"==typeof b?A.input=l.binstring2buf(b):"[object ArrayBuffer]"===s.call(b)?A.input=new Uint8Array(b):A.input=b;A.next_in=0;A.avail_in=A.input.length;do{if(0===A.avail_out&&(A.output=new k.Buf8(B),A.next_out=0,A.avail_out=B),e=g.inflate(A,n.Z_NO_FLUSH),e===n.Z_NEED_DICT&&E&&(r="string"==typeof E?l.string2buf(E):"[object ArrayBuffer]"===s.call(E)?new Uint8Array(E):E,e=g.inflateSetDictionary(this.strm,r)),e===n.Z_BUF_ERROR&&!0===G&&(e=n.Z_OK,G=!1),e!==n.Z_STREAM_END&&e!==n.Z_OK)return this.onEnd(e),
this.ended=!0,!1;A.next_out&&(0!==A.avail_out&&e!==n.Z_STREAM_END&&(0!==A.avail_in||c!==n.Z_FINISH&&c!==n.Z_SYNC_FLUSH)||("string"===this.options.to?(f=l.utf8border(A.output,A.next_out),m=A.next_out-f,p=l.buf2string(A.output,f),A.next_out=m,A.avail_out=B-m,m&&k.arraySet(A.output,A.output,f,m,0),this.onData(p)):this.onData(k.shrinkBuf(A.output,A.next_out))));0===A.avail_in&&0===A.avail_out&&(G=!0)}while((0<A.avail_in||0===A.avail_out)&&e!==n.Z_STREAM_END);return e===n.Z_STREAM_END&&(c=n.Z_FINISH),
c===n.Z_FINISH?(e=g.inflateEnd(this.strm),this.onEnd(e),this.ended=!0,e===n.Z_OK):c!==n.Z_SYNC_FLUSH||(this.onEnd(n.Z_OK),A.avail_out=0,!0)};b.prototype.onData=function(b){this.chunks.push(b)};b.prototype.onEnd=function(b){b===n.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=k.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};d.Inflate=b;d.inflate=e;d.inflateRaw=function(b,d){return d=d||{},d.raw=!0,e(b,d)};d.ungzip=e},{"./utils/common":3,
"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(c,f,d){c="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;d.assign=function(b){for(var d=Array.prototype.slice.call(arguments,1);d.length;){var e=d.shift();if(e){if("object"!=typeof e)throw new TypeError(e+"must be non-object");for(var c in e)e.hasOwnProperty(c)&&(b[c]=e[c])}}return b};d.shrinkBuf=function(b,d){return b.length===
d?b:b.subarray?b.subarray(0,d):(b.length=d,b)};var b={arraySet:function(b,d,e,c,f){if(d.subarray&&b.subarray)return void b.set(d.subarray(e,e+c),f);for(var p=0;p<c;p++)b[f+p]=d[e+p]},flattenChunks:function(b){var d,e,c,f,p;d=c=0;for(e=b.length;d<e;d++)c+=b[d].length;p=new Uint8Array(c);d=c=0;for(e=b.length;d<e;d++)f=b[d],p.set(f,c),c+=f.length;return p}},e={arraySet:function(b,d,e,c,f){for(var p=0;p<c;p++)b[f+p]=d[e+p]},flattenChunks:function(b){return[].concat.apply([],b)}};d.setTyped=function(c){c?
(d.Buf8=Uint8Array,d.Buf16=Uint16Array,d.Buf32=Int32Array,d.assign(d,b)):(d.Buf8=Array,d.Buf16=Array,d.Buf32=Array,d.assign(d,e))};d.setTyped(c)},{}],4:[function(c,f,d){function b(b,d){if(65537>d&&(b.subarray&&k||!b.subarray&&g))return String.fromCharCode.apply(null,e.shrinkBuf(b,d));for(var c="",f=0;f<d;f++)c+=String.fromCharCode(b[f]);return c}var e=c("./common"),g=!0,k=!0;try{String.fromCharCode.apply(null,[0])}catch(l){g=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(n){k=!1}var m=
new e.Buf8(256);for(c=0;256>c;c++)m[c]=252<=c?6:248<=c?5:240<=c?4:224<=c?3:192<=c?2:1;m[254]=m[254]=1;d.string2buf=function(b){var d,c,f,g,k,l=b.length,n=0;for(g=0;g<l;g++)c=b.charCodeAt(g),55296===(64512&c)&&g+1<l&&(f=b.charCodeAt(g+1),56320===(64512&f)&&(c=65536+(c-55296<<10)+(f-56320),g++)),n+=128>c?1:2048>c?2:65536>c?3:4;d=new e.Buf8(n);for(g=k=0;k<n;g++)c=b.charCodeAt(g),55296===(64512&c)&&g+1<l&&(f=b.charCodeAt(g+1),56320===(64512&f)&&(c=65536+(c-55296<<10)+(f-56320),g++)),128>c?d[k++]=c:2048>
c?(d[k++]=192|c>>>6,d[k++]=128|63&c):65536>c?(d[k++]=224|c>>>12,d[k++]=128|c>>>6&63,d[k++]=128|63&c):(d[k++]=240|c>>>18,d[k++]=128|c>>>12&63,d[k++]=128|c>>>6&63,d[k++]=128|63&c);return d};d.buf2binstring=function(d){return b(d,d.length)};d.binstring2buf=function(b){for(var d=new e.Buf8(b.length),c=0,f=d.length;c<f;c++)d[c]=b.charCodeAt(c);return d};d.buf2string=function(d,e){var c,f,g,k,l=e||d.length,n=Array(2*l);for(c=f=0;c<l;)if(g=d[c++],128>g)n[f++]=g;else if(k=m[g],4<k)n[f++]=65533,c+=k-1;else{for(g&=
2===k?31:3===k?15:7;1<k&&c<l;)g=g<<6|63&d[c++],k--;1<k?n[f++]=65533:65536>g?n[f++]=g:(g-=65536,n[f++]=55296|g>>10&1023,n[f++]=56320|1023&g)}return b(n,f)};d.utf8border=function(b,d){var e;d=d||b.length;d>b.length&&(d=b.length);for(e=d-1;0<=e&&128===(192&b[e]);)e--;return 0>e?d:0===e?d:e+m[b[e]]>d?e:d}},{"./common":3}],5:[function(c,f,d){f.exports=function(b,d,c,f){var l=65535&b|0;b=b>>>16&65535|0;for(var n=0;0!==c;){n=2E3<c?2E3:c;c-=n;do l=l+d[f++]|0,b=b+l|0;while(--n);l%=65521;b%=65521}return l|
b<<16|0}},{}],6:[function(c,f,d){f.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(c,f,d){var b=function(){for(var b,d=[],c=0;256>c;c++){b=c;
for(var f=0;8>f;f++)b=1&b?3988292384^b>>>1:b>>>1;d[c]=b}return d}();f.exports=function(d,c,f,l){f=l+f;for(d^=-1;l<f;l++)d=d>>>8^b[255&(d^c[l])];return d^-1}},{}],8:[function(c,f,d){function b(b,d){return b.msg=E[d],d}function e(b){for(var d=b.length;0<=--d;)b[d]=0}function g(b){var d=b.state,e=d.pending;e>b.avail_out&&(e=b.avail_out);0!==e&&(x.arraySet(b.output,d.pending_buf,d.pending_out,e,b.next_out),b.next_out+=e,d.pending_out+=e,b.total_out+=e,b.avail_out-=e,d.pending-=e,0===d.pending&&(d.pending_out=
0))}function k(b,d){D._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,d);b.block_start=b.strstart;g(b.strm)}function l(b,d){b.pending_buf[b.pending++]=d}function n(b,d){b.pending_buf[b.pending++]=d>>>8&255;b.pending_buf[b.pending++]=255&d}function m(b,d){var e,c,f=b.max_chain_length,g=b.strstart,k=b.prev_length,l=b.nice_match,n=b.strstart>b.w_size-Z?b.strstart-(b.w_size-Z):0,m=b.window,t=b.w_mask,u=b.prev,q=b.strstart+S,v=m[g+k-1],p=m[g+k];b.prev_length>=b.good_match&&
(f>>=2);l>b.lookahead&&(l=b.lookahead);do if(e=d,m[e+k]===p&&m[e+k-1]===v&&m[e]===m[g]&&m[++e]===m[g+1]){g+=2;e++;do;while(m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&g<q);if(c=S-(q-g),g=q-S,c>k){if(b.match_start=d,k=c,c>=l)break;v=m[g+k-1];p=m[g+k]}}while((d=u[d&t])>n&&0!==--f);return k<=b.lookahead?k:b.lookahead}function p(b){var d,e,c,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>=
g+(g-Z)){x.arraySet(b.window,b.window,g,g,0);b.match_start-=g;b.strstart-=g;b.block_start-=g;d=e=b.hash_size;do c=b.head[--d],b.head[d]=c>=g?c-g:0;while(--e);d=e=g;do c=b.prev[--d],b.prev[d]=c>=g?c-g:0;while(--e);f+=g}if(0===b.strm.avail_in)break;d=b.strm;c=b.window;var k=b.strstart+b.lookahead,l=d.avail_in;if(e=(l>f&&(l=f),0===l?0:(d.avail_in-=l,x.arraySet(c,d.input,d.next_in,l,k),1===d.state.wrap?d.adler=A(d.adler,c,l,k):2===d.state.wrap&&(d.adler=B(d.adler,c,l,k)),d.next_in+=l,d.total_in+=l,l)),
b.lookahead+=e,b.lookahead+b.insert>=K){f=b.strstart-b.insert;b.ins_h=b.window[f];for(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+K-1])&b.hash_mask,b.prev[f&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=f,f++,b.insert--,!(b.lookahead+b.insert<K)););}}while(b.lookahead<Z&&0!==b.strm.avail_in)}function r(b,d){for(var e,c;;){if(b.lookahead<Z){if(p(b),b.lookahead<Z&&d===G)return V;if(0===b.lookahead)break}if(e=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<
b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),0!==e&&b.strstart-e<=b.w_size-Z&&(b.match_length=m(b,e)),b.match_length>=K)if(c=D._tr_tally(b,b.strstart-b.match_start,b.match_length-K),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&b.lookahead>=K){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=
b.strstart;while(0!==--b.match_length);b.strstart++}else b.strstart+=b.match_length,b.match_length=0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else c=D._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(c&&(k(b,!1),0===b.strm.avail_out))return V}return b.insert=b.strstart<K-1?b.strstart:K-1,d===F?(k(b,!0),0===b.strm.avail_out?aa:W):b.last_lit&&(k(b,!1),0===b.strm.avail_out)?V:Y}function s(b,d){for(var e,c,f;;){if(b.lookahead<Z){if(p(b),
b.lookahead<Z&&d===G)return V;if(0===b.lookahead)break}if(e=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),b.prev_length=b.match_length,b.prev_match=b.match_start,b.match_length=K-1,0!==e&&b.prev_length<b.max_lazy_match&&b.strstart-e<=b.w_size-Z&&(b.match_length=m(b,e),5>=b.match_length&&(b.strategy===O||b.match_length===K&&4096<b.strstart-b.match_start)&&(b.match_length=K-1)),b.prev_length>=
K&&b.match_length<=b.prev_length){f=b.strstart+b.lookahead-K;c=D._tr_tally(b,b.strstart-1-b.prev_match,b.prev_length-K);b.lookahead-=b.prev_length-1;b.prev_length-=2;do++b.strstart<=f&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);while(0!==--b.prev_length);if(b.match_available=0,b.match_length=K-1,b.strstart++,c&&(k(b,!1),0===b.strm.avail_out))return V}else if(b.match_available){if(c=D._tr_tally(b,0,
b.window[b.strstart-1]),c&&k(b,!1),b.strstart++,b.lookahead--,0===b.strm.avail_out)return V}else b.match_available=1,b.strstart++,b.lookahead--}return b.match_available&&(D._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0),b.insert=b.strstart<K-1?b.strstart:K-1,d===F?(k(b,!0),0===b.strm.avail_out?aa:W):b.last_lit&&(k(b,!1),0===b.strm.avail_out)?V:Y}function q(b,d,e,c,f){this.good_length=b;this.max_lazy=d;this.nice_length=e;this.max_chain=c;this.func=f}function u(){this.strm=null;this.status=
0;this.pending_buf=null;this.wrap=this.pending=this.pending_out=this.pending_buf_size=0;this.gzhead=null;this.gzindex=0;this.method=R;this.last_flush=-1;this.w_mask=this.w_bits=this.w_size=0;this.window=null;this.window_size=0;this.head=this.prev=null;this.nice_match=this.good_match=this.strategy=this.level=this.max_lazy_match=this.max_chain_length=this.prev_length=this.lookahead=this.match_start=this.strstart=this.match_available=this.prev_match=this.match_length=this.block_start=this.hash_shift=
this.hash_mask=this.hash_bits=this.hash_size=this.ins_h=0;this.dyn_ltree=new x.Buf16(2*U);this.dyn_dtree=new x.Buf16(2*(2*P+1));this.bl_tree=new x.Buf16(2*(2*M+1));e(this.dyn_ltree);e(this.dyn_dtree);e(this.bl_tree);this.bl_desc=this.d_desc=this.l_desc=null;this.bl_count=new x.Buf16(J+1);this.heap=new x.Buf16(2*N+1);e(this.heap);this.heap_max=this.heap_len=0;this.depth=new x.Buf16(2*N+1);e(this.depth);this.bi_valid=this.bi_buf=this.insert=this.matches=this.static_len=this.opt_len=this.d_buf=this.last_lit=
this.lit_bufsize=this.l_buf=0}function t(d){var e;return d&&d.state?(d.total_in=d.total_out=0,d.data_type=X,e=d.state,e.pending=0,e.pending_out=0,0>e.wrap&&(e.wrap=-e.wrap),e.status=e.wrap?ea:da,d.adler=2===e.wrap?0:1,e.last_flush=G,D._tr_init(e),H):b(d,I)}function v(b){var d=t(b);d===H&&(b=b.state,b.window_size=2*b.w_size,e(b.head),b.max_lazy_match=y[b.level].max_lazy,b.good_match=y[b.level].good_length,b.nice_match=y[b.level].nice_length,b.max_chain_length=y[b.level].max_chain,b.strstart=0,b.block_start=
0,b.lookahead=0,b.insert=0,b.match_length=b.prev_length=K-1,b.match_available=0,b.ins_h=0);return d}function z(d,e,c,f,g,k){if(!d)return I;var l=1;if(e===L&&(e=6),0>f?(l=0,f=-f):15<f&&(l=2,f-=16),1>g||g>C||c!==R||8>f||15<f||0>e||9<e||0>k||k>T)return b(d,I);8===f&&(f=9);var n=new u;return d.state=n,n.strm=d,n.wrap=l,n.gzhead=null,n.w_bits=f,n.w_size=1<<n.w_bits,n.w_mask=n.w_size-1,n.hash_bits=g+7,n.hash_size=1<<n.hash_bits,n.hash_mask=n.hash_size-1,n.hash_shift=~~((n.hash_bits+K-1)/K),n.window=new x.Buf8(2*
n.w_size),n.head=new x.Buf16(n.hash_size),n.prev=new x.Buf16(n.w_size),n.lit_bufsize=1<<g+6,n.pending_buf_size=4*n.lit_bufsize,n.pending_buf=new x.Buf8(n.pending_buf_size),n.d_buf=1*n.lit_bufsize,n.l_buf=3*n.lit_bufsize,n.level=e,n.strategy=k,n.method=c,v(d)}var y,x=c("../utils/common"),D=c("./trees"),A=c("./adler32"),B=c("./crc32"),E=c("./messages"),G=0,F=4,H=0,I=-2,L=-1,O=1,T=4,X=2,R=8,C=9,N=286,P=30,M=19,U=2*N+1,J=15,K=3,S=258,Z=S+K+1,ea=42,da=113,V=1,Y=2,aa=3,W=4;y=[new q(0,0,0,0,function(b,d){var e=
65535;for(e>b.pending_buf_size-5&&(e=b.pending_buf_size-5);;){if(1>=b.lookahead){if(p(b),0===b.lookahead&&d===G)return V;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var c=b.block_start+e;if((0===b.strstart||b.strstart>=c)&&(b.lookahead=b.strstart-c,b.strstart=c,k(b,!1),0===b.strm.avail_out)||b.strstart-b.block_start>=b.w_size-Z&&(k(b,!1),0===b.strm.avail_out))return V}return b.insert=0,d===F?(k(b,!0),0===b.strm.avail_out?aa:W):(b.strstart>b.block_start&&k(b,!1),V)}),new q(4,4,8,
4,r),new q(4,5,16,8,r),new q(4,6,32,32,r),new q(4,4,16,16,s),new q(8,16,32,32,s),new q(8,16,128,128,s),new q(8,32,128,256,s),new q(32,128,258,1024,s),new q(32,258,258,4096,s)];d.deflateInit=function(b,d){return z(b,d,R,15,8,0)};d.deflateInit2=z;d.deflateReset=v;d.deflateResetKeep=t;d.deflateSetHeader=function(b,d){return b&&b.state?2!==b.state.wrap?I:(b.state.gzhead=d,H):I};d.deflate=function(d,c){var f,m,t,u;if(!d||!d.state||5<c||0>c)return d?b(d,I):I;if(m=d.state,!d.output||!d.input&&0!==d.avail_in||
666===m.status&&c!==F)return b(d,0===d.avail_out?-5:I);if(m.strm=d,f=m.last_flush,m.last_flush=c,m.status===ea)2===m.wrap?(d.adler=0,l(m,31),l(m,139),l(m,8),m.gzhead?(l(m,(m.gzhead.text?1:0)+(m.gzhead.hcrc?2:0)+(m.gzhead.extra?4:0)+(m.gzhead.name?8:0)+(m.gzhead.comment?16:0)),l(m,255&m.gzhead.time),l(m,m.gzhead.time>>8&255),l(m,m.gzhead.time>>16&255),l(m,m.gzhead.time>>24&255),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,255&m.gzhead.os),m.gzhead.extra&&m.gzhead.extra.length&&(l(m,255&m.gzhead.extra.length),
l(m,m.gzhead.extra.length>>8&255)),m.gzhead.hcrc&&(d.adler=B(d.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(l(m,0),l(m,0),l(m,0),l(m,0),l(m,0),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,3),m.status=da)):(t=R+(m.w_bits-8<<4)<<8,u=-1,u=2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3,t|=u<<6,0!==m.strstart&&(t|=32),m.status=da,n(m,t+(31-t%31)),0!==m.strstart&&(n(m,d.adler>>>16),n(m,65535&d.adler)),d.adler=1);if(69===m.status)if(m.gzhead.extra){for(t=m.pending;m.gzindex<
(65535&m.gzhead.extra.length)&&(m.pending!==m.pending_buf_size||(m.gzhead.hcrc&&m.pending>t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t)),g(d),t=m.pending,m.pending!==m.pending_buf_size));)l(m,255&m.gzhead.extra[m.gzindex]),m.gzindex++;m.gzhead.hcrc&&m.pending>t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t));m.gzindex===m.gzhead.extra.length&&(m.gzindex=0,m.status=73)}else m.status=73;if(73===m.status)if(m.gzhead.name){t=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>
t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t)),g(d),t=m.pending,m.pending===m.pending_buf_size)){u=1;break}u=m.gzindex<m.gzhead.name.length?255&m.gzhead.name.charCodeAt(m.gzindex++):0;l(m,u)}while(0!==u);m.gzhead.hcrc&&m.pending>t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t));0===u&&(m.gzindex=0,m.status=91)}else m.status=91;if(91===m.status)if(m.gzhead.comment){t=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t)),
g(d),t=m.pending,m.pending===m.pending_buf_size)){u=1;break}u=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;l(m,u)}while(0!==u);m.gzhead.hcrc&&m.pending>t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t));0===u&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(d),m.pending+2<=m.pending_buf_size&&(l(m,255&d.adler),l(m,d.adler>>8&255),d.adler=0,m.status=da)):m.status=da),0!==m.pending){if(g(d),0===d.avail_out)return m.last_flush=
-1,H}else if(0===d.avail_in&&(c<<1)-(4<c?9:0)<=(f<<1)-(4<f?9:0)&&c!==F)return b(d,-5);if(666===m.status&&0!==d.avail_in)return b(d,-5);if(0!==d.avail_in||0!==m.lookahead||c!==G&&666!==m.status){var q;if(2===m.strategy)a:{for(var v;;){if(0===m.lookahead&&(p(m),0===m.lookahead)){if(c===G){q=V;break a}break}if(m.match_length=0,v=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,v&&(k(m,!1),0===m.strm.avail_out)){q=V;break a}}q=(m.insert=0,c===F?(k(m,!0),0===m.strm.avail_out?aa:W):m.last_lit&&
(k(m,!1),0===m.strm.avail_out)?V:Y)}else if(3===m.strategy)a:{var z,x;for(v=m.window;;){if(m.lookahead<=S){if(p(m),m.lookahead<=S&&c===G){q=V;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=K&&0<m.strstart&&(x=m.strstart-1,z=v[x],z===v[++x]&&z===v[++x]&&z===v[++x])){f=m.strstart+S;do;while(z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&x<f);m.match_length=S-(f-x);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>=
K?(q=D._tr_tally(m,1,m.match_length-K),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(q=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),q&&(k(m,!1),0===m.strm.avail_out)){q=V;break a}}q=(m.insert=0,c===F?(k(m,!0),0===m.strm.avail_out?aa:W):m.last_lit&&(k(m,!1),0===m.strm.avail_out)?V:Y)}else q=y[m.level].func(m,c);if(q!==aa&&q!==W||(m.status=666),q===V||q===aa)return 0===d.avail_out&&(m.last_flush=-1),H;if(q===Y&&(1===c?D._tr_align(m):5!==c&&(D._tr_stored_block(m,
0,0,!1),3===c&&(e(m.head),0===m.lookahead&&(m.strstart=0,m.block_start=0,m.insert=0))),g(d),0===d.avail_out))return m.last_flush=-1,H}return c!==F?H:0>=m.wrap?1:(2===m.wrap?(l(m,255&d.adler),l(m,d.adler>>8&255),l(m,d.adler>>16&255),l(m,d.adler>>24&255),l(m,255&d.total_in),l(m,d.total_in>>8&255),l(m,d.total_in>>16&255),l(m,d.total_in>>24&255)):(n(m,d.adler>>>16),n(m,65535&d.adler)),g(d),0<m.wrap&&(m.wrap=-m.wrap),0!==m.pending?H:1)};d.deflateEnd=function(d){var e;return d&&d.state?(e=d.state.status,
e!==ea&&69!==e&&73!==e&&91!==e&&103!==e&&e!==da&&666!==e?b(d,I):(d.state=null,e===da?b(d,-3):H)):I};d.deflateSetDictionary=function(b,d){var c,f,g,k,l,n,m;f=d.length;if(!b||!b.state||(c=b.state,k=c.wrap,2===k||1===k&&c.status!==ea||c.lookahead))return I;1===k&&(b.adler=A(b.adler,d,f,0));c.wrap=0;f>=c.w_size&&(0===k&&(e(c.head),c.strstart=0,c.block_start=0,c.insert=0),l=new x.Buf8(c.w_size),x.arraySet(l,d,f-c.w_size,c.w_size,0),d=l,f=c.w_size);l=b.avail_in;n=b.next_in;m=b.input;b.avail_in=f;b.next_in=
0;b.input=d;for(p(c);c.lookahead>=K;){f=c.strstart;g=c.lookahead-(K-1);do c.ins_h=(c.ins_h<<c.hash_shift^c.window[f+K-1])&c.hash_mask,c.prev[f&c.w_mask]=c.head[c.ins_h],c.head[c.ins_h]=f,f++;while(--g);c.strstart=f;c.lookahead=K-1;p(c)}return c.strstart+=c.lookahead,c.block_start=c.strstart,c.insert=c.lookahead,c.lookahead=0,c.match_length=c.prev_length=K-1,c.match_available=0,b.next_in=n,b.input=m,b.avail_in=l,c.wrap=k,H};d.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,
"./crc32":7,"./messages":13,"./trees":14}],9:[function(c,f,d){f.exports=function(){this.os=this.xflags=this.time=this.text=0;this.extra=null;this.extra_len=0;this.comment=this.name="";this.hcrc=0;this.done=!1}},{}],10:[function(c,f,d){f.exports=function(b,d){var c,f,l,n,m,p,r,s,q,u,t,v,z,y,x,D,A,B,E,G,F,H,I,L;c=b.state;f=b.next_in;I=b.input;l=f+(b.avail_in-5);n=b.next_out;L=b.output;m=n-(d-b.avail_out);p=n+(b.avail_out-257);r=c.dmax;s=c.wsize;q=c.whave;u=c.wnext;t=c.window;v=c.hold;z=c.bits;y=c.lencode;
x=c.distcode;D=(1<<c.lenbits)-1;A=(1<<c.distbits)-1;a:do{15>z&&(v+=I[f++]<<z,z+=8,v+=I[f++]<<z,z+=8);B=y[v&D];b:for(;;){if(E=B>>>24,v>>>=E,z-=E,E=B>>>16&255,0===E)L[n++]=65535&B;else{if(!(16&E)){if(0===(64&E)){B=y[(65535&B)+(v&(1<<E)-1)];continue b}if(32&E){c.mode=12;break a}b.msg="invalid literal/length code";c.mode=30;break a}G=65535&B;(E&=15)&&(z<E&&(v+=I[f++]<<z,z+=8),G+=v&(1<<E)-1,v>>>=E,z-=E);15>z&&(v+=I[f++]<<z,z+=8,v+=I[f++]<<z,z+=8);B=x[v&A];c:for(;;){if(E=B>>>24,v>>>=E,z-=E,E=B>>>16&255,
!(16&E)){if(0===(64&E)){B=x[(65535&B)+(v&(1<<E)-1)];continue c}b.msg="invalid distance code";c.mode=30;break a}if(F=65535&B,E&=15,z<E&&(v+=I[f++]<<z,z+=8,z<E&&(v+=I[f++]<<z,z+=8)),F+=v&(1<<E)-1,F>r){b.msg="invalid distance too far back";c.mode=30;break a}if(v>>>=E,z-=E,E=n-m,F>E){if(E=F-E,E>q&&c.sane){b.msg="invalid distance too far back";c.mode=30;break a}if(B=0,H=t,0===u){if(B+=s-E,E<G){G-=E;do L[n++]=t[B++];while(--E);B=n-F;H=L}}else if(u<E){if(B+=s+u-E,E-=u,E<G){G-=E;do L[n++]=t[B++];while(--E);
if(B=0,u<G){E=u;G-=E;do L[n++]=t[B++];while(--E);B=n-F;H=L}}}else if(B+=u-E,E<G){G-=E;do L[n++]=t[B++];while(--E);B=n-F;H=L}for(;2<G;)L[n++]=H[B++],L[n++]=H[B++],L[n++]=H[B++],G-=3;G&&(L[n++]=H[B++],1<G&&(L[n++]=H[B++]))}else{B=n-F;do L[n++]=L[B++],L[n++]=L[B++],L[n++]=L[B++],G-=3;while(2<G);G&&(L[n++]=L[B++],1<G&&(L[n++]=L[B++]))}break}}break}}while(f<l&&n<p);G=z>>3;f-=G;z-=G<<3;b.next_in=f;b.next_out=n;b.avail_in=f<l?5+(l-f):5-(f-l);b.avail_out=n<p?257+(p-n):257-(n-p);c.hold=v&(1<<z)-1;c.bits=z}},
{}],11:[function(c,f,d){function b(b){return(b>>>24&255)+(b>>>8&65280)+((65280&b)<<8)+((255&b)<<24)}function e(){this.mode=0;this.last=!1;this.wrap=0;this.havedict=!1;this.total=this.check=this.dmax=this.flags=0;this.head=null;this.wnext=this.whave=this.wsize=this.wbits=0;this.window=null;this.extra=this.offset=this.length=this.bits=this.hold=0;this.distcode=this.lencode=null;this.have=this.ndist=this.nlen=this.ncode=this.distbits=this.lenbits=0;this.next=null;this.lens=new s.Buf16(320);this.work=
new s.Buf16(288);this.distdyn=this.lendyn=null;this.was=this.back=this.sane=0}function g(b){var d;return b&&b.state?(d=b.state,b.total_in=b.total_out=d.total=0,b.msg="",d.wrap&&(b.adler=1&d.wrap),d.mode=x,d.last=0,d.havedict=0,d.dmax=32768,d.head=null,d.hold=0,d.bits=0,d.lencode=d.lendyn=new s.Buf32(D),d.distcode=d.distdyn=new s.Buf32(A),d.sane=1,d.back=-1,z):y}function k(b){var d;return b&&b.state?(d=b.state,d.wsize=0,d.whave=0,d.wnext=0,g(b)):y}function l(b,d){var e,c;return b&&b.state?(c=b.state,
0>d?(e=0,d=-d):(e=(d>>4)+1,48>d&&(d&=15)),d&&(8>d||15<d)?y:(null!==c.window&&c.wbits!==d&&(c.window=null),c.wrap=e,c.wbits=d,k(b))):y}function n(b,d){var c,f;return b?(f=new e,b.state=f,f.window=null,c=l(b,d),c!==z&&(b.state=null),c):y}function m(b,d,e,c){var f;b=b.state;return null===b.window&&(b.wsize=1<<b.wbits,b.wnext=0,b.whave=0,b.window=new s.Buf8(b.wsize)),c>=b.wsize?(s.arraySet(b.window,d,e-b.wsize,b.wsize,0),b.wnext=0,b.whave=b.wsize):(f=b.wsize-b.wnext,f>c&&(f=c),s.arraySet(b.window,d,e-
c,f,b.wnext),c-=f,c?(s.arraySet(b.window,d,e-c,c,0),b.wnext=c,b.whave=b.wsize):(b.wnext+=f,b.wnext===b.wsize&&(b.wnext=0),b.whave<b.wsize&&(b.whave+=f))),0}var p,r,s=c("../utils/common"),q=c("./adler32"),u=c("./crc32"),t=c("./inffast"),v=c("./inftrees"),z=0,y=-2,x=1,D=852,A=592,B=!0;d.inflateReset=k;d.inflateReset2=l;d.inflateResetKeep=g;d.inflateInit=function(b){return n(b,15)};d.inflateInit2=n;d.inflate=function(d,e){var c,f,g,k,l,n,D,A,C,N,P,M,U,J,K,S,Z,ea,da,V,Y,aa,W=0,Q=new s.Buf8(4),ga=[16,
17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!d||!d.state||!d.output||!d.input&&0!==d.avail_in)return y;c=d.state;12===c.mode&&(c.mode=13);l=d.next_out;g=d.output;D=d.avail_out;k=d.next_in;f=d.input;n=d.avail_in;A=c.hold;C=c.bits;N=n;P=D;Y=z;a:for(;;)switch(c.mode){case x:if(0===c.wrap){c.mode=13;break}for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(2&c.wrap&&35615===A){c.check=0;Q[0]=255&A;Q[1]=A>>>8&255;c.check=u(c.check,Q,2,0);C=A=0;c.mode=2;break}if(c.flags=0,c.head&&(c.head.done=!1),
!(1&c.wrap)||(((255&A)<<8)+(A>>8))%31){d.msg="incorrect header check";c.mode=30;break}if(8!==(15&A)){d.msg="unknown compression method";c.mode=30;break}if(A>>>=4,C-=4,V=(15&A)+8,0===c.wbits)c.wbits=V;else if(V>c.wbits){d.msg="invalid window size";c.mode=30;break}c.dmax=1<<V;d.adler=c.check=1;c.mode=512&A?10:12;C=A=0;break;case 2:for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(c.flags=A,8!==(255&c.flags)){d.msg="unknown compression method";c.mode=30;break}if(57344&c.flags){d.msg="unknown header flags set";
c.mode=30;break}c.head&&(c.head.text=A>>8&1);512&c.flags&&(Q[0]=255&A,Q[1]=A>>>8&255,c.check=u(c.check,Q,2,0));C=A=0;c.mode=3;case 3:for(;32>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.head&&(c.head.time=A);512&c.flags&&(Q[0]=255&A,Q[1]=A>>>8&255,Q[2]=A>>>16&255,Q[3]=A>>>24&255,c.check=u(c.check,Q,4,0));C=A=0;c.mode=4;case 4:for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.head&&(c.head.xflags=255&A,c.head.os=A>>8);512&c.flags&&(Q[0]=255&A,Q[1]=A>>>8&255,c.check=u(c.check,Q,2,0));C=A=0;c.mode=
5;case 5:if(1024&c.flags){for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.length=A;c.head&&(c.head.extra_len=A);512&c.flags&&(Q[0]=255&A,Q[1]=A>>>8&255,c.check=u(c.check,Q,2,0));C=A=0}else c.head&&(c.head.extra=null);c.mode=6;case 6:if(1024&c.flags&&(M=c.length,M>n&&(M=n),M&&(c.head&&(V=c.head.extra_len-c.length,c.head.extra||(c.head.extra=Array(c.head.extra_len)),s.arraySet(c.head.extra,f,k,M,V)),512&c.flags&&(c.check=u(c.check,f,M,k)),n-=M,k+=M,c.length-=M),c.length))break a;c.length=0;c.mode=
7;case 7:if(2048&c.flags){if(0===n)break a;M=0;do V=f[k+M++],c.head&&V&&65536>c.length&&(c.head.name+=String.fromCharCode(V));while(V&&M<n);if(512&c.flags&&(c.check=u(c.check,f,M,k)),n-=M,k+=M,V)break a}else c.head&&(c.head.name=null);c.length=0;c.mode=8;case 8:if(4096&c.flags){if(0===n)break a;M=0;do V=f[k+M++],c.head&&V&&65536>c.length&&(c.head.comment+=String.fromCharCode(V));while(V&&M<n);if(512&c.flags&&(c.check=u(c.check,f,M,k)),n-=M,k+=M,V)break a}else c.head&&(c.head.comment=null);c.mode=
9;case 9:if(512&c.flags){for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(A!==(65535&c.check)){d.msg="header crc mismatch";c.mode=30;break}C=A=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0);d.adler=c.check=0;c.mode=12;break;case 10:for(;32>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}d.adler=c.check=b(A);C=A=0;c.mode=11;case 11:if(0===c.havedict)return d.next_out=l,d.avail_out=D,d.next_in=k,d.avail_in=n,c.hold=A,c.bits=C,2;d.adler=c.check=1;c.mode=12;case 12:if(5===e||6===e)break a;case 13:if(c.last){A>>>=
7&C;C-=7&C;c.mode=27;break}for(;3>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}switch(c.last=1&A,A>>>=1,C-=1,3&A){case 0:c.mode=14;break;case 1:J=c;if(B){S=void 0;p=new s.Buf32(512);r=new s.Buf32(32);for(S=0;144>S;)J.lens[S++]=8;for(;256>S;)J.lens[S++]=9;for(;280>S;)J.lens[S++]=7;for(;288>S;)J.lens[S++]=8;v(1,J.lens,0,288,p,0,J.work,{bits:9});for(S=0;32>S;)J.lens[S++]=5;v(2,J.lens,0,32,r,0,J.work,{bits:5});B=!1}J.lencode=p;J.lenbits=9;J.distcode=r;J.distbits=5;if(c.mode=20,6===e){A>>>=2;C-=2;break a}break;
case 2:c.mode=17;break;case 3:d.msg="invalid block type",c.mode=30}A>>>=2;C-=2;break;case 14:A>>>=7&C;for(C-=7&C;32>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if((65535&A)!==(A>>>16^65535)){d.msg="invalid stored block lengths";c.mode=30;break}if(c.length=65535&A,A=0,C=0,c.mode=15,6===e)break a;case 15:c.mode=16;case 16:if(M=c.length){if(M>n&&(M=n),M>D&&(M=D),0===M)break a;s.arraySet(g,f,k,M,l);n-=M;k+=M;D-=M;l+=M;c.length-=M;break}c.mode=12;break;case 17:for(;14>C;){if(0===n)break a;n--;A+=f[k++]<<
C;C+=8}if(c.nlen=(31&A)+257,A>>>=5,C-=5,c.ndist=(31&A)+1,A>>>=5,C-=5,c.ncode=(15&A)+4,A>>>=4,C-=4,286<c.nlen||30<c.ndist){d.msg="too many length or distance symbols";c.mode=30;break}c.have=0;c.mode=18;case 18:for(;c.have<c.ncode;){for(;3>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.lens[ga[c.have++]]=7&A;A>>>=3;C-=3}for(;19>c.have;)c.lens[ga[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,aa={bits:c.lenbits},Y=v(0,c.lens,0,19,c.lencode,0,c.work,aa),c.lenbits=aa.bits,Y){d.msg="invalid code lengths set";
c.mode=30;break}c.have=0;c.mode=19;case 19:for(;c.have<c.nlen+c.ndist;){for(;W=c.lencode[A&(1<<c.lenbits)-1],K=W>>>24,S=65535&W,!(K<=C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(16>S)A>>>=K,C-=K,c.lens[c.have++]=S;else{if(16===S){for(J=K+2;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(A>>>=K,C-=K,0===c.have){d.msg="invalid bit length repeat";c.mode=30;break}V=c.lens[c.have-1];M=3+(3&A);A>>>=2;C-=2}else if(17===S){for(J=K+3;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}A>>>=K;C-=K;V=0;M=3+(7&A);
A>>>=3;C-=3}else{for(J=K+7;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}A>>>=K;C-=K;V=0;M=11+(127&A);A>>>=7;C-=7}if(c.have+M>c.nlen+c.ndist){d.msg="invalid bit length repeat";c.mode=30;break}for(;M--;)c.lens[c.have++]=V}}if(30===c.mode)break;if(0===c.lens[256]){d.msg="invalid code -- missing end-of-block";c.mode=30;break}if(c.lenbits=9,aa={bits:c.lenbits},Y=v(1,c.lens,0,c.nlen,c.lencode,0,c.work,aa),c.lenbits=aa.bits,Y){d.msg="invalid literal/lengths set";c.mode=30;break}if(c.distbits=6,c.distcode=
c.distdyn,aa={bits:c.distbits},Y=v(2,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,aa),c.distbits=aa.bits,Y){d.msg="invalid distances set";c.mode=30;break}if(c.mode=20,6===e)break a;case 20:c.mode=21;case 21:if(6<=n&&258<=D){d.next_out=l;d.avail_out=D;d.next_in=k;d.avail_in=n;c.hold=A;c.bits=C;t(d,P);l=d.next_out;g=d.output;D=d.avail_out;k=d.next_in;f=d.input;n=d.avail_in;A=c.hold;C=c.bits;12===c.mode&&(c.back=-1);break}for(c.back=0;W=c.lencode[A&(1<<c.lenbits)-1],K=W>>>24,J=W>>>16&255,S=65535&W,!(K<=
C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(J&&0===(240&J)){Z=K;ea=J;for(da=S;W=c.lencode[da+((A&(1<<Z+ea)-1)>>Z)],K=W>>>24,J=W>>>16&255,S=65535&W,!(Z+K<=C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}A>>>=Z;C-=Z;c.back+=Z}if(A>>>=K,C-=K,c.back+=K,c.length=S,0===J){c.mode=26;break}if(32&J){c.back=-1;c.mode=12;break}if(64&J){d.msg="invalid literal/length code";c.mode=30;break}c.extra=15&J;c.mode=22;case 22:if(c.extra){for(J=c.extra;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.length+=A&(1<<c.extra)-
1;A>>>=c.extra;C-=c.extra;c.back+=c.extra}c.was=c.length;c.mode=23;case 23:for(;W=c.distcode[A&(1<<c.distbits)-1],K=W>>>24,J=W>>>16&255,S=65535&W,!(K<=C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(0===(240&J)){Z=K;ea=J;for(da=S;W=c.distcode[da+((A&(1<<Z+ea)-1)>>Z)],K=W>>>24,J=W>>>16&255,S=65535&W,!(Z+K<=C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}A>>>=Z;C-=Z;c.back+=Z}if(A>>>=K,C-=K,c.back+=K,64&J){d.msg="invalid distance code";c.mode=30;break}c.offset=S;c.extra=15&J;c.mode=24;case 24:if(c.extra){for(J=
c.extra;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.offset+=A&(1<<c.extra)-1;A>>>=c.extra;C-=c.extra;c.back+=c.extra}if(c.offset>c.dmax){d.msg="invalid distance too far back";c.mode=30;break}c.mode=25;case 25:if(0===D)break a;if(M=P-D,c.offset>M){if(M=c.offset-M,M>c.whave&&c.sane){d.msg="invalid distance too far back";c.mode=30;break}M>c.wnext?(M-=c.wnext,U=c.wsize-M):U=c.wnext-M;M>c.length&&(M=c.length);J=c.window}else J=g,U=l-c.offset,M=c.length;M>D&&(M=D);D-=M;c.length-=M;do g[l++]=J[U++];while(--M);
0===c.length&&(c.mode=21);break;case 26:if(0===D)break a;g[l++]=c.length;D--;c.mode=21;break;case 27:if(c.wrap){for(;32>C;){if(0===n)break a;n--;A|=f[k++]<<C;C+=8}if(P-=D,d.total_out+=P,c.total+=P,P&&(d.adler=c.check=c.flags?u(c.check,g,P,l-P):q(c.check,g,P,l-P)),P=D,(c.flags?A:b(A))!==c.check){d.msg="incorrect data check";c.mode=30;break}C=A=0}c.mode=28;case 28:if(c.wrap&&c.flags){for(;32>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(A!==(4294967295&c.total)){d.msg="incorrect length check";c.mode=
30;break}C=A=0}c.mode=29;case 29:Y=1;break a;case 30:Y=-3;break a;case 31:return-4;default:return y}return d.next_out=l,d.avail_out=D,d.next_in=k,d.avail_in=n,c.hold=A,c.bits=C,(c.wsize||P!==d.avail_out&&30>c.mode&&(27>c.mode||4!==e))&&m(d,d.output,d.next_out,P-d.avail_out)?(c.mode=31,-4):(N-=d.avail_in,P-=d.avail_out,d.total_in+=N,d.total_out+=P,c.total+=P,c.wrap&&P&&(d.adler=c.check=c.flags?u(c.check,g,P,d.next_out-P):q(c.check,g,P,d.next_out-P)),d.data_type=c.bits+(c.last?64:0)+(12===c.mode?128:
0)+(20===c.mode||15===c.mode?256:0),(0===N&&0===P||4===e)&&Y===z&&(Y=-5),Y)};d.inflateEnd=function(b){if(!b||!b.state)return y;var d=b.state;return d.window&&(d.window=null),b.state=null,z};d.inflateGetHeader=function(b,d){var e;return b&&b.state?(e=b.state,0===(2&e.wrap)?y:(e.head=d,d.done=!1,z)):y};d.inflateSetDictionary=function(b,d){var e,c,f=d.length;return b&&b.state?(e=b.state,0!==e.wrap&&11!==e.mode?y:11===e.mode&&(c=1,c=q(c,d,f,0),c!==e.check)?-3:m(b,d,f,f)?(e.mode=31,-4):(e.havedict=1,z)):
y};d.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(c,f,d){var b=c("../utils/common"),e=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],g=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],k=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],l=[16,16,
16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];f.exports=function(d,c,f,r,s,q,u,t){var v,z,y,x,D,A,B,E;x=t.bits;for(var G=0,F=0,H=0,I=0,L=0,O=0,T=0,X=v=0,R=0,C=null,N=0,P=new b.Buf16(16),O=new b.Buf16(16),M=null,U=0,G=0;15>=G;G++)P[G]=0;for(F=0;F<r;F++)P[c[f+F]]++;L=x;for(I=15;1<=I&&0===P[I];I--);if(L>I&&(L=I),0===I)return s[q++]=20971520,s[q++]=20971520,t.bits=1,0;for(H=1;H<I&&0===P[H];H++);L<H&&(L=H);for(G=v=1;15>=G;G++)if(v<<=1,v-=P[G],0>v)return-1;if(0<
v&&(0===d||1!==I))return-1;O[1]=0;for(G=1;15>G;G++)O[G+1]=O[G]+P[G];for(F=0;F<r;F++)0!==c[f+F]&&(u[O[c[f+F]]++]=F);if(0===d?(C=M=u,D=19):1===d?(C=e,N-=257,M=g,U-=257,D=256):(C=k,M=l,D=-1),R=0,F=0,G=H,x=q,O=L,T=0,y=-1,X=1<<L,r=X-1,1===d&&852<X||2===d&&592<X)return 1;for(var J=0;;){J++;A=G-T;u[F]<D?(B=0,E=u[F]):u[F]>D?(B=M[U+u[F]],E=C[N+u[F]]):(B=96,E=0);v=1<<G-T;H=z=1<<O;do z-=v,s[x+(R>>T)+z]=A<<24|B<<16|E|0;while(0!==z);for(v=1<<G-1;R&v;)v>>=1;if(0!==v?(R&=v-1,R+=v):R=0,F++,0===--P[G]){if(G===I)break;
G=c[f+u[F]]}if(G>L&&(R&r)!==y){0===T&&(T=L);x+=H;O=G-T;for(v=1<<O;O+T<I&&(v-=P[O+T],!(0>=v));)O++,v<<=1;if(X+=1<<O,1===d&&852<X||2===d&&592<X)return 1;y=R&r;s[y]=L<<24|O<<16|x-q|0}}return 0!==R&&(s[x+R]=G-T<<24|4194304),t.bits=L,0}},{"../utils/common":3}],13:[function(c,f,d){f.exports={2:"need dictionary",1:"stream end","0":"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(c,f,d){function b(b){for(var d=
b.length;0<=--d;)b[d]=0}function e(b,d,e,c,f){this.static_tree=b;this.extra_bits=d;this.extra_base=e;this.elems=c;this.max_length=f;this.has_stree=b&&b.length}function g(b,d){this.dyn_tree=b;this.max_code=0;this.stat_desc=d}function k(b,d){b.pending_buf[b.pending++]=255&d;b.pending_buf[b.pending++]=d>>>8&255}function l(b,d,e){b.bi_valid>X-e?(b.bi_buf|=d<<b.bi_valid&65535,k(b,b.bi_buf),b.bi_buf=d>>X-b.bi_valid,b.bi_valid+=e-X):(b.bi_buf|=d<<b.bi_valid&65535,b.bi_valid+=e)}function n(b,d,e){l(b,e[2*
d],e[2*d+1])}function m(b,d){var e=0;do e|=1&b,b>>>=1,e<<=1;while(0<--d);return e>>>1}function p(b,d,e){var c,f=Array(T+1),g=0;for(c=1;c<=T;c++)f[c]=g=g+e[c-1]<<1;for(e=0;e<=d;e++)c=b[2*e+1],0!==c&&(b[2*e]=m(f[c]++,c))}function r(b){var d;for(d=0;d<H;d++)b.dyn_ltree[2*d]=0;for(d=0;d<I;d++)b.dyn_dtree[2*d]=0;for(d=0;d<L;d++)b.bl_tree[2*d]=0;b.dyn_ltree[2*R]=1;b.opt_len=b.static_len=0;b.last_lit=b.matches=0}function s(b){8<b.bi_valid?k(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);
b.bi_buf=0;b.bi_valid=0}function q(b,d,e,c){var f=2*d,g=2*e;return b[f]<b[g]||b[f]===b[g]&&c[d]<=c[e]}function u(b,d,e){for(var c=b.heap[e],f=e<<1;f<=b.heap_len&&(f<b.heap_len&&q(d,b.heap[f+1],b.heap[f],b.depth)&&f++,!q(d,c,b.heap[f],b.depth));)b.heap[e]=b.heap[f],e=f,f<<=1;b.heap[e]=c}function t(b,d,e){var c,f,g,k,m=0;if(0!==b.last_lit){do c=b.pending_buf[b.d_buf+2*m]<<8|b.pending_buf[b.d_buf+2*m+1],f=b.pending_buf[b.l_buf+m],m++,0===c?n(b,f,d):(g=da[f],n(b,g+F+1,d),k=M[g],0!==k&&(f-=V[g],l(b,f,
k)),c--,g=256>c?ea[c]:ea[256+(c>>>7)],n(b,g,e),k=U[g],0!==k&&(c-=Y[g],l(b,c,k)));while(m<b.last_lit)}n(b,R,d)}function v(b,d){var e,c,f,g=d.dyn_tree;c=d.stat_desc.static_tree;var k=d.stat_desc.has_stree,l=d.stat_desc.elems,n=-1;b.heap_len=0;b.heap_max=O;for(e=0;e<l;e++)0!==g[2*e]?(b.heap[++b.heap_len]=n=e,b.depth[e]=0):g[2*e+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>n?++n:0,g[2*f]=1,b.depth[f]=0,b.opt_len--,k&&(b.static_len-=c[2*f+1]);d.max_code=n;for(e=b.heap_len>>1;1<=e;e--)u(b,g,e);f=l;
do e=b.heap[1],b.heap[1]=b.heap[b.heap_len--],u(b,g,1),c=b.heap[1],b.heap[--b.heap_max]=e,b.heap[--b.heap_max]=c,g[2*f]=g[2*e]+g[2*c],b.depth[f]=(b.depth[e]>=b.depth[c]?b.depth[e]:b.depth[c])+1,g[2*e+1]=g[2*c+1]=f,b.heap[1]=f++,u(b,g,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var m,t,k=d.dyn_tree,l=d.max_code,q=d.stat_desc.static_tree,v=d.stat_desc.has_stree,z=d.stat_desc.extra_bits,y=d.stat_desc.extra_base,x=d.stat_desc.max_length,r=0;for(c=0;c<=T;c++)b.bl_count[c]=0;k[2*b.heap[b.heap_max]+
1]=0;for(e=b.heap_max+1;e<O;e++)f=b.heap[e],c=k[2*k[2*f+1]+1]+1,c>x&&(c=x,r++),k[2*f+1]=c,f>l||(b.bl_count[c]++,m=0,f>=y&&(m=z[f-y]),t=k[2*f],b.opt_len+=t*(c+m),v&&(b.static_len+=t*(q[2*f+1]+m)));if(0!==r){do{for(c=x-1;0===b.bl_count[c];)c--;b.bl_count[c]--;b.bl_count[c+1]+=2;b.bl_count[x]--;r-=2}while(0<r);for(c=x;0!==c;c--)for(f=b.bl_count[c];0!==f;)m=b.heap[--e],m>l||(k[2*m+1]!==c&&(b.opt_len+=(c-k[2*m+1])*k[2*m],k[2*m+1]=c),f--)}p(g,n,b.bl_count)}function z(b,d,e){var c,f,g=-1,k=d[1],l=0,n=7,
m=4;0===k&&(n=138,m=3);d[2*(e+1)+1]=65535;for(c=0;c<=e;c++)f=k,k=d[2*(c+1)+1],++l<n&&f===k||(l<m?b.bl_tree[2*f]+=l:0!==f?(f!==g&&b.bl_tree[2*f]++,b.bl_tree[2*C]++):10>=l?b.bl_tree[2*N]++:b.bl_tree[2*P]++,l=0,g=f,0===k?(n=138,m=3):f===k?(n=6,m=3):(n=7,m=4))}function y(b,d,e){var c,f,g=-1,k=d[1],m=0,t=7,u=4;0===k&&(t=138,u=3);for(c=0;c<=e;c++)if(f=k,k=d[2*(c+1)+1],!(++m<t&&f===k)){if(m<u){do n(b,f,b.bl_tree);while(0!==--m)}else 0!==f?(f!==g&&(n(b,f,b.bl_tree),m--),n(b,C,b.bl_tree),l(b,m-3,2)):10>=m?
(n(b,N,b.bl_tree),l(b,m-3,3)):(n(b,P,b.bl_tree),l(b,m-11,7));m=0;g=f;0===k?(t=138,u=3):f===k?(t=6,u=3):(t=7,u=4)}}function x(b){var d,e=4093624447;for(d=0;31>=d;d++,e>>>=1)if(1&e&&0!==b.dyn_ltree[2*d])return B;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return E;for(d=32;d<F;d++)if(0!==b.dyn_ltree[2*d])return E;return B}function D(b,d,e,c){l(b,(G<<1)+(c?1:0),3);s(b);k(b,e);k(b,~e);A.arraySet(b.pending_buf,b.window,d,e,b.pending);b.pending+=e}var A=c("../utils/common"),B=0,E=1,
G=0,F=256,H=F+1+29,I=30,L=19,O=2*H+1,T=15,X=16,R=256,C=16,N=17,P=18,M=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],U=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],J=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],K=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S=Array(2*(H+2));b(S);var Z=Array(2*I);b(Z);var ea=Array(512);b(ea);var da=Array(256);b(da);var V=Array(29);b(V);var Y=Array(I);b(Y);var aa,W,Q,ga=!1;d._tr_init=function(b){if(!ga){var d,c,f,k=Array(T+1);for(f=
c=0;28>f;f++){V[f]=c;for(d=0;d<1<<M[f];d++)da[c++]=f}da[c-1]=f;for(f=c=0;16>f;f++){Y[f]=c;for(d=0;d<1<<U[f];d++)ea[c++]=f}for(c>>=7;f<I;f++){Y[f]=c<<7;for(d=0;d<1<<U[f]-7;d++)ea[256+c++]=f}for(d=0;d<=T;d++)k[d]=0;for(d=0;143>=d;)S[2*d+1]=8,d++,k[8]++;for(;255>=d;)S[2*d+1]=9,d++,k[9]++;for(;279>=d;)S[2*d+1]=7,d++,k[7]++;for(;287>=d;)S[2*d+1]=8,d++,k[8]++;p(S,H+1,k);for(d=0;d<I;d++)Z[2*d+1]=5,Z[2*d]=m(d,5);aa=new e(S,M,F+1,H,T);W=new e(Z,U,0,I,T);Q=new e([],J,0,L,7);ga=!0}b.l_desc=new g(b.dyn_ltree,
aa);b.d_desc=new g(b.dyn_dtree,W);b.bl_desc=new g(b.bl_tree,Q);b.bi_buf=0;b.bi_valid=0;r(b)};d._tr_stored_block=D;d._tr_flush_block=function(b,d,e,c){var f,g,k=0;if(0<b.level){2===b.strm.data_type&&(b.strm.data_type=x(b));v(b,b.l_desc);v(b,b.d_desc);z(b,b.dyn_ltree,b.l_desc.max_code);z(b,b.dyn_dtree,b.d_desc.max_code);v(b,b.bl_desc);for(k=L-1;3<=k&&0===b.bl_tree[2*K[k]+1];k--);k=(b.opt_len+=3*(k+1)+14,k);f=b.opt_len+3+7>>>3;g=b.static_len+3+7>>>3;g<=f&&(f=g)}else f=g=e+5;if(e+4<=f&&-1!==d)D(b,d,e,
c);else if(4===b.strategy||g===f)l(b,2+(c?1:0),3),t(b,S,Z);else{l(b,4+(c?1:0),3);d=b.l_desc.max_code+1;e=b.d_desc.max_code+1;k+=1;l(b,d-257,5);l(b,e-1,5);l(b,k-4,4);for(f=0;f<k;f++)l(b,b.bl_tree[2*K[f]+1],3);y(b,b.dyn_ltree,d-1);y(b,b.dyn_dtree,e-1);t(b,b.dyn_ltree,b.dyn_dtree)}r(b);c&&s(b)};d._tr_tally=function(b,d,e){return b.pending_buf[b.d_buf+2*b.last_lit]=d>>>8&255,b.pending_buf[b.d_buf+2*b.last_lit+1]=255&d,b.pending_buf[b.l_buf+b.last_lit]=255&e,b.last_lit++,0===d?b.dyn_ltree[2*e]++:(b.matches++,
d--,b.dyn_ltree[2*(da[e]+F+1)]++,b.dyn_dtree[2*(256>d?ea[d]:ea[256+(d>>>7)])]++),b.last_lit===b.lit_bufsize-1};d._tr_align=function(b){l(b,2,3);n(b,R,S);16===b.bi_valid?(k(b,b.bi_buf),b.bi_buf=0,b.bi_valid=0):8<=b.bi_valid&&(b.pending_buf[b.pending++]=255&b.bi_buf,b.bi_buf>>=8,b.bi_valid-=8)}},{"../utils/common":3}],15:[function(c,f,d){f.exports=function(){this.input=null;this.total_in=this.avail_in=this.next_in=0;this.output=null;this.total_out=this.avail_out=this.next_out=0;this.msg="";this.state=
null;this.data_type=2;this.adler=0}},{}],"/":[function(c,f,d){d=c("./lib/utils/common").assign;var b=c("./lib/deflate"),e=c("./lib/inflate");c=c("./lib/zlib/constants");var g={};d(g,b,e,c);f.exports=g},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")});var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d",encode:function(a,c){var f="",d,b,e,g,k,l,n=0;for(null!=c&&c||(a=Base64._utf8_encode(a));n<a.length;)d=a.charCodeAt(n++),b=a.charCodeAt(n++),e=a.charCodeAt(n++),g=d>>2,d=(d&3)<<4|b>>4,k=(b&15)<<2|e>>6,l=e&63,isNaN(b)?k=l=64:isNaN(e)&&(l=64),f=f+this._keyStr.charAt(g)+this._keyStr.charAt(d)+this._keyStr.charAt(k)+this._keyStr.charAt(l);return f},decode:function(a,c){c=null!=c?c:!1;var f="",d,b,e,g,k,l=0;for(a=
a.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<a.length;)d=this._keyStr.indexOf(a.charAt(l++)),b=this._keyStr.indexOf(a.charAt(l++)),g=this._keyStr.indexOf(a.charAt(l++)),k=this._keyStr.indexOf(a.charAt(l++)),d=d<<2|b>>4,b=(b&15)<<4|g>>2,e=(g&3)<<6|k,f+=String.fromCharCode(d),64!=g&&(f+=String.fromCharCode(b)),64!=k&&(f+=String.fromCharCode(e));c||(f=Base64._utf8_decode(f));return f},_utf8_encode:function(a){a=a.replace(/\r\n/g,"\n");for(var c="",f=0;f<a.length;f++){var d=a.charCodeAt(f);128>d?c+=String.fromCharCode(d):
(127<d&&2048>d?c+=String.fromCharCode(d>>6|192):(c+=String.fromCharCode(d>>12|224),c+=String.fromCharCode(d>>6&63|128)),c+=String.fromCharCode(d&63|128))}return c},_utf8_decode:function(a){for(var c="",f=0,d=c1=c2=0;f<a.length;)d=a.charCodeAt(f),128>d?(c+=String.fromCharCode(d),f++):191<d&&224>d?(c2=a.charCodeAt(f+1),c+=String.fromCharCode((d&31)<<6|c2&63),f+=2):(c2=a.charCodeAt(f+1),c3=a.charCodeAt(f+2),c+=String.fromCharCode((d&15)<<12|(c2&63)<<6|c3&63),f+=3);return c}};window.urlParams=window.urlParams||{};window.isLocalStorage=window.isLocalStorage||!1;window.EXPORT_URL=window.EXPORT_URL||"https://exp.draw.io/ImageExport4/export";window.SAVE_URL=window.SAVE_URL||"save";window.OPEN_URL=window.OPEN_URL||"open";window.PROXY_URL=window.PROXY_URL||"proxy";window.SHAPES_PATH=window.SHAPES_PATH||"shapes";window.GRAPH_IMAGE_PATH=window.GRAPH_IMAGE_PATH||"img";window.ICONFINDER_PATH=window.ICONFINDER_PATH||0<=navigator.userAgent.indexOf("MSIE")?"iconfinder":"https://www.draw.io/iconfinder";
window.TEMPLATE_PATH=window.TEMPLATE_PATH||"/templates";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||RESOURCES_PATH+"/dia";window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||function(){var a="1"==urlParams.offline?"en":urlParams.lang;if(null==a&&"undefined"!=typeof JSON&&isLocalStorage)try{var c=localStorage.getItem(".drawio-config");null!=c&&(a=JSON.parse(c).language||null)}catch(f){isLocalStorage=!1}return a}();
window.mxLanguageMap=window.mxLanguageMap||{i18n:"",id:"Bahasa Indonesia",ms:"Bahasa Melayu",bs:"Bosanski",ca:"Catal\u00e0",cs:"\u010ce\u0161tina",da:"Dansk",de:"Deutsch",et:"Eesti",en:"English",es:"Espa\u00f1ol",fil:"Filipino",fr:"Fran\u00e7ais",it:"Italiano",hu:"Magyar",nl:"Nederlands",no:"Norsk",pl:"Polski","pt-br":"Portugu\u00eas (Brasil)",pt:"Portugu\u00eas (Portugal)",ro:"Rom\u00e2n\u0103",fi:"Suomi",sv:"Svenska",vi:"Ti\u1ebfng Vi\u1ec7t",tr:"T\u00fcrk\u00e7e",el:"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",
ru:"\u0420\u0443\u0441\u0441\u043a\u0438\u0439",sr:"\u0421\u0440\u043f\u0441\u043a\u0438",uk:"\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",he:"\u05e2\u05d1\u05e8\u05d9\u05ea",ar:"\u0627\u0644\u0639\u0631\u0628\u064a\u0629",th:"\u0e44\u0e17\u0e22",ko:"\ud55c\uad6d\uc5b4",ja:"\u65e5\u672c\u8a9e",zh:"\u4e2d\u6587\uff08\u4e2d\u56fd\uff09","zh-tw":"\u4e2d\u6587\uff08\u53f0\u7063\uff09"};"undefined"===typeof window.mxBasePath&&(window.mxBasePath="mxgraph");
if(null==window.mxLanguages){window.mxLanguages=[];for(var lang in mxLanguageMap)"en"!=lang&&window.mxLanguages.push(lang)}window.uiTheme=window.uiTheme||function(){var a=urlParams.ui;if(null==a&&"undefined"!==typeof JSON&&isLocalStorage)try{var c=localStorage.getItem(".drawio-config");null!=c&&(a=JSON.parse(c).ui||null)}catch(f){isLocalStorage=!1}return a}();function setCurrentXml(a,c){null!=window.parent&&null!=window.parent.openFile&&window.parent.openFile.setData(a,c)}
(function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),c=!0;null!=a&&(c=JSON.parse(a).showStartScreen);!1==c&&(urlParams.splash="0")}catch(f){}})();var ex=urlParams["export"];null!=ex&&("http://"!=ex.substring(0,7)&&"https://"!=ex.substring(0,8)&&(ex="http://"+ex),EXPORT_URL=ex);
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.analytics="0",urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0";if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||1E8;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.6.0.0",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
0<=navigator.userAgent.indexOf("Epiphany/")||0<=navigator.userAgent.indexOf("AppleWebKit/")||0<=navigator.userAgent.indexOf("Gecko/")||0<=navigator.userAgent.indexOf("Opera/")||null!=document.documentMode&&9<=document.documentMode,NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!=document.createElementNS("http://www.w3.org/2000/svg","foreignObject")||0<=navigator.userAgent.indexOf("Opera/"),IS_VML:"MICROSOFT INTERNET EXPLORER"==navigator.appName.toUpperCase(),IS_WIN:0<navigator.appVersion.indexOf("Win"),
IS_MAC:0<navigator.appVersion.indexOf("Mac"),IS_TOUCH:"ontouchstart"in document.documentElement,IS_POINTER:null!=window.PointerEvent,IS_LOCAL:0>document.location.href.indexOf("http://")&&0>document.location.href.indexOf("https://"),isBrowserSupported:function(){return mxClient.IS_VML||mxClient.IS_SVG},link:function(a,c,f){f=f||document;if(mxClient.IS_IE6)f.write('\x3clink rel\x3d"'+a+'" href\x3d"'+c+'" charset\x3d"ISO-8859-1" type\x3d"text/css"/\x3e');else{var d=f.createElement("link");d.setAttribute("rel",
a);d.setAttribute("href",c);d.setAttribute("charset","ISO-8859-1");d.setAttribute("type","text/css");f.getElementsByTagName("head")[0].appendChild(d)}},include:function(a){document.write('\x3cscript src\x3d"'+a+'"\x3e\x3c/script\x3e')},dispose:function(){for(var a=0;a<mxEvent.objects.length;a++)null!=mxEvent.objects[a].mxListenerList&&mxEvent.removeAllListeners(mxEvent.objects[a])}};"undefined"==typeof mxLoadResources&&(mxLoadResources=!0);
"undefined"==typeof mxResourceExtension&&(mxResourceExtension=".txt");"undefined"==typeof mxLoadStylesheets&&(mxLoadStylesheets=!0);"undefined"!=typeof mxBasePath&&0<mxBasePath.length?("/"==mxBasePath.substring(mxBasePath.length-1)&&(mxBasePath=mxBasePath.substring(0,mxBasePath.length-1)),mxClient.basePath=mxBasePath):mxClient.basePath=".";
"undefined"!=typeof mxImageBasePath&&0<mxImageBasePath.length?("/"==mxImageBasePath.substring(mxImageBasePath.length-1)&&(mxImageBasePath=mxImageBasePath.substring(0,mxImageBasePath.length-1)),mxClient.imageBasePath=mxImageBasePath):mxClient.imageBasePath=mxClient.basePath+"/images";mxClient.language="undefined"!=typeof mxLanguage&&null!=mxLanguage?mxLanguage:mxClient.IS_IE?navigator.userLanguage:navigator.language;
mxClient.defaultLanguage="undefined"!=typeof mxDefaultLanguage&&null!=mxDefaultLanguage?mxDefaultLanguage:"en";mxLoadStylesheets&&mxClient.link("stylesheet",mxClient.basePath+"/css/common.css");"undefined"!=typeof mxLanguages&&null!=mxLanguages&&(mxClient.languages=mxLanguages);
mxClient.IS_VML&&(mxClient.IS_SVG?mxClient.IS_VML=!1:(8==document.documentMode?(document.namespaces.add(mxClient.VML_PREFIX,"urn:schemas-microsoft-com:vml","#default#VML"),document.namespaces.add(mxClient.OFFICE_PREFIX,"urn:schemas-microsoft-com:office:office","#default#VML")):(document.namespaces.add(mxClient.VML_PREFIX,"urn:schemas-microsoft-com:vml"),document.namespaces.add(mxClient.OFFICE_PREFIX,"urn:schemas-microsoft-com:office:office")),mxClient.IS_QUIRKS&&30<=document.styleSheets.length?function(){var a=
document.createElement("style");a.type="text/css";a.styleSheet.cssText=mxClient.VML_PREFIX+"\\:*{behavior:url(#default#VML)}"+mxClient.OFFICE_PREFIX+"\\:*{behavior:url(#default#VML)}";document.getElementsByTagName("head")[0].appendChild(a)}():document.createStyleSheet().cssText=mxClient.VML_PREFIX+"\\:*{behavior:url(#default#VML)}"+mxClient.OFFICE_PREFIX+"\\:*{behavior:url(#default#VML)}",mxLoadStylesheets&&mxClient.link("stylesheet",mxClient.basePath+"/css/explorer.css"),window.attachEvent("onunload",
mxClient.dispose)));
var mxLog={consoleName:"Console",TRACE:!1,DEBUG:!0,WARN:!0,buffer:"",init:function(){if(null==mxLog.window&&null!=document.body){var a=mxLog.consoleName+" - mxGraph "+mxClient.VERSION,c=document.createElement("table");c.setAttribute("width","100%");c.setAttribute("height","100%");var f=document.createElement("tbody"),d=document.createElement("tr"),b=document.createElement("td");b.style.verticalAlign="top";mxLog.textarea=document.createElement("textarea");mxLog.textarea.setAttribute("readOnly","true");
mxLog.textarea.style.height="100%";mxLog.textarea.style.resize="none";mxLog.textarea.value=mxLog.buffer;mxLog.textarea.style.width=mxClient.IS_NS&&"BackCompat"!=document.compatMode?"99%":"100%";b.appendChild(mxLog.textarea);d.appendChild(b);f.appendChild(d);d=document.createElement("tr");mxLog.td=document.createElement("td");mxLog.td.style.verticalAlign="top";mxLog.td.setAttribute("height","30px");d.appendChild(mxLog.td);f.appendChild(d);c.appendChild(f);mxLog.addButton("Info",function(b){mxLog.info()});
mxLog.addButton("DOM",function(b){b=mxUtils.getInnerHtml(document.body);mxLog.debug(b)});mxLog.addButton("Trace",function(b){mxLog.TRACE=!mxLog.TRACE;mxLog.TRACE?mxLog.debug("Tracing enabled"):mxLog.debug("Tracing disabled")});mxLog.addButton("Copy",function(b){try{mxUtils.copy(mxLog.textarea.value)}catch(a){mxUtils.alert(a)}});mxLog.addButton("Show",function(b){try{mxUtils.popup(mxLog.textarea.value)}catch(a){mxUtils.alert(a)}});mxLog.addButton("Clear",function(b){mxLog.textarea.value=""});d=f=0;
"number"===typeof window.innerWidth?(f=window.innerHeight,d=window.innerWidth):(f=document.documentElement.clientHeight||document.body.clientHeight,d=document.body.clientWidth);mxLog.window=new mxWindow(a,c,Math.max(0,d-320),Math.max(0,f-210),300,160);mxLog.window.setMaximizable(!0);mxLog.window.setScrollable(!1);mxLog.window.setResizable(!0);mxLog.window.setClosable(!0);mxLog.window.destroyOnClose=!1;if((mxClient.IS_NS||mxClient.IS_IE)&&!mxClient.IS_GC&&!mxClient.IS_SF&&"BackCompat"!=document.compatMode||
11==document.documentMode){var e=mxLog.window.getElement(),a=function(b,a){mxLog.textarea.style.height=Math.max(0,e.offsetHeight-70)+"px"};mxLog.window.addListener(mxEvent.RESIZE_END,a);mxLog.window.addListener(mxEvent.MAXIMIZE,a);mxLog.window.addListener(mxEvent.NORMALIZE,a);mxLog.textarea.style.height="92px"}}},info:function(){mxLog.writeln(mxUtils.toString(navigator))},addButton:function(a,c){var f=document.createElement("button");mxUtils.write(f,a);mxEvent.addListener(f,"click",c);mxLog.td.appendChild(f)},
isVisible:function(){return null!=mxLog.window?mxLog.window.isVisible():!1},show:function(){mxLog.setVisible(!0)},setVisible:function(a){null==mxLog.window&&mxLog.init();null!=mxLog.window&&mxLog.window.setVisible(a)},enter:function(a){if(mxLog.TRACE)return mxLog.writeln("Entering "+a),(new Date).getTime()},leave:function(a,c){if(mxLog.TRACE){var f=0!=c?" ("+((new Date).getTime()-c)+" ms)":"";mxLog.writeln("Leaving "+a+f)}},debug:function(){mxLog.DEBUG&&mxLog.writeln.apply(this,arguments)},warn:function(){mxLog.WARN&&
mxLog.writeln.apply(this,arguments)},write:function(){for(var a="",c=0;c<arguments.length;c++)a+=arguments[c],c<arguments.length-1&&(a+=" ");null!=mxLog.textarea?(mxLog.textarea.value+=a,0<=navigator.userAgent.indexOf("Presto/2.5")&&(mxLog.textarea.style.visibility="hidden",mxLog.textarea.style.visibility="visible"),mxLog.textarea.scrollTop=mxLog.textarea.scrollHeight):mxLog.buffer+=a},writeln:function(){for(var a="",c=0;c<arguments.length;c++)a+=arguments[c],c<arguments.length-1&&(a+=" ");mxLog.write(a+
"\n")}},mxObjectIdentity={FIELD_NAME:"mxObjectId",counter:0,get:function(a){if(null!=a){if(null==a[mxObjectIdentity.FIELD_NAME])if("object"===typeof a){var c=mxUtils.getFunctionName(a.constructor);a[mxObjectIdentity.FIELD_NAME]=c+"#"+mxObjectIdentity.counter++}else"function"===typeof a&&(a[mxObjectIdentity.FIELD_NAME]="Function#"+mxObjectIdentity.counter++);return a[mxObjectIdentity.FIELD_NAME]}return null},clear:function(a){("object"===typeof a||"function"===typeof a)&&delete a[mxObjectIdentity.FIELD_NAME]}};
function mxDictionary(){this.clear()}mxDictionary.prototype.map=null;mxDictionary.prototype.clear=function(){this.map={}};mxDictionary.prototype.get=function(a){a=mxObjectIdentity.get(a);return this.map[a]};mxDictionary.prototype.put=function(a,c){var f=mxObjectIdentity.get(a),d=this.map[f];this.map[f]=c;return d};mxDictionary.prototype.remove=function(a){a=mxObjectIdentity.get(a);var c=this.map[a];delete this.map[a];return c};
mxDictionary.prototype.getKeys=function(){var a=[],c;for(c in this.map)a.push(c);return a};mxDictionary.prototype.getValues=function(){var a=[],c;for(c in this.map)a.push(this.map[c]);return a};mxDictionary.prototype.visit=function(a){for(var c in this.map)a(c,this.map[c])};
var mxResources={resources:[],extension:mxResourceExtension,resourcesEncoded:!1,loadDefaultBundle:!0,loadSpecialBundle:!0,isLanguageSupported:function(a){return null!=mxClient.languages?0<=mxUtils.indexOf(mxClient.languages,a):!0},getDefaultBundle:function(a,c){return mxResources.loadDefaultBundle||!mxResources.isLanguageSupported(c)?a+mxResources.extension:null},getSpecialBundle:function(a,c){if(null==mxClient.languages||!this.isLanguageSupported(c)){var f=c.indexOf("-");0<f&&(c=c.substring(0,f))}return mxResources.loadSpecialBundle&&
mxResources.isLanguageSupported(c)&&c!=mxClient.defaultLanguage?a+"_"+c+mxResources.extension:null},add:function(a,c,f){c=null!=c?c:null!=mxClient.language?mxClient.language.toLowerCase():mxConstants.NONE;if(c!=mxConstants.NONE){var d=mxResources.getDefaultBundle(a,c),b=mxResources.getSpecialBundle(a,c),e=function(){if(null!=b)if(f)mxUtils.get(b,function(b){mxResources.parse(b.getText());f()},function(){f()});else try{var a=mxUtils.load(b);a.isReady()&&mxResources.parse(a.getText())}catch(d){}else null!=
f&&f()};if(null!=d)if(f)mxUtils.get(d,function(b){mxResources.parse(b.getText());e()},function(){e()});else try{var g=mxUtils.load(d);g.isReady()&&mxResources.parse(g.getText());e()}catch(k){}else e()}},parse:function(a){if(null!=a){a=a.split("\n");for(var c=0;c<a.length;c++)if("#"!=a[c].charAt(0)){var f=a[c].indexOf("\x3d");if(0<f){var d=a[c].substring(0,f),b=a[c].length;13==a[c].charCodeAt(b-1)&&b--;f=a[c].substring(f+1,b);this.resourcesEncoded?(f=f.replace(/\\(?=u[a-fA-F\d]{4})/g,"%"),mxResources.resources[d]=
unescape(f)):mxResources.resources[d]=f}}}},get:function(a,c,f){a=mxResources.resources[a];null==a&&(a=f);null!=a&&null!=c&&(a=mxResources.replacePlaceholders(a,c));return a},replacePlaceholders:function(a,c){for(var f=[],d=null,b=0;b<a.length;b++){var e=a.charAt(b);"{"==e?d="":null!=d&&"}"==e?(d=parseInt(d)-1,0<=d&&d<c.length&&f.push(c[d]),d=null):null!=d?d+=e:f.push(e)}return f.join("")},loadResources:function(a){mxResources.add(mxClient.basePath+"/resources/editor",null,function(){mxResources.add(mxClient.basePath+
"/resources/graph",null,a)})}};function mxPoint(a,c){this.x=null!=a?a:0;this.y=null!=c?c:0}mxPoint.prototype.x=null;mxPoint.prototype.y=null;mxPoint.prototype.equals=function(a){return null!=a&&a.x==this.x&&a.y==this.y};mxPoint.prototype.clone=function(){return mxUtils.clone(this)};function mxRectangle(a,c,f,d){mxPoint.call(this,a,c);this.width=null!=f?f:0;this.height=null!=d?d:0}mxRectangle.prototype=new mxPoint;mxRectangle.prototype.constructor=mxRectangle;mxRectangle.prototype.width=null;
mxRectangle.prototype.height=null;mxRectangle.prototype.setRect=function(a,c,f,d){this.x=a;this.y=c;this.width=f;this.height=d};mxRectangle.prototype.getCenterX=function(){return this.x+this.width/2};mxRectangle.prototype.getCenterY=function(){return this.y+this.height/2};
mxRectangle.prototype.add=function(a){if(null!=a){var c=Math.min(this.x,a.x),f=Math.min(this.y,a.y),d=Math.max(this.x+this.width,a.x+a.width);a=Math.max(this.y+this.height,a.y+a.height);this.x=c;this.y=f;this.width=d-c;this.height=a-f}};mxRectangle.prototype.intersect=function(a){if(null!=a){var c=this.x+this.width,f=a.x+a.width,d=this.y+this.height,b=a.y+a.height;this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.width=Math.min(c,f)-this.x;this.height=Math.min(d,b)-this.y}};
mxRectangle.prototype.grow=function(a){this.x-=a;this.y-=a;this.width+=2*a;this.height+=2*a};mxRectangle.prototype.getPoint=function(){return new mxPoint(this.x,this.y)};mxRectangle.prototype.rotate90=function(){var a=(this.width-this.height)/2;this.x+=a;this.y-=a;a=this.width;this.width=this.height;this.height=a};mxRectangle.prototype.equals=function(a){return null!=a&&a.x==this.x&&a.y==this.y&&a.width==this.width&&a.height==this.height};
mxRectangle.fromRectangle=function(a){return new mxRectangle(a.x,a.y,a.width,a.height)};
var mxEffects={animateChanges:function(a,c,f){var d=0,b=function(){for(var g=!1,k=0;k<c.length;k++){var l=c[k];if(l instanceof mxGeometryChange||l instanceof mxTerminalChange||l instanceof mxValueChange||l instanceof mxChildChange||l instanceof mxStyleChange){var n=a.getView().getState(l.cell||l.child,!1);if(null!=n)if(g=!0,l.constructor!=mxGeometryChange||a.model.isEdge(l.cell))mxUtils.setOpacity(n.shape.node,100*d/10);else{var m=a.getView().scale,p=(l.geometry.x-l.previous.x)*m,r=(l.geometry.y-
l.previous.y)*m,s=(l.geometry.width-l.previous.width)*m,m=(l.geometry.height-l.previous.height)*m;0==d?(n.x-=p,n.y-=r,n.width-=s,n.height-=m):(n.x+=p/10,n.y+=r/10,n.width+=s/10,n.height+=m/10);a.cellRenderer.redraw(n);mxEffects.cascadeOpacity(a,l.cell,100*d/10)}}}10>d&&g?(d++,window.setTimeout(b,e)):null!=f&&f()},e=30;b()},cascadeOpacity:function(a,c,f){for(var d=a.model.getChildCount(c),b=0;b<d;b++){var e=a.model.getChildAt(c,b),g=a.getView().getState(e);null!=g&&(mxUtils.setOpacity(g.shape.node,
f),mxEffects.cascadeOpacity(a,e,f))}c=a.model.getEdges(c);if(null!=c)for(b=0;b<c.length;b++)d=a.getView().getState(c[b]),null!=d&&mxUtils.setOpacity(d.shape.node,f)},fadeOut:function(a,c,f,d,b,e){d=d||40;b=b||30;var g=c||100;mxUtils.setOpacity(a,g);if(e||null==e){var k=function(){g=Math.max(g-d,0);mxUtils.setOpacity(a,g);0<g?window.setTimeout(k,b):(a.style.visibility="hidden",f&&a.parentNode&&a.parentNode.removeChild(a))};window.setTimeout(k,b)}else a.style.visibility="hidden",f&&a.parentNode&&a.parentNode.removeChild(a)}},
mxUtils={errorResource:"none"!=mxClient.language?"error":"",closeResource:"none"!=mxClient.language?"close":"",errorImage:mxClient.imageBasePath+"/error.gif",removeCursors:function(a){null!=a.style&&(a.style.cursor="");a=a.childNodes;if(null!=a)for(var c=a.length,f=0;f<c;f+=1)mxUtils.removeCursors(a[f])},getCurrentStyle:function(){return mxClient.IS_IE?function(a){return null!=a?a.currentStyle:null}:function(a){return null!=a?window.getComputedStyle(a,""):null}}(),parseCssNumber:function(a){"thin"==
a?a="2":"medium"==a?a="4":"thick"==a&&(a="6");a=parseFloat(a);isNaN(a)&&(a=0);return a},setPrefixedStyle:function(){var a=null;mxClient.IS_OT?a="O":mxClient.IS_SF||mxClient.IS_GC?a="Webkit":mxClient.IS_MT?a="Moz":mxClient.IS_IE&&9<=document.documentMode&&10>document.documentMode&&(a="ms");return function(c,f,d){c[f]=d;null!=a&&0<f.length&&(f=a+f.substring(0,1).toUpperCase()+f.substring(1),c[f]=d)}}(),hasScrollbars:function(a){a=mxUtils.getCurrentStyle(a);return null!=a&&("scroll"==a.overflow||"auto"==
a.overflow)},bind:function(a,c){return function(){return c.apply(a,arguments)}},eval:function(a){var c=null;if(0<=a.indexOf("function"))try{eval("var _mxJavaScriptExpression\x3d"+a),c=_mxJavaScriptExpression,_mxJavaScriptExpression=null}catch(f){mxLog.warn(f.message+" while evaluating "+a)}else try{c=eval(a)}catch(d){mxLog.warn(d.message+" while evaluating "+a)}return c},findNode:function(a,c,f){if(a.nodeType==mxConstants.NODETYPE_ELEMENT){var d=a.getAttribute(c);if(null!=d&&d==f)return a}for(a=a.firstChild;null!=
a;){d=mxUtils.findNode(a,c,f);if(null!=d)return d;a=a.nextSibling}return null},getFunctionName:function(a){var c=null;null!=a&&(null!=a.name?c=a.name:(c=mxUtils.trim(a.toString()),/^function\s/.test(c)&&(c=mxUtils.ltrim(c.substring(9)),a=c.indexOf("("),0<a&&(c=c.substring(0,a)))));return c},indexOf:function(a,c){if(null!=a&&null!=c)for(var f=0;f<a.length;f++)if(a[f]==c)return f;return-1},forEach:function(a,c){if(null!=a&&null!=c)for(var f=0;f<a.length;f++)c(a[f]);return a},remove:function(a,c){var f=
null;if("object"==typeof c)for(var d=mxUtils.indexOf(c,a);0<=d;)c.splice(d,1),f=a,d=mxUtils.indexOf(c,a);for(var b in c)c[b]==a&&(delete c[b],f=a);return f},isNode:function(a,c,f,d){return null!=a&&!isNaN(a.nodeType)&&(null==c||a.nodeName.toLowerCase()==c.toLowerCase())?null==f||a.getAttribute(f)==d:!1},isAncestorNode:function(a,c){for(var f=c;null!=f;){if(f==a)return!0;f=f.parentNode}return!1},getChildNodes:function(a,c){c=c||mxConstants.NODETYPE_ELEMENT;for(var f=[],d=a.firstChild;null!=d;)d.nodeType==
c&&f.push(d),d=d.nextSibling;return f},importNode:function(a,c,f){if(mxClient.IS_IE&&(null==document.documentMode||10>document.documentMode))switch(c.nodeType){case 1:var d=a.createElement(c.nodeName);if(c.attributes&&0<c.attributes.length){for(var b=0;b<c.attributes.length;b++)d.setAttribute(c.attributes[b].nodeName,c.getAttribute(c.attributes[b].nodeName));if(f&&c.childNodes&&0<c.childNodes.length)for(b=0;b<c.childNodes.length;b++)d.appendChild(mxUtils.importNode(a,c.childNodes[b],f))}return d;
case 3:case 4:case 8:return a.createTextNode(c.value)}else return a.importNode(c,f)},createXmlDocument:function(){var a=null;document.implementation&&document.implementation.createDocument?a=document.implementation.createDocument("","",null):window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLDOM"));return a},parseXml:function(){return window.DOMParser?function(a){return(new DOMParser).parseFromString(a,"text/xml")}:function(a){var c=mxUtils.createXmlDocument();c.async=!1;c.validateOnParse=!1;
c.resolveExternals=!1;c.loadXML(a);return c}}(),clearSelection:function(){return document.selection?function(){document.selection.empty()}:window.getSelection?function(){window.getSelection().removeAllRanges()}:function(){}}(),getPrettyXml:function(a,c,f){var d=[];if(null!=a)if(c=c||" ",f=f||"",a.nodeType==mxConstants.NODETYPE_TEXT)d.push(a.value);else{d.push(f+"\x3c"+a.nodeName);var b=a.attributes;if(null!=b)for(var e=0;e<b.length;e++){var g=mxUtils.htmlEntities(b[e].value);d.push(" "+b[e].nodeName+
'\x3d"'+g+'"')}b=a.firstChild;if(null!=b){for(d.push("\x3e\n");null!=b;)d.push(mxUtils.getPrettyXml(b,c,f+c)),b=b.nextSibling;d.push(f+"\x3c/"+a.nodeName+"\x3e\n")}else d.push("/\x3e\n")}return d.join("")},removeWhitespace:function(a,c){for(var f=c?a.previousSibling:a.nextSibling;null!=f&&f.nodeType==mxConstants.NODETYPE_TEXT;){var d=c?f.previousSibling:f.nextSibling,b=mxUtils.getTextContent(f);0==mxUtils.trim(b).length&&f.parentNode.removeChild(f);f=d}},htmlEntities:function(a,c){a=(a||"").replace(/&/g,
"\x26amp;");a=a.replace(/"/g,"\x26quot;");a=a.replace(/\'/g,"\x26#39;");a=a.replace(/</g,"\x26lt;");a=a.replace(/>/g,"\x26gt;");if(null==c||c)a=a.replace(/\n/g,"\x26#xa;");return a},isVml:function(a){return null!=a&&"urn:schemas-microsoft-com:vml"==a.tagUrn},getXml:function(a,c){var f="";null!=window.XMLSerializer?f=(new XMLSerializer).serializeToString(a):null!=a.xml&&(f=a.xml.replace(/\r\n\t[\t]*/g,"").replace(/>\r\n/g,"\x3e").replace(/\r\n/g,"\n"));return f.replace(/\n/g,c||"\x26#xa;")},extractTextWithWhitespace:function(a){for(var c=
!1,f=[],d=0;a[d];d++){var b=a[d];if(3===b.nodeType||4===b.nodeType){if(11==document.documentMode&&d==a.length-1&&0==b.nodeValue.length)break;f.push(b.nodeValue+(null==b.nextSibling||3!=b.nextSibling.nodeType?"\n":""));c=!0}else 8!==b.nodeType&&((mxClient.IS_IE||mxClient.IS_IE11)&&"P"==b.nodeName&&0==b.innerHTML.length||!c&&"BR"==b.nodeName||"DIV"==b.nodeName&&"\x3cbr\x3e"==b.innerHTML?f.push("\n"):f.push(mxUtils.extractTextWithWhitespace(b.childNodes)),c=!1)}return f.join("")},replaceTrailingNewlines:function(a,
c){for(var f="";0<a.length&&"\n"==a.charAt(a.length-1);)a=a.substring(0,a.length-1),f+=c;return a+f},getTextContent:function(a){return void 0!==a.innerText?a.innerText:null!=a?a[void 0===a.textContent?"text":"textContent"]:""},setTextContent:function(a,c){void 0!==a.innerText?a.innerText=c:a[void 0===a.textContent?"text":"textContent"]=c},getInnerHtml:function(){return mxClient.IS_IE?function(a){return null!=a?a.innerHTML:""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a):""}}(),
getOuterHtml:function(){return mxClient.IS_IE?function(a){if(null!=a){if(null!=a.outerHTML)return a.outerHTML;var c=[];c.push("\x3c"+a.nodeName);var f=a.attributes;if(null!=f)for(var d=0;d<f.length;d++){var b=f[d].value;null!=b&&0<b.length&&(c.push(" "),c.push(f[d].nodeName),c.push('\x3d"'),c.push(b),c.push('"'))}0==a.innerHTML.length?c.push("/\x3e"):(c.push("\x3e"),c.push(a.innerHTML),c.push("\x3c/"+a.nodeName+"\x3e"));return c.join("")}return""}:function(a){return null!=a?(new XMLSerializer).serializeToString(a):
""}}(),write:function(a,c){var f=a.ownerDocument.createTextNode(c);null!=a&&a.appendChild(f);return f},writeln:function(a,c){var f=a.ownerDocument.createTextNode(c);null!=a&&(a.appendChild(f),a.appendChild(document.createElement("br")));return f},br:function(a,c){c=c||1;for(var f=null,d=0;d<c;d++)null!=a&&(f=a.ownerDocument.createElement("br"),a.appendChild(f));return f},button:function(a,c,f){f=null!=f?f:document;f=f.createElement("button");mxUtils.write(f,a);mxEvent.addListener(f,"click",function(a){c(a)});
return f},para:function(a,c){var f=document.createElement("p");mxUtils.write(f,c);null!=a&&a.appendChild(f);return f},addTransparentBackgroundFilter:function(a){a.style.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'"+mxClient.imageBasePath+"/transparent.gif', sizingMethod\x3d'scale')"},linkAction:function(a,c,f,d,b){return mxUtils.link(a,c,function(){f.execute(d)},b)},linkInvoke:function(a,c,f,d,b,e){return mxUtils.link(a,c,function(){f[d](b)},e)},link:function(a,c,f,d){var b=
document.createElement("span");b.style.color="blue";b.style.textDecoration="underline";b.style.cursor="pointer";null!=d&&(b.style.paddingLeft=d+"px");mxEvent.addListener(b,"click",f);mxUtils.write(b,c);null!=a&&a.appendChild(b);return b},fit:function(a){var c=parseInt(a.offsetLeft),f=parseInt(a.offsetWidth),d=mxUtils.getDocumentScrollOrigin(a.ownerDocument),b=d.x,d=d.y,e=document.body,g=document.documentElement,k=b+(e.clientWidth||g.clientWidth);c+f>k&&(a.style.left=Math.max(b,k-f)+"px");c=parseInt(a.offsetTop);
f=parseInt(a.offsetHeight);e=d+Math.max(e.clientHeight||0,g.clientHeight);c+f>e&&(a.style.top=Math.max(d,e-f)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,c,f,d,b,e){a=new mxXmlRequest(a,null,"GET");null!=d&&a.setBinary(d);a.send(c,f,b,e);return a},getAll:function(a,c,f){for(var d=a.length,b=[],e=0,g=function(){0==e&&null!=f&&f();e++},k=0;k<a.length;k++)(function(a,e){mxUtils.get(a,function(a){var f=a.getStatus();200>f||299<f?g():(b[e]=a,d--,0==d&&
c(b))},g)})(a[k],k);0==d&&c(b)},post:function(a,c,f,d){return(new mxXmlRequest(a,c)).send(f,d)},submit:function(a,c,f,d){return(new mxXmlRequest(a,c)).simulate(f,d)},loadInto:function(a,c,f){mxClient.IS_IE?c.onreadystatechange=function(){4==c.readyState&&f()}:c.addEventListener("load",f,!1);c.load(a)},getValue:function(a,c,f){a=null!=a?a[c]:null;null==a&&(a=f);return a},getNumber:function(a,c,f){a=null!=a?a[c]:null;null==a&&(a=f||0);return Number(a)},getColor:function(a,c,f){a=null!=a?a[c]:null;null==
a?a=f:a==mxConstants.NONE&&(a=null);return a},clone:function(a,c,f){f=null!=f?f:!1;var d=null;if(null!=a&&"function"==typeof a.constructor){var d=new a.constructor,b;for(b in a)if(b!=mxObjectIdentity.FIELD_NAME&&(null==c||0>mxUtils.indexOf(c,b)))d[b]=!f&&"object"==typeof a[b]?mxUtils.clone(a[b]):a[b]}return d},equalPoints:function(a,c){if(null==a&&null!=c||null!=a&&null==c||null!=a&&null!=c&&a.length!=c.length)return!1;if(null!=a&&null!=c)for(var f=0;f<a.length;f++)if(a[f]==c[f]||null!=a[f]&&!a[f].equals(c[f]))return!1;
return!0},equalEntries:function(a,c){if(null==a&&null!=c||null!=a&&null==c||null!=a&&null!=c&&a.length!=c.length)return!1;if(null!=a&&null!=c){var f=0,d;for(d in c)f++;for(d in a)if(f--,(!mxUtils.isNaN(a[d])||!mxUtils.isNaN(c[d]))&&a[d]!=c[d])return!1}return 0==f},removeDuplicates:function(a){for(var c=new mxDictionary,f=[],d=0;d<a.length;d++)c.get(a[d])||(f.push(a[d]),c.put(a[d],!0));return f},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,c){var f=function(){};f.prototype=
c.prototype;a.prototype=new f;a.prototype.constructor=a},toString:function(a){var c="",f;for(f in a)try{if(null==a[f])c+=f+" \x3d [null]\n";else if("function"==typeof a[f])c+=f+" \x3d\x3e [Function]\n";else if("object"==typeof a[f])var d=mxUtils.getFunctionName(a[f].constructor),c=c+(f+" \x3d\x3e ["+d+"]\n");else c+=f+" \x3d "+a[f]+"\n"}catch(b){c+=f+"\x3d"+b.message}return c},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,c,f,d,b,e,g,
k,l){k-=a;l-=c;if(0===f||0===d)return r;f=Math.abs(f);d=Math.abs(d);var n=-k/2,m=-l/2,p=Math.cos(b*Math.PI/180),r=Math.sin(b*Math.PI/180);b=p*n+r*m;var n=-1*r*n+p*m,m=b*b,s=n*n,q=f*f,u=d*d,t=m/q+s/u;1<t?(f*=Math.sqrt(t),d*=Math.sqrt(t),e=0):(t=1,e===g&&(t=-1),e=t*Math.sqrt((q*u-q*s-u*m)/(q*s+u*m)));m=e*f*n/d;s=-1*e*d*b/f;k=p*m-r*s+k/2;l=r*m+p*s+l/2;q=Math.atan2((n-s)/d,(b-m)/f)-Math.atan2(0,1);e=0<=q?q:2*Math.PI+q;q=Math.atan2((-n-s)/d,(-b-m)/f)-Math.atan2((n-s)/d,(b-m)/f);b=0<=q?q:2*Math.PI+q;0==
g&&0<b?b-=2*Math.PI:0!=g&&0>b&&(b+=2*Math.PI);g=2*b/Math.PI;g=Math.ceil(0>g?-1*g:g);b/=g;n=8/3*Math.sin(b/4)*Math.sin(b/4)/Math.sin(b/2);m=p*f;p*=d;f*=r;d*=r;for(var v=Math.cos(e),z=Math.sin(e),s=-n*(m*z+d*v),q=-n*(f*z-p*v),r=[],y=0;y<g;++y){e+=b;var v=Math.cos(e),z=Math.sin(e),u=m*v-d*z+k,t=f*v+p*z+l,x=-n*(m*z+d*v),v=-n*(f*z-p*v),z=6*y;r[z]=Number(s+a);r[z+1]=Number(q+c);r[z+2]=Number(u-x+a);r[z+3]=Number(t-v+c);r[z+4]=Number(u+a);r[z+5]=Number(t+c);s=u+x;q=t+v}return r},getBoundingBox:function(a,
c,f){var d=null;if(null!=a&&null!=c&&0!=c){c=mxUtils.toRadians(c);var d=Math.cos(c),b=Math.sin(c);f=null!=f?f:new mxPoint(a.x+a.width/2,a.y+a.height/2);var e=new mxPoint(a.x,a.y);c=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(c.x,a.y+a.height);a=new mxPoint(a.x,g.y);e=mxUtils.getRotatedPoint(e,d,b,f);c=mxUtils.getRotatedPoint(c,d,b,f);g=mxUtils.getRotatedPoint(g,d,b,f);a=mxUtils.getRotatedPoint(a,d,b,f);d=new mxRectangle(e.x,e.y,0,0);d.add(new mxRectangle(c.x,c.y,0,0));d.add(new mxRectangle(g.x,
g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,c,f,d){d=null!=d?d:new mxPoint;var b=a.x-d.x;a=a.y-d.y;return new mxPoint(b*c-a*f+d.x,a*c+b*f+d.y)},getPortConstraints:function(a,c,f,d){c=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,null);if(null==c)return d;d=c.toString();c=mxConstants.DIRECTION_MASK_NONE;f=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(f=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45<
f?(a=1,135<=f&&(a=2)):-45>f&&(a=3,-135>=f&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:c|=mxConstants.DIRECTION_MASK_EAST;break;case 2:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:c|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_WEST;break;case 1:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:c|=mxConstants.DIRECTION_MASK_EAST;break;case 3:c|=
mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:c|=mxConstants.DIRECTION_MASK_WEST;break;case 2:c|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:c|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:c|=mxConstants.DIRECTION_MASK_EAST;break;case 1:c|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:c|=mxConstants.DIRECTION_MASK_WEST;break;case 3:c|=mxConstants.DIRECTION_MASK_NORTH}return c},
reversePortConstraints:function(a){var c=0,c=(a&mxConstants.DIRECTION_MASK_WEST)<<3,c=c|(a&mxConstants.DIRECTION_MASK_NORTH)<<1,c=c|(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return c|(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,c,f){var d=-1;if(0<a.absolutePoints.length)for(var b=a.absolutePoints[0],e=null,g=1;g<a.absolutePoints.length;g++){var k=a.absolutePoints[g],b=mxUtils.ptSegDistSq(b.x,b.y,k.x,k.y,c,f);if(null==e||b<e)e=b,d=g-1;b=k}return d},rectangleIntersectsSegment:function(a,
c,f){var d=a.y,b=a.x,e=d+a.height,g=b+a.width;a=c.x;var k=f.x;c.x>f.x&&(a=f.x,k=c.x);k>g&&(k=g);a<b&&(a=b);if(a>k)return!1;var b=c.y,g=f.y,l=f.x-c.x;1E-7<Math.abs(l)&&(f=(f.y-c.y)/l,c=c.y-f*c.x,b=f*a+c,g=f*k+c);b>g&&(c=g,g=b,b=c);g>e&&(g=e);b<d&&(b=d);return b>g?!1:!0},contains:function(a,c,f){return a.x<=c&&a.x+a.width>=c&&a.y<=f&&a.y+a.height>=f},intersects:function(a,c){var f=a.width,d=a.height,b=c.width,e=c.height;if(0>=b||0>=e||0>=f||0>=d)return!1;var g=a.x,k=a.y,l=c.x,n=c.y,b=b+l,e=e+n,f=f+
g,d=d+k;return(b<l||b>g)&&(e<n||e>k)&&(f<g||f>l)&&(d<k||d>n)},intersectsHotspot:function(a,c,f,d,b,e){d=null!=d?d:1;b=null!=b?b:0;e=null!=e?e:0;if(0<d){var g=a.getCenterX(),k=a.getCenterY(),l=a.width,n=a.height,m=mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE)*a.view.scale;0<m&&(mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,!0)?(k=a.y+m/2,n=m):(g=a.x+m/2,l=m));l=Math.max(b,l*d);n=Math.max(b,n*d);0<e&&(l=Math.min(l,e),n=Math.min(n,e));d=new mxRectangle(g-l/2,k-n/2,l,n);g=mxUtils.toRadians(mxUtils.getValue(a.style,
mxConstants.STYLE_ROTATION)||0);0!=g&&(b=Math.cos(-g),e=Math.sin(-g),g=new mxPoint(a.getCenterX(),a.getCenterY()),a=mxUtils.getRotatedPoint(new mxPoint(c,f),b,e,g),c=a.x,f=a.y);return mxUtils.contains(d,c,f)}return!0},getOffset:function(a,c){var f=0,d=0;if(null!=c&&c)var b=mxUtils.getDocumentScrollOrigin(a.ownerDocument),f=f+b.x,d=d+b.y;b=a.getBoundingClientRect();null!=b&&(f+=b.left,d+=b.top);return new mxPoint(f,d)},getDocumentScrollOrigin:function(a){if(mxClient.IS_QUIRKS)return new mxPoint(a.body.scrollLeft,
a.body.scrollTop);a=a.defaultView||a.parentWindow;return new mxPoint(null!=a&&void 0!==window.pageXOffset?window.pageXOffset:(document.documentElement||document.body.parentNode||document.body).scrollLeft,null!=a&&void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop)},getScrollOrigin:function(a){for(var c=document.body,f=document.documentElement,d=mxUtils.getDocumentScrollOrigin(null!=a?a.ownerDocument:document);null!=a&&a!=c&&
a!=f;)!isNaN(a.scrollLeft)&&!isNaN(a.scrollTop)&&(d.x+=a.scrollLeft,d.y+=a.scrollTop),a=a.parentNode;return d},convertPoint:function(a,c,f){var d=mxUtils.getScrollOrigin(a);a=mxUtils.getOffset(a);a.x-=d.x;a.y-=d.y;return new mxPoint(c-a.x,f-a.y)},ltrim:function(a,c){return a.replace(RegExp("^["+(c||"\\s")+"]+","g"),"")},rtrim:function(a,c){return a.replace(RegExp("["+(c||"\\s")+"]+$","g"),"")},trim:function(a,c){return mxUtils.ltrim(mxUtils.rtrim(a,c),c)},isNumeric:function(a){return!isNaN(parseFloat(a))&&
isFinite(a)&&("string"!=typeof a||0>a.toLowerCase().indexOf("0x"))},isInteger:function(a){return String(parseInt(a))===String(a)},mod:function(a,c){return(a%c+c)%c},intersection:function(a,c,f,d,b,e,g,k){var l=(k-e)*(f-a)-(g-b)*(d-c);g=((g-b)*(c-e)-(k-e)*(a-b))/l;b=((f-a)*(c-e)-(d-c)*(a-b))/l;return 0<=g&&1>=g&&0<=b&&1>=b?new mxPoint(a+g*(f-a),c+g*(d-c)):null},ptSegDistSq:function(a,c,f,d,b,e){f-=a;d-=c;b-=a;e-=c;0>=b*f+e*d?f=0:(b=f-b,e=d-e,a=b*f+e*d,f=0>=a?0:a*a/(f*f+d*d));b=b*b+e*e-f;0>b&&(b=0);
return b},ptLineDist:function(a,c,f,d,b,e){return Math.abs((d-c)*b-(f-a)*e+f*c-d*a)/Math.sqrt((d-c)*(d-c)+(f-a)*(f-a))},relativeCcw:function(a,c,f,d,b,e){f-=a;d-=c;b-=a;e-=c;a=b*d-e*f;0==a&&(a=b*f+e*d,0<a&&(a=(b-f)*f+(e-d)*d,0>a&&(a=0)));return 0>a?-1:0<a?1:0},animateChanges:function(a,c){mxEffects.animateChanges.apply(this,arguments)},cascadeOpacity:function(a,c,f){mxEffects.cascadeOpacity.apply(this,arguments)},fadeOut:function(a,c,f,d,b,e){mxEffects.fadeOut.apply(this,arguments)},setOpacity:function(a,
c){mxUtils.isVml(a)?a.style.filter=100<=c?"":"alpha(opacity\x3d"+c/5+")":mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?a.style.filter=100<=c?"":"alpha(opacity\x3d"+c+")":a.style.opacity=c/100},createImage:function(a){var c=null;mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(c=document.createElement(mxClient.VML_PREFIX+":image"),c.setAttribute("src",a),c.style.borderStyle="none"):(c=document.createElement("img"),c.setAttribute("src",a),c.setAttribute("border",
"0"));return c},sortCells:function(a,c){c=null!=c?c:!0;var f=new mxDictionary;a.sort(function(a,b){var e=f.get(a);null==e&&(e=mxCellPath.create(a).split(mxCellPath.PATH_SEPARATOR),f.put(a,e));var g=f.get(b);null==g&&(g=mxCellPath.create(b).split(mxCellPath.PATH_SEPARATOR),f.put(b,g));e=mxCellPath.compare(e,g);return 0==e?0:0<e==c?1:-1});return a},getStylename:function(a){return null!=a&&(a=a.split(";")[0],0>a.indexOf("\x3d"))?a:""},getStylenames:function(a){var c=[];if(null!=a){a=a.split(";");for(var f=
0;f<a.length;f++)0>a[f].indexOf("\x3d")&&c.push(a[f])}return c},indexOfStylename:function(a,c){if(null!=a&&null!=c)for(var f=a.split(";"),d=0,b=0;b<f.length;b++){if(f[b]==c)return d;d+=f[b].length+1}return-1},addStylename:function(a,c){0>mxUtils.indexOfStylename(a,c)&&(null==a?a="":0<a.length&&";"!=a.charAt(a.length-1)&&(a+=";"),a+=c);return a},removeStylename:function(a,c){var f=[];if(null!=a)for(var d=a.split(";"),b=0;b<d.length;b++)d[b]!=c&&f.push(d[b]);return f.join(";")},removeAllStylenames:function(a){var c=
[];if(null!=a){a=a.split(";");for(var f=0;f<a.length;f++)0<=a[f].indexOf("\x3d")&&c.push(a[f])}return c.join(";")},setCellStyles:function(a,c,f,d){if(null!=c&&0<c.length){a.beginUpdate();try{for(var b=0;b<c.length;b++)if(null!=c[b]){var e=mxUtils.setStyle(a.getStyle(c[b]),f,d);a.setStyle(c[b],e)}}finally{a.endUpdate()}}},setStyle:function(a,c,f){var d=null!=f&&("undefined"==typeof f.length||0<f.length);if(null==a||0==a.length)d&&(a=c+"\x3d"+f+";");else if(a.substring(0,c.length+1)==c+"\x3d"){var b=
a.indexOf(";");a=d?c+"\x3d"+f+(0>b?";":a.substring(b)):0>b||b==a.length-1?"":a.substring(b+1)}else{var e=a.indexOf(";"+c+"\x3d");0>e?d&&(d=";"==a.charAt(a.length-1)?"":";",a=a+d+c+"\x3d"+f+";"):(b=a.indexOf(";",e+1),a=d?a.substring(0,e+1)+c+"\x3d"+f+(0>b?";":a.substring(b)):a.substring(0,e)+(0>b?";":a.substring(b)))}return a},setCellStyleFlags:function(a,c,f,d,b){if(null!=c&&0<c.length){a.beginUpdate();try{for(var e=0;e<c.length;e++)if(null!=c[e]){var g=mxUtils.setStyleFlag(a.getStyle(c[e]),f,d,b);
a.setStyle(c[e],g)}}finally{a.endUpdate()}}},setStyleFlag:function(a,c,f,d){if(null==a||0==a.length)a=d||null==d?c+"\x3d"+f:c+"\x3d0";else{var b=a.indexOf(c+"\x3d");if(0>b)b=";"==a.charAt(a.length-1)?"":";",a=d||null==d?a+b+c+"\x3d"+f:a+b+c+"\x3d0";else{var e=a.indexOf(";",b),g="",g=0>e?a.substring(b+c.length+1):a.substring(b+c.length+1,e),g=null==d?parseInt(g)^f:d?parseInt(g)|f:parseInt(g)&~f;a=a.substring(0,b)+c+"\x3d"+g+(0<=e?a.substring(e):"")}}return a},getAlignmentAsPoint:function(a,c){var f=
0,d=0;a==mxConstants.ALIGN_CENTER?f=-0.5:a==mxConstants.ALIGN_RIGHT&&(f=-1);c==mxConstants.ALIGN_MIDDLE?d=-0.5:c==mxConstants.ALIGN_BOTTOM&&(d=-1);return new mxPoint(f,d)},getSizeForString:function(a,c,f,d){c=null!=c?c:mxConstants.DEFAULT_FONTSIZE;f=null!=f?f:mxConstants.DEFAULT_FONTFAMILY;var b=document.createElement("div");b.style.fontFamily=f;b.style.fontSize=Math.round(c)+"px";b.style.lineHeight=Math.round(c*mxConstants.LINE_HEIGHT)+"px";b.style.position="absolute";b.style.visibility="hidden";
b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.zoom="1";null!=d?(b.style.width=d+"px",b.style.whiteSpace="normal"):b.style.whiteSpace="nowrap";b.innerHTML=a;document.body.appendChild(b);a=new mxRectangle(0,0,b.offsetWidth,b.offsetHeight);document.body.removeChild(b);return a},getViewXml:function(a,c,f,d,b){d=null!=d?d:0;b=null!=b?b:0;c=null!=c?c:1;null==f&&(f=[a.getModel().getRoot()]);var e=a.getView(),g=null,k=e.isEventsEnabled();e.setEventsEnabled(!1);var l=e.drawPane,n=e.overlayPane;
a.dialect==mxConstants.DIALECT_SVG?(e.drawPane=document.createElementNS(mxConstants.NS_SVG,"g"),e.canvas.appendChild(e.drawPane),e.overlayPane=document.createElementNS(mxConstants.NS_SVG,"g")):(e.drawPane=e.drawPane.cloneNode(!1),e.canvas.appendChild(e.drawPane),e.overlayPane=e.overlayPane.cloneNode(!1));e.canvas.appendChild(e.overlayPane);var m=e.getTranslate();e.translate=new mxPoint(d,b);c=new mxTemporaryCellStates(a.getView(),c,f);try{g=(new mxCodec).encode(a.getView())}finally{c.destroy(),e.translate=
m,e.canvas.removeChild(e.drawPane),e.canvas.removeChild(e.overlayPane),e.drawPane=l,e.overlayPane=n,e.setEventsEnabled(k)}return g},getScaleForPageCount:function(a,c,f,d){if(1>a)return 1;f=null!=f?f:mxConstants.PAGE_FORMAT_A4_PORTRAIT;d=null!=d?d:0;var b=f.width-2*d;f=f.height-2*d;d=c.getGraphBounds().clone();c=c.getView().getScale();d.width/=c;d.height/=c;c=d.width;f=c/d.height/(b/f);d=Math.sqrt(a);var e=Math.sqrt(f);f=d*e;d/=e;if(1>f&&d>a){var g=d/a;d=a;f/=g}1>d&&f>a&&(g=f/a,f=a,d/=g);g=Math.ceil(f)*
Math.ceil(d);for(e=0;g>a;){var g=Math.floor(f)/f,k=Math.floor(d)/d;1==g&&(g=Math.floor(f-1)/f);1==k&&(k=Math.floor(d-1)/d);g=g>k?g:k;f*=g;d*=g;g=Math.ceil(f)*Math.ceil(d);e++;if(10<e)break}return 0.99999*(b*f/c)},show:function(a,c,f,d,b,e){f=null!=f?f:0;d=null!=d?d:0;null==c?c=window.open().document:c.open();9==document.documentMode&&c.writeln('\x3c!--[if IE]\x3e\x3cmeta http-equiv\x3d"X-UA-Compatible" content\x3d"IE\x3d9"\x3e\x3c![endif]--\x3e');var g=a.getGraphBounds(),k=Math.ceil(f-g.x),l=Math.ceil(d-
g.y);null==b&&(b=Math.ceil(g.width+f)+Math.ceil(Math.ceil(g.x)-g.x));null==e&&(e=Math.ceil(g.height+d)+Math.ceil(Math.ceil(g.y)-g.y));if(mxClient.IS_IE||11==document.documentMode){d="\x3chtml\x3e\x3chead\x3e";g=document.getElementsByTagName("base");for(f=0;f<g.length;f++)d+=g[f].outerHTML;d+="\x3cstyle\x3e";for(f=0;f<document.styleSheets.length;f++)try{d+=document.styleSheets[f].cssText}catch(n){}d=d+'\x3c/style\x3e\x3c/head\x3e\x3cbody style\x3d"margin:0px;"\x3e'+('\x3cdiv style\x3d"position:absolute;overflow:hidden;width:'+
b+"px;height:"+e+'px;"\x3e\x3cdiv style\x3d"position:relative;left:'+k+"px;top:"+l+'px;"\x3e')+a.container.innerHTML;d+="\x3c/div\x3e\x3c/div\x3e\x3c/body\x3e\x3chtml\x3e";c.writeln(d);c.close()}else{c.writeln("\x3chtml\x3e\x3chead\x3e");g=document.getElementsByTagName("base");for(f=0;f<g.length;f++)c.writeln(mxUtils.getOuterHtml(g[f]));d=document.getElementsByTagName("link");for(f=0;f<d.length;f++)c.writeln(mxUtils.getOuterHtml(d[f]));d=document.getElementsByTagName("style");for(f=0;f<d.length;f++)c.writeln(mxUtils.getOuterHtml(d[f]));
c.writeln('\x3c/head\x3e\x3cbody style\x3d"margin:0px;"\x3e\x3c/body\x3e\x3c/html\x3e');c.close();f=c.createElement("div");f.position="absolute";f.overflow="hidden";f.style.width=b+"px";f.style.height=e+"px";b=c.createElement("div");b.style.position="absolute";b.style.left=k+"px";b.style.top=l+"px";e=a.container.firstChild;for(d=null;null!=e;)g=e.cloneNode(!0),e==a.view.drawPane.ownerSVGElement?(f.appendChild(g),d=g):b.appendChild(g),e=e.nextSibling;c.body.appendChild(f);null!=b.firstChild&&c.body.appendChild(b);
null!=d&&(d.style.minWidth="",d.style.minHeight="",d.firstChild.setAttribute("transform","translate("+k+","+l+")"))}mxUtils.removeCursors(c.body);return c},printScreen:function(a){var c=window.open();a.getGraphBounds();mxUtils.show(a,c.document);a=function(){c.focus();c.print();c.close()};mxClient.IS_GC?c.setTimeout(a,500):a()},popup:function(a,c){if(c){var f=document.createElement("div");f.style.overflow="scroll";f.style.width="636px";f.style.height="460px";var d=document.createElement("pre");d.innerHTML=
mxUtils.htmlEntities(a,!1).replace(/\n/g,"\x3cbr\x3e").replace(/ /g,"\x26nbsp;");f.appendChild(d);var d=document.body.clientWidth,b=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight),f=new mxWindow("Popup Window",f,d/2-320,b/2-240,640,480,!1,!0);f.setClosable(!0);f.setVisible(!0)}else mxClient.IS_NS?(f=window.open(),f.document.writeln("\x3cpre\x3e"+mxUtils.htmlEntities(a)+"\x3c/pre"),f.document.close()):(f=window.open(),d=f.document.createElement("pre"),d.innerHTML=mxUtils.htmlEntities(a,
!1).replace(/\n/g,"\x3cbr\x3e").replace(/ /g,"\x26nbsp;"),f.document.body.appendChild(d))},alert:function(a){alert(a)},prompt:function(a,c){return prompt(a,null!=c?c:"")},confirm:function(a){return confirm(a)},error:function(a,c,f,d){var b=document.createElement("div");b.style.padding="20px";var e=document.createElement("img");e.setAttribute("src",d||mxUtils.errorImage);e.setAttribute("valign","bottom");e.style.verticalAlign="middle";b.appendChild(e);b.appendChild(document.createTextNode("\u00a0"));
b.appendChild(document.createTextNode("\u00a0"));b.appendChild(document.createTextNode("\u00a0"));mxUtils.write(b,a);a=document.body.clientWidth;d=document.body.clientHeight||document.documentElement.clientHeight;var g=new mxWindow(mxResources.get(mxUtils.errorResource)||mxUtils.errorResource,b,(a-c)/2,d/4,c,null,!1,!0);f&&(mxUtils.br(b),c=document.createElement("p"),f=document.createElement("button"),mxClient.IS_IE?f.style.cssText="float:right":f.setAttribute("style","float:right"),mxEvent.addListener(f,
"click",function(b){g.destroy()}),mxUtils.write(f,mxResources.get(mxUtils.closeResource)||mxUtils.closeResource),c.appendChild(f),b.appendChild(c),mxUtils.br(b),g.setClosable(!0));g.setVisible(!0);return g},makeDraggable:function(a,c,f,d,b,e,g,k,l,n){a=new mxDragSource(a,f);a.dragOffset=new mxPoint(null!=b?b:0,null!=e?e:mxConstants.TOOLTIP_VERTICAL_OFFSET);a.autoscroll=g;a.setGuidesEnabled(!1);null!=l&&(a.highlightDropTargets=l);null!=n&&(a.getDropTarget=n);a.getGraphForEvent=function(b){return"function"==
typeof c?c(b):c};null!=d&&(a.createDragElement=function(){return d.cloneNode(!0)},k&&(a.createPreviewElement=function(b){var a=d.cloneNode(!0),e=parseInt(a.style.width),c=parseInt(a.style.height);a.style.width=Math.round(e*b.view.scale)+"px";a.style.height=Math.round(c*b.view.scale)+"px";return a}));return a}},mxConstants={DEFAULT_HOTSPOT:0.3,MIN_HOTSPOT_SIZE:8,MAX_HOTSPOT_SIZE:0,RENDERING_HINT_EXACT:"exact",RENDERING_HINT_FASTER:"faster",RENDERING_HINT_FASTEST:"fastest",DIALECT_SVG:"svg",DIALECT_VML:"vml",
DIALECT_MIXEDHTML:"mixedHtml",DIALECT_PREFERHTML:"preferHtml",DIALECT_STRICTHTML:"strictHtml",NS_SVG:"http://www.w3.org/2000/svg",NS_XHTML:"http://www.w3.org/1999/xhtml",NS_XLINK:"http://www.w3.org/1999/xlink",SHADOWCOLOR:"gray",VML_SHADOWCOLOR:"gray",SHADOW_OFFSET_X:2,SHADOW_OFFSET_Y:3,SHADOW_OPACITY:1,NODETYPE_ELEMENT:1,NODETYPE_ATTRIBUTE:2,NODETYPE_TEXT:3,NODETYPE_CDATA:4,NODETYPE_ENTITY_REFERENCE:5,NODETYPE_ENTITY:6,NODETYPE_PROCESSING_INSTRUCTION:7,NODETYPE_COMMENT:8,NODETYPE_DOCUMENT:9,NODETYPE_DOCUMENTTYPE:10,
NODETYPE_DOCUMENT_FRAGMENT:11,NODETYPE_NOTATION:12,TOOLTIP_VERTICAL_OFFSET:16,DEFAULT_VALID_COLOR:"#00FF00",DEFAULT_INVALID_COLOR:"#FF0000",OUTLINE_HIGHLIGHT_COLOR:"#00FF00",OUTLINE_HIGHLIGHT_STROKEWIDTH:5,HIGHLIGHT_STROKEWIDTH:3,HIGHLIGHT_SIZE:2,HIGHLIGHT_OPACITY:100,CURSOR_MOVABLE_VERTEX:"move",CURSOR_MOVABLE_EDGE:"move",CURSOR_LABEL_HANDLE:"default",CURSOR_TERMINAL_HANDLE:"pointer",CURSOR_BEND_HANDLE:"crosshair",CURSOR_VIRTUAL_BEND_HANDLE:"crosshair",CURSOR_CONNECT:"pointer",HIGHLIGHT_COLOR:"#00FF00",
CONNECT_TARGET_COLOR:"#0000FF",INVALID_CONNECT_TARGET_COLOR:"#FF0000",DROP_TARGET_COLOR:"#0000FF",VALID_COLOR:"#00FF00",INVALID_COLOR:"#FF0000",EDGE_SELECTION_COLOR:"#00FF00",VERTEX_SELECTION_COLOR:"#00FF00",VERTEX_SELECTION_STROKEWIDTH:1,EDGE_SELECTION_STROKEWIDTH:1,VERTEX_SELECTION_DASHED:!0,EDGE_SELECTION_DASHED:!0,GUIDE_COLOR:"#FF0000",GUIDE_STROKEWIDTH:1,OUTLINE_COLOR:"#0099FF",OUTLINE_STROKEWIDTH:mxClient.IS_IE?2:3,HANDLE_SIZE:6,LABEL_HANDLE_SIZE:4,HANDLE_FILLCOLOR:"#00FF00",HANDLE_STROKECOLOR:"black",
LABEL_HANDLE_FILLCOLOR:"yellow",CONNECT_HANDLE_FILLCOLOR:"#0000FF",LOCKED_HANDLE_FILLCOLOR:"#FF0000",OUTLINE_HANDLE_FILLCOLOR:"#00FFFF",OUTLINE_HANDLE_STROKECOLOR:"#0033FF",DEFAULT_FONTFAMILY:"Arial,Helvetica",DEFAULT_FONTSIZE:11,DEFAULT_TEXT_DIRECTION:"",LINE_HEIGHT:1.2,WORD_WRAP:"normal",ABSOLUTE_LINE_HEIGHT:!1,DEFAULT_FONTSTYLE:0,DEFAULT_STARTSIZE:40,DEFAULT_MARKERSIZE:6,DEFAULT_IMAGESIZE:24,ENTITY_SEGMENT:30,RECTANGLE_ROUNDING_FACTOR:0.15,LINE_ARCSIZE:20,ARROW_SPACING:0,ARROW_WIDTH:30,ARROW_SIZE:30,
PAGE_FORMAT_A4_PORTRAIT:new mxRectangle(0,0,826,1169),PAGE_FORMAT_A4_LANDSCAPE:new mxRectangle(0,0,1169,826),PAGE_FORMAT_LETTER_PORTRAIT:new mxRectangle(0,0,850,1100),PAGE_FORMAT_LETTER_LANDSCAPE:new mxRectangle(0,0,1100,850),NONE:"none",STYLE_PERIMETER:"perimeter",STYLE_SOURCE_PORT:"sourcePort",STYLE_TARGET_PORT:"targetPort",STYLE_PORT_CONSTRAINT:"portConstraint",STYLE_PORT_CONSTRAINT_ROTATION:"portConstraintRotation",STYLE_OPACITY:"opacity",STYLE_FILL_OPACITY:"fillOpacity",STYLE_STROKE_OPACITY:"strokeOpacity",
STYLE_TEXT_OPACITY:"textOpacity",STYLE_TEXT_DIRECTION:"textDirection",STYLE_OVERFLOW:"overflow",STYLE_ORTHOGONAL:"orthogonal",STYLE_EXIT_X:"exitX",STYLE_EXIT_Y:"exitY",STYLE_EXIT_PERIMETER:"exitPerimeter",STYLE_ENTRY_X:"entryX",STYLE_ENTRY_Y:"entryY",STYLE_ENTRY_PERIMETER:"entryPerimeter",STYLE_WHITE_SPACE:"whiteSpace",STYLE_ROTATION:"rotation",STYLE_FILLCOLOR:"fillColor",STYLE_POINTER_EVENTS:"pointerEvents",STYLE_SWIMLANE_FILLCOLOR:"swimlaneFillColor",STYLE_MARGIN:"margin",STYLE_GRADIENTCOLOR:"gradientColor",
STYLE_GRADIENT_DIRECTION:"gradientDirection",STYLE_STROKECOLOR:"strokeColor",STYLE_SEPARATORCOLOR:"separatorColor",STYLE_STROKEWIDTH:"strokeWidth",STYLE_ALIGN:"align",STYLE_VERTICAL_ALIGN:"verticalAlign",STYLE_LABEL_WIDTH:"labelWidth",STYLE_LABEL_POSITION:"labelPosition",STYLE_VERTICAL_LABEL_POSITION:"verticalLabelPosition",STYLE_IMAGE_ASPECT:"imageAspect",STYLE_IMAGE_ALIGN:"imageAlign",STYLE_IMAGE_VERTICAL_ALIGN:"imageVerticalAlign",STYLE_GLASS:"glass",STYLE_IMAGE:"image",STYLE_IMAGE_WIDTH:"imageWidth",
STYLE_IMAGE_HEIGHT:"imageHeight",STYLE_IMAGE_BACKGROUND:"imageBackground",STYLE_IMAGE_BORDER:"imageBorder",STYLE_FLIPH:"flipH",STYLE_FLIPV:"flipV",STYLE_NOLABEL:"noLabel",STYLE_NOEDGESTYLE:"noEdgeStyle",STYLE_LABEL_BACKGROUNDCOLOR:"labelBackgroundColor",STYLE_LABEL_BORDERCOLOR:"labelBorderColor",STYLE_LABEL_PADDING:"labelPadding",STYLE_INDICATOR_SHAPE:"indicatorShape",STYLE_INDICATOR_IMAGE:"indicatorImage",STYLE_INDICATOR_COLOR:"indicatorColor",STYLE_INDICATOR_STROKECOLOR:"indicatorStrokeColor",STYLE_INDICATOR_GRADIENTCOLOR:"indicatorGradientColor",
STYLE_INDICATOR_SPACING:"indicatorSpacing",STYLE_INDICATOR_WIDTH:"indicatorWidth",STYLE_INDICATOR_HEIGHT:"indicatorHeight",STYLE_INDICATOR_DIRECTION:"indicatorDirection",STYLE_SHADOW:"shadow",STYLE_SEGMENT:"segment",STYLE_ENDARROW:"endArrow",STYLE_STARTARROW:"startArrow",STYLE_ENDSIZE:"endSize",STYLE_STARTSIZE:"startSize",STYLE_SWIMLANE_LINE:"swimlaneLine",STYLE_ENDFILL:"endFill",STYLE_STARTFILL:"startFill",STYLE_DASHED:"dashed",STYLE_DASH_PATTERN:"dashPattern",STYLE_ROUNDED:"rounded",STYLE_CURVED:"curved",
STYLE_ARCSIZE:"arcSize",STYLE_SMOOTH:"smooth",STYLE_SOURCE_PERIMETER_SPACING:"sourcePerimeterSpacing",STYLE_TARGET_PERIMETER_SPACING:"targetPerimeterSpacing",STYLE_PERIMETER_SPACING:"perimeterSpacing",STYLE_SPACING:"spacing",STYLE_SPACING_TOP:"spacingTop",STYLE_SPACING_LEFT:"spacingLeft",STYLE_SPACING_BOTTOM:"spacingBottom",STYLE_SPACING_RIGHT:"spacingRight",STYLE_HORIZONTAL:"horizontal",STYLE_DIRECTION:"direction",STYLE_ELBOW:"elbow",STYLE_FONTCOLOR:"fontColor",STYLE_FONTFAMILY:"fontFamily",STYLE_FONTSIZE:"fontSize",
STYLE_FONTSTYLE:"fontStyle",STYLE_ASPECT:"aspect",STYLE_AUTOSIZE:"autosize",STYLE_FOLDABLE:"foldable",STYLE_EDITABLE:"editable",STYLE_BENDABLE:"bendable",STYLE_MOVABLE:"movable",STYLE_RESIZABLE:"resizable",STYLE_RESIZE_WIDTH:"resizeWidth",STYLE_RESIZE_HEIGHT:"resizeHeight",STYLE_ROTATABLE:"rotatable",STYLE_CLONEABLE:"cloneable",STYLE_DELETABLE:"deletable",STYLE_SHAPE:"shape",STYLE_EDGE:"edgeStyle",STYLE_JETTY_SIZE:"jettySize",STYLE_SOURCE_JETTY_SIZE:"sourceJettySize",STYLE_TARGET_JETTY_SIZE:"targetJettySize",
STYLE_LOOP:"loopStyle",STYLE_ORTHOGONAL_LOOP:"orthogonalLoop",STYLE_ROUTING_CENTER_X:"routingCenterX",STYLE_ROUTING_CENTER_Y:"routingCenterY",FONT_BOLD:1,FONT_ITALIC:2,FONT_UNDERLINE:4,SHAPE_RECTANGLE:"rectangle",SHAPE_ELLIPSE:"ellipse",SHAPE_DOUBLE_ELLIPSE:"doubleEllipse",SHAPE_RHOMBUS:"rhombus",SHAPE_LINE:"line",SHAPE_IMAGE:"image",SHAPE_ARROW:"arrow",SHAPE_ARROW_CONNECTOR:"arrowConnector",SHAPE_LABEL:"label",SHAPE_CYLINDER:"cylinder",SHAPE_SWIMLANE:"swimlane",SHAPE_CONNECTOR:"connector",SHAPE_ACTOR:"actor",
SHAPE_CLOUD:"cloud",SHAPE_TRIANGLE:"triangle",SHAPE_HEXAGON:"hexagon",ARROW_CLASSIC:"classic",ARROW_CLASSIC_THIN:"classicThin",ARROW_BLOCK:"block",ARROW_BLOCK_THIN:"blockThin",ARROW_OPEN:"open",ARROW_OPEN_THIN:"openThin",ARROW_OVAL:"oval",ARROW_DIAMOND:"diamond",ARROW_DIAMOND_THIN:"diamondThin",ALIGN_LEFT:"left",ALIGN_CENTER:"center",ALIGN_RIGHT:"right",ALIGN_TOP:"top",ALIGN_MIDDLE:"middle",ALIGN_BOTTOM:"bottom",DIRECTION_NORTH:"north",DIRECTION_SOUTH:"south",DIRECTION_EAST:"east",DIRECTION_WEST:"west",
TEXT_DIRECTION_DEFAULT:"",TEXT_DIRECTION_AUTO:"auto",TEXT_DIRECTION_LTR:"ltr",TEXT_DIRECTION_RTL:"rtl",DIRECTION_MASK_NONE:0,DIRECTION_MASK_WEST:1,DIRECTION_MASK_NORTH:2,DIRECTION_MASK_SOUTH:4,DIRECTION_MASK_EAST:8,DIRECTION_MASK_ALL:15,ELBOW_VERTICAL:"vertical",ELBOW_HORIZONTAL:"horizontal",EDGESTYLE_ELBOW:"elbowEdgeStyle",EDGESTYLE_ENTITY_RELATION:"entityRelationEdgeStyle",EDGESTYLE_LOOP:"loopEdgeStyle",EDGESTYLE_SIDETOSIDE:"sideToSideEdgeStyle",EDGESTYLE_TOPTOBOTTOM:"topToBottomEdgeStyle",EDGESTYLE_ORTHOGONAL:"orthogonalEdgeStyle",
EDGESTYLE_SEGMENT:"segmentEdgeStyle",PERIMETER_ELLIPSE:"ellipsePerimeter",PERIMETER_RECTANGLE:"rectanglePerimeter",PERIMETER_RHOMBUS:"rhombusPerimeter",PERIMETER_HEXAGON:"hexagonPerimeter",PERIMETER_TRIANGLE:"trianglePerimeter"};function mxEventObject(a){this.name=a;this.properties=[];for(var c=1;c<arguments.length;c+=2)null!=arguments[c+1]&&(this.properties[arguments[c]]=arguments[c+1])}mxEventObject.prototype.name=null;mxEventObject.prototype.properties=null;mxEventObject.prototype.consumed=!1;
mxEventObject.prototype.getName=function(){return this.name};mxEventObject.prototype.getProperties=function(){return this.properties};mxEventObject.prototype.getProperty=function(a){return this.properties[a]};mxEventObject.prototype.isConsumed=function(){return this.consumed};mxEventObject.prototype.consume=function(){this.consumed=!0};function mxMouseEvent(a,c){this.evt=a;this.sourceState=this.state=c}mxMouseEvent.prototype.consumed=!1;mxMouseEvent.prototype.evt=null;
mxMouseEvent.prototype.graphX=null;mxMouseEvent.prototype.graphY=null;mxMouseEvent.prototype.state=null;mxMouseEvent.prototype.sourceState=null;mxMouseEvent.prototype.getEvent=function(){return this.evt};mxMouseEvent.prototype.getSource=function(){return mxEvent.getSource(this.evt)};mxMouseEvent.prototype.isSource=function(a){return null!=a?mxUtils.isAncestorNode(a.node,this.getSource()):!1};mxMouseEvent.prototype.getX=function(){return mxEvent.getClientX(this.getEvent())};
mxMouseEvent.prototype.getY=function(){return mxEvent.getClientY(this.getEvent())};mxMouseEvent.prototype.getGraphX=function(){return this.graphX};mxMouseEvent.prototype.getGraphY=function(){return this.graphY};mxMouseEvent.prototype.getState=function(){return this.state};mxMouseEvent.prototype.getCell=function(){var a=this.getState();return null!=a?a.cell:null};mxMouseEvent.prototype.isPopupTrigger=function(){return mxEvent.isPopupTrigger(this.getEvent())};mxMouseEvent.prototype.isConsumed=function(){return this.consumed};
mxMouseEvent.prototype.consume=function(a){(null!=a?a:1)&&this.evt.preventDefault&&this.evt.preventDefault();mxClient.IS_IE&&(this.evt.returnValue=!0);this.consumed=!0};function mxEventSource(a){this.setEventSource(a)}mxEventSource.prototype.eventListeners=null;mxEventSource.prototype.eventsEnabled=!0;mxEventSource.prototype.eventSource=null;mxEventSource.prototype.isEventsEnabled=function(){return this.eventsEnabled};mxEventSource.prototype.setEventsEnabled=function(a){this.eventsEnabled=a};
mxEventSource.prototype.getEventSource=function(){return this.eventSource};mxEventSource.prototype.setEventSource=function(a){this.eventSource=a};mxEventSource.prototype.addListener=function(a,c){null==this.eventListeners&&(this.eventListeners=[]);this.eventListeners.push(a);this.eventListeners.push(c)};mxEventSource.prototype.removeListener=function(a){if(null!=this.eventListeners)for(var c=0;c<this.eventListeners.length;)this.eventListeners[c+1]==a?this.eventListeners.splice(c,2):c+=2};
mxEventSource.prototype.fireEvent=function(a,c){if(null!=this.eventListeners&&this.isEventsEnabled()){null==a&&(a=new mxEventObject);null==c&&(c=this.getEventSource());null==c&&(c=this);for(var f=[c,a],d=0;d<this.eventListeners.length;d+=2){var b=this.eventListeners[d];(null==b||b==a.getName())&&this.eventListeners[d+1].apply(this,f)}}};
var mxEvent={objects:[],addListener:function(){var a=function(a,f,d){null==a.mxListenerList&&(a.mxListenerList=[],mxEvent.objects.push(a));a.mxListenerList.push({name:f,f:d})};return window.addEventListener?function(c,f,d){c.addEventListener(f,d,!1);a(c,f,d)}:function(c,f,d){c.attachEvent("on"+f,d);a(c,f,d)}}(),removeListener:function(){var a=function(a,f,d){if(null!=a.mxListenerList){f=a.mxListenerList.length;for(var b=0;b<f;b++)if(a.mxListenerList[b].f==d){a.mxListenerList.splice(b,1);break}0==
a.mxListenerList.length&&(a.mxListenerList=null,a=mxUtils.indexOf(mxEvent.objects,a),0<=a&&mxEvent.objects.splice(a,1))}};return window.removeEventListener?function(c,f,d){c.removeEventListener(f,d,!1);a(c,f,d)}:function(c,f,d){c.detachEvent("on"+f,d);a(c,f,d)}}(),removeAllListeners:function(a){var c=a.mxListenerList;if(null!=c)for(;0<c.length;){var f=c[0];mxEvent.removeListener(a,f.name,f.f)}},addGestureListeners:function(a,c,f,d){null!=c&&mxEvent.addListener(a,mxClient.IS_POINTER?"pointerdown":
"mousedown",c);null!=f&&mxEvent.addListener(a,mxClient.IS_POINTER?"pointermove":"mousemove",f);null!=d&&mxEvent.addListener(a,mxClient.IS_POINTER?"pointerup":"mouseup",d);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(null!=c&&mxEvent.addListener(a,"touchstart",c),null!=f&&mxEvent.addListener(a,"touchmove",f),null!=d&&mxEvent.addListener(a,"touchend",d))},removeGestureListeners:function(a,c,f,d){null!=c&&mxEvent.removeListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",c);null!=f&&mxEvent.removeListener(a,
mxClient.IS_POINTER?"pointermove":"mousemove",f);null!=d&&mxEvent.removeListener(a,mxClient.IS_POINTER?"pointerup":"mouseup",d);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(null!=c&&mxEvent.removeListener(a,"touchstart",c),null!=f&&mxEvent.removeListener(a,"touchmove",f),null!=d&&mxEvent.removeListener(a,"touchend",d))},redirectMouseEvents:function(a,c,f,d,b,e,g){var k=function(b){return"function"==typeof f?f(b):f};mxEvent.addGestureListeners(a,function(b){null!=d?d(b):mxEvent.isConsumed(b)||c.fireMouseEvent(mxEvent.MOUSE_DOWN,
new mxMouseEvent(b,k(b)))},function(a){null!=b?b(a):mxEvent.isConsumed(a)||c.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(a,k(a)))},function(b){null!=e?e(b):mxEvent.isConsumed(b)||c.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(b,k(b)))});mxEvent.addListener(a,"dblclick",function(b){if(null!=g)g(b);else if(!mxEvent.isConsumed(b)){var a=k(b);c.dblClick(b,null!=a?a.cell:null)}})},release:function(a){if(null!=a&&(mxEvent.removeAllListeners(a),a=a.childNodes,null!=a))for(var c=a.length,f=0;f<
c;f+=1)mxEvent.release(a[f])},addMouseWheelListener:function(a){if(null!=a){var c=function(c){null==c&&(c=window.event);var d=0,d=mxClient.IS_FF?-c.detail/2:c.wheelDelta/120;0!=d&&a(c,0<d)};mxClient.IS_NS&&null==document.documentMode?mxEvent.addListener(window,mxClient.IS_SF||mxClient.IS_GC?"mousewheel":"DOMMouseScroll",c):mxEvent.addListener(document,"mousewheel",c)}},disableContextMenu:function(){return mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?function(a){mxEvent.addListener(a,
"contextmenu",function(){return!1})}:function(a){a.setAttribute("oncontextmenu","return false;")}}(),getSource:function(a){return null!=a.srcElement?a.srcElement:a.target},isConsumed:function(a){return null!=a.isConsumed&&a.isConsumed},isTouchEvent:function(a){return null!=a.pointerType?"touch"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_TOUCH:null!=a.mozInputSource?5==a.mozInputSource:0==a.type.indexOf("touch")},isMultiTouchEvent:function(a){return null!=a.type&&0==a.type.indexOf("touch")&&
null!=a.touches&&1<a.touches.length},isMouseEvent:function(a){return null!=a.pointerType?"mouse"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_MOUSE:null!=a.mozInputSource?1==a.mozInputSource:0==a.type.indexOf("mouse")},isLeftMouseButton:function(a){return"buttons"in a&&("mousedown"==a.type||"mousemove"==a.type)?1==a.buttons:"which"in a?1===a.which:1===a.button},isMiddleMouseButton:function(a){return"which"in a?2===a.which:4===a.button},isRightMouseButton:function(a){return"which"in a?3===a.which:
2===a.button},isPopupTrigger:function(a){return mxEvent.isRightMouseButton(a)||mxClient.IS_MAC&&mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)&&!mxEvent.isMetaDown(a)&&!mxEvent.isAltDown(a)},isShiftDown:function(a){return null!=a?a.shiftKey:!1},isAltDown:function(a){return null!=a?a.altKey:!1},isControlDown:function(a){return null!=a?a.ctrlKey:!1},isMetaDown:function(a){return null!=a?a.metaKey:!1},getMainEvent:function(a){("touchstart"==a.type||"touchmove"==a.type)&&null!=a.touches&&null!=a.touches[0]?
a=a.touches[0]:"touchend"==a.type&&null!=a.changedTouches&&null!=a.changedTouches[0]&&(a=a.changedTouches[0]);return a},getClientX:function(a){return mxEvent.getMainEvent(a).clientX},getClientY:function(a){return mxEvent.getMainEvent(a).clientY},consume:function(a,c,f){f=null!=f?f:!0;if(null!=c?c:1)a.preventDefault?(f&&a.stopPropagation(),a.preventDefault()):f&&(a.cancelBubble=!0);a.isConsumed=!0;a.preventDefault||(a.returnValue=!1)},LABEL_HANDLE:-1,ROTATION_HANDLE:-2,CUSTOM_HANDLE:-100,VIRTUAL_HANDLE:-1E5,
MOUSE_DOWN:"mouseDown",MOUSE_MOVE:"mouseMove",MOUSE_UP:"mouseUp",ACTIVATE:"activate",RESIZE_START:"resizeStart",RESIZE:"resize",RESIZE_END:"resizeEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",PAN_START:"panStart",PAN:"pan",PAN_END:"panEnd",MINIMIZE:"minimize",NORMALIZE:"normalize",MAXIMIZE:"maximize",HIDE:"hide",SHOW:"show",CLOSE:"close",DESTROY:"destroy",REFRESH:"refresh",SIZE:"size",SELECT:"select",FIRED:"fired",FIRE_MOUSE_EVENT:"fireMouseEvent",GESTURE:"gesture",TAP_AND_HOLD:"tapAndHold",
GET:"get",RECEIVE:"receive",CONNECT:"connect",DISCONNECT:"disconnect",SUSPEND:"suspend",RESUME:"resume",MARK:"mark",ROOT:"root",POST:"post",OPEN:"open",SAVE:"save",BEFORE_ADD_VERTEX:"beforeAddVertex",ADD_VERTEX:"addVertex",AFTER_ADD_VERTEX:"afterAddVertex",DONE:"done",EXECUTE:"execute",EXECUTED:"executed",BEGIN_UPDATE:"beginUpdate",START_EDIT:"startEdit",END_UPDATE:"endUpdate",END_EDIT:"endEdit",BEFORE_UNDO:"beforeUndo",UNDO:"undo",REDO:"redo",CHANGE:"change",NOTIFY:"notify",LAYOUT_CELLS:"layoutCells",
CLICK:"click",SCALE:"scale",TRANSLATE:"translate",SCALE_AND_TRANSLATE:"scaleAndTranslate",UP:"up",DOWN:"down",ADD:"add",REMOVE:"remove",CLEAR:"clear",ADD_CELLS:"addCells",CELLS_ADDED:"cellsAdded",MOVE_CELLS:"moveCells",CELLS_MOVED:"cellsMoved",RESIZE_CELLS:"resizeCells",CELLS_RESIZED:"cellsResized",TOGGLE_CELLS:"toggleCells",CELLS_TOGGLED:"cellsToggled",ORDER_CELLS:"orderCells",CELLS_ORDERED:"cellsOrdered",REMOVE_CELLS:"removeCells",CELLS_REMOVED:"cellsRemoved",GROUP_CELLS:"groupCells",UNGROUP_CELLS:"ungroupCells",
REMOVE_CELLS_FROM_PARENT:"removeCellsFromParent",FOLD_CELLS:"foldCells",CELLS_FOLDED:"cellsFolded",ALIGN_CELLS:"alignCells",LABEL_CHANGED:"labelChanged",CONNECT_CELL:"connectCell",CELL_CONNECTED:"cellConnected",SPLIT_EDGE:"splitEdge",FLIP_EDGE:"flipEdge",START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"editingStopped",ADD_OVERLAY:"addOverlay",REMOVE_OVERLAY:"removeOverlay",UPDATE_CELL_SIZE:"updateCellSize",ESCAPE:"escape",CLICK:"click",DOUBLE_CLICK:"doubleClick",START:"start",
RESET:"reset"};function mxXmlRequest(a,c,f,d,b,e){this.url=a;this.params=c;this.method=f||"POST";this.async=null!=d?d:!0;this.username=b;this.password=e}mxXmlRequest.prototype.url=null;mxXmlRequest.prototype.params=null;mxXmlRequest.prototype.method=null;mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1;mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;
mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState};mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};
mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};mxXmlRequest.prototype.getStatus=function(){return this.request.status};
mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset\x3dx-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}();
mxXmlRequest.prototype.send=function(a,c,f,d){this.request=this.create();if(null!=this.request){null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.onreadystatechaange=null)}));this.request.open(this.method,this.url,this.async,this.username,this.password);this.setRequestHeaders(this.request,this.params);window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true");if(!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&&
window.XMLHttpRequest&&null!=f&&null!=d)this.request.timeout=f,this.request.ontimeout=d;this.request.send(this.params)}};mxXmlRequest.prototype.setRequestHeaders=function(a,c){null!=c&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded")};
mxXmlRequest.prototype.simulate=function(a,c){a=a||document;var f=null;a==document&&(f=window.onbeforeunload,window.onbeforeunload=null);var d=a.createElement("form");d.setAttribute("method",this.method);d.setAttribute("action",this.url);null!=c&&d.setAttribute("target",c);d.style.display="none";d.style.visibility="hidden";for(var b=0<this.params.indexOf("\x26")?this.params.split("\x26"):this.params.split(),e=0;e<b.length;e++){var g=b[e].indexOf("\x3d");if(0<g){var k=b[e].substring(0,g),g=b[e].substring(g+
1);this.decodeSimulateValues&&(g=decodeURIComponent(g));var l=a.createElement("textarea");l.setAttribute("name",k);mxUtils.write(l,g);d.appendChild(l)}}a.body.appendChild(d);d.submit();a.body.removeChild(d);null!=f&&(window.onbeforeunload=f)};
var mxClipboard={STEPSIZE:10,insertCount:1,cells:null,setCells:function(a){mxClipboard.cells=a},getCells:function(){return mxClipboard.cells},isEmpty:function(){return null==mxClipboard.getCells()},cut:function(a,c){c=mxClipboard.copy(a,c);mxClipboard.insertCount=0;mxClipboard.removeCells(a,c);return c},removeCells:function(a,c){a.removeCells(c)},copy:function(a,c){c=c||a.getSelectionCells();var f=a.getExportableCells(a.model.getTopmostCells(c));mxClipboard.insertCount=1;mxClipboard.setCells(a.cloneCells(f));
return f},paste:function(a){var c=null;if(!mxClipboard.isEmpty()){var c=a.getImportableCells(mxClipboard.getCells()),f=mxClipboard.insertCount*mxClipboard.STEPSIZE,d=a.getDefaultParent(),c=a.importCells(c,f,f,d);mxClipboard.insertCount++;a.setSelectionCells(c)}return c}};
function mxWindow(a,c,f,d,b,e,g,k,l,n){null!=c&&(g=null!=g?g:!0,this.content=c,this.init(f,d,b,e,n),this.installMaximizeHandler(),this.installMinimizeHandler(),this.installCloseHandler(),this.setMinimizable(g),this.setTitle(a),(null==k||k)&&this.installMoveHandler(),null!=l&&null!=l.parentNode?l.parentNode.replaceChild(this.div,l):document.body.appendChild(this.div))}mxWindow.prototype=new mxEventSource;mxWindow.prototype.constructor=mxWindow;mxWindow.prototype.closeImage=mxClient.imageBasePath+"/close.gif";
mxWindow.prototype.minimizeImage=mxClient.imageBasePath+"/minimize.gif";mxWindow.prototype.normalizeImage=mxClient.imageBasePath+"/normalize.gif";mxWindow.prototype.maximizeImage=mxClient.imageBasePath+"/maximize.gif";mxWindow.prototype.resizeImage=mxClient.imageBasePath+"/resize.gif";mxWindow.prototype.visible=!1;mxWindow.prototype.minimumSize=new mxRectangle(0,0,50,40);mxWindow.prototype.destroyOnClose=!0;
mxWindow.prototype.contentHeightCorrection=8==document.documentMode||7==document.documentMode?6:2;mxWindow.prototype.title=null;mxWindow.prototype.content=null;
mxWindow.prototype.init=function(a,c,f,d,b){b=null!=b?b:"mxWindow";this.div=document.createElement("div");this.div.className=b;this.div.style.left=a+"px";this.div.style.top=c+"px";this.table=document.createElement("table");this.table.className=b;mxClient.IS_POINTER&&(this.div.style.touchAction="none");null!=f&&(mxClient.IS_QUIRKS||(this.div.style.width=f+"px"),this.table.style.width=f+"px");null!=d&&(mxClient.IS_QUIRKS||(this.div.style.height=d+"px"),this.table.style.height=d+"px");a=document.createElement("tbody");
c=document.createElement("tr");this.title=document.createElement("td");this.title.className=b+"Title";c.appendChild(this.title);a.appendChild(c);c=document.createElement("tr");this.td=document.createElement("td");this.td.className=b+"Pane";7==document.documentMode&&(this.td.style.height="100%");this.contentWrapper=document.createElement("div");this.contentWrapper.className=b+"Pane";this.contentWrapper.style.width="100%";this.contentWrapper.appendChild(this.content);if(mxClient.IS_QUIRKS||"DIV"!=this.content.nodeName.toUpperCase())this.contentWrapper.style.height=
"100%";this.td.appendChild(this.contentWrapper);c.appendChild(this.td);a.appendChild(c);this.table.appendChild(a);this.div.appendChild(this.table);b=mxUtils.bind(this,function(b){this.activate()});mxEvent.addGestureListeners(this.title,b);mxEvent.addGestureListeners(this.table,b);this.hide()};mxWindow.prototype.setTitle=function(a){for(var c=this.title.firstChild;null!=c;){var f=c.nextSibling;c.nodeType==mxConstants.NODETYPE_TEXT&&c.parentNode.removeChild(c);c=f}mxUtils.write(this.title,a||"")};
mxWindow.prototype.setScrollable=function(a){0>navigator.userAgent.indexOf("Presto/2.5")&&(this.contentWrapper.style.overflow=a?"auto":"hidden")};
mxWindow.prototype.activate=function(){if(mxWindow.activeWindow!=this){var a=mxUtils.getCurrentStyle(this.getElement()),a=null!=a?a.zIndex:3;if(mxWindow.activeWindow){var c=mxWindow.activeWindow.getElement();null!=c&&null!=c.style&&(c.style.zIndex=a)}c=mxWindow.activeWindow;this.getElement().style.zIndex=parseInt(a)+1;mxWindow.activeWindow=this;this.fireEvent(new mxEventObject(mxEvent.ACTIVATE,"previousWindow",c))}};mxWindow.prototype.getElement=function(){return this.div};
mxWindow.prototype.fit=function(){mxUtils.fit(this.div)};mxWindow.prototype.isResizable=function(){return null!=this.resize?"none"!=this.resize.style.display:!1};
mxWindow.prototype.setResizable=function(a){if(a)if(null==this.resize){this.resize=document.createElement("img");this.resize.style.position="absolute";this.resize.style.bottom="2px";this.resize.style.right="2px";this.resize.setAttribute("src",mxClient.imageBasePath+"/resize.gif");this.resize.style.cursor="nw-resize";var c=null,f=null,d=null,b=null;a=mxUtils.bind(this,function(a){this.activate();c=mxEvent.getClientX(a);f=mxEvent.getClientY(a);d=this.div.offsetWidth;b=this.div.offsetHeight;mxEvent.addGestureListeners(document,
null,e,g);this.fireEvent(new mxEventObject(mxEvent.RESIZE_START,"event",a));mxEvent.consume(a)});var e=mxUtils.bind(this,function(a){if(null!=c&&null!=f){var e=mxEvent.getClientX(a)-c,g=mxEvent.getClientY(a)-f;this.setSize(d+e,b+g);this.fireEvent(new mxEventObject(mxEvent.RESIZE,"event",a));mxEvent.consume(a)}}),g=mxUtils.bind(this,function(b){null!=c&&null!=f&&(f=c=null,mxEvent.removeGestureListeners(document,null,e,g),this.fireEvent(new mxEventObject(mxEvent.RESIZE_END,"event",b)),mxEvent.consume(b))});
mxEvent.addGestureListeners(this.resize,a,e,g);this.div.appendChild(this.resize)}else this.resize.style.display="inline";else null!=this.resize&&(this.resize.style.display="none")};
mxWindow.prototype.setSize=function(a,c){a=Math.max(this.minimumSize.width,a);c=Math.max(this.minimumSize.height,c);mxClient.IS_QUIRKS||(this.div.style.width=a+"px",this.div.style.height=c+"px");this.table.style.width=a+"px";this.table.style.height=c+"px";mxClient.IS_QUIRKS||(this.contentWrapper.style.height=this.div.offsetHeight-this.title.offsetHeight-this.contentHeightCorrection+"px")};mxWindow.prototype.setMinimizable=function(a){this.minimize.style.display=a?"":"none"};
mxWindow.prototype.getMinimumSize=function(){return new mxRectangle(0,0,0,this.title.offsetHeight)};
mxWindow.prototype.installMinimizeHandler=function(){this.minimize=document.createElement("img");this.minimize.setAttribute("src",this.minimizeImage);this.minimize.setAttribute("align","right");this.minimize.setAttribute("title","Minimize");this.minimize.style.cursor="pointer";this.minimize.style.marginRight="1px";this.minimize.style.display="none";this.title.appendChild(this.minimize);var a=!1,c=null,f=null,d=mxUtils.bind(this,function(b){this.activate();if(a)a=!1,this.minimize.setAttribute("src",
this.minimizeImage),this.minimize.setAttribute("title","Minimize"),this.contentWrapper.style.display="",this.maximize.style.display=c,mxClient.IS_QUIRKS||(this.div.style.height=f),this.table.style.height=f,null!=this.resize&&(this.resize.style.visibility=""),this.fireEvent(new mxEventObject(mxEvent.NORMALIZE,"event",b));else{a=!0;this.minimize.setAttribute("src",this.normalizeImage);this.minimize.setAttribute("title","Normalize");this.contentWrapper.style.display="none";c=this.maximize.style.display;
this.maximize.style.display="none";f=this.table.style.height;var d=this.getMinimumSize();0<d.height&&(mxClient.IS_QUIRKS||(this.div.style.height=d.height+"px"),this.table.style.height=d.height+"px");0<d.width&&(mxClient.IS_QUIRKS||(this.div.style.width=d.width+"px"),this.table.style.width=d.width+"px");null!=this.resize&&(this.resize.style.visibility="hidden");this.fireEvent(new mxEventObject(mxEvent.MINIMIZE,"event",b))}mxEvent.consume(b)});mxEvent.addGestureListeners(this.minimize,d)};
mxWindow.prototype.setMaximizable=function(a){this.maximize.style.display=a?"":"none"};
mxWindow.prototype.installMaximizeHandler=function(){this.maximize=document.createElement("img");this.maximize.setAttribute("src",this.maximizeImage);this.maximize.setAttribute("align","right");this.maximize.setAttribute("title","Maximize");this.maximize.style.cursor="default";this.maximize.style.marginLeft="1px";this.maximize.style.cursor="pointer";this.maximize.style.display="none";this.title.appendChild(this.maximize);var a=!1,c=null,f=null,d=null,b=null,e=mxUtils.bind(this,function(e){this.activate();
if("none"!=this.maximize.style.display){if(a){a=!1;this.maximize.setAttribute("src",this.maximizeImage);this.maximize.setAttribute("title","Maximize");this.contentWrapper.style.display="";this.minimize.style.visibility="";this.div.style.left=c+"px";this.div.style.top=f+"px";if(!mxClient.IS_QUIRKS&&(this.div.style.height=d,this.div.style.width=b,k=mxUtils.getCurrentStyle(this.contentWrapper),"auto"==k.overflow||null!=this.resize))this.contentWrapper.style.height=this.div.offsetHeight-this.title.offsetHeight-
this.contentHeightCorrection+"px";this.table.style.height=d;this.table.style.width=b;null!=this.resize&&(this.resize.style.visibility="");this.fireEvent(new mxEventObject(mxEvent.NORMALIZE,"event",e))}else{a=!0;this.maximize.setAttribute("src",this.normalizeImage);this.maximize.setAttribute("title","Normalize");this.contentWrapper.style.display="";this.minimize.style.visibility="hidden";c=parseInt(this.div.style.left);f=parseInt(this.div.style.top);d=this.table.style.height;b=this.table.style.width;
this.div.style.left="0px";this.div.style.top="0px";k=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0);mxClient.IS_QUIRKS||(this.div.style.width=document.body.clientWidth-2+"px",this.div.style.height=k-2+"px");this.table.style.width=document.body.clientWidth-2+"px";this.table.style.height=k-2+"px";null!=this.resize&&(this.resize.style.visibility="hidden");if(!mxClient.IS_QUIRKS){var k=mxUtils.getCurrentStyle(this.contentWrapper);if("auto"==k.overflow||null!=this.resize)this.contentWrapper.style.height=
this.div.offsetHeight-this.title.offsetHeight-this.contentHeightCorrection+"px"}this.fireEvent(new mxEventObject(mxEvent.MAXIMIZE,"event",e))}mxEvent.consume(e)}});mxEvent.addGestureListeners(this.maximize,e);mxEvent.addListener(this.title,"dblclick",e)};
mxWindow.prototype.installMoveHandler=function(){this.title.style.cursor="move";mxEvent.addGestureListeners(this.title,mxUtils.bind(this,function(a){var c=mxEvent.getClientX(a),f=mxEvent.getClientY(a),d=this.getX(),b=this.getY(),e=mxUtils.bind(this,function(a){var e=mxEvent.getClientX(a)-c,g=mxEvent.getClientY(a)-f;this.setLocation(d+e,b+g);this.fireEvent(new mxEventObject(mxEvent.MOVE,"event",a));mxEvent.consume(a)}),g=mxUtils.bind(this,function(b){mxEvent.removeGestureListeners(document,null,e,
g);this.fireEvent(new mxEventObject(mxEvent.MOVE_END,"event",b));mxEvent.consume(b)});mxEvent.addGestureListeners(document,null,e,g);this.fireEvent(new mxEventObject(mxEvent.MOVE_START,"event",a));mxEvent.consume(a)}));mxClient.IS_POINTER&&(this.title.style.touchAction="none")};mxWindow.prototype.setLocation=function(a,c){this.div.style.left=a+"px";this.div.style.top=c+"px"};mxWindow.prototype.getX=function(){return parseInt(this.div.style.left)};mxWindow.prototype.getY=function(){return parseInt(this.div.style.top)};
mxWindow.prototype.installCloseHandler=function(){this.closeImg=document.createElement("img");this.closeImg.setAttribute("src",this.closeImage);this.closeImg.setAttribute("align","right");this.closeImg.setAttribute("title","Close");this.closeImg.style.marginLeft="2px";this.closeImg.style.cursor="pointer";this.closeImg.style.display="none";this.title.insertBefore(this.closeImg,this.title.firstChild);mxEvent.addGestureListeners(this.closeImg,mxUtils.bind(this,function(a){this.fireEvent(new mxEventObject(mxEvent.CLOSE,
"event",a));this.destroyOnClose?this.destroy():this.setVisible(!1);mxEvent.consume(a)}))};mxWindow.prototype.setImage=function(a){this.image=document.createElement("img");this.image.setAttribute("src",a);this.image.setAttribute("align","left");this.image.style.marginRight="4px";this.image.style.marginLeft="0px";this.image.style.marginTop="-2px";this.title.insertBefore(this.image,this.title.firstChild)};mxWindow.prototype.setClosable=function(a){this.closeImg.style.display=a?"":"none"};
mxWindow.prototype.isVisible=function(){return null!=this.div?"none"!=this.div.style.display:!1};mxWindow.prototype.setVisible=function(a){null!=this.div&&this.isVisible()!=a&&(a?this.show():this.hide())};
mxWindow.prototype.show=function(){this.div.style.display="";this.activate();var a=mxUtils.getCurrentStyle(this.contentWrapper);if(!mxClient.IS_QUIRKS&&("auto"==a.overflow||null!=this.resize))this.contentWrapper.style.height=this.div.offsetHeight-this.title.offsetHeight-this.contentHeightCorrection+"px";this.fireEvent(new mxEventObject(mxEvent.SHOW))};mxWindow.prototype.hide=function(){this.div.style.display="none";this.fireEvent(new mxEventObject(mxEvent.HIDE))};
mxWindow.prototype.destroy=function(){this.fireEvent(new mxEventObject(mxEvent.DESTROY));null!=this.div&&(mxEvent.release(this.div),this.div.parentNode.removeChild(this.div),this.div=null);this.contentWrapper=this.content=this.title=null};function mxForm(a){this.table=document.createElement("table");this.table.className=a;this.body=document.createElement("tbody");this.table.appendChild(this.body)}mxForm.prototype.table=null;mxForm.prototype.body=!1;mxForm.prototype.getTable=function(){return this.table};
mxForm.prototype.addButtons=function(a,c){var f=document.createElement("tr"),d=document.createElement("td");f.appendChild(d);var d=document.createElement("td"),b=document.createElement("button");mxUtils.write(b,mxResources.get("ok")||"OK");d.appendChild(b);mxEvent.addListener(b,"click",function(){a()});b=document.createElement("button");mxUtils.write(b,mxResources.get("cancel")||"Cancel");d.appendChild(b);mxEvent.addListener(b,"click",function(){c()});f.appendChild(d);this.body.appendChild(f)};
mxForm.prototype.addText=function(a,c){var f=document.createElement("input");f.setAttribute("type","text");f.value=c;return this.addField(a,f)};mxForm.prototype.addCheckbox=function(a,c){var f=document.createElement("input");f.setAttribute("type","checkbox");this.addField(a,f);c&&(f.checked=!0);return f};mxForm.prototype.addTextarea=function(a,c,f){var d=document.createElement("textarea");mxClient.IS_NS&&f--;d.setAttribute("rows",f||2);d.value=c;return this.addField(a,d)};
mxForm.prototype.addCombo=function(a,c,f){var d=document.createElement("select");null!=f&&d.setAttribute("size",f);c&&d.setAttribute("multiple","true");return this.addField(a,d)};mxForm.prototype.addOption=function(a,c,f,d){var b=document.createElement("option");mxUtils.writeln(b,c);b.setAttribute("value",f);d&&b.setAttribute("selected",d);a.appendChild(b)};
mxForm.prototype.addField=function(a,c){var f=document.createElement("tr"),d=document.createElement("td");mxUtils.write(d,a);f.appendChild(d);d=document.createElement("td");d.appendChild(c);f.appendChild(d);this.body.appendChild(f);return c};function mxImage(a,c,f){this.src=a;this.width=c;this.height=f}mxImage.prototype.src=null;mxImage.prototype.width=null;mxImage.prototype.height=null;
function mxDivResizer(a,c){if("div"==a.nodeName.toLowerCase()){null==c&&(c=window);this.div=a;var f=mxUtils.getCurrentStyle(a);null!=f&&(this.resizeWidth="auto"==f.width,this.resizeHeight="auto"==f.height);mxEvent.addListener(c,"resize",mxUtils.bind(this,function(a){this.handlingResize||(this.handlingResize=!0,this.resize(),this.handlingResize=!1)}));this.resize()}}mxDivResizer.prototype.resizeWidth=!0;mxDivResizer.prototype.resizeHeight=!0;mxDivResizer.prototype.handlingResize=!1;
mxDivResizer.prototype.resize=function(){var a=this.getDocumentWidth(),c=this.getDocumentHeight(),f=parseInt(this.div.style.left),d=parseInt(this.div.style.right),b=parseInt(this.div.style.top),e=parseInt(this.div.style.bottom);this.resizeWidth&&!isNaN(f)&&(!isNaN(d)&&0<=f&&0<=d&&0<a-d-f)&&(this.div.style.width=a-d-f+"px");this.resizeHeight&&!isNaN(b)&&(!isNaN(e)&&0<=b&&0<=e&&0<c-b-e)&&(this.div.style.height=c-b-e+"px")};mxDivResizer.prototype.getDocumentWidth=function(){return document.body.clientWidth};
mxDivResizer.prototype.getDocumentHeight=function(){return document.body.clientHeight};function mxDragSource(a,c){this.element=a;this.dropHandler=c;mxEvent.addGestureListeners(a,mxUtils.bind(this,function(a){this.mouseDown(a)}));mxEvent.addListener(a,"dragstart",function(a){mxEvent.consume(a)});this.eventConsumer=function(a,d){var b=d.getProperty("eventName"),e=d.getProperty("event");b!=mxEvent.MOUSE_DOWN&&e.consume()}}mxDragSource.prototype.element=null;mxDragSource.prototype.dropHandler=null;
mxDragSource.prototype.dragOffset=null;mxDragSource.prototype.dragElement=null;mxDragSource.prototype.previewElement=null;mxDragSource.prototype.enabled=!0;mxDragSource.prototype.currentGraph=null;mxDragSource.prototype.currentDropTarget=null;mxDragSource.prototype.currentPoint=null;mxDragSource.prototype.currentGuide=null;mxDragSource.prototype.currentHighlight=null;mxDragSource.prototype.autoscroll=!0;mxDragSource.prototype.guidesEnabled=!0;mxDragSource.prototype.gridEnabled=!0;
mxDragSource.prototype.highlightDropTargets=!0;mxDragSource.prototype.dragElementZIndex=100;mxDragSource.prototype.dragElementOpacity=70;mxDragSource.prototype.isEnabled=function(){return this.enabled};mxDragSource.prototype.setEnabled=function(a){this.enabled=a};mxDragSource.prototype.isGuidesEnabled=function(){return this.guidesEnabled};mxDragSource.prototype.setGuidesEnabled=function(a){this.guidesEnabled=a};mxDragSource.prototype.isGridEnabled=function(){return this.gridEnabled};
mxDragSource.prototype.setGridEnabled=function(a){this.gridEnabled=a};mxDragSource.prototype.getGraphForEvent=function(a){return null};mxDragSource.prototype.getDropTarget=function(a,c,f,d){return a.getCellAt(c,f)};mxDragSource.prototype.createDragElement=function(a){return this.element.cloneNode(!0)};mxDragSource.prototype.createPreviewElement=function(a){return null};mxDragSource.prototype.isActive=function(){return null!=this.mouseMoveHandler};
mxDragSource.prototype.reset=function(){null!=this.currentGraph&&(this.dragExit(this.currentGraph),this.currentGraph=null);this.removeDragElement();this.removeListeners();this.stopDrag()};
mxDragSource.prototype.mouseDown=function(a){this.enabled&&!mxEvent.isConsumed(a)&&null==this.mouseMoveHandler&&(this.startDrag(a),this.mouseMoveHandler=mxUtils.bind(this,this.mouseMove),this.mouseUpHandler=mxUtils.bind(this,this.mouseUp),mxEvent.addGestureListeners(document,null,this.mouseMoveHandler,this.mouseUpHandler),mxClient.IS_TOUCH&&!mxEvent.isMouseEvent(a)&&(this.eventSource=mxEvent.getSource(a),mxEvent.addGestureListeners(this.eventSource,null,this.mouseMoveHandler,this.mouseUpHandler)))};
mxDragSource.prototype.startDrag=function(a){this.dragElement=this.createDragElement(a);this.dragElement.style.position="absolute";this.dragElement.style.zIndex=this.dragElementZIndex;mxUtils.setOpacity(this.dragElement,this.dragElementOpacity)};mxDragSource.prototype.stopDrag=function(){this.removeDragElement()};
mxDragSource.prototype.removeDragElement=function(){null!=this.dragElement&&(null!=this.dragElement.parentNode&&this.dragElement.parentNode.removeChild(this.dragElement),this.dragElement=null)};mxDragSource.prototype.graphContainsEvent=function(a,c){var f=mxEvent.getClientX(c),d=mxEvent.getClientY(c),b=mxUtils.getOffset(a.container),e=mxUtils.getScrollOrigin();return f>=b.x-e.x&&d>=b.y-e.y&&f<=b.x-e.x+a.container.offsetWidth&&d<=b.y-e.y+a.container.offsetHeight};
mxDragSource.prototype.mouseMove=function(a){var c=this.getGraphForEvent(a);null!=c&&!this.graphContainsEvent(c,a)&&(c=null);c!=this.currentGraph&&(null!=this.currentGraph&&this.dragExit(this.currentGraph,a),this.currentGraph=c,null!=this.currentGraph&&this.dragEnter(this.currentGraph,a));null!=this.currentGraph&&this.dragOver(this.currentGraph,a);if(null!=this.dragElement&&(null==this.previewElement||"visible"!=this.previewElement.style.visibility)){var c=mxEvent.getClientX(a),f=mxEvent.getClientY(a);
null==this.dragElement.parentNode&&document.body.appendChild(this.dragElement);this.dragElement.style.visibility="visible";null!=this.dragOffset&&(c+=this.dragOffset.x,f+=this.dragOffset.y);var d=mxUtils.getDocumentScrollOrigin(document);this.dragElement.style.left=c+d.x+"px";this.dragElement.style.top=f+d.y+"px"}else null!=this.dragElement&&(this.dragElement.style.visibility="hidden");mxEvent.consume(a)};
mxDragSource.prototype.mouseUp=function(a){if(null!=this.currentGraph){if(null!=this.currentPoint&&(null==this.previewElement||"hidden"!=this.previewElement.style.visibility)){var c=this.currentGraph.view.scale,f=this.currentGraph.view.translate;this.drop(this.currentGraph,a,this.currentDropTarget,this.currentPoint.x/c-f.x,this.currentPoint.y/c-f.y)}this.dragExit(this.currentGraph);this.currentGraph=null}this.stopDrag();this.removeListeners();mxEvent.consume(a)};
mxDragSource.prototype.removeListeners=function(){null!=this.eventSource&&(mxEvent.removeGestureListeners(this.eventSource,null,this.mouseMoveHandler,this.mouseUpHandler),this.eventSource=null);mxEvent.removeGestureListeners(document,null,this.mouseMoveHandler,this.mouseUpHandler);this.mouseUpHandler=this.mouseMoveHandler=null};
mxDragSource.prototype.dragEnter=function(a,c){a.isMouseDown=!0;a.isMouseTrigger=mxEvent.isMouseEvent(c);this.previewElement=this.createPreviewElement(a);this.isGuidesEnabled()&&null!=this.previewElement&&(this.currentGuide=new mxGuide(a,a.graphHandler.getGuideStates()));this.highlightDropTargets&&(this.currentHighlight=new mxCellHighlight(a,mxConstants.DROP_TARGET_COLOR));a.addListener(mxEvent.FIRE_MOUSE_EVENT,this.eventConsumer)};
mxDragSource.prototype.dragExit=function(a,c){this.currentPoint=this.currentDropTarget=null;a.isMouseDown=!1;a.removeListener(this.eventConsumer);null!=this.previewElement&&(null!=this.previewElement.parentNode&&this.previewElement.parentNode.removeChild(this.previewElement),this.previewElement=null);null!=this.currentGuide&&(this.currentGuide.destroy(),this.currentGuide=null);null!=this.currentHighlight&&(this.currentHighlight.destroy(),this.currentHighlight=null)};
mxDragSource.prototype.dragOver=function(a,c){var f=mxUtils.getOffset(a.container),d=mxUtils.getScrollOrigin(a.container),b=mxEvent.getClientX(c)-f.x+d.x-a.panDx,f=mxEvent.getClientY(c)-f.y+d.y-a.panDy;a.autoScroll&&(null==this.autoscroll||this.autoscroll)&&a.scrollPointToVisible(b,f,a.autoExtend);null!=this.currentHighlight&&a.isDropEnabled()&&(this.currentDropTarget=this.getDropTarget(a,b,f,c),d=a.getView().getState(this.currentDropTarget),this.currentHighlight.highlight(d));if(null!=this.previewElement){null==
this.previewElement.parentNode&&(a.container.appendChild(this.previewElement),this.previewElement.style.zIndex="3",this.previewElement.style.position="absolute");var d=this.isGridEnabled()&&a.isGridEnabledEvent(c),e=!0;if(null!=this.currentGuide&&this.currentGuide.isEnabledForEvent(c))var e=parseInt(this.previewElement.style.width),g=parseInt(this.previewElement.style.height),e=new mxRectangle(0,0,e,g),f=new mxPoint(b,f),f=this.currentGuide.move(e,f,d),e=!1,b=f.x,f=f.y;else if(d)var d=a.view.scale,
g=a.view.translate,k=a.gridSize/2,b=(a.snap(b/d-g.x-k)+g.x)*d,f=(a.snap(f/d-g.y-k)+g.y)*d;null!=this.currentGuide&&e&&this.currentGuide.hide();null!=this.previewOffset&&(b+=this.previewOffset.x,f+=this.previewOffset.y);this.previewElement.style.left=Math.round(b)+"px";this.previewElement.style.top=Math.round(f)+"px";this.previewElement.style.visibility="visible"}this.currentPoint=new mxPoint(b,f)};
mxDragSource.prototype.drop=function(a,c,f,d,b){this.dropHandler(a,c,f,d,b);"hidden"!=a.container.style.visibility&&a.container.focus()};function mxToolbar(a){this.container=a}mxToolbar.prototype=new mxEventSource;mxToolbar.prototype.constructor=mxToolbar;mxToolbar.prototype.container=null;mxToolbar.prototype.enabled=!0;mxToolbar.prototype.noReset=!1;mxToolbar.prototype.updateDefaultMode=!0;
mxToolbar.prototype.addItem=function(a,c,f,d,b,e){var g=document.createElement(null!=c?"img":"button"),k=b||(null!=e?"mxToolbarMode":"mxToolbarItem");g.className=k;g.setAttribute("src",c);null!=a&&(null!=c?g.setAttribute("title",a):mxUtils.write(g,a));this.container.appendChild(g);null!=f&&(mxEvent.addListener(g,"click",f),mxClient.IS_TOUCH&&mxEvent.addListener(g,"touchend",f));a=mxUtils.bind(this,function(b){null!=d?g.setAttribute("src",c):g.style.backgroundColor=""});mxEvent.addGestureListeners(g,
mxUtils.bind(this,function(b){null!=d?g.setAttribute("src",d):g.style.backgroundColor="gray";if(null!=e){null==this.menu&&(this.menu=new mxPopupMenu,this.menu.init());var a=this.currentImg;this.menu.isMenuShowing()&&this.menu.hideMenu();a!=g&&(this.currentImg=g,this.menu.factoryMethod=e,a=new mxPoint(g.offsetLeft,g.offsetTop+g.offsetHeight),this.menu.popup(a.x,a.y,null,b),this.menu.isMenuShowing()&&(g.className=k+"Selected",this.menu.hideMenu=function(){mxPopupMenu.prototype.hideMenu.apply(this);
g.className=k;this.currentImg=null}))}}),null,a);mxEvent.addListener(g,"mouseout",a);return g};mxToolbar.prototype.addCombo=function(a){var c=document.createElement("div");c.style.display="inline";c.className="mxToolbarComboContainer";var f=document.createElement("select");f.className=a||"mxToolbarCombo";c.appendChild(f);this.container.appendChild(c);return f};
mxToolbar.prototype.addActionCombo=function(a,c){var f=document.createElement("select");f.className=c||"mxToolbarCombo";this.addOption(f,a,null);mxEvent.addListener(f,"change",function(a){var b=f.options[f.selectedIndex];f.selectedIndex=0;null!=b.funct&&b.funct(a)});this.container.appendChild(f);return f};mxToolbar.prototype.addOption=function(a,c,f){var d=document.createElement("option");mxUtils.writeln(d,c);"function"==typeof f?d.funct=f:d.setAttribute("value",f);a.appendChild(d);return d};
mxToolbar.prototype.addSwitchMode=function(a,c,f,d,b){var e=document.createElement("img");e.initialClassName=b||"mxToolbarMode";e.className=e.initialClassName;e.setAttribute("src",c);e.altIcon=d;null!=a&&e.setAttribute("title",a);mxEvent.addListener(e,"click",mxUtils.bind(this,function(b){b=this.selectedMode.altIcon;null!=b?(this.selectedMode.altIcon=this.selectedMode.getAttribute("src"),this.selectedMode.setAttribute("src",b)):this.selectedMode.className=this.selectedMode.initialClassName;this.updateDefaultMode&&
(this.defaultMode=e);this.selectedMode=e;b=e.altIcon;null!=b?(e.altIcon=e.getAttribute("src"),e.setAttribute("src",b)):e.className=e.initialClassName+"Selected";this.fireEvent(new mxEventObject(mxEvent.SELECT));f()}));this.container.appendChild(e);null==this.defaultMode&&(this.defaultMode=e,this.selectMode(e),f());return e};
mxToolbar.prototype.addMode=function(a,c,f,d,b,e){e=null!=e?e:!0;var g=document.createElement(null!=c?"img":"button");g.initialClassName=b||"mxToolbarMode";g.className=g.initialClassName;g.setAttribute("src",c);g.altIcon=d;null!=a&&g.setAttribute("title",a);this.enabled&&e&&(mxEvent.addListener(g,"click",mxUtils.bind(this,function(b){this.selectMode(g,f);this.noReset=!1})),mxEvent.addListener(g,"dblclick",mxUtils.bind(this,function(b){this.selectMode(g,f);this.noReset=!0})),null==this.defaultMode&&
(this.defaultMode=g,this.defaultFunction=f,this.selectMode(g,f)));this.container.appendChild(g);return g};
mxToolbar.prototype.selectMode=function(a,c){if(this.selectedMode!=a){if(null!=this.selectedMode){var f=this.selectedMode.altIcon;null!=f?(this.selectedMode.altIcon=this.selectedMode.getAttribute("src"),this.selectedMode.setAttribute("src",f)):this.selectedMode.className=this.selectedMode.initialClassName}this.selectedMode=a;f=this.selectedMode.altIcon;null!=f?(this.selectedMode.altIcon=this.selectedMode.getAttribute("src"),this.selectedMode.setAttribute("src",f)):this.selectedMode.className=this.selectedMode.initialClassName+
"Selected";this.fireEvent(new mxEventObject(mxEvent.SELECT,"function",c))}};mxToolbar.prototype.resetMode=function(a){(a||!this.noReset)&&this.selectedMode!=this.defaultMode&&this.selectMode(this.defaultMode,this.defaultFunction)};mxToolbar.prototype.addSeparator=function(a){return this.addItem(null,a,null)};mxToolbar.prototype.addBreak=function(){mxUtils.br(this.container)};
mxToolbar.prototype.addLine=function(){var a=document.createElement("hr");a.style.marginRight="6px";a.setAttribute("size","1");this.container.appendChild(a)};mxToolbar.prototype.destroy=function(){mxEvent.release(this.container);this.selectedMode=this.defaultFunction=this.defaultMode=this.container=null;null!=this.menu&&this.menu.destroy()};function mxUndoableEdit(a,c){this.source=a;this.changes=[];this.significant=null!=c?c:!0}mxUndoableEdit.prototype.source=null;
mxUndoableEdit.prototype.changes=null;mxUndoableEdit.prototype.significant=null;mxUndoableEdit.prototype.undone=!1;mxUndoableEdit.prototype.redone=!1;mxUndoableEdit.prototype.isEmpty=function(){return 0==this.changes.length};mxUndoableEdit.prototype.isSignificant=function(){return this.significant};mxUndoableEdit.prototype.add=function(a){this.changes.push(a)};mxUndoableEdit.prototype.notify=function(){};mxUndoableEdit.prototype.die=function(){};
mxUndoableEdit.prototype.undo=function(){if(!this.undone){this.source.fireEvent(new mxEventObject(mxEvent.START_EDIT));for(var a=this.changes.length-1;0<=a;a--){var c=this.changes[a];null!=c.execute?c.execute():null!=c.undo&&c.undo();this.source.fireEvent(new mxEventObject(mxEvent.EXECUTED,"change",c))}this.undone=!0;this.redone=!1;this.source.fireEvent(new mxEventObject(mxEvent.END_EDIT))}this.notify()};
mxUndoableEdit.prototype.redo=function(){if(!this.redone){this.source.fireEvent(new mxEventObject(mxEvent.START_EDIT));for(var a=this.changes.length,c=0;c<a;c++){var f=this.changes[c];null!=f.execute?f.execute():null!=f.redo&&f.redo();this.source.fireEvent(new mxEventObject(mxEvent.EXECUTED,"change",f))}this.undone=!1;this.redone=!0;this.source.fireEvent(new mxEventObject(mxEvent.END_EDIT))}this.notify()};function mxUndoManager(a){this.size=null!=a?a:100;this.clear()}mxUndoManager.prototype=new mxEventSource;
mxUndoManager.prototype.constructor=mxUndoManager;mxUndoManager.prototype.size=null;mxUndoManager.prototype.history=null;mxUndoManager.prototype.indexOfNextAdd=0;mxUndoManager.prototype.isEmpty=function(){return 0==this.history.length};mxUndoManager.prototype.clear=function(){this.history=[];this.indexOfNextAdd=0;this.fireEvent(new mxEventObject(mxEvent.CLEAR))};mxUndoManager.prototype.canUndo=function(){return 0<this.indexOfNextAdd};
mxUndoManager.prototype.undo=function(){for(;0<this.indexOfNextAdd;){var a=this.history[--this.indexOfNextAdd];a.undo();if(a.isSignificant()){this.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",a));break}}};mxUndoManager.prototype.canRedo=function(){return this.indexOfNextAdd<this.history.length};
mxUndoManager.prototype.redo=function(){for(var a=this.history.length;this.indexOfNextAdd<a;){var c=this.history[this.indexOfNextAdd++];c.redo();if(c.isSignificant()){this.fireEvent(new mxEventObject(mxEvent.REDO,"edit",c));break}}};mxUndoManager.prototype.undoableEditHappened=function(a){this.trim();0<this.size&&this.size==this.history.length&&this.history.shift();this.history.push(a);this.indexOfNextAdd=this.history.length;this.fireEvent(new mxEventObject(mxEvent.ADD,"edit",a))};
mxUndoManager.prototype.trim=function(){if(this.history.length>this.indexOfNextAdd)for(var a=this.history.splice(this.indexOfNextAdd,this.history.length-this.indexOfNextAdd),c=0;c<a.length;c++)a[c].die()};var mxUrlConverter=function(){};mxUrlConverter.prototype.enabled=!0;mxUrlConverter.prototype.baseUrl=null;mxUrlConverter.prototype.baseDomain=null;
mxUrlConverter.prototype.updateBaseUrl=function(){this.baseDomain=location.protocol+"//"+location.host;this.baseUrl=this.baseDomain+location.pathname;var a=this.baseUrl.lastIndexOf("/");0<a&&(this.baseUrl=this.baseUrl.substring(0,a+1))};mxUrlConverter.prototype.isEnabled=function(){return this.enabled};mxUrlConverter.prototype.setEnabled=function(a){this.enabled=a};mxUrlConverter.prototype.getBaseUrl=function(){return this.baseUrl};mxUrlConverter.prototype.setBaseUrl=function(a){this.baseUrl=a};
mxUrlConverter.prototype.getBaseDomain=function(){return this.baseDomain};mxUrlConverter.prototype.setBaseDomain=function(a){this.baseDomain=a};mxUrlConverter.prototype.isRelativeUrl=function(a){return"//"!=a.substring(0,2)&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&"data:image"!=a.substring(0,10)};
mxUrlConverter.prototype.convert=function(a){this.isEnabled()&&this.isRelativeUrl(a)&&(null==this.getBaseUrl()&&this.updateBaseUrl(),a="/"==a.charAt(0)?this.getBaseDomain()+a:this.getBaseUrl()+a);return a};
function mxPanningManager(a){this.thread=null;this.active=!1;this.dy=this.dx=this.t0y=this.t0x=this.tdy=this.tdx=0;this.scrollbars=!1;this.scrollTop=this.scrollLeft=0;this.mouseListener={mouseDown:function(a,d){},mouseMove:function(a,d){},mouseUp:mxUtils.bind(this,function(a,d){this.active&&this.stop()})};a.addMouseListener(this.mouseListener);mxEvent.addListener(document,"mouseup",mxUtils.bind(this,function(){this.active&&this.stop()}));var c=mxUtils.bind(this,function(){this.scrollbars=mxUtils.hasScrollbars(a.container);
this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop;return window.setInterval(mxUtils.bind(this,function(){this.tdx-=this.dx;this.tdy-=this.dy;if(this.scrollbars){var c=-a.container.scrollLeft-Math.ceil(this.dx),d=-a.container.scrollTop-Math.ceil(this.dy);a.panGraph(c,d);a.panDx=this.scrollLeft-a.container.scrollLeft;a.panDy=this.scrollTop-a.container.scrollTop;a.fireEvent(new mxEventObject(mxEvent.PAN))}else a.panGraph(this.getDx(),this.getDy())}),this.delay)});this.isActive=
function(){return active};this.getDx=function(){return Math.round(this.tdx)};this.getDy=function(){return Math.round(this.tdy)};this.start=function(){this.t0x=a.view.translate.x;this.t0y=a.view.translate.y;this.active=!0};this.panTo=function(f,d,b,e){this.active||this.start();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop;e=null!=e?e:0;var g=a.container;this.dx=f+(null!=b?b:0)-g.scrollLeft-g.clientWidth;0>this.dx&&Math.abs(this.dx)<this.border?this.dx=this.border+this.dx:
this.dx=this.handleMouseOut?Math.max(this.dx,0):0;0==this.dx&&(this.dx=f-g.scrollLeft,this.dx=0<this.dx&&this.dx<this.border?this.dx-this.border:this.handleMouseOut?Math.min(0,this.dx):0);this.dy=d+e-g.scrollTop-g.clientHeight;0>this.dy&&Math.abs(this.dy)<this.border?this.dy=this.border+this.dy:this.dy=this.handleMouseOut?Math.max(this.dy,0):0;0==this.dy&&(this.dy=d-g.scrollTop,this.dy=0<this.dy&&this.dy<this.border?this.dy-this.border:this.handleMouseOut?Math.min(0,this.dy):0);0!=this.dx||0!=this.dy?
(this.dx*=this.damper,this.dy*=this.damper,null==this.thread&&(this.thread=c())):null!=this.thread&&(window.clearInterval(this.thread),this.thread=null)};this.stop=function(){if(this.active)if(this.active=!1,null!=this.thread&&(window.clearInterval(this.thread),this.thread=null),this.tdy=this.tdx=0,this.scrollbars)a.panDx=0,a.panDy=0,a.fireEvent(new mxEventObject(mxEvent.PAN));else{var c=a.panDx,d=a.panDy;if(0!=c||0!=d)a.panGraph(0,0),a.view.setTranslate(this.t0x+c/a.view.scale,this.t0y+d/a.view.scale)}};
this.destroy=function(){a.removeMouseListener(this.mouseListener)}}mxPanningManager.prototype.damper=1/6;mxPanningManager.prototype.delay=10;mxPanningManager.prototype.handleMouseOut=!0;mxPanningManager.prototype.border=0;function mxPopupMenu(a){this.factoryMethod=a;null!=a&&this.init()}mxPopupMenu.prototype=new mxEventSource;mxPopupMenu.prototype.constructor=mxPopupMenu;mxPopupMenu.prototype.submenuImage=mxClient.imageBasePath+"/submenu.gif";mxPopupMenu.prototype.zIndex=10006;
mxPopupMenu.prototype.factoryMethod=null;mxPopupMenu.prototype.useLeftButtonForPopup=!1;mxPopupMenu.prototype.enabled=!0;mxPopupMenu.prototype.itemCount=0;mxPopupMenu.prototype.autoExpand=!1;mxPopupMenu.prototype.smartSeparators=!1;mxPopupMenu.prototype.labels=!0;
mxPopupMenu.prototype.init=function(){this.table=document.createElement("table");this.table.className="mxPopupMenu";this.tbody=document.createElement("tbody");this.table.appendChild(this.tbody);this.div=document.createElement("div");this.div.className="mxPopupMenu";this.div.style.display="inline";this.div.style.zIndex=this.zIndex;this.div.appendChild(this.table);mxEvent.disableContextMenu(this.div)};mxPopupMenu.prototype.isEnabled=function(){return this.enabled};
mxPopupMenu.prototype.setEnabled=function(a){this.enabled=a};mxPopupMenu.prototype.isPopupTrigger=function(a){return a.isPopupTrigger()||this.useLeftButtonForPopup&&mxEvent.isLeftMouseButton(a.getEvent())};
mxPopupMenu.prototype.addItem=function(a,c,f,d,b,e,g){d=d||this;this.itemCount++;d.willAddSeparator&&(d.containsItems&&this.addSeparator(d,!0),d.willAddSeparator=!1);d.containsItems=!0;var k=document.createElement("tr");k.className="mxPopupMenuItem";var l=document.createElement("td");l.className="mxPopupMenuIcon";null!=c?(b=document.createElement("img"),b.src=c,l.appendChild(b)):null!=b&&(c=document.createElement("div"),c.className=b,l.appendChild(c));k.appendChild(l);this.labels&&(l=document.createElement("td"),
l.className="mxPopupMenuItem"+(null!=e&&!e?" mxDisabled":""),mxUtils.write(l,a),l.align="left",k.appendChild(l),a=document.createElement("td"),a.className="mxPopupMenuItem"+(null!=e&&!e?" mxDisabled":""),a.style.paddingRight="6px",a.style.textAlign="right",k.appendChild(a),null==d.div&&this.createSubmenu(d));d.tbody.appendChild(k);if(!1!=g&&!1!=e){var n=null;mxEvent.addGestureListeners(k,mxUtils.bind(this,function(b){this.eventReceiver=k;d.activeRow!=k&&d.activeRow!=d&&(null!=d.activeRow&&null!=d.activeRow.div.parentNode&&
this.hideSubmenu(d),null!=k.div&&(this.showSubmenu(d,k),d.activeRow=k));if(mxClient.IS_QUIRKS||8==document.documentMode)n=document.selection.createRange();mxEvent.consume(b)}),mxUtils.bind(this,function(b){d.activeRow!=k&&d.activeRow!=d&&(null!=d.activeRow&&null!=d.activeRow.div.parentNode&&this.hideSubmenu(d),this.autoExpand&&null!=k.div&&(this.showSubmenu(d,k),d.activeRow=k));k.className="mxPopupMenuItemHover"}),mxUtils.bind(this,function(b){if(this.eventReceiver==k){d.activeRow!=k&&this.hideMenu();
if(null!=n){try{n.select()}catch(a){}n=null}null!=f&&f(b)}this.eventReceiver=null;mxEvent.consume(b)}));mxEvent.addListener(k,"mouseout",mxUtils.bind(this,function(b){k.className="mxPopupMenuItem"}))}return k};mxPopupMenu.prototype.addCheckmark=function(a,c){var f=a.firstChild.nextSibling;f.style.backgroundImage="url('"+c+"')";f.style.backgroundRepeat="no-repeat";f.style.backgroundPosition="2px 50%"};
mxPopupMenu.prototype.createSubmenu=function(a){a.table=document.createElement("table");a.table.className="mxPopupMenu";a.tbody=document.createElement("tbody");a.table.appendChild(a.tbody);a.div=document.createElement("div");a.div.className="mxPopupMenu";a.div.style.position="absolute";a.div.style.display="inline";a.div.style.zIndex=this.zIndex;a.div.appendChild(a.table);var c=document.createElement("img");c.setAttribute("src",this.submenuImage);td=a.firstChild.nextSibling.nextSibling;td.appendChild(c)};
mxPopupMenu.prototype.showSubmenu=function(a,c){if(null!=c.div){c.div.style.left=a.div.offsetLeft+c.offsetLeft+c.offsetWidth-1+"px";c.div.style.top=a.div.offsetTop+c.offsetTop+"px";document.body.appendChild(c.div);var f=parseInt(c.div.offsetLeft),d=parseInt(c.div.offsetWidth),b=mxUtils.getDocumentScrollOrigin(document),e=document.documentElement;if(f+d>b.x+(document.body.clientWidth||e.clientWidth))c.div.style.left=a.div.offsetLeft-d+(mxClient.IS_IE?6:-6)+"px";mxUtils.fit(c.div)}};
mxPopupMenu.prototype.addSeparator=function(a,c){a=a||this;if(this.smartSeparators&&!c)a.willAddSeparator=!0;else if(null!=a.tbody){a.willAddSeparator=!1;var f=document.createElement("tr"),d=document.createElement("td");d.className="mxPopupMenuIcon";d.style.padding="0 0 0 0px";f.appendChild(d);d=document.createElement("td");d.style.padding="0 0 0 0px";d.setAttribute("colSpan","2");var b=document.createElement("hr");b.setAttribute("size","1");d.appendChild(b);f.appendChild(d);a.tbody.appendChild(f)}};
mxPopupMenu.prototype.popup=function(a,c,f,d){if(null!=this.div&&null!=this.tbody&&null!=this.factoryMethod){this.div.style.left=a+"px";for(this.div.style.top=c+"px";null!=this.tbody.firstChild;)mxEvent.release(this.tbody.firstChild),this.tbody.removeChild(this.tbody.firstChild);this.itemCount=0;this.factoryMethod(this,f,d);0<this.itemCount&&(this.showMenu(),this.fireEvent(new mxEventObject(mxEvent.SHOW)))}};
mxPopupMenu.prototype.isMenuShowing=function(){return null!=this.div&&this.div.parentNode==document.body};mxPopupMenu.prototype.showMenu=function(){9<=document.documentMode&&(this.div.style.filter="none");document.body.appendChild(this.div);mxUtils.fit(this.div)};mxPopupMenu.prototype.hideMenu=function(){null!=this.div&&(null!=this.div.parentNode&&this.div.parentNode.removeChild(this.div),this.hideSubmenu(this),this.containsItems=!1,this.fireEvent(new mxEventObject(mxEvent.HIDE)))};
mxPopupMenu.prototype.hideSubmenu=function(a){null!=a.activeRow&&(this.hideSubmenu(a.activeRow),null!=a.activeRow.div.parentNode&&a.activeRow.div.parentNode.removeChild(a.activeRow.div),a.activeRow=null)};mxPopupMenu.prototype.destroy=function(){null!=this.div&&(mxEvent.release(this.div),null!=this.div.parentNode&&this.div.parentNode.removeChild(this.div),this.div=null)};
function mxAutoSaveManager(a){this.changeHandler=mxUtils.bind(this,function(a,f){this.isEnabled()&&this.graphModelChanged(f.getProperty("edit").changes)});this.setGraph(a)}mxAutoSaveManager.prototype=new mxEventSource;mxAutoSaveManager.prototype.constructor=mxAutoSaveManager;mxAutoSaveManager.prototype.graph=null;mxAutoSaveManager.prototype.autoSaveDelay=10;mxAutoSaveManager.prototype.autoSaveThrottle=2;mxAutoSaveManager.prototype.autoSaveThreshold=5;mxAutoSaveManager.prototype.ignoredChanges=0;
mxAutoSaveManager.prototype.lastSnapshot=0;mxAutoSaveManager.prototype.enabled=!0;mxAutoSaveManager.prototype.changeHandler=null;mxAutoSaveManager.prototype.isEnabled=function(){return this.enabled};mxAutoSaveManager.prototype.setEnabled=function(a){this.enabled=a};mxAutoSaveManager.prototype.setGraph=function(a){null!=this.graph&&this.graph.getModel().removeListener(this.changeHandler);this.graph=a;null!=this.graph&&this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler)};
mxAutoSaveManager.prototype.save=function(){};mxAutoSaveManager.prototype.graphModelChanged=function(a){a=((new Date).getTime()-this.lastSnapshot)/1E3;a>this.autoSaveDelay||this.ignoredChanges>=this.autoSaveThreshold&&a>this.autoSaveThrottle?(this.save(),this.reset()):this.ignoredChanges++};mxAutoSaveManager.prototype.reset=function(){this.lastSnapshot=(new Date).getTime();this.ignoredChanges=0};mxAutoSaveManager.prototype.destroy=function(){this.setGraph(null)};
function mxAnimation(a){this.delay=null!=a?a:20}mxAnimation.prototype=new mxEventSource;mxAnimation.prototype.constructor=mxAnimation;mxAnimation.prototype.delay=null;mxAnimation.prototype.thread=null;mxAnimation.prototype.isRunning=function(){return null!=this.thread};mxAnimation.prototype.startAnimation=function(){null==this.thread&&(this.thread=window.setInterval(mxUtils.bind(this,this.updateAnimation),this.delay))};mxAnimation.prototype.updateAnimation=function(){this.fireEvent(new mxEventObject(mxEvent.EXECUTE))};
mxAnimation.prototype.stopAnimation=function(){null!=this.thread&&(window.clearInterval(this.thread),this.thread=null,this.fireEvent(new mxEventObject(mxEvent.DONE)))};function mxMorphing(a,c,f,d){mxAnimation.call(this,d);this.graph=a;this.steps=null!=c?c:6;this.ease=null!=f?f:1.5}mxMorphing.prototype=new mxAnimation;mxMorphing.prototype.constructor=mxMorphing;mxMorphing.prototype.graph=null;mxMorphing.prototype.steps=null;mxMorphing.prototype.step=0;mxMorphing.prototype.ease=null;
mxMorphing.prototype.cells=null;mxMorphing.prototype.updateAnimation=function(){var a=new mxCellStatePreview(this.graph);if(null!=this.cells)for(var c=0;c<this.cells.length;c++)this.animateCell(this.cells[c],a,!1);else this.animateCell(this.graph.getModel().getRoot(),a,!0);this.show(a);(a.isEmpty()||this.step++>=this.steps)&&this.stopAnimation()};mxMorphing.prototype.show=function(a){a.show()};
mxMorphing.prototype.animateCell=function(a,c,f){var d=this.graph.getView().getState(a),b=null;if(null!=d&&(b=this.getDelta(d),this.graph.getModel().isVertex(a)&&(0!=b.x||0!=b.y))){var e=this.graph.view.getTranslate(),g=this.graph.view.getScale();b.x+=e.x*g;b.y+=e.y*g;c.moveState(d,-b.x/this.ease,-b.y/this.ease)}if(f&&!this.stopRecursion(d,b)){d=this.graph.getModel().getChildCount(a);for(b=0;b<d;b++)this.animateCell(this.graph.getModel().getChildAt(a,b),c,f)}};
mxMorphing.prototype.stopRecursion=function(a,c){return null!=c&&(0!=c.x||0!=c.y)};mxMorphing.prototype.getDelta=function(a){var c=this.getOriginForCell(a.cell),f=this.graph.getView().getTranslate(),d=this.graph.getView().getScale();return new mxPoint((c.x-(a.x/d-f.x))*d,(c.y-(a.y/d-f.y))*d)};
mxMorphing.prototype.getOriginForCell=function(a){var c=null;if(null!=a){var f=this.graph.getModel().getParent(a);a=this.graph.getCellGeometry(a);c=this.getOriginForCell(f);null!=a&&(a.relative?(f=this.graph.getCellGeometry(f),null!=f&&(c.x+=a.x*f.width,c.y+=a.y*f.height)):(c.x+=a.x,c.y+=a.y))}null==c&&(c=this.graph.view.getTranslate(),c=new mxPoint(-c.x,-c.y));return c};function mxImageBundle(a){this.images=[];this.alt=null!=a?a:!1}mxImageBundle.prototype.images=null;
mxImageBundle.prototype.images=null;mxImageBundle.prototype.putImage=function(a,c,f){this.images[a]={value:c,fallback:f}};mxImageBundle.prototype.getImage=function(a){var c=null;null!=a&&(a=this.images[a],null!=a&&(c=this.alt?a.fallback:a.value));return c};function mxImageExport(){}mxImageExport.prototype.includeOverlays=!1;
mxImageExport.prototype.drawState=function(a,c){null!=a&&(this.visitStatesRecursive(a,c,mxUtils.bind(this,function(){this.drawCellState.apply(this,arguments)})),this.includeOverlays&&this.visitStatesRecursive(a,c,mxUtils.bind(this,function(){this.drawOverlays.apply(this,arguments)})))};
mxImageExport.prototype.visitStatesRecursive=function(a,c,f){if(null!=a){f(a,c);for(var d=a.view.graph,b=d.model.getChildCount(a.cell),e=0;e<b;e++){var g=d.view.getState(d.model.getChildAt(a.cell,e));this.visitStatesRecursive(g,c,f)}}};mxImageExport.prototype.getLinkForCellState=function(a,c){return null};mxImageExport.prototype.drawCellState=function(a,c){var f=this.getLinkForCellState(a,c);null!=f&&c.setLink(f);this.drawShape(a,c);this.drawText(a,c);null!=f&&c.setLink(null)};
mxImageExport.prototype.drawShape=function(a,c){a.shape instanceof mxShape&&a.shape.checkBounds()&&(c.save(),a.shape.paint(c),c.restore())};mxImageExport.prototype.drawText=function(a,c){null!=a.text&&a.text.checkBounds()&&(c.save(),a.text.paint(c),c.restore())};mxImageExport.prototype.drawOverlays=function(a,c){null!=a.overlays&&a.overlays.visit(function(a,d){d instanceof mxShape&&d.paint(c)})};function mxAbstractCanvas2D(){this.converter=this.createUrlConverter();this.reset()}
mxAbstractCanvas2D.prototype.state=null;mxAbstractCanvas2D.prototype.states=null;mxAbstractCanvas2D.prototype.path=null;mxAbstractCanvas2D.prototype.rotateHtml=!0;mxAbstractCanvas2D.prototype.lastX=0;mxAbstractCanvas2D.prototype.lastY=0;mxAbstractCanvas2D.prototype.moveOp="M";mxAbstractCanvas2D.prototype.lineOp="L";mxAbstractCanvas2D.prototype.quadOp="Q";mxAbstractCanvas2D.prototype.curveOp="C";mxAbstractCanvas2D.prototype.closeOp="Z";mxAbstractCanvas2D.prototype.pointerEvents=!1;
mxAbstractCanvas2D.prototype.createUrlConverter=function(){return new mxUrlConverter};mxAbstractCanvas2D.prototype.reset=function(){this.state=this.createState();this.states=[]};
mxAbstractCanvas2D.prototype.createState=function(){return{dx:0,dy:0,scale:1,alpha:1,fillAlpha:1,strokeAlpha:1,fillColor:null,gradientFillAlpha:1,gradientColor:null,gradientAlpha:1,gradientDirection:null,strokeColor:null,strokeWidth:1,dashed:!1,dashPattern:"3 3",lineCap:"flat",lineJoin:"miter",miterLimit:10,fontColor:"#000000",fontBackgroundColor:null,fontBorderColor:null,fontSize:mxConstants.DEFAULT_FONTSIZE,fontFamily:mxConstants.DEFAULT_FONTFAMILY,fontStyle:0,shadow:!1,shadowColor:mxConstants.SHADOWCOLOR,
shadowAlpha:mxConstants.SHADOW_OPACITY,shadowDx:mxConstants.SHADOW_OFFSET_X,shadowDy:mxConstants.SHADOW_OFFSET_Y,rotation:0,rotationCx:0,rotationCy:0}};mxAbstractCanvas2D.prototype.format=function(a){return Math.round(parseFloat(a))};
mxAbstractCanvas2D.prototype.addOp=function(){if(null!=this.path&&(this.path.push(arguments[0]),2<arguments.length))for(var a=this.state,c=2;c<arguments.length;c+=2)this.lastX=arguments[c-1],this.lastY=arguments[c],this.path.push(this.format((this.lastX+a.dx)*a.scale)),this.path.push(this.format((this.lastY+a.dy)*a.scale))};mxAbstractCanvas2D.prototype.rotatePoint=function(a,c,f,d,b){f*=Math.PI/180;return mxUtils.getRotatedPoint(new mxPoint(a,c),Math.cos(f),Math.sin(f),new mxPoint(d,b))};
mxAbstractCanvas2D.prototype.save=function(){this.states.push(this.state);this.state=mxUtils.clone(this.state)};mxAbstractCanvas2D.prototype.restore=function(){0<this.states.length&&(this.state=this.states.pop())};mxAbstractCanvas2D.prototype.setLink=function(a){};mxAbstractCanvas2D.prototype.scale=function(a){this.state.scale*=a;this.state.strokeWidth*=a};mxAbstractCanvas2D.prototype.translate=function(a,c){this.state.dx+=a;this.state.dy+=c};mxAbstractCanvas2D.prototype.rotate=function(a,c,f,d,b){};
mxAbstractCanvas2D.prototype.setAlpha=function(a){this.state.alpha=a};mxAbstractCanvas2D.prototype.setFillAlpha=function(a){this.state.fillAlpha=a};mxAbstractCanvas2D.prototype.setStrokeAlpha=function(a){this.state.strokeAlpha=a};mxAbstractCanvas2D.prototype.setFillColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fillColor=a;this.state.gradientColor=null};
mxAbstractCanvas2D.prototype.setGradient=function(a,c,f,d,b,e,g,k,l){f=this.state;f.fillColor=a;f.gradientFillAlpha=null!=k?k:1;f.gradientColor=c;f.gradientAlpha=null!=l?l:1;f.gradientDirection=g};mxAbstractCanvas2D.prototype.setStrokeColor=function(a){a==mxConstants.NONE&&(a=null);this.state.strokeColor=a};mxAbstractCanvas2D.prototype.setStrokeWidth=function(a){this.state.strokeWidth=a};mxAbstractCanvas2D.prototype.setDashed=function(a){this.state.dashed=a};
mxAbstractCanvas2D.prototype.setDashPattern=function(a){this.state.dashPattern=a};mxAbstractCanvas2D.prototype.setLineCap=function(a){this.state.lineCap=a};mxAbstractCanvas2D.prototype.setLineJoin=function(a){this.state.lineJoin=a};mxAbstractCanvas2D.prototype.setMiterLimit=function(a){this.state.miterLimit=a};mxAbstractCanvas2D.prototype.setFontColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontColor=a};
mxAbstractCanvas2D.prototype.setFontBackgroundColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBackgroundColor=a};mxAbstractCanvas2D.prototype.setFontBorderColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBorderColor=a};mxAbstractCanvas2D.prototype.setFontSize=function(a){this.state.fontSize=parseFloat(a)};mxAbstractCanvas2D.prototype.setFontFamily=function(a){this.state.fontFamily=a};
mxAbstractCanvas2D.prototype.setFontStyle=function(a){null==a&&(a=0);this.state.fontStyle=a};mxAbstractCanvas2D.prototype.setShadow=function(a){this.state.shadow=a};mxAbstractCanvas2D.prototype.setShadowColor=function(a){a==mxConstants.NONE&&(a=null);this.state.shadowColor=a};mxAbstractCanvas2D.prototype.setShadowAlpha=function(a){this.state.shadowAlpha=a};mxAbstractCanvas2D.prototype.setShadowOffset=function(a,c){this.state.shadowDx=a;this.state.shadowDy=c};
mxAbstractCanvas2D.prototype.begin=function(){this.lastY=this.lastX=0;this.path=[]};mxAbstractCanvas2D.prototype.moveTo=function(a,c){this.addOp(this.moveOp,a,c)};mxAbstractCanvas2D.prototype.lineTo=function(a,c){this.addOp(this.lineOp,a,c)};mxAbstractCanvas2D.prototype.quadTo=function(a,c,f,d){this.addOp(this.quadOp,a,c,f,d)};mxAbstractCanvas2D.prototype.curveTo=function(a,c,f,d,b,e){this.addOp(this.curveOp,a,c,f,d,b,e)};
mxAbstractCanvas2D.prototype.arcTo=function(a,c,f,d,b,e,g){a=mxUtils.arcToCurves(this.lastX,this.lastY,a,c,f,d,b,e,g);if(null!=a)for(c=0;c<a.length;c+=6)this.curveTo(a[c],a[c+1],a[c+2],a[c+3],a[c+4],a[c+5])};mxAbstractCanvas2D.prototype.close=function(a,c,f,d,b,e){this.addOp(this.closeOp)};mxAbstractCanvas2D.prototype.end=function(){};function mxXmlCanvas2D(a){mxAbstractCanvas2D.call(this);this.root=a;this.writeDefaults()}mxUtils.extend(mxXmlCanvas2D,mxAbstractCanvas2D);
mxXmlCanvas2D.prototype.textEnabled=!0;mxXmlCanvas2D.prototype.compressed=!0;
mxXmlCanvas2D.prototype.writeDefaults=function(){var a;a=this.createElement("fontfamily");a.setAttribute("family",mxConstants.DEFAULT_FONTFAMILY);this.root.appendChild(a);a=this.createElement("fontsize");a.setAttribute("size",mxConstants.DEFAULT_FONTSIZE);this.root.appendChild(a);a=this.createElement("shadowcolor");a.setAttribute("color",mxConstants.SHADOWCOLOR);this.root.appendChild(a);a=this.createElement("shadowalpha");a.setAttribute("alpha",mxConstants.SHADOW_OPACITY);this.root.appendChild(a);
a=this.createElement("shadowoffset");a.setAttribute("dx",mxConstants.SHADOW_OFFSET_X);a.setAttribute("dy",mxConstants.SHADOW_OFFSET_Y);this.root.appendChild(a)};mxXmlCanvas2D.prototype.format=function(a){return parseFloat(parseFloat(a).toFixed(2))};mxXmlCanvas2D.prototype.createElement=function(a){return this.root.ownerDocument.createElement(a)};mxXmlCanvas2D.prototype.save=function(){this.compressed&&mxAbstractCanvas2D.prototype.save.apply(this,arguments);this.root.appendChild(this.createElement("save"))};
mxXmlCanvas2D.prototype.restore=function(){this.compressed&&mxAbstractCanvas2D.prototype.restore.apply(this,arguments);this.root.appendChild(this.createElement("restore"))};mxXmlCanvas2D.prototype.scale=function(a){var c=this.createElement("scale");c.setAttribute("scale",a);this.root.appendChild(c)};mxXmlCanvas2D.prototype.translate=function(a,c){var f=this.createElement("translate");f.setAttribute("dx",this.format(a));f.setAttribute("dy",this.format(c));this.root.appendChild(f)};
mxXmlCanvas2D.prototype.rotate=function(a,c,f,d,b){var e=this.createElement("rotate");if(0!=a||c||f)e.setAttribute("theta",this.format(a)),e.setAttribute("flipH",c?"1":"0"),e.setAttribute("flipV",f?"1":"0"),e.setAttribute("cx",this.format(d)),e.setAttribute("cy",this.format(b)),this.root.appendChild(e)};
mxXmlCanvas2D.prototype.setAlpha=function(a){if(this.compressed){if(this.state.alpha==a)return;mxAbstractCanvas2D.prototype.setAlpha.apply(this,arguments)}var c=this.createElement("alpha");c.setAttribute("alpha",this.format(a));this.root.appendChild(c)};mxXmlCanvas2D.prototype.setFillAlpha=function(a){if(this.compressed){if(this.state.fillAlpha==a)return;mxAbstractCanvas2D.prototype.setFillAlpha.apply(this,arguments)}var c=this.createElement("fillalpha");c.setAttribute("alpha",this.format(a));this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setStrokeAlpha=function(a){if(this.compressed){if(this.state.strokeAlpha==a)return;mxAbstractCanvas2D.prototype.setStrokeAlpha.apply(this,arguments)}var c=this.createElement("strokealpha");c.setAttribute("alpha",this.format(a));this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setFillColor=function(a){a==mxConstants.NONE&&(a=null);if(this.compressed){if(this.state.fillColor==a)return;mxAbstractCanvas2D.prototype.setFillColor.apply(this,arguments)}var c=this.createElement("fillcolor");c.setAttribute("color",null!=a?a:mxConstants.NONE);this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setGradient=function(a,c,f,d,b,e,g,k,l){if(null!=a&&null!=c){mxAbstractCanvas2D.prototype.setGradient.apply(this,arguments);var n=this.createElement("gradient");n.setAttribute("c1",a);n.setAttribute("c2",c);n.setAttribute("x",this.format(f));n.setAttribute("y",this.format(d));n.setAttribute("w",this.format(b));n.setAttribute("h",this.format(e));null!=g&&n.setAttribute("direction",g);null!=k&&n.setAttribute("alpha1",k);null!=l&&n.setAttribute("alpha2",l);this.root.appendChild(n)}};
mxXmlCanvas2D.prototype.setStrokeColor=function(a){a==mxConstants.NONE&&(a=null);if(this.compressed){if(this.state.strokeColor==a)return;mxAbstractCanvas2D.prototype.setStrokeColor.apply(this,arguments)}var c=this.createElement("strokecolor");c.setAttribute("color",null!=a?a:mxConstants.NONE);this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setStrokeWidth=function(a){if(this.compressed){if(this.state.strokeWidth==a)return;mxAbstractCanvas2D.prototype.setStrokeWidth.apply(this,arguments)}var c=this.createElement("strokewidth");c.setAttribute("width",this.format(a));this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setDashed=function(a){if(this.compressed){if(this.state.dashed==a)return;mxAbstractCanvas2D.prototype.setDashed.apply(this,arguments)}var c=this.createElement("dashed");c.setAttribute("dashed",a?"1":"0");this.root.appendChild(c)};mxXmlCanvas2D.prototype.setDashPattern=function(a){if(this.compressed){if(this.state.dashPattern==a)return;mxAbstractCanvas2D.prototype.setDashPattern.apply(this,arguments)}var c=this.createElement("dashpattern");c.setAttribute("pattern",a);this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setLineCap=function(a){if(this.compressed){if(this.state.lineCap==a)return;mxAbstractCanvas2D.prototype.setLineCap.apply(this,arguments)}var c=this.createElement("linecap");c.setAttribute("cap",a);this.root.appendChild(c)};mxXmlCanvas2D.prototype.setLineJoin=function(a){if(this.compressed){if(this.state.lineJoin==a)return;mxAbstractCanvas2D.prototype.setLineJoin.apply(this,arguments)}var c=this.createElement("linejoin");c.setAttribute("join",a);this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setMiterLimit=function(a){if(this.compressed){if(this.state.miterLimit==a)return;mxAbstractCanvas2D.prototype.setMiterLimit.apply(this,arguments)}var c=this.createElement("miterlimit");c.setAttribute("limit",a);this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setFontColor=function(a){if(this.textEnabled){a==mxConstants.NONE&&(a=null);if(this.compressed){if(this.state.fontColor==a)return;mxAbstractCanvas2D.prototype.setFontColor.apply(this,arguments)}var c=this.createElement("fontcolor");c.setAttribute("color",null!=a?a:mxConstants.NONE);this.root.appendChild(c)}};
mxXmlCanvas2D.prototype.setFontBackgroundColor=function(a){if(this.textEnabled){a==mxConstants.NONE&&(a=null);if(this.compressed){if(this.state.fontBackgroundColor==a)return;mxAbstractCanvas2D.prototype.setFontBackgroundColor.apply(this,arguments)}var c=this.createElement("fontbackgroundcolor");c.setAttribute("color",null!=a?a:mxConstants.NONE);this.root.appendChild(c)}};
mxXmlCanvas2D.prototype.setFontBorderColor=function(a){if(this.textEnabled){a==mxConstants.NONE&&(a=null);if(this.compressed){if(this.state.fontBorderColor==a)return;mxAbstractCanvas2D.prototype.setFontBorderColor.apply(this,arguments)}var c=this.createElement("fontbordercolor");c.setAttribute("color",null!=a?a:mxConstants.NONE);this.root.appendChild(c)}};
mxXmlCanvas2D.prototype.setFontSize=function(a){if(this.textEnabled){if(this.compressed){if(this.state.fontSize==a)return;mxAbstractCanvas2D.prototype.setFontSize.apply(this,arguments)}var c=this.createElement("fontsize");c.setAttribute("size",a);this.root.appendChild(c)}};
mxXmlCanvas2D.prototype.setFontFamily=function(a){if(this.textEnabled){if(this.compressed){if(this.state.fontFamily==a)return;mxAbstractCanvas2D.prototype.setFontFamily.apply(this,arguments)}var c=this.createElement("fontfamily");c.setAttribute("family",a);this.root.appendChild(c)}};
mxXmlCanvas2D.prototype.setFontStyle=function(a){if(this.textEnabled){null==a&&(a=0);if(this.compressed){if(this.state.fontStyle==a)return;mxAbstractCanvas2D.prototype.setFontStyle.apply(this,arguments)}var c=this.createElement("fontstyle");c.setAttribute("style",a);this.root.appendChild(c)}};
mxXmlCanvas2D.prototype.setShadow=function(a){if(this.compressed){if(this.state.shadow==a)return;mxAbstractCanvas2D.prototype.setShadow.apply(this,arguments)}var c=this.createElement("shadow");c.setAttribute("enabled",a?"1":"0");this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setShadowColor=function(a){if(this.compressed){a==mxConstants.NONE&&(a=null);if(this.state.shadowColor==a)return;mxAbstractCanvas2D.prototype.setShadowColor.apply(this,arguments)}var c=this.createElement("shadowcolor");c.setAttribute("color",null!=a?a:mxConstants.NONE);this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setShadowAlpha=function(a){if(this.compressed){if(this.state.shadowAlpha==a)return;mxAbstractCanvas2D.prototype.setShadowAlpha.apply(this,arguments)}var c=this.createElement("shadowalpha");c.setAttribute("alpha",a);this.root.appendChild(c)};
mxXmlCanvas2D.prototype.setShadowOffset=function(a,c){if(this.compressed){if(this.state.shadowDx==a&&this.state.shadowDy==c)return;mxAbstractCanvas2D.prototype.setShadowOffset.apply(this,arguments)}var f=this.createElement("shadowoffset");f.setAttribute("dx",a);f.setAttribute("dy",c);this.root.appendChild(f)};
mxXmlCanvas2D.prototype.rect=function(a,c,f,d){var b=this.createElement("rect");b.setAttribute("x",this.format(a));b.setAttribute("y",this.format(c));b.setAttribute("w",this.format(f));b.setAttribute("h",this.format(d));this.root.appendChild(b)};
mxXmlCanvas2D.prototype.roundrect=function(a,c,f,d,b,e){var g=this.createElement("roundrect");g.setAttribute("x",this.format(a));g.setAttribute("y",this.format(c));g.setAttribute("w",this.format(f));g.setAttribute("h",this.format(d));g.setAttribute("dx",this.format(b));g.setAttribute("dy",this.format(e));this.root.appendChild(g)};
mxXmlCanvas2D.prototype.ellipse=function(a,c,f,d){var b=this.createElement("ellipse");b.setAttribute("x",this.format(a));b.setAttribute("y",this.format(c));b.setAttribute("w",this.format(f));b.setAttribute("h",this.format(d));this.root.appendChild(b)};
mxXmlCanvas2D.prototype.image=function(a,c,f,d,b,e,g,k){b=this.converter.convert(b);var l=this.createElement("image");l.setAttribute("x",this.format(a));l.setAttribute("y",this.format(c));l.setAttribute("w",this.format(f));l.setAttribute("h",this.format(d));l.setAttribute("src",b);l.setAttribute("aspect",e?"1":"0");l.setAttribute("flipH",g?"1":"0");l.setAttribute("flipV",k?"1":"0");this.root.appendChild(l)};
mxXmlCanvas2D.prototype.begin=function(){this.root.appendChild(this.createElement("begin"));this.lastY=this.lastX=0};mxXmlCanvas2D.prototype.moveTo=function(a,c){var f=this.createElement("move");f.setAttribute("x",this.format(a));f.setAttribute("y",this.format(c));this.root.appendChild(f);this.lastX=a;this.lastY=c};
mxXmlCanvas2D.prototype.lineTo=function(a,c){var f=this.createElement("line");f.setAttribute("x",this.format(a));f.setAttribute("y",this.format(c));this.root.appendChild(f);this.lastX=a;this.lastY=c};mxXmlCanvas2D.prototype.quadTo=function(a,c,f,d){var b=this.createElement("quad");b.setAttribute("x1",this.format(a));b.setAttribute("y1",this.format(c));b.setAttribute("x2",this.format(f));b.setAttribute("y2",this.format(d));this.root.appendChild(b);this.lastX=f;this.lastY=d};
mxXmlCanvas2D.prototype.curveTo=function(a,c,f,d,b,e){var g=this.createElement("curve");g.setAttribute("x1",this.format(a));g.setAttribute("y1",this.format(c));g.setAttribute("x2",this.format(f));g.setAttribute("y2",this.format(d));g.setAttribute("x3",this.format(b));g.setAttribute("y3",this.format(e));this.root.appendChild(g);this.lastX=b;this.lastY=e};mxXmlCanvas2D.prototype.close=function(){this.root.appendChild(this.createElement("close"))};
mxXmlCanvas2D.prototype.text=function(a,c,f,d,b,e,g,k,l,n,m,p,r){if(this.textEnabled&&null!=b){mxUtils.isNode(b)&&(b=mxUtils.getOuterHtml(b));var s=this.createElement("text");s.setAttribute("x",this.format(a));s.setAttribute("y",this.format(c));s.setAttribute("w",this.format(f));s.setAttribute("h",this.format(d));s.setAttribute("str",b);null!=e&&s.setAttribute("align",e);null!=g&&s.setAttribute("valign",g);s.setAttribute("wrap",k?"1":"0");null==l&&(l="");s.setAttribute("format",l);null!=n&&s.setAttribute("overflow",
n);null!=m&&s.setAttribute("clip",m?"1":"0");null!=p&&s.setAttribute("rotation",p);null!=r&&s.setAttribute("dir",r);this.root.appendChild(s)}};mxXmlCanvas2D.prototype.stroke=function(){this.root.appendChild(this.createElement("stroke"))};mxXmlCanvas2D.prototype.fill=function(){this.root.appendChild(this.createElement("fill"))};mxXmlCanvas2D.prototype.fillAndStroke=function(){this.root.appendChild(this.createElement("fillstroke"))};
function mxSvgCanvas2D(a,c){mxAbstractCanvas2D.call(this);this.root=a;this.gradients=[];this.defs=null;this.styleEnabled=null!=c?c:!1;var f=null;if(a.ownerDocument!=document)for(f=a;null!=f&&"svg"!=f.nodeName;)f=f.parentNode;null!=f&&(0<f.getElementsByTagName("defs").length&&(this.defs=f.getElementsByTagName("defs")[0]),null==this.defs&&(this.defs=this.createElement("defs"),null!=f.firstChild?f.insertBefore(this.defs,f.firstChild):f.appendChild(this.defs)),this.styleEnabled&&this.defs.appendChild(this.createStyle()))}
mxUtils.extend(mxSvgCanvas2D,mxAbstractCanvas2D);(function(){mxSvgCanvas2D.prototype.useDomParser=!mxClient.IS_IE&&"function"===typeof DOMParser&&"function"===typeof XMLSerializer;if(mxSvgCanvas2D.prototype.useDomParser)try{var a=(new DOMParser).parseFromString("test text","text/html");mxSvgCanvas2D.prototype.useDomParser=null!=a}catch(c){mxSvgCanvas2D.prototype.useDomParser=!1}})();mxSvgCanvas2D.prototype.node=null;mxSvgCanvas2D.prototype.matchHtmlAlignment=!0;
mxSvgCanvas2D.prototype.textEnabled=!0;mxSvgCanvas2D.prototype.foEnabled=!0;mxSvgCanvas2D.prototype.foAltText="[Object]";mxSvgCanvas2D.prototype.foOffset=0;mxSvgCanvas2D.prototype.textOffset=0;mxSvgCanvas2D.prototype.strokeTolerance=0;mxSvgCanvas2D.prototype.refCount=0;mxSvgCanvas2D.prototype.blockImagePointerEvents=!1;mxSvgCanvas2D.prototype.lineHeightCorrection=1;mxSvgCanvas2D.prototype.pointerEventsValue="all";mxSvgCanvas2D.prototype.fontMetricsPadding=10;
mxSvgCanvas2D.prototype.cacheOffsetSize=!0;mxSvgCanvas2D.prototype.format=function(a){return parseFloat(parseFloat(a).toFixed(2))};mxSvgCanvas2D.prototype.getBaseUrl=function(){var a=window.location.href,c=a.lastIndexOf("#");0<c&&(a=a.substring(0,c));return a};mxSvgCanvas2D.prototype.reset=function(){mxAbstractCanvas2D.prototype.reset.apply(this,arguments);this.gradients=[]};
mxSvgCanvas2D.prototype.createStyle=function(a){a=this.createElement("style");a.setAttribute("type","text/css");mxUtils.write(a,"svg{font-family:"+mxConstants.DEFAULT_FONTFAMILY+";font-size:"+mxConstants.DEFAULT_FONTSIZE+";fill:none;stroke-miterlimit:10}");return a};
mxSvgCanvas2D.prototype.createElement=function(a,c){if(null!=this.root.ownerDocument.createElementNS)return this.root.ownerDocument.createElementNS(c||mxConstants.NS_SVG,a);var f=this.root.ownerDocument.createElement(a);null!=c&&f.setAttribute("xmlns",c);return f};
mxSvgCanvas2D.prototype.createAlternateContent=function(a,c,f,d,b,e,g,k,l,n,m,p,r){return null!=this.foAltText?(a=this.state,c=this.createElement("text"),c.setAttribute("x",Math.round(d/2)),c.setAttribute("y",Math.round((b+a.fontSize)/2)),c.setAttribute("fill",a.fontColor||"black"),c.setAttribute("text-anchor","middle"),c.setAttribute("font-size",a.fontSize+"px"),c.setAttribute("font-family",a.fontFamily),(a.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&c.setAttribute("font-weight","bold"),
(a.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&c.setAttribute("font-style","italic"),(a.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&c.setAttribute("text-decoration","underline"),mxUtils.write(c,this.foAltText),c):null};
mxSvgCanvas2D.prototype.createGradientId=function(a,c,f,d,b){"#"==a.charAt(0)&&(a=a.substring(1));"#"==c.charAt(0)&&(c=c.substring(1));a=a.toLowerCase()+"-"+f;c=c.toLowerCase()+"-"+d;f=null;null==b||b==mxConstants.DIRECTION_SOUTH?f="s":b==mxConstants.DIRECTION_EAST?f="e":(d=a,a=c,c=d,b==mxConstants.DIRECTION_NORTH?f="s":b==mxConstants.DIRECTION_WEST&&(f="e"));return"mx-gradient-"+a+"-"+c+"-"+f};
mxSvgCanvas2D.prototype.getSvgGradient=function(a,c,f,d,b){var e=this.createGradientId(a,c,f,d,b),g=this.gradients[e];if(null==g){var k=this.root.ownerSVGElement,l=0,n=e+"-"+l;if(null!=k)for(g=k.ownerDocument.getElementById(n);null!=g&&g.ownerSVGElement!=k;)n=e+"-"+l++,g=k.ownerDocument.getElementById(n);else n="id"+ ++this.refCount;null==g&&(g=this.createSvgGradient(a,c,f,d,b),g.setAttribute("id",n),null!=this.defs?this.defs.appendChild(g):k.appendChild(g));this.gradients[e]=g}return g.getAttribute("id")};
mxSvgCanvas2D.prototype.createSvgGradient=function(a,c,f,d,b){var e=this.createElement("linearGradient");e.setAttribute("x1","0%");e.setAttribute("y1","0%");e.setAttribute("x2","0%");e.setAttribute("y2","0%");null==b||b==mxConstants.DIRECTION_SOUTH?e.setAttribute("y2","100%"):b==mxConstants.DIRECTION_EAST?e.setAttribute("x2","100%"):b==mxConstants.DIRECTION_NORTH?e.setAttribute("y1","100%"):b==mxConstants.DIRECTION_WEST&&e.setAttribute("x1","100%");f=1>f?";stop-opacity:"+f:"";b=this.createElement("stop");
b.setAttribute("offset","0%");b.setAttribute("style","stop-color:"+a+f);e.appendChild(b);f=1>d?";stop-opacity:"+d:"";b=this.createElement("stop");b.setAttribute("offset","100%");b.setAttribute("style","stop-color:"+c+f);e.appendChild(b);return e};
mxSvgCanvas2D.prototype.addNode=function(a,c){var f=this.node,d=this.state;if(null!=f){if("path"==f.nodeName)if(null!=this.path&&0<this.path.length)f.setAttribute("d",this.path.join(" "));else return;a&&null!=d.fillColor?this.updateFill():this.styleEnabled||("ellipse"==f.nodeName&&mxClient.IS_FF?f.setAttribute("fill","transparent"):f.setAttribute("fill","none"),a=!1);c&&null!=d.strokeColor?this.updateStroke():this.styleEnabled||f.setAttribute("stroke","none");null!=d.transform&&0<d.transform.length&&
f.setAttribute("transform",d.transform);d.shadow&&this.root.appendChild(this.createShadow(f));0<this.strokeTolerance&&!a&&this.root.appendChild(this.createTolerance(f));this.pointerEvents&&("path"!=f.nodeName||this.path[this.path.length-1]==this.closeOp)?f.setAttribute("pointer-events",this.pointerEventsValue):!this.pointerEvents&&null==this.originalRoot&&f.setAttribute("pointer-events","none");("rect"!=f.nodeName&&"path"!=f.nodeName&&"ellipse"!=f.nodeName||"none"!=f.getAttribute("fill")&&"transparent"!=
f.getAttribute("fill")||"none"!=f.getAttribute("stroke")||"none"!=f.getAttribute("pointer-events"))&&this.root.appendChild(f);this.node=null}};
mxSvgCanvas2D.prototype.updateFill=function(){var a=this.state;(1>a.alpha||1>a.fillAlpha)&&this.node.setAttribute("fill-opacity",a.alpha*a.fillAlpha);if(null!=a.fillColor)if(null!=a.gradientColor)if(a=this.getSvgGradient(a.fillColor,a.gradientColor,a.gradientFillAlpha,a.gradientAlpha,a.gradientDirection),!mxClient.IS_CHROME_APP&&!mxClient.IS_IE&&!mxClient.IS_IE11&&!mxClient.IS_EDGE&&this.root.ownerDocument==document){var c=this.getBaseUrl().replace(/([\(\)])/g,"\\$1");this.node.setAttribute("fill",
"url("+c+"#"+a+")")}else this.node.setAttribute("fill","url(#"+a+")");else this.node.setAttribute("fill",a.fillColor.toLowerCase())};mxSvgCanvas2D.prototype.getCurrentStrokeWidth=function(){return Math.max(1,this.format(this.state.strokeWidth*this.state.scale))};
mxSvgCanvas2D.prototype.updateStroke=function(){var a=this.state;this.node.setAttribute("stroke",a.strokeColor.toLowerCase());(1>a.alpha||1>a.strokeAlpha)&&this.node.setAttribute("stroke-opacity",a.alpha*a.strokeAlpha);var c=this.getCurrentStrokeWidth();1!=c&&this.node.setAttribute("stroke-width",c);"path"==this.node.nodeName&&this.updateStrokeAttributes();a.dashed&&this.node.setAttribute("stroke-dasharray",this.createDashPattern(a.strokeWidth*a.scale))};
mxSvgCanvas2D.prototype.updateStrokeAttributes=function(){var a=this.state;null!=a.lineJoin&&"miter"!=a.lineJoin&&this.node.setAttribute("stroke-linejoin",a.lineJoin);if(null!=a.lineCap){var c=a.lineCap;"flat"==c&&(c="butt");"butt"!=c&&this.node.setAttribute("stroke-linecap",c)}null!=a.miterLimit&&(!this.styleEnabled||10!=a.miterLimit)&&this.node.setAttribute("stroke-miterlimit",a.miterLimit)};
mxSvgCanvas2D.prototype.createDashPattern=function(a){var c=[];if("string"===typeof this.state.dashPattern){var f=this.state.dashPattern.split(" ");if(0<f.length)for(var d=0;d<f.length;d++)c[d]=Number(f[d])*a}return c.join(" ")};
mxSvgCanvas2D.prototype.createTolerance=function(a){a=a.cloneNode(!0);var c=parseFloat(a.getAttribute("stroke-width")||1)+this.strokeTolerance;a.setAttribute("pointer-events","stroke");a.setAttribute("visibility","hidden");a.removeAttribute("stroke-dasharray");a.setAttribute("stroke-width",c);a.setAttribute("fill","none");a.setAttribute("stroke",mxClient.IS_OT?"none":"white");return a};
mxSvgCanvas2D.prototype.createShadow=function(a){a=a.cloneNode(!0);var c=this.state;"none"!=a.getAttribute("fill")&&(!mxClient.IS_FF||"transparent"!=a.getAttribute("fill"))&&a.setAttribute("fill",c.shadowColor);"none"!=a.getAttribute("stroke")&&a.setAttribute("stroke",c.shadowColor);a.setAttribute("transform","translate("+this.format(c.shadowDx*c.scale)+","+this.format(c.shadowDy*c.scale)+")"+(c.transform||""));a.setAttribute("opacity",c.shadowAlpha);return a};
mxSvgCanvas2D.prototype.setLink=function(a){if(null==a)this.root=this.originalRoot;else{this.originalRoot=this.root;var c=this.createElement("a");null==c.setAttributeNS||this.root.ownerDocument!=document&&null==document.documentMode?c.setAttribute("xlink:href",a):c.setAttributeNS(mxConstants.NS_XLINK,"xlink:href",a);this.root.appendChild(c);this.root=c}};
mxSvgCanvas2D.prototype.rotate=function(a,c,f,d,b){if(0!=a||c||f){var e=this.state;d+=e.dx;b+=e.dy;d*=e.scale;b*=e.scale;e.transform=e.transform||"";if(c&&f)a+=180;else if(c!=f){var g=c?d:0,k=c?-1:1,l=f?b:0,n=f?-1:1;e.transform+="translate("+this.format(g)+","+this.format(l)+")scale("+this.format(k)+","+this.format(n)+")translate("+this.format(-g)+","+this.format(-l)+")"}if(c?!f:f)a*=-1;0!=a&&(e.transform+="rotate("+this.format(a)+","+this.format(d)+","+this.format(b)+")");e.rotation+=a;e.rotationCx=
d;e.rotationCy=b}};mxSvgCanvas2D.prototype.begin=function(){mxAbstractCanvas2D.prototype.begin.apply(this,arguments);this.node=this.createElement("path")};mxSvgCanvas2D.prototype.rect=function(a,c,f,d){var b=this.state,e=this.createElement("rect");e.setAttribute("x",this.format((a+b.dx)*b.scale));e.setAttribute("y",this.format((c+b.dy)*b.scale));e.setAttribute("width",this.format(f*b.scale));e.setAttribute("height",this.format(d*b.scale));this.node=e};
mxSvgCanvas2D.prototype.roundrect=function(a,c,f,d,b,e){this.rect(a,c,f,d);0<b&&this.node.setAttribute("rx",this.format(b*this.state.scale));0<e&&this.node.setAttribute("ry",this.format(e*this.state.scale))};mxSvgCanvas2D.prototype.ellipse=function(a,c,f,d){var b=this.state,e=this.createElement("ellipse");e.setAttribute("cx",Math.round((a+f/2+b.dx)*b.scale));e.setAttribute("cy",Math.round((c+d/2+b.dy)*b.scale));e.setAttribute("rx",f/2*b.scale);e.setAttribute("ry",d/2*b.scale);this.node=e};
mxSvgCanvas2D.prototype.image=function(a,c,f,d,b,e,g,k){b=this.converter.convert(b);e=null!=e?e:!0;g=null!=g?g:!1;k=null!=k?k:!1;var l=this.state;a+=l.dx;c+=l.dy;var n=this.createElement("image");n.setAttribute("x",this.format(a*l.scale));n.setAttribute("y",this.format(c*l.scale));n.setAttribute("width",this.format(f*l.scale));n.setAttribute("height",this.format(d*l.scale));null==n.setAttributeNS?n.setAttribute("xlink:href",b):n.setAttributeNS(mxConstants.NS_XLINK,"xlink:href",b);e||n.setAttribute("preserveAspectRatio",
"none");(1>l.alpha||1>l.fillAlpha)&&n.setAttribute("opacity",l.alpha*l.fillAlpha);b=this.state.transform||"";if(g||k){var m=e=1,p=0,r=0;g&&(e=-1,p=-f-2*a);k&&(m=-1,r=-d-2*c);b+="scale("+e+","+m+")translate("+p*l.scale+","+r*l.scale+")"}0<b.length&&n.setAttribute("transform",b);this.pointerEvents||n.setAttribute("pointer-events","none");this.root.appendChild(n);this.blockImagePointerEvents&&(n.setAttribute("style","pointer-events:none"),n=this.createElement("rect"),n.setAttribute("visibility","hidden"),
n.setAttribute("pointer-events","fill"),n.setAttribute("x",this.format(a*l.scale)),n.setAttribute("y",this.format(c*l.scale)),n.setAttribute("width",this.format(f*l.scale)),n.setAttribute("height",this.format(d*l.scale)),this.root.appendChild(n))};
mxSvgCanvas2D.prototype.convertHtml=function(a){if(this.useDomParser){var c=(new DOMParser).parseFromString(a,"text/html");null!=c&&(a=(new XMLSerializer).serializeToString(c.body),"\x3cbody"==a.substring(0,5)&&(a=a.substring(a.indexOf("\x3e",5)+1)),"\x3c/body\x3e"==a.substring(a.length-7,a.length)&&(a=a.substring(0,a.length-7)))}else{if(null!=document.implementation&&null!=document.implementation.createDocument){var c=document.implementation.createDocument("http://www.w3.org/1999/xhtml","html",null),
f=c.createElement("body");c.documentElement.appendChild(f);var d=document.createElement("div");d.innerHTML=a;for(a=d.firstChild;null!=a;)d=a.nextSibling,f.appendChild(c.adoptNode(a)),a=d;return f.innerHTML}c=document.createElement("textarea");c.innerHTML=a.replace(/&amp;/g,"\x26amp;amp;").replace(/&#60;/g,"\x26amp;lt;").replace(/&#62;/g,"\x26amp;gt;").replace(/&lt;/g,"\x26amp;lt;").replace(/&gt;/g,"\x26amp;gt;").replace(/</g,"\x26lt;").replace(/>/g,"\x26gt;");a=c.value.replace(/&/g,"\x26amp;").replace(/&amp;lt;/g,
"\x26lt;").replace(/&amp;gt;/g,"\x26gt;").replace(/&amp;amp;/g,"\x26amp;").replace(/<br>/g,"\x3cbr /\x3e").replace(/<hr>/g,"\x3chr /\x3e").replace(/(<img[^>]+)>/gm,"$1 /\x3e")}return a};
mxSvgCanvas2D.prototype.createDiv=function(a,c,f,d,b){f=this.state;d="display:inline-block;font-size:"+f.fontSize+"px;font-family:"+f.fontFamily+";color:"+f.fontColor+";line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?f.fontSize*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*this.lineHeightCorrection)+";"+d;(f.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(d+="font-weight:bold;");(f.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(d+="font-style:italic;");(f.fontStyle&
mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(d+="text-decoration:underline;");c==mxConstants.ALIGN_CENTER?d+="text-align:center;":c==mxConstants.ALIGN_RIGHT&&(d+="text-align:right;");c="";null!=f.fontBackgroundColor&&(c+="background-color:"+f.fontBackgroundColor+";");null!=f.fontBorderColor&&(c+="border:1px solid "+f.fontBorderColor+";");mxUtils.isNode(a)||(a=this.convertHtml(a),"fill"!=b&&"width"!=b?a='\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml" style\x3d"display:inline-block;text-align:inherit;text-decoration:inherit;'+
c+'"\x3e'+a+"\x3c/div\x3e":d+=c);if(!mxClient.IS_IE&&document.createElementNS)return b=document.createElementNS("http://www.w3.org/1999/xhtml","div"),b.setAttribute("style",d),mxUtils.isNode(a)?this.root.ownerDocument!=document?b.appendChild(a.cloneNode(!0)):b.appendChild(a):b.innerHTML=a,b;mxUtils.isNode(a)&&this.root.ownerDocument!=document&&(a=a.outerHTML);return mxUtils.parseXml('\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml" style\x3d"'+d+'"\x3e'+a+"\x3c/div\x3e").documentElement};
mxSvgCanvas2D.prototype.invalidateCachedOffsetSize=function(a){delete a.firstChild.mxCachedOffsetWidth;delete a.firstChild.mxCachedFinalOffsetWidth;delete a.firstChild.mxCachedFinalOffsetHeight};
mxSvgCanvas2D.prototype.updateText=function(a,c,f,d,b,e,g,k,l,n,m){if(null!=m&&null!=m.firstChild&&null!=m.firstChild.firstChild&&null!=m.firstChild.firstChild.firstChild){m=m.firstChild;var p=m.firstChild,r=p.firstChild;n=null!=n?n:0;var s=this.state;a+=s.dx;c+=s.dy;l?(r.style.maxHeight=Math.round(d)+"px",r.style.maxWidth=Math.round(f)+"px"):"fill"==k?(r.style.width=Math.round(f+1)+"px",r.style.height=Math.round(d+1)+"px"):"width"==k&&(r.style.width=Math.round(f+1)+"px",0<d&&(r.style.maxHeight=Math.round(d)+
"px"));g&&0<f&&(r.style.width=Math.round(f+1)+"px");var q=0,u=0,u=r;null!=u.firstChild&&"DIV"==u.firstChild.nodeName&&(u=u.firstChild);q=(null!=m.mxCachedOffsetWidth?m.mxCachedOffsetWidth:u.offsetWidth)+2;g&&"fill"!=k&&(l&&(q=Math.min(q,f)),r.style.width=q+"px");q=(null!=m.mxCachedFinalOffsetWidth?m.mxCachedFinalOffsetWidth:u.offsetWidth)+2;u=(null!=m.mxCachedFinalOffsetHeight?m.mxCachedFinalOffsetHeight:u.offsetHeight)-2;l&&(u=Math.min(u,d),q=Math.min(q,f));"width"==k?d=u:"fill"!=k&&(f=q,d=u);l=
g=0;b==mxConstants.ALIGN_CENTER?g-=f/2:b==mxConstants.ALIGN_RIGHT&&(g-=f);a+=g;e==mxConstants.ALIGN_MIDDLE?l-=d/2:e==mxConstants.ALIGN_BOTTOM&&(l-=d);"fill"!=k&&mxClient.IS_FF&&mxClient.IS_WIN&&(l-=2);c+=l;b=1!=s.scale?"scale("+s.scale+")":"";0!=s.rotation&&this.rotateHtml?(b+="rotate("+s.rotation+","+f/2+","+d/2+")",c=this.rotatePoint((a+f/2)*s.scale,(c+d/2)*s.scale,s.rotation,s.rotationCx,s.rotationCy),a=c.x-f*s.scale/2,c=c.y-d*s.scale/2):(a*=s.scale,c*=s.scale);0!=n&&(b+="rotate("+n+","+-g+","+
-l+")");m.setAttribute("transform","translate("+Math.round(a)+","+Math.round(c)+")"+b);p.setAttribute("width",Math.round(Math.max(1,f)));p.setAttribute("height",Math.round(Math.max(1,d)))}};
mxSvgCanvas2D.prototype.text=function(a,c,f,d,b,e,g,k,l,n,m,p,r){if(this.textEnabled&&null!=b){p=null!=p?p:0;var s=this.state;a+=s.dx;c+=s.dy;if(this.foEnabled&&"html"==l){var q="vertical-align:top;";m?q+="overflow:hidden;max-height:"+Math.round(d)+"px;max-width:"+Math.round(f)+"px;":"fill"==n?q+="width:"+Math.round(f+1)+"px;height:"+Math.round(d+1)+"px;overflow:hidden;":"width"==n&&(q+="width:"+Math.round(f+1)+"px;",0<d&&(q+="max-height:"+Math.round(d)+"px;overflow:hidden;"));var q=k&&0<f?q+("width:"+
Math.round(f+1)+"px;white-space:normal;word-wrap:"+mxConstants.WORD_WRAP+";"):q+"white-space:nowrap;",u=this.createElement("g");1>s.alpha&&u.setAttribute("opacity",s.alpha);var t=this.createElement("foreignObject");t.setAttribute("style","overflow:visible;");t.setAttribute("pointer-events","all");q=this.createDiv(b,e,g,q,n);if(null!=q){null!=r&&q.setAttribute("dir",r);u.appendChild(t);this.root.appendChild(u);var v=0,z=0;r=v=2;if(mxClient.IS_IE&&(9==document.documentMode||!mxClient.IS_SVG)){var y=
document.createElement("div");y.style.cssText=q.getAttribute("style");y.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";y.style.position="absolute";y.style.visibility="hidden";z=document.createElement("div");z.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";z.style.wordWrap=mxConstants.WORD_WRAP;z.innerHTML=mxUtils.isNode(b)?b.outerHTML:b;y.appendChild(z);document.body.appendChild(y);8!=document.documentMode&&9!=document.documentMode&&null!=s.fontBorderColor&&(v+=2,r+=2);if(k&&0<
f){var x=z.offsetWidth;if(!m&&k&&0<f&&this.root.ownerDocument!=document&&"fill"!=n){var D=y.style.whiteSpace;z.style.whiteSpace="nowrap";x<z.offsetWidth&&(y.style.whiteSpace=D)}m&&(x=Math.min(x,f));y.style.width=x+"px";v=z.offsetWidth+v+0;z=z.offsetHeight+r;y.style.display="inline-block";y.style.position="";y.style.visibility="";y.style.width=v+"px";q.setAttribute("style",y.style.cssText)}else v=z.offsetWidth+v,z=z.offsetHeight+r;y.parentNode.removeChild(y);t.appendChild(q)}else this.root.ownerDocument!=
document?(q.style.visibility="hidden",document.body.appendChild(q)):t.appendChild(q),y=q,null!=y.firstChild&&"DIV"==y.firstChild.nodeName&&(y=y.firstChild,k&&"break-word"==q.style.wordWrap&&(y.style.width="100%")),x=y.offsetWidth,0==x&&q.parentNode==t&&(q.style.visibility="hidden",document.body.appendChild(q),x=y.offsetWidth),this.cacheOffsetSize&&(u.mxCachedOffsetWidth=x),!m&&k&&(0<f&&this.root.ownerDocument!=document&&"fill"!=n&&"width"!=n)&&(D=q.style.whiteSpace,q.style.whiteSpace="nowrap",x<y.offsetWidth&&
(q.style.whiteSpace=D)),v=x+v-1,k&&"fill"!=n&&"width"!=n&&(m&&(v=Math.min(v,f)),q.style.width=v+"px"),v=y.offsetWidth,z=y.offsetHeight,this.cacheOffsetSize&&(u.mxCachedFinalOffsetWidth=v,u.mxCachedFinalOffsetHeight=z),z-=r,q.parentNode!=t&&(t.appendChild(q),q.style.visibility="");m&&(z=Math.min(z,d),v=Math.min(v,f));"width"==n?d=z:"fill"!=n&&(f=v,d=z);1>s.alpha&&u.setAttribute("opacity",s.alpha);r=q=0;e==mxConstants.ALIGN_CENTER?q-=f/2:e==mxConstants.ALIGN_RIGHT&&(q-=f);a+=q;g==mxConstants.ALIGN_MIDDLE?
r-=d/2:g==mxConstants.ALIGN_BOTTOM&&(r-=d);"fill"!=n&&mxClient.IS_FF&&mxClient.IS_WIN&&(r-=2);c+=r;y=1!=s.scale?"scale("+s.scale+")":"";0!=s.rotation&&this.rotateHtml?(y+="rotate("+s.rotation+","+f/2+","+d/2+")",c=this.rotatePoint((a+f/2)*s.scale,(c+d/2)*s.scale,s.rotation,s.rotationCx,s.rotationCy),a=c.x-f*s.scale/2,c=c.y-d*s.scale/2):(a*=s.scale,c*=s.scale);0!=p&&(y+="rotate("+p+","+-q+","+-r+")");u.setAttribute("transform","translate("+(Math.round(a)+this.foOffset)+","+(Math.round(c)+this.foOffset)+
")"+y);t.setAttribute("width",Math.round(Math.max(1,f)));t.setAttribute("height",Math.round(Math.max(1,d)));this.root.ownerDocument!=document&&(a=this.createAlternateContent(t,a,c,f,d,b,e,g,k,l,n,m,p),null!=a&&(t.setAttribute("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility"),f=this.createElement("switch"),f.appendChild(t),f.appendChild(a),u.appendChild(f)))}}else this.plainText(a,c,f,d,b,e,g,k,n,m,p,r)}};
mxSvgCanvas2D.prototype.createClip=function(a,c,f,d){a=Math.round(a);c=Math.round(c);f=Math.round(f);d=Math.round(d);for(var b="mx-clip-"+a+"-"+c+"-"+f+"-"+d,e=0,g=b+"-"+e;null!=document.getElementById(g);)g=b+"-"+ ++e;clip=this.createElement("clipPath");clip.setAttribute("id",g);b=this.createElement("rect");b.setAttribute("x",a);b.setAttribute("y",c);b.setAttribute("width",f);b.setAttribute("height",d);clip.appendChild(b);return clip};
mxSvgCanvas2D.prototype.plainText=function(a,c,f,d,b,e,g,k,l,n,m,p){m=null!=m?m:0;k=this.state;var r=k.fontSize,s=this.createElement("g"),q=k.transform||"";this.updateFont(s);0!=m&&(q+="rotate("+m+","+this.format(a*k.scale)+","+this.format(c*k.scale)+")");null!=p&&s.setAttribute("direction",p);n&&0<f&&0<d&&(p=a,m=c,e==mxConstants.ALIGN_CENTER?p-=f/2:e==mxConstants.ALIGN_RIGHT&&(p-=f),"fill"!=l&&(g==mxConstants.ALIGN_MIDDLE?m-=d/2:g==mxConstants.ALIGN_BOTTOM&&(m-=d)),m=this.createClip(p*k.scale-2,
m*k.scale-2,f*k.scale+4,d*k.scale+4),null!=this.defs?this.defs.appendChild(m):this.root.appendChild(m),!mxClient.IS_CHROME_APP&&!mxClient.IS_IE&&!mxClient.IS_IE11&&!mxClient.IS_EDGE&&this.root.ownerDocument==document?(p=this.getBaseUrl().replace(/([\(\)])/g,"\\$1"),s.setAttribute("clip-path","url("+p+"#"+m.getAttribute("id")+")")):s.setAttribute("clip-path","url(#"+m.getAttribute("id")+")"));m=e==mxConstants.ALIGN_RIGHT?"end":e==mxConstants.ALIGN_CENTER?"middle":"start";"start"!=m&&s.setAttribute("text-anchor",
m);(!this.styleEnabled||r!=mxConstants.DEFAULT_FONTSIZE)&&s.setAttribute("font-size",r*k.scale+"px");0<q.length&&s.setAttribute("transform",q);1>k.alpha&&s.setAttribute("opacity",k.alpha);q=b.split("\n");p=Math.round(r*mxConstants.LINE_HEIGHT);var u=r+(q.length-1)*p;m=c+r-1;g==mxConstants.ALIGN_MIDDLE?"fill"==l?m-=d/2:(n=(this.matchHtmlAlignment&&n&&0<d?Math.min(u,d):u)/2,m-=n+1):g==mxConstants.ALIGN_BOTTOM&&("fill"==l?m-=d:(n=this.matchHtmlAlignment&&n&&0<d?Math.min(u,d):u,m-=n+2));for(n=0;n<q.length;n++)0<
q[n].length&&0<mxUtils.trim(q[n]).length&&(r=this.createElement("text"),r.setAttribute("x",this.format(a*k.scale)+this.textOffset),r.setAttribute("y",this.format(m*k.scale)+this.textOffset),mxUtils.write(r,q[n]),s.appendChild(r)),m+=p;this.root.appendChild(s);this.addTextBackground(s,b,a,c,f,"fill"==l?d:u,e,g,l)};
mxSvgCanvas2D.prototype.updateFont=function(a){var c=this.state;a.setAttribute("fill",c.fontColor);(!this.styleEnabled||c.fontFamily!=mxConstants.DEFAULT_FONTFAMILY)&&a.setAttribute("font-family",c.fontFamily);(c.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&a.setAttribute("font-weight","bold");(c.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&a.setAttribute("font-style","italic");(c.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&a.setAttribute("text-decoration",
"underline")};
mxSvgCanvas2D.prototype.addTextBackground=function(a,c,f,d,b,e,g,k,l){var n=this.state;if(null!=n.fontBackgroundColor||null!=n.fontBorderColor){var m=null;if("fill"==l||"width"==l)g==mxConstants.ALIGN_CENTER?f-=b/2:g==mxConstants.ALIGN_RIGHT&&(f-=b),k==mxConstants.ALIGN_MIDDLE?d-=e/2:k==mxConstants.ALIGN_BOTTOM&&(d-=e),m=new mxRectangle((f+1)*n.scale,d*n.scale,(b-2)*n.scale,(e+2)*n.scale);else if(null!=a.getBBox&&this.root.ownerDocument==document)try{var m=a.getBBox(),p=mxClient.IS_IE&&mxClient.IS_SVG,
m=new mxRectangle(m.x,m.y+(p?0:1),m.width,m.height+(p?1:0))}catch(r){}else m=document.createElement("div"),m.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?n.fontSize*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT,m.style.fontSize=n.fontSize+"px",m.style.fontFamily=n.fontFamily,m.style.whiteSpace="nowrap",m.style.position="absolute",m.style.visibility="hidden",m.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",m.style.zoom="1",(n.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&
(m.style.fontWeight="bold"),(n.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(m.style.fontStyle="italic"),c=mxUtils.htmlEntities(c,!1),m.innerHTML=c.replace(/\n/g,"\x3cbr/\x3e"),document.body.appendChild(m),b=m.offsetWidth,e=m.offsetHeight,m.parentNode.removeChild(m),g==mxConstants.ALIGN_CENTER?f-=b/2:g==mxConstants.ALIGN_RIGHT&&(f-=b),k==mxConstants.ALIGN_MIDDLE?d-=e/2:k==mxConstants.ALIGN_BOTTOM&&(d-=e),m=new mxRectangle((f+1)*n.scale,(d+2)*n.scale,b*n.scale,(e+1)*n.scale);null!=
m&&(c=this.createElement("rect"),c.setAttribute("fill",n.fontBackgroundColor||"none"),c.setAttribute("stroke",n.fontBorderColor||"none"),c.setAttribute("x",Math.floor(m.x-1)),c.setAttribute("y",Math.floor(m.y-1)),c.setAttribute("width",Math.ceil(m.width+2)),c.setAttribute("height",Math.ceil(m.height)),n=null!=n.fontBorderColor?Math.max(1,this.format(n.scale)):0,c.setAttribute("stroke-width",n),this.root.ownerDocument==document&&1==mxUtils.mod(n,2)&&c.setAttribute("transform","translate(0.5, 0.5)"),
a.insertBefore(c,a.firstChild))}};mxSvgCanvas2D.prototype.stroke=function(){this.addNode(!1,!0)};mxSvgCanvas2D.prototype.fill=function(){this.addNode(!0,!1)};mxSvgCanvas2D.prototype.fillAndStroke=function(){this.addNode(!0,!0)};var mxVmlCanvas2D=function(a){mxAbstractCanvas2D.call(this);this.root=a};mxUtils.extend(mxVmlCanvas2D,mxAbstractCanvas2D);mxVmlCanvas2D.prototype.node=null;mxVmlCanvas2D.prototype.textEnabled=!0;mxVmlCanvas2D.prototype.moveOp="m";mxVmlCanvas2D.prototype.lineOp="l";
mxVmlCanvas2D.prototype.curveOp="c";mxVmlCanvas2D.prototype.closeOp="x";mxVmlCanvas2D.prototype.rotatedHtmlBackground="";mxVmlCanvas2D.prototype.vmlScale=1;mxVmlCanvas2D.prototype.createElement=function(a){return document.createElement(a)};mxVmlCanvas2D.prototype.createVmlElement=function(a){return this.createElement(mxClient.VML_PREFIX+":"+a)};
mxVmlCanvas2D.prototype.addNode=function(a,c){var f=this.node,d=this.state;if(null!=f){if("shape"==f.nodeName)if(null!=this.path&&0<this.path.length)f.path=this.path.join(" ")+" e",f.style.width=this.root.style.width,f.style.height=this.root.style.height,f.coordsize=parseInt(f.style.width)+" "+parseInt(f.style.height);else return;f.strokeweight=this.format(Math.max(1,d.strokeWidth*d.scale/this.vmlScale))+"px";d.shadow&&this.root.appendChild(this.createShadow(f,a&&null!=d.fillColor,c&&null!=d.strokeColor));
c&&null!=d.strokeColor?(f.stroked="true",f.strokecolor=d.strokeColor):f.stroked="false";f.appendChild(this.createStroke());a&&null!=d.fillColor?f.appendChild(this.createFill()):this.pointerEvents&&("shape"!=f.nodeName||this.path[this.path.length-1]==this.closeOp)?f.appendChild(this.createTransparentFill()):f.filled="false";this.root.appendChild(f)}};
mxVmlCanvas2D.prototype.createTransparentFill=function(){var a=this.createVmlElement("fill");a.src=mxClient.imageBasePath+"/transparent.gif";a.type="tile";return a};
mxVmlCanvas2D.prototype.createFill=function(){var a=this.state,c=this.createVmlElement("fill");c.color=a.fillColor;if(null!=a.gradientColor){c.type="gradient";c.method="none";c.color2=a.gradientColor;var f=180-a.rotation,f=a.gradientDirection==mxConstants.DIRECTION_WEST?f-(90+("x"==this.root.style.flip?180:0)):a.gradientDirection==mxConstants.DIRECTION_EAST?f+(90+("x"==this.root.style.flip?180:0)):a.gradientDirection==mxConstants.DIRECTION_NORTH?f-(180+("y"==this.root.style.flip?-180:0)):f+("y"==
this.root.style.flip?-180:0);if("x"==this.root.style.flip||"y"==this.root.style.flip)f*=-1;c.angle=mxUtils.mod(f,360);c.opacity=100*a.alpha*a.gradientFillAlpha+"%";c.setAttribute(mxClient.OFFICE_PREFIX+":opacity2",100*a.alpha*a.gradientAlpha+"%")}else if(1>a.alpha||1>a.fillAlpha)c.opacity=100*a.alpha*a.fillAlpha+"%";return c};
mxVmlCanvas2D.prototype.createStroke=function(){var a=this.state,c=this.createVmlElement("stroke");c.endcap=a.lineCap||"flat";c.joinstyle=a.lineJoin||"miter";c.miterlimit=a.miterLimit||"10";if(1>a.alpha||1>a.strokeAlpha)c.opacity=100*a.alpha*a.strokeAlpha+"%";a.dashed&&(c.dashstyle=this.getVmlDashStyle());return c};mxVmlCanvas2D.prototype.getVmlDashStyle=function(){var a="dash";if("string"===typeof this.state.dashPattern){var c=this.state.dashPattern.split(" ");0<c.length&&1==c[0]&&(a="0 2")}return a};
mxVmlCanvas2D.prototype.createShadow=function(a,c,f){var d=this.state,b=-d.rotation*(Math.PI/180),e=Math.cos(b),b=Math.sin(b),g=d.shadowDx*d.scale,k=d.shadowDy*d.scale;"x"==this.root.style.flip?g*=-1:"y"==this.root.style.flip&&(k*=-1);var l=a.cloneNode(!0);l.style.marginLeft=Math.round(g*e-k*b)+"px";l.style.marginTop=Math.round(g*b+k*e)+"px";8==document.documentMode&&(l.strokeweight=a.strokeweight,"shape"==a.nodeName&&(l.path=this.path.join(" ")+" e",l.style.width=this.root.style.width,l.style.height=
this.root.style.height,l.coordsize=parseInt(a.style.width)+" "+parseInt(a.style.height)));f?(l.strokecolor=d.shadowColor,l.appendChild(this.createShadowStroke())):l.stroked="false";c?l.appendChild(this.createShadowFill()):l.filled="false";return l};mxVmlCanvas2D.prototype.createShadowFill=function(){var a=this.createVmlElement("fill");a.color=this.state.shadowColor;a.opacity=100*this.state.alpha*this.state.shadowAlpha+"%";return a};
mxVmlCanvas2D.prototype.createShadowStroke=function(){var a=this.createStroke();a.opacity=100*this.state.alpha*this.state.shadowAlpha+"%";return a};mxVmlCanvas2D.prototype.rotate=function(a,c,f,d,b){c&&f?a+=180:c?this.root.style.flip="x":f&&(this.root.style.flip="y");if(c?!f:f)a*=-1;this.root.style.rotation=a;this.state.rotation+=a;this.state.rotationCx=d;this.state.rotationCy=b};
mxVmlCanvas2D.prototype.begin=function(){mxAbstractCanvas2D.prototype.begin.apply(this,arguments);this.node=this.createVmlElement("shape");this.node.style.position="absolute"};
mxVmlCanvas2D.prototype.quadTo=function(a,c,f,d){var b=this.state,e=(this.lastX+b.dx)*b.scale,g=(this.lastY+b.dy)*b.scale;a=(a+b.dx)*b.scale;c=(c+b.dy)*b.scale;f=(f+b.dx)*b.scale;d=(d+b.dy)*b.scale;var g=g+2/3*(c-g),k=f+2/3*(a-f);c=d+2/3*(c-d);this.path.push("c "+this.format(e+2/3*(a-e))+" "+this.format(g)+" "+this.format(k)+" "+this.format(c)+" "+this.format(f)+" "+this.format(d));this.lastX=f/b.scale-b.dx;this.lastY=d/b.scale-b.dy};
mxVmlCanvas2D.prototype.createRect=function(a,c,f,d,b){var e=this.state;a=this.createVmlElement(a);a.style.position="absolute";a.style.left=this.format((c+e.dx)*e.scale)+"px";a.style.top=this.format((f+e.dy)*e.scale)+"px";a.style.width=this.format(d*e.scale)+"px";a.style.height=this.format(b*e.scale)+"px";return a};mxVmlCanvas2D.prototype.rect=function(a,c,f,d){this.node=this.createRect("rect",a,c,f,d)};
mxVmlCanvas2D.prototype.roundrect=function(a,c,f,d,b,e){this.node=this.createRect("roundrect",a,c,f,d);this.node.setAttribute("arcsize",Math.max(100*b/f,100*e/d)+"%")};mxVmlCanvas2D.prototype.ellipse=function(a,c,f,d){this.node=this.createRect("oval",a,c,f,d)};
mxVmlCanvas2D.prototype.image=function(a,c,f,d,b,e,g,k){var l=null;e?(l=this.createRect("rect",a,c,f,d),l.stroked="false",a=this.createVmlElement("fill"),a.aspect=e?"atmost":"ignore",a.rotate="true",a.type="frame",a.src=b,l.appendChild(a)):(l=this.createRect("image",a,c,f,d),l.src=b);g&&k?l.style.rotation="180":g?l.style.flip="x":k&&(l.style.flip="y");if(1>this.state.alpha||1>this.state.fillAlpha)l.style.filter+="alpha(opacity\x3d"+100*this.state.alpha*this.state.fillAlpha+")";this.root.appendChild(l)};
mxVmlCanvas2D.prototype.createDiv=function(a,c,f,d){f=this.createElement("div");var b=this.state,e="";null!=b.fontBackgroundColor&&(e+="background-color:"+b.fontBackgroundColor+";");null!=b.fontBorderColor&&(e+="border:1px solid "+b.fontBorderColor+";");mxUtils.isNode(a)?f.appendChild(a):"fill"!=d&&"width"!=d?(d=this.createElement("div"),d.style.cssText=e,d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",d.style.zoom="1",d.style.textDecoration="inherit",d.innerHTML=a,f.appendChild(d)):(f.style.cssText=
e,f.innerHTML=a);a=f.style;a.fontSize=b.fontSize/this.vmlScale+"px";a.fontFamily=b.fontFamily;a.color=b.fontColor;a.verticalAlign="top";a.textAlign=c||"left";a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?b.fontSize*mxConstants.LINE_HEIGHT/this.vmlScale+"px":mxConstants.LINE_HEIGHT;(b.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a.fontWeight="bold");(b.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a.fontStyle="italic");(b.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&
(a.textDecoration="underline");return f};
mxVmlCanvas2D.prototype.text=function(a,c,f,d,b,e,g,k,l,n,m,p,r){if(this.textEnabled&&null!=b){var s=this.state;if("html"==l){null!=s.rotation&&(c=this.rotatePoint(a,c,s.rotation,s.rotationCx,s.rotationCy),a=c.x,c=c.y);8==document.documentMode&&!mxClient.IS_EM?(a+=s.dx,c+=s.dy,"fill"!=n&&g==mxConstants.ALIGN_TOP&&(c-=1)):(a*=s.scale,c*=s.scale);l=8==document.documentMode&&!mxClient.IS_EM?this.createVmlElement("group"):this.createElement("div");l.style.position="absolute";l.style.display="inline";
l.style.left=this.format(a)+"px";l.style.top=this.format(c)+"px";l.style.zoom=s.scale;var q=this.createElement("div");q.style.position="relative";q.style.display="inline";var u=mxUtils.getAlignmentAsPoint(e,g),t=u.x,u=u.y;b=this.createDiv(b,e,g,n);e=this.createElement("div");null!=r&&b.setAttribute("dir",r);if(k&&0<f){if(m||(b.style.width=Math.round(f)+"px"),b.style.wordWrap=mxConstants.WORD_WRAP,b.style.whiteSpace="normal","break-word"==b.style.wordWrap){var v=b;null!=v.firstChild&&"DIV"==v.firstChild.nodeName&&
(v.firstChild.style.width="100%")}}else b.style.whiteSpace="nowrap";p=s.rotation+(p||0);this.rotateHtml&&0!=p?(e.style.display="inline",e.style.zoom="1",e.appendChild(b),8==document.documentMode&&!mxClient.IS_EM&&"DIV"!=this.root.nodeName?(q.appendChild(e),l.appendChild(q)):l.appendChild(e)):8==document.documentMode&&!mxClient.IS_EM?(q.appendChild(b),l.appendChild(q)):(b.style.display="inline",l.appendChild(b));"DIV"!=this.root.nodeName?(r=this.createVmlElement("rect"),r.stroked="false",r.filled=
"false",r.appendChild(l),this.root.appendChild(r)):this.root.appendChild(l);m?(b.style.overflow="hidden",b.style.width=Math.round(f)+"px",mxClient.IS_QUIRKS||(b.style.maxHeight=Math.round(d)+"px")):"fill"==n?(b.style.overflow="hidden",b.style.width=Math.max(0,f)+1+"px",b.style.height=Math.max(0,d)+1+"px"):"width"==n&&(b.style.overflow="hidden",b.style.width=Math.max(0,f)+1+"px",b.style.maxHeight=Math.max(0,d)+1+"px");if(this.rotateHtml&&0!=p){v=p*(Math.PI/180);p=parseFloat(parseFloat(Math.cos(v)).toFixed(8));
r=parseFloat(parseFloat(Math.sin(-v)).toFixed(8));v%=2*Math.PI;0>v&&(v+=2*Math.PI);v%=Math.PI;v>Math.PI/2&&(v=Math.PI-v);g=Math.cos(v);var z=Math.sin(v);8==document.documentMode&&!mxClient.IS_EM&&(b.style.display="inline-block",e.style.display="inline-block",q.style.display="inline-block");b.style.visibility="hidden";b.style.position="absolute";document.body.appendChild(b);q=b;null!=q.firstChild&&"DIV"==q.firstChild.nodeName&&(q=q.firstChild);v=q.offsetWidth+3;q=q.offsetHeight;m?(f=Math.min(f,v),
q=Math.min(q,d)):f=v;k&&(b.style.width=f+"px");if(mxClient.IS_QUIRKS&&(m||"width"==n)&&q>d)q=d,b.style.height=q+"px";d=q;m=(d-d*g+f*-z)/2-r*f*(t+0.5)+p*d*(u+0.5);k=(f-f*g+d*-z)/2+p*f*(t+0.5)+r*d*(u+0.5);"group"==l.nodeName&&"DIV"==this.root.nodeName?(n=this.createElement("div"),n.style.display="inline-block",n.style.position="absolute",n.style.left=this.format(a+(k-f/2)*s.scale)+"px",n.style.top=this.format(c+(m-d/2)*s.scale)+"px",l.parentNode.appendChild(n),n.appendChild(l)):(s=8==document.documentMode&&
!mxClient.IS_EM?1:s.scale,l.style.left=this.format(a+(k-f/2)*s)+"px",l.style.top=this.format(c+(m-d/2)*s)+"px");e.style.filter="progid:DXImageTransform.Microsoft.Matrix(M11\x3d"+p+", M12\x3d"+r+", M21\x3d"+-r+", M22\x3d"+p+", sizingMethod\x3d'auto expand')";e.style.backgroundColor=this.rotatedHtmlBackground;1>this.state.alpha&&(e.style.filter+="alpha(opacity\x3d"+100*this.state.alpha+")");e.appendChild(b);b.style.position="";b.style.visibility=""}else 8!=document.documentMode||mxClient.IS_EM?(b.style.verticalAlign=
"top",1>this.state.alpha&&(l.style.filter="alpha(opacity\x3d"+100*this.state.alpha+")"),s=b.parentNode,b.style.visibility="hidden",document.body.appendChild(b),f=b.offsetWidth,q=b.offsetHeight,mxClient.IS_QUIRKS&&m&&q>d&&(q=d,b.style.height=q+"px"),d=q,b.style.visibility="",s.appendChild(b),l.style.left=this.format(a+f*t*this.state.scale)+"px",l.style.top=this.format(c+d*u*this.state.scale)+"px"):(1>this.state.alpha&&(b.style.filter="alpha(opacity\x3d"+100*this.state.alpha+")"),q.style.left=100*t+
"%",q.style.top=100*u+"%")}else this.plainText(a,c,f,d,mxUtils.htmlEntities(b,!1),e,g,k,l,n,m,p,r)}};
mxVmlCanvas2D.prototype.plainText=function(a,c,f,d,b,e,g,k,l,n,m,p,r){k=this.state;a=(a+k.dx)*k.scale;c=(c+k.dy)*k.scale;f=this.createVmlElement("shape");f.style.width="1px";f.style.height="1px";f.stroked="false";d=this.createVmlElement("fill");d.color=k.fontColor;d.opacity=100*k.alpha+"%";f.appendChild(d);d=this.createVmlElement("path");d.textpathok="true";d.v="m "+this.format(0)+" "+this.format(0)+" l "+this.format(1)+" "+this.format(0);f.appendChild(d);d=this.createVmlElement("textpath");d.style.cssText=
"v-text-align:"+e;d.style.align=e;d.style.fontFamily=k.fontFamily;d.string=b;d.on="true";e=k.fontSize*k.scale/this.vmlScale;d.style.fontSize=e+"px";(k.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(d.style.fontWeight="bold");(k.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(d.style.fontStyle="italic");(k.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(d.style.textDecoration="underline");b=b.split("\n");k=e+(b.length-1)*e*mxConstants.LINE_HEIGHT;e=b=0;
g==mxConstants.ALIGN_BOTTOM?e=-k/2:g!=mxConstants.ALIGN_MIDDLE&&(e=k/2);null!=p&&(f.style.rotation=p,g=p*(Math.PI/180),b=Math.sin(g)*e,e*=Math.cos(g));f.appendChild(d);f.style.left=this.format(a-b)+"px";f.style.top=this.format(c+e)+"px";this.root.appendChild(f)};mxVmlCanvas2D.prototype.stroke=function(){this.addNode(!1,!0)};mxVmlCanvas2D.prototype.fill=function(){this.addNode(!0,!1)};mxVmlCanvas2D.prototype.fillAndStroke=function(){this.addNode(!0,!0)};
function mxGuide(a,c){this.graph=a;this.setStates(c)}mxGuide.prototype.graph=null;mxGuide.prototype.states=null;mxGuide.prototype.horizontal=!0;mxGuide.prototype.vertical=!0;mxGuide.prototype.guideX=null;mxGuide.prototype.guideY=null;mxGuide.prototype.setStates=function(a){this.states=a};mxGuide.prototype.isEnabledForEvent=function(a){return!0};mxGuide.prototype.getGuideTolerance=function(){return this.graph.gridSize/2};
mxGuide.prototype.createGuideShape=function(a){a=new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH);a.isDashed=!0;return a};
mxGuide.prototype.move=function(a,c,f){if(null!=this.states&&(this.horizontal||this.vertical)&&null!=a&&null!=c){var d=this.graph.getView().translate,b=this.graph.getView().scale,e=c.x,g=c.y,k=!1,l=null,n=null,m=!1,p=null,r=null,s=this.getGuideTolerance(),q=s,u=s,s=a.clone();s.x+=c.x;s.y+=c.y;var t=s.x,v=s.x+s.width,z=s.getCenterX(),y=s.y,x=s.y+s.height,D=s.getCenterY();c=function(b,d){b+=this.graph.panDx;var c=!1;Math.abs(b-z)<q?(e=b-a.getCenterX(),q=Math.abs(b-z),c=!0):Math.abs(b-t)<q?(e=b-a.x,
q=Math.abs(b-t),c=!0):Math.abs(b-v)<q&&(e=b-a.x-a.width,q=Math.abs(b-v),c=!0);c&&(l=d,n=Math.round(b-this.graph.panDx),null==this.guideX&&(this.guideX=this.createGuideShape(!0),this.guideX.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideX.pointerEvents=!1,this.guideX.init(this.graph.getView().getOverlayPane())));k=k||c};for(var s=function(b){b+=this.graph.panDy;var d=!1;Math.abs(b-D)<u?(g=b-a.getCenterY(),u=Math.abs(b-D),d=!0):Math.abs(b-
y)<u?(g=b-a.y,u=Math.abs(b-y),d=!0):Math.abs(b-x)<u&&(g=b-a.y-a.height,u=Math.abs(b-x),d=!0);d&&(p=B,r=Math.round(b-this.graph.panDy),null==this.guideY&&(this.guideY=this.createGuideShape(!1),this.guideY.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideY.pointerEvents=!1,this.guideY.init(this.graph.getView().getOverlayPane())));m=m||d},A=0;A<this.states.length;A++){var B=this.states[A];null!=B&&(this.horizontal&&(c.call(this,B.getCenterX(),
B),c.call(this,B.x,B),c.call(this,B.x+B.width,B)),this.vertical&&(s.call(this,B.getCenterY(),B),s.call(this,B.y,B),s.call(this,B.y+B.height,B)))}f&&(k||(f=a.x-(this.graph.snap(a.x/b-d.x)+d.x)*b,e=this.graph.snap(e/b)*b-f),m||(d=a.y-(this.graph.snap(a.y/b-d.y)+d.y)*b,g=this.graph.snap(g/b)*b-d));b=this.graph.container;!k&&null!=this.guideX?this.guideX.node.style.visibility="hidden":null!=this.guideX&&(null!=l&&null!=a&&(minY=Math.min(a.y+g-this.graph.panDy,l.y),maxY=Math.max(a.y+a.height+g-this.graph.panDy,
l.y+l.height)),this.guideX.points=null!=minY&&null!=maxY?[new mxPoint(n,minY),new mxPoint(n,maxY)]:[new mxPoint(n,-this.graph.panDy),new mxPoint(n,b.scrollHeight-3-this.graph.panDy)],this.guideX.stroke=this.getGuideColor(l,!0),this.guideX.node.style.visibility="visible",this.guideX.redraw());!m&&null!=this.guideY?this.guideY.node.style.visibility="hidden":null!=this.guideY&&(null!=p&&null!=a&&(minX=Math.min(a.x+e-this.graph.panDx,p.x),maxX=Math.max(a.x+a.width+e-this.graph.panDx,p.x+p.width)),this.guideY.points=
null!=minX&&null!=maxX?[new mxPoint(minX,r),new mxPoint(maxX,r)]:[new mxPoint(-this.graph.panDx,r),new mxPoint(b.scrollWidth-3-this.graph.panDx,r)],this.guideY.stroke=this.getGuideColor(p,!1),this.guideY.node.style.visibility="visible",this.guideY.redraw());c=new mxPoint(e,g)}return c};mxGuide.prototype.getGuideColor=function(a,c){return mxConstants.GUIDE_COLOR};mxGuide.prototype.hide=function(){this.setVisible(!1)};
mxGuide.prototype.setVisible=function(a){null!=this.guideX&&(this.guideX.node.style.visibility=a?"visible":"hidden");null!=this.guideY&&(this.guideY.node.style.visibility=a?"visible":"hidden")};mxGuide.prototype.destroy=function(){null!=this.guideX&&(this.guideX.destroy(),this.guideX=null);null!=this.guideY&&(this.guideY.destroy(),this.guideY=null)};function mxStencil(a){this.desc=a;this.parseDescription();this.parseConstraints()}mxStencil.defaultLocalized=!1;mxStencil.allowEval=!1;
mxStencil.prototype.desc=null;mxStencil.prototype.constraints=null;mxStencil.prototype.aspect=null;mxStencil.prototype.w0=null;mxStencil.prototype.h0=null;mxStencil.prototype.bgNode=null;mxStencil.prototype.fgNode=null;mxStencil.prototype.strokewidth=null;
mxStencil.prototype.parseDescription=function(){this.fgNode=this.desc.getElementsByTagName("foreground")[0];this.bgNode=this.desc.getElementsByTagName("background")[0];this.w0=Number(this.desc.getAttribute("w")||100);this.h0=Number(this.desc.getAttribute("h")||100);var a=this.desc.getAttribute("aspect");this.aspect=null!=a?a:"variable";a=this.desc.getAttribute("strokewidth");this.strokewidth=null!=a?a:"1"};
mxStencil.prototype.parseConstraints=function(){var a=this.desc.getElementsByTagName("connections")[0];if(null!=a&&(a=mxUtils.getChildNodes(a),null!=a&&0<a.length)){this.constraints=[];for(var c=0;c<a.length;c++)this.constraints.push(this.parseConstraint(a[c]))}};mxStencil.prototype.parseConstraint=function(a){var c=Number(a.getAttribute("x")),f=Number(a.getAttribute("y"));a="1"==a.getAttribute("perimeter");return new mxConnectionConstraint(new mxPoint(c,f),a)};
mxStencil.prototype.evaluateTextAttribute=function(a,c,f){c=this.evaluateAttribute(a,c,f);a=a.getAttribute("localized");if(mxStencil.defaultLocalized&&null==a||"1"==a)c=mxResources.get(c);return c};mxStencil.prototype.evaluateAttribute=function(a,c,f){c=a.getAttribute(c);null==c&&(a=mxUtils.getTextContent(a),null!=a&&mxStencil.allowEval&&(a=mxUtils.eval(a),"function"==typeof a&&(c=a(f))));return c};
mxStencil.prototype.drawShape=function(a,c,f,d,b,e){var g=mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,null),g=this.computeAspect(c.style,f,d,b,e,g),k=Math.min(g.width,g.height),k="inherit"==this.strokewidth?Number(mxUtils.getNumber(c.style,mxConstants.STYLE_STROKEWIDTH,1)):Number(this.strokewidth)*k;a.setStrokeWidth(k);this.drawChildren(a,c,f,d,b,e,this.bgNode,g,!1);this.drawChildren(a,c,f,d,b,e,this.fgNode,g,!0)};
mxStencil.prototype.drawChildren=function(a,c,f,d,b,e,g,k,l){if(null!=g&&0<b&&0<e)for(f=g.firstChild;null!=f;)f.nodeType==mxConstants.NODETYPE_ELEMENT&&this.drawNode(a,c,f,k,l),f=f.nextSibling};
mxStencil.prototype.computeAspect=function(a,c,f,d,b,e){a=c;c=d/this.w0;var g=b/this.h0;if(e=e==mxConstants.DIRECTION_NORTH||e==mxConstants.DIRECTION_SOUTH){g=d/this.h0;c=b/this.w0;var k=(d-b)/2;a+=k;f-=k}"fixed"==this.aspect&&(c=g=Math.min(c,g),e?(a+=(b-this.w0*c)/2,f+=(d-this.h0*g)/2):(a+=(d-this.w0*c)/2,f+=(b-this.h0*g)/2));return new mxRectangle(a,f,c,g)};
mxStencil.prototype.drawNode=function(a,c,f,d,b){var e=f.nodeName,g=d.x,k=d.y,l=d.width,n=d.height,m=Math.min(l,n);if("save"==e)a.save();else if("restore"==e)a.restore();else if("path"==e){a.begin();for(f=f.firstChild;null!=f;)f.nodeType==mxConstants.NODETYPE_ELEMENT&&this.drawNode(a,c,f,d,b),f=f.nextSibling}else if("close"==e)a.close();else if("move"==e)a.moveTo(g+Number(f.getAttribute("x"))*l,k+Number(f.getAttribute("y"))*n);else if("line"==e)a.lineTo(g+Number(f.getAttribute("x"))*l,k+Number(f.getAttribute("y"))*
n);else if("quad"==e)a.quadTo(g+Number(f.getAttribute("x1"))*l,k+Number(f.getAttribute("y1"))*n,g+Number(f.getAttribute("x2"))*l,k+Number(f.getAttribute("y2"))*n);else if("curve"==e)a.curveTo(g+Number(f.getAttribute("x1"))*l,k+Number(f.getAttribute("y1"))*n,g+Number(f.getAttribute("x2"))*l,k+Number(f.getAttribute("y2"))*n,g+Number(f.getAttribute("x3"))*l,k+Number(f.getAttribute("y3"))*n);else if("arc"==e)a.arcTo(Number(f.getAttribute("rx"))*l,Number(f.getAttribute("ry"))*n,Number(f.getAttribute("x-axis-rotation")),
Number(f.getAttribute("large-arc-flag")),Number(f.getAttribute("sweep-flag")),g+Number(f.getAttribute("x"))*l,k+Number(f.getAttribute("y"))*n);else if("rect"==e)a.rect(g+Number(f.getAttribute("x"))*l,k+Number(f.getAttribute("y"))*n,Number(f.getAttribute("w"))*l,Number(f.getAttribute("h"))*n);else if("roundrect"==e)c=Number(f.getAttribute("arcsize")),0==c&&(c=100*mxConstants.RECTANGLE_ROUNDING_FACTOR),m=Number(f.getAttribute("w"))*l,d=Number(f.getAttribute("h"))*n,c=Number(c)/100,c=Math.min(m*c,d*
c),a.roundrect(g+Number(f.getAttribute("x"))*l,k+Number(f.getAttribute("y"))*n,m,d,c,c);else if("ellipse"==e)a.ellipse(g+Number(f.getAttribute("x"))*l,k+Number(f.getAttribute("y"))*n,Number(f.getAttribute("w"))*l,Number(f.getAttribute("h"))*n);else if("image"==e)c.outline||(c=this.evaluateAttribute(f,"src",c),a.image(g+Number(f.getAttribute("x"))*l,k+Number(f.getAttribute("y"))*n,Number(f.getAttribute("w"))*l,Number(f.getAttribute("h"))*n,c,!1,"1"==f.getAttribute("flipH"),"1"==f.getAttribute("flipV")));
else if("text"==e){if(!c.outline){m=this.evaluateTextAttribute(f,"str",c);d="1"==f.getAttribute("vertical")?-90:0;if("0"==f.getAttribute("align-shape")){var p=c.rotation,r=1==mxUtils.getValue(c.style,mxConstants.STYLE_FLIPH,0);c=1==mxUtils.getValue(c.style,mxConstants.STYLE_FLIPV,0);d=r&&c?d-p:r||c?d+p:d-p}d-=f.getAttribute("rotation");a.text(g+Number(f.getAttribute("x"))*l,k+Number(f.getAttribute("y"))*n,0,0,m,f.getAttribute("align")||"left",f.getAttribute("valign")||"top",!1,"",null,!1,d)}}else if("include-shape"==
e)p=mxStencilRegistry.getStencil(f.getAttribute("name")),null!=p&&(g+=Number(f.getAttribute("x"))*l,k+=Number(f.getAttribute("y"))*n,m=Number(f.getAttribute("w"))*l,d=Number(f.getAttribute("h"))*n,p.drawShape(a,c,g,k,m,d));else if("fillstroke"==e)a.fillAndStroke();else if("fill"==e)a.fill();else if("stroke"==e)a.stroke();else if("strokewidth"==e)l="1"==f.getAttribute("fixed")?1:m,a.setStrokeWidth(Number(f.getAttribute("width"))*l);else if("dashed"==e)a.setDashed("1"==f.getAttribute("dashed"));else if("dashpattern"==
e){if(f=f.getAttribute("pattern"),null!=f){f=f.split(" ");l=[];for(n=0;n<f.length;n++)0<f[n].length&&l.push(Number(f[n])*m);f=l.join(" ");a.setDashPattern(f)}}else"strokecolor"==e?a.setStrokeColor(f.getAttribute("color")):"linecap"==e?a.setLineCap(f.getAttribute("cap")):"linejoin"==e?a.setLineJoin(f.getAttribute("join")):"miterlimit"==e?a.setMiterLimit(Number(f.getAttribute("limit"))):"fillcolor"==e?a.setFillColor(f.getAttribute("color")):"alpha"==e?a.setAlpha(f.getAttribute("alpha")):"fontcolor"==
e?a.setFontColor(f.getAttribute("color")):"fontstyle"==e?a.setFontStyle(f.getAttribute("style")):"fontfamily"==e?a.setFontFamily(f.getAttribute("family")):"fontsize"==e&&a.setFontSize(Number(f.getAttribute("size"))*m);b&&("fillstroke"==e||"fill"==e||"stroke"==e)&&a.setShadow(!1)};function mxShape(a){this.stencil=a;this.initStyles()}mxShape.prototype.dialect=null;mxShape.prototype.scale=1;mxShape.prototype.antiAlias=!0;mxShape.prototype.bounds=null;mxShape.prototype.points=null;
mxShape.prototype.node=null;mxShape.prototype.state=null;mxShape.prototype.style=null;mxShape.prototype.boundingBox=null;mxShape.prototype.stencil=null;mxShape.prototype.svgStrokeTolerance=8;mxShape.prototype.pointerEvents=!0;mxShape.prototype.svgPointerEvents="all";mxShape.prototype.shapePointerEvents=!1;mxShape.prototype.stencilPointerEvents=!1;mxShape.prototype.vmlScale=1;mxShape.prototype.outline=!1;mxShape.prototype.visible=!0;mxShape.prototype.useSvgBoundingBox=!1;
mxShape.prototype.init=function(a){null==this.node&&(this.node=this.create(a),null!=a&&a.appendChild(this.node))};mxShape.prototype.initStyles=function(a){this.strokewidth=1;this.rotation=0;this.strokeOpacity=this.fillOpacity=this.opacity=100;this.flipV=this.flipH=!1};mxShape.prototype.isParseVml=function(){return!0};mxShape.prototype.isHtmlAllowed=function(){return!1};
mxShape.prototype.getSvgScreenOffset=function(){return 1==mxUtils.mod(Math.max(1,Math.round((this.stencil&&"inherit"!=this.stencil.strokewidth?Number(this.stencil.strokewidth):this.strokewidth)*this.scale)),2)?0.5:0};mxShape.prototype.create=function(a){return null!=a&&null!=a.ownerSVGElement?this.createSvg(a):8==document.documentMode||!mxClient.IS_VML||this.dialect!=mxConstants.DIALECT_VML&&this.isHtmlAllowed()?this.createHtml(a):this.createVml(a)};
mxShape.prototype.createSvg=function(){return document.createElementNS(mxConstants.NS_SVG,"g")};mxShape.prototype.createVml=function(){var a=document.createElement(mxClient.VML_PREFIX+":group");a.style.position="absolute";return a};mxShape.prototype.createHtml=function(){var a=document.createElement("div");a.style.position="absolute";return a};mxShape.prototype.reconfigure=function(){this.redraw()};
mxShape.prototype.redraw=function(){this.updateBoundsFromPoints();this.visible&&this.checkBounds()?(this.node.style.visibility="visible",this.clear(),"DIV"==this.node.nodeName&&(this.isHtmlAllowed()||!mxClient.IS_VML)?this.redrawHtmlShape():this.redrawShape(),this.updateBoundingBox()):(this.node.style.visibility="hidden",this.boundingBox=null)};
mxShape.prototype.clear=function(){if(null!=this.node.ownerSVGElement)for(;null!=this.node.lastChild;)this.node.removeChild(this.node.lastChild);else this.node.style.cssText="position:absolute;"+(null!=this.cursor?"cursor:"+this.cursor+";":""),this.node.innerHTML=""};
mxShape.prototype.updateBoundsFromPoints=function(){var a=this.points;if(null!=a&&0<a.length&&null!=a[0]){this.bounds=new mxRectangle(Number(a[0].x),Number(a[0].y),1,1);for(var c=1;c<this.points.length;c++)null!=a[c]&&this.bounds.add(new mxRectangle(Number(a[c].x),Number(a[c].y),1,1))}};mxShape.prototype.getLabelBounds=function(a){return a};
mxShape.prototype.checkBounds=function(){return!isNaN(this.scale)&&isFinite(this.scale)&&0<this.scale&&null!=this.bounds&&!isNaN(this.bounds.x)&&!isNaN(this.bounds.y)&&!isNaN(this.bounds.width)&&!isNaN(this.bounds.height)&&0<this.bounds.width&&0<this.bounds.height};mxShape.prototype.createVmlGroup=function(){var a=document.createElement(mxClient.VML_PREFIX+":group");a.style.position="absolute";a.style.width=this.node.style.width;a.style.height=this.node.style.height;return a};
mxShape.prototype.redrawShape=function(){var a=this.createCanvas();null!=a&&(a.pointerEvents=this.pointerEvents,this.paint(a),this.node!=a.root&&this.node.insertAdjacentHTML("beforeend",a.root.outerHTML),"DIV"==this.node.nodeName&&8==document.documentMode&&(this.node.style.filter="",mxUtils.addTransparentBackgroundFilter(this.node)),this.destroyCanvas(a))};
mxShape.prototype.createCanvas=function(){var a=null;null!=this.node.ownerSVGElement?a=this.createSvgCanvas():mxClient.IS_VML&&(this.updateVmlContainer(),a=this.createVmlCanvas());this.outline&&(a.setStrokeWidth(this.strokewidth),a.setStrokeColor(this.stroke),null!=this.isDashed&&a.setDashed(this.isDashed),a.setStrokeWidth=function(){},a.setStrokeColor=function(){},a.setFillColor=function(){},a.setGradient=function(){},a.setDashed=function(){});return a};
mxShape.prototype.createSvgCanvas=function(){var a=new mxSvgCanvas2D(this.node,!1);a.strokeTolerance=this.pointerEvents?this.svgStrokeTolerance:0;a.pointerEventsValue=this.svgPointerEvents;a.blockImagePointerEvents=mxClient.IS_FF;var c=this.getSvgScreenOffset();0!=c?this.node.setAttribute("transform","translate("+c+","+c+")"):this.node.removeAttribute("transform");this.antiAlias||(a.format=function(a){return Math.round(parseFloat(a))});return a};
mxShape.prototype.createVmlCanvas=function(){var a=8==document.documentMode&&this.isParseVml()?this.createVmlGroup():this.node,c=new mxVmlCanvas2D(a,!1);if(""!=a.tagUrn){var f=Math.max(1,Math.round(this.bounds.width)),d=Math.max(1,Math.round(this.bounds.height));a.coordsize=f*this.vmlScale+","+d*this.vmlScale;c.scale(this.vmlScale);c.vmlScale=this.vmlScale}a=this.scale;c.translate(-Math.round(this.bounds.x/a),-Math.round(this.bounds.y/a));return c};
mxShape.prototype.updateVmlContainer=function(){this.node.style.left=Math.round(this.bounds.x)+"px";this.node.style.top=Math.round(this.bounds.y)+"px";var a=Math.max(1,Math.round(this.bounds.width)),c=Math.max(1,Math.round(this.bounds.height));this.node.style.width=a+"px";this.node.style.height=c+"px";this.node.style.overflow="visible"};mxShape.prototype.redrawHtmlShape=function(){this.updateHtmlBounds(this.node);this.updateHtmlFilters(this.node);this.updateHtmlColors(this.node)};
mxShape.prototype.updateHtmlFilters=function(a){var c="";100>this.opacity&&(c+="alpha(opacity\x3d"+this.opacity+")");this.isShadow&&(c+="progid:DXImageTransform.Microsoft.dropShadow (OffX\x3d'"+Math.round(mxConstants.SHADOW_OFFSET_X*this.scale)+"', OffY\x3d'"+Math.round(mxConstants.SHADOW_OFFSET_Y*this.scale)+"', Color\x3d'"+mxConstants.VML_SHADOWCOLOR+"')");if(null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE){var f=this.fill,d=this.gradient,b="0",e={east:0,
south:1,west:2,north:3},g=null!=this.direction?e[this.direction]:0;null!=this.gradientDirection&&(g=mxUtils.mod(g+e[this.gradientDirection]-1,4));1==g?(b="1",e=f,f=d,d=e):2==g?(e=f,f=d,d=e):3==g&&(b="1");c+="progid:DXImageTransform.Microsoft.gradient(startColorStr\x3d'"+f+"', endColorStr\x3d'"+d+"', gradientType\x3d'"+b+"')"}a.style.filter=c};
mxShape.prototype.updateHtmlColors=function(a){var c=this.stroke;null!=c&&c!=mxConstants.NONE?(a.style.borderColor=c,this.isDashed?a.style.borderStyle="dashed":0<this.strokewidth&&(a.style.borderStyle="solid"),a.style.borderWidth=Math.max(1,Math.ceil(this.strokewidth*this.scale))+"px"):a.style.borderWidth="0px";c=this.outline?null:this.fill;null!=c&&c!=mxConstants.NONE?(a.style.backgroundColor=c,a.style.backgroundImage="none"):this.pointerEvents?a.style.backgroundColor="transparent":8==document.documentMode?
mxUtils.addTransparentBackgroundFilter(a):this.setTransparentBackgroundImage(a)};
mxShape.prototype.updateHtmlBounds=function(a){var c=9<=document.documentMode?0:Math.ceil(this.strokewidth*this.scale);a.style.borderWidth=Math.max(1,c)+"px";a.style.overflow="hidden";a.style.left=Math.round(this.bounds.x-c/2)+"px";a.style.top=Math.round(this.bounds.y-c/2)+"px";"CSS1Compat"==document.compatMode&&(c=-c);a.style.width=Math.round(Math.max(0,this.bounds.width+c))+"px";a.style.height=Math.round(Math.max(0,this.bounds.height+c))+"px"};
mxShape.prototype.destroyCanvas=function(a){if(a instanceof mxSvgCanvas2D){for(var c in a.gradients){var f=a.gradients[c];null!=f&&(f.mxRefCount=(f.mxRefCount||0)+1)}this.releaseSvgGradients(this.oldGradients);this.oldGradients=a.gradients}};
mxShape.prototype.paint=function(a){var c=this.scale,f=this.bounds.x/c,d=this.bounds.y/c,b=this.bounds.width/c,e=this.bounds.height/c;if(this.isPaintBoundsInverted())var g=(b-e)/2,f=f+g,d=d-g,g=b,b=e,e=g;this.updateTransform(a,f,d,b,e);this.configureCanvas(a,f,d,b,e);g=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||null!=this.stencil&&this.stencilPointerEvents){var k=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(g=this.createTransparentSvgRectangle(k.x,k.y,
k.width,k.height),this.node.appendChild(g)):(k=a.createRect("rect",k.x/c,k.y/c,k.width/c,k.height/c),k.appendChild(a.createTransparentFill()),k.stroked="false",a.root.appendChild(k))}if(null!=this.stencil)this.stencil.drawShape(a,this,f,d,b,e);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){f=[];for(d=0;d<this.points.length;d++)null!=this.points[d]&&f.push(new mxPoint(this.points[d].x/c,this.points[d].y/c));this.paintEdgeShape(a,f)}else this.paintVertexShape(a,f,d,b,e);null!=g&&null!=
a.state&&null!=a.state.transform&&g.setAttribute("transform",a.state.transform)};
mxShape.prototype.configureCanvas=function(a,c,f,d,b){var e=null;null!=this.style&&(e=this.style.dashPattern);a.setAlpha(this.opacity/100);a.setFillAlpha(this.fillOpacity/100);a.setStrokeAlpha(this.strokeOpacity/100);null!=this.isShadow&&a.setShadow(this.isShadow);null!=this.isDashed&&a.setDashed(this.isDashed);null!=e&&a.setDashPattern(e);null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?(c=this.getGradientBounds(a,c,f,d,b),a.setGradient(this.fill,this.gradient,
c.x,c.y,c.width,c.height,this.gradientDirection)):a.setFillColor(this.fill);a.setStrokeColor(this.stroke)};mxShape.prototype.getGradientBounds=function(a,c,f,d,b){return new mxRectangle(c,f,d,b)};mxShape.prototype.updateTransform=function(a,c,f,d,b){a.scale(this.scale);a.rotate(this.getShapeRotation(),this.flipH,this.flipV,c+d/2,f+b/2)};mxShape.prototype.paintVertexShape=function(a,c,f,d,b){this.paintBackground(a,c,f,d,b);a.setShadow(!1);this.paintForeground(a,c,f,d,b)};
mxShape.prototype.paintBackground=function(a,c,f,d,b){};mxShape.prototype.paintForeground=function(a,c,f,d,b){};mxShape.prototype.paintEdgeShape=function(a,c){};mxShape.prototype.getArcSize=function(a,c){var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100;return Math.min(a*f,c*f)};
mxShape.prototype.paintGlassEffect=function(a,c,f,d,b,e){var g=Math.ceil(this.strokewidth/2);a.setGradient("#ffffff","#ffffff",c,f,d,0.6*b,"south",0.9,0.1);a.begin();e+=2*g;this.isRounded?(a.moveTo(c-g+e,f-g),a.quadTo(c-g,f-g,c-g,f-g+e),a.lineTo(c-g,f+0.4*b),a.quadTo(c+0.5*d,f+0.7*b,c+d+g,f+0.4*b),a.lineTo(c+d+g,f-g+e),a.quadTo(c+d+g,f-g,c+d+g-e,f-g)):(a.moveTo(c-g,f-g),a.lineTo(c-g,f+0.4*b),a.quadTo(c+0.5*d,f+0.7*b,c+d+g,f+0.4*b),a.lineTo(c+d+g,f-g));a.close();a.fill()};
mxShape.prototype.addPoints=function(a,c,f,d,b){var e=c[c.length-1];if(b&&f){c=c.slice();var g=c[0],g=new mxPoint(e.x+(g.x-e.x)/2,e.y+(g.y-e.y)/2);c.splice(0,0,g)}var k=c[0],g=1;for(a.moveTo(k.x,k.y);g<(b?c.length:c.length-1);){var l=c[mxUtils.mod(g,c.length)],n=k.x-l.x,k=k.y-l.y;if(f&&(0!=n||0!=k)){var m=Math.sqrt(n*n+k*k),n=n*Math.min(d,m/2)/m,k=k*Math.min(d,m/2)/m;a.lineTo(l.x+n,l.y+k);for(k=c[mxUtils.mod(g+1,c.length)];g<c.length-2&&0==Math.round(k.x-l.x)&&0==Math.round(k.y-l.y);)k=c[mxUtils.mod(g+
2,c.length)],g++;n=k.x-l.x;k=k.y-l.y;m=Math.max(1,Math.sqrt(n*n+k*k));n=n*Math.min(d,m/2)/m;k=k*Math.min(d,m/2)/m;n=l.x+n;k=l.y+k;a.quadTo(l.x,l.y,n,k);l=new mxPoint(n,k)}else a.lineTo(l.x,l.y);k=l;g++}b?a.close():a.lineTo(e.x,e.y)};
mxShape.prototype.resetStyles=function(){this.initStyles();this.spacing=0;delete this.fill;delete this.gradient;delete this.gradientDirection;delete this.stroke;delete this.startSize;delete this.endSize;delete this.startArrow;delete this.endArrow;delete this.direction;delete this.isShadow;delete this.isDashed;delete this.isRounded;delete this.glass};
mxShape.prototype.apply=function(a){this.state=a;this.style=a.style;if(null!=this.style){this.fill=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,this.fill);this.gradient=mxUtils.getValue(this.style,mxConstants.STYLE_GRADIENTCOLOR,this.gradient);this.gradientDirection=mxUtils.getValue(this.style,mxConstants.STYLE_GRADIENT_DIRECTION,this.gradientDirection);this.opacity=mxUtils.getValue(this.style,mxConstants.STYLE_OPACITY,this.opacity);this.fillOpacity=mxUtils.getValue(this.style,mxConstants.STYLE_FILL_OPACITY,
this.fillOpacity);this.strokeOpacity=mxUtils.getValue(this.style,mxConstants.STYLE_STROKE_OPACITY,this.strokeOpacity);this.stroke=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,this.stroke);this.strokewidth=mxUtils.getNumber(this.style,mxConstants.STYLE_STROKEWIDTH,this.strokewidth);this.arrowStrokewidth=mxUtils.getNumber(this.style,mxConstants.STYLE_STROKEWIDTH,this.strokewidth);this.spacing=mxUtils.getValue(this.style,mxConstants.STYLE_SPACING,this.spacing);this.startSize=mxUtils.getNumber(this.style,
mxConstants.STYLE_STARTSIZE,this.startSize);this.endSize=mxUtils.getNumber(this.style,mxConstants.STYLE_ENDSIZE,this.endSize);this.startArrow=mxUtils.getValue(this.style,mxConstants.STYLE_STARTARROW,this.startArrow);this.endArrow=mxUtils.getValue(this.style,mxConstants.STYLE_ENDARROW,this.endArrow);this.rotation=mxUtils.getValue(this.style,mxConstants.STYLE_ROTATION,this.rotation);this.direction=mxUtils.getValue(this.style,mxConstants.STYLE_DIRECTION,this.direction);this.flipH=1==mxUtils.getValue(this.style,
mxConstants.STYLE_FLIPH,0);this.flipV=1==mxUtils.getValue(this.style,mxConstants.STYLE_FLIPV,0);null!=this.stencil&&(this.flipH=1==mxUtils.getValue(this.style,"stencilFlipH",0)||this.flipH,this.flipV=1==mxUtils.getValue(this.style,"stencilFlipV",0)||this.flipV);if(this.direction==mxConstants.DIRECTION_NORTH||this.direction==mxConstants.DIRECTION_SOUTH)a=this.flipH,this.flipH=this.flipV,this.flipV=a;this.isShadow=1==mxUtils.getValue(this.style,mxConstants.STYLE_SHADOW,this.isShadow);this.isDashed=
1==mxUtils.getValue(this.style,mxConstants.STYLE_DASHED,this.isDashed);this.isRounded=1==mxUtils.getValue(this.style,mxConstants.STYLE_ROUNDED,this.isRounded);this.glass=1==mxUtils.getValue(this.style,mxConstants.STYLE_GLASS,this.glass);this.fill==mxConstants.NONE&&(this.fill=null);this.gradient==mxConstants.NONE&&(this.gradient=null);this.stroke==mxConstants.NONE&&(this.stroke=null)}};mxShape.prototype.setCursor=function(a){null==a&&(a="");this.cursor=a;null!=this.node&&(this.node.style.cursor=a)};
mxShape.prototype.getCursor=function(){return this.cursor};
mxShape.prototype.updateBoundingBox=function(){if(this.useSvgBoundingBox&&null!=this.node&&null!=this.node.ownerSVGElement)try{var a=this.node.getBBox();if(0<a.width&&0<a.height){this.boundingBox=new mxRectangle(a.x,a.y,a.width,a.height);this.boundingBox.grow(this.strokewidth*this.scale/2);return}}catch(c){}if(null!=this.bounds){a=this.createBoundingBox();if(null!=a){this.augmentBoundingBox(a);var f=this.getShapeRotation();0!=f&&(a=mxUtils.getBoundingBox(a,f))}this.boundingBox=a}};
mxShape.prototype.createBoundingBox=function(){var a=this.bounds.clone();(null!=this.stencil&&(this.direction==mxConstants.DIRECTION_NORTH||this.direction==mxConstants.DIRECTION_SOUTH)||this.isPaintBoundsInverted())&&a.rotate90();return a};mxShape.prototype.augmentBoundingBox=function(a){this.isShadow&&(a.width+=Math.ceil(mxConstants.SHADOW_OFFSET_X*this.scale),a.height+=Math.ceil(mxConstants.SHADOW_OFFSET_Y*this.scale));a.grow(this.strokewidth*this.scale/2)};
mxShape.prototype.isPaintBoundsInverted=function(){return null==this.stencil&&(this.direction==mxConstants.DIRECTION_NORTH||this.direction==mxConstants.DIRECTION_SOUTH)};mxShape.prototype.getRotation=function(){return null!=this.rotation?this.rotation:0};mxShape.prototype.getTextRotation=function(){var a=this.getRotation();1!=mxUtils.getValue(this.style,mxConstants.STYLE_HORIZONTAL,1)&&(a+=mxText.prototype.verticalTextRotation);return a};
mxShape.prototype.getShapeRotation=function(){var a=this.getRotation();null!=this.direction&&(this.direction==mxConstants.DIRECTION_NORTH?a+=270:this.direction==mxConstants.DIRECTION_WEST?a+=180:this.direction==mxConstants.DIRECTION_SOUTH&&(a+=90));return a};
mxShape.prototype.createTransparentSvgRectangle=function(a,c,f,d){var b=document.createElementNS(mxConstants.NS_SVG,"rect");b.setAttribute("x",a);b.setAttribute("y",c);b.setAttribute("width",f);b.setAttribute("height",d);b.setAttribute("fill","none");b.setAttribute("stroke","none");b.setAttribute("pointer-events","all");return b};mxShape.prototype.setTransparentBackgroundImage=function(a){a.style.backgroundImage="url('"+mxClient.imageBasePath+"/transparent.gif')"};
mxShape.prototype.releaseSvgGradients=function(a){if(null!=a)for(var c in a){var f=a[c];null!=f&&(f.mxRefCount=(f.mxRefCount||0)-1,0==f.mxRefCount&&null!=f.parentNode&&f.parentNode.removeChild(f))}};mxShape.prototype.destroy=function(){null!=this.node&&(mxEvent.release(this.node),null!=this.node.parentNode&&this.node.parentNode.removeChild(this.node),this.node=null);this.releaseSvgGradients(this.oldGradients);this.oldGradients=null};
var mxStencilRegistry={stencils:{},addStencil:function(a,c){mxStencilRegistry.stencils[a]=c},getStencil:function(a){return mxStencilRegistry.stencils[a]}},mxMarker={markers:[],addMarker:function(a,c){mxMarker.markers[a]=c},createMarker:function(a,c,f,d,b,e,g,k,l,n){var m=mxMarker.markers[f];return null!=m?m(a,c,f,d,b,e,g,k,l,n):null}};
(function(){function a(a){a=null!=a?a:2;return function(b,e,c,f,l,n,m,p,r,s){e=1.118*l*r;p=1.118*n*r;l*=m+r;n*=m+r;var q=f.clone();q.x-=e;q.y-=p;m=c!=mxConstants.ARROW_CLASSIC&&c!=mxConstants.ARROW_CLASSIC_THIN?1:0.75;f.x+=-l*m-e;f.y+=-n*m-p;return function(){b.begin();b.moveTo(q.x,q.y);b.lineTo(q.x-l-n/a,q.y-n+l/a);(c==mxConstants.ARROW_CLASSIC||c==mxConstants.ARROW_CLASSIC_THIN)&&b.lineTo(q.x-3*l/4,q.y-3*n/4);b.lineTo(q.x+n/a-l,q.y-n-l/a);b.close();s?b.fillAndStroke():b.stroke()}}}function c(a){a=
null!=a?a:2;return function(b,e,c,f,l,n,m,p,r,s){e=1.118*l*r;c=1.118*n*r;l*=m+r;n*=m+r;var q=f.clone();q.x-=e;q.y-=c;f.x+=2*-e;f.y+=2*-c;return function(){b.begin();b.moveTo(q.x-l-n/a,q.y-n+l/a);b.lineTo(q.x,q.y);b.lineTo(q.x+n/a-l,q.y-n-l/a);b.stroke()}}}function f(a,b,e,c,f,l,n,m,p,r){m=e==mxConstants.ARROW_DIAMOND?0.7071:0.9862;b=f*p*m;m*=l*p;f*=n+p;l*=n+p;var s=c.clone();s.x-=b;s.y-=m;c.x+=-f-b;c.y+=-l-m;var q=e==mxConstants.ARROW_DIAMOND?2:3.4;return function(){a.begin();a.moveTo(s.x,s.y);a.lineTo(s.x-
f/2-l/q,s.y+f/q-l/2);a.lineTo(s.x-f,s.y-l);a.lineTo(s.x-f/2+l/q,s.y-l/2-f/q);a.close();r?a.fillAndStroke():a.stroke()}}mxMarker.addMarker("classic",a(2));mxMarker.addMarker("classicThin",a(3));mxMarker.addMarker("block",a(2));mxMarker.addMarker("blockThin",a(3));mxMarker.addMarker("open",c(2));mxMarker.addMarker("openThin",c(3));mxMarker.addMarker("oval",function(a,b,e,c,f,l,n,m,p,r){var s=n/2,q=c.clone();c.x-=f*s;c.y-=l*s;return function(){a.ellipse(q.x-s,q.y-s,n,n);r?a.fillAndStroke():a.stroke()}});
mxMarker.addMarker("diamond",f);mxMarker.addMarker("diamondThin",f)})();function mxActor(a,c,f,d){mxShape.call(this);this.bounds=a;this.fill=c;this.stroke=f;this.strokewidth=null!=d?d:1}mxUtils.extend(mxActor,mxShape);mxActor.prototype.paintVertexShape=function(a,c,f,d,b){a.translate(c,f);a.begin();this.redrawPath(a,c,f,d,b);a.fillAndStroke()};
mxActor.prototype.redrawPath=function(a,c,f,d,b){c=d/3;a.moveTo(0,b);a.curveTo(0,3*b/5,0,2*b/5,d/2,2*b/5);a.curveTo(d/2-c,2*b/5,d/2-c,0,d/2,0);a.curveTo(d/2+c,0,d/2+c,2*b/5,d/2,2*b/5);a.curveTo(d,2*b/5,d,3*b/5,d,b);a.close()};function mxCloud(a,c,f,d){mxActor.call(this);this.bounds=a;this.fill=c;this.stroke=f;this.strokewidth=null!=d?d:1}mxUtils.extend(mxCloud,mxActor);
mxCloud.prototype.redrawPath=function(a,c,f,d,b){a.moveTo(0.25*d,0.25*b);a.curveTo(0.05*d,0.25*b,0,0.5*b,0.16*d,0.55*b);a.curveTo(0,0.66*b,0.18*d,0.9*b,0.31*d,0.8*b);a.curveTo(0.4*d,b,0.7*d,b,0.8*d,0.8*b);a.curveTo(d,0.8*b,d,0.6*b,0.875*d,0.5*b);a.curveTo(d,0.3*b,0.8*d,0.1*b,0.625*d,0.2*b);a.curveTo(0.5*d,0.05*b,0.3*d,0.05*b,0.25*d,0.25*b);a.close()};function mxRectangleShape(a,c,f,d){mxShape.call(this);this.bounds=a;this.fill=c;this.stroke=f;this.strokewidth=null!=d?d:1}
mxUtils.extend(mxRectangleShape,mxShape);mxRectangleShape.prototype.isHtmlAllowed=function(){var a=!0;null!=this.style&&(a="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));return!this.isRounded&&!this.glass&&0==this.rotation&&(a||null!=this.fill&&this.fill!=mxConstants.NONE)};
mxRectangleShape.prototype.paintBackground=function(a,c,f,d,b){var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE){if(!e&&(null==this.fill||this.fill==mxConstants.NONE))a.pointerEvents=!1;this.isRounded?(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(d*e,b*e),a.roundrect(c,f,d,b,e,
e)):a.rect(c,f,d,b);a.fillAndStroke()}};mxRectangleShape.prototype.paintForeground=function(a,c,f,d,b){this.glass&&!this.outline&&(null!=this.fill&&this.fill!=mxConstants.NONE)&&this.paintGlassEffect(a,c,f,d,b,this.getArcSize(d+this.strokewidth,b+this.strokewidth))};function mxEllipse(a,c,f,d){mxShape.call(this);this.bounds=a;this.fill=c;this.stroke=f;this.strokewidth=null!=d?d:1}mxUtils.extend(mxEllipse,mxShape);mxEllipse.prototype.paintVertexShape=function(a,c,f,d,b){a.ellipse(c,f,d,b);a.fillAndStroke()};
function mxDoubleEllipse(a,c,f,d){mxShape.call(this);this.bounds=a;this.fill=c;this.stroke=f;this.strokewidth=null!=d?d:1}mxUtils.extend(mxDoubleEllipse,mxShape);mxDoubleEllipse.prototype.vmlScale=10;mxDoubleEllipse.prototype.paintBackground=function(a,c,f,d,b){a.ellipse(c,f,d,b);a.fillAndStroke()};
mxDoubleEllipse.prototype.paintForeground=function(a,c,f,d,b){if(!this.outline){var e=mxUtils.getValue(this.style,mxConstants.STYLE_MARGIN,Math.min(3+this.strokewidth,Math.min(d/5,b/5)));d-=2*e;b-=2*e;0<d&&0<b&&a.ellipse(c+e,f+e,d,b);a.stroke()}};
mxDoubleEllipse.prototype.getLabelBounds=function(a){var c=mxUtils.getValue(this.style,mxConstants.STYLE_MARGIN,Math.min(3+this.strokewidth,Math.min(a.width/5/this.scale,a.height/5/this.scale)))*this.scale;return new mxRectangle(a.x+c,a.y+c,a.width-2*c,a.height-2*c)};function mxRhombus(a,c,f,d){mxShape.call(this);this.bounds=a;this.fill=c;this.stroke=f;this.strokewidth=null!=d?d:1}mxUtils.extend(mxRhombus,mxShape);
mxRhombus.prototype.paintVertexShape=function(a,c,f,d,b){var e=d/2,g=b/2,k=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;a.begin();this.addPoints(a,[new mxPoint(c+e,f),new mxPoint(c+d,f+g),new mxPoint(c+e,f+b),new mxPoint(c,f+g)],this.isRounded,k,!0);a.fillAndStroke()};function mxPolyline(a,c,f){mxShape.call(this);this.points=a;this.stroke=c;this.strokewidth=null!=f?f:1}mxUtils.extend(mxPolyline,mxShape);mxPolyline.prototype.getRotation=function(){return 0};
mxPolyline.prototype.getShapeRotation=function(){return 0};mxPolyline.prototype.isPaintBoundsInverted=function(){return!1};mxPolyline.prototype.paintEdgeShape=function(a,c){null==this.style||1!=this.style[mxConstants.STYLE_CURVED]?this.paintLine(a,c,this.isRounded):this.paintCurvedLine(a,c)};mxPolyline.prototype.paintLine=function(a,c,f){var d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;a.begin();this.addPoints(a,c,f,d,!1);a.stroke()};
mxPolyline.prototype.paintCurvedLine=function(a,c){a.begin();var f=c[0],d=c.length;a.moveTo(f.x,f.y);for(f=1;f<d-2;f++){var b=c[f],e=c[f+1];a.quadTo(b.x,b.y,(b.x+e.x)/2,(b.y+e.y)/2)}b=c[d-2];e=c[d-1];a.quadTo(b.x,b.y,e.x,e.y);a.stroke()};
function mxArrow(a,c,f,d,b,e,g){mxShape.call(this);this.points=a;this.fill=c;this.stroke=f;this.strokewidth=null!=d?d:1;this.arrowWidth=null!=b?b:mxConstants.ARROW_WIDTH;this.spacing=null!=e?e:mxConstants.ARROW_SPACING;this.endSize=null!=g?g:mxConstants.ARROW_SIZE}mxUtils.extend(mxArrow,mxShape);mxArrow.prototype.augmentBoundingBox=function(a){mxShape.prototype.augmentBoundingBox.apply(this,arguments);var c=Math.max(this.arrowWidth,this.endSize);a.grow((c/2+this.strokewidth)*this.scale)};
mxArrow.prototype.paintEdgeShape=function(a,c){var f=mxConstants.ARROW_SPACING,d=mxConstants.ARROW_WIDTH,b=mxConstants.ARROW_SIZE,e=c[0],g=c[c.length-1],k=g.x-e.x,l=g.y-e.y,n=Math.sqrt(k*k+l*l),m=n-2*f-b,k=k/n,l=l/n,n=d*l/3,d=-d*k/3,b=e.x-n/2+f*k,e=e.y-d/2+f*l,p=b+n,r=e+d,s=p+m*k,m=r+m*l,q=s+n,u=m+d,t=q-3*n,v=u-3*d;a.begin();a.moveTo(b,e);a.lineTo(p,r);a.lineTo(s,m);a.lineTo(q,u);a.lineTo(g.x-f*k,g.y-f*l);a.lineTo(t,v);a.lineTo(t+n,v+d);a.close();a.fillAndStroke()};
function mxArrowConnector(a,c,f,d,b,e,g){mxShape.call(this);this.points=a;this.fill=c;this.stroke=f;this.strokewidth=null!=d?d:1;this.arrowWidth=null!=b?b:mxConstants.ARROW_WIDTH;this.arrowSpacing=null!=e?e:mxConstants.ARROW_SPACING;this.startSize=mxConstants.ARROW_SIZE/5;this.endSize=mxConstants.ARROW_SIZE/5}mxUtils.extend(mxArrowConnector,mxShape);mxArrowConnector.prototype.useSvgBoundingBox=!0;
mxArrowConnector.prototype.resetStyles=function(){mxShape.prototype.resetStyles.apply(this,arguments);this.arrowSpacing=mxConstants.ARROW_SPACING};mxArrowConnector.prototype.apply=function(a){mxShape.prototype.apply.apply(this,arguments);null!=this.style&&(this.startSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5),this.endSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5))};
mxArrowConnector.prototype.augmentBoundingBox=function(a){mxShape.prototype.augmentBoundingBox.apply(this,arguments);var c=this.getEdgeWidth();this.isMarkerStart()&&(c=Math.max(c,this.getStartArrowWidth()));this.isMarkerEnd()&&(c=Math.max(c,this.getEndArrowWidth()));a.grow((c/2+this.strokewidth)*this.scale)};
mxArrowConnector.prototype.paintEdgeShape=function(a,c){var f=this.strokewidth;this.outline&&(f=Math.max(1,mxUtils.getNumber(this.style,mxConstants.STYLE_STROKEWIDTH,this.strokewidth)));for(var d=this.getStartArrowWidth()+f,b=this.getEndArrowWidth()+f,e=this.outline?this.getEdgeWidth()+f:this.getEdgeWidth(),g=this.isOpenEnded(),k=this.isMarkerStart(),l=this.isMarkerEnd(),n=g?0:this.arrowSpacing+f/2,m=this.startSize+f,f=this.endSize+f,p=this.isArrowRounded(),r=c[c.length-1],s=1;s<c.length-1&&c[s].x==
c[0].x&&c[s].y==c[0].y;)s++;var q=c[s].x-c[0].x,s=c[s].y-c[0].y,u=Math.sqrt(q*q+s*s);if(0!=u){var t=q/u,v,z=t,y=s/u,x,D=y,u=e*y,A=-e*t,B=[];p?a.setLineJoin("round"):2<c.length&&a.setMiterLimit(1.42);a.begin();q=t;s=y;if(k&&!g)this.paintMarker(a,c[0].x,c[0].y,t,y,m,d,e,n,!0);else{v=c[0].x+u/2+n*t;x=c[0].y+A/2+n*y;var E=c[0].x-u/2+n*t,G=c[0].y-A/2+n*y;g?(a.moveTo(v,x),B.push(function(){a.lineTo(E,G)})):(a.moveTo(E,G),a.lineTo(v,x))}for(var F=x=v=0,u=0;u<c.length-2;u++)if(A=mxUtils.relativeCcw(c[u].x,
c[u].y,c[u+1].x,c[u+1].y,c[u+2].x,c[u+2].y),v=c[u+2].x-c[u+1].x,x=c[u+2].y-c[u+1].y,F=Math.sqrt(v*v+x*x),0!=F&&(z=v/F,D=x/F,tmp=Math.max(Math.sqrt((t*z+y*D+1)/2),0.04),v=t+z,x=y+D,F=Math.sqrt(v*v+x*x),0!=F)){v/=F;x/=F;var F=Math.max(tmp,Math.min(this.strokewidth/200+0.04,0.35)),F=0!=A&&p?Math.max(0.1,F):Math.max(tmp,0.06),H=c[u+1].x+x*e/2/F,I=c[u+1].y-v*e/2/F;x=c[u+1].x-x*e/2/F;v=c[u+1].y+v*e/2/F;0==A||!p?(a.lineTo(H,I),function(b,d){B.push(function(){a.lineTo(b,d)})}(x,v)):-1==A?(A=x+D*e,F=v-z*e,
a.lineTo(x+y*e,v-t*e),a.quadTo(H,I,A,F),function(b,d){B.push(function(){a.lineTo(b,d)})}(x,v)):(a.lineTo(H,I),function(b,d){var c=H-y*e,f=I+t*e,g=H-D*e,k=I+z*e;B.push(function(){a.quadTo(b,d,c,f)});B.push(function(){a.lineTo(g,k)})}(x,v));t=z;y=D}u=e*D;A=-e*z;if(l&&!g)this.paintMarker(a,r.x,r.y,-t,-y,f,b,e,n,!1);else{a.lineTo(r.x-n*z+u/2,r.y-n*D+A/2);var L=r.x-n*z-u/2,O=r.y-n*D-A/2;g?(a.moveTo(L,O),B.splice(0,0,function(){a.moveTo(L,O)})):a.lineTo(L,O)}for(u=B.length-1;0<=u;u--)B[u]();g?(a.end(),
a.stroke()):(a.close(),a.fillAndStroke());a.setShadow(!1);a.setMiterLimit(4);p&&a.setLineJoin("flat");2<c.length&&(a.setMiterLimit(4),k&&!g&&(a.begin(),this.paintMarker(a,c[0].x,c[0].y,q,s,m,d,e,n,!0),a.stroke(),a.end()),l&&!g&&(a.begin(),this.paintMarker(a,r.x,r.y,-t,-y,f,b,e,n,!0),a.stroke(),a.end()))}};
mxArrowConnector.prototype.paintMarker=function(a,c,f,d,b,e,g,k,l,n){g=k/g;var m=k*b/2;k=-k*d/2;var p=(l+e)*d;e=(l+e)*b;n?a.moveTo(c-m+p,f-k+e):a.lineTo(c-m+p,f-k+e);a.lineTo(c-m/g+p,f-k/g+e);a.lineTo(c+l*d,f+l*b);a.lineTo(c+m/g+p,f+k/g+e);a.lineTo(c+m+p,f+k+e)};mxArrowConnector.prototype.isArrowRounded=function(){return this.isRounded};mxArrowConnector.prototype.getStartArrowWidth=function(){return mxConstants.ARROW_WIDTH};mxArrowConnector.prototype.getEndArrowWidth=function(){return mxConstants.ARROW_WIDTH};
mxArrowConnector.prototype.getEdgeWidth=function(){return mxConstants.ARROW_WIDTH/3};mxArrowConnector.prototype.isOpenEnded=function(){return!1};mxArrowConnector.prototype.isMarkerStart=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE};mxArrowConnector.prototype.isMarkerEnd=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE};
function mxText(a,c,f,d,b,e,g,k,l,n,m,p,r,s,q,u,t,v,z,y,x){mxShape.call(this);this.value=a;this.bounds=c;this.color=null!=b?b:"black";this.align=null!=f?f:"";this.valign=null!=d?d:"";this.family=null!=e?e:mxConstants.DEFAULT_FONTFAMILY;this.size=null!=g?g:mxConstants.DEFAULT_FONTSIZE;this.fontStyle=null!=k?k:mxConstants.DEFAULT_FONTSTYLE;this.spacing=parseInt(l||2);this.spacingTop=this.spacing+parseInt(n||0);this.spacingRight=this.spacing+parseInt(m||0);this.spacingBottom=this.spacing+parseInt(p||
0);this.spacingLeft=this.spacing+parseInt(r||0);this.horizontal=null!=s?s:!0;this.background=q;this.border=u;this.wrap=null!=t?t:!1;this.clipped=null!=v?v:!1;this.overflow=null!=z?z:"visible";this.labelPadding=null!=y?y:0;this.textDirection=x;this.rotation=0;this.updateMargin()}mxUtils.extend(mxText,mxShape);mxText.prototype.baseSpacingTop=0;mxText.prototype.baseSpacingBottom=0;mxText.prototype.baseSpacingLeft=0;mxText.prototype.baseSpacingRight=0;mxText.prototype.replaceLinefeeds=!0;
mxText.prototype.verticalTextRotation=-90;mxText.prototype.ignoreClippedStringSize=!0;mxText.prototype.ignoreStringSize=!1;mxText.prototype.textWidthPadding=8==document.documentMode&&!mxClient.IS_EM?4:3;mxText.prototype.lastValue=null;mxText.prototype.cacheEnabled=!0;mxText.prototype.isParseVml=function(){return!1};mxText.prototype.isHtmlAllowed=function(){return 8!=document.documentMode||mxClient.IS_EM};mxText.prototype.getSvgScreenOffset=function(){return 0};
mxText.prototype.checkBounds=function(){return!isNaN(this.scale)&&isFinite(this.scale)&&0<this.scale&&null!=this.bounds&&!isNaN(this.bounds.x)&&!isNaN(this.bounds.y)&&!isNaN(this.bounds.width)&&!isNaN(this.bounds.height)};
mxText.prototype.paint=function(a,c){var f=this.scale,d=this.bounds.x/f,b=this.bounds.y/f,e=this.bounds.width/f,f=this.bounds.height/f;this.updateTransform(a,d,b,e,f);this.configureCanvas(a,d,b,e,f);if(c){var g=null!=this.state?this.state.unscaledWidth:null;null!=this.node.firstChild&&this.lastUnscaledWidth!=g&&a.invalidateCachedOffsetSize(this.node);a.updateText(d,b,e,f,this.align,this.valign,this.wrap,this.overflow,this.clipped,this.getTextRotation(),this.node)}else{var k=(g=mxUtils.isNode(this.value)||
this.dialect==mxConstants.DIALECT_STRICTHTML)||a instanceof mxVmlCanvas2D?"html":"",l=this.value;!g&&"html"==k&&(l=mxUtils.htmlEntities(l,!1));"html"==k&&!mxUtils.isNode(this.value)&&(l=mxUtils.replaceTrailingNewlines(l,"\x3cdiv\x3e\x3cbr\x3e\x3c/div\x3e"));var l=!mxUtils.isNode(this.value)&&this.replaceLinefeeds&&"html"==k?l.replace(/\n/g,"\x3cbr/\x3e"):l,n=this.textDirection;n==mxConstants.TEXT_DIRECTION_AUTO&&!g&&(n=this.getAutoDirection());n!=mxConstants.TEXT_DIRECTION_LTR&&n!=mxConstants.TEXT_DIRECTION_RTL&&
(n=null);a.text(d,b,e,f,l,this.align,this.valign,this.wrap,k,this.overflow,this.clipped,this.getTextRotation(),n)}this.lastUnscaledWidth=null!=this.state?this.state.unscaledWidth:null};
mxText.prototype.redraw=function(){if(this.visible&&this.checkBounds()&&this.cacheEnabled&&this.lastValue==this.value&&(mxUtils.isNode(this.value)||this.dialect==mxConstants.DIALECT_STRICTHTML))if("DIV"==this.node.nodeName&&(this.isHtmlAllowed()||!mxClient.IS_VML))this.updateSize(this.node,null==this.state||null==this.state.view.textDiv),mxClient.IS_IE&&(null==document.documentMode||8>=document.documentMode)?this.updateHtmlFilter():this.updateHtmlTransform(),this.updateBoundingBox();else{var a=this.createCanvas();
null!=a&&null!=a.updateText&&null!=a.invalidateCachedOffsetSize?(this.paint(a,!0),this.destroyCanvas(a),this.updateBoundingBox()):mxShape.prototype.redraw.apply(this,arguments)}else mxShape.prototype.redraw.apply(this,arguments),mxUtils.isNode(this.value)||this.dialect==mxConstants.DIALECT_STRICTHTML?this.lastValue=this.value:this.lastValue=null};
mxText.prototype.resetStyles=function(){mxShape.prototype.resetStyles.apply(this,arguments);this.color="black";this.valign=this.align="";this.family=mxConstants.DEFAULT_FONTFAMILY;this.size=mxConstants.DEFAULT_FONTSIZE;this.fontStyle=mxConstants.DEFAULT_FONTSTYLE;this.spacing=2;this.spacingLeft=this.spacingBottom=this.spacingRight=this.spacingTop=0;this.horizontal=!0;delete this.background;delete this.border;this.textDirection=mxConstants.DEFAULT_TEXT_DIRECTION;delete this.margin};
mxText.prototype.apply=function(a){mxShape.prototype.apply.apply(this,arguments);null!=this.style&&(this.fontStyle=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSTYLE,this.fontStyle),this.family=mxUtils.getValue(this.style,mxConstants.STYLE_FONTFAMILY,this.family),this.size=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,this.size),this.color=mxUtils.getValue(this.style,mxConstants.STYLE_FONTCOLOR,this.color),this.align=mxUtils.getValue(this.style,mxConstants.STYLE_ALIGN,this.align),this.valign=
mxUtils.getValue(this.style,mxConstants.STYLE_VERTICAL_ALIGN,this.valign),this.spacing=mxUtils.getValue(this.style,mxConstants.STYLE_SPACING,this.spacing),this.spacingTop=mxUtils.getValue(this.style,mxConstants.STYLE_SPACING_TOP,this.spacingTop)+this.spacing,this.spacingRight=mxUtils.getValue(this.style,mxConstants.STYLE_SPACING_RIGHT,this.spacingRight)+this.spacing,this.spacingBottom=mxUtils.getValue(this.style,mxConstants.STYLE_SPACING_BOTTOM,this.spacingBottom)+this.spacing,this.spacingLeft=mxUtils.getValue(this.style,
mxConstants.STYLE_SPACING_LEFT,this.spacingLeft)+this.spacing,this.horizontal=mxUtils.getValue(this.style,mxConstants.STYLE_HORIZONTAL,this.horizontal),this.background=mxUtils.getValue(this.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,this.background),this.border=mxUtils.getValue(this.style,mxConstants.STYLE_LABEL_BORDERCOLOR,this.border),this.textDirection=mxUtils.getValue(this.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION),this.updateMargin());this.flipH=this.flipV=
null};mxText.prototype.getAutoDirection=function(){var a=/[A-Za-z\u05d0-\u065f\u066a-\u06ef\u06fa-\u07ff\ufb1d-\ufdff\ufe70-\ufefc]/.exec(this.value);return null!=a&&0<a.length&&"z"<a[0]?mxConstants.TEXT_DIRECTION_RTL:mxConstants.TEXT_DIRECTION_LTR};
mxText.prototype.updateBoundingBox=function(){var a=this.node;this.boundingBox=this.bounds.clone();var c=this.getTextRotation(),f=null!=this.style?mxUtils.getValue(this.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER):null,d=null!=this.style?mxUtils.getValue(this.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE):null;if(!this.ignoreStringSize&&null!=a&&"fill"!=this.overflow&&(!this.clipped||!this.ignoreClippedStringSize||f!=mxConstants.ALIGN_CENTER||d!=mxConstants.ALIGN_MIDDLE)){d=
f=null;if(null!=a.ownerSVGElement)if(null!=a.firstChild&&null!=a.firstChild.firstChild&&"foreignObject"==a.firstChild.firstChild.nodeName)a=a.firstChild.firstChild,f=parseInt(a.getAttribute("width"))*this.scale,d=parseInt(a.getAttribute("height"))*this.scale;else try{var b=a.getBBox();if("string"==typeof this.value&&0==mxUtils.trim(this.value)){this.boundingBox=null;return}if(0==b.width&&0==b.height){this.boundingBox=null;return}this.boundingBox=new mxRectangle(b.x,b.y,b.width,b.height);c=0}catch(e){}else f=
null!=this.state?this.state.view.textDiv:null,null!=this.offsetWidth&&null!=this.offsetHeight||(null!=f&&(this.updateFont(f),this.updateSize(f,!1),this.updateInnerHtml(f),a=f),b=a,8==document.documentMode&&!mxClient.IS_EM?(d=Math.round(this.bounds.width/this.scale),this.wrap&&0<d?(a.style.wordWrap=mxConstants.WORD_WRAP,a.style.whiteSpace="normal","break-word"!=a.style.wordWrap&&(a=b.getElementsByTagName("div"),0<a.length&&(b=a[a.length-1]),f=b.offsetWidth+2,a=this.node.getElementsByTagName("div"),
this.clipped&&(f=Math.min(d,f)),1<a.length&&(a[a.length-2].style.width=f+"px"))):a.style.whiteSpace="nowrap"):null!=b.firstChild&&"DIV"==b.firstChild.nodeName&&(b=b.firstChild),this.offsetWidth=b.offsetWidth+this.textWidthPadding,this.offsetHeight=b.offsetHeight),f=this.offsetWidth*this.scale,d=this.offsetHeight*this.scale;null!=f&&null!=d&&(this.boundingBox=new mxRectangle(this.bounds.x+this.margin.x*f,this.bounds.y+this.margin.y*d,f,d))}else this.boundingBox.x+=this.margin.x*this.boundingBox.width,
this.boundingBox.y+=this.margin.y*this.boundingBox.height;null!=this.boundingBox&&(0!=c?(this.unrotatedBoundingBox=mxRectangle.fromRectangle(this.boundingBox),c=mxUtils.getBoundingBox(this.boundingBox,c),this.boundingBox.x=c.x,this.boundingBox.y=c.y,mxClient.IS_QUIRKS||(this.boundingBox.width=c.width,this.boundingBox.height=c.height)):this.unrotatedBoundingBox=null)};mxText.prototype.getShapeRotation=function(){return 0};
mxText.prototype.getTextRotation=function(){return null!=this.state&&null!=this.state.shape?this.state.shape.getTextRotation():0};mxText.prototype.isPaintBoundsInverted=function(){return!this.horizontal&&null!=this.state&&this.state.view.graph.model.isVertex(this.state.cell)};
mxText.prototype.configureCanvas=function(a,c,f,d,b){mxShape.prototype.configureCanvas.apply(this,arguments);a.setFontColor(this.color);a.setFontBackgroundColor(this.background);a.setFontBorderColor(this.border);a.setFontFamily(this.family);a.setFontSize(this.size);a.setFontStyle(this.fontStyle)};
mxText.prototype.updateVmlContainer=function(){this.node.style.left=Math.round(this.bounds.x)+"px";this.node.style.top=Math.round(this.bounds.y)+"px";this.node.style.width="1px";this.node.style.height="1px";this.node.style.overflow="visible"};
mxText.prototype.redrawHtmlShape=function(){var a=this.node.style;a.whiteSpace="normal";a.overflow="";a.width="";a.height="";this.updateValue();this.updateFont(this.node);this.updateSize(this.node,null==this.state||null==this.state.view.textDiv);this.offsetHeight=this.offsetWidth=null;mxClient.IS_IE&&(null==document.documentMode||8>=document.documentMode)?this.updateHtmlFilter():this.updateHtmlTransform()};
mxText.prototype.updateHtmlTransform=function(){var a=this.getTextRotation(),c=this.node.style,f=this.margin.x,d=this.margin.y;0!=a?(mxUtils.setPrefixedStyle(c,"transformOrigin",100*-f+"% "+100*-d+"%"),mxUtils.setPrefixedStyle(c,"transform","translate("+100*f+"%,"+100*d+"%)scale("+this.scale+") rotate("+a+"deg)")):(mxUtils.setPrefixedStyle(c,"transformOrigin","0% 0%"),mxUtils.setPrefixedStyle(c,"transform","scale("+this.scale+")translate("+100*f+"%,"+100*d+"%)"));c.left=Math.round(this.bounds.x-Math.ceil(f*
("fill"!=this.overflow&&"width"!=this.overflow?3:1)))+"px";c.top=Math.round(this.bounds.y-d*("fill"!=this.overflow?3:1))+"px";c.opacity=100>this.opacity?this.opacity/100:""};
mxText.prototype.updateInnerHtml=function(a){if(mxUtils.isNode(this.value))a.innerHTML=this.value.outerHTML;else{var c=this.value;this.dialect!=mxConstants.DIALECT_STRICTHTML&&(c=mxUtils.htmlEntities(c,!1));c=mxUtils.replaceTrailingNewlines(c,"\x3cdiv\x3e\x26nbsp;\x3c/div\x3e");c=this.replaceLinefeeds?c.replace(/\n/g,"\x3cbr/\x3e"):c;a.innerHTML='\x3cdiv style\x3d"display:inline-block;_display:inline;"\x3e'+c+"\x3c/div\x3e"}};
mxText.prototype.updateHtmlFilter=function(){var a=this.node.style,c=this.margin.x,f=this.margin.y,d=this.scale;mxUtils.setOpacity(this.node,this.opacity);var b=0,e=0,g=null!=this.state?this.state.view.textDiv:null,k=this.node;if(null!=g){g.style.overflow="";g.style.height="";g.style.width="";this.updateFont(g);this.updateSize(g,!1);this.updateInnerHtml(g);var l=Math.round(this.bounds.width/this.scale);this.wrap&&0<l?(g.style.whiteSpace="normal",g.style.wordWrap=mxConstants.WORD_WRAP,b=l,this.clipped&&
(b=Math.min(b,this.bounds.width)),g.style.width=b+"px"):g.style.whiteSpace="nowrap";k=g;null!=k.firstChild&&"DIV"==k.firstChild.nodeName&&(k=k.firstChild,this.wrap&&"break-word"==g.style.wordWrap&&(k.style.width="100%"));!this.clipped&&this.wrap&&0<l&&(b=k.offsetWidth+this.textWidthPadding,g.style.width=b+"px");e=k.offsetHeight+2;mxClient.IS_QUIRKS&&null!=this.border&&this.border!=mxConstants.NONE&&(e+=3)}else null!=k.firstChild&&"DIV"==k.firstChild.nodeName&&(k=k.firstChild,e=k.offsetHeight);b=k.offsetWidth+
this.textWidthPadding;this.clipped&&(e=Math.min(e,this.bounds.height));l=this.bounds.width/d;g=this.bounds.height/d;"fill"==this.overflow?(e=g,b=l):"width"==this.overflow&&(e=k.scrollHeight,b=l);this.offsetWidth=b;this.offsetHeight=e;mxClient.IS_QUIRKS&&(this.clipped||"width"==this.overflow&&0<g)?(g=Math.min(g,e),a.height=Math.round(g)+"px"):g=e;if("fill"!=this.overflow&&"width"!=this.overflow&&(this.clipped&&(b=Math.min(l,b)),l=b,mxClient.IS_QUIRKS&&this.clipped||this.wrap))a.width=Math.round(l)+
"px";var g=g*d,l=l*d,n=this.getTextRotation()*(Math.PI/180),b=parseFloat(parseFloat(Math.cos(n)).toFixed(8)),e=parseFloat(parseFloat(Math.sin(-n)).toFixed(8)),n=n%(2*Math.PI);0>n&&(n+=2*Math.PI);n%=Math.PI;n>Math.PI/2&&(n=Math.PI-n);var k=Math.cos(n),m=Math.sin(-n),c=l*-(c+0.5),p=g*-(f+0.5),r=(g-g*k+l*m)/2+e*c-b*p;0!=n&&(f="progid:DXImageTransform.Microsoft.Matrix(M11\x3d"+b+", M12\x3d"+e+", M21\x3d"+-e+", M22\x3d"+b+", sizingMethod\x3d'auto expand')",a.filter=null!=a.filter&&0<a.filter.length?a.filter+
(" "+f):f);f=0;"fill"!=this.overflow&&mxClient.IS_QUIRKS&&(f=this.valign==mxConstants.ALIGN_TOP?f-1:this.valign==mxConstants.ALIGN_BOTTOM?f+2:f+1);a.zoom=d;a.left=Math.round(this.bounds.x+((l-l*k+g*m)/2-b*c-e*p)-l/2)+"px";a.top=Math.round(this.bounds.y+r-g/2+f)+"px"};
mxText.prototype.updateValue=function(){if(mxUtils.isNode(this.value))this.node.innerHTML="",this.node.appendChild(this.value);else{var a=this.value;this.dialect!=mxConstants.DIALECT_STRICTHTML&&(a=mxUtils.htmlEntities(a,!1));var a=mxUtils.replaceTrailingNewlines(a,"\x3cdiv\x3e\x3cbr\x3e\x3c/div\x3e"),a=this.replaceLinefeeds?a.replace(/\n/g,"\x3cbr/\x3e"):a,c=null!=this.background&&this.background!=mxConstants.NONE?this.background:null,f=null!=this.border&&this.border!=mxConstants.NONE?this.border:
null;if("fill"==this.overflow||"width"==this.overflow)null!=c&&(this.node.style.backgroundColor=c),null!=f&&(this.node.style.border="1px solid "+f);else{var d="";null!=c&&(d+="background-color:"+c+";");null!=f&&(d+="border:1px solid "+f+";");a='\x3cdiv style\x3d"zoom:1;'+d+"display:inline-block;_display:inline;text-decoration:inherit;padding-bottom:1px;padding-right:1px;line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT)+'"\x3e'+a+"\x3c/div\x3e"}this.node.innerHTML=
a;a=this.node.getElementsByTagName("div");0<a.length&&(c=this.textDirection,c==mxConstants.TEXT_DIRECTION_AUTO&&this.dialect!=mxConstants.DIALECT_STRICTHTML&&(c=this.getAutoDirection()),c==mxConstants.TEXT_DIRECTION_LTR||c==mxConstants.TEXT_DIRECTION_RTL?a[a.length-1].setAttribute("dir",c):a[a.length-1].removeAttribute("dir"))}};
mxText.prototype.updateFont=function(a){a=a.style;a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT;a.fontSize=this.size+"px";a.fontFamily=this.family;a.verticalAlign="top";a.color=this.color;a.fontWeight=(this.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?"bold":"";a.fontStyle=(this.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?"italic":"";a.textDecoration=(this.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE?
"underline":"";a.textAlign=this.align==mxConstants.ALIGN_CENTER?"center":this.align==mxConstants.ALIGN_RIGHT?"right":"left"};
mxText.prototype.updateSize=function(a,c){var f=Math.max(0,Math.round(this.bounds.width/this.scale)),d=Math.max(0,Math.round(this.bounds.height/this.scale)),b=a.style;this.clipped?(b.overflow="hidden",mxClient.IS_QUIRKS?b.width=f+"px":(b.maxHeight=d+"px",b.maxWidth=f+"px")):"fill"==this.overflow?(b.width=f+1+"px",b.height=d+1+"px",b.overflow="hidden"):"width"==this.overflow&&(b.width=f+1+"px",b.maxHeight=d+1+"px",b.overflow="hidden");if(this.wrap&&0<f){if(b.wordWrap=mxConstants.WORD_WRAP,b.whiteSpace=
"normal",b.width=f+"px",c&&"fill"!=this.overflow&&"width"!=this.overflow){d=a;null!=d.firstChild&&"DIV"==d.firstChild.nodeName&&(d=d.firstChild,"break-word"==a.style.wordWrap&&(d.style.width="100%"));var e=d.offsetWidth;if(0==e){var g=a.parentNode;a.style.visibility="hidden";document.body.appendChild(a);e=d.offsetWidth;a.style.visibility="";g.appendChild(a)}e+=3;this.clipped&&(e=Math.min(e,f));b.width=e+"px"}}else b.whiteSpace="nowrap"};
mxText.prototype.updateMargin=function(){this.margin=mxUtils.getAlignmentAsPoint(this.align,this.valign)};
mxText.prototype.getSpacing=function(){var a=0,c=0,a=this.align==mxConstants.ALIGN_CENTER?(this.spacingLeft-this.spacingRight)/2:this.align==mxConstants.ALIGN_RIGHT?-this.spacingRight-this.baseSpacingRight:this.spacingLeft+this.baseSpacingLeft,c=this.valign==mxConstants.ALIGN_MIDDLE?(this.spacingTop-this.spacingBottom)/2:this.valign==mxConstants.ALIGN_BOTTOM?-this.spacingBottom-this.baseSpacingBottom:this.spacingTop+this.baseSpacingTop;return new mxPoint(a,c)};
function mxTriangle(){mxActor.call(this)}mxUtils.extend(mxTriangle,mxActor);mxTriangle.prototype.redrawPath=function(a,c,f,d,b){c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0.5*b),new mxPoint(0,b)],this.isRounded,c,!0)};function mxHexagon(){mxActor.call(this)}mxUtils.extend(mxHexagon,mxActor);
mxHexagon.prototype.redrawPath=function(a,c,f,d,b){c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0.25*d,0),new mxPoint(0.75*d,0),new mxPoint(d,0.5*b),new mxPoint(0.75*d,b),new mxPoint(0.25*d,b),new mxPoint(0,0.5*b)],this.isRounded,c,!0)};function mxLine(a,c,f){mxShape.call(this);this.bounds=a;this.stroke=c;this.strokewidth=null!=f?f:1}mxUtils.extend(mxLine,mxShape);
mxLine.prototype.paintVertexShape=function(a,c,f,d,b){f+=b/2;a.begin();a.moveTo(c,f);a.lineTo(c+d,f);a.stroke()};function mxImageShape(a,c,f,d,b){mxShape.call(this);this.bounds=a;this.image=c;this.fill=f;this.stroke=d;this.strokewidth=null!=b?b:1;this.shadow=!1}mxUtils.extend(mxImageShape,mxRectangleShape);mxImageShape.prototype.preserveImageAspect=!0;mxImageShape.prototype.getSvgScreenOffset=function(){return 0};
mxImageShape.prototype.apply=function(a){mxShape.prototype.apply.apply(this,arguments);this.gradient=this.stroke=this.fill=null;null!=this.style&&(this.preserveImageAspect=1==mxUtils.getNumber(this.style,mxConstants.STYLE_IMAGE_ASPECT,1),this.flipH=this.flipH||1==mxUtils.getValue(this.style,"imageFlipH",0),this.flipV=this.flipV||1==mxUtils.getValue(this.style,"imageFlipV",0))};mxImageShape.prototype.isHtmlAllowed=function(){return!this.preserveImageAspect};
mxImageShape.prototype.createHtml=function(){var a=document.createElement("div");a.style.position="absolute";return a};
mxImageShape.prototype.paintVertexShape=function(a,c,f,d,b){if(null!=this.image){var e=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_BACKGROUND,null),g=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_BORDER,null);null!=e&&(a.setFillColor(e),a.setStrokeColor(g),a.rect(c,f,d,b),a.fillAndStroke());a.image(c,f,d,b,this.image,this.preserveImageAspect,!1,!1);g=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_BORDER,null);null!=g&&(a.setShadow(!1),a.setStrokeColor(g),a.rect(c,f,d,b),a.stroke())}else mxRectangleShape.prototype.paintBackground.apply(this,
arguments)};
mxImageShape.prototype.redrawHtmlShape=function(){this.node.style.left=Math.round(this.bounds.x)+"px";this.node.style.top=Math.round(this.bounds.y)+"px";this.node.style.width=Math.max(0,Math.round(this.bounds.width))+"px";this.node.style.height=Math.max(0,Math.round(this.bounds.height))+"px";this.node.innerHTML="";if(null!=this.image){var a=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_BACKGROUND,""),c=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_BORDER,"");this.node.style.backgroundColor=a;
this.node.style.borderColor=c;a=document.createElement(mxClient.IS_IE6||(null==document.documentMode||8>=document.documentMode)&&0!=this.rotation?mxClient.VML_PREFIX+":image":"img");a.setAttribute("border","0");a.style.position="absolute";a.src=this.image;c=100>this.opacity?"alpha(opacity\x3d"+this.opacity+")":"";this.node.style.filter=c;this.flipH&&this.flipV?c+="progid:DXImageTransform.Microsoft.BasicImage(rotation\x3d2)":this.flipH?c+="progid:DXImageTransform.Microsoft.BasicImage(mirror\x3d1)":
this.flipV&&(c+="progid:DXImageTransform.Microsoft.BasicImage(rotation\x3d2, mirror\x3d1)");a.style.filter!=c&&(a.style.filter=c);"image"==a.nodeName?a.style.rotation=this.rotation:0!=this.rotation?mxUtils.setPrefixedStyle(a.style,"transform","rotate("+this.rotation+"deg)"):mxUtils.setPrefixedStyle(a.style,"transform","");a.style.width=this.node.style.width;a.style.height=this.node.style.height;this.node.style.backgroundImage="";this.node.appendChild(a)}else this.setTransparentBackgroundImage(this.node)};
function mxLabel(a,c,f,d){mxRectangleShape.call(this,a,c,f,d)}mxUtils.extend(mxLabel,mxRectangleShape);mxLabel.prototype.imageSize=mxConstants.DEFAULT_IMAGESIZE;mxLabel.prototype.spacing=2;mxLabel.prototype.indicatorSize=10;mxLabel.prototype.indicatorSpacing=2;mxLabel.prototype.init=function(a){mxShape.prototype.init.apply(this,arguments);null!=this.indicatorShape&&(this.indicator=new this.indicatorShape,this.indicator.dialect=this.dialect,this.indicator.init(this.node))};
mxLabel.prototype.redraw=function(){null!=this.indicator&&(this.indicator.fill=this.indicatorColor,this.indicator.stroke=this.indicatorStrokeColor,this.indicator.gradient=this.indicatorGradientColor,this.indicator.direction=this.indicatorDirection);mxShape.prototype.redraw.apply(this,arguments)};mxLabel.prototype.isHtmlAllowed=function(){return mxRectangleShape.prototype.isHtmlAllowed.apply(this,arguments)&&null==this.indicatorColor&&null==this.indicatorShape};
mxLabel.prototype.paintForeground=function(a,c,f,d,b){this.paintImage(a,c,f,d,b);this.paintIndicator(a,c,f,d,b);mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxLabel.prototype.paintImage=function(a,c,f,d,b){null!=this.image&&(c=this.getImageBounds(c,f,d,b),a.image(c.x,c.y,c.width,c.height,this.image,!1,!1,!1))};
mxLabel.prototype.getImageBounds=function(a,c,f,d){var b=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_ALIGN,mxConstants.ALIGN_LEFT),e=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE),g=mxUtils.getNumber(this.style,mxConstants.STYLE_IMAGE_WIDTH,mxConstants.DEFAULT_IMAGESIZE),k=mxUtils.getNumber(this.style,mxConstants.STYLE_IMAGE_HEIGHT,mxConstants.DEFAULT_IMAGESIZE),l=mxUtils.getNumber(this.style,mxConstants.STYLE_SPACING,this.spacing)+5;a=b==mxConstants.ALIGN_CENTER?
a+(f-g)/2:b==mxConstants.ALIGN_RIGHT?a+(f-g-l):a+l;c=e==mxConstants.ALIGN_TOP?c+l:e==mxConstants.ALIGN_BOTTOM?c+(d-k-l):c+(d-k)/2;return new mxRectangle(a,c,g,k)};mxLabel.prototype.paintIndicator=function(a,c,f,d,b){null!=this.indicator?(this.indicator.bounds=this.getIndicatorBounds(c,f,d,b),this.indicator.paint(a)):null!=this.indicatorImage&&(c=this.getIndicatorBounds(c,f,d,b),a.image(c.x,c.y,c.width,c.height,this.indicatorImage,!1,!1,!1))};
mxLabel.prototype.getIndicatorBounds=function(a,c,f,d){var b=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_ALIGN,mxConstants.ALIGN_LEFT),e=mxUtils.getValue(this.style,mxConstants.STYLE_IMAGE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE),g=mxUtils.getNumber(this.style,mxConstants.STYLE_INDICATOR_WIDTH,this.indicatorSize),k=mxUtils.getNumber(this.style,mxConstants.STYLE_INDICATOR_HEIGHT,this.indicatorSize),l=this.spacing+5;a=b==mxConstants.ALIGN_RIGHT?a+(f-g-l):b==mxConstants.ALIGN_CENTER?a+(f-g)/
2:a+l;c=e==mxConstants.ALIGN_BOTTOM?c+(d-k-l):e==mxConstants.ALIGN_TOP?c+l:c+(d-k)/2;return new mxRectangle(a,c,g,k)};
mxLabel.prototype.redrawHtmlShape=function(){for(mxRectangleShape.prototype.redrawHtmlShape.apply(this,arguments);this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);if(null!=this.image){var a=document.createElement("img");a.style.position="relative";a.setAttribute("border","0");var c=this.getImageBounds(this.bounds.x,this.bounds.y,this.bounds.width,this.bounds.height);c.x-=this.bounds.x;c.y-=this.bounds.y;a.style.left=Math.round(c.x)+"px";a.style.top=Math.round(c.y)+"px";a.style.width=
Math.round(c.width)+"px";a.style.height=Math.round(c.height)+"px";a.src=this.image;this.node.appendChild(a)}};function mxCylinder(a,c,f,d){mxShape.call(this);this.bounds=a;this.fill=c;this.stroke=f;this.strokewidth=null!=d?d:1}mxUtils.extend(mxCylinder,mxShape);mxCylinder.prototype.maxHeight=40;mxCylinder.prototype.svgStrokeTolerance=0;
mxCylinder.prototype.paintVertexShape=function(a,c,f,d,b){a.translate(c,f);a.begin();this.redrawPath(a,c,f,d,b,!1);a.fillAndStroke();a.setShadow(!1);a.begin();this.redrawPath(a,c,f,d,b,!0);a.stroke()};
mxCylinder.prototype.redrawPath=function(a,c,f,d,b,e){c=Math.min(this.maxHeight,Math.round(b/5));if(e&&null!=this.fill||!e&&null==this.fill)a.moveTo(0,c),a.curveTo(0,2*c,d,2*c,d,c),e||(a.stroke(),a.begin());e||(a.moveTo(0,c),a.curveTo(0,-c/3,d,-c/3,d,c),a.lineTo(d,b-c),a.curveTo(d,b+c/3,0,b+c/3,0,b-c),a.close())};function mxConnector(a,c,f){mxPolyline.call(this,a,c,f)}mxUtils.extend(mxConnector,mxPolyline);
mxConnector.prototype.updateBoundingBox=function(){this.useSvgBoundingBox=null!=this.style&&1==this.style[mxConstants.STYLE_CURVED];mxShape.prototype.updateBoundingBox.apply(this,arguments)};mxConnector.prototype.paintEdgeShape=function(a,c){var f=this.createMarker(a,c,!0),d=this.createMarker(a,c,!1);mxPolyline.prototype.paintEdgeShape.apply(this,arguments);a.setFillColor(this.stroke);a.setShadow(!1);a.setDashed(!1);null!=f&&f();null!=d&&d()};
mxConnector.prototype.createMarker=function(a,c,f){var d=null,b=c.length,e=mxUtils.getValue(this.style,f?mxConstants.STYLE_STARTARROW:mxConstants.STYLE_ENDARROW),g=f?c[1]:c[b-2],k=f?c[0]:c[b-1];if(null!=e&&null!=g&&null!=k){for(d=1;d<b-1&&0==Math.round(g.x-k.x)&&0==Math.round(g.y-k.y);)g=f?c[1+d]:c[b-2-d],d++;c=k.x-g.x;b=k.y-g.y;d=Math.max(1,Math.sqrt(c*c+b*b));g=c/d;c=b/d;b=mxUtils.getNumber(this.style,f?mxConstants.STYLE_STARTSIZE:mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE);d=mxMarker.createMarker(a,
this,e,k,g,c,b,f,this.arrowStrokewidth,0!=this.style[f?mxConstants.STYLE_STARTFILL:mxConstants.STYLE_ENDFILL])}return d};
mxConnector.prototype.augmentBoundingBox=function(a){mxShape.prototype.augmentBoundingBox.apply(this,arguments);var c=0;mxUtils.getValue(this.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(c=mxUtils.getNumber(this.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)+1);mxUtils.getValue(this.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(c=Math.max(c,mxUtils.getNumber(this.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE))+
1);a.grow(c*this.scale)};function mxSwimlane(a,c,f,d){mxShape.call(this);this.bounds=a;this.fill=c;this.stroke=f;this.strokewidth=null!=d?d:1}mxUtils.extend(mxSwimlane,mxShape);mxSwimlane.prototype.imageSize=16;mxSwimlane.prototype.getTitleSize=function(){return Math.max(0,mxUtils.getValue(this.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE))};
mxSwimlane.prototype.getLabelBounds=function(a){var c=this.getTitleSize();a=new mxRectangle(a.x,a.y,a.width,a.height);var f=this.isHorizontal(),d=1==mxUtils.getValue(this.style,mxConstants.STYLE_FLIPH,0),b=1==mxUtils.getValue(this.style,mxConstants.STYLE_FLIPV,0),e=this.direction==mxConstants.DIRECTION_NORTH||this.direction==mxConstants.DIRECTION_SOUTH,f=f==!e,d=!f&&d!=(this.direction==mxConstants.DIRECTION_SOUTH||this.direction==mxConstants.DIRECTION_WEST),b=f&&b!=(this.direction==mxConstants.DIRECTION_SOUTH||
this.direction==mxConstants.DIRECTION_WEST);if(e){c=Math.min(a.width,c*this.scale);if(d||b)a.x+=a.width-c;a.width=c}else{c=Math.min(a.height,c*this.scale);if(d||b)a.y+=a.height-c;a.height=c}return a};mxSwimlane.prototype.getGradientBounds=function(a,c,f,d,b){a=this.getTitleSize();if(this.isHorizontal())return a=Math.min(a,b),new mxRectangle(c,f,d,a);a=Math.min(a,d);return new mxRectangle(c,f,a,b)};
mxSwimlane.prototype.getArcSize=function(a,c,f){a=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100;return 3*f*a};mxSwimlane.prototype.isHorizontal=function(){return 1==mxUtils.getValue(this.style,mxConstants.STYLE_HORIZONTAL,1)};
mxSwimlane.prototype.paintVertexShape=function(a,c,f,d,b){var e=this.getTitleSize(),g=mxUtils.getValue(this.style,mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE),k=1==mxUtils.getValue(this.style,mxConstants.STYLE_SWIMLANE_LINE,1),l=0,e=this.isHorizontal()?Math.min(e,b):Math.min(e,d);a.translate(c,f);this.isRounded?(l=this.getArcSize(d,b,e),this.paintRoundedSwimlane(a,c,f,d,b,e,l,g,k)):this.paintSwimlane(a,c,f,d,b,e,g,k);g=mxUtils.getValue(this.style,mxConstants.STYLE_SEPARATORCOLOR,mxConstants.NONE);
this.paintSeparator(a,c,f,d,b,e,g);null!=this.image&&(b=this.getImageBounds(c,f,d,b),a.image(b.x-c,b.y-f,b.width,b.height,this.image,!1,!1,!1));this.glass&&(a.setShadow(!1),this.paintGlassEffect(a,0,0,d,e,l))};
mxSwimlane.prototype.paintSwimlane=function(a,c,f,d,b,e,g,k){g!=mxConstants.NONE&&(a.save(),a.setFillColor(g),a.rect(0,0,d,b),a.fillAndStroke(),a.restore(),a.setShadow(!1));a.begin();this.isHorizontal()?(a.moveTo(0,e),a.lineTo(0,0),a.lineTo(d,0),a.lineTo(d,e),(k||e>=b)&&a.close(),a.fillAndStroke(),e<b&&g==mxConstants.NONE&&(a.pointerEvents=!1,a.begin(),a.moveTo(0,e),a.lineTo(0,b),a.lineTo(d,b),a.lineTo(d,e),a.stroke())):(a.moveTo(e,0),a.lineTo(0,0),a.lineTo(0,b),a.lineTo(e,b),(k||e>=d)&&a.close(),
a.fillAndStroke(),e<d&&g==mxConstants.NONE&&(a.pointerEvents=!1,a.begin(),a.moveTo(e,0),a.lineTo(d,0),a.lineTo(d,b),a.lineTo(e,b),a.stroke()))};
mxSwimlane.prototype.paintRoundedSwimlane=function(a,c,f,d,b,e,g,k,l){k!=mxConstants.NONE&&(a.save(),a.setFillColor(k),a.roundrect(0,0,d,b,g,g),a.fillAndStroke(),a.restore(),a.setShadow(!1));a.begin();this.isHorizontal()?(a.moveTo(d,e),a.lineTo(d,g),a.quadTo(d,0,d-Math.min(d/2,g),0),a.lineTo(Math.min(d/2,g),0),a.quadTo(0,0,0,g),a.lineTo(0,e),(l||e>=b)&&a.close(),a.fillAndStroke(),e<b&&k==mxConstants.NONE&&(a.pointerEvents=!1,a.begin(),a.moveTo(0,e),a.lineTo(0,b-g),a.quadTo(0,b,Math.min(d/2,g),b),
a.lineTo(d-Math.min(d/2,g),b),a.quadTo(d,b,d,b-g),a.lineTo(d,e),a.stroke())):(a.moveTo(e,0),a.lineTo(g,0),a.quadTo(0,0,0,Math.min(b/2,g)),a.lineTo(0,b-Math.min(b/2,g)),a.quadTo(0,b,g,b),a.lineTo(e,b),(l||e>=d)&&a.close(),a.fillAndStroke(),e<d&&k==mxConstants.NONE&&(a.pointerEvents=!1,a.begin(),a.moveTo(e,b),a.lineTo(d-g,b),a.quadTo(d,b,d,b-Math.min(b/2,g)),a.lineTo(d,Math.min(b/2,g)),a.quadTo(d,0,d-g,0),a.lineTo(e,0),a.stroke()))};
mxSwimlane.prototype.paintSeparator=function(a,c,f,d,b,e,g){g!=mxConstants.NONE&&(a.setStrokeColor(g),a.setDashed(!0),a.begin(),this.isHorizontal()?(a.moveTo(d,e),a.lineTo(d,b)):(a.moveTo(e,0),a.lineTo(d,0)),a.stroke(),a.setDashed(!1))};mxSwimlane.prototype.getImageBounds=function(a,c,f,d){return this.isHorizontal()?new mxRectangle(a+f-this.imageSize,c,this.imageSize,this.imageSize):new mxRectangle(a,c,this.imageSize,this.imageSize)};function mxGraphLayout(a){this.graph=a}
mxGraphLayout.prototype.graph=null;mxGraphLayout.prototype.useBoundingBox=!0;mxGraphLayout.prototype.parent=null;mxGraphLayout.prototype.moveCell=function(a,c,f){};mxGraphLayout.prototype.execute=function(a){};mxGraphLayout.prototype.getGraph=function(){return this.graph};mxGraphLayout.prototype.getConstraint=function(a,c,f,d){f=this.graph.view.getState(c);c=null!=f?f.style:this.graph.getCellStyle(c);return null!=c?c[a]:null};
mxGraphLayout.traverse=function(a,c,f,d,b){if(null!=f&&null!=a&&(c=null!=c?c:!0,b=b||new mxDictionary,!b.get(a)&&(b.put(a,!0),d=f(a,d),null==d||d)))if(d=this.graph.model.getEdgeCount(a),0<d)for(var e=0;e<d;e++){var g=this.graph.model.getEdgeAt(a,e),k=this.graph.model.getTerminal(g,!0)==a;if(!c||k)k=this.graph.view.getVisibleTerminal(g,!k),this.traverse(k,c,f,g,b)}};mxGraphLayout.prototype.isVertexMovable=function(a){return this.graph.isCellMovable(a)};
mxGraphLayout.prototype.isVertexIgnored=function(a){return!this.graph.getModel().isVertex(a)||!this.graph.isCellVisible(a)};mxGraphLayout.prototype.isEdgeIgnored=function(a){var c=this.graph.getModel();return!c.isEdge(a)||!this.graph.isCellVisible(a)||null==c.getTerminal(a,!0)||null==c.getTerminal(a,!1)};mxGraphLayout.prototype.setEdgeStyleEnabled=function(a,c){this.graph.setCellStyles(mxConstants.STYLE_NOEDGESTYLE,c?"0":"1",[a])};
mxGraphLayout.prototype.setOrthogonalEdge=function(a,c){this.graph.setCellStyles(mxConstants.STYLE_ORTHOGONAL,c?"1":"0",[a])};mxGraphLayout.prototype.getParentOffset=function(a){var c=new mxPoint;if(null!=a&&a!=this.parent){var f=this.graph.getModel();if(f.isAncestor(this.parent,a))for(var d=f.getGeometry(a);a!=this.parent;)c.x+=d.x,c.y+=d.y,a=f.getParent(a),d=f.getGeometry(a)}return c};
mxGraphLayout.prototype.setEdgePoints=function(a,c){if(null!=a){var f=this.graph.model,d=f.getGeometry(a);null==d?(d=new mxGeometry,d.setRelative(!0)):d=d.clone();if(null!=this.parent&&null!=c)for(var b=f.getParent(a),b=this.getParentOffset(b),e=0;e<c.length;e++)c[e].x-=b.x,c[e].y-=b.y;d.points=c;f.setGeometry(a,d)}};
mxGraphLayout.prototype.setVertexLocation=function(a,c,f){var d=this.graph.getModel(),b=d.getGeometry(a),e=null;if(null!=b){e=new mxRectangle(c,f,b.width,b.height);if(this.useBoundingBox){var g=this.graph.getView().getState(a);if(null!=g&&null!=g.text&&null!=g.text.boundingBox){var k=this.graph.getView().scale,l=g.text.boundingBox;g.text.boundingBox.x<g.x&&(c+=(g.x-l.x)/k,e.width=l.width);g.text.boundingBox.y<g.y&&(f+=(g.y-l.y)/k,e.height=l.height)}}null!=this.parent&&(g=d.getParent(a),null!=g&&g!=
this.parent&&(g=this.getParentOffset(g),c-=g.x,f-=g.y));if(b.x!=c||b.y!=f)b=b.clone(),b.x=c,b.y=f,d.setGeometry(a,b)}return e};
mxGraphLayout.prototype.getVertexBounds=function(a){var c=this.graph.getModel().getGeometry(a);if(this.useBoundingBox){var f=this.graph.getView().getState(a);if(null!=f&&null!=f.text&&null!=f.text.boundingBox)var d=this.graph.getView().scale,b=f.text.boundingBox,e=Math.max(f.x-b.x,0)/d,g=Math.max(f.y-b.y,0)/d,k=Math.max(b.x+b.width-(f.x+f.width),0)/d,f=Math.max(b.y+b.height-(f.y+f.height),0)/d,c=new mxRectangle(c.x-e,c.y-g,c.width+e+k,c.height+g+f)}null!=this.parent&&(a=this.graph.getModel().getParent(a),
c=c.clone(),null!=a&&a!=this.parent&&(a=this.getParentOffset(a),c.x+=a.x,c.y+=a.y));return new mxRectangle(c.x,c.y,c.width,c.height)};mxGraphLayout.prototype.arrangeGroups=function(a,c,f,d,b,e){return this.graph.updateGroupBounds(a,c,!0,f,d,b,e)};function mxStackLayout(a,c,f,d,b,e){mxGraphLayout.call(this,a);this.horizontal=null!=c?c:!0;this.spacing=null!=f?f:0;this.x0=null!=d?d:0;this.y0=null!=b?b:0;this.border=null!=e?e:0}mxStackLayout.prototype=new mxGraphLayout;
mxStackLayout.prototype.constructor=mxStackLayout;mxStackLayout.prototype.horizontal=null;mxStackLayout.prototype.spacing=null;mxStackLayout.prototype.x0=null;mxStackLayout.prototype.y0=null;mxStackLayout.prototype.border=0;mxStackLayout.prototype.marginTop=0;mxStackLayout.prototype.marginLeft=0;mxStackLayout.prototype.marginRight=0;mxStackLayout.prototype.marginBottom=0;mxStackLayout.prototype.keepFirstLocation=!1;mxStackLayout.prototype.fill=!1;mxStackLayout.prototype.resizeParent=!1;
mxStackLayout.prototype.resizeParentMax=!1;mxStackLayout.prototype.resizeLast=!1;mxStackLayout.prototype.wrap=null;mxStackLayout.prototype.borderCollapse=!0;mxStackLayout.prototype.isHorizontal=function(){return this.horizontal};
mxStackLayout.prototype.moveCell=function(a,c,f){var d=this.graph.getModel(),b=d.getParent(a),e=this.isHorizontal();if(null!=a&&null!=b){var g=0,k=0,l=d.getChildCount(b);c=e?c:f;g=this.graph.getView().getState(b);null!=g&&(c-=e?g.x:g.y);c/=this.graph.view.scale;for(g=0;g<l;g++)if(f=d.getChildAt(b,g),f!=a&&(f=d.getGeometry(f),null!=f)){f=e?f.x+f.width/2:f.y+f.height/2;if(k<=c&&f>c)break;k=f}e=b.getIndex(a);e=Math.max(0,g-(g>e?1:0));d.add(b,a,e)}};
mxStackLayout.prototype.getParentSize=function(a){var c=this.graph.getModel(),f=c.getGeometry(a);if(null!=this.graph.container&&(null==f&&c.isLayer(a)||a==this.graph.getView().currentRoot))f=new mxRectangle(0,0,this.graph.container.offsetWidth-1,this.graph.container.offsetHeight-1);return f};
mxStackLayout.prototype.execute=function(a){if(null!=a){var c=this.getParentSize(a),f=this.isHorizontal(),d=this.graph.getModel(),b=null;null!=c&&(b=f?c.height-this.marginTop-this.marginBottom:c.width-this.marginLeft-this.marginRight);var b=b-(2*this.spacing+2*this.border),e=this.x0+this.border+this.marginLeft,g=this.y0+this.border+this.marginTop;if(this.graph.isSwimlane(a)){var k=this.graph.getCellStyle(a),l=mxUtils.getNumber(k,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE),k=1==mxUtils.getValue(k,
mxConstants.STYLE_HORIZONTAL,!0);null!=c&&(l=k?Math.min(l,c.height):Math.min(l,c.width));f==k&&(b-=l);k?g+=l:e+=l}d.beginUpdate();try{for(var l=0,k=null,n=0,m=null,p=d.getChildCount(a),r=0;r<p;r++){var s=d.getChildAt(a,r);if(!this.isVertexIgnored(s)&&this.isVertexMovable(s)){var q=d.getGeometry(s);if(null!=q){q=q.clone();if(null!=this.wrap&&null!=k&&(f&&k.x+k.width+q.width+2*this.spacing>this.wrap||!f&&k.y+k.height+q.height+2*this.spacing>this.wrap))k=null,f?g+=l+this.spacing:e+=l+this.spacing,l=
0;var l=Math.max(l,f?q.height:q.width),u=0;if(!this.borderCollapse)var t=this.graph.getCellStyle(s),u=mxUtils.getNumber(t,mxConstants.STYLE_STROKEWIDTH,1);null!=k?f?q.x=n+this.spacing+Math.floor(u/2):q.y=n+this.spacing+Math.floor(u/2):this.keepFirstLocation||(f?q.x=e:q.y=g);f?q.y=g:q.x=e;this.fill&&null!=b&&(f?q.height=b:q.width=b);this.setChildGeometry(s,q);m=s;k=q;n=f?k.x+k.width+Math.floor(u/2):k.y+k.height+Math.floor(u/2)}}}this.resizeParent&&null!=c&&null!=k&&!this.graph.isCellCollapsed(a)?this.updateParentGeometry(a,
c,k):this.resizeLast&&null!=c&&(null!=k&&null!=m)&&(f?k.width=c.width-k.x-this.spacing-this.marginRight-this.marginLeft:k.height=c.height-k.y-this.spacing-this.marginBottom,this.setChildGeometry(m,k))}finally{d.endUpdate()}}};mxStackLayout.prototype.setChildGeometry=function(a,c){var f=this.graph.getCellGeometry(a);(null==f||c.x!=f.x||c.y!=f.y||c.width!=f.width||c.height!=f.height)&&this.graph.getModel().setGeometry(a,c)};
mxStackLayout.prototype.updateParentGeometry=function(a,c,f){var d=this.isHorizontal(),b=this.graph.getModel(),e=c.clone();d?(f=f.x+f.width+this.spacing+this.marginRight,e.width=this.resizeParentMax?Math.max(e.width,f):f):(f=f.y+f.height+this.spacing+this.marginBottom,e.height=this.resizeParentMax?Math.max(e.height,f):f);(c.x!=e.x||c.y!=e.y||c.width!=e.width||c.height!=e.height)&&b.setGeometry(a,e)};
function mxPartitionLayout(a,c,f,d){mxGraphLayout.call(this,a);this.horizontal=null!=c?c:!0;this.spacing=f||0;this.border=d||0}mxPartitionLayout.prototype=new mxGraphLayout;mxPartitionLayout.prototype.constructor=mxPartitionLayout;mxPartitionLayout.prototype.horizontal=null;mxPartitionLayout.prototype.spacing=null;mxPartitionLayout.prototype.border=null;mxPartitionLayout.prototype.resizeVertices=!0;mxPartitionLayout.prototype.isHorizontal=function(){return this.horizontal};
mxPartitionLayout.prototype.moveCell=function(a,c,f){f=this.graph.getModel();var d=f.getParent(a);if(null!=a&&null!=d){for(var b=0,e=0,g=f.getChildCount(d),b=0;b<g;b++){var k=f.getChildAt(d,b),k=this.getVertexBounds(k);if(null!=k){k=k.x+k.width/2;if(e<c&&k>c)break;e=k}}c=d.getIndex(a);c=Math.max(0,b-(b>c?1:0));f.add(d,a,c)}};
mxPartitionLayout.prototype.execute=function(a){var c=this.isHorizontal(),f=this.graph.getModel(),d=f.getGeometry(a);if(null!=this.graph.container&&(null==d&&f.isLayer(a)||a==this.graph.getView().currentRoot))d=new mxRectangle(0,0,this.graph.container.offsetWidth-1,this.graph.container.offsetHeight-1);if(null!=d){for(var b=[],e=f.getChildCount(a),g=0;g<e;g++){var k=f.getChildAt(a,g);!this.isVertexIgnored(k)&&this.isVertexMovable(k)&&b.push(k)}e=b.length;if(0<e){var l=this.border,n=this.border,m=c?
d.height:d.width,m=m-2*this.border;a=this.graph.isSwimlane(a)?this.graph.getStartSize(a):new mxRectangle;m-=c?a.height:a.width;l+=a.width;n+=a.height;a=this.border+(e-1)*this.spacing;d=c?(d.width-l-a)/e:(d.height-n-a)/e;if(0<d){f.beginUpdate();try{for(g=0;g<e;g++){var k=b[g],p=f.getGeometry(k);null!=p&&(p=p.clone(),p.x=l,p.y=n,c?(this.resizeVertices&&(p.width=d,p.height=m),l+=d+this.spacing):(this.resizeVertices&&(p.height=d,p.width=m),n+=d+this.spacing),f.setGeometry(k,p))}}finally{f.endUpdate()}}}}};
function mxCompactTreeLayout(a,c,f){mxGraphLayout.call(this,a);this.horizontal=null!=c?c:!0;this.invert=null!=f?f:!1}mxCompactTreeLayout.prototype=new mxGraphLayout;mxCompactTreeLayout.prototype.constructor=mxCompactTreeLayout;mxCompactTreeLayout.prototype.horizontal=null;mxCompactTreeLayout.prototype.invert=null;mxCompactTreeLayout.prototype.resizeParent=!0;mxCompactTreeLayout.prototype.maintainParentLocation=!1;mxCompactTreeLayout.prototype.groupPadding=10;
mxCompactTreeLayout.prototype.groupPaddingTop=0;mxCompactTreeLayout.prototype.groupPaddingRight=0;mxCompactTreeLayout.prototype.groupPaddingBottom=0;mxCompactTreeLayout.prototype.groupPaddingLeft=0;mxCompactTreeLayout.prototype.parentsChanged=null;mxCompactTreeLayout.prototype.moveTree=!1;mxCompactTreeLayout.prototype.visited=null;mxCompactTreeLayout.prototype.levelDistance=10;mxCompactTreeLayout.prototype.nodeDistance=20;mxCompactTreeLayout.prototype.resetEdges=!0;
mxCompactTreeLayout.prototype.prefHozEdgeSep=5;mxCompactTreeLayout.prototype.prefVertEdgeOff=4;mxCompactTreeLayout.prototype.minEdgeJetty=8;mxCompactTreeLayout.prototype.channelBuffer=4;mxCompactTreeLayout.prototype.edgeRouting=!0;mxCompactTreeLayout.prototype.sortEdges=!1;mxCompactTreeLayout.prototype.alignRanks=!1;mxCompactTreeLayout.prototype.maxRankHeight=null;mxCompactTreeLayout.prototype.root=null;mxCompactTreeLayout.prototype.node=null;
mxCompactTreeLayout.prototype.isVertexIgnored=function(a){return mxGraphLayout.prototype.isVertexIgnored.apply(this,arguments)||0==this.graph.getConnections(a).length};mxCompactTreeLayout.prototype.isHorizontal=function(){return this.horizontal};
mxCompactTreeLayout.prototype.execute=function(a,c){this.parent=a;var f=this.graph.getModel();if(null==c)if(0<this.graph.getEdges(a,f.getParent(a),this.invert,!this.invert,!1).length)this.root=a;else{var d=this.graph.findTreeRoots(a,!0,this.invert);if(0<d.length)for(var b=0;b<d.length;b++)if(!this.isVertexIgnored(d[b])&&0<this.graph.getEdges(d[b],null,this.invert,!this.invert,!1).length){this.root=d[b];break}}else this.root=c;if(null!=this.root){this.parentsChanged=this.resizeParent?{}:null;this.parentY=
this.parentX=null;if(a!=this.root&&null!=f.isVertex(a)&&this.maintainParentLocation){var e=this.graph.getCellGeometry(a);null!=e&&(this.parentX=e.x,this.parentY=e.y)}f.beginUpdate();try{if(this.visited={},this.node=this.dfs(this.root,a),this.alignRanks&&(this.maxRankHeight=[],this.findRankHeights(this.node,0),this.setCellHeights(this.node,0)),null!=this.node){this.layout(this.node);var g=this.graph.gridSize,d=g;if(!this.moveTree){var k=this.getVertexBounds(this.root);null!=k&&(g=k.x,d=k.y)}k=null;
k=this.isHorizontal()?this.horizontalLayout(this.node,g,d):this.verticalLayout(this.node,null,g,d);if(null!=k){var l=b=0;0>k.x&&(b=Math.abs(g-k.x));0>k.y&&(l=Math.abs(d-k.y));(0!=b||0!=l)&&this.moveNode(this.node,b,l);this.resizeParent&&this.adjustParents();this.edgeRouting&&this.localEdgeProcessing(this.node)}null!=this.parentX&&null!=this.parentY&&(e=this.graph.getCellGeometry(a),null!=e&&(e=e.clone(),e.x=this.parentX,e.y=this.parentY,f.setGeometry(a,e)))}}finally{f.endUpdate()}}};
mxCompactTreeLayout.prototype.moveNode=function(a,c,f){a.x+=c;a.y+=f;this.apply(a);for(a=a.child;null!=a;)this.moveNode(a,c,f),a=a.next};
mxCompactTreeLayout.prototype.sortOutgoingEdges=function(a,c){var f=new mxDictionary;c.sort(function(d,b){var e=d.getTerminal(d.getTerminal(!1)==a),c=f.get(e);null==c&&(c=mxCellPath.create(e).split(mxCellPath.PATH_SEPARATOR),f.put(e,c));var e=b.getTerminal(b.getTerminal(!1)==a),k=f.get(e);null==k&&(k=mxCellPath.create(e).split(mxCellPath.PATH_SEPARATOR),f.put(e,k));return mxCellPath.compare(c,k)})};
mxCompactTreeLayout.prototype.findRankHeights=function(a,c){if(null==this.maxRankHeight[c]||this.maxRankHeight[c]<a.height)this.maxRankHeight[c]=a.height;for(var f=a.child;null!=f;)this.findRankHeights(f,c+1),f=f.next};mxCompactTreeLayout.prototype.setCellHeights=function(a,c){null!=this.maxRankHeight[c]&&this.maxRankHeight[c]>a.height&&(a.height=this.maxRankHeight[c]);for(var f=a.child;null!=f;)this.setCellHeights(f,c+1),f=f.next};
mxCompactTreeLayout.prototype.dfs=function(a,c){var f=mxCellPath.create(a),d=null;if(null!=a&&null==this.visited[f]&&!this.isVertexIgnored(a)){this.visited[f]=a;var d=this.createNode(a),f=this.graph.getModel(),b=null,e=this.graph.getEdges(a,c,this.invert,!this.invert,!1,!0),g=this.graph.getView();this.sortEdges&&this.sortOutgoingEdges(a,e);for(var k=0;k<e.length;k++){var l=e[k];if(!this.isEdgeIgnored(l)){this.resetEdges&&this.setEdgePoints(l,null);this.edgeRouting&&(this.setEdgeStyleEnabled(l,!1),
this.setEdgePoints(l,null));var n=g.getState(l),l=null!=n?n.getVisibleTerminal(this.invert):g.getVisibleTerminal(l,this.invert),n=this.dfs(l,c);null!=n&&null!=f.getGeometry(l)&&(null==b?d.child=n:b.next=n,b=n)}}}return d};mxCompactTreeLayout.prototype.layout=function(a){if(null!=a){for(var c=a.child;null!=c;)this.layout(c),c=c.next;null!=a.child?this.attachParent(a,this.join(a)):this.layoutLeaf(a)}};
mxCompactTreeLayout.prototype.horizontalLayout=function(a,c,f,d){a.x+=c+a.offsetX;a.y+=f+a.offsetY;d=this.apply(a,d);c=a.child;if(null!=c){d=this.horizontalLayout(c,a.x,a.y,d);f=a.y+c.offsetY;for(var b=c.next;null!=b;)d=this.horizontalLayout(b,a.x+c.offsetX,f,d),f+=b.offsetY,b=b.next}return d};
mxCompactTreeLayout.prototype.verticalLayout=function(a,c,f,d,b){a.x+=f+a.offsetY;a.y+=d+a.offsetX;b=this.apply(a,b);c=a.child;if(null!=c){b=this.verticalLayout(c,a,a.x,a.y,b);f=a.x+c.offsetY;for(d=c.next;null!=d;)b=this.verticalLayout(d,a,f,a.y+c.offsetX,b),f+=d.offsetY,d=d.next}return b};
mxCompactTreeLayout.prototype.attachParent=function(a,c){var f=this.nodeDistance+this.levelDistance,d=(c-a.width)/2-this.nodeDistance,b=d+a.width+2*this.nodeDistance-c;a.child.offsetX=f+a.height;a.child.offsetY=b;a.contour.upperHead=this.createLine(a.height,0,this.createLine(f,b,a.contour.upperHead));a.contour.lowerHead=this.createLine(a.height,0,this.createLine(f,d,a.contour.lowerHead))};
mxCompactTreeLayout.prototype.layoutLeaf=function(a){var c=2*this.nodeDistance;a.contour.upperTail=this.createLine(a.height+c,0);a.contour.upperHead=a.contour.upperTail;a.contour.lowerTail=this.createLine(0,-a.width-c);a.contour.lowerHead=this.createLine(a.height+c,0,a.contour.lowerTail)};
mxCompactTreeLayout.prototype.join=function(a){var c=2*this.nodeDistance,f=a.child;a.contour=f.contour;for(var d=f.width+c,b=d,f=f.next;null!=f;){var e=this.merge(a.contour,f.contour);f.offsetY=e+d;f.offsetX=0;d=f.width+c;b+=e+d;f=f.next}return b};
mxCompactTreeLayout.prototype.merge=function(a,c){for(var f=0,d=0,b=0,e=a.lowerHead,g=c.upperHead;null!=g&&null!=e;){var k=this.offset(f,d,g.dx,g.dy,e.dx,e.dy),d=d+k,b=b+k;f+g.dx<=e.dx?(f+=g.dx,d+=g.dy,g=g.next):(f-=e.dx,d-=e.dy,e=e.next)}null!=g?(f=this.bridge(a.upperTail,0,0,g,f,d),a.upperTail=null!=f.next?c.upperTail:f,a.lowerTail=c.lowerTail):(f=this.bridge(c.lowerTail,f,d,e,0,0),null==f.next&&(a.lowerTail=f));a.lowerHead=c.lowerHead;return b};
mxCompactTreeLayout.prototype.offset=function(a,c,f,d,b,e){var g=0;if(b<=a||0>=a+f)return 0;g=0<b*d-f*e?0>a?a*d/f-c:0<a?a*e/b-c:-c:b<a+f?e-(c+(b-a)*d/f):b>a+f?(f+a)*e/b-(c+d):e-(c+d);return 0<g?g:0};mxCompactTreeLayout.prototype.bridge=function(a,c,f,d,b,e){c=b+d.dx-c;b=b=0;0==d.dx?b=d.dy:(b=c*d.dy,b/=d.dx);c=this.createLine(c,b,d.next);a.next=this.createLine(0,e+d.dy-b-f,c);return c};
mxCompactTreeLayout.prototype.createNode=function(a){var c={};c.cell=a;c.x=0;c.y=0;c.width=0;c.height=0;a=this.getVertexBounds(a);null!=a&&(this.isHorizontal()?(c.width=a.height,c.height=a.width):(c.width=a.width,c.height=a.height));c.offsetX=0;c.offsetY=0;c.contour={};return c};
mxCompactTreeLayout.prototype.apply=function(a,c){var f=this.graph.getModel(),d=a.cell,b=f.getGeometry(d);null!=d&&null!=b&&(this.isVertexMovable(d)&&(b=this.setVertexLocation(d,a.x,a.y),this.resizeParent&&(f=f.getParent(d),d=mxCellPath.create(f),null==this.parentsChanged[d]&&(this.parentsChanged[d]=f))),c=null==c?new mxRectangle(b.x,b.y,b.width,b.height):new mxRectangle(Math.min(c.x,b.x),Math.min(c.y,b.y),Math.max(c.x+c.width,b.x+b.width),Math.max(c.y+c.height,b.y+b.height)));return c};
mxCompactTreeLayout.prototype.createLine=function(a,c,f){var d={};d.dx=a;d.dy=c;d.next=f;return d};mxCompactTreeLayout.prototype.adjustParents=function(){var a=[],c;for(c in this.parentsChanged)a.push(this.parentsChanged[c]);this.arrangeGroups(mxUtils.sortCells(a,!0),this.groupPadding,this.groupPaddingTop,this.groupPaddingRight,this.groupPaddingBottom,this.groupPaddingLeft)};
mxCompactTreeLayout.prototype.localEdgeProcessing=function(a){this.processNodeOutgoing(a);for(a=a.child;null!=a;)this.localEdgeProcessing(a),a=a.next};
mxCompactTreeLayout.prototype.processNodeOutgoing=function(a){for(var c=a.child,f=a.cell,d=0,b=[];null!=c;){d++;var e=c.x;this.horizontal&&(e=c.y);b.push(new WeightedCellSorter(c,e));c=c.next}b.sort(WeightedCellSorter.prototype.compare);var e=a.width,g=(d+1)*this.prefHozEdgeSep;e>g+2*this.prefHozEdgeSep&&(e-=2*this.prefHozEdgeSep);a=e/d;c=a/2;e>g+2*this.prefHozEdgeSep&&(c+=this.prefHozEdgeSep);for(var e=this.minEdgeJetty-this.prefVertEdgeOff,g=0,k=this.getVertexBounds(f),l=0;l<b.length;l++){for(var n=
b[l].cell.cell,m=this.getVertexBounds(n),n=this.graph.getEdgesBetween(f,n,!1),p=[],r=0,s=0,q=0;q<n.length;q++)this.horizontal?(r=k.x+k.width,s=k.y+c,p.push(new mxPoint(r,s)),r=k.x+k.width+e,p.push(new mxPoint(r,s)),s=m.y+m.height/2):(r=k.x+c,s=k.y+k.height,p.push(new mxPoint(r,s)),s=k.y+k.height+e,p.push(new mxPoint(r,s)),r=m.x+m.width/2),p.push(new mxPoint(r,s)),this.setEdgePoints(n[q],p);l<d/2?e+=this.prefVertEdgeOff:l>d/2&&(e-=this.prefVertEdgeOff);c+=a;g=Math.max(g,e)}};
function WeightedCellSorter(a,c){this.cell=a;this.weightedValue=c}WeightedCellSorter.prototype.weightedValue=0;WeightedCellSorter.prototype.nudge=!1;WeightedCellSorter.prototype.visited=!1;WeightedCellSorter.prototype.rankIndex=null;WeightedCellSorter.prototype.cell=null;WeightedCellSorter.prototype.compare=function(a,c){return null!=a&&null!=c?c.weightedValue>a.weightedValue?1:c.weightedValue<a.weightedValue?-1:c.nudge?1:-1:0};function mxRadialTreeLayout(a){mxCompactTreeLayout.call(this,a,!1)}
mxUtils.extend(mxRadialTreeLayout,mxCompactTreeLayout);mxRadialTreeLayout.prototype.angleOffset=0.5;mxRadialTreeLayout.prototype.rootx=0;mxRadialTreeLayout.prototype.rooty=0;mxRadialTreeLayout.prototype.levelDistance=120;mxRadialTreeLayout.prototype.nodeDistance=10;mxRadialTreeLayout.prototype.autoRadius=!1;mxRadialTreeLayout.prototype.sortEdges=!1;mxRadialTreeLayout.prototype.rowMinX=[];mxRadialTreeLayout.prototype.rowMaxX=[];mxRadialTreeLayout.prototype.rowMinCenX=[];
mxRadialTreeLayout.prototype.rowMaxCenX=[];mxRadialTreeLayout.prototype.rowRadi=[];mxRadialTreeLayout.prototype.row=[];mxRadialTreeLayout.prototype.isVertexIgnored=function(a){return mxGraphLayout.prototype.isVertexIgnored.apply(this,arguments)||0==this.graph.getConnections(a).length};
mxRadialTreeLayout.prototype.execute=function(a,c){this.parent=a;this.edgeRouting=this.useBoundingBox=!1;mxCompactTreeLayout.prototype.execute.apply(this,arguments);var f=null,d=this.getVertexBounds(this.root);this.centerX=d.x+d.width/2;this.centerY=d.y+d.height/2;for(var b in this.visited){var e=this.getVertexBounds(this.visited[b]),f=null!=f?f:e.clone();f.add(e)}this.calcRowDims([this.node],0);for(var g=0,k=0,f=0;f<this.row.length;f++)b=(this.rowMaxX[f]-this.centerX-this.nodeDistance)/this.rowRadi[f],
g=Math.max(g,(this.centerX-this.rowMinX[f]-this.nodeDistance)/this.rowRadi[f]),k=Math.max(k,b);for(f=0;f<this.row.length;f++){var l=this.centerX-this.nodeDistance-g*this.rowRadi[f],n=this.centerX+this.nodeDistance+k*this.rowRadi[f]-l;for(b=0;b<this.row[f].length;b++)e=this.row[f],d=e[b],e=this.getVertexBounds(d.cell),d.theta=2*Math.PI*((e.x+e.width/2-l)/n)}for(f=this.row.length-2;0<=f;f--){e=this.row[f];for(b=0;b<e.length;b++){d=e[b];g=d.child;for(l=k=0;null!=g;)l+=g.theta,k++,g=g.next;0<k&&(g=l/
k,g>d.theta&&b<e.length-1?d.theta=Math.min(g,e[b+1].theta-Math.PI/10):g<d.theta&&0<b&&(d.theta=Math.max(g,e[b-1].theta+Math.PI/10)))}}for(f=0;f<this.row.length;f++)for(b=0;b<this.row[f].length;b++)e=this.row[f],d=e[b],e=this.getVertexBounds(d.cell),this.setVertexLocation(d.cell,this.centerX-e.width/2+this.rowRadi[f]*Math.cos(d.theta),this.centerY-e.height/2+this.rowRadi[f]*Math.sin(d.theta))};
mxRadialTreeLayout.prototype.calcRowDims=function(a,c){if(!(null==a||0==a.length)){this.rowMinX[c]=this.centerX;this.rowMaxX[c]=this.centerX;this.rowMinCenX[c]=this.centerX;this.rowMaxCenX[c]=this.centerX;this.row[c]=[];for(var f=!1,d=0;d<a.length;d++)for(var b=a[d].child;null!=b;)vertexBounds=this.getVertexBounds(b.cell),this.rowMinX[c]=Math.min(vertexBounds.x,this.rowMinX[c]),this.rowMaxX[c]=Math.max(vertexBounds.x+vertexBounds.width,this.rowMaxX[c]),this.rowMinCenX[c]=Math.min(vertexBounds.x+vertexBounds.width/
2,this.rowMinCenX[c]),this.rowMaxCenX[c]=Math.max(vertexBounds.x+vertexBounds.width/2,this.rowMaxCenX[c]),this.rowRadi[c]=vertexBounds.y-this.getVertexBounds(this.root).y,null!=b.child&&(f=!0),this.row[c].push(b),b=b.next;f&&this.calcRowDims(this.row[c],c+1)}};function mxFastOrganicLayout(a){mxGraphLayout.call(this,a)}mxFastOrganicLayout.prototype=new mxGraphLayout;mxFastOrganicLayout.prototype.constructor=mxFastOrganicLayout;mxFastOrganicLayout.prototype.useInputOrigin=!0;
mxFastOrganicLayout.prototype.resetEdges=!0;mxFastOrganicLayout.prototype.disableEdgeStyle=!0;mxFastOrganicLayout.prototype.forceConstant=50;mxFastOrganicLayout.prototype.forceConstantSquared=0;mxFastOrganicLayout.prototype.minDistanceLimit=2;mxFastOrganicLayout.prototype.maxDistanceLimit=500;mxFastOrganicLayout.prototype.minDistanceLimitSquared=4;mxFastOrganicLayout.prototype.initialTemp=200;mxFastOrganicLayout.prototype.temperature=0;mxFastOrganicLayout.prototype.maxIterations=0;
mxFastOrganicLayout.prototype.iteration=0;mxFastOrganicLayout.prototype.allowedToRun=!0;mxFastOrganicLayout.prototype.isVertexIgnored=function(a){return mxGraphLayout.prototype.isVertexIgnored.apply(this,arguments)||0==this.graph.getConnections(a).length};
mxFastOrganicLayout.prototype.execute=function(a){var c=this.graph.getModel();this.vertexArray=[];for(var f=this.graph.getChildVertices(a),d=0;d<f.length;d++)this.isVertexIgnored(f[d])||this.vertexArray.push(f[d]);var b=this.useInputOrigin?this.graph.getBoundingBoxFromGeometry(this.vertexArray):null,e=this.vertexArray.length;this.indices=[];this.dispX=[];this.dispY=[];this.cellLocation=[];this.isMoveable=[];this.neighbours=[];this.radius=[];this.radiusSquared=[];0.001>this.forceConstant&&(this.forceConstant=
0.001);this.forceConstantSquared=this.forceConstant*this.forceConstant;for(d=0;d<this.vertexArray.length;d++){var g=this.vertexArray[d];this.cellLocation[d]=[];var k=mxObjectIdentity.get(g);this.indices[k]=d;var l=this.getVertexBounds(g),n=l.width,m=l.height,p=l.x,r=l.y;this.cellLocation[d][0]=p+n/2;this.cellLocation[d][1]=r+m/2;this.radius[d]=Math.min(n,m);this.radiusSquared[d]=this.radius[d]*this.radius[d]}c.beginUpdate();try{for(d=0;d<e;d++){this.dispX[d]=0;this.dispY[d]=0;this.isMoveable[d]=this.isVertexMovable(this.vertexArray[d]);
var s=this.graph.getConnections(this.vertexArray[d],a),f=this.graph.getOpposites(s,this.vertexArray[d]);this.neighbours[d]=[];for(n=0;n<f.length;n++){this.resetEdges&&this.graph.resetEdge(s[n]);this.disableEdgeStyle&&this.setEdgeStyleEnabled(s[n],!1);var k=mxObjectIdentity.get(f[n]),q=this.indices[k];this.neighbours[d][n]=null!=q?q:d}}this.temperature=this.initialTemp;0==this.maxIterations&&(this.maxIterations=20*Math.sqrt(e));for(this.iteration=0;this.iteration<this.maxIterations;this.iteration++){if(!this.allowedToRun)return;
this.calcRepulsion();this.calcAttraction();this.calcPositions();this.reduceTemperature()}a=f=null;for(d=0;d<this.vertexArray.length;d++)g=this.vertexArray[d],this.isVertexMovable(g)&&(l=this.getVertexBounds(g),null!=l&&(this.cellLocation[d][0]-=l.width/2,this.cellLocation[d][1]-=l.height/2,p=this.graph.snap(this.cellLocation[d][0]),r=this.graph.snap(this.cellLocation[d][1]),this.setVertexLocation(g,p,r),f=null==f?p:Math.min(f,p),a=null==a?r:Math.min(a,r)));d=-(f||0)+1;g=-(a||0)+1;null!=b&&(d+=b.x,
g+=b.y);this.graph.moveCells(this.vertexArray,d,g)}finally{c.endUpdate()}};mxFastOrganicLayout.prototype.calcPositions=function(){for(var a=0;a<this.vertexArray.length;a++)if(this.isMoveable[a]){var c=Math.sqrt(this.dispX[a]*this.dispX[a]+this.dispY[a]*this.dispY[a]);0.001>c&&(c=0.001);var f=this.dispX[a]/c*Math.min(c,this.temperature),c=this.dispY[a]/c*Math.min(c,this.temperature);this.dispX[a]=0;this.dispY[a]=0;this.cellLocation[a][0]+=f;this.cellLocation[a][1]+=c}};
mxFastOrganicLayout.prototype.calcAttraction=function(){for(var a=0;a<this.vertexArray.length;a++)for(var c=0;c<this.neighbours[a].length;c++){var f=this.neighbours[a][c];if(a!=f&&this.isMoveable[a]&&this.isMoveable[f]){var d=this.cellLocation[a][0]-this.cellLocation[f][0],b=this.cellLocation[a][1]-this.cellLocation[f][1],e=d*d+b*b-this.radiusSquared[a]-this.radiusSquared[f];e<this.minDistanceLimitSquared&&(e=this.minDistanceLimitSquared);var g=Math.sqrt(e),e=e/this.forceConstant,d=d/g*e,b=b/g*e;
this.dispX[a]-=d;this.dispY[a]-=b;this.dispX[f]+=d;this.dispY[f]+=b}}};
mxFastOrganicLayout.prototype.calcRepulsion=function(){for(var a=this.vertexArray.length,c=0;c<a;c++)for(var f=c;f<a;f++){if(!this.allowedToRun)return;if(f!=c&&this.isMoveable[c]&&this.isMoveable[f]){var d=this.cellLocation[c][0]-this.cellLocation[f][0],b=this.cellLocation[c][1]-this.cellLocation[f][1];0==d&&(d=0.01+Math.random());0==b&&(b=0.01+Math.random());var e=Math.sqrt(d*d+b*b),g=e-this.radius[c]-this.radius[f];g>this.maxDistanceLimit||(g<this.minDistanceLimit&&(g=this.minDistanceLimit),g=this.forceConstantSquared/
g,d=d/e*g,b=b/e*g,this.dispX[c]+=d,this.dispY[c]+=b,this.dispX[f]-=d,this.dispY[f]-=b)}}};mxFastOrganicLayout.prototype.reduceTemperature=function(){this.temperature=this.initialTemp*(1-this.iteration/this.maxIterations)};function mxCircleLayout(a,c){mxGraphLayout.call(this,a);this.radius=null!=c?c:100}mxCircleLayout.prototype=new mxGraphLayout;mxCircleLayout.prototype.constructor=mxCircleLayout;mxCircleLayout.prototype.radius=null;mxCircleLayout.prototype.moveCircle=!1;
mxCircleLayout.prototype.x0=0;mxCircleLayout.prototype.y0=0;mxCircleLayout.prototype.resetEdges=!0;mxCircleLayout.prototype.disableEdgeStyle=!0;
mxCircleLayout.prototype.execute=function(a){var c=this.graph.getModel();c.beginUpdate();try{for(var f=0,d=null,b=null,e=[],g=c.getChildCount(a),k=0;k<g;k++){var l=c.getChildAt(a,k);if(this.isVertexIgnored(l))this.isEdgeIgnored(l)||(this.resetEdges&&this.graph.resetEdge(l),this.disableEdgeStyle&&this.setEdgeStyleEnabled(l,!1));else{e.push(l);var n=this.getVertexBounds(l),d=null==d?n.y:Math.min(d,n.y),b=null==b?n.x:Math.min(b,n.x),f=Math.max(f,Math.max(n.width,n.height))}}var m=this.getRadius(e.length,
f);this.moveCircle&&(b=this.x0,d=this.y0);this.circle(e,m,b,d)}finally{c.endUpdate()}};mxCircleLayout.prototype.getRadius=function(a,c){return Math.max(a*c/Math.PI,this.radius)};mxCircleLayout.prototype.circle=function(a,c,f,d){for(var b=a.length,e=2*Math.PI/b,g=0;g<b;g++)this.isVertexMovable(a[g])&&this.setVertexLocation(a[g],f+c+c*Math.sin(g*e),d+c+c*Math.cos(g*e))};function mxParallelEdgeLayout(a){mxGraphLayout.call(this,a)}mxParallelEdgeLayout.prototype=new mxGraphLayout;
mxParallelEdgeLayout.prototype.constructor=mxParallelEdgeLayout;mxParallelEdgeLayout.prototype.spacing=20;mxParallelEdgeLayout.prototype.execute=function(a){a=this.findParallels(a);this.graph.model.beginUpdate();try{for(var c in a){var f=a[c];1<f.length&&this.layout(f)}}finally{this.graph.model.endUpdate()}};
mxParallelEdgeLayout.prototype.findParallels=function(a){for(var c=this.graph.getModel(),f=[],d=c.getChildCount(a),b=0;b<d;b++){var e=c.getChildAt(a,b);if(!this.isEdgeIgnored(e)){var g=this.getEdgeId(e);null!=g&&(null==f[g]&&(f[g]=[]),f[g].push(e))}}return f};mxParallelEdgeLayout.prototype.getEdgeId=function(a){var c=this.graph.getView(),f=c.getVisibleTerminal(a,!0);a=c.getVisibleTerminal(a,!1);return null!=f&&null!=a?(f=mxObjectIdentity.get(f),a=mxObjectIdentity.get(a),f>a?a+"-"+f:f+"-"+a):null};
mxParallelEdgeLayout.prototype.layout=function(a){var c=a[0],f=this.graph.getView(),d=this.graph.getModel(),b=d.getGeometry(f.getVisibleTerminal(c,!0)),d=d.getGeometry(f.getVisibleTerminal(c,!1));if(b==d)for(var c=b.x+b.width+this.spacing,f=b.y+b.height/2,e=0;e<a.length;e++)this.route(a[e],c,f),c+=this.spacing;else if(null!=b&&null!=d){var c=b.x+b.width/2,f=b.y+b.height/2,e=d.x+d.width/2-c,g=d.y+d.height/2-f,d=Math.sqrt(e*e+g*g);if(0<d){b=g*this.spacing/d;d=e*this.spacing/d;c=c+e/2+b*(a.length-1)/
2;f=f+g/2-d*(a.length-1)/2;for(e=0;e<a.length;e++)this.route(a[e],c,f),c-=b,f+=d}}};mxParallelEdgeLayout.prototype.route=function(a,c,f){this.graph.isCellMovable(a)&&this.setEdgePoints(a,[new mxPoint(c,f)])};function mxCompositeLayout(a,c,f){mxGraphLayout.call(this,a);this.layouts=c;this.master=f}mxCompositeLayout.prototype=new mxGraphLayout;mxCompositeLayout.prototype.constructor=mxCompositeLayout;mxCompositeLayout.prototype.layouts=null;mxCompositeLayout.prototype.master=null;
mxCompositeLayout.prototype.moveCell=function(a,c,f){null!=this.master?this.master.move.apply(this.master,arguments):this.layouts[0].move.apply(this.layouts[0],arguments)};mxCompositeLayout.prototype.execute=function(a){var c=this.graph.getModel();c.beginUpdate();try{for(var f=0;f<this.layouts.length;f++)this.layouts[f].execute.apply(this.layouts[f],arguments)}finally{c.endUpdate()}};function mxEdgeLabelLayout(a,c){mxGraphLayout.call(this,a)}mxEdgeLabelLayout.prototype=new mxGraphLayout;
mxEdgeLabelLayout.prototype.constructor=mxEdgeLabelLayout;mxEdgeLabelLayout.prototype.execute=function(a){for(var c=this.graph.view,f=this.graph.getModel(),d=[],b=[],e=f.getChildCount(a),g=0;g<e;g++){var k=f.getChildAt(a,g),l=c.getState(k);null!=l&&(this.isVertexIgnored(k)?this.isEdgeIgnored(k)||d.push(l):b.push(l))}this.placeLabels(b,d)};
mxEdgeLabelLayout.prototype.placeLabels=function(a,c){var f=this.graph.getModel();f.beginUpdate();try{for(var d=0;d<c.length;d++){var b=c[d];if(null!=b&&null!=b.text&&null!=b.text.boundingBox)for(var e=0;e<a.length;e++){var g=a[e];null!=g&&this.avoid(b,g)}}}finally{f.endUpdate()}};
mxEdgeLabelLayout.prototype.avoid=function(a,c){var f=this.graph.getModel(),d=a.text.boundingBox;if(mxUtils.intersects(d,c)){var b=-d.y-d.height+c.y,e=-d.y+c.y+c.height,b=Math.abs(b)<Math.abs(e)?b:e,e=-d.x-d.width+c.x,d=-d.x+c.x+c.width,d=Math.abs(e)<Math.abs(d)?e:d;Math.abs(d)<Math.abs(b)?b=0:d=0;e=f.getGeometry(a.cell);null!=e&&(e=e.clone(),null!=e.offset?(e.offset.x+=d,e.offset.y+=b):e.offset=new mxPoint(d,b),f.setGeometry(a.cell,e))}};
function mxGraphAbstractHierarchyCell(){this.x=[];this.y=[];this.temp=[]}mxGraphAbstractHierarchyCell.prototype.maxRank=-1;mxGraphAbstractHierarchyCell.prototype.minRank=-1;mxGraphAbstractHierarchyCell.prototype.x=null;mxGraphAbstractHierarchyCell.prototype.y=null;mxGraphAbstractHierarchyCell.prototype.width=0;mxGraphAbstractHierarchyCell.prototype.height=0;mxGraphAbstractHierarchyCell.prototype.nextLayerConnectedCells=null;mxGraphAbstractHierarchyCell.prototype.previousLayerConnectedCells=null;
mxGraphAbstractHierarchyCell.prototype.temp=null;mxGraphAbstractHierarchyCell.prototype.getNextLayerConnectedCells=function(a){return null};mxGraphAbstractHierarchyCell.prototype.getPreviousLayerConnectedCells=function(a){return null};mxGraphAbstractHierarchyCell.prototype.isEdge=function(){return!1};mxGraphAbstractHierarchyCell.prototype.isVertex=function(){return!1};mxGraphAbstractHierarchyCell.prototype.getGeneralPurposeVariable=function(a){return null};
mxGraphAbstractHierarchyCell.prototype.setGeneralPurposeVariable=function(a,c){return null};mxGraphAbstractHierarchyCell.prototype.setX=function(a,c){this.isVertex()?this.x[0]=c:this.isEdge()&&(this.x[a-this.minRank-1]=c)};mxGraphAbstractHierarchyCell.prototype.getX=function(a){return this.isVertex()?this.x[0]:this.isEdge()?this.x[a-this.minRank-1]:0};mxGraphAbstractHierarchyCell.prototype.setY=function(a,c){this.isVertex()?this.y[0]=c:this.isEdge()&&(this.y[a-this.minRank-1]=c)};
function mxGraphHierarchyNode(a){mxGraphAbstractHierarchyCell.apply(this,arguments);this.cell=a;this.id=mxObjectIdentity.get(a);this.connectsAsTarget=[];this.connectsAsSource=[]}mxGraphHierarchyNode.prototype=new mxGraphAbstractHierarchyCell;mxGraphHierarchyNode.prototype.constructor=mxGraphHierarchyNode;mxGraphHierarchyNode.prototype.cell=null;mxGraphHierarchyNode.prototype.id=null;mxGraphHierarchyNode.prototype.connectsAsTarget=null;mxGraphHierarchyNode.prototype.connectsAsSource=null;
mxGraphHierarchyNode.prototype.hashCode=!1;mxGraphHierarchyNode.prototype.getRankValue=function(a){return this.maxRank};mxGraphHierarchyNode.prototype.getNextLayerConnectedCells=function(a){if(null==this.nextLayerConnectedCells){this.nextLayerConnectedCells=[];this.nextLayerConnectedCells[0]=[];for(var c=0;c<this.connectsAsTarget.length;c++){var f=this.connectsAsTarget[c];-1==f.maxRank||f.maxRank==a+1?this.nextLayerConnectedCells[0].push(f.source):this.nextLayerConnectedCells[0].push(f)}}return this.nextLayerConnectedCells[0]};
mxGraphHierarchyNode.prototype.getPreviousLayerConnectedCells=function(a){if(null==this.previousLayerConnectedCells){this.previousLayerConnectedCells=[];this.previousLayerConnectedCells[0]=[];for(var c=0;c<this.connectsAsSource.length;c++){var f=this.connectsAsSource[c];-1==f.minRank||f.minRank==a-1?this.previousLayerConnectedCells[0].push(f.target):this.previousLayerConnectedCells[0].push(f)}}return this.previousLayerConnectedCells[0]};mxGraphHierarchyNode.prototype.isVertex=function(){return!0};
mxGraphHierarchyNode.prototype.getGeneralPurposeVariable=function(a){return this.temp[0]};mxGraphHierarchyNode.prototype.setGeneralPurposeVariable=function(a,c){this.temp[0]=c};mxGraphHierarchyNode.prototype.isAncestor=function(a){if(null!=a&&null!=this.hashCode&&null!=a.hashCode&&this.hashCode.length<a.hashCode.length){if(this.hashCode==a.hashCode)return!0;if(null==this.hashCode||null==this.hashCode)return!1;for(var c=0;c<this.hashCode.length;c++)if(this.hashCode[c]!=a.hashCode[c])return!1;return!0}return!1};
mxGraphHierarchyNode.prototype.getCoreCell=function(){return this.cell};function mxGraphHierarchyEdge(a){mxGraphAbstractHierarchyCell.apply(this,arguments);this.edges=a;this.ids=[];for(var c=0;c<a.length;c++)this.ids.push(mxObjectIdentity.get(a[c]))}mxGraphHierarchyEdge.prototype=new mxGraphAbstractHierarchyCell;mxGraphHierarchyEdge.prototype.constructor=mxGraphHierarchyEdge;mxGraphHierarchyEdge.prototype.edges=null;mxGraphHierarchyEdge.prototype.ids=null;mxGraphHierarchyEdge.prototype.source=null;
mxGraphHierarchyEdge.prototype.target=null;mxGraphHierarchyEdge.prototype.isReversed=!1;mxGraphHierarchyEdge.prototype.invert=function(a){a=this.source;this.source=this.target;this.target=a;this.isReversed=!this.isReversed};
mxGraphHierarchyEdge.prototype.getNextLayerConnectedCells=function(a){if(null==this.nextLayerConnectedCells){this.nextLayerConnectedCells=[];for(var c=0;c<this.temp.length;c++)this.nextLayerConnectedCells[c]=[],c==this.temp.length-1?this.nextLayerConnectedCells[c].push(this.source):this.nextLayerConnectedCells[c].push(this)}return this.nextLayerConnectedCells[a-this.minRank-1]};
mxGraphHierarchyEdge.prototype.getPreviousLayerConnectedCells=function(a){if(null==this.previousLayerConnectedCells){this.previousLayerConnectedCells=[];for(var c=0;c<this.temp.length;c++)this.previousLayerConnectedCells[c]=[],0==c?this.previousLayerConnectedCells[c].push(this.target):this.previousLayerConnectedCells[c].push(this)}return this.previousLayerConnectedCells[a-this.minRank-1]};mxGraphHierarchyEdge.prototype.isEdge=function(){return!0};
mxGraphHierarchyEdge.prototype.getGeneralPurposeVariable=function(a){return this.temp[a-this.minRank-1]};mxGraphHierarchyEdge.prototype.setGeneralPurposeVariable=function(a,c){this.temp[a-this.minRank-1]=c};mxGraphHierarchyEdge.prototype.getCoreCell=function(){return null!=this.edges&&0<this.edges.length?this.edges[0]:null};
function mxGraphHierarchyModel(a,c,f,d,b){a.getGraph();this.tightenToSource=b;this.roots=f;this.parent=d;this.vertexMapper=new mxDictionary;this.edgeMapper=new mxDictionary;this.maxRank=0;f=[];null==c&&(c=this.graph.getChildVertices(d));this.maxRank=this.SOURCESCANSTARTRANK;this.createInternalCells(a,c,f);for(d=0;d<c.length;d++){b=f[d].connectsAsSource;for(var e=0;e<b.length;e++){var g=b[e],k=g.edges;if(null!=k&&0<k.length){var k=k[0],l=a.getVisibleTerminal(k,!1),l=this.vertexMapper.get(l);f[d]==
l&&(l=a.getVisibleTerminal(k,!0),l=this.vertexMapper.get(l));null!=l&&f[d]!=l&&(g.target=l,0==l.connectsAsTarget.length&&(l.connectsAsTarget=[]),0>mxUtils.indexOf(l.connectsAsTarget,g)&&l.connectsAsTarget.push(g))}}f[d].temp[0]=1}}mxGraphHierarchyModel.prototype.maxRank=null;mxGraphHierarchyModel.prototype.vertexMapper=null;mxGraphHierarchyModel.prototype.edgeMapper=null;mxGraphHierarchyModel.prototype.ranks=null;mxGraphHierarchyModel.prototype.roots=null;mxGraphHierarchyModel.prototype.parent=null;
mxGraphHierarchyModel.prototype.dfsCount=0;mxGraphHierarchyModel.prototype.SOURCESCANSTARTRANK=1E8;mxGraphHierarchyModel.prototype.tightenToSource=!1;
mxGraphHierarchyModel.prototype.createInternalCells=function(a,c,f){for(var d=a.getGraph(),b=0;b<c.length;b++){f[b]=new mxGraphHierarchyNode(c[b]);this.vertexMapper.put(c[b],f[b]);var e=a.getEdges(c[b]);f[b].connectsAsSource=[];for(var g=0;g<e.length;g++){var k=a.getVisibleTerminal(e[g],!1);if(k!=c[b]&&a.graph.model.isVertex(k)&&!a.isVertexIgnored(k)){var l=a.getEdgesBetween(c[b],k,!1),k=a.getEdgesBetween(c[b],k,!0);if(null!=l&&0<l.length&&null==this.edgeMapper.get(l[0])&&2*k.length>=l.length){for(var k=
new mxGraphHierarchyEdge(l),n=0;n<l.length;n++){var m=l[n];this.edgeMapper.put(m,k);d.resetEdge(m);a.disableEdgeStyle&&(a.setEdgeStyleEnabled(m,!1),a.setOrthogonalEdge(m,!0))}k.source=f[b];0>mxUtils.indexOf(f[b].connectsAsSource,k)&&f[b].connectsAsSource.push(k)}}}f[b].temp[0]=0}};
mxGraphHierarchyModel.prototype.initialRank=function(){var a=[];if(null!=this.roots)for(var c=0;c<this.roots.length;c++){var f=this.vertexMapper.get(this.roots[c]);null!=f&&a.push(f)}for(var d=this.vertexMapper.getValues(),c=0;c<d.length;c++)d[c].temp[0]=-1;for(var b=a.slice();0<a.length;){var f=a[0],e,g;e=f.connectsAsTarget;g=f.connectsAsSource;for(var k=!0,l=this.SOURCESCANSTARTRANK,c=0;c<e.length;c++){var n=e[c];if(5270620==n.temp[0])n=n.source,l=Math.min(l,n.temp[0]-1);else{k=!1;break}}if(k){f.temp[0]=
l;this.maxRank=Math.min(this.maxRank,l);if(null!=g)for(c=0;c<g.length;c++)n=g[c],n.temp[0]=5270620,n=n.target,-1==n.temp[0]&&(a.push(n),n.temp[0]=-2);a.shift()}else if(c=a.shift(),a.push(f),c==f&&1==a.length)break}for(c=0;c<d.length;c++)d[c].temp[0]-=this.maxRank;for(c=0;c<b.length;c++){f=b[c];a=0;e=f.connectsAsSource;for(d=0;d<e.length;d++)n=e[d],n=n.target,f.temp[0]=Math.max(a,n.temp[0]+1),a=f.temp[0]}this.maxRank=this.SOURCESCANSTARTRANK-this.maxRank};
mxGraphHierarchyModel.prototype.fixRanks=function(){var a=[];this.ranks=[];for(var c=0;c<this.maxRank+1;c++)a[c]=[],this.ranks[c]=a[c];var f=null;if(null!=this.roots)for(var d=this.roots,f=[],c=0;c<d.length;c++){var b=this.vertexMapper.get(d[c]);f[c]=b}this.visit(function(b,d,c,f,n){0==n&&0>d.maxRank&&0>d.minRank&&(a[d.temp[0]].push(d),d.maxRank=d.temp[0],d.minRank=d.temp[0],d.temp[0]=a[d.maxRank].length-1);if(null!=b&&null!=c&&1<b.maxRank-d.maxRank){c.maxRank=b.maxRank;c.minRank=d.maxRank;c.temp=
[];c.x=[];c.y=[];for(b=c.minRank+1;b<c.maxRank;b++)a[b].push(c),c.setGeneralPurposeVariable(b,a[b].length-1)}},f,!1,null)};mxGraphHierarchyModel.prototype.visit=function(a,c,f,d){if(null!=c){for(var b=0;b<c.length;b++){var e=c[b];null!=e&&(null==d&&(d={}),f?(e.hashCode=[],e.hashCode[0]=this.dfsCount,e.hashCode[1]=b,this.extendedDfs(null,e,null,a,d,e.hashCode,b,0)):this.dfs(null,e,null,a,d,0))}this.dfsCount++}};
mxGraphHierarchyModel.prototype.dfs=function(a,c,f,d,b,e){if(null!=c){var g=c.id;if(null==b[g]){b[g]=c;d(a,c,f,e,0);a=c.connectsAsSource.slice();for(f=0;f<a.length;f++)g=a[f],this.dfs(c,g.target,g,d,b,e+1)}else d(a,c,f,e,1)}};
mxGraphHierarchyModel.prototype.extendedDfs=function(a,c,f,d,b,e,g,k){if(null!=c){if(null!=a&&(null==c.hashCode||c.hashCode[0]!=a.hashCode[0]))e=a.hashCode.length+1,c.hashCode=a.hashCode.slice(),c.hashCode[e-1]=g;g=c.id;if(null==b[g]){b[g]=c;d(a,c,f,k,0);a=c.connectsAsSource.slice();for(f=0;f<a.length;f++)g=a[f],this.extendedDfs(c,g.target,g,d,b,c.hashCode,f,k+1)}else d(a,c,f,k,1)}};
function mxSwimlaneModel(a,c,f,d,b){a.getGraph();this.tightenToSource=b;this.roots=f;this.parent=d;this.vertexMapper=new mxDictionary;this.edgeMapper=new mxDictionary;this.maxRank=0;f=[];null==c&&(c=this.graph.getChildVertices(d));this.maxRank=this.SOURCESCANSTARTRANK;this.createInternalCells(a,c,f);for(d=0;d<c.length;d++){b=f[d].connectsAsSource;for(var e=0;e<b.length;e++){var g=b[e],k=g.edges;if(null!=k&&0<k.length){var k=k[0],l=a.getVisibleTerminal(k,!1),l=this.vertexMapper.get(l);f[d]==l&&(l=
a.getVisibleTerminal(k,!0),l=this.vertexMapper.get(l));null!=l&&f[d]!=l&&(g.target=l,0==l.connectsAsTarget.length&&(l.connectsAsTarget=[]),0>mxUtils.indexOf(l.connectsAsTarget,g)&&l.connectsAsTarget.push(g))}}f[d].temp[0]=1}}mxSwimlaneModel.prototype.maxRank=null;mxSwimlaneModel.prototype.vertexMapper=null;mxSwimlaneModel.prototype.edgeMapper=null;mxSwimlaneModel.prototype.ranks=null;mxSwimlaneModel.prototype.roots=null;mxSwimlaneModel.prototype.parent=null;mxSwimlaneModel.prototype.dfsCount=0;
mxSwimlaneModel.prototype.SOURCESCANSTARTRANK=1E8;mxGraphHierarchyModel.prototype.tightenToSource=!1;mxSwimlaneModel.prototype.ranksPerGroup=null;
mxSwimlaneModel.prototype.createInternalCells=function(a,c,f){for(var d=a.getGraph(),b=a.swimlanes,e=0;e<c.length;e++){f[e]=new mxGraphHierarchyNode(c[e]);this.vertexMapper.put(c[e],f[e]);f[e].swimlaneIndex=-1;for(var g=0;g<b.length;g++)if(d.model.getParent(c[e])==b[g]){f[e].swimlaneIndex=g;break}g=a.getEdges(c[e]);f[e].connectsAsSource=[];for(var k=0;k<g.length;k++){var l=a.getVisibleTerminal(g[k],!1);if(l!=c[e]&&a.graph.model.isVertex(l)&&!a.isVertexIgnored(l)){var n=a.getEdgesBetween(c[e],l,!1),
l=a.getEdgesBetween(c[e],l,!0);if(null!=n&&0<n.length&&null==this.edgeMapper.get(n[0])&&2*l.length>=n.length){for(var l=new mxGraphHierarchyEdge(n),m=0;m<n.length;m++){var p=n[m];this.edgeMapper.put(p,l);d.resetEdge(p);a.disableEdgeStyle&&(a.setEdgeStyleEnabled(p,!1),a.setOrthogonalEdge(p,!0))}l.source=f[e];0>mxUtils.indexOf(f[e].connectsAsSource,l)&&f[e].connectsAsSource.push(l)}}}f[e].temp[0]=0}};
mxSwimlaneModel.prototype.initialRank=function(){this.ranksPerGroup=[];var a=[],c={};if(null!=this.roots)for(var f=0;f<this.roots.length;f++){var d=this.vertexMapper.get(this.roots[f]);this.maxChainDfs(null,d,null,c,0);null!=d&&a.push(d)}d=[];c=[];for(f=this.ranksPerGroup.length-1;0<=f;f--)d[f]=f==this.ranksPerGroup.length-1?0:c[f+1]+1,c[f]=d[f]+this.ranksPerGroup[f];this.maxRank=c[0];d=this.vertexMapper.getValues();for(f=0;f<d.length;f++)d[f].temp[0]=-1;for(a.slice();0<a.length;){var d=a[0],b,e;
b=d.connectsAsTarget;e=d.connectsAsSource;for(var g=!0,k=c[0],f=0;f<b.length;f++){var l=b[f];if(5270620==l.temp[0])l=l.source,k=Math.min(k,l.temp[0]-1);else{g=!1;break}}if(g){k>c[d.swimlaneIndex]&&(k=c[d.swimlaneIndex]);d.temp[0]=k;if(null!=e)for(f=0;f<e.length;f++)l=e[f],l.temp[0]=5270620,l=l.target,-1==l.temp[0]&&(a.push(l),l.temp[0]=-2);a.shift()}else if(f=a.shift(),a.push(d),f==d&&1==a.length)break}};
mxSwimlaneModel.prototype.maxChainDfs=function(a,c,f,d,b){if(null!=c&&(a=mxCellPath.create(c.cell),null==d[a])){d[a]=c;a=c.swimlaneIndex;if(null==this.ranksPerGroup[a]||this.ranksPerGroup[a]<b)this.ranksPerGroup[a]=b;a=c.connectsAsSource.slice();for(f=0;f<a.length;f++){var e=a[f],g=e.target;c.swimlaneIndex<g.swimlaneIndex?this.maxChainDfs(c,g,e,mxUtils.clone(d,null,!0),0):c.swimlaneIndex==g.swimlaneIndex&&this.maxChainDfs(c,g,e,mxUtils.clone(d,null,!0),b+1)}}};
mxSwimlaneModel.prototype.fixRanks=function(){var a=[];this.ranks=[];for(var c=0;c<this.maxRank+1;c++)a[c]=[],this.ranks[c]=a[c];var f=null;if(null!=this.roots)for(var d=this.roots,f=[],c=0;c<d.length;c++){var b=this.vertexMapper.get(d[c]);f[c]=b}this.visit(function(b,d,c,f,n){0==n&&0>d.maxRank&&0>d.minRank&&(a[d.temp[0]].push(d),d.maxRank=d.temp[0],d.minRank=d.temp[0],d.temp[0]=a[d.maxRank].length-1);if(null!=b&&null!=c&&1<b.maxRank-d.maxRank){c.maxRank=b.maxRank;c.minRank=d.maxRank;c.temp=[];c.x=
[];c.y=[];for(b=c.minRank+1;b<c.maxRank;b++)a[b].push(c),c.setGeneralPurposeVariable(b,a[b].length-1)}},f,!1,null)};mxSwimlaneModel.prototype.visit=function(a,c,f,d){if(null!=c){for(var b=0;b<c.length;b++){var e=c[b];null!=e&&(null==d&&(d={}),f?(e.hashCode=[],e.hashCode[0]=this.dfsCount,e.hashCode[1]=b,this.extendedDfs(null,e,null,a,d,e.hashCode,b,0)):this.dfs(null,e,null,a,d,0))}this.dfsCount++}};
mxSwimlaneModel.prototype.dfs=function(a,c,f,d,b,e){if(null!=c){var g=c.id;if(null==b[g]){b[g]=c;d(a,c,f,e,0);a=c.connectsAsSource.slice();for(f=0;f<a.length;f++)g=a[f],this.dfs(c,g.target,g,d,b,e+1)}else d(a,c,f,e,1)}};
mxSwimlaneModel.prototype.extendedDfs=function(a,c,f,d,b,e,g,k){if(null!=c){if(null!=a&&(null==c.hashCode||c.hashCode[0]!=a.hashCode[0]))e=a.hashCode.length+1,c.hashCode=a.hashCode.slice(),c.hashCode[e-1]=g;g=c.id;if(null==b[g]){b[g]=c;d(a,c,f,k,0);a=c.connectsAsSource.slice();f=c.connectsAsTarget.slice();for(g=0;g<a.length;g++){e=a[g];var l=e.target;c.swimlaneIndex<=l.swimlaneIndex&&this.extendedDfs(c,l,e,d,b,c.hashCode,g,k+1)}for(g=0;g<f.length;g++)e=f[g],l=e.source,c.swimlaneIndex<l.swimlaneIndex&&
this.extendedDfs(c,l,e,d,b,c.hashCode,g,k+1)}else d(a,c,f,k,1)}};function mxHierarchicalLayoutStage(){}mxHierarchicalLayoutStage.prototype.execute=function(a){};function mxMedianHybridCrossingReduction(a){this.layout=a}mxMedianHybridCrossingReduction.prototype=new mxHierarchicalLayoutStage;mxMedianHybridCrossingReduction.prototype.constructor=mxMedianHybridCrossingReduction;mxMedianHybridCrossingReduction.prototype.layout=null;mxMedianHybridCrossingReduction.prototype.maxIterations=24;
mxMedianHybridCrossingReduction.prototype.nestedBestRanks=null;mxMedianHybridCrossingReduction.prototype.currentBestCrossings=0;mxMedianHybridCrossingReduction.prototype.iterationsWithoutImprovement=0;mxMedianHybridCrossingReduction.prototype.maxNoImprovementIterations=2;
mxMedianHybridCrossingReduction.prototype.execute=function(a){a=this.layout.getModel();this.nestedBestRanks=[];for(var c=0;c<a.ranks.length;c++)this.nestedBestRanks[c]=a.ranks[c].slice();for(var f=0,d=this.calculateCrossings(a),c=0;c<this.maxIterations&&f<this.maxNoImprovementIterations;c++){this.weightedMedian(c,a);this.transpose(c,a);var b=this.calculateCrossings(a);if(b<d){d=b;for(b=f=0;b<this.nestedBestRanks.length;b++)for(var e=a.ranks[b],g=0;g<e.length;g++){var k=e[g];this.nestedBestRanks[b][k.getGeneralPurposeVariable(b)]=
k}}else{f++;for(b=0;b<this.nestedBestRanks.length;b++){e=a.ranks[b];for(g=0;g<e.length;g++)k=e[g],k.setGeneralPurposeVariable(b,g)}}if(0==d)break}f=[];d=[];for(c=0;c<a.maxRank+1;c++)d[c]=[],f[c]=d[c];for(c=0;c<this.nestedBestRanks.length;c++)for(b=0;b<this.nestedBestRanks[c].length;b++)d[c].push(this.nestedBestRanks[c][b]);a.ranks=f};mxMedianHybridCrossingReduction.prototype.calculateCrossings=function(a){for(var c=a.ranks.length,f=0,d=1;d<c;d++)f+=this.calculateRankCrossing(d,a);return f};
mxMedianHybridCrossingReduction.prototype.calculateRankCrossing=function(a,c){for(var f=0,d=c.ranks[a],b=c.ranks[a-1],e=[],g=0;g<d.length;g++){for(var k=d[g],l=k.getGeneralPurposeVariable(a),k=k.getPreviousLayerConnectedCells(a),n=[],m=0;m<k.length;m++){var p=k[m].getGeneralPurposeVariable(a-1);n.push(p)}n.sort(function(b,a){return b-a});e[l]=n}d=[];for(g=0;g<e.length;g++)d=d.concat(e[g]);for(e=1;e<b.length;)e<<=1;l=2*e-1;e-=1;b=[];for(g=0;g<l;++g)b[g]=0;for(g=0;g<d.length;g++){l=d[g]+e;for(++b[l];0<
l;)l%2&&(f+=b[l+1]),l=l-1>>1,++b[l]}return f};
mxMedianHybridCrossingReduction.prototype.transpose=function(a,c){for(var f=!0,d=0;f&&10>d++;)for(var b=1==a%2&&1==d%2,f=!1,e=0;e<c.ranks.length;e++){for(var g=c.ranks[e],k=[],l=0;l<g.length;l++){var n=g[l],m=n.getGeneralPurposeVariable(e);0>m&&(m=l);k[m]=n}for(var p=null,r=null,s=null,q=null,u=null,t=null,v=null,z=null,l=0;l<g.length-1;l++){if(0==l){for(var v=k[l],n=v.getNextLayerConnectedCells(e),m=v.getPreviousLayerConnectedCells(e),s=[],q=[],y=0;y<n.length;y++)s[y]=n[y].getGeneralPurposeVariable(e+
1);for(y=0;y<m.length;y++)q[y]=m[y].getGeneralPurposeVariable(e-1)}else n=p,m=r,s=u,q=t,v=z;z=k[l+1];p=z.getNextLayerConnectedCells(e);r=z.getPreviousLayerConnectedCells(e);u=[];t=[];for(y=0;y<p.length;y++)u[y]=p[y].getGeneralPurposeVariable(e+1);for(y=0;y<r.length;y++)t[y]=r[y].getGeneralPurposeVariable(e-1);for(var x=0,D=0,y=0;y<s.length;y++)for(var A=0;A<u.length;A++)s[y]>u[A]&&x++,s[y]<u[A]&&D++;for(y=0;y<q.length;y++)for(A=0;A<t.length;A++)q[y]>t[A]&&x++,q[y]<t[A]&&D++;if(D<x||D==x&&b)p=v.getGeneralPurposeVariable(e),
v.setGeneralPurposeVariable(e,z.getGeneralPurposeVariable(e)),z.setGeneralPurposeVariable(e,p),p=n,r=m,u=s,t=q,z=v,b||(f=!0)}}};mxMedianHybridCrossingReduction.prototype.weightedMedian=function(a,c){var f=0==a%2;if(f)for(var d=c.maxRank-1;0<=d;d--)this.medianRank(d,f);else for(d=1;d<c.maxRank;d++)this.medianRank(d,f)};
mxMedianHybridCrossingReduction.prototype.medianRank=function(a,c){for(var f=this.nestedBestRanks[a].length,d=[],b=[],e=0;e<f;e++){var g=this.nestedBestRanks[a][e],k=new MedianCellSorter;k.cell=g;var l;l=c?g.getNextLayerConnectedCells(a):g.getPreviousLayerConnectedCells(a);var n;n=c?a+1:a-1;null!=l&&0!=l.length?(k.medianValue=this.medianValue(l,n),d.push(k)):b[g.getGeneralPurposeVariable(a)]=!0}d.sort(MedianCellSorter.prototype.compare);for(e=0;e<f;e++)null==b[e]&&(g=d.shift().cell,g.setGeneralPurposeVariable(a,
e))};mxMedianHybridCrossingReduction.prototype.medianValue=function(a,c){for(var f=[],d=0,b=0;b<a.length;b++){var e=a[b];f[d++]=e.getGeneralPurposeVariable(c)}f.sort(function(b,a){return b-a});if(1==d%2)return f[Math.floor(d/2)];if(2==d)return(f[0]+f[1])/2;b=d/2;e=f[b-1]-f[0];d=f[d-1]-f[b];return(f[b-1]*d+f[b]*e)/(e+d)};function MedianCellSorter(){}MedianCellSorter.prototype.medianValue=0;MedianCellSorter.prototype.cell=!1;
MedianCellSorter.prototype.compare=function(a,c){return null!=a&&null!=c?c.medianValue>a.medianValue?-1:c.medianValue<a.medianValue?1:0:0};function mxMinimumCycleRemover(a){this.layout=a}mxMinimumCycleRemover.prototype=new mxHierarchicalLayoutStage;mxMinimumCycleRemover.prototype.constructor=mxMinimumCycleRemover;mxMinimumCycleRemover.prototype.layout=null;
mxMinimumCycleRemover.prototype.execute=function(a){a=this.layout.getModel();for(var c={},f=a.vertexMapper.getValues(),d={},b=0;b<f.length;b++)d[f[b].id]=f[b];f=null;if(null!=a.roots)for(var e=a.roots,f=[],b=0;b<e.length;b++)f[b]=a.vertexMapper.get(e[b]);a.visit(function(b,a,e,f,m){a.isAncestor(b)&&(e.invert(),mxUtils.remove(e,b.connectsAsSource),b.connectsAsTarget.push(e),mxUtils.remove(e,a.connectsAsTarget),a.connectsAsSource.push(e));c[a.id]=a;delete d[a.id]},f,!0,null);b=mxUtils.clone(c,null,
!0);a.visit(function(b,a,e,f,m){a.isAncestor(b)&&(e.invert(),mxUtils.remove(e,b.connectsAsSource),a.connectsAsSource.push(e),b.connectsAsTarget.push(e),mxUtils.remove(e,a.connectsAsTarget));c[a.id]=a;delete d[a.id]},d,!0,b)};function mxCoordinateAssignment(a,c,f,d,b,e){this.layout=a;this.intraCellSpacing=c;this.interRankCellSpacing=f;this.orientation=d;this.initialX=b;this.parallelEdgeSpacing=e}mxCoordinateAssignment.prototype=new mxHierarchicalLayoutStage;
mxCoordinateAssignment.prototype.constructor=mxCoordinateAssignment;mxCoordinateAssignment.prototype.layout=null;mxCoordinateAssignment.prototype.intraCellSpacing=30;mxCoordinateAssignment.prototype.interRankCellSpacing=100;mxCoordinateAssignment.prototype.parallelEdgeSpacing=10;mxCoordinateAssignment.prototype.maxIterations=8;mxCoordinateAssignment.prototype.prefHozEdgeSep=5;mxCoordinateAssignment.prototype.prefVertEdgeOff=2;mxCoordinateAssignment.prototype.minEdgeJetty=12;
mxCoordinateAssignment.prototype.channelBuffer=4;mxCoordinateAssignment.prototype.jettyPositions=null;mxCoordinateAssignment.prototype.orientation=mxConstants.DIRECTION_NORTH;mxCoordinateAssignment.prototype.initialX=null;mxCoordinateAssignment.prototype.limitX=null;mxCoordinateAssignment.prototype.currentXDelta=null;mxCoordinateAssignment.prototype.widestRank=null;mxCoordinateAssignment.prototype.rankTopY=null;mxCoordinateAssignment.prototype.rankBottomY=null;
mxCoordinateAssignment.prototype.widestRankValue=null;mxCoordinateAssignment.prototype.rankWidths=null;mxCoordinateAssignment.prototype.rankY=null;mxCoordinateAssignment.prototype.fineTuning=!0;mxCoordinateAssignment.prototype.nextLayerConnectedCache=null;mxCoordinateAssignment.prototype.previousLayerConnectedCache=null;mxCoordinateAssignment.prototype.groupPadding=10;
mxCoordinateAssignment.prototype.printStatus=function(){var a=this.layout.getModel();mxLog.show();mxLog.writeln("\x3d\x3d\x3d\x3d\x3d\x3dCoord assignment debug\x3d\x3d\x3d\x3d\x3d\x3d\x3d");for(var c=0;c<a.ranks.length;c++){mxLog.write("Rank ",c," : ");for(var f=a.ranks[c],d=0;d<f.length;d++)mxLog.write(f[d].getGeneralPurposeVariable(c)," ");mxLog.writeln()}mxLog.writeln("\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d")};
mxCoordinateAssignment.prototype.execute=function(a){this.jettyPositions={};a=this.layout.getModel();this.currentXDelta=0;this.initialCoords(this.layout.getGraph(),a);this.fineTuning&&this.minNode(a);var c=1E8;if(this.fineTuning)for(var f=0;f<this.maxIterations;f++){0!=f&&(this.medianPos(f,a),this.minNode(a));if(this.currentXDelta<c){for(var d=0;d<a.ranks.length;d++)for(var b=a.ranks[d],e=0;e<b.length;e++){var g=b[e];g.setX(d,g.getGeneralPurposeVariable(d))}c=this.currentXDelta}else for(d=0;d<a.ranks.length;d++){b=
a.ranks[d];for(e=0;e<b.length;e++)g=b[e],g.setGeneralPurposeVariable(d,g.getX(d))}this.minPath(this.layout.getGraph(),a);this.currentXDelta=0}this.setCellLocations(this.layout.getGraph(),a)};
mxCoordinateAssignment.prototype.minNode=function(a){for(var c=[],f=new mxDictionary,d=[],b=0;b<=a.maxRank;b++){d[b]=a.ranks[b];for(var e=0;e<d[b].length;e++){var g=d[b][e],k=new WeightedCellSorter(g,b);k.rankIndex=e;k.visited=!0;c.push(k);f.put(g,k)}}a=10*c.length;for(e=0;0<c.length&&e<=a;){var g=c.shift(),b=g.cell,l=g.weightedValue,n=parseInt(g.rankIndex),k=b.getNextLayerConnectedCells(l),m=b.getPreviousLayerConnectedCells(l),p=k.length,r=m.length,s=this.medianXValue(k,l+1),q=this.medianXValue(m,
l-1),u=p+r,t=b.getGeneralPurposeVariable(l),v=t;0<u&&(v=(s*p+q*r)/u);p=!1;v<t-1?0==n?(b.setGeneralPurposeVariable(l,v),p=!0):(n=d[l][n-1],t=n.getGeneralPurposeVariable(l),t=t+n.width/2+this.intraCellSpacing+b.width/2,t<v?(b.setGeneralPurposeVariable(l,v),p=!0):t<b.getGeneralPurposeVariable(l)-1&&(b.setGeneralPurposeVariable(l,t),p=!0)):v>t+1&&(n==d[l].length-1?(b.setGeneralPurposeVariable(l,v),p=!0):(n=d[l][n+1],t=n.getGeneralPurposeVariable(l),t=t-n.width/2-this.intraCellSpacing-b.width/2,t>v?(b.setGeneralPurposeVariable(l,
v),p=!0):t>b.getGeneralPurposeVariable(l)+1&&(b.setGeneralPurposeVariable(l,t),p=!0)));if(p){for(b=0;b<k.length;b++)l=k[b],l=f.get(l),null!=l&&!1==l.visited&&(l.visited=!0,c.push(l));for(b=0;b<m.length;b++)l=m[b],l=f.get(l),null!=l&&!1==l.visited&&(l.visited=!0,c.push(l))}g.visited=!1;e++}};mxCoordinateAssignment.prototype.medianPos=function(a,c){if(0==a%2)for(var f=c.maxRank;0<f;f--)this.rankMedianPosition(f-1,c,f);else for(f=0;f<c.maxRank-1;f++)this.rankMedianPosition(f+1,c,f)};
mxCoordinateAssignment.prototype.rankMedianPosition=function(a,c,f){c=c.ranks[a];for(var d=[],b={},e=0;e<c.length;e++){var g=c[e];d[e]=new WeightedCellSorter;d[e].cell=g;d[e].rankIndex=e;b[g.id]=d[e];var k=null,k=f<a?g.getPreviousLayerConnectedCells(a):g.getNextLayerConnectedCells(a);d[e].weightedValue=this.calculatedWeightedValue(g,k)}d.sort(WeightedCellSorter.prototype.compare);for(e=0;e<d.length;e++){var l=0,g=d[e].cell,l=0,k=f<a?g.getPreviousLayerConnectedCells(a).slice():g.getNextLayerConnectedCells(a).slice();
null!=k&&(l=k.length,l=0<l?this.medianXValue(k,f):g.getGeneralPurposeVariable(a));for(var n=0,k=-1E8,m=d[e].rankIndex-1;0<=m;){var p=b[c[m].id];if(null!=p){var r=p.cell;p.visited?(k=r.getGeneralPurposeVariable(a)+r.width/2+this.intraCellSpacing+n+g.width/2,m=-1):(n+=r.width+this.intraCellSpacing,m--)}}n=0;r=1E8;for(m=d[e].rankIndex+1;m<d.length;)if(p=b[c[m].id],null!=p){var s=p.cell;p.visited?(r=s.getGeneralPurposeVariable(a)-s.width/2-this.intraCellSpacing-n-g.width/2,m=d.length):(n+=s.width+this.intraCellSpacing,
m++)}l>=k&&l<=r?g.setGeneralPurposeVariable(a,l):l<k?(g.setGeneralPurposeVariable(a,k),this.currentXDelta+=k-l):l>r&&(g.setGeneralPurposeVariable(a,r),this.currentXDelta+=l-r);d[e].visited=!0}};mxCoordinateAssignment.prototype.calculatedWeightedValue=function(a,c){for(var f=0,d=0;d<c.length;d++){var b=c[d];a.isVertex()&&b.isVertex()?f++:f=a.isEdge()&&b.isEdge()?f+8:f+2}return f};
mxCoordinateAssignment.prototype.medianXValue=function(a,c){if(0==a.length)return 0;for(var f=[],d=0;d<a.length;d++)f[d]=a[d].getGeneralPurposeVariable(c);f.sort(function(b,a){return b-a});if(1==a.length%2)return f[Math.floor(a.length/2)];d=a.length/2;return(f[d-1]+f[d])/2};
mxCoordinateAssignment.prototype.initialCoords=function(a,c){this.calculateWidestRank(a,c);for(var f=this.widestRank;0<=f;f--)f<c.maxRank&&this.rankCoordinates(f,a,c);for(f=this.widestRank+1;f<=c.maxRank;f++)0<f&&this.rankCoordinates(f,a,c)};
mxCoordinateAssignment.prototype.rankCoordinates=function(a,c,f){c=f.ranks[a];f=0;for(var d=this.initialX+(this.widestRankValue-this.rankWidths[a])/2,b=!1,e=0;e<c.length;e++){var g=c[e];if(g.isVertex()){var k=this.layout.getVertexBounds(g.cell);null!=k?this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(g.width=k.width,g.height=k.height):(g.width=k.height,g.height=k.width):b=!0;f=Math.max(f,g.height)}else g.isEdge()&&(k=1,null!=g.edges?k=g.edges.length:mxLog.warn("edge.edges is null"),
g.width=(k-1)*this.parallelEdgeSpacing);d+=g.width/2;g.setX(a,d);g.setGeneralPurposeVariable(a,d);d+=g.width/2;d+=this.intraCellSpacing}!0==b&&mxLog.warn("At least one cell has no bounds")};
mxCoordinateAssignment.prototype.calculateWidestRank=function(a,c){var f=-this.interRankCellSpacing,d=0;this.rankWidths=[];this.rankY=[];for(var b=c.maxRank;0<=b;b--){for(var e=0,g=c.ranks[b],k=this.initialX,l=!1,n=0;n<g.length;n++){var m=g[n];if(m.isVertex()){var p=this.layout.getVertexBounds(m.cell);null!=p?this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(m.width=p.width,m.height=p.height):(m.width=p.height,m.height=p.width):l=!0;e=Math.max(e,m.height)}else m.isEdge()&&
(p=1,null!=m.edges?p=m.edges.length:mxLog.warn("edge.edges is null"),m.width=(p-1)*this.parallelEdgeSpacing);k+=m.width/2;m.setX(b,k);m.setGeneralPurposeVariable(b,k);k+=m.width/2;k+=this.intraCellSpacing;k>this.widestRankValue&&(this.widestRankValue=k,this.widestRank=b);this.rankWidths[b]=k}!0==l&&mxLog.warn("At least one cell has no bounds");this.rankY[b]=f;k=e/2+d/2+this.interRankCellSpacing;d=e;f=this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_WEST?f+k:f-
k;for(n=0;n<g.length;n++)g[n].setY(b,f)}};
mxCoordinateAssignment.prototype.minPath=function(a,c){for(var f=c.edgeMapper.getValues(),d=0;d<f.length;d++){var b=f[d];if(!(1>b.maxRank-b.minRank-1)){for(var e=b.getGeneralPurposeVariable(b.minRank+1),g=!0,k=0,l=b.minRank+2;l<b.maxRank;l++){var n=b.getGeneralPurposeVariable(l);e!=n?(g=!1,e=n):k++}if(!g){for(var g=e=0,n=[],m=[],p=b.getGeneralPurposeVariable(b.minRank+1),l=b.minRank+1;l<b.maxRank-1;l++){var r=b.getX(l+1);p==r?(n[l-b.minRank-1]=p,e++):this.repositionValid(c,b,l+1,p)?(n[l-b.minRank-
1]=p,e++):p=n[l-b.minRank-1]=r}p=b.getX(l);for(l=b.maxRank-1;l>b.minRank+1;l--)r=b.getX(l-1),p==r?(m[l-b.minRank-2]=p,g++):this.repositionValid(c,b,l-1,p)?(m[l-b.minRank-2]=p,g++):(m[l-b.minRank-2]=b.getX(l-1),p=r);if(g>k||e>k)if(g>=e)for(l=b.maxRank-2;l>b.minRank;l--)b.setX(l,m[l-b.minRank-1]);else if(e>g)for(l=b.minRank+2;l<b.maxRank;l++)b.setX(l,n[l-b.minRank-2])}}}};
mxCoordinateAssignment.prototype.repositionValid=function(a,c,f,d){a=a.ranks[f];for(var b=-1,e=0;e<a.length;e++)if(c==a[e]){b=e;break}if(0>b)return!1;e=c.getGeneralPurposeVariable(f);if(d<e){if(0==b)return!0;a=a[b-1];f=a.getGeneralPurposeVariable(f);f=f+a.width/2+this.intraCellSpacing+c.width/2;if(!(f<=d))return!1}else if(d>e){if(b==a.length-1)return!0;a=a[b+1];f=a.getGeneralPurposeVariable(f);f=f-a.width/2-this.intraCellSpacing-c.width/2;if(!(f>=d))return!1}return!0};
mxCoordinateAssignment.prototype.setCellLocations=function(a,c){this.rankTopY=[];this.rankBottomY=[];for(var f=0;f<c.ranks.length;f++)this.rankTopY[f]=Number.MAX_VALUE,this.rankBottomY[f]=-Number.MAX_VALUE;for(var d=c.vertexMapper.getValues(),f=0;f<d.length;f++)this.setVertexLocation(d[f]);(this.layout.edgeStyle==mxHierarchicalEdgeStyle.ORTHOGONAL||this.layout.edgeStyle==mxHierarchicalEdgeStyle.POLYLINE||this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE)&&this.localEdgeProcessing(c);d=c.edgeMapper.getValues();
for(f=0;f<d.length;f++)this.setEdgePosition(d[f])};
mxCoordinateAssignment.prototype.localEdgeProcessing=function(a){for(var c=0;c<a.ranks.length;c++)for(var f=a.ranks[c],d=0;d<f.length;d++){var b=f[d];if(b.isVertex())for(var e=b.getPreviousLayerConnectedCells(c),g=c-1,k=0;2>k;k++){if(-1<g&&g<a.ranks.length&&null!=e&&0<e.length){for(var l=[],n=0;n<e.length;n++){var m=new WeightedCellSorter(e[n],e[n].getX(g));l.push(m)}l.sort(WeightedCellSorter.prototype.compare);for(var m=b.x[0]-b.width/2,p=m+b.width,r=e=0,g=[],n=0;n<l.length;n++){var s=l[n].cell,
q;if(s.isVertex()){q=0==k?b.connectsAsSource:b.connectsAsTarget;for(var u=0;u<q.length;u++)if(q[u].source==s||q[u].target==s)e+=q[u].edges.length,r++,g.push(q[u])}else e+=s.edges.length,r++,g.push(s)}b.width>(e+1)*this.prefHozEdgeSep+2*this.prefHozEdgeSep&&(m+=this.prefHozEdgeSep,p-=this.prefHozEdgeSep);l=(p-m)/e;m+=l/2;p=this.minEdgeJetty-this.prefVertEdgeOff;for(n=r=0;n<g.length;n++){s=g[n].edges.length;q=this.jettyPositions[g[n].ids[0]];null==q&&(q=[],this.jettyPositions[g[n].ids[0]]=q);n<e/2?
p+=this.prefVertEdgeOff:n>e/2&&(p-=this.prefVertEdgeOff);for(u=0;u<s;u++)q[4*u+2*k]=m,m+=l,q[4*u+2*k+1]=p;r=Math.max(r,p)}}e=b.getNextLayerConnectedCells(c);g=c+1}}};
mxCoordinateAssignment.prototype.setEdgePosition=function(a){var c=0;if(101207!=a.temp[0]){var f=a.maxRank,d=a.minRank;f==d&&(f=a.source.maxRank,d=a.target.minRank);for(var b=0,e=this.jettyPositions[a.ids[0]],g=a.isReversed?a.target.cell:a.source.cell,k=this.layout.graph,l=this.orientation==mxConstants.DIRECTION_EAST||this.orientation==mxConstants.DIRECTION_SOUTH,n=0;n<a.edges.length;n++){var m=a.edges[n],p=this.layout.getVisibleTerminal(m,!0),r=[],s=a.isReversed;p!=g&&(s=!s);if(null!=e){var q=s?
2:0,u=s?l?this.rankBottomY[d]:this.rankTopY[d]:l?this.rankTopY[f]:this.rankBottomY[f],t=e[4*b+1+q];s!=l&&(t=-t);var u=u+t,q=e[4*b+q],v=k.model.getTerminal(m,!0);this.layout.isPort(v)&&k.model.getParent(v)==p&&(q=k.view.getState(v),q=null!=q?q.x:p.geometry.x+a.source.width*v.geometry.x);this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(r.push(new mxPoint(q,u)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&r.push(new mxPoint(q,u+t))):(r.push(new mxPoint(u,
q)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&r.push(new mxPoint(u+t,q)))}q=a.x.length-1;u=t=-1;p=a.maxRank-1;for(s&&(q=0,t=a.x.length,u=1,p=a.minRank+1);a.maxRank!=a.minRank&&q!=t;q+=u){var v=a.x[q]+c,z=(this.rankTopY[p]+this.rankBottomY[p+1])/2,y=(this.rankTopY[p-1]+this.rankBottomY[p])/2;if(s)var x=z,z=y,y=x;this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(r.push(new mxPoint(v,z)),r.push(new mxPoint(v,y))):(r.push(new mxPoint(z,v)),r.push(new mxPoint(y,
v)));this.limitX=Math.max(this.limitX,v);p+=u}null!=e&&(q=s?2:0,u=s?l?this.rankTopY[f]:this.rankBottomY[f]:l?this.rankBottomY[d]:this.rankTopY[d],t=e[4*b+3-q],s!=l&&(t=-t),u-=t,q=e[4*b+2-q],s=k.model.getTerminal(m,!1),p=this.layout.getVisibleTerminal(m,!1),this.layout.isPort(s)&&k.model.getParent(s)==p&&(q=k.view.getState(s),q=null!=q?q.x:p.geometry.x+a.target.width*s.geometry.x),this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&
r.push(new mxPoint(q,u-t)),r.push(new mxPoint(q,u))):(this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&r.push(new mxPoint(u-t,q)),r.push(new mxPoint(u,q))));a.isReversed&&this.processReversedEdge(a,m);this.layout.setEdgePoints(m,r);c=0==c?this.parallelEdgeSpacing:0<c?-c:-c+this.parallelEdgeSpacing;b++}a.temp[0]=101207}};
mxCoordinateAssignment.prototype.setVertexLocation=function(a){var c=a.cell,f=a.x[0]-a.width/2,d=a.y[0]-a.height/2;this.rankTopY[a.minRank]=Math.min(this.rankTopY[a.minRank],d);this.rankBottomY[a.minRank]=Math.max(this.rankBottomY[a.minRank],d+a.height);this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?this.layout.setVertexLocation(c,f,d):this.layout.setVertexLocation(c,d,f);this.limitX=Math.max(this.limitX,f+a.width)};
mxCoordinateAssignment.prototype.processReversedEdge=function(a,c){};function WeightedCellSorter(a,c){this.cell=a;this.weightedValue=c}WeightedCellSorter.prototype.weightedValue=0;WeightedCellSorter.prototype.nudge=!1;WeightedCellSorter.prototype.visited=!1;WeightedCellSorter.prototype.rankIndex=null;WeightedCellSorter.prototype.cell=null;WeightedCellSorter.prototype.compare=function(a,c){return null!=a&&null!=c?c.weightedValue>a.weightedValue?-1:c.weightedValue<a.weightedValue?1:c.nudge?-1:1:0};
function mxSwimlaneOrdering(a){this.layout=a}mxSwimlaneOrdering.prototype=new mxHierarchicalLayoutStage;mxSwimlaneOrdering.prototype.constructor=mxSwimlaneOrdering;mxSwimlaneOrdering.prototype.layout=null;
mxSwimlaneOrdering.prototype.execute=function(a){a=this.layout.getModel();var c=mxUtils.clone(a.vertexMapper,null,!0),f=null;if(null!=a.roots)for(var d=a.roots,f=[],b=0;b<d.length;b++)mxCellPath.create(d[b]),f[b]=a.vertexMapper.get(d[b]);a.visit(function(b,a,d,f,n){f=null!=b&&b.swimlaneIndex==a.swimlaneIndex&&a.isAncestor(b);n=null!=b&&null!=d&&b.swimlaneIndex<a.swimlaneIndex&&d.source==a;f?(d.invert(),mxUtils.remove(d,b.connectsAsSource),a.connectsAsSource.push(d),b.connectsAsTarget.push(d),mxUtils.remove(d,
a.connectsAsTarget)):n&&(d.invert(),mxUtils.remove(d,b.connectsAsTarget),a.connectsAsTarget.push(d),b.connectsAsSource.push(d),mxUtils.remove(d,a.connectsAsSource));b=mxCellPath.create(a.cell);delete c[b]},f,!0,null)};function mxHierarchicalLayout(a,c,f){mxGraphLayout.call(this,a);this.orientation=null!=c?c:mxConstants.DIRECTION_NORTH;this.deterministic=null!=f?f:!0}var mxHierarchicalEdgeStyle={ORTHOGONAL:1,POLYLINE:2,STRAIGHT:3,CURVE:4};mxHierarchicalLayout.prototype=new mxGraphLayout;
mxHierarchicalLayout.prototype.constructor=mxHierarchicalLayout;mxHierarchicalLayout.prototype.roots=null;mxHierarchicalLayout.prototype.resizeParent=!1;mxHierarchicalLayout.prototype.maintainParentLocation=!1;mxHierarchicalLayout.prototype.moveParent=!1;mxHierarchicalLayout.prototype.parentBorder=0;mxHierarchicalLayout.prototype.intraCellSpacing=30;mxHierarchicalLayout.prototype.interRankCellSpacing=100;mxHierarchicalLayout.prototype.interHierarchySpacing=60;
mxHierarchicalLayout.prototype.parallelEdgeSpacing=10;mxHierarchicalLayout.prototype.orientation=mxConstants.DIRECTION_NORTH;mxHierarchicalLayout.prototype.fineTuning=!0;mxHierarchicalLayout.prototype.tightenToSource=!0;mxHierarchicalLayout.prototype.disableEdgeStyle=!0;mxHierarchicalLayout.prototype.traverseAncestors=!0;mxHierarchicalLayout.prototype.model=null;mxHierarchicalLayout.prototype.edgesCache=null;mxHierarchicalLayout.prototype.edgeSourceTermCache=null;
mxHierarchicalLayout.prototype.edgesTargetTermCache=null;mxHierarchicalLayout.prototype.edgeStyle=mxHierarchicalEdgeStyle.POLYLINE;mxHierarchicalLayout.prototype.getModel=function(){return this.model};
mxHierarchicalLayout.prototype.execute=function(a,c){this.parent=a;var f=this.graph.model;this.edgesCache=new mxDictionary;this.edgeSourceTermCache=new mxDictionary;this.edgesTargetTermCache=new mxDictionary;null!=c&&!(c instanceof Array)&&(c=[c]);if(!(null==c&&null==a)){this.parentY=this.parentX=null;if(a!=this.root&&null!=f.isVertex(a)&&this.maintainParentLocation){var d=this.graph.getCellGeometry(a);null!=d&&(this.parentX=d.x,this.parentY=d.y)}if(null!=c){for(var b=[],e=0;e<c.length;e++)(null!=
a?f.isAncestor(a,c[e]):1)&&f.isVertex(c[e])&&b.push(c[e]);this.roots=b}f.beginUpdate();try{this.run(a),this.resizeParent&&!this.graph.isCellCollapsed(a)&&this.graph.updateGroupBounds([a],this.parentBorder,this.moveParent),null!=this.parentX&&null!=this.parentY&&(d=this.graph.getCellGeometry(a),null!=d&&(d=d.clone(),d.x=this.parentX,d.y=this.parentY,f.setGeometry(a,d)))}finally{f.endUpdate()}}};
mxHierarchicalLayout.prototype.findRoots=function(a,c){var f=[];if(null!=a&&null!=c){var d=this.graph.model,b=null,e=-1E5,g;for(g in c){var k=c[g];if(d.isVertex(k)&&this.graph.isCellVisible(k)){for(var l=this.getEdges(k),n=0,m=0,p=0;p<l.length;p++)this.getVisibleTerminal(l[p],!0)==k?n++:m++;0==m&&0<n&&f.push(k);l=n-m;l>e&&(e=l,b=k)}}0==f.length&&null!=b&&f.push(b)}return f};
mxHierarchicalLayout.prototype.getEdges=function(a){var c=this.edgesCache.get(a);if(null!=c)return c;for(var f=this.graph.model,c=[],d=this.graph.isCellCollapsed(a),b=f.getChildCount(a),e=0;e<b;e++){var g=f.getChildAt(a,e);if(this.isPort(g))c=c.concat(f.getEdges(g,!0,!0));else if(d||!this.graph.isCellVisible(g))c=c.concat(f.getEdges(g,!0,!0))}c=c.concat(f.getEdges(a,!0,!0));f=[];for(e=0;e<c.length;e++)d=this.getVisibleTerminal(c[e],!0),b=this.getVisibleTerminal(c[e],!1),(d==b||d!=b&&(b==a&&(null==
this.parent||this.graph.isValidAncestor(d,this.parent,this.traverseAncestors))||d==a&&(null==this.parent||this.graph.isValidAncestor(b,this.parent,this.traverseAncestors))))&&f.push(c[e]);this.edgesCache.put(a,f);return f};
mxHierarchicalLayout.prototype.getVisibleTerminal=function(a,c){var f=this.edgesTargetTermCache;c&&(f=this.edgeSourceTermCache);var d=f.get(a);if(null!=d)return d;var d=this.graph.view.getState(a),b=null!=d?d.getVisibleTerminal(c):this.graph.view.getVisibleTerminal(a,c);null==b&&(b=null!=d?d.getVisibleTerminal(c):this.graph.view.getVisibleTerminal(a,c));null!=b&&(this.isPort(b)&&(b=this.graph.model.getParent(b)),f.put(a,b));return b};
mxHierarchicalLayout.prototype.run=function(a){var c=[],f=[];if(null==this.roots&&null!=a){var d={};this.filterDescendants(a,d);this.roots=[];var b=!0,e;for(e in d)if(null!=d[e]){b=!1;break}for(;!b;){for(var g=this.findRoots(a,d),b=0;b<g.length;b++){var k={};c.push(k);this.traverse(g[b],!0,null,f,k,c,d)}for(b=0;b<g.length;b++)this.roots.push(g[b]);b=!0;for(e in d)if(null!=d[e]){b=!1;break}}}else for(b=0;b<this.roots.length;b++)k={},c.push(k),this.traverse(this.roots[b],!0,null,f,k,c,null);for(b=f=
0;b<c.length;b++){k=c[b];d=[];for(e in k)d.push(k[e]);this.model=new mxGraphHierarchyModel(this,d,this.roots,a,this.tightenToSource);this.cycleStage(a);this.layeringStage();this.crossingStage(a);f=this.placementStage(f,a)}};
mxHierarchicalLayout.prototype.filterDescendants=function(a,c){var f=this.graph.model;f.isVertex(a)&&a!=this.parent&&this.graph.isCellVisible(a)&&(c[mxObjectIdentity.get(a)]=a);if(this.traverseAncestors||a==this.parent&&this.graph.isCellVisible(a))for(var d=f.getChildCount(a),b=0;b<d;b++){var e=f.getChildAt(a,b);this.isPort(e)||this.filterDescendants(e,c)}};mxHierarchicalLayout.prototype.isPort=function(a){return a.geometry.relative?!0:!1};
mxHierarchicalLayout.prototype.getEdgesBetween=function(a,c,f){f=null!=f?f:!1;for(var d=this.getEdges(a),b=[],e=0;e<d.length;e++){var g=this.getVisibleTerminal(d[e],!0),k=this.getVisibleTerminal(d[e],!1);(g==a&&k==c||!f&&g==c&&k==a)&&b.push(d[e])}return b};
mxHierarchicalLayout.prototype.traverse=function(a,c,f,d,b,e,g){if(null!=a&&null!=d){var k=mxObjectIdentity.get(a);if(null==d[k]&&(null==g||null!=g[k])){null==b[k]&&(b[k]=a);null==d[k]&&(d[k]=a);null!==g&&delete g[k];var l=this.getEdges(a),k=[];for(f=0;f<l.length;f++)k[f]=this.getVisibleTerminal(l[f],!0)==a;for(f=0;f<l.length;f++)if(!c||k[f]){a=this.getVisibleTerminal(l[f],!k[f]);for(var n=1,m=0;m<l.length;m++)if(m!=f){var p=k[m];this.getVisibleTerminal(l[m],!p)==a&&(p?n++:n--)}0<=n&&(b=this.traverse(a,
c,l[f],d,b,e,g))}}else if(null==b[k])for(f=0;f<e.length;f++)if(c=e[f],null!=c[k]){for(l in c)b[l]=c[l];e.splice(f,1);break}}return b};mxHierarchicalLayout.prototype.cycleStage=function(a){(new mxMinimumCycleRemover(this)).execute(a)};mxHierarchicalLayout.prototype.layeringStage=function(){this.model.initialRank();this.model.fixRanks()};mxHierarchicalLayout.prototype.crossingStage=function(a){(new mxMedianHybridCrossingReduction(this)).execute(a)};
mxHierarchicalLayout.prototype.placementStage=function(a,c){var f=new mxCoordinateAssignment(this,this.intraCellSpacing,this.interRankCellSpacing,this.orientation,a,this.parallelEdgeSpacing);f.fineTuning=this.fineTuning;f.execute(c);return f.limitX+this.interHierarchySpacing};function mxSwimlaneLayout(a,c,f){mxGraphLayout.call(this,a);this.orientation=null!=c?c:mxConstants.DIRECTION_NORTH;this.deterministic=null!=f?f:!0}mxSwimlaneLayout.prototype=new mxGraphLayout;
mxSwimlaneLayout.prototype.constructor=mxSwimlaneLayout;mxSwimlaneLayout.prototype.roots=null;mxSwimlaneLayout.prototype.swimlanes=null;mxSwimlaneLayout.prototype.dummyVertices=null;mxSwimlaneLayout.prototype.dummyVertexWidth=50;mxSwimlaneLayout.prototype.resizeParent=!1;mxSwimlaneLayout.prototype.maintainParentLocation=!1;mxSwimlaneLayout.prototype.moveParent=!1;mxSwimlaneLayout.prototype.parentBorder=30;mxSwimlaneLayout.prototype.intraCellSpacing=30;
mxSwimlaneLayout.prototype.interRankCellSpacing=100;mxSwimlaneLayout.prototype.interHierarchySpacing=60;mxSwimlaneLayout.prototype.parallelEdgeSpacing=10;mxSwimlaneLayout.prototype.orientation=mxConstants.DIRECTION_NORTH;mxSwimlaneLayout.prototype.fineTuning=!0;mxSwimlaneLayout.prototype.tightenToSource=!0;mxSwimlaneLayout.prototype.disableEdgeStyle=!0;mxSwimlaneLayout.prototype.traverseAncestors=!0;mxSwimlaneLayout.prototype.model=null;mxSwimlaneLayout.prototype.edgesCache=null;
mxHierarchicalLayout.prototype.edgeSourceTermCache=null;mxHierarchicalLayout.prototype.edgesTargetTermCache=null;mxHierarchicalLayout.prototype.edgeStyle=mxHierarchicalEdgeStyle.POLYLINE;mxSwimlaneLayout.prototype.getModel=function(){return this.model};
mxSwimlaneLayout.prototype.execute=function(a,c){this.parent=a;var f=this.graph.model;this.edgesCache=new mxDictionary;this.edgeSourceTermCache=new mxDictionary;this.edgesTargetTermCache=new mxDictionary;if(!(null==c||1>c.length)){null==a&&(a=f.getParent(c[0]));this.parentY=this.parentX=null;if(a!=this.root&&null!=f.isVertex(a)&&this.maintainParentLocation){var d=this.graph.getCellGeometry(a);null!=d&&(this.parentX=d.x,this.parentY=d.y)}this.swimlanes=c;this.dummyVertices=[];for(var b=0;b<c.length;b++){var e=
this.graph.getChildCells(c[b]);if(null==e||0==e.length)e=this.graph.insertVertex(c[b],null,null,0,0,this.dummyVertexWidth,0),this.dummyVertices.push(e)}f.beginUpdate();try{this.run(a),this.resizeParent&&!this.graph.isCellCollapsed(a)&&this.graph.updateGroupBounds([a],this.parentBorder,this.moveParent),null!=this.parentX&&null!=this.parentY&&(d=this.graph.getCellGeometry(a),null!=d&&(d=d.clone(),d.x=this.parentX,d.y=this.parentY,f.setGeometry(a,d))),this.graph.removeCells(this.dummyVertices)}finally{f.endUpdate()}}};
mxSwimlaneLayout.prototype.updateGroupBounds=function(){var a=[],c=this.model,f;for(f in c.edgeMapper)for(var d=c.edgeMapper[f],b=0;b<d.edges.length;b++)a.push(d.edges[b]);a=this.graph.getBoundingBoxFromGeometry(a,!0);c=[];for(b=0;b<this.swimlanes.length;b++){var e=this.swimlanes[b];f=this.graph.getCellGeometry(e);if(null!=f){var g=this.graph.getChildCells(e),d=this.graph.isSwimlane(e)?this.graph.getStartSize(e):new mxRectangle,e=this.graph.getBoundingBoxFromGeometry(g);c[b]=e;d=e.y+f.y-d.height-
this.parentBorder;f=e.y+f.y+e.height;null==a?a=new mxRectangle(0,d,0,f-d):(a.y=Math.min(a.y,d),f=Math.max(a.y+a.height,f),a.height=f-a.y)}}for(b=0;b<this.swimlanes.length;b++)if(e=this.swimlanes[b],f=this.graph.getCellGeometry(e),null!=f){var g=this.graph.getChildCells(e),d=this.graph.isSwimlane(e)?this.graph.getStartSize(e):new mxRectangle,k=f.clone(),l=0==b?this.parentBorder:this.interRankCellSpacing/2;k.x+=c[b].x-d.width-l;k.y=k.y+a.y-f.y-this.parentBorder;k.width=c[b].width+d.width+this.interRankCellSpacing/
2+l;k.height=a.height+d.height+2*this.parentBorder;this.graph.model.setGeometry(e,k);this.graph.moveCells(g,-c[b].x+d.width+l,f.y-a.y+this.parentBorder)}};
mxSwimlaneLayout.prototype.findRoots=function(a,c){var f=[];if(null!=a&&null!=c){var d=this.graph.model,b=null,e=-1E5,g;for(g in c){var k=c[g];if(null!=k&&d.isVertex(k)&&this.graph.isCellVisible(k)&&d.isAncestor(a,k)){for(var l=this.getEdges(k),n=0,m=0,p=0;p<l.length;p++){var r=this.getVisibleTerminal(l[p],!0);r==k?(r=this.getVisibleTerminal(l[p],!1),d.isAncestor(a,r)&&n++):d.isAncestor(a,r)&&m++}0==m&&0<n&&f.push(k);l=n-m;l>e&&(e=l,b=k)}}0==f.length&&null!=b&&f.push(b)}return f};
mxSwimlaneLayout.prototype.getEdges=function(a){var c=this.edgesCache.get(a);if(null!=c)return c;for(var f=this.graph.model,c=[],d=this.graph.isCellCollapsed(a),b=f.getChildCount(a),e=0;e<b;e++){var g=f.getChildAt(a,e);if(this.isPort(g))c=c.concat(f.getEdges(g,!0,!0));else if(d||!this.graph.isCellVisible(g))c=c.concat(f.getEdges(g,!0,!0))}c=c.concat(f.getEdges(a,!0,!0));f=[];for(e=0;e<c.length;e++)d=this.getVisibleTerminal(c[e],!0),b=this.getVisibleTerminal(c[e],!1),(d==b||d!=b&&(b==a&&(null==this.parent||
this.graph.isValidAncestor(d,this.parent,this.traverseAncestors))||d==a&&(null==this.parent||this.graph.isValidAncestor(b,this.parent,this.traverseAncestors))))&&f.push(c[e]);this.edgesCache.put(a,f);return f};
mxSwimlaneLayout.prototype.getVisibleTerminal=function(a,c){var f=this.edgesTargetTermCache;c&&(f=this.edgeSourceTermCache);var d=f.get(a);if(null!=d)return d;var d=this.graph.view.getState(a),b=null!=d?d.getVisibleTerminal(c):this.graph.view.getVisibleTerminal(a,c);null==b&&(b=null!=d?d.getVisibleTerminal(c):this.graph.view.getVisibleTerminal(a,c));null!=b&&(this.isPort(b)&&(b=this.graph.model.getParent(b)),f.put(a,b));return b};
mxSwimlaneLayout.prototype.run=function(a){var c=[],f=[];if(null!=this.swimlanes&&0<this.swimlanes.length&&null!=a){for(var d={},b=0;b<this.swimlanes.length;b++)this.filterDescendants(this.swimlanes[b],d);this.roots=[];var b=!0,e;for(e in d)if(null!=d[e]){b=!1;break}for(var g=0;!b&&g<this.swimlanes.length;){var k=this.findRoots(this.swimlanes[g],d);if(0==k.length)g++;else{for(b=0;b<k.length;b++){var l={};c.push(l);this.traverse(k[b],!0,null,f,l,c,d,g)}for(b=0;b<k.length;b++)this.roots.push(k[b]);
b=!0;for(e in d)if(null!=d[e]){b=!1;break}}}}else for(b=0;b<this.roots.length;b++)l={},c.push(l),this.traverse(this.roots[b],!0,null,f,l,c,null);c=[];for(e in f)c.push(f[e]);this.model=new mxSwimlaneModel(this,c,this.roots,a,this.tightenToSource);this.cycleStage(a);this.layeringStage();this.crossingStage(a);initialX=this.placementStage(0,a)};
mxSwimlaneLayout.prototype.filterDescendants=function(a,c){var f=this.graph.model;f.isVertex(a)&&a!=this.parent&&(f.getParent(a)!=this.parent&&this.graph.isCellVisible(a))&&(c[mxObjectIdentity.get(a)]=a);if(this.traverseAncestors||a==this.parent&&this.graph.isCellVisible(a))for(var d=f.getChildCount(a),b=0;b<d;b++){var e=f.getChildAt(a,b);this.isPort(e)||this.filterDescendants(e,c)}};mxSwimlaneLayout.prototype.isPort=function(a){return a.geometry.relative?!0:!1};
mxSwimlaneLayout.prototype.getEdgesBetween=function(a,c,f){f=null!=f?f:!1;for(var d=this.getEdges(a),b=[],e=0;e<d.length;e++){var g=this.getVisibleTerminal(d[e],!0),k=this.getVisibleTerminal(d[e],!1);(g==a&&k==c||!f&&g==c&&k==a)&&b.push(d[e])}return b};
mxSwimlaneLayout.prototype.traverse=function(a,c,f,d,b,e,g,k){if(null!=a&&null!=d){var l=mxObjectIdentity.get(a);if(null==d[l]&&(null==g||null!=g[l])){null==b[l]&&(b[l]=a);null==d[l]&&(d[l]=a);null!==g&&delete g[l];var n=this.getEdges(a),l=this.graph.model;for(f=0;f<n.length;f++){var m=this.getVisibleTerminal(n[f],!0),p=m==a;p&&(m=this.getVisibleTerminal(n[f],!1));for(var r=0,r=0;r<this.swimlanes.length&&!l.isAncestor(this.swimlanes[r],m);r++);if(!(r>=this.swimlanes.length)&&(r>k||(!c||p)&&r==k))b=
this.traverse(m,c,n[f],d,b,e,g,r)}}else if(null==b[l])for(f=0;f<e.length;f++)if(a=e[f],null!=a[l]){for(n in a)b[n]=a[n];e.splice(f,1);break}}return b};mxSwimlaneLayout.prototype.cycleStage=function(a){(new mxSwimlaneOrdering(this)).execute(a)};mxSwimlaneLayout.prototype.layeringStage=function(){this.model.initialRank();this.model.fixRanks()};mxSwimlaneLayout.prototype.crossingStage=function(a){(new mxMedianHybridCrossingReduction(this)).execute(a)};
mxSwimlaneLayout.prototype.placementStage=function(a,c){var f=new mxCoordinateAssignment(this,this.intraCellSpacing,this.interRankCellSpacing,this.orientation,a,this.parallelEdgeSpacing);f.fineTuning=this.fineTuning;f.execute(c);return f.limitX+this.interHierarchySpacing};function mxGraphModel(a){this.currentEdit=this.createUndoableEdit();null!=a?this.setRoot(a):this.clear()}mxGraphModel.prototype=new mxEventSource;mxGraphModel.prototype.constructor=mxGraphModel;mxGraphModel.prototype.root=null;
mxGraphModel.prototype.cells=null;mxGraphModel.prototype.maintainEdgeParent=!0;mxGraphModel.prototype.ignoreRelativeEdgeParent=!0;mxGraphModel.prototype.createIds=!0;mxGraphModel.prototype.prefix="";mxGraphModel.prototype.postfix="";mxGraphModel.prototype.nextId=0;mxGraphModel.prototype.currentEdit=null;mxGraphModel.prototype.updateLevel=0;mxGraphModel.prototype.endingUpdate=!1;mxGraphModel.prototype.clear=function(){this.setRoot(this.createRoot())};mxGraphModel.prototype.isCreateIds=function(){return this.createIds};
mxGraphModel.prototype.setCreateIds=function(a){this.createIds=a};mxGraphModel.prototype.createRoot=function(){var a=new mxCell;a.insert(new mxCell);return a};mxGraphModel.prototype.getCell=function(a){return null!=this.cells?this.cells[a]:null};mxGraphModel.prototype.filterCells=function(a,c){var f=null;if(null!=a)for(var f=[],d=0;d<a.length;d++)c(a[d])&&f.push(a[d]);return f};mxGraphModel.prototype.getDescendants=function(a){return this.filterDescendants(null,a)};
mxGraphModel.prototype.filterDescendants=function(a,c){var f=[];c=c||this.getRoot();(null==a||a(c))&&f.push(c);for(var d=this.getChildCount(c),b=0;b<d;b++)var e=this.getChildAt(c,b),f=f.concat(this.filterDescendants(a,e));return f};mxGraphModel.prototype.getRoot=function(a){var c=a||this.root;if(null!=a)for(;null!=a;)c=a,a=this.getParent(a);return c};mxGraphModel.prototype.setRoot=function(a){this.execute(new mxRootChange(this,a));return a};
mxGraphModel.prototype.rootChanged=function(a){var c=this.root;this.root=a;this.nextId=0;this.cells=null;this.cellAdded(a);return c};mxGraphModel.prototype.isRoot=function(a){return null!=a&&this.root==a};mxGraphModel.prototype.isLayer=function(a){return this.isRoot(this.getParent(a))};mxGraphModel.prototype.isAncestor=function(a,c){for(;null!=c&&c!=a;)c=this.getParent(c);return c==a};mxGraphModel.prototype.contains=function(a){return this.isAncestor(this.root,a)};
mxGraphModel.prototype.getParent=function(a){return null!=a?a.getParent():null};mxGraphModel.prototype.add=function(a,c,f){if(c!=a&&null!=a&&null!=c){null==f&&(f=this.getChildCount(a));var d=a!=this.getParent(c);this.execute(new mxChildChange(this,a,c,f));this.maintainEdgeParent&&d&&this.updateEdgeParents(c)}return c};
mxGraphModel.prototype.cellAdded=function(a){if(null!=a){null==a.getId()&&this.createIds&&a.setId(this.createId(a));if(null!=a.getId()){var c=this.getCell(a.getId());if(c!=a){for(;null!=c;)a.setId(this.createId(a)),c=this.getCell(a.getId());null==this.cells&&(this.cells={});this.cells[a.getId()]=a}}mxUtils.isNumeric(a.getId())&&(this.nextId=Math.max(this.nextId,a.getId()));for(var c=this.getChildCount(a),f=0;f<c;f++)this.cellAdded(this.getChildAt(a,f))}};
mxGraphModel.prototype.createId=function(a){a=this.nextId;this.nextId++;return this.prefix+a+this.postfix};mxGraphModel.prototype.updateEdgeParents=function(a,c){c=c||this.getRoot(a);for(var f=this.getChildCount(a),d=0;d<f;d++){var b=this.getChildAt(a,d);this.updateEdgeParents(b,c)}b=this.getEdgeCount(a);f=[];for(d=0;d<b;d++)f.push(this.getEdgeAt(a,d));for(d=0;d<f.length;d++)b=f[d],this.isAncestor(c,b)&&this.updateEdgeParent(b,c)};
mxGraphModel.prototype.updateEdgeParent=function(a,c){for(var f=this.getTerminal(a,!0),d=this.getTerminal(a,!1),b=null;null!=f&&!this.isEdge(f)&&null!=f.geometry&&f.geometry.relative;)f=this.getParent(f);for(;null!=d&&this.ignoreRelativeEdgeParent&&!this.isEdge(d)&&null!=d.geometry&&d.geometry.relative;)d=this.getParent(d);if(this.isAncestor(c,f)&&this.isAncestor(c,d)&&(b=f==d?this.getParent(f):this.getNearestCommonAncestor(f,d),null!=b&&(this.getParent(b)!=this.root||this.isAncestor(b,a))&&this.getParent(a)!=
b)){f=this.getGeometry(a);if(null!=f){var e=this.getOrigin(this.getParent(a)),g=this.getOrigin(b),d=g.x-e.x,e=g.y-e.y,f=f.clone();f.translate(-d,-e);this.setGeometry(a,f)}this.add(b,a,this.getChildCount(b))}};mxGraphModel.prototype.getOrigin=function(a){var c=null;null!=a?(c=this.getOrigin(this.getParent(a)),this.isEdge(a)||(a=this.getGeometry(a),null!=a&&(c.x+=a.x,c.y+=a.y))):c=new mxPoint;return c};
mxGraphModel.prototype.getNearestCommonAncestor=function(a,c){if(null!=a&&null!=c){var f=mxCellPath.create(c);if(null!=f&&0<f.length){var d=a,b=mxCellPath.create(d);if(f.length<b.length)var d=c,e=b,b=f,f=e;for(;null!=d;){e=this.getParent(d);if(0==f.indexOf(b+mxCellPath.PATH_SEPARATOR)&&null!=e)return d;b=mxCellPath.getParentPath(b);d=e}}}return null};mxGraphModel.prototype.remove=function(a){a==this.root?this.setRoot(null):null!=this.getParent(a)&&this.execute(new mxChildChange(this,null,a));return a};
mxGraphModel.prototype.cellRemoved=function(a){if(null!=a&&null!=this.cells){for(var c=this.getChildCount(a)-1;0<=c;c--)this.cellRemoved(this.getChildAt(a,c));null!=this.cells&&null!=a.getId()&&delete this.cells[a.getId()]}};mxGraphModel.prototype.parentForCellChanged=function(a,c,f){var d=this.getParent(a);null!=c?(c!=d||d.getIndex(a)!=f)&&c.insert(a,f):null!=d&&(f=d.getIndex(a),d.remove(f));!this.contains(d)&&null!=c?this.cellAdded(a):null==c&&this.cellRemoved(a);return d};
mxGraphModel.prototype.getChildCount=function(a){return null!=a?a.getChildCount():0};mxGraphModel.prototype.getChildAt=function(a,c){return null!=a?a.getChildAt(c):null};mxGraphModel.prototype.getChildren=function(a){return null!=a?a.children:null};mxGraphModel.prototype.getChildVertices=function(a){return this.getChildCells(a,!0,!1)};mxGraphModel.prototype.getChildEdges=function(a){return this.getChildCells(a,!1,!0)};
mxGraphModel.prototype.getChildCells=function(a,c,f){c=null!=c?c:!1;f=null!=f?f:!1;for(var d=this.getChildCount(a),b=[],e=0;e<d;e++){var g=this.getChildAt(a,e);(!f&&!c||f&&this.isEdge(g)||c&&this.isVertex(g))&&b.push(g)}return b};mxGraphModel.prototype.getTerminal=function(a,c){return null!=a?a.getTerminal(c):null};
mxGraphModel.prototype.setTerminal=function(a,c,f){var d=c!=this.getTerminal(a,f);this.execute(new mxTerminalChange(this,a,c,f));this.maintainEdgeParent&&d&&this.updateEdgeParent(a,this.getRoot());return c};mxGraphModel.prototype.setTerminals=function(a,c,f){this.beginUpdate();try{this.setTerminal(a,c,!0),this.setTerminal(a,f,!1)}finally{this.endUpdate()}};
mxGraphModel.prototype.terminalForCellChanged=function(a,c,f){var d=this.getTerminal(a,f);null!=c?c.insertEdge(a,f):null!=d&&d.removeEdge(a,f);return d};mxGraphModel.prototype.getEdgeCount=function(a){return null!=a?a.getEdgeCount():0};mxGraphModel.prototype.getEdgeAt=function(a,c){return null!=a?a.getEdgeAt(c):null};mxGraphModel.prototype.getDirectedEdgeCount=function(a,c,f){for(var d=0,b=this.getEdgeCount(a),e=0;e<b;e++){var g=this.getEdgeAt(a,e);g!=f&&this.getTerminal(g,c)==a&&d++}return d};
mxGraphModel.prototype.getConnections=function(a){return this.getEdges(a,!0,!0,!1)};mxGraphModel.prototype.getIncomingEdges=function(a){return this.getEdges(a,!0,!1,!1)};mxGraphModel.prototype.getOutgoingEdges=function(a){return this.getEdges(a,!1,!0,!1)};
mxGraphModel.prototype.getEdges=function(a,c,f,d){c=null!=c?c:!0;f=null!=f?f:!0;d=null!=d?d:!0;for(var b=this.getEdgeCount(a),e=[],g=0;g<b;g++){var k=this.getEdgeAt(a,g),l=this.getTerminal(k,!0),n=this.getTerminal(k,!1);(d&&l==n||l!=n&&(c&&n==a||f&&l==a))&&e.push(k)}return e};
mxGraphModel.prototype.getEdgesBetween=function(a,c,f){f=null!=f?f:!1;var d=this.getEdgeCount(a),b=this.getEdgeCount(c),e=a,g=d;b<d&&(g=b,e=c);d=[];for(b=0;b<g;b++){var k=this.getEdgeAt(e,b),l=this.getTerminal(k,!0),n=this.getTerminal(k,!1),m=n==a&&l==c;(l==a&&n==c||!f&&m)&&d.push(k)}return d};
mxGraphModel.prototype.getOpposites=function(a,c,f,d){f=null!=f?f:!0;d=null!=d?d:!0;var b=[];if(null!=a)for(var e=0;e<a.length;e++){var g=this.getTerminal(a[e],!0),k=this.getTerminal(a[e],!1);g==c&&null!=k&&k!=c&&d?b.push(k):k==c&&null!=g&&(g!=c&&f)&&b.push(g)}return b};
mxGraphModel.prototype.getTopmostCells=function(a){for(var c=new mxDictionary,f=[],d=0;d<a.length;d++)c.put(a[d],!0);for(d=0;d<a.length;d++){for(var b=a[d],e=!0,g=this.getParent(b);null!=g;){if(c.get(g)){e=!1;break}g=this.getParent(g)}e&&f.push(b)}return f};mxGraphModel.prototype.isVertex=function(a){return null!=a?a.isVertex():!1};mxGraphModel.prototype.isEdge=function(a){return null!=a?a.isEdge():!1};mxGraphModel.prototype.isConnectable=function(a){return null!=a?a.isConnectable():!1};
mxGraphModel.prototype.getValue=function(a){return null!=a?a.getValue():null};mxGraphModel.prototype.setValue=function(a,c){this.execute(new mxValueChange(this,a,c));return c};mxGraphModel.prototype.valueForCellChanged=function(a,c){return a.valueChanged(c)};mxGraphModel.prototype.getGeometry=function(a){return null!=a?a.getGeometry():null};mxGraphModel.prototype.setGeometry=function(a,c){c!=this.getGeometry(a)&&this.execute(new mxGeometryChange(this,a,c));return c};
mxGraphModel.prototype.geometryForCellChanged=function(a,c){var f=this.getGeometry(a);a.setGeometry(c);return f};mxGraphModel.prototype.getStyle=function(a){return null!=a?a.getStyle():null};mxGraphModel.prototype.setStyle=function(a,c){c!=this.getStyle(a)&&this.execute(new mxStyleChange(this,a,c));return c};mxGraphModel.prototype.styleForCellChanged=function(a,c){var f=this.getStyle(a);a.setStyle(c);return f};mxGraphModel.prototype.isCollapsed=function(a){return null!=a?a.isCollapsed():!1};
mxGraphModel.prototype.setCollapsed=function(a,c){c!=this.isCollapsed(a)&&this.execute(new mxCollapseChange(this,a,c));return c};mxGraphModel.prototype.collapsedStateForCellChanged=function(a,c){var f=this.isCollapsed(a);a.setCollapsed(c);return f};mxGraphModel.prototype.isVisible=function(a){return null!=a?a.isVisible():!1};mxGraphModel.prototype.setVisible=function(a,c){c!=this.isVisible(a)&&this.execute(new mxVisibleChange(this,a,c));return c};
mxGraphModel.prototype.visibleStateForCellChanged=function(a,c){var f=this.isVisible(a);a.setVisible(c);return f};mxGraphModel.prototype.execute=function(a){a.execute();this.beginUpdate();this.currentEdit.add(a);this.fireEvent(new mxEventObject(mxEvent.EXECUTE,"change",a));this.fireEvent(new mxEventObject(mxEvent.EXECUTED,"change",a));this.endUpdate()};mxGraphModel.prototype.beginUpdate=function(){this.updateLevel++;this.fireEvent(new mxEventObject(mxEvent.BEGIN_UPDATE));1==this.updateLevel&&this.fireEvent(new mxEventObject(mxEvent.START_EDIT))};
mxGraphModel.prototype.endUpdate=function(){this.updateLevel--;0==this.updateLevel&&this.fireEvent(new mxEventObject(mxEvent.END_EDIT));if(!this.endingUpdate){this.endingUpdate=0==this.updateLevel;this.fireEvent(new mxEventObject(mxEvent.END_UPDATE,"edit",this.currentEdit));try{if(this.endingUpdate&&!this.currentEdit.isEmpty()){this.fireEvent(new mxEventObject(mxEvent.BEFORE_UNDO,"edit",this.currentEdit));var a=this.currentEdit;this.currentEdit=this.createUndoableEdit();a.notify();this.fireEvent(new mxEventObject(mxEvent.UNDO,
"edit",a))}}finally{this.endingUpdate=!1}}};mxGraphModel.prototype.createUndoableEdit=function(){var a=new mxUndoableEdit(this,!0);a.notify=function(){a.source.fireEvent(new mxEventObject(mxEvent.CHANGE,"edit",a,"changes",a.changes));a.source.fireEvent(new mxEventObject(mxEvent.NOTIFY,"edit",a,"changes",a.changes))};return a};
mxGraphModel.prototype.mergeChildren=function(a,c,f){f=null!=f?f:!0;this.beginUpdate();try{var d={};this.mergeChildrenImpl(a,c,f,d);for(var b in d){var e=d[b],g=this.getTerminal(e,!0);null!=g&&(g=d[mxCellPath.create(g)],this.setTerminal(e,g,!0));g=this.getTerminal(e,!1);null!=g&&(g=d[mxCellPath.create(g)],this.setTerminal(e,g,!1))}}finally{this.endUpdate()}};
mxGraphModel.prototype.mergeChildrenImpl=function(a,c,f,d){this.beginUpdate();try{for(var b=a.getChildCount(),e=0;e<b;e++){var g=a.getChildAt(e);if("function"==typeof g.getId){var k=g.getId(),l=null!=k&&(!this.isEdge(g)||!f)?this.getCell(k):null;if(null==l){var n=g.clone();n.setId(k);n.setTerminal(g.getTerminal(!0),!0);n.setTerminal(g.getTerminal(!1),!1);l=c.insert(n);this.cellAdded(l)}d[mxCellPath.create(g)]=l;this.mergeChildrenImpl(g,l,f,d)}}}finally{this.endUpdate()}};
mxGraphModel.prototype.getParents=function(a){var c=[];if(null!=a)for(var f=new mxDictionary,d=0;d<a.length;d++){var b=this.getParent(a[d]);null!=b&&!f.get(b)&&(f.put(b,!0),c.push(b))}return c};mxGraphModel.prototype.cloneCell=function(a){return null!=a?this.cloneCells([a],!0)[0]:null};
mxGraphModel.prototype.cloneCells=function(a,c,f){f=null!=f?f:{};for(var d=[],b=0;b<a.length;b++)null!=a[b]?d.push(this.cloneCellImpl(a[b],f,c)):d.push(null);for(b=0;b<d.length;b++)null!=d[b]&&this.restoreClone(d[b],a[b],f);return d};mxGraphModel.prototype.cloneCellImpl=function(a,c,f){var d=this.cellCloned(a);c[mxObjectIdentity.get(a)]=d;if(f){f=this.getChildCount(a);for(var b=0;b<f;b++){var e=this.cloneCellImpl(this.getChildAt(a,b),c,!0);d.insert(e)}}return d};
mxGraphModel.prototype.cellCloned=function(a){return a.clone()};mxGraphModel.prototype.restoreClone=function(a,c,f){var d=this.getTerminal(c,!0);null!=d&&(d=f[mxObjectIdentity.get(d)],null!=d&&d.insertEdge(a,!0));d=this.getTerminal(c,!1);null!=d&&(d=f[mxObjectIdentity.get(d)],null!=d&&d.insertEdge(a,!1));for(var d=this.getChildCount(a),b=0;b<d;b++)this.restoreClone(this.getChildAt(a,b),this.getChildAt(c,b),f)};function mxRootChange(a,c){this.model=a;this.previous=this.root=c}
mxRootChange.prototype.execute=function(){this.root=this.previous;this.previous=this.model.rootChanged(this.previous)};function mxChildChange(a,c,f,d){this.model=a;this.previous=this.parent=c;this.child=f;this.previousIndex=this.index=d}
mxChildChange.prototype.execute=function(){var a=this.model.getParent(this.child),c=null!=a?a.getIndex(this.child):0;null==this.previous&&this.connect(this.child,!1);a=this.model.parentForCellChanged(this.child,this.previous,this.previousIndex);null!=this.previous&&this.connect(this.child,!0);this.parent=this.previous;this.previous=a;this.index=this.previousIndex;this.previousIndex=c};
mxChildChange.prototype.connect=function(a,c){c=null!=c?c:!0;var f=a.getTerminal(!0),d=a.getTerminal(!1);null!=f&&(c?this.model.terminalForCellChanged(a,f,!0):this.model.terminalForCellChanged(a,null,!0));null!=d&&(c?this.model.terminalForCellChanged(a,d,!1):this.model.terminalForCellChanged(a,null,!1));a.setTerminal(f,!0);a.setTerminal(d,!1);f=this.model.getChildCount(a);for(d=0;d<f;d++)this.connect(this.model.getChildAt(a,d),c)};
function mxTerminalChange(a,c,f,d){this.model=a;this.cell=c;this.previous=this.terminal=f;this.source=d}mxTerminalChange.prototype.execute=function(){this.terminal=this.previous;this.previous=this.model.terminalForCellChanged(this.cell,this.previous,this.source)};function mxValueChange(a,c,f){this.model=a;this.cell=c;this.previous=this.value=f}mxValueChange.prototype.execute=function(){this.value=this.previous;this.previous=this.model.valueForCellChanged(this.cell,this.previous)};
function mxStyleChange(a,c,f){this.model=a;this.cell=c;this.previous=this.style=f}mxStyleChange.prototype.execute=function(){this.style=this.previous;this.previous=this.model.styleForCellChanged(this.cell,this.previous)};function mxGeometryChange(a,c,f){this.model=a;this.cell=c;this.previous=this.geometry=f}mxGeometryChange.prototype.execute=function(){this.geometry=this.previous;this.previous=this.model.geometryForCellChanged(this.cell,this.previous)};
function mxCollapseChange(a,c,f){this.model=a;this.cell=c;this.previous=this.collapsed=f}mxCollapseChange.prototype.execute=function(){this.collapsed=this.previous;this.previous=this.model.collapsedStateForCellChanged(this.cell,this.previous)};function mxVisibleChange(a,c,f){this.model=a;this.cell=c;this.previous=this.visible=f}mxVisibleChange.prototype.execute=function(){this.visible=this.previous;this.previous=this.model.visibleStateForCellChanged(this.cell,this.previous)};
function mxCellAttributeChange(a,c,f){this.cell=a;this.attribute=c;this.previous=this.value=f}mxCellAttributeChange.prototype.execute=function(){var a=this.cell.getAttribute(this.attribute);null==this.previous?this.cell.value.removeAttribute(this.attribute):this.cell.setAttribute(this.attribute,this.previous);this.previous=a};function mxCell(a,c,f){this.value=a;this.setGeometry(c);this.setStyle(f);if(null!=this.onInit)this.onInit()}mxCell.prototype.id=null;mxCell.prototype.value=null;
mxCell.prototype.geometry=null;mxCell.prototype.style=null;mxCell.prototype.vertex=!1;mxCell.prototype.edge=!1;mxCell.prototype.connectable=!0;mxCell.prototype.visible=!0;mxCell.prototype.collapsed=!1;mxCell.prototype.parent=null;mxCell.prototype.source=null;mxCell.prototype.target=null;mxCell.prototype.children=null;mxCell.prototype.edges=null;mxCell.prototype.mxTransient="id value parent source target children edges".split(" ");mxCell.prototype.getId=function(){return this.id};
mxCell.prototype.setId=function(a){this.id=a};mxCell.prototype.getValue=function(){return this.value};mxCell.prototype.setValue=function(a){this.value=a};mxCell.prototype.valueChanged=function(a){var c=this.getValue();this.setValue(a);return c};mxCell.prototype.getGeometry=function(){return this.geometry};mxCell.prototype.setGeometry=function(a){this.geometry=a};mxCell.prototype.getStyle=function(){return this.style};mxCell.prototype.setStyle=function(a){this.style=a};
mxCell.prototype.isVertex=function(){return 0!=this.vertex};mxCell.prototype.setVertex=function(a){this.vertex=a};mxCell.prototype.isEdge=function(){return 0!=this.edge};mxCell.prototype.setEdge=function(a){this.edge=a};mxCell.prototype.isConnectable=function(){return 0!=this.connectable};mxCell.prototype.setConnectable=function(a){this.connectable=a};mxCell.prototype.isVisible=function(){return 0!=this.visible};mxCell.prototype.setVisible=function(a){this.visible=a};
mxCell.prototype.isCollapsed=function(){return 0!=this.collapsed};mxCell.prototype.setCollapsed=function(a){this.collapsed=a};mxCell.prototype.getParent=function(){return this.parent};mxCell.prototype.setParent=function(a){this.parent=a};mxCell.prototype.getTerminal=function(a){return a?this.source:this.target};mxCell.prototype.setTerminal=function(a,c){c?this.source=a:this.target=a;return a};mxCell.prototype.getChildCount=function(){return null==this.children?0:this.children.length};
mxCell.prototype.getIndex=function(a){return mxUtils.indexOf(this.children,a)};mxCell.prototype.getChildAt=function(a){return null==this.children?null:this.children[a]};mxCell.prototype.insert=function(a,c){null!=a&&(null==c&&(c=this.getChildCount(),a.getParent()==this&&c--),a.removeFromParent(),a.setParent(this),null==this.children?(this.children=[],this.children.push(a)):this.children.splice(c,0,a));return a};
mxCell.prototype.remove=function(a){var c=null;null!=this.children&&0<=a&&(c=this.getChildAt(a),null!=c&&(this.children.splice(a,1),c.setParent(null)));return c};mxCell.prototype.removeFromParent=function(){if(null!=this.parent){var a=this.parent.getIndex(this);this.parent.remove(a)}};mxCell.prototype.getEdgeCount=function(){return null==this.edges?0:this.edges.length};mxCell.prototype.getEdgeIndex=function(a){return mxUtils.indexOf(this.edges,a)};
mxCell.prototype.getEdgeAt=function(a){return null==this.edges?null:this.edges[a]};mxCell.prototype.insertEdge=function(a,c){if(null!=a&&(a.removeFromTerminal(c),a.setTerminal(this,c),null==this.edges||a.getTerminal(!c)!=this||0>mxUtils.indexOf(this.edges,a)))null==this.edges&&(this.edges=[]),this.edges.push(a);return a};mxCell.prototype.removeEdge=function(a,c){if(null!=a){if(a.getTerminal(!c)!=this&&null!=this.edges){var f=this.getEdgeIndex(a);0<=f&&this.edges.splice(f,1)}a.setTerminal(null,c)}return a};
mxCell.prototype.removeFromTerminal=function(a){var c=this.getTerminal(a);null!=c&&c.removeEdge(this,a)};mxCell.prototype.getAttribute=function(a,c){var f=this.getValue();return(null!=f&&f.nodeType==mxConstants.NODETYPE_ELEMENT?f.getAttribute(a):null)||c};mxCell.prototype.setAttribute=function(a,c){var f=this.getValue();null!=f&&f.nodeType==mxConstants.NODETYPE_ELEMENT&&f.setAttribute(a,c)};
mxCell.prototype.clone=function(){var a=mxUtils.clone(this,this.mxTransient);a.setValue(this.cloneValue());return a};mxCell.prototype.cloneValue=function(){var a=this.getValue();null!=a&&("function"==typeof a.clone?a=a.clone():isNaN(a.nodeType)||(a=a.cloneNode(!0)));return a};function mxGeometry(a,c,f,d){mxRectangle.call(this,a,c,f,d)}mxGeometry.prototype=new mxRectangle;mxGeometry.prototype.constructor=mxGeometry;mxGeometry.prototype.TRANSLATE_CONTROL_POINTS=!0;
mxGeometry.prototype.alternateBounds=null;mxGeometry.prototype.sourcePoint=null;mxGeometry.prototype.targetPoint=null;mxGeometry.prototype.points=null;mxGeometry.prototype.offset=null;mxGeometry.prototype.relative=!1;
mxGeometry.prototype.swap=function(){if(null!=this.alternateBounds){var a=new mxRectangle(this.x,this.y,this.width,this.height);this.x=this.alternateBounds.x;this.y=this.alternateBounds.y;this.width=this.alternateBounds.width;this.height=this.alternateBounds.height;this.alternateBounds=a}};mxGeometry.prototype.getTerminalPoint=function(a){return a?this.sourcePoint:this.targetPoint};mxGeometry.prototype.setTerminalPoint=function(a,c){c?this.sourcePoint=a:this.targetPoint=a;return a};
mxGeometry.prototype.rotate=function(a,c){var f=mxUtils.toRadians(a),d=Math.cos(f),f=Math.sin(f);if(!this.relative){var b=new mxPoint(this.getCenterX(),this.getCenterY()),b=mxUtils.getRotatedPoint(b,d,f,c);this.x=Math.round(b.x-this.width/2);this.y=Math.round(b.y-this.height/2)}null!=this.sourcePoint&&(b=mxUtils.getRotatedPoint(this.sourcePoint,d,f,c),this.sourcePoint.x=Math.round(b.x),this.sourcePoint.y=Math.round(b.y));null!=this.targetPoint&&(b=mxUtils.getRotatedPoint(this.targetPoint,d,f,c),this.targetPoint.x=
Math.round(b.x),this.targetPoint.y=Math.round(b.y));if(null!=this.points)for(var e=0;e<this.points.length;e++)null!=this.points[e]&&(b=mxUtils.getRotatedPoint(this.points[e],d,f,c),this.points[e].x=Math.round(b.x),this.points[e].y=Math.round(b.y))};
mxGeometry.prototype.translate=function(a,c){a=parseFloat(a);c=parseFloat(c);this.relative||(this.x=parseFloat(this.x)+a,this.y=parseFloat(this.y)+c);null!=this.sourcePoint&&(this.sourcePoint.x=parseFloat(this.sourcePoint.x)+a,this.sourcePoint.y=parseFloat(this.sourcePoint.y)+c);null!=this.targetPoint&&(this.targetPoint.x=parseFloat(this.targetPoint.x)+a,this.targetPoint.y=parseFloat(this.targetPoint.y)+c);if(this.TRANSLATE_CONTROL_POINTS&&null!=this.points)for(var f=0;f<this.points.length;f++)null!=
this.points[f]&&(this.points[f].x=parseFloat(this.points[f].x)+a,this.points[f].y=parseFloat(this.points[f].y)+c)};
mxGeometry.prototype.scale=function(a,c,f){a=parseFloat(a);c=parseFloat(c);null!=this.sourcePoint&&(this.sourcePoint.x=parseFloat(this.sourcePoint.x)*a,this.sourcePoint.y=parseFloat(this.sourcePoint.y)*c);null!=this.targetPoint&&(this.targetPoint.x=parseFloat(this.targetPoint.x)*a,this.targetPoint.y=parseFloat(this.targetPoint.y)*c);if(null!=this.points)for(var d=0;d<this.points.length;d++)null!=this.points[d]&&(this.points[d].x=parseFloat(this.points[d].x)*a,this.points[d].y=parseFloat(this.points[d].y)*
c);this.relative||(this.x=parseFloat(this.x)*a,this.y=parseFloat(this.y)*c,f&&(c=a=Math.min(a,c)),this.width=parseFloat(this.width)*a,this.height=parseFloat(this.height)*c)};
mxGeometry.prototype.equals=function(a){return mxRectangle.prototype.equals.apply(this,arguments)&&this.relative==a.relative&&(null==this.sourcePoint&&null==a.sourcePoint||null!=this.sourcePoint&&this.sourcePoint.equals(a.sourcePoint))&&(null==this.targetPoint&&null==a.targetPoint||null!=this.targetPoint&&this.targetPoint.equals(a.targetPoint))&&(null==this.points&&null==a.points||null!=this.points&&mxUtils.equalPoints(this.points,a.points))&&(null==this.alternateBounds&&null==a.alternateBounds||
null!=this.alternateBounds&&this.alternateBounds.equals(a.alternateBounds))&&(null==this.offset&&null==a.offset||null!=this.offset&&this.offset.equals(a.offset))};
var mxCellPath={PATH_SEPARATOR:".",create:function(a){var c="";if(null!=a)for(var f=a.getParent();null!=f;)c=f.getIndex(a)+mxCellPath.PATH_SEPARATOR+c,a=f,f=a.getParent();a=c.length;1<a&&(c=c.substring(0,a-1));return c},getParentPath:function(a){if(null!=a){var c=a.lastIndexOf(mxCellPath.PATH_SEPARATOR);if(0<=c)return a.substring(0,c);if(0<a.length)return""}return null},resolve:function(a,c){var f=a;if(null!=c)for(var d=c.split(mxCellPath.PATH_SEPARATOR),b=0;b<d.length;b++)f=f.getChildAt(parseInt(d[b]));
return f},compare:function(a,c){for(var f=Math.min(a.length,c.length),d=0,b=0;b<f;b++)if(a[b]!=c[b]){0==a[b].length||0==c[b].length?d=a[b]==c[b]?0:a[b]>c[b]?1:-1:(f=parseInt(a[b]),b=parseInt(c[b]),d=f==b?0:f>b?1:-1);break}0==d&&(f=a.length,b=c.length,f!=b&&(d=f>b?1:-1));return d}},mxPerimeter={RectanglePerimeter:function(a,c,f,d){c=a.getCenterX();var b=a.getCenterY(),e=Math.atan2(f.y-b,f.x-c),g=new mxPoint(0,0),k=Math.PI,l=Math.PI/2-e,n=Math.atan2(a.height,a.width);e<-k+n||e>k-n?(g.x=a.x,g.y=b-a.width*
Math.tan(e)/2):e<-n?(g.y=a.y,g.x=c-a.height*Math.tan(l)/2):e<n?(g.x=a.x+a.width,g.y=b+a.width*Math.tan(e)/2):(g.y=a.y+a.height,g.x=c+a.height*Math.tan(l)/2);d&&(f.x>=a.x&&f.x<=a.x+a.width?g.x=f.x:f.y>=a.y&&f.y<=a.y+a.height&&(g.y=f.y),f.x<a.x?g.x=a.x:f.x>a.x+a.width&&(g.x=a.x+a.width),f.y<a.y?g.y=a.y:f.y>a.y+a.height&&(g.y=a.y+a.height));return g},EllipsePerimeter:function(a,c,f,d){var b=a.x,e=a.y,g=a.width/2,k=a.height/2,l=b+g,n=e+k;c=f.x;f=f.y;var m=parseInt(c-l),p=parseInt(f-n);if(0==m&&0!=p)return new mxPoint(l,
n+k*p/Math.abs(p));if(0==m&&0==p)return new mxPoint(c,f);if(d){if(f>=e&&f<=e+a.height)return a=f-n,a=Math.sqrt(g*g*(1-a*a/(k*k)))||0,c<=b&&(a=-a),new mxPoint(l+a,f);if(c>=b&&c<=b+a.width)return a=c-l,a=Math.sqrt(k*k*(1-a*a/(g*g)))||0,f<=e&&(a=-a),new mxPoint(c,n+a)}b=p/m;n-=b*l;e=g*g*b*b+k*k;a=-2*l*e;k=Math.sqrt(a*a-4*e*(g*g*b*b*l*l+k*k*l*l-g*g*k*k));g=(-a+k)/(2*e);k=(-a-k)/(2*e);l=b*g+n;n=b*k+n;b=Math.sqrt(Math.pow(g-c,2)+Math.pow(l-f,2));c=Math.sqrt(Math.pow(k-c,2)+Math.pow(n-f,2));e=f=0;b<c?(f=
g,e=l):(f=k,e=n);return new mxPoint(f,e)},RhombusPerimeter:function(a,c,f,d){c=a.x;var b=a.y,e=a.width;a=a.height;var g=c+e/2,k=b+a/2,l=f.x;f=f.y;if(g==l)return k>f?new mxPoint(g,b):new mxPoint(g,b+a);if(k==f)return g>l?new mxPoint(c,k):new mxPoint(c+e,k);var n=g,m=k;d&&(l>=c&&l<=c+e?n=l:f>=b&&f<=b+a&&(m=f));return l<g?f<k?mxUtils.intersection(l,f,n,m,g,b,c,k):mxUtils.intersection(l,f,n,m,g,b+a,c,k):f<k?mxUtils.intersection(l,f,n,m,g,b,c+e,k):mxUtils.intersection(l,f,n,m,g,b+a,c+e,k)},TrianglePerimeter:function(a,
c,f,d){c=null!=c?c.style[mxConstants.STYLE_DIRECTION]:null;var b=c==mxConstants.DIRECTION_NORTH||c==mxConstants.DIRECTION_SOUTH,e=a.x,g=a.y,k=a.width;a=a.height;var l=e+k/2,n=g+a/2,m=new mxPoint(e,g),p=new mxPoint(e+k,n),r=new mxPoint(e,g+a);c==mxConstants.DIRECTION_NORTH?(m=r,p=new mxPoint(l,g),r=new mxPoint(e+k,g+a)):c==mxConstants.DIRECTION_SOUTH?(p=new mxPoint(l,g+a),r=new mxPoint(e+k,g)):c==mxConstants.DIRECTION_WEST&&(m=new mxPoint(e+k,g),p=new mxPoint(e,n),r=new mxPoint(e+k,g+a));var s=f.x-
l,q=f.y-n,s=b?Math.atan2(s,q):Math.atan2(q,s),u=b?Math.atan2(k,a):Math.atan2(a,k),q=c==mxConstants.DIRECTION_NORTH||c==mxConstants.DIRECTION_WEST?s>-u&&s<u:s<-Math.PI+u||s>Math.PI-u,u=null;q?u=d&&(b&&f.x>=m.x&&f.x<=r.x||!b&&f.y>=m.y&&f.y<=r.y)?b?new mxPoint(f.x,m.y):new mxPoint(m.x,f.y):c==mxConstants.DIRECTION_NORTH?new mxPoint(e+k/2+a*Math.tan(s)/2,g+a):c==mxConstants.DIRECTION_SOUTH?new mxPoint(e+k/2-a*Math.tan(s)/2,g):c==mxConstants.DIRECTION_WEST?new mxPoint(e+k,g+a/2+k*Math.tan(s)/2):new mxPoint(e,
g+a/2-k*Math.tan(s)/2):(d&&(d=new mxPoint(l,n),f.y>=g&&f.y<=g+a?(d.x=b?l:c==mxConstants.DIRECTION_WEST?e+k:e,d.y=f.y):f.x>=e&&f.x<=e+k&&(d.x=f.x,d.y=!b?n:c==mxConstants.DIRECTION_NORTH?g+a:g),l=d.x,n=d.y),u=b&&f.x<=e+k/2||!b&&f.y<=g+a/2?mxUtils.intersection(f.x,f.y,l,n,m.x,m.y,p.x,p.y):mxUtils.intersection(f.x,f.y,l,n,p.x,p.y,r.x,r.y));null==u&&(u=new mxPoint(l,n));return u},HexagonPerimeter:function(a,c,f,d){var b=a.x,e=a.y,g=a.width,k=a.height,l=a.getCenterX();a=a.getCenterY();var n=f.x,m=f.y,p=
-Math.atan2(m-a,n-l),r=Math.PI,s=Math.PI/2,q=new mxPoint(l,a);c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;var u=c==mxConstants.DIRECTION_NORTH||c==mxConstants.DIRECTION_SOUTH;c=new mxPoint;q=new mxPoint;if(n<b&&m<e||n<b&&m>e+k||n>b+g&&m<e||n>b+g&&m>e+k)d=!1;if(d){if(u){if(n==l){if(m<=e)return new mxPoint(l,e);if(m>=e+k)return new mxPoint(l,e+k)}else if(n<b){if(m==e+k/4)return new mxPoint(b,e+k/4);if(m==e+3*k/4)return new mxPoint(b,
e+3*k/4)}else if(n>b+g){if(m==e+k/4)return new mxPoint(b+g,e+k/4);if(m==e+3*k/4)return new mxPoint(b+g,e+3*k/4)}else if(n==b){if(m<a)return new mxPoint(b,e+k/4);if(m>a)return new mxPoint(b,e+3*k/4)}else if(n==b+g){if(m<a)return new mxPoint(b+g,e+k/4);if(m>a)return new mxPoint(b+g,e+3*k/4)}if(m==e)return new mxPoint(l,e);if(m==e+k)return new mxPoint(l,e+k);n<l?m>e+k/4&&m<e+3*k/4?(c=new mxPoint(b,e),q=new mxPoint(b,e+k)):m<e+k/4?(c=new mxPoint(b-Math.floor(0.5*g),e+Math.floor(0.5*k)),q=new mxPoint(b+
g,e-Math.floor(0.25*k))):m>e+3*k/4&&(c=new mxPoint(b-Math.floor(0.5*g),e+Math.floor(0.5*k)),q=new mxPoint(b+g,e+Math.floor(1.25*k))):n>l&&(m>e+k/4&&m<e+3*k/4?(c=new mxPoint(b+g,e),q=new mxPoint(b+g,e+k)):m<e+k/4?(c=new mxPoint(b,e-Math.floor(0.25*k)),q=new mxPoint(b+Math.floor(1.5*g),e+Math.floor(0.5*k))):m>e+3*k/4&&(c=new mxPoint(b+Math.floor(1.5*g),e+Math.floor(0.5*k)),q=new mxPoint(b,e+Math.floor(1.25*k))))}else{if(m==a){if(n<=b)return new mxPoint(b,e+k/2);if(n>=b+g)return new mxPoint(b+g,e+k/
2)}else if(m<e){if(n==b+g/4)return new mxPoint(b+g/4,e);if(n==b+3*g/4)return new mxPoint(b+3*g/4,e)}else if(m>e+k){if(n==b+g/4)return new mxPoint(b+g/4,e+k);if(n==b+3*g/4)return new mxPoint(b+3*g/4,e+k)}else if(m==e){if(n<l)return new mxPoint(b+g/4,e);if(n>l)return new mxPoint(b+3*g/4,e)}else if(m==e+k){if(n<l)return new mxPoint(b+g/4,e+k);if(m>a)return new mxPoint(b+3*g/4,e+k)}if(n==b)return new mxPoint(b,a);if(n==b+g)return new mxPoint(b+g,a);m<a?n>b+g/4&&n<b+3*g/4?(c=new mxPoint(b,e),q=new mxPoint(b+
g,e)):n<b+g/4?(c=new mxPoint(b-Math.floor(0.25*g),e+k),q=new mxPoint(b+Math.floor(0.5*g),e-Math.floor(0.5*k))):n>b+3*g/4&&(c=new mxPoint(b+Math.floor(0.5*g),e-Math.floor(0.5*k)),q=new mxPoint(b+Math.floor(1.25*g),e+k)):m>a&&(n>b+g/4&&n<b+3*g/4?(c=new mxPoint(b,e+k),q=new mxPoint(b+g,e+k)):n<b+g/4?(c=new mxPoint(b-Math.floor(0.25*g),e),q=new mxPoint(b+Math.floor(0.5*g),e+Math.floor(1.5*k))):n>b+3*g/4&&(c=new mxPoint(b+Math.floor(0.5*g),e+Math.floor(1.5*k)),q=new mxPoint(b+Math.floor(1.25*g),e)))}d=
l;p=a;n>=b&&n<=b+g?(d=n,p=m<a?e+k:e):m>=e&&m<=e+k&&(p=m,d=n<l?b+g:b);q=mxUtils.intersection(d,p,f.x,f.y,c.x,c.y,q.x,q.y)}else{if(u){n=Math.atan2(k/4,g/2);if(p==n)return new mxPoint(b+g,e+Math.floor(0.25*k));if(p==s)return new mxPoint(b+Math.floor(0.5*g),e);if(p==r-n)return new mxPoint(b,e+Math.floor(0.25*k));if(p==-n)return new mxPoint(b+g,e+Math.floor(0.75*k));if(p==-s)return new mxPoint(b+Math.floor(0.5*g),e+k);if(p==-r+n)return new mxPoint(b,e+Math.floor(0.75*k));p<n&&p>-n?(c=new mxPoint(b+g,e),
q=new mxPoint(b+g,e+k)):p>n&&p<s?(c=new mxPoint(b,e-Math.floor(0.25*k)),q=new mxPoint(b+Math.floor(1.5*g),e+Math.floor(0.5*k))):p>s&&p<r-n?(c=new mxPoint(b-Math.floor(0.5*g),e+Math.floor(0.5*k)),q=new mxPoint(b+g,e-Math.floor(0.25*k))):p>r-n&&p<=r||p<-r+n&&p>=-r?(c=new mxPoint(b,e),q=new mxPoint(b,e+k)):p<-n&&p>-s?(c=new mxPoint(b+Math.floor(1.5*g),e+Math.floor(0.5*k)),q=new mxPoint(b,e+Math.floor(1.25*k))):p<-s&&p>-r+n&&(c=new mxPoint(b-Math.floor(0.5*g),e+Math.floor(0.5*k)),q=new mxPoint(b+g,e+
Math.floor(1.25*k)))}else{n=Math.atan2(k/2,g/4);if(p==n)return new mxPoint(b+Math.floor(0.75*g),e);if(p==r-n)return new mxPoint(b+Math.floor(0.25*g),e);if(p==r||p==-r)return new mxPoint(b,e+Math.floor(0.5*k));if(0==p)return new mxPoint(b+g,e+Math.floor(0.5*k));if(p==-n)return new mxPoint(b+Math.floor(0.75*g),e+k);if(p==-r+n)return new mxPoint(b+Math.floor(0.25*g),e+k);0<p&&p<n?(c=new mxPoint(b+Math.floor(0.5*g),e-Math.floor(0.5*k)),q=new mxPoint(b+Math.floor(1.25*g),e+k)):p>n&&p<r-n?(c=new mxPoint(b,
e),q=new mxPoint(b+g,e)):p>r-n&&p<r?(c=new mxPoint(b-Math.floor(0.25*g),e+k),q=new mxPoint(b+Math.floor(0.5*g),e-Math.floor(0.5*k))):0>p&&p>-n?(c=new mxPoint(b+Math.floor(0.5*g),e+Math.floor(1.5*k)),q=new mxPoint(b+Math.floor(1.25*g),e)):p<-n&&p>-r+n?(c=new mxPoint(b,e+k),q=new mxPoint(b+g,e+k)):p<-r+n&&p>-r&&(c=new mxPoint(b-Math.floor(0.25*g),e),q=new mxPoint(b+Math.floor(0.5*g),e+Math.floor(1.5*k)))}q=mxUtils.intersection(l,a,f.x,f.y,c.x,c.y,q.x,q.y)}return null==q?new mxPoint(l,a):q}};
function mxPrintPreview(a,c,f,d,b,e,g,k,l){this.graph=a;this.scale=null!=c?c:1/a.pageScale;this.border=null!=d?d:0;this.pageFormat=null!=f?f:a.pageFormat;this.title=null!=k?k:"Printer-friendly version";this.x0=null!=b?b:0;this.y0=null!=e?e:0;this.borderColor=g;this.pageSelector=null!=l?l:!0}mxPrintPreview.prototype.graph=null;mxPrintPreview.prototype.pageFormat=null;mxPrintPreview.prototype.scale=null;mxPrintPreview.prototype.border=0;mxPrintPreview.prototype.marginTop=0;
mxPrintPreview.prototype.marginBottom=0;mxPrintPreview.prototype.x0=0;mxPrintPreview.prototype.y0=0;mxPrintPreview.prototype.autoOrigin=!0;mxPrintPreview.prototype.printOverlays=!1;mxPrintPreview.prototype.printControls=!1;mxPrintPreview.prototype.printBackgroundImage=!1;mxPrintPreview.prototype.backgroundColor="#ffffff";mxPrintPreview.prototype.borderColor=null;mxPrintPreview.prototype.title=null;mxPrintPreview.prototype.pageSelector=null;mxPrintPreview.prototype.wnd=null;
mxPrintPreview.prototype.targetWindow=null;mxPrintPreview.prototype.pageCount=0;mxPrintPreview.prototype.clipping=!0;mxPrintPreview.prototype.getWindow=function(){return this.wnd};
mxPrintPreview.prototype.getDoctype=function(){var a="";5==document.documentMode?a='\x3cmeta http-equiv\x3d"X-UA-Compatible" content\x3d"IE\x3d5"\x3e':8==document.documentMode?a='\x3cmeta http-equiv\x3d"X-UA-Compatible" content\x3d"IE\x3d8"\x3e':8<document.documentMode&&(a='\x3c!--[if IE]\x3e\x3cmeta http-equiv\x3d"X-UA-Compatible" content\x3d"IE\x3dedge"\x3e\x3c![endif]--\x3e');return a};
mxPrintPreview.prototype.open=function(a,c){var f=this.graph.cellRenderer.initializeOverlay,d=null;try{this.printOverlays&&(this.graph.cellRenderer.initializeOverlay=function(b,a){a.init(b.view.getDrawPane())});this.printControls&&(this.graph.cellRenderer.initControl=function(b,a,d,c){a.dialect=b.view.graph.dialect;a.init(b.view.getDrawPane())});if(null==this.wnd){this.wnd=null!=c?c:window.open();var b=this.wnd.document;if(null==c){var e=this.getDoctype();null!=e&&0<e.length&&b.writeln(e);mxClient.IS_VML?
b.writeln('\x3chtml xmlns:v\x3d"urn:schemas-microsoft-com:vml" xmlns:o\x3d"urn:schemas-microsoft-com:office:office"\x3e'):("CSS1Compat"===document.compatMode&&b.writeln("\x3c!DOCTYPE html\x3e"),b.writeln("\x3chtml\x3e"));b.writeln("\x3chead\x3e");this.writeHead(b,a);b.writeln("\x3c/head\x3e");b.writeln('\x3cbody class\x3d"mxPage"\x3e')}var g=this.graph.getGraphBounds().clone(),k=this.graph.getView().getScale(),l=k/this.scale,n=this.graph.getView().getTranslate();this.autoOrigin||(this.x0-=n.x*this.scale,
this.y0-=n.y*this.scale,g.width+=g.x,g.height+=g.y,g.x=0,this.border=g.y=0);var m=this.pageFormat.width-2*this.border,p=this.pageFormat.height-2*this.border;this.pageFormat.height+=this.marginTop+this.marginBottom;g.width/=l;g.height/=l;var r=Math.max(1,Math.ceil((g.width+this.x0)/m)),s=Math.max(1,Math.ceil((g.height+this.y0)/p));this.pageCount=r*s;var q=mxUtils.bind(this,function(){if(this.pageSelector&&(1<s||1<r)){var a=this.createPageSelector(s,r);b.body.appendChild(a);if(mxClient.IS_IE&&null==
b.documentMode||5==b.documentMode||8==b.documentMode||7==b.documentMode){a.style.position="absolute";var d=function(){a.style.top=(b.body.scrollTop||b.documentElement.scrollTop)+10+"px"};mxEvent.addListener(this.wnd,"scroll",function(b){d()});mxEvent.addListener(this.wnd,"resize",function(b){d()})}}}),u=mxUtils.bind(this,function(a,d){null!=this.borderColor&&(a.style.borderColor=this.borderColor,a.style.borderStyle="solid",a.style.borderWidth="1px");a.style.background=this.backgroundColor;d&&(a.style.pageBreakAfter=
"always");mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE?(b.writeln(a.outerHTML),a.parentNode.removeChild(a)):(a.parentNode.removeChild(a),b.body.appendChild(a));if(d&&null==c){var e=b.createElement("hr");e.className="mxPageBreak";b.body.appendChild(e)}}),t=this.getCoverPages(this.pageFormat.width,this.pageFormat.height);if(null!=t)for(var v=0;v<t.length;v++)u(t[v],!0);for(var z=this.getAppendices(this.pageFormat.width,this.pageFormat.height),v=0;v<s;v++)for(var y=v*p/this.scale-this.y0/
this.scale+(g.y-n.y*k)/k,e=0;e<r;e++){if(null==this.wnd)return null;var x=e*m/this.scale-this.x0/this.scale+(g.x-n.x*k)/k,D=v*r+e+1,A=new mxRectangle(x,y,m,p),d=this.renderPage(this.pageFormat.width,this.pageFormat.height,0,0,mxUtils.bind(this,function(b){this.addGraphFragment(-x,-y,this.scale,D,b,A);this.printBackgroundImage&&this.insertBackgroundImage(b,-x,-y)}),D);d.setAttribute("id","mxPage-"+D);u(d,null!=z||v<s-1||e<r-1)}if(null!=z)for(v=0;v<z.length;v++)u(z[v],v<z.length);null==c&&(this.writePostfix(b),
b.writeln("\x3c/body\x3e"),b.writeln("\x3c/html\x3e"),b.close(),q(),mxEvent.release(b.body))}this.wnd.focus()}catch(B){null!=d&&null!=d.parentNode&&d.parentNode.removeChild(d),console.log("e",B)}finally{this.graph.cellRenderer.initializeOverlay=f}return this.wnd};
mxPrintPreview.prototype.writeHead=function(a,c){null!=this.title&&a.writeln("\x3ctitle\x3e"+this.title+"\x3c/title\x3e");mxClient.IS_VML&&a.writeln('\x3cstyle type\x3d"text/css"\x3ev\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}\x3c/style\x3e');mxClient.link("stylesheet",mxClient.basePath+"/css/common.css",a);a.writeln('\x3cstyle type\x3d"text/css"\x3e');a.writeln("@media print {");a.writeln(" table.mxPageSelector { display: none; }");a.writeln(" hr.mxPageBreak { display: none; }");
a.writeln("}");a.writeln("@media screen {");a.writeln(" table.mxPageSelector { position: fixed; right: 10px; top: 10px;font-family: Arial; font-size:10pt; border: solid 1px darkgray;background: white; border-collapse:collapse; }");a.writeln(" table.mxPageSelector td { border: solid 1px gray; padding:4px; }");a.writeln(" body.mxPage { background: gray; }");a.writeln("}");null!=c&&a.writeln(c);a.writeln("\x3c/style\x3e")};mxPrintPreview.prototype.writePostfix=function(a){};
mxPrintPreview.prototype.createPageSelector=function(a,c){var f=this.wnd.document,d=f.createElement("table");d.className="mxPageSelector";d.setAttribute("border","0");for(var b=f.createElement("tbody"),e=0;e<a;e++){for(var g=f.createElement("tr"),k=0;k<c;k++){var l=e*c+k+1,n=f.createElement("td"),m=f.createElement("a");m.setAttribute("href","#mxPage-"+l);mxClient.IS_NS&&!mxClient.IS_SF&&!mxClient.IS_GC&&m.setAttribute("onclick","var page \x3d document.getElementById('mxPage-"+l+"');page.scrollIntoView(true);event.preventDefault();");
mxUtils.write(m,l,f);n.appendChild(m);g.appendChild(n)}b.appendChild(g)}d.appendChild(b);return d};
mxPrintPreview.prototype.renderPage=function(a,c,f,d,b,e){e=this.wnd.document;var g=document.createElement("div"),k=null;try{if(0!=f||0!=d){g.style.position="relative";g.style.width=a+"px";g.style.height=c+"px";g.style.pageBreakInside="avoid";var l=document.createElement("div");l.style.position="relative";l.style.top=this.border+"px";l.style.left=this.border+"px";l.style.width=a-2*this.border+"px";l.style.height=c-2*this.border+"px";l.style.overflow="hidden";var n=document.createElement("div");n.style.position=
"relative";n.style.marginLeft=f+"px";n.style.marginTop=d+"px";8==e.documentMode&&(l.style.position="absolute",n.style.position="absolute");10==e.documentMode&&(n.style.width="100%",n.style.height="100%");l.appendChild(n);g.appendChild(l);document.body.appendChild(g);k=n}else g.style.width=a+"px",g.style.height=c+"px",g.style.overflow="hidden",g.style.pageBreakInside="avoid",8==e.documentMode&&(g.style.position="relative"),l=document.createElement("div"),l.style.width=a-2*this.border+"px",l.style.height=
c-2*this.border+"px",l.style.overflow="hidden",mxClient.IS_IE&&(null==e.documentMode||5==e.documentMode||8==e.documentMode||7==e.documentMode)?(l.style.marginTop=this.border+"px",l.style.marginLeft=this.border+"px"):(l.style.top=this.border+"px",l.style.left=this.border+"px"),this.graph.dialect==mxConstants.DIALECT_VML&&(l.style.position="absolute"),g.appendChild(l),document.body.appendChild(g),k=l}catch(m){throw g.parentNode.removeChild(g),m;}b(k);return g};
mxPrintPreview.prototype.getRoot=function(){var a=this.graph.view.currentRoot;null==a&&(a=this.graph.getModel().getRoot());return a};
mxPrintPreview.prototype.addGraphFragment=function(a,c,f,d,b,e){var g=this.graph.getView();d=this.graph.container;this.graph.container=b;var k=g.getCanvas(),l=g.getBackgroundPane(),n=g.getDrawPane(),m=g.getOverlayPane();this.graph.dialect==mxConstants.DIALECT_SVG?g.createSvg():this.graph.dialect==mxConstants.DIALECT_VML?g.createVml():g.createHtml();var p=g.isEventsEnabled();g.setEventsEnabled(!1);var r=this.graph.isEnabled();this.graph.setEnabled(!1);var s=g.getTranslate();g.translate=new mxPoint(a,
c);var q=this.graph.cellRenderer.redraw,u=g.states;a=g.scale;if(this.clipping){var t=new mxRectangle((e.x+s.x)*a,(e.y+s.y)*a,e.width*a/f,e.height*a/f);this.graph.cellRenderer.redraw=function(b,a,d){if(null!=b){var c=u.get(b.cell);if(null!=c&&(c=g.getBoundingBox(c,!1),null!=c&&!mxUtils.intersects(t,c)))return}q.apply(this,arguments)}}a=null;try{var v=[this.getRoot()];a=new mxTemporaryCellStates(g,f,v)}finally{if(mxClient.IS_IE)g.overlayPane.innerHTML="",g.canvas.style.overflow="hidden",g.canvas.style.position=
"relative",g.canvas.style.top=this.marginTop+"px",g.canvas.style.width=e.width+"px",g.canvas.style.height=e.height+"px";else for(f=b.firstChild;null!=f;)v=f.nextSibling,c=f.nodeName.toLowerCase(),"svg"==c?(f.style.overflow="hidden",f.style.position="relative",f.style.top=this.marginTop+"px",f.setAttribute("width",e.width),f.setAttribute("height",e.height),f.style.width="",f.style.height=""):"default"!=f.style.cursor&&"div"!=c&&f.parentNode.removeChild(f),f=v;this.printBackgroundImage&&(b=b.getElementsByTagName("svg"),
0<b.length&&(b[0].style.position="absolute"));g.overlayPane.parentNode.removeChild(g.overlayPane);this.graph.setEnabled(r);this.graph.container=d;this.graph.cellRenderer.redraw=q;g.canvas=k;g.backgroundPane=l;g.drawPane=n;g.overlayPane=m;g.translate=s;a.destroy();g.setEventsEnabled(p)}};
mxPrintPreview.prototype.insertBackgroundImage=function(a,c,f){var d=this.graph.backgroundImage;if(null!=d){var b=document.createElement("img");b.style.position="absolute";b.style.marginLeft=Math.round(c*this.scale)+"px";b.style.marginTop=Math.round(f*this.scale)+"px";b.setAttribute("width",Math.round(this.scale*d.width));b.setAttribute("height",Math.round(this.scale*d.height));b.src=d.src;a.insertBefore(b,a.firstChild)}};mxPrintPreview.prototype.getCoverPages=function(){return null};
mxPrintPreview.prototype.getAppendices=function(){return null};mxPrintPreview.prototype.print=function(a){a=this.open(a);null!=a&&a.print()};mxPrintPreview.prototype.close=function(){null!=this.wnd&&(this.wnd.close(),this.wnd=null)};function mxStylesheet(){this.styles={};this.putDefaultVertexStyle(this.createDefaultVertexStyle());this.putDefaultEdgeStyle(this.createDefaultEdgeStyle())}
mxStylesheet.prototype.createDefaultVertexStyle=function(){var a={};a[mxConstants.STYLE_SHAPE]=mxConstants.SHAPE_RECTANGLE;a[mxConstants.STYLE_PERIMETER]=mxPerimeter.RectanglePerimeter;a[mxConstants.STYLE_VERTICAL_ALIGN]=mxConstants.ALIGN_MIDDLE;a[mxConstants.STYLE_ALIGN]=mxConstants.ALIGN_CENTER;a[mxConstants.STYLE_FILLCOLOR]="#C3D9FF";a[mxConstants.STYLE_STROKECOLOR]="#6482B9";a[mxConstants.STYLE_FONTCOLOR]="#774400";return a};
mxStylesheet.prototype.createDefaultEdgeStyle=function(){var a={};a[mxConstants.STYLE_SHAPE]=mxConstants.SHAPE_CONNECTOR;a[mxConstants.STYLE_ENDARROW]=mxConstants.ARROW_CLASSIC;a[mxConstants.STYLE_VERTICAL_ALIGN]=mxConstants.ALIGN_MIDDLE;a[mxConstants.STYLE_ALIGN]=mxConstants.ALIGN_CENTER;a[mxConstants.STYLE_STROKECOLOR]="#6482B9";a[mxConstants.STYLE_FONTCOLOR]="#446299";return a};mxStylesheet.prototype.putDefaultVertexStyle=function(a){this.putCellStyle("defaultVertex",a)};
mxStylesheet.prototype.putDefaultEdgeStyle=function(a){this.putCellStyle("defaultEdge",a)};mxStylesheet.prototype.getDefaultVertexStyle=function(){return this.styles.defaultVertex};mxStylesheet.prototype.getDefaultEdgeStyle=function(){return this.styles.defaultEdge};mxStylesheet.prototype.putCellStyle=function(a,c){this.styles[a]=c};
mxStylesheet.prototype.getCellStyle=function(a,c){var f=c;if(null!=a&&0<a.length)for(var d=a.split(";"),f=null!=f&&";"!=a.charAt(0)?mxUtils.clone(f):{},b=0;b<d.length;b++){var e=d[b],g=e.indexOf("\x3d");if(0<=g){var k=e.substring(0,g),e=e.substring(g+1);e==mxConstants.NONE?delete f[k]:mxUtils.isNumeric(e)?f[k]=parseFloat(e):f[k]=e}else if(e=this.styles[e],null!=e)for(k in e)f[k]=e[k]}return f};
function mxCellState(a,c,f){this.view=a;this.cell=c;this.style=f;this.origin=new mxPoint;this.absoluteOffset=new mxPoint}mxCellState.prototype=new mxRectangle;mxCellState.prototype.constructor=mxCellState;mxCellState.prototype.view=null;mxCellState.prototype.cell=null;mxCellState.prototype.style=null;mxCellState.prototype.invalid=!0;mxCellState.prototype.origin=null;mxCellState.prototype.absolutePoints=null;mxCellState.prototype.absoluteOffset=null;mxCellState.prototype.visibleSourceState=null;
mxCellState.prototype.visibleTargetState=null;mxCellState.prototype.terminalDistance=0;mxCellState.prototype.length=0;mxCellState.prototype.segments=null;mxCellState.prototype.shape=null;mxCellState.prototype.text=null;mxCellState.prototype.unscaledWidth=null;
mxCellState.prototype.getPerimeterBounds=function(a,c){a=a||0;c=null!=c?c:new mxRectangle(this.x,this.y,this.width,this.height);if(null!=this.shape&&null!=this.shape.stencil&&"fixed"==this.shape.stencil.aspect){var f=this.shape.stencil.computeAspect(this.style,c.x,c.y,c.width,c.height);c.x=f.x;c.y=f.y;c.width=this.shape.stencil.w0*f.width;c.height=this.shape.stencil.h0*f.height}0!=a&&c.grow(a);return c};
mxCellState.prototype.setAbsoluteTerminalPoint=function(a,c){c?(null==this.absolutePoints&&(this.absolutePoints=[]),0==this.absolutePoints.length?this.absolutePoints.push(a):this.absolutePoints[0]=a):null==this.absolutePoints?(this.absolutePoints=[],this.absolutePoints.push(null),this.absolutePoints.push(a)):1==this.absolutePoints.length?this.absolutePoints.push(a):this.absolutePoints[this.absolutePoints.length-1]=a};
mxCellState.prototype.setCursor=function(a){null!=this.shape&&this.shape.setCursor(a);null!=this.text&&this.text.setCursor(a)};mxCellState.prototype.getVisibleTerminal=function(a){a=this.getVisibleTerminalState(a);return null!=a?a.cell:null};mxCellState.prototype.getVisibleTerminalState=function(a){return a?this.visibleSourceState:this.visibleTargetState};mxCellState.prototype.setVisibleTerminalState=function(a,c){c?this.visibleSourceState=a:this.visibleTargetState=a};
mxCellState.prototype.getCellBounds=function(){return this.cellBounds};mxCellState.prototype.getPaintBounds=function(){return this.paintBounds};mxCellState.prototype.updateCachedBounds=function(){var a=this.view.translate,c=this.view.scale;this.cellBounds=new mxRectangle(this.x/c-a.x,this.y/c-a.y,this.width/c,this.height/c);this.paintBounds=mxRectangle.fromRectangle(this.cellBounds);null!=this.shape&&this.shape.isPaintBoundsInverted()&&this.paintBounds.rotate90()};
mxCellState.prototype.setState=function(a){this.view=a.view;this.cell=a.cell;this.style=a.style;this.absolutePoints=a.absolutePoints;this.origin=a.origin;this.absoluteOffset=a.absoluteOffset;this.boundingBox=a.boundingBox;this.terminalDistance=a.terminalDistance;this.segments=a.segments;this.length=a.length;this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height;this.unscaledWidth=a.unscaledWidth};
mxCellState.prototype.clone=function(){var a=new mxCellState(this.view,this.cell,this.style);if(null!=this.absolutePoints){a.absolutePoints=[];for(var c=0;c<this.absolutePoints.length;c++)a.absolutePoints[c]=this.absolutePoints[c].clone()}null!=this.origin&&(a.origin=this.origin.clone());null!=this.absoluteOffset&&(a.absoluteOffset=this.absoluteOffset.clone());null!=this.boundingBox&&(a.boundingBox=this.boundingBox.clone());a.terminalDistance=this.terminalDistance;a.segments=this.segments;a.length=
this.length;a.x=this.x;a.y=this.y;a.width=this.width;a.height=this.height;a.unscaledWidth=this.unscaledWidth;return a};mxCellState.prototype.destroy=function(){this.view.graph.cellRenderer.destroy(this)};function mxGraphSelectionModel(a){this.graph=a;this.cells=[]}mxGraphSelectionModel.prototype=new mxEventSource;mxGraphSelectionModel.prototype.constructor=mxGraphSelectionModel;mxGraphSelectionModel.prototype.doneResource="none"!=mxClient.language?"done":"";
mxGraphSelectionModel.prototype.updatingSelectionResource="none"!=mxClient.language?"updatingSelection":"";mxGraphSelectionModel.prototype.graph=null;mxGraphSelectionModel.prototype.singleSelection=!1;mxGraphSelectionModel.prototype.isSingleSelection=function(){return this.singleSelection};mxGraphSelectionModel.prototype.setSingleSelection=function(a){this.singleSelection=a};mxGraphSelectionModel.prototype.isSelected=function(a){return null!=a?0<=mxUtils.indexOf(this.cells,a):!1};
mxGraphSelectionModel.prototype.isEmpty=function(){return 0==this.cells.length};mxGraphSelectionModel.prototype.clear=function(){this.changeSelection(null,this.cells)};mxGraphSelectionModel.prototype.setCell=function(a){null!=a&&this.setCells([a])};mxGraphSelectionModel.prototype.setCells=function(a){if(null!=a){this.singleSelection&&(a=[this.getFirstSelectableCell(a)]);for(var c=[],f=0;f<a.length;f++)this.graph.isCellSelectable(a[f])&&c.push(a[f]);this.changeSelection(c,this.cells)}};
mxGraphSelectionModel.prototype.getFirstSelectableCell=function(a){if(null!=a)for(var c=0;c<a.length;c++)if(this.graph.isCellSelectable(a[c]))return a[c];return null};mxGraphSelectionModel.prototype.addCell=function(a){null!=a&&this.addCells([a])};
mxGraphSelectionModel.prototype.addCells=function(a){if(null!=a){var c=null;this.singleSelection&&(c=this.cells,a=[this.getFirstSelectableCell(a)]);for(var f=[],d=0;d<a.length;d++)!this.isSelected(a[d])&&this.graph.isCellSelectable(a[d])&&f.push(a[d]);this.changeSelection(f,c)}};mxGraphSelectionModel.prototype.removeCell=function(a){null!=a&&this.removeCells([a])};
mxGraphSelectionModel.prototype.removeCells=function(a){if(null!=a){for(var c=[],f=0;f<a.length;f++)this.isSelected(a[f])&&c.push(a[f]);this.changeSelection(null,c)}};mxGraphSelectionModel.prototype.changeSelection=function(a,c){if(null!=a&&0<a.length&&null!=a[0]||null!=c&&0<c.length&&null!=c[0]){var f=new mxSelectionChange(this,a,c);f.execute();var d=new mxUndoableEdit(this,!1);d.add(f);this.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",d))}};
mxGraphSelectionModel.prototype.cellAdded=function(a){null!=a&&!this.isSelected(a)&&this.cells.push(a)};mxGraphSelectionModel.prototype.cellRemoved=function(a){null!=a&&(a=mxUtils.indexOf(this.cells,a),0<=a&&this.cells.splice(a,1))};function mxSelectionChange(a,c,f){this.selectionModel=a;this.added=null!=c?c.slice():null;this.removed=null!=f?f.slice():null}
mxSelectionChange.prototype.execute=function(){var a=mxLog.enter("mxSelectionChange.execute");window.status=mxResources.get(this.selectionModel.updatingSelectionResource)||this.selectionModel.updatingSelectionResource;if(null!=this.removed)for(var c=0;c<this.removed.length;c++)this.selectionModel.cellRemoved(this.removed[c]);if(null!=this.added)for(c=0;c<this.added.length;c++)this.selectionModel.cellAdded(this.added[c]);c=this.added;this.added=this.removed;this.removed=c;window.status=mxResources.get(this.selectionModel.doneResource)||
this.selectionModel.doneResource;mxLog.leave("mxSelectionChange.execute",a);this.selectionModel.fireEvent(new mxEventObject(mxEvent.CHANGE,"added",this.added,"removed",this.removed))};function mxCellEditor(a){this.graph=a;this.zoomHandler=mxUtils.bind(this,function(){this.graph.isEditing()&&this.resize()});this.graph.view.addListener(mxEvent.SCALE,this.zoomHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.zoomHandler)}mxCellEditor.prototype.graph=null;
mxCellEditor.prototype.textarea=null;mxCellEditor.prototype.editingCell=null;mxCellEditor.prototype.trigger=null;mxCellEditor.prototype.modified=!1;mxCellEditor.prototype.autoSize=!0;mxCellEditor.prototype.selectText=!0;mxCellEditor.prototype.emptyLabelText=mxClient.IS_FF?"\x3cbr\x3e":"";mxCellEditor.prototype.escapeCancelsEditing=!0;mxCellEditor.prototype.textNode="";mxCellEditor.prototype.zIndex=5;mxCellEditor.prototype.minResize=new mxRectangle(0,20);
mxCellEditor.prototype.wordWrapPadding=mxClient.IS_QUIRKS?2:!mxClient.IS_IE11?1:0;mxCellEditor.prototype.blurEnabled=!1;mxCellEditor.prototype.initialValue=null;mxCellEditor.prototype.init=function(){this.textarea=document.createElement("div");this.textarea.className="mxCellEditor mxPlainTextEditor";this.textarea.contentEditable=!0;this.installListeners(this.textarea)};mxCellEditor.prototype.applyValue=function(a,c){this.graph.labelChanged(a.cell,c,this.trigger)};
mxCellEditor.prototype.getInitialValue=function(a,c){var f=mxUtils.htmlEntities(this.graph.getEditingValue(a.cell,c),!1);!mxClient.IS_QUIRKS&&8!=document.documentMode&&(9!=document.documentMode&&10!=document.documentMode)&&(f=mxUtils.replaceTrailingNewlines(f,"\x3cdiv\x3e\x3cbr\x3e\x3c/div\x3e"));return f.replace(/\n/g,"\x3cbr\x3e")};
mxCellEditor.prototype.getCurrentValue=function(a){a=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0<a.length&&"\n"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1));return a};
mxCellEditor.prototype.installListeners=function(a){mxEvent.addListener(a,"blur",mxUtils.bind(this,function(a){this.blurEnabled&&this.focusLost(a)}));mxEvent.addListener(a,"keydown",mxUtils.bind(this,function(a){mxEvent.isConsumed(a)||(this.isStopEditingEvent(a)?(this.graph.stopEditing(!1),mxEvent.consume(a)):27==a.keyCode&&(this.graph.stopEditing(this.escapeCancelsEditing||mxEvent.isShiftDown(a)),mxEvent.consume(a)))}));this.changeHandler=mxUtils.bind(this,function(a){null!=this.editingCell&&null==
this.graph.getView().getState(this.editingCell)&&this.stopEditing(!0)});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);var c=mxUtils.bind(this,function(d){if(null!=this.editingCell&&this.clearOnChange&&a.innerHTML==this.getEmptyLabelText()&&(!mxClient.IS_FF||8!=d.keyCode&&46!=d.keyCode))this.clearOnChange=!1,a.innerHTML=""});mxEvent.addListener(a,"keypress",c);mxEvent.addListener(a,"paste",c);c=mxUtils.bind(this,function(a){null!=this.editingCell&&(0==this.textarea.innerHTML.length||
"\x3cbr\x3e"==this.textarea.innerHTML?(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length):this.clearOnChange=!1)});mxEvent.addListener(a,!mxClient.IS_IE11&&!mxClient.IS_IE?"input":"keyup",c);mxEvent.addListener(a,"cut",c);mxEvent.addListener(a,"paste",c);var c=!mxClient.IS_IE11&&!mxClient.IS_IE?"input":"keydown",f=mxUtils.bind(this,function(a){null!=this.editingCell&&this.autoSize&&!mxEvent.isConsumed(a)&&(null!=this.resizeThread&&window.clearTimeout(this.resizeThread),
this.resizeThread=window.setTimeout(mxUtils.bind(this,function(){this.resizeThread=null;this.resize()}),0))});mxEvent.addListener(a,c,f);9<=document.documentMode?(mxEvent.addListener(a,"DOMNodeRemoved",f),mxEvent.addListener(a,"DOMNodeInserted",f)):(mxEvent.addListener(a,"cut",f),mxEvent.addListener(a,"paste",f))};mxCellEditor.prototype.isStopEditingEvent=function(a){return 113==a.keyCode||this.graph.isEnterStopsCellEditing()&&13==a.keyCode&&!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)};
mxCellEditor.prototype.isEventSource=function(a){return mxEvent.getSource(a)==this.textarea};
mxCellEditor.prototype.resize=function(){var a=this.graph.getView().getState(this.editingCell);if(null==a)this.stopEditing(!0);else{var c=this.graph.getModel().isEdge(a.cell),f=this.graph.getView().scale,d=null;if(!this.autoSize||"fill"==a.style[mxConstants.STYLE_OVERFLOW])this.bounds=this.getEditorBounds(a),this.textarea.style.width=Math.round(this.bounds.width/f)+"px",this.textarea.style.height=Math.round(this.bounds.height/f)+"px",8==document.documentMode||mxClient.IS_QUIRKS?(this.textarea.style.left=
Math.round(this.bounds.x)+"px",this.textarea.style.top=Math.round(this.bounds.y)+"px"):(this.textarea.style.left=Math.max(0,Math.round(this.bounds.x+1))+"px",this.textarea.style.top=Math.max(0,Math.round(this.bounds.y+1))+"px"),this.graph.isWrapping(a.cell)&&(2<=this.bounds.width||2<=this.bounds.height)&&this.textarea.innerHTML!=this.getEmptyLabelText()?(this.textarea.style.wordWrap=mxConstants.WORD_WRAP,this.textarea.style.whiteSpace="normal","fill"!=a.style[mxConstants.STYLE_OVERFLOW]&&(this.textarea.style.width=
Math.round(this.bounds.width/f)+this.wordWrapPadding+"px")):(this.textarea.style.whiteSpace="nowrap","fill"!=a.style[mxConstants.STYLE_OVERFLOW]&&(this.textarea.style.width=""));else{var b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_WIDTH,null),d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));if(c)this.bounds=
new mxRectangle(a.absoluteOffset.x,a.absoluteOffset.y,0,0),null!=b&&(b=(parseFloat(b)+2)*f,this.bounds.width=b,this.bounds.x+=d.x*b);else{var c=mxRectangle.fromRectangle(a),e=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),g=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),c=null!=a.shape&&e==mxConstants.ALIGN_CENTER&&g==mxConstants.ALIGN_MIDDLE?a.shape.getLabelBounds(c):c;null!=b&&(c.width=parseFloat(b)*f);if(!a.view.graph.cellRenderer.legacySpacing||
"width"!=a.style[mxConstants.STYLE_OVERFLOW])var e=parseInt(a.style[mxConstants.STYLE_SPACING]||2)*f,k=(parseInt(a.style[mxConstants.STYLE_SPACING_TOP]||0)+mxText.prototype.baseSpacingTop)*f+e,l=(parseInt(a.style[mxConstants.STYLE_SPACING_RIGHT]||0)+mxText.prototype.baseSpacingRight)*f+e,n=(parseInt(a.style[mxConstants.STYLE_SPACING_BOTTOM]||0)+mxText.prototype.baseSpacingBottom)*f+e,m=(parseInt(a.style[mxConstants.STYLE_SPACING_LEFT]||0)+mxText.prototype.baseSpacingLeft)*f+e,e=mxUtils.getValue(a.style,
mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),g=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),c=new mxRectangle(c.x+m,c.y+k,c.width-(e==mxConstants.ALIGN_CENTER&&null==b?m+l:0),c.height-(g==mxConstants.ALIGN_MIDDLE?k+n:0));this.bounds=new mxRectangle(c.x+a.absoluteOffset.x,c.y+a.absoluteOffset.y,c.width,c.height)}this.graph.isWrapping(a.cell)&&(2<=this.bounds.width||2<=this.bounds.height)&&this.textarea.innerHTML!=this.getEmptyLabelText()?
(this.textarea.style.wordWrap=mxConstants.WORD_WRAP,this.textarea.style.whiteSpace="normal",b=Math.round(this.bounds.width/f)+this.wordWrapPadding,this.textarea.style.width=b+"px",this.textarea.scrollWidth>b&&(this.textarea.style.width=this.textarea.scrollWidth+"px")):(this.textarea.style.whiteSpace="nowrap",this.textarea.style.width="");8==document.documentMode&&(this.textarea.style.zoom="1",this.textarea.style.height="auto");a=this.textarea.scrollWidth;b=this.textarea.scrollHeight;8==document.documentMode?
(this.textarea.style.left=Math.max(0,Math.ceil((this.bounds.x-d.x*(this.bounds.width-(a+1)*f)+0*a*(f-1)+2*(d.x+0.5))/f))+"px",this.textarea.style.top=Math.max(0,Math.ceil((this.bounds.y-d.y*(this.bounds.height-(b+0.5)*f)+0*b*(f-1)+1*Math.abs(d.y+0.5))/f))+"px",this.textarea.style.width=Math.round(a*f)+"px",this.textarea.style.height=Math.round(b*f)+"px"):mxClient.IS_QUIRKS?(this.textarea.style.left=Math.max(0,Math.ceil(this.bounds.x-d.x*(this.bounds.width-(a+1)*f)+0*a*(f-1)+2*(d.x+0.5)))+"px",this.textarea.style.top=
Math.max(0,Math.ceil(this.bounds.y-d.y*(this.bounds.height-(b+0.5)*f)+0*b*(f-1)+1*Math.abs(d.y+0.5)))+"px"):(this.textarea.style.left=Math.max(0,Math.round(this.bounds.x-d.x*(this.bounds.width-2))+1)+"px",this.textarea.style.top=Math.max(0,Math.round(this.bounds.y-d.y*(this.bounds.height-4)+(-1==d.y?3:0))+1)+"px")}mxClient.IS_VML?this.textarea.style.zoom=f:(mxUtils.setPrefixedStyle(this.textarea.style,"transformOrigin","0px 0px"),mxUtils.setPrefixedStyle(this.textarea.style,"transform","scale("+f+
","+f+")"+(null==d?"":" translate("+100*d.x+"%,"+100*d.y+"%)")))}};mxCellEditor.prototype.focusLost=function(){this.stopEditing(!this.graph.isInvokesStopCellEditing())};mxCellEditor.prototype.getBackgroundColor=function(a){return null};
mxCellEditor.prototype.startEditing=function(a,c){null==this.textarea&&this.init();null!=this.graph.tooltipHandler&&this.graph.tooltipHandler.hideTooltip();this.stopEditing(!0);var f=this.graph.getView().getState(a);if(null!=f){this.graph.getView();var d=mxUtils.getValue(f.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),b=mxUtils.getValue(f.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),e=mxUtils.getValue(f.style,mxConstants.STYLE_FONTCOLOR,"black"),g=mxUtils.getValue(f.style,
mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),k=(mxUtils.getValue(f.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,l=(mxUtils.getValue(f.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,n=(mxUtils.getValue(f.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;
this.textarea.style.backgroundColor=this.getBackgroundColor(f);this.textarea.style.textDecoration=n?"underline":"";this.textarea.style.fontWeight=k?"bold":"normal";this.textarea.style.fontStyle=l?"italic":"";this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.zIndex=this.zIndex;this.textarea.style.fontFamily=b;this.textarea.style.textAlign=g;this.textarea.style.outline="none";this.textarea.style.color=e;d=this.textDirection=mxUtils.getValue(f.style,mxConstants.STYLE_TEXT_DIRECTION,
mxConstants.DEFAULT_TEXT_DIRECTION);d==mxConstants.TEXT_DIRECTION_AUTO&&null!=f&&null!=f.text&&(f.text.dialect!=mxConstants.DIALECT_STRICTHTML&&!mxUtils.isNode(f.text.value))&&(d=f.text.getAutoDirection());d==mxConstants.TEXT_DIRECTION_LTR||d==mxConstants.TEXT_DIRECTION_RTL?this.textarea.setAttribute("dir",d):this.textarea.removeAttribute("dir");this.textarea.innerHTML=this.getInitialValue(f,c)||"";this.initialValue=this.textarea.innerHTML;0==this.textarea.innerHTML.length||"\x3cbr\x3e"==this.textarea.innerHTML?
(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=!0):this.clearOnChange=this.textarea.innerHTML==this.getEmptyLabelText();this.graph.container.appendChild(this.textarea);this.editingCell=a;this.trigger=c;this.textNode=null;null!=f.text&&this.isHideLabel(f)&&(this.textNode=f.text.node,this.textNode.style.visibility="hidden");this.autoSize&&(this.graph.model.isEdge(f.cell)||"fill"!=f.style[mxConstants.STYLE_OVERFLOW])&&window.setTimeout(mxUtils.bind(this,function(){this.resize()}),
0);this.resize();if(null!=this.textarea)try{this.textarea.focus(),this.isSelectText()&&0<this.textarea.innerHTML.length&&(this.textarea.innerHTML!=this.getEmptyLabelText()||!this.clearOnChange)&&document.execCommand("selectAll",!1,null)}catch(m){}}};mxCellEditor.prototype.isSelectText=function(){return this.selectText};
mxCellEditor.prototype.stopEditing=function(a){if(null!=this.editingCell){null!=this.textNode&&(this.textNode.style.visibility="visible",this.textNode=null);a=!a?this.graph.view.getState(this.editingCell):null;var c=this.initialValue;this.bounds=this.trigger=this.editingCell=this.initialValue=null;this.textarea.blur();null!=this.textarea.parentNode&&this.textarea.parentNode.removeChild(this.textarea);this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.textarea.innerHTML="",
this.clearOnChange=!1);null!=a&&this.textarea.innerHTML!=c&&(c=this.getCurrentValue(a),null!=c&&this.applyValue(a,c))}};mxCellEditor.prototype.isHideLabel=function(a){return!0};mxCellEditor.prototype.getMinimumSize=function(a){var c=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*c+20,"left"==this.textarea.style.textAlign?120:40)};
mxCellEditor.prototype.getEditorBounds=function(a){var c=this.graph.getModel().isEdge(a.cell),f=this.graph.getView().scale,d=this.getMinimumSize(a),b=d.width,d=d.height,e=null;if(!c&&a.view.graph.cellRenderer.legacySpacing&&"fill"==a.style[mxConstants.STYLE_OVERFLOW])e=a.shape.getLabelBounds(mxRectangle.fromRectangle(a));else{var g=parseInt(a.style[mxConstants.STYLE_SPACING]||0)*f,k=(parseInt(a.style[mxConstants.STYLE_SPACING_TOP]||0)+mxText.prototype.baseSpacingTop)*f+g,e=(parseInt(a.style[mxConstants.STYLE_SPACING_RIGHT]||
0)+mxText.prototype.baseSpacingRight)*f+g,l=(parseInt(a.style[mxConstants.STYLE_SPACING_BOTTOM]||0)+mxText.prototype.baseSpacingBottom)*f+g,f=(parseInt(a.style[mxConstants.STYLE_SPACING_LEFT]||0)+mxText.prototype.baseSpacingLeft)*f+g,e=new mxRectangle(a.x,a.y,Math.max(b,a.width-f-e),Math.max(d,a.height-k-l)),l=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),g=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),e=null!=a.shape&&
l==mxConstants.ALIGN_CENTER&&g==mxConstants.ALIGN_MIDDLE?a.shape.getLabelBounds(e):e;c?(e.x=a.absoluteOffset.x,e.y=a.absoluteOffset.y,null!=a.text&&null!=a.text.boundingBox&&(0<a.text.boundingBox.x&&(e.x=a.text.boundingBox.x),0<a.text.boundingBox.y&&(e.y=a.text.boundingBox.y))):null!=a.text&&null!=a.text.boundingBox&&(e.x=Math.min(e.x,a.text.boundingBox.x),e.y=Math.min(e.y,a.text.boundingBox.y));e.x+=f;e.y+=k;null!=a.text&&null!=a.text.boundingBox&&(c?(e.width=Math.max(b,a.text.boundingBox.width),
e.height=Math.max(d,a.text.boundingBox.height)):(e.width=Math.max(e.width,a.text.boundingBox.width),e.height=Math.max(e.height,a.text.boundingBox.height)));this.graph.getModel().isVertex(a.cell)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),c==mxConstants.ALIGN_LEFT?e.x-=a.width:c==mxConstants.ALIGN_RIGHT&&(e.x+=a.width),c=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),c==mxConstants.ALIGN_TOP?e.y-=a.height:c==
mxConstants.ALIGN_BOTTOM&&(e.y+=a.height))}return new mxRectangle(Math.round(e.x),Math.round(e.y),Math.round(e.width),Math.round(e.height))};mxCellEditor.prototype.getEmptyLabelText=function(a){return this.emptyLabelText};mxCellEditor.prototype.getEditingCell=function(){return this.editingCell};
mxCellEditor.prototype.destroy=function(){null!=this.textarea&&(mxEvent.release(this.textarea),null!=this.textarea.parentNode&&this.textarea.parentNode.removeChild(this.textarea),this.textarea=null,null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null),this.zoomHandler&&(this.graph.view.removeListener(this.zoomHandler),this.zoomHandler=null))};function mxCellRenderer(){}mxCellRenderer.prototype.defaultEdgeShape=mxConnector;
mxCellRenderer.prototype.defaultVertexShape=mxRectangleShape;mxCellRenderer.prototype.defaultTextShape=mxText;mxCellRenderer.prototype.legacyControlPosition=!0;mxCellRenderer.prototype.legacySpacing=!0;mxCellRenderer.prototype.defaultShapes={};mxCellRenderer.prototype.antiAlias=!0;mxCellRenderer.prototype.forceControlClickHandler=!1;mxCellRenderer.registerShape=function(a,c){mxCellRenderer.prototype.defaultShapes[a]=c};mxCellRenderer.registerShape(mxConstants.SHAPE_RECTANGLE,mxRectangleShape);
mxCellRenderer.registerShape(mxConstants.SHAPE_ELLIPSE,mxEllipse);mxCellRenderer.registerShape(mxConstants.SHAPE_RHOMBUS,mxRhombus);mxCellRenderer.registerShape(mxConstants.SHAPE_CYLINDER,mxCylinder);mxCellRenderer.registerShape(mxConstants.SHAPE_CONNECTOR,mxConnector);mxCellRenderer.registerShape(mxConstants.SHAPE_ACTOR,mxActor);mxCellRenderer.registerShape(mxConstants.SHAPE_TRIANGLE,mxTriangle);mxCellRenderer.registerShape(mxConstants.SHAPE_HEXAGON,mxHexagon);
mxCellRenderer.registerShape(mxConstants.SHAPE_CLOUD,mxCloud);mxCellRenderer.registerShape(mxConstants.SHAPE_LINE,mxLine);mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW,mxArrow);mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW_CONNECTOR,mxArrowConnector);mxCellRenderer.registerShape(mxConstants.SHAPE_DOUBLE_ELLIPSE,mxDoubleEllipse);mxCellRenderer.registerShape(mxConstants.SHAPE_SWIMLANE,mxSwimlane);mxCellRenderer.registerShape(mxConstants.SHAPE_IMAGE,mxImageShape);
mxCellRenderer.registerShape(mxConstants.SHAPE_LABEL,mxLabel);mxCellRenderer.prototype.initializeShape=function(a){a.shape.dialect=a.view.graph.dialect;this.configureShape(a);a.shape.init(a.view.getDrawPane())};mxCellRenderer.prototype.createShape=function(a){var c=null;null!=a.style&&(c=mxStencilRegistry.getStencil(a.style[mxConstants.STYLE_SHAPE]),c=null!=c?new mxShape(c):new (this.getShapeConstructor(a)));return c};
mxCellRenderer.prototype.createIndicatorShape=function(a){a.shape.indicatorShape=this.getShape(a.view.graph.getIndicatorShape(a))};mxCellRenderer.prototype.getShape=function(a){return null!=a?mxCellRenderer.prototype.defaultShapes[a]:null};mxCellRenderer.prototype.getShapeConstructor=function(a){var c=this.getShape(a.style[mxConstants.STYLE_SHAPE]);null==c&&(c=a.view.graph.getModel().isEdge(a.cell)?this.defaultEdgeShape:this.defaultVertexShape);return c};
mxCellRenderer.prototype.configureShape=function(a){a.shape.apply(a);a.shape.image=a.view.graph.getImage(a);a.shape.indicatorColor=a.view.graph.getIndicatorColor(a);a.shape.indicatorStrokeColor=a.style[mxConstants.STYLE_INDICATOR_STROKECOLOR];a.shape.indicatorGradientColor=a.view.graph.getIndicatorGradientColor(a);a.shape.indicatorDirection=a.style[mxConstants.STYLE_INDICATOR_DIRECTION];a.shape.indicatorImage=a.view.graph.getIndicatorImage(a);this.postConfigureShape(a)};
mxCellRenderer.prototype.postConfigureShape=function(a){null!=a.shape&&(this.resolveColor(a,"indicatorColor",mxConstants.STYLE_FILLCOLOR),this.resolveColor(a,"indicatorGradientColor",mxConstants.STYLE_GRADIENTCOLOR),this.resolveColor(a,"fill",mxConstants.STYLE_FILLCOLOR),this.resolveColor(a,"stroke",mxConstants.STYLE_STROKECOLOR),this.resolveColor(a,"gradient",mxConstants.STYLE_GRADIENTCOLOR))};
mxCellRenderer.prototype.resolveColor=function(a,c,f){var d=a.shape[c],b=a.view.graph,e=null;"inherit"==d?e=b.model.getParent(a.cell):"swimlane"==d?(e=null!=b.model.getTerminal(a.cell,!1)?b.model.getTerminal(a.cell,!1):a.cell,e=b.getSwimlane(e),f=b.swimlaneIndicatorColorAttribute):"indicated"==d&&(a.shape[c]=a.shape.indicatorColor);null!=e&&(d=b.getView().getState(e),a.shape[c]=null,null!=d&&(a.shape[c]=null!=d.shape&&"indicatorColor"!=c?d.shape[c]:d.style[f]))};
mxCellRenderer.prototype.getLabelValue=function(a){return a.view.graph.getLabel(a.cell)};
mxCellRenderer.prototype.createLabel=function(a,c){var f=a.view.graph;f.getModel().isEdge(a.cell);if(0<a.style[mxConstants.STYLE_FONTSIZE]||null==a.style[mxConstants.STYLE_FONTSIZE]){var d=f.isHtmlLabel(a.cell)||null!=c&&mxUtils.isNode(c);a.text=new this.defaultTextShape(c,new mxRectangle,a.style[mxConstants.STYLE_ALIGN]||mxConstants.ALIGN_CENTER,f.getVerticalAlign(a),a.style[mxConstants.STYLE_FONTCOLOR],a.style[mxConstants.STYLE_FONTFAMILY],a.style[mxConstants.STYLE_FONTSIZE],a.style[mxConstants.STYLE_FONTSTYLE],
a.style[mxConstants.STYLE_SPACING],a.style[mxConstants.STYLE_SPACING_TOP],a.style[mxConstants.STYLE_SPACING_RIGHT],a.style[mxConstants.STYLE_SPACING_BOTTOM],a.style[mxConstants.STYLE_SPACING_LEFT],a.style[mxConstants.STYLE_HORIZONTAL],a.style[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR],a.style[mxConstants.STYLE_LABEL_BORDERCOLOR],f.isWrapping(a.cell)&&f.isHtmlLabel(a.cell),f.isLabelClipped(a.cell),a.style[mxConstants.STYLE_OVERFLOW],a.style[mxConstants.STYLE_LABEL_PADDING],mxUtils.getValue(a.style,mxConstants.STYLE_TEXT_DIRECTION,
mxConstants.DEFAULT_TEXT_DIRECTION));a.text.opacity=mxUtils.getValue(a.style,mxConstants.STYLE_TEXT_OPACITY,100);a.text.dialect=d?mxConstants.DIALECT_STRICTHTML:a.view.graph.dialect;a.text.style=a.style;a.text.state=a;this.initializeLabel(a,a.text);var b=!1,e=function(d){var c=a;if(mxClient.IS_TOUCH||b)c=mxEvent.getClientX(d),d=mxEvent.getClientY(d),d=mxUtils.convertPoint(f.container,c,d),c=f.view.getState(f.getCellAt(d.x,d.y));return c};mxEvent.addGestureListeners(a.text.node,mxUtils.bind(this,function(d){this.isLabelEvent(a,
d)&&(f.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(d,a)),b=f.dialect!=mxConstants.DIALECT_SVG&&"IMG"==mxEvent.getSource(d).nodeName)}),mxUtils.bind(this,function(b){this.isLabelEvent(a,b)&&f.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(b,e(b)))}),mxUtils.bind(this,function(d){this.isLabelEvent(a,d)&&(f.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d,e(d))),b=!1)}));f.nativeDblClickEnabled&&mxEvent.addListener(a.text.node,"dblclick",mxUtils.bind(this,function(b){this.isLabelEvent(a,
b)&&(f.dblClick(b,a.cell),mxEvent.consume(b))}))}};mxCellRenderer.prototype.initializeLabel=function(a,c){mxClient.IS_SVG&&mxClient.NO_FO&&c.dialect!=mxConstants.DIALECT_SVG?c.init(a.view.graph.container):c.init(a.view.getDrawPane())};
mxCellRenderer.prototype.createCellOverlays=function(a){var c=a.view.graph.getCellOverlays(a.cell),f=null;if(null!=c)for(var f=new mxDictionary,d=0;d<c.length;d++){var b=null!=a.overlays?a.overlays.remove(c[d]):null;null==b&&(b=new mxImageShape(new mxRectangle,c[d].image.src),b.dialect=a.view.graph.dialect,b.preserveImageAspect=!1,b.overlay=c[d],this.initializeOverlay(a,b),this.installCellOverlayListeners(a,c[d],b),null!=c[d].cursor&&(b.node.style.cursor=c[d].cursor));f.put(c[d],b)}null!=a.overlays&&
a.overlays.visit(function(b,a){a.destroy()});a.overlays=f};mxCellRenderer.prototype.initializeOverlay=function(a,c){c.init(a.view.getOverlayPane())};
mxCellRenderer.prototype.installCellOverlayListeners=function(a,c,f){var d=a.view.graph;mxEvent.addListener(f.node,"click",function(b){d.isEditing()&&d.stopEditing(!d.isInvokesStopCellEditing());c.fireEvent(new mxEventObject(mxEvent.CLICK,"event",b,"cell",a.cell))});mxEvent.addGestureListeners(f.node,function(b){mxEvent.consume(b)},function(b){d.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(b,a))});mxClient.IS_TOUCH&&mxEvent.addListener(f.node,"touchend",function(b){c.fireEvent(new mxEventObject(mxEvent.CLICK,
"event",b,"cell",a.cell))})};mxCellRenderer.prototype.createControl=function(a){var c=a.view.graph,f=c.getFoldingImage(a);if(c.foldingEnabled&&null!=f){if(null==a.control){var d=new mxRectangle(0,0,f.width,f.height);a.control=new mxImageShape(d,f.src);a.control.preserveImageAspect=!1;a.control.dialect=c.dialect;this.initControl(a,a.control,!0,this.createControlClickHandler(a))}}else null!=a.control&&(a.control.destroy(),a.control=null)};
mxCellRenderer.prototype.createControlClickHandler=function(a){var c=a.view.graph;return mxUtils.bind(this,function(f){if(this.forceControlClickHandler||c.isEnabled()){var d=!c.isCellCollapsed(a.cell);c.foldCells(d,!1,[a.cell],null,f);mxEvent.consume(f)}})};
mxCellRenderer.prototype.initControl=function(a,c,f,d){var b=a.view.graph;b.isHtmlLabel(a.cell)&&mxClient.NO_FO&&b.dialect==mxConstants.DIALECT_SVG?(c.dialect=mxConstants.DIALECT_PREFERHTML,c.init(b.container),c.node.style.zIndex=1):c.init(a.view.getOverlayPane());c=c.innerNode||c.node;null!=d&&!mxClient.IS_IOS&&(b.isEnabled()&&(c.style.cursor="pointer"),mxEvent.addListener(c,"click",d));if(f){var e=null;mxEvent.addGestureListeners(c,function(d){e=new mxPoint(mxEvent.getClientX(d),mxEvent.getClientY(d));
b.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(d,a));mxEvent.consume(d)},function(d){b.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d,a))},function(d){b.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d,a));mxEvent.consume(d)});null!=d&&mxClient.IS_IOS&&c.addEventListener("touchend",function(a){if(null!=e){var c=b.tolerance;Math.abs(e.x-mxEvent.getClientX(a))<c&&Math.abs(e.y-mxEvent.getClientY(a))<c&&(d.call(d,a),mxEvent.consume(a))}},!0)}return c};
mxCellRenderer.prototype.isShapeEvent=function(a,c){return!0};mxCellRenderer.prototype.isLabelEvent=function(a,c){return!0};
mxCellRenderer.prototype.installListeners=function(a){var c=a.view.graph,f=function(d){var b=a;if(c.dialect!=mxConstants.DIALECT_SVG&&"IMG"==mxEvent.getSource(d).nodeName||mxClient.IS_TOUCH)b=mxEvent.getClientX(d),d=mxEvent.getClientY(d),d=mxUtils.convertPoint(c.container,b,d),b=c.view.getState(c.getCellAt(d.x,d.y));return b};mxEvent.addGestureListeners(a.shape.node,mxUtils.bind(this,function(d){this.isShapeEvent(a,d)&&c.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(d,a))}),mxUtils.bind(this,
function(d){this.isShapeEvent(a,d)&&c.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d,f(d)))}),mxUtils.bind(this,function(d){this.isShapeEvent(a,d)&&c.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d,f(d)))}));c.nativeDblClickEnabled&&mxEvent.addListener(a.shape.node,"dblclick",mxUtils.bind(this,function(d){this.isShapeEvent(a,d)&&(c.dblClick(d,a.cell),mxEvent.consume(d))}))};
mxCellRenderer.prototype.redrawLabel=function(a,c){var f=this.getLabelValue(a);if(null==a.text&&null!=f&&(mxUtils.isNode(f)||0<f.length))this.createLabel(a,f);else if(null!=a.text&&(null==f||0==f.length))a.text.destroy(),a.text=null;if(null!=a.text){var d=a.view.graph;c&&(null!=a.text.lastValue&&this.isTextShapeInvalid(a,a.text)&&(a.text.lastValue=null),a.text.resetStyles(),a.text.apply(a),a.text.opacity=mxUtils.getValue(a.style,mxConstants.STYLE_TEXT_OPACITY,100));var b=this.getLabelBounds(a),e=
d.isWrapping(a.cell),d=d.isLabelClipped(a.cell),g=a.view.graph.isHtmlLabel(a.cell)||null!=f&&mxUtils.isNode(f)?mxConstants.DIALECT_STRICTHTML:a.view.graph.dialect,k=a.style[mxConstants.STYLE_OVERFLOW]||"visible";if(c||a.text.value!=f||a.text.isWrapping!=e||a.text.overflow!=k||a.text.isClipping!=d||a.text.scale!=this.getTextScale(a)||a.text.dialect!=g||!a.text.bounds.equals(b))a.text.dialect=g,a.text.value=f,a.text.bounds=b,a.text.scale=this.getTextScale(a),a.text.wrap=e,a.text.clipped=d,a.text.overflow=
k,f=a.text.node.style.visibility,this.redrawLabelShape(a.text),a.text.node.style.visibility=f}};
mxCellRenderer.prototype.isTextShapeInvalid=function(a,c){function f(d,b,e){return c[d]!=(a.style[b]||e)}return f("fontStyle",mxConstants.STYLE_FONTSTYLE,mxConstants.DEFAULT_FONTSTYLE)||f("family",mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY)||f("size",mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE)||f("color",mxConstants.STYLE_FONTCOLOR,"black")||f("align",mxConstants.STYLE_ALIGN,"")||f("valign",mxConstants.STYLE_VERTICAL_ALIGN,"")||f("spacing",mxConstants.STYLE_SPACING,2)||
f("spacingTop",mxConstants.STYLE_SPACING_TOP,2)||f("spacingRight",mxConstants.STYLE_SPACING_RIGHT,2)||f("spacingBottom",mxConstants.STYLE_SPACING_BOTTOM,2)||f("spacingLeft",mxConstants.STYLE_SPACING_LEFT,2)||f("horizontal",mxConstants.STYLE_HORIZONTAL,!0)||f("background",mxConstants.STYLE_LABEL_BACKGROUNDCOLOR)||f("border",mxConstants.STYLE_LABEL_BORDERCOLOR)||f("opacity",mxConstants.STYLE_TEXT_OPACITY,100)||f("textDirection",mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION)};
mxCellRenderer.prototype.redrawLabelShape=function(a){a.redraw()};mxCellRenderer.prototype.getTextScale=function(a){return a.view.scale};
mxCellRenderer.prototype.getLabelBounds=function(a){var c=a.view.graph,f=a.view.scale,d=c.getModel().isEdge(a.cell),b=new mxRectangle(a.absoluteOffset.x,a.absoluteOffset.y);if(d){var e=a.text.getSpacing();b.x+=e.x*f;b.y+=e.y*f;c=c.getCellGeometry(a.cell);null!=c&&(b.width=Math.max(0,c.width*f),b.height=Math.max(0,c.height*f))}else a.text.isPaintBoundsInverted()&&(c=b.x,b.x=b.y,b.y=c),b.x+=a.x,b.y+=a.y,b.width=Math.max(1,a.width),b.height=Math.max(1,a.height),c=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,
mxConstants.NONE),c!=mxConstants.NONE&&""!=c&&(e=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1))*f,c=1+Math.floor((e-1)/2),e=Math.floor(e+1),b.x+=c,b.y+=c,b.width-=e,b.height-=e);a.text.isPaintBoundsInverted()&&(c=(a.width-a.height)/2,b.x+=c,b.y-=c,c=b.width,b.width=b.height,b.height=c);null!=a.shape&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),e=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),
c==mxConstants.ALIGN_CENTER&&e==mxConstants.ALIGN_MIDDLE&&(b=a.shape.getLabelBounds(b)));c=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_WIDTH,null);null!=c&&(b.width=parseFloat(c)*f);d||this.rotateLabelBounds(a,b);return b};
mxCellRenderer.prototype.rotateLabelBounds=function(a,c){c.y-=a.text.margin.y*c.height;c.x-=a.text.margin.x*c.width;if(!this.legacySpacing||"fill"!=a.style[mxConstants.STYLE_OVERFLOW]&&"width"!=a.style[mxConstants.STYLE_OVERFLOW]){var f=a.view.scale,d=a.text.getSpacing();c.x+=d.x*f;c.y+=d.y*f;var d=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),b=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),e=mxUtils.getValue(a.style,
mxConstants.STYLE_LABEL_WIDTH,null);c.width=Math.max(0,c.width-(d==mxConstants.ALIGN_CENTER&&null==e?a.text.spacingLeft*f+a.text.spacingRight*f:0));c.height=Math.max(0,c.height-(b==mxConstants.ALIGN_MIDDLE?a.text.spacingTop*f+a.text.spacingBottom*f:0))}b=a.text.getTextRotation();if(0!=b&&null!=a&&a.view.graph.model.isVertex(a.cell)&&(f=a.getCenterX(),d=a.getCenterY(),c.x!=f||c.y!=d))b*=Math.PI/180,pt=mxUtils.getRotatedPoint(new mxPoint(c.x,c.y),Math.cos(b),Math.sin(b),new mxPoint(f,d)),c.x=pt.x,c.y=
pt.y};
mxCellRenderer.prototype.redrawCellOverlays=function(a,c){this.createCellOverlays(a);if(null!=a.overlays){var f=mxUtils.mod(mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0),90),d=mxUtils.toRadians(f),b=Math.cos(d),e=Math.sin(d);a.overlays.visit(function(d,k){var l=k.overlay.getBounds(a);if(!a.view.graph.getModel().isEdge(a.cell)&&null!=a.shape&&0!=f){var n=l.getCenterX(),m=l.getCenterY(),m=mxUtils.getRotatedPoint(new mxPoint(n,m),b,e,new mxPoint(a.getCenterX(),a.getCenterY())),n=m.x,m=m.y;l.x=
Math.round(n-l.width/2);l.y=Math.round(m-l.height/2)}if(c||null==k.bounds||k.scale!=a.view.scale||!k.bounds.equals(l))k.bounds=l,k.scale=a.view.scale,k.redraw()})}};
mxCellRenderer.prototype.redrawControl=function(a,c){var f=a.view.graph.getFoldingImage(a);if(null!=a.control&&null!=f){var f=this.getControlBounds(a,f.width,f.height),d=this.legacyControlPosition?mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0):a.shape.getTextRotation(),b=a.view.scale;if(c||a.control.scale!=b||!a.control.bounds.equals(f)||a.control.rotation!=d)a.control.rotation=d,a.control.bounds=f,a.control.scale=b,a.control.redraw()}};
mxCellRenderer.prototype.getControlBounds=function(a,c,f){if(null!=a.control){var d=a.view.scale,b=a.getCenterX(),e=a.getCenterY();if(!a.view.graph.getModel().isEdge(a.cell)&&(b=a.x+c*d,e=a.y+f*d,null!=a.shape)){var g=a.shape.getShapeRotation();if(this.legacyControlPosition)g=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0);else if(a.shape.isPaintBoundsInverted())var k=(a.width-a.height)/2,b=b+k,e=e-k;0!=g&&(k=mxUtils.toRadians(g),g=Math.cos(k),k=Math.sin(k),e=mxUtils.getRotatedPoint(new mxPoint(b,
e),g,k,new mxPoint(a.getCenterX(),a.getCenterY())),b=e.x,e=e.y)}return a.view.graph.getModel().isEdge(a.cell),new mxRectangle(Math.round(b-c/2*d),Math.round(e-f/2*d),Math.round(c*d),Math.round(f*d))}return null};
mxCellRenderer.prototype.insertStateAfter=function(a,c,f){for(var d=this.getShapesForState(a),b=0;b<d.length;b++)if(null!=d[b]&&null!=d[b].node){var e=d[b].node.parentNode!=a.view.getDrawPane()&&d[b].node.parentNode!=a.view.getOverlayPane(),g=e?f:c;if(null!=g&&g.nextSibling!=d[b].node)null==g.nextSibling?g.parentNode.appendChild(d[b].node):g.parentNode.insertBefore(d[b].node,g.nextSibling);else if(null==g)if(d[b].node.parentNode==a.view.graph.container){for(g=a.view.canvas;null!=g&&g.parentNode!=
a.view.graph.container;)g=g.parentNode;null!=g&&null!=g.nextSibling?g.nextSibling!=d[b].node&&d[b].node.parentNode.insertBefore(d[b].node,g.nextSibling):d[b].node.parentNode.appendChild(d[b].node)}else null!=d[b].node.parentNode.firstChild&&d[b].node.parentNode.firstChild!=d[b].node&&d[b].node.parentNode.insertBefore(d[b].node,d[b].node.parentNode.firstChild);e?f=d[b].node:c=d[b].node}return[c,f]};mxCellRenderer.prototype.getShapesForState=function(a){return[a.shape,a.text,a.control]};
mxCellRenderer.prototype.redraw=function(a,c,f){c=this.redrawShape(a,c,f);if(null!=a.shape&&(null==f||f))this.redrawLabel(a,c),this.redrawCellOverlays(a,c),this.redrawControl(a,c)};
mxCellRenderer.prototype.redrawShape=function(a,c,f){var d=a.view.graph.model,b=!1;null!=a.shape&&null!=a.shape.style&&(null!=a.style&&a.shape.style[mxConstants.STYLE_SHAPE]!=a.style[mxConstants.STYLE_SHAPE])&&(a.shape.destroy(),a.shape=null);null==a.shape&&null!=a.view.graph.container&&a.cell!=a.view.currentRoot&&(d.isVertex(a.cell)||d.isEdge(a.cell))?(a.shape=this.createShape(a),null!=a.shape&&(a.shape.antiAlias=this.antiAlias,this.createIndicatorShape(a),this.initializeShape(a),this.createCellOverlays(a),
this.installListeners(a),a.view.graph.selectionCellsHandler.updateHandler(a))):null!=a.shape&&!mxUtils.equalEntries(a.shape.style,a.style)&&(a.shape.resetStyles(),this.configureShape(a),a.view.graph.selectionCellsHandler.updateHandler(a),c=!0);if(null!=a.shape&&(this.createControl(a),c||null==a.shape.bounds||a.shape.scale!=a.view.scale||null==a.absolutePoints&&!a.shape.bounds.equals(a)||null!=a.absolutePoints&&!mxUtils.equalPoints(a.shape.points,a.absolutePoints)))null!=a.absolutePoints?(a.shape.points=
a.absolutePoints.slice(),a.shape.bounds=null):(a.shape.points=null,a.shape.bounds=new mxRectangle(a.x,a.y,a.width,a.height)),a.shape.scale=a.view.scale,null==f||f?a.shape.redraw():a.shape.updateBoundingBox(),b=!0;return b};mxCellRenderer.prototype.destroy=function(a){null!=a.shape&&(null!=a.text&&(a.text.destroy(),a.text=null),null!=a.overlays&&(a.overlays.visit(function(a,f){f.destroy()}),a.overlays=null),null!=a.control&&(a.control.destroy(),a.control=null),a.shape.destroy(),a.shape=null)};
var mxEdgeStyle={EntityRelation:function(a,c,f,d,b){var e=a.view,g=e.graph;d=mxUtils.getValue(a.style,mxConstants.STYLE_SEGMENT,mxConstants.ENTITY_SEGMENT)*e.scale;var k=a.absolutePoints,l=k[0],n=k[k.length-1],k=!1;if(null!=l)c=new mxCellState,c.x=l.x,c.y=l.y;else if(null!=c){var m=mxUtils.getPortConstraints(c,a,!0,mxConstants.DIRECTION_MASK_NONE);m!=mxConstants.DIRECTION_MASK_NONE&&m!=mxConstants.DIRECTION_MASK_WEST+mxConstants.DIRECTION_MASK_EAST?k=m==mxConstants.DIRECTION_MASK_WEST:(l=g.getCellGeometry(c.cell),
l.relative?k=0.5>=l.x:null!=f&&(k=f.x+f.width<c.x))}else return;l=!0;null!=n?(f=new mxCellState,f.x=n.x,f.y=n.y):null!=f&&(m=mxUtils.getPortConstraints(f,a,!1,mxConstants.DIRECTION_MASK_NONE),m!=mxConstants.DIRECTION_MASK_NONE&&m!=mxConstants.DIRECTION_MASK_WEST+mxConstants.DIRECTION_MASK_EAST?l=m==mxConstants.DIRECTION_MASK_WEST:(a=g.getCellGeometry(f.cell),a.relative?l=0.5>=a.x:null!=c&&(l=c.x+c.width<f.x)));null!=c&&null!=f&&(a=k?c.x:c.x+c.width,c=e.getRoutingCenterY(c),g=l?f.x:f.x+f.width,f=e.getRoutingCenterY(f),
e=new mxPoint(a+(k?-d:d),c),n=new mxPoint(g+(l?-d:d),f),k==l?(d=k?Math.min(a,g)-d:Math.max(a,g)+d,b.push(new mxPoint(d,c)),b.push(new mxPoint(d,f))):(e.x<n.x==k?(d=c+(f-c)/2,b.push(e),b.push(new mxPoint(e.x,d)),b.push(new mxPoint(n.x,d))):b.push(e),b.push(n)))},Loop:function(a,c,f,d,b){f=a.absolutePoints;var e=f[f.length-1];if(null!=f[0]&&null!=e){if(null!=d&&0<d.length)for(c=0;c<d.length;c++)f=d[c],f=a.view.transformControlPoint(a,f),b.push(new mxPoint(f.x,f.y))}else if(null!=c){var e=a.view,g=e.graph;
f=null!=d&&0<d.length?d[0]:null;null!=f&&(f=e.transformControlPoint(a,f),mxUtils.contains(c,f.x,f.y)&&(f=null));var k=d=0,l=0,n=0,g=mxUtils.getValue(a.style,mxConstants.STYLE_SEGMENT,g.gridSize)*e.scale;a=mxUtils.getValue(a.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_WEST);a==mxConstants.DIRECTION_NORTH||a==mxConstants.DIRECTION_SOUTH?(d=e.getRoutingCenterX(c),k=g):(l=e.getRoutingCenterY(c),n=g);null==f||f.x<c.x||f.x>c.x+c.width?null!=f?(d=f.x,n=Math.max(Math.abs(l-f.y),n)):a==mxConstants.DIRECTION_NORTH?
l=c.y-2*k:a==mxConstants.DIRECTION_SOUTH?l=c.y+c.height+2*k:d=a==mxConstants.DIRECTION_EAST?c.x-2*n:c.x+c.width+2*n:null!=f&&(d=e.getRoutingCenterX(c),k=Math.max(Math.abs(d-f.x),n),l=f.y,n=0);b.push(new mxPoint(d-k,l-n));b.push(new mxPoint(d+k,l+n))}},ElbowConnector:function(a,c,f,d,b){var e=null!=d&&0<d.length?d[0]:null,g=!1,k=!1;if(null!=c&&null!=f)if(null!=e)var l=Math.min(c.x,f.x),n=Math.max(c.x+c.width,f.x+f.width),k=Math.min(c.y,f.y),m=Math.max(c.y+c.height,f.y+f.height),e=a.view.transformControlPoint(a,
e),g=e.y<k||e.y>m,k=e.x<l||e.x>n;else l=Math.max(c.x,f.x),n=Math.min(c.x+c.width,f.x+f.width),(g=l==n)||(k=Math.max(c.y,f.y),m=Math.min(c.y+c.height,f.y+f.height),k=k==m);!k&&(g||a.style[mxConstants.STYLE_ELBOW]==mxConstants.ELBOW_VERTICAL)?mxEdgeStyle.TopToBottom(a,c,f,d,b):mxEdgeStyle.SideToSide(a,c,f,d,b)},SideToSide:function(a,c,f,d,b){var e=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,k=g[0],g=g[g.length-1];null!=d&&(d=e.transformControlPoint(a,d));null!=k&&(c=new mxCellState,
c.x=k.x,c.y=k.y);null!=g&&(f=new mxCellState,f.x=g.x,f.y=g.y);null!=c&&null!=f&&(a=Math.max(c.x,f.x),k=Math.min(c.x+c.width,f.x+f.width),a=null!=d?d.x:Math.round(k+(a-k)/2),k=e.getRoutingCenterY(c),e=e.getRoutingCenterY(f),null!=d&&(d.y>=c.y&&d.y<=c.y+c.height&&(k=d.y),d.y>=f.y&&d.y<=f.y+f.height&&(e=d.y)),!mxUtils.contains(f,a,k)&&!mxUtils.contains(c,a,k)&&b.push(new mxPoint(a,k)),!mxUtils.contains(f,a,e)&&!mxUtils.contains(c,a,e)&&b.push(new mxPoint(a,e)),1==b.length&&(null!=d?!mxUtils.contains(f,
a,d.y)&&!mxUtils.contains(c,a,d.y)&&b.push(new mxPoint(a,d.y)):(e=Math.max(c.y,f.y),c=Math.min(c.y+c.height,f.y+f.height),b.push(new mxPoint(a,e+(c-e)/2)))))},TopToBottom:function(a,c,f,d,b){var e=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,k=g[0],g=g[g.length-1];null!=d&&(d=e.transformControlPoint(a,d));null!=k&&(c=new mxCellState,c.x=k.x,c.y=k.y);null!=g&&(f=new mxCellState,f.x=g.x,f.y=g.y);null!=c&&null!=f&&(k=Math.max(c.y,f.y),g=Math.min(c.y+c.height,f.y+f.height),a=e.getRoutingCenterX(c),
null!=d&&d.x>=c.x&&d.x<=c.x+c.width&&(a=d.x),k=null!=d?d.y:Math.round(g+(k-g)/2),!mxUtils.contains(f,a,k)&&!mxUtils.contains(c,a,k)&&b.push(new mxPoint(a,k)),a=null!=d&&d.x>=f.x&&d.x<=f.x+f.width?d.x:e.getRoutingCenterX(f),!mxUtils.contains(f,a,k)&&!mxUtils.contains(c,a,k)&&b.push(new mxPoint(a,k)),1==b.length&&(null!=d&&1==b.length?!mxUtils.contains(f,d.x,k)&&!mxUtils.contains(c,d.x,k)&&b.push(new mxPoint(d.x,k)):(e=Math.max(c.x,f.x),c=Math.min(c.x+c.width,f.x+f.width),b.push(new mxPoint(e+(c-e)/
2,k)))))},SegmentConnector:function(a,c,f,d,b){function e(a){if(null==l||Math.abs(l.x-a.x)>=k||Math.abs(l.y-a.y)>=k)b.push(a),l=a;return l}var g=a.absolutePoints,k=Math.max(1,a.view.scale),l=0<b.length?b[0]:null,n=!0,m=null,p=g[0];null==p&&null!=c?p=new mxPoint(a.view.getRoutingCenterX(c),a.view.getRoutingCenterY(c)):null!=p&&(p=p.clone());p.x=Math.round(p.x);p.y=Math.round(p.y);var r=g.length-1;if(null!=d&&0<d.length){for(var m=[],s=0;s<d.length;s++){var q=a.view.transformControlPoint(a,d[s]);null!=
q&&(q.x=Math.round(q.x),q.y=Math.round(q.y),m.push(q))}if(0==m.length)return;d=m;null!=p&&null!=d[0]&&(Math.abs(d[0].x-p.x)<k&&(d[0].x=p.x),Math.abs(d[0].y-p.y)<k&&(d[0].y=p.y));q=g[r];null!=q&&null!=d[d.length-1]&&(Math.abs(d[d.length-1].x-q.x)<k&&(d[d.length-1].x=q.x),Math.abs(d[d.length-1].y-q.y)<k&&(d[d.length-1].y=q.y));var m=d[0],u=c,t=g[0],v=!1,z=!1,v=m;null!=t&&(t.x=Math.round(t.x),t.y=Math.round(t.y),u=null);for(s=0;2>s;s++){var y=null!=t&&t.x==v.x,x=null!=t&&t.y==v.y,D=null!=u&&v.y>=u.y&&
v.y<=u.y+u.height,u=null!=u&&v.x>=u.x&&v.x<=u.x+u.width,v=x||null==t&&D,z=y||null==t&&u;if(!(0==s&&(v&&z||y&&x))){if(null!=t&&!x&&!y&&(D||u)){n=D?!1:!0;break}if(z||v){n=v;1==s&&(n=0==d.length%2?v:z);break}}u=f;t=g[r];null!=t&&(t.x=Math.round(t.x),t.y=Math.round(t.y),u=null);v=d[d.length-1];y&&x&&(d=d.slice(1))}n&&(null!=g[0]&&g[0].y!=m.y||null==g[0]&&null!=c&&(m.y<c.y||m.y>c.y+c.height))?e(new mxPoint(p.x,m.y)):!n&&(null!=g[0]&&g[0].x!=m.x||null==g[0]&&null!=c&&(m.x<c.x||m.x>c.x+c.width))&&e(new mxPoint(m.x,
p.y));n?p.y=m.y:p.x=m.x;for(s=0;s<d.length;s++)n=!n,m=d[s],n?p.y=m.y:p.x=m.x,e(p.clone())}else m=p,n=!0;p=g[r];null==p&&null!=f&&(p=new mxPoint(a.view.getRoutingCenterX(f),a.view.getRoutingCenterY(f)));null!=p&&(p.x=Math.round(p.x),p.y=Math.round(p.y),null!=m&&(n&&(null!=g[r]&&g[r].y!=m.y||null==g[r]&&null!=f&&(m.y<f.y||m.y>f.y+f.height))?e(new mxPoint(p.x,m.y)):!n&&(null!=g[r]&&g[r].x!=m.x||null==g[r]&&null!=f&&(m.x<f.x||m.x>f.x+f.width))&&e(new mxPoint(m.x,p.y))));if(null==g[0]&&null!=c)for(;1<
b.length&&null!=b[1]&&mxUtils.contains(c,b[1].x,b[1].y);)b.splice(1,1);if(null==g[r]&&null!=f)for(;1<b.length&&null!=b[b.length-1]&&mxUtils.contains(f,b[b.length-1].x,b[b.length-1].y);)b.splice(b.length-1,1);null!=q&&null!=b[b.length-1]&&(Math.abs(q.x-b[b.length-1].x)<k&&Math.abs(q.y-b[b.length-1].y)<k)&&(b.splice(b.length-1,1),null!=b[b.length-1]&&(Math.abs(b[b.length-1].x-q.x)<k&&(b[b.length-1].x=q.x),Math.abs(b[b.length-1].y-q.y)<k&&(b[b.length-1].y=q.y)))},orthBuffer:10,orthPointsFallback:!0,
dirVectors:[[-1,0],[0,-1],[1,0],[0,1],[-1,0],[0,-1],[1,0]],wayPoints1:[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],routePatterns:[[[513,2308,2081,2562],[513,1090,514,2184,2114,2561],[513,1090,514,2564,2184,2562],[513,2308,2561,1090,514,2568,2308]],[[514,1057,513,2308,2081,2562],[514,2184,2114,2561],[514,2184,2562,1057,513,2564,2184],[514,1057,513,2568,2308,2561]],[[1090,514,1057,513,2308,2081,2562],[2114,2561],[1090,2562,1057,513,2564,2184],[1090,514,1057,513,2308,2561,
2568]],[[2081,2562],[1057,513,1090,514,2184,2114,2561],[1057,513,1090,514,2184,2562,2564],[1057,2561,1090,514,2568,2308]]],inlineRoutePatterns:[[null,[2114,2568],null,null],[null,[514,2081,2114,2568],null,null],[null,[2114,2561],null,null],[[2081,2562],[1057,2114,2568],[2184,2562],null]],vertexSeperations:[],limits:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],LEFT_MASK:32,TOP_MASK:64,RIGHT_MASK:128,BOTTOM_MASK:256,LEFT:1,TOP:2,RIGHT:4,BOTTOM:8,SIDE_MASK:480,CENTER_MASK:512,SOURCE_MASK:1024,TARGET_MASK:2048,
VERTEX_MASK:3072,getJettySize:function(a,c,f,d,b){c=mxUtils.getValue(a.style,b?mxConstants.STYLE_SOURCE_JETTY_SIZE:mxConstants.STYLE_TARGET_JETTY_SIZE,mxUtils.getValue(a.style,mxConstants.STYLE_JETTY_SIZE,mxEdgeStyle.orthBuffer));"auto"==c&&(mxUtils.getValue(a.style,b?mxConstants.STYLE_STARTARROW:mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE?(a=mxUtils.getNumber(a.style,b?mxConstants.STYLE_STARTSIZE:mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE),c=Math.max(2,Math.ceil((a+
mxEdgeStyle.orthBuffer)/mxEdgeStyle.orthBuffer))*mxEdgeStyle.orthBuffer):c=2*mxEdgeStyle.orthBuffer);return c},OrthConnector:function(a,c,f,d,b){var e=a.view.graph,g=null==c?!1:e.getModel().isEdge(c.cell),k=null==f?!1:e.getModel().isEdge(f.cell),e=a.absolutePoints,l=e[0],n=e[e.length-1],m=null!=c?c.x:l.x,p=null!=c?c.y:l.y,r=null!=c?c.width:0,s=null!=c?c.height:0,q=null!=f?f.x:n.x,u=null!=f?f.y:n.y,t=null!=f?f.width:0,v=null!=f?f.height:0,e=a.view.scale*mxEdgeStyle.getJettySize(a,c,f,d,!0),z=a.view.scale*
mxEdgeStyle.getJettySize(a,c,f,d,!1);null!=c&&f==c&&(e=z=Math.max(e,z));var y=z+e,x=!1;if(null!=l&&null!=n)var x=n.x-l.x,D=n.y-l.y,x=x*x+D*D<y*y;if(x||mxEdgeStyle.orthPointsFallback&&null!=d&&0<d.length||g||k)mxEdgeStyle.SegmentConnector(a,c,f,d,b);else{d=[mxConstants.DIRECTION_MASK_ALL,mxConstants.DIRECTION_MASK_ALL];x=0;null!=c&&(d[0]=mxUtils.getPortConstraints(c,a,!0,mxConstants.DIRECTION_MASK_ALL),x=mxUtils.getValue(c.style,mxConstants.STYLE_ROTATION,0),0!=x&&(x=mxUtils.getBoundingBox(new mxRectangle(m,
p,r,s),x),m=x.x,p=x.y,r=x.width,s=x.height));null!=f&&(d[1]=mxUtils.getPortConstraints(f,a,!1,mxConstants.DIRECTION_MASK_ALL),x=mxUtils.getValue(f.style,mxConstants.STYLE_ROTATION,0),0!=x&&(x=mxUtils.getBoundingBox(new mxRectangle(q,u,t,v),x),q=x.x,u=x.y,t=x.width,v=x.height));m=Math.round(10*m)/10;p=Math.round(10*p)/10;r=Math.round(10*r)/10;s=Math.round(10*s)/10;q=Math.round(10*q)/10;u=Math.round(10*u)/10;t=Math.round(10*t)/10;v=Math.round(10*v)/10;a=[0,0];m=[[m,p,r,s],[q,u,t,v]];z=[e,z];for(x=0;2>
x;x++)mxEdgeStyle.limits[x][1]=m[x][0]-z[x],mxEdgeStyle.limits[x][2]=m[x][1]-z[x],mxEdgeStyle.limits[x][4]=m[x][0]+m[x][2]+z[x],mxEdgeStyle.limits[x][8]=m[x][1]+m[x][3]+z[x];z=m[0][1]+m[0][3]/2;p=m[1][1]+m[1][3]/2;x=m[0][0]+m[0][2]/2-(m[1][0]+m[1][2]/2);D=z-p;z=0;0>x?z=0>D?2:1:0>=D&&(z=3,0==x&&(z=2));p=null;null!=c&&(p=l);c=[[0.5,0.5],[0.5,0.5]];for(x=0;2>x;x++)null!=p&&(c[x][0]=(p.x-m[x][0])/m[x][2],1>=Math.abs(p.x-m[x][0])?a[x]=mxConstants.DIRECTION_MASK_WEST:1>=Math.abs(p.x-m[x][0]-m[x][2])&&(a[x]=
mxConstants.DIRECTION_MASK_EAST),c[x][1]=(p.y-m[x][1])/m[x][3],1>=Math.abs(p.y-m[x][1])?a[x]=mxConstants.DIRECTION_MASK_NORTH:1>=Math.abs(p.y-m[x][1]-m[x][3])&&(a[x]=mxConstants.DIRECTION_MASK_SOUTH)),p=null,null!=f&&(p=n);x=m[0][1]-(m[1][1]+m[1][3]);n=m[0][0]-(m[1][0]+m[1][2]);p=m[1][1]-(m[0][1]+m[0][3]);r=m[1][0]-(m[0][0]+m[0][2]);mxEdgeStyle.vertexSeperations[1]=Math.max(n-y,0);mxEdgeStyle.vertexSeperations[2]=Math.max(x-y,0);mxEdgeStyle.vertexSeperations[4]=Math.max(p-y,0);mxEdgeStyle.vertexSeperations[3]=
Math.max(r-y,0);y=[];f=[];l=[];f[0]=n>=r?mxConstants.DIRECTION_MASK_WEST:mxConstants.DIRECTION_MASK_EAST;l[0]=x>=p?mxConstants.DIRECTION_MASK_NORTH:mxConstants.DIRECTION_MASK_SOUTH;f[1]=mxUtils.reversePortConstraints(f[0]);l[1]=mxUtils.reversePortConstraints(l[0]);n=n>=r?n:r;p=x>=p?x:p;r=[[0,0],[0,0]];s=!1;for(x=0;2>x;x++)0==a[x]&&(0==(f[x]&d[x])&&(f[x]=mxUtils.reversePortConstraints(f[x])),0==(l[x]&d[x])&&(l[x]=mxUtils.reversePortConstraints(l[x])),r[x][0]=l[x],r[x][1]=f[x]);0<p&&0<n&&(0<(f[0]&d[0])&&
0<(l[1]&d[1])?(r[0][0]=f[0],r[0][1]=l[0],r[1][0]=l[1],r[1][1]=f[1],s=!0):0<(l[0]&d[0])&&0<(f[1]&d[1])&&(r[0][0]=l[0],r[0][1]=f[0],r[1][0]=f[1],r[1][1]=l[1],s=!0));0<p&&!s&&(r[0][0]=l[0],r[0][1]=f[0],r[1][0]=l[1],r[1][1]=f[1],s=!0);0<n&&!s&&(r[0][0]=f[0],r[0][1]=l[0],r[1][0]=f[1],r[1][1]=l[1]);for(x=0;2>x;x++)if(0==a[x]&&(0==(r[x][0]&d[x])&&(r[x][0]=r[x][1]),y[x]=r[x][0]&d[x],y[x]|=(r[x][1]&d[x])<<8,y[x]|=(r[1-x][x]&d[x])<<16,y[x]|=(r[1-x][1-x]&d[x])<<24,0==(y[x]&15)&&(y[x]<<=8),0==(y[x]&3840)&&(y[x]=
y[x]&15|y[x]>>8),0==(y[x]&983040)&&(y[x]=y[x]&65535|(y[x]&251658240)>>8),a[x]=y[x]&15,d[x]==mxConstants.DIRECTION_MASK_WEST||d[x]==mxConstants.DIRECTION_MASK_NORTH||d[x]==mxConstants.DIRECTION_MASK_EAST||d[x]==mxConstants.DIRECTION_MASK_SOUTH))a[x]=d[x];d=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];y=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];d-=z;y-=z;1>d&&(d+=4);1>y&&(y+=4);d=mxEdgeStyle.routePatterns[d-1][y-1];mxEdgeStyle.wayPoints1[0][0]=m[0][0];mxEdgeStyle.wayPoints1[0][1]=m[0][1];switch(a[0]){case mxConstants.DIRECTION_MASK_WEST:mxEdgeStyle.wayPoints1[0][0]-=
e;mxEdgeStyle.wayPoints1[0][1]+=c[0][1]*m[0][3];break;case mxConstants.DIRECTION_MASK_SOUTH:mxEdgeStyle.wayPoints1[0][0]+=c[0][0]*m[0][2];mxEdgeStyle.wayPoints1[0][1]+=m[0][3]+e;break;case mxConstants.DIRECTION_MASK_EAST:mxEdgeStyle.wayPoints1[0][0]+=m[0][2]+e;mxEdgeStyle.wayPoints1[0][1]+=c[0][1]*m[0][3];break;case mxConstants.DIRECTION_MASK_NORTH:mxEdgeStyle.wayPoints1[0][0]+=c[0][0]*m[0][2],mxEdgeStyle.wayPoints1[0][1]-=e}e=0;f=y=0<(a[0]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))?
0:1;for(x=0;x<d.length;x++)l=d[x]&15,q=l==mxConstants.DIRECTION_MASK_EAST?3:l,q+=z,4<q&&(q-=4),n=mxEdgeStyle.dirVectors[q-1],l=0<q%2?0:1,l!=y&&(e++,mxEdgeStyle.wayPoints1[e][0]=mxEdgeStyle.wayPoints1[e-1][0],mxEdgeStyle.wayPoints1[e][1]=mxEdgeStyle.wayPoints1[e-1][1]),u=0<(d[x]&mxEdgeStyle.TARGET_MASK),s=0<(d[x]&mxEdgeStyle.SOURCE_MASK),p=(d[x]&mxEdgeStyle.SIDE_MASK)>>5,p<<=z,15<p&&(p>>=4),r=0<(d[x]&mxEdgeStyle.CENTER_MASK),(s||u)&&9>p?(s=s?0:1,q=r&&0==l?m[s][0]+c[s][0]*m[s][2]:r?m[s][1]+c[s][1]*
m[s][3]:mxEdgeStyle.limits[s][p],0==l?(p=(q-mxEdgeStyle.wayPoints1[e][0])*n[0],0<p&&(mxEdgeStyle.wayPoints1[e][0]+=n[0]*p)):(p=(q-mxEdgeStyle.wayPoints1[e][1])*n[1],0<p&&(mxEdgeStyle.wayPoints1[e][1]+=n[1]*p))):r&&(mxEdgeStyle.wayPoints1[e][0]+=n[0]*Math.abs(mxEdgeStyle.vertexSeperations[q]/2),mxEdgeStyle.wayPoints1[e][1]+=n[1]*Math.abs(mxEdgeStyle.vertexSeperations[q]/2)),0<e&&mxEdgeStyle.wayPoints1[e][l]==mxEdgeStyle.wayPoints1[e-1][l]?e--:y=l;for(x=0;x<=e&&!(x==e&&((0<(a[1]&(mxConstants.DIRECTION_MASK_EAST|
mxConstants.DIRECTION_MASK_WEST))?0:1)==f?0:1)!=(e+1)%2);x++)b.push(new mxPoint(Math.round(mxEdgeStyle.wayPoints1[x][0]),Math.round(mxEdgeStyle.wayPoints1[x][1])));for(a=1;a<b.length;)null==b[a-1]||null==b[a]||b[a-1].x!=b[a].x||b[a-1].y!=b[a].y?a++:b.splice(a,1)}},getRoutePattern:function(a,c,f,d){var b=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];a=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];b-=c;a-=c;1>b&&(b+=4);1>a&&(a+=4);c=routePatterns[b-1][a-1];if(0==f||0==d)null!=inlineRoutePatterns[b-1][a-
1]&&(c=inlineRoutePatterns[b-1][a-1]);return c}},mxStyleRegistry={values:[],putValue:function(a,c){mxStyleRegistry.values[a]=c},getValue:function(a){return mxStyleRegistry.values[a]},getName:function(a){for(var c in mxStyleRegistry.values)if(mxStyleRegistry.values[c]==a)return c;return null}};mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW,mxEdgeStyle.ElbowConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION,mxEdgeStyle.EntityRelation);
mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP,mxEdgeStyle.Loop);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SIDETOSIDE,mxEdgeStyle.SideToSide);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_TOPTOBOTTOM,mxEdgeStyle.TopToBottom);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ORTHOGONAL,mxEdgeStyle.OrthConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SEGMENT,mxEdgeStyle.SegmentConnector);mxStyleRegistry.putValue(mxConstants.PERIMETER_ELLIPSE,mxPerimeter.EllipsePerimeter);
mxStyleRegistry.putValue(mxConstants.PERIMETER_RECTANGLE,mxPerimeter.RectanglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS,mxPerimeter.RhombusPerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE,mxPerimeter.TrianglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_HEXAGON,mxPerimeter.HexagonPerimeter);function mxGraphView(a){this.graph=a;this.translate=new mxPoint;this.graphBounds=new mxRectangle;this.states=new mxDictionary}mxGraphView.prototype=new mxEventSource;
mxGraphView.prototype.constructor=mxGraphView;mxGraphView.prototype.EMPTY_POINT=new mxPoint;mxGraphView.prototype.doneResource="none"!=mxClient.language?"done":"";mxGraphView.prototype.updatingDocumentResource="none"!=mxClient.language?"updatingDocument":"";mxGraphView.prototype.allowEval=!1;mxGraphView.prototype.captureDocumentGesture=!0;mxGraphView.prototype.optimizeVmlReflows=!0;mxGraphView.prototype.rendering=!0;mxGraphView.prototype.graph=null;mxGraphView.prototype.currentRoot=null;
mxGraphView.prototype.graphBounds=null;mxGraphView.prototype.scale=1;mxGraphView.prototype.translate=null;mxGraphView.prototype.updateStyle=!1;mxGraphView.prototype.lastNode=null;mxGraphView.prototype.lastHtmlNode=null;mxGraphView.prototype.lastForegroundNode=null;mxGraphView.prototype.lastForegroundHtmlNode=null;mxGraphView.prototype.getGraphBounds=function(){return this.graphBounds};mxGraphView.prototype.setGraphBounds=function(a){this.graphBounds=a};
mxGraphView.prototype.getBounds=function(a){var c=null;if(null!=a&&0<a.length)for(var f=this.graph.getModel(),d=0;d<a.length;d++)if(f.isVertex(a[d])||f.isEdge(a[d])){var b=this.getState(a[d]);null!=b&&(null==c?c=mxRectangle.fromRectangle(b):c.add(b))}return c};mxGraphView.prototype.setCurrentRoot=function(a){if(this.currentRoot!=a){var c=new mxCurrentRootChange(this,a);c.execute();var f=new mxUndoableEdit(this,!1);f.add(c);this.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",f));this.graph.sizeDidChange()}return a};
mxGraphView.prototype.scaleAndTranslate=function(a,c,f){var d=this.scale,b=new mxPoint(this.translate.x,this.translate.y);if(this.scale!=a||this.translate.x!=c||this.translate.y!=f)this.scale=a,this.translate.x=c,this.translate.y=f,this.isEventsEnabled()&&(this.revalidate(),this.graph.sizeDidChange());this.fireEvent(new mxEventObject(mxEvent.SCALE_AND_TRANSLATE,"scale",a,"previousScale",d,"translate",this.translate,"previousTranslate",b))};mxGraphView.prototype.getScale=function(){return this.scale};
mxGraphView.prototype.setScale=function(a){var c=this.scale;this.scale!=a&&(this.scale=a,this.isEventsEnabled()&&(this.revalidate(),this.graph.sizeDidChange()));this.fireEvent(new mxEventObject(mxEvent.SCALE,"scale",a,"previousScale",c))};mxGraphView.prototype.getTranslate=function(){return this.translate};
mxGraphView.prototype.setTranslate=function(a,c){var f=new mxPoint(this.translate.x,this.translate.y);if(this.translate.x!=a||this.translate.y!=c)this.translate.x=a,this.translate.y=c,this.isEventsEnabled()&&(this.revalidate(),this.graph.sizeDidChange());this.fireEvent(new mxEventObject(mxEvent.TRANSLATE,"translate",this.translate,"previousTranslate",f))};mxGraphView.prototype.refresh=function(){null!=this.currentRoot&&this.clear();this.revalidate()};
mxGraphView.prototype.revalidate=function(){this.invalidate();this.validate()};mxGraphView.prototype.clear=function(a,c,f){var d=this.graph.getModel();a=a||d.getRoot();c=null!=c?c:!1;f=null!=f?f:!0;this.removeState(a);if(f&&(c||a!=this.currentRoot)){f=d.getChildCount(a);for(var b=0;b<f;b++)this.clear(d.getChildAt(a,b),c)}else this.invalidate(a)};
mxGraphView.prototype.invalidate=function(a,c,f){var d=this.graph.getModel();a=a||d.getRoot();c=null!=c?c:!0;f=null!=f?f:!0;var b=this.getState(a);null!=b&&(b.invalid=!0);if(!a.invalidating){a.invalidating=!0;if(c)for(var e=d.getChildCount(a),b=0;b<e;b++){var g=d.getChildAt(a,b);this.invalidate(g,c,f)}if(f){e=d.getEdgeCount(a);for(b=0;b<e;b++)this.invalidate(d.getEdgeAt(a,b),c,f)}delete a.invalidating}};
mxGraphView.prototype.validate=function(a){var c=mxLog.enter("mxGraphView.validate");window.status=mxResources.get(this.updatingDocumentResource)||this.updatingDocumentResource;this.resetValidationState();var f=null;if(this.optimizeVmlReflows&&null!=this.canvas&&null==this.textDiv&&(8==document.documentMode&&!mxClient.IS_EM||mxClient.IS_QUIRKS))this.placeholder=document.createElement("div"),this.placeholder.style.position="absolute",this.placeholder.style.width=this.canvas.clientWidth+"px",this.placeholder.style.height=
this.canvas.clientHeight+"px",this.canvas.parentNode.appendChild(this.placeholder),f=this.drawPane.style.display,this.canvas.style.display="none",this.textDiv=document.createElement("div"),this.textDiv.style.position="absolute",this.textDiv.style.whiteSpace="nowrap",this.textDiv.style.visibility="hidden",this.textDiv.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",this.textDiv.style.zoom="1",document.body.appendChild(this.textDiv);a=this.getBoundingBox(this.validateCellState(this.validateCell(a||
(null!=this.currentRoot?this.currentRoot:this.graph.getModel().getRoot()))));this.setGraphBounds(null!=a?a:this.getEmptyBounds());this.validateBackground();null!=f&&(this.canvas.style.display=f,this.textDiv.parentNode.removeChild(this.textDiv),null!=this.placeholder&&this.placeholder.parentNode.removeChild(this.placeholder),this.textDiv=null);this.resetValidationState();window.status=mxResources.get(this.doneResource)||this.doneResource;mxLog.leave("mxGraphView.validate",c)};
mxGraphView.prototype.getEmptyBounds=function(){return new mxRectangle(this.translate.x*this.scale,this.translate.y*this.scale)};
mxGraphView.prototype.getBoundingBox=function(a,c){var f=null;if(null!=a&&(null!=a.shape&&null!=a.shape.boundingBox&&(f=a.shape.boundingBox.clone()),null!=a.text&&null!=a.text.boundingBox&&(null!=f?f.add(a.text.boundingBox):f=a.text.boundingBox.clone()),null!=c?c:!0))for(var d=this.graph.getModel(),b=d.getChildCount(a.cell),e=0;e<b;e++){var g=this.getBoundingBox(this.getState(d.getChildAt(a.cell,e)));null!=g&&(null==f?f=g:f.add(g))}return f};
mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"white","black")};mxGraphView.prototype.validateBackground=function(){this.validateBackgroundImage();this.validateBackgroundPage()};
mxGraphView.prototype.validateBackgroundImage=function(){var a=this.graph.getBackgroundImage();if(null!=a){if(null==this.backgroundImage||this.backgroundImage.image!=a.src){null!=this.backgroundImage&&this.backgroundImage.destroy();var c=new mxRectangle(0,0,1,1);this.backgroundImage=new mxImageShape(c,a.src);this.backgroundImage.dialect=this.graph.dialect;this.backgroundImage.init(this.backgroundPane);this.backgroundImage.redraw();8==document.documentMode&&!mxClient.IS_EM&&mxEvent.addGestureListeners(this.backgroundImage.node,
mxUtils.bind(this,function(a){this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(a))}),mxUtils.bind(this,function(a){this.graph.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(a))}),mxUtils.bind(this,function(a){this.graph.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(a))}))}this.redrawBackgroundImage(this.backgroundImage,a)}else null!=this.backgroundImage&&(this.backgroundImage.destroy(),this.backgroundImage=null)};
mxGraphView.prototype.validateBackgroundPage=function(){if(this.graph.pageVisible){var a=this.getBackgroundPageBounds();null==this.backgroundPageShape?(this.backgroundPageShape=this.createBackgroundPageShape(a),this.backgroundPageShape.scale=this.scale,this.backgroundPageShape.isShadow=!0,this.backgroundPageShape.dialect=this.graph.dialect,this.backgroundPageShape.init(this.backgroundPane),this.backgroundPageShape.redraw(),this.graph.nativeDblClickEnabled&&mxEvent.addListener(this.backgroundPageShape.node,
"dblclick",mxUtils.bind(this,function(a){this.graph.dblClick(a)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(a){this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(a))}),mxUtils.bind(this,function(a){null!=this.graph.tooltipHandler&&this.graph.tooltipHandler.isHideOnHover()&&this.graph.tooltipHandler.hide();this.graph.isMouseDown&&!mxEvent.isConsumed(a)&&this.graph.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(a))}),mxUtils.bind(this,function(a){this.graph.fireMouseEvent(mxEvent.MOUSE_UP,
new mxMouseEvent(a))}))):(this.backgroundPageShape.scale=this.scale,this.backgroundPageShape.bounds=a,this.backgroundPageShape.redraw())}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape=null)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.graph.pageFormat,c=this.scale*this.graph.pageScale;return new mxRectangle(this.scale*this.translate.x,this.scale*this.translate.y,a.width*c,a.height*c)};
mxGraphView.prototype.redrawBackgroundImage=function(a,c){a.scale=this.scale;a.bounds.x=this.scale*this.translate.x;a.bounds.y=this.scale*this.translate.y;a.bounds.width=this.scale*c.width;a.bounds.height=this.scale*c.height;a.redraw()};
mxGraphView.prototype.validateCell=function(a,c){if(null!=a)if(c=(null!=c?c:!0)&&this.graph.isCellVisible(a),null!=this.getState(a,c)&&!c)this.removeState(a);else for(var f=this.graph.getModel(),d=f.getChildCount(a),b=0;b<d;b++)this.validateCell(f.getChildAt(a,b),c&&(!this.isCellCollapsed(a)||a==this.currentRoot));return a};
mxGraphView.prototype.validateCellState=function(a,c){c=null!=c?c:!0;var f=null;if(null!=a&&(f=this.getState(a),null!=f)){var d=this.graph.getModel();f.invalid&&(f.invalid=!1,null==f.style&&(f.style=this.graph.getCellStyle(f.cell)),a!=this.currentRoot&&this.validateCellState(d.getParent(a),!1),f.setVisibleTerminalState(this.validateCellState(this.getVisibleTerminal(a,!0),!1),!0),f.setVisibleTerminalState(this.validateCellState(this.getVisibleTerminal(a,!1),!1),!1),this.updateCellState(f),a!=this.currentRoot&&
!f.invalid&&this.graph.cellRenderer.redraw(f,!1,this.isRendering()));if(c&&!f.invalid){null!=f.shape&&this.stateValidated(f);for(var b=d.getChildCount(a),e=0;e<b;e++)this.validateCellState(d.getChildAt(a,e))}}return f};
mxGraphView.prototype.updateCellState=function(a){a.absoluteOffset.x=0;a.absoluteOffset.y=0;a.origin.x=0;a.origin.y=0;a.length=0;if(a.cell!=this.currentRoot){var c=this.graph.getModel(),f=this.getState(c.getParent(a.cell));null!=f&&f.cell!=this.currentRoot&&(a.origin.x+=f.origin.x,a.origin.y+=f.origin.y);var d=this.graph.getChildOffsetForCell(a.cell);null!=d&&(a.origin.x+=d.x,a.origin.y+=d.y);var b=this.graph.getCellGeometry(a.cell);null!=b&&(c.isEdge(a.cell)||(d=b.offset||this.EMPTY_POINT,b.relative&&
null!=f?c.isEdge(f.cell)?(d=this.getPoint(f,b),null!=d&&(a.origin.x+=d.x/this.scale-f.origin.x-this.translate.x,a.origin.y+=d.y/this.scale-f.origin.y-this.translate.y)):(a.origin.x+=b.x*f.width/this.scale+d.x,a.origin.y+=b.y*f.height/this.scale+d.y):(a.absoluteOffset.x=this.scale*d.x,a.absoluteOffset.y=this.scale*d.y,a.origin.x+=b.x,a.origin.y+=b.y)),a.x=this.scale*(this.translate.x+a.origin.x),a.y=this.scale*(this.translate.y+a.origin.y),a.width=this.scale*b.width,a.unscaledWidth=b.width,a.height=
this.scale*b.height,c.isVertex(a.cell)&&this.updateVertexState(a,b),c.isEdge(a.cell)&&this.updateEdgeState(a,b))}a.updateCachedBounds()};mxGraphView.prototype.isCellCollapsed=function(a){return this.graph.isCellCollapsed(a)};
mxGraphView.prototype.updateVertexState=function(a,c){var f=this.graph.getModel(),d=this.getState(f.getParent(a.cell));if(c.relative&&null!=d&&!f.isEdge(d.cell)){var b=mxUtils.toRadians(d.style[mxConstants.STYLE_ROTATION]||"0");if(0!=b){var f=Math.cos(b),b=Math.sin(b),e=new mxPoint(a.getCenterX(),a.getCenterY()),d=new mxPoint(d.getCenterX(),d.getCenterY()),d=mxUtils.getRotatedPoint(e,f,b,d);a.x=d.x-a.width/2;a.y=d.y-a.height/2}}this.updateVertexLabelOffset(a)};
mxGraphView.prototype.updateEdgeState=function(a,c){var f=a.getVisibleTerminalState(!0),d=a.getVisibleTerminalState(!1);null!=this.graph.model.getTerminal(a.cell,!0)&&null==f||null==f&&null==c.getTerminalPoint(!0)||null!=this.graph.model.getTerminal(a.cell,!1)&&null==d||null==d&&null==c.getTerminalPoint(!1)?this.clear(a.cell,!0):(this.updateFixedTerminalPoints(a,f,d),this.updatePoints(a,c.points,f,d),this.updateFloatingTerminalPoints(a,f,d),f=a.absolutePoints,a.cell!=this.currentRoot&&(null==f||2>
f.length||null==f[0]||null==f[f.length-1])?this.clear(a.cell,!0):(this.updateEdgeBounds(a),this.updateEdgeLabelOffset(a)))};
mxGraphView.prototype.updateVertexLabelOffset=function(a){var c=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);if(c==mxConstants.ALIGN_LEFT)c=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_WIDTH,null),c=null!=c?c*this.scale:a.width,a.absoluteOffset.x-=c;else if(c==mxConstants.ALIGN_RIGHT)a.absoluteOffset.x+=a.width;else if(c==mxConstants.ALIGN_CENTER&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_WIDTH,null),null!=c)){var f=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,
mxConstants.ALIGN_CENTER),d=0;f==mxConstants.ALIGN_CENTER?d=0.5:f==mxConstants.ALIGN_RIGHT&&(d=1);0!=d&&(a.absoluteOffset.x-=(c*this.scale-a.width)*d)}c=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);c==mxConstants.ALIGN_TOP?a.absoluteOffset.y-=a.height:c==mxConstants.ALIGN_BOTTOM&&(a.absoluteOffset.y+=a.height)};mxGraphView.prototype.resetValidationState=function(){this.lastForegroundHtmlNode=this.lastForegroundNode=this.lastHtmlNode=this.lastNode=null};
mxGraphView.prototype.stateValidated=function(a){var c=this.graph.getModel().isEdge(a.cell)&&this.graph.keepEdgesInForeground||this.graph.getModel().isVertex(a.cell)&&this.graph.keepEdgesInBackground;a=this.graph.cellRenderer.insertStateAfter(a,c?this.lastForegroundNode||this.lastNode:this.lastNode,c?this.lastForegroundHtmlNode||this.lastHtmlNode:this.lastHtmlNode);c?(this.lastForegroundHtmlNode=a[1],this.lastForegroundNode=a[0]):(this.lastHtmlNode=a[1],this.lastNode=a[0])};
mxGraphView.prototype.updateFixedTerminalPoints=function(a,c,f){this.updateFixedTerminalPoint(a,c,!0,this.graph.getConnectionConstraint(a,c,!0));this.updateFixedTerminalPoint(a,f,!1,this.graph.getConnectionConstraint(a,f,!1))};mxGraphView.prototype.updateFixedTerminalPoint=function(a,c,f,d){a.setAbsoluteTerminalPoint(this.getFixedTerminalPoint(a,c,f,d),f)};
mxGraphView.prototype.getFixedTerminalPoint=function(a,c,f,d){var b=null;null!=d&&(b=this.graph.getConnectionPoint(c,d));if(null==b&&null==c){c=this.scale;d=this.translate;var e=a.origin,b=this.graph.getCellGeometry(a.cell).getTerminalPoint(f);null!=b&&(b=new mxPoint(c*(d.x+b.x+e.x),c*(d.y+b.y+e.y)))}return b};
mxGraphView.prototype.updateBoundsFromStencil=function(a){var c=null;if(null!=a&&null!=a.shape&&null!=a.shape.stencil&&"fixed"==a.shape.stencil.aspect){var c=mxRectangle.fromRectangle(a),f=a.shape.stencil.computeAspect(a.style,a.x,a.y,a.width,a.height);a.setRect(f.x,f.y,a.shape.stencil.w0*f.width,a.shape.stencil.h0*f.height)}return c};
mxGraphView.prototype.updatePoints=function(a,c,f,d){if(null!=a){var b=[];b.push(a.absolutePoints[0]);var e=this.getEdgeStyle(a,c,f,d);if(null!=e){f=this.getTerminalPort(a,f,!0);d=this.getTerminalPort(a,d,!1);var g=this.updateBoundsFromStencil(f),k=this.updateBoundsFromStencil(d);e(a,f,d,c,b);null!=g&&f.setRect(g.x,g.y,g.width,g.height);null!=k&&d.setRect(k.x,k.y,k.width,k.height)}else if(null!=c)for(e=0;e<c.length;e++)null!=c[e]&&(f=mxUtils.clone(c[e]),b.push(this.transformControlPoint(a,f)));c=
a.absolutePoints;b.push(c[c.length-1]);a.absolutePoints=b}};mxGraphView.prototype.transformControlPoint=function(a,c){if(null!=a&&null!=c){var f=a.origin;return new mxPoint(this.scale*(c.x+this.translate.x+f.x),this.scale*(c.y+this.translate.y+f.y))}return null};
mxGraphView.prototype.isLoopStyleEnabled=function(a,c,f,d){c=this.graph.getConnectionConstraint(a,f,!0);var b=this.graph.getConnectionConstraint(a,d,!1);return!mxUtils.getValue(a.style,mxConstants.STYLE_ORTHOGONAL_LOOP,!1)||(null==c||null==c.point)&&(null==b||null==b.point)?null!=f&&f==d:!1};
mxGraphView.prototype.getEdgeStyle=function(a,c,f,d){a=this.isLoopStyleEnabled(a,c,f,d)?mxUtils.getValue(a.style,mxConstants.STYLE_LOOP,this.graph.defaultLoopStyle):!mxUtils.getValue(a.style,mxConstants.STYLE_NOEDGESTYLE,!1)?a.style[mxConstants.STYLE_EDGE]:null;"string"==typeof a&&(c=mxStyleRegistry.getValue(a),null==c&&this.isAllowEval()&&(c=mxUtils.eval(a)),a=c);return"function"==typeof a?a:null};
mxGraphView.prototype.updateFloatingTerminalPoints=function(a,c,f){var d=a.absolutePoints,b=d[0];null==d[d.length-1]&&null!=f&&this.updateFloatingTerminalPoint(a,f,c,!1);null==b&&null!=c&&this.updateFloatingTerminalPoint(a,c,f,!0)};mxGraphView.prototype.updateFloatingTerminalPoint=function(a,c,f,d){a.setAbsoluteTerminalPoint(this.getFloatingTerminalPoint(a,c,f,d),d)};
mxGraphView.prototype.getFloatingTerminalPoint=function(a,c,f,d){c=this.getTerminalPort(a,c,d);var b=this.getNextPoint(a,f,d),e=this.graph.isOrthogonal(a);f=mxUtils.toRadians(Number(c.style[mxConstants.STYLE_ROTATION]||"0"));var g=new mxPoint(c.getCenterX(),c.getCenterY());if(0!=f)var k=Math.cos(-f),l=Math.sin(-f),b=mxUtils.getRotatedPoint(b,k,l,g);k=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);k+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||
0);a=this.getPerimeterPoint(c,b,0==f&&e,k);0!=f&&(k=Math.cos(f),l=Math.sin(f),a=mxUtils.getRotatedPoint(a,k,l,g));return a};mxGraphView.prototype.getTerminalPort=function(a,c,f){a=mxUtils.getValue(a.style,f?mxConstants.STYLE_SOURCE_PORT:mxConstants.STYLE_TARGET_PORT);null!=a&&(a=this.getState(this.graph.getModel().getCell(a)),null!=a&&(c=a));return c};
mxGraphView.prototype.getPerimeterPoint=function(a,c,f,d){var b=null;if(null!=a){var e=this.getPerimeterFunction(a);if(null!=e&&null!=c&&(d=this.getPerimeterBounds(a,d),0<d.width||0<d.height))b=e(d,a,c,f);null==b&&(b=this.getPoint(a))}return b};mxGraphView.prototype.getRoutingCenterX=function(a){var c=null!=a.style?parseFloat(a.style[mxConstants.STYLE_ROUTING_CENTER_X])||0:0;return a.getCenterX()+c*a.width};
mxGraphView.prototype.getRoutingCenterY=function(a){var c=null!=a.style?parseFloat(a.style[mxConstants.STYLE_ROUTING_CENTER_Y])||0:0;return a.getCenterY()+c*a.height};mxGraphView.prototype.getPerimeterBounds=function(a,c){c=null!=c?c:0;null!=a&&(c+=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0));return a.getPerimeterBounds(c*this.scale)};
mxGraphView.prototype.getPerimeterFunction=function(a){a=a.style[mxConstants.STYLE_PERIMETER];if("string"==typeof a){var c=mxStyleRegistry.getValue(a);null==c&&this.isAllowEval()&&(c=mxUtils.eval(a));a=c}return"function"==typeof a?a:null};mxGraphView.prototype.getNextPoint=function(a,c,f){a=a.absolutePoints;var d=null;null!=a&&2<=a.length&&(d=a.length,d=a[f?Math.min(1,d-1):Math.max(0,d-2)]);null==d&&null!=c&&(d=new mxPoint(c.getCenterX(),c.getCenterY()));return d};
mxGraphView.prototype.getVisibleTerminal=function(a,c){for(var f=this.graph.getModel(),d=f.getTerminal(a,c),b=d;null!=d&&d!=this.currentRoot;){if(!this.graph.isCellVisible(b)||this.isCellCollapsed(d))b=d;d=f.getParent(d)}f.getParent(b)==f.getRoot()&&(b=null);return b};
mxGraphView.prototype.updateEdgeBounds=function(a){var c=a.absolutePoints,f=c[0],d=c[c.length-1];if(f.x!=d.x||f.y!=d.y){var b=d.x-f.x,e=d.y-f.y;a.terminalDistance=Math.sqrt(b*b+e*e)}else a.terminalDistance=0;var d=0,g=[],e=f;if(null!=e){for(var f=e.x,k=e.y,l=f,n=k,m=1;m<c.length;m++){var p=c[m];null!=p&&(b=e.x-p.x,e=e.y-p.y,b=Math.sqrt(b*b+e*e),g.push(b),d+=b,e=p,f=Math.min(e.x,f),k=Math.min(e.y,k),l=Math.max(e.x,l),n=Math.max(e.y,n))}a.length=d;a.segments=g;a.x=f;a.y=k;a.width=Math.max(1,l-f);a.height=
Math.max(1,n-k)}};
mxGraphView.prototype.getPoint=function(a,c){var f=a.getCenterX(),d=a.getCenterY();if(null!=a.segments&&(null==c||c.relative)){for(var b=a.absolutePoints.length,e=Math.round(((null!=c?c.x/2:0)+0.5)*a.length),g=a.segments[0],k=0,l=1;e>=Math.round(k+g)&&l<b-1;)k+=g,g=a.segments[l++];b=0==g?0:(e-k)/g;e=a.absolutePoints[l-1];l=a.absolutePoints[l];if(null!=e&&null!=l){k=f=d=0;if(null!=c){var d=c.y,n=c.offset;null!=n&&(f=n.x,k=n.y)}n=l.x-e.x;l=l.y-e.y;f=e.x+n*b+((0==g?0:l/g)*d+f)*this.scale;d=e.y+l*b-((0==
g?0:n/g)*d-k)*this.scale}}else null!=c&&(n=c.offset,null!=n&&(f+=n.x,d+=n.y));return new mxPoint(f,d)};
mxGraphView.prototype.getRelativePoint=function(a,c,f){var d=this.graph.getModel().getGeometry(a.cell);if(null!=d){var b=a.absolutePoints.length;if(d.relative&&1<b){for(var d=a.length,e=a.segments,g=a.absolutePoints[0],k=a.absolutePoints[1],l=mxUtils.ptSegDistSq(g.x,g.y,k.x,k.y,c,f),n=0,m=0,p=0,r=2;r<b;r++)m+=e[r-2],k=a.absolutePoints[r],g=mxUtils.ptSegDistSq(g.x,g.y,k.x,k.y,c,f),g<=l&&(l=g,n=r-1,p=m),g=k;b=e[n];g=a.absolutePoints[n];k=a.absolutePoints[n+1];l=k.x;e=k.y;a=g.x-l;n=g.y-e;l=a-(c-l);e=
n-(f-e);e=l*a+e*n;a=Math.sqrt(0>=e?0:e*e/(a*a+n*n));a>b&&(a=b);b=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,k.x,k.y,c,f));-1==mxUtils.relativeCcw(g.x,g.y,k.x,k.y,c,f)&&(b=-b);return new mxPoint(-2*((d/2-p-a)/d),b/this.scale)}}return new mxPoint};
mxGraphView.prototype.updateEdgeLabelOffset=function(a){var c=a.absolutePoints;a.absoluteOffset.x=a.getCenterX();a.absoluteOffset.y=a.getCenterY();if(null!=c&&0<c.length&&null!=a.segments){var f=this.graph.getCellGeometry(a.cell);if(f.relative){var d=this.getPoint(a,f);null!=d&&(a.absoluteOffset=d)}else{var d=c[0],b=c[c.length-1];if(null!=d&&null!=b){var c=b.x-d.x,e=b.y-d.y,g=b=0,f=f.offset;null!=f&&(b=f.x,g=f.y);f=d.y+e/2+g*this.scale;a.absoluteOffset.x=d.x+c/2+b*this.scale;a.absoluteOffset.y=f}}}};
mxGraphView.prototype.getState=function(a,c){c=c||!1;var f=null;if(null!=a&&(f=this.states.get(a),c&&(null==f||this.updateStyle)&&this.graph.isCellVisible(a)))null==f?(f=this.createState(a),this.states.put(a,f)):f.style=this.graph.getCellStyle(a);return f};mxGraphView.prototype.isRendering=function(){return this.rendering};mxGraphView.prototype.setRendering=function(a){this.rendering=a};mxGraphView.prototype.isAllowEval=function(){return this.allowEval};
mxGraphView.prototype.setAllowEval=function(a){this.allowEval=a};mxGraphView.prototype.getStates=function(){return this.states};mxGraphView.prototype.setStates=function(a){this.states=a};mxGraphView.prototype.getCellStates=function(a){if(null==a)return this.states;for(var c=[],f=0;f<a.length;f++){var d=this.getState(a[f]);null!=d&&c.push(d)}return c};
mxGraphView.prototype.removeState=function(a){var c=null;null!=a&&(c=this.states.remove(a),null!=c&&(this.graph.cellRenderer.destroy(c),c.invalid=!0,c.destroy()));return c};mxGraphView.prototype.createState=function(a){return new mxCellState(this,a,this.graph.getCellStyle(a))};mxGraphView.prototype.getCanvas=function(){return this.canvas};mxGraphView.prototype.getBackgroundPane=function(){return this.backgroundPane};mxGraphView.prototype.getDrawPane=function(){return this.drawPane};
mxGraphView.prototype.getOverlayPane=function(){return this.overlayPane};mxGraphView.prototype.getDecoratorPane=function(){return this.decoratorPane};mxGraphView.prototype.isContainerEvent=function(a){a=mxEvent.getSource(a);return a==this.graph.container||a.parentNode==this.backgroundPane||null!=a.parentNode&&a.parentNode.parentNode==this.backgroundPane||a==this.canvas.parentNode||a==this.canvas||a==this.backgroundPane||a==this.drawPane||a==this.overlayPane||a==this.decoratorPane};
mxGraphView.prototype.isScrollEvent=function(a){var c=mxUtils.getOffset(this.graph.container);a=new mxPoint(a.clientX-c.x,a.clientY-c.y);var c=this.graph.container.offsetWidth,f=this.graph.container.clientWidth;if(c>f&&a.x>f+2&&a.x<=c)return!0;c=this.graph.container.offsetHeight;f=this.graph.container.clientHeight;return c>f&&a.y>f+2&&a.y<=c?!0:!1};
mxGraphView.prototype.init=function(){this.installListeners();var a=this.graph;a.dialect==mxConstants.DIALECT_SVG?this.createSvg():a.dialect==mxConstants.DIALECT_VML?this.createVml():this.createHtml()};
mxGraphView.prototype.installListeners=function(){var a=this.graph,c=a.container;if(null!=c){mxClient.IS_TOUCH&&(mxEvent.addListener(c,"gesturestart",mxUtils.bind(this,function(d){a.fireGestureEvent(d);mxEvent.consume(d)})),mxEvent.addListener(c,"gesturechange",mxUtils.bind(this,function(d){a.fireGestureEvent(d);mxEvent.consume(d)})),mxEvent.addListener(c,"gestureend",mxUtils.bind(this,function(d){a.fireGestureEvent(d);mxEvent.consume(d)})));mxEvent.addGestureListeners(c,mxUtils.bind(this,function(d){this.isContainerEvent(d)&&
(!mxClient.IS_IE&&!mxClient.IS_IE11&&!mxClient.IS_GC&&!mxClient.IS_OP&&!mxClient.IS_SF||!this.isScrollEvent(d))&&a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(d))}),mxUtils.bind(this,function(d){this.isContainerEvent(d)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d))}),mxUtils.bind(this,function(d){this.isContainerEvent(d)&&a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d))}));mxEvent.addListener(c,"dblclick",mxUtils.bind(this,function(d){this.isContainerEvent(d)&&a.dblClick(d)}));
var f=function(d){var b=null;mxClient.IS_TOUCH&&(b=mxEvent.getClientX(d),d=mxEvent.getClientY(d),d=mxUtils.convertPoint(c,b,d),b=a.view.getState(a.getCellAt(d.x,d.y)));return b};a.addMouseListener({mouseDown:function(d,b){a.popupMenuHandler.hideMenu()},mouseMove:function(){},mouseUp:function(){}});this.moveHandler=mxUtils.bind(this,function(d){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();this.captureDocumentGesture&&a.isMouseDown&&(null!=a.container&&!this.isContainerEvent(d)&&
"none"!=a.container.style.display&&"hidden"!=a.container.style.visibility&&!mxEvent.isConsumed(d))&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d,f(d)))});this.endHandler=mxUtils.bind(this,function(d){this.captureDocumentGesture&&a.isMouseDown&&(null!=a.container&&!this.isContainerEvent(d)&&"none"!=a.container.style.display&&"hidden"!=a.container.style.visibility)&&a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d))});mxEvent.addGestureListeners(document,null,this.moveHandler,this.endHandler)}};
mxGraphView.prototype.createHtml=function(){var a=this.graph.container;null!=a&&(this.canvas=this.createHtmlPane("100%","100%"),this.backgroundPane=this.createHtmlPane("1px","1px"),this.drawPane=this.createHtmlPane("1px","1px"),this.overlayPane=this.createHtmlPane("1px","1px"),this.decoratorPane=this.createHtmlPane("1px","1px"),this.canvas.appendChild(this.backgroundPane),this.canvas.appendChild(this.drawPane),this.canvas.appendChild(this.overlayPane),this.canvas.appendChild(this.decoratorPane),a.appendChild(this.canvas),
this.updateContainerStyle(a),mxClient.IS_QUIRKS&&(a=mxUtils.bind(this,function(a){a=this.getGraphBounds();this.updateHtmlCanvasSize(a.x+a.width+this.graph.border,a.y+a.height+this.graph.border)}),mxEvent.addListener(window,"resize",a)))};mxGraphView.prototype.updateHtmlCanvasSize=function(a,c){if(null!=this.graph.container){var f=this.graph.container.offsetHeight;this.canvas.style.width=this.graph.container.offsetWidth<a?a+"px":"100%";this.canvas.style.height=f<c?c+"px":"100%"}};
mxGraphView.prototype.createHtmlPane=function(a,c){var f=document.createElement("DIV");null!=a&&null!=c?(f.style.position="absolute",f.style.left="0px",f.style.top="0px",f.style.width=a,f.style.height=c):f.style.position="relative";return f};
mxGraphView.prototype.createVml=function(){var a=this.graph.container;if(null!=a){var c=a.offsetWidth,f=a.offsetHeight;this.canvas=this.createVmlPane(c,f);this.backgroundPane=this.createVmlPane(c,f);this.drawPane=this.createVmlPane(c,f);this.overlayPane=this.createVmlPane(c,f);this.decoratorPane=this.createVmlPane(c,f);this.canvas.appendChild(this.backgroundPane);this.canvas.appendChild(this.drawPane);this.canvas.appendChild(this.overlayPane);this.canvas.appendChild(this.decoratorPane);a.appendChild(this.canvas)}};
mxGraphView.prototype.createVmlPane=function(a,c){var f=document.createElement(mxClient.VML_PREFIX+":group");f.style.position="absolute";f.style.left="0px";f.style.top="0px";f.style.width=a+"px";f.style.height=c+"px";f.setAttribute("coordsize",a+","+c);f.setAttribute("coordorigin","0,0");return f};
mxGraphView.prototype.createSvg=function(){var a=this.graph.container;this.canvas=document.createElementNS(mxConstants.NS_SVG,"g");this.backgroundPane=document.createElementNS(mxConstants.NS_SVG,"g");this.canvas.appendChild(this.backgroundPane);this.drawPane=document.createElementNS(mxConstants.NS_SVG,"g");this.canvas.appendChild(this.drawPane);this.overlayPane=document.createElementNS(mxConstants.NS_SVG,"g");this.canvas.appendChild(this.overlayPane);this.decoratorPane=document.createElementNS(mxConstants.NS_SVG,
"g");this.canvas.appendChild(this.decoratorPane);var c=document.createElementNS(mxConstants.NS_SVG,"svg");c.style.width="100%";c.style.height="100%";c.style.display="block";c.appendChild(this.canvas);null!=a&&(a.appendChild(c),this.updateContainerStyle(a))};mxGraphView.prototype.updateContainerStyle=function(a){var c=mxUtils.getCurrentStyle(a);null!=c&&"static"==c.position&&(a.style.position="relative");mxClient.IS_POINTER&&(a.style.touchAction="none")};
mxGraphView.prototype.destroy=function(){var a=null!=this.canvas?this.canvas.ownerSVGElement:null;null==a&&(a=this.canvas);null!=a&&null!=a.parentNode&&(this.clear(this.currentRoot,!0),mxEvent.removeGestureListeners(document,null,this.moveHandler,this.endHandler),mxEvent.release(this.graph.container),a.parentNode.removeChild(a),this.decoratorPane=this.overlayPane=this.drawPane=this.backgroundPane=this.canvas=this.endHandler=this.moveHandler=null)};
function mxCurrentRootChange(a,c){this.view=a;this.previous=this.root=c;this.isUp=null==c;if(!this.isUp)for(var f=this.view.currentRoot,d=this.view.graph.getModel();null!=f;){if(f==c){this.isUp=!0;break}f=d.getParent(f)}}
mxCurrentRootChange.prototype.execute=function(){var a=this.view.currentRoot;this.view.currentRoot=this.previous;this.previous=a;a=this.view.graph.getTranslateForRoot(this.view.currentRoot);null!=a&&(this.view.translate=new mxPoint(-a.x,-a.y));this.isUp?(this.view.clear(this.view.currentRoot,!0),this.view.validate()):this.view.refresh();this.view.fireEvent(new mxEventObject(this.isUp?mxEvent.UP:mxEvent.DOWN,"root",this.view.currentRoot,"previous",this.previous));this.isUp=!this.isUp};
function mxGraph(a,c,f,d){this.mouseListeners=null;this.renderHint=f;this.dialect=mxClient.IS_SVG?mxConstants.DIALECT_SVG:f==mxConstants.RENDERING_HINT_EXACT&&mxClient.IS_VML?mxConstants.DIALECT_VML:f==mxConstants.RENDERING_HINT_FASTEST?mxConstants.DIALECT_STRICTHTML:f==mxConstants.RENDERING_HINT_FASTER?mxConstants.DIALECT_PREFERHTML:mxConstants.DIALECT_MIXEDHTML;this.model=null!=c?c:new mxGraphModel;this.multiplicities=[];this.imageBundles=[];this.cellRenderer=this.createCellRenderer();this.setSelectionModel(this.createSelectionModel());
this.setStylesheet(null!=d?d:this.createStylesheet());this.view=this.createGraphView();this.graphModelChangeListener=mxUtils.bind(this,function(b,a){this.graphModelChanged(a.getProperty("edit").changes)});this.model.addListener(mxEvent.CHANGE,this.graphModelChangeListener);this.createHandlers();null!=a&&this.init(a);this.view.revalidate()}mxLoadResources&&mxResources.add(mxClient.basePath+"/resources/graph");mxGraph.prototype=new mxEventSource;mxGraph.prototype.constructor=mxGraph;
mxGraph.prototype.EMPTY_ARRAY=[];mxGraph.prototype.mouseListeners=null;mxGraph.prototype.isMouseDown=!1;mxGraph.prototype.model=null;mxGraph.prototype.view=null;mxGraph.prototype.stylesheet=null;mxGraph.prototype.selectionModel=null;mxGraph.prototype.cellEditor=null;mxGraph.prototype.cellRenderer=null;mxGraph.prototype.multiplicities=null;mxGraph.prototype.renderHint=null;mxGraph.prototype.dialect=null;mxGraph.prototype.gridSize=10;mxGraph.prototype.gridEnabled=!0;mxGraph.prototype.portsEnabled=!0;
mxGraph.prototype.nativeDblClickEnabled=!0;mxGraph.prototype.doubleTapEnabled=!0;mxGraph.prototype.doubleTapTimeout=500;mxGraph.prototype.doubleTapTolerance=25;mxGraph.prototype.lastTouchY=0;mxGraph.prototype.lastTouchY=0;mxGraph.prototype.lastTouchTime=0;mxGraph.prototype.tapAndHoldEnabled=!0;mxGraph.prototype.tapAndHoldDelay=500;mxGraph.prototype.tapAndHoldInProgress=!1;mxGraph.prototype.tapAndHoldValid=!1;mxGraph.prototype.initialTouchX=0;mxGraph.prototype.initialTouchY=0;
mxGraph.prototype.tolerance=4;mxGraph.prototype.defaultOverlap=0.5;mxGraph.prototype.defaultParent=null;mxGraph.prototype.alternateEdgeStyle=null;mxGraph.prototype.backgroundImage=null;mxGraph.prototype.pageVisible=!1;mxGraph.prototype.pageBreaksVisible=!1;mxGraph.prototype.pageBreakColor="gray";mxGraph.prototype.pageBreakDashed=!0;mxGraph.prototype.minPageBreakDist=20;mxGraph.prototype.preferPageSize=!1;mxGraph.prototype.pageFormat=mxConstants.PAGE_FORMAT_A4_PORTRAIT;
mxGraph.prototype.pageScale=1.5;mxGraph.prototype.enabled=!0;mxGraph.prototype.escapeEnabled=!0;mxGraph.prototype.invokesStopCellEditing=!0;mxGraph.prototype.enterStopsCellEditing=!1;mxGraph.prototype.useScrollbarsForPanning=!0;mxGraph.prototype.exportEnabled=!0;mxGraph.prototype.importEnabled=!0;mxGraph.prototype.cellsLocked=!1;mxGraph.prototype.cellsCloneable=!0;mxGraph.prototype.foldingEnabled=!0;mxGraph.prototype.cellsEditable=!0;mxGraph.prototype.cellsDeletable=!0;
mxGraph.prototype.cellsMovable=!0;mxGraph.prototype.edgeLabelsMovable=!0;mxGraph.prototype.vertexLabelsMovable=!1;mxGraph.prototype.dropEnabled=!1;mxGraph.prototype.splitEnabled=!0;mxGraph.prototype.cellsResizable=!0;mxGraph.prototype.cellsBendable=!0;mxGraph.prototype.cellsSelectable=!0;mxGraph.prototype.cellsDisconnectable=!0;mxGraph.prototype.autoSizeCells=!1;mxGraph.prototype.autoSizeCellsOnAdd=!1;mxGraph.prototype.autoScroll=!0;mxGraph.prototype.ignoreScrollbars=!1;
mxGraph.prototype.translateToScrollPosition=!1;mxGraph.prototype.timerAutoScroll=!1;mxGraph.prototype.allowAutoPanning=!1;mxGraph.prototype.autoExtend=!0;mxGraph.prototype.maximumGraphBounds=null;mxGraph.prototype.minimumGraphSize=null;mxGraph.prototype.minimumContainerSize=null;mxGraph.prototype.maximumContainerSize=null;mxGraph.prototype.resizeContainer=!1;mxGraph.prototype.border=0;mxGraph.prototype.keepEdgesInForeground=!1;mxGraph.prototype.keepEdgesInBackground=!1;
mxGraph.prototype.allowNegativeCoordinates=!0;mxGraph.prototype.constrainChildren=!0;mxGraph.prototype.constrainRelativeChildren=!1;mxGraph.prototype.extendParents=!0;mxGraph.prototype.extendParentsOnAdd=!0;mxGraph.prototype.extendParentsOnMove=!1;mxGraph.prototype.recursiveResize=!1;mxGraph.prototype.collapseToPreferredSize=!0;mxGraph.prototype.zoomFactor=1.2;mxGraph.prototype.keepSelectionVisibleOnZoom=!1;mxGraph.prototype.centerZoom=!0;mxGraph.prototype.resetViewOnRootChange=!0;
mxGraph.prototype.resetEdgesOnResize=!1;mxGraph.prototype.resetEdgesOnMove=!1;mxGraph.prototype.resetEdgesOnConnect=!0;mxGraph.prototype.allowLoops=!1;mxGraph.prototype.defaultLoopStyle=mxEdgeStyle.Loop;mxGraph.prototype.multigraph=!0;mxGraph.prototype.connectableEdges=!1;mxGraph.prototype.allowDanglingEdges=!0;mxGraph.prototype.cloneInvalidEdges=!1;mxGraph.prototype.disconnectOnMove=!0;mxGraph.prototype.labelsVisible=!0;mxGraph.prototype.htmlLabels=!1;mxGraph.prototype.swimlaneSelectionEnabled=!0;
mxGraph.prototype.swimlaneNesting=!0;mxGraph.prototype.swimlaneIndicatorColorAttribute=mxConstants.STYLE_FILLCOLOR;mxGraph.prototype.imageBundles=null;mxGraph.prototype.minFitScale=0.1;mxGraph.prototype.maxFitScale=8;mxGraph.prototype.panDx=0;mxGraph.prototype.panDy=0;mxGraph.prototype.collapsedImage=new mxImage(mxClient.imageBasePath+"/collapsed.gif",9,9);mxGraph.prototype.expandedImage=new mxImage(mxClient.imageBasePath+"/expanded.gif",9,9);
mxGraph.prototype.warningImage=new mxImage(mxClient.imageBasePath+"/warning"+(mxClient.IS_MAC?".png":".gif"),16,16);mxGraph.prototype.alreadyConnectedResource="none"!=mxClient.language?"alreadyConnected":"";mxGraph.prototype.containsValidationErrorsResource="none"!=mxClient.language?"containsValidationErrors":"";mxGraph.prototype.collapseExpandResource="none"!=mxClient.language?"collapse-expand":"";
mxGraph.prototype.init=function(a){this.container=a;this.cellEditor=this.createCellEditor();this.view.init();this.sizeDidChange();mxEvent.addListener(a,"mouseleave",mxUtils.bind(this,function(){null!=this.tooltipHandler&&this.tooltipHandler.hide()}));mxClient.IS_IE&&(mxEvent.addListener(window,"unload",mxUtils.bind(this,function(){this.destroy()})),mxEvent.addListener(a,"selectstart",mxUtils.bind(this,function(a){return this.isEditing()||!this.isMouseDown&&!mxEvent.isShiftDown(a)})));8==document.documentMode&&
a.insertAdjacentHTML("beforeend",'\x3cv:group style\x3d"DISPLAY: none;"\x3e\x3c/v:group\x3e')};
mxGraph.prototype.createHandlers=function(){this.tooltipHandler=this.createTooltipHandler();this.tooltipHandler.setEnabled(!1);this.selectionCellsHandler=this.createSelectionCellsHandler();this.connectionHandler=this.createConnectionHandler();this.connectionHandler.setEnabled(!1);this.graphHandler=this.createGraphHandler();this.panningHandler=this.createPanningHandler();this.panningHandler.panningEnabled=!1;this.popupMenuHandler=this.createPopupMenuHandler()};
mxGraph.prototype.createTooltipHandler=function(){return new mxTooltipHandler(this)};mxGraph.prototype.createSelectionCellsHandler=function(){return new mxSelectionCellsHandler(this)};mxGraph.prototype.createConnectionHandler=function(){return new mxConnectionHandler(this)};mxGraph.prototype.createGraphHandler=function(){return new mxGraphHandler(this)};mxGraph.prototype.createPanningHandler=function(){return new mxPanningHandler(this)};mxGraph.prototype.createPopupMenuHandler=function(){return new mxPopupMenuHandler(this)};
mxGraph.prototype.createSelectionModel=function(){return new mxGraphSelectionModel(this)};mxGraph.prototype.createStylesheet=function(){return new mxStylesheet};mxGraph.prototype.createGraphView=function(){return new mxGraphView(this)};mxGraph.prototype.createCellRenderer=function(){return new mxCellRenderer};mxGraph.prototype.createCellEditor=function(){return new mxCellEditor(this)};mxGraph.prototype.getModel=function(){return this.model};mxGraph.prototype.getView=function(){return this.view};
mxGraph.prototype.getStylesheet=function(){return this.stylesheet};mxGraph.prototype.setStylesheet=function(a){this.stylesheet=a};mxGraph.prototype.getSelectionModel=function(){return this.selectionModel};mxGraph.prototype.setSelectionModel=function(a){this.selectionModel=a};
mxGraph.prototype.getSelectionCellsForChanges=function(a){for(var c=[],f=0;f<a.length;f++){var d=a[f];if(d.constructor!=mxRootChange){var b=null;d instanceof mxChildChange&&null==d.previous?b=d.child:null!=d.cell&&d.cell instanceof mxCell&&(b=d.cell);null!=b&&0>mxUtils.indexOf(c,b)&&c.push(b)}}return this.getModel().getTopmostCells(c)};
mxGraph.prototype.graphModelChanged=function(a){for(var c=0;c<a.length;c++)this.processChange(a[c]);this.removeSelectionCells(this.getRemovedCellsForChanges(a));this.view.validate();this.sizeDidChange()};mxGraph.prototype.getRemovedCellsForChanges=function(a){for(var c=[],f=0;f<a.length;f++){var d=a[f];if(d instanceof mxRootChange)break;else d instanceof mxChildChange?null!=d.previous&&null==d.parent&&(c=c.concat(this.model.getDescendants(d.child))):d instanceof mxVisibleChange&&(c=c.concat(this.model.getDescendants(d.cell)))}return c};
mxGraph.prototype.processChange=function(a){if(a instanceof mxRootChange)this.clearSelection(),this.removeStateForCell(a.previous),this.resetViewOnRootChange&&(this.view.scale=1,this.view.translate.x=0,this.view.translate.y=0),this.fireEvent(new mxEventObject(mxEvent.ROOT));else if(a instanceof mxChildChange){var c=this.model.getParent(a.child);this.view.invalidate(a.child,!0,!0);if(null==c||this.isCellCollapsed(c))this.view.invalidate(a.child,!0,!0),this.removeStateForCell(a.child),this.view.currentRoot==
a.child&&this.home();c!=a.previous&&(null!=c&&this.view.invalidate(c,!1,!1),null!=a.previous&&this.view.invalidate(a.previous,!1,!1))}else a instanceof mxTerminalChange||a instanceof mxGeometryChange?(a instanceof mxTerminalChange||null==a.previous&&null!=a.geometry||null!=a.previous&&!a.previous.equals(a.geometry))&&this.view.invalidate(a.cell):a instanceof mxValueChange?this.view.invalidate(a.cell,!1,!1):a instanceof mxStyleChange?(this.view.invalidate(a.cell,!0,!0),a=this.view.getState(a.cell),
null!=a&&(a.style=null)):null!=a.cell&&a.cell instanceof mxCell&&this.removeStateForCell(a.cell)};mxGraph.prototype.removeStateForCell=function(a){for(var c=this.model.getChildCount(a),f=0;f<c;f++)this.removeStateForCell(this.model.getChildAt(a,f));this.view.invalidate(a,!1,!0);this.view.removeState(a)};
mxGraph.prototype.addCellOverlay=function(a,c){null==a.overlays&&(a.overlays=[]);a.overlays.push(c);var f=this.view.getState(a);null!=f&&this.cellRenderer.redraw(f);this.fireEvent(new mxEventObject(mxEvent.ADD_OVERLAY,"cell",a,"overlay",c));return c};mxGraph.prototype.getCellOverlays=function(a){return a.overlays};
mxGraph.prototype.removeCellOverlay=function(a,c){if(null==c)this.removeCellOverlays(a);else{var f=mxUtils.indexOf(a.overlays,c);0<=f?(a.overlays.splice(f,1),0==a.overlays.length&&(a.overlays=null),f=this.view.getState(a),null!=f&&this.cellRenderer.redraw(f),this.fireEvent(new mxEventObject(mxEvent.REMOVE_OVERLAY,"cell",a,"overlay",c))):c=null}return c};
mxGraph.prototype.removeCellOverlays=function(a){var c=a.overlays;if(null!=c){a.overlays=null;var f=this.view.getState(a);null!=f&&this.cellRenderer.redraw(f);for(f=0;f<c.length;f++)this.fireEvent(new mxEventObject(mxEvent.REMOVE_OVERLAY,"cell",a,"overlay",c[f]))}return c};mxGraph.prototype.clearCellOverlays=function(a){a=null!=a?a:this.model.getRoot();this.removeCellOverlays(a);for(var c=this.model.getChildCount(a),f=0;f<c;f++){var d=this.model.getChildAt(a,f);this.clearCellOverlays(d)}};
mxGraph.prototype.setCellWarning=function(a,c,f,d){if(null!=c&&0<c.length)return f=null!=f?f:this.warningImage,c=new mxCellOverlay(f,"\x3cfont color\x3dred\x3e"+c+"\x3c/font\x3e"),d&&c.addListener(mxEvent.CLICK,mxUtils.bind(this,function(b,d){this.isEnabled()&&this.setSelectionCell(a)})),this.addCellOverlay(a,c);this.removeCellOverlays(a);return null};mxGraph.prototype.startEditing=function(a){this.startEditingAtCell(null,a)};
mxGraph.prototype.startEditingAtCell=function(a,c){if(null==c||!mxEvent.isMultiTouchEvent(c))null==a&&(a=this.getSelectionCell(),null!=a&&!this.isCellEditable(a)&&(a=null)),null!=a&&(this.fireEvent(new mxEventObject(mxEvent.START_EDITING,"cell",a,"event",c)),this.cellEditor.startEditing(a,c),this.fireEvent(new mxEventObject(mxEvent.EDITING_STARTED,"cell",a,"event",c)))};mxGraph.prototype.getEditingValue=function(a,c){return this.convertValueToString(a)};
mxGraph.prototype.stopEditing=function(a){this.cellEditor.stopEditing(a);this.fireEvent(new mxEventObject(mxEvent.EDITING_STOPPED,"cancel",a))};mxGraph.prototype.labelChanged=function(a,c,f){this.model.beginUpdate();try{var d=a.value;this.cellLabelChanged(a,c,this.isAutoSizeCell(a));this.fireEvent(new mxEventObject(mxEvent.LABEL_CHANGED,"cell",a,"value",c,"old",d,"event",f))}finally{this.model.endUpdate()}return a};
mxGraph.prototype.cellLabelChanged=function(a,c,f){this.model.beginUpdate();try{this.model.setValue(a,c),f&&this.cellSizeUpdated(a,!1)}finally{this.model.endUpdate()}};mxGraph.prototype.escape=function(a){this.fireEvent(new mxEventObject(mxEvent.ESCAPE,"event",a))};
mxGraph.prototype.click=function(a){var c=a.getEvent(),f=a.getCell(),d=new mxEventObject(mxEvent.CLICK,"event",c,"cell",f);a.isConsumed()&&d.consume();this.fireEvent(d);this.isEnabled()&&!mxEvent.isConsumed(c)&&!d.isConsumed()&&(null!=f?this.selectCellForEvent(f,c):(f=null,this.isSwimlaneSelectionEnabled()&&(f=this.getSwimlaneAt(a.getGraphX(),a.getGraphY())),null!=f?this.selectCellForEvent(f,c):this.isToggleEvent(c)||this.clearSelection()))};
mxGraph.prototype.dblClick=function(a,c){var f=new mxEventObject(mxEvent.DOUBLE_CLICK,"event",a,"cell",c);this.fireEvent(f);this.isEnabled()&&!mxEvent.isConsumed(a)&&(!f.isConsumed()&&null!=c&&this.isCellEditable(c)&&!this.isEditing(c))&&(this.startEditingAtCell(c,a),mxEvent.consume(a))};
mxGraph.prototype.tapAndHold=function(a){var c=a.getEvent(),f=new mxEventObject(mxEvent.TAP_AND_HOLD,"event",c,"cell",a.getCell());this.fireEvent(f);f.isConsumed()&&(this.panningHandler.panningTrigger=!1);this.isEnabled()&&!mxEvent.isConsumed(c)&&(!f.isConsumed()&&this.connectionHandler.isEnabled())&&(c=this.view.getState(this.connectionHandler.marker.getCell(a)),null!=c&&(this.connectionHandler.marker.currentColor=this.connectionHandler.marker.validColor,this.connectionHandler.marker.markedState=
c,this.connectionHandler.marker.mark(),this.connectionHandler.first=new mxPoint(a.getGraphX(),a.getGraphY()),this.connectionHandler.edgeState=this.connectionHandler.createEdgeState(a),this.connectionHandler.previous=c,this.connectionHandler.fireEvent(new mxEventObject(mxEvent.START,"state",this.connectionHandler.previous))))};
mxGraph.prototype.scrollPointToVisible=function(a,c,f,d){if(!this.timerAutoScroll&&(this.ignoreScrollbars||mxUtils.hasScrollbars(this.container))){var b=this.container;d=null!=d?d:20;if(a>=b.scrollLeft&&c>=b.scrollTop&&a<=b.scrollLeft+b.clientWidth&&c<=b.scrollTop+b.clientHeight){var e=b.scrollLeft+b.clientWidth-a;if(e<d){if(a=b.scrollLeft,b.scrollLeft+=d-e,f&&a==b.scrollLeft){if(this.dialect==mxConstants.DIALECT_SVG){a=this.view.getDrawPane().ownerSVGElement;var g=this.container.scrollWidth+d-e}else g=
Math.max(b.clientWidth,b.scrollWidth)+d-e,a=this.view.getCanvas();a.style.width=g+"px";b.scrollLeft+=d-e}}else e=a-b.scrollLeft,e<d&&(b.scrollLeft-=d-e);e=b.scrollTop+b.clientHeight-c;e<d?(a=b.scrollTop,b.scrollTop+=d-e,a==b.scrollTop&&f&&(this.dialect==mxConstants.DIALECT_SVG?(a=this.view.getDrawPane().ownerSVGElement,c=this.container.scrollHeight+d-e):(c=Math.max(b.clientHeight,b.scrollHeight)+d-e,a=this.view.getCanvas()),a.style.height=c+"px",b.scrollTop+=d-e)):(e=c-b.scrollTop,e<d&&(b.scrollTop-=
d-e))}}else this.allowAutoPanning&&!this.panningHandler.isActive()&&(null==this.panningManager&&(this.panningManager=this.createPanningManager()),this.panningManager.panTo(a+this.panDx,c+this.panDy))};mxGraph.prototype.createPanningManager=function(){return new mxPanningManager(this)};
mxGraph.prototype.getBorderSizes=function(){var a=mxUtils.getCurrentStyle(this.container);return new mxRectangle(mxUtils.parseCssNumber(a.paddingLeft)+("none"!=a.borderLeftStyle?mxUtils.parseCssNumber(a.borderLeftWidth):0),mxUtils.parseCssNumber(a.paddingTop)+("none"!=a.borderTopStyle?mxUtils.parseCssNumber(a.borderTopWidth):0),mxUtils.parseCssNumber(a.paddingRight)+("none"!=a.borderRightStyle?mxUtils.parseCssNumber(a.borderRightWidth):0),mxUtils.parseCssNumber(a.paddingBottom)+("none"!=a.borderBottomStyle?
mxUtils.parseCssNumber(a.borderBottomWidth):0))};mxGraph.prototype.getPreferredPageSize=function(a,c,f){a=this.view.scale;var d=this.view.translate,b=this.pageFormat,e=a*this.pageScale,b=new mxRectangle(0,0,b.width*e,b.height*e);c=this.pageBreaksVisible?Math.ceil(c/b.width):1;f=this.pageBreaksVisible?Math.ceil(f/b.height):1;return new mxRectangle(0,0,c*b.width+2+d.x/a,f*b.height+2+d.y/a)};
mxGraph.prototype.fit=function(a,c,f,d,b,e){if(null!=this.container){a=null!=a?a:this.getBorder();c=null!=c?c:!1;f=null!=f?f:0;d=null!=d?d:!0;b=null!=b?b:!1;e=null!=e?e:!1;var g=this.getBorderSizes(),k=this.container.offsetWidth-g.x-g.width-1,l=this.container.offsetHeight-g.y-g.height-1,g=this.view.getGraphBounds();if(0<g.width&&0<g.height){c&&null!=g.x&&null!=g.y&&(g=g.clone(),g.width+=g.x,g.height+=g.y,g.x=0,g.y=0);var n=this.view.scale,m=g.width/n,p=g.height/n;null!=this.backgroundImage&&(m=Math.max(m,
this.backgroundImage.width-g.x/n),p=Math.max(p,this.backgroundImage.height-g.y/n));var r=(c?a:2*a)+f,k=k-r,l=l-r;b=b?l/p:e?k/m:Math.min(k/m,l/p);null!=this.minFitScale&&(b=Math.max(b,this.minFitScale));null!=this.maxFitScale&&(b=Math.min(b,this.maxFitScale));if(d)c?this.view.scale!=b&&this.view.setScale(b):mxUtils.hasScrollbars(this.container)?(this.view.setScale(b),a=this.getGraphBounds(),null!=a.x&&(this.container.scrollLeft=a.x),null!=a.y&&(this.container.scrollTop=a.y)):this.view.scaleAndTranslate(b,
null!=g.x?Math.floor(this.view.translate.x-g.x/n+a/b+f/2):a,null!=g.y?Math.floor(this.view.translate.y-g.y/n+a/b+f/2):a);else return b}}return this.view.scale};
mxGraph.prototype.sizeDidChange=function(){var a=this.getGraphBounds();if(null!=this.container){var c=this.getBorder(),f=Math.max(0,a.x+a.width+c),c=Math.max(0,a.y+a.height+c);null!=this.minimumContainerSize&&(f=Math.max(f,this.minimumContainerSize.width),c=Math.max(c,this.minimumContainerSize.height));this.resizeContainer&&this.doResizeContainer(f,c);if(this.preferPageSize||!mxClient.IS_IE&&this.pageVisible){var d=this.getPreferredPageSize(a,f,c);null!=d&&(f=d.width*this.view.scale,c=d.height*this.view.scale)}null!=
this.minimumGraphSize&&(f=Math.max(f,this.minimumGraphSize.width*this.view.scale),c=Math.max(c,this.minimumGraphSize.height*this.view.scale));f=Math.ceil(f);c=Math.ceil(c);this.dialect==mxConstants.DIALECT_SVG?(d=this.view.getDrawPane().ownerSVGElement,d.style.minWidth=Math.max(1,f)+"px",d.style.minHeight=Math.max(1,c)+"px",d.style.width="100%",d.style.height="100%"):mxClient.IS_QUIRKS?this.view.updateHtmlCanvasSize(Math.max(1,f),Math.max(1,c)):(this.view.canvas.style.minWidth=Math.max(1,f)+"px",
this.view.canvas.style.minHeight=Math.max(1,c)+"px");this.updatePageBreaks(this.pageBreaksVisible,f,c)}this.fireEvent(new mxEventObject(mxEvent.SIZE,"bounds",a))};mxGraph.prototype.doResizeContainer=function(a,c){null!=this.maximumContainerSize&&(a=Math.min(this.maximumContainerSize.width,a),c=Math.min(this.maximumContainerSize.height,c));this.container.style.width=Math.ceil(a)+"px";this.container.style.height=Math.ceil(c)+"px"};
mxGraph.prototype.updatePageBreaks=function(a,c,f){c=this.view.scale;f=this.view.translate;var d=this.pageFormat,b=c*this.pageScale,e=new mxRectangle(0,0,d.width*b,d.height*b),d=mxRectangle.fromRectangle(this.getGraphBounds());e.x=Math.floor((d.x-f.x*c)/e.width)*e.width+f.x*c;e.y=Math.floor((d.y-f.y*c)/e.height)*e.height+f.y*c;d.width=Math.ceil((d.width+(d.x-e.x))/e.width)*e.width;d.height=Math.ceil((d.height+(d.y-e.y))/e.height)*e.height;var g=(a=a&&Math.min(e.width,e.height)>this.minPageBreakDist)?
Math.ceil(d.width/e.width)+1:0,k=a?Math.ceil(d.height/e.height)+1:0,l=(g-1)*e.width,n=(k-1)*e.height;null==this.horizontalPageBreaks&&0<g&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<k&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(b){if(null!=b){for(var a=b==this.horizontalPageBreaks?g:k,d=0;d<=a;d++){var c=b==this.horizontalPageBreaks?[new mxPoint(e.x+d*e.width,e.y),new mxPoint(e.x+d*e.width,e.y+n)]:[new mxPoint(e.x,e.y+d*e.height),new mxPoint(e.x+l,e.y+d*e.height)];
null!=b[d]?(b[d].points=c,b[d].redraw()):(c=new mxPolyline(c,this.pageBreakColor),c.dialect=this.dialect,c.pointerEvents=!1,c.isDashed=this.pageBreakDashed,c.init(this.view.backgroundPane),c.redraw(),b[d]=c)}for(d=a;d<b.length;d++)b[d].destroy();b.splice(a,b.length-a)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)};
mxGraph.prototype.getCellStyle=function(a){var c=this.model.getStyle(a),f=null,f=this.model.isEdge(a)?this.stylesheet.getDefaultEdgeStyle():this.stylesheet.getDefaultVertexStyle();null!=c&&(f=this.postProcessCellStyle(this.stylesheet.getCellStyle(c,f)));null==f&&(f=mxGraph.prototype.EMPTY_ARRAY);return f};
mxGraph.prototype.postProcessCellStyle=function(a){if(null!=a){var c=a[mxConstants.STYLE_IMAGE],f=this.getImageFromBundles(c);null!=f?a[mxConstants.STYLE_IMAGE]=f:f=c;null!=f&&"data:image/"==f.substring(0,11)&&("data:image/svg+xml,\x3c"==f.substring(0,20)?f=f.substring(0,19)+encodeURIComponent(f.substring(19)):"data:image/svg+xml,%3C"!=f.substring(0,22)&&(c=f.indexOf(","),0<c&&";base64,"!=f.substring(c-7,c+1)&&(f=f.substring(0,c)+";base64,"+f.substring(c+1))),a[mxConstants.STYLE_IMAGE]=f)}return a};
mxGraph.prototype.setCellStyle=function(a,c){c=c||this.getSelectionCells();if(null!=c){this.model.beginUpdate();try{for(var f=0;f<c.length;f++)this.model.setStyle(c[f],a)}finally{this.model.endUpdate()}}};mxGraph.prototype.toggleCellStyle=function(a,c,f){f=f||this.getSelectionCell();return this.toggleCellStyles(a,c,[f])};
mxGraph.prototype.toggleCellStyles=function(a,c,f){c=null!=c?c:!1;f=f||this.getSelectionCells();var d=null;if(null!=f&&0<f.length){var b=this.view.getState(f[0]),b=null!=b?b.style:this.getCellStyle(f[0]);null!=b&&(d=mxUtils.getValue(b,a,c)?0:1,this.setCellStyles(a,d,f))}return d};mxGraph.prototype.setCellStyles=function(a,c,f){f=f||this.getSelectionCells();mxUtils.setCellStyles(this.model,f,a,c)};mxGraph.prototype.toggleCellStyleFlags=function(a,c,f){this.setCellStyleFlags(a,c,null,f)};
mxGraph.prototype.setCellStyleFlags=function(a,c,f,d){d=d||this.getSelectionCells();if(null!=d&&0<d.length){if(null==f){var b=this.view.getState(d[0]),b=null!=b?b.style:this.getCellStyle(d[0]);null!=b&&(f=(parseInt(b[a]||0)&c)!=c)}mxUtils.setCellStyleFlags(this.model,d,a,c,f)}};
mxGraph.prototype.alignCells=function(a,c,f){null==c&&(c=this.getSelectionCells());if(null!=c&&1<c.length){if(null==f)for(var d=0;d<c.length;d++){var b=this.view.getState(c[d]);if(null!=b&&!this.model.isEdge(c[d]))if(null==f)if(a==mxConstants.ALIGN_CENTER){f=b.x+b.width/2;break}else if(a==mxConstants.ALIGN_RIGHT)f=b.x+b.width;else if(a==mxConstants.ALIGN_TOP)f=b.y;else if(a==mxConstants.ALIGN_MIDDLE){f=b.y+b.height/2;break}else f=a==mxConstants.ALIGN_BOTTOM?b.y+b.height:b.x;else f=a==mxConstants.ALIGN_RIGHT?
Math.max(f,b.x+b.width):a==mxConstants.ALIGN_TOP?Math.min(f,b.y):a==mxConstants.ALIGN_BOTTOM?Math.max(f,b.y+b.height):Math.min(f,b.x)}if(null!=f){var e=this.view.scale;this.model.beginUpdate();try{for(d=0;d<c.length;d++)if(b=this.view.getState(c[d]),null!=b){var g=this.getCellGeometry(c[d]);null!=g&&!this.model.isEdge(c[d])&&(g=g.clone(),a==mxConstants.ALIGN_CENTER?g.x+=(f-b.x-b.width/2)/e:a==mxConstants.ALIGN_RIGHT?g.x+=(f-b.x-b.width)/e:a==mxConstants.ALIGN_TOP?g.y+=(f-b.y)/e:a==mxConstants.ALIGN_MIDDLE?
g.y+=(f-b.y-b.height/2)/e:a==mxConstants.ALIGN_BOTTOM?g.y+=(f-b.y-b.height)/e:g.x+=(f-b.x)/e,this.resizeCell(c[d],g))}this.fireEvent(new mxEventObject(mxEvent.ALIGN_CELLS,"align",a,"cells",c))}finally{this.model.endUpdate()}}}return c};
mxGraph.prototype.flipEdge=function(a){if(null!=a&&null!=this.alternateEdgeStyle){this.model.beginUpdate();try{var c=this.model.getStyle(a);null==c||0==c.length?this.model.setStyle(a,this.alternateEdgeStyle):this.model.setStyle(a,null);this.resetEdge(a);this.fireEvent(new mxEventObject(mxEvent.FLIP_EDGE,"edge",a))}finally{this.model.endUpdate()}}return a};mxGraph.prototype.addImageBundle=function(a){this.imageBundles.push(a)};
mxGraph.prototype.removeImageBundle=function(a){for(var c=[],f=0;f<this.imageBundles.length;f++)this.imageBundles[f]!=a&&c.push(this.imageBundles[f]);this.imageBundles=c};mxGraph.prototype.getImageFromBundles=function(a){if(null!=a)for(var c=0;c<this.imageBundles.length;c++){var f=this.imageBundles[c].getImage(a);if(null!=f)return f}return null};
mxGraph.prototype.orderCells=function(a,c){null==c&&(c=mxUtils.sortCells(this.getSelectionCells(),!0));this.model.beginUpdate();try{this.cellsOrdered(c,a),this.fireEvent(new mxEventObject(mxEvent.ORDER_CELLS,"back",a,"cells",c))}finally{this.model.endUpdate()}return c};
mxGraph.prototype.cellsOrdered=function(a,c){if(null!=a){this.model.beginUpdate();try{for(var f=0;f<a.length;f++){var d=this.model.getParent(a[f]);c?this.model.add(d,a[f],f):this.model.add(d,a[f],this.model.getChildCount(d)-1)}this.fireEvent(new mxEventObject(mxEvent.CELLS_ORDERED,"back",c,"cells",a))}finally{this.model.endUpdate()}}};
mxGraph.prototype.groupCells=function(a,c,f){null==f&&(f=mxUtils.sortCells(this.getSelectionCells(),!0));f=this.getCellsForGroup(f);null==a&&(a=this.createGroupCell(f));var d=this.getBoundsForGroup(a,f,c);if(0<f.length&&null!=d){var b=this.model.getParent(a);null==b&&(b=this.model.getParent(f[0]));this.model.beginUpdate();try{null==this.getCellGeometry(a)&&this.model.setGeometry(a,new mxGeometry);var e=this.model.getChildCount(b);this.cellsAdded([a],b,e,null,null,!1);e=this.model.getChildCount(a);
this.cellsAdded(f,a,e,null,null,!1,!1);this.cellsMoved(f,-d.x,-d.y,!1,!0);this.cellsResized([a],[d],!1);this.fireEvent(new mxEventObject(mxEvent.GROUP_CELLS,"group",a,"border",c,"cells",f))}finally{this.model.endUpdate()}}return a};mxGraph.prototype.getCellsForGroup=function(a){var c=[];if(null!=a&&0<a.length){var f=this.model.getParent(a[0]);c.push(a[0]);for(var d=1;d<a.length;d++)this.model.getParent(a[d])==f&&c.push(a[d])}return c};
mxGraph.prototype.getBoundsForGroup=function(a,c,f){c=this.getBoundingBoxFromGeometry(c,!0);null!=c&&(this.isSwimlane(a)&&(a=this.getStartSize(a),c.x-=a.width,c.y-=a.height,c.width+=a.width,c.height+=a.height),null!=f&&(c.x-=f,c.y-=f,c.width+=2*f,c.height+=2*f));return c};mxGraph.prototype.createGroupCell=function(a){a=new mxCell("");a.setVertex(!0);a.setConnectable(!1);return a};
mxGraph.prototype.ungroupCells=function(a){var c=[];if(null==a){a=this.getSelectionCells();for(var f=[],d=0;d<a.length;d++)0<this.model.getChildCount(a[d])&&f.push(a[d]);a=f}if(null!=a&&0<a.length){this.model.beginUpdate();try{for(d=0;d<a.length;d++){var b=this.model.getChildren(a[d]);if(null!=b&&0<b.length){var b=b.slice(),e=this.model.getParent(a[d]),g=this.model.getChildCount(e);this.cellsAdded(b,e,g,null,null,!0);c=c.concat(b)}}this.removeCellsAfterUngroup(a);this.fireEvent(new mxEventObject(mxEvent.UNGROUP_CELLS,
"cells",a))}finally{this.model.endUpdate()}}return c};mxGraph.prototype.removeCellsAfterUngroup=function(a){this.cellsRemoved(this.addAllEdges(a))};mxGraph.prototype.removeCellsFromParent=function(a){null==a&&(a=this.getSelectionCells());this.model.beginUpdate();try{var c=this.getDefaultParent(),f=this.model.getChildCount(c);this.cellsAdded(a,c,f,null,null,!0);this.fireEvent(new mxEventObject(mxEvent.REMOVE_CELLS_FROM_PARENT,"cells",a))}finally{this.model.endUpdate()}return a};
mxGraph.prototype.updateGroupBounds=function(a,c,f,d,b,e,g){null==a&&(a=this.getSelectionCells());c=null!=c?c:0;f=null!=f?f:!1;d=null!=d?d:0;b=null!=b?b:0;e=null!=e?e:0;g=null!=g?g:0;this.model.beginUpdate();try{for(var k=a.length-1;0<=k;k--){var l=this.getCellGeometry(a[k]);if(null!=l){var n=this.getChildCells(a[k]);if(null!=n&&0<n.length){var m=this.getBoundingBoxFromGeometry(n,!0);if(null!=m&&0<m.width&&0<m.height){var p=0,r=0;if(this.isSwimlane(a[k]))var s=this.getStartSize(a[k]),p=s.width,r=
s.height;l=l.clone();f&&(l.x=Math.round(l.x+m.x-c-p-g),l.y=Math.round(l.y+m.y-c-r-d));l.width=Math.round(m.width+2*c+p+g+b);l.height=Math.round(m.height+2*c+r+d+e);this.model.setGeometry(a[k],l);this.moveCells(n,c+p-m.x+g,c+r-m.y+d)}}}}}finally{this.model.endUpdate()}return a};
mxGraph.prototype.getBoundingBox=function(a){var c=null;if(null!=a&&0<a.length)for(var f=0;f<a.length;f++)if(this.model.isVertex(a[f])||this.model.isEdge(a[f])){var d=this.view.getBoundingBox(this.view.getState(a[f]),!0);null!=d&&(null==c?c=mxRectangle.fromRectangle(d):c.add(d))}return c};
mxGraph.prototype.cloneCells=function(a,c,f){c=null!=c?c:!0;var d=null;if(null!=a){for(var b=new mxDictionary,d=[],e=0;e<a.length;e++)b.put(a[e],!0),d.push(a[e]);if(0<d.length)for(var g=this.view.scale,k=this.view.translate,d=this.model.cloneCells(a,!0,f),e=0;e<a.length;e++)if(!c&&this.model.isEdge(d[e])&&null!=this.getEdgeValidationError(d[e],this.model.getTerminal(d[e],!0),this.model.getTerminal(d[e],!1)))d[e]=null;else{var l=this.model.getGeometry(d[e]);if(null!=l){var n=this.view.getState(a[e]),
m=this.view.getState(this.model.getParent(a[e]));if(null!=n&&null!=m)if(f=m.origin.x,m=m.origin.y,this.model.isEdge(d[e])){for(var n=n.absolutePoints,p=this.model.getTerminal(a[e],!0);null!=p&&!b.get(p);)p=this.model.getParent(p);null==p&&l.setTerminalPoint(new mxPoint(n[0].x/g-k.x,n[0].y/g-k.y),!0);for(p=this.model.getTerminal(a[e],!1);null!=p&&!b.get(p);)p=this.model.getParent(p);null==p&&(p=n.length-1,l.setTerminalPoint(new mxPoint(n[p].x/g-k.x,n[p].y/g-k.y),!1));l=l.points;if(null!=l)for(n=0;n<
l.length;n++)l[n].x+=f,l[n].y+=m}else l.translate(f,m)}}else d=[]}return d};mxGraph.prototype.insertVertex=function(a,c,f,d,b,e,g,k,l){c=this.createVertex(a,c,f,d,b,e,g,k,l);return this.addCell(c,a)};mxGraph.prototype.createVertex=function(a,c,f,d,b,e,g,k,l){a=new mxGeometry(d,b,e,g);a.relative=null!=l?l:!1;f=new mxCell(f,a,k);f.setId(c);f.setVertex(!0);f.setConnectable(!0);return f};mxGraph.prototype.insertEdge=function(a,c,f,d,b,e){c=this.createEdge(a,c,f,d,b,e);return this.addEdge(c,a,d,b)};
mxGraph.prototype.createEdge=function(a,c,f,d,b,e){a=new mxCell(f,new mxGeometry,e);a.setId(c);a.setEdge(!0);a.geometry.relative=!0;return a};mxGraph.prototype.addEdge=function(a,c,f,d,b){return this.addCell(a,c,b,f,d)};mxGraph.prototype.addCell=function(a,c,f,d,b){return this.addCells([a],c,f,d,b)[0]};
mxGraph.prototype.addCells=function(a,c,f,d,b){null==c&&(c=this.getDefaultParent());null==f&&(f=this.model.getChildCount(c));this.model.beginUpdate();try{this.cellsAdded(a,c,f,d,b,!1,!0),this.fireEvent(new mxEventObject(mxEvent.ADD_CELLS,"cells",a,"parent",c,"index",f,"source",d,"target",b))}finally{this.model.endUpdate()}return a};
mxGraph.prototype.cellsAdded=function(a,c,f,d,b,e,g){if(null!=a&&null!=c&&null!=f){this.model.beginUpdate();try{for(var k=e?this.view.getState(c):null,l=null!=k?k.origin:null,n=new mxPoint(0,0),k=0;k<a.length;k++)if(null==a[k])f--;else{var m=this.model.getParent(a[k]);if(null!=l&&a[k]!=c&&c!=m){var p=this.view.getState(m),r=null!=p?p.origin:n,s=this.model.getGeometry(a[k]);if(null!=s){var q=r.x-l.x,u=r.y-l.y,s=s.clone();s.translate(q,u);!s.relative&&this.model.isVertex(a[k])&&!this.isAllowNegativeCoordinates()&&
(s.x=Math.max(0,s.x),s.y=Math.max(0,s.y));this.model.setGeometry(a[k],s)}}c==m&&f+k>this.model.getChildCount(c)&&f--;this.model.add(c,a[k],f+k);this.autoSizeCellsOnAdd&&this.autoSizeCell(a[k],!0);this.isExtendParentsOnAdd(a[k])&&this.isExtendParent(a[k])&&this.extendParent(a[k]);(null==g||g)&&this.constrainChild(a[k]);null!=d&&this.cellConnected(a[k],d,!0);null!=b&&this.cellConnected(a[k],b,!1)}this.fireEvent(new mxEventObject(mxEvent.CELLS_ADDED,"cells",a,"parent",c,"index",f,"source",d,"target",
b,"absolute",e))}finally{this.model.endUpdate()}}};mxGraph.prototype.autoSizeCell=function(a,c){if(null!=c?c:1)for(var f=this.model.getChildCount(a),d=0;d<f;d++)this.autoSizeCell(this.model.getChildAt(a,d));this.getModel().isVertex(a)&&this.isAutoSizeCell(a)&&this.updateCellSize(a)};
mxGraph.prototype.removeCells=function(a,c){c=null!=c?c:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));c&&(a=this.getDeletableCells(this.addAllEdges(a)));this.model.beginUpdate();try{this.cellsRemoved(a),this.fireEvent(new mxEventObject(mxEvent.REMOVE_CELLS,"cells",a,"includeEdges",c))}finally{this.model.endUpdate()}return a};
mxGraph.prototype.cellsRemoved=function(a){if(null!=a&&0<a.length){var c=this.view.scale,f=this.view.translate;this.model.beginUpdate();try{for(var d=new mxDictionary,b=0;b<a.length;b++)d.put(a[b],!0);for(b=0;b<a.length;b++){for(var e=this.getAllEdges([a[b]]),g=mxUtils.bind(this,function(d,g){var m=this.model.getGeometry(d);if(null!=m){var p=this.view.getState(d);if(null!=p){for(var r=p.getVisibleTerminal(g),s=!1;null!=r;){if(a[b]==r){s=!0;break}r=this.model.getParent(r)}if(s){var r=f.x,s=f.y,q=this.view.getState(this.model.getParent(d));
null!=q&&this.model.isVertex(q.cell)&&(r=q.x/c,s=q.y/c);m=m.clone();p=p.absolutePoints;q=g?0:p.length-1;m.setTerminalPoint(new mxPoint(p[q].x/c-r,p[q].y/c-s),g);this.model.setTerminal(e[k],null,g);this.model.setGeometry(e[k],m)}}}}),k=0;k<e.length;k++)d.get(e[k])||(g(e[k],!0),g(e[k],!1));this.model.remove(a[b])}this.fireEvent(new mxEventObject(mxEvent.CELLS_REMOVED,"cells",a))}finally{this.model.endUpdate()}}};
mxGraph.prototype.splitEdge=function(a,c,f,d,b){d=d||0;b=b||0;var e=this.model.getParent(a),g=this.model.getTerminal(a,!0);this.model.beginUpdate();try{if(null==f){f=this.cloneCells([a])[0];var k=this.view.getState(a),l=this.getCellGeometry(f);if(null!=l&&null!=l.points&&null!=k){var n=this.view.translate,m=this.view.scale,p=mxUtils.findNearestSegment(k,(d+n.x)*m,(b+n.y)*m);l.points=l.points.slice(0,p);l=this.getCellGeometry(a);null!=l&&null!=l.points&&(l=l.clone(),l.points=l.points.slice(p),this.model.setGeometry(a,
l))}}this.cellsMoved(c,d,b,!1,!1);this.cellsAdded(c,e,this.model.getChildCount(e),null,null,!0);this.cellsAdded([f],e,this.model.getChildCount(e),g,c[0],!1);this.cellConnected(a,c[0],!0);this.fireEvent(new mxEventObject(mxEvent.SPLIT_EDGE,"edge",a,"cells",c,"newEdge",f,"dx",d,"dy",b))}finally{this.model.endUpdate()}return f};
mxGraph.prototype.toggleCells=function(a,c,f){null==c&&(c=this.getSelectionCells());f&&(c=this.addAllEdges(c));this.model.beginUpdate();try{this.cellsToggled(c,a),this.fireEvent(new mxEventObject(mxEvent.TOGGLE_CELLS,"show",a,"cells",c,"includeEdges",f))}finally{this.model.endUpdate()}return c};mxGraph.prototype.cellsToggled=function(a,c){if(null!=a&&0<a.length){this.model.beginUpdate();try{for(var f=0;f<a.length;f++)this.model.setVisible(a[f],c)}finally{this.model.endUpdate()}}};
mxGraph.prototype.foldCells=function(a,c,f,d,b){c=null!=c?c:!1;null==f&&(f=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing(!1);this.model.beginUpdate();try{this.cellsFolded(f,a,c,d),this.fireEvent(new mxEventObject(mxEvent.FOLD_CELLS,"collapse",a,"recurse",c,"cells",f))}finally{this.model.endUpdate()}return f};
mxGraph.prototype.cellsFolded=function(a,c,f,d){if(null!=a&&0<a.length){this.model.beginUpdate();try{for(var b=0;b<a.length;b++)if((!d||this.isCellFoldable(a[b],c))&&c!=this.isCellCollapsed(a[b])){this.model.setCollapsed(a[b],c);this.swapBounds(a[b],c);this.isExtendParent(a[b])&&this.extendParent(a[b]);if(f){var e=this.model.getChildren(a[b]);this.foldCells(e,c,f)}this.constrainChild(a[b])}this.fireEvent(new mxEventObject(mxEvent.CELLS_FOLDED,"cells",a,"collapse",c,"recurse",f))}finally{this.model.endUpdate()}}};
mxGraph.prototype.swapBounds=function(a,c){if(null!=a){var f=this.model.getGeometry(a);null!=f&&(f=f.clone(),this.updateAlternateBounds(a,f,c),f.swap(),this.model.setGeometry(a,f))}};
mxGraph.prototype.updateAlternateBounds=function(a,c,f){if(null!=a&&null!=c){f=this.view.getState(a);f=null!=f?f.style:this.getCellStyle(a);if(null==c.alternateBounds){var d=c;this.collapseToPreferredSize&&(a=this.getPreferredSizeForCell(a),null!=a&&(d=a,a=mxUtils.getValue(f,mxConstants.STYLE_STARTSIZE),0<a&&(d.height=Math.max(d.height,a))));c.alternateBounds=new mxRectangle(0,0,d.width,d.height)}if(null!=c.alternateBounds){c.alternateBounds.x=c.x;c.alternateBounds.y=c.y;var b=mxUtils.toRadians(f[mxConstants.STYLE_ROTATION]||
0);0!=b&&(a=c.alternateBounds.getCenterX()-c.getCenterX(),f=c.alternateBounds.getCenterY()-c.getCenterY(),d=Math.cos(b),b=Math.sin(b),c.alternateBounds.x+=d*a-b*f-a,c.alternateBounds.y+=b*a+d*f-f)}}};mxGraph.prototype.addAllEdges=function(a){var c=a.slice();return mxUtils.removeDuplicates(c.concat(this.getAllEdges(a)))};
mxGraph.prototype.getAllEdges=function(a){var c=[];if(null!=a)for(var f=0;f<a.length;f++){for(var d=this.model.getEdgeCount(a[f]),b=0;b<d;b++)c.push(this.model.getEdgeAt(a[f],b));d=this.model.getChildren(a[f]);c=c.concat(this.getAllEdges(d))}return c};mxGraph.prototype.updateCellSize=function(a,c){c=null!=c?c:!1;this.model.beginUpdate();try{this.cellSizeUpdated(a,c),this.fireEvent(new mxEventObject(mxEvent.UPDATE_CELL_SIZE,"cell",a,"ignoreChildren",c))}finally{this.model.endUpdate()}return a};
mxGraph.prototype.cellSizeUpdated=function(a,c){if(null!=a){this.model.beginUpdate();try{var f=this.getPreferredSizeForCell(a),d=this.model.getGeometry(a);if(null!=f&&null!=d){var b=this.isCellCollapsed(a),d=d.clone();if(this.isSwimlane(a)){var e=this.view.getState(a),g=null!=e?e.style:this.getCellStyle(a),k=this.model.getStyle(a);null==k&&(k="");mxUtils.getValue(g,mxConstants.STYLE_HORIZONTAL,!0)?(k=mxUtils.setStyle(k,mxConstants.STYLE_STARTSIZE,f.height+8),b&&(d.height=f.height+8),d.width=f.width):
(k=mxUtils.setStyle(k,mxConstants.STYLE_STARTSIZE,f.width+8),b&&(d.width=f.width+8),d.height=f.height);this.model.setStyle(a,k)}else d.width=f.width,d.height=f.height;if(!c&&!b){var l=this.view.getBounds(this.model.getChildren(a));if(null!=l){var n=this.view.translate,m=this.view.scale,p=(l.y+l.height)/m-d.y-n.y;d.width=Math.max(d.width,(l.x+l.width)/m-d.x-n.x);d.height=Math.max(d.height,p)}}this.cellsResized([a],[d],!1)}}finally{this.model.endUpdate()}}};
mxGraph.prototype.getPreferredSizeForCell=function(a){var c=null;if(null!=a){var f=this.view.getState(a)||this.view.createState(a),d=f.style;if(!this.model.isEdge(a)){var b=d[mxConstants.STYLE_FONTSIZE]||mxConstants.DEFAULT_FONTSIZE;a=c=0;if((null!=this.getImage(f)||null!=d[mxConstants.STYLE_IMAGE])&&d[mxConstants.STYLE_SHAPE]==mxConstants.SHAPE_LABEL)d[mxConstants.STYLE_VERTICAL_ALIGN]==mxConstants.ALIGN_MIDDLE&&(c+=parseFloat(d[mxConstants.STYLE_IMAGE_WIDTH])||mxLabel.prototype.imageSize),d[mxConstants.STYLE_ALIGN]!=
mxConstants.ALIGN_CENTER&&(a+=parseFloat(d[mxConstants.STYLE_IMAGE_HEIGHT])||mxLabel.prototype.imageSize);c+=2*(d[mxConstants.STYLE_SPACING]||0);c+=d[mxConstants.STYLE_SPACING_LEFT]||0;c+=d[mxConstants.STYLE_SPACING_RIGHT]||0;a+=2*(d[mxConstants.STYLE_SPACING]||0);a+=d[mxConstants.STYLE_SPACING_TOP]||0;a+=d[mxConstants.STYLE_SPACING_BOTTOM]||0;var e=this.getFoldingImage(f);null!=e&&(c+=e.width+8);e=this.cellRenderer.getLabelValue(f);null!=e&&0<e.length?(this.isHtmlLabel(f.cell)||(e=mxUtils.htmlEntities(e)),
e=e.replace(/\n/g,"\x3cbr\x3e"),b=mxUtils.getSizeForString(e,b,d[mxConstants.STYLE_FONTFAMILY]),f=b.width+c,a=b.height+a,mxUtils.getValue(d,mxConstants.STYLE_HORIZONTAL,!0)||(d=a,a=f,f=d),this.gridEnabled&&(f=this.snap(f+this.gridSize/2),a=this.snap(a+this.gridSize/2)),c=new mxRectangle(0,0,f,a)):(d=4*this.gridSize,c=new mxRectangle(0,0,d,d))}}return c};mxGraph.prototype.resizeCell=function(a,c,f){return this.resizeCells([a],[c],f)[0]};
mxGraph.prototype.resizeCells=function(a,c,f){f=null!=f?f:this.isRecursiveResize();this.model.beginUpdate();try{this.cellsResized(a,c,f),this.fireEvent(new mxEventObject(mxEvent.RESIZE_CELLS,"cells",a,"bounds",c))}finally{this.model.endUpdate()}return a};
mxGraph.prototype.cellsResized=function(a,c,f){f=null!=f?f:!1;if(null!=a&&null!=c&&a.length==c.length){this.model.beginUpdate();try{for(var d=0;d<a.length;d++)this.cellResized(a[d],c[d],!1,f),this.isExtendParent(a[d])&&this.extendParent(a[d]),this.constrainChild(a[d]);this.resetEdgesOnResize&&this.resetEdges(a);this.fireEvent(new mxEventObject(mxEvent.CELLS_RESIZED,"cells",a,"bounds",c))}finally{this.model.endUpdate()}}};
mxGraph.prototype.cellResized=function(a,c,f,d){var b=this.model.getGeometry(a);if(null!=b&&(b.x!=c.x||b.y!=c.y||b.width!=c.width||b.height!=c.height)){b=b.clone();!f&&b.relative?(f=b.offset,null!=f&&(f.x+=c.x-b.x,f.y+=c.y-b.y)):(b.x=c.x,b.y=c.y);b.width=c.width;b.height=c.height;!b.relative&&this.model.isVertex(a)&&!this.isAllowNegativeCoordinates()&&(b.x=Math.max(0,b.x),b.y=Math.max(0,b.y));this.model.beginUpdate();try{d&&this.resizeChildCells(a,b),this.model.setGeometry(a,b),this.constrainChildCells(a)}finally{this.model.endUpdate()}}};
mxGraph.prototype.resizeChildCells=function(a,c){for(var f=this.model.getGeometry(a),d=c.width/f.width,f=c.height/f.height,b=this.model.getChildCount(a),e=0;e<b;e++)this.scaleCell(this.model.getChildAt(a,e),d,f,!0)};mxGraph.prototype.constrainChildCells=function(a){for(var c=this.model.getChildCount(a),f=0;f<c;f++)this.constrainChild(this.model.getChildAt(a,f))};
mxGraph.prototype.scaleCell=function(a,c,f,d){var b=this.model.getGeometry(a);if(null!=b){var e=this.view.getState(a),e=null!=e?e.style:this.getCellStyle(a),b=b.clone(),g=b.x,k=b.y,l=b.width,n=b.height;b.scale(c,f,"fixed"==e[mxConstants.STYLE_ASPECT]);"1"==e[mxConstants.STYLE_RESIZE_WIDTH]?b.width=l*c:"0"==e[mxConstants.STYLE_RESIZE_WIDTH]&&(b.width=l);"1"==e[mxConstants.STYLE_RESIZE_HEIGHT]?b.height=n*f:"0"==e[mxConstants.STYLE_RESIZE_HEIGHT]&&(b.height=n);this.isCellMovable(a)||(b.x=g,b.y=k);this.isCellResizable(a)||
(b.width=l,b.height=n);this.model.isVertex(a)?this.cellResized(a,b,!0,d):this.model.setGeometry(a,b)}};mxGraph.prototype.extendParent=function(a){if(null!=a){var c=this.model.getParent(a),f=this.getCellGeometry(c);if(null!=c&&null!=f&&!this.isCellCollapsed(c)&&(a=this.getCellGeometry(a),null!=a&&!a.relative&&(f.width<a.x+a.width||f.height<a.y+a.height)))f=f.clone(),f.width=Math.max(f.width,a.x+a.width),f.height=Math.max(f.height,a.y+a.height),this.cellsResized([c],[f],!1)}};
mxGraph.prototype.importCells=function(a,c,f,d,b,e){return this.moveCells(a,c,f,!0,d,b,e)};
mxGraph.prototype.moveCells=function(a,c,f,d,b,e,g){c=null!=c?c:0;f=null!=f?f:0;d=null!=d?d:!1;if(null!=a&&(0!=c||0!=f||d||null!=b)){a=this.model.getTopmostCells(a);this.model.beginUpdate();try{for(var k=new mxDictionary,l=0;l<a.length;l++)k.put(a[l],!0);for(var n=mxUtils.bind(this,function(b){for(;null!=b;){if(k.get(b))return!0;b=this.model.getParent(b)}return!1}),m=[],l=0;l<a.length;l++){var p=this.getCellGeometry(a[l]),r=this.model.getParent(a[l]);(null==p||!p.relative||!this.model.isEdge(r)||
!n(this.model.getTerminal(r,!0))&&!n(this.model.getTerminal(r,!1)))&&m.push(a[l])}a=m;d&&(a=this.cloneCells(a,this.isCloneInvalidEdges(),g),null==b&&(b=this.getDefaultParent()));var s=this.isAllowNegativeCoordinates();null!=b&&this.setAllowNegativeCoordinates(!0);this.cellsMoved(a,c,f,!d&&this.isDisconnectOnMove()&&this.isAllowDanglingEdges(),null==b,this.isExtendParentsOnMove()&&null==b);this.setAllowNegativeCoordinates(s);if(null!=b){var q=this.model.getChildCount(b);this.cellsAdded(a,b,q,null,
null,!0)}this.fireEvent(new mxEventObject(mxEvent.MOVE_CELLS,"cells",a,"dx",c,"dy",f,"clone",d,"target",b,"event",e))}finally{this.model.endUpdate()}}return a};
mxGraph.prototype.cellsMoved=function(a,c,f,d,b,e){if(null!=a&&(0!=c||0!=f)){e=null!=e?e:!1;this.model.beginUpdate();try{d&&this.disconnectGraph(a);for(var g=0;g<a.length;g++)this.translateCell(a[g],c,f),e&&this.isExtendParent(a[g])?this.extendParent(a[g]):b&&this.constrainChild(a[g]);this.resetEdgesOnMove&&this.resetEdges(a);this.fireEvent(new mxEventObject(mxEvent.CELLS_MOVED,"cells",a,"dx",c,"dy",f,"disconnect",d))}finally{this.model.endUpdate()}}};
mxGraph.prototype.translateCell=function(a,c,f){var d=this.model.getGeometry(a);if(null!=d){c=parseFloat(c);f=parseFloat(f);d=d.clone();d.translate(c,f);!d.relative&&this.model.isVertex(a)&&!this.isAllowNegativeCoordinates()&&(d.x=Math.max(0,parseFloat(d.x)),d.y=Math.max(0,parseFloat(d.y)));if(d.relative&&!this.model.isEdge(a)){var b=this.model.getParent(a),e=0;this.model.isVertex(b)&&(e=this.view.getState(b),b=null!=e?e.style:this.getCellStyle(b),e=mxUtils.getValue(b,mxConstants.STYLE_ROTATION,0));
0!=e&&(e=mxUtils.toRadians(-e),b=Math.cos(e),e=Math.sin(e),f=mxUtils.getRotatedPoint(new mxPoint(c,f),b,e,new mxPoint(0,0)),c=f.x,f=f.y);null==d.offset?d.offset=new mxPoint(c,f):(d.offset.x=parseFloat(d.offset.x)+c,d.offset.y=parseFloat(d.offset.y)+f)}this.model.setGeometry(a,d)}};
mxGraph.prototype.getCellContainmentArea=function(a){if(null!=a&&!this.model.isEdge(a)){var c=this.model.getParent(a);if(null!=c&&c!=this.getDefaultParent()){var f=this.model.getGeometry(c);if(null!=f){var d=a=0,b=f.width,f=f.height;if(this.isSwimlane(c)){var e=this.getStartSize(c),g=this.view.getState(c),k=null!=g?g.style:this.getCellStyle(c),c=mxUtils.getValue(k,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST),g=1==mxUtils.getValue(k,mxConstants.STYLE_FLIPH,0),k=1==mxUtils.getValue(k,mxConstants.STYLE_FLIPV,
0);if(c==mxConstants.DIRECTION_SOUTH||c==mxConstants.DIRECTION_NORTH){var l=e.width;e.width=e.height;e.height=l}if(c==mxConstants.DIRECTION_EAST&&!k||c==mxConstants.DIRECTION_NORTH&&!g||c==mxConstants.DIRECTION_WEST&&k||c==mxConstants.DIRECTION_SOUTH&&g)a=e.width,d=e.height;b-=e.width;f-=e.height}return new mxRectangle(a,d,b,f)}}}return null};mxGraph.prototype.getMaximumGraphBounds=function(){return this.maximumGraphBounds};
mxGraph.prototype.constrainChild=function(a,c){if(null!=a){var f=this.getCellGeometry(a);if(null!=f&&(this.isConstrainRelativeChildren()||!f.relative)){var d=this.model.getParent(a);this.getCellGeometry(d);var b=this.getMaximumGraphBounds();null!=b&&(d=this.getBoundingBoxFromGeometry([d],!1),null!=d&&(b=mxRectangle.fromRectangle(b),b.x-=d.x,b.y-=d.y));if(this.isConstrainChild(a)&&(d=this.getCellContainmentArea(a),null!=d)){var e=this.getOverlap(a);0<e&&(d=mxRectangle.fromRectangle(d),d.x-=d.width*
e,d.y-=d.height*e,d.width+=2*d.width*e,d.height+=2*d.height*e);null==b?b=d:(b=mxRectangle.fromRectangle(b),b.intersect(d))}if(null!=b){d=[a];if(!this.isCellCollapsed(a))for(var e=this.model.getDescendants(a),g=0;g<e.length;g++)this.isCellVisible(e[g])&&d.push(e[g]);d=this.getBoundingBoxFromGeometry(d,!1);if(null!=d){f=f.clone();e=0;f.width>b.width&&(e=f.width-b.width,f.width-=e);d.x+d.width>b.x+b.width&&(e-=d.x+d.width-b.x-b.width-e);g=0;f.height>b.height&&(g=f.height-b.height,f.height-=g);d.y+d.height>
b.y+b.height&&(g-=d.y+d.height-b.y-b.height-g);d.x<b.x&&(e-=d.x-b.x);d.y<b.y&&(g-=d.y-b.y);if(0!=e||0!=g)f.relative?(null==f.offset&&(f.offset=new mxPoint),f.offset.x+=e,f.offset.y+=g):(f.x+=e,f.y+=g);this.model.setGeometry(a,f)}}}}};
mxGraph.prototype.resetEdges=function(a){if(null!=a){for(var c=new mxDictionary,f=0;f<a.length;f++)c.put(a[f],!0);this.model.beginUpdate();try{for(f=0;f<a.length;f++){var d=this.model.getEdges(a[f]);if(null!=d)for(var b=0;b<d.length;b++){var e=this.view.getState(d[b]),g=null!=e?e.getVisibleTerminal(!0):this.view.getVisibleTerminal(d[b],!0),k=null!=e?e.getVisibleTerminal(!1):this.view.getVisibleTerminal(d[b],!1);(!c.get(g)||!c.get(k))&&this.resetEdge(d[b])}this.resetEdges(this.model.getChildren(a[f]))}}finally{this.model.endUpdate()}}};
mxGraph.prototype.resetEdge=function(a){var c=this.model.getGeometry(a);null!=c&&null!=c.points&&0<c.points.length&&(c=c.clone(),c.points=[],this.model.setGeometry(a,c));return a};
mxGraph.prototype.getOutlineConstraint=function(a,c,f){if(null!=c.shape){f=this.view.getPerimeterBounds(c);var d=c.style[mxConstants.STYLE_DIRECTION];if(d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH){f.x+=f.width/2-f.height/2;f.y+=f.height/2-f.width/2;var b=f.width;f.width=f.height;f.height=b}var e=mxUtils.toRadians(c.shape.getShapeRotation());if(0!=e){var b=Math.cos(-e),e=Math.sin(-e),g=new mxPoint(f.getCenterX(),f.getCenterY());a=mxUtils.getRotatedPoint(a,b,e,g)}var g=e=1,k=0,l=
0;if(this.getModel().isVertex(c.cell)){var n=c.style[mxConstants.STYLE_FLIPH],m=c.style[mxConstants.STYLE_FLIPV];null!=c.shape&&null!=c.shape.stencil&&(n=1==mxUtils.getValue(c.style,"stencilFlipH",0)||n,m=1==mxUtils.getValue(c.style,"stencilFlipV",0)||m);if(d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH)b=n,n=m,m=b;n&&(e=-1,k=-f.width);m&&(g=-1,l=-f.height)}a=new mxPoint((a.x-f.x)*e-k+f.x,(a.y-f.y)*g-l+f.y);c=Math.round(1E3*(a.x-f.x)/f.width)/1E3;a=Math.round(1E3*(a.y-f.y)/f.height)/
1E3;return new mxConnectionConstraint(new mxPoint(c,a),!1)}return null};mxGraph.prototype.getAllConnectionConstraints=function(a,c){return null!=a&&null!=a.shape&&null!=a.shape.stencil?a.shape.stencil.constraints:null};
mxGraph.prototype.getConnectionConstraint=function(a,c,f){c=null;var d=a.style[f?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X];if(null!=d){var b=a.style[f?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y];null!=b&&(c=new mxPoint(parseFloat(d),parseFloat(b)))}d=!1;null!=c&&(d=mxUtils.getValue(a.style,f?mxConstants.STYLE_EXIT_PERIMETER:mxConstants.STYLE_ENTRY_PERIMETER,!0));return new mxConnectionConstraint(c,d)};
mxGraph.prototype.setConnectionConstraint=function(a,c,f,d){if(null!=d){this.model.beginUpdate();try{null==d||null==d.point?(this.setCellStyles(f?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X,null,[a]),this.setCellStyles(f?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y,null,[a]),this.setCellStyles(f?mxConstants.STYLE_EXIT_PERIMETER:mxConstants.STYLE_ENTRY_PERIMETER,null,[a])):null!=d.point&&(this.setCellStyles(f?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X,d.point.x,[a]),this.setCellStyles(f?
mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y,d.point.y,[a]),d.perimeter?this.setCellStyles(f?mxConstants.STYLE_EXIT_PERIMETER:mxConstants.STYLE_ENTRY_PERIMETER,null,[a]):this.setCellStyles(f?mxConstants.STYLE_EXIT_PERIMETER:mxConstants.STYLE_ENTRY_PERIMETER,"0",[a]))}finally{this.model.endUpdate()}}};
mxGraph.prototype.getConnectionPoint=function(a,c){var f=null;if(null!=a&&null!=c.point){var d=this.view.getPerimeterBounds(a),b=new mxPoint(d.getCenterX(),d.getCenterY()),e=a.style[mxConstants.STYLE_DIRECTION],g=0;null!=e&&(e==mxConstants.DIRECTION_NORTH?g+=270:e==mxConstants.DIRECTION_WEST?g+=180:e==mxConstants.DIRECTION_SOUTH&&(g+=90),(e==mxConstants.DIRECTION_NORTH||e==mxConstants.DIRECTION_SOUTH)&&d.rotate90());if(null!=c.point){var k=f=1,l=0,n=0;if(this.getModel().isVertex(a.cell)){var m=a.style[mxConstants.STYLE_FLIPH],
p=a.style[mxConstants.STYLE_FLIPV];null!=a.shape&&null!=a.shape.stencil&&(m=1==mxUtils.getValue(a.style,"stencilFlipH",0)||m,p=1==mxUtils.getValue(a.style,"stencilFlipV",0)||p);if(e==mxConstants.DIRECTION_NORTH||e==mxConstants.DIRECTION_SOUTH)e=m,m=p,p=e;m&&(f=-1,l=-d.width);p&&(k=-1,n=-d.height)}f=new mxPoint(d.x+c.point.x*d.width*f-l,d.y+c.point.y*d.height*k-n)}e=a.style[mxConstants.STYLE_ROTATION]||0;c.perimeter?(0!=g&&null!=f&&(k=d=0,90==g?k=1:180==g?d=-1:270==g&&(k=-1),f=mxUtils.getRotatedPoint(f,
d,k,b)),null!=f&&c.perimeter&&(f=this.view.getPerimeterPoint(a,f,!1))):e+=g;0!=e&&null!=f&&(g=mxUtils.toRadians(e),d=Math.cos(g),k=Math.sin(g),f=mxUtils.getRotatedPoint(f,d,k,b))}null!=f&&(f.x=Math.round(f.x),f.y=Math.round(f.y));return f};mxGraph.prototype.connectCell=function(a,c,f,d){this.model.beginUpdate();try{var b=this.model.getTerminal(a,f);this.cellConnected(a,c,f,d);this.fireEvent(new mxEventObject(mxEvent.CONNECT_CELL,"edge",a,"terminal",c,"source",f,"previous",b))}finally{this.model.endUpdate()}return a};
mxGraph.prototype.cellConnected=function(a,c,f,d){if(null!=a){this.model.beginUpdate();try{var b=this.model.getTerminal(a,f);this.setConnectionConstraint(a,c,f,d);this.isPortsEnabled()&&(d=null,this.isPort(c)&&(d=c.getId(),c=this.getTerminalForPort(c,f)),this.setCellStyles(f?mxConstants.STYLE_SOURCE_PORT:mxConstants.STYLE_TARGET_PORT,d,[a]));this.model.setTerminal(a,c,f);this.resetEdgesOnConnect&&this.resetEdge(a);this.fireEvent(new mxEventObject(mxEvent.CELL_CONNECTED,"edge",a,"terminal",c,"source",
f,"previous",b))}finally{this.model.endUpdate()}}};
mxGraph.prototype.disconnectGraph=function(a){if(null!=a){this.model.beginUpdate();try{for(var c=this.view.scale,f=this.view.translate,d=new mxDictionary,b=0;b<a.length;b++)d.put(a[b],!0);for(b=0;b<a.length;b++)if(this.model.isEdge(a[b])){var e=this.model.getGeometry(a[b]);if(null!=e){var g=this.view.getState(a[b]),k=this.view.getState(this.model.getParent(a[b]));if(null!=g&&null!=k){var e=e.clone(),l=-k.origin.x,n=-k.origin.y,m=g.absolutePoints,p=this.model.getTerminal(a[b],!0);if(null!=p&&this.isCellDisconnectable(a[b],
p,!0)){for(;null!=p&&!d.get(p);)p=this.model.getParent(p);null==p&&(e.setTerminalPoint(new mxPoint(m[0].x/c-f.x+l,m[0].y/c-f.y+n),!0),this.model.setTerminal(a[b],null,!0))}var r=this.model.getTerminal(a[b],!1);if(null!=r&&this.isCellDisconnectable(a[b],r,!1)){for(;null!=r&&!d.get(r);)r=this.model.getParent(r);if(null==r){var s=m.length-1;e.setTerminalPoint(new mxPoint(m[s].x/c-f.x+l,m[s].y/c-f.y+n),!1);this.model.setTerminal(a[b],null,!1)}}this.model.setGeometry(a[b],e)}}}}finally{this.model.endUpdate()}}};
mxGraph.prototype.getCurrentRoot=function(){return this.view.currentRoot};mxGraph.prototype.getTranslateForRoot=function(a){return null};mxGraph.prototype.isPort=function(a){return!1};mxGraph.prototype.getTerminalForPort=function(a,c){return this.model.getParent(a)};mxGraph.prototype.getChildOffsetForCell=function(a){return null};mxGraph.prototype.enterGroup=function(a){a=a||this.getSelectionCell();null!=a&&this.isValidRoot(a)&&(this.view.setCurrentRoot(a),this.clearSelection())};
mxGraph.prototype.exitGroup=function(){var a=this.model.getRoot(),c=this.getCurrentRoot();if(null!=c){for(var f=this.model.getParent(c);f!=a&&!this.isValidRoot(f)&&this.model.getParent(f)!=a;)f=this.model.getParent(f);f==a||this.model.getParent(f)==a?this.view.setCurrentRoot(null):this.view.setCurrentRoot(f);null!=this.view.getState(c)&&this.setSelectionCell(c)}};mxGraph.prototype.home=function(){var a=this.getCurrentRoot();null!=a&&(this.view.setCurrentRoot(null),null!=this.view.getState(a)&&this.setSelectionCell(a))};
mxGraph.prototype.isValidRoot=function(a){return null!=a};mxGraph.prototype.getGraphBounds=function(){return this.view.getGraphBounds()};mxGraph.prototype.getCellBounds=function(a,c,f){var d=[a];c&&(d=d.concat(this.model.getEdges(a)));d=this.view.getBounds(d);if(f){f=this.model.getChildCount(a);for(var b=0;b<f;b++){var e=this.getCellBounds(this.model.getChildAt(a,b),c,!0);null!=d?d.add(e):d=e}}return d};
mxGraph.prototype.getBoundingBoxFromGeometry=function(a,c){c=null!=c?c:!1;var f=null;if(null!=a)for(var d=0;d<a.length;d++)if(c||this.model.isVertex(a[d])){var b=this.getCellGeometry(a[d]);if(null!=b){var e=null;if(this.model.isEdge(a[d])){var g=b.points;if(null!=g&&0<g.length){for(var k=new mxRectangle(g[0].x,g[0].y,0,0),e=function(b){null!=b&&k.add(new mxRectangle(b.x,b.y,0,0))},l=1;l<g.length;l++)e(g[l]);e(b.getTerminalPoint(!0));e(b.getTerminalPoint(!1));e=k}}else g=this.model.getParent(a[d]),
b.relative?this.model.isVertex(g)&&g!=this.view.currentRoot&&(k=this.getBoundingBoxFromGeometry([g],!1),null!=k&&(e=new mxRectangle(b.x*k.width,b.y*k.height,b.width,b.height),0<=mxUtils.indexOf(a,g)&&(e.x+=k.x,e.y+=k.y))):(e=mxRectangle.fromRectangle(b),this.model.isVertex(g)&&0<=mxUtils.indexOf(a,g)&&(k=this.getBoundingBoxFromGeometry([g],!1),null!=k&&(e.x+=k.x,e.y+=k.y))),null!=e&&null!=b.offset&&(e.x+=b.offset.x,e.y+=b.offset.y);null!=e&&(null==f?f=mxRectangle.fromRectangle(e):f.add(e))}}return f};
mxGraph.prototype.refresh=function(a){this.view.clear(a,null==a);this.view.validate();this.sizeDidChange();this.fireEvent(new mxEventObject(mxEvent.REFRESH))};mxGraph.prototype.snap=function(a){this.gridEnabled&&(a=Math.round(a/this.gridSize)*this.gridSize);return a};
mxGraph.prototype.panGraph=function(a,c){if(this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container))this.container.scrollLeft=-a,this.container.scrollTop=-c;else{var f=this.view.getCanvas();if(this.dialect==mxConstants.DIALECT_SVG)if(0==a&&0==c){if(mxClient.IS_IE?f.setAttribute("transform","translate("+a+","+c+")"):f.removeAttribute("transform"),null!=this.shiftPreview1){for(var d=this.shiftPreview1.firstChild;null!=d;){var b=d.nextSibling;this.container.appendChild(d);d=b}null!=this.shiftPreview1.parentNode&&
this.shiftPreview1.parentNode.removeChild(this.shiftPreview1);this.shiftPreview1=null;this.container.appendChild(f.parentNode);for(d=this.shiftPreview2.firstChild;null!=d;)b=d.nextSibling,this.container.appendChild(d),d=b;null!=this.shiftPreview2.parentNode&&this.shiftPreview2.parentNode.removeChild(this.shiftPreview2);this.shiftPreview2=null}}else{f.setAttribute("transform","translate("+a+","+c+")");if(null==this.shiftPreview1){this.shiftPreview1=document.createElement("div");this.shiftPreview1.style.position=
"absolute";this.shiftPreview1.style.overflow="visible";this.shiftPreview2=document.createElement("div");this.shiftPreview2.style.position="absolute";this.shiftPreview2.style.overflow="visible";for(var e=this.shiftPreview1,d=this.container.firstChild;null!=d;)b=d.nextSibling,d!=f.parentNode?e.appendChild(d):e=this.shiftPreview2,d=b;null!=this.shiftPreview1.firstChild&&this.container.insertBefore(this.shiftPreview1,f.parentNode);null!=this.shiftPreview2.firstChild&&this.container.appendChild(this.shiftPreview2)}this.shiftPreview1.style.left=
a+"px";this.shiftPreview1.style.top=c+"px";this.shiftPreview2.style.left=a+"px";this.shiftPreview2.style.top=c+"px"}else f.style.left=a+"px",f.style.top=c+"px";this.panDx=a;this.panDy=c;this.fireEvent(new mxEventObject(mxEvent.PAN))}};mxGraph.prototype.zoomIn=function(){this.zoom(this.zoomFactor)};mxGraph.prototype.zoomOut=function(){this.zoom(1/this.zoomFactor)};
mxGraph.prototype.zoomActual=function(){1==this.view.scale?this.view.setTranslate(0,0):(this.view.translate.x=0,this.view.translate.y=0,this.view.setScale(1))};mxGraph.prototype.zoomTo=function(a,c){this.zoom(a/this.view.scale,c)};
mxGraph.prototype.center=function(a,c,f,d){a=null!=a?a:!0;c=null!=c?c:!0;f=null!=f?f:0.5;d=null!=d?d:0.5;var b=mxUtils.hasScrollbars(this.container),e=this.container.clientWidth,g=this.container.clientHeight,k=this.getGraphBounds(),l=this.view.translate,n=this.view.scale,m=a?e-k.width:0,p=c?g-k.height:0;b?(k.x-=l.x,k.y-=l.y,a=this.container.scrollWidth,c=this.container.scrollHeight,a>e&&(m=0),c>g&&(p=0),this.view.setTranslate(Math.floor(m/2-k.x),Math.floor(p/2-k.y)),this.container.scrollLeft=(a-e)/
2,this.container.scrollTop=(c-g)/2):this.view.setTranslate(a?Math.floor(l.x-k.x*n+m*f/n):l.x,c?Math.floor(l.y-k.y*n+p*d/n):l.y)};
mxGraph.prototype.zoom=function(a,c){c=null!=c?c:this.centerZoom;var f=Math.round(100*this.view.scale*a)/100,d=this.view.getState(this.getSelectionCell());a=f/this.view.scale;if(this.keepSelectionVisibleOnZoom&&null!=d)d=new mxRectangle(d.x*a,d.y*a,d.width*a,d.height*a),this.view.scale=f,this.scrollRectToVisible(d)||(this.view.revalidate(),this.view.setScale(f));else if(d=mxUtils.hasScrollbars(this.container),c&&!d){var d=this.container.offsetWidth,b=this.container.offsetHeight;if(1<a)var e=(a-1)/
(2*f),d=d*-e,b=b*-e;else e=(1/a-1)/(2*this.view.scale),d*=e,b*=e;this.view.scaleAndTranslate(f,this.view.translate.x+d,this.view.translate.y+b)}else{var e=this.view.translate.x,g=this.view.translate.y,k=this.container.scrollLeft,l=this.container.scrollTop;this.view.setScale(f);d&&(b=d=0,c&&(d=this.container.offsetWidth*(a-1)/2,b=this.container.offsetHeight*(a-1)/2),this.container.scrollLeft=(this.view.translate.x-e)*this.view.scale+Math.round(k*a+d),this.container.scrollTop=(this.view.translate.y-
g)*this.view.scale+Math.round(l*a+b))}};
mxGraph.prototype.zoomToRect=function(a){var c=this.container.clientWidth/a.width/(this.container.clientHeight/a.height);a.x=Math.max(0,a.x);a.y=Math.max(0,a.y);var f=Math.min(this.container.scrollWidth,a.x+a.width),d=Math.min(this.container.scrollHeight,a.y+a.height);a.width=f-a.x;a.height=d-a.y;1>c?(c=a.height/c,f=(c-a.height)/2,a.height=c,c=Math.min(a.y,f),a.y-=c,d=Math.min(this.container.scrollHeight,a.y+a.height),a.height=d-a.y):(c*=a.width,f=(c-a.width)/2,a.width=c,c=Math.min(a.x,f),a.x-=c,
f=Math.min(this.container.scrollWidth,a.x+a.width),a.width=f-a.x);c=this.container.clientWidth/a.width;f=this.view.scale*c;mxUtils.hasScrollbars(this.container)?(this.view.setScale(f),this.container.scrollLeft=Math.round(a.x*c),this.container.scrollTop=Math.round(a.y*c)):this.view.scaleAndTranslate(f,this.view.translate.x-a.x/this.view.scale,this.view.translate.y-a.y/this.view.scale)};
mxGraph.prototype.scrollCellToVisible=function(a,c){var f=-this.view.translate.x,d=-this.view.translate.y,b=this.view.getState(a);null!=b&&(f=new mxRectangle(f+b.x,d+b.y,b.width,b.height),c&&null!=this.container&&(d=this.container.clientWidth,b=this.container.clientHeight,f.x=f.getCenterX()-d/2,f.width=d,f.y=f.getCenterY()-b/2,f.height=b),d=new mxPoint(this.view.translate.x,this.view.translate.y),this.scrollRectToVisible(f)&&(f=new mxPoint(this.view.translate.x,this.view.translate.y),this.view.translate.x=
d.x,this.view.translate.y=d.y,this.view.setTranslate(f.x,f.y)))};
mxGraph.prototype.scrollRectToVisible=function(a){var c=!1;if(null!=a){var f=this.container.offsetWidth,d=this.container.offsetHeight,b=Math.min(f,a.width),e=Math.min(d,a.height);if(mxUtils.hasScrollbars(this.container)){f=this.container;a.x+=this.view.translate.x;a.y+=this.view.translate.y;var g=f.scrollLeft-a.x,d=Math.max(g-f.scrollLeft,0);0<g?f.scrollLeft-=g+2:(g=a.x+b-f.scrollLeft-f.clientWidth,0<g&&(f.scrollLeft+=g+2));b=f.scrollTop-a.y;g=Math.max(0,b-f.scrollTop);0<b?f.scrollTop-=b+2:(b=a.y+
e-f.scrollTop-f.clientHeight,0<b&&(f.scrollTop+=b+2));!this.useScrollbarsForPanning&&(0!=d||0!=g)&&this.view.setTranslate(d,g)}else{var g=-this.view.translate.x,k=-this.view.translate.y,l=this.view.scale;a.x+b>g+f&&(this.view.translate.x-=(a.x+b-f-g)/l,c=!0);a.y+e>k+d&&(this.view.translate.y-=(a.y+e-d-k)/l,c=!0);a.x<g&&(this.view.translate.x+=(g-a.x)/l,c=!0);a.y<k&&(this.view.translate.y+=(k-a.y)/l,c=!0);c&&(this.view.refresh(),null!=this.selectionCellsHandler&&this.selectionCellsHandler.refresh())}}return c};
mxGraph.prototype.getCellGeometry=function(a){return this.model.getGeometry(a)};mxGraph.prototype.isCellVisible=function(a){return this.model.isVisible(a)};mxGraph.prototype.isCellCollapsed=function(a){return this.model.isCollapsed(a)};mxGraph.prototype.isCellConnectable=function(a){return this.model.isConnectable(a)};
mxGraph.prototype.isOrthogonal=function(a){var c=a.style[mxConstants.STYLE_ORTHOGONAL];if(null!=c)return c;a=this.view.getEdgeStyle(a);return a==mxEdgeStyle.SegmentConnector||a==mxEdgeStyle.ElbowConnector||a==mxEdgeStyle.SideToSide||a==mxEdgeStyle.TopToBottom||a==mxEdgeStyle.EntityRelation||a==mxEdgeStyle.OrthConnector};mxGraph.prototype.isLoop=function(a){var c=a.getVisibleTerminalState(!0);a=a.getVisibleTerminalState(!1);return null!=c&&c==a};mxGraph.prototype.isCloneEvent=function(a){return mxEvent.isControlDown(a)};
mxGraph.prototype.isToggleEvent=function(a){return mxClient.IS_MAC?mxEvent.isMetaDown(a):mxEvent.isControlDown(a)};mxGraph.prototype.isGridEnabledEvent=function(a){return null!=a&&!mxEvent.isAltDown(a)};mxGraph.prototype.isConstrainedEvent=function(a){return mxEvent.isShiftDown(a)};mxGraph.prototype.isIgnoreTerminalEvent=function(a){return!1};mxGraph.prototype.validationAlert=function(a){mxUtils.alert(a)};mxGraph.prototype.isEdgeValid=function(a,c,f){return null==this.getEdgeValidationError(a,c,f)};
mxGraph.prototype.getEdgeValidationError=function(a,c,f){if(null!=a&&!this.isAllowDanglingEdges()&&(null==c||null==f))return"";if(null!=a&&null==this.model.getTerminal(a,!0)&&null==this.model.getTerminal(a,!1))return null;if(!this.allowLoops&&c==f&&null!=c||!this.isValidConnection(c,f))return"";if(null!=c&&null!=f){var d="";if(!this.multigraph){var b=this.model.getEdgesBetween(c,f,!0);if(1<b.length||1==b.length&&b[0]!=a)d+=(mxResources.get(this.alreadyConnectedResource)||this.alreadyConnectedResource)+
"\n"}var b=this.model.getDirectedEdgeCount(c,!0,a),e=this.model.getDirectedEdgeCount(f,!1,a);if(null!=this.multiplicities)for(var g=0;g<this.multiplicities.length;g++){var k=this.multiplicities[g].check(this,a,c,f,b,e);null!=k&&(d+=k)}k=this.validateEdge(a,c,f);null!=k&&(d+=k);return 0<d.length?d:null}return this.allowDanglingEdges?null:""};mxGraph.prototype.validateEdge=function(a,c,f){return null};
mxGraph.prototype.validateGraph=function(a,c){a=null!=a?a:this.model.getRoot();c=null!=c?c:{};for(var f=!0,d=this.model.getChildCount(a),b=0;b<d;b++){var e=this.model.getChildAt(a,b),g=c;this.isValidRoot(e)&&(g={});g=this.validateGraph(e,g);null!=g?this.setCellWarning(e,g.replace(/\n/g,"\x3cbr\x3e")):this.setCellWarning(e,null);f=f&&null==g}d="";this.isCellCollapsed(a)&&!f&&(d+=(mxResources.get(this.containsValidationErrorsResource)||this.containsValidationErrorsResource)+"\n");d=this.model.isEdge(a)?
d+(this.getEdgeValidationError(a,this.model.getTerminal(a,!0),this.model.getTerminal(a,!1))||""):d+(this.getCellValidationError(a)||"");b=this.validateCell(a,c);null!=b&&(d+=b);null==this.model.getParent(a)&&this.view.validate();return 0<d.length||!f?d:null};
mxGraph.prototype.getCellValidationError=function(a){var c=this.model.getDirectedEdgeCount(a,!0),f=this.model.getDirectedEdgeCount(a,!1);a=this.model.getValue(a);var d="";if(null!=this.multiplicities)for(var b=0;b<this.multiplicities.length;b++){var e=this.multiplicities[b];if(e.source&&mxUtils.isNode(a,e.type,e.attr,e.value)&&(0==e.max&&0<c||1==e.min&&0==c||1==e.max&&1<c))d+=e.countError+"\n";else if(!e.source&&mxUtils.isNode(a,e.type,e.attr,e.value)&&(0==e.max&&0<f||1==e.min&&0==f||1==e.max&&1<
f))d+=e.countError+"\n"}return 0<d.length?d:null};mxGraph.prototype.validateCell=function(a,c){return null};mxGraph.prototype.getBackgroundImage=function(){return this.backgroundImage};mxGraph.prototype.setBackgroundImage=function(a){this.backgroundImage=a};mxGraph.prototype.getFoldingImage=function(a){if(null!=a&&this.foldingEnabled&&!this.getModel().isEdge(a.cell)){var c=this.isCellCollapsed(a.cell);if(this.isCellFoldable(a.cell,!c))return c?this.collapsedImage:this.expandedImage}return null};
mxGraph.prototype.convertValueToString=function(a){a=this.model.getValue(a);if(null!=a){if(mxUtils.isNode(a))return a.nodeName;if("function"==typeof a.toString)return a.toString()}return""};mxGraph.prototype.getLabel=function(a){var c="";if(this.labelsVisible&&null!=a){var f=this.view.getState(a),f=null!=f?f.style:this.getCellStyle(a);mxUtils.getValue(f,mxConstants.STYLE_NOLABEL,!1)||(c=this.convertValueToString(a))}return c};mxGraph.prototype.isHtmlLabel=function(a){return this.isHtmlLabels()};
mxGraph.prototype.isHtmlLabels=function(){return this.htmlLabels};mxGraph.prototype.setHtmlLabels=function(a){this.htmlLabels=a};mxGraph.prototype.isWrapping=function(a){var c=this.view.getState(a);a=null!=c?c.style:this.getCellStyle(a);return null!=a?"wrap"==a[mxConstants.STYLE_WHITE_SPACE]:!1};mxGraph.prototype.isLabelClipped=function(a){var c=this.view.getState(a);a=null!=c?c.style:this.getCellStyle(a);return null!=a?"hidden"==a[mxConstants.STYLE_OVERFLOW]:!1};
mxGraph.prototype.getTooltip=function(a,c,f,d){var b=null;if(null!=a){if(null!=a.control&&(c==a.control.node||c.parentNode==a.control.node))b=this.collapseExpandResource,b=mxUtils.htmlEntities(mxResources.get(b)||b).replace(/\\n/g,"\x3cbr\x3e");null==b&&null!=a.overlays&&a.overlays.visit(function(a,d){if(null==b&&(c==d.node||c.parentNode==d.node))b=d.overlay.toString()});null==b&&(f=this.selectionCellsHandler.getHandler(a.cell),null!=f&&"function"==typeof f.getTooltipForNode&&(b=f.getTooltipForNode(c)));
null==b&&(b=this.getTooltipForCell(a.cell))}return b};mxGraph.prototype.getTooltipForCell=function(a){return null!=a&&null!=a.getTooltip?a.getTooltip():this.convertValueToString(a)};mxGraph.prototype.getCursorForMouseEvent=function(a){return this.getCursorForCell(a.getCell())};mxGraph.prototype.getCursorForCell=function(a){return null};
mxGraph.prototype.getStartSize=function(a){var c=new mxRectangle,f=this.view.getState(a);a=null!=f?f.style:this.getCellStyle(a);null!=a&&(f=parseInt(mxUtils.getValue(a,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE)),mxUtils.getValue(a,mxConstants.STYLE_HORIZONTAL,!0)?c.height=f:c.width=f);return c};mxGraph.prototype.getImage=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_IMAGE]:null};
mxGraph.prototype.getVerticalAlign=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_VERTICAL_ALIGN]||mxConstants.ALIGN_MIDDLE:null};mxGraph.prototype.getIndicatorColor=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_INDICATOR_COLOR]:null};mxGraph.prototype.getIndicatorGradientColor=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_INDICATOR_GRADIENTCOLOR]:null};
mxGraph.prototype.getIndicatorShape=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_INDICATOR_SHAPE]:null};mxGraph.prototype.getIndicatorImage=function(a){return null!=a&&null!=a.style?a.style[mxConstants.STYLE_INDICATOR_IMAGE]:null};mxGraph.prototype.getBorder=function(){return this.border};mxGraph.prototype.setBorder=function(a){this.border=a};
mxGraph.prototype.isSwimlane=function(a){if(null!=a&&this.model.getParent(a)!=this.model.getRoot()){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);if(null!=c&&!this.model.isEdge(a))return c[mxConstants.STYLE_SHAPE]==mxConstants.SHAPE_SWIMLANE}return!1};mxGraph.prototype.isResizeContainer=function(){return this.resizeContainer};mxGraph.prototype.setResizeContainer=function(a){this.resizeContainer=a};mxGraph.prototype.isEnabled=function(){return this.enabled};
mxGraph.prototype.setEnabled=function(a){this.enabled=a};mxGraph.prototype.isEscapeEnabled=function(){return this.escapeEnabled};mxGraph.prototype.setEscapeEnabled=function(a){this.escapeEnabled=a};mxGraph.prototype.isInvokesStopCellEditing=function(){return this.invokesStopCellEditing};mxGraph.prototype.setInvokesStopCellEditing=function(a){this.invokesStopCellEditing=a};mxGraph.prototype.isEnterStopsCellEditing=function(){return this.enterStopsCellEditing};
mxGraph.prototype.setEnterStopsCellEditing=function(a){this.enterStopsCellEditing=a};mxGraph.prototype.isCellLocked=function(a){var c=this.model.getGeometry(a);return this.isCellsLocked()||null!=c&&this.model.isVertex(a)&&c.relative};mxGraph.prototype.isCellsLocked=function(){return this.cellsLocked};mxGraph.prototype.setCellsLocked=function(a){this.cellsLocked=a};mxGraph.prototype.getCloneableCells=function(a){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.isCellCloneable(a)}))};
mxGraph.prototype.isCellCloneable=function(a){var c=this.view.getState(a);a=null!=c?c.style:this.getCellStyle(a);return this.isCellsCloneable()&&0!=a[mxConstants.STYLE_CLONEABLE]};mxGraph.prototype.isCellsCloneable=function(){return this.cellsCloneable};mxGraph.prototype.setCellsCloneable=function(a){this.cellsCloneable=a};mxGraph.prototype.getExportableCells=function(a){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.canExportCell(a)}))};
mxGraph.prototype.canExportCell=function(a){return this.exportEnabled};mxGraph.prototype.getImportableCells=function(a){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.canImportCell(a)}))};mxGraph.prototype.canImportCell=function(a){return this.importEnabled};mxGraph.prototype.isCellSelectable=function(a){return this.isCellsSelectable()};mxGraph.prototype.isCellsSelectable=function(){return this.cellsSelectable};
mxGraph.prototype.setCellsSelectable=function(a){this.cellsSelectable=a};mxGraph.prototype.getDeletableCells=function(a){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.isCellDeletable(a)}))};mxGraph.prototype.isCellDeletable=function(a){var c=this.view.getState(a);a=null!=c?c.style:this.getCellStyle(a);return this.isCellsDeletable()&&0!=a[mxConstants.STYLE_DELETABLE]};mxGraph.prototype.isCellsDeletable=function(){return this.cellsDeletable};
mxGraph.prototype.setCellsDeletable=function(a){this.cellsDeletable=a};mxGraph.prototype.isLabelMovable=function(a){return!this.isCellLocked(a)&&(this.model.isEdge(a)&&this.edgeLabelsMovable||this.model.isVertex(a)&&this.vertexLabelsMovable)};mxGraph.prototype.isCellRotatable=function(a){var c=this.view.getState(a);return 0!=(null!=c?c.style:this.getCellStyle(a))[mxConstants.STYLE_ROTATABLE]};mxGraph.prototype.getMovableCells=function(a){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.isCellMovable(a)}))};
mxGraph.prototype.isCellMovable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return this.isCellsMovable()&&!this.isCellLocked(a)&&0!=c[mxConstants.STYLE_MOVABLE]};mxGraph.prototype.isCellsMovable=function(){return this.cellsMovable};mxGraph.prototype.setCellsMovable=function(a){this.cellsMovable=a};mxGraph.prototype.isGridEnabled=function(){return this.gridEnabled};mxGraph.prototype.setGridEnabled=function(a){this.gridEnabled=a};mxGraph.prototype.isPortsEnabled=function(){return this.portsEnabled};
mxGraph.prototype.setPortsEnabled=function(a){this.portsEnabled=a};mxGraph.prototype.getGridSize=function(){return this.gridSize};mxGraph.prototype.setGridSize=function(a){this.gridSize=a};mxGraph.prototype.getTolerance=function(){return this.tolerance};mxGraph.prototype.setTolerance=function(a){this.tolerance=a};mxGraph.prototype.isVertexLabelsMovable=function(){return this.vertexLabelsMovable};mxGraph.prototype.setVertexLabelsMovable=function(a){this.vertexLabelsMovable=a};
mxGraph.prototype.isEdgeLabelsMovable=function(){return this.edgeLabelsMovable};mxGraph.prototype.setEdgeLabelsMovable=function(a){this.edgeLabelsMovable=a};mxGraph.prototype.isSwimlaneNesting=function(){return this.swimlaneNesting};mxGraph.prototype.setSwimlaneNesting=function(a){this.swimlaneNesting=a};mxGraph.prototype.isSwimlaneSelectionEnabled=function(){return this.swimlaneSelectionEnabled};mxGraph.prototype.setSwimlaneSelectionEnabled=function(a){this.swimlaneSelectionEnabled=a};
mxGraph.prototype.isMultigraph=function(){return this.multigraph};mxGraph.prototype.setMultigraph=function(a){this.multigraph=a};mxGraph.prototype.isAllowLoops=function(){return this.allowLoops};mxGraph.prototype.setAllowDanglingEdges=function(a){this.allowDanglingEdges=a};mxGraph.prototype.isAllowDanglingEdges=function(){return this.allowDanglingEdges};mxGraph.prototype.setConnectableEdges=function(a){this.connectableEdges=a};mxGraph.prototype.isConnectableEdges=function(){return this.connectableEdges};
mxGraph.prototype.setCloneInvalidEdges=function(a){this.cloneInvalidEdges=a};mxGraph.prototype.isCloneInvalidEdges=function(){return this.cloneInvalidEdges};mxGraph.prototype.setAllowLoops=function(a){this.allowLoops=a};mxGraph.prototype.isDisconnectOnMove=function(){return this.disconnectOnMove};mxGraph.prototype.setDisconnectOnMove=function(a){this.disconnectOnMove=a};mxGraph.prototype.isDropEnabled=function(){return this.dropEnabled};
mxGraph.prototype.setDropEnabled=function(a){this.dropEnabled=a};mxGraph.prototype.isSplitEnabled=function(){return this.splitEnabled};mxGraph.prototype.setSplitEnabled=function(a){this.splitEnabled=a};mxGraph.prototype.isCellResizable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return this.isCellsResizable()&&!this.isCellLocked(a)&&"0"!=mxUtils.getValue(c,mxConstants.STYLE_RESIZABLE,"1")};mxGraph.prototype.isCellsResizable=function(){return this.cellsResizable};
mxGraph.prototype.setCellsResizable=function(a){this.cellsResizable=a};mxGraph.prototype.isTerminalPointMovable=function(a,c){return!0};mxGraph.prototype.isCellBendable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return this.isCellsBendable()&&!this.isCellLocked(a)&&0!=c[mxConstants.STYLE_BENDABLE]};mxGraph.prototype.isCellsBendable=function(){return this.cellsBendable};mxGraph.prototype.setCellsBendable=function(a){this.cellsBendable=a};
mxGraph.prototype.isCellEditable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return this.isCellsEditable()&&!this.isCellLocked(a)&&0!=c[mxConstants.STYLE_EDITABLE]};mxGraph.prototype.isCellsEditable=function(){return this.cellsEditable};mxGraph.prototype.setCellsEditable=function(a){this.cellsEditable=a};mxGraph.prototype.isCellDisconnectable=function(a,c,f){return this.isCellsDisconnectable()&&!this.isCellLocked(a)};mxGraph.prototype.isCellsDisconnectable=function(){return this.cellsDisconnectable};
mxGraph.prototype.setCellsDisconnectable=function(a){this.cellsDisconnectable=a};mxGraph.prototype.isValidSource=function(a){return null==a&&this.allowDanglingEdges||null!=a&&(!this.model.isEdge(a)||this.connectableEdges)&&this.isCellConnectable(a)};mxGraph.prototype.isValidTarget=function(a){return this.isValidSource(a)};mxGraph.prototype.isValidConnection=function(a,c){return this.isValidSource(a)&&this.isValidTarget(c)};mxGraph.prototype.setConnectable=function(a){this.connectionHandler.setEnabled(a)};
mxGraph.prototype.isConnectable=function(a){return this.connectionHandler.isEnabled()};mxGraph.prototype.setTooltips=function(a){this.tooltipHandler.setEnabled(a)};mxGraph.prototype.setPanning=function(a){this.panningHandler.panningEnabled=a};mxGraph.prototype.isEditing=function(a){if(null!=this.cellEditor){var c=this.cellEditor.getEditingCell();return null==a?null!=c:a==c}return!1};
mxGraph.prototype.isAutoSizeCell=function(a){var c=this.view.getState(a);a=null!=c?c.style:this.getCellStyle(a);return this.isAutoSizeCells()||1==a[mxConstants.STYLE_AUTOSIZE]};mxGraph.prototype.isAutoSizeCells=function(){return this.autoSizeCells};mxGraph.prototype.setAutoSizeCells=function(a){this.autoSizeCells=a};mxGraph.prototype.isExtendParent=function(a){return!this.getModel().isEdge(a)&&this.isExtendParents()};mxGraph.prototype.isExtendParents=function(){return this.extendParents};
mxGraph.prototype.setExtendParents=function(a){this.extendParents=a};mxGraph.prototype.isExtendParentsOnAdd=function(a){return this.extendParentsOnAdd};mxGraph.prototype.setExtendParentsOnAdd=function(a){this.extendParentsOnAdd=a};mxGraph.prototype.isExtendParentsOnMove=function(){return this.extendParentsOnMove};mxGraph.prototype.setExtendParentsOnMove=function(a){this.extendParentsOnMove=a};mxGraph.prototype.isRecursiveResize=function(a){return this.recursiveResize};
mxGraph.prototype.setRecursiveResize=function(a){this.recursiveResize=a};mxGraph.prototype.isConstrainChild=function(a){return this.isConstrainChildren()&&!this.getModel().isEdge(this.getModel().getParent(a))};mxGraph.prototype.isConstrainChildren=function(){return this.constrainChildren};mxGraph.prototype.setConstrainChildren=function(a){this.constrainChildren=a};mxGraph.prototype.isConstrainRelativeChildren=function(){return this.constrainRelativeChildren};
mxGraph.prototype.setConstrainRelativeChildren=function(a){this.constrainRelativeChildren=a};mxGraph.prototype.isAllowNegativeCoordinates=function(){return this.allowNegativeCoordinates};mxGraph.prototype.setAllowNegativeCoordinates=function(a){this.allowNegativeCoordinates=a};mxGraph.prototype.getOverlap=function(a){return this.isAllowOverlapParent(a)?this.defaultOverlap:0};mxGraph.prototype.isAllowOverlapParent=function(a){return!1};
mxGraph.prototype.getFoldableCells=function(a,c){return this.model.filterCells(a,mxUtils.bind(this,function(a){return this.isCellFoldable(a,c)}))};mxGraph.prototype.isCellFoldable=function(a,c){var f=this.view.getState(a),f=null!=f?f.style:this.getCellStyle(a);return 0<this.model.getChildCount(a)&&0!=f[mxConstants.STYLE_FOLDABLE]};
mxGraph.prototype.isValidDropTarget=function(a,c,f){return null!=a&&(this.isSplitEnabled()&&this.isSplitTarget(a,c,f)||!this.model.isEdge(a)&&(this.isSwimlane(a)||0<this.model.getChildCount(a)&&!this.isCellCollapsed(a)))};
mxGraph.prototype.isSplitTarget=function(a,c,f){return this.model.isEdge(a)&&null!=c&&1==c.length&&this.isCellConnectable(c[0])&&null==this.getEdgeValidationError(a,this.model.getTerminal(a,!0),c[0])?(f=this.model.getTerminal(a,!0),a=this.model.getTerminal(a,!1),!this.model.isAncestor(c[0],f)&&!this.model.isAncestor(c[0],a)):!1};
mxGraph.prototype.getDropTarget=function(a,c,f,d){if(!this.isSwimlaneNesting())for(var b=0;b<a.length;b++)if(this.isSwimlane(a[b]))return null;b=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c));b.x-=this.panDx;b.y-=this.panDy;b=this.getSwimlaneAt(b.x,b.y);if(null==f)f=b;else if(null!=b){for(var e=this.model.getParent(b);null!=e&&this.isSwimlane(e)&&e!=f;)e=this.model.getParent(e);e==f&&(f=b)}for(;null!=f&&!this.isValidDropTarget(f,a,c)&&!this.model.isLayer(f);)f=this.model.getParent(f);
if(null==d||!d)for(var g=f;null!=g&&0>mxUtils.indexOf(a,g);)g=this.model.getParent(g);return!this.model.isLayer(f)&&null==g?f:null};mxGraph.prototype.getDefaultParent=function(){var a=this.getCurrentRoot();null==a&&(a=this.defaultParent,null==a&&(a=this.model.getRoot(),a=this.model.getChildAt(a,0)));return a};mxGraph.prototype.setDefaultParent=function(a){this.defaultParent=a};mxGraph.prototype.getSwimlane=function(a){for(;null!=a&&!this.isSwimlane(a);)a=this.model.getParent(a);return a};
mxGraph.prototype.getSwimlaneAt=function(a,c,f){f=f||this.getDefaultParent();if(null!=f)for(var d=this.model.getChildCount(f),b=0;b<d;b++){var e=this.model.getChildAt(f,b),g=this.getSwimlaneAt(a,c,e);if(null!=g)return g;if(this.isSwimlane(e)&&(g=this.view.getState(e),this.intersects(g,a,c)))return e}return null};
mxGraph.prototype.getCellAt=function(a,c,f,d,b,e){d=null!=d?d:!0;b=null!=b?b:!0;null==f&&(f=this.getCurrentRoot(),null==f&&(f=this.getModel().getRoot()));if(null!=f)for(var g=this.model.getChildCount(f)-1;0<=g;g--){var k=this.model.getChildAt(f,g),l=this.getCellAt(a,c,k,d,b,e);if(null!=l)return l;if(this.isCellVisible(k)&&(b&&this.model.isEdge(k)||d&&this.model.isVertex(k)))if(l=this.view.getState(k),null!=l&&(null==e||!e(l,a,c))&&this.intersects(l,a,c))return k}return null};
mxGraph.prototype.intersects=function(a,c,f){if(null!=a){var d=a.absolutePoints;if(null!=d){a=this.tolerance*this.tolerance;for(var b=d[0],e=1;e<d.length;e++){var g=d[e];if(mxUtils.ptSegDistSq(b.x,b.y,g.x,g.y,c,f)<=a)return!0;b=g}}else if(b=mxUtils.toRadians(mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION)||0),0!=b&&(d=Math.cos(-b),b=Math.sin(-b),e=new mxPoint(a.getCenterX(),a.getCenterY()),b=mxUtils.getRotatedPoint(new mxPoint(c,f),d,b,e),c=b.x,f=b.y),mxUtils.contains(a,c,f))return!0}return!1};
mxGraph.prototype.hitsSwimlaneContent=function(a,c,f){var d=this.getView().getState(a);a=this.getStartSize(a);if(null!=d){var b=this.getView().getScale();c-=d.x;f-=d.y;if(0<a.width&&0<c&&c>a.width*b||0<a.height&&0<f&&f>a.height*b)return!0}return!1};mxGraph.prototype.getChildVertices=function(a){return this.getChildCells(a,!0,!1)};mxGraph.prototype.getChildEdges=function(a){return this.getChildCells(a,!1,!0)};
mxGraph.prototype.getChildCells=function(a,c,f){a=null!=a?a:this.getDefaultParent();a=this.model.getChildCells(a,null!=c?c:!1,null!=f?f:!1);c=[];for(f=0;f<a.length;f++)this.isCellVisible(a[f])&&c.push(a[f]);return c};mxGraph.prototype.getConnections=function(a,c){return this.getEdges(a,c,!0,!0,!1)};mxGraph.prototype.getIncomingEdges=function(a,c){return this.getEdges(a,c,!0,!1,!1)};mxGraph.prototype.getOutgoingEdges=function(a,c){return this.getEdges(a,c,!1,!0,!1)};
mxGraph.prototype.getEdges=function(a,c,f,d,b,e){f=null!=f?f:!0;d=null!=d?d:!0;b=null!=b?b:!0;e=null!=e?e:!1;for(var g=[],k=this.isCellCollapsed(a),l=this.model.getChildCount(a),n=0;n<l;n++){var m=this.model.getChildAt(a,n);if(k||!this.isCellVisible(m))g=g.concat(this.model.getEdges(m,f,d))}g=g.concat(this.model.getEdges(a,f,d));k=[];for(n=0;n<g.length;n++)m=this.view.getState(g[n]),l=null!=m?m.getVisibleTerminal(!0):this.view.getVisibleTerminal(g[n],!0),m=null!=m?m.getVisibleTerminal(!1):this.view.getVisibleTerminal(g[n],
!1),(b&&l==m||l!=m&&(f&&m==a&&(null==c||this.isValidAncestor(l,c,e))||d&&l==a&&(null==c||this.isValidAncestor(m,c,e))))&&k.push(g[n]);return k};mxGraph.prototype.isValidAncestor=function(a,c,f){return f?this.model.isAncestor(c,a):this.model.getParent(a)==c};
mxGraph.prototype.getOpposites=function(a,c,f,d){f=null!=f?f:!0;d=null!=d?d:!0;var b=[],e=new mxDictionary;if(null!=a)for(var g=0;g<a.length;g++){var k=this.view.getState(a[g]),l=null!=k?k.getVisibleTerminal(!0):this.view.getVisibleTerminal(a[g],!0),k=null!=k?k.getVisibleTerminal(!1):this.view.getVisibleTerminal(a[g],!1);l==c&&null!=k&&k!=c&&d?e.get(k)||(e.put(k,!0),b.push(k)):k==c&&null!=l&&l!=c&&f&&!e.get(l)&&(e.put(l,!0),b.push(l))}return b};
mxGraph.prototype.getEdgesBetween=function(a,c,f){f=null!=f?f:!1;for(var d=this.getEdges(a),b=[],e=0;e<d.length;e++){var g=this.view.getState(d[e]),k=null!=g?g.getVisibleTerminal(!0):this.view.getVisibleTerminal(d[e],!0),g=null!=g?g.getVisibleTerminal(!1):this.view.getVisibleTerminal(d[e],!1);(k==a&&g==c||!f&&k==c&&g==a)&&b.push(d[e])}return b};
mxGraph.prototype.getPointForEvent=function(a,c){var f=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),d=this.view.scale,b=this.view.translate,e=!1!=c?this.gridSize/2:0;f.x=this.snap(f.x/d-b.x-e);f.y=this.snap(f.y/d-b.y-e);return f};
mxGraph.prototype.getCells=function(a,c,f,d,b,e){e=null!=e?e:[];if(0<f||0<d){var g=this.getModel(),k=a+f,l=c+d;null==b&&(b=this.getCurrentRoot(),null==b&&(b=g.getRoot()));if(null!=b)for(var n=g.getChildCount(b),m=0;m<n;m++){var p=g.getChildAt(b,m),r=this.view.getState(p);if(null!=r&&this.isCellVisible(p)){var s=mxUtils.getValue(r.style,mxConstants.STYLE_ROTATION)||0;0!=s&&(r=mxUtils.getBoundingBox(r,s));(g.isEdge(p)||g.isVertex(p))&&r.x>=a&&r.y+r.height<=l&&r.y>=c&&r.x+r.width<=k?e.push(p):this.getCells(a,
c,f,d,p,e)}}}return e};mxGraph.prototype.getCellsBeyond=function(a,c,f,d,b){var e=[];if(d||b)if(null==f&&(f=this.getDefaultParent()),null!=f)for(var g=this.model.getChildCount(f),k=0;k<g;k++){var l=this.model.getChildAt(f,k),n=this.view.getState(l);this.isCellVisible(l)&&null!=n&&(!d||n.x>=a)&&(!b||n.y>=c)&&e.push(l)}return e};
mxGraph.prototype.findTreeRoots=function(a,c,f){c=null!=c?c:!1;f=null!=f?f:!1;var d=[];if(null!=a){for(var b=this.getModel(),e=b.getChildCount(a),g=null,k=0,l=0;l<e;l++){var n=b.getChildAt(a,l);if(this.model.isVertex(n)&&this.isCellVisible(n)){for(var m=this.getConnections(n,c?a:null),p=0,r=0,s=0;s<m.length;s++)this.view.getVisibleTerminal(m[s],!0)==n?p++:r++;(f&&0==p&&0<r||!f&&0==r&&0<p)&&d.push(n);m=f?r-p:p-r;m>k&&(k=m,g=n)}}0==d.length&&null!=g&&d.push(g)}return d};
mxGraph.prototype.traverse=function(a,c,f,d,b){if(null!=f&&null!=a&&(c=null!=c?c:!0,b=b||new mxDictionary,!b.get(a)&&(b.put(a,!0),d=f(a,d),null==d||d)))if(d=this.model.getEdgeCount(a),0<d)for(var e=0;e<d;e++){var g=this.model.getEdgeAt(a,e),k=this.model.getTerminal(g,!0)==a;if(!c||k)k=this.model.getTerminal(g,!k),this.traverse(k,c,f,g,b)}};mxGraph.prototype.isCellSelected=function(a){return this.getSelectionModel().isSelected(a)};mxGraph.prototype.isSelectionEmpty=function(){return this.getSelectionModel().isEmpty()};
mxGraph.prototype.clearSelection=function(){return this.getSelectionModel().clear()};mxGraph.prototype.getSelectionCount=function(){return this.getSelectionModel().cells.length};mxGraph.prototype.getSelectionCell=function(){return this.getSelectionModel().cells[0]};mxGraph.prototype.getSelectionCells=function(){return this.getSelectionModel().cells.slice()};mxGraph.prototype.setSelectionCell=function(a){this.getSelectionModel().setCell(a)};mxGraph.prototype.setSelectionCells=function(a){this.getSelectionModel().setCells(a)};
mxGraph.prototype.addSelectionCell=function(a){this.getSelectionModel().addCell(a)};mxGraph.prototype.addSelectionCells=function(a){this.getSelectionModel().addCells(a)};mxGraph.prototype.removeSelectionCell=function(a){this.getSelectionModel().removeCell(a)};mxGraph.prototype.removeSelectionCells=function(a){this.getSelectionModel().removeCells(a)};mxGraph.prototype.selectRegion=function(a,c){var f=this.getCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(f,c);return f};
mxGraph.prototype.selectNextCell=function(){this.selectCell(!0)};mxGraph.prototype.selectPreviousCell=function(){this.selectCell()};mxGraph.prototype.selectParentCell=function(){this.selectCell(!1,!0)};mxGraph.prototype.selectChildCell=function(){this.selectCell(!1,!1,!0)};
mxGraph.prototype.selectCell=function(a,c,f){var d=this.selectionModel,b=0<d.cells.length?d.cells[0]:null;1<d.cells.length&&d.clear();var d=null!=b?this.model.getParent(b):this.getDefaultParent(),e=this.model.getChildCount(d);null==b&&0<e?(a=this.model.getChildAt(d,0),this.setSelectionCell(a)):(null==b||c)&&null!=this.view.getState(d)&&null!=this.model.getGeometry(d)?this.getCurrentRoot()!=d&&this.setSelectionCell(d):null!=b&&f?0<this.model.getChildCount(b)&&(a=this.model.getChildAt(b,0),this.setSelectionCell(a)):
0<e&&(c=d.getIndex(b),a?(c++,a=this.model.getChildAt(d,c%e)):(c--,a=this.model.getChildAt(d,0>c?e-1:c)),this.setSelectionCell(a))};mxGraph.prototype.selectAll=function(a,c){a=a||this.getDefaultParent();var f=c?this.model.filterDescendants(function(d){return d!=a},a):this.model.getChildren(a);null!=f&&this.setSelectionCells(f)};mxGraph.prototype.selectVertices=function(a){this.selectCells(!0,!1,a)};mxGraph.prototype.selectEdges=function(a){this.selectCells(!1,!0,a)};
mxGraph.prototype.selectCells=function(a,c,f){f=f||this.getDefaultParent();var d=mxUtils.bind(this,function(b){return null!=this.view.getState(b)&&(0==this.model.getChildCount(b)&&this.model.isVertex(b)&&a&&!this.model.isEdge(this.model.getParent(b))||this.model.isEdge(b)&&c)});f=this.model.filterDescendants(d,f);this.setSelectionCells(f)};
mxGraph.prototype.selectCellForEvent=function(a,c){var f=this.isCellSelected(a);this.isToggleEvent(c)?f?this.removeSelectionCell(a):this.addSelectionCell(a):(!f||1!=this.getSelectionCount())&&this.setSelectionCell(a)};mxGraph.prototype.selectCellsForEvent=function(a,c){this.isToggleEvent(c)?this.addSelectionCells(a):this.setSelectionCells(a)};
mxGraph.prototype.createHandler=function(a){var c=null;if(null!=a)if(this.model.isEdge(a.cell))var c=a.getVisibleTerminalState(!0),f=a.getVisibleTerminalState(!1),d=this.getCellGeometry(a.cell),c=this.view.getEdgeStyle(a,null!=d?d.points:null,c,f),c=this.createEdgeHandler(a,c);else c=this.createVertexHandler(a);return c};mxGraph.prototype.createVertexHandler=function(a){return new mxVertexHandler(a)};
mxGraph.prototype.createEdgeHandler=function(a,c){return c==mxEdgeStyle.Loop||c==mxEdgeStyle.ElbowConnector||c==mxEdgeStyle.SideToSide||c==mxEdgeStyle.TopToBottom?this.createElbowEdgeHandler(a):c==mxEdgeStyle.SegmentConnector||c==mxEdgeStyle.OrthConnector?this.createEdgeSegmentHandler(a):new mxEdgeHandler(a)};mxGraph.prototype.createEdgeSegmentHandler=function(a){return new mxEdgeSegmentHandler(a)};mxGraph.prototype.createElbowEdgeHandler=function(a){return new mxElbowEdgeHandler(a)};
mxGraph.prototype.addMouseListener=function(a){null==this.mouseListeners&&(this.mouseListeners=[]);this.mouseListeners.push(a)};mxGraph.prototype.removeMouseListener=function(a){if(null!=this.mouseListeners)for(var c=0;c<this.mouseListeners.length;c++)if(this.mouseListeners[c]==a){this.mouseListeners.splice(c,1);break}};
mxGraph.prototype.updateMouseEvent=function(a,c){if(null==a.graphX||null==a.graphY){var f=mxUtils.convertPoint(this.container,a.getX(),a.getY());a.graphX=f.x-this.panDx;a.graphY=f.y-this.panDy;null==a.getCell()&&this.isMouseDown&&c==mxEvent.MOUSE_MOVE&&(a.state=this.view.getState(this.getCellAt(f.x,f.y,null,null,null,function(a){return null==a.shape||a.shape.paintBackground!=mxRectangleShape.prototype.paintBackground||"1"==mxUtils.getValue(a.style,mxConstants.STYLE_POINTER_EVENTS,"1")||null!=a.shape.fill&&
a.shape.fill!=mxConstants.NONE})))}return a};mxGraph.prototype.getStateForTouchEvent=function(a){var c=mxEvent.getClientX(a);a=mxEvent.getClientY(a);c=mxUtils.convertPoint(this.container,c,a);return this.view.getState(this.getCellAt(c.x,c.y))};
mxGraph.prototype.isEventIgnored=function(a,c,f){var d=mxEvent.isMouseEvent(c.getEvent()),b=!1;c.getEvent()==this.lastEvent?b=!0:this.lastEvent=c.getEvent();null!=this.eventSource&&a!=mxEvent.MOUSE_MOVE?(mxEvent.removeGestureListeners(this.eventSource,null,this.mouseMoveRedirect,this.mouseUpRedirect),this.eventSource=this.mouseUpRedirect=this.mouseMoveRedirect=null):null!=this.eventSource&&c.getSource()!=this.eventSource?b=!0:mxClient.IS_TOUCH&&a==mxEvent.MOUSE_DOWN&&!d&&(this.eventSource=c.getSource(),
this.mouseMoveRedirect=mxUtils.bind(this,function(b){this.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(b,this.getStateForTouchEvent(b)))}),this.mouseUpRedirect=mxUtils.bind(this,function(b){this.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(b,this.getStateForTouchEvent(b)))}),mxEvent.addGestureListeners(this.eventSource,null,this.mouseMoveRedirect,this.mouseUpRedirect));this.isSyntheticEventIgnored(a,c,f)&&(b=!0);if(!mxEvent.isPopupTrigger(this.lastEvent)&&a!=mxEvent.MOUSE_MOVE&&2==this.lastEvent.detail)return!0;
if(a==mxEvent.MOUSE_UP&&this.isMouseDown)this.isMouseDown=!1;else if(a==mxEvent.MOUSE_DOWN&&!this.isMouseDown)this.isMouseDown=!0,this.isMouseTrigger=d;else if(!b&&((!mxClient.IS_FF||a!=mxEvent.MOUSE_MOVE)&&this.isMouseDown&&this.isMouseTrigger!=d||a==mxEvent.MOUSE_DOWN&&this.isMouseDown||a==mxEvent.MOUSE_UP&&!this.isMouseDown))b=!0;!b&&a==mxEvent.MOUSE_DOWN&&(this.lastMouseX=c.getX(),this.lastMouseY=c.getY());return b};
mxGraph.prototype.isSyntheticEventIgnored=function(a,c,f){f=!1;c=mxEvent.isMouseEvent(c.getEvent());this.ignoreMouseEvents&&c&&a!=mxEvent.MOUSE_MOVE?(this.ignoreMouseEvents=a!=mxEvent.MOUSE_UP,f=!0):mxClient.IS_FF&&!c&&a==mxEvent.MOUSE_UP&&(this.ignoreMouseEvents=!0);return f};
mxGraph.prototype.isEventSourceIgnored=function(a,c){var f=c.getSource(),d=null!=f.nodeName?f.nodeName.toLowerCase():"",b=!mxEvent.isMouseEvent(c.getEvent())||mxEvent.isLeftMouseButton(c.getEvent());return a==mxEvent.MOUSE_DOWN&&b&&("select"==d||"option"==d||"input"==d&&"checkbox"!=f.type&&"radio"!=f.type&&"button"!=f.type&&"submit"!=f.type&&"file"!=f.type)};mxGraph.prototype.getEventState=function(a){return a};
mxGraph.prototype.fireMouseEvent=function(a,c,f){if(this.isEventSourceIgnored(a,c))null!=this.tooltipHandler&&this.tooltipHandler.hide();else{null==f&&(f=this);c=this.updateMouseEvent(c,a);if(!this.nativeDblClickEnabled&&!mxEvent.isPopupTrigger(c.getEvent())||this.doubleTapEnabled&&mxClient.IS_TOUCH&&mxEvent.isTouchEvent(c.getEvent())){var d=(new Date).getTime();if(!mxClient.IS_QUIRKS&&a==mxEvent.MOUSE_DOWN||mxClient.IS_QUIRKS&&a==mxEvent.MOUSE_UP&&!this.fireDoubleClick)if(null!=this.lastTouchEvent&&
this.lastTouchEvent!=c.getEvent()&&d-this.lastTouchTime<this.doubleTapTimeout&&Math.abs(this.lastTouchX-c.getX())<this.doubleTapTolerance&&Math.abs(this.lastTouchY-c.getY())<this.doubleTapTolerance&&2>this.doubleClickCounter){if(this.doubleClickCounter++,d=!1,a==mxEvent.MOUSE_UP?c.getCell()==this.lastTouchCell&&null!=this.lastTouchCell&&(this.lastTouchTime=0,d=this.lastTouchCell,this.lastTouchCell=null,mxClient.IS_QUIRKS&&c.getSource().fireEvent("ondblclick"),this.dblClick(c.getEvent(),d),d=!0):(this.fireDoubleClick=
!0,this.lastTouchTime=0),!mxClient.IS_QUIRKS||d){mxEvent.consume(c.getEvent());return}}else{if(null==this.lastTouchEvent||this.lastTouchEvent!=c.getEvent())this.lastTouchCell=c.getCell(),this.lastTouchX=c.getX(),this.lastTouchY=c.getY(),this.lastTouchTime=d,this.lastTouchEvent=c.getEvent(),this.doubleClickCounter=0}else if((this.isMouseDown||a==mxEvent.MOUSE_UP)&&this.fireDoubleClick){this.fireDoubleClick=!1;d=this.lastTouchCell;this.lastTouchCell=null;this.isMouseDown=!1;(null!=d||mxEvent.isTouchEvent(c.getEvent())&&
(mxClient.IS_GC||mxClient.IS_SF))&&Math.abs(this.lastTouchX-c.getX())<this.doubleTapTolerance&&Math.abs(this.lastTouchY-c.getY())<this.doubleTapTolerance?this.dblClick(c.getEvent(),d):mxEvent.consume(c.getEvent());return}}if(!this.isEventIgnored(a,c,f)){c.state=this.getEventState(c.getState());this.fireEvent(new mxEventObject(mxEvent.FIRE_MOUSE_EVENT,"eventName",a,"event",c));if(mxClient.IS_OP||mxClient.IS_SF||mxClient.IS_GC||mxClient.IS_IE11||mxClient.IS_IE&&mxClient.IS_SVG||c.getEvent().target!=
this.container){if(a==mxEvent.MOUSE_MOVE&&this.isMouseDown&&this.autoScroll&&!mxEvent.isMultiTouchEvent(c.getEvent))this.scrollPointToVisible(c.getGraphX(),c.getGraphY(),this.autoExtend);else if(a==mxEvent.MOUSE_UP&&this.ignoreScrollbars&&this.translateToScrollPosition&&(0!=this.container.scrollLeft||0!=this.container.scrollTop)){var d=this.view.scale,b=this.view.translate;this.view.setTranslate(b.x-this.container.scrollLeft/d,b.y-this.container.scrollTop/d);this.container.scrollLeft=0;this.container.scrollTop=
0}if(null!=this.mouseListeners){d=[f,c];c.getEvent().preventDefault||(c.getEvent().returnValue=!0);for(b=0;b<this.mouseListeners.length;b++){var e=this.mouseListeners[b];a==mxEvent.MOUSE_DOWN?e.mouseDown.apply(e,d):a==mxEvent.MOUSE_MOVE?e.mouseMove.apply(e,d):a==mxEvent.MOUSE_UP&&e.mouseUp.apply(e,d)}}a==mxEvent.MOUSE_UP&&this.click(c)}mxEvent.isTouchEvent(c.getEvent())&&a==mxEvent.MOUSE_DOWN&&this.tapAndHoldEnabled&&!this.tapAndHoldInProgress?(this.tapAndHoldInProgress=!0,this.initialTouchX=c.getGraphX(),
this.initialTouchY=c.getGraphY(),this.tapAndHoldThread&&window.clearTimeout(this.tapAndHoldThread),this.tapAndHoldThread=window.setTimeout(mxUtils.bind(this,function(){this.tapAndHoldValid&&this.tapAndHold(c);this.tapAndHoldValid=this.tapAndHoldInProgress=!1}),this.tapAndHoldDelay),this.tapAndHoldValid=!0):a==mxEvent.MOUSE_UP?this.tapAndHoldValid=this.tapAndHoldInProgress=!1:this.tapAndHoldValid&&(this.tapAndHoldValid=Math.abs(this.initialTouchX-c.getGraphX())<this.tolerance&&Math.abs(this.initialTouchY-
c.getGraphY())<this.tolerance);a==mxEvent.MOUSE_DOWN&&this.isEditing()&&!this.cellEditor.isEventSource(c.getEvent())&&this.stopEditing(!this.isInvokesStopCellEditing());this.consumeMouseEvent(a,c,f)}}};mxGraph.prototype.consumeMouseEvent=function(a,c,f){a==mxEvent.MOUSE_DOWN&&mxEvent.isTouchEvent(c.getEvent())&&c.consume(!1)};mxGraph.prototype.fireGestureEvent=function(a,c){this.lastTouchTime=0;this.fireEvent(new mxEventObject(mxEvent.GESTURE,"event",a,"cell",c))};
mxGraph.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,null!=this.tooltipHandler&&this.tooltipHandler.destroy(),null!=this.selectionCellsHandler&&this.selectionCellsHandler.destroy(),null!=this.panningHandler&&this.panningHandler.destroy(),null!=this.popupMenuHandler&&this.popupMenuHandler.destroy(),null!=this.connectionHandler&&this.connectionHandler.destroy(),null!=this.graphHandler&&this.graphHandler.destroy(),null!=this.cellEditor&&this.cellEditor.destroy(),null!=this.view&&this.view.destroy(),
null!=this.model&&null!=this.graphModelChangeListener&&(this.model.removeListener(this.graphModelChangeListener),this.graphModelChangeListener=null),this.container=null)};function mxCellOverlay(a,c,f,d,b,e){this.image=a;this.tooltip=c;this.align=null!=f?f:this.align;this.verticalAlign=null!=d?d:this.verticalAlign;this.offset=null!=b?b:new mxPoint;this.cursor=null!=e?e:"help"}mxCellOverlay.prototype=new mxEventSource;mxCellOverlay.prototype.constructor=mxCellOverlay;mxCellOverlay.prototype.image=null;
mxCellOverlay.prototype.tooltip=null;mxCellOverlay.prototype.align=mxConstants.ALIGN_RIGHT;mxCellOverlay.prototype.verticalAlign=mxConstants.ALIGN_BOTTOM;mxCellOverlay.prototype.offset=null;mxCellOverlay.prototype.cursor=null;mxCellOverlay.prototype.defaultOverlap=0.5;
mxCellOverlay.prototype.getBounds=function(a){var c=a.view.graph.getModel().isEdge(a.cell),f=a.view.scale,d=null,b=this.image.width,e=this.image.height;c?(c=a.absolutePoints,1==c.length%2?d=c[Math.floor(c.length/2)]:(d=c.length/2,a=c[d-1],c=c[d],d=new mxPoint(a.x+(c.x-a.x)/2,a.y+(c.y-a.y)/2))):(d=new mxPoint,d.x=this.align==mxConstants.ALIGN_LEFT?a.x:this.align==mxConstants.ALIGN_CENTER?a.x+a.width/2:a.x+a.width,d.y=this.verticalAlign==mxConstants.ALIGN_TOP?a.y:this.verticalAlign==mxConstants.ALIGN_MIDDLE?
a.y+a.height/2:a.y+a.height);return new mxRectangle(Math.round(d.x-(b*this.defaultOverlap-this.offset.x)*f),Math.round(d.y-(e*this.defaultOverlap-this.offset.y)*f),b*f,e*f)};mxCellOverlay.prototype.toString=function(){return this.tooltip};function mxOutline(a,c){this.source=a;null!=c&&this.init(c)}mxOutline.prototype.source=null;mxOutline.prototype.outline=null;mxOutline.prototype.graphRenderHint=mxConstants.RENDERING_HINT_FASTER;mxOutline.prototype.enabled=!0;mxOutline.prototype.showViewport=!0;
mxOutline.prototype.border=10;mxOutline.prototype.sizerSize=8;mxOutline.prototype.labelsVisible=!1;mxOutline.prototype.updateOnPan=!1;mxOutline.prototype.sizerImage=null;mxOutline.prototype.minScale=1E-4;mxOutline.prototype.suspended=!1;mxOutline.prototype.forceVmlHandles=8==document.documentMode;mxOutline.prototype.createGraph=function(a){a=new mxGraph(a,this.source.getModel(),this.graphRenderHint,this.source.getStylesheet());a.foldingEnabled=!1;a.autoScroll=!1;return a};
mxOutline.prototype.init=function(a){this.outline=this.createGraph(a);var c=this.outline.graphModelChanged;this.outline.graphModelChanged=mxUtils.bind(this,function(a){!this.suspended&&null!=this.outline&&c.apply(this.outline,arguments)});mxClient.IS_SVG&&(a=this.outline.getView().getCanvas().parentNode,a.setAttribute("shape-rendering","optimizeSpeed"),a.setAttribute("image-rendering","optimizeSpeed"));this.outline.labelsVisible=this.labelsVisible;this.outline.setEnabled(!1);this.updateHandler=mxUtils.bind(this,
function(a,d){!this.suspended&&!this.active&&this.update()});this.source.getModel().addListener(mxEvent.CHANGE,this.updateHandler);this.outline.addMouseListener(this);a=this.source.getView();a.addListener(mxEvent.SCALE,this.updateHandler);a.addListener(mxEvent.TRANSLATE,this.updateHandler);a.addListener(mxEvent.SCALE_AND_TRANSLATE,this.updateHandler);a.addListener(mxEvent.DOWN,this.updateHandler);a.addListener(mxEvent.UP,this.updateHandler);mxEvent.addListener(this.source.container,"scroll",this.updateHandler);
this.panHandler=mxUtils.bind(this,function(a){this.updateOnPan&&this.updateHandler.apply(this,arguments)});this.source.addListener(mxEvent.PAN,this.panHandler);this.refreshHandler=mxUtils.bind(this,function(a){this.outline.setStylesheet(this.source.getStylesheet());this.outline.refresh()});this.source.addListener(mxEvent.REFRESH,this.refreshHandler);this.bounds=new mxRectangle(0,0,0,0);this.selectionBorder=new mxRectangleShape(this.bounds,null,mxConstants.OUTLINE_COLOR,mxConstants.OUTLINE_STROKEWIDTH);
this.selectionBorder.dialect=this.outline.dialect;this.forceVmlHandles&&(this.selectionBorder.isHtmlAllowed=function(){return!1});this.selectionBorder.init(this.outline.getView().getOverlayPane());a=mxUtils.bind(this,function(a){var d=mxEvent.getSource(a),b=mxUtils.bind(this,function(b){this.outline.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(b))}),c=mxUtils.bind(this,function(a){mxEvent.removeGestureListeners(d,null,b,c);this.outline.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(a))});
mxEvent.addGestureListeners(d,null,b,c);this.outline.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(a))});mxEvent.addGestureListeners(this.selectionBorder.node,a);this.sizer=this.createSizer();this.forceVmlHandles&&(this.sizer.isHtmlAllowed=function(){return!1});this.sizer.init(this.outline.getView().getOverlayPane());this.enabled&&(this.sizer.node.style.cursor="nwse-resize");mxEvent.addGestureListeners(this.sizer.node,a);this.selectionBorder.node.style.display=this.showViewport?"":"none";this.sizer.node.style.display=
this.selectionBorder.node.style.display;this.selectionBorder.node.style.cursor="move";this.update(!1)};mxOutline.prototype.isEnabled=function(){return this.enabled};mxOutline.prototype.setEnabled=function(a){this.enabled=a};mxOutline.prototype.setZoomEnabled=function(a){this.sizer.node.style.visibility=a?"visible":"hidden"};mxOutline.prototype.refresh=function(){this.update(!0)};
mxOutline.prototype.createSizer=function(){var a=null!=this.sizerImage?new mxImageShape(new mxRectangle(0,0,this.sizerImage.width,this.sizerImage.height),this.sizerImage.src):new mxRectangleShape(new mxRectangle(0,0,this.sizerSize,this.sizerSize),mxConstants.OUTLINE_HANDLE_FILLCOLOR,mxConstants.OUTLINE_HANDLE_STROKECOLOR);a.dialect=this.outline.dialect;return a};mxOutline.prototype.getSourceContainerSize=function(){return new mxRectangle(0,0,this.source.container.scrollWidth,this.source.container.scrollHeight)};
mxOutline.prototype.getOutlineOffset=function(a){return null};mxOutline.prototype.getSourceGraphBounds=function(){return this.source.getGraphBounds()};
mxOutline.prototype.update=function(a){if(null!=this.source&&null!=this.outline){var c=this.source.view.scale,f=this.getSourceGraphBounds(),f=new mxRectangle(f.x/c+this.source.panDx,f.y/c+this.source.panDy,f.width/c,f.height/c),d=new mxRectangle(0,0,this.source.container.clientWidth/c,this.source.container.clientHeight/c),b=f.clone();b.add(d);var e=this.getSourceContainerSize(),d=Math.max(e.width/c,b.width),c=Math.max(e.height/c,b.height),b=Math.max(0,this.outline.container.clientWidth-this.border),
e=Math.max(0,this.outline.container.clientHeight-this.border),d=Math.min(b/d,e/c),b=isNaN(d)?this.minScale:Math.max(this.minScale,d);if(0<b){this.outline.getView().scale!=b&&(this.outline.getView().scale=b,a=!0);d=this.outline.getView();d.currentRoot!=this.source.getView().currentRoot&&d.setCurrentRoot(this.source.getView().currentRoot);var c=this.source.view.translate,e=c.x+this.source.panDx,g=c.y+this.source.panDy,b=this.getOutlineOffset(b);null!=b&&(e+=b.x,g+=b.y);0>f.x&&(e-=f.x);0>f.y&&(g-=f.y);
if(d.translate.x!=e||d.translate.y!=g)d.translate.x=e,d.translate.y=g,a=!0;var f=d.translate,b=this.source.getView().scale,e=b/d.scale,g=1/d.scale,k=this.source.container;this.bounds=new mxRectangle((f.x-c.x-this.source.panDx)/g,(f.y-c.y-this.source.panDy)/g,k.clientWidth/e,k.clientHeight/e);this.bounds.x+=this.source.container.scrollLeft*d.scale/b;this.bounds.y+=this.source.container.scrollTop*d.scale/b;f=this.selectionBorder.bounds;if(f.x!=this.bounds.x||f.y!=this.bounds.y||f.width!=this.bounds.width||
f.height!=this.bounds.height)this.selectionBorder.bounds=this.bounds,this.selectionBorder.redraw();f=this.sizer.bounds;d=new mxRectangle(this.bounds.x+this.bounds.width-f.width/2,this.bounds.y+this.bounds.height-f.height/2,f.width,f.height);if(f.x!=d.x||f.y!=d.y||f.width!=d.width||f.height!=d.height)this.sizer.bounds=d,"hidden"!=this.sizer.node.style.visibility&&this.sizer.redraw();a&&this.outline.view.revalidate()}}};
mxOutline.prototype.mouseDown=function(a,c){if(this.enabled&&this.showViewport){var f=!mxEvent.isMouseEvent(c.getEvent())?this.source.tolerance:0,f=this.source.allowHandleBoundsCheck&&(mxClient.IS_IE||0<f)?new mxRectangle(c.getGraphX()-f,c.getGraphY()-f,2*f,2*f):null;this.zoom=c.isSource(this.sizer)||null!=f&&mxUtils.intersects(shape.bounds,f);this.startX=c.getX();this.startY=c.getY();this.active=!0;this.source.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.source.container)?(this.dx0=this.source.container.scrollLeft,
this.dy0=this.source.container.scrollTop):this.dy0=this.dx0=0}c.consume()};
mxOutline.prototype.mouseMove=function(a,c){if(this.active){this.selectionBorder.node.style.display=this.showViewport?"":"none";this.sizer.node.style.display=this.selectionBorder.node.style.display;var f=this.getTranslateForEvent(c),d=f.x,b=f.y;if(this.zoom)f=this.source.container,b=d/(f.clientWidth/f.clientHeight),f=new mxRectangle(this.bounds.x,this.bounds.y,Math.max(1,this.bounds.width+d),Math.max(1,this.bounds.height+b)),this.selectionBorder.bounds=f,this.selectionBorder.redraw();else{var e=this.outline.getView().scale,
f=new mxRectangle(this.bounds.x+d,this.bounds.y+b,this.bounds.width,this.bounds.height);this.selectionBorder.bounds=f;this.selectionBorder.redraw();d=d/e*this.source.getView().scale;b=b/e*this.source.getView().scale;this.source.panGraph(-d-this.dx0,-b-this.dy0)}d=this.sizer.bounds;this.sizer.bounds=new mxRectangle(f.x+f.width-d.width/2,f.y+f.height-d.height/2,d.width,d.height);"hidden"!=this.sizer.node.style.visibility&&this.sizer.redraw();c.consume()}};
mxOutline.prototype.getTranslateForEvent=function(a){return new mxPoint(a.getX()-this.startX,a.getY()-this.startY)};
mxOutline.prototype.mouseUp=function(a,c){if(this.active){var f=this.getTranslateForEvent(c),d=f.x,f=f.y;if(0<Math.abs(d)||0<Math.abs(f)){if(this.zoom){var f=this.selectionBorder.bounds.width,b=this.source.getView().scale;this.source.zoomTo(Math.max(this.minScale,b-d*b/f),!1)}else if(!this.source.useScrollbarsForPanning||!mxUtils.hasScrollbars(this.source.container))this.source.panGraph(0,0),d/=this.outline.getView().scale,f/=this.outline.getView().scale,b=this.source.getView().translate,this.source.getView().setTranslate(b.x-
d,b.y-f);this.update();c.consume()}this.index=null;this.active=!1}};
mxOutline.prototype.destroy=function(){null!=this.source&&(this.source.removeListener(this.panHandler),this.source.removeListener(this.refreshHandler),this.source.getModel().removeListener(this.updateHandler),this.source.getView().removeListener(this.updateHandler),mxEvent.addListener(this.source.container,"scroll",this.updateHandler),this.source=null);null!=this.outline&&(this.outline.removeMouseListener(this),this.outline.destroy(),this.outline=null);null!=this.selectionBorder&&(this.selectionBorder.destroy(),
this.selectionBorder=null);null!=this.sizer&&(this.sizer.destroy(),this.sizer=null)};function mxMultiplicity(a,c,f,d,b,e,g,k,l,n){this.source=a;this.type=c;this.attr=f;this.value=d;this.min=null!=b?b:0;this.max=null!=e?e:"n";this.validNeighbors=g;this.countError=mxResources.get(k)||k;this.typeError=mxResources.get(l)||l;this.validNeighborsAllowed=null!=n?n:!0}mxMultiplicity.prototype.type=null;mxMultiplicity.prototype.attr=null;mxMultiplicity.prototype.value=null;mxMultiplicity.prototype.source=null;
mxMultiplicity.prototype.min=null;mxMultiplicity.prototype.max=null;mxMultiplicity.prototype.validNeighbors=null;mxMultiplicity.prototype.validNeighborsAllowed=!0;mxMultiplicity.prototype.countError=null;mxMultiplicity.prototype.typeError=null;
mxMultiplicity.prototype.check=function(a,c,f,d,b,e){var g="";if(this.source&&this.checkTerminal(a,f,c)||!this.source&&this.checkTerminal(a,d,c)){if(null!=this.countError&&(this.source&&(0==this.max||b>=this.max)||!this.source&&(0==this.max||e>=this.max)))g+=this.countError+"\n";null!=this.validNeighbors&&null!=this.typeError&&0<this.validNeighbors.length&&(this.checkNeighbors(a,c,f,d)||(g+=this.typeError+"\n"))}return 0<g.length?g:null};
mxMultiplicity.prototype.checkNeighbors=function(a,c,f,d){c=a.model.getValue(f);d=a.model.getValue(d);f=!this.validNeighborsAllowed;for(var b=this.validNeighbors,e=0;e<b.length;e++)if(this.source&&this.checkType(a,d,b[e])){f=this.validNeighborsAllowed;break}else if(!this.source&&this.checkType(a,c,b[e])){f=this.validNeighborsAllowed;break}return f};mxMultiplicity.prototype.checkTerminal=function(a,c,f){c=a.model.getValue(c);return this.checkType(a,c,this.type,this.attr,this.value)};
mxMultiplicity.prototype.checkType=function(a,c,f,d,b){return null!=c?isNaN(c.nodeType)?c==f:mxUtils.isNode(c,f,d,b):!1};function mxLayoutManager(a){this.undoHandler=mxUtils.bind(this,function(a,f){this.isEnabled()&&this.beforeUndo(f.getProperty("edit"))});this.moveHandler=mxUtils.bind(this,function(a,f){this.isEnabled()&&this.cellsMoved(f.getProperty("cells"),f.getProperty("event"))});this.setGraph(a)}mxLayoutManager.prototype=new mxEventSource;mxLayoutManager.prototype.constructor=mxLayoutManager;
mxLayoutManager.prototype.graph=null;mxLayoutManager.prototype.bubbling=!0;mxLayoutManager.prototype.enabled=!0;mxLayoutManager.prototype.updateHandler=null;mxLayoutManager.prototype.moveHandler=null;mxLayoutManager.prototype.isEnabled=function(){return this.enabled};mxLayoutManager.prototype.setEnabled=function(a){this.enabled=a};mxLayoutManager.prototype.isBubbling=function(){return this.bubbling};mxLayoutManager.prototype.setBubbling=function(a){this.bubbling=a};
mxLayoutManager.prototype.getGraph=function(){return this.graph};mxLayoutManager.prototype.setGraph=function(a){if(null!=this.graph){var c=this.graph.getModel();c.removeListener(this.undoHandler);this.graph.removeListener(this.moveHandler)}this.graph=a;null!=this.graph&&(c=this.graph.getModel(),c.addListener(mxEvent.BEFORE_UNDO,this.undoHandler),this.graph.addListener(mxEvent.MOVE_CELLS,this.moveHandler))};mxLayoutManager.prototype.getLayout=function(a){return null};
mxLayoutManager.prototype.beforeUndo=function(a){a=this.getCellsForChanges(a.changes);for(var c=this.getGraph().getModel(),f=[],d=0;d<a.length;d++)f=f.concat(c.getDescendants(a[d]));a=f;if(this.isBubbling())for(f=c.getParents(a);0<f.length;)a=a.concat(f),f=c.getParents(f);this.executeLayoutForCells(a)};mxLayoutManager.prototype.executeLayoutForCells=function(a){a=mxUtils.sortCells(a,!0);a=a.concat(a.slice().reverse());this.layoutCells(a)};
mxLayoutManager.prototype.cellsMoved=function(a,c){if(null!=a&&null!=c)for(var f=mxUtils.convertPoint(this.getGraph().container,mxEvent.getClientX(c),mxEvent.getClientY(c)),d=this.getGraph().getModel(),b=0;b<a.length;b++){var e=d.getParent(a[b]);0>mxUtils.indexOf(a,e)&&(e=this.getLayout(e),null!=e&&e.moveCell(a[b],f.x,f.y))}};
mxLayoutManager.prototype.getCellsForChanges=function(a){for(var c=new mxDictionary,f=[],d=0;d<a.length;d++){var b=a[d];if(b instanceof mxRootChange)return[];for(var b=this.getCellsForChange(b),e=0;e<b.length;e++)null!=b[e]&&!c.get(b[e])&&(c.put(b[e],!0),f.push(b[e]))}return f};
mxLayoutManager.prototype.getCellsForChange=function(a){var c=this.getGraph().getModel();return a instanceof mxChildChange?[a.child,a.previous,c.getParent(a.child)]:a instanceof mxTerminalChange||a instanceof mxGeometryChange?[a.cell,c.getParent(a.cell)]:a instanceof mxVisibleChange||a instanceof mxStyleChange?[a.cell]:[]};
mxLayoutManager.prototype.layoutCells=function(a){if(0<a.length){var c=this.getGraph().getModel();c.beginUpdate();try{for(var f=null,d=0;d<a.length;d++)a[d]!=c.getRoot()&&a[d]!=f&&this.executeLayout(this.getLayout(a[d]),a[d])&&(f=a[d]);this.fireEvent(new mxEventObject(mxEvent.LAYOUT_CELLS,"cells",a))}finally{c.endUpdate()}}};mxLayoutManager.prototype.executeLayout=function(a,c){var f=!1;null!=a&&null!=c&&(a.execute(c),f=!0);return f};mxLayoutManager.prototype.destroy=function(){this.setGraph(null)};
function mxSwimlaneManager(a,c,f,d){this.horizontal=null!=c?c:!0;this.addEnabled=null!=f?f:!0;this.resizeEnabled=null!=d?d:!0;this.addHandler=mxUtils.bind(this,function(b,a){this.isEnabled()&&this.isAddEnabled()&&this.cellsAdded(a.getProperty("cells"))});this.resizeHandler=mxUtils.bind(this,function(b,a){this.isEnabled()&&this.isResizeEnabled()&&this.cellsResized(a.getProperty("cells"))});this.setGraph(a)}mxSwimlaneManager.prototype=new mxEventSource;mxSwimlaneManager.prototype.constructor=mxSwimlaneManager;
mxSwimlaneManager.prototype.graph=null;mxSwimlaneManager.prototype.enabled=!0;mxSwimlaneManager.prototype.horizontal=!0;mxSwimlaneManager.prototype.addEnabled=!0;mxSwimlaneManager.prototype.resizeEnabled=!0;mxSwimlaneManager.prototype.addHandler=null;mxSwimlaneManager.prototype.resizeHandler=null;mxSwimlaneManager.prototype.isEnabled=function(){return this.enabled};mxSwimlaneManager.prototype.setEnabled=function(a){this.enabled=a};mxSwimlaneManager.prototype.isHorizontal=function(){return this.horizontal};
mxSwimlaneManager.prototype.setHorizontal=function(a){this.horizontal=a};mxSwimlaneManager.prototype.isAddEnabled=function(){return this.addEnabled};mxSwimlaneManager.prototype.setAddEnabled=function(a){this.addEnabled=a};mxSwimlaneManager.prototype.isResizeEnabled=function(){return this.resizeEnabled};mxSwimlaneManager.prototype.setResizeEnabled=function(a){this.resizeEnabled=a};mxSwimlaneManager.prototype.getGraph=function(){return this.graph};
mxSwimlaneManager.prototype.setGraph=function(a){null!=this.graph&&(this.graph.removeListener(this.addHandler),this.graph.removeListener(this.resizeHandler));this.graph=a;null!=this.graph&&(this.graph.addListener(mxEvent.ADD_CELLS,this.addHandler),this.graph.addListener(mxEvent.CELLS_RESIZED,this.resizeHandler))};mxSwimlaneManager.prototype.isSwimlaneIgnored=function(a){return!this.getGraph().isSwimlane(a)};
mxSwimlaneManager.prototype.isCellHorizontal=function(a){return this.graph.isSwimlane(a)?(a=this.graph.getCellStyle(a),1==mxUtils.getValue(a,mxConstants.STYLE_HORIZONTAL,1)):!this.isHorizontal()};mxSwimlaneManager.prototype.cellsAdded=function(a){if(null!=a){var c=this.getGraph().getModel();c.beginUpdate();try{for(var f=0;f<a.length;f++)this.isSwimlaneIgnored(a[f])||this.swimlaneAdded(a[f])}finally{c.endUpdate()}}};
mxSwimlaneManager.prototype.swimlaneAdded=function(a){for(var c=this.getGraph().getModel(),f=c.getParent(a),d=c.getChildCount(f),b=null,e=0;e<d;e++){var g=c.getChildAt(f,e);if(g!=a&&!this.isSwimlaneIgnored(g)&&(b=c.getGeometry(g),null!=b))break}null!=b&&(c=null!=f?this.isCellHorizontal(f):this.horizontal,this.resizeSwimlane(a,b.width,b.height,c))};
mxSwimlaneManager.prototype.cellsResized=function(a){if(null!=a){var c=this.getGraph().getModel();c.beginUpdate();try{for(var f=0;f<a.length;f++)if(!this.isSwimlaneIgnored(a[f])){var d=c.getGeometry(a[f]);if(null!=d){for(var b=new mxRectangle(0,0,d.width,d.height),e=a[f],g=e;null!=g;){var e=g,g=c.getParent(g),k=this.graph.isSwimlane(g)?this.graph.getStartSize(g):new mxRectangle;b.width+=k.width;b.height+=k.height}var l=null!=g?this.isCellHorizontal(g):this.horizontal;this.resizeSwimlane(e,b.width,
b.height,l)}}}finally{c.endUpdate()}}};
mxSwimlaneManager.prototype.resizeSwimlane=function(a,c,f,d){var b=this.getGraph().getModel();b.beginUpdate();try{var e=this.isCellHorizontal(a);if(!this.isSwimlaneIgnored(a)){var g=b.getGeometry(a);if(null!=g&&(d&&g.height!=f||!d&&g.width!=c))g=g.clone(),d?g.height=f:g.width=c,b.setGeometry(a,g)}var k=this.graph.isSwimlane(a)?this.graph.getStartSize(a):new mxRectangle;c-=k.width;f-=k.height;var l=b.getChildCount(a);for(d=0;d<l;d++){var n=b.getChildAt(a,d);this.resizeSwimlane(n,c,f,e)}}finally{b.endUpdate()}};
mxSwimlaneManager.prototype.destroy=function(){this.setGraph(null)};
function mxTemporaryCellStates(a,c,f,d){c=null!=c?c:1;this.view=a;this.oldValidateCellState=a.validateCellState;this.oldBounds=a.getGraphBounds();this.oldStates=a.getStates();this.oldScale=a.getScale();var b=this;a.validateCellState=function(c,e){return null==c||null==d||d(c)?b.oldValidateCellState.apply(a,arguments):null};a.setStates(new mxDictionary);a.setScale(c);if(null!=f){a.resetValidationState();c=null;for(var e=0;e<f.length;e++){var g=a.getBoundingBox(a.validateCellState(a.validateCell(f[e])));
null==c?c=g:c.add(g)}a.setGraphBounds(c||new mxRectangle)}}mxTemporaryCellStates.prototype.view=null;mxTemporaryCellStates.prototype.oldStates=null;mxTemporaryCellStates.prototype.oldBounds=null;mxTemporaryCellStates.prototype.oldScale=null;mxTemporaryCellStates.prototype.destroy=function(){this.view.setScale(this.oldScale);this.view.setStates(this.oldStates);this.view.setGraphBounds(this.oldBounds);this.view.validateCellState=this.oldValidateCellState};
function mxCellStatePreview(a){this.deltas=new mxDictionary;this.graph=a}mxCellStatePreview.prototype.graph=null;mxCellStatePreview.prototype.deltas=null;mxCellStatePreview.prototype.count=0;mxCellStatePreview.prototype.isEmpty=function(){return 0==this.count};
mxCellStatePreview.prototype.moveState=function(a,c,f,d,b){d=null!=d?d:!0;b=null!=b?b:!0;var e=this.deltas.get(a.cell);null==e?(e={point:new mxPoint(c,f),state:a},this.deltas.put(a.cell,e),this.count++):d?(e.point.x+=c,e.point.y+=f):(e.point.x=c,e.point.y=f);b&&this.addEdges(a);return e.point};
mxCellStatePreview.prototype.show=function(a){this.deltas.visit(mxUtils.bind(this,function(a,f){this.translateState(f.state,f.point.x,f.point.y)}));this.deltas.visit(mxUtils.bind(this,function(c,f){this.revalidateState(f.state,f.point.x,f.point.y,a)}))};
mxCellStatePreview.prototype.translateState=function(a,c,f){if(null!=a){var d=this.graph.getModel();if(d.isVertex(a.cell)){a.view.updateCellState(a);var b=d.getGeometry(a.cell);if((0!=c||0!=f)&&null!=b&&(!b.relative||null!=this.deltas.get(a.cell)))a.x+=c,a.y+=f}for(var b=d.getChildCount(a.cell),e=0;e<b;e++)this.translateState(a.view.getState(d.getChildAt(a.cell,e)),c,f)}};
mxCellStatePreview.prototype.revalidateState=function(a,c,f,d){if(null!=a){var b=this.graph.getModel();b.isEdge(a.cell)&&a.view.updateCellState(a);var e=this.graph.getCellGeometry(a.cell),g=a.view.getState(b.getParent(a.cell));if((0!=c||0!=f)&&null!=e&&e.relative&&b.isVertex(a.cell)&&(null==g||b.isVertex(g.cell)||null!=this.deltas.get(a.cell)))a.x+=c,a.y+=f;this.graph.cellRenderer.redraw(a);null!=d&&d(a);e=b.getChildCount(a.cell);for(g=0;g<e;g++)this.revalidateState(this.graph.view.getState(b.getChildAt(a.cell,
g)),c,f,d)}};mxCellStatePreview.prototype.addEdges=function(a){for(var c=this.graph.getModel(),f=c.getEdgeCount(a.cell),d=0;d<f;d++){var b=a.view.getState(c.getEdgeAt(a.cell,d));null!=b&&this.moveState(b,0,0)}};function mxConnectionConstraint(a,c){this.point=a;this.perimeter=null!=c?c:!0}mxConnectionConstraint.prototype.point=null;mxConnectionConstraint.prototype.perimeter=null;
function mxGraphHandler(a){this.graph=a;this.graph.addMouseListener(this);this.panHandler=mxUtils.bind(this,function(){this.updatePreviewShape();this.updateHint()});this.graph.addListener(mxEvent.PAN,this.panHandler);this.escapeHandler=mxUtils.bind(this,function(a,f){this.reset()});this.graph.addListener(mxEvent.ESCAPE,this.escapeHandler)}mxGraphHandler.prototype.graph=null;mxGraphHandler.prototype.maxCells=mxClient.IS_IE?20:50;mxGraphHandler.prototype.enabled=!0;
mxGraphHandler.prototype.highlightEnabled=!0;mxGraphHandler.prototype.cloneEnabled=!0;mxGraphHandler.prototype.moveEnabled=!0;mxGraphHandler.prototype.guidesEnabled=!1;mxGraphHandler.prototype.guide=null;mxGraphHandler.prototype.currentDx=null;mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;
mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1;mxGraphHandler.prototype.rotationEnabled=!0;mxGraphHandler.prototype.isEnabled=function(){return this.enabled};mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};
mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a};mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled};mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};
mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,c){return this.graph.isCellSelected(a)};
mxGraphHandler.prototype.mouseDown=function(a,c){if(!c.isConsumed()&&this.isEnabled()&&this.graph.isEnabled()&&null!=c.getState()&&!mxEvent.isMultiTouchEvent(c.getEvent())){var f=this.getInitialCellForEvent(c);this.delayedSelection=this.isDelayedSelection(f,c);this.cell=null;this.isSelectEnabled()&&!this.delayedSelection&&this.graph.selectCellForEvent(f,c.getEvent());if(this.isMoveEnabled()){var d=this.graph.model,b=d.getGeometry(f);this.graph.isCellMovable(f)&&(!d.isEdge(f)||1<this.graph.getSelectionCount()||
null!=b.points&&0<b.points.length||null==d.getTerminal(f,!0)||null==d.getTerminal(f,!1)||this.graph.allowDanglingEdges||this.graph.isCloneEvent(c.getEvent())&&this.graph.isCellsCloneable())?this.start(f,c.getX(),c.getY()):this.delayedSelection&&(this.cell=f);this.cellWasClicked=!0;c.consume()}}};
mxGraphHandler.prototype.getGuideStates=function(){var a=this.graph.getDefaultParent(),c=this.graph.getModel(),f=mxUtils.bind(this,function(a){return null!=this.graph.view.getState(a)&&c.isVertex(a)&&null!=c.getGeometry(a)&&!c.getGeometry(a).relative});return this.graph.view.getCellStates(c.filterDescendants(f,a))};mxGraphHandler.prototype.getCells=function(a){return!this.delayedSelection&&this.graph.isCellMovable(a)?[a]:this.graph.getMovableCells(this.graph.getSelectionCells())};
mxGraphHandler.prototype.getPreviewBounds=function(a){a=this.getBoundingBox(a);null!=a&&(a.width=Math.max(0,a.width-1),a.height=Math.max(0,a.height-1),a.width<this.minimumSize?(a.x-=(this.minimumSize-a.width)/2,a.width=this.minimumSize):(a.x=Math.round(a.x),a.width=Math.ceil(a.width)),a.height<this.minimumSize?(a.y-=(this.minimumSize-a.height)/2,a.height=this.minimumSize):(a.y=Math.round(a.y),a.height=Math.ceil(a.height)));return a};
mxGraphHandler.prototype.getBoundingBox=function(a){var c=null;if(null!=a&&0<a.length)for(var f=this.graph.getModel(),d=0;d<a.length;d++)if(f.isVertex(a[d])||f.isEdge(a[d])){var b=this.graph.view.getState(a[d]);if(null!=b){var e=b;f.isVertex(a[d])&&null!=b.shape&&null!=b.shape.boundingBox&&(e=b.shape.boundingBox);null==c?c=mxRectangle.fromRectangle(e):c.add(e)}}return c};
mxGraphHandler.prototype.createPreviewShape=function(a){a=new mxRectangleShape(a,null,this.previewColor);a.isDashed=!0;this.htmlPreview?(a.dialect=mxConstants.DIALECT_STRICTHTML,a.init(this.graph.container)):(a.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,a.init(this.graph.getView().getOverlayPane()),a.pointerEvents=!1,mxClient.IS_IOS&&(a.getSvgScreenOffset=function(){return 0}));return a};
mxGraphHandler.prototype.start=function(a,c,f){this.cell=a;this.first=mxUtils.convertPoint(this.graph.container,c,f);this.cells=this.getCells(this.cell);this.bounds=this.graph.getView().getBounds(this.cells);this.pBounds=this.getPreviewBounds(this.cells);this.guidesEnabled&&(this.guide=new mxGuide(this.graph,this.getGuideStates()))};mxGraphHandler.prototype.useGuidesForEvent=function(a){return null!=this.guide?this.guide.isEnabledForEvent(a.getEvent()):!0};
mxGraphHandler.prototype.snap=function(a){var c=this.scaleGrid?this.graph.view.scale:1;a.x=this.graph.snap(a.x/c)*c;a.y=this.graph.snap(a.y/c)*c;return a};mxGraphHandler.prototype.getDelta=function(a){a=mxUtils.convertPoint(this.graph.container,a.getX(),a.getY());var c=this.graph.view.scale;return new mxPoint(this.roundLength((a.x-this.first.x)/c)*c,this.roundLength((a.y-this.first.y)/c)*c)};mxGraphHandler.prototype.updateHint=function(a){};mxGraphHandler.prototype.removeHint=function(){};
mxGraphHandler.prototype.roundLength=function(a){return Math.round(a)};
mxGraphHandler.prototype.mouseMove=function(a,c){var f=this.graph;if(!c.isConsumed()&&f.isMouseDown&&null!=this.cell&&null!=this.first&&null!=this.bounds)if(mxEvent.isMultiTouchEvent(c.getEvent()))this.reset();else{var d=this.getDelta(c),b=d.x,d=d.y,e=f.tolerance;if(null!=this.shape||Math.abs(b)>e||Math.abs(d)>e){null==this.highlight&&(this.highlight=new mxCellHighlight(this.graph,mxConstants.DROP_TARGET_COLOR,3));null==this.shape&&(this.shape=this.createPreviewShape(this.bounds));var g=f.isGridEnabledEvent(c.getEvent()),
e=!0;if(null!=this.guide&&this.useGuidesForEvent(c))d=this.guide.move(this.bounds,new mxPoint(b,d),g),e=!1,b=d.x,d=d.y;else if(g)var k=f.getView().translate,l=f.getView().scale,g=this.bounds.x-(f.snap(this.bounds.x/l-k.x)+k.x)*l,k=this.bounds.y-(f.snap(this.bounds.y/l-k.y)+k.y)*l,d=this.snap(new mxPoint(b,d)),b=d.x-g,d=d.y-k;null!=this.guide&&e&&this.guide.hide();f.isConstrainedEvent(c.getEvent())&&(Math.abs(b)>Math.abs(d)?d=0:b=0);this.currentDx=b;this.currentDy=d;this.updatePreviewShape();e=null;
d=c.getCell();g=f.isCloneEvent(c.getEvent())&&f.isCellsCloneable()&&this.isCloneEnabled();f.isDropEnabled()&&this.highlightEnabled&&(e=f.getDropTarget(this.cells,c.getEvent(),d,g));b=f.getView().getState(e);k=!1;null!=b&&(f.model.getParent(this.cell)!=e||g)?(this.target!=e&&(this.target=e,this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)),k=!0):(this.target=null,this.connectOnDrop&&null!=d&&(1==this.cells.length&&f.getModel().isVertex(d)&&f.isCellConnectable(d))&&(b=f.getView().getState(d),null!=
b&&(f=null==f.getEdgeValidationError(null,this.cell,d)?mxConstants.VALID_COLOR:mxConstants.INVALID_CONNECT_TARGET_COLOR,this.setHighlightColor(f),k=!0)));null!=b&&k?this.highlight.highlight(b):this.highlight.hide()}this.updateHint(c);c.consume();mxEvent.consume(c.getEvent())}else if((this.isMoveEnabled()||this.isCloneEnabled())&&this.updateCursor&&!c.isConsumed()&&null!=c.getState()&&!f.isMouseDown)b=f.getCursorForMouseEvent(c),null==b&&f.isEnabled()&&f.isCellMovable(c.getCell())&&(b=f.getModel().isEdge(c.getCell())?
mxConstants.CURSOR_MOVABLE_EDGE:mxConstants.CURSOR_MOVABLE_VERTEX),null!=c.sourceState&&c.sourceState.setCursor(b)};mxGraphHandler.prototype.updatePreviewShape=function(){null!=this.shape&&(this.shape.bounds=new mxRectangle(Math.round(this.pBounds.x+this.currentDx-this.graph.panDx),Math.round(this.pBounds.y+this.currentDy-this.graph.panDy),this.pBounds.width,this.pBounds.height),this.shape.redraw())};mxGraphHandler.prototype.setHighlightColor=function(a){null!=this.highlight&&this.highlight.setHighlightColor(a)};
mxGraphHandler.prototype.mouseUp=function(a,c){if(!c.isConsumed()){var f=this.graph;if(null!=this.cell&&null!=this.first&&null!=this.shape&&null!=this.currentDx&&null!=this.currentDy){var d=c.getCell();if(this.connectOnDrop&&null==this.target&&null!=d&&f.getModel().isVertex(d)&&f.isCellConnectable(d)&&f.isEdgeValid(null,this.cell,d))f.connectionHandler.connect(this.cell,d,c.getEvent());else{var d=f.isCloneEvent(c.getEvent())&&f.isCellsCloneable()&&this.isCloneEnabled(),b=f.getView().scale,e=this.roundLength(this.currentDx/
b),b=this.roundLength(this.currentDy/b),g=this.target;f.isSplitEnabled()&&f.isSplitTarget(g,this.cells,c.getEvent())?f.splitEdge(g,this.cells,null,e,b):this.moveCells(this.cells,e,b,d,this.target,c.getEvent())}}else this.isSelectEnabled()&&this.delayedSelection&&null!=this.cell&&this.selectDelayed(c)}this.cellWasClicked&&c.consume();this.reset()};
mxGraphHandler.prototype.selectDelayed=function(a){(!this.graph.isCellSelected(this.cell)||!this.graph.popupMenuHandler.isPopupTrigger(a))&&this.graph.selectCellForEvent(this.cell,a.getEvent())};mxGraphHandler.prototype.reset=function(){this.destroyShapes();this.removeHint();this.delayedSelection=this.cellWasClicked=!1;this.target=this.cell=this.first=this.guides=this.currentDy=this.currentDx=null};
mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,c,f){if(this.graph.getModel().isVertex(a)){a=this.graph.getView().getState(a);f=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(f),mxEvent.getClientY(f));var d=mxUtils.toRadians(mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION)||0);if(0!=d){c=Math.cos(-d);var d=Math.sin(-d),b=new mxPoint(a.getCenterX(),a.getCenterY());f=mxUtils.getRotatedPoint(f,c,d,b)}return null!=a&&!mxUtils.contains(a,f.x,f.y)}return!1};
mxGraphHandler.prototype.moveCells=function(a,c,f,d,b,e){d&&(a=this.graph.getCloneableCells(a));null==b&&this.isRemoveCellsFromParent()&&this.shouldRemoveCellsFromParent(this.graph.getModel().getParent(this.cell),a,e)&&(b=this.graph.getDefaultParent());a=this.graph.moveCells(a,c-this.graph.panDx/this.graph.view.scale,f-this.graph.panDy/this.graph.view.scale,d,b,e);this.isSelectEnabled()&&this.scrollOnMove&&this.graph.scrollCellToVisible(a[0]);d&&this.graph.setSelectionCells(a)};
mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)};mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);this.destroyShapes();this.removeHint()};
function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,f){var d=f.getProperty("eventName"),b=f.getProperty("event");d==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(b)&&(this.start(b),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",b)),b.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,f){if(this.isPinchEnabled()){var d=
f.getProperty("event");!mxEvent.isConsumed(d)&&"gesturestart"==d.type?(this.initialScale=this.graph.view.scale,!this.active&&null!=this.mouseDownEvent&&(this.start(this.mouseDownEvent),this.mouseDownEvent=null)):"gestureend"==d.type&&null==this.initialScale&&(this.initialScale=null);if(null!=this.initialScale){var b=Math.round(100*this.initialScale*d.scale)/100;null!=this.minScale&&(b=Math.max(this.minScale,b));null!=this.maxScale&&(b=Math.min(this.maxScale,b));this.graph.view.scale!=b&&(this.graph.zoomTo(b),
mxEvent.consume(d))}}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0;mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;
mxPanningHandler.prototype.pinchEnabled=!0;mxPanningHandler.prototype.maxScale=8;mxPanningHandler.prototype.minScale=0.01;mxPanningHandler.prototype.dx=null;mxPanningHandler.prototype.dy=null;mxPanningHandler.prototype.startX=0;mxPanningHandler.prototype.startY=0;mxPanningHandler.prototype.isActive=function(){return this.active||null!=this.initialScale};mxPanningHandler.prototype.isPanningEnabled=function(){return this.panningEnabled};
mxPanningHandler.prototype.setPanningEnabled=function(a){this.panningEnabled=a};mxPanningHandler.prototype.isPinchEnabled=function(){return this.pinchEnabled};mxPanningHandler.prototype.setPinchEnabled=function(a){this.pinchEnabled=a};mxPanningHandler.prototype.isPanningTrigger=function(a){var c=a.getEvent();return this.useLeftButtonForPanning&&null==a.getState()&&mxEvent.isLeftMouseButton(c)||mxEvent.isControlDown(c)&&mxEvent.isShiftDown(c)||this.usePopupTrigger&&mxEvent.isPopupTrigger(c)};
mxPanningHandler.prototype.isForcePanningEvent=function(a){return this.ignoreCell||mxEvent.isMultiTouchEvent(a.getEvent())};mxPanningHandler.prototype.mouseDown=function(a,c){this.mouseDownEvent=c;!c.isConsumed()&&this.isPanningEnabled()&&(!this.active&&this.isPanningTrigger(c))&&(this.start(c),this.consumePanningTrigger(c))};
mxPanningHandler.prototype.start=function(a){this.dx0=-this.graph.container.scrollLeft;this.dy0=-this.graph.container.scrollTop;this.startX=a.getX();this.startY=a.getY();this.dy=this.dx=null;this.panningTrigger=!0};mxPanningHandler.prototype.consumePanningTrigger=function(a){a.consume()};
mxPanningHandler.prototype.mouseMove=function(a,c){this.dx=c.getX()-this.startX;this.dy=c.getY()-this.startY;if(this.active)this.previewEnabled&&(this.useGrid&&(this.dx=this.graph.snap(this.dx),this.dy=this.graph.snap(this.dy)),this.graph.panGraph(this.dx+this.dx0,this.dy+this.dy0)),this.fireEvent(new mxEventObject(mxEvent.PAN,"event",c));else if(this.panningTrigger){var f=this.active;this.active=Math.abs(this.dx)>this.graph.tolerance||Math.abs(this.dy)>this.graph.tolerance;!f&&this.active&&this.fireEvent(new mxEventObject(mxEvent.PAN_START,
"event",c))}(this.active||this.panningTrigger)&&c.consume()};
mxPanningHandler.prototype.mouseUp=function(a,c){if(this.active){if(null!=this.dx&&null!=this.dy){if(!this.graph.useScrollbarsForPanning||!mxUtils.hasScrollbars(this.graph.container)){var f=this.graph.getView().scale,d=this.graph.getView().translate;this.graph.panGraph(0,0);this.panGraph(d.x+this.dx/f,d.y+this.dy/f)}c.consume()}this.fireEvent(new mxEventObject(mxEvent.PAN_END,"event",c))}this.panningTrigger=!1;this.mouseDownEvent=null;this.active=!1;this.dy=this.dx=null};
mxPanningHandler.prototype.panGraph=function(a,c){this.graph.getView().setTranslate(a,c)};mxPanningHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.forcePanningHandler);this.graph.removeListener(this.gestureHandler)};
function mxPopupMenuHandler(a,c){null!=a&&(this.graph=a,this.factoryMethod=c,this.graph.addMouseListener(this),this.gestureHandler=mxUtils.bind(this,function(a,d){this.inTolerance=!1}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.init())}mxPopupMenuHandler.prototype=new mxPopupMenu;mxPopupMenuHandler.prototype.constructor=mxPopupMenuHandler;mxPopupMenuHandler.prototype.graph=null;mxPopupMenuHandler.prototype.selectOnPopup=!0;
mxPopupMenuHandler.prototype.clearSelectionOnBackground=!0;mxPopupMenuHandler.prototype.triggerX=null;mxPopupMenuHandler.prototype.triggerY=null;mxPopupMenuHandler.prototype.screenX=null;mxPopupMenuHandler.prototype.screenY=null;mxPopupMenuHandler.prototype.init=function(){mxPopupMenu.prototype.init.apply(this);mxEvent.addGestureListeners(this.div,mxUtils.bind(this,function(a){this.graph.tooltipHandler.hide()}))};mxPopupMenuHandler.prototype.isSelectOnPopup=function(a){return this.selectOnPopup};
mxPopupMenuHandler.prototype.mouseDown=function(a,c){this.isEnabled()&&!mxEvent.isMultiTouchEvent(c.getEvent())&&(this.hideMenu(),this.triggerX=c.getGraphX(),this.triggerY=c.getGraphY(),this.screenX=mxEvent.getMainEvent(c.getEvent()).screenX,this.screenY=mxEvent.getMainEvent(c.getEvent()).screenY,this.popupTrigger=this.isPopupTrigger(c),this.inTolerance=!0)};
mxPopupMenuHandler.prototype.mouseMove=function(a,c){if(this.inTolerance&&null!=this.screenX&&null!=this.screenY&&(Math.abs(mxEvent.getMainEvent(c.getEvent()).screenX-this.screenX)>this.graph.tolerance||Math.abs(mxEvent.getMainEvent(c.getEvent()).screenY-this.screenY)>this.graph.tolerance))this.inTolerance=!1};
mxPopupMenuHandler.prototype.mouseUp=function(a,c){if(this.popupTrigger&&this.inTolerance&&null!=this.triggerX&&null!=this.triggerY){var f=this.getCellForPopupEvent(c);this.graph.isEnabled()&&this.isSelectOnPopup(c)&&null!=f&&!this.graph.isCellSelected(f)?this.graph.setSelectionCell(f):this.clearSelectionOnBackground&&null==f&&this.graph.clearSelection();this.graph.tooltipHandler.hide();var d=mxUtils.getScrollOrigin();this.popup(c.getX()+d.x+1,c.getY()+d.y+1,f,c.getEvent());c.consume()}this.inTolerance=
this.popupTrigger=!1};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){return a.getCell()};mxPopupMenuHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.gestureHandler);mxPopupMenu.prototype.destroy.apply(this)};
function mxCellMarker(a,c,f,d){mxEventSource.call(this);null!=a&&(this.graph=a,this.validColor=null!=c?c:mxConstants.DEFAULT_VALID_COLOR,this.invalidColor=null!=c?f:mxConstants.DEFAULT_INVALID_COLOR,this.hotspot=null!=d?d:mxConstants.DEFAULT_HOTSPOT,this.highlight=new mxCellHighlight(a))}mxUtils.extend(mxCellMarker,mxEventSource);mxCellMarker.prototype.graph=null;mxCellMarker.prototype.enabled=!0;mxCellMarker.prototype.hotspot=mxConstants.DEFAULT_HOTSPOT;mxCellMarker.prototype.hotspotEnabled=!1;
mxCellMarker.prototype.validColor=null;mxCellMarker.prototype.invalidColor=null;mxCellMarker.prototype.currentColor=null;mxCellMarker.prototype.validState=null;mxCellMarker.prototype.markedState=null;mxCellMarker.prototype.setEnabled=function(a){this.enabled=a};mxCellMarker.prototype.isEnabled=function(){return this.enabled};mxCellMarker.prototype.setHotspot=function(a){this.hotspot=a};mxCellMarker.prototype.getHotspot=function(){return this.hotspot};
mxCellMarker.prototype.setHotspotEnabled=function(a){this.hotspotEnabled=a};mxCellMarker.prototype.isHotspotEnabled=function(){return this.hotspotEnabled};mxCellMarker.prototype.hasValidState=function(){return null!=this.validState};mxCellMarker.prototype.getValidState=function(){return this.validState};mxCellMarker.prototype.getMarkedState=function(){return this.markedState};mxCellMarker.prototype.reset=function(){this.validState=null;null!=this.markedState&&(this.markedState=null,this.unmark())};
mxCellMarker.prototype.process=function(a){var c=null;this.isEnabled()&&(c=this.getState(a),this.setCurrentState(c,a));return c};mxCellMarker.prototype.setCurrentState=function(a,c,f){var d=null!=a?this.isValidState(a):!1;f=null!=f?f:this.getMarkerColor(c.getEvent(),a,d);this.validState=d?a:null;if(a!=this.markedState||f!=this.currentColor)this.currentColor=f,null!=a&&null!=this.currentColor?(this.markedState=a,this.mark()):null!=this.markedState&&(this.markedState=null,this.unmark())};
mxCellMarker.prototype.markCell=function(a,c){var f=this.graph.getView().getState(a);null!=f&&(this.currentColor=null!=c?c:this.validColor,this.markedState=f,this.mark())};mxCellMarker.prototype.mark=function(){this.highlight.setHighlightColor(this.currentColor);this.highlight.highlight(this.markedState);this.fireEvent(new mxEventObject(mxEvent.MARK,"state",this.markedState))};mxCellMarker.prototype.unmark=function(){this.mark()};mxCellMarker.prototype.isValidState=function(a){return!0};
mxCellMarker.prototype.getMarkerColor=function(a,c,f){return f?this.validColor:this.invalidColor};mxCellMarker.prototype.getState=function(a){var c=this.graph.getView();cell=this.getCell(a);c=this.getStateToMark(c.getState(cell));return null!=c&&this.intersects(c,a)?c:null};mxCellMarker.prototype.getCell=function(a){return a.getCell()};mxCellMarker.prototype.getStateToMark=function(a){return a};
mxCellMarker.prototype.intersects=function(a,c){return this.hotspotEnabled?mxUtils.intersectsHotspot(a,c.getGraphX(),c.getGraphY(),this.hotspot,mxConstants.MIN_HOTSPOT_SIZE,mxConstants.MAX_HOTSPOT_SIZE):!0};mxCellMarker.prototype.destroy=function(){this.graph.getView().removeListener(this.resetHandler);this.graph.getModel().removeListener(this.resetHandler);this.highlight.destroy()};
function mxSelectionCellsHandler(a){mxEventSource.call(this);this.graph=a;this.handlers=new mxDictionary;this.graph.addMouseListener(this);this.refreshHandler=mxUtils.bind(this,function(a,f){this.isEnabled()&&this.refresh()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.refreshHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler);this.graph.getView().addListener(mxEvent.SCALE,this.refreshHandler);this.graph.getView().addListener(mxEvent.TRANSLATE,this.refreshHandler);
this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE,this.refreshHandler);this.graph.getView().addListener(mxEvent.DOWN,this.refreshHandler);this.graph.getView().addListener(mxEvent.UP,this.refreshHandler)}mxUtils.extend(mxSelectionCellsHandler,mxEventSource);mxSelectionCellsHandler.prototype.graph=null;mxSelectionCellsHandler.prototype.enabled=!0;mxSelectionCellsHandler.prototype.refreshHandler=null;mxSelectionCellsHandler.prototype.maxHandlers=100;
mxSelectionCellsHandler.prototype.handlers=null;mxSelectionCellsHandler.prototype.isEnabled=function(){return this.enabled};mxSelectionCellsHandler.prototype.setEnabled=function(a){this.enabled=a};mxSelectionCellsHandler.prototype.getHandler=function(a){return this.handlers.get(a)};mxSelectionCellsHandler.prototype.reset=function(){this.handlers.visit(function(a,c){c.reset.apply(c)})};
mxSelectionCellsHandler.prototype.refresh=function(){var a=this.handlers;this.handlers=new mxDictionary;for(var c=this.graph.getSelectionCells(),f=0;f<c.length;f++){var d=this.graph.view.getState(c[f]);if(null!=d){var b=a.remove(c[f]);null!=b&&(b.state!=d?(b.destroy(),b=null):(null!=b.refresh&&b.refresh(),b.redraw()));null==b&&(b=this.graph.createHandler(d),this.fireEvent(new mxEventObject(mxEvent.ADD,"state",d)));null!=b&&this.handlers.put(c[f],b)}}a.visit(mxUtils.bind(this,function(b,a){this.fireEvent(new mxEventObject(mxEvent.REMOVE,
"state",a.state));a.destroy()}))};mxSelectionCellsHandler.prototype.updateHandler=function(a){var c=this.handlers.remove(a.cell);null!=c&&(c.destroy(),c=this.graph.createHandler(a),null!=c&&this.handlers.put(a.cell,c))};mxSelectionCellsHandler.prototype.mouseDown=function(a,c){if(this.graph.isEnabled()&&this.isEnabled()){var f=[a,c];this.handlers.visit(function(a,b){b.mouseDown.apply(b,f)})}};
mxSelectionCellsHandler.prototype.mouseMove=function(a,c){if(this.graph.isEnabled()&&this.isEnabled()){var f=[a,c];this.handlers.visit(function(a,b){b.mouseMove.apply(b,f)})}};mxSelectionCellsHandler.prototype.mouseUp=function(a,c){if(this.graph.isEnabled()&&this.isEnabled()){var f=[a,c];this.handlers.visit(function(a,b){b.mouseUp.apply(b,f)})}};
mxSelectionCellsHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);null!=this.refreshHandler&&(this.graph.getSelectionModel().removeListener(this.refreshHandler),this.graph.getModel().removeListener(this.refreshHandler),this.graph.getView().removeListener(this.refreshHandler),this.refreshHandler=null)};
function mxConnectionHandler(a,c){mxEventSource.call(this);null!=a&&(this.graph=a,this.factoryMethod=c,this.init(),this.escapeHandler=mxUtils.bind(this,function(a,d){this.reset()}),this.graph.addListener(mxEvent.ESCAPE,this.escapeHandler))}mxUtils.extend(mxConnectionHandler,mxEventSource);mxConnectionHandler.prototype.graph=null;mxConnectionHandler.prototype.factoryMethod=!0;mxConnectionHandler.prototype.moveIconFront=!1;mxConnectionHandler.prototype.moveIconBack=!1;
mxConnectionHandler.prototype.connectImage=null;mxConnectionHandler.prototype.targetConnectImage=!1;mxConnectionHandler.prototype.enabled=!0;mxConnectionHandler.prototype.select=!0;mxConnectionHandler.prototype.createTarget=!1;mxConnectionHandler.prototype.marker=null;mxConnectionHandler.prototype.constraintHandler=null;mxConnectionHandler.prototype.error=null;mxConnectionHandler.prototype.waypointsEnabled=!1;mxConnectionHandler.prototype.ignoreMouseDown=!1;mxConnectionHandler.prototype.first=null;
mxConnectionHandler.prototype.connectIconOffset=new mxPoint(0,mxConstants.TOOLTIP_VERTICAL_OFFSET);mxConnectionHandler.prototype.edgeState=null;mxConnectionHandler.prototype.changeHandler=null;mxConnectionHandler.prototype.drillHandler=null;mxConnectionHandler.prototype.mouseDownCounter=0;mxConnectionHandler.prototype.movePreviewAway=mxClient.IS_VML;mxConnectionHandler.prototype.outlineConnect=!1;mxConnectionHandler.prototype.livePreview=!1;mxConnectionHandler.prototype.cursor=null;
mxConnectionHandler.prototype.insertBeforeSource=!1;mxConnectionHandler.prototype.isEnabled=function(){return this.enabled};mxConnectionHandler.prototype.setEnabled=function(a){this.enabled=a};mxConnectionHandler.prototype.isInsertBefore=function(a,c,f,d,b){return this.insertBeforeSource&&c!=f};mxConnectionHandler.prototype.isCreateTarget=function(a){return this.createTarget};mxConnectionHandler.prototype.setCreateTarget=function(a){this.createTarget=a};
mxConnectionHandler.prototype.createShape=function(){var a=this.livePreview&&null!=this.edgeState?this.graph.cellRenderer.createShape(this.edgeState):new mxPolyline([],mxConstants.INVALID_COLOR);a.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG;a.scale=this.graph.view.scale;a.pointerEvents=!1;a.isDashed=!0;a.init(this.graph.getView().getOverlayPane());mxEvent.redirectMouseEvents(a.node,this.graph,null);return a};
mxConnectionHandler.prototype.init=function(){this.graph.addMouseListener(this);this.marker=this.createMarker();this.constraintHandler=new mxConstraintHandler(this.graph);this.changeHandler=mxUtils.bind(this,function(a){null!=this.iconState&&(this.iconState=this.graph.getView().getState(this.iconState.cell));null!=this.iconState?(this.redrawIcons(this.icons,this.iconState),this.constraintHandler.reset()):null!=this.previous&&null==this.graph.view.getState(this.previous.cell)&&this.reset()});this.graph.getModel().addListener(mxEvent.CHANGE,
this.changeHandler);this.graph.getView().addListener(mxEvent.SCALE,this.changeHandler);this.graph.getView().addListener(mxEvent.TRANSLATE,this.changeHandler);this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE,this.changeHandler);this.drillHandler=mxUtils.bind(this,function(a){this.reset()});this.graph.addListener(mxEvent.START_EDITING,this.drillHandler);this.graph.getView().addListener(mxEvent.DOWN,this.drillHandler);this.graph.getView().addListener(mxEvent.UP,this.drillHandler)};
mxConnectionHandler.prototype.isConnectableCell=function(a){return!0};
mxConnectionHandler.prototype.createMarker=function(){var a=new mxCellMarker(this.graph);a.hotspotEnabled=!0;a.getCell=mxUtils.bind(this,function(c){var f=mxCellMarker.prototype.getCell.apply(a,arguments);this.error=null;null==f&&null!=this.currentPoint&&(f=this.graph.getCellAt(this.currentPoint.x,this.currentPoint.y));if(null!=f&&!this.graph.isCellConnectable(f)){var d=this.graph.getModel().getParent(f);this.graph.getModel().isVertex(d)&&this.graph.isCellConnectable(d)&&(f=d)}if(this.graph.isSwimlane(f)&&
null!=this.currentPoint&&this.graph.hitsSwimlaneContent(f,this.currentPoint.x,this.currentPoint.y)||!this.isConnectableCell(f))f=null;null!=f?this.isConnecting()?null!=this.previous&&(this.error=this.validateConnection(this.previous.cell,f),null!=this.error&&0==this.error.length&&(f=null,this.isCreateTarget(c.getEvent())&&(this.error=null))):this.isValidSource(f,c)||(f=null):this.isConnecting()&&!this.isCreateTarget(c.getEvent())&&!this.graph.allowDanglingEdges&&(this.error="");return f});a.isValidState=
mxUtils.bind(this,function(c){return this.isConnecting()?null==this.error:mxCellMarker.prototype.isValidState.apply(a,arguments)});a.getMarkerColor=mxUtils.bind(this,function(c,f,d){return null==this.connectImage||this.isConnecting()?mxCellMarker.prototype.getMarkerColor.apply(a,arguments):null});a.intersects=mxUtils.bind(this,function(c,f){return null!=this.connectImage||this.isConnecting()?!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};
mxConnectionHandler.prototype.start=function(a,c,f,d){this.previous=a;this.first=new mxPoint(c,f);this.edgeState=null!=d?d:this.createEdgeState(null);this.marker.currentColor=this.marker.validColor;this.marker.markedState=a;this.marker.mark();this.fireEvent(new mxEventObject(mxEvent.START,"state",this.previous))};mxConnectionHandler.prototype.isConnecting=function(){return null!=this.first&&null!=this.shape};mxConnectionHandler.prototype.isValidSource=function(a,c){return this.graph.isValidSource(a)};
mxConnectionHandler.prototype.isValidTarget=function(a){return!0};mxConnectionHandler.prototype.validateConnection=function(a,c){return!this.isValidTarget(c)?"":this.graph.getEdgeValidationError(null,a,c)};mxConnectionHandler.prototype.getConnectImage=function(a){return this.connectImage};mxConnectionHandler.prototype.isMoveIconToFrontForState=function(a){return null!=a.text&&a.text.node.parentNode==this.graph.container?!0:this.moveIconFront};
mxConnectionHandler.prototype.createIcons=function(a){var c=this.getConnectImage(a);if(null!=c&&null!=a){this.iconState=a;var f=[],d=new mxRectangle(0,0,c.width,c.height),b=new mxImageShape(d,c.src,null,null,0);b.preserveImageAspect=!1;this.isMoveIconToFrontForState(a)?(b.dialect=mxConstants.DIALECT_STRICTHTML,b.init(this.graph.container)):(b.dialect=this.graph.dialect==mxConstants.DIALECT_SVG?mxConstants.DIALECT_SVG:mxConstants.DIALECT_VML,b.init(this.graph.getView().getOverlayPane()),this.moveIconBack&&
null!=b.node.previousSibling&&b.node.parentNode.insertBefore(b.node,b.node.parentNode.firstChild));b.node.style.cursor=mxConstants.CURSOR_CONNECT;var e=mxUtils.bind(this,function(){return null!=this.currentState?this.currentState:a}),c=mxUtils.bind(this,function(a){mxEvent.isConsumed(a)||(this.icon=b,this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(a,e())))});mxEvent.redirectMouseEvents(b.node,this.graph,e,c);f.push(b);this.redrawIcons(f,this.iconState);return f}return null};
mxConnectionHandler.prototype.redrawIcons=function(a,c){if(null!=a&&null!=a[0]&&null!=c){var f=this.getIconPosition(a[0],c);a[0].bounds.x=f.x;a[0].bounds.y=f.y;a[0].redraw()}};
mxConnectionHandler.prototype.getIconPosition=function(a,c){var f=this.graph.getView().scale,d=c.getCenterX(),b=c.getCenterY();if(this.graph.isSwimlane(c.cell)){var e=this.graph.getStartSize(c.cell),d=0!=e.width?c.x+e.width*f/2:d,b=0!=e.height?c.y+e.height*f/2:b,e=mxUtils.toRadians(mxUtils.getValue(c.style,mxConstants.STYLE_ROTATION)||0);if(0!=e)var f=Math.cos(e),e=Math.sin(e),g=new mxPoint(c.getCenterX(),c.getCenterY()),b=mxUtils.getRotatedPoint(new mxPoint(d,b),f,e,g),d=b.x,b=b.y}return new mxPoint(d-
a.bounds.width/2,b-a.bounds.height/2)};mxConnectionHandler.prototype.destroyIcons=function(){if(null!=this.icons){for(var a=0;a<this.icons.length;a++)this.icons[a].destroy();this.iconState=this.selectedIcon=this.icon=this.icons=null}};mxConnectionHandler.prototype.isStartEvent=function(a){return null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentConstraint||null!=this.previous&&null==this.error&&(null==this.icons||null!=this.icons&&null!=this.icon)};
mxConnectionHandler.prototype.mouseDown=function(a,c){this.mouseDownCounter++;if(this.isEnabled()&&this.graph.isEnabled()&&!c.isConsumed()&&!this.isConnecting()&&this.isStartEvent(c)){null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint?(this.sourceConstraint=this.constraintHandler.currentConstraint,this.previous=this.constraintHandler.currentFocus,this.first=this.constraintHandler.currentPoint.clone()):this.first=new mxPoint(c.getGraphX(),
c.getGraphY());this.edgeState=this.createEdgeState(c);this.mouseDownCounter=1;this.waypointsEnabled&&null==this.shape&&(this.waypoints=null,this.shape=this.createShape(),null!=this.edgeState&&this.shape.apply(this.edgeState));if(null==this.previous&&null!=this.edgeState){var f=this.graph.getPointForEvent(c.getEvent());this.edgeState.cell.geometry.setTerminalPoint(f,!0)}this.fireEvent(new mxEventObject(mxEvent.START,"state",this.previous));c.consume()}this.selectedIcon=this.icon;this.icon=null};
mxConnectionHandler.prototype.isImmediateConnectSource=function(a){return!this.graph.isCellMovable(a.cell)};mxConnectionHandler.prototype.createEdgeState=function(a){return null};
mxConnectionHandler.prototype.isOutlineConnectEvent=function(a){var c=mxUtils.getOffset(this.graph.container),f=a.getEvent(),d=mxEvent.getClientX(f),f=mxEvent.getClientY(f),b=document.documentElement,e=this.currentPoint.x-this.graph.container.scrollLeft+c.x-((window.pageXOffset||b.scrollLeft)-(b.clientLeft||0)),c=this.currentPoint.y-this.graph.container.scrollTop+c.y-((window.pageYOffset||b.scrollTop)-(b.clientTop||0));return this.outlineConnect&&!mxEvent.isShiftDown(a.getEvent())&&(a.isSource(this.marker.highlight.shape)||
mxEvent.isAltDown(a.getEvent())&&null!=a.getState()||this.marker.highlight.isHighlightAt(d,f)||(e!=d||c!=f)&&null==a.getState()&&this.marker.highlight.isHighlightAt(e,c))};
mxConnectionHandler.prototype.updateCurrentState=function(a,c){this.constraintHandler.update(a,null==this.first,!1,null==this.first||a.isSource(this.marker.highlight.shape)?null:c);if(null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentConstraint)null!=this.marker.highlight&&null!=this.marker.highlight.state&&this.marker.highlight.state.cell==this.constraintHandler.currentFocus.cell?"transparent"!=this.marker.highlight.shape.stroke&&(this.marker.highlight.shape.stroke="transparent",
this.marker.highlight.repaint()):this.marker.markCell(this.constraintHandler.currentFocus.cell,"transparent"),null!=this.previous&&(this.error=this.validateConnection(this.previous.cell,this.constraintHandler.currentFocus.cell),null==this.error?this.currentState=this.constraintHandler.currentFocus:this.constraintHandler.reset());else{this.graph.isIgnoreTerminalEvent(a.getEvent())?(this.marker.reset(),this.currentState=null):(this.marker.process(a),this.currentState=this.marker.getValidState());var f=
this.isOutlineConnectEvent(a);null!=this.currentState&&f&&(a.isSource(this.marker.highlight.shape)&&(c=new mxPoint(a.getGraphX(),a.getGraphY())),f=this.graph.getOutlineConstraint(c,this.currentState,a),this.constraintHandler.setFocus(a,this.currentState,!1),this.constraintHandler.currentConstraint=f,this.constraintHandler.currentPoint=c);this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&(f=this.graph.view.scale,null!=this.constraintHandler.currentConstraint&&null!=
this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=mxConstants.OUTLINE_HIGHLIGHT_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/f/f,this.marker.highlight.repaint()):this.marker.hasValidState()&&(this.marker.getValidState()!=a.getState()?(this.marker.highlight.shape.stroke="transparent",this.currentState=null):this.marker.highlight.shape.stroke=mxConstants.DEFAULT_VALID_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/
f/f,this.marker.highlight.repaint()))}};mxConnectionHandler.prototype.convertWaypoint=function(a){var c=this.graph.getView().getScale(),f=this.graph.getView().getTranslate();a.x=a.x/c-f.x;a.y=a.y/c-f.y};
mxConnectionHandler.prototype.snapToPreview=function(a,c){if(!mxEvent.isAltDown(a.getEvent())&&null!=this.previous){var f=this.graph.gridSize*this.graph.view.scale/2,d=null!=this.sourceConstraint?this.first:new mxPoint(this.previous.getCenterX(),this.previous.getCenterY());Math.abs(d.x-a.getGraphX())<f&&(c.x=d.x);Math.abs(d.y-a.getGraphY())<f&&(c.y=d.y)}};
mxConnectionHandler.prototype.mouseMove=function(a,c){if(!c.isConsumed()&&(this.ignoreMouseDown||null!=this.first||!this.graph.isMouseDown)){!this.isEnabled()&&null!=this.currentState&&(this.destroyIcons(),this.currentState=null);var f=this.graph.getView(),d=f.scale,b=f.translate,f=new mxPoint(c.getGraphX(),c.getGraphY());this.error=null;this.graph.isGridEnabledEvent(c.getEvent())&&(f=new mxPoint((this.graph.snap(f.x/d-b.x)+b.x)*d,(this.graph.snap(f.y/d-b.y)+b.y)*d));this.snapToPreview(c,f);this.currentPoint=
f;(null!=this.first||this.isEnabled()&&this.graph.isEnabled())&&this.updateCurrentState(c,f);if(null!=this.first){var e=null,d=f;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint?(e=this.constraintHandler.currentConstraint,d=this.constraintHandler.currentPoint.clone()):null!=this.previous&&!this.graph.isIgnoreTerminalEvent(c.getEvent())&&mxEvent.isShiftDown(c.getEvent())&&(Math.abs(this.previous.getCenterX()-f.x)<Math.abs(this.previous.getCenterY()-
f.y)?f.x=this.previous.getCenterX():f.y=this.previous.getCenterY());b=this.first;if(null!=this.selectedIcon){var g=this.selectedIcon.bounds.width,k=this.selectedIcon.bounds.height;null!=this.currentState&&this.targetConnectImage?(g=this.getIconPosition(this.selectedIcon,this.currentState),this.selectedIcon.bounds.x=g.x,this.selectedIcon.bounds.y=g.y):(g=new mxRectangle(c.getGraphX()+this.connectIconOffset.x,c.getGraphY()+this.connectIconOffset.y,g,k),this.selectedIcon.bounds=g);this.selectedIcon.redraw()}null!=
this.edgeState?(this.updateEdgeState(d,e),d=this.edgeState.absolutePoints[this.edgeState.absolutePoints.length-1],b=this.edgeState.absolutePoints[0]):(null!=this.currentState&&null==this.constraintHandler.currentConstraint&&(g=this.getTargetPerimeterPoint(this.currentState,c),null!=g&&(d=g)),null==this.sourceConstraint&&null!=this.previous&&(g=this.getSourcePerimeterPoint(this.previous,null!=this.waypoints&&0<this.waypoints.length?this.waypoints[0]:d,c),null!=g&&(b=g)));if(null==this.currentState&&
this.movePreviewAway){g=b;null!=this.edgeState&&2<=this.edgeState.absolutePoints.length&&(e=this.edgeState.absolutePoints[this.edgeState.absolutePoints.length-2],null!=e&&(g=e));e=d.x-g.x;g=d.y-g.y;k=Math.sqrt(e*e+g*g);if(0==k)return;this.originalPoint=d.clone();d.x-=4*e/k;d.y-=4*g/k}else this.originalPoint=null;if(null==this.shape&&(e=Math.abs(f.x-this.first.x),g=Math.abs(f.y-this.first.y),e>this.graph.tolerance||g>this.graph.tolerance))this.shape=this.createShape(),null!=this.edgeState&&this.shape.apply(this.edgeState),
this.updateCurrentState(c,f);null!=this.shape&&(null!=this.edgeState?this.shape.points=this.edgeState.absolutePoints:(f=[b],null!=this.waypoints&&(f=f.concat(this.waypoints)),f.push(d),this.shape.points=f),this.drawPreview());null!=this.cursor&&(this.graph.container.style.cursor=this.cursor);mxEvent.consume(c.getEvent());c.consume()}else!this.isEnabled()||!this.graph.isEnabled()?this.constraintHandler.reset():this.previous!=this.currentState&&null==this.edgeState?(this.destroyIcons(),null!=this.currentState&&
null==this.error&&null==this.constraintHandler.currentConstraint&&(this.icons=this.createIcons(this.currentState),null==this.icons&&(this.currentState.setCursor(mxConstants.CURSOR_CONNECT),c.consume())),this.previous=this.currentState):this.previous==this.currentState&&null!=this.currentState&&(null==this.icons&&!this.graph.isMouseDown)&&c.consume();if(!this.graph.isMouseDown&&null!=this.currentState&&null!=this.icons){f=!1;d=c.getSource();for(b=0;b<this.icons.length&&!f;b++)f=d==this.icons[b].node||
d.parentNode==this.icons[b].node;f||this.updateIcons(this.currentState,this.icons,c)}}else this.constraintHandler.reset()};
mxConnectionHandler.prototype.updateEdgeState=function(a,c){null!=this.sourceConstraint&&null!=this.sourceConstraint.point&&(this.edgeState.style[mxConstants.STYLE_EXIT_X]=this.sourceConstraint.point.x,this.edgeState.style[mxConstants.STYLE_EXIT_Y]=this.sourceConstraint.point.y);null!=c&&null!=c.point?(this.edgeState.style[mxConstants.STYLE_ENTRY_X]=c.point.x,this.edgeState.style[mxConstants.STYLE_ENTRY_Y]=c.point.y):(delete this.edgeState.style[mxConstants.STYLE_ENTRY_X],delete this.edgeState.style[mxConstants.STYLE_ENTRY_Y]);
this.edgeState.absolutePoints=[null,null!=this.currentState?null:a];this.graph.view.updateFixedTerminalPoint(this.edgeState,this.previous,!0,this.sourceConstraint);null!=this.currentState&&(null==c&&(c=this.graph.getConnectionConstraint(this.edgeState,this.previous,!1)),this.edgeState.setAbsoluteTerminalPoint(null,!1),this.graph.view.updateFixedTerminalPoint(this.edgeState,this.currentState,!1,c));var f=null;if(null!=this.waypoints)for(var f=[],d=0;d<this.waypoints.length;d++){var b=this.waypoints[d].clone();
this.convertWaypoint(b);f[d]=b}this.graph.view.updatePoints(this.edgeState,f,this.previous,this.currentState);this.graph.view.updateFloatingTerminalPoints(this.edgeState,this.previous,this.currentState)};
mxConnectionHandler.prototype.getTargetPerimeterPoint=function(a,c){var f=null,d=a.view,b=d.getPerimeterFunction(a);if(null!=b){var e=null!=this.waypoints&&0<this.waypoints.length?this.waypoints[this.waypoints.length-1]:new mxPoint(this.previous.getCenterX(),this.previous.getCenterY()),d=b(d.getPerimeterBounds(a),this.edgeState,e,!1);null!=d&&(f=d)}else f=new mxPoint(a.getCenterX(),a.getCenterY());return f};
mxConnectionHandler.prototype.getSourcePerimeterPoint=function(a,c,f){f=null;var d=a.view,b=d.getPerimeterFunction(a),e=new mxPoint(a.getCenterX(),a.getCenterY());if(null!=b){var g=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0),k=-g*(Math.PI/180);0!=g&&(c=mxUtils.getRotatedPoint(new mxPoint(c.x,c.y),Math.cos(k),Math.sin(k),e));a=b(d.getPerimeterBounds(a),a,c,!1);null!=a&&(0!=g&&(a=mxUtils.getRotatedPoint(new mxPoint(a.x,a.y),Math.cos(-k),Math.sin(-k),e)),f=a)}else f=e;return f};
mxConnectionHandler.prototype.updateIcons=function(a,c,f){};mxConnectionHandler.prototype.isStopEvent=function(a){return null!=a.getState()};
mxConnectionHandler.prototype.addWaypointForEvent=function(a){var c=mxUtils.convertPoint(this.graph.container,a.getX(),a.getY()),f=Math.abs(c.x-this.first.x),c=Math.abs(c.y-this.first.y);if(null!=this.waypoints||1<this.mouseDownCounter&&(f>this.graph.tolerance||c>this.graph.tolerance))null==this.waypoints&&(this.waypoints=[]),f=this.graph.view.scale,c=new mxPoint(this.graph.snap(a.getGraphX()/f)*f,this.graph.snap(a.getGraphY()/f)*f),this.waypoints.push(c)};
mxConnectionHandler.prototype.mouseUp=function(a,c){if(!c.isConsumed()&&this.isConnecting()){if(this.waypointsEnabled&&!this.isStopEvent(c)){this.addWaypointForEvent(c);c.consume();return}if(null==this.error){var f=null!=this.previous?this.previous.cell:null,d=null;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&(d=this.constraintHandler.currentFocus.cell);null==d&&null!=this.currentState&&(d=this.currentState.cell);this.connect(f,d,c.getEvent(),c.getCell())}else null!=
this.previous&&null!=this.marker.validState&&this.previous.cell==this.marker.validState.cell&&this.graph.selectCellForEvent(this.marker.source,evt),0<this.error.length&&this.graph.validationAlert(this.error);this.destroyIcons();c.consume()}null!=this.first&&this.reset()};
mxConnectionHandler.prototype.reset=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.cursor&&null!=this.graph.container&&(this.graph.container.style.cursor="");this.destroyIcons();this.marker.reset();this.constraintHandler.reset();this.sourceConstraint=this.error=this.previous=this.edgeState=this.currentPoint=this.originalPoint=null;this.mouseDownCounter=0;this.first=null;this.fireEvent(new mxEventObject(mxEvent.RESET))};
mxConnectionHandler.prototype.drawPreview=function(){this.updatePreview(null==this.error);this.shape.redraw()};mxConnectionHandler.prototype.updatePreview=function(a){this.shape.strokewidth=this.getEdgeWidth(a);this.shape.stroke=this.getEdgeColor(a)};mxConnectionHandler.prototype.getEdgeColor=function(a){return a?mxConstants.VALID_COLOR:mxConstants.INVALID_COLOR};mxConnectionHandler.prototype.getEdgeWidth=function(a){return a?3:1};
mxConnectionHandler.prototype.connect=function(a,c,f,d){if(null!=c||this.isCreateTarget(f)||this.graph.allowDanglingEdges){var b=this.graph.getModel(),e=!1,g=null;b.beginUpdate();try{if(null!=a&&null==c&&(!this.graph.isIgnoreTerminalEvent(f)&&this.isCreateTarget(f))&&(c=this.createTargetVertex(f,a),null!=c)){d=this.graph.getDropTarget([c],f,d);e=!0;if(null==d||!this.graph.getModel().isEdge(d)){var k=this.graph.getView().getState(d);if(null!=k){var l=b.getGeometry(c);l.x-=k.origin.x;l.y-=k.origin.y}}else d=
this.graph.getDefaultParent();this.graph.addCell(c,d)}var n=this.graph.getDefaultParent();null!=a&&null!=c&&(b.getParent(a)==b.getParent(c)&&b.getParent(b.getParent(a))!=b.getRoot())&&(n=b.getParent(a),null!=a.geometry&&a.geometry.relative&&null!=c.geometry&&c.geometry.relative&&(n=b.getParent(n)));var m=k=null;null!=this.edgeState&&(k=this.edgeState.cell.value,m=this.edgeState.cell.style);g=this.insertEdge(n,null,k,a,c,m);if(null!=g){this.graph.setConnectionConstraint(g,a,!0,this.sourceConstraint);
this.graph.setConnectionConstraint(g,c,!1,this.constraintHandler.currentConstraint);null!=this.edgeState&&b.setGeometry(g,this.edgeState.cell.geometry);b.getParent(a);if(this.isInsertBefore(g,a,c,f,d)){n=null;for(l=a;null!=l.parent&&null!=l.geometry&&l.geometry.relative&&l.parent!=g.parent;)l=this.graph.model.getParent(l);null!=l&&null!=l.parent&&l.parent==g.parent&&(n=l.parent.getIndex(l),l.parent.insert(g,n))}var p=b.getGeometry(g);null==p&&(p=new mxGeometry,p.relative=!0,b.setGeometry(g,p));if(null!=
this.waypoints&&0<this.waypoints.length){var r=this.graph.view.scale,s=this.graph.view.translate;p.points=[];for(a=0;a<this.waypoints.length;a++){var q=this.waypoints[a];p.points.push(new mxPoint(q.x/r-s.x,q.y/r-s.y))}}if(null==c){var u=this.graph.view.translate,r=this.graph.view.scale,q=null!=this.originalPoint?new mxPoint(this.originalPoint.x/r-u.x,this.originalPoint.y/r-u.y):new mxPoint(this.currentPoint.x/r-u.x,this.currentPoint.y/r-u.y);q.x-=this.graph.panDx/this.graph.view.scale;q.y-=this.graph.panDy/
this.graph.view.scale;p.setTerminalPoint(q,!1)}this.fireEvent(new mxEventObject(mxEvent.CONNECT,"cell",g,"terminal",c,"event",f,"target",d,"terminalInserted",e))}}catch(t){mxLog.show(),mxLog.debug(t.message)}finally{b.endUpdate()}this.select&&this.selectCells(g,e?c:null)}};mxConnectionHandler.prototype.selectCells=function(a,c){this.graph.setSelectionCell(a)};
mxConnectionHandler.prototype.insertEdge=function(a,c,f,d,b,e){if(null==this.factoryMethod)return this.graph.insertEdge(a,c,f,d,b,e);c=this.createEdge(f,d,b,e);return this.graph.addEdge(c,a,d,b)};
mxConnectionHandler.prototype.createTargetVertex=function(a,c){for(var f=this.graph.getCellGeometry(c);null!=f&&f.relative;)c=this.graph.getModel().getParent(c),f=this.graph.getCellGeometry(c);var d=this.graph.cloneCells([c])[0],f=this.graph.getModel().getGeometry(d);if(null!=f){var b=this.graph.view.translate,e=this.graph.view.scale,g=new mxPoint(this.currentPoint.x/e-b.x,this.currentPoint.y/e-b.y);f.x=Math.round(g.x-f.width/2-this.graph.panDx/e);f.y=Math.round(g.y-f.height/2-this.graph.panDy/e);
g=this.getAlignmentTolerance();if(0<g){var k=this.graph.view.getState(c);if(null!=k){var l=k.x/e-b.x,b=k.y/e-b.y;Math.abs(l-f.x)<=g&&(f.x=Math.round(l));Math.abs(b-f.y)<=g&&(f.y=Math.round(b))}}}return d};mxConnectionHandler.prototype.getAlignmentTolerance=function(a){return this.graph.isGridEnabled()?this.graph.gridSize/2:this.graph.tolerance};
mxConnectionHandler.prototype.createEdge=function(a,c,f,d){var b=null;null!=this.factoryMethod&&(b=this.factoryMethod(c,f,d));null==b&&(b=new mxCell(a||""),b.setEdge(!0),b.setStyle(d),a=new mxGeometry,a.relative=!0,b.setGeometry(a));return b};
mxConnectionHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.marker&&(this.marker.destroy(),this.marker=null);null!=this.constraintHandler&&(this.constraintHandler.destroy(),this.constraintHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getView().removeListener(this.changeHandler),this.changeHandler=null);null!=this.drillHandler&&(this.graph.removeListener(this.drillHandler),
this.graph.getView().removeListener(this.drillHandler),this.drillHandler=null);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null)};
function mxConstraintHandler(a){this.graph=a;this.resetHandler=mxUtils.bind(this,function(a,f){null!=this.currentFocus&&null==this.graph.view.getState(this.currentFocus.cell)&&this.reset()});this.graph.model.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.view.addListener(mxEvent.SCALE,this.resetHandler);this.graph.addListener(mxEvent.ROOT,this.resetHandler)}mxConstraintHandler.prototype.pointImage=new mxImage(mxClient.imageBasePath+"/point.gif",5,5);mxConstraintHandler.prototype.graph=null;
mxConstraintHandler.prototype.enabled=!0;mxConstraintHandler.prototype.highlightColor=mxConstants.DEFAULT_VALID_COLOR;mxConstraintHandler.prototype.isEnabled=function(){return this.enabled};mxConstraintHandler.prototype.setEnabled=function(a){this.enabled=a};
mxConstraintHandler.prototype.reset=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusIcons=null}null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null);this.focusPoints=this.currentFocus=this.currentPoint=this.currentFocusArea=this.currentConstraint=null};mxConstraintHandler.prototype.getTolerance=function(a){return this.graph.getTolerance()};
mxConstraintHandler.prototype.getImageForConstraint=function(a,c,f){return this.pointImage};mxConstraintHandler.prototype.isEventIgnored=function(a,c){return!1};mxConstraintHandler.prototype.isStateIgnored=function(a,c){return!1};mxConstraintHandler.prototype.destroyIcons=function(){if(null!=this.focusIcons){for(var a=0;a<this.focusIcons.length;a++)this.focusIcons[a].destroy();this.focusPoints=this.focusIcons=null}};
mxConstraintHandler.prototype.destroyFocusHighlight=function(){null!=this.focusHighlight&&(this.focusHighlight.destroy(),this.focusHighlight=null)};mxConstraintHandler.prototype.isKeepFocusEvent=function(a){return mxEvent.isShiftDown(a.getEvent())};
mxConstraintHandler.prototype.getCellForEvent=function(a,c){var f=a.getCell();if(null==f&&null!=c&&(a.getGraphX()!=c.x||a.getGraphY()!=c.y))f=this.graph.getCellAt(c.x,c.y);if(null!=f&&!this.graph.isCellConnectable(f)){var d=this.graph.getModel().getParent(f);this.graph.getModel().isVertex(d)&&this.graph.isCellConnectable(d)&&(f=d)}return f};
mxConstraintHandler.prototype.update=function(a,c,f,d){if(this.isEnabled()&&!this.isEventIgnored(a)){null==this.mouseleaveHandler&&null!=this.graph.container&&(this.mouseleaveHandler=mxUtils.bind(this,function(){this.reset()}),mxEvent.addListener(this.graph.container,"mouseleave",this.resetHandler));var b=this.getTolerance(a),e=null!=d?d.x:a.getGraphX(),g=null!=d?d.y:a.getGraphY(),e=new mxRectangle(e-b,g-b,2*b,2*b),b=new mxRectangle(a.getGraphX()-b,a.getGraphY()-b,2*b,2*b),k=this.graph.view.getState(this.getCellForEvent(a,
d));if(!this.isKeepFocusEvent(a)&&(null==this.currentFocusArea||null==this.currentFocus||null!=k||!this.graph.getModel().isVertex(this.currentFocus.cell)||!mxUtils.intersects(this.currentFocusArea,b))&&k!=this.currentFocus)this.currentFocus=this.currentFocusArea=null,this.setFocus(a,k,c);a=this.currentPoint=this.currentConstraint=null;if(null!=this.focusIcons&&null!=this.constraints&&(null==k||this.currentFocus==k))for(var g=b.getCenterX(),l=b.getCenterY(),n=0;n<this.focusIcons.length;n++){var m=
g-this.focusIcons[n].bounds.getCenterX(),p=l-this.focusIcons[n].bounds.getCenterY(),m=m*m+p*p;if((this.intersects(this.focusIcons[n],b,c,f)||null!=d&&this.intersects(this.focusIcons[n],e,c,f))&&(null==a||m<a)){this.currentConstraint=this.constraints[n];this.currentPoint=this.focusPoints[n];a=m;m=this.focusIcons[n].bounds.clone();m.grow(mxConstants.HIGHLIGHT_SIZE);mxClient.IS_IE&&(m.grow(1),m.width-=1,m.height-=1);if(null==this.focusHighlight){p=this.createHighlightShape();p.dialect=this.graph.dialect==
mxConstants.DIALECT_SVG?mxConstants.DIALECT_SVG:mxConstants.DIALECT_VML;p.pointerEvents=!1;p.init(this.graph.getView().getOverlayPane());this.focusHighlight=p;var r=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:k});mxEvent.redirectMouseEvents(p.node,this.graph,r)}this.focusHighlight.bounds=m;this.focusHighlight.redraw()}}null==this.currentConstraint&&this.destroyFocusHighlight()}else this.currentPoint=this.currentFocus=this.currentConstraint=null};
mxConstraintHandler.prototype.setFocus=function(a,c,f){this.constraints=null!=c&&!this.isStateIgnored(c,f)&&this.graph.isCellConnectable(c.cell)?this.isEnabled()?this.graph.getAllConnectionConstraints(c,f)||[]:[]:null;if(null!=this.constraints){this.currentFocus=c;this.currentFocusArea=new mxRectangle(c.x,c.y,c.width,c.height);if(null!=this.focusIcons){for(f=0;f<this.focusIcons.length;f++)this.focusIcons[f].destroy();this.focusPoints=this.focusIcons=null}this.focusPoints=[];this.focusIcons=[];for(f=
0;f<this.constraints.length;f++){var d=this.graph.getConnectionPoint(c,this.constraints[f]),b=this.getImageForConstraint(c,this.constraints[f],d),e=b.src,b=new mxRectangle(Math.round(d.x-b.width/2),Math.round(d.y-b.height/2),b.width,b.height),e=new mxImageShape(b,e);e.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG;e.preserveImageAspect=!1;e.init(this.graph.getView().getDecoratorPane());(mxClient.IS_QUIRKS||8==document.documentMode)&&mxEvent.addListener(e.node,
"dragstart",function(b){mxEvent.consume(b);return!1});null!=e.node.previousSibling&&e.node.parentNode.insertBefore(e.node,e.node.parentNode.firstChild);b=mxUtils.bind(this,function(){return null!=this.currentFocus?this.currentFocus:c});e.redraw();mxEvent.redirectMouseEvents(e.node,this.graph,b);this.currentFocusArea.add(e.bounds);this.focusIcons.push(e);this.focusPoints.push(d)}this.currentFocusArea.grow(this.getTolerance(a))}else this.destroyIcons(),this.destroyFocusHighlight()};
mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxRectangleShape(null,this.highlightColor,this.highlightColor,mxConstants.HIGHLIGHT_STROKEWIDTH);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConstraintHandler.prototype.intersects=function(a,c,f,d){return mxUtils.intersects(a.bounds,c)};
mxConstraintHandler.prototype.destroy=function(){this.reset();null!=this.resetHandler&&(this.graph.model.removeListener(this.resetHandler),this.graph.view.removeListener(this.resetHandler),this.graph.removeListener(this.resetHandler),this.resetHandler=null);null!=this.mouseleaveHandler&&null!=this.graph.container&&(mxEvent.removeListener(this.graph.container,"mouseleave",this.mouseleaveHandler),this.mouseleaveHandler=null)};
function mxRubberband(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forceRubberbandHandler=mxUtils.bind(this,function(a,f){var d=f.getProperty("eventName"),b=f.getProperty("event");if(d==mxEvent.MOUSE_DOWN&&this.isForceRubberbandEvent(b)){var d=mxUtils.getOffset(this.graph.container),e=mxUtils.getScrollOrigin(this.graph.container);e.x-=d.x;e.y-=d.y;this.start(b.getX()+e.x,b.getY()+e.y);b.consume(!1)}}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forceRubberbandHandler),
this.panHandler=mxUtils.bind(this,function(){this.repaint()}),this.graph.addListener(mxEvent.PAN,this.panHandler),this.gestureHandler=mxUtils.bind(this,function(a,f){null!=this.first&&this.reset()}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),mxClient.IS_IE&&mxEvent.addListener(window,"unload",mxUtils.bind(this,function(){this.destroy()})))}mxRubberband.prototype.defaultOpacity=20;mxRubberband.prototype.enabled=!0;mxRubberband.prototype.div=null;mxRubberband.prototype.sharedDiv=null;
mxRubberband.prototype.currentX=0;mxRubberband.prototype.currentY=0;mxRubberband.prototype.isEnabled=function(){return this.enabled};mxRubberband.prototype.setEnabled=function(a){this.enabled=a};mxRubberband.prototype.isForceRubberbandEvent=function(a){return mxEvent.isAltDown(a.getEvent())};
mxRubberband.prototype.mouseDown=function(a,c){if(!c.isConsumed()&&this.isEnabled()&&this.graph.isEnabled()&&null==c.getState()&&!mxEvent.isMultiTouchEvent(c.getEvent())){var f=mxUtils.getOffset(this.graph.container),d=mxUtils.getScrollOrigin(this.graph.container);d.x-=f.x;d.y-=f.y;this.start(c.getX()+d.x,c.getY()+d.y);c.consume(!1)}};
mxRubberband.prototype.start=function(a,c){function f(b){b=new mxMouseEvent(b);var a=mxUtils.convertPoint(d,b.getX(),b.getY());b.graphX=a.x;b.graphY=a.y;return b}this.first=new mxPoint(a,c);var d=this.graph.container;this.dragHandler=mxUtils.bind(this,function(b){this.mouseMove(this.graph,f(b))});this.dropHandler=mxUtils.bind(this,function(b){this.mouseUp(this.graph,f(b))});mxClient.IS_FF&&mxEvent.addGestureListeners(document,null,this.dragHandler,this.dropHandler)};
mxRubberband.prototype.mouseMove=function(a,c){if(!c.isConsumed()&&null!=this.first){var f=mxUtils.getScrollOrigin(this.graph.container),d=mxUtils.getOffset(this.graph.container);f.x-=d.x;f.y-=d.y;var d=c.getX()+f.x,f=c.getY()+f.y,b=this.first.x-d,e=this.first.y-f,g=this.graph.tolerance;if(null!=this.div||Math.abs(b)>g||Math.abs(e)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,f),c.consume()}};
mxRubberband.prototype.createShape=function(){null==this.sharedDiv&&(this.sharedDiv=document.createElement("div"),this.sharedDiv.className="mxRubberband",mxUtils.setOpacity(this.sharedDiv,this.defaultOpacity));this.graph.container.appendChild(this.sharedDiv);return this.sharedDiv};mxRubberband.prototype.mouseUp=function(a,c){var f=null!=this.div&&"none"!=this.div.style.display;this.reset();f&&(f=new mxRectangle(this.x,this.y,this.width,this.height),this.graph.selectRegion(f,c.getEvent()),c.consume())};
mxRubberband.prototype.reset=function(){null!=this.div&&this.div.parentNode.removeChild(this.div);mxEvent.removeGestureListeners(document,null,this.dragHandler,this.dropHandler);this.dropHandler=this.dragHandler=null;this.currentY=this.currentX=0;this.div=this.first=null};mxRubberband.prototype.update=function(a,c){this.currentX=a;this.currentY=c;this.repaint()};
mxRubberband.prototype.repaint=function(){if(null!=this.div){var a=this.currentX-this.graph.panDx,c=this.currentY-this.graph.panDy;this.x=Math.min(this.first.x,a);this.y=Math.min(this.first.y,c);this.width=Math.max(this.first.x,a)-this.x;this.height=Math.max(this.first.y,c)-this.y;a=mxClient.IS_VML?this.graph.panDy:0;this.div.style.left=this.x+(mxClient.IS_VML?this.graph.panDx:0)+"px";this.div.style.top=this.y+a+"px";this.div.style.width=Math.max(1,this.width)+"px";this.div.style.height=Math.max(1,
this.height)+"px"}};mxRubberband.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.graph.removeMouseListener(this),this.graph.removeListener(this.forceRubberbandHandler),this.graph.removeListener(this.panHandler),this.reset(),null!=this.sharedDiv&&(this.sharedDiv=null))};function mxHandle(a,c,f){this.graph=a.view.graph;this.state=a;this.cursor=null!=c?c:this.cursor;this.image=null!=f?f:this.image;this.init()}mxHandle.prototype.cursor="default";mxHandle.prototype.image=null;
mxHandle.prototype.ignoreGrid=!1;mxHandle.prototype.getPosition=function(a){};mxHandle.prototype.setPosition=function(a,c,f){};mxHandle.prototype.execute=function(){};mxHandle.prototype.copyStyle=function(a){this.graph.setCellStyles(a,this.state.style[a],[this.state.cell])};
mxHandle.prototype.processEvent=function(a){var c=this.graph.view.scale,f=this.graph.view.translate,f=new mxPoint(a.getGraphX()/c-f.x,a.getGraphY()/c-f.y);null!=this.shape&&null!=this.shape.bounds&&(f.x-=this.shape.bounds.width/c/4,f.y-=this.shape.bounds.height/c/4);var c=-mxUtils.toRadians(this.getRotation()),d=-mxUtils.toRadians(this.getTotalRotation())-c,f=this.flipPoint(this.rotatePoint(this.snapPoint(this.rotatePoint(f,c),this.ignoreGrid||!this.graph.isGridEnabledEvent(a.getEvent())),d));this.setPosition(this.state.getPaintBounds(),
f,a);this.positionChanged();this.redraw()};mxHandle.prototype.positionChanged=function(){null!=this.state.text&&this.state.text.apply(this.state);null!=this.state.shape&&this.state.shape.apply(this.state);this.graph.cellRenderer.redraw(this.state,!0)};mxHandle.prototype.getRotation=function(){return null!=this.state.shape?this.state.shape.getRotation():0};mxHandle.prototype.getTotalRotation=function(){return null!=this.state.shape?this.state.shape.getShapeRotation():0};
mxHandle.prototype.init=function(){var a=this.isHtmlRequired();null!=this.image?(this.shape=new mxImageShape(new mxRectangle(0,0,this.image.width,this.image.height),this.image.src),this.shape.preserveImageAspect=!1):this.shape=this.createShape(a);this.initShape(a)};mxHandle.prototype.createShape=function(a){a=new mxRectangle(0,0,mxConstants.HANDLE_SIZE,mxConstants.HANDLE_SIZE);return new mxRectangleShape(a,mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};
mxHandle.prototype.initShape=function(a){a&&this.shape.isHtmlAllowed()?(this.shape.dialect=mxConstants.DIALECT_STRICTHTML,this.shape.init(this.graph.container)):(this.shape.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG,null!=this.cursor&&this.shape.init(this.graph.getView().getOverlayPane()));mxEvent.redirectMouseEvents(this.shape.node,this.graph,this.state);this.shape.node.style.cursor=this.cursor};
mxHandle.prototype.redraw=function(){if(null!=this.shape&&null!=this.state.shape){var a=this.getPosition(this.state.getPaintBounds());if(null!=a){var c=mxUtils.toRadians(this.getTotalRotation()),a=this.rotatePoint(this.flipPoint(a),c),c=this.graph.view.scale,f=this.graph.view.translate;this.shape.bounds.x=Math.floor((a.x+f.x)*c-this.shape.bounds.width/2);this.shape.bounds.y=Math.floor((a.y+f.y)*c-this.shape.bounds.height/2);this.state.unscaledWidth=null;this.shape.redraw()}}};
mxHandle.prototype.isHtmlRequired=function(){return null!=this.state.text&&this.state.text.node.parentNode==this.graph.container};mxHandle.prototype.rotatePoint=function(a,c){var f=this.state.getCellBounds(),f=new mxPoint(f.getCenterX(),f.getCenterY()),d=Math.cos(c),b=Math.sin(c);return mxUtils.getRotatedPoint(a,d,b,f)};
mxHandle.prototype.flipPoint=function(a){if(null!=this.state.shape){var c=this.state.getCellBounds();this.state.shape.flipH&&(a.x=2*c.x+c.width-a.x);this.state.shape.flipV&&(a.y=2*c.y+c.height-a.y)}return a};mxHandle.prototype.snapPoint=function(a,c){c||(a.x=this.graph.snap(a.x),a.y=this.graph.snap(a.y));return a};mxHandle.prototype.setVisible=function(a){null!=this.shape&&null!=this.shape.node&&(this.shape.node.style.display=a?"":"none")};
mxHandle.prototype.reset=function(){this.setVisible(!0);this.state.style=this.graph.getCellStyle(this.state.cell);this.positionChanged()};mxHandle.prototype.destroy=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null)};
function mxVertexHandler(a){null!=a&&(this.state=a,this.init(),this.escapeHandler=mxUtils.bind(this,function(a,f){this.livePreview&&null!=this.index&&(this.state.view.graph.cellRenderer.redraw(this.state,!0),this.state.view.invalidate(this.state.cell),this.state.invalid=!1,this.state.view.validate());this.reset()}),this.state.view.graph.addListener(mxEvent.ESCAPE,this.escapeHandler))}mxVertexHandler.prototype.graph=null;mxVertexHandler.prototype.state=null;mxVertexHandler.prototype.singleSizer=!1;
mxVertexHandler.prototype.index=null;mxVertexHandler.prototype.allowHandleBoundsCheck=!0;mxVertexHandler.prototype.handleImage=null;mxVertexHandler.prototype.tolerance=0;mxVertexHandler.prototype.rotationEnabled=!1;mxVertexHandler.prototype.parentHighlightEnabled=!1;mxVertexHandler.prototype.rotationRaster=!0;mxVertexHandler.prototype.rotationCursor="crosshair";mxVertexHandler.prototype.livePreview=!1;mxVertexHandler.prototype.manageSizers=!1;mxVertexHandler.prototype.constrainGroupByChildren=!1;
mxVertexHandler.prototype.rotationHandleVSpacing=-16;mxVertexHandler.prototype.horizontalOffset=0;mxVertexHandler.prototype.verticalOffset=0;
mxVertexHandler.prototype.init=function(){this.graph=this.state.view.graph;this.selectionBounds=this.getSelectionBounds(this.state);this.bounds=new mxRectangle(this.selectionBounds.x,this.selectionBounds.y,this.selectionBounds.width,this.selectionBounds.height);this.selectionBorder=this.createSelectionShape(this.bounds);this.selectionBorder.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG;this.selectionBorder.pointerEvents=!1;this.selectionBorder.rotation=
Number(this.state.style[mxConstants.STYLE_ROTATION]||"0");this.selectionBorder.init(this.graph.getView().getOverlayPane());mxEvent.redirectMouseEvents(this.selectionBorder.node,this.graph,this.state);this.graph.isCellMovable(this.state.cell)&&this.selectionBorder.setCursor(mxConstants.CURSOR_MOVABLE_VERTEX);if(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells){var a=this.graph.isCellResizable(this.state.cell);this.sizers=[];if(a||this.graph.isLabelMovable(this.state.cell)&&
2<=this.state.width&&2<=this.state.height){var c=0;a&&(this.singleSizer||(this.sizers.push(this.createSizer("nw-resize",c++)),this.sizers.push(this.createSizer("n-resize",c++)),this.sizers.push(this.createSizer("ne-resize",c++)),this.sizers.push(this.createSizer("w-resize",c++)),this.sizers.push(this.createSizer("e-resize",c++)),this.sizers.push(this.createSizer("sw-resize",c++)),this.sizers.push(this.createSizer("s-resize",c++))),this.sizers.push(this.createSizer("se-resize",c++)));a=this.graph.model.getGeometry(this.state.cell);
null!=a&&!a.relative&&(!this.graph.isSwimlane(this.state.cell)&&this.graph.isLabelMovable(this.state.cell))&&(this.labelShape=this.createSizer(mxConstants.CURSOR_LABEL_HANDLE,mxEvent.LABEL_HANDLE,mxConstants.LABEL_HANDLE_SIZE,mxConstants.LABEL_HANDLE_FILLCOLOR),this.sizers.push(this.labelShape))}else this.graph.isCellMovable(this.state.cell)&&!this.graph.isCellResizable(this.state.cell)&&(2>this.state.width&&2>this.state.height)&&(this.labelShape=this.createSizer(mxConstants.CURSOR_MOVABLE_VERTEX,
mxEvent.LABEL_HANDLE,null,mxConstants.LABEL_HANDLE_FILLCOLOR),this.sizers.push(this.labelShape))}this.isRotationHandleVisible()&&(this.rotationShape=this.createSizer(this.rotationCursor,mxEvent.ROTATION_HANDLE,mxConstants.HANDLE_SIZE+3,mxConstants.HANDLE_FILLCOLOR),this.sizers.push(this.rotationShape));this.customHandles=this.createCustomHandles();this.redraw();this.constrainGroupByChildren&&this.updateMinBounds()};
mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)&&2<=this.state.width&&2<=this.state.height};mxVertexHandler.prototype.isConstrainedEvent=function(a){return mxEvent.isShiftDown(a.getEvent())||"fixed"==this.state.style[mxConstants.STYLE_ASPECT]};
mxVertexHandler.prototype.isCenteredEvent=function(a,c){return!1};mxVertexHandler.prototype.createCustomHandles=function(){return null};
mxVertexHandler.prototype.updateMinBounds=function(){var a=this.graph.getChildCells(this.state.cell);if(0<a.length&&(this.minBounds=this.graph.view.getBounds(a),null!=this.minBounds)){var a=this.state.view.scale,c=this.state.view.translate;this.minBounds.x-=this.state.x;this.minBounds.y-=this.state.y;this.minBounds.x/=a;this.minBounds.y/=a;this.minBounds.width/=a;this.minBounds.height/=a;this.x0=this.state.x/a-c.x;this.y0=this.state.y/a-c.y}};
mxVertexHandler.prototype.getSelectionBounds=function(a){return new mxRectangle(Math.round(a.x),Math.round(a.y),Math.round(a.width),Math.round(a.height))};mxVertexHandler.prototype.createParentHighlightShape=function(a){return this.createSelectionShape(a)};mxVertexHandler.prototype.createSelectionShape=function(a){a=new mxRectangleShape(a,null,this.getSelectionColor());a.strokewidth=this.getSelectionStrokeWidth();a.isDashed=this.isSelectionDashed();return a};
mxVertexHandler.prototype.getSelectionColor=function(){return mxConstants.VERTEX_SELECTION_COLOR};mxVertexHandler.prototype.getSelectionStrokeWidth=function(){return mxConstants.VERTEX_SELECTION_STROKEWIDTH};mxVertexHandler.prototype.isSelectionDashed=function(){return mxConstants.VERTEX_SELECTION_DASHED};
mxVertexHandler.prototype.createSizer=function(a,c,f,d){f=f||mxConstants.HANDLE_SIZE;f=new mxRectangle(0,0,f,f);d=this.createSizerShape(f,c,d);d.isHtmlAllowed()&&null!=this.state.text&&this.state.text.node.parentNode==this.graph.container?(d.bounds.height-=1,d.bounds.width-=1,d.dialect=mxConstants.DIALECT_STRICTHTML,d.init(this.graph.container)):(d.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG,d.init(this.graph.getView().getOverlayPane()));
mxEvent.redirectMouseEvents(d.node,this.graph,this.state);this.graph.isEnabled()&&d.setCursor(a);this.isSizerVisible(c)||(d.visible=!1);return d};mxVertexHandler.prototype.isSizerVisible=function(a){return!0};
mxVertexHandler.prototype.createSizerShape=function(a,c,f){return null!=this.handleImage?(a=new mxRectangle(a.x,a.y,this.handleImage.width,this.handleImage.height),a=new mxImageShape(a,this.handleImage.src),a.preserveImageAspect=!1,a):c==mxEvent.ROTATION_HANDLE?new mxEllipse(a,f||mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR):new mxRectangleShape(a,f||mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};
mxVertexHandler.prototype.moveSizerTo=function(a,c,f){null!=a&&(a.bounds.x=Math.floor(c-a.bounds.width/2),a.bounds.y=Math.floor(f-a.bounds.height/2),null!=a.node&&"none"!=a.node.style.display&&a.redraw())};
mxVertexHandler.prototype.getHandleForEvent=function(a){function c(b){return null!=b&&(a.isSource(b)||null!=d&&mxUtils.intersects(b.bounds,d)&&"none"!=b.node.style.display&&"hidden"!=b.node.style.visibility)}var f=!mxEvent.isMouseEvent(a.getEvent())?this.tolerance:1,d=this.allowHandleBoundsCheck&&(mxClient.IS_IE||0<f)?new mxRectangle(a.getGraphX()-f,a.getGraphY()-f,2*f,2*f):null;if(null!=this.customHandles&&this.isCustomHandleEvent(a))for(f=this.customHandles.length-1;0<=f;f--)if(c(this.customHandles[f].shape))return mxEvent.CUSTOM_HANDLE-
f;if(c(this.rotationShape))return mxEvent.ROTATION_HANDLE;if(c(this.labelShape))return mxEvent.LABEL_HANDLE;if(null!=this.sizers)for(f=0;f<this.sizers.length;f++)if(c(this.sizers[f]))return f;return null};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!0};
mxVertexHandler.prototype.mouseDown=function(a,c){var f=!mxEvent.isMouseEvent(c.getEvent())?this.tolerance:0;if(!c.isConsumed()&&this.graph.isEnabled()&&(0<f||c.getState()==this.state))f=this.getHandleForEvent(c),null!=f&&(this.start(c.getGraphX(),c.getGraphY(),f),c.consume())};mxVertexHandler.prototype.isLivePreviewBorder=function(){return null!=this.state.shape&&null==this.state.shape.fill&&null==this.state.shape.stroke};
mxVertexHandler.prototype.start=function(a,c,f){this.inTolerance=!0;this.childOffsetY=this.childOffsetX=0;this.index=f;this.startX=a;this.startY=c;a=this.state.view.graph.model;c=a.getParent(this.state.cell);if(this.state.view.currentRoot!=c&&(a.isVertex(c)||a.isEdge(c)))this.parentState=this.state.view.graph.view.getState(c);this.selectionBorder.node.style.display=f==mxEvent.ROTATION_HANDLE?"inline":"none";if(!this.livePreview||this.isLivePreviewBorder())this.preview=this.createSelectionShape(this.bounds),
!(mxClient.IS_SVG&&0!=Number(this.state.style[mxConstants.STYLE_ROTATION]||"0"))&&null!=this.state.text&&this.state.text.node.parentNode==this.graph.container?(this.preview.dialect=mxConstants.DIALECT_STRICTHTML,this.preview.init(this.graph.container)):(this.preview.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.preview.init(this.graph.view.getOverlayPane()));if(this.livePreview){this.hideSizers();f==mxEvent.ROTATION_HANDLE?this.rotationShape.node.style.display=
"":f==mxEvent.LABEL_HANDLE?this.labelShape.node.style.display="":null!=this.sizers&&null!=this.sizers[f]?this.sizers[f].node.style.display="":f<=mxEvent.CUSTOM_HANDLE&&null!=this.customHandles&&this.customHandles[mxEvent.CUSTOM_HANDLE-f].setVisible(!0);f=this.graph.getEdges(this.state.cell);this.edgeHandlers=[];for(a=0;a<f.length;a++)c=this.graph.selectionCellsHandler.getHandler(f[a]),null!=c&&this.edgeHandlers.push(c)}};
mxVertexHandler.prototype.setHandlesVisible=function(a){if(null!=this.sizers)for(var c=0;c<this.sizers.length;c++)this.sizers[c].node.style.display=a?"":"none";if(null!=this.customHandles)for(c=0;c<this.customHandles.length;c++)this.customHandles[c].setVisible(a)};mxVertexHandler.prototype.hideSizers=function(){this.setHandlesVisible(!1)};
mxVertexHandler.prototype.checkTolerance=function(a){if(this.inTolerance&&null!=this.startX&&null!=this.startY&&(mxEvent.isMouseEvent(a.getEvent())||Math.abs(a.getGraphX()-this.startX)>this.graph.tolerance||Math.abs(a.getGraphY()-this.startY)>this.graph.tolerance))this.inTolerance=!1};mxVertexHandler.prototype.updateHint=function(a){};mxVertexHandler.prototype.removeHint=function(){};mxVertexHandler.prototype.roundAngle=function(a){return Math.round(10*a)/10};
mxVertexHandler.prototype.roundLength=function(a){return Math.round(a)};
mxVertexHandler.prototype.mouseMove=function(a,c){!c.isConsumed()&&null!=this.index?(this.checkTolerance(c),this.inTolerance||(this.index<=mxEvent.CUSTOM_HANDLE?null!=this.customHandles&&this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].processEvent(c):this.index==mxEvent.LABEL_HANDLE?this.moveLabel(c):this.index==mxEvent.ROTATION_HANDLE?this.rotateVertex(c):this.resizeVertex(c),this.updateHint(c)),c.consume()):!this.graph.isMouseDown&&null!=this.getHandleForEvent(c)&&c.consume(!1)};
mxVertexHandler.prototype.moveLabel=function(a){var c=new mxPoint(a.getGraphX(),a.getGraphY()),f=this.graph.view.translate,d=this.graph.view.scale;this.graph.isGridEnabledEvent(a.getEvent())&&(c.x=(this.graph.snap(c.x/d-f.x)+f.x)*d,c.y=(this.graph.snap(c.y/d-f.y)+f.y)*d);this.moveSizerTo(this.sizers[null!=this.rotationShape?this.sizers.length-2:this.sizers.length-1],c.x,c.y)};
mxVertexHandler.prototype.rotateVertex=function(a){var c=new mxPoint(a.getGraphX(),a.getGraphY()),f=this.state.x+this.state.width/2-c.x,d=this.state.y+this.state.height/2-c.y;this.currentAlpha=0!=f?180*Math.atan(d/f)/Math.PI+90:0>d?180:0;0<f&&(this.currentAlpha-=180);this.rotationRaster&&this.graph.isGridEnabledEvent(a.getEvent())?(f=c.x-this.state.getCenterX(),d=c.y-this.state.getCenterY(),a=3*Math.abs(Math.sqrt(f*f+d*d)-20),a=Math.max(1,5*Math.min(3,Math.max(0,Math.round(80/Math.abs(a))))),this.currentAlpha=
Math.round(this.currentAlpha/a)*a):this.currentAlpha=this.roundAngle(this.currentAlpha);this.selectionBorder.rotation=this.currentAlpha;this.selectionBorder.redraw();this.livePreview&&this.redrawHandles()};
mxVertexHandler.prototype.resizeVertex=function(a){var c=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),f=mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION]||"0"),d=new mxPoint(a.getGraphX(),a.getGraphY()),b=this.graph.view.translate,e=this.graph.view.scale,g=Math.cos(-f),k=Math.sin(-f),l=d.x-this.startX,d=d.y-this.startY,n=k*l+g*d,l=g*l-k*d,d=n,g=this.graph.getCellGeometry(this.state.cell);this.unscaledBounds=this.union(g,l/e,d/e,this.index,this.graph.isGridEnabledEvent(a.getEvent()),
1,new mxPoint(0,0),this.isConstrainedEvent(a),this.isCenteredEvent(this.state,a));g.relative||(k=this.graph.getMaximumGraphBounds(),null!=k&&null!=this.parentState&&(k=mxRectangle.fromRectangle(k),k.x-=(this.parentState.x-b.x*e)/e,k.y-=(this.parentState.y-b.y*e)/e),this.graph.isConstrainChild(this.state.cell)&&(l=this.graph.getCellContainmentArea(this.state.cell),null!=l&&(d=this.graph.getOverlap(this.state.cell),0<d&&(l=mxRectangle.fromRectangle(l),l.x-=l.width*d,l.y-=l.height*d,l.width+=2*l.width*
d,l.height+=2*l.height*d),null==k?k=l:(k=mxRectangle.fromRectangle(k),k.intersect(l)))),null!=k&&(this.unscaledBounds.x<k.x&&(this.unscaledBounds.width-=k.x-this.unscaledBounds.x,this.unscaledBounds.x=k.x),this.unscaledBounds.y<k.y&&(this.unscaledBounds.height-=k.y-this.unscaledBounds.y,this.unscaledBounds.y=k.y),this.unscaledBounds.x+this.unscaledBounds.width>k.x+k.width&&(this.unscaledBounds.width-=this.unscaledBounds.x+this.unscaledBounds.width-k.x-k.width),this.unscaledBounds.y+this.unscaledBounds.height>
k.y+k.height&&(this.unscaledBounds.height-=this.unscaledBounds.y+this.unscaledBounds.height-k.y-k.height)));this.bounds=new mxRectangle((null!=this.parentState?this.parentState.x:b.x*e)+this.unscaledBounds.x*e,(null!=this.parentState?this.parentState.y:b.y*e)+this.unscaledBounds.y*e,this.unscaledBounds.width*e,this.unscaledBounds.height*e);g.relative&&null!=this.parentState&&(this.bounds.x+=this.state.x-this.parentState.x,this.bounds.y+=this.state.y-this.parentState.y);g=Math.cos(f);k=Math.sin(f);
f=new mxPoint(this.bounds.getCenterX(),this.bounds.getCenterY());l=f.x-c.x;d=f.y-c.y;c=g*l-k*d-l;f=k*l+g*d-d;l=this.bounds.x-this.state.x;d=this.bounds.y-this.state.y;b=g*l-k*d;g=k*l+g*d;this.bounds.x+=c;this.bounds.y+=f;this.unscaledBounds.x=this.roundLength(this.unscaledBounds.x+c/e);this.unscaledBounds.y=this.roundLength(this.unscaledBounds.y+f/e);this.unscaledBounds.width=this.roundLength(this.unscaledBounds.width);this.unscaledBounds.height=this.roundLength(this.unscaledBounds.height);!this.graph.isCellCollapsed(this.state.cell)&&
(0!=c||0!=f)?(this.childOffsetX=this.state.x-this.bounds.x+b,this.childOffsetY=this.state.y-this.bounds.y+g):this.childOffsetY=this.childOffsetX=0;this.livePreview&&this.updateLivePreview(a);null!=this.preview&&this.drawPreview()};
mxVertexHandler.prototype.updateLivePreview=function(a){var c=this.graph.view.scale,f=this.graph.view.translate;a=this.state.clone();this.state.x=this.bounds.x;this.state.y=this.bounds.y;this.state.origin=new mxPoint(this.state.x/c-f.x,this.state.y/c-f.y);this.state.width=this.bounds.width;this.state.height=this.bounds.height;this.state.unscaledWidth=null;c=this.state.absoluteOffset;new mxPoint(c.x,c.y);this.state.absoluteOffset.x=0;this.state.absoluteOffset.y=0;c=this.graph.getCellGeometry(this.state.cell);
null!=c&&(f=c.offset||this.EMPTY_POINT,null!=f&&!c.relative&&(this.state.absoluteOffset.x=this.state.view.scale*f.x,this.state.absoluteOffset.y=this.state.view.scale*f.y),this.state.view.updateVertexLabelOffset(this.state));this.state.view.graph.cellRenderer.redraw(this.state,!0);this.state.view.invalidate(this.state.cell);this.state.invalid=!1;this.state.view.validate();this.redrawHandles();this.state.setState(a)};
mxVertexHandler.prototype.mouseUp=function(a,c){if(null!=this.index&&null!=this.state){var f=new mxPoint(c.getGraphX(),c.getGraphY());this.graph.getModel().beginUpdate();try{if(this.index<=mxEvent.CUSTOM_HANDLE)null!=this.customHandles&&this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].execute();else if(this.index==mxEvent.ROTATION_HANDLE)if(null!=this.currentAlpha){var d=this.currentAlpha-(this.state.style[mxConstants.STYLE_ROTATION]||0);0!=d&&this.rotateCell(this.state.cell,d)}else this.rotateClick();
else{var b=this.graph.isGridEnabledEvent(c.getEvent()),e=mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION]||"0"),g=Math.cos(-e),k=Math.sin(-e),l=f.x-this.startX,n=f.y-this.startY,f=k*l+g*n,l=g*l-k*n,n=f,m=this.graph.view.scale,p=this.isRecursiveResize(this.state,c);this.resizeCell(this.state.cell,this.roundLength(l/m),this.roundLength(n/m),this.index,b,this.isConstrainedEvent(c),p)}}finally{this.graph.getModel().endUpdate()}c.consume();this.reset()}};
mxVertexHandler.prototype.isRecursiveResize=function(a,c){return this.graph.isRecursiveResize(this.state)};mxVertexHandler.prototype.rotateClick=function(){};
mxVertexHandler.prototype.rotateCell=function(a,c,f){if(0!=c){var d=this.graph.getModel();if(d.isVertex(a)||d.isEdge(a)){if(!d.isEdge(a)){var b=this.graph.view.getState(a),b=null!=b?b.style:this.graph.getCellStyle(a);null!=b&&this.graph.setCellStyles(mxConstants.STYLE_ROTATION,(b[mxConstants.STYLE_ROTATION]||0)+c,[a])}b=this.graph.getCellGeometry(a);if(null!=b){var e=this.graph.getCellGeometry(f);null!=e&&!d.isEdge(f)&&(b=b.clone(),b.rotate(c,new mxPoint(e.width/2,e.height/2)),d.setGeometry(a,b));
if(d.isVertex(a)&&!b.relative||d.isEdge(a)){f=d.getChildCount(a);for(b=0;b<f;b++)this.rotateCell(d.getChildAt(a,b),c,a)}}}}};
mxVertexHandler.prototype.reset=function(){null!=this.sizers&&null!=this.index&&(null!=this.sizers[this.index]&&"none"==this.sizers[this.index].node.style.display)&&(this.sizers[this.index].node.style.display="");this.index=this.inTolerance=this.currentAlpha=null;null!=this.preview&&(this.preview.destroy(),this.preview=null);if(this.livePreview&&null!=this.sizers)for(var a=0;a<this.sizers.length;a++)null!=this.sizers[a]&&(this.sizers[a].node.style.display="");if(null!=this.customHandles)for(a=0;a<
this.customHandles.length;a++)this.customHandles[a].reset();null!=this.selectionBorder&&(this.selectionBorder.node.style.display="inline",this.selectionBounds=this.getSelectionBounds(this.state),this.bounds=new mxRectangle(this.selectionBounds.x,this.selectionBounds.y,this.selectionBounds.width,this.selectionBounds.height),this.drawPreview());this.removeHint();this.redrawHandles();this.unscaledBounds=this.edgeHandlers=null};
mxVertexHandler.prototype.resizeCell=function(a,c,f,d,b,e,g){b=this.graph.model.getGeometry(a);null!=b&&(d==mxEvent.LABEL_HANDLE?(f=this.graph.view.scale,c=Math.round((this.labelShape.bounds.getCenterX()-this.startX)/f),f=Math.round((this.labelShape.bounds.getCenterY()-this.startY)/f),b=b.clone(),null==b.offset?b.offset=new mxPoint(c,f):(b.offset.x+=c,b.offset.y+=f),this.graph.model.setGeometry(a,b)):null!=this.unscaledBounds&&(f=this.graph.view.scale,(0!=this.childOffsetX||0!=this.childOffsetY)&&
this.moveChildren(a,Math.round(this.childOffsetX/f),Math.round(this.childOffsetY/f)),this.graph.resizeCell(a,this.unscaledBounds,g)))};mxVertexHandler.prototype.moveChildren=function(a,c,f){for(var d=this.graph.getModel(),b=d.getChildCount(a),e=0;e<b;e++){var g=d.getChildAt(a,e),k=this.graph.getCellGeometry(g);null!=k&&(k=k.clone(),k.translate(c,f),d.setGeometry(g,k))}};
mxVertexHandler.prototype.union=function(a,c,f,d,b,e,g,k,l){if(this.singleSizer)return d=a.x+a.width+c,g=a.y+a.height+f,b&&(d=this.graph.snap(d/e)*e,g=this.graph.snap(g/e)*e),e=new mxRectangle(a.x,a.y,0,0),e.add(new mxRectangle(d,g,0,0)),e;var n=a.width,m=a.height,p=a.x-g.x*e,r=p+n;a=a.y-g.y*e;var s=a+m,q=p+n/2,u=a+m/2;4<d?(s+=f,b&&(s=this.graph.snap(s/e)*e)):3>d&&(a+=f,b&&(a=this.graph.snap(a/e)*e));if(0==d||3==d||5==d)p+=c,b&&(p=this.graph.snap(p/e)*e);else if(2==d||4==d||7==d)r+=c,b&&(r=this.graph.snap(r/
e)*e);b=r-p;f=s-a;k&&(k=this.graph.getCellGeometry(this.state.cell),null!=k&&(k=k.width/k.height,1==d||2==d||7==d||6==d?b=f*k:f=b/k,0==d&&(p=r-b,a=s-f)));l&&(b+=b-n,f+=f-m,p+=q-(p+b/2),a+=u-(a+f/2));0>b&&(p+=b,b=Math.abs(b));0>f&&(a+=f,f=Math.abs(f));d=new mxRectangle(p+g.x*e,a+g.y*e,b,f);null!=this.minBounds&&(d.width=Math.max(d.width,this.minBounds.x*e+this.minBounds.width*e+Math.max(0,this.x0*e-d.x)),d.height=Math.max(d.height,this.minBounds.y*e+this.minBounds.height*e+Math.max(0,this.y0*e-d.y)));
return d};mxVertexHandler.prototype.redraw=function(){this.selectionBounds=this.getSelectionBounds(this.state);this.bounds=new mxRectangle(this.selectionBounds.x,this.selectionBounds.y,this.selectionBounds.width,this.selectionBounds.height);this.redrawHandles();this.drawPreview()};
mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),c=this.tolerance;if(null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]&&(this.bounds.width<2*this.sizers[0].bounds.width+2*c||this.bounds.height<2*this.sizers[0].bounds.height+2*c))c/=2,a.x=this.sizers[0].bounds.width+c,a.y=this.sizers[0].bounds.height+c;return a};
mxVertexHandler.prototype.redrawHandles=function(){var a=this.tolerance;this.verticalOffset=this.horizontalOffset=0;var c=this.bounds;if(null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]){if(null==this.index&&this.manageSizers&&8<=this.sizers.length){var f=this.getHandlePadding();this.horizontalOffset=f.x;this.verticalOffset=f.y;if(0!=this.horizontalOffset||0!=this.verticalOffset)c=new mxRectangle(c.x,c.y,c.width,c.height),c.x-=this.horizontalOffset/2,c.width+=this.horizontalOffset,c.y-=
this.verticalOffset/2,c.height+=this.verticalOffset;8<=this.sizers.length&&(c.width<2*this.sizers[0].bounds.width+2*a||c.height<2*this.sizers[0].bounds.height+2*a?(this.sizers[0].node.style.display="none",this.sizers[2].node.style.display="none",this.sizers[5].node.style.display="none",this.sizers[7].node.style.display="none"):(this.sizers[0].node.style.display="",this.sizers[2].node.style.display="",this.sizers[5].node.style.display="",this.sizers[7].node.style.display=""))}a=c.x+c.width;f=c.y+c.height;
if(this.singleSizer)this.moveSizerTo(this.sizers[0],a,f);else{var d=c.x+c.width/2,b=c.y+c.height/2;if(8<=this.sizers.length){var e="nw-resize n-resize ne-resize e-resize se-resize s-resize sw-resize w-resize".split(" "),g=mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION]||"0"),k=Math.cos(g),l=Math.sin(g),g=Math.round(4*g/Math.PI),n=new mxPoint(c.getCenterX(),c.getCenterY()),m=mxUtils.getRotatedPoint(new mxPoint(c.x,c.y),k,l,n);this.moveSizerTo(this.sizers[0],m.x,m.y);this.sizers[0].setCursor(e[mxUtils.mod(0+
g,e.length)]);m.x=d;m.y=c.y;m=mxUtils.getRotatedPoint(m,k,l,n);this.moveSizerTo(this.sizers[1],m.x,m.y);this.sizers[1].setCursor(e[mxUtils.mod(1+g,e.length)]);m.x=a;m.y=c.y;m=mxUtils.getRotatedPoint(m,k,l,n);this.moveSizerTo(this.sizers[2],m.x,m.y);this.sizers[2].setCursor(e[mxUtils.mod(2+g,e.length)]);m.x=c.x;m.y=b;m=mxUtils.getRotatedPoint(m,k,l,n);this.moveSizerTo(this.sizers[3],m.x,m.y);this.sizers[3].setCursor(e[mxUtils.mod(7+g,e.length)]);m.x=a;m.y=b;m=mxUtils.getRotatedPoint(m,k,l,n);this.moveSizerTo(this.sizers[4],
m.x,m.y);this.sizers[4].setCursor(e[mxUtils.mod(3+g,e.length)]);m.x=c.x;m.y=f;m=mxUtils.getRotatedPoint(m,k,l,n);this.moveSizerTo(this.sizers[5],m.x,m.y);this.sizers[5].setCursor(e[mxUtils.mod(6+g,e.length)]);m.x=d;m.y=f;m=mxUtils.getRotatedPoint(m,k,l,n);this.moveSizerTo(this.sizers[6],m.x,m.y);this.sizers[6].setCursor(e[mxUtils.mod(5+g,e.length)]);m.x=a;m.y=f;m=mxUtils.getRotatedPoint(m,k,l,n);this.moveSizerTo(this.sizers[7],m.x,m.y);this.sizers[7].setCursor(e[mxUtils.mod(4+g,e.length)]);this.moveSizerTo(this.sizers[8],
d+this.state.absoluteOffset.x,b+this.state.absoluteOffset.y)}else 2<=this.state.width&&2<=this.state.height?this.moveSizerTo(this.sizers[0],d+this.state.absoluteOffset.x,b+this.state.absoluteOffset.y):this.moveSizerTo(this.sizers[0],this.state.x,this.state.y)}}null!=this.rotationShape&&(g=mxUtils.toRadians(null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0"),k=Math.cos(g),l=Math.sin(g),n=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),m=mxUtils.getRotatedPoint(new mxPoint(c.x+
c.width/2,c.y+this.rotationHandleVSpacing),k,l,n),null!=this.rotationShape.node&&this.moveSizerTo(this.rotationShape,m.x,m.y));null!=this.selectionBorder&&(this.selectionBorder.rotation=Number(this.state.style[mxConstants.STYLE_ROTATION]||"0"));if(null!=this.edgeHandlers)for(c=0;c<this.edgeHandlers.length;c++)this.edgeHandlers[c].redraw();if(null!=this.customHandles)for(c=0;c<this.customHandles.length;c++)this.customHandles[c].redraw();this.updateParentHighlight()};
mxVertexHandler.prototype.updateParentHighlight=function(){if(null!=this.selectionBorder)if(null!=this.parentHighlight){var a=this.graph.model.getParent(this.state.cell);if(this.graph.model.isVertex(a)){var a=this.graph.view.getState(a),c=this.parentHighlight.bounds;if(null!=a&&(c.x!=a.x||c.y!=a.y||c.width!=a.width||c.height!=a.height))this.parentHighlight.bounds=a,this.parentHighlight.redraw()}else this.parentHighlight.destroy(),this.parentHighlight=null}else this.parentHighlightEnabled&&(a=this.graph.model.getParent(this.state.cell),
this.graph.model.isVertex(a)&&(a=this.graph.view.getState(a),null!=a&&(this.parentHighlight=this.createParentHighlightShape(a),this.parentHighlight.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.parentHighlight.pointerEvents=!1,this.parentHighlight.rotation=Number(a.style[mxConstants.STYLE_ROTATION]||"0"),this.parentHighlight.init(this.graph.getView().getOverlayPane()))))};
mxVertexHandler.prototype.drawPreview=function(){null!=this.preview&&(this.preview.bounds=this.bounds,this.preview.node.parentNode==this.graph.container&&(this.preview.bounds.width=Math.max(0,this.preview.bounds.width-1),this.preview.bounds.height=Math.max(0,this.preview.bounds.height-1)),this.preview.rotation=Number(this.state.style[mxConstants.STYLE_ROTATION]||"0"),this.preview.redraw());this.selectionBorder.bounds=this.bounds;this.selectionBorder.redraw();null!=this.parentHighlight&&this.parentHighlight.redraw()};
mxVertexHandler.prototype.destroy=function(){null!=this.escapeHandler&&(this.state.view.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.preview&&(this.preview.destroy(),this.preview=null);null!=this.parentHighlight&&(this.parentHighlight.destroy(),this.parentHighlight=null);null!=this.selectionBorder&&(this.selectionBorder.destroy(),this.selectionBorder=null);this.labelShape=null;this.removeHint();if(null!=this.sizers){for(var a=0;a<this.sizers.length;a++)this.sizers[a].destroy();
this.sizers=null}if(null!=this.customHandles){for(a=0;a<this.customHandles.length;a++)this.customHandles[a].destroy();this.customHandles=null}};function mxEdgeHandler(a){null!=a&&(this.state=a,this.init(),this.escapeHandler=mxUtils.bind(this,function(a,f){this.reset()}),this.state.view.graph.addListener(mxEvent.ESCAPE,this.escapeHandler))}mxEdgeHandler.prototype.graph=null;mxEdgeHandler.prototype.state=null;mxEdgeHandler.prototype.marker=null;mxEdgeHandler.prototype.constraintHandler=null;
mxEdgeHandler.prototype.error=null;mxEdgeHandler.prototype.shape=null;mxEdgeHandler.prototype.bends=null;mxEdgeHandler.prototype.labelShape=null;mxEdgeHandler.prototype.cloneEnabled=!0;mxEdgeHandler.prototype.addEnabled=!1;mxEdgeHandler.prototype.removeEnabled=!1;mxEdgeHandler.prototype.dblClickRemoveEnabled=!1;mxEdgeHandler.prototype.mergeRemoveEnabled=!1;mxEdgeHandler.prototype.straightRemoveEnabled=!1;mxEdgeHandler.prototype.virtualBendsEnabled=!1;mxEdgeHandler.prototype.virtualBendOpacity=20;
mxEdgeHandler.prototype.parentHighlightEnabled=!1;mxEdgeHandler.prototype.preferHtml=!1;mxEdgeHandler.prototype.allowHandleBoundsCheck=!0;mxEdgeHandler.prototype.snapToTerminals=!1;mxEdgeHandler.prototype.handleImage=null;mxEdgeHandler.prototype.tolerance=0;mxEdgeHandler.prototype.outlineConnect=!1;mxEdgeHandler.prototype.manageLabelHandle=!1;
mxEdgeHandler.prototype.init=function(){this.graph=this.state.view.graph;this.marker=this.createMarker();this.constraintHandler=new mxConstraintHandler(this.graph);this.points=[];this.abspoints=this.getSelectionPoints(this.state);this.shape=this.createSelectionShape(this.abspoints);this.shape.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG;this.shape.init(this.graph.getView().getOverlayPane());this.shape.pointerEvents=!1;this.shape.setCursor(mxConstants.CURSOR_MOVABLE_EDGE);
mxEvent.redirectMouseEvents(this.shape.node,this.graph,this.state);this.preferHtml=null!=this.state.text&&this.state.text.node.parentNode==this.graph.container;if(!this.preferHtml){var a=this.state.getVisibleTerminalState(!0);null!=a&&(this.preferHtml=null!=a.text&&a.text.node.parentNode==this.graph.container);this.preferHtml||(a=this.state.getVisibleTerminalState(!1),null!=a&&(this.preferHtml=null!=a.text&&a.text.node.parentNode==this.graph.container))}this.parentHighlightEnabled&&(a=this.graph.model.getParent(this.state.cell),
this.graph.model.isVertex(a)&&(a=this.graph.view.getState(a),null!=a&&(this.parentHighlight=this.createParentHighlightShape(a),this.parentHighlight.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.parentHighlight.pointerEvents=!1,this.parentHighlight.rotation=Number(a.style[mxConstants.STYLE_ROTATION]||"0"),this.parentHighlight.init(this.graph.getView().getOverlayPane()))));if(this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells||
0>=mxGraphHandler.prototype.maxCells)this.bends=this.createBends(),this.isVirtualBendsEnabled()&&(this.virtualBends=this.createVirtualBends());this.label=new mxPoint(this.state.absoluteOffset.x,this.state.absoluteOffset.y);this.labelShape=this.createLabelHandleShape();this.initBend(this.labelShape);this.labelShape.setCursor(mxConstants.CURSOR_LABEL_HANDLE);this.customHandles=this.createCustomHandles();this.redraw()};mxEdgeHandler.prototype.createCustomHandles=function(){return null};
mxEdgeHandler.prototype.isVirtualBendsEnabled=function(a){return this.virtualBendsEnabled&&(null==this.state.style[mxConstants.STYLE_EDGE]||this.state.style[mxConstants.STYLE_EDGE]==mxConstants.NONE||1==this.state.style[mxConstants.STYLE_NOEDGESTYLE])&&"arrow"!=mxUtils.getValue(this.state.style,mxConstants.STYLE_SHAPE,null)};mxEdgeHandler.prototype.isAddPointEvent=function(a){return mxEvent.isShiftDown(a)};mxEdgeHandler.prototype.isRemovePointEvent=function(a){return mxEvent.isShiftDown(a)};
mxEdgeHandler.prototype.getSelectionPoints=function(a){return a.absolutePoints};mxEdgeHandler.prototype.createParentHighlightShape=function(a){a=new mxRectangleShape(a,null,this.getSelectionColor());a.strokewidth=this.getSelectionStrokeWidth();a.isDashed=this.isSelectionDashed();return a};mxEdgeHandler.prototype.createSelectionShape=function(a){a=new this.state.shape.constructor;a.outline=!0;a.apply(this.state);a.isDashed=this.isSelectionDashed();a.stroke=this.getSelectionColor();a.isShadow=!1;return a};
mxEdgeHandler.prototype.getSelectionColor=function(){return mxConstants.EDGE_SELECTION_COLOR};mxEdgeHandler.prototype.getSelectionStrokeWidth=function(){return mxConstants.EDGE_SELECTION_STROKEWIDTH};mxEdgeHandler.prototype.isSelectionDashed=function(){return mxConstants.EDGE_SELECTION_DASHED};mxEdgeHandler.prototype.isConnectableCell=function(a){return!0};mxEdgeHandler.prototype.getCellAt=function(a,c){return!this.outlineConnect?this.graph.getCellAt(a,c):null};
mxEdgeHandler.prototype.createMarker=function(){var a=new mxCellMarker(this.graph),c=this;a.getCell=function(a){var d=mxCellMarker.prototype.getCell.apply(this,arguments);if((d==c.state.cell||null==d)&&null!=c.currentPoint)d=c.graph.getCellAt(c.currentPoint.x,c.currentPoint.y);if(null!=d&&!this.graph.isCellConnectable(d)){var b=this.graph.getModel().getParent(d);this.graph.getModel().isVertex(b)&&this.graph.isCellConnectable(b)&&(d=b)}b=c.graph.getModel();if(this.graph.isSwimlane(d)&&null!=c.currentPoint&&
this.graph.hitsSwimlaneContent(d,c.currentPoint.x,c.currentPoint.y)||!c.isConnectableCell(d)||d==c.state.cell||null!=d&&!c.graph.connectableEdges&&b.isEdge(d)||b.isAncestor(c.state.cell,d))d=null;this.graph.isCellConnectable(d)||(d=null);return d};a.isValidState=function(a){var d=c.graph.getModel(),d=c.graph.view.getTerminalPort(a,c.graph.view.getState(d.getTerminal(c.state.cell,!c.isSource)),!c.isSource),d=null!=d?d.cell:null;c.error=c.validateConnection(c.isSource?a.cell:d,c.isSource?d:a.cell);
return null==c.error};return a};mxEdgeHandler.prototype.validateConnection=function(a,c){return this.graph.getEdgeValidationError(this.state.cell,a,c)};
mxEdgeHandler.prototype.createBends=function(){for(var a=this.state.cell,c=[],f=0;f<this.abspoints.length;f++)if(this.isHandleVisible(f)){var d=f==this.abspoints.length-1,b=0==f||d;(b||this.graph.isCellBendable(a))&&mxUtils.bind(this,function(a){var d=this.createHandleShape(a);this.initBend(d,mxUtils.bind(this,mxUtils.bind(this,function(){this.dblClickRemoveEnabled&&this.removePoint(this.state,a)})));this.isHandleEnabled(f)&&d.setCursor(b?mxConstants.CURSOR_TERMINAL_HANDLE:mxConstants.CURSOR_BEND_HANDLE);
c.push(d);b||(this.points.push(new mxPoint(0,0)),d.node.style.visibility="hidden")})(f)}return c};mxEdgeHandler.prototype.createVirtualBends=function(){var a=[];if(this.graph.isCellBendable(this.state.cell))for(var c=1;c<this.abspoints.length;c++)mxUtils.bind(this,function(c){this.initBend(c);c.setCursor(mxConstants.CURSOR_VIRTUAL_BEND_HANDLE);a.push(c)})(this.createHandleShape());return a};mxEdgeHandler.prototype.isHandleEnabled=function(a){return!0};
mxEdgeHandler.prototype.isHandleVisible=function(a){var c=this.state.getVisibleTerminalState(!0),f=this.state.getVisibleTerminalState(!1),d=this.graph.getCellGeometry(this.state.cell);return(null!=d?this.graph.view.getEdgeStyle(this.state,d.points,c,f):null)!=mxEdgeStyle.EntityRelation||0==a||a==this.abspoints.length-1};
mxEdgeHandler.prototype.createHandleShape=function(a){if(null!=this.handleImage)return a=new mxImageShape(new mxRectangle(0,0,this.handleImage.width,this.handleImage.height),this.handleImage.src),a.preserveImageAspect=!1,a;a=mxConstants.HANDLE_SIZE;this.preferHtml&&(a-=1);return new mxRectangleShape(new mxRectangle(0,0,a,a),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};
mxEdgeHandler.prototype.createLabelHandleShape=function(){if(null!=this.labelHandleImage){var a=new mxImageShape(new mxRectangle(0,0,this.labelHandleImage.width,this.labelHandleImage.height),this.labelHandleImage.src);a.preserveImageAspect=!1;return a}a=mxConstants.LABEL_HANDLE_SIZE;return new mxRectangleShape(new mxRectangle(0,0,a,a),mxConstants.LABEL_HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};
mxEdgeHandler.prototype.initBend=function(a,c){this.preferHtml?(a.dialect=mxConstants.DIALECT_STRICTHTML,a.init(this.graph.container)):(a.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_MIXEDHTML:mxConstants.DIALECT_SVG,a.init(this.graph.getView().getOverlayPane()));mxEvent.redirectMouseEvents(a.node,this.graph,this.state,null,null,null,c);(mxClient.IS_QUIRKS||8==document.documentMode)&&mxEvent.addListener(a.node,"dragstart",function(a){mxEvent.consume(a);return!1});mxClient.IS_TOUCH&&
a.node.setAttribute("pointer-events","none")};
mxEdgeHandler.prototype.getHandleForEvent=function(a){function c(c){if(null!=c&&"none"!=c.node.style.display&&"hidden"!=c.node.style.visibility&&(a.isSource(c)||null!=d&&mxUtils.intersects(c.bounds,d))){var e=a.getGraphX()-c.bounds.getCenterX();c=a.getGraphY()-c.bounds.getCenterY();e=e*e+c*c;if(null==b||e<=b)return b=e,!0}return!1}var f=!mxEvent.isMouseEvent(a.getEvent())?this.tolerance:1,d=this.allowHandleBoundsCheck&&(mxClient.IS_IE||0<f)?new mxRectangle(a.getGraphX()-f,a.getGraphY()-f,2*f,2*f):
null,b=null,f=null;if(null!=this.customHandles&&this.isCustomHandleEvent(a))for(var e=this.customHandles.length-1;0<=e;e--)if(c(this.customHandles[e].shape))return mxEvent.CUSTOM_HANDLE-e;if(a.isSource(this.state.text)||c(this.labelShape))f=mxEvent.LABEL_HANDLE;if(null!=this.bends)for(e=0;e<this.bends.length;e++)c(this.bends[e])&&(f=e);if(null!=this.virtualBends&&this.isAddVirtualBendEvent(a))for(e=0;e<this.virtualBends.length;e++)c(this.virtualBends[e])&&(f=mxEvent.VIRTUAL_HANDLE-e);return f};
mxEdgeHandler.prototype.isAddVirtualBendEvent=function(a){return!0};mxEdgeHandler.prototype.isCustomHandleEvent=function(a){return!0};
mxEdgeHandler.prototype.mouseDown=function(a,c){var f=this.getHandleForEvent(c);if(null!=this.bends&&null!=this.bends[f]){var d=this.bends[f].bounds;this.snapPoint=new mxPoint(d.getCenterX(),d.getCenterY())}if(this.addEnabled&&null==f&&this.isAddPointEvent(c.getEvent()))this.addPoint(this.state,c.getEvent()),c.consume();else if(null!=f&&!c.isConsumed()&&this.graph.isEnabled()){if(this.removeEnabled&&this.isRemovePointEvent(c.getEvent()))this.removePoint(this.state,f);else if(f!=mxEvent.LABEL_HANDLE||
this.graph.isLabelMovable(c.getCell()))f<=mxEvent.VIRTUAL_HANDLE&&mxUtils.setOpacity(this.virtualBends[mxEvent.VIRTUAL_HANDLE-f].node,100),this.start(c.getX(),c.getY(),f);c.consume()}};
mxEdgeHandler.prototype.start=function(a,c,f){this.startX=a;this.startY=c;this.isSource=null==this.bends?!1:0==f;this.isTarget=null==this.bends?!1:f==this.bends.length-1;this.isLabel=f==mxEvent.LABEL_HANDLE;if(this.isSource||this.isTarget){if(a=this.state.cell,c=this.graph.model.getTerminal(a,this.isSource),null==c&&this.graph.isTerminalPointMovable(a,this.isSource)||null!=c&&this.graph.isCellDisconnectable(a,c,this.isSource))this.index=f}else this.index=f;if(this.index<=mxEvent.CUSTOM_HANDLE&&this.index>
mxEvent.VIRTUAL_HANDLE&&null!=this.customHandles)for(f=0;f<this.customHandles.length;f++)f!=mxEvent.CUSTOM_HANDLE-this.index&&this.customHandles[f].setVisible(!1)};mxEdgeHandler.prototype.clonePreviewState=function(a,c){return this.state.clone()};mxEdgeHandler.prototype.getSnapToTerminalTolerance=function(){return this.graph.gridSize*this.graph.view.scale/2};mxEdgeHandler.prototype.updateHint=function(a,c){};mxEdgeHandler.prototype.removeHint=function(){};mxEdgeHandler.prototype.roundLength=function(a){return Math.round(a)};
mxEdgeHandler.prototype.isSnapToTerminalsEvent=function(a){return this.snapToTerminals&&!mxEvent.isAltDown(a.getEvent())};
mxEdgeHandler.prototype.getPointForEvent=function(a){var c=this.graph.getView(),f=c.scale,d=new mxPoint(this.roundLength(a.getGraphX()/f)*f,this.roundLength(a.getGraphY()/f)*f),b=this.getSnapToTerminalTolerance(),e=!1,g=!1;if(0<b&&this.isSnapToTerminalsEvent(a)){var k=function(a){if(null!=a){var c=a.x;Math.abs(d.x-c)<b&&(d.x=c,e=!0);a=a.y;Math.abs(d.y-a)<b&&(d.y=a,g=!0)}},l=function(b){null!=b&&k.call(this,new mxPoint(c.getRoutingCenterX(b),c.getRoutingCenterY(b)))};l.call(this,this.state.getVisibleTerminalState(!0));
l.call(this,this.state.getVisibleTerminalState(!1));if(null!=this.state.absolutePoints)for(l=0;l<this.state.absolutePoints.length;l++)k.call(this,this.state.absolutePoints[l])}this.graph.isGridEnabledEvent(a.getEvent())&&(a=c.translate,e||(d.x=(this.graph.snap(d.x/f-a.x)+a.x)*f),g||(d.y=(this.graph.snap(d.y/f-a.y)+a.y)*f));return d};
mxEdgeHandler.prototype.getPreviewTerminalState=function(a){this.constraintHandler.update(a,this.isSource,!0,a.isSource(this.marker.highlight.shape)?null:this.currentPoint);if(null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentConstraint)return null!=this.marker.highlight&&null!=this.marker.highlight.state&&this.marker.highlight.state.cell==this.constraintHandler.currentFocus.cell?"transparent"!=this.marker.highlight.shape.stroke&&(this.marker.highlight.shape.stroke="transparent",
this.marker.highlight.repaint()):this.marker.markCell(this.constraintHandler.currentFocus.cell,"transparent"),a=this.graph.getModel(),a=this.graph.view.getTerminalPort(this.state,this.graph.view.getState(a.getTerminal(this.state.cell,!this.isSource)),!this.isSource),a=null!=a?a.cell:null,this.error=this.validateConnection(this.isSource?this.constraintHandler.currentFocus.cell:a,this.isSource?a:this.constraintHandler.currentFocus.cell),a=null,null==this.error?a=this.constraintHandler.currentFocus:
this.constraintHandler.reset(),a;if(this.graph.isIgnoreTerminalEvent(a.getEvent()))return this.marker.reset(),null;this.marker.process(a);return this.marker.getValidState()};
mxEdgeHandler.prototype.getPreviewPoints=function(a,c){var f=this.graph.getCellGeometry(this.state.cell),f=null!=f.points?f.points.slice():null,d=new mxPoint(a.x,a.y),b=null;if(!this.isSource&&!this.isTarget)if(this.convertPoint(d,!1),null==f)f=[d];else{this.index<=mxEvent.VIRTUAL_HANDLE&&f.splice(mxEvent.VIRTUAL_HANDLE-this.index,0,d);if(!this.isSource&&!this.isTarget){for(var e=0;e<this.bends.length;e++)if(e!=this.index){var g=this.bends[e];null!=g&&mxUtils.contains(g.bounds,a.x,a.y)&&(this.index<=
mxEvent.VIRTUAL_HANDLE?f.splice(mxEvent.VIRTUAL_HANDLE-this.index,1):f.splice(this.index-1,1),b=f)}if(null==b&&this.straightRemoveEnabled&&(null==c||!mxEvent.isAltDown(c.getEvent()))){e=this.graph.tolerance*this.graph.tolerance;g=this.state.absolutePoints.slice();g[this.index]=a;var k=this.state.getVisibleTerminalState(!0);if(null!=k){var l=this.graph.getConnectionConstraint(this.state,k,!0);if(null==l||null==this.graph.getConnectionPoint(k,l))g[0]=new mxPoint(k.view.getRoutingCenterX(k),k.view.getRoutingCenterY(k))}k=
this.state.getVisibleTerminalState(!1);if(null!=k&&(l=this.graph.getConnectionConstraint(this.state,k,!1),null==l||null==this.graph.getConnectionPoint(k,l)))g[g.length-1]=new mxPoint(k.view.getRoutingCenterX(k),k.view.getRoutingCenterY(k));l=this.index;0<l&&l<g.length-1&&mxUtils.ptSegDistSq(g[l-1].x,g[l-1].y,g[l+1].x,g[l+1].y,a.x,a.y)<e&&(f.splice(l-1,1),b=f)}}null==b&&this.index>mxEvent.VIRTUAL_HANDLE&&(f[this.index-1]=d)}else this.graph.resetEdgesOnConnect&&(f=null);return null!=b?b:f};
mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){var c=mxUtils.getOffset(this.graph.container),f=a.getEvent(),d=mxEvent.getClientX(f),f=mxEvent.getClientY(f),b=document.documentElement,e=this.currentPoint.x-this.graph.container.scrollLeft+c.x-((window.pageXOffset||b.scrollLeft)-(b.clientLeft||0)),c=this.currentPoint.y-this.graph.container.scrollTop+c.y-((window.pageYOffset||b.scrollTop)-(b.clientTop||0));return this.outlineConnect&&!mxEvent.isShiftDown(a.getEvent())&&(a.isSource(this.marker.highlight.shape)||
mxEvent.isAltDown(a.getEvent())&&null!=a.getState()||this.marker.highlight.isHighlightAt(d,f)||(e!=d||c!=f)&&null==a.getState()&&this.marker.highlight.isHighlightAt(e,c))};
mxEdgeHandler.prototype.updatePreviewState=function(a,c,f,d,b){var e=this.isSource?f:this.state.getVisibleTerminalState(!0),g=this.isTarget?f:this.state.getVisibleTerminalState(!1),k=this.graph.getConnectionConstraint(a,e,!0),l=this.graph.getConnectionConstraint(a,g,!1),n=this.constraintHandler.currentConstraint;null==n&&b&&(null!=f?(d.isSource(this.marker.highlight.shape)&&(c=new mxPoint(d.getGraphX(),d.getGraphY())),n=this.graph.getOutlineConstraint(c,f,d),this.constraintHandler.setFocus(d,f,this.isSource),
this.constraintHandler.currentConstraint=n,this.constraintHandler.currentPoint=c):n=new mxConnectionConstraint);if(this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape){var m=this.graph.view.scale;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=b?mxConstants.OUTLINE_HIGHLIGHT_COLOR:"transparent",this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/m/m,this.marker.highlight.repaint()):
this.marker.hasValidState()&&(this.marker.highlight.shape.stroke=this.marker.getValidState()==d.getState()?mxConstants.DEFAULT_VALID_COLOR:"transparent",this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/m/m,this.marker.highlight.repaint())}this.isSource?k=n:this.isTarget&&(l=n);if(this.isSource||this.isTarget)null!=n&&null!=n.point?(a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X]=n.point.x,a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]=
n.point.y):(delete a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X],delete a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]);a.setVisibleTerminalState(e,!0);a.setVisibleTerminalState(g,!1);(!this.isSource||null!=e)&&a.view.updateFixedTerminalPoint(a,e,!0,k);(!this.isTarget||null!=g)&&a.view.updateFixedTerminalPoint(a,g,!1,l);if((this.isSource||this.isTarget)&&null==f)a.setAbsoluteTerminalPoint(c,this.isSource),null==this.marker.getMarkedState()&&(this.error=
this.graph.allowDanglingEdges?null:"");a.view.updatePoints(a,this.points,e,g);a.view.updateFloatingTerminalPoints(a,e,g)};
mxEdgeHandler.prototype.mouseMove=function(a,c){if(null!=this.index&&null!=this.marker){this.currentPoint=this.getPointForEvent(c);this.error=null;!this.graph.isIgnoreTerminalEvent(c.getEvent())&&mxEvent.isShiftDown(c.getEvent())&&null!=this.snapPoint&&(Math.abs(this.snapPoint.x-this.currentPoint.x)<Math.abs(this.snapPoint.y-this.currentPoint.y)?this.currentPoint.x=this.snapPoint.x:this.currentPoint.y=this.snapPoint.y);if(this.index<=mxEvent.CUSTOM_HANDLE&&this.index>mxEvent.VIRTUAL_HANDLE)null!=
this.customHandles&&this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].processEvent(c);else if(this.isLabel)this.label.x=this.currentPoint.x,this.label.y=this.currentPoint.y;else{this.points=this.getPreviewPoints(this.currentPoint,c);var f=this.isSource||this.isTarget?this.getPreviewTerminalState(c):null;if(null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint)this.currentPoint=this.constraintHandler.currentPoint.clone();
else if(this.outlineConnect){var d=this.isSource||this.isTarget?this.isOutlineConnectEvent(c):!1;d?f=this.marker.highlight.state:null!=f&&f!=c.getState()&&null!=this.marker.highlight.shape&&(this.marker.highlight.shape.stroke="transparent",this.marker.highlight.repaint(),f=null)}var b=this.clonePreviewState(this.currentPoint,null!=f?f.cell:null);this.updatePreviewState(b,this.currentPoint,f,c,d);this.setPreviewColor(null==this.error?this.marker.validColor:this.marker.invalidColor);this.abspoints=
b.absolutePoints;this.active=!0}this.updateHint(c,this.currentPoint);this.drawPreview();mxEvent.consume(c.getEvent());c.consume()}else mxClient.IS_IE&&null!=this.getHandleForEvent(c)&&c.consume(!1)};
mxEdgeHandler.prototype.mouseUp=function(a,c){if(null!=this.index&&null!=this.marker){var f=this.state.cell;if(c.getX()!=this.startX||c.getY()!=this.startY){var d=!this.graph.isIgnoreTerminalEvent(c.getEvent())&&this.graph.isCloneEvent(c.getEvent())&&this.cloneEnabled&&this.graph.isCellsCloneable();if(null!=this.error)0<this.error.length&&this.graph.validationAlert(this.error);else if(this.index<=mxEvent.CUSTOM_HANDLE&&this.index>mxEvent.VIRTUAL_HANDLE){if(null!=this.customHandles){d=this.graph.getModel();
d.beginUpdate();try{this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].execute()}finally{d.endUpdate()}}}else if(this.isLabel)this.moveLabel(this.state,this.label.x,this.label.y);else if(this.isSource||this.isTarget){var b=null;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&(b=this.constraintHandler.currentFocus.cell);null==b&&this.marker.hasValidState()&&(null!=this.marker.highlight&&null!=this.marker.highlight.shape&&"transparent"!=this.marker.highlight.shape.stroke&&
"white"!=this.marker.highlight.shape.stroke)&&(b=this.marker.validState.cell);if(null!=b)f=this.connect(f,b,this.isSource,d,c);else if(this.graph.isAllowDanglingEdges()){b=this.abspoints[this.isSource?0:this.abspoints.length-1];b.x=this.roundLength(b.x/this.graph.view.scale-this.graph.view.translate.x);b.y=this.roundLength(b.y/this.graph.view.scale-this.graph.view.translate.y);var e=this.graph.getView().getState(this.graph.getModel().getParent(f));null!=e&&(b.x-=e.origin.x,b.y-=e.origin.y);b.x-=this.graph.panDx/
this.graph.view.scale;b.y-=this.graph.panDy/this.graph.view.scale;f=this.changeTerminalPoint(f,b,this.isSource,d)}}else this.active?f=this.changePoints(f,this.points,d):(this.graph.getView().invalidate(this.state.cell),this.graph.getView().validate(this.state.cell))}null!=this.marker&&(this.reset(),f!=this.state.cell&&this.graph.setSelectionCell(f));c.consume()}};
mxEdgeHandler.prototype.reset=function(){this.snapPoint=this.points=this.label=this.index=this.error=null;this.isTarget=this.isSource=this.isLabel=this.active=!1;if(this.livePreview&&null!=this.sizers)for(var a=0;a<this.sizers.length;a++)null!=this.sizers[a]&&(this.sizers[a].node.style.display="");null!=this.marker&&this.marker.reset();null!=this.constraintHandler&&this.constraintHandler.reset();if(null!=this.customHandles)for(a=0;a<this.customHandles.length;a++)this.customHandles[a].reset();this.setPreviewColor(mxConstants.EDGE_SELECTION_COLOR);
this.removeHint();this.redraw()};mxEdgeHandler.prototype.setPreviewColor=function(a){null!=this.shape&&(this.shape.stroke=a)};mxEdgeHandler.prototype.convertPoint=function(a,c){var f=this.graph.getView().getScale(),d=this.graph.getView().getTranslate();c&&(a.x=this.graph.snap(a.x),a.y=this.graph.snap(a.y));a.x=Math.round(a.x/f-d.x);a.y=Math.round(a.y/f-d.y);f=this.graph.getView().getState(this.graph.getModel().getParent(this.state.cell));null!=f&&(a.x-=f.origin.x,a.y-=f.origin.y);return a};
mxEdgeHandler.prototype.moveLabel=function(a,c,f){var d=this.graph.getModel(),b=d.getGeometry(a.cell);if(null!=b){var e=this.graph.getView().scale,b=b.clone();if(b.relative){var g=this.graph.getView().getRelativePoint(a,c,f);b.x=Math.round(1E4*g.x)/1E4;b.y=Math.round(g.y);b.offset=new mxPoint(0,0);g=this.graph.view.getPoint(a,b);b.offset=new mxPoint(Math.round((c-g.x)/e),Math.round((f-g.y)/e))}else{var k=a.absolutePoints,g=k[0],k=k[k.length-1];if(null!=g&&null!=k){var l=g.y+(k.y-g.y)/2;b.offset=new mxPoint(Math.round((c-
(g.x+(k.x-g.x)/2))/e),Math.round((f-l)/e));b.x=0;b.y=0}}d.setGeometry(a.cell,b)}};mxEdgeHandler.prototype.connect=function(a,c,f,d,b){b=this.graph.getModel();var e=b.getParent(a);b.beginUpdate();try{if(d){var g=this.graph.cloneCells([a])[0];b.add(e,g,b.getChildCount(e));var k=b.getTerminal(a,!f);this.graph.connectCell(g,k,!f);a=g}var l=this.constraintHandler.currentConstraint;null==l&&(l=new mxConnectionConstraint);this.graph.connectCell(a,c,f,l)}finally{b.endUpdate()}return a};
mxEdgeHandler.prototype.changeTerminalPoint=function(a,c,f,d){var b=this.graph.getModel();b.beginUpdate();try{if(d){var e=b.getParent(a),g=b.getTerminal(a,!f);a=this.graph.cloneCells([a])[0];b.add(e,a,b.getChildCount(e));b.setTerminal(a,g,!f)}var k=b.getGeometry(a);null!=k&&(k=k.clone(),k.setTerminalPoint(c,f),b.setGeometry(a,k),this.graph.connectCell(a,null,f,new mxConnectionConstraint))}finally{b.endUpdate()}return a};
mxEdgeHandler.prototype.changePoints=function(a,c,f){var d=this.graph.getModel();d.beginUpdate();try{if(f){var b=d.getParent(a),e=d.getTerminal(a,!0),g=d.getTerminal(a,!1);a=this.graph.cloneCells([a])[0];d.add(b,a,d.getChildCount(b));d.setTerminal(a,e,!0);d.setTerminal(a,g,!1)}var k=d.getGeometry(a);null!=k&&(k=k.clone(),k.points=c,d.setGeometry(a,k))}finally{d.endUpdate()}return a};
mxEdgeHandler.prototype.addPoint=function(a,c){var f=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),d=this.graph.isGridEnabledEvent(c);this.convertPoint(f,d);this.addPointAt(a,f.x,f.y);mxEvent.consume(c)};
mxEdgeHandler.prototype.addPointAt=function(a,c,f){var d=this.graph.getCellGeometry(a.cell);c=new mxPoint(c,f);if(null!=d){var d=d.clone(),b=this.graph.view.translate;f=this.graph.view.scale;var b=new mxPoint(b.x*f,b.y*f),e=this.graph.model.getParent(this.state.cell);this.graph.model.isVertex(e)&&(b=this.graph.view.getState(e),b=new mxPoint(b.x,b.y));f=mxUtils.findNearestSegment(a,c.x*f+b.x,c.y*f+b.y);null==d.points?d.points=[c]:d.points.splice(f,0,c);this.graph.getModel().setGeometry(a.cell,d);this.refresh();
this.redraw()}};mxEdgeHandler.prototype.removePoint=function(a,c){if(0<c&&c<this.abspoints.length-1){var f=this.graph.getCellGeometry(this.state.cell);null!=f&&null!=f.points&&(f=f.clone(),f.points.splice(c-1,1),this.graph.getModel().setGeometry(a.cell,f),this.refresh(),this.redraw())}};
mxEdgeHandler.prototype.getHandleFillColor=function(a){a=0==a;var c=this.state.cell,f=this.graph.getModel().getTerminal(c,a),d=mxConstants.HANDLE_FILLCOLOR;null!=f&&!this.graph.isCellDisconnectable(c,f,a)||null==f&&!this.graph.isTerminalPointMovable(c,a)?d=mxConstants.LOCKED_HANDLE_FILLCOLOR:null!=f&&this.graph.isCellDisconnectable(c,f,a)&&(d=mxConstants.CONNECT_HANDLE_FILLCOLOR);return d};
mxEdgeHandler.prototype.redraw=function(){this.abspoints=this.state.absolutePoints.slice();this.redrawHandles();var a=this.graph.getModel().getGeometry(this.state.cell).points;if(null!=this.bends&&0<this.bends.length&&null!=a){null==this.points&&(this.points=[]);for(var c=1;c<this.bends.length-1;c++)null!=this.bends[c]&&null!=this.abspoints[c]&&(this.points[c-1]=a[c-1])}this.drawPreview()};
mxEdgeHandler.prototype.redrawHandles=function(){var a=this.state.cell,c=this.labelShape.bounds;this.label=new mxPoint(this.state.absoluteOffset.x,this.state.absoluteOffset.y);this.labelShape.bounds=new mxRectangle(Math.round(this.label.x-c.width/2),Math.round(this.label.y-c.height/2),c.width,c.height);c=this.graph.getLabel(a);this.labelShape.visible=null!=c&&0<c.length&&this.graph.isLabelMovable(a);if(null!=this.bends&&0<this.bends.length){var f=this.abspoints.length-1,a=this.abspoints[0],d=a.x,
b=a.y,c=this.bends[0].bounds;this.bends[0].bounds=new mxRectangle(Math.floor(d-c.width/2),Math.floor(b-c.height/2),c.width,c.height);this.bends[0].fill=this.getHandleFillColor(0);this.bends[0].redraw();this.manageLabelHandle&&this.checkLabelHandle(this.bends[0].bounds);var f=this.abspoints[f],d=f.x,b=f.y,e=this.bends.length-1,c=this.bends[e].bounds;this.bends[e].bounds=new mxRectangle(Math.floor(d-c.width/2),Math.floor(b-c.height/2),c.width,c.height);this.bends[e].fill=this.getHandleFillColor(e);
this.bends[e].redraw();this.manageLabelHandle&&this.checkLabelHandle(this.bends[e].bounds);this.redrawInnerBends(a,f)}if(null!=this.abspoints&&null!=this.virtualBends&&0<this.virtualBends.length){a=this.abspoints[0];for(f=0;f<this.virtualBends.length;f++)null!=this.virtualBends[f]&&null!=this.abspoints[f+1]&&(d=this.abspoints[f+1],c=this.virtualBends[f],c.bounds=new mxRectangle(Math.floor(a.x+(d.x-a.x)/2-c.bounds.width/2),Math.floor(a.y+(d.y-a.y)/2-c.bounds.height/2),c.bounds.width,c.bounds.height),
c.redraw(),mxUtils.setOpacity(c.node,this.virtualBendOpacity),a=d,this.manageLabelHandle&&this.checkLabelHandle(c.bounds))}null!=this.labelShape&&this.labelShape.redraw();if(null!=this.customHandles)for(f=0;f<this.customHandles.length;f++)this.customHandles[f].redraw()};
mxEdgeHandler.prototype.setHandlesVisible=function(a){if(null!=this.bends)for(var c=0;c<this.bends.length;c++)this.bends[c].node.style.display=a?"":"none";if(null!=this.virtualBends)for(c=0;c<this.virtualBends.length;c++)this.virtualBends[c].node.style.display=a?"":"none";null!=this.labelShape&&(this.labelShape.node.style.display=a?"":"none");if(null!=this.customHandles)for(c=0;c<this.customHandles.length;c++)this.customHandles[c].setVisible(a)};
mxEdgeHandler.prototype.redrawInnerBends=function(a,c){for(var f=1;f<this.bends.length-1;f++)if(null!=this.bends[f])if(null!=this.abspoints[f]){var d=this.abspoints[f].x,b=this.abspoints[f].y,e=this.bends[f].bounds;this.bends[f].node.style.visibility="visible";this.bends[f].bounds=new mxRectangle(Math.round(d-e.width/2),Math.round(b-e.height/2),e.width,e.height);this.manageLabelHandle?this.checkLabelHandle(this.bends[f].bounds):null==this.handleImage&&this.labelShape.visible&&mxUtils.intersects(this.bends[f].bounds,
this.labelShape.bounds)&&(w=mxConstants.HANDLE_SIZE+3,h=mxConstants.HANDLE_SIZE+3,this.bends[f].bounds=new mxRectangle(Math.round(d-w/2),Math.round(b-h/2),w,h));this.bends[f].redraw()}else this.bends[f].destroy(),this.bends[f]=null};mxEdgeHandler.prototype.checkLabelHandle=function(a){if(null!=this.labelShape){var c=this.labelShape.bounds;mxUtils.intersects(a,c)&&(a.getCenterY()<c.getCenterY()?c.y=a.y+a.height:c.y=a.y-c.height)}};
mxEdgeHandler.prototype.drawPreview=function(){if(this.isLabel){var a=this.labelShape.bounds,a=new mxRectangle(Math.round(this.label.x-a.width/2),Math.round(this.label.y-a.height/2),a.width,a.height);this.labelShape.bounds=a;this.labelShape.redraw()}else null!=this.shape&&(this.shape.apply(this.state),this.shape.points=this.abspoints,this.shape.scale=this.state.view.scale,this.shape.isDashed=this.isSelectionDashed(),this.shape.stroke=this.getSelectionColor(),this.shape.strokewidth=this.getSelectionStrokeWidth()/
this.shape.scale/this.shape.scale,this.shape.arrowStrokewidth=this.getSelectionStrokeWidth(),this.shape.isShadow=!1,this.shape.redraw());null!=this.parentHighlight&&this.parentHighlight.redraw()};
mxEdgeHandler.prototype.refresh=function(){this.abspoints=this.getSelectionPoints(this.state);this.points=[];null!=this.shape&&(this.shape.points=this.abspoints);null!=this.bends&&(this.destroyBends(this.bends),this.bends=this.createBends());null!=this.virtualBends&&(this.destroyBends(this.virtualBends),this.virtualBends=this.createVirtualBends());null!=this.customHandles&&(this.destroyBends(this.customHandles),this.customHandles=this.createCustomHandles());null!=this.labelShape&&null!=this.labelShape.node&&
null!=this.labelShape.node.parentNode&&this.labelShape.node.parentNode.appendChild(this.labelShape.node)};mxEdgeHandler.prototype.destroyBends=function(a){if(null!=a)for(var c=0;c<a.length;c++)null!=a[c]&&a[c].destroy()};
mxEdgeHandler.prototype.destroy=function(){null!=this.escapeHandler&&(this.state.view.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.marker&&(this.marker.destroy(),this.marker=null);null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.parentHighlight&&(this.parentHighlight.destroy(),this.parentHighlight=null);null!=this.labelShape&&(this.labelShape.destroy(),this.labelShape=null);null!=this.constraintHandler&&(this.constraintHandler.destroy(),this.constraintHandler=
null);this.destroyBends(this.virtualBends);this.virtualBends=null;this.destroyBends(this.customHandles);this.customHandles=null;this.destroyBends(this.bends);this.bends=null;this.removeHint()};function mxElbowEdgeHandler(a){mxEdgeHandler.call(this,a)}mxUtils.extend(mxElbowEdgeHandler,mxEdgeHandler);mxElbowEdgeHandler.prototype.flipEnabled=!0;mxElbowEdgeHandler.prototype.doubleClickOrientationResource="none"!=mxClient.language?"doubleClickOrientation":"";
mxElbowEdgeHandler.prototype.createBends=function(){var a=[],c=this.createHandleShape(0);this.initBend(c);c.setCursor(mxConstants.CURSOR_TERMINAL_HANDLE);a.push(c);a.push(this.createVirtualBend(mxUtils.bind(this,function(a){!mxEvent.isConsumed(a)&&this.flipEnabled&&(this.graph.flipEdge(this.state.cell,a),mxEvent.consume(a))})));this.points.push(new mxPoint(0,0));c=this.createHandleShape(2);this.initBend(c);c.setCursor(mxConstants.CURSOR_TERMINAL_HANDLE);a.push(c);return a};
mxElbowEdgeHandler.prototype.createVirtualBend=function(a){var c=this.createHandleShape();this.initBend(c,a);c.setCursor(this.getCursorForBend());this.graph.isCellBendable(this.state.cell)||(c.node.style.display="none");return c};
mxElbowEdgeHandler.prototype.getCursorForBend=function(){return this.state.style[mxConstants.STYLE_EDGE]==mxEdgeStyle.TopToBottom||this.state.style[mxConstants.STYLE_EDGE]==mxConstants.EDGESTYLE_TOPTOBOTTOM||(this.state.style[mxConstants.STYLE_EDGE]==mxEdgeStyle.ElbowConnector||this.state.style[mxConstants.STYLE_EDGE]==mxConstants.EDGESTYLE_ELBOW)&&this.state.style[mxConstants.STYLE_ELBOW]==mxConstants.ELBOW_VERTICAL?"row-resize":"col-resize"};
mxElbowEdgeHandler.prototype.getTooltipForNode=function(a){var c=null;if(null!=this.bends&&null!=this.bends[1]&&(a==this.bends[1].node||a.parentNode==this.bends[1].node))c=this.doubleClickOrientationResource,c=mxResources.get(c)||c;return c};
mxElbowEdgeHandler.prototype.convertPoint=function(a,c){var f=this.graph.getView().getScale(),d=this.graph.getView().getTranslate(),b=this.state.origin;c&&(a.x=this.graph.snap(a.x),a.y=this.graph.snap(a.y));a.x=Math.round(a.x/f-d.x-b.x);a.y=Math.round(a.y/f-d.y-b.y);return a};
mxElbowEdgeHandler.prototype.redrawInnerBends=function(a,c){var f=this.graph.getModel().getGeometry(this.state.cell),d=this.state.absolutePoints,b=null;1<d.length?(a=d[1],c=d[d.length-2]):null!=f.points&&0<f.points.length&&(b=d[0]);b=null==b?new mxPoint(a.x+(c.x-a.x)/2,a.y+(c.y-a.y)/2):new mxPoint(this.graph.getView().scale*(b.x+this.graph.getView().translate.x+this.state.origin.x),this.graph.getView().scale*(b.y+this.graph.getView().translate.y+this.state.origin.y));d=this.bends[1].bounds;f=d.width;
d=d.height;f=new mxRectangle(Math.round(b.x-f/2),Math.round(b.y-d/2),f,d);this.manageLabelHandle?this.checkLabelHandle(f):null==this.handleImage&&this.labelShape.visible&&mxUtils.intersects(f,this.labelShape.bounds)&&(f=mxConstants.HANDLE_SIZE+3,d=mxConstants.HANDLE_SIZE+3,f=new mxRectangle(Math.floor(b.x-f/2),Math.floor(b.y-d/2),f,d));this.bends[1].bounds=f;this.bends[1].redraw();this.manageLabelHandle&&this.checkLabelHandle(this.bends[1].bounds)};
function mxEdgeSegmentHandler(a){mxEdgeHandler.call(this,a)}mxUtils.extend(mxEdgeSegmentHandler,mxElbowEdgeHandler);mxEdgeSegmentHandler.prototype.getCurrentPoints=function(){var a=this.state.absolutePoints;if(null!=a&&(2==a.length||3==a.length&&(a[0].x==a[1].x&&a[1].x==a[2].x||a[0].y==a[1].y&&a[1].y==a[2].y)))var c=a[0].x+(a[a.length-1].x-a[0].x)/2,f=a[0].y+(a[a.length-1].y-a[0].y)/2,a=[a[0],new mxPoint(c,f),new mxPoint(c,f),a[a.length-1]];return a};
mxEdgeSegmentHandler.prototype.getPreviewPoints=function(a){if(this.isSource||this.isTarget)return mxElbowEdgeHandler.prototype.getPreviewPoints.apply(this,arguments);var c=this.getCurrentPoints(),f=this.convertPoint(c[0].clone(),!1);a=this.convertPoint(a.clone(),!1);for(var d=[],b=1;b<c.length;b++){var e=this.convertPoint(c[b].clone(),!1);b==this.index&&(0==Math.round(f.x-e.x)&&(f.x=a.x,e.x=a.x),0==Math.round(f.y-e.y)&&(f.y=a.y,e.y=a.y));b<c.length-1&&d.push(e);f=e}if(1==d.length){var c=this.state.getVisibleTerminalState(!0),
f=this.state.getVisibleTerminalState(!1),e=this.state.view.getScale(),g=this.state.view.getTranslate(),b=d[0].x*e+g.x,e=d[0].y*e+g.y;if(null!=c&&mxUtils.contains(c,b,e)||null!=f&&mxUtils.contains(f,b,e))d=[a,a]}return d};
mxEdgeSegmentHandler.prototype.updatePreviewState=function(a,c,f,d){mxEdgeHandler.prototype.updatePreviewState.apply(this,arguments);if(!this.isSource&&!this.isTarget){c=this.convertPoint(c.clone(),!1);for(var b=a.absolutePoints,e=b[0],g=b[1],k=[],l=2;l<b.length;l++){var n=b[l];(0!=Math.round(e.x-g.x)||0!=Math.round(g.x-n.x))&&(0!=Math.round(e.y-g.y)||0!=Math.round(g.y-n.y))&&k.push(this.convertPoint(g.clone(),!1));e=g;g=n}e=this.state.getVisibleTerminalState(!0);g=this.state.getVisibleTerminalState(!1);
l=this.state.absolutePoints;if(0==k.length&&(0==Math.round(b[0].x-b[b.length-1].x)||0==Math.round(b[0].y-b[b.length-1].y)))k=[c,c];else if(5==b.length&&2==k.length&&null!=e&&null!=g&&null!=l&&0==Math.round(l[0].x-l[l.length-1].x)){var k=this.graph.getView(),l=k.getScale(),n=k.getTranslate(),b=k.getRoutingCenterY(e)/l-n.y,m=this.graph.getConnectionConstraint(a,e,!0);null!=m&&(m=this.graph.getConnectionPoint(e,m),null!=m&&(this.convertPoint(m,!1),b=m.y));k=k.getRoutingCenterY(g)/l-n.y;if(l=this.graph.getConnectionConstraint(a,
g,!1))m=this.graph.getConnectionPoint(g,l),null!=m&&(this.convertPoint(m,!1),k=m.y);k=[new mxPoint(c.x,b),new mxPoint(c.x,k)]}this.points=k;a.view.updateFixedTerminalPoints(a,e,g);a.view.updatePoints(a,this.points,e,g);a.view.updateFloatingTerminalPoints(a,e,g)}};
mxEdgeSegmentHandler.prototype.connect=function(a,c,f,d,b){for(var e=this.abspoints,g=e[0],k=e[1],l=[],n=2;n<e.length;n++){var m=e[n];(0!=Math.round(g.x-k.x)||0!=Math.round(k.x-m.x))&&(0!=Math.round(g.y-k.y)||0!=Math.round(k.y-m.y))&&l.push(this.convertPoint(k.clone(),!1));g=k;k=m}e=this.graph.getModel();e.beginUpdate();try{var p=e.getGeometry(a);null!=p&&(p=p.clone(),p.points=l,e.setGeometry(a,p));a=mxEdgeHandler.prototype.connect.apply(this,arguments)}finally{e.endUpdate()}return a};
mxEdgeSegmentHandler.prototype.getTooltipForNode=function(a){return null};mxEdgeSegmentHandler.prototype.start=function(a,c,f){mxEdgeHandler.prototype.start.apply(this,arguments);null!=this.bends[f]&&!this.isSource&&!this.isTarget&&mxUtils.setOpacity(this.bends[f].node,100)};
mxEdgeSegmentHandler.prototype.createBends=function(){var a=[],c=this.createHandleShape(0);this.initBend(c);c.setCursor(mxConstants.CURSOR_TERMINAL_HANDLE);a.push(c);var f=this.getCurrentPoints();if(this.graph.isCellBendable(this.state.cell)){null==this.points&&(this.points=[]);for(var d=0;d<f.length-1;d++){c=this.createVirtualBend();a.push(c);var b=0==Math.round(f[d].x-f[d+1].x);0==Math.round(f[d].y-f[d+1].y)&&d<f.length-2&&(b=0==Math.round(f[d].x-f[d+2].x));c.setCursor(b?"col-resize":"row-resize");
this.points.push(new mxPoint(0,0))}}c=this.createHandleShape(f.length);this.initBend(c);c.setCursor(mxConstants.CURSOR_TERMINAL_HANDLE);a.push(c);return a};mxEdgeSegmentHandler.prototype.redraw=function(){this.refresh();mxEdgeHandler.prototype.redraw.apply(this,arguments)};
mxEdgeSegmentHandler.prototype.redrawInnerBends=function(a,c){if(this.graph.isCellBendable(this.state.cell)){var f=this.getCurrentPoints();if(null!=f&&1<f.length){var d=!1;if(4==f.length&&0==Math.round(f[1].x-f[2].x)&&0==Math.round(f[1].y-f[2].y))if(d=!0,0==Math.round(f[0].y-f[f.length-1].y)){var b=f[0].x+(f[f.length-1].x-f[0].x)/2;f[1]=new mxPoint(b,f[1].y);f[2]=new mxPoint(b,f[2].y)}else b=f[0].y+(f[f.length-1].y-f[0].y)/2,f[1]=new mxPoint(f[1].x,b),f[2]=new mxPoint(f[2].x,b);for(b=0;b<f.length-
1;b++)if(null!=this.bends[b+1]){a=f[b];c=f[b+1];var e=new mxPoint(a.x+(c.x-a.x)/2,a.y+(c.y-a.y)/2),g=this.bends[b+1].bounds;this.bends[b+1].bounds=new mxRectangle(Math.floor(e.x-g.width/2),Math.floor(e.y-g.height/2),g.width,g.height);this.bends[b+1].redraw();this.manageLabelHandle&&this.checkLabelHandle(this.bends[b+1].bounds)}d&&(mxUtils.setOpacity(this.bends[1].node,this.virtualBendOpacity),mxUtils.setOpacity(this.bends[3].node,this.virtualBendOpacity))}}};
function mxKeyHandler(a,c){null!=a&&(this.graph=a,this.target=c||document.documentElement,this.normalKeys=[],this.shiftKeys=[],this.controlKeys=[],this.controlShiftKeys=[],this.keydownHandler=mxUtils.bind(this,function(a){this.keyDown(a)}),mxEvent.addListener(this.target,"keydown",this.keydownHandler),mxClient.IS_IE&&mxEvent.addListener(window,"unload",mxUtils.bind(this,function(){this.destroy()})))}mxKeyHandler.prototype.graph=null;mxKeyHandler.prototype.target=null;
mxKeyHandler.prototype.normalKeys=null;mxKeyHandler.prototype.shiftKeys=null;mxKeyHandler.prototype.controlKeys=null;mxKeyHandler.prototype.controlShiftKeys=null;mxKeyHandler.prototype.enabled=!0;mxKeyHandler.prototype.isEnabled=function(){return this.enabled};mxKeyHandler.prototype.setEnabled=function(a){this.enabled=a};mxKeyHandler.prototype.bindKey=function(a,c){this.normalKeys[a]=c};mxKeyHandler.prototype.bindShiftKey=function(a,c){this.shiftKeys[a]=c};
mxKeyHandler.prototype.bindControlKey=function(a,c){this.controlKeys[a]=c};mxKeyHandler.prototype.bindControlShiftKey=function(a,c){this.controlShiftKeys[a]=c};mxKeyHandler.prototype.isControlDown=function(a){return mxEvent.isControlDown(a)};
mxKeyHandler.prototype.getFunction=function(a){return null!=a&&!mxEvent.isAltDown(a)?this.isControlDown(a)?mxEvent.isShiftDown(a)?this.controlShiftKeys[a.keyCode]:this.controlKeys[a.keyCode]:mxEvent.isShiftDown(a)?this.shiftKeys[a.keyCode]:this.normalKeys[a.keyCode]:null};
mxKeyHandler.prototype.isGraphEvent=function(a){var c=mxEvent.getSource(a);return c==this.target||c.parentNode==this.target||null!=this.graph.cellEditor&&this.graph.cellEditor.isEventSource(a)?!0:mxUtils.isAncestorNode(this.graph.container,c)};mxKeyHandler.prototype.keyDown=function(a){if(this.isEnabledForEvent(a))if(27==a.keyCode)this.escape(a);else if(!this.isEventIgnored(a)){var c=this.getFunction(a);null!=c&&(c(a),mxEvent.consume(a))}};
mxKeyHandler.prototype.isEnabledForEvent=function(a){return this.graph.isEnabled()&&!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()};mxKeyHandler.prototype.isEventIgnored=function(a){return this.graph.isEditing()};mxKeyHandler.prototype.escape=function(a){this.graph.isEscapeEnabled()&&this.graph.escape(a)};
mxKeyHandler.prototype.destroy=function(){null!=this.target&&null!=this.keydownHandler&&(mxEvent.removeListener(this.target,"keydown",this.keydownHandler),this.keydownHandler=null);this.target=null};function mxTooltipHandler(a,c){null!=a&&(this.graph=a,this.delay=c||500,this.graph.addMouseListener(this))}mxTooltipHandler.prototype.zIndex=10005;mxTooltipHandler.prototype.graph=null;mxTooltipHandler.prototype.delay=null;mxTooltipHandler.prototype.ignoreTouchEvents=!0;
mxTooltipHandler.prototype.hideOnHover=!1;mxTooltipHandler.prototype.destroyed=!1;mxTooltipHandler.prototype.enabled=!0;mxTooltipHandler.prototype.isEnabled=function(){return this.enabled};mxTooltipHandler.prototype.setEnabled=function(a){this.enabled=a};mxTooltipHandler.prototype.isHideOnHover=function(){return this.hideOnHover};mxTooltipHandler.prototype.setHideOnHover=function(a){this.hideOnHover=a};
mxTooltipHandler.prototype.init=function(){null!=document.body&&(this.div=document.createElement("div"),this.div.className="mxTooltip",this.div.style.visibility="hidden",document.body.appendChild(this.div),mxEvent.addGestureListeners(this.div,mxUtils.bind(this,function(a){this.hideTooltip()})))};mxTooltipHandler.prototype.mouseDown=function(a,c){this.reset(c,!1);this.hideTooltip()};
mxTooltipHandler.prototype.mouseMove=function(a,c){if(c.getX()!=this.lastX||c.getY()!=this.lastY)this.reset(c,!0),(this.isHideOnHover()||c.getState()!=this.state||c.getSource()!=this.node&&(!this.stateSource||null!=c.getState()&&this.stateSource==(c.isSource(c.getState().shape)||!c.isSource(c.getState().text))))&&this.hideTooltip();this.lastX=c.getX();this.lastY=c.getY()};mxTooltipHandler.prototype.mouseUp=function(a,c){this.reset(c,!0);this.hideTooltip()};
mxTooltipHandler.prototype.resetTimer=function(){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null)};
mxTooltipHandler.prototype.reset=function(a,c){if(!this.ignoreTouchEvents||mxEvent.isMouseEvent(a.getEvent()))if(this.resetTimer(),c&&this.isEnabled()&&null!=a.getState()&&(null==this.div||"hidden"==this.div.style.visibility)){var f=a.getState(),d=a.getSource(),b=a.getX(),e=a.getY(),g=a.isSource(f.shape)||a.isSource(f.text);this.thread=window.setTimeout(mxUtils.bind(this,function(){if(!this.graph.isEditing()&&!this.graph.popupMenuHandler.isMenuShowing()&&!this.graph.isMouseDown){var a=this.graph.getTooltip(f,
d,b,e);this.show(a,b,e);this.state=f;this.node=d;this.stateSource=g}}),this.delay)}};mxTooltipHandler.prototype.hide=function(){this.resetTimer();this.hideTooltip()};mxTooltipHandler.prototype.hideTooltip=function(){null!=this.div&&(this.div.style.visibility="hidden")};
mxTooltipHandler.prototype.show=function(a,c,f){if(!this.destroyed&&null!=a&&0<a.length){null==this.div&&this.init();var d=mxUtils.getScrollOrigin();this.div.style.zIndex=this.zIndex;this.div.style.left=c+d.x+"px";this.div.style.top=f+mxConstants.TOOLTIP_VERTICAL_OFFSET+d.y+"px";mxUtils.isNode(a)?(this.div.innerHTML="",this.div.appendChild(a)):this.div.innerHTML=a.replace(/\n/g,"\x3cbr\x3e");this.div.style.visibility="";mxUtils.fit(this.div)}};
mxTooltipHandler.prototype.destroy=function(){this.destroyed||(this.graph.removeMouseListener(this),mxEvent.release(this.div),null!=this.div&&null!=this.div.parentNode&&this.div.parentNode.removeChild(this.div),this.destroyed=!0,this.div=null)};function mxCellTracker(a,c,f){mxCellMarker.call(this,a,c);this.graph.addMouseListener(this);null!=f&&(this.getCell=f);mxClient.IS_IE&&mxEvent.addListener(window,"unload",mxUtils.bind(this,function(){this.destroy()}))}mxUtils.extend(mxCellTracker,mxCellMarker);
mxCellTracker.prototype.mouseDown=function(a,c){};mxCellTracker.prototype.mouseMove=function(a,c){this.isEnabled()&&this.process(c)};mxCellTracker.prototype.mouseUp=function(a,c){};mxCellTracker.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.graph.removeMouseListener(this),mxCellMarker.prototype.destroy.apply(this))};
function mxCellHighlight(a,c,f,d){null!=a&&(this.graph=a,this.highlightColor=null!=c?c:mxConstants.DEFAULT_VALID_COLOR,this.strokeWidth=null!=f?f:mxConstants.HIGHLIGHT_STROKEWIDTH,this.dashed=null!=d?d:!1,this.opacity=mxConstants.HIGHLIGHT_OPACITY,this.repaintHandler=mxUtils.bind(this,function(){if(null!=this.state){var b=this.graph.view.getState(this.state.cell);null==b?this.hide():(this.state=b,this.repaint())}}),this.graph.getView().addListener(mxEvent.SCALE,this.repaintHandler),this.graph.getView().addListener(mxEvent.TRANSLATE,
this.repaintHandler),this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE,this.repaintHandler),this.graph.getModel().addListener(mxEvent.CHANGE,this.repaintHandler),this.resetHandler=mxUtils.bind(this,function(){this.hide()}),this.graph.getView().addListener(mxEvent.DOWN,this.resetHandler),this.graph.getView().addListener(mxEvent.UP,this.resetHandler))}mxCellHighlight.prototype.keepOnTop=!1;mxCellHighlight.prototype.graph=!0;mxCellHighlight.prototype.state=null;
mxCellHighlight.prototype.spacing=2;mxCellHighlight.prototype.resetHandler=null;mxCellHighlight.prototype.setHighlightColor=function(a){this.highlightColor=a;null!=this.shape&&(this.shape.stroke=a)};mxCellHighlight.prototype.drawHighlight=function(){this.shape=this.createShape();this.repaint();!this.keepOnTop&&this.shape.node.parentNode.firstChild!=this.shape.node&&this.shape.node.parentNode.insertBefore(this.shape.node,this.shape.node.parentNode.firstChild)};
mxCellHighlight.prototype.createShape=function(){var a=this.graph.cellRenderer.createShape(this.state);a.svgStrokeTolerance=this.graph.tolerance;a.scale=this.state.view.scale;a.outline=!0;a.points=this.state.absolutePoints;a.apply(this.state);a.strokewidth=this.strokeWidth/this.state.view.scale/this.state.view.scale;a.arrowStrokewidth=this.strokeWidth;a.stroke=this.highlightColor;a.opacity=this.opacity;a.isDashed=this.dashed;a.isShadow=!1;a.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:
mxConstants.DIALECT_SVG;a.init(this.graph.getView().getOverlayPane());mxEvent.redirectMouseEvents(a.node,this.graph,this.state);this.graph.dialect!=mxConstants.DIALECT_SVG?a.pointerEvents=!1:a.svgPointerEvents="stroke";return a};
mxCellHighlight.prototype.repaint=function(){if(null!=this.state&&null!=this.shape){this.graph.model.isEdge(this.state.cell)?this.shape.points=this.state.absolutePoints:(this.shape.bounds=new mxRectangle(this.state.x-this.spacing,this.state.y-this.spacing,this.state.width+2*this.spacing,this.state.height+2*this.spacing),this.shape.rotation=Number(this.state.style[mxConstants.STYLE_ROTATION]||"0"));null!=this.state.shape&&this.shape.setCursor(this.state.shape.getCursor());if(mxClient.IS_QUIRKS||8==
document.documentMode)"transparent"==this.shape.stroke?(this.shape.stroke="white",this.shape.opacity=1):this.shape.opacity=this.opacity;this.shape.redraw()}};mxCellHighlight.prototype.hide=function(){this.highlight(null)};mxCellHighlight.prototype.highlight=function(a){this.state!=a&&(null!=this.shape&&(this.shape.destroy(),this.shape=null),this.state=a,null!=this.state&&this.drawHighlight())};
mxCellHighlight.prototype.isHighlightAt=function(a,c){var f=!1;if(null!=this.shape&&null!=document.elementFromPoint&&!mxClient.IS_QUIRKS)for(var d=document.elementFromPoint(a,c);null!=d;){if(d==this.shape.node){f=!0;break}d=d.parentNode}return f};
mxCellHighlight.prototype.destroy=function(){this.graph.getView().removeListener(this.resetHandler);this.graph.getView().removeListener(this.repaintHandler);this.graph.getModel().removeListener(this.repaintHandler);null!=this.shape&&(this.shape.destroy(),this.shape=null)};
function mxDefaultKeyHandler(a){if(null!=a){this.editor=a;this.handler=new mxKeyHandler(a.graph);var c=this.handler.escape;this.handler.escape=function(f){c.apply(this,arguments);a.hideProperties();a.fireEvent(new mxEventObject(mxEvent.ESCAPE,"event",f))}}}mxDefaultKeyHandler.prototype.editor=null;mxDefaultKeyHandler.prototype.handler=null;
mxDefaultKeyHandler.prototype.bindAction=function(a,c,f){var d=mxUtils.bind(this,function(){this.editor.execute(c)});f?this.handler.bindControlKey(a,d):this.handler.bindKey(a,d)};mxDefaultKeyHandler.prototype.destroy=function(){this.handler.destroy();this.handler=null};function mxDefaultPopupMenu(a){this.config=a}mxDefaultPopupMenu.prototype.imageBasePath=null;mxDefaultPopupMenu.prototype.config=null;
mxDefaultPopupMenu.prototype.createMenu=function(a,c,f,d){if(null!=this.config){var b=this.createConditions(a,f,d);this.addItems(a,c,f,d,b,this.config.firstChild,null)}};
mxDefaultPopupMenu.prototype.addItems=function(a,c,f,d,b,e,g){for(var k=!1;null!=e;){if("add"==e.nodeName){var l=e.getAttribute("if");if(null==l||b[l]){var l=e.getAttribute("as"),l=mxResources.get(l)||l,n=mxUtils.eval(mxUtils.getTextContent(e)),m=e.getAttribute("action"),p=e.getAttribute("icon"),r=e.getAttribute("iconCls"),s=e.getAttribute("enabled-if"),s=null==s||b[s];k&&(c.addSeparator(g),k=!1);null!=p&&this.imageBasePath&&(p=this.imageBasePath+p);l=this.addAction(c,a,l,p,n,m,f,g,r,s);this.addItems(a,
c,f,d,b,e.firstChild,l)}}else"separator"==e.nodeName&&(k=!0);e=e.nextSibling}};mxDefaultPopupMenu.prototype.addAction=function(a,c,f,d,b,e,g,k,l,n){return a.addItem(f,d,function(a){"function"==typeof b&&b.call(c,c,g,a);null!=e&&c.execute(e,g,a)},k,l,n)};
mxDefaultPopupMenu.prototype.createConditions=function(a,c,f){var d=a.graph.getModel(),b=d.getChildCount(c),e=[];e.nocell=null==c;e.ncells=1<a.graph.getSelectionCount();e.notRoot=d.getRoot()!=d.getParent(a.graph.getDefaultParent());e.cell=null!=c;d=null!=c&&1==a.graph.getSelectionCount();e.nonEmpty=d&&0<b;e.expandable=d&&a.graph.isCellFoldable(c,!1);e.collapsable=d&&a.graph.isCellFoldable(c,!0);e.validRoot=d&&a.graph.isValidRoot(c);e.emptyValidRoot=e.validRoot&&0==b;e.swimlane=d&&a.graph.isSwimlane(c);
b=this.config.getElementsByTagName("condition");for(d=0;d<b.length;d++){var g=mxUtils.eval(mxUtils.getTextContent(b[d])),k=b[d].getAttribute("name");null!=k&&"function"==typeof g&&(e[k]=g(a,c,f))}return e};function mxDefaultToolbar(a,c){this.editor=c;null!=a&&null!=c&&this.init(a)}mxDefaultToolbar.prototype.editor=null;mxDefaultToolbar.prototype.toolbar=null;mxDefaultToolbar.prototype.resetHandler=null;mxDefaultToolbar.prototype.spacing=4;mxDefaultToolbar.prototype.connectOnDrop=!1;
mxDefaultToolbar.prototype.init=function(a){null!=a&&(this.toolbar=new mxToolbar(a),this.toolbar.addListener(mxEvent.SELECT,mxUtils.bind(this,function(a,f){var d=f.getProperty("function");this.editor.insertFunction=null!=d?mxUtils.bind(this,function(){d.apply(this,arguments);this.toolbar.resetMode()}):null})),this.resetHandler=mxUtils.bind(this,function(){null!=this.toolbar&&this.toolbar.resetMode(!0)}),this.editor.graph.addListener(mxEvent.DOUBLE_CLICK,this.resetHandler),this.editor.addListener(mxEvent.ESCAPE,
this.resetHandler))};mxDefaultToolbar.prototype.addItem=function(a,c,f,d){var b=mxUtils.bind(this,function(){null!=f&&0<f.length&&this.editor.execute(f)});return this.toolbar.addItem(a,c,b,d)};mxDefaultToolbar.prototype.addSeparator=function(a){a=a||mxClient.imageBasePath+"/separator.gif";this.toolbar.addSeparator(a)};mxDefaultToolbar.prototype.addCombo=function(){return this.toolbar.addCombo()};mxDefaultToolbar.prototype.addActionCombo=function(a){return this.toolbar.addActionCombo(a)};
mxDefaultToolbar.prototype.addActionOption=function(a,c,f){var d=mxUtils.bind(this,function(){this.editor.execute(f)});this.addOption(a,c,d)};mxDefaultToolbar.prototype.addOption=function(a,c,f){return this.toolbar.addOption(a,c,f)};mxDefaultToolbar.prototype.addMode=function(a,c,f,d,b){var e=mxUtils.bind(this,function(){this.editor.setMode(f);null!=b&&b(this.editor)});return this.toolbar.addSwitchMode(a,c,e,d)};
mxDefaultToolbar.prototype.addPrototype=function(a,c,f,d,b,e){var g=mxUtils.bind(this,function(){return"function"==typeof f?f():null!=f?this.editor.graph.cloneCells([f])[0]:null}),k=mxUtils.bind(this,function(a,d){"function"==typeof b?b(this.editor,g(),a,d):this.drop(g(),a,d);this.toolbar.resetMode();mxEvent.consume(a)});a=this.toolbar.addMode(a,c,k,d,null,e);this.installDropHandler(a,function(b,a,d){k(a,d)});return a};
mxDefaultToolbar.prototype.drop=function(a,c,f){var d=this.editor.graph,b=d.getModel();if(null==f||b.isEdge(f)||!this.connectOnDrop||!d.isCellConnectable(f)){for(;null!=f&&!d.isValidDropTarget(f,[a],c);)f=b.getParent(f);this.insert(a,c,f)}else this.connect(a,c,f)};
mxDefaultToolbar.prototype.insert=function(a,c,f){var d=this.editor.graph;if(d.canImportCell(a)){var b=mxEvent.getClientX(c),e=mxEvent.getClientY(c),b=mxUtils.convertPoint(d.container,b,e);return d.isSplitEnabled()&&d.isSplitTarget(f,[a],c)?d.splitEdge(f,[a],null,b.x,b.y):this.editor.addVertex(f,a,b.x,b.y)}return null};
mxDefaultToolbar.prototype.connect=function(a,c,f){c=this.editor.graph;var d=c.getModel();if(null!=f&&c.isCellConnectable(a)&&c.isEdgeValid(null,f,a)){var b=null;d.beginUpdate();try{var e=d.getGeometry(f),g=d.getGeometry(a).clone();g.x=e.x+(e.width-g.width)/2;g.y=e.y+(e.height-g.height)/2;var k=this.spacing*c.gridSize,l=20*d.getDirectedEdgeCount(f,!0);this.editor.horizontalFlow?g.x+=(g.width+e.width)/2+k+l:g.y+=(g.height+e.height)/2+k+l;a.setGeometry(g);var n=d.getParent(f);c.addCell(a,n);c.constrainChild(a);
b=this.editor.createEdge(f,a);if(null==d.getGeometry(b)){var m=new mxGeometry;m.relative=!0;d.setGeometry(b,m)}c.addEdge(b,n,f,a)}finally{d.endUpdate()}c.setSelectionCells([a,b]);c.scrollCellToVisible(a)}};
mxDefaultToolbar.prototype.installDropHandler=function(a,c){var f=document.createElement("img");f.setAttribute("src",a.getAttribute("src"));var d=mxUtils.bind(this,function(b){f.style.width=2*a.offsetWidth+"px";f.style.height=2*a.offsetHeight+"px";mxUtils.makeDraggable(a,this.editor.graph,c,f);mxEvent.removeListener(f,"load",d)});mxClient.IS_IE?d():mxEvent.addListener(f,"load",d)};
mxDefaultToolbar.prototype.destroy=function(){null!=this.resetHandler&&(this.editor.graph.removeListener("dblclick",this.resetHandler),this.editor.removeListener("escape",this.resetHandler),this.resetHandler=null);null!=this.toolbar&&(this.toolbar.destroy(),this.toolbar=null)};
function mxEditor(a){this.actions=[];this.addActions();if(null!=document.body){this.cycleAttributeValues=[];this.popupHandler=new mxDefaultPopupMenu;this.undoManager=new mxUndoManager;this.graph=this.createGraph();this.toolbar=this.createToolbar();this.keyHandler=new mxDefaultKeyHandler(this);this.configure(a);this.graph.swimlaneIndicatorColorAttribute=this.cycleAttributeName;if(null!=this.onInit)this.onInit();mxClient.IS_IE&&mxEvent.addListener(window,"unload",mxUtils.bind(this,function(){this.destroy()}))}}
mxLoadResources&&mxResources.add(mxClient.basePath+"/resources/editor");mxEditor.prototype=new mxEventSource;mxEditor.prototype.constructor=mxEditor;mxEditor.prototype.askZoomResource="none"!=mxClient.language?"askZoom":"";mxEditor.prototype.lastSavedResource="none"!=mxClient.language?"lastSaved":"";mxEditor.prototype.currentFileResource="none"!=mxClient.language?"currentFile":"";mxEditor.prototype.propertiesResource="none"!=mxClient.language?"properties":"";
mxEditor.prototype.tasksResource="none"!=mxClient.language?"tasks":"";mxEditor.prototype.helpResource="none"!=mxClient.language?"help":"";mxEditor.prototype.outlineResource="none"!=mxClient.language?"outline":"";mxEditor.prototype.outline=null;mxEditor.prototype.graph=null;mxEditor.prototype.graphRenderHint=null;mxEditor.prototype.toolbar=null;mxEditor.prototype.status=null;mxEditor.prototype.popupHandler=null;mxEditor.prototype.undoManager=null;mxEditor.prototype.keyHandler=null;
mxEditor.prototype.actions=null;mxEditor.prototype.dblClickAction="edit";mxEditor.prototype.swimlaneRequired=!1;mxEditor.prototype.disableContextMenu=!0;mxEditor.prototype.insertFunction=null;mxEditor.prototype.forcedInserting=!1;mxEditor.prototype.templates=null;mxEditor.prototype.defaultEdge=null;mxEditor.prototype.defaultEdgeStyle=null;mxEditor.prototype.defaultGroup=null;mxEditor.prototype.groupBorderSize=null;mxEditor.prototype.filename=null;mxEditor.prototype.linefeed="\x26#xa;";
mxEditor.prototype.postParameterName="xml";mxEditor.prototype.escapePostData=!0;mxEditor.prototype.urlPost=null;mxEditor.prototype.urlImage=null;mxEditor.prototype.horizontalFlow=!1;mxEditor.prototype.layoutDiagram=!1;mxEditor.prototype.swimlaneSpacing=0;mxEditor.prototype.maintainSwimlanes=!1;mxEditor.prototype.layoutSwimlanes=!1;mxEditor.prototype.cycleAttributeValues=null;mxEditor.prototype.cycleAttributeIndex=0;mxEditor.prototype.cycleAttributeName="fillColor";mxEditor.prototype.tasks=null;
mxEditor.prototype.tasksWindowImage=null;mxEditor.prototype.tasksTop=20;mxEditor.prototype.help=null;mxEditor.prototype.helpWindowImage=null;mxEditor.prototype.urlHelp=null;mxEditor.prototype.helpWidth=300;mxEditor.prototype.helpHeight=260;mxEditor.prototype.propertiesWidth=240;mxEditor.prototype.propertiesHeight=null;mxEditor.prototype.movePropertiesDialog=!1;mxEditor.prototype.validating=!1;mxEditor.prototype.modified=!1;mxEditor.prototype.isModified=function(){return this.modified};
mxEditor.prototype.setModified=function(a){this.modified=a};
mxEditor.prototype.addActions=function(){this.addAction("save",function(a){a.save()});this.addAction("print",function(a){(new mxPrintPreview(a.graph,1)).open()});this.addAction("show",function(a){mxUtils.show(a.graph,null,10,10)});this.addAction("exportImage",function(a){var c=a.getUrlImage();if(null==c||mxClient.IS_LOCAL)a.execute("show");else{var f=mxUtils.getViewXml(a.graph,1),f=mxUtils.getXml(f,"\n");mxUtils.submit(c,a.postParameterName+"\x3d"+encodeURIComponent(f),document,"_blank")}});this.addAction("refresh",
function(a){a.graph.refresh()});this.addAction("cut",function(a){a.graph.isEnabled()&&mxClipboard.cut(a.graph)});this.addAction("copy",function(a){a.graph.isEnabled()&&mxClipboard.copy(a.graph)});this.addAction("paste",function(a){a.graph.isEnabled()&&mxClipboard.paste(a.graph)});this.addAction("delete",function(a){a.graph.isEnabled()&&a.graph.removeCells()});this.addAction("group",function(a){a.graph.isEnabled()&&a.graph.setSelectionCell(a.groupCells())});this.addAction("ungroup",function(a){a.graph.isEnabled()&&
a.graph.setSelectionCells(a.graph.ungroupCells())});this.addAction("removeFromParent",function(a){a.graph.isEnabled()&&a.graph.removeCellsFromParent()});this.addAction("undo",function(a){a.graph.isEnabled()&&a.undo()});this.addAction("redo",function(a){a.graph.isEnabled()&&a.redo()});this.addAction("zoomIn",function(a){a.graph.zoomIn()});this.addAction("zoomOut",function(a){a.graph.zoomOut()});this.addAction("actualSize",function(a){a.graph.zoomActual()});this.addAction("fit",function(a){a.graph.fit()});
this.addAction("showProperties",function(a,c){a.showProperties(c)});this.addAction("selectAll",function(a){a.graph.isEnabled()&&a.graph.selectAll()});this.addAction("selectNone",function(a){a.graph.isEnabled()&&a.graph.clearSelection()});this.addAction("selectVertices",function(a){a.graph.isEnabled()&&a.graph.selectVertices()});this.addAction("selectEdges",function(a){a.graph.isEnabled()&&a.graph.selectEdges()});this.addAction("edit",function(a,c){a.graph.isEnabled()&&a.graph.isCellEditable(c)&&a.graph.startEditingAtCell(c)});
this.addAction("toBack",function(a,c){a.graph.isEnabled()&&a.graph.orderCells(!0)});this.addAction("toFront",function(a,c){a.graph.isEnabled()&&a.graph.orderCells(!1)});this.addAction("enterGroup",function(a,c){a.graph.enterGroup(c)});this.addAction("exitGroup",function(a){a.graph.exitGroup()});this.addAction("home",function(a){a.graph.home()});this.addAction("selectPrevious",function(a){a.graph.isEnabled()&&a.graph.selectPreviousCell()});this.addAction("selectNext",function(a){a.graph.isEnabled()&&
a.graph.selectNextCell()});this.addAction("selectParent",function(a){a.graph.isEnabled()&&a.graph.selectParentCell()});this.addAction("selectChild",function(a){a.graph.isEnabled()&&a.graph.selectChildCell()});this.addAction("collapse",function(a){a.graph.isEnabled()&&a.graph.foldCells(!0)});this.addAction("collapseAll",function(a){if(a.graph.isEnabled()){var c=a.graph.getChildVertices();a.graph.foldCells(!0,!1,c)}});this.addAction("expand",function(a){a.graph.isEnabled()&&a.graph.foldCells(!1)});
this.addAction("expandAll",function(a){if(a.graph.isEnabled()){var c=a.graph.getChildVertices();a.graph.foldCells(!1,!1,c)}});this.addAction("bold",function(a){a.graph.isEnabled()&&a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,mxConstants.FONT_BOLD)});this.addAction("italic",function(a){a.graph.isEnabled()&&a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,mxConstants.FONT_ITALIC)});this.addAction("underline",function(a){a.graph.isEnabled()&&a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,
mxConstants.FONT_UNDERLINE)});this.addAction("alignCellsLeft",function(a){a.graph.isEnabled()&&a.graph.alignCells(mxConstants.ALIGN_LEFT)});this.addAction("alignCellsCenter",function(a){a.graph.isEnabled()&&a.graph.alignCells(mxConstants.ALIGN_CENTER)});this.addAction("alignCellsRight",function(a){a.graph.isEnabled()&&a.graph.alignCells(mxConstants.ALIGN_RIGHT)});this.addAction("alignCellsTop",function(a){a.graph.isEnabled()&&a.graph.alignCells(mxConstants.ALIGN_TOP)});this.addAction("alignCellsMiddle",
function(a){a.graph.isEnabled()&&a.graph.alignCells(mxConstants.ALIGN_MIDDLE)});this.addAction("alignCellsBottom",function(a){a.graph.isEnabled()&&a.graph.alignCells(mxConstants.ALIGN_BOTTOM)});this.addAction("alignFontLeft",function(a){a.graph.setCellStyles(mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT)});this.addAction("alignFontCenter",function(a){a.graph.isEnabled()&&a.graph.setCellStyles(mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER)});this.addAction("alignFontRight",function(a){a.graph.isEnabled()&&
a.graph.setCellStyles(mxConstants.STYLE_ALIGN,mxConstants.ALIGN_RIGHT)});this.addAction("alignFontTop",function(a){a.graph.isEnabled()&&a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_TOP)});this.addAction("alignFontMiddle",function(a){a.graph.isEnabled()&&a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)});this.addAction("alignFontBottom",function(a){a.graph.isEnabled()&&a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_BOTTOM)});
this.addAction("zoom",function(a){var c=100*a.graph.getView().scale,c=parseFloat(mxUtils.prompt(mxResources.get(a.askZoomResource)||a.askZoomResource,c))/100;isNaN(c)||a.graph.getView().setScale(c)});this.addAction("toggleTasks",function(a){null!=a.tasks?a.tasks.setVisible(!a.tasks.isVisible()):a.showTasks()});this.addAction("toggleHelp",function(a){null!=a.help?a.help.setVisible(!a.help.isVisible()):a.showHelp()});this.addAction("toggleOutline",function(a){null==a.outline?a.showOutline():a.outline.setVisible(!a.outline.isVisible())});
this.addAction("toggleConsole",function(a){mxLog.setVisible(!mxLog.isVisible())})};mxEditor.prototype.configure=function(a){null!=a&&((new mxCodec(a.ownerDocument)).decode(a,this),this.resetHistory())};mxEditor.prototype.resetFirstTime=function(){document.cookie="mxgraph\x3dseen; expires\x3dFri, 27 Jul 2001 02:47:11 UTC; path\x3d/"};mxEditor.prototype.resetHistory=function(){this.lastSnapshot=(new Date).getTime();this.undoManager.clear();this.ignoredChanges=0;this.setModified(!1)};
mxEditor.prototype.addAction=function(a,c){this.actions[a]=c};mxEditor.prototype.execute=function(a,c,f){var d=this.actions[a];if(null!=d)try{var b=arguments;b[0]=this;d.apply(this,b)}catch(e){throw mxUtils.error("Cannot execute "+a+": "+e.message,280,!0),e;}else mxUtils.error("Cannot find action "+a,280,!0)};mxEditor.prototype.addTemplate=function(a,c){this.templates[a]=c};mxEditor.prototype.getTemplate=function(a){return this.templates[a]};
mxEditor.prototype.createGraph=function(){var a=new mxGraph(null,null,this.graphRenderHint);a.setTooltips(!0);a.setPanning(!0);this.installDblClickHandler(a);this.installUndoHandler(a);this.installDrillHandler(a);this.installChangeHandler(a);this.installInsertHandler(a);a.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,f,d){return this.createPopupMenu(a,f,d)});a.connectionHandler.factoryMethod=mxUtils.bind(this,function(a,f){return this.createEdge(a,f)});this.createSwimlaneManager(a);
this.createLayoutManager(a);return a};mxEditor.prototype.createSwimlaneManager=function(a){a=new mxSwimlaneManager(a,!1);a.isHorizontal=mxUtils.bind(this,function(){return this.horizontalFlow});a.isEnabled=mxUtils.bind(this,function(){return this.maintainSwimlanes});return a};
mxEditor.prototype.createLayoutManager=function(a){var c=new mxLayoutManager(a),f=this;c.getLayout=function(d){var b=null,c=f.graph.getModel();if(null!=c.getParent(d))if(f.layoutSwimlanes&&a.isSwimlane(d))null==f.swimlaneLayout&&(f.swimlaneLayout=f.createSwimlaneLayout()),b=f.swimlaneLayout;else if(f.layoutDiagram&&(a.isValidRoot(d)||null==c.getParent(c.getParent(d))))null==f.diagramLayout&&(f.diagramLayout=f.createDiagramLayout()),b=f.diagramLayout;return b};return c};
mxEditor.prototype.setGraphContainer=function(a){null==this.graph.container&&(this.graph.init(a),this.rubberband=new mxRubberband(this.graph),this.disableContextMenu&&mxEvent.disableContextMenu(a),mxClient.IS_QUIRKS&&new mxDivResizer(a))};mxEditor.prototype.installDblClickHandler=function(a){a.addListener(mxEvent.DOUBLE_CLICK,mxUtils.bind(this,function(c,f){var d=f.getProperty("cell");null!=d&&a.isEnabled()&&null!=this.dblClickAction&&(this.execute(this.dblClickAction,d),f.consume())}))};
mxEditor.prototype.installUndoHandler=function(a){var c=mxUtils.bind(this,function(a,d){var b=d.getProperty("edit");this.undoManager.undoableEditHappened(b)});a.getModel().addListener(mxEvent.UNDO,c);a.getView().addListener(mxEvent.UNDO,c);c=function(c,d){var b=d.getProperty("edit").changes;a.setSelectionCells(a.getSelectionCellsForChanges(b))};this.undoManager.addListener(mxEvent.UNDO,c);this.undoManager.addListener(mxEvent.REDO,c)};
mxEditor.prototype.installDrillHandler=function(a){var c=mxUtils.bind(this,function(a){this.fireEvent(new mxEventObject(mxEvent.ROOT))});a.getView().addListener(mxEvent.DOWN,c);a.getView().addListener(mxEvent.UP,c)};
mxEditor.prototype.installChangeHandler=function(a){var c=mxUtils.bind(this,function(c,d){this.setModified(!0);!0==this.validating&&a.validateGraph();for(var b=d.getProperty("edit").changes,e=0;e<b.length;e++){var g=b[e];if(g instanceof mxRootChange||g instanceof mxValueChange&&g.cell==this.graph.model.root||g instanceof mxCellAttributeChange&&g.cell==this.graph.model.root){this.fireEvent(new mxEventObject(mxEvent.ROOT));break}}});a.getModel().addListener(mxEvent.CHANGE,c)};
mxEditor.prototype.installInsertHandler=function(a){var c=this;a.addMouseListener({mouseDown:function(a,d){if(null!=c.insertFunction&&!d.isPopupTrigger()&&(c.forcedInserting||null==d.getState()))c.graph.clearSelection(),c.insertFunction(d.getEvent(),d.getCell()),this.isActive=!0,d.consume()},mouseMove:function(a,d){this.isActive&&d.consume()},mouseUp:function(a,d){this.isActive&&(this.isActive=!1,d.consume())}})};
mxEditor.prototype.createDiagramLayout=function(){var a=this.graph.gridSize,c=new mxStackLayout(this.graph,!this.horizontalFlow,this.swimlaneSpacing,2*a,2*a);c.isVertexIgnored=function(a){return!c.graph.isSwimlane(a)};return c};mxEditor.prototype.createSwimlaneLayout=function(){return new mxCompactTreeLayout(this.graph,this.horizontalFlow)};mxEditor.prototype.createToolbar=function(){return new mxDefaultToolbar(null,this)};
mxEditor.prototype.setToolbarContainer=function(a){this.toolbar.init(a);mxClient.IS_QUIRKS&&new mxDivResizer(a)};
mxEditor.prototype.setStatusContainer=function(a){null==this.status&&(this.status=a,this.addListener(mxEvent.SAVE,mxUtils.bind(this,function(){var a=(new Date).toLocaleString();this.setStatus((mxResources.get(this.lastSavedResource)||this.lastSavedResource)+": "+a)})),this.addListener(mxEvent.OPEN,mxUtils.bind(this,function(){this.setStatus((mxResources.get(this.currentFileResource)||this.currentFileResource)+": "+this.filename)})),mxClient.IS_QUIRKS&&new mxDivResizer(a))};
mxEditor.prototype.setStatus=function(a){null!=this.status&&null!=a&&(this.status.innerHTML=a)};mxEditor.prototype.setTitleContainer=function(a){this.addListener(mxEvent.ROOT,mxUtils.bind(this,function(c){a.innerHTML=this.getTitle()}));mxClient.IS_QUIRKS&&new mxDivResizer(a)};mxEditor.prototype.treeLayout=function(a,c){null!=a&&(new mxCompactTreeLayout(this.graph,c)).execute(a)};
mxEditor.prototype.getTitle=function(){for(var a="",c=this.graph,f=c.getCurrentRoot();null!=f&&null!=c.getModel().getParent(c.getModel().getParent(f));)c.isValidRoot(f)&&(a=" \x3e "+c.convertValueToString(f)+a),f=c.getModel().getParent(f);return this.getRootTitle()+a};mxEditor.prototype.getRootTitle=function(){var a=this.graph.getModel().getRoot();return this.graph.convertValueToString(a)};mxEditor.prototype.undo=function(){this.undoManager.undo()};mxEditor.prototype.redo=function(){this.undoManager.redo()};
mxEditor.prototype.groupCells=function(){var a=null!=this.groupBorderSize?this.groupBorderSize:this.graph.gridSize;return this.graph.groupCells(this.createGroup(),a)};mxEditor.prototype.createGroup=function(){return this.graph.getModel().cloneCell(this.defaultGroup)};mxEditor.prototype.open=function(a){if(null!=a){var c=mxUtils.load(a).getXml();this.readGraphModel(c.documentElement);this.filename=a;this.fireEvent(new mxEventObject(mxEvent.OPEN,"filename",a))}};
mxEditor.prototype.readGraphModel=function(a){(new mxCodec(a.ownerDocument)).decode(a,this.graph.getModel());this.resetHistory()};mxEditor.prototype.save=function(a,c){a=a||this.getUrlPost();if(null!=a&&0<a.length){var f=this.writeGraphModel(c);this.postDiagram(a,f);this.setModified(!1)}this.fireEvent(new mxEventObject(mxEvent.SAVE,"url",a))};
mxEditor.prototype.postDiagram=function(a,c){this.escapePostData&&(c=encodeURIComponent(c));mxUtils.post(a,this.postParameterName+"\x3d"+c,mxUtils.bind(this,function(f){this.fireEvent(new mxEventObject(mxEvent.POST,"request",f,"url",a,"data",c))}))};mxEditor.prototype.writeGraphModel=function(a){a=null!=a?a:this.linefeed;var c=(new mxCodec).encode(this.graph.getModel());return mxUtils.getXml(c,a)};mxEditor.prototype.getUrlPost=function(){return this.urlPost};mxEditor.prototype.getUrlImage=function(){return this.urlImage};
mxEditor.prototype.swapStyles=function(a,c){var f=this.graph.getStylesheet().styles[c];this.graph.getView().getStylesheet().putCellStyle(c,this.graph.getStylesheet().styles[a]);this.graph.getStylesheet().putCellStyle(a,f);this.graph.refresh()};
mxEditor.prototype.showProperties=function(a){a=a||this.graph.getSelectionCell();null==a&&(a=this.graph.getCurrentRoot(),null==a&&(a=this.graph.getModel().getRoot()));if(null!=a){this.graph.stopEditing(!0);var c=mxUtils.getOffset(this.graph.container),f=c.x+10,c=c.y;if(null!=this.properties&&!this.movePropertiesDialog)f=this.properties.getX(),c=this.properties.getY();else{var d=this.graph.getCellBounds(a);null!=d&&(f+=d.x+Math.min(200,d.width),c+=d.y)}this.hideProperties();a=this.createProperties(a);
null!=a&&(this.properties=new mxWindow(mxResources.get(this.propertiesResource)||this.propertiesResource,a,f,c,this.propertiesWidth,this.propertiesHeight,!1),this.properties.setVisible(!0))}};mxEditor.prototype.isPropertiesVisible=function(){return null!=this.properties};
mxEditor.prototype.createProperties=function(a){var c=this.graph.getModel(),f=c.getValue(a);if(mxUtils.isNode(f)){var d=new mxForm("properties");d.addText("ID",a.getId()).setAttribute("readonly","true");var b=null,e=null,g=null,k=null,l=null;c.isVertex(a)&&(b=c.getGeometry(a),null!=b&&(e=d.addText("top",b.y),g=d.addText("left",b.x),k=d.addText("width",b.width),l=d.addText("height",b.height)));for(var n=c.getStyle(a),m=d.addText("Style",n||""),p=f.attributes,r=[],f=0;f<p.length;f++)r[f]=d.addTextarea(p[f].nodeName,
p[f].value,"label"==p[f].nodeName?4:2);f=mxUtils.bind(this,function(){this.hideProperties();c.beginUpdate();try{null!=b&&(b=b.clone(),b.x=parseFloat(g.value),b.y=parseFloat(e.value),b.width=parseFloat(k.value),b.height=parseFloat(l.value),c.setGeometry(a,b));0<m.value.length?c.setStyle(a,m.value):c.setStyle(a,null);for(var d=0;d<p.length;d++){var f=new mxCellAttributeChange(a,p[d].nodeName,r[d].value);c.execute(f)}this.graph.isAutoSizeCell(a)&&this.graph.updateCellSize(a)}finally{c.endUpdate()}});
n=mxUtils.bind(this,function(){this.hideProperties()});d.addButtons(f,n);return d.table}return null};mxEditor.prototype.hideProperties=function(){null!=this.properties&&(this.properties.destroy(),this.properties=null)};
mxEditor.prototype.showTasks=function(){if(null==this.tasks){var a=document.createElement("div");a.style.padding="4px";a.style.paddingLeft="20px";var c=document.body.clientWidth,c=new mxWindow(mxResources.get(this.tasksResource)||this.tasksResource,a,c-220,this.tasksTop,200);c.setClosable(!0);c.destroyOnClose=!1;var f=mxUtils.bind(this,function(d){mxEvent.release(a);a.innerHTML="";this.createTasks(a)});this.graph.getModel().addListener(mxEvent.CHANGE,f);this.graph.getSelectionModel().addListener(mxEvent.CHANGE,
f);this.graph.addListener(mxEvent.ROOT,f);null!=this.tasksWindowImage&&c.setImage(this.tasksWindowImage);this.tasks=c;this.createTasks(a)}this.tasks.setVisible(!0)};mxEditor.prototype.refreshTasks=function(a){null!=this.tasks&&(a=this.tasks.content,mxEvent.release(a),a.innerHTML="",this.createTasks(a))};mxEditor.prototype.createTasks=function(a){};
mxEditor.prototype.showHelp=function(a){if(null==this.help){var c=document.createElement("iframe");c.setAttribute("src",mxResources.get("urlHelp")||this.urlHelp);c.setAttribute("height","100%");c.setAttribute("width","100%");c.setAttribute("frameBorder","0");c.style.backgroundColor="white";a=document.body.clientWidth;var f=document.body.clientHeight||document.documentElement.clientHeight,d=new mxWindow(mxResources.get(this.helpResource)||this.helpResource,c,(a-this.helpWidth)/2,(f-this.helpHeight)/
3,this.helpWidth,this.helpHeight);d.setMaximizable(!0);d.setClosable(!0);d.destroyOnClose=!1;d.setResizable(!0);null!=this.helpWindowImage&&d.setImage(this.helpWindowImage);mxClient.IS_NS&&(a=function(b){c.setAttribute("height",d.div.offsetHeight-26+"px")},d.addListener(mxEvent.RESIZE_END,a),d.addListener(mxEvent.MAXIMIZE,a),d.addListener(mxEvent.NORMALIZE,a),d.addListener(mxEvent.SHOW,a));this.help=d}this.help.setVisible(!0)};
mxEditor.prototype.showOutline=function(){if(null==this.outline){var a=document.createElement("div");a.style.overflow="hidden";a.style.position="relative";a.style.width="100%";a.style.height="100%";a.style.background="white";a.style.cursor="move";8==document.documentMode&&(a.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity\x3d100)");var c=new mxWindow(mxResources.get(this.outlineResource)||this.outlineResource,a,600,480,200,200,!1),f=new mxOutline(this.graph,a);c.setClosable(!0);c.setResizable(!0);
c.destroyOnClose=!1;c.addListener(mxEvent.RESIZE_END,function(){f.update()});this.outline=c;this.outline.outline=f}this.outline.setVisible(!0);this.outline.outline.update(!0)};mxEditor.prototype.setMode=function(a){"select"==a?(this.graph.panningHandler.useLeftButtonForPanning=!1,this.graph.setConnectable(!1)):"connect"==a?(this.graph.panningHandler.useLeftButtonForPanning=!1,this.graph.setConnectable(!0)):"pan"==a&&(this.graph.panningHandler.useLeftButtonForPanning=!0,this.graph.setConnectable(!1))};
mxEditor.prototype.createPopupMenu=function(a,c,f){this.popupHandler.createMenu(this,a,c,f)};mxEditor.prototype.createEdge=function(a,c){var f=null;if(null!=this.defaultEdge)f=this.graph.getModel().cloneCell(this.defaultEdge);else{f=new mxCell("");f.setEdge(!0);var d=new mxGeometry;d.relative=!0;f.setGeometry(d)}d=this.getEdgeStyle();null!=d&&f.setStyle(d);return f};mxEditor.prototype.getEdgeStyle=function(){return this.defaultEdgeStyle};
mxEditor.prototype.consumeCycleAttribute=function(a){return null!=this.cycleAttributeValues&&0<this.cycleAttributeValues.length&&this.graph.isSwimlane(a)?this.cycleAttributeValues[this.cycleAttributeIndex++%this.cycleAttributeValues.length]:null};mxEditor.prototype.cycleAttribute=function(a){if(null!=this.cycleAttributeName){var c=this.consumeCycleAttribute(a);null!=c&&a.setStyle(a.getStyle()+";"+this.cycleAttributeName+"\x3d"+c)}};
mxEditor.prototype.addVertex=function(a,c,f,d){for(var b=this.graph.getModel();null!=a&&!this.graph.isValidDropTarget(a);)a=b.getParent(a);a=null!=a?a:this.graph.getSwimlaneAt(f,d);var e=this.graph.getView().scale,g=b.getGeometry(c),k=b.getGeometry(a);if(this.graph.isSwimlane(c)&&!this.graph.swimlaneNesting)a=null;else{if(null==a&&this.swimlaneRequired)return null;if(null!=a&&null!=k){var l=this.graph.getView().getState(a);if(null!=l){if(f-=l.origin.x*e,d-=l.origin.y*e,this.graph.isConstrainedMoving){var k=
g.width,n=g.height,m=l.x+l.width;f+k>m&&(f-=f+k-m);m=l.y+l.height;d+n>m&&(d-=d+n-m)}}else null!=k&&(f-=k.x*e,d-=k.y*e)}}g=g.clone();g.x=this.graph.snap(f/e-this.graph.getView().translate.x-this.graph.gridSize/2);g.y=this.graph.snap(d/e-this.graph.getView().translate.y-this.graph.gridSize/2);c.setGeometry(g);null==a&&(a=this.graph.getDefaultParent());this.cycleAttribute(c);this.fireEvent(new mxEventObject(mxEvent.BEFORE_ADD_VERTEX,"vertex",c,"parent",a));b.beginUpdate();try{c=this.graph.addCell(c,
a),null!=c&&(this.graph.constrainChild(c),this.fireEvent(new mxEventObject(mxEvent.ADD_VERTEX,"vertex",c)))}finally{b.endUpdate()}null!=c&&(this.graph.setSelectionCell(c),this.graph.scrollCellToVisible(c),this.fireEvent(new mxEventObject(mxEvent.AFTER_ADD_VERTEX,"vertex",c)));return c};
mxEditor.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,null!=this.tasks&&this.tasks.destroy(),null!=this.outline&&this.outline.destroy(),null!=this.properties&&this.properties.destroy(),null!=this.keyHandler&&this.keyHandler.destroy(),null!=this.rubberband&&this.rubberband.destroy(),null!=this.toolbar&&this.toolbar.destroy(),null!=this.graph&&this.graph.destroy(),this.templates=this.status=null)};
var mxCodecRegistry={codecs:[],aliases:[],register:function(a){if(null!=a){var c=a.getName();mxCodecRegistry.codecs[c]=a;var f=mxUtils.getFunctionName(a.template.constructor);f!=c&&mxCodecRegistry.addAlias(f,c)}return a},addAlias:function(a,c){mxCodecRegistry.aliases[a]=c},getCodec:function(a){var c=null;if(null!=a){var c=mxUtils.getFunctionName(a),f=mxCodecRegistry.aliases[c];null!=f&&(c=f);c=mxCodecRegistry.codecs[c];if(null==c)try{c=new mxObjectCodec(new a),mxCodecRegistry.register(c)}catch(d){}}return c}};
function mxCodec(a){this.document=a||mxUtils.createXmlDocument();this.objects=[]}mxCodec.prototype.document=null;mxCodec.prototype.objects=null;mxCodec.prototype.elements=null;mxCodec.prototype.encodeDefaults=!1;mxCodec.prototype.putObject=function(a,c){return this.objects[a]=c};mxCodec.prototype.getObject=function(a){var c=null;null!=a&&(c=this.objects[a],null==c&&(c=this.lookup(a),null==c&&(a=this.getElementById(a),null!=a&&(c=this.decode(a)))));return c};mxCodec.prototype.lookup=function(a){return null};
mxCodec.prototype.getElementById=function(a){null==this.elements&&(this.elements={},this.addElement(this.document.documentElement));return this.elements[a]};mxCodec.prototype.addElement=function(a){if(a.nodeType==mxConstants.NODETYPE_ELEMENT){var c=a.getAttribute("id");null!=c&&null==this.elements[c]&&(this.elements[c]=a)}for(a=a.firstChild;null!=a;)this.addElement(a),a=a.nextSibling};
mxCodec.prototype.getId=function(a){var c=null;null!=a&&(c=this.reference(a),null==c&&a instanceof mxCell&&(c=a.getId(),null==c&&(c=mxCellPath.create(a),0==c.length&&(c="root"))));return c};mxCodec.prototype.reference=function(a){return null};mxCodec.prototype.encode=function(a){var c=null;if(null!=a&&null!=a.constructor){var f=mxCodecRegistry.getCodec(a.constructor);null!=f?c=f.encode(this,a):mxUtils.isNode(a)?c=mxUtils.importNode(this.document,a,!0):mxLog.warn("mxCodec.encode: No codec for "+mxUtils.getFunctionName(a.constructor))}return c};
mxCodec.prototype.decode=function(a,c){var f=null;if(null!=a&&a.nodeType==mxConstants.NODETYPE_ELEMENT){f=null;try{f=window[a.nodeName]}catch(d){}f=mxCodecRegistry.getCodec(f);null!=f?f=f.decode(this,a,c):(f=a.cloneNode(!0),f.removeAttribute("as"))}return f};mxCodec.prototype.encodeCell=function(a,c,f){c.appendChild(this.encode(a));if(null==f||f){f=a.getChildCount();for(var d=0;d<f;d++)this.encodeCell(a.getChildAt(d),c)}};
mxCodec.prototype.isCellCodec=function(a){return null!=a&&"function"==typeof a.isCellCodec?a.isCellCodec():!1};mxCodec.prototype.decodeCell=function(a,c){c=null!=c?c:!0;var f=null;if(null!=a&&a.nodeType==mxConstants.NODETYPE_ELEMENT){f=mxCodecRegistry.getCodec(a.nodeName);if(!this.isCellCodec(f))for(var d=a.firstChild;null!=d&&!this.isCellCodec(f);)f=mxCodecRegistry.getCodec(d.nodeName),d=d.nextSibling;this.isCellCodec(f)||(f=mxCodecRegistry.getCodec(mxCell));f=f.decode(this,a);c&&this.insertIntoGraph(f)}return f};
mxCodec.prototype.insertIntoGraph=function(a){var c=a.parent,f=a.getTerminal(!0),d=a.getTerminal(!1);a.setTerminal(null,!1);a.setTerminal(null,!0);a.parent=null;null!=c&&c.insert(a);null!=f&&f.insertEdge(a,!0);null!=d&&d.insertEdge(a,!1)};mxCodec.prototype.setAttribute=function(a,c,f){null!=c&&null!=f&&a.setAttribute(c,f)};
function mxObjectCodec(a,c,f,d){this.template=a;this.exclude=null!=c?c:[];this.idrefs=null!=f?f:[];this.mapping=null!=d?d:[];this.reverse={};for(var b in this.mapping)this.reverse[this.mapping[b]]=b}mxObjectCodec.allowEval=!1;mxObjectCodec.prototype.template=null;mxObjectCodec.prototype.exclude=null;mxObjectCodec.prototype.idrefs=null;mxObjectCodec.prototype.mapping=null;mxObjectCodec.prototype.reverse=null;mxObjectCodec.prototype.getName=function(){return mxUtils.getFunctionName(this.template.constructor)};
mxObjectCodec.prototype.cloneTemplate=function(){return new this.template.constructor};mxObjectCodec.prototype.getFieldName=function(a){if(null!=a){var c=this.reverse[a];null!=c&&(a=c)}return a};mxObjectCodec.prototype.getAttributeName=function(a){if(null!=a){var c=this.mapping[a];null!=c&&(a=c)}return a};mxObjectCodec.prototype.isExcluded=function(a,c,f,d){return c==mxObjectIdentity.FIELD_NAME||0<=mxUtils.indexOf(this.exclude,c)};
mxObjectCodec.prototype.isReference=function(a,c,f,d){return 0<=mxUtils.indexOf(this.idrefs,c)};mxObjectCodec.prototype.encode=function(a,c){var f=a.document.createElement(this.getName());c=this.beforeEncode(a,c,f);this.encodeObject(a,c,f);return this.afterEncode(a,c,f)};mxObjectCodec.prototype.encodeObject=function(a,c,f){a.setAttribute(f,"id",a.getId(c));for(var d in c){var b=d,e=c[b];null!=e&&!this.isExcluded(c,b,e,!0)&&(mxUtils.isInteger(b)&&(b=null),this.encodeValue(a,c,b,e,f))}};
mxObjectCodec.prototype.encodeValue=function(a,c,f,d,b){if(null!=d){if(this.isReference(c,f,d,!0)){var e=a.getId(d);if(null==e){mxLog.warn("mxObjectCodec.encode: No ID for "+this.getName()+"."+f+"\x3d"+d);return}d=e}e=this.template[f];if(null==f||a.encodeDefaults||e!=d)f=this.getAttributeName(f),this.writeAttribute(a,c,f,d,b)}};mxObjectCodec.prototype.writeAttribute=function(a,c,f,d,b){"object"!=typeof d?this.writePrimitiveAttribute(a,c,f,d,b):this.writeComplexAttribute(a,c,f,d,b)};
mxObjectCodec.prototype.writePrimitiveAttribute=function(a,c,f,d,b){d=this.convertAttributeToXml(a,c,f,d,b);null==f?(c=a.document.createElement("add"),"function"==typeof d?c.appendChild(a.document.createTextNode(d)):a.setAttribute(c,"value",d),b.appendChild(c)):"function"!=typeof d&&a.setAttribute(b,f,d)};
mxObjectCodec.prototype.writeComplexAttribute=function(a,c,f,d,b){a=a.encode(d);null!=a?(null!=f&&a.setAttribute("as",f),b.appendChild(a)):mxLog.warn("mxObjectCodec.encode: No node for "+this.getName()+"."+f+": "+d)};mxObjectCodec.prototype.convertAttributeToXml=function(a,c,f,d){this.isBooleanAttribute(a,c,f,d)&&(d=!0==d?"1":"0");return d};mxObjectCodec.prototype.isBooleanAttribute=function(a,c,f,d){return"undefined"==typeof d.length&&(!0==d||!1==d)};
mxObjectCodec.prototype.convertAttributeFromXml=function(a,c,f){var d=c.value;this.isNumericAttribute(a,c,f)&&(d=parseFloat(d));return d};mxObjectCodec.prototype.isNumericAttribute=function(a,c,f){return mxUtils.isNumeric(c.value)};mxObjectCodec.prototype.beforeEncode=function(a,c,f){return c};mxObjectCodec.prototype.afterEncode=function(a,c,f){return f};
mxObjectCodec.prototype.decode=function(a,c,f){var d=c.getAttribute("id"),b=a.objects[d];null==b&&(b=f||this.cloneTemplate(),null!=d&&a.putObject(d,b));c=this.beforeDecode(a,c,b);this.decodeNode(a,c,b);return this.afterDecode(a,c,b)};mxObjectCodec.prototype.decodeNode=function(a,c,f){null!=c&&(this.decodeAttributes(a,c,f),this.decodeChildren(a,c,f))};mxObjectCodec.prototype.decodeAttributes=function(a,c,f){c=c.attributes;if(null!=c)for(var d=0;d<c.length;d++)this.decodeAttribute(a,c[d],f)};
mxObjectCodec.prototype.isIgnoredAttribute=function(a,c,f){return"as"==c.nodeName||"id"==c.nodeName};mxObjectCodec.prototype.decodeAttribute=function(a,c,f){if(!this.isIgnoredAttribute(a,c,f)){var d=c.nodeName;c=this.convertAttributeFromXml(a,c,f);var b=this.getFieldName(d);if(this.isReference(f,b,c,!1)){a=a.getObject(c);if(null==a){mxLog.warn("mxObjectCodec.decode: No object for "+this.getName()+"."+d+"\x3d"+c);return}c=a}this.isExcluded(f,d,c,!1)||(f[d]=c)}};
mxObjectCodec.prototype.decodeChildren=function(a,c,f){for(c=c.firstChild;null!=c;){var d=c.nextSibling;c.nodeType==mxConstants.NODETYPE_ELEMENT&&!this.processInclude(a,c,f)&&this.decodeChild(a,c,f);c=d}};
mxObjectCodec.prototype.decodeChild=function(a,c,f){var d=this.getFieldName(c.getAttribute("as"));if(null==d||!this.isExcluded(f,d,c,!1)){var b=this.getFieldTemplate(f,d,c),e=null;"add"==c.nodeName?(e=c.getAttribute("value"),null==e&&mxObjectCodec.allowEval&&(e=mxUtils.eval(mxUtils.getTextContent(c)))):e=a.decode(c,b);this.addObjectValue(f,d,e,b)}};mxObjectCodec.prototype.getFieldTemplate=function(a,c,f){a=a[c];a instanceof Array&&0<a.length&&(a=null);return a};
mxObjectCodec.prototype.addObjectValue=function(a,c,f,d){null!=f&&f!=d&&(null!=c&&0<c.length?a[c]=f:a.push(f))};mxObjectCodec.prototype.processInclude=function(a,c,f){if("include"==c.nodeName){c=c.getAttribute("name");if(null!=c)try{var d=mxUtils.load(c).getDocumentElement();null!=d&&a.decode(d,f)}catch(b){}return!0}return!1};mxObjectCodec.prototype.beforeDecode=function(a,c,f){return c};mxObjectCodec.prototype.afterDecode=function(a,c,f){return f};
mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxCell,["children","edges","overlays","mxTransient"],["parent","source","target"]);a.isCellCodec=function(){return!0};a.isNumericAttribute=function(a,f,d){return"value"!==f.nodeName&&mxObjectCodec.prototype.isNumericAttribute.apply(this,arguments)};a.isExcluded=function(a,f,d,b){return mxObjectCodec.prototype.isExcluded.apply(this,arguments)||b&&"value"==f&&d.nodeType==mxConstants.NODETYPE_ELEMENT};a.afterEncode=function(a,f,d){if(null!=
f.value&&f.value.nodeType==mxConstants.NODETYPE_ELEMENT){var b=d;d=mxUtils.importNode(a.document,f.value,!0);d.appendChild(b);a=b.getAttribute("id");d.setAttribute("id",a);b.removeAttribute("id")}return d};a.beforeDecode=function(a,f,d){var b=f.cloneNode(!0),e=this.getName();f.nodeName!=e?(b=f.getElementsByTagName(e)[0],null!=b&&b.parentNode==f?(mxUtils.removeWhitespace(b,!0),mxUtils.removeWhitespace(b,!1),b.parentNode.removeChild(b)):b=null,d.value=f.cloneNode(!0),f=d.value.getAttribute("id"),null!=
f&&(d.setId(f),d.value.removeAttribute("id"))):d.setId(f.getAttribute("id"));if(null!=b)for(f=0;f<this.idrefs.length;f++){var e=this.idrefs[f],g=b.getAttribute(e);if(null!=g){b.removeAttribute(e);var k=a.objects[g]||a.lookup(g);null==k&&(g=a.getElementById(g),null!=g&&(k=(mxCodecRegistry.codecs[g.nodeName]||this).decode(a,g)));d[e]=k}}return b};return a}());
mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxGraphModel);a.encodeObject=function(a,f,d){var b=a.document.createElement("root");a.encodeCell(f.getRoot(),b);d.appendChild(b)};a.decodeChild=function(a,f,d){"root"==f.nodeName?this.decodeRoot(a,f,d):mxObjectCodec.prototype.decodeChild.apply(this,arguments)};a.decodeRoot=function(a,f,d){var b=null;for(f=f.firstChild;null!=f;){var e=a.decodeCell(f);null!=e&&null==e.getParent()&&(b=e);f=f.nextSibling}null!=b&&d.setRoot(b)};return a}());
mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxRootChange,["model","previous","root"]);a.afterEncode=function(a,f,d){a.encodeCell(f.root,d);return d};a.beforeDecode=function(a,f,d){if(null!=f.firstChild&&f.firstChild.nodeType==mxConstants.NODETYPE_ELEMENT){f=f.cloneNode(!0);var b=f.firstChild;d.root=a.decodeCell(b,!1);d=b.nextSibling;b.parentNode.removeChild(b);for(b=d;null!=b;)d=b.nextSibling,a.decodeCell(b),b.parentNode.removeChild(b),b=d}return f};a.afterDecode=function(a,f,
d){d.previous=d.root;return d};return a}());
mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxChildChange,["model","child","previousIndex"],["parent","previous"]);a.isReference=function(a,f,d,b){return"child"==f&&(null!=a.previous||!b)?!0:0<=mxUtils.indexOf(this.idrefs,f)};a.afterEncode=function(a,f,d){this.isReference(f,"child",f.child,!0)?d.setAttribute("child",a.getId(f.child)):a.encodeCell(f.child,d);return d};a.beforeDecode=function(a,f,d){if(null!=f.firstChild&&f.firstChild.nodeType==mxConstants.NODETYPE_ELEMENT){f=f.cloneNode(!0);
var b=f.firstChild;d.child=a.decodeCell(b,!1);d=b.nextSibling;b.parentNode.removeChild(b);for(b=d;null!=b;){d=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var e=b.getAttribute("id");null==a.lookup(e)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=d}}else b=f.getAttribute("child"),d.child=a.getObject(b);return f};a.afterDecode=function(a,f,d){d.child.parent=d.previous;d.previous=d.parent;d.previousIndex=d.index;return d};return a}());
mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxTerminalChange,["model","previous"],["cell","terminal"]);a.afterDecode=function(a,f,d){d.previous=d.terminal;return d};return a}());var mxGenericChangeCodec=function(a,c){var f=new mxObjectCodec(a,["model","previous"],["cell"]);f.afterDecode=function(a,b,e){mxUtils.isNode(e.cell)&&(e.cell=a.decodeCell(e.cell,!1));e.previous=e[c];return e};return f};mxCodecRegistry.register(mxGenericChangeCodec(new mxValueChange,"value"));
mxCodecRegistry.register(mxGenericChangeCodec(new mxStyleChange,"style"));mxCodecRegistry.register(mxGenericChangeCodec(new mxGeometryChange,"geometry"));mxCodecRegistry.register(mxGenericChangeCodec(new mxCollapseChange,"collapsed"));mxCodecRegistry.register(mxGenericChangeCodec(new mxVisibleChange,"visible"));mxCodecRegistry.register(mxGenericChangeCodec(new mxCellAttributeChange,"value"));mxCodecRegistry.register(function(){return new mxObjectCodec(new mxGraph,"graphListeners eventListeners view container cellRenderer editor selection".split(" "))}());
mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxGraphView);a.encode=function(a,f){return this.encodeCell(a,f,f.graph.getModel().getRoot())};a.encodeCell=function(a,f,d){var b=f.graph.getModel(),e=f.getState(d),g=b.getParent(d);if(null==g||null!=e){var k=b.getChildCount(d),l=f.graph.getCellGeometry(d),n=null;g==b.getRoot()?n="layer":null==g?n="graph":b.isEdge(d)?n="edge":0<k&&null!=l?n="group":b.isVertex(d)&&(n="vertex");if(null!=n){var m=a.document.createElement(n);null!=f.graph.getLabel(d)&&
(m.setAttribute("label",f.graph.getLabel(d)),f.graph.isHtmlLabel(d)&&m.setAttribute("html",!0));if(null==g){var p=f.getGraphBounds();null!=p&&(m.setAttribute("x",Math.round(p.x)),m.setAttribute("y",Math.round(p.y)),m.setAttribute("width",Math.round(p.width)),m.setAttribute("height",Math.round(p.height)));m.setAttribute("scale",f.scale)}else if(null!=e&&null!=l){for(p in e.style)g=e.style[p],"function"==typeof g&&"object"==typeof g&&(g=mxStyleRegistry.getName(g)),null!=g&&"function"!=typeof g&&"object"!=
typeof g&&m.setAttribute(p,g);g=e.absolutePoints;if(null!=g&&0<g.length){l=Math.round(g[0].x)+","+Math.round(g[0].y);for(p=1;p<g.length;p++)l+=" "+Math.round(g[p].x)+","+Math.round(g[p].y);m.setAttribute("points",l)}else m.setAttribute("x",Math.round(e.x)),m.setAttribute("y",Math.round(e.y)),m.setAttribute("width",Math.round(e.width)),m.setAttribute("height",Math.round(e.height));p=e.absoluteOffset;null!=p&&(0!=p.x&&m.setAttribute("dx",Math.round(p.x)),0!=p.y&&m.setAttribute("dy",Math.round(p.y)))}for(p=
0;p<k;p++)e=this.encodeCell(a,f,b.getChildAt(d,p)),null!=e&&m.appendChild(e)}}return m};return a}());
var mxStylesheetCodec=mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxStylesheet);a.encode=function(a,f){var d=a.document.createElement(this.getName()),b;for(b in f.styles){var e=f.styles[b],g=a.document.createElement("add");if(null!=b){g.setAttribute("as",b);for(var k in e){var l=this.getStringValue(k,e[k]);if(null!=l){var n=a.document.createElement("add");n.setAttribute("value",l);n.setAttribute("as",k);g.appendChild(n)}}0<g.childNodes.length&&d.appendChild(g)}}return d};a.getStringValue=
function(a,f){var d=typeof f;"function"==d?f=mxStyleRegistry.getName(style[j]):"object"==d&&(f=null);return f};a.decode=function(a,f,d){d=d||new this.template.constructor;var b=f.getAttribute("id");null!=b&&(a.objects[b]=d);for(f=f.firstChild;null!=f;){if(!this.processInclude(a,f,d)&&"add"==f.nodeName&&(b=f.getAttribute("as"),null!=b)){var e=f.getAttribute("extend"),g=null!=e?mxUtils.clone(d.styles[e]):null;null==g&&(null!=e&&mxLog.warn("mxStylesheetCodec.decode: stylesheet "+e+" not found to extend"),
g={});for(e=f.firstChild;null!=e;){if(e.nodeType==mxConstants.NODETYPE_ELEMENT){var k=e.getAttribute("as");if("add"==e.nodeName){var l=mxUtils.getTextContent(e),n=null;null!=l&&0<l.length&&mxStylesheetCodec.allowEval?n=mxUtils.eval(l):(n=e.getAttribute("value"),mxUtils.isNumeric(n)&&(n=parseFloat(n)));null!=n&&(g[k]=n)}else"remove"==e.nodeName&&delete g[k]}e=e.nextSibling}d.putCellStyle(b,g)}f=f.nextSibling}return d};return a}());mxStylesheetCodec.allowEval=!0;
mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxDefaultKeyHandler);a.encode=function(a,f){return null};a.decode=function(a,f,d){if(null!=d)for(f=f.firstChild;null!=f;){if(!this.processInclude(a,f,d)&&"add"==f.nodeName){var b=f.getAttribute("as"),e=f.getAttribute("action"),g=f.getAttribute("control");d.bindAction(b,e,g)}f=f.nextSibling}return d};return a}());
var mxDefaultToolbarCodec=mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxDefaultToolbar);a.encode=function(a,f){return null};a.decode=function(a,f,d){if(null!=d){var b=d.editor;for(f=f.firstChild;null!=f;){if(f.nodeType==mxConstants.NODETYPE_ELEMENT&&!this.processInclude(a,f,d))if("separator"==f.nodeName)d.addSeparator();else if("br"==f.nodeName)d.toolbar.addBreak();else if("hr"==f.nodeName)d.toolbar.addLine();else if("add"==f.nodeName){var e=f.getAttribute("as"),e=mxResources.get(e)||
e,g=f.getAttribute("icon"),k=f.getAttribute("pressedIcon"),l=f.getAttribute("action"),n=f.getAttribute("mode"),m=f.getAttribute("template"),p="0"!=f.getAttribute("toggle"),r=mxUtils.getTextContent(f),s=null;if(null!=l)s=d.addItem(e,g,l,k);else if(null!=n)var q=mxDefaultToolbarCodec.allowEval?mxUtils.eval(r):null,s=d.addMode(e,g,n,k,q);else if(null!=m||null!=r&&0<r.length)s=b.templates[m],m=f.getAttribute("style"),null!=s&&null!=m&&(s=b.graph.cloneCells([s])[0],s.setStyle(m)),m=null,null!=r&&0<r.length&&
mxDefaultToolbarCodec.allowEval&&(m=mxUtils.eval(r)),s=d.addPrototype(e,g,s,k,m,p);else if(k=mxUtils.getChildNodes(f),0<k.length)if(null==g){m=d.addActionCombo(e);for(e=0;e<k.length;e++)p=k[e],"separator"==p.nodeName?d.addOption(m,"---"):"add"==p.nodeName&&(g=p.getAttribute("as"),p=p.getAttribute("action"),d.addActionOption(m,g,p))}else{var u=null,t=d.addPrototype(e,g,function(){var a=b.templates[u.value];if(null!=a){var a=a.clone(),d=u.options[u.selectedIndex].cellStyle;null!=d&&a.setStyle(d);return a}mxLog.warn("Template "+
a+" not found");return null},null,null,p),u=d.addCombo();mxEvent.addListener(u,"change",function(){d.toolbar.selectMode(t,function(a){a=mxUtils.convertPoint(b.graph.container,mxEvent.getClientX(a),mxEvent.getClientY(a));return b.addVertex(null,q(),a.x,a.y)});d.toolbar.noReset=!1});for(e=0;e<k.length;e++)p=k[e],"separator"==p.nodeName?d.addOption(u,"---"):"add"==p.nodeName&&(g=p.getAttribute("as"),r=p.getAttribute("template"),d.addOption(u,g,r||m).cellStyle=p.getAttribute("style"))}null!=s&&(m=f.getAttribute("id"),
null!=m&&0<m.length&&s.setAttribute("id",m))}f=f.nextSibling}}return d};return a}());mxDefaultToolbarCodec.allowEval=!0;mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxDefaultPopupMenu);a.encode=function(a,f){return null};a.decode=function(a,f,d){var b=f.getElementsByTagName("include")[0];null!=b?this.processInclude(a,b,d):null!=d&&(d.config=f);return d};return a}());
mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxEditor,"modified lastSnapshot ignoredChanges undoManager graphContainer toolbarContainer".split(" "));a.afterDecode=function(a,f,d){a=f.getAttribute("defaultEdge");null!=a&&(f.removeAttribute("defaultEdge"),d.defaultEdge=d.templates[a]);a=f.getAttribute("defaultGroup");null!=a&&(f.removeAttribute("defaultGroup"),d.defaultGroup=d.templates[a]);return d};a.decodeChild=function(a,f,d){if("Array"==f.nodeName){if("templates"==f.getAttribute("as")){this.decodeTemplates(a,
f,d);return}}else if("ui"==f.nodeName){this.decodeUi(a,f,d);return}mxObjectCodec.prototype.decodeChild.apply(this,arguments)};a.decodeUi=function(a,f,d){for(a=f.firstChild;null!=a;){if("add"==a.nodeName){f=a.getAttribute("as");var b=a.getAttribute("element"),e=a.getAttribute("style"),g=null;if(null!=b)g=document.getElementById(b),null!=g&&null!=e&&(g.style.cssText+=";"+e);else{var b=parseInt(a.getAttribute("x")),k=parseInt(a.getAttribute("y")),l=a.getAttribute("width"),n=a.getAttribute("height"),
g=document.createElement("div");g.style.cssText=e;(new mxWindow(mxResources.get(f)||f,g,b,k,l,n,!1,!0)).setVisible(!0)}"graph"==f?d.setGraphContainer(g):"toolbar"==f?d.setToolbarContainer(g):"title"==f?d.setTitleContainer(g):"status"==f?d.setStatusContainer(g):"map"==f&&d.setMapContainer(g)}else"resource"==a.nodeName?mxResources.add(a.getAttribute("basename")):"stylesheet"==a.nodeName&&mxClient.link("stylesheet",a.getAttribute("name"));a=a.nextSibling}};a.decodeTemplates=function(a,f,d){null==d.templates&&
(d.templates=[]);f=mxUtils.getChildNodes(f);for(var b=0;b<f.length;b++){for(var e=f[b].getAttribute("as"),g=f[b].firstChild;null!=g&&1!=g.nodeType;)g=g.nextSibling;null!=g&&(d.templates[e]=a.decodeCell(g))}};return a}());Editor=function(a,c,f,d){mxEventSource.call(this);this.chromeless=null!=a?a:this.chromeless;this.initStencilRegistry();this.graph=d||this.createGraph(c,f);this.undoManager=this.createUndoManager();this.status="";this.getOrCreateFilename=function(){return this.filename||mxResources.get("drawing",[Editor.pageCounter])+".xml"};this.getFilename=function(){return this.filename};this.setStatus=function(b){this.status=b;this.fireEvent(new mxEventObject("statusChanged"))};this.getStatus=function(){return this.status};
this.graphChangeListener=function(){this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0;(function(){try{for(var a=window;null!=a.opener&&"undefined"!==typeof a.opener.Editor&&!isNaN(a.opener.Editor.pageCounter);)a=a.opener;null!=a&&(a.Editor.pageCounter++,Editor.pageCounter=a.Editor.pageCounter)}catch(c){}})();
Editor.useLocalStorage="undefined"!=typeof Storage&&mxClient.IS_IOS;
Editor.helpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAXVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5BxTwAAAAH3RSTlMAlUF8boNQIE0LBgOgkGlHNSwqFIx/dGVUOjApmV9ezNACSAAAAIVJREFUGNNtjNsOgzAMQ5NeoVcKDAZs+//PXLKI8YKlWvaRU7jXuFpb9qsbdK05XILUiE8JHQox1Pv3OgFUzf1AGqWqUg+QBwLF0YAeegBlCNgRWOpB5vUfTCmeoHQ/wNdy0jLH/cM+b+wLTw4n/7ACEmHVVy8h6qy8V7MNcGowWpsNbvUFcGUEdSi1s/oAAAAASUVORK5CYII\x3d":IMAGE_PATH+
"/help.png";
Editor.checkmarkImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhFQAVAMQfAGxsbHx8fIqKioaGhvb29nJycvr6+sDAwJqamltbW5OTk+np6YGBgeTk5Ly8vJiYmP39/fLy8qWlpa6ursjIyOLi4vj4+N/f3+3t7fT09LCwsHZ2dubm5r6+vmZmZv///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEY4NTZERTQ5QUFBMTFFMUE5MTVDOTM5MUZGMTE3M0QiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEY4NTZERTU5QUFBMTFFMUE5MTVDOTM5MUZGMTE3M0QiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Rjg1NkRFMjlBQUExMUUxQTkxNUM5MzkxRkYxMTczRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Rjg1NkRFMzlBQUExMUUxQTkxNUM5MzkxRkYxMTczRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAB8ALAAAAAAVABUAAAVI4CeOZGmeaKqubKtylktSgCOLRyLd3+QJEJnh4VHcMoOfYQXQLBcBD4PA6ngGlIInEHEhPOANRkaIFhq8SuHCE1Hb8Lh8LgsBADs\x3d":IMAGE_PATH+
"/checkmark.gif";Editor.maximizeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABXRSTlMA758vX1Pw3BoAAABJSURBVAjXY8AJQkODGBhUQ0MhbAUGBiYY24CBgRnGFmZgMISwgwwDGRhEhVVBbAVmEQYGRwMmBjIAQi/CTIRd6G5AuA3dzYQBAHj0EFdHkvV4AAAAAElFTkSuQmCC";Editor.zoomOutImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCxxcXEhISFgYGChjTUxAAAAAXRSTlMAQObYZgAAAEdJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITgLJZXFxgbIQ4Qj3CHIT5ggoIe5kgNkM1KSDYKBKqxPkDAPo5BAZBE54hAAAAAElFTkSuQmCC";
Editor.zoomInImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCwhISFxcXFgYGBavKaoAAAAAXRSTlMAQObYZgAAAElJREFUCNdjIAMwCQrB2YKCggJQJqMIA4sglK3owMzgqABVwsDMwCgAZTMbG8PYCHGEeoQ5CPMFFRD2MkFshmpSQLBRJFSJ8wcAEqcEM2uhl2MAAAAASUVORK5CYII\x3d";Editor.zoomFitImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAD1BMVEUAAAAAAAAwMDBwcHBgYGC1xl09AAAAAXRSTlMAQObYZgAAAEFJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITwMdGqEeYgzBfUAFhLxPEZqgmBQQbRUKFOH8AAK5OA3lA+FFOAAAAAElFTkSuQmCC";
Editor.layersImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAAaVBMVEUAAAAgICAICAgdHR0PDw8WFhYICAgLCwsXFxcvLy8ODg4uLi4iIiIqKiokJCQYGBgKCgonJycFBQUCAgIqKiocHBwcHBwODg4eHh4cHBwnJycJCQkUFBQqKiojIyMuLi4ZGRkgICAEBATOWYXAAAAAGnRSTlMAD7+fnz8/H7/ff18/77+vr5+fn39/b28fH2xSoKsAAACQSURBVBjTrYxJEsMgDARZZMAY73sgCcn/HxnhKtnk7j6oRq0psfuoyndZ/SuODkHPLzfVT6KeyPePnJ7KrnkRjWMXTn4SMnN8mXe2SSM3ts8L/ZUxxrbAULSYJJULE0Iw9pjpenoICcgcX61mGgTgtCv9Be99pzCoDhNQWQnchD1mup5++CYGcoQexajZbfwAj/0MD8ZOaUgAAAAASUVORK5CYII\x3d";
Editor.zoomOutLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC";
Editor.zoomInLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABKElEQVQ4y4WT6WKCMBCENwkBwn2oFKvWqr3L+79es4EkQIDOH2d3Pxk2ABiJlB8JCXjqw4LikHVGLHTm3nM3UeVN5690GBBN0GwyV/3kkrUQR+WeKnREeKpzaXWd77CmJiXGfPIEI4V4yQ9TIW/ntlcMBe731Vts9w5TWG8F5j3mQI4hvrKpdGeYA7CX9qAcl650gVJartxRuhyHVghF8idQAIbFLvCLu28BsQEC6aKtCK6Pyb3JT7PmbmtNH8Ny56CotD/2qOs5cJbuffxgXmCib+xddVU5RNOhkvvkhTlFehzVWCOh3++MYElOhfdovaImnRYVmqDdsuhNp1QrBBE6uGC2+3ZNjGdg5B94oD+9uyVgWT79BwAxEBTWdOu3bWBVgsn/N/AHUD9IC01Oe40AAAAASUVORK5CYII\x3d";
Editor.actualSizeLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABIUlEQVQ4y4WT2XqDIBCFBxDc9yTWNEnTJN3r+79eGT4BEbXnaubMr8dBBaM450dCQp4LWFAascGIRd48eB4cNYE7f6XjgGiCFs5c+dml6CFN6j1V6IQIlHPpdV/usKcmJcV88gQTRXjLD9Mhb+fWq8YG9/uCmTCFjeeDeY85UGKIUGUuqzN42kv7oCouq9oHamlzVR1lVfpAIu1QVRiW+sAv7r4FpAYIZZVsRXB9TP5Dfpo1d1trCgzz1iiptH/sUbdz4CzN9+mLeXHn3+hdddd4RDegsrvzwZwSs2GLPRJidAqCLTlVwaMPqpYMWjTWBB2WRW86pVkhSKyDK2bdt2tmagZG4sBD/evdLQHLEvQfAOKRoLCmG1FAB6uKmby+gz+REDn7O5+EwQAAAABJRU5ErkJggg\x3d\x3d";
Editor.layersLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAmVBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v7///+bnZkkAAAAMnRSTlMABPr8ByiD88KsTi/rvJb272mjeUA1CuPe1M/KjVxYHxMP6KZ0S9nYzGRGGRaznpGIbzaGUf0AAAHESURBVDjLbZLZYoIwEEVDgLCjbKIgAlqXqt3m/z+uNwu1rcyDhjl3ktnYL7OY254C0VX3yWFZfzDrOClbbgKxi0YDHjwl4jbnRkXxJS/C1YP3DbBhD1n7Ex4uaAqdVDb3yJ/4J/3nJD2to/ngQz/DfUvzMp4JJ5sSCaF5oXmemgQDfDxzbi+Kq4sU+vNcuAmx94JtyOP2DD4Epz2asWSCz4Z/4fECxyNj9zC9xNLHcdPEO+awDKeSaUu0W4twZQiO2hYVisTR3RCtK/c1X6t4xMEpiGqXqVntEBLolkZZsKY4QtwH6jzq67dEHlJysB1aNOD3XT7n1UkasQN59L4yC2RELMDSeCRtz3yV22Ub3ozIUTknYx8JWqDdQxbUes98cR2kZtUSveF/bAhcedwEWmlxIkpZUy4XOCb6VBjjxHvbwo/1lBAHHi2JCr0NI570QhyHq/DhJoE2lLgyA4RVe6KmZ47O/3b86MCP0HWa73A8/C3SUc5Qc1ajt6fgpXJ+RGpMvDSchepZDOOQRcZVIKcK90x2D7etqtI+56+u6n3sPriO6nfphitR4+O2m3EbM7lh3me1FM1o+LMI887rN+s3/wZdTFlpNVJiOAAAAABJRU5ErkJggg\x3d\x3d";
Editor.closeLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAUVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////8IN+deAAAAGnRSTlMAuvAIg/dDM/QlOeuFhj0S5s4vKgzjxJRQNiLSey0AAADNSURBVDjLfZLbEoMgDEQjRRRs1XqX///QNmOHJSnjPkHOGR7IEmeoGtJZstnwjqbRfIsmgEdtPCqe9Ynz7ZSc07rE2QiSc+qv8TvjRXA2PDUm3dpe82iJhOEUfxJJo3aCv+jKmRmH4lcCjCjeh9GWOdL/GZZkXH3PYYDrHBnfc4D/RVZf5sjoC1was+Y6HQxwaUxFvq/a0Pv343VCTxfBSRiB+ab3M3eiQZXmMNBJ3Y8pGRZtYQ7DgHMXJEdPLTaN/qBjzJOBc3nmNcbsA16bMR0oLqf+AAAAAElFTkSuQmCC";
Editor.editLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgMAAAAOFJJnAAAACVBMVEUAAAD///////9zeKVjAAAAAnRSTlMAgJsrThgAAABcSURBVBjThc6xDcAgDATAd8MQTEPW8TRUmYCGnzLRYyOlIV+dZFtvkICTFGqiJEzAG0/Uje9oL+e5Vu4F5yUYJxxqGKhQZ0eBvmgwYQLQaARKD1hbiPyDR0QOeAC31EyNe5X/kAAAAABJRU5ErkJggg\x3d\x3d";mxUtils.extend(Editor,mxEventSource);Editor.prototype.originalNoForeignObject=mxClient.NO_FO;
Editor.prototype.transparentImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7":IMAGE_PATH+"/transparent.gif";Editor.prototype.extendCanvas=!0;Editor.prototype.chromeless=!1;Editor.prototype.cancelFirst=!0;Editor.prototype.enabled=!0;Editor.prototype.filename=null;Editor.prototype.modified=!1;Editor.prototype.autosave=!0;Editor.prototype.initialTopSpacing=0;Editor.prototype.appName=document.title;
Editor.prototype.editBlankUrl=window.location.protocol+"//"+window.location.host+"/?client\x3d1";Editor.prototype.editBlankFallbackUrl=window.location.protocol+"//"+window.location.host+"/?create\x3ddrawdata\x26splash\x3d0";Editor.prototype.init=function(){};Editor.prototype.setAutosave=function(a){this.autosave=a;this.fireEvent(new mxEventObject("autosaveChanged"))};
Editor.prototype.editAsNew=function(a,c){var f=null!=c?"\x26title\x3d"+encodeURIComponent(c):"";if("undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)){var d=null,b=mxUtils.bind(this,function(e){"ready"==e.data&&e.source==d&&(d.postMessage(a,"*"),mxEvent.removeListener(window,"message",b))});mxEvent.addListener(window,"message",b);d=window.open(this.editBlankUrl+f)}else window.drawdata=a,window.open(this.editBlankFallbackUrl+f)};
Editor.prototype.createGraph=function(a,c){var f=new Graph(null,c,null,null,a);f.transparentBackground=!1;return f};
Editor.prototype.resetGraph=function(){this.graph.gridEnabled=!this.chromeless||"1"==urlParams.grid;this.graph.graphHandler.guidesEnabled=!0;this.graph.setTooltips(!0);this.graph.setConnectable(!0);this.graph.foldingEnabled=!0;this.graph.scrollbars=this.graph.defaultScrollbars;this.graph.pageVisible=this.graph.defaultPageVisible;this.graph.pageBreaksVisible=this.graph.pageVisible;this.graph.preferPageSize=this.graph.pageBreaksVisible;this.graph.background=this.graph.defaultGraphBackground;this.graph.pageScale=
mxGraph.prototype.pageScale;this.graph.pageFormat=mxGraph.prototype.pageFormat;this.updateGraphComponents();this.graph.view.setScale(1)};
Editor.prototype.readGraphState=function(a){this.graph.gridEnabled="0"!=a.getAttribute("grid")&&(!this.chromeless||"1"==urlParams.grid);this.graph.gridSize=parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize;this.graph.graphHandler.guidesEnabled="0"!=a.getAttribute("guides");this.graph.setTooltips("0"!=a.getAttribute("tooltips"));this.graph.setConnectable("0"!=a.getAttribute("connect"));this.graph.connectionArrowsEnabled="0"!=a.getAttribute("arrows");this.graph.foldingEnabled="0"!=
a.getAttribute("fold");this.chromeless&&this.graph.foldingEnabled&&(this.graph.foldingEnabled="1"==urlParams.nav,this.graph.cellRenderer.forceControlClickHandler=this.graph.foldingEnabled);var c=a.getAttribute("pageScale");this.graph.pageScale=null!=c?c:mxGraph.prototype.pageScale;this.graph.lightbox?this.graph.pageVisible=!1:(c=a.getAttribute("page"),this.graph.pageVisible=null!=c?"0"!=c:this.graph.defaultPageVisible);this.graph.pageBreaksVisible=this.graph.pageVisible;this.graph.preferPageSize=
this.graph.pageBreaksVisible;var c=a.getAttribute("pageWidth"),f=a.getAttribute("pageHeight");null!=c&&null!=f&&(this.graph.pageFormat=new mxRectangle(0,0,parseFloat(c),parseFloat(f)));a=a.getAttribute("background");this.graph.background=null!=a&&0<a.length?a:this.graph.defaultGraphBackground};
Editor.prototype.setGraphXml=function(a){if(null!=a){var c=new mxCodec(a.ownerDocument);if("mxGraphModel"==a.nodeName){this.graph.model.beginUpdate();try{this.graph.model.clear(),this.graph.view.scale=1,this.readGraphState(a),this.updateGraphComponents(),c.decode(a,this.graph.getModel())}finally{this.graph.model.endUpdate()}this.fireEvent(new mxEventObject("resetGraphView"))}else if("root"==a.nodeName){this.resetGraph();var f=c.document.createElement("mxGraphModel");f.appendChild(a);c.decode(f,this.graph.getModel());
this.updateGraphComponents();this.fireEvent(new mxEventObject("resetGraphView"))}else throw{message:mxResources.get("cannotOpenFile"),node:a,toString:function(){return this.message}};}else this.resetGraph(),this.graph.model.clear(),this.fireEvent(new mxEventObject("resetGraphView"))};
Editor.prototype.getGraphXml=function(a){var c=null,c=(null!=a?a:1)?(new mxCodec(mxUtils.createXmlDocument())).encode(this.graph.getModel()):this.graph.encodeCells(this.graph.getSelectionCells());if(0!=this.graph.view.translate.x||0!=this.graph.view.translate.y)c.setAttribute("dx",Math.round(100*this.graph.view.translate.x)/100),c.setAttribute("dy",Math.round(100*this.graph.view.translate.y)/100);c.setAttribute("grid",this.graph.isGridEnabled()?"1":"0");c.setAttribute("gridSize",this.graph.gridSize);
c.setAttribute("guides",this.graph.graphHandler.guidesEnabled?"1":"0");c.setAttribute("tooltips",this.graph.tooltipHandler.isEnabled()?"1":"0");c.setAttribute("connect",this.graph.connectionHandler.isEnabled()?"1":"0");c.setAttribute("arrows",this.graph.connectionArrowsEnabled?"1":"0");c.setAttribute("fold",this.graph.foldingEnabled?"1":"0");c.setAttribute("page",this.graph.pageVisible?"1":"0");c.setAttribute("pageScale",this.graph.pageScale);c.setAttribute("pageWidth",this.graph.pageFormat.width);
c.setAttribute("pageHeight",this.graph.pageFormat.height);null!=this.graph.background&&c.setAttribute("background",this.graph.background);return c};Editor.prototype.updateGraphComponents=function(){var a=this.graph;null!=a.container&&(a.view.validateBackground(),a.container.style.overflow=a.scrollbars?"auto":"hidden",this.fireEvent(new mxEventObject("updateGraphComponents")))};Editor.prototype.setModified=function(a){this.modified=a};Editor.prototype.setFilename=function(a){this.filename=a};
Editor.prototype.createUndoManager=function(){var a=this.graph,c=new mxUndoManager;this.undoListener=function(a,b){c.undoableEditHappened(b.getProperty("edit"))};var f=mxUtils.bind(this,function(a,b){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,f);a.getView().addListener(mxEvent.UNDO,f);f=function(d,b){for(var e=a.getSelectionCellsForChanges(b.getProperty("edit").changes),c=a.getModel(),f=[],l=0;l<e.length;l++)(c.isVertex(e[l])||c.isEdge(e[l]))&&null!=a.view.getState(e[l])&&
f.push(e[l]);a.setSelectionCells(f)};c.addListener(mxEvent.UNDO,f);c.addListener(mxEvent.REDO,f);return c};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(a,c){this.data=a;this.filename=c;this.execute()};
OpenFile.prototype.error=function(a){this.cancel(!0);mxUtils.alert(a)};OpenFile.prototype.execute=function(){null!=this.consumer&&null!=this.data&&(this.cancel(!1),this.consumer(this.data,this.filename))};OpenFile.prototype.cancel=function(a){null!=this.done&&this.done(null!=a?a:!0)};
(function(){mxGraphView.prototype.validateBackgroundPage=function(){var b=this.graph;if(null!=b.container&&!b.transparentBackground){if(b.pageVisible){var a=this.getBackgroundPageBounds();if(null==this.backgroundPageShape){for(var d=b.container.firstChild;null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.nextSibling;null!=d&&(this.backgroundPageShape=this.createBackgroundPageShape(a),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect=
mxConstants.DIALECT_STRICTHTML,this.backgroundPageShape.init(b.container),d.style.position="absolute",b.container.insertBefore(this.backgroundPageShape.node,d),this.backgroundPageShape.redraw(),this.backgroundPageShape.node.className="geBackgroundPage",mxEvent.addListener(this.backgroundPageShape.node,"dblclick",mxUtils.bind(this,function(a){b.dblClick(a)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(a){b.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(a))}),
mxUtils.bind(this,function(a){null!=b.tooltipHandler&&b.tooltipHandler.isHideOnHover()&&b.tooltipHandler.hide();b.isMouseDown&&!mxEvent.isConsumed(a)&&b.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(a))}),mxUtils.bind(this,function(a){b.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(a))})))}else this.backgroundPageShape.scale=1,this.backgroundPageShape.bounds=a,this.backgroundPageShape.redraw()}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape=
null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackgroundStyles=function(){var b=this.graph,a=null==b.background||b.background==mxConstants.NONE?"#ffffff":b.background,d=this.gridColor!=a.toLowerCase()?this.gridColor:"#ffffff",e="none",c="";if(b.isGridEnabled()){c=10;mxClient.IS_SVG?(e=unescape(encodeURIComponent(this.createSvgGrid(d))),e=window.btoa?btoa(e):Base64.encode(e,!0),e="url(data:image/svg+xml;base64,"+e+")",c=b.gridSize*this.scale*this.gridSteps):e="url("+this.gridImage+
")";var f=d=0;null!=b.view.backgroundPageShape&&(f=this.getBackgroundPageBounds(),d=1+f.x,f=1+f.y);c=-Math.round(c-mxUtils.mod(this.translate.x*this.scale-d,c))+"px "+-Math.round(c-mxUtils.mod(this.translate.y*this.scale-f,c))+"px"}d=b.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);null!=b.view.backgroundPageShape?(b.view.backgroundPageShape.node.style.backgroundPosition=c,b.view.backgroundPageShape.node.style.backgroundImage=e,b.view.backgroundPageShape.node.style.backgroundColor=a,b.container.className=
"geDiagramContainer geDiagramBackdrop",d.style.backgroundImage="none",d.style.backgroundColor=""):(b.container.className="geDiagramContainer",d.style.backgroundPosition=c,d.style.backgroundColor=a,d.style.backgroundImage=e)};mxGraphView.prototype.createSvgGrid=function(b){for(var a=this.graph.gridSize*this.scale;a<this.minGridSize;)a*=2;for(var d=this.gridSteps*a,e=[],c=1;c<this.gridSteps;c++){var f=c*a;e.push("M 0 "+f+" L "+d+" "+f+" M "+f+" 0 L "+f+" "+d)}return'\x3csvg width\x3d"'+d+'" height\x3d"'+
d+'" xmlns\x3d"'+mxConstants.NS_SVG+'"\x3e\x3cdefs\x3e\x3cpattern id\x3d"grid" width\x3d"'+d+'" height\x3d"'+d+'" patternUnits\x3d"userSpaceOnUse"\x3e\x3cpath d\x3d"'+e.join(" ")+'" fill\x3d"none" stroke\x3d"'+b+'" opacity\x3d"0.2" stroke-width\x3d"1"/\x3e\x3cpath d\x3d"M '+d+" 0 L 0 0 0 "+d+'" fill\x3d"none" stroke\x3d"'+b+'" stroke-width\x3d"1"/\x3e\x3c/pattern\x3e\x3c/defs\x3e\x3crect width\x3d"100%" height\x3d"100%" fill\x3d"url(#grid)"/\x3e\x3c/svg\x3e'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=
function(b,d){a.apply(this,arguments);if(null!=this.shiftPreview1){var e=this.view.canvas;null!=e.ownerSVGElement&&(e=e.ownerSVGElement);var c=this.gridSize*this.view.scale*this.view.gridSteps,c=-Math.round(c-mxUtils.mod(this.view.translate.x*this.view.scale+b,c))+"px "+-Math.round(c-mxUtils.mod(this.view.translate.y*this.view.scale+d,c))+"px";e.style.backgroundPosition=c}};mxGraph.prototype.updatePageBreaks=function(b,a,d){var e=this.view.scale,c=this.view.translate,f=this.pageFormat,g=e*this.pageScale,
q=this.view.getBackgroundPageBounds();a=q.width;d=q.height;e=new mxRectangle(e*c.x,e*c.y,f.width*g,f.height*g);c=(b=b&&Math.min(e.width,e.height)>this.minPageBreakDist)?Math.ceil(a/e.width)-1:0;b=b?Math.ceil(d/e.height)-1:0;a=q.x+a;d=q.y+d;null==this.horizontalPageBreaks&&0<c&&(this.horizontalPageBreaks=[]);if(null!=this.horizontalPageBreaks){for(f=0;f<=c;f++)g=[new mxPoint(q.x+(f+1)*e.width,q.y),new mxPoint(q.x+(f+1)*e.width,d)],null!=this.horizontalPageBreaks[f]?(this.horizontalPageBreaks[f].points=
g,this.horizontalPageBreaks[f].redraw()):(g=new mxPolyline(g,this.pageBreakColor),g.dialect=this.dialect,g.isDashed=this.pageBreakDashed,g.pointerEvents=!1,g.init(this.view.backgroundPane),g.redraw(),this.horizontalPageBreaks[f]=g);for(f=c;f<this.horizontalPageBreaks.length;f++)this.horizontalPageBreaks[f].destroy();this.horizontalPageBreaks.splice(c,this.horizontalPageBreaks.length-c)}null==this.verticalPageBreaks&&0<b&&(this.verticalPageBreaks=[]);if(null!=this.verticalPageBreaks){for(f=0;f<=b;f++)g=
[new mxPoint(q.x,q.y+(f+1)*e.height),new mxPoint(a,q.y+(f+1)*e.height)],null!=this.verticalPageBreaks[f]?(this.verticalPageBreaks[f].points=g,this.verticalPageBreaks[f].redraw()):(g=new mxPolyline(g,this.pageBreakColor),g.dialect=this.dialect,g.isDashed=this.pageBreakDashed,g.pointerEvents=!1,g.init(this.view.backgroundPane),g.redraw(),this.verticalPageBreaks[f]=g);for(f=b;f<this.verticalPageBreaks.length;f++)this.verticalPageBreaks[f].destroy();this.verticalPageBreaks.splice(b,this.verticalPageBreaks.length-
b)}};var c=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(b,a,d){for(var e=0;e<a.length;e++)if(this.graph.getModel().isVertex(a[e])){var f=this.graph.getCellGeometry(a[e]);if(null!=f&&f.relative)return!1}return c.apply(this,arguments)};var f=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var b=f.apply(this,arguments);b.intersects=mxUtils.bind(this,function(a,d){return this.isConnecting()?
!0:mxCellMarker.prototype.intersects.apply(b,arguments)});return b};mxGraphView.prototype.createBackgroundPageShape=function(b){return new mxRectangleShape(b,"#ffffff","#cacaca")};mxGraphView.prototype.getBackgroundPageBounds=function(){var b=this.getGraphBounds(),a=0<b.width?b.x/this.scale-this.translate.x:0,d=0<b.height?b.y/this.scale-this.translate.y:0,e=b.width/this.scale,c=b.height/this.scale,f=this.graph.pageFormat,g=this.graph.pageScale,b=f.width*g,f=f.height*g,g=Math.floor(Math.min(0,a)/b),
q=Math.floor(Math.min(0,d)/f),a=Math.ceil(Math.max(1,a+e)/b),d=Math.ceil(Math.max(1,d+c)/f);return new mxRectangle(this.scale*(this.translate.x+g*b),this.scale*(this.translate.y+q*f),this.scale*(a-g)*b,this.scale*(d-q)*f)};var d=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(b,a){d.apply(this,arguments);if(this.dialect!=mxConstants.DIALECT_SVG&&null!=this.view.backgroundPageShape&&(!this.useScrollbarsForPanning||!mxUtils.hasScrollbars(this.container)))this.view.backgroundPageShape.node.style.marginLeft=
b+"px",this.view.backgroundPageShape.node.style.marginTop=a+"px"};var b=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,d,e,c,f,g){var s=b.apply(this,arguments);null!=g&&!g&&mxEvent.addListener(s,"mousedown",function(b){mxEvent.consume(b)});return s};var e=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(b){var a=this.graph.getModel(),d=a.getParent(this.graph.getSelectionCell()),c=e.apply(this,arguments),f=a.getParent(c);
if(null==d||d!=c&&d!=f)for(;!this.graph.isCellSelected(c)&&!this.graph.isCellSelected(f)&&a.isVertex(f)&&!this.graph.isContainer(f);)c=f,f=this.graph.getModel().getParent(c);return c};var g=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(b,a){var d=g.apply(this,arguments);if(!d)for(var e=this.graph.getModel(),c=e.getParent(b);null!=c;){if(this.graph.isCellSelected(c)&&e.isVertex(c)){d=!0;break}c=e.getParent(c)}return d};mxGraphHandler.prototype.selectDelayed=
function(b){if(!this.graph.popupMenuHandler.isPopupTrigger(b)){var a=b.getCell();null==a&&(a=this.cell);var d=this.graph.view.getState(a);if(!(null!=d&&b.isSource(d.control)))for(var d=this.graph.getModel(),e=d.getParent(a);!this.graph.isCellSelected(e)&&d.isVertex(e);)a=e,e=d.getParent(a);this.graph.selectCellForEvent(a,b.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(b){b=b.getCell();for(var a=this.graph.getModel(),d=a.getParent(b);a.isVertex(d)&&!this.graph.isContainer(d);)this.graph.isCellSelected(d)&&
(b=d),d=a.getParent(d);return b}})();
EditorUi=function(a,c,f){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=c||document.body;var d=this.editor.graph;d.lightbox=f;mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs\x3d":(new Image).src=mxPopupMenu.prototype.submenuImage;!mxClient.IS_SVG&&null!=mxConnectionHandler.prototype.connectImage&&((new Image).src=mxConnectionHandler.prototype.connectImage.src);this.editor.chromeless&&
(this.footerHeight=0,d.isEnabled=function(){return!1},d.panningHandler.isForcePanningEvent=function(b){return!mxEvent.isPopupTrigger(b.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();this.createDivs();this.createUi();this.refresh();c=mxUtils.bind(this,function(b){null==b&&(b=window.event);return this.isSelectionAllowed(b)?!0:d.isEditing()});this.container==document.body&&(this.menubarContainer.onselectstart=c,this.menubarContainer.onmousedown=c,this.toolbarContainer.onselectstart=
c,this.toolbarContainer.onmousedown=c,this.diagramContainer.onselectstart=c,this.diagramContainer.onmousedown=c,this.sidebarContainer.onselectstart=c,this.sidebarContainer.onmousedown=c,this.formatContainer.onselectstart=c,this.formatContainer.onmousedown=c,this.footerContainer.onselectstart=c,this.footerContainer.onmousedown=c,null!=this.tabContainer&&(this.tabContainer.onselectstart=c));this.editor.chromeless?d.panningHandler.usePopupTrigger=!1:mxClient.IS_IE&&("undefined"===typeof document.documentMode||
9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",c):this.diagramContainer.oncontextmenu=c;d.init(this.diagramContainer);d.cellRenderer.initializeLabel=function(b,a){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);mxEvent.addListener(a.node,"click",function(b){for(var d=mxEvent.getSource(b);null!=d&&d!=a.node;){if("A"==d.nodeName){null==d.getAttribute("target")&&null!=d.getAttribute("href")&&(window.open(d.getAttribute("href")),mxEvent.consume(b));break}d=
d.parentNode}})};this.hoverIcons=this.createHoverIcons();mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(b){var a=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(b)-a.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(b)-a.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var b=!1,e=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=
function(a,d){return b||e.apply(this,arguments)};this.keydownHandler=mxUtils.bind(this,function(a){32==a.which?(b=!0,this.hoverIcons.reset(),d.container.style.cursor="move",!d.isEditing()&&mxEvent.getSource(a)==d.container&&mxEvent.consume(a)):!mxEvent.isConsumed(a)&&27==a.keyCode&&this.hideDialog()});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){d.container.style.cursor="";b=!1});mxEvent.addListener(document,"keyup",this.keyupHandler);
var g=d.panningHandler.isForcePanningEvent;d.panningHandler.isForcePanningEvent=function(a){return g.apply(this,arguments)||b||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var k=d.cellEditor.isStopEditingEvent;d.cellEditor.isStopEditingEvent=function(b){return k.apply(this,arguments)||13==b.keyCode&&mxEvent.isControlDown(b)};
var l=!1,n=null,m=null,p=null,r=mxUtils.bind(this,function(){if(l!=d.cellEditor.isContentEditing()){for(var b=this.toolbar.container.firstChild,a=[];null!=b;){var e=b.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,b)&&(b.parentNode.removeChild(b),a.push(b));b=e}b=this.toolbar.fontMenu;e=this.toolbar.sizeMenu;if(null==p)this.toolbar.createTextToolbar();else{for(var c=0;c<p.length;c++)this.toolbar.container.appendChild(p[c]);this.toolbar.fontMenu=n;this.toolbar.sizeMenu=m}l=d.cellEditor.isContentEditing();
n=b;m=e;p=a}}),s=this,q=d.cellEditor.startEditing;d.cellEditor.startEditing=function(){q.apply(this,arguments);r();if(d.cellEditor.isContentEditing()){var b=!1,a=function(){b||(b=!0,window.setTimeout(function(){for(var a=d.getSelectedElement();null!=a&&a.nodeType!=mxConstants.NODETYPE_ELEMENT;)a=a.parentNode;if(null!=a&&(a=mxUtils.getCurrentStyle(a),null!=a&&null!=s.toolbar)){var e=a.fontFamily;"'"==e.charAt(0)&&(e=e.substring(1));"'"==e.charAt(e.length-1)&&(e=e.substring(0,e.length-1));s.toolbar.setFontName(e);
s.toolbar.setFontSize(parseInt(a.fontSize))}b=!1},0))};mxEvent.addListener(d.cellEditor.textarea,"input",a);mxEvent.addListener(d.cellEditor.textarea,"touchend",a);mxEvent.addListener(d.cellEditor.textarea,"mouseup",a);mxEvent.addListener(d.cellEditor.textarea,"keyup",a);a()}};var u=d.cellEditor.stopEditing;d.cellEditor.stopEditing=function(b,a){u.apply(this,arguments);r()};d.container.setAttribute("tabindex","0");d.container.style.cursor="default";window.self===window.top&&null!=d.container.parentNode&&
d.container.focus();var t=d.fireMouseEvent;d.fireMouseEvent=function(b,a,d){b==mxEvent.MOUSE_DOWN&&this.container.focus();t.apply(this,arguments)};d.popupMenuHandler.autoExpand=!0;null!=this.menus&&(d.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(b,a,d){this.menus.createPopupMenu(b,a,d)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(b){d.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a);this.getKeyHandler=function(){return keyHandler};var v="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),
z="shape edgeStyle curved rounded elbow comic".split(" ");this.setDefaultStyle=function(b){var a=d.view.getState(b);if(null!=a){b=b.clone();b.style="";b=d.getCellStyle(b);var e=[],c=[],f;for(f in a.style)b[f]!=a.style[f]&&(e.push(a.style[f]),c.push(f));f=d.getModel().getStyle(a.cell);for(var g=null!=f?f.split(";"):[],k=0;k<g.length;k++){var l=g[k],n=l.indexOf("\x3d");0<=n&&(f=l.substring(0,n),l=l.substring(n+1),null!=b[f]&&"none"==l&&(e.push(l),c.push(f)))}d.getModel().isEdge(a.cell)?d.currentEdgeStyle=
{}:d.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",c,"values",e,"cells",[a.cell]))}};this.clearDefaultStyle=function(){d.currentEdgeStyle=d.defaultEdgeStyle;d.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var y=["fontFamily","fontSize","fontColor"],x="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),D=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),
["strokeColor","strokeWidth"],["fillColor","gradientColor"],y,["align"],["html"]];for(a=0;a<D.length;a++)for(c=0;c<D[a].length;c++)v.push(D[a][c]);for(a=0;a<z.length;a++)v.push(z[a]);var A=function(b,a){d.getModel().beginUpdate();try{if(a)for(var e=d.getModel().isEdge(k),c=e?d.currentEdgeStyle:d.currentVertexStyle,e=["fontSize","fontFamily","fontColor"],f=0;f<e.length;f++){var g=c[e[f]];null!=g&&d.setCellStyles(e[f],g,b)}else for(g=0;g<b.length;g++){for(var k=b[g],l=d.getModel().getStyle(k),n=null!=
l?l.split(";"):[],m=v.slice(),f=0;f<n.length;f++){var t=n[f],u=t.indexOf("\x3d");if(0<=u){var q=t.substring(0,u),p=mxUtils.indexOf(m,q);0<=p&&m.splice(p,1);for(var y=0;y<D.length;y++){var x=D[y];if(0<=mxUtils.indexOf(x,q))for(var r=0;r<x.length;r++){var s=mxUtils.indexOf(m,x[r]);0<=s&&m.splice(s,1)}}}}c=(e=d.getModel().isEdge(k))?d.currentEdgeStyle:d.currentVertexStyle;for(f=0;f<m.length;f++){var q=m[f],A=c[q];if(null!=A&&("shape"!=q||e))(!e||0>mxUtils.indexOf(z,q))&&d.setCellStyles(q,A,[k])}}}finally{d.getModel().endUpdate()}};
d.addListener("cellsInserted",function(b,a){A(a.getProperty("cells"))});d.addListener("textInserted",function(b,a){A(a.getProperty("cells"),!0)});d.connectionHandler.addListener(mxEvent.CONNECT,function(b,a){var d=[a.getProperty("cell")];a.getProperty("terminalInserted")&&d.push(a.getProperty("terminal"));A(d)});this.addListener("styleChanged",mxUtils.bind(this,function(b,a){var e=a.getProperty("cells"),c=!1,f=!1;if(0<e.length)for(var g=0;g<e.length&&!(c=d.getModel().isVertex(e[g])||c,(f=d.getModel().isEdge(e[g])||
f)&&c);g++);else f=c=!0;for(var e=a.getProperty("keys"),k=a.getProperty("values"),g=0;g<e.length;g++){var l=0<=mxUtils.indexOf(y,e[g]);if("strokeColor"!=e[g]||null!=k[g]&&"none"!=k[g])if(0<=mxUtils.indexOf(z,e[g]))f||0<=mxUtils.indexOf(x,e[g])?null==k[g]?delete d.currentEdgeStyle[e[g]]:d.currentEdgeStyle[e[g]]=k[g]:c&&0<=mxUtils.indexOf(v,e[g])&&(null==k[g]?delete d.currentVertexStyle[e[g]]:d.currentVertexStyle[e[g]]=k[g]);else if(0<=mxUtils.indexOf(v,e[g])){if(c||l)null==k[g]?delete d.currentVertexStyle[e[g]]:
d.currentVertexStyle[e[g]]=k[g];if(f||l||0<=mxUtils.indexOf(x,e[g]))null==k[g]?delete d.currentEdgeStyle[e[g]]:d.currentEdgeStyle[e[g]]=k[g]}}null!=this.toolbar&&(this.toolbar.setFontName(d.currentVertexStyle.fontFamily||Menus.prototype.defaultFont),this.toolbar.setFontSize(d.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==d.currentEdgeStyle.edgeStyle&&"1"==d.currentEdgeStyle.curved?
"geSprite geSprite-curved":"straight"==d.currentEdgeStyle.edgeStyle||"none"==d.currentEdgeStyle.edgeStyle||null==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?
"verticalisometric":"horizontalisometric"):"geSprite geSprite-orthogonal"),null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==d.currentEdgeStyle.shape?"geSprite geSprite-linkedge":"flexArrow"==d.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==d.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=
this.getCssClassForMarker("start",d.currentEdgeStyle.shape,d.currentEdgeStyle[mxConstants.STYLE_STARTARROW],mxUtils.getValue(d.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("end",d.currentEdgeStyle.shape,d.currentEdgeStyle[mxConstants.STYLE_ENDARROW],mxUtils.getValue(d.currentEdgeStyle,"endFill","1"))))}));null!=this.toolbar&&(a=mxUtils.bind(this,function(){var b=d.currentVertexStyle.fontFamily||
"Helvetica",a=String(d.currentVertexStyle.fontSize||"12"),e=d.getView().getState(d.getSelectionCell());null!=e&&(b=e.style[mxConstants.STYLE_FONTFAMILY]||b,a=e.style[mxConstants.STYLE_FONTSIZE]||a,10<b.length&&(b=b.substring(0,8)+"..."));this.toolbar.setFontName(b);this.toolbar.setFontSize(a)}),d.getSelectionModel().addListener(mxEvent.CHANGE,a),d.getModel().addListener(mxEvent.CHANGE,a));d.addListener(mxEvent.CELLS_ADDED,function(b,a){var e=a.getProperty("cells"),c=a.getProperty("parent");d.getModel().isLayer(c)&&
!d.isCellVisible(c)&&(null!=e&&0<e.length)&&d.getModel().setVisible(c,!0)});this.gestureHandler=mxUtils.bind(this,function(b){null!=this.currentMenu&&mxEvent.getSource(b)!=this.currentMenu.div&&this.hideCurrentMenu()});mxEvent.addGestureListeners(document,this.gestureHandler);this.resizeHandler=mxUtils.bind(this,function(){window.setTimeout(mxUtils.bind(this,function(){this.refresh()}),0)});mxEvent.addListener(window,"resize",this.resizeHandler);this.orientationChangeHandler=mxUtils.bind(this,function(){this.refresh()});
mxEvent.addListener(window,"orientationchange",this.orientationChangeHandler);mxClient.IS_IOS&&!window.navigator.standalone&&(this.scrollHandler=mxUtils.bind(this,function(){window.scrollTo(0,0)}),mxEvent.addListener(window,"scroll",this.scrollHandler));this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){this.resetScrollbars()}));this.addListener("gridEnabledChanged",mxUtils.bind(this,function(){d.view.validateBackground()}));this.addListener("backgroundColorChanged",mxUtils.bind(this,
function(){d.view.validateBackground()}));d.addListener("gridSizeChanged",mxUtils.bind(this,function(){d.isGridEnabled()&&d.view.validateBackground()}));this.editor.resetGraph();this.init();this.open()};mxUtils.extend(EditorUi,mxEventSource);EditorUi.compactUi=!0;EditorUi.prototype.splitSize=mxClient.IS_TOUCH||mxClient.IS_POINTER?12:8;EditorUi.prototype.menubarHeight=30;EditorUi.prototype.formatEnabled=!0;EditorUi.prototype.formatWidth=240;EditorUi.prototype.toolbarHeight=34;
EditorUi.prototype.footerHeight=28;EditorUi.prototype.sidebarFooterHeight=34;EditorUi.prototype.editButtonLink=null;EditorUi.prototype.hsplitPosition=500>=screen.width?116:204;EditorUi.prototype.allowAnimation=!0;
EditorUi.prototype.init=function(){var a=this.editor.graph;mxEvent.addListener(a.container,"keydown",mxUtils.bind(this,function(d){9==d.which&&a.isEnabled()&&(a.isEditing()&&a.stopEditing(!1),a.selectCell(!mxEvent.isShiftDown(d)),mxEvent.consume(d))}));mxEvent.addListener(a.container,"keypress",mxUtils.bind(this,function(d){if(this.isImmediateEditingEvent(d)&&!a.isEditing()&&(!a.isSelectionEmpty()&&0!==d.which&&!mxEvent.isAltDown(d)&&!mxEvent.isControlDown(d)&&!mxEvent.isMetaDown(d))&&(a.escape(),
a.startEditing(),mxClient.IS_FF)){var b=a.cellEditor;b.textarea.innerHTML=String.fromCharCode(d.which);d=document.createRange();d.selectNodeContents(b.textarea);d.collapse(!1);b=window.getSelection();b.removeAllRanges();b.addRange(d)}}));this.addUndoListener();this.addBeforeUnloadListener();a.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));var c=
a.setDefaultParent,f=this;this.editor.graph.setDefaultParent=function(){c.apply(this,arguments);f.updateActionStates()};a.editLink=f.actions.get("editLink").funct;this.updateActionStates();this.initClipboard();this.initCanvas();null!=this.format&&this.format.init()};EditorUi.prototype.isImmediateEditingEvent=function(a){return!0};
EditorUi.prototype.getCssClassForMarker=function(a,c,f,d){return"flexArrow"==c?null!=f&&f!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":f==mxConstants.ARROW_CLASSIC?"1"==d?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":f==mxConstants.ARROW_CLASSIC_THIN?"1"==d?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":f==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":f==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+
a+"openthin":f==mxConstants.ARROW_BLOCK?"1"==d?"geSprite geSprite-"+a+"block":"geSprite geSprite-"+a+"blocktrans":f==mxConstants.ARROW_BLOCK_THIN?"1"==d?"geSprite geSprite-"+a+"blockthin":"geSprite geSprite-"+a+"blockthintrans":f==mxConstants.ARROW_OVAL?"1"==d?"geSprite geSprite-"+a+"oval":"geSprite geSprite-"+a+"ovaltrans":f==mxConstants.ARROW_DIAMOND?"1"==d?"geSprite geSprite-"+a+"diamond":"geSprite geSprite-"+a+"diamondtrans":f==mxConstants.ARROW_DIAMOND_THIN?"1"==d?"geSprite geSprite-"+a+"thindiamond":
"geSprite geSprite-"+a+"thindiamondtrans":"openAsync"==f?"geSprite geSprite-"+a+"openasync":"dash"==f?"geSprite geSprite-"+a+"dash":"cross"==f?"geSprite geSprite-"+a+"cross":"async"==f?"1"==d?"geSprite geSprite-"+a+"async":"geSprite geSprite-"+a+"asynctrans":"circle"==f||"circlePlus"==f?"1"==d||"circle"==f?"geSprite geSprite-"+a+"circle":"geSprite geSprite-"+a+"circleplus":"ERone"==f?"geSprite geSprite-"+a+"erone":"ERmandOne"==f?"geSprite geSprite-"+a+"eronetoone":"ERmany"==f?"geSprite geSprite-"+
a+"ermany":"ERoneToMany"==f?"geSprite geSprite-"+a+"eronetomany":"ERzeroToOne"==f?"geSprite geSprite-"+a+"eroneopt":"ERzeroToMany"==f?"geSprite geSprite-"+a+"ermanyopt":"geSprite geSprite-noarrow"};EditorUi.prototype.createMenus=function(){return null};
EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,c=this.actions.get("paste"),f=this.actions.get("pasteHere");c.setEnabled(this.editor.graph.cellEditor.isContentEditing()||!mxClipboard.isEmpty()&&a.isEnabled()&&!a.isCellLocked(a.getDefaultParent()));f.setEnabled(c.isEnabled())};
EditorUi.prototype.initClipboard=function(){var a=this,c=mxClipboard.cut;mxClipboard.cut=function(b){b.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):c.apply(this,arguments);a.updatePasteActionStates()};var f=mxClipboard.copy;mxClipboard.copy=function(b){b.cellEditor.isContentEditing()?document.execCommand("copy",!1,null):f.apply(this,arguments);a.updatePasteActionStates()};var d=mxClipboard.paste;mxClipboard.paste=function(b){var e=null;b.cellEditor.isContentEditing()?document.execCommand("paste",
!1,null):e=d.apply(this,arguments);a.updatePasteActionStates();return e};var b=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){b.apply(this,arguments);a.updatePasteActionStates()};var e=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,d){e.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};
EditorUi.prototype.initCanvas=function(){var a=this.editor.graph,a=this.editor.graph;a.timerAutoScroll=!0;a.scrollTileSize=new mxRectangle(0,0,400,400);a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.getPageSize=function(){return this.pageVisible?new mxRectangle(0,0,this.pageFormat.width*this.pageScale,this.pageFormat.height*this.pageScale):this.scrollTileSize};a.getPageLayout=
function(){var b=this.pageVisible?this.getPageSize():this.scrollTileSize,a=this.getGraphBounds();if(0==a.width||0==a.height)return new mxRectangle(0,0,1,1);var d=Math.ceil(a.x/this.view.scale-this.view.translate.x),e=Math.ceil(a.y/this.view.scale-this.view.translate.y),c=Math.floor(a.height/this.view.scale),f=Math.floor(d/b.width),g=Math.floor(e/b.height),a=Math.ceil((d+Math.floor(a.width/this.view.scale))/b.width)-f,b=Math.ceil((e+c)/b.height)-g;return new mxRectangle(f,g,a,b)};a.view.getBackgroundPageBounds=
function(){var b=this.graph.getPageLayout(),a=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+b.x*a.width),this.scale*(this.translate.y+b.y*a.height),this.scale*b.width*a.width,this.scale*b.height*a.height)};a.getPreferredPageSize=function(b,a,d){b=this.getPageLayout();a=this.getPageSize();return new mxRectangle(0,0,b.width*a.width,b.height*a.height)};var c=null;if(this.editor.chromeless){this.chromelessResize=c=mxUtils.bind(this,function(b){if(null!=a.container){var d=
a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),e=a.view.translate,c=a.view.scale,d=mxRectangle.fromRectangle(d);d.x=d.x/c-e.x;d.y=d.y/c-e.y;d.width/=c;d.height/=c;var e=a.container.scrollTop,f=a.container.scrollLeft,g=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)g+=3;var k=a.container.offsetWidth-g,g=a.container.offsetHeight-g;b=b?Math.max(0.3,Math.min(1,k/d.width)):c;k=Math.max((k-b*d.width)/2,0)/b;g=Math.max((g-b*d.height)/
4,0)/b;a.view.scaleAndTranslate(b,k-d.x,g-d.y);a.container.scrollTop=e*b/c;a.container.scrollLeft=f*b/c}});var f=mxUtils.bind(this,function(){c(!1)});mxEvent.addListener(window,"resize",f);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",f)});this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){c(!0)}));this.actions.get("zoomIn").funct=function(b){a.zoomIn();c(!1)};this.actions.get("zoomOut").funct=function(b){a.zoomOut();c(!1)};this.chromelessToolbar=
document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden";this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace="nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left="50%";mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px");mxUtils.setPrefixedStyle(this.chromelessToolbar.style,
"transition","opacity 600ms ease-in-out");var d=mxUtils.bind(this,function(){var b=mxUtils.getCurrentStyle(a.container);this.chromelessToolbar.style.bottom=(null!=b?parseInt(b["margin-bottom"]||0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",d);d();var b=0,d=mxUtils.bind(this,function(a,d,e){b++;var c=document.createElement("span");c.style.paddingLeft="8px";c.style.paddingRight="8px";c.style.cursor="pointer";mxEvent.addListener(c,
"click",a);null!=e&&c.setAttribute("title",e);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",d);c.appendChild(a);this.chromelessToolbar.appendChild(c);return c});d(mxUtils.bind(this,function(b){this.actions.get("zoomOut").funct();mxEvent.consume(b)}),Editor.zoomOutLargeImage,(mxResources.get("zoomOut")||"Zoom Out")+" (Alt+Mousewheel)");d(mxUtils.bind(this,function(b){this.actions.get("zoomIn").funct();mxEvent.consume(b)}),Editor.zoomInLargeImage,(mxResources.get("zoomIn")||
"Zoom In")+" (Alt+Mousewheel)");d(mxUtils.bind(this,function(b){a.lightbox?(1==a.view.scale?this.lightboxFit():a.zoomTo(1),c(!1)):c(!0);mxEvent.consume(b)}),Editor.actualSizeLargeImage,mxResources.get("fit")||"Fit");var e=null,g=null,k=mxUtils.bind(this,function(b){null!=e&&(window.clearTimeout(e),fadeThead=null);null!=g&&(window.clearTimeout(g),fadeThead2=null);e=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);e=null;g=window.setTimeout(mxUtils.bind(this,
function(){this.chromelessToolbar.style.display="none";g=null}),600)}),b||200)}),l=mxUtils.bind(this,function(b){null!=e&&(window.clearTimeout(e),fadeThead=null);null!=g&&(window.clearTimeout(g),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,b||30)});if("1"==urlParams.layers){this.layersDialog=null;var n=d(mxUtils.bind(this,function(b){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=
a.createLayersDialog();mxEvent.addListener(this.layersDialog,"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=null}));var d=n.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color=
"#ffffff";mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=d.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=d.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(b)}),Editor.layersLargeImage,mxResources.get("layers")||"Layers"),m=a.getModel();m.addListener(mxEvent.CHANGE,function(){n.style.display=
1<m.getChildCount(m.root)?"":"none"})}null!=this.editor.editButtonLink&&d(mxUtils.bind(this,function(b){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml(),null,!0):window.open(this.editor.editButtonLink,"editWindow");mxEvent.consume(b)}),Editor.editLargeImage,mxResources.get("openInNewWindow")||"Open in New Window");a.lightbox&&this.container!=document.body&&d(mxUtils.bind(this,function(b){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(b))}),Editor.closeLargeImage,
(mxResources.get("close")||"Close")+" (Escape)");this.chromelessToolbar.style.display="none";a.container.appendChild(this.chromelessToolbar);this.chromelessToolbar.style.marginLeft=-(24*b+10)+"px";this.addChromelessClickHandler();mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(b){mxEvent.isTouchEvent(b)||(mxEvent.isShiftDown(b)||l(30),k())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(b){mxEvent.consume(b)});
mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(b){mxEvent.isShiftDown(b)?k():l(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(b){mxEvent.isShiftDown(b)?k():l(100);mxEvent.consume(b)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(b){mxEvent.isTouchEvent(b)||l(30)}));var p=a.getTolerance(),r=this;a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(b,d){this.startX=
d.getGraphX();this.startY=d.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(b,a){},mouseUp:function(b,d){mxEvent.isTouchEvent(d.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<p&&Math.abs(this.scrollTop-a.container.scrollTop)<p&&Math.abs(this.startX-d.getGraphX())<p&&Math.abs(this.startY-d.getGraphY())<p&&(0<parseFloat(r.chromelessToolbar.style.opacity||0)?k():l(30))}})}else if(this.editor.extendCanvas){var s=a.view.validate;
a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var b=this.graph.getPagePadding(),a=this.graph.getPageSize();this.translate.x=b.x-(this.x0||0)*a.width;this.translate.y=b.y-(this.y0||0)*a.height}s.apply(this,arguments)};var q=a.sizeDidChange;a.sizeDidChange=function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var b=this.getPageLayout(),d=this.getPagePadding(),e=this.getPageSize(),c=Math.ceil(2*d.x+b.width*e.width),f=Math.ceil(2*
d.y+b.height*e.height),g=a.minimumGraphSize;if(null==g||g.width!=c||g.height!=f)a.minimumGraphSize=new mxRectangle(0,0,c,f);c=d.x-b.x*e.width;d=d.y-b.y*e.height;!this.autoTranslate&&(this.view.translate.x!=c||this.view.translate.y!=d)?(this.autoTranslate=!0,this.view.x0=b.x,this.view.y0=b.y,b=a.view.translate.x,e=a.view.translate.y,a.view.setTranslate(c,d),a.container.scrollLeft+=Math.round((c-b)*a.view.scale),a.container.scrollTop+=Math.round((d-e)*a.view.scale),this.autoTranslate=!1):q.apply(this,
arguments)}}}a.updateZoomTimeout=null;a.cumulativeZoomFactor=1;var u=null;a.lazyZoom=function(b){null!=this.updateZoomTimeout&&window.clearTimeout(this.updateZoomTimeout);b?0.15>this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale+0.01)/this.view.scale:(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(20*this.view.scale*this.cumulativeZoomFactor)/20/this.view.scale):0.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=
(this.view.scale-0.01)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(20*this.view.scale*this.cumulativeZoomFactor)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(0.01,Math.min(this.view.scale*this.cumulativeZoomFactor,160)/this.view.scale);this.updateZoomTimeout=window.setTimeout(mxUtils.bind(this,function(){this.zoom(this.cumulativeZoomFactor);null!=c&&c(!1);if(null!=u&&mxUtils.hasScrollbars(a.container)){var b=mxUtils.getOffset(a.container),
d=a.container.offsetHeight/2-u.y+b.y;a.container.scrollLeft-=(a.container.offsetWidth/2-u.x+b.x)*(this.cumulativeZoomFactor-1);a.container.scrollTop-=d*(this.cumulativeZoomFactor-1)}this.cumulativeZoomFactor=1;this.updateZoomTimeout=null}),20)};mxEvent.addMouseWheelListener(mxUtils.bind(this,function(b,d){if((mxEvent.isAltDown(b)||mxEvent.isControlDown(b)&&!mxClient.IS_MAC||a.panningHandler.isActive())&&(null==this.dialogs||0==this.dialogs.length))for(var e=mxEvent.getSource(b);null!=e;){if(e==a.container){u=
new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b));a.lazyZoom(d);mxEvent.consume(b);break}e=e.parentNode}}))};EditorUi.prototype.addChromelessClickHandler=function(){var a=urlParams.highlight;null!=a&&0<a.length&&(a="#"+a);this.editor.graph.addClickHandler(a)};EditorUi.prototype.toggleFormatPanel=function(a){this.formatWidth=a||0<this.formatWidth?0:240;this.formatContainer.style.display=a||0<this.formatWidth?"":"none";this.refresh();this.format.refresh();this.fireEvent(new mxEventObject("formatWidthChanged"))};
EditorUi.prototype.lightboxFit=function(){this.editor.graph.maxFitScale=2;this.editor.graph.fit(20);this.editor.graph.maxFitScale=null};EditorUi.prototype.isSelectionAllowed=function(a){return"SELECT"==mxEvent.getSource(a).nodeName||"INPUT"==mxEvent.getSource(a).nodeName&&mxUtils.isAncestorNode(this.formatContainer,mxEvent.getSource(a))};EditorUi.prototype.addBeforeUnloadListener=function(){window.onbeforeunload=mxUtils.bind(this,function(){return this.onBeforeUnload()})};
EditorUi.prototype.onBeforeUnload=function(){if(this.editor.modified)return mxResources.get("allChangesLost")};
EditorUi.prototype.open=function(){try{null!=window.opener&&null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,f){try{var d=mxUtils.parseXml(a);this.editor.setGraphXml(d.documentElement);this.editor.setModified(!1);this.editor.undoManager.clear();null!=f&&(this.editor.setFilename(f),this.updateDocumentTitle())}catch(b){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+b.message)}}))}catch(a){}this.editor.graph.view.validate();this.editor.graph.sizeDidChange();
this.editor.fireEvent(new mxEventObject("resetGraphView"))};EditorUi.prototype.setCurrentMenu=function(a,c){this.currentMenuElt=c;this.currentMenu=a};EditorUi.prototype.resetCurrentMenu=function(){this.currentMenu=this.currentMenuElt=null};EditorUi.prototype.hideCurrentMenu=function(a,c){null!=this.currentMenu&&(this.currentMenu.hideMenu(),this.resetCurrentMenu())};
EditorUi.prototype.updateDocumentTitle=function(){var a=this.editor.getOrCreateFilename();null!=this.editor.appName&&(a+=" - "+this.editor.appName);document.title=a};EditorUi.prototype.createHoverIcons=function(){return new HoverIcons(this.editor.graph)};EditorUi.prototype.redo=function(){try{this.editor.graph.isEditing()?document.execCommand("redo",!1,null):this.editor.undoManager.redo()}catch(a){}};
EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing()){var c=a.cellEditor.textarea.innerHTML;document.execCommand("undo",!1,null);c==a.cellEditor.textarea.innerHTML&&(a.stopEditing(!0),this.editor.undoManager.undo())}else this.editor.undoManager.undo()}catch(f){}};EditorUi.prototype.canRedo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canRedo()};EditorUi.prototype.canUndo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canUndo()};
EditorUi.prototype.getEditBlankXml=function(){return mxUtils.getXml(this.getGraphXml())};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var c=0<a.indexOf("?")?1:0,f;for(f in urlParams)a=0==c?a+"?":a+"\x26",a+=f+"\x3d"+urlParams[f],c++;return a};
EditorUi.prototype.setScrollbars=function(a){var c=this.editor.graph,f=c.container.style.overflow;c.scrollbars=a;this.editor.updateGraphComponents();f!=c.container.style.overflow&&("hidden"==c.container.style.overflow?(a=c.view.translate,c.view.setTranslate(a.x-c.container.scrollLeft/c.view.scale,a.y-c.container.scrollTop/c.view.scale),c.container.scrollLeft=0,c.container.scrollTop=0,c.minimumGraphSize=null,c.sizeDidChange()):(a=c.view.translate.x,f=c.view.translate.y,c.view.translate.x=0,c.view.translate.y=
0,c.sizeDidChange(),c.container.scrollLeft-=Math.round(a*c.view.scale),c.container.scrollTop-=Math.round(f*c.view.scale)));this.fireEvent(new mxEventObject("scrollbarsChanged"))};EditorUi.prototype.hasScrollbars=function(){return this.editor.graph.scrollbars};
EditorUi.prototype.resetScrollbars=function(){var a=this.editor.graph;if(this.editor.extendCanvas){if(!this.editor.chromeless)if(mxUtils.hasScrollbars(a.container))if(a.pageVisible){var c=a.getPagePadding();a.container.scrollTop=Math.floor(c.y-this.editor.initialTopSpacing);a.container.scrollLeft=Math.floor(Math.min(c.x,(a.container.scrollWidth-a.container.clientWidth)/2))}else{var c=a.getGraphBounds(),f=Math.max(c.width,a.scrollTileSize.width*a.view.scale),d=Math.max(c.height,a.scrollTileSize.height*
a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,c.y-Math.max(20,(a.container.clientHeight-d)/4)));a.container.scrollLeft=Math.floor(Math.max(0,c.x-Math.max(0,(a.container.clientWidth-f)/2)))}else a.pageVisible?(c=a.view.getBackgroundPageBounds(),a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-c.width)/2)-c.x),Math.floor(Math.max(0,(a.container.clientHeight-c.height)/2)-c.y))):(c=a.getGraphBounds(),a.view.setTranslate(Math.floor(Math.max(0,Math.max(0,(a.container.clientWidth-
c.width)/2)-c.x)),Math.floor(Math.max(0,Math.max(20,(a.container.clientHeight-c.height)/4))-c.y)))}else a.container.scrollTop=0,a.container.scrollLeft=0,mxUtils.hasScrollbars(a.container)||a.view.setTranslate(0,0)};EditorUi.prototype.setBackgroundColor=function(a){this.editor.graph.background=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("backgroundColorChanged"))};
EditorUi.prototype.setFoldingEnabled=function(a){this.editor.graph.foldingEnabled=a;this.editor.graph.view.revalidate();this.fireEvent(new mxEventObject("foldingEnabledChanged"))};EditorUi.prototype.setPageFormat=function(a){this.editor.graph.pageFormat=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageFormatChanged"))};
EditorUi.prototype.setPageScale=function(a){this.editor.graph.pageScale=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageScaleChanged"))};EditorUi.prototype.setGridColor=function(a){this.editor.graph.view.gridColor=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("gridColorChanged"))};
EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),c=this.actions.get("redo"),f=this.editor.undoManager,d=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());c.setEnabled(this.canRedo())});f.addListener(mxEvent.ADD,d);f.addListener(mxEvent.UNDO,d);f.addListener(mxEvent.REDO,d);f.addListener(mxEvent.CLEAR,d);var b=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){b.apply(this,arguments);d()};var e=this.editor.graph.cellEditor.stopEditing;
this.editor.graph.cellEditor.stopEditing=function(b,a){e.apply(this,arguments);d()};d()};
EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,c=!a.isSelectionEmpty(),f=!1,d=!1,b=a.getSelectionCells();if(null!=b)for(var e=0;e<b.length;e++){var g=b[e];a.getModel().isEdge(g)&&(d=!0);a.getModel().isVertex(g)&&(f=!0);if(d&&f)break}b="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor toFront toBack lockUnlock solid dashed dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(e=
0;e<b.length;e++)this.actions.get(b[e]).setEnabled(c);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(d);this.actions.get("clearWaypoints").setEnabled(d);this.actions.get("rotation").setEnabled(f);this.actions.get("wordWrap").setEnabled(f);this.actions.get("autosize").setEnabled(f);this.actions.get("collapsible").setEnabled(f);d=f&&1==a.getSelectionCount();this.actions.get("group").setEnabled(1<
a.getSelectionCount()||d&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||d&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(d&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(c||null!=a.view.currentRoot);this.actions.get("collapsible").setEnabled(f&&1==a.getSelectionCount()&&
(a.isContainer(a.getSelectionCell())||0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));c=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(c);this.actions.get("collapse").setEnabled(c);this.actions.get("editLink").setEnabled(1==
a.getSelectionCount());this.actions.get("openLink").setEnabled(1==a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless);c=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(c);this.menus.get("insert").setEnabled(c);this.menus.get("direction").setEnabled(c&&f);this.menus.get("align").setEnabled(c&&f&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(c&&
f&&1<a.getSelectionCount());this.actions.get("selectVertices").setEnabled(c);this.actions.get("selectEdges").setEnabled(c);this.actions.get("selectAll").setEnabled(c);this.actions.get("selectNone").setEnabled(c);this.updatePasteActionStates()};
EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var c=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),f=this.container.clientWidth,d=this.container.clientHeight;this.container==document.body&&(f=document.body.clientWidth||document.documentElement.clientWidth,d=c?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var b=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&&
(b=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var e=Math.max(0,Math.min(this.hsplitPosition,f-this.splitSize-20)),g=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",g+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",g+=this.toolbarHeight);0<g&&!mxClient.IS_QUIRKS&&(g+=1);var k=0;if(null!=this.sidebarFooterContainer){var l=
this.footerHeight+b,k=Math.max(0,Math.min(d-g-l,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=e+"px";this.sidebarFooterContainer.style.height=k+"px";this.sidebarFooterContainer.style.bottom=l+"px"}l=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=g+"px";this.sidebarContainer.style.width=e+"px";this.formatContainer.style.top=g+"px";this.formatContainer.style.width=l+"px";this.formatContainer.style.display=null!=this.format?"":"none";this.diagramContainer.style.left=
null!=this.hsplit.parentNode?e+this.splitSize+"px":"0px";this.diagramContainer.style.top=this.sidebarContainer.style.top;this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+b+"px";this.hsplit.style.left=e+"px";null!=this.tabContainer&&(this.tabContainer.style.left=this.diagramContainer.style.left);c?(this.menubarContainer.style.width=f+"px",this.toolbarContainer.style.width=this.menubarContainer.style.width,
c=Math.max(0,d-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=c-k+"px",this.formatContainer.style.height=c+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,f-e-this.splitSize-l)+"px":f+"px",this.footerContainer.style.width=this.menubarContainer.style.width,k=Math.max(0,d-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=this.diagramContainer.style.width,this.tabContainer.style.bottom=
this.footerHeight+b+"px",k-=this.tabContainer.clientHeight),this.diagramContainer.style.height=k+"px",this.hsplit.style.height=k+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=b+"px"),this.diagramContainer.style.right=l+"px",f=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+b+"px",this.tabContainer.style.right=this.diagramContainer.style.right,f=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom=this.footerHeight+k+b+"px",this.formatContainer.style.bottom=
this.footerHeight+b+"px",this.diagramContainer.style.bottom=this.footerHeight+b+f+"px");a&&this.editor.graph.sizeDidChange()};EditorUi.prototype.createTabContainer=function(){return null};
EditorUi.prototype.createDivs=function(){this.menubarContainer=this.createDiv("geMenubarContainer");this.toolbarContainer=this.createDiv("geToolbarContainer");this.sidebarContainer=this.createDiv("geSidebarContainer");this.formatContainer=this.createDiv("geSidebarContainer");this.diagramContainer=this.createDiv("geDiagramContainer");this.footerContainer=this.createDiv("geFooterContainer");this.hsplit=this.createDiv("geHsplit");this.hsplit.setAttribute("title",mxResources.get("collapseExpand"));this.menubarContainer.style.top=
"0px";this.menubarContainer.style.left="0px";this.menubarContainer.style.right="0px";this.toolbarContainer.style.left="0px";this.toolbarContainer.style.right="0px";this.sidebarContainer.style.left="0px";this.formatContainer.style.right="0px";this.formatContainer.style.zIndex="1";this.diagramContainer.style.right=(null!=this.format?this.formatWidth:0)+"px";this.footerContainer.style.left="0px";this.footerContainer.style.right="0px";this.footerContainer.style.bottom="0px";this.footerContainer.style.zIndex=
mxPopupMenu.prototype.zIndex-2;this.hsplit.style.width=this.splitSize+"px";this.formatContainer.style.backgroundColor="whiteSmoke";this.formatContainer.style.overflowX="hidden";this.formatContainer.style.overflowY="auto";this.formatContainer.style.fontSize="12px";if(this.sidebarFooterContainer=this.createSidebarFooterContainer())this.sidebarFooterContainer.style.left="0px";this.tabContainer=this.createTabContainer()};EditorUi.prototype.createSidebarFooterContainer=function(){return null};
EditorUi.prototype.createUi=function(){this.menubar=this.editor.chromeless?null:this.menus.createMenubar(this.createDiv("geMenubar"));null!=this.menubar&&this.menubarContainer.appendChild(this.menubar.container);null!=this.menubar&&(this.statusContainer=this.createStatusContainer(),this.editor.addListener("statusChanged",mxUtils.bind(this,function(){this.setStatusText(this.editor.getStatus())})),this.setStatusText(this.editor.getStatus()),this.menubar.container.appendChild(this.statusContainer),this.container.appendChild(this.menubarContainer));
this.sidebar=this.editor.chromeless?null:this.createSidebar(this.sidebarContainer);null!=this.sidebar&&this.container.appendChild(this.sidebarContainer);this.format=this.editor.chromeless||!this.formatEnabled?null:this.createFormat(this.formatContainer);null!=this.format&&this.container.appendChild(this.formatContainer);var a=this.editor.chromeless?null:this.createFooter();null!=a&&(this.footerContainer.appendChild(a),this.container.appendChild(this.footerContainer));null!=this.sidebar&&this.sidebarFooterContainer&&
this.container.appendChild(this.sidebarFooterContainer);this.container.appendChild(this.diagramContainer);null!=this.container&&null!=this.tabContainer&&this.container.appendChild(this.tabContainer);this.toolbar=this.editor.chromeless?null:this.createToolbar(this.createDiv("geToolbar"));null!=this.toolbar&&(this.toolbarContainer.appendChild(this.toolbar.container),this.container.appendChild(this.toolbarContainer));null!=this.sidebar&&(this.container.appendChild(this.hsplit),this.addSplitHandler(this.hsplit,
!0,0,mxUtils.bind(this,function(a){this.hsplitPosition=a;this.refresh()})))};EditorUi.prototype.createStatusContainer=function(){var a=document.createElement("a");a.className="geItem geStatus";return a};EditorUi.prototype.setStatusText=function(a){this.statusContainer.innerHTML=a};EditorUi.prototype.createToolbar=function(a){return new Toolbar(this,a)};EditorUi.prototype.createSidebar=function(a){return new Sidebar(this,a)};EditorUi.prototype.createFormat=function(a){return new Format(this,a)};
EditorUi.prototype.createFooter=function(){return this.createDiv("geFooter")};EditorUi.prototype.createDiv=function(a){var c=document.createElement("div");c.className=a;return c};
EditorUi.prototype.addSplitHandler=function(a,c,f,d){function b(b){if(null!=g){var a=new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b));d(Math.max(0,k+(c?a.x-g.x:g.y-a.y)-f));mxEvent.consume(b);k!=m()&&(l=!0,n=null)}}function e(a){b(a);g=k=null}var g=null,k=null,l=!0,n=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var m=mxUtils.bind(this,function(){var b=parseInt(c?a.style.left:a.style.bottom);c||(b=b+f-this.footerHeight);return b});mxEvent.addGestureListeners(a,function(b){g=new mxPoint(mxEvent.getClientX(b),
mxEvent.getClientY(b));k=m();l=!1;mxEvent.consume(b)});mxEvent.addListener(a,"click",function(b){if(!l){var a=null!=n?n-f:0;n=m();d(a);mxEvent.consume(b)}});mxEvent.addGestureListeners(document,null,b,e);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,b,e)})};EditorUi.prototype.showDialog=function(a,c,f,d,b,e){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,c,f,d,b,e);this.dialogs.push(this.dialog)};
EditorUi.prototype.hideDialog=function(a){null!=this.dialogs&&0<this.dialogs.length&&(this.dialogs.pop().close(a),this.dialog=0<this.dialogs.length?this.dialogs[this.dialogs.length-1]:null,null==this.dialog&&"hidden"!=this.editor.graph.container.style.visibility&&this.editor.graph.container.focus(),this.editor.fireEvent(new mxEventObject("hideDialog")))};
EditorUi.prototype.pickColor=function(a,c){var f=this.editor.graph,d=f.cellEditor.saveSelection(),b=new ColorDialog(this,a||"none",function(b){f.cellEditor.restoreSelection(d);c(b)},function(){f.cellEditor.restoreSelection(d)});this.showDialog(b.container,220,430,!0,!1);b.init()};
EditorUi.prototype.openFile=function(){window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:320,Editor.useLocalStorage?480:220,!0,!0,function(){window.openFile=null})};
EditorUi.prototype.extractGraphModelFromHtml=function(a){var c=null;try{var f=a.indexOf("\x26lt;mxGraphModel ");if(0<=f){var d=a.lastIndexOf("\x26lt;/mxGraphModel\x26gt;");d>f&&(c=a.substring(f,d+21).replace(/&gt;/g,"\x3e").replace(/&lt;/g,"\x3c").replace(/\n/g,""))}}catch(b){}return c};EditorUi.prototype.isCompatibleString=function(a){try{var c=mxUtils.parseXml(a),f=this.editor.extractGraphModel(c.documentElement);return null!=f&&0==f.getElementsByTagName("parsererror").length}catch(d){}return!1};
EditorUi.prototype.extractGraphModelFromEvent=function(a){var c=null,f=null;if(null!=a&&(a=null!=a.dataTransfer?a.dataTransfer:a.clipboardData,null!=a)){if(10==document.documentMode||11==document.documentMode)f=a.getData("Text");else if(f=0<=mxUtils.indexOf(a.types,"text/html")?a.getData("text/html"):null,mxUtils.indexOf(a.types,null==f||0==f.length))f=a.getData("text/plain");null!=f&&(f=this.editor.graph.zapGremlins(mxUtils.trim(f)),a=this.extractGraphModelFromHtml(f),null!=a&&(f=a))}null!=f&&this.isCompatibleString(f)&&
(c=f);return c};EditorUi.prototype.saveFile=function(a){!a&&null!=this.editor.filename?this.save(this.editor.getOrCreateFilename()):(a=new FilenameDialog(this,this.editor.getOrCreateFilename(),mxResources.get("save"),mxUtils.bind(this,function(a){this.save(a)}),null,mxUtils.bind(this,function(a){if(null!=a&&0<a.length)return!0;mxUtils.confirm(mxResources.get("invalidName"));return!1})),this.showDialog(a.container,300,100,!0,!0),a.init())};
EditorUi.prototype.save=function(a){if(null!=a){this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var c=mxUtils.getXml(this.editor.getGraphXml());try{if(Editor.useLocalStorage){if(null!=localStorage.getItem(a)&&!mxUtils.confirm(mxResources.get("replaceIt",[a])))return;localStorage.setItem(a,c);this.editor.setStatus(mxResources.get("saved")+" "+new Date)}else if(c.length<MAX_REQUEST_SIZE)(new mxXmlRequest(SAVE_URL,"filename\x3d"+encodeURIComponent(a)+"\x26xml\x3d"+encodeURIComponent(c))).simulate(document,
"_blank");else{mxUtils.alert(mxResources.get("drawingTooLarge"));mxUtils.popup(c);return}this.editor.setModified(!1);this.editor.setFilename(a);this.updateDocumentTitle()}catch(f){this.editor.setStatus("Error saving file")}}};
EditorUi.prototype.executeLayout=function(a,c,f){var d=this.editor.graph;if(d.isEnabled()){d.getModel().beginUpdate();try{a()}catch(b){throw b;}finally{this.allowAnimation&&c&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(d),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){d.getModel().endUpdate();null!=f&&f()})),a.startAnimation()):d.getModel().endUpdate()}}};
EditorUi.prototype.showImageDialog=function(a,c,f,d){d=this.editor.graph.cellEditor;var b=d.saveSelection(),e=mxUtils.prompt(a,c);d.restoreSelection(b);if(null!=e&&0<e.length){var g=new Image;g.onload=function(){f(e,g.width,g.height)};g.onerror=function(){f(null);mxUtils.alert(mxResources.get("fileNotFound"))};g.src=e}else f(null)};EditorUi.prototype.showLinkDialog=function(a,c,f){a=new LinkDialog(this,a,c,f);this.showDialog(a.container,420,90,!0,!0);a.init()};
EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.setBackgroundImage(a)});var c=mxUtils.prompt(mxResources.get("backgroundImage"),"");if(null!=c&&0<c.length){var f=new Image;f.onload=function(){a(new mxImage(c,f.width,f.height))};f.onerror=function(){a(null);mxUtils.alert(mxResources.get("fileNotFound"))};f.src=c}else a(null)};
EditorUi.prototype.setBackgroundImage=function(a){this.editor.graph.setBackgroundImage(a);this.editor.graph.view.validateBackgroundImage();this.fireEvent(new mxEventObject("backgroundImageChanged"))};EditorUi.prototype.confirm=function(a,c,f){mxUtils.confirm(a)?null!=c&&c():null!=f&&f()};
EditorUi.prototype.createOutline=function(a){var c=new mxOutline(this.editor.graph);c.border=20;mxEvent.addListener(window,"resize",function(){c.update()});this.addListener("pageFormatChanged",function(){c.update()});return c};
EditorUi.prototype.createKeyHandler=function(a){function c(b,a,e){l.push(function(){if(!d.isSelectionEmpty()&&d.isEnabled())if(a=null!=a?a:1,e){d.getModel().beginUpdate();try{for(var c=d.getSelectionCells(),f=0;f<c.length;f++)if(d.getModel().isVertex(c[f])&&d.isCellResizable(c[f])){var g=d.getCellGeometry(c[f]);null!=g&&(g=g.clone(),37==b?g.width=Math.max(0,g.width-a):38==b?g.height=Math.max(0,g.height-a):39==b?g.width+=a:40==b&&(g.height+=a),d.getModel().setGeometry(c[f],g))}}finally{d.getModel().endUpdate()}}else c=
d.getSelectionCell(),f=d.model.getParent(c),g=null,1==d.getSelectionCount()&&d.model.isVertex(c)&&(null!=d.layoutManager&&!d.isCellLocked(c))&&(g=d.layoutManager.getLayout(f)),null!=g&&g.constructor==mxStackLayout?(g=f.getIndex(c),37==b||38==b?d.model.add(f,c,Math.max(0,g-1)):(39==b||40==b)&&d.model.add(f,c,Math.min(d.model.getChildCount(f),g+1))):(f=c=0,37==b?c=-a:38==b?f=-a:39==b?c=a:40==b&&(f=a),d.moveCells(d.getMovableCells(d.getSelectionCells()),c,f))});null!=n&&window.clearTimeout(n);n=window.setTimeout(function(){if(0<
l.length){d.getModel().beginUpdate();try{for(var b=0;b<l.length;b++)l[b]();l=[]}finally{d.getModel().endUpdate()}d.scrollCellToVisible(d.getSelectionCell())}},200)}var f=this,d=this.editor.graph,b=new mxKeyHandler(d),e=b.isEventIgnored;b.isEventIgnored=function(b){return(!this.isControlDown(b)||mxEvent.isShiftDown(b)||90!=b.keyCode&&89!=b.keyCode&&188!=b.keyCode&&190!=b.keyCode)&&(66!=b.keyCode&&73!=b.keyCode&&85!=b.keyCode||!this.isControlDown(b)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&&
!mxClient.IS_SF)&&e.apply(this,arguments)};b.isEnabledForEvent=function(b){return!mxEvent.isConsumed(b)&&this.isGraphEvent(b)&&this.isEnabled()};b.isControlDown=function(b){return mxEvent.isControlDown(b)||mxClient.IS_MAC&&b.metaKey};var g={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},k=b.getFunction;mxKeyHandler.prototype.getFunction=function(b){if(null!=g[b.keyCode]){var a=d.getSelectionCell();if(d.model.isVertex(a))return mxEvent.isShiftDown(b)&&
mxEvent.isAltDown(b)?function(){var e=d.connectVertex(a,g[b.keyCode],d.defaultEdgeLength,b,!0);null!=e&&0<e.length&&(1==e.length&&d.model.isEdge(e[0])?d.setSelectionCell(d.model.getTerminal(e[0],!1)):d.setSelectionCell(e[e.length-1]),null!=f.hoverIcons&&f.hoverIcons.update(d.view.getState(d.getSelectionCell())))}:this.isControlDown(b)?function(){c(b.keyCode,mxEvent.isShiftDown(b)?d.gridSize:null,!0)}:function(){c(b.keyCode,mxEvent.isShiftDown(b)?d.gridSize:null)}}return k.apply(this,arguments)};var l=
[],n=null;b.bindAction=mxUtils.bind(this,function(a,d,e,c){var f=this.actions.get(e);null!=f&&(e=function(){f.isEnabled()&&f.funct()},d?c?b.bindControlShiftKey(a,e):b.bindControlKey(a,e):c?b.bindShiftKey(a,e):b.bindKey(a,e))});var m=b.escape;b.escape=function(b){m.apply(this,arguments)};b.enter=function(){};b.bindControlShiftKey(36,function(){d.exitGroup()});b.bindControlShiftKey(35,function(){d.enterGroup()});b.bindKey(36,function(){d.home()});b.bindKey(35,function(){d.refresh()});b.bindAction(107,
!0,"zoomIn");b.bindAction(109,!0,"zoomOut");b.bindAction(80,!0,"print");b.bindAction(79,!0,"outline",!0);b.bindAction(112,!1,"about");this.editor.chromeless||(b.bindControlKey(36,function(){d.isEnabled()&&d.foldCells(!0)}),b.bindControlKey(35,function(){d.isEnabled()&&d.foldCells(!1)}),b.bindControlKey(13,function(){d.isEnabled()&&d.setSelectionCells(d.duplicateCells(d.getSelectionCells(),!1))}),b.bindShiftKey(9,function(){d.isEnabled()&&d.selectPreviousCell()}),b.bindControlKey(9,function(){d.isEnabled()&&
d.selectParentCell()}),b.bindControlShiftKey(9,function(){d.isEnabled()&&d.selectChildCell()}),b.bindAction(8,!1,"delete"),b.bindAction(8,!0,"deleteAll"),b.bindAction(46,!1,"delete"),b.bindAction(46,!0,"deleteAll"),b.bindAction(72,!0,"resetView"),b.bindAction(72,!0,"fitWindow",!0),b.bindAction(74,!0,"fitPage"),b.bindAction(74,!0,"fitTwoPages",!0),b.bindAction(48,!0,"customZoom"),b.bindAction(82,!0,"turn"),b.bindAction(82,!0,"clearDefaultStyle",!0),b.bindAction(83,!0,"save"),b.bindAction(83,!0,"saveAs",
!0),b.bindAction(65,!0,"selectAll"),b.bindAction(65,!0,"selectNone",!0),b.bindAction(73,!0,"selectVertices",!0),b.bindAction(69,!0,"selectEdges",!0),b.bindAction(69,!0,"editStyle"),b.bindAction(66,!0,"bold"),b.bindAction(66,!0,"toBack",!0),b.bindAction(70,!0,"toFront",!0),b.bindAction(68,!0,"duplicate"),b.bindAction(68,!0,"setAsDefaultStyle",!0),b.bindAction(90,!0,"undo"),b.bindAction(89,!0,"autosize",!0),b.bindAction(88,!0,"cut"),b.bindAction(67,!0,"copy"),b.bindAction(81,!0,"connectionArrows"),
b.bindAction(81,!0,"connectionPoints",!0),b.bindAction(86,!0,"paste"),b.bindAction(71,!0,"group"),b.bindAction(77,!0,"editData"),b.bindAction(71,!0,"grid",!0),b.bindAction(73,!0,"italic"),b.bindAction(76,!0,"lockUnlock"),b.bindAction(76,!0,"layers",!0),b.bindAction(80,!0,"formatPanel",!0),b.bindAction(85,!0,"underline"),b.bindAction(85,!0,"ungroup",!0),b.bindAction(190,!0,"superscript"),b.bindAction(188,!0,"subscript"),b.bindKey(13,function(){d.isEnabled()&&d.startEditingAtCell()}),b.bindKey(113,
function(){d.isEnabled()&&d.startEditingAtCell()}));mxClient.IS_WIN?b.bindAction(89,!0,"redo"):b.bindAction(90,!0,"redo",!0);return b};
EditorUi.prototype.destroy=function(){null!=this.editor&&(this.editor.destroy(),this.editor=null);null!=this.menubar&&(this.menubar.destroy(),this.menubar=null);null!=this.toolbar&&(this.toolbar.destroy(),this.toolbar=null);null!=this.sidebar&&(this.sidebar.destroy(),this.sidebar=null);null!=this.keyHandler&&(this.keyHandler.destroy(),this.keyHandler=null);null!=this.keydownHandler&&(mxEvent.removeListener(document,"keydown",this.keydownHandler),this.keydownHandler=null);null!=this.keyupHandler&&
(mxEvent.removeListener(document,"keyup",this.keyupHandler),this.keyupHandler=null);null!=this.resizeHandler&&(mxEvent.removeListener(window,"resize",this.resizeHandler),this.resizeHandler=null);null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null);null!=this.orientationChangeHandler&&(mxEvent.removeListener(window,"orientationchange",this.orientationChangeHandler),this.orientationChangeHandler=null);null!=this.scrollHandler&&(mxEvent.removeListener(window,
"scroll",this.scrollHandler),this.scrollHandler=null);if(null!=this.destroyFunctions){for(var a=0;a<this.destroyFunctions.length;a++)this.destroyFunctions[a]();this.destroyFunctions=null}for(var c=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<c.length;a++)null!=c[a]&&null!=c[a].parentNode&&c[a].parentNode.removeChild(c[a])};
function Sidebar(a,c){this.editorUi=a;this.container=c;this.palettes={};this.taglist={};this.showTooltips=!0;this.graph=new Graph(document.createElement("div"),null,null,this.editorUi.editor.graph.getStylesheet());this.graph.cellRenderer.antiAlias=!1;this.graph.resetViewOnRootChange=!1;this.graph.foldingEnabled=!1;this.graph.setConnectable(!1);this.graph.gridEnabled=!1;this.graph.autoScroll=!1;this.graph.setTooltips(!1);this.graph.setEnabled(!1);this.graph.container.style.visibility="hidden";this.graph.container.style.position=
"absolute";this.graph.container.style.overflow="hidden";this.graph.container.style.height="1px";this.graph.container.style.width="1px";!mxClient.IS_IE&&!mxClient.IS_IE11&&(this.graph.container.style.display="none");document.body.appendChild(this.graph.container);this.pointerUpHandler=mxUtils.bind(this,function(){this.showTooltips=!0});mxEvent.addListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler);this.pointerDownHandler=mxUtils.bind(this,function(){this.showTooltips=
!1;this.hideTooltip()});mxEvent.addListener(document,mxClient.IS_POINTER?"pointerdown":"mousedown",this.pointerDownHandler);this.pointerMoveHandler=mxUtils.bind(this,function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==this.currentElt)return;a=a.parentNode}this.hideTooltip()});mxEvent.addListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.pointerMoveHandler);this.pointerOutHandler=mxUtils.bind(this,function(a){null==a.toElement&&null==a.relatedTarget&&this.hideTooltip()});mxEvent.addListener(document,
mxClient.IS_POINTER?"pointerout":"mouseout",this.pointerOutHandler);mxEvent.addListener(c,"scroll",mxUtils.bind(this,function(){this.showTooltips=!0}));this.init();mxClient.IS_SVG||((new Image).src=IMAGE_PATH+"/tooltip.png")}
Sidebar.prototype.init=function(){var a=STENCIL_PATH;this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1);this.addAdvancedPalette(!1);this.addStencilPalette("basic",mxResources.get("basic"),a+"/basic.xml",";whiteSpace\x3dwrap;html\x3d1;fillColor\x3d#ffffff;strokeColor\x3d#000000;strokeWidth\x3d2");this.addStencilPalette("arrows",mxResources.get("arrows"),a+"/arrows.xml",";whiteSpace\x3dwrap;html\x3d1;fillColor\x3d#ffffff;strokeColor\x3d#000000;strokeWidth\x3d2");this.addUmlPalette(!1);
this.addBpmnPalette(a,!1);this.addStencilPalette("flowchart","Flowchart",a+"/flowchart.xml",";whiteSpace\x3dwrap;html\x3d1;fillColor\x3d#ffffff;strokeColor\x3d#000000;strokeWidth\x3d2");this.addImagePalette("clipart",mxResources.get("clipart"),a+"/clipart/","_128x128.png","Earth_globe Empty_Folder Full_Folder Gear Lock Software Virus Email Database Router_Icon iPad iMac Laptop MacBook Monitor_Tower Printer Server_Tower Workstation Firewall_02 Wireless_Router_N Credit_Card Piggy_Bank Graph Safe Shopping_Cart Suit1 Suit2 Suit3 Pilot1 Worker1 Soldier1 Doctor1 Tech1 Security1 Telesales1".split(" "),
null,{Wireless_Router_N:"wireless router switch wap wifi access point wlan",Router_Icon:"router switch"})};Sidebar.prototype.collapsedImage=!mxClient.IS_SVG?IMAGE_PATH+"/collapsed.gif":"data:image/gif;base64,R0lGODlhDQANAIABAJmZmf///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNUQyRTJFNjZGNUYxMUU1QjZEOThCNDYxMDQ2MzNCQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNUQyRTJFNzZGNUYxMUU1QjZEOThCNDYxMDQ2MzNCQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFERjc3MEUxNkY1RjExRTVCNkQ5OEI0NjEwNDYzM0JCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFERjc3MEUyNkY1RjExRTVCNkQ5OEI0NjEwNDYzM0JCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAQAAAQAsAAAAAA0ADQAAAhSMj6lrwAjcC1GyahV+dcZJgeIIFgA7";
Sidebar.prototype.expandedImage=!mxClient.IS_SVG?IMAGE_PATH+"/expanded.gif":"data:image/gif;base64,R0lGODlhDQANAIABAJmZmf///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxREY3NzBERjZGNUYxMUU1QjZEOThCNDYxMDQ2MzNCQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxREY3NzBFMDZGNUYxMUU1QjZEOThCNDYxMDQ2MzNCQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFERjc3MERENkY1RjExRTVCNkQ5OEI0NjEwNDYzM0JCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFERjc3MERFNkY1RjExRTVCNkQ5OEI0NjEwNDYzM0JCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAQAAAQAsAAAAAA0ADQAAAhGMj6nL3QAjVHIu6azbvPtWAAA7";
Sidebar.prototype.tooltipImage=!mxClient.IS_SVG?IMAGE_PATH+"/tooltip.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAbCAMAAAB7jU7LAAAACVBMVEX///+ZmZn///9Y2COLAAAAA3RSTlP//wDXyg1BAAAAOElEQVR42mXQMQ4AMAgDsWv//+iutcJmIQSk+9dJpVKpVCqVSqVSqZTdncWzF8/NeP7FkxWenPEDOnUBiL3jWx0AAAAASUVORK5CYII\x3d";Sidebar.prototype.searchImage=!mxClient.IS_SVG?IMAGE_PATH+"/search.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAEaSURBVHjabNGxS5VxFIfxz71XaWuQUJCG/gCHhgTD9VpEETg4aMOlQRp0EoezObgcd220KQiXmpretTAHQRBdojlQEJyukPdt+b1ywfvAGc7wnHP4nlZd1yKijQW8xzNc4Su+ZOYfQ3T6/f4YNvEJYzjELXp4VVXVz263+7cR2niBxAFeZ2YPi3iHR/gYERPDwhpOsd6sz8x/mfkNG3iOlWFhFj8y89J9KvzGXER0GuEaD42mgwHqUtoljbcRsTBCeINpfM/MgZLKPpaxFxGbOCqDXmILN7hoJrTKH+axhxmcYRxP0MIDnOBDZv5q1XUNIuJxifJp+UNV7t7BFM6xeic0RMQ4Bpl5W/ol7GISx/eEUUTECrbx+f8A8xhiZht9zsgAAAAASUVORK5CYII\x3d";
Sidebar.prototype.enableTooltips=!0;Sidebar.prototype.tooltipBorder=16;Sidebar.prototype.tooltipDelay=300;Sidebar.prototype.dropTargetDelay=200;Sidebar.prototype.gearImage=STENCIL_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.thumbWidth=36;Sidebar.prototype.thumbHeight=36;Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1;Sidebar.prototype.thumbBorder=2;Sidebar.prototype.sidebarTitleSize=9;Sidebar.prototype.sidebarTitles=!1;Sidebar.prototype.tooltipTitles=!0;
Sidebar.prototype.maxTooltipWidth=400;Sidebar.prototype.maxTooltipHeight=400;Sidebar.prototype.addStencilsToIndex=!0;Sidebar.prototype.defaultImageWidth=80;Sidebar.prototype.defaultImageHeight=80;
Sidebar.prototype.showTooltip=function(a,c,f,d,b,e){if(this.enableTooltips&&this.showTooltips&&this.currentElt!=a){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);var g=mxUtils.bind(this,function(){null==this.tooltip&&(this.tooltip=document.createElement("div"),this.tooltip.className="geSidebarTooltip",this.tooltip.style.zIndex=mxPopupMenu.prototype.zIndex-1,document.body.appendChild(this.tooltip),this.graph2=new Graph(this.tooltip,null,null,this.editorUi.editor.graph.getStylesheet()),
this.graph2.resetViewOnRootChange=!1,this.graph2.foldingEnabled=!1,this.graph2.gridEnabled=!1,this.graph2.autoScroll=!1,this.graph2.setTooltips(!1),this.graph2.setConnectable(!1),this.graph2.setEnabled(!1),mxClient.IS_SVG||(this.graph2.view.canvas.style.position="relative"),this.tooltipImage=mxUtils.createImage(this.tooltipImage),this.tooltipImage.className="geSidebarTooltipImage",this.tooltipImage.style.zIndex=mxPopupMenu.prototype.zIndex-1,this.tooltipImage.style.position="absolute",this.tooltipImage.style.width=
"14px",this.tooltipImage.style.height="27px",document.body.appendChild(this.tooltipImage));this.graph2.model.clear();this.graph2.view.setTranslate(this.tooltipBorder,this.tooltipBorder);this.graph2.view.scale=f>this.maxTooltipWidth||d>this.maxTooltipHeight?Math.round(100*Math.min(this.maxTooltipWidth/f,this.maxTooltipHeight/d))/100:1;this.tooltip.style.display="block";this.graph2.labelsVisible=null==e||e;this.graph2.addCells(c);var g=this.graph2.getGraphBounds(),l=g.width+2*this.tooltipBorder+4,n=
g.height+2*this.tooltipBorder;mxClient.IS_QUIRKS?(n+=4,this.tooltip.style.overflow="hidden"):this.tooltip.style.overflow="visible";this.tooltipImage.style.visibility="visible";this.tooltip.style.width=l+"px";this.tooltipTitles&&null!=b&&0<b.length?(null==this.tooltipTitle?(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.style.borderTop="1px solid gray",this.tooltipTitle.style.textAlign="center",this.tooltipTitle.style.width="100%",this.tooltipTitle.style.overflow="hidden",mxClient.IS_SVG||
(this.tooltipTitle.style.position="absolute"),this.tooltipTitle.style.paddingTop="6px",this.tooltip.appendChild(this.tooltipTitle)):this.tooltipTitle.innerHTML="",this.tooltipTitle.style.display="",mxUtils.write(this.tooltipTitle,b),l=this.tooltipTitle.offsetHeight+10,n+=l,mxClient.IS_SVG?this.tooltipTitle.style.marginTop=2-l+"px":(n-=6,this.tooltipTitle.style.top=n-l+"px")):null!=this.tooltipTitle&&null!=this.tooltipTitle.parentNode&&(this.tooltipTitle.style.display="none");this.tooltip.style.height=
n+"px";var l=-Math.round(g.x-this.tooltipBorder),g=-Math.round(g.y-this.tooltipBorder),m=document.documentElement,p=this.container.clientWidth+this.editorUi.splitSize+3+this.editorUi.container.offsetLeft,m=Math.min((document.body.clientHeight||m.clientHeight)-n-20,Math.max(0,this.editorUi.container.offsetTop+this.container.offsetTop+a.offsetTop-this.container.scrollTop-n/2+16));mxClient.IS_SVG?0!=l||0!=g?this.graph2.view.canvas.setAttribute("transform","translate("+l+","+g+")"):this.graph2.view.canvas.removeAttribute("transform"):
(this.graph2.view.drawPane.style.left=l+"px",this.graph2.view.drawPane.style.top=g+"px");this.tooltip.style.position="absolute";this.tooltip.style.left=p+"px";this.tooltip.style.top=m+"px";this.tooltipImage.style.left=p-13+"px";this.tooltipImage.style.top=m+n/2-13+"px"});null!=this.tooltip&&"none"!=this.tooltip.style.display?g():this.thread=window.setTimeout(g,this.tooltipDelay);this.currentElt=a}};
Sidebar.prototype.hideTooltip=function(){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);null!=this.tooltip&&(this.tooltip.style.display="none",this.tooltipImage.style.visibility="hidden",this.currentElt=null)};
Sidebar.prototype.addEntry=function(a,c){if(null!=this.taglist&&null!=a&&0<a.length)for(var f=a.toLowerCase().replace(/[\/\,\(\)]/g," ").split(" "),d=0;d<f.length;d++)if(f[d]=f[d].replace(/\.*\d*$/,""),1<f[d].length){var b=this.taglist[f[d]];null==b&&(b={entries:[],dict:new mxDictionary},this.taglist[f[d]]=b);null==b.dict.get(c)&&(b.dict.put(c,c),b.entries.push(c))}return c};
Sidebar.prototype.searchEntries=function(a,c,f,d,b){if(null!=this.taglist&&null!=a){b=a.toLowerCase().split(" ");var e=new mxDictionary,g=(f+1)*c;a=[];for(var k=0,l=0;l<b.length;l++)if(0<b[l].length){var n=this.taglist[b[l]],m=new mxDictionary;if(null!=n){var p=n.entries;a=[];for(var r=0;r<p.length;r++)if(n=p[r],0==k==(null==e.get(n))&&(m.put(n,n),a.push(n),l==b.length-1&&a.length==g)){d(a.slice(f*c,g),g,!0);return}}else a=[];e=m;k++}b=a.length;d(a.slice(f*c,(f+1)*c),b,!1)}else d([])};
Sidebar.prototype.filterTags=function(a){if(null!=a){a=a.split(" ");for(var c=[],f={},d=0;d<a.length;d++)null==f[a[d]]&&(f[a[d]]="1",c.push(a[d]));return c.join(" ")}return null};Sidebar.prototype.cloneCell=function(a,c){var f=a.clone();null!=c&&(f.value=c);return f};
Sidebar.prototype.addSearchPalette=function(a){var c=document.createElement("div");c.style.visibility="hidden";this.container.appendChild(c);var f=document.createElement("div");f.className="geSidebar";f.style.boxSizing="border-box";f.style.overflow="hidden";f.style.width="100%";f.style.padding="8px";f.style.paddingTop="14px";f.style.paddingBottom="0px";a||(f.style.display="none");var d=document.createElement("div");d.style.whiteSpace="nowrap";d.style.textOverflow="clip";d.style.paddingBottom="8px";
d.style.cursor="default";var b=document.createElement("input");b.setAttribute("placeholder",mxResources.get("searchShapes"));b.setAttribute("type","text");b.style.fontSize="12px";b.style.overflow="hidden";b.style.boxSizing="border-box";b.style.border="solid 1px #d5d5d5";b.style.borderRadius="4px";b.style.width="100%";b.style.outline="none";b.style.padding="6px";d.appendChild(b);var e=document.createElement("img");e.setAttribute("src",Sidebar.prototype.searchImage);e.setAttribute("title",mxResources.get("search"));
e.style.position="relative";e.style.left="-18px";mxClient.IS_QUIRKS?(b.style.height="28px",e.style.top="-4px"):e.style.top="2px";e.style.background="url('"+this.editorUi.editor.transparentImage+"')";var g;d.appendChild(e);f.appendChild(d);var k=document.createElement("center"),l=mxUtils.button(mxResources.get("moreResults"),function(){g()});l.style.display="none";l.style.lineHeight="normal";l.style.marginTop="4px";l.style.marginBottom="8px";k.style.paddingTop="4px";k.style.paddingBottom="8px";k.appendChild(l);
f.appendChild(k);var n="",m=!1,p=!1,r=0,s={},q=12,u=mxUtils.bind(this,function(){m=!1;this.currentSearch=null;for(var b=f.firstChild;null!=b;){var a=b.nextSibling;b!=d&&b!=k&&b.parentNode.removeChild(b);b=a}});g=mxUtils.bind(this,function(){q=4*Math.max(1,Math.floor(this.container.clientWidth/(this.thumbWidth+10)));this.hideTooltip();if(""!=b.value){if(null!=k.parentNode&&(n!=b.value&&(u(),n=b.value,s={},p=!1,r=0),!m&&!p)){l.setAttribute("disabled","true");l.style.display="";l.style.cursor="wait";
l.innerHTML=mxResources.get("loading")+"...";m=!0;var a={};this.currentSearch=a;this.searchEntries(n,q,r,mxUtils.bind(this,function(b,d,e){if(this.currentSearch==a){b=null!=b?b:[];m=!1;r++;k.parentNode.removeChild(k);for(d=0;d<b.length;d++){var c=b[d]();null==s[c.innerHTML]&&(s[c.innerHTML]="1",f.appendChild(b[d]()))}e?(l.removeAttribute("disabled"),l.innerHTML=mxResources.get("moreResults")):(l.innerHTML=mxResources.get("reset"),l.style.display="none",p=!0);l.style.cursor="";0==b.length&&1==r&&(b=
document.createElement("div"),b.className="geTitle",b.style.backgroundColor="transparent",b.style.borderColor="transparent",b.style.color="gray",b.style.padding="0px",b.style.margin="0px 8px 0px 8px",b.style.paddingTop="6px",b.style.textAlign="center",b.style.cursor="default",mxUtils.write(b,mxResources.get("noResultsFor",[n])),f.appendChild(b));f.appendChild(k)}}),mxUtils.bind(this,function(){l.style.cursor=""}))}}else u(),n=b.value="",s={},l.style.display="none",p=!1,b.focus()});mxEvent.addListener(b,
"keydown",mxUtils.bind(this,function(b){13==b.keyCode&&g()}));mxEvent.addListener(b,"focus",function(){b.style.paddingRight="";e.style.display="none"});mxEvent.addListener(b,"blur",function(){b.style.paddingRight="20px";e.style.display=""});b.style.paddingRight="20px";mxEvent.addListener(b,"keyup",mxUtils.bind(this,function(a){""==b.value?(p=!0,l.style.display="none"):b.value!=n?(l.style.display="none",p=!1):m||(l.style.display=p?"none":"")}));mxEvent.addListener(b,"mousedown",function(b){b.stopPropagation&&
b.stopPropagation();b.cancelBubble=!0});mxEvent.addListener(b,"selectstart",function(b){b.stopPropagation&&b.stopPropagation();b.cancelBubble=!0});a=document.createElement("div");a.appendChild(f);this.container.appendChild(a);this.palettes.search=[c,a]};
Sidebar.prototype.addGeneralPalette=function(a){var c=[this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;",120,60,"","Rectangle",null,null,"rect rectangle box"),this.createVertexTemplateEntry("rounded\x3d1;whiteSpace\x3dwrap;html\x3d1;",120,60,"","Rounded Rectangle",null,null,"rounded rect rectangle box"),this.createVertexTemplateEntry("ellipse;whiteSpace\x3dwrap;html\x3d1;",120,80,"","Ellipse",null,null,"circle oval ellipse state"),this.createVertexTemplateEntry("text;html\x3d1;strokeColor\x3dnone;fillColor\x3dnone;align\x3dcenter;verticalAlign\x3dmiddle;whiteSpace\x3dwrap;",
40,20,"Text","Text",null,null,"text textbox textarea label"),this.createVertexTemplateEntry("shape\x3dext;double\x3d1;whiteSpace\x3dwrap;html\x3d1;",120,60,"","Double Rectangle",null,null,"rect rectangle box double"),this.createVertexTemplateEntry("shape\x3dext;double\x3d1;rounded\x3d1;whiteSpace\x3dwrap;html\x3d1;",120,60,"","Double Rounded Rectangle",null,null,"rounded rect rectangle box double"),this.createVertexTemplateEntry("ellipse;shape\x3ddoubleEllipse;whiteSpace\x3dwrap;html\x3d1;",120,80,
"","Double Ellipse",null,null,"circle oval ellipse start end state double"),this.createVertexTemplateEntry("rhombus;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Diamond",null,null,"diamond rhombus if condition decision conditional question test"),this.createVertexTemplateEntry("shape\x3dparallelogram;whiteSpace\x3dwrap;html\x3d1;",120,60,"","Parallelogram"),this.createVertexTemplateEntry("triangle;whiteSpace\x3dwrap;html\x3d1;",60,80,"","Triangle",null,null,"triangle logic inverter buffer"),this.createVertexTemplateEntry("shape\x3dcylinder;whiteSpace\x3dwrap;html\x3d1;",
60,80,"","Cylinder",null,null,"cylinder data database"),this.createVertexTemplateEntry("shape\x3dhexagon;perimeter\x3dhexagonPerimeter;whiteSpace\x3dwrap;html\x3d1;",120,80,"","Hexagon",null,null,"hexagon preparation"),this.createVertexTemplateEntry("shape\x3dprocess;whiteSpace\x3dwrap;html\x3d1;",120,60,"","Process",null,null,"process task"),this.createVertexTemplateEntry("ellipse;shape\x3dcloud;whiteSpace\x3dwrap;html\x3d1;",120,80,"","Cloud",null,null,"cloud network"),this.createVertexTemplateEntry("shape\x3ddocument;whiteSpace\x3dwrap;html\x3d1;",
120,80,"","Document"),this.createVertexTemplateEntry("shape\x3dinternalStorage;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Internal Storage"),this.createVertexTemplateEntry("shape\x3dcube;whiteSpace\x3dwrap;html\x3d1;",120,80,"","Cube"),this.createVertexTemplateEntry("shape\x3dstep;whiteSpace\x3dwrap;html\x3d1;",120,80,"","Step"),this.createVertexTemplateEntry("shape\x3dtrapezoid;whiteSpace\x3dwrap;html\x3d1;",120,60,"","Trapezoid"),this.createVertexTemplateEntry("shape\x3dtape;whiteSpace\x3dwrap;html\x3d1;",
120,100,"","Tape"),this.createVertexTemplateEntry("shape\x3dnote;whiteSpace\x3dwrap;html\x3d1;",80,100,"","Note"),this.createVertexTemplateEntry("shape\x3dcard;whiteSpace\x3dwrap;html\x3d1;",80,100,"","Card"),this.createEdgeTemplateEntry("endArrow\x3dclassic;html\x3d1;",50,50,"","Connection"),this.createEdgeTemplateEntry("endArrow\x3dclassic;startArrow\x3dclassic;html\x3d1;",50,50,"","Connection")];this.addPaletteFunctions("general",mxResources.get("general"),null!=a?a:!0,c)};
Sidebar.prototype.addMiscPalette=function(a){var c=[this.createVertexTemplateEntry("text;html\x3d1;fontSize\x3d24;fontStyle\x3d1;verticalAlign\x3dmiddle;align\x3dcenter;",100,40,"Title","Title",null,null,"text heading title"),this.createVertexTemplateEntry("text;html\x3d1;spacing\x3d5;spacingTop\x3d-20;whiteSpace\x3dwrap;overflow\x3dhidden;",190,120,"\x3ch1\x3eHeading\x3c/h1\x3e\x3cp\x3eLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\x3c/p\x3e",
"Textbox",null,null,"text textbox textarea"),this.createVertexTemplateEntry("text;html\x3d1;whiteSpace\x3dwrap;verticalAlign\x3dmiddle;overflow\x3dhidden;",100,80,"\x3cul\x3e\x3cli\x3eValue 1\x3c/li\x3e\x3cli\x3eValue 2\x3c/li\x3e\x3cli\x3eValue 3\x3c/li\x3e\x3c/ul\x3e","Unordered List"),this.createVertexTemplateEntry("text;html\x3d1;whiteSpace\x3dwrap;verticalAlign\x3dmiddle;overflow\x3dhidden;",100,80,"\x3col\x3e\x3cli\x3eValue 1\x3c/li\x3e\x3cli\x3eValue 2\x3c/li\x3e\x3cli\x3eValue 3\x3c/li\x3e\x3c/ol\x3e",
"Ordered List"),this.createVertexTemplateEntry("text;html\x3d1;fillColor\x3d#ffffff;overflow\x3dfill;rounded\x3d0;",280,160,'\x3ctable border\x3d"1" width\x3d"100%" height\x3d"100%" cellpadding\x3d"4" style\x3d"width:100%;height:100%;border-collapse:collapse;"\x3e\x3ctr style\x3d"background-color:#A7C942;color:#ffffff;border:1px solid #98bf21;"\x3e\x3cth align\x3d"left"\x3eTitle 1\x3c/th\x3e\x3cth align\x3d"left"\x3eTitle 2\x3c/th\x3e\x3cth align\x3d"left"\x3eTitle 3\x3c/th\x3e\x3c/tr\x3e\x3ctr style\x3d"border:1px solid #98bf21;"\x3e\x3ctd\x3eValue 1\x3c/td\x3e\x3ctd\x3eValue 2\x3c/td\x3e\x3ctd\x3eValue 3\x3c/td\x3e\x3c/tr\x3e\x3ctr style\x3d"background-color:#EAF2D3;border:1px solid #98bf21;"\x3e\x3ctd\x3eValue 4\x3c/td\x3e\x3ctd\x3eValue 5\x3c/td\x3e\x3ctd\x3eValue 6\x3c/td\x3e\x3c/tr\x3e\x3ctr style\x3d"border:1px solid #98bf21;"\x3e\x3ctd\x3eValue 7\x3c/td\x3e\x3ctd\x3eValue 8\x3c/td\x3e\x3ctd\x3eValue 9\x3c/td\x3e\x3c/tr\x3e\x3ctr style\x3d"background-color:#EAF2D3;border:1px solid #98bf21;"\x3e\x3ctd\x3eValue 10\x3c/td\x3e\x3ctd\x3eValue 11\x3c/td\x3e\x3ctd\x3eValue 12\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Table 1"),this.createVertexTemplateEntry("text;html\x3d1;strokeColor\x3d#c0c0c0;overflow\x3dfill;",180,140,'\x3ctable border\x3d"0" width\x3d"100%" height\x3d"100%" style\x3d"width:100%;height:100%;border-collapse:collapse;"\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3eValue 1\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 2\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 3\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3eValue 4\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 5\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 6\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3eValue 7\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 8\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 9\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Table 2"),this.createVertexTemplateEntry("text;html\x3d1;overflow\x3dfill;",180,140,'\x3ctable border\x3d"1" width\x3d"100%" height\x3d"100%" style\x3d"width:100%;height:100%;border-collapse:collapse;"\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3eValue 1\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 2\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 3\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3eValue 4\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 5\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 6\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3eValue 7\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 8\x3c/td\x3e\x3ctd align\x3d"center"\x3eValue 9\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Table 3"),this.createVertexTemplateEntry("text;html\x3d1;overflow\x3dfill;",160,140,'\x3ctable border\x3d"1" width\x3d"100%" height\x3d"100%" cellpadding\x3d"4" style\x3d"width:100%;height:100%;border-collapse:collapse;"\x3e\x3ctr\x3e\x3cth align\x3d"center"\x3e\x3cb\x3eTitle\x3c/b\x3e\x3c/th\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3eSection 1.1\nSection 1.2\nSection 1.3\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3eSection 2.1\nSection 2.2\nSection 2.3\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Table 4"),this.addEntry("link hyperlink",mxUtils.bind(this,function(){var a=new mxCell("Link",new mxGeometry(0,0,60,40),"text;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;verticalAlign\x3dmiddle;fontColor\x3d#0000EE;fontStyle\x3d4;");a.vertex=!0;this.graph.setLinkForCell(a,"https://www.draw.io");return this.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Link")})),this.addEntry("timestamp date time text label",mxUtils.bind(this,function(){var a=new mxCell("%date{ddd mmm dd yyyy HH:MM:ss}%",
new mxGeometry(0,0,160,20),"text;html\x3d1;strokeColor\x3dnone;fillColor\x3dnone;align\x3dcenter;verticalAlign\x3dmiddle;whiteSpace\x3dwrap;overflow\x3dhidden;");a.vertex=!0;this.graph.setAttributeForCell(a,"placeholders","1");return this.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Timestamp")})),this.addEntry("variable placeholder metadata hello world text label",mxUtils.bind(this,function(){var a=new mxCell("%name% Text",new mxGeometry(0,0,80,20),"text;html\x3d1;strokeColor\x3dnone;fillColor\x3dnone;align\x3dcenter;verticalAlign\x3dmiddle;whiteSpace\x3dwrap;overflow\x3dhidden;");
a.vertex=!0;this.graph.setAttributeForCell(a,"placeholders","1");this.graph.setAttributeForCell(a,"name","Variable");return this.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Variable")})),this.createVertexTemplateEntry("shape\x3dumlActor;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;html\x3d1;",30,60,"Actor","Actor",!1,null,"user person human stickman"),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;comic\x3d1;strokeWidth\x3d2;fontFamily\x3dComic Sans MS;fontStyle\x3d1;",
120,60,"RECTANGLE","Comic Rectangle",!0,null,"comic rectangle rect box text retro"),this.createVertexTemplateEntry("rhombus;html\x3d1;align\x3dcenter;whiteSpace\x3dwrap;comic\x3d1;strokeWidth\x3d2;fontFamily\x3dComic Sans MS;fontStyle\x3d1;",100,100,"DIAMOND","Comic Diamond",!0,null,"comic diamond rhombus if condition decision conditional question test retro"),this.createEdgeTemplateEntry("edgeStyle\x3dsegmentEdgeStyle;rounded\x3d0;comic\x3d1;strokeWidth\x3d2;endArrow\x3dblockThin;html\x3d1;fontFamily\x3dComic Sans MS;fontStyle\x3d1;",
50,50,"","Comic Arrow 1"),this.createEdgeTemplateEntry("rounded\x3d0;comic\x3d1;strokeWidth\x3d2;endArrow\x3dblockThin;html\x3d1;fontFamily\x3dComic Sans MS;fontStyle\x3d1;",50,50,"","Comic Arrow 2"),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;aspect\x3dfixed;shape\x3disoRectangle;",150,90,"","Isometric Square",!0,null,"rectangle rect box iso isometric"),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;aspect\x3dfixed;shape\x3disoCube;",90,100,"","Isometric Cube",!0,null,
"cube box iso isometric"),this.createEdgeTemplateEntry("edgeStyle\x3disometricEdgeStyle;endArrow\x3dnone;html\x3d1;",50,100,"","Isometric Edge 1"),this.createEdgeTemplateEntry("edgeStyle\x3disometricEdgeStyle;endArrow\x3dnone;html\x3d1;elbow\x3dvertical;",50,100,"","Isometric Edge 2"),this.createVertexTemplateEntry("line;html\x3d1;",160,10,"","Horizontal Line"),this.createVertexTemplateEntry("line;direction\x3dsouth;html\x3d1;",10,160,"","Vertical Line"),this.createVertexTemplateEntry("line;html\x3d1;perimeter\x3dbackbonePerimeter;points\x3d[];outlineConnect\x3d0;",
160,10,"","Horizontal Backbone",!1,null,"network"),this.createVertexTemplateEntry("line;direction\x3dsouth;html\x3d1;perimeter\x3dbackbonePerimeter;points\x3d[];outlineConnect\x3d0;",10,160,"","Vertical Backbone",!1,null,"network"),this.createVertexTemplateEntry("shape\x3dcurlyBracket;whiteSpace\x3dwrap;html\x3d1;rounded\x3d1;",20,120,"","Curly Bracket"),this.createVertexTemplateEntry("shape\x3dimage;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;imageAspect\x3d1;aspect\x3dfixed;image\x3d"+
this.gearImage,52,61,"","Image (Fixed Aspect)",!1,null,"fixed image icon symbol"),this.createVertexTemplateEntry("shape\x3dimage;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;imageAspect\x3d0;image\x3d"+this.gearImage,50,60,"","Image (Variable Aspect)",!1,null,"strechted image icon symbol"),this.createVertexTemplateEntry("icon;html\x3d1;image\x3d"+this.gearImage,60,60,"Icon","Icon",!1,null,"icon image symbol"),this.createVertexTemplateEntry("label;whiteSpace\x3dwrap;html\x3d1;image\x3d"+
this.gearImage,140,60,"Label","Label 1",null,null,"label image icon symbol"),this.createVertexTemplateEntry("label;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;verticalAlign\x3dbottom;spacingLeft\x3d0;spacingBottom\x3d4;imageAlign\x3dcenter;imageVerticalAlign\x3dtop;image\x3d"+this.gearImage,120,80,"Label","Label 2",null,null,"label image icon symbol"),this.createEdgeTemplateEntry("shape\x3dflexArrow;endArrow\x3dclassic;html\x3d1;fillColor\x3d#ffffff;",50,50,"","Arrow"),this.createEdgeTemplateEntry("shape\x3dflexArrow;endArrow\x3dclassic;startArrow\x3dclassic;html\x3d1;fillColor\x3d#ffffff;",
50,50,"","Arrow"),this.createEdgeTemplateEntry("endArrow\x3dnone;html\x3d1;dashed\x3d1;dashPattern\x3d1 4;",50,50,"","Dotted Line"),this.createEdgeTemplateEntry("endArrow\x3dnone;dashed\x3d1;html\x3d1;",50,50,"","Dashed Line"),this.createEdgeTemplateEntry("endArrow\x3dnone;html\x3d1;",50,50,"","Line"),this.createEdgeTemplateEntry("edgeStyle\x3dsegmentEdgeStyle;endArrow\x3dclassic;html\x3d1;",50,50,"","Manual Line"),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;elbow\x3dhorizontal;endArrow\x3dclassic;html\x3d1;",
50,50,"","Horizontal Elbow"),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;endArrow\x3dclassic;html\x3d1;",50,50,"","Vertical Elbow"),this.addEntry("curve",mxUtils.bind(this,function(){var a=new mxCell("",new mxGeometry(0,0,50,50),"curved\x3d1;endArrow\x3dclassic;html\x3d1;");a.geometry.setTerminalPoint(new mxPoint(0,50),!0);a.geometry.setTerminalPoint(new mxPoint(50,0),!1);a.geometry.points=[new mxPoint(50,50),new mxPoint(0,0)];a.geometry.relative=!0;a.edge=!0;return this.createEdgeTemplateFromCells([a],
a.geometry.width,a.geometry.height,"Curve")})),this.createEdgeTemplateEntry("shape\x3dlink;html\x3d1;",50,50,"","Link")];this.addPaletteFunctions("misc",mxResources.get("misc"),null!=a?a:!0,c)};Sidebar.prototype.addAdvancedPalette=function(a){this.addPaletteFunctions("advanced",mxResources.get("advanced"),null!=a?a:!1,this.createAdvancedShapes())};
Sidebar.prototype.createAdvancedShapes=function(){var a=this,c=new mxCell("List Item",new mxGeometry(0,0,60,26),"text;html\x3d1;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;");c.vertex=!0;return[this.createVertexTemplateEntry("shape\x3dimage;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;imageAspect\x3d0;image\x3d"+
this.gearImage,50,60,"","Stretched Image",!1,null,"strechted image icon symbol"),this.createVertexTemplateEntry("icon;html\x3d1;image\x3d"+this.gearImage,60,60,"Icon","Icon",!1,null,"icon image symbol"),this.createVertexTemplateEntry("label;whiteSpace\x3dwrap;html\x3d1;image\x3d"+this.gearImage,140,60,"Label","Label 1",null,null,"label image icon symbol"),this.createVertexTemplateEntry("label;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;verticalAlign\x3dbottom;spacingLeft\x3d0;spacingBottom\x3d4;imageAlign\x3dcenter;imageVerticalAlign\x3dtop;image\x3d"+
this.gearImage,120,80,"Label","Label 2",null,null,"label image icon symbol"),this.createVertexTemplateEntry("shape\x3dxor;whiteSpace\x3dwrap;html\x3d1;",60,80,"","Or",null,null,"logic or"),this.createVertexTemplateEntry("shape\x3dor;whiteSpace\x3dwrap;html\x3d1;",60,80,"","And",null,null,"logic and"),this.createVertexTemplateEntry("shape\x3ddataStorage;whiteSpace\x3dwrap;html\x3d1;",100,80,"","Data Storage"),this.createVertexTemplateEntry("shape\x3dtapeData;whiteSpace\x3dwrap;html\x3d1;perimeter\x3dellipsePerimeter;",
80,80,"","Tape Data"),this.createVertexTemplateEntry("shape\x3dmanualInput;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Manual Input"),this.createVertexTemplateEntry("shape\x3dloopLimit;whiteSpace\x3dwrap;html\x3d1;",100,80,"","Loop Limit"),this.createVertexTemplateEntry("shape\x3doffPageConnector;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Off Page Connector"),this.createVertexTemplateEntry("shape\x3ddelay;whiteSpace\x3dwrap;html\x3d1;",80,40,"","Delay"),this.createVertexTemplateEntry("shape\x3ddisplay;whiteSpace\x3dwrap;html\x3d1;",
80,40,"","Display"),this.createVertexTemplateEntry("shape\x3dsingleArrow;direction\x3dwest;whiteSpace\x3dwrap;html\x3d1;",100,60,"","Arrow Left"),this.createVertexTemplateEntry("shape\x3dsingleArrow;whiteSpace\x3dwrap;html\x3d1;",100,60,"","Arrow Right"),this.createVertexTemplateEntry("shape\x3dsingleArrow;direction\x3dnorth;whiteSpace\x3dwrap;html\x3d1;",60,100,"","Arrow Up"),this.createVertexTemplateEntry("shape\x3dsingleArrow;direction\x3dsouth;whiteSpace\x3dwrap;html\x3d1;",60,100,"","Arrow Down"),
this.createVertexTemplateEntry("shape\x3ddoubleArrow;whiteSpace\x3dwrap;html\x3d1;",100,60,"","Double Arrow"),this.createVertexTemplateEntry("shape\x3ddoubleArrow;direction\x3dsouth;whiteSpace\x3dwrap;html\x3d1;",60,100,"","Double Arrow Vertical",null,null,"double arrow"),this.createVertexTemplateEntry("shape\x3dactor;whiteSpace\x3dwrap;html\x3d1;",40,60,"","User",null,null,"user person human"),this.createVertexTemplateEntry("shape\x3dcross;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Cross"),this.createVertexTemplateEntry("shape\x3dcorner;whiteSpace\x3dwrap;html\x3d1;",
80,80,"","Corner"),this.createVertexTemplateEntry("shape\x3dtee;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Tee"),this.createVertexTemplateEntry("shape\x3ddatastore;whiteSpace\x3dwrap;html\x3d1;",60,60,"","Data Store",null,null,"data store cylinder database"),this.createVertexTemplateEntry("shape\x3dorEllipse;perimeter\x3dellipsePerimeter;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Or",null,null,"or circle oval ellipse"),this.createVertexTemplateEntry("shape\x3dsumEllipse;perimeter\x3dellipsePerimeter;whiteSpace\x3dwrap;html\x3d1;",
80,80,"","Sum",null,null,"sum circle oval ellipse"),this.createVertexTemplateEntry("shape\x3dlineEllipse;perimeter\x3dellipsePerimeter;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Ellipse with horizontal divider",null,null,"circle oval ellipse"),this.createVertexTemplateEntry("shape\x3dlineEllipse;line\x3dvertical;perimeter\x3dellipsePerimeter;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Ellipse with vertical divider",null,null,"circle oval ellipse"),this.createVertexTemplateEntry("shape\x3dsortShape;perimeter\x3drhombusPerimeter;whiteSpace\x3dwrap;html\x3d1;",
80,80,"","Sort",null,null,"sort"),this.createVertexTemplateEntry("shape\x3dcollate;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Collate",null,null,"collate"),this.createVertexTemplateEntry("shape\x3dswitch;whiteSpace\x3dwrap;html\x3d1;",60,60,"","Switch",null,null,"switch router"),this.createVertexTemplateEntry("shape\x3ddimension;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;points\x3d[];verticalAlign\x3dbottom;spacingBottom\x3d-5;labelBackgroundColor\x3d#ffffff",100,40,"Label","Horizontal Dimension",
null,null,"horizontal dimension measure"),this.createVertexTemplateEntry("shape\x3ddimension;direction\x3dnorth;whiteSpace\x3dwrap;html\x3d1;align\x3dright;points\x3d[];verticalAlign\x3dmiddle;labelBackgroundColor\x3d#ffffff",40,100,"Label","Vertical Dimension",null,null,"vertical dimension measure"),this.createVertexTemplateEntry("swimlane;whiteSpace\x3dwrap;html\x3d1;",200,200,"Container","Container",null,null,"container swimlane lane pool"),this.addEntry("list",function(){var f=new mxCell("List",
new mxGeometry(0,0,140,110),"swimlane;html\x3d1;fontStyle\x3d0;childLayout\x3dstackLayout;horizontal\x3d1;startSize\x3d26;fillColor\x3dnone;horizontalStack\x3d0;resizeParent\x3d1;resizeLast\x3d0;collapsible\x3d1;marginBottom\x3d0;swimlaneFillColor\x3d#ffffff;");f.vertex=!0;f.insert(a.cloneCell(c,"Item 1"));f.insert(a.cloneCell(c,"Item 2"));f.insert(a.cloneCell(c,"Item 3"));return a.createVertexTemplateFromCells([f],f.geometry.width,f.geometry.height,"List")}),this.addEntry("list item entry value",
function(){return a.createVertexTemplateFromCells([a.cloneCell(c,"List Item")],c.geometry.width,c.geometry.height,"List Item")})]};
Sidebar.prototype.addUmlPalette=function(a){var c=this,f=new mxCell("+ field: type",new mxGeometry(0,0,100,26),"text;html\x3d1;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;");f.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,40,8),"line;html\x3d1;strokeWidth\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dmiddle;spacingTop\x3d-1;spacingLeft\x3d3;spacingRight\x3d3;rotatable\x3d0;labelPosition\x3dright;points\x3d[];portConstraint\x3deastwest;");
d.vertex=!0;var b=[this.createVertexTemplateEntry("html\x3d1;",110,50,"Object","Object",null,null,"uml static class object instance"),this.createVertexTemplateEntry("html\x3d1;",110,50,"\x26laquo;interface\x26raquo;\x3cbr\x3e\x3cb\x3eName\x3c/b\x3e","Interface",null,null,"uml static class interface object instance annotated annotation"),this.addEntry("uml static class object instance",function(){var b=new mxCell("Classname",new mxGeometry(0,0,160,90),"swimlane;html\x3d1;fontStyle\x3d1;align\x3dcenter;verticalAlign\x3dtop;childLayout\x3dstackLayout;horizontal\x3d1;startSize\x3d26;horizontalStack\x3d0;resizeParent\x3d1;resizeLast\x3d0;collapsible\x3d1;marginBottom\x3d0;swimlaneFillColor\x3d#ffffff;");
b.vertex=!0;b.insert(f.clone());b.insert(d.clone());b.insert(c.cloneCell(f,"+ method(type): type"));return c.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Class")}),this.addEntry("uml static class section subsection",function(){var b=new mxCell("Classname",new mxGeometry(0,0,140,110),"swimlane;html\x3d1;fontStyle\x3d0;childLayout\x3dstackLayout;horizontal\x3d1;startSize\x3d26;fillColor\x3dnone;horizontalStack\x3d0;resizeParent\x3d1;resizeLast\x3d0;collapsible\x3d1;marginBottom\x3d0;swimlaneFillColor\x3d#ffffff;");
b.vertex=!0;b.insert(f.clone());b.insert(f.clone());b.insert(f.clone());return c.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Class 2")}),this.addEntry("uml static class item member method function variable field attribute label",function(){return c.createVertexTemplateFromCells([c.cloneCell(f,"+ item: attribute")],f.geometry.width,f.geometry.height,"Item 1")}),this.addEntry("uml static class item member method function variable field attribute label",function(){var b=new mxCell("item: attribute",
new mxGeometry(0,0,120,f.geometry.height),"label;html\x3d1;fontStyle\x3d0;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;overflow\x3dhidden;spacingLeft\x3d28;spacingRight\x3d4;whiteSpace\x3dwrap;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;imageWidth\x3d16;imageHeight\x3d16;image\x3d"+c.gearImage);b.vertex=!0;return c.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Item 2")}),this.addEntry("uml static class divider hline line separator",
function(){return c.createVertexTemplateFromCells([d.clone()],d.geometry.width,d.geometry.height,"Divider")}),this.addEntry("uml static class spacer space gap separator",function(){var b=new mxCell("",new mxGeometry(0,0,20,14),"text;html\x3d1;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dmiddle;spacingTop\x3d-1;spacingLeft\x3d4;spacingRight\x3d4;rotatable\x3d0;labelPosition\x3dright;points\x3d[];portConstraint\x3deastwest;");b.vertex=!0;return c.createVertexTemplateFromCells([b.clone()],
b.geometry.width,b.geometry.height,"Spacer")}),this.createVertexTemplateEntry("text;html\x3d1;align\x3dcenter;fontStyle\x3d1;verticalAlign\x3dmiddle;spacingLeft\x3d3;spacingRight\x3d3;strokeColor\x3dnone;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;",80,26,"Title","Title",null,null,"uml static class title label"),this.addEntry("uml static class component",function(){var b=new mxCell("\x26laquo;Annotation\x26raquo;\x3cbr/\x3e\x3cb\x3eComponent\x3c/b\x3e",new mxGeometry(0,0,
180,90),"html\x3d1;");b.vertex=!0;var a=new mxCell("",new mxGeometry(1,0,20,20),"shape\x3dcomponent;jettyWidth\x3d8;jettyHeight\x3d4;");a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(-27,7);b.insert(a);return c.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Component")}),this.addEntry("uml static class component",function(){var b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:6px;text-align:center;"\x3e\x3cb\x3eComponent\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-left:8px;"\x3e+ Attribute1: Type\x3cbr/\x3e+ Attribute2: Type\x3c/p\x3e',
new mxGeometry(0,0,180,90),"align\x3dleft;overflow\x3dfill;html\x3d1;");b.vertex=!0;var a=new mxCell("",new mxGeometry(1,0,20,20),"shape\x3dcomponent;jettyWidth\x3d8;jettyHeight\x3d4;");a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(-24,4);b.insert(a);return c.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Component with Attributes")}),this.createVertexTemplateEntry("verticalAlign\x3dtop;align\x3dleft;spacingTop\x3d8;spacingLeft\x3d2;spacingRight\x3d12;shape\x3dcube;size\x3d10;direction\x3dsouth;fontStyle\x3d4;html\x3d1;",
180,120,"Block","Block",null,null,"uml static class block"),this.createVertexTemplateEntry("shape\x3dcomponent;align\x3dleft;spacingLeft\x3d36;",120,60,"Module","Module",null,null,"uml static class module"),this.createVertexTemplateEntry("shape\x3dfolder;fontStyle\x3d1;spacingTop\x3d10;tabWidth\x3d40;tabHeight\x3d14;tabPosition\x3dleft;html\x3d1;",70,50,"package","Package",null,null,"uml static class package"),this.createVertexTemplateEntry("verticalAlign\x3dtop;align\x3dleft;overflow\x3dfill;fontSize\x3d12;fontFamily\x3dHelvetica;html\x3d1;",
160,90,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"\x3e\x3cb\x3eObject:Type\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-left:8px;"\x3efield1 \x3d value1\x3cbr/\x3efield2 \x3d value2\x3cbr\x3efield3 \x3d value3\x3c/p\x3e',"Object",null,null,"uml static class object instance"),this.createVertexTemplateEntry("verticalAlign\x3dtop;align\x3dleft;overflow\x3dfill;html\x3d1;",180,90,'\x3cdiv style\x3d"box-sizing:border-box;width:100%;background:#e4e4e4;padding:2px;"\x3eTablename\x3c/div\x3e\x3ctable style\x3d"width:100%;font-size:1em;" cellpadding\x3d"2" cellspacing\x3d"0"\x3e\x3ctr\x3e\x3ctd\x3ePK\x3c/td\x3e\x3ctd\x3euniqueId\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3eFK1\x3c/td\x3e\x3ctd\x3eforeignKey\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e\x3c/td\x3e\x3ctd\x3efieldname\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Entity",null,null,"er entity table"),this.addEntry("uml static class object instance",function(){var b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eClass\x3c/b\x3e\x3c/p\x3e\x3chr size\x3d"1"/\x3e\x3cdiv style\x3d"height:2px;"\x3e\x3c/div\x3e',new mxGeometry(0,0,140,60),"verticalAlign\x3dtop;align\x3dleft;overflow\x3dfill;fontSize\x3d12;fontFamily\x3dHelvetica;html\x3d1;");b.vertex=!0;return c.createVertexTemplateFromCells([b.clone()],b.geometry.width,b.geometry.height,
"Class 3")}),this.addEntry("uml static class object instance",function(){var b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eClass\x3c/b\x3e\x3c/p\x3e\x3chr size\x3d"1"/\x3e\x3cdiv style\x3d"height:2px;"\x3e\x3c/div\x3e\x3chr size\x3d"1"/\x3e\x3cdiv style\x3d"height:2px;"\x3e\x3c/div\x3e',new mxGeometry(0,0,140,60),"verticalAlign\x3dtop;align\x3dleft;overflow\x3dfill;fontSize\x3d12;fontFamily\x3dHelvetica;html\x3d1;");b.vertex=!0;return c.createVertexTemplateFromCells([b.clone()],
b.geometry.width,b.geometry.height,"Class 4")}),this.addEntry("uml static class object instance",function(){var b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eClass\x3c/b\x3e\x3c/p\x3e\x3chr size\x3d"1"/\x3e\x3cp style\x3d"margin:0px;margin-left:4px;"\x3e+ field: Type\x3c/p\x3e\x3chr size\x3d"1"/\x3e\x3cp style\x3d"margin:0px;margin-left:4px;"\x3e+ method(): Type\x3c/p\x3e',new mxGeometry(0,0,160,90),"verticalAlign\x3dtop;align\x3dleft;overflow\x3dfill;fontSize\x3d12;fontFamily\x3dHelvetica;html\x3d1;");
b.vertex=!0;return c.createVertexTemplateFromCells([b.clone()],b.geometry.width,b.geometry.height,"Class 5")}),this.addEntry("uml static class object instance",function(){var b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3e\x26lt;\x26lt;Interface\x26gt;\x26gt;\x3c/i\x3e\x3cbr/\x3e\x3cb\x3eInterface\x3c/b\x3e\x3c/p\x3e\x3chr size\x3d"1"/\x3e\x3cp style\x3d"margin:0px;margin-left:4px;"\x3e+ field1: Type\x3cbr/\x3e+ field2: Type\x3c/p\x3e\x3chr size\x3d"1"/\x3e\x3cp style\x3d"margin:0px;margin-left:4px;"\x3e+ method1(Type): Type\x3cbr/\x3e+ method2(Type, Type): Type\x3c/p\x3e',
new mxGeometry(0,0,190,140),"verticalAlign\x3dtop;align\x3dleft;overflow\x3dfill;fontSize\x3d12;fontFamily\x3dHelvetica;html\x3d1;");b.vertex=!0;return c.createVertexTemplateFromCells([b.clone()],b.geometry.width,b.geometry.height,"Interface 2")}),this.createVertexTemplateEntry("shape\x3dlollipop;direction\x3dsouth;html\x3d1;",30,10,"","Provided Interface",null,null,"uml static class provided interface"),this.createVertexTemplateEntry("shape\x3drequires;direction\x3dnorth;html\x3d1;",30,20,"","Required Interface",
null,null,"uml static class required interface"),this.createVertexTemplateEntry("shape\x3dumlBoundary;whiteSpace\x3dwrap;html\x3d1;",100,80,"Boundary Object","Boundary Object",null,null,"uml boundary object"),this.createVertexTemplateEntry("ellipse;shape\x3dumlEntity;whiteSpace\x3dwrap;html\x3d1;",80,80,"Entity Object","Entity Object",null,null,"uml entity object"),this.createVertexTemplateEntry("ellipse;shape\x3dumlControl;whiteSpace\x3dwrap;html\x3d1;",70,80,"Control Object","Control Object",null,
null,"uml control object"),this.createVertexTemplateEntry("shape\x3dumlActor;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;html\x3d1;",30,60,"Actor","Actor",!1,null,"uml actor"),this.createVertexTemplateEntry("ellipse;whiteSpace\x3dwrap;html\x3d1;",140,70,"Use Case","Use Case",null,null,"uml use case usecase"),this.addEntry("uml activity state start",function(){var b=new mxCell("",new mxGeometry(0,0,30,30),"ellipse;html\x3d1;shape\x3dstartState;fillColor\x3d#000000;strokeColor\x3d#ff0000;");
b.vertex=!0;var a=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;html\x3d1;verticalAlign\x3dbottom;endArrow\x3dopen;endSize\x3d8;strokeColor\x3d#ff0000;");a.geometry.setTerminalPoint(new mxPoint(15,90),!1);a.geometry.relative=!0;a.edge=!0;b.insertEdge(a,!0);return c.createVertexTemplateFromCells([b,a],30,90,"Start")}),this.addEntry("uml activity state",function(){var b=new mxCell("Activity",new mxGeometry(0,0,120,40),"rounded\x3d1;whiteSpace\x3dwrap;html\x3d1;arcSize\x3d40;fillColor\x3d#ffffc0;strokeColor\x3d#ff0000;");
b.vertex=!0;var a=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;html\x3d1;verticalAlign\x3dbottom;endArrow\x3dopen;endSize\x3d8;strokeColor\x3d#ff0000;");a.geometry.setTerminalPoint(new mxPoint(60,100),!1);a.geometry.relative=!0;a.edge=!0;b.insertEdge(a,!0);return c.createVertexTemplateFromCells([b,a],120,100,"Activity")}),this.addEntry("uml activity composite state",function(){var b=new mxCell("Composite State",new mxGeometry(0,0,160,60),"swimlane;html\x3d1;fontStyle\x3d1;align\x3dcenter;verticalAlign\x3dmiddle;childLayout\x3dstackLayout;horizontal\x3d1;startSize\x3d30;horizontalStack\x3d0;resizeParent\x3d0;resizeLast\x3d1;container\x3d0;collapsible\x3d0;rounded\x3d1;arcSize\x3d30;strokeColor\x3d#ff0000;fillColor\x3d#ffffc0;swimlaneFillColor\x3d#ffffc0;");
b.vertex=!0;var a=new mxCell("Subtitle",new mxGeometry(0,0,200,26),"text;html\x3d1;strokeColor\x3dnone;fillColor\x3dnone;align\x3dcenter;verticalAlign\x3dmiddle;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;");a.vertex=!0;b.insert(a);a=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;html\x3d1;verticalAlign\x3dbottom;endArrow\x3dopen;endSize\x3d8;strokeColor\x3d#ff0000;");a.geometry.setTerminalPoint(new mxPoint(80,120),!1);a.geometry.relative=
!0;a.edge=!0;b.insertEdge(a,!0);return c.createVertexTemplateFromCells([b,a],160,120,"Composite State")}),this.addEntry("uml activity condition",function(){var b=new mxCell("Condition",new mxGeometry(0,0,80,40),"rhombus;whiteSpace\x3dwrap;html\x3d1;fillColor\x3d#ffffc0;strokeColor\x3d#ff0000;");b.vertex=!0;var a=new mxCell("no",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;endArrow\x3dopen;endSize\x3d8;strokeColor\x3d#ff0000;");a.geometry.setTerminalPoint(new mxPoint(180,
20),!1);a.geometry.relative=!0;a.geometry.x=-1;a.edge=!0;b.insertEdge(a,!0);var d=new mxCell("yes",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;html\x3d1;align\x3dleft;verticalAlign\x3dtop;endArrow\x3dopen;endSize\x3d8;strokeColor\x3d#ff0000;");d.geometry.setTerminalPoint(new mxPoint(40,100),!1);d.geometry.relative=!0;d.geometry.x=-1;d.edge=!0;b.insertEdge(d,!0);return c.createVertexTemplateFromCells([b,a,d],180,100,"Condition")}),this.addEntry("uml activity fork join",function(){var b=
new mxCell("",new mxGeometry(0,0,200,10),"shape\x3dline;html\x3d1;strokeWidth\x3d6;strokeColor\x3d#ff0000;");b.vertex=!0;var a=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;html\x3d1;verticalAlign\x3dbottom;endArrow\x3dopen;endSize\x3d8;strokeColor\x3d#ff0000;");a.geometry.setTerminalPoint(new mxPoint(100,80),!1);a.geometry.relative=!0;a.edge=!0;b.insertEdge(a,!0);return c.createVertexTemplateFromCells([b,a],200,80,"Fork/Join")}),this.createVertexTemplateEntry("ellipse;html\x3d1;shape\x3dendState;fillColor\x3d#000000;strokeColor\x3d#ff0000;",
30,30,"","End",null,null,"uml activity state end"),this.createVertexTemplateEntry("shape\x3dumlLifeline;perimeter\x3dlifelinePerimeter;whiteSpace\x3dwrap;html\x3d1;container\x3d1;collapsible\x3d0;recursiveResize\x3d0;outlineConnect\x3d0;",100,300,":Object","Lifeline",null,null,"uml sequence participant lifeline"),this.createVertexTemplateEntry("shape\x3dumlLifeline;participant\x3dumlActor;perimeter\x3dlifelinePerimeter;whiteSpace\x3dwrap;html\x3d1;container\x3d1;collapsible\x3d0;recursiveResize\x3d0;verticalAlign\x3dtop;spacingTop\x3d36;labelBackgroundColor\x3d#ffffff;outlineConnect\x3d0;",
20,300,"","Actor Lifeline",null,null,"uml sequence participant lifeline actor"),this.createVertexTemplateEntry("shape\x3dumlLifeline;participant\x3dumlBoundary;perimeter\x3dlifelinePerimeter;whiteSpace\x3dwrap;html\x3d1;container\x3d1;collapsible\x3d0;recursiveResize\x3d0;verticalAlign\x3dtop;spacingTop\x3d36;labelBackgroundColor\x3d#ffffff;outlineConnect\x3d0;",50,300,"","Boundary Lifeline",null,null,"uml sequence participant lifeline boundary"),this.createVertexTemplateEntry("shape\x3dumlLifeline;participant\x3dumlEntity;perimeter\x3dlifelinePerimeter;whiteSpace\x3dwrap;html\x3d1;container\x3d1;collapsible\x3d0;recursiveResize\x3d0;verticalAlign\x3dtop;spacingTop\x3d36;labelBackgroundColor\x3d#ffffff;outlineConnect\x3d0;",
40,300,"","Entity Lifeline",null,null,"uml sequence participant lifeline entity"),this.createVertexTemplateEntry("shape\x3dumlLifeline;participant\x3dumlControl;perimeter\x3dlifelinePerimeter;whiteSpace\x3dwrap;html\x3d1;container\x3d1;collapsible\x3d0;recursiveResize\x3d0;verticalAlign\x3dtop;spacingTop\x3d36;labelBackgroundColor\x3d#ffffff;outlineConnect\x3d0;",40,300,"","Control Lifeline",null,null,"uml sequence participant lifeline control"),this.createVertexTemplateEntry("shape\x3dumlFrame;whiteSpace\x3dwrap;html\x3d1;",
300,200,"frame","Frame",null,null,"uml sequence frame"),this.createVertexTemplateEntry("shape\x3dumlDestroy;whiteSpace\x3dwrap;html\x3d1;strokeWidth\x3d3;",30,30,"","Destruction",null,null,"uml sequence destruction destroy"),this.createVertexTemplateEntry("shape\x3dnote;whiteSpace\x3dwrap;html\x3d1;size\x3d14;verticalAlign\x3dtop;align\x3dleft;spacingTop\x3d-6;",100,70,"Note","Note",null,null,"uml note"),this.addEntry("uml sequence invoke invocation call activation",function(){var b=new mxCell("",
new mxGeometry(0,0,10,80),"html\x3d1;points\x3d[];perimeter\x3dorthogonalPerimeter;");b.vertex=!0;var a=new mxCell("dispatch",new mxGeometry(0,0,0,0),"html\x3d1;verticalAlign\x3dbottom;startArrow\x3doval;endArrow\x3dblock;startSize\x3d8;");a.geometry.setTerminalPoint(new mxPoint(-60,0),!0);a.geometry.relative=!0;a.edge=!0;b.insertEdge(a,!1);return c.createVertexTemplateFromCells([b,a],10,80,"Found Message")}),this.addEntry("uml sequence invoke call delegation synchronous invocation activation",function(){var b=
new mxCell("",new mxGeometry(0,0,10,80),"html\x3d1;points\x3d[];perimeter\x3dorthogonalPerimeter;");b.vertex=!0;var a=new mxCell("dispatch",new mxGeometry(0,0,0,0),"html\x3d1;verticalAlign\x3dbottom;endArrow\x3dblock;entryX\x3d0;entryY\x3d0;");a.geometry.setTerminalPoint(new mxPoint(-70,0),!0);a.geometry.relative=!0;a.edge=!0;b.insertEdge(a,!1);var d=new mxCell("return",new mxGeometry(0,0,0,0),"html\x3d1;verticalAlign\x3dbottom;endArrow\x3dopen;dashed\x3d1;endSize\x3d8;exitX\x3d0;exitY\x3d0.95;");
d.geometry.setTerminalPoint(new mxPoint(-70,76),!1);d.geometry.relative=!0;d.edge=!0;b.insertEdge(d,!0);return c.createVertexTemplateFromCells([b,a,d],10,80,"Synchronous Invocation")}),this.addEntry("uml sequence self call recursion delegation activation",function(){var b=new mxCell("",new mxGeometry(0,20,10,40),"html\x3d1;points\x3d[];perimeter\x3dorthogonalPerimeter;");b.vertex=!0;var a=new mxCell("self call",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;html\x3d1;align\x3dleft;spacingLeft\x3d2;endArrow\x3dblock;rounded\x3d0;entryX\x3d1;entryY\x3d0;");
a.geometry.setTerminalPoint(new mxPoint(5,0),!0);a.geometry.points=[new mxPoint(30,0)];a.geometry.relative=!0;a.edge=!0;b.insertEdge(a,!1);return c.createVertexTemplateFromCells([b,a],10,60,"Self Call")}),this.addEntry("uml sequence invoke call delegation callback activation",function(){var b=new mxCell("",new mxGeometry(0,0,10,60),"html\x3d1;points\x3d[];perimeter\x3dorthogonalPerimeter;");b.vertex=!0;var a=new mxCell("callback",new mxGeometry(0,0,0,0),"html\x3d1;verticalAlign\x3dbottom;endArrow\x3dblock;entryX\x3d1;entryY\x3d0;");
a.geometry.setTerminalPoint(new mxPoint(70,0),!0);a.geometry.relative=!0;a.edge=!0;b.insertEdge(a,!1);var d=new mxCell("return",new mxGeometry(0,0,0,0),"html\x3d1;verticalAlign\x3dbottom;endArrow\x3dopen;dashed\x3d1;endSize\x3d8;exitX\x3d1;exitY\x3d0.95;");d.geometry.setTerminalPoint(new mxPoint(70,57),!1);d.geometry.relative=!0;d.edge=!0;b.insertEdge(d,!0);return c.createVertexTemplateFromCells([b,a,d],10,60,"Callback")}),this.createVertexTemplateEntry("html\x3d1;points\x3d[];perimeter\x3dorthogonalPerimeter;",
10,80,"","Activation",null,null,"uml sequence activation"),this.createEdgeTemplateEntry("html\x3d1;verticalAlign\x3dbottom;startArrow\x3doval;startFill\x3d1;endArrow\x3dblock;startSize\x3d8;",60,0,"dispatch","Found Message 1",null,"uml sequence message call invoke dispatch"),this.createEdgeTemplateEntry("html\x3d1;verticalAlign\x3dbottom;startArrow\x3dcircle;startFill\x3d1;endArrow\x3dopen;startSize\x3d6;endSize\x3d8;",80,0,"dispatch","Found Message 2",null,"uml sequence message call invoke dispatch"),
this.createEdgeTemplateEntry("html\x3d1;verticalAlign\x3dbottom;endArrow\x3dblock;",80,0,"dispatch","Message",null,"uml sequence message call invoke dispatch"),this.addEntry("uml sequence return message",function(){var b=new mxCell("return",new mxGeometry(0,0,0,0),"html\x3d1;verticalAlign\x3dbottom;endArrow\x3dopen;dashed\x3d1;endSize\x3d8;");b.geometry.setTerminalPoint(new mxPoint(80,0),!0);b.geometry.setTerminalPoint(new mxPoint(0,0),!1);b.geometry.relative=!0;b.edge=!0;return c.createEdgeTemplateFromCells([b],
80,0,"Return")}),this.addEntry("uml relation",function(){var b=new mxCell("name",new mxGeometry(0,0,0,0),"endArrow\x3dblock;endFill\x3d1;html\x3d1;edgeStyle\x3dorthogonalEdgeStyle;align\x3dleft;verticalAlign\x3dtop;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.setTerminalPoint(new mxPoint(160,0),!1);b.geometry.relative=!0;b.geometry.x=-1;b.edge=!0;var a=new mxCell("1",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelBackgroundColor\x3d#ffffff;fontSize\x3d10;");
a.geometry.relative=!0;a.setConnectable(!1);a.vertex=!0;b.insert(a);return c.createEdgeTemplateFromCells([b],160,0,"Relation 1")}),this.addEntry("uml association",function(){var b=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dorthogonalEdgeStyle;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.setTerminalPoint(new mxPoint(160,0),!1);b.geometry.relative=!0;b.edge=!0;var a=new mxCell("parent",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelBackgroundColor\x3d#ffffff;fontSize\x3d10;");
a.geometry.relative=!0;a.setConnectable(!1);a.vertex=!0;b.insert(a);a=new mxCell("child",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3d#ffffff;fontSize\x3d10;");a.geometry.relative=!0;a.setConnectable(!1);a.vertex=!0;b.insert(a);return c.createEdgeTemplateFromCells([b],160,0,"Association 1")}),this.addEntry("uml aggregation",function(){var b=new mxCell("1",new mxGeometry(0,0,0,0),"endArrow\x3dopen;html\x3d1;endSize\x3d12;startArrow\x3ddiamondThin;startSize\x3d14;startFill\x3d0;edgeStyle\x3dorthogonalEdgeStyle;align\x3dleft;verticalAlign\x3dbottom;");
b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.setTerminalPoint(new mxPoint(160,0),!1);b.geometry.relative=!0;b.geometry.x=-1;b.geometry.y=3;b.edge=!0;return c.createEdgeTemplateFromCells([b],160,0,"Aggregation")}),this.addEntry("uml composition",function(){var b=new mxCell("1",new mxGeometry(0,0,0,0),"endArrow\x3dopen;html\x3d1;endSize\x3d12;startArrow\x3ddiamondThin;startSize\x3d14;startFill\x3d1;edgeStyle\x3dorthogonalEdgeStyle;align\x3dleft;verticalAlign\x3dbottom;");b.geometry.setTerminalPoint(new mxPoint(0,
0),!0);b.geometry.setTerminalPoint(new mxPoint(160,0),!1);b.geometry.relative=!0;b.geometry.x=-1;b.geometry.y=3;b.edge=!0;return c.createEdgeTemplateFromCells([b],160,0,"Composition")}),this.addEntry("uml relation",function(){var b=new mxCell("Relation",new mxGeometry(0,0,0,0),"endArrow\x3dopen;html\x3d1;endSize\x3d12;startArrow\x3ddiamondThin;startSize\x3d14;startFill\x3d0;edgeStyle\x3dorthogonalEdgeStyle;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.setTerminalPoint(new mxPoint(160,
0),!1);b.geometry.relative=!0;b.edge=!0;var a=new mxCell("0..n",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3d#ffffff;fontSize\x3d10;");a.geometry.relative=!0;a.setConnectable(!1);a.vertex=!0;b.insert(a);a=new mxCell("1",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3d#ffffff;fontSize\x3d10;");a.geometry.relative=!0;a.setConnectable(!1);a.vertex=!0;b.insert(a);return c.createEdgeTemplateFromCells([b],
160,0,"Relation 2")}),this.createEdgeTemplateEntry("endArrow\x3dopen;endSize\x3d12;dashed\x3d1;html\x3d1;",160,0,"Use","Dependency",null,"uml dependency use"),this.createEdgeTemplateEntry("endArrow\x3dblock;endSize\x3d16;endFill\x3d0;html\x3d1;",160,0,"Extends","Generalization",null,"uml generalization extend"),this.createEdgeTemplateEntry("endArrow\x3dblock;startArrow\x3dblock;endFill\x3d1;startFill\x3d1;html\x3d1;",160,0,"","Association 2",null,"uml association"),this.createEdgeTemplateEntry("endArrow\x3dopen;startArrow\x3dcirclePlus;endFill\x3d0;startFill\x3d0;endSize\x3d8;html\x3d1;",
160,0,"","Inner Class",null,"inner class"),this.createEdgeTemplateEntry("endArrow\x3dopen;startArrow\x3dcross;endFill\x3d0;startFill\x3d0;endSize\x3d8;startSize\x3d10;html\x3d1;",160,0,"","Terminate",null,"terminate")];this.addPaletteFunctions("uml",mxResources.get("uml"),a||!1,b)};
Sidebar.prototype.addBpmnPalette=function(a,c){var f=this,d=[this.createVertexTemplateEntry("shape\x3dext;rounded\x3d1;html\x3d1;whiteSpace\x3dwrap;",120,80,"Task","Process",null,null,"bpmn task process"),this.createVertexTemplateEntry("shape\x3dext;rounded\x3d1;html\x3d1;whiteSpace\x3dwrap;double\x3d1;",120,80,"Transaction","Transaction",null,null,"bpmn transaction"),this.createVertexTemplateEntry("shape\x3dext;rounded\x3d1;html\x3d1;whiteSpace\x3dwrap;dashed\x3d1;dashPattern\x3d1 4;",120,80,"Event\nSub-Process",
"Event Sub-Process",null,null,"bpmn event subprocess sub process sub-process"),this.createVertexTemplateEntry("shape\x3dext;rounded\x3d1;html\x3d1;whiteSpace\x3dwrap;strokeWidth\x3d3;",120,80,"Call Activity","Call Activity",null,null,"bpmn call activity"),this.addEntry("bpmn subprocess sub process sub-process",function(){var b=new mxCell("Sub-Process",new mxGeometry(0,0,120,80),"html\x3d1;whiteSpace\x3dwrap;rounded\x3d1;");b.vertex=!0;var a=new mxCell("",new mxGeometry(0.5,1,14,14),"html\x3d1;shape\x3dplus;");
a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(-7,-14);b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Sub-Process")}),this.addEntry(this.getTagsForStencil("mxgraph.bpmn","loop","subprocess sub process sub-process looped").join(" "),function(){var b=new mxCell("Looped\nSub-Process",new mxGeometry(0,0,120,80),"html\x3d1;whiteSpace\x3dwrap;rounded\x3d1");b.vertex=!0;var a=new mxCell("",new mxGeometry(0.5,1,14,14),"html\x3d1;shape\x3dmxgraph.bpmn.loop;");
a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(-15,-14);b.insert(a);a=new mxCell("",new mxGeometry(0.5,1,14,14),"html\x3d1;shape\x3dplus;");a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(1,-14);b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Looped Sub-Process")}),this.addEntry("bpmn receive task",function(){var b=new mxCell("Receive",new mxGeometry(0,0,120,80),"html\x3d1;whiteSpace\x3dwrap;rounded\x3d1;");b.vertex=!0;
var a=new mxCell("",new mxGeometry(0,0,20,14),"html\x3d1;shape\x3dmessage;");a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(7,7);b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Receive Task")}),this.addEntry(this.getTagsForStencil("mxgraph.bpmn","user_task").join(" "),function(){var b=new mxCell("User",new mxGeometry(0,0,120,80),"html\x3d1;whiteSpace\x3dwrap;rounded\x3d1;");b.vertex=!0;var a=new mxCell("",new mxGeometry(0,0,14,14),"html\x3d1;shape\x3dmxgraph.bpmn.user_task;");
a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(7,7);b.insert(a);a=new mxCell("",new mxGeometry(0.5,1,14,14),"html\x3d1;shape\x3dplus;");a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(-7,-14);b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"User Task")}),this.addEntry(this.getTagsForStencil("mxgraph.bpmn","timer_start","attached").join(" "),function(){var b=new mxCell("Process",new mxGeometry(0,0,120,80),"html\x3d1;whiteSpace\x3dwrap;rounded\x3d1;");
b.vertex=!0;var a=new mxCell("",new mxGeometry(1,1,30,30),"shape\x3dmxgraph.bpmn.timer_start;perimeter\x3dellipsePerimeter;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;");a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(-40,-15);b.insert(a);return f.createVertexTemplateFromCells([b],120,95,"Attached Timer Event 1")}),this.addEntry(this.getTagsForStencil("mxgraph.bpmn","timer_start","attached").join(" "),function(){var b=new mxCell("Process",
new mxGeometry(0,0,120,80),"html\x3d1;whiteSpace\x3dwrap;rounded\x3d1;");b.vertex=!0;var a=new mxCell("",new mxGeometry(1,0,30,30),"shape\x3dmxgraph.bpmn.timer_start;perimeter\x3dellipsePerimeter;html\x3d1;labelPosition\x3dright;labelBackgroundColor\x3d#ffffff;align\x3dleft;");a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(-15,10);b.insert(a);return f.createVertexTemplateFromCells([b],135,80,"Attached Timer Event 2")}),this.createVertexTemplateEntry("swimlane;html\x3d1;horizontal\x3d0;startSize\x3d20;",
320,240,"Pool","Pool",null,null,"bpmn pool"),this.createVertexTemplateEntry("swimlane;html\x3d1;horizontal\x3d0;swimlaneFillColor\x3dwhite;swimlaneLine\x3d0;",300,120,"Lane","Lane",null,null,"bpmn lane"),this.createVertexTemplateEntry("shape\x3dhexagon;html\x3d1;whiteSpace\x3dwrap;perimeter\x3dhexagonPerimeter;",60,50,"","Conversation",null,null,"bpmn conversation"),this.createVertexTemplateEntry("shape\x3dhexagon;html\x3d1;whiteSpace\x3dwrap;perimeter\x3dhexagonPerimeter;strokeWidth\x3d4",60,50,
"","Call Conversation",null,null,"bpmn call conversation"),this.addEntry("bpmn subconversation sub conversation sub-conversation",function(){var b=new mxCell("",new mxGeometry(0,0,60,50),"shape\x3dhexagon;whiteSpace\x3dwrap;html\x3d1;perimeter\x3dhexagonPerimeter;");b.vertex=!0;var a=new mxCell("",new mxGeometry(0.5,1,14,14),"html\x3d1;shape\x3dplus;");a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(-7,-14);b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,
"Sub-Conversation")}),this.addEntry("bpmn data object",function(){var b=new mxCell("",new mxGeometry(0,0,40,60),"shape\x3dnote;whiteSpace\x3dwrap;size\x3d16;html\x3d1;");b.vertex=!0;var a=new mxCell("",new mxGeometry(0,0,14,14),"html\x3d1;shape\x3dsingleArrow;arrowWidth\x3d0.4;arrowSize\x3d0.4;");a.vertex=!0;a.geometry.relative=!0;a.geometry.offset=new mxPoint(2,2);b.insert(a);a=new mxCell("",new mxGeometry(0.5,1,14,14),"html\x3d1;whiteSpace\x3dwrap;shape\x3dparallelMarker;");a.vertex=!0;a.geometry.relative=
!0;a.geometry.offset=new mxPoint(-7,-14);b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Data Object")}),this.createVertexTemplateEntry("shape\x3ddatastore;whiteSpace\x3dwrap;html\x3d1;",60,60,"","Data Store",null,null,"bpmn data store"),this.createVertexTemplateEntry("shape\x3dplus;html\x3d1;",14,14,"","Sub-Process Marker",null,null,"bpmn subprocess sub process sub-process marker"),this.createVertexTemplateEntry("shape\x3dmxgraph.bpmn.loop;html\x3d1;",14,
14,"","Loop Marker",null,null,"bpmn loop marker"),this.createVertexTemplateEntry("shape\x3dparallelMarker;html\x3d1;",14,14,"","Parallel MI Marker",null,null,"bpmn parallel mi marker"),this.createVertexTemplateEntry("shape\x3dparallelMarker;direction\x3dsouth;html\x3d1;",14,14,"","Sequential MI Marker",null,null,"bpmn sequential mi marker"),this.createVertexTemplateEntry("shape\x3dmxgraph.bpmn.ad_hoc;fillColor\x3d#000000;html\x3d1;",14,14,"","Ad Hoc Marker",null,null,"bpmn ad hoc marker"),this.createVertexTemplateEntry("shape\x3dmxgraph.bpmn.compensation;html\x3d1;",
14,14,"","Compensation Marker",null,null,"bpmn compensation marker"),this.createVertexTemplateEntry("shape\x3dmessage;whiteSpace\x3dwrap;html\x3d1;fillColor\x3d#000000;strokeColor\x3d#ffffff;strokeWidth\x3d2;",40,30,"","Send Task",null,null,"bpmn send task"),this.createVertexTemplateEntry("shape\x3dmessage;whiteSpace\x3dwrap;html\x3d1;",40,30,"","Receive Task",null,null,"bpmn receive task"),this.createVertexTemplateEntry("shape\x3dmxgraph.bpmn.user_task;html\x3d1;",14,14,"","User Task",null,null,
this.getTagsForStencil("mxgraph.bpmn","user_task").join(" ")),this.createVertexTemplateEntry("shape\x3dmxgraph.bpmn.manual_task;html\x3d1;",14,14,"","Manual Task",null,null,this.getTagsForStencil("mxgraph.bpmn","user_task").join(" ")),this.createVertexTemplateEntry("shape\x3dmxgraph.bpmn.business_rule_task;html\x3d1;",14,14,"","Business Rule Task",null,null,this.getTagsForStencil("mxgraph.bpmn","business_rule_task").join(" ")),this.createVertexTemplateEntry("shape\x3dmxgraph.bpmn.service_task;html\x3d1;",
14,14,"","Service Task",null,null,this.getTagsForStencil("mxgraph.bpmn","service_task").join(" ")),this.createVertexTemplateEntry("shape\x3dmxgraph.bpmn.script_task;html\x3d1;",14,14,"","Script Task",null,null,this.getTagsForStencil("mxgraph.bpmn","script_task").join(" ")),this.createEdgeTemplateEntry("endArrow\x3dblock;endFill\x3d1;endSize\x3d6;html\x3d1;",100,0,"","Sequence Flow",null,"bpmn sequence flow"),this.createEdgeTemplateEntry("startArrow\x3ddash;startSize\x3d8;endArrow\x3dblock;endFill\x3d1;endSize\x3d6;html\x3d1;",
100,0,"","Default Flow",null,"bpmn default flow"),this.createEdgeTemplateEntry("startArrow\x3ddiamondThin;startFill\x3d0;startSize\x3d14;endArrow\x3dblock;endFill\x3d1;endSize\x3d6;html\x3d1;",100,0,"","Conditional Flow",null,"bpmn conditional flow"),this.createEdgeTemplateEntry("startArrow\x3doval;startFill\x3d0;startSize\x3d7;endArrow\x3dblock;endFill\x3d0;endSize\x3d10;dashed\x3d1;html\x3d1;",100,0,"","Message Flow 1",null,"bpmn message flow"),this.addEntry("bpmn message flow",function(){var b=
new mxCell("",new mxGeometry(0,0,0,0),"startArrow\x3doval;startFill\x3d0;startSize\x3d7;endArrow\x3dblock;endFill\x3d0;endSize\x3d10;dashed\x3d1;html\x3d1;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.setTerminalPoint(new mxPoint(100,0),!1);b.geometry.relative=!0;b.edge=!0;var a=new mxCell("",new mxGeometry(0,0,20,14),"shape\x3dmessage;html\x3d1;");a.geometry.relative=!0;a.setConnectable(!1);a.vertex=!0;a.geometry.offset=new mxPoint(-10,-7);b.insert(a);return f.createEdgeTemplateFromCells([b],
100,0,"Message Flow 2")}),this.createEdgeTemplateEntry("shape\x3dlink;html\x3d1;",100,0,"","Link",null,"bpmn link")];this.addPaletteFunctions("bpmn","BPMN "+mxResources.get("general"),!1,d)};Sidebar.prototype.createTitle=function(a){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");c.setAttribute("title",mxResources.get("sidebarTooltip"));c.className="geTitle";mxUtils.write(c,a);return c};
Sidebar.prototype.createThumb=function(a,c,f,d,b,e,g,k,l){this.graph.labelsVisible=null==e||e;e=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph.view.scaleAndTranslate(1,0,0);this.graph.addCells(a);a=this.graph.getGraphBounds();k=Math.floor(100*Math.min((c-2*this.thumbBorder)/a.width,(f-2*this.thumbBorder)/a.height))/100;this.graph.view.scaleAndTranslate(k,Math.floor((c-a.width*k)/2/k-a.x),Math.floor((f-a.height*k)/2/k-a.y));k=null;this.graph.dialect==mxConstants.DIALECT_SVG&&
!mxClient.NO_FO?k=this.graph.view.getCanvas().ownerSVGElement.cloneNode(!0):(k=this.graph.container.cloneNode(!1),k.innerHTML=this.graph.container.innerHTML);this.graph.getModel().clear();mxClient.NO_FO=e;mxClient.IS_IE6&&(d.style.backgroundImage="url("+this.editorUi.editor.transparentImage+")");k.style.position="relative";k.style.overflow="hidden";k.style.cursor="move";k.style.left=this.thumbBorder+"px";k.style.top=this.thumbBorder+"px";k.style.width=c+"px";k.style.height=f+"px";k.style.visibility=
"";k.style.minWidth="";k.style.minHeight="";d.appendChild(k);this.sidebarTitles&&null!=b&&!1!=g&&(d.style.height=this.thumbHeight+(mxClient.IS_QUIRKS?2*this.thumbPadding+2:0)+this.sidebarTitleSize+8+"px",c=document.createElement("div"),c.style.fontSize=this.sidebarTitleSize+"px",c.style.color="#303030",c.style.textAlign="center",c.style.whiteSpace="nowrap",mxClient.IS_IE&&(c.style.height=this.sidebarTitleSize+12+"px"),c.style.paddingTop="4px",mxUtils.write(c,b),d.appendChild(c));return a};
Sidebar.prototype.createItem=function(a,c,f,d,b,e,g){var k=document.createElement("a");k.setAttribute("href","javascript:void(0);");k.className="geItem";k.style.overflow="hidden";var l=mxClient.IS_QUIRKS?8+2*this.thumbPadding:2*this.thumbBorder;k.style.width=this.thumbWidth+l+"px";k.style.height=this.thumbHeight+l+"px";k.style.padding=this.thumbPadding+"px";mxEvent.addListener(k,"click",function(b){mxEvent.consume(b)});this.createThumb(a,this.thumbWidth,this.thumbHeight,k,c,f,d,b,e);var n=new mxRectangle(0,
0,b,e);1<a.length||a[0].vertex?(d=this.createDragSource(k,this.createDropHandler(a,!0,g,n),this.createDragPreview(b,e),a,n),this.addClickHandler(k,d,a),d.isGuidesEnabled=mxUtils.bind(this,function(){return this.editorUi.editor.graph.graphHandler.guidesEnabled})):null!=a[0]&&a[0].edge&&(d=this.createDragSource(k,this.createDropHandler(a,!1,g,n),this.createDragPreview(b,e),a,n),this.addClickHandler(k,d,a));mxClient.IS_IOS||mxEvent.addGestureListeners(k,null,mxUtils.bind(this,function(b){mxEvent.isMouseEvent(b)&&
this.showTooltip(k,a,n.width,n.height,c,f)}));return k};
Sidebar.prototype.updateShapes=function(a,c){var f=this.editorUi.editor.graph,d=f.getCellStyle(a),b=[];f.model.beginUpdate();try{for(var e=f.getModel().getStyle(a),g="shadow dashed dashPattern fontFamily fontSize fontColor align startFill startSize endFill endSize strokeColor strokeWidth fillColor gradientColor html part noEdgeStyle edgeStyle elbow childLayout".split(" "),k=0;k<c.length;k++){var l=c[k];if(f.getModel().isVertex(l)==f.getModel().isVertex(a)||f.getModel().isEdge(l)==f.getModel().isEdge(a)){var n=
f.view.getState(l),m=null!=n?n.style:f.getCellStyle(c[k]);f.getModel().setStyle(l,e);if(null!=n&&"1"==mxUtils.getValue(n.style,"composite","0"))for(var p=f.model.getChildCount(l);0<=p;p--)f.model.remove(f.model.getChildAt(l,p));if(null!=m){"umlLifeline"==m[mxConstants.STYLE_SHAPE]&&"umlLifeline"!=d[mxConstants.STYLE_SHAPE]&&(f.setCellStyles(mxConstants.STYLE_SHAPE,"umlLifeline",[l]),f.setCellStyles("participant",d[mxConstants.STYLE_SHAPE],[l]));for(p=0;p<g.length;p++){var r=m[g[p]];null!=r&&f.setCellStyles(g[p],
r,[l])}}b.push(l)}}}finally{f.model.endUpdate()}return b};
Sidebar.prototype.createDropHandler=function(a,c,f,d){f=null!=f?f:!0;return mxUtils.bind(this,function(b,e,g,k,l){if(b.isEnabled()){a=b.getImportableCells(a);if(0<a.length){b.stopEditing();var n=null!=g?b.isValidDropTarget(g,a,e):!1,m=null;null!=g&&!n&&(g=null);if(!b.isCellLocked(g||b.getDefaultParent())){b.model.beginUpdate();try{k=Math.round(k);l=Math.round(l);if(c&&b.isSplitTarget(g,a,e)){var p=b.cloneCells(a);b.splitEdge(g,p,null,k-d.width/2,l-d.height/2);m=p}else 0<a.length&&(m=b.importCells(a,
k,l,g));if(null!=b.layoutManager){var r=b.layoutManager.getLayout(g);if(null!=r){var s=b.view.scale,q=b.view.translate,u=(k+q.x)*s,t=(l+q.y)*s;for(g=0;g<m.length;g++)r.moveCell(m[g],u,t)}}f&&b.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{b.model.endUpdate()}null!=m&&0<m.length&&(b.scrollCellToVisible(m[0]),b.setSelectionCells(m))}}mxEvent.consume(e)}})};
Sidebar.prototype.createDragPreview=function(a,c){var f=document.createElement("div");f.style.border="1px dashed black";f.style.width=a+"px";f.style.height=c+"px";return f};
Sidebar.prototype.dropAndConnect=function(a,c,f,d){var b=this.getDropAndConnectGeometry(a,c[d],f,c);if(null!=b){var e=this.editorUi.editor.graph,g=[];e.model.beginUpdate();try{var k=e.getCellGeometry(a),l=e.getCellGeometry(c[d]),n=e.model.getParent(a),m=!0;if(null!=e.layoutManager){var p=e.layoutManager.getLayout(n);if(null!=p&&p.constructor==mxStackLayout&&(m=!1,g=e.view.getState(n),null!=g)){var r=new mxPoint(g.x/e.view.scale-e.view.translate.x,g.y/e.view.scale-e.view.translate.y);b.x+=r.x;b.y+=
r.y;var s=b.getTerminalPoint(!1);null!=s&&(s.x+=r.x,s.y+=r.y)}}var q=l.x,u=l.y;e.model.isEdge(c[d])&&(u=q=0);var t=e.model.isEdge(a)||null!=k&&!k.relative&&m,g=c=e.importCells(c,b.x-(t?q:0),b.y-(t?u:0),t?n:null);if(e.model.isEdge(a))e.model.setTerminal(a,c[d],f==mxConstants.DIRECTION_NORTH);else if(e.model.isEdge(c[d])){e.model.setTerminal(c[d],a,!0);var v=e.getCellGeometry(c[d]);v.points=null;if(null!=v.getTerminalPoint(!1))v.setTerminalPoint(b.getTerminalPoint(!1),!1);else if(t&&e.model.isVertex(n)){var z=
e.view.getState(n),r=new mxPoint(z.x/e.view.scale-e.view.translate.x,z.y/e.view.scale-e.view.translate.y);e.cellsMoved(c,r.x,r.y,null,null,!0)}}else l=e.getCellGeometry(c[d]),q=b.x-Math.round(l.x),u=b.y-Math.round(l.y),b.x=Math.round(l.x),b.y=Math.round(l.y),e.model.setGeometry(c[d],b),e.cellsMoved(c,q,u,null,null,!0),g=c.slice(),c.push(e.insertEdge(null,null,"",a,c[d],e.createCurrentEdgeStyle()));e.fireEvent(new mxEventObject("cellsInserted","cells",c))}finally{e.model.endUpdate()}e.setSelectionCells(g)}};
Sidebar.prototype.getDropAndConnectGeometry=function(a,c,f,d){var b=this.editorUi.editor.graph,e=b.view,g=1<d.length,k=b.getCellGeometry(a);d=b.getCellGeometry(c);null!=k&&null!=d&&(d=d.clone(),b.model.isEdge(a)?(a=b.view.getState(a),k=a.absolutePoints,c=k[0],b=k[k.length-1],f==mxConstants.DIRECTION_NORTH?(d.x=c.x/e.scale-e.translate.x-d.width/2,d.y=c.y/e.scale-e.translate.y-d.height/2):(d.x=b.x/e.scale-e.translate.x-d.width/2,d.y=b.y/e.scale-e.translate.y-d.height/2)):(k.relative&&(a=b.view.getState(a),
k=k.clone(),k.x=(a.x-e.translate.x)/e.scale,k.y=(a.y-e.translate.y)/e.scale),e=b.defaultEdgeLength,b.model.isEdge(c)&&null!=d.getTerminalPoint(!0)&&null!=d.getTerminalPoint(!1)?(c=d.getTerminalPoint(!0),b=d.getTerminalPoint(!1),e=b.x-c.x,c=b.y-c.y,e=Math.sqrt(e*e+c*c),d.x=k.getCenterX(),d.y=k.getCenterY(),d.width=1,d.height=1,f==mxConstants.DIRECTION_NORTH?(d.height=e,d.y=k.y-e,d.setTerminalPoint(new mxPoint(d.x,d.y),!1)):f==mxConstants.DIRECTION_EAST?(d.width=e,d.x=k.x+k.width,d.setTerminalPoint(new mxPoint(d.x+
d.width,d.y),!1)):f==mxConstants.DIRECTION_SOUTH?(d.height=e,d.y=k.y+k.height,d.setTerminalPoint(new mxPoint(d.x,d.y+d.height),!1)):f==mxConstants.DIRECTION_WEST&&(d.width=e,d.x=k.x-e,d.setTerminalPoint(new mxPoint(d.x,d.y),!1))):(!g&&45<d.width&&(45<d.height&&45<k.width&&45<k.height)&&(d.width*=k.height/d.height,d.height=k.height),d.x=k.x+k.width/2-d.width/2,d.y=k.y+k.height/2-d.height/2,f==mxConstants.DIRECTION_NORTH?d.y=d.y-k.height/2-d.height/2-e:f==mxConstants.DIRECTION_EAST?d.x=d.x+k.width/
2+d.width/2+e:f==mxConstants.DIRECTION_SOUTH?d.y=d.y+k.height/2+d.height/2+e:f==mxConstants.DIRECTION_WEST&&(d.x=d.x-k.width/2-d.width/2-e),b.model.isEdge(c)&&null!=d.getTerminalPoint(!0)&&null!=c.getTerminal(!1)&&(k=b.getCellGeometry(c.getTerminal(!1)),null!=k&&(f==mxConstants.DIRECTION_NORTH?(d.x-=k.getCenterX(),d.y-=k.getCenterY()+k.height/2):f==mxConstants.DIRECTION_EAST?(d.x-=k.getCenterX()-k.width/2,d.y-=k.getCenterY()):f==mxConstants.DIRECTION_SOUTH?(d.x-=k.getCenterX(),d.y-=k.getCenterY()-
k.height/2):f==mxConstants.DIRECTION_WEST&&(d.x-=k.getCenterX()+k.width/2,d.y-=k.getCenterY()))))));return d};
Sidebar.prototype.createDragSource=function(a,c,f,d,b){function e(b,a){var d=null;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(d=document.createElement(mxClient.VML_PREFIX+":image"),d.setAttribute("src",b.src),d.style.borderStyle="none"):(d=document.createElement("div"),d.style.backgroundImage="url("+b.src+")",d.style.backgroundPosition="center",d.style.backgroundRepeat="no-repeat"),d.style.width=b.width+4+"px",d.style.height=b.height+4+"px",d.style.display=
mxClient.IS_QUIRKS?"inline":"inline-block"):(d=mxUtils.createImage(b.src),d.style.width=b.width+"px",d.style.height=b.height+"px");null!=a&&d.setAttribute("title",a);mxUtils.setOpacity(d,b==this.refreshTarget?30:20);d.style.position="absolute";d.style.cursor="crosshair";return d}function g(b,a,d,c){null!=c.parentNode&&(mxUtils.contains(d,b,a)?(mxUtils.setOpacity(c,100),I=c):mxUtils.setOpacity(c,c==B?30:20));return d}for(var k=this.editorUi,l=k.editor.graph,n=null,m=null,p=this,r=0;r<d.length&&!(null==
m&&this.editorUi.editor.graph.model.isVertex(d[r])?m=r:null==n&&this.editorUi.editor.graph.model.isEdge(d[r])&&null==this.editorUi.editor.graph.model.getTerminal(d[r],!0)&&(n=r),null!=m&&null!=n);r++);var s=mxUtils.makeDraggable(a,this.editorUi.editor.graph,mxUtils.bind(this,function(b,a,e,f,g){null!=this.updateThread&&window.clearTimeout(this.updateThread);if(null!=d&&null!=v&&I==B){var k=b.isCellSelected(v.cell)?b.getSelectionCells():[v.cell],k=this.updateShapes(b.model.isEdge(v.cell)?d[0]:d[m],
k);b.setSelectionCells(k)}else null!=d&&null!=I&&null!=u&&I!=B?(k=b.model.isEdge(u.cell)||null==n?m:n,this.dropAndConnect(u.cell,d,H,k)):c.apply(this,arguments);null!=this.editorUi.hoverIcons&&this.editorUi.hoverIcons.update(b.view.getState(b.getSelectionCell()))}),f,0,0,this.editorUi.editor.graph.autoscroll,!0,!0);this.editorUi.editor.graph.addListener(mxEvent.ESCAPE,function(b,a){s.isActive()&&s.reset()});var q=s.mouseDown;s.mouseDown=function(b){!mxEvent.isPopupTrigger(b)&&!mxEvent.isMultiTouchEvent(b)&&
(l.stopEditing(),q.apply(this,arguments))};var u=null,t=null,v=null,z=!1,y=e(this.triangleUp,mxResources.get("connect")),x=e(this.triangleRight,mxResources.get("connect")),D=e(this.triangleDown,mxResources.get("connect")),A=e(this.triangleLeft,mxResources.get("connect")),B=e(this.refreshTarget,mxResources.get("replace")),E=null,G=e(this.roundDrop),F=e(this.roundDrop),H=mxConstants.DIRECTION_NORTH,I=null,L=s.createPreviewElement;s.createPreviewElement=function(b){var a=L.apply(this,arguments);mxClient.IS_SVG&&
(a.style.pointerEvents="none");this.previewElementWidth=a.style.width;this.previewElementHeight=a.style.height;return a};var O=s.dragEnter;s.dragEnter=function(b,a){null!=k.hoverIcons&&k.hoverIcons.setDisplay("none");O.apply(this,arguments)};var T=s.dragExit;s.dragExit=function(b,a){null!=k.hoverIcons&&k.hoverIcons.setDisplay("");T.apply(this,arguments)};s.dragOver=function(a,c){mxDragSource.prototype.dragOver.apply(this,arguments);null!=this.currentGuide&&null!=I&&this.currentGuide.hide();if(null!=
this.previewElement){var e=a.view;if(null!=v&&I==B)this.previewElement.style.display=a.model.isEdge(v.cell)?"none":"",this.previewElement.style.left=v.x+"px",this.previewElement.style.top=v.y+"px",this.previewElement.style.width=v.width+"px",this.previewElement.style.height=v.height+"px";else if(null!=u&&null!=I){var f=a.model.isEdge(u.cell)||null==n?m:n,g=p.getDropAndConnectGeometry(u.cell,d[f],H,d),k=!a.model.isEdge(u.cell)?a.getCellGeometry(u.cell):null,l=a.getCellGeometry(d[f]),t=a.model.getParent(u.cell),
q=e.translate.x*e.scale,z=e.translate.y*e.scale;null!=k&&!k.relative&&a.model.isVertex(t)&&(z=e.getState(t),q=z.x,z=z.y);k=l.x;l=l.y;a.model.isEdge(d[f])&&(l=k=0);this.previewElement.style.left=(g.x-k)*e.scale+q+"px";this.previewElement.style.top=(g.y-l)*e.scale+z+"px";1==d.length&&(this.previewElement.style.width=g.width*e.scale+"px",this.previewElement.style.height=g.height*e.scale+"px");this.previewElement.style.display=""}else null!=s.currentHighlight.state&&a.model.isEdge(s.currentHighlight.state.cell)?
(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-b.width*e.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-b.height*e.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var X=(new Date).getTime(),R=0,C=null,N=this.editorUi.editor.graph.getCellStyle(d[0]);s.getDropTarget=mxUtils.bind(this,function(b,
a,c,e){var f=!mxEvent.isAltDown(e)&&null!=d?b.getCellAt(a,c):null;if(null!=f&&!this.graph.isCellConnectable(f)){var k=this.graph.getModel().getParent(f);this.graph.getModel().isVertex(k)&&this.graph.isCellConnectable(k)&&(f=k)}b.isCellLocked(f)&&(f=null);var l=b.view.getState(f),k=I=null;C!=l?(C=l,X=(new Date).getTime(),R=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=l&&(this.updateThread=window.setTimeout(function(){null==I&&(C=l,s.getDropTarget(b,a,c,e))},this.dropTargetDelay+
10))):R=(new Date).getTime()-X;if(2500>R&&null!=l&&!mxEvent.isShiftDown(e)&&(mxUtils.getValue(l.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(N,mxConstants.STYLE_SHAPE)&&mxUtils.getValue(l.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||"image"==mxUtils.getValue(N,mxConstants.STYLE_SHAPE)||1500<R||b.model.isEdge(l.cell))&&R>this.dropTargetDelay&&(b.model.isVertex(l.cell)&&null!=m||b.model.isEdge(l.cell)&&b.model.isEdge(d[0]))){v=l;var n=b.model.isEdge(l.cell)?b.view.getPoint(l):
new mxPoint(l.getCenterX(),l.getCenterY()),n=new mxRectangle(n.x-this.refreshTarget.width/2,n.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);B.style.left=Math.floor(n.x)+"px";B.style.top=Math.floor(n.y)+"px";null==E&&(b.container.appendChild(B),E=B.parentNode);g(a,c,n,B)}else null==v||!mxUtils.contains(v,a,c)||1500<R&&!mxEvent.isShiftDown(e)?(v=null,null!=E&&(B.parentNode.removeChild(B),E=null)):null!=v&&null!=E&&(n=b.model.isEdge(v.cell)?b.view.getPoint(v):new mxPoint(v.getCenterX(),
v.getCenterY()),n=new mxRectangle(n.x-this.refreshTarget.width/2,n.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height),g(a,c,n,B));if(z&&null!=u&&!mxEvent.isAltDown(e)&&null==I){k=mxRectangle.fromRectangle(u);if(b.model.isEdge(u.cell)){var q=u.absolutePoints;null!=G.parentNode&&(n=q[0],k.add(g(a,c,new mxRectangle(n.x-this.roundDrop.width/2,n.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),G)));null!=F.parentNode&&(q=q[q.length-1],k.add(g(a,c,new mxRectangle(q.x-
this.roundDrop.width/2,q.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),F)))}else n=mxRectangle.fromRectangle(u),null!=u.shape&&null!=u.shape.boundingBox&&(n=mxRectangle.fromRectangle(u.shape.boundingBox)),n.grow(this.graph.tolerance),n.grow(HoverIcons.prototype.arrowSpacing),q=this.graph.selectionCellsHandler.getHandler(u.cell),null!=q&&(n.x-=q.horizontalOffset/2,n.y-=q.verticalOffset/2,n.width+=q.horizontalOffset,n.height+=q.verticalOffset,null!=q.rotationShape&&null!=q.rotationShape.node&&
("hidden"!=q.rotationShape.node.style.visibility&&"none"!=q.rotationShape.node.style.display&&null!=q.rotationShape.boundingBox)&&n.add(q.rotationShape.boundingBox)),k.add(g(a,c,new mxRectangle(u.getCenterX()-this.triangleUp.width/2,n.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height),y)),k.add(g(a,c,new mxRectangle(n.x+n.width,u.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,this.triangleRight.height),x)),k.add(g(a,c,new mxRectangle(u.getCenterX()-this.triangleDown.width/
2,n.y+n.height,this.triangleDown.width,this.triangleDown.height),D)),k.add(g(a,c,new mxRectangle(n.x-this.triangleLeft.width,u.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),A));null!=k&&k.grow(10)}H=mxConstants.DIRECTION_NORTH;I==x?H=mxConstants.DIRECTION_EAST:I==D||I==F?H=mxConstants.DIRECTION_SOUTH:I==A&&(H=mxConstants.DIRECTION_WEST);null!=v&&I==B&&(l=v);n=(null==m||b.isCellConnectable(d[m]))&&(b.model.isEdge(f)&&null!=m||b.model.isVertex(f)&&b.isCellConnectable(f));
if(null!=u&&5E3<=R||u!=l&&(null==k||!mxUtils.contains(k,a,c)||500<R&&null==I&&n))if(z=!1,u=5E3>R&&R>this.dropTargetDelay||b.model.isEdge(f)?l:null,null!=u&&n){k=[G,F,y,x,D,A];for(n=0;n<k.length;n++)null!=k[n].parentNode&&k[n].parentNode.removeChild(k[n]);b.model.isEdge(f)?(q=l.absolutePoints,null!=q&&(n=q[0],q=q[q.length-1],k=b.tolerance,new mxRectangle(a-k,c-k,2*k,2*k),G.style.left=Math.floor(n.x-this.roundDrop.width/2)+"px",G.style.top=Math.floor(n.y-this.roundDrop.height/2)+"px",F.style.left=Math.floor(q.x-
this.roundDrop.width/2)+"px",F.style.top=Math.floor(q.y-this.roundDrop.height/2)+"px",null==b.model.getTerminal(f,!0)&&b.container.appendChild(G),null==b.model.getTerminal(f,!1)&&b.container.appendChild(F))):(n=mxRectangle.fromRectangle(l),null!=l.shape&&null!=l.shape.boundingBox&&(n=mxRectangle.fromRectangle(l.shape.boundingBox)),n.grow(this.graph.tolerance),n.grow(HoverIcons.prototype.arrowSpacing),q=this.graph.selectionCellsHandler.getHandler(l.cell),null!=q&&(n.x-=q.horizontalOffset/2,n.y-=q.verticalOffset/
2,n.width+=q.horizontalOffset,n.height+=q.verticalOffset,null!=q.rotationShape&&null!=q.rotationShape.node&&("hidden"!=q.rotationShape.node.style.visibility&&"none"!=q.rotationShape.node.style.display&&null!=q.rotationShape.boundingBox)&&n.add(q.rotationShape.boundingBox)),y.style.left=Math.floor(l.getCenterX()-this.triangleUp.width/2)+"px",y.style.top=Math.floor(n.y-this.triangleUp.height)+"px",x.style.left=Math.floor(n.x+n.width)+"px",x.style.top=Math.floor(l.getCenterY()-this.triangleRight.height/
2)+"px",D.style.left=y.style.left,D.style.top=Math.floor(n.y+n.height)+"px",A.style.left=Math.floor(n.x-this.triangleLeft.width)+"px",A.style.top=x.style.top,"eastwest"!=l.style.portConstraint&&(b.container.appendChild(y),b.container.appendChild(D)),b.container.appendChild(x),b.container.appendChild(A));null!=l&&(t=b.selectionCellsHandler.getHandler(l.cell),null!=t&&null!=t.setHandlesVisible&&t.setHandlesVisible(!1));z=!0}else{k=[G,F,y,x,D,A];for(n=0;n<k.length;n++)null!=k[n].parentNode&&k[n].parentNode.removeChild(k[n])}!z&&
null!=t&&t.setHandlesVisible(!0);f=(!mxEvent.isAltDown(e)||mxEvent.isShiftDown(e))&&!(null!=v&&I==B)?mxDragSource.prototype.getDropTarget.apply(this,arguments):null;k=b.getModel();if(null!=f&&(null!=I||!b.isSplitTarget(f,d,e))){for(;null!=f&&!b.isValidDropTarget(f,d,e)&&k.isVertex(k.getParent(f));)f=k.getParent(f);if(b.view.currentRoot==f||!b.isValidRoot(f)&&0==b.getModel().getChildCount(f)||b.isCellLocked(f)||k.isEdge(f))f=null}return f});s.stopDrag=function(){mxDragSource.prototype.stopDrag.apply(this,
arguments);for(var b=[G,F,B,y,x,D,A],a=0;a<b.length;a++)null!=b[a].parentNode&&b[a].parentNode.removeChild(b[a]);null!=u&&null!=t&&t.reset();I=E=v=u=t=null};return s};
Sidebar.prototype.itemClicked=function(a,c,f,d){d=this.editorUi.editor.graph;if(mxEvent.isAltDown(f)){if(1==d.getSelectionCount()&&d.model.isVertex(d.getSelectionCell())){c=null;for(var b=0;b<a.length&&null==c;b++)d.model.isVertex(a[b])&&(c=b);null!=c&&(this.dropAndConnect(d.getSelectionCell(),a,mxEvent.isMetaDown(f)||mxEvent.isControlDown(f)?mxEvent.isShiftDown(f)?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH:mxEvent.isShiftDown(f)?mxConstants.DIRECTION_EAST:mxConstants.DIRECTION_SOUTH,
c),d.scrollCellToVisible(d.getSelectionCell()))}}else mxEvent.isShiftDown(f)?d.isSelectionEmpty()||(this.updateShapes(a[0],d.getSelectionCells()),d.scrollCellToVisible(d.getSelectionCell())):(a=d.getInsertPoint(),c.drop(d,f,null,a.x,a.y),null!=this.editorUi.hoverIcons&&mxEvent.isTouchEvent(f)&&this.editorUi.hoverIcons.update(d.view.getState(d.getSelectionCell())))};
Sidebar.prototype.addClickHandler=function(a,c,f){var d=this.editorUi.editor.graph,b=c.mouseUp,e=null;mxEvent.addGestureListeners(a,function(b){e=new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b))});c.mouseUp=mxUtils.bind(this,function(g){if(!mxEvent.isPopupTrigger(g)&&null==this.currentGraph&&null!=e){var k=d.tolerance;Math.abs(e.x-mxEvent.getClientX(g))<=k&&Math.abs(e.y-mxEvent.getClientY(g))<=k&&this.itemClicked(f,c,g,a)}b.apply(c,arguments);e=null;this.currentElt=a})};
Sidebar.prototype.createVertexTemplateEntry=function(a,c,f,d,b,e,g,k){k=null!=k&&0<k.length?k:b.toLowerCase();return this.addEntry(k,mxUtils.bind(this,function(){return this.createVertexTemplate(a,c,f,d,b,e,g)}))};Sidebar.prototype.createVertexTemplate=function(a,c,f,d,b,e,g,k){a=[new mxCell(null!=d?d:"",new mxGeometry(0,0,c,f),a)];a[0].vertex=!0;return this.createVertexTemplateFromCells(a,c,f,b,e,g,k)};
Sidebar.prototype.createVertexTemplateFromCells=function(a,c,f,d,b,e,g){return this.createItem(a,d,b,e,c,f,g)};Sidebar.prototype.createEdgeTemplateEntry=function(a,c,f,d,b,e,g,k){g=null!=g&&0<g.length?g:b.toLowerCase();return this.addEntry(g,mxUtils.bind(this,function(){return this.createEdgeTemplate(a,c,f,d,b,e,k)}))};
Sidebar.prototype.createEdgeTemplate=function(a,c,f,d,b,e,g){a=new mxCell(null!=d?d:"",new mxGeometry(0,0,c,f),a);a.geometry.setTerminalPoint(new mxPoint(0,f),!0);a.geometry.setTerminalPoint(new mxPoint(c,0),!1);a.geometry.relative=!0;a.edge=!0;return this.createEdgeTemplateFromCells([a],c,f,b,e,g)};Sidebar.prototype.createEdgeTemplateFromCells=function(a,c,f,d,b,e){return this.createItem(a,d,b,!0,c,f,e)};
Sidebar.prototype.addPaletteFunctions=function(a,c,f,d){this.addPalette(a,c,f,mxUtils.bind(this,function(b){for(var a=0;a<d.length;a++)b.appendChild(d[a](b))}))};
Sidebar.prototype.addPalette=function(a,c,f,d){c=this.createTitle(c);this.container.appendChild(c);var b=document.createElement("div");b.className="geSidebar";mxClient.IS_POINTER&&(b.style.touchAction="none");mxEvent.addListener(b,"mousemove",mxUtils.bind(this,function(a){mxEvent.getSource(a)==b?b.setAttribute("title",mxResources.get("sidebarTooltip")):b.removeAttribute("title")}));f?(d(b),d=null):b.style.display="none";this.addFoldingHandler(c,b,d);f=document.createElement("div");f.appendChild(b);
this.container.appendChild(f);null!=a&&(this.palettes[a]=[c,f]);return b};
Sidebar.prototype.addFoldingHandler=function(a,c,f){var d=!1;if(!mxClient.IS_IE||8<=document.documentMode)a.style.backgroundImage="none"==c.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";a.style.backgroundRepeat="no-repeat";a.style.backgroundPosition="0% 50%";mxEvent.addListener(a,"click",mxUtils.bind(this,function(b){if("none"==c.style.display){if(d)c.style.display="block";else if(d=!0,null!=f){a.style.cursor="wait";var e=a.innerHTML;a.innerHTML=mxResources.get("loading")+
"...";window.setTimeout(function(){var b=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;f(c);mxClient.NO_FO=b;c.style.display="block";a.style.cursor="";a.innerHTML=e},0)}else c.style.display="block";a.style.backgroundImage="url('"+this.expandedImage+"')"}else a.style.backgroundImage="url('"+this.collapsedImage+"')",c.style.display="none";mxEvent.consume(b)}))};
Sidebar.prototype.removePalette=function(a){var c=this.palettes[a];if(null!=c){this.palettes[a]=null;for(a=0;a<c.length;a++)this.container.removeChild(c[a]);return!0}return!1};
Sidebar.prototype.addImagePalette=function(a,c,f,d,b,e,g){for(var k=[],l=0;l<b.length;l++)mxUtils.bind(this,function(b,a,c){if(null==c){c=b.lastIndexOf("/");var e=b.lastIndexOf(".");c=b.substring(0<=c?c+1:0,0<=e?e:b.length).replace(/[-_]/g," ")}k.push(this.createVertexTemplateEntry("image;html\x3d1;labelBackgroundColor\x3d#ffffff;image\x3d"+f+b+d,this.defaultImageWidth,this.defaultImageHeight,"",a,null!=a,null,this.filterTags(c)))})(b[l],null!=e?e[l]:null,null!=g?g[b[l]]:null);this.addPaletteFunctions(a,
c,!1,k)};Sidebar.prototype.getTagsForStencil=function(a,c,f){a=a.split(".");for(var d=1;d<a.length;d++)a[d]=a[d].replace(/_/g," ");a.push(c.replace(/_/g," "));null!=f&&a.push(f);return a.slice(1,a.length)};
Sidebar.prototype.addStencilPalette=function(a,c,f,d,b,e,g,k){g=null!=g?g:1;if(this.addStencilsToIndex){var l=[];mxStencilRegistry.loadStencilSet(f,mxUtils.bind(this,function(a,c,e,f,s){if(null==b||0>mxUtils.indexOf(b,c)){e=this.getTagsForStencil(a,c);var q=null!=k?k[c]:null;null!=q&&e.push(q);l.push(this.createVertexTemplateEntry("shape\x3d"+a+c.toLowerCase()+d,Math.round(f*g),Math.round(s*g),"",c.replace(/_/g," "),null,null,this.filterTags(e.join(" "))))}}),!0,!0);this.addPaletteFunctions(a,c,!1,
l)}else this.addPalette(a,c,!1,mxUtils.bind(this,function(a){null==d&&(d="");null!=e&&e.call(this,a);mxStencilRegistry.loadStencilSet(f,mxUtils.bind(this,function(c,e,f,k,l){(null==b||0>mxUtils.indexOf(b,e))&&a.appendChild(this.createVertexTemplate("shape\x3d"+c+e.toLowerCase()+d,Math.round(k*g),Math.round(l*g),"",e.replace(/_/g," "),!0))}),!0)}))};
Sidebar.prototype.destroy=function(){null!=this.graph&&(null!=this.graph.container&&null!=this.graph.container.parentNode&&this.graph.container.parentNode.removeChild(this.graph.container),this.graph.destroy(),this.graph=null);null!=this.pointerUpHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler),this.pointerUpHandler=null);null!=this.pointerDownHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerdown":"mousedown",this.pointerDownHandler),
this.pointerDownHandler=null);null!=this.pointerMoveHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.pointerMoveHandler),this.pointerMoveHandler=null);null!=this.pointerOutHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerout":"mouseout",this.pointerOutHandler),this.pointerOutHandler=null)};"undefined"!==typeof html4&&(html4.ATTRIBS["a::target"]=0);mxConstants.SHADOW_OPACITY=0.25;mxConstants.SHADOWCOLOR="#000000";
mxConstants.VML_SHADOWCOLOR="#d0d0d0";mxGraph.prototype.pageBreakColor="#c0c0c0";mxGraph.prototype.pageScale=1;(function(){try{if(null!=navigator&&null!=navigator.language){var a=navigator.language.toLowerCase();mxGraph.prototype.pageFormat="en-us"===a||"en-ca"===a||"es-mx"===a?mxConstants.PAGE_FORMAT_LETTER_PORTRAIT:mxConstants.PAGE_FORMAT_A4_PORTRAIT}}catch(c){}})();mxText.prototype.baseSpacingTop=5;mxText.prototype.baseSpacingBottom=1;mxGraphModel.prototype.ignoreRelativeEdgeParent=!1;
mxGraphView.prototype.gridImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///8zMzP///yH5BAEAAAMALAAAAAAKAAoAAAIJ1I6py+0Po2wFADs\x3d":IMAGE_PATH+"/grid.gif";mxGraphView.prototype.gridSteps=4;mxGraphView.prototype.minGridSize=4;mxGraphView.prototype.gridColor="#e0e0e0";mxSvgCanvas2D.prototype.foAltText="[Not supported by viewer]";
Graph=function(a,c,f,d,b){mxGraph.call(this,a,c,f,d);this.themes=b||this.defaultThemes;a=this.baseUrl;c=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<c&&(c=a.indexOf("/",c+2),0<c&&(this.domainUrl=a.substring(0,c)),c=a.lastIndexOf("/"),0<c&&(this.domainPathUrl=a.substring(0,c+1)));this.isHtmlLabel=function(b){var a=this.view.getState(b);b=null!=a?a.style:this.getCellStyle(b);return"1"==b.html||"wrap"==b[mxConstants.STYLE_WHITE_SPACE]};if(this.edgeMode){var e=null,g=null,k=null,l=null,n=!1;
this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(b,a){if("mouseDown"==a.getProperty("eventName")&&this.isEnabled()){var d=a.getProperty("event");if(!mxEvent.isControlDown(d.getEvent())&&!mxEvent.isShiftDown(d.getEvent())){var c=d.getState();null!=c&&this.model.isEdge(c.cell)&&(e=new mxPoint(d.getGraphX(),d.getGraphY()),n=this.isCellSelected(c.cell),k=c,g=d,null!=c.text&&null!=c.text.boundingBox&&mxUtils.contains(c.text.boundingBox,d.getGraphX(),d.getGraphY())?l=mxEvent.LABEL_HANDLE:
(c=this.selectionCellsHandler.getHandler(c.cell),null!=c&&null!=c.bends&&0<c.bends.length&&(l=c.getHandleForEvent(d))))}}}));this.addMouseListener({mouseDown:function(b,a){},mouseMove:mxUtils.bind(this,function(b,a){if(this.isEnabled()&&!this.panningHandler.isActive()&&!mxEvent.isControlDown(a.getEvent())&&!mxEvent.isShiftDown(a.getEvent())&&!mxEvent.isAltDown(a.getEvent())){var d=this.tolerance;if(null!=e&&null!=k&&null!=g){var c=k;if(Math.abs(e.x-a.getGraphX())>d*this.view.scale||Math.abs(e.y-a.getGraphY())>
d*this.view.scale){this.isCellSelected(c.cell)||this.setSelectionCell(c.cell);var f=this.selectionCellsHandler.getHandler(c.cell);if(null!=f&&null!=f.bends&&0<f.bends.length){var m=f.getHandleForEvent(g),t=this.view.getEdgeStyle(c),d=t==mxEdgeStyle.EntityRelation;!n&&l==mxEvent.LABEL_HANDLE&&(m=l);if(!d||0==m||m==f.bends.length-1||m==mxEvent.LABEL_HANDLE){if(m==mxEvent.LABEL_HANDLE||0==m||null!=c.visibleSourceState||m==f.bends.length-1||null!=c.visibleTargetState){if(!d&&m!=mxEvent.LABEL_HANDLE){d=
c.absolutePoints;if(null!=d&&(null==t&&null==m||t==mxEdgeStyle.OrthConnector))m=l,null==m&&(m=new mxRectangle(e.x,e.y),m.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(m,d[0].x,d[0].y)?m=0:mxUtils.contains(m,d[d.length-1].x,d[d.length-1].y)?m=f.bends.length-1:null!=t&&(2==d.length||3==d.length&&(0==Math.round(d[0].x-d[1].x)&&0==Math.round(d[1].x-d[2].x)||0==Math.round(d[0].y-d[1].y)&&0==Math.round(d[1].y-d[2].y)))?m=2:(m=mxUtils.findNearestSegment(c,e.x,e.y),m=null==t?mxEvent.VIRTUAL_HANDLE-
m:m+1));null==m&&(m=mxEvent.VIRTUAL_HANDLE)}f.start(a.getGraphX(),a.getGraphX(),m);l=e=g=k=null;n=!1;a.consume();this.graphHandler.reset()}}else if(d&&(null!=c.visibleSourceState||null!=c.visibleTargetState))this.graphHandler.reset(),a.consume()}}}else if(c=a.getState(),null!=c&&this.model.isEdge(c.cell)){f=null;d=c.absolutePoints;if(null!=d)if(m=new mxRectangle(a.getGraphX(),a.getGraphY()),m.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=c.text&&null!=c.text.boundingBox&&mxUtils.contains(c.text.boundingBox,
a.getGraphX(),a.getGraphY()))f="move";else if(mxUtils.contains(m,d[0].x,d[0].y)||mxUtils.contains(m,d[d.length-1].x,d[d.length-1].y))f="pointer";else if(null!=c.visibleSourceState||null!=c.visibleTargetState)t=this.view.getEdgeStyle(c),f="crosshair",t!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(c)&&(t=mxUtils.findNearestSegment(c,a.getGraphX(),a.getGraphY()),t<d.length-1&&0<=t&&(f=0==Math.round(d[t].x-d[t+1].x)?"col-resize":"row-resize"));null!=f&&c.setCursor(f)}}}),mouseUp:mxUtils.bind(this,function(b,
a){l=e=g=k=null})})}this.cellRenderer.getLabelValue=function(b){var a=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);b.view.graph.isHtmlLabel(b.cell)&&(a=1!=b.style.html?mxUtils.htmlEntities(a,!1):b.view.graph.sanitizeHtml(a));return a};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);this.setDropEnabled(!0);this.setPanning(!0);this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=
!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(b,a){return!1};this.alternateEdgeStyle="vertical";null==d&&this.loadStylesheet();var m=this.graphHandler.getGuideStates;this.graphHandler.getGuideStates=function(){var b=m.apply(this,arguments);if(this.graph.pageVisible){for(var a=[],d=this.graph.pageFormat,c=this.graph.pageScale,e=d.width*c,d=d.height*
c,c=this.graph.view.translate,f=this.graph.view.scale,g=this.graph.getPageLayout(),k=0;k<g.width;k++)a.push(new mxRectangle(((g.x+k)*e+c.x)*f,(g.y*d+c.y)*f,e*f,d*f));for(k=0;k<g.height;k++)a.push(new mxRectangle((g.x*e+c.x)*f,((g.y+k)*d+c.y)*f,e*f,d*f));b=a.concat(b)}return b};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=function(b,a){return null==b.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(b){this.previewColor=
"#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(b){for(var a=mxGraphHandler.prototype.getCells.apply(this,arguments),d=[],c=0;c<a.length;c++){var e=this.graph.view.getState(a[c]),e=null!=e?e.style:this.graph.getCellStyle(a[c]);"1"==mxUtils.getValue(e,"part","0")?(e=this.graph.model.getParent(a[c]),this.graph.model.isVertex(e)&&0>mxUtils.indexOf(a,e)&&d.push(e)):
d.push(a[c])}return d};this.connectionHandler.createTargetVertex=function(b,a){var d=this.graph.view.getState(a),d=null!=d?d.style:this.graph.getCellStyle(a);mxUtils.getValue(d,"part",!1)&&(d=this.graph.model.getParent(a),this.graph.model.isVertex(d)&&(a=d));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var p=new mxRubberband(this);this.getRubberband=function(){return p};var r=(new Date).getTime(),s=0,q=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=
function(){var b=this.currentState;q.apply(this,arguments);b!=this.currentState?(r=(new Date).getTime(),s=0):s=(new Date).getTime()-r};var u=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(b){return null!=this.currentState&&b.getState()==this.currentState&&2E3<s||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,"outlineConnect","1"))&&u.apply(this,arguments)};var t=this.isToggleEvent;this.isToggleEvent=function(b){return t.apply(this,
arguments)||mxEvent.isShiftDown(b)};var v=p.isForceRubberbandEvent;p.isForceRubberbandEvent=function(b){return v.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==b.getState()&&mxEvent.isTouchEvent(b.getEvent())};var z=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&(z=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,
function(){this.isEnabled()&&(this.container.style.cursor=z)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(b){return mxEvent.isMouseEvent(b.getEvent())};var y=this.click;this.click=function(b){if(!this.isEnabled()&&!b.isConsumed()){var a=b.getCell();null!=a&&(a=this.getLinkForCell(a),null!=a&&window.open(a))}else return y.apply(this,arguments)};var x=this.getCursorForCell;this.getCursorForCell=function(b){if(this.isEnabled())return x.apply(this,arguments);if(null!=
this.getLinkForCell(b))return"pointer"};this.selectRegion=function(b,a){var d=this.getAllCells(b.x,b.y,b.width,b.height);this.selectCellsForEvent(d,a);return d};this.getAllCells=function(b,a,d,c,e,f){f=null!=f?f:[];if(0<d||0<c){var g=this.getModel(),k=b+d,l=a+c;null==e&&(e=this.getCurrentRoot(),null==e&&(e=g.getRoot()));if(null!=e)for(var n=g.getChildCount(e),m=0;m<n;m++){var t=g.getChildAt(e,m),u=this.view.getState(t);if(null!=u&&this.isCellVisible(t)&&"1"!=mxUtils.getValue(u.style,"locked","0")){var q=
mxUtils.getValue(u.style,mxConstants.STYLE_ROTATION)||0;0!=q&&(u=mxUtils.getBoundingBox(u,q));(g.isEdge(t)||g.isVertex(t))&&u.x>=b&&(u.y+u.height<=l&&u.y>=a&&u.x+u.width<=k)&&f.push(t);this.getAllCells(b,a,d,c,t,f)}}}return f};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(b,a,d){return this.graph.isCellSelected(b)?!1:D.apply(this,arguments)};this.isCellLocked=function(b){for(b=this.view.getState(b);null!=b;){if("1"==mxUtils.getValue(b.style,
"locked","0"))return!0;b=this.view.getState(this.model.getParent(b.cell))}return!1};var A=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(b,a){if("mouseDown"==a.getProperty("eventName")){var d=a.getProperty("event").getState();A=null!=d&&!this.isSelectionEmpty()&&!this.isCellSelected(d.cell)?this.getSelectionCells():null}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(b,a){if(!mxEvent.isMultiTouchEvent(a)){var d=a.getProperty("event"),c=a.getProperty("cell");
null==c?(d=mxUtils.convertPoint(this.container,mxEvent.getClientX(d),mxEvent.getClientY(d)),p.start(d.x,d.y)):null!=A?this.addSelectionCells(A):1<this.getSelectionCount()&&this.isCellSelected(c)&&this.removeSelectionCell(c);A=null;a.consume()}}));this.connectionHandler.selectCells=function(b,a){this.graph.setSelectionCell(a||b)};this.connectionHandler.constraintHandler.isStateIgnored=function(b,a){return a&&b.view.graph.isCellSelected(b.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,
function(){var b=this.connectionHandler.constraintHandler;null!=b.currentFocus&&b.isStateIgnored(b.currentFocus,!0)&&(b.currentFocus=null,b.constraints=null,b.destroyIcons());b.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var B=this.updateMouseEvent;this.updateMouseEvent=function(b){b=B.apply(this,arguments);this.isCellLocked(b.getCell())&&(b.state=null);return b}}};
Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null;Graph.prototype.linkTarget="_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;
Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=window.location!=window.parent.location?document.referrer:document.location.toString();
Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.initLayoutManager()};
Graph.prototype.initLayoutManager=function(){this.layoutManager=new mxLayoutManager(this);this.layoutManager.getLayout=function(a){var c=this.graph.view.getState(a);a=null!=c?c.style:this.graph.getCellStyle(a);return"stackLayout"==a.childLayout?(c=new mxStackLayout(this.graph,!0),c.resizeParentMax=!0,c.horizontal="1"==mxUtils.getValue(a,"horizontalStack","1"),c.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),c.resizeLast="1"==mxUtils.getValue(a,"resizeLast","0"),c.marginLeft=a.marginLeft||
0,c.marginRight=a.marginRight||0,c.marginTop=a.marginTop||0,c.marginBottom=a.marginBottom||0,c.fill=!0,c):"treeLayout"==a.childLayout?(c=new mxCompactTreeLayout(this.graph),c.horizontal="1"==mxUtils.getValue(a,"horizontalTree","1"),c.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),c.groupPadding=mxUtils.getValue(a,"parentPadding",20),c.levelDistance=mxUtils.getValue(a,"treeLevelDistance",30),c.maintainParentLocation=!0,c.edgeRouting=!1,c.resetEdges=!1,c):"flowLayout"==a.childLayout?(c=new mxHierarchicalLayout(this.graph,
mxUtils.getValue(a,"flowOrientation",mxConstants.DIRECTION_EAST)),c.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),c.parentBorder=mxUtils.getValue(a,"parentPadding",20),c.maintainParentLocation=!0,c.intraCellSpacing=mxUtils.getValue(a,"intraCellSpacing",mxHierarchicalLayout.prototype.intraCellSpacing),c.interRankCellSpacing=mxUtils.getValue(a,"interRankCellSpacing",mxHierarchicalLayout.prototype.interRankCellSpacing),c.interHierarchySpacing=mxUtils.getValue(a,"interHierarchySpacing",mxHierarchicalLayout.prototype.interHierarchySpacing),
c.parallelEdgeSpacing=mxUtils.getValue(a,"parallelEdgeSpacing",mxHierarchicalLayout.prototype.parallelEdgeSpacing),c):null}};Graph.prototype.sanitizeHtml=function(a){return html_sanitize(a,function(a){return null!=a&&"javascript:"!==a.toString().toLowerCase().substring(0,11)?a:null},function(a){return a})};Graph.prototype.updatePlaceholders=function(){var a=!1,c;for(c in this.model.cells){var f=this.model.cells[c];this.isReplacePlaceholders(f)&&(this.view.invalidate(f,!1,!1),a=!0)}a&&this.view.validate()};
Graph.prototype.isReplacePlaceholders=function(a){return null!=a.value&&"object"==typeof a.value&&"1"==a.value.getAttribute("placeholders")};Graph.prototype.isIgnoreTerminalEvent=function(a){return mxEvent.isShiftDown(a)&&mxEvent.isControlDown(a)};Graph.prototype.isSplitTarget=function(a,c,f){return!mxEvent.isShiftDown(f)&&mxGraph.prototype.isSplitTarget.apply(this,arguments)};
Graph.prototype.getLabel=function(a){var c=mxGraph.prototype.getLabel.apply(this,arguments);null!=c&&this.isReplacePlaceholders(a)&&null==a.getAttribute("placeholder")&&(c=this.replacePlaceholders(a,c));return c};Graph.prototype.isLabelMovable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return!this.isCellLocked(a)&&(this.model.isEdge(a)&&this.edgeLabelsMovable||this.model.isVertex(a)&&(this.vertexLabelsMovable||"1"==mxUtils.getValue(c,"labelMovable","0")))};
mxGraph.prototype.setGridSize=function(a){this.gridSize=a;this.fireEvent(new mxEventObject("gridSizeChanged"))};Graph.prototype.getGlobalVariable=function(a){var c=null;"date"==a?c=(new Date).toLocaleDateString():"time"==a?c=(new Date).toLocaleTimeString():"timestamp"==a?c=(new Date).toLocaleString():"date{"==a.substring(0,5)&&(a=a.substring(5,a.length-1),c=this.formatDate(new Date,a));return c};
Graph.prototype.formatDate=function(a,c,f){null==this.dateFormatCache&&(this.dateFormatCache={i18n:{dayNames:"Sun Mon Tue Wed Thu Fri Sat Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),monthNames:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec January February March April May June July August September October November December".split(" ")},masks:{"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",
shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var d=this.dateFormatCache,b=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,e=/[^-+\dA-Z]/g,g=function(b,a){b=String(b);for(a=a||2;b.length<a;)b="0"+b;return b};1==arguments.length&&"[object String]"==Object.prototype.toString.call(a)&&
!/\d/.test(a)&&(c=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");c=String(d.masks[c]||c||d.masks["default"]);"UTC:"==c.slice(0,4)&&(c=c.slice(4),f=!0);var k=f?"getUTC":"get",l=a[k+"Date"](),n=a[k+"Day"](),m=a[k+"Month"](),p=a[k+"FullYear"](),r=a[k+"Hours"](),s=a[k+"Minutes"](),q=a[k+"Seconds"](),k=a[k+"Milliseconds"](),u=f?0:a.getTimezoneOffset(),t={d:l,dd:g(l),ddd:d.i18n.dayNames[n],dddd:d.i18n.dayNames[n+7],m:m+1,mm:g(m+1),mmm:d.i18n.monthNames[m],mmmm:d.i18n.monthNames[m+
12],yy:String(p).slice(2),yyyy:p,h:r%12||12,hh:g(r%12||12),H:r,HH:g(r),M:s,MM:g(s),s:q,ss:g(q),l:g(k,3),L:g(99<k?Math.round(k/10):k),t:12>r?"a":"p",tt:12>r?"am":"pm",T:12>r?"A":"P",TT:12>r?"AM":"PM",Z:f?"UTC":(String(a).match(b)||[""]).pop().replace(e,""),o:(0<u?"-":"+")+g(100*Math.floor(Math.abs(u)/60)+Math.abs(u)%60,4),S:["th","st","nd","rd"][3<l%10?0:(10!=l%100-l%10)*l%10]};return c.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(b){return b in t?t[b]:b.slice(1,
b.length-1)})};
Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var c=this.getModel(),f=c.getChildCount(c.root),d=0;d<f;d++)(function(b){var d=document.createElement("div");d.style.overflow="hidden";d.style.textOverflow="ellipsis";d.style.padding="2px";d.style.whiteSpace="nowrap";var f=document.createElement("input");f.setAttribute("type","checkbox");c.isVisible(b)&&(f.setAttribute("checked","checked"),f.defaultChecked=!0);d.appendChild(f);var k=b.value||
mxResources.get("background")||"Background";d.setAttribute("title",k);mxUtils.write(d,k);a.appendChild(d);mxEvent.addListener(f,"click",function(){null!=f.getAttribute("checked")?f.removeAttribute("checked"):f.setAttribute("checked","checked");c.setVisible(b,f.checked)})})(c.getChildAt(c.root,d));return a};
Graph.prototype.replacePlaceholders=function(a,c){for(var f=[],d=0;match=this.placeholderPattern.exec(c);){var b=match[0];if(2<b.length&&"%label%"!=b&&"%tooltip%"!=b){var e=null;if(match.index>d&&"%"==c.charAt(match.index-1))e=b.substring(1);else{var g=b.substring(1,b.length-1);if(0>g.indexOf("{"))for(var k=a;null==e&&null!=k;)null!=k.value&&"object"==typeof k.value&&(e=k.value.getAttribute(g)),k=this.model.getParent(k);null==e&&(e=this.getGlobalVariable(g))}f.push(c.substring(d,match.index)+(e||
b));d=match.index+b.length}}f.push(c.substring(d));return f.join("")};Graph.prototype.selectCellsForConnectVertex=function(a,c,f){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=f&&(mxEvent.isTouchEvent(c)?f.update(f.getState(this.view.getState(a[1]))):f.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)};
Graph.prototype.connectVertex=function(a,c,f,d,b){var e=a.geometry.relative?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);c==mxConstants.DIRECTION_NORTH?(e.x+=a.geometry.width/2,e.y-=f):c==mxConstants.DIRECTION_SOUTH?(e.x+=a.geometry.width/2,e.y+=a.geometry.height+f):(e.x=c==mxConstants.DIRECTION_WEST?e.x-f:e.x+(a.geometry.width+f),e.y+=a.geometry.height/2);f=this.view.getState(this.model.getParent(a));var g=this.view.scale,
k=this.view.translate,l=k.x*g,k=k.y*g;this.model.isVertex(f.cell)&&(l=f.x,k=f.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(e.x+=a.parent.geometry.x,e.y+=a.parent.geometry.y);f=mxEvent.isControlDown(d)&&!b?null:this.getCellAt(l+e.x*g,k+e.y*g);this.model.isAncestor(f,a)&&(f=null);for(g=f;null!=g;){if(this.isCellLocked(g)){f=null;break}g=this.model.getParent(g)}null!=f&&(g=this.view.getState(a),l=this.view.getState(f),null!=g&&null!=l&&mxUtils.intersects(g,l)&&(f=null));if(b=!mxEvent.isShiftDown(d)||
b)c==mxConstants.DIRECTION_NORTH?e.y-=a.geometry.height/2:c==mxConstants.DIRECTION_SOUTH?e.y+=a.geometry.height/2:e.x=c==mxConstants.DIRECTION_WEST?e.x-a.geometry.width/2:e.x+a.geometry.width/2;null!=f&&!this.isCellConnectable(f)&&(g=this.getModel().getParent(f),this.getModel().isVertex(g)&&this.isCellConnectable(g)&&(f=g));if(f==a||this.model.isEdge(f)||!this.isCellConnectable(f))f=null;g=[];this.model.beginUpdate();try{l=f;if(null==l&&b){for(var k=a,n=this.getCellGeometry(a);null!=n&&n.relative;)k=
this.getModel().getParent(k),n=this.getCellGeometry(k);var m=this.view.getState(k),p=null!=m?m.style:this.getCellStyle(k);if(mxUtils.getValue(p,"part",!1)){var r=this.model.getParent(k);this.model.isVertex(r)&&(k=r)}l=this.duplicateCells([k],!1)[0];n=this.getCellGeometry(l);n.x=e.x-n.width/2;n.y=e.y-n.height/2}n=null;null!=this.layoutManager&&(n=this.layoutManager.getLayout(this.model.getParent(a)));var s=mxEvent.isControlDown(d)&&b||null==f&&null!=n&&n.constructor==mxStackLayout?null:this.insertEdge(this.model.getParent(a),
null,"",a,l,this.createCurrentEdgeStyle());if(null!=s&&this.connectionHandler.insertBeforeSource){var q=null;for(d=a;null!=d.parent&&null!=d.geometry&&d.geometry.relative&&d.parent!=s.parent;)d=this.model.getParent(d);null!=d&&null!=d.parent&&d.parent==s.parent&&(q=d.parent.getIndex(d),d.parent.insert(s,q))}null==f&&null!=l&&(null!=n&&null!=a.parent&&n.constructor==mxStackLayout&&c==mxConstants.DIRECTION_WEST)&&(q=a.parent.getIndex(a),a.parent.insert(l,q));null!=s&&g.push(s);null==f&&null!=l&&g.push(l);
null==l&&null!=s&&s.geometry.setTerminalPoint(e,!1);null!=s&&this.fireEvent(new mxEventObject("cellsInserted","cells",[s]))}finally{this.model.endUpdate()}return g};Graph.prototype.convertValueToString=function(a){return null!=a.value&&"object"==typeof a.value?this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")?this.getModel().getRoot().getAttribute(a.getAttribute("placeholder"))||"":a.value.getAttribute("label"):mxGraph.prototype.convertValueToString.apply(this,arguments)};
Graph.prototype.getLinkForCell=function(a){return null!=a.value&&"object"==typeof a.value?(a=a.value.getAttribute("link"),null!=a&&"javascript:"===a.toLowerCase().substring(0,11)&&(a=a.substring(11)),a):null};
Graph.prototype.getCellStyle=function(a){var c=mxGraph.prototype.getCellStyle.apply(this,arguments);if(null!=a&&null!=this.layoutManager){var f=this.model.getParent(a);this.model.isVertex(f)&&this.isCellCollapsed(a)&&(f=this.layoutManager.getLayout(f),null!=f&&f.constructor==mxStackLayout&&(c[mxConstants.STYLE_HORIZONTAL]=!f.horizontal))}return c};
Graph.prototype.updateAlternateBounds=function(a,c,f){if(null!=a&&null!=c&&null!=this.layoutManager&&null!=c.alternateBounds){var d=this.layoutManager.getLayout(this.model.getParent(a));null!=d&&d.constructor==mxStackLayout&&(d.horizontal?c.alternateBounds.height=0:c.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a){return mxEvent.isShiftDown(a)};
Graph.prototype.foldCells=function(a,c,f,d,b){c=null!=c?c:!1;null==f&&(f=this.getFoldableCells(this.getSelectionCells(),a));if(null!=f){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var e=0;e<f.length;e++){var g=this.view.getState(f[e]),k=this.getCellGeometry(f[e]);if(null!=g&&null!=k){var l=Math.round(k.width-g.width/this.view.scale),n=Math.round(k.height-g.height/this.view.scale);if(0!=n||0!=l){var m=this.model.getParent(f[e]),p=this.layoutManager.getLayout(m);
null==p?null!=b&&this.isMoveCellsEvent(b)&&this.moveSiblings(g,m,l,n):(null==b||!mxEvent.isAltDown(b))&&p.constructor==mxStackLayout&&!p.resizeLast&&this.resizeParentStacks(m,p,l,n)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(f)}};
Graph.prototype.moveSiblings=function(a,c,f,d){this.model.beginUpdate();try{var b=this.getCellsBeyond(a.x,a.y,c,!0,!0);for(c=0;c<b.length;c++)if(b[c]!=a.cell){var e=this.view.getState(b[c]),g=this.getCellGeometry(b[c]);null!=e&&null!=g&&(g=g.clone(),g.translate(Math.round(f*Math.max(0,Math.min(1,(e.x-a.x)/a.width))),Math.round(d*Math.max(0,Math.min(1,(e.y-a.y)/a.height)))),this.model.setGeometry(b[c],g))}}finally{this.model.endUpdate()}};
Graph.prototype.resizeParentStacks=function(a,c,f,d){if(null!=this.layoutManager&&null!=c&&c.constructor==mxStackLayout&&!c.resizeLast){this.model.beginUpdate();try{for(var b=c.horizontal;null!=a&&null!=c&&c.constructor==mxStackLayout&&c.horizontal==b&&!c.resizeLast;){var e=this.getCellGeometry(a),g=this.view.getState(a);null!=g&&null!=e&&(e=e.clone(),c.horizontal?e.width+=f+Math.min(0,g.width/this.view.scale-e.width):e.height+=d+Math.min(0,g.height/this.view.scale-e.height),this.model.setGeometry(a,
e));a=this.model.getParent(a);c=this.layoutManager.getLayout(a)}}finally{this.model.endUpdate()}}};Graph.prototype.isContainer=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return this.isSwimlane(a)?"0"!=c.container:"1"==c.container};Graph.prototype.isCellConnectable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return null!=c.connectable?"0"!=c.connectable:mxGraph.prototype.isCellConnectable.apply(this,arguments)};
Graph.prototype.selectAll=function(a){a=a||this.getDefaultParent();this.isCellLocked(a)||mxGraph.prototype.selectAll.apply(this,arguments)};Graph.prototype.selectCells=function(a,c,f){f=f||this.getDefaultParent();this.isCellLocked(f)||mxGraph.prototype.selectCells.apply(this,arguments)};Graph.prototype.getSwimlaneAt=function(a,c,f){f=f||this.getDefaultParent();return!this.isCellLocked(f)?mxGraph.prototype.getSwimlaneAt.apply(this,arguments):null};
Graph.prototype.isCellFoldable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return this.foldingEnabled&&!this.isCellLocked(a)&&(this.isContainer(a)&&"0"!=c.collapsible||!this.isContainer(a)&&"1"==c.collapsible)};Graph.prototype.reset=function(){this.isEditing()&&this.stopEditing(!0);this.escape();this.isSelectionEmpty()||this.clearSelection()};
Graph.prototype.zoom=function(a,c){a=Math.max(0.01,Math.min(this.view.scale*a,160))/this.view.scale;mxGraph.prototype.zoom.apply(this,arguments)};Graph.prototype.zoomIn=function(){0.15>this.view.scale?this.zoom((this.view.scale+0.01)/this.view.scale):this.zoom(Math.round(20*this.view.scale*this.zoomFactor)/20/this.view.scale)};Graph.prototype.zoomOut=function(){0.15>=this.view.scale?this.zoom((this.view.scale-0.01)/this.view.scale):this.zoom(Math.round(20*this.view.scale*(1/this.zoomFactor))/20/this.view.scale)};
Graph.prototype.getTooltipForCell=function(a){var c="";if(mxUtils.isNode(a.value)){var f=a.value.getAttribute("tooltip");if(null!=f)null!=f&&this.isReplacePlaceholders(a)&&(f=this.replacePlaceholders(a,f)),c=this.sanitizeHtml(f);else{f=["label","tooltip","placeholders"];a=a.value.attributes;this.isEnabled()&&f.push("link");for(var d=0;d<a.length;d++)0>mxUtils.indexOf(f,a[d].nodeName)&&0<a[d].nodeValue.length&&(c="link"==a[d].nodeName?c+(mxUtils.htmlEntities(this.getLinkUrl(a[d].nodeValue))+"\n"):
c+(a[d].nodeName+": "+mxUtils.htmlEntities(a[d].nodeValue)+"\n"));0<c.length&&(c=c.substring(0,c.length-1))}}return c};Graph.prototype.stringToBytes=function(a){for(var c=Array(a.length),f=0;f<a.length;f++)c[f]=a.charCodeAt(f);return c};Graph.prototype.bytesToString=function(a){for(var c=Array(a.length),f=0;f<a.length;f++)c[f]=String.fromCharCode(a[f]);return c.join("")};
Graph.prototype.compress=function(a){if(null==a||0==a.length||"undefined"===typeof pako)return a;a=this.bytesToString(pako.deflateRaw(encodeURIComponent(a)));return window.btoa?btoa(a):Base64.encode(a,!0)};Graph.prototype.decompress=function(a){if(null==a||0==a.length||"undefined"===typeof pako)return a;a=window.atob?atob(a):Base64.decode(a,!0);return this.zapGremlins(decodeURIComponent(this.bytesToString(pako.inflateRaw(a))))};
Graph.prototype.zapGremlins=function(a){for(var c=[],f=0;f<a.length;f++){var d=a.charCodeAt(f);(32<=d||9==d||10==d||13==d)&&c.push(a.charAt(f))}return c.join("")};HoverIcons=function(a){this.graph=a;this.init()};HoverIcons.prototype.arrowSpacing=6;HoverIcons.prototype.updateDelay=500;HoverIcons.prototype.activationDelay=140;HoverIcons.prototype.currentState=null;HoverIcons.prototype.activeArrow=null;HoverIcons.prototype.inactiveOpacity=15;HoverIcons.prototype.checkCollisions=!0;
HoverIcons.prototype.triangleUp=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAOCAYAAAAxDQxDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0ZBN0E3M0U5NjZGMTFFNTg5NTRDNzQwMTgwNDlEQzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0ZBN0E3M0Y5NjZGMTFFNTg5NTRDNzQwMTgwNDlEQzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3RkE3QTczQzk2NkYxMUU1ODk1NEM3NDAxODA0OURDNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3RkE3QTczRDk2NkYxMUU1ODk1NEM3NDAxODA0OURDNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pj625P8AAACySURBVHjaYmRY956BROABxF+A+AgpmpjIsGQjEO8CYidaWeQHtYQNiDmBeAspljGRYMlqqCUwALPMg1oWhWCxBNmyjVCHUGQRyJKlOCyBATaoQ/zItSgciFcQsATdshBSLYqC+oSZhMTCBnVYFLEWgRQuItESGGCG6o0iZFECBZagW5aAyyKQxBwKLUG2bD4Qp6FblAyVoIYlyGAmzDIWKGMmA+0AyGw2RjIKVbIAQIABAFJRHSSk2rPoAAAAAElFTkSuQmCC":
IMAGE_PATH+"/triangle-up.png",26,14);
HoverIcons.prototype.triangleRight=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAaCAYAAACHD21cAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NThDQzc5RTU5NjZGMTFFNTg5NTRDNzQwMTgwNDlEQzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NThDQzc5RTY5NjZGMTFFNTg5NTRDNzQwMTgwNDlEQzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1OENDNzlFMzk2NkYxMUU1ODk1NEM3NDAxODA0OURDNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1OENDNzlFNDk2NkYxMUU1ODk1NEM3NDAxODA0OURDNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrHdKTUAAADDSURBVHjanNTBCgFRFIfxMeTZyEKkiBSRxbwREZGiNFZKWSnvY6OUUv6n7ilZaL459XVXv6a5c+cWovQeaSZqFoGJwzpVozzQZq4GeSDCv7AYcJ9Cx0vVpdDxWrUpdLxVLQr/4jjDBpYDblDoeKdqFDpOHRP4jSsU2rzVg8KnqqpbDFFdXck7vlRTXciuOjqT72ioo07k5Nju9dSRnFVHB/J3GBqqPf0fx2pDbwBDK3Ln2MdN1CLraSiFNcn6JJ+PAAMAbnMl1tyDPD8AAAAASUVORK5CYII\x3d":IMAGE_PATH+
"/triangle-right.png",14,26);
HoverIcons.prototype.triangleDown=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAOCAYAAAAxDQxDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NThDQzc5RTk5NjZGMTFFNTg5NTRDNzQwMTgwNDlEQzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NThDQzc5RUE5NjZGMTFFNTg5NTRDNzQwMTgwNDlEQzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1OENDNzlFNzk2NkYxMUU1ODk1NEM3NDAxODA0OURDNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1OENDNzlFODk2NkYxMUU1ODk1NEM3NDAxODA0OURDNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv9xyy0AAADESURBVHjaYmRY956BHoAJiHOA+D+NcRrIoilAnEVDz6QD8SwWKGc6EP8F4plUtiQRiBfAgg4GZkEl/lLBgr/IlqBbxACViKPQMgxLQIAFi8JlUHoREDOTYUkckhkMuHyEbFkEEP8i0ZJobJbgswgE1gBxKJGW/YI6bCW+fIQPbCLCsl9Qn6whlGEZiLDMH4i/47AklJAlxFoEAjuA2AfNMpglm4gtgogF+5As+wX15SZiNbOQmHxBlrkBMQ/Ul0QDgAADAC8qRII7g4RyAAAAAElFTkSuQmCC":IMAGE_PATH+
"/triangle-down.png",26,14);
HoverIcons.prototype.triangleLeft=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAaCAYAAACHD21cAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0ZBN0E3M0E5NjZGMTFFNTg5NTRDNzQwMTgwNDlEQzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0ZBN0E3M0I5NjZGMTFFNTg5NTRDNzQwMTgwNDlEQzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1OENDNzlFQjk2NkYxMUU1ODk1NEM3NDAxODA0OURDNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1OENDNzlFQzk2NkYxMUU1ODk1NEM3NDAxODA0OURDNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pi1fu2cAAADXSURBVHjalNTRB8JQFMfxVROxPyl6iuipRJFS2kv/TU89lY0piyw9pP6r3iP6He7Ndd3de87haxMfd+1ua0TVOxLOCuVNIdqiHZ1I4AbtUUsC6fIO6jzhwoWB/hOCU5Tpy+PCCTq5kA+OfKgODlGJ2r7/YMMBqkLIhn0uMmEP3VGH+zQQ7KKnBGmY+O6eD77QGH2kkOYhxeZdJTzjYnsfb2jOwbHjt6s6ltJHTmNa+SuFNBe0rMOh9/GM1i7M+QIUKLVxzNy2XB0zyYomTqUr6jnqLfoJMADoxSMHt6pxsAAAAABJRU5ErkJggg\x3d\x3d":IMAGE_PATH+
"/triangle-left.png",14,26);
HoverIcons.prototype.roundDrop=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTgxRjYzRTU1MDRFMTFFNEExQ0VFNDQwNDhGNzg2RDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTgxRjYzRTY1MDRFMTFFNEExQ0VFNDQwNDhGNzg2RDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFODFGNjNFMzUwNEUxMUU0QTFDRUU0NDA0OEY3ODZEOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFODFGNjNFNDUwNEUxMUU0QTFDRUU0NDA0OEY3ODZEOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuJ657wAAAE0SURBVHjaYvz//z8DPQATA50AC4zBuP4DLjXaQOwMxJZArAfE8lDxh0B8CYiPA/FeIL6KTfP/QAFUi7AABSBOAOJoIFbBIq8FxRFAfAeIlwLxAiB+gNdHaMABiIuB2IfIkAE5pB6IjYG4F4gPEBNHIEtaSLAEGfhA9ToQskgB6hNrCuLdGmqGAj6LEsj0CTafJeCySBsa8dQC0VAzMSxyxpG6yAUqUDMxLLKkQT61xGaRHg0s0sNmkTwNLJKne1mHbNFDGpj/EJtFl2hg0SVsFh2ngUXHsVm0F1oKUwvcgZqJYdFVaFFPLbAUuY5CT3Wg+mQLFSzZAjULZ6H6AFqfHKXAkqNQMx4Qqo9AlVYNmT7bAtV7gNga9gDURWfxVOXoEY+3KmeENbdo3ThhHHbtOoAAAwDmEETshQ0fBAAAAABJRU5ErkJggg\x3d\x3d":IMAGE_PATH+
"/round-drop.png",26,26);
HoverIcons.prototype.refreshTarget=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDQxNERDRTU1QjY1MTFFNDkzNTRFQTVEMTdGMTdBQjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDQxNERDRTY1QjY1MTFFNDkzNTRFQTVEMTdGMTdBQjciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NDE0RENFMzVCNjUxMUU0OTM1NEVBNUQxN0YxN0FCNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NDE0RENFNDVCNjUxMUU0OTM1NEVBNUQxN0YxN0FCNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsvuX50AAANaSURBVHja7FjRZ1tRGD9ZJ1NCyIQSwrivI4Q8hCpjlFDyFEoYfSp9Ko1QWnmo0If+BSXkIfo0QirTMUpeGo2EPfWllFYjZMLKLDJn53d3biU337m5J223bPbxk5t7v+/c3/2+73znO8fDOWezKM/YjMpz68Lj8ejY+QTeCCwLxOS9qPxtyN+6wAeBTwJ31CCO0cJDjXBGBN4LfIepSwykTUT1bgpuib0SONIgo8KRHOtRiCFcvUcgZeGrHPNBxLIyFPyRgTGz0xLbegJCdmzpElue5KlAIMDX19d5uVzm5+fnfDAYmMA17uEZdOx2Yvb/sHlu2S0xwymn5ufneTab5b1ej08S6EAXNrDd2dnhiUTim21MvMtwQ6yiIrWwsMDPzs64rsBmf3/fvM7n89TYlUnEllSkQqEQv7q64g+Vk5MTVXosORErU0Zer5f0FEIlw2N6MxwO82QyaXql2+2SxDqdjopYWUUsqEp45IldqtWq6UWVh/1+P7+8vCTJ4QMUJSRIEXuneoH96w8PDyeWAnhSJfCqwm6NIlaklFdXV0cGhRcQ2mlJQXK5nMq2YPEZbnteU1U2lUqN/D84OGD9fl+5fgnSrFarsUwmw0qlEru4uBjTicViTk3Cr27HSnxR+Doyz0ZE1CAWiUTusbu7y9rttlZv5fP5WDQavYfIMba4uEipfhF8XtqJoZXx/uH+sC/4vPg7OljZZQbsCmLtYzc3N6zRaJhotVrmfx0xDINtbm6athYUeXpHdbBNaqZUKpWxWXV7e2vex+xaWVnhc3NzjrPUXgexyCt0m67LBV7uJMITjqRE4o8tZeg8FPpFitgapYxiOC0poFgsji1jKNo6BZZckrAGUtJsNk1vqAihCBcKhTE7hNWhqw2qFnGy5UFOUYJVIJ1OjzSE+BCEilon0URavRmBqnbbQ00AXbm+vnZc9O1tj72OnQoc2+cwygRkb2+P1et17ZoEm3g87lRmjgWZ00kbXkNuse6/Bu2wlegIxfb2tuvWGroO4bO2c4bbzUh60mxDXm1sbJhhxkQYnhS4h2fUZoRAWnf7lv8N27f8P7Xhnekjgpk+VKGOoQbsiY+hhhtF3YO7twIJ+ULvUGv+GQ2fQEvWxI/THNx5/p/BaspPAQYAqStgiSQwCDoAAAAASUVORK5CYII\x3d":IMAGE_PATH+
"/refresh.png",38,38);
HoverIcons.prototype.init=function(){this.arrowUp=this.createArrow(this.triangleUp,mxResources.get("plusTooltip"));this.arrowRight=this.createArrow(this.triangleRight,mxResources.get("plusTooltip"));this.arrowDown=this.createArrow(this.triangleDown,mxResources.get("plusTooltip"));this.arrowLeft=this.createArrow(this.triangleLeft,mxResources.get("plusTooltip"));this.elts=[this.arrowUp,this.arrowRight,this.arrowDown,this.arrowLeft];this.repaintHandler=mxUtils.bind(this,function(){this.repaint()});this.graph.selectionModel.addListener(mxEvent.CHANGE,
this.repaintHandler);this.graph.model.addListener(mxEvent.CHANGE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE,this.repaintHandler);this.graph.view.addListener(mxEvent.DOWN,this.repaintHandler);this.graph.view.addListener(mxEvent.UP,this.repaintHandler);this.graph.addListener(mxEvent.ROOT,this.repaintHandler);this.graph.addListener(mxEvent.ESCAPE,
mxUtils.bind(this,function(){this.mouseDownPoint=null}));mxEvent.addListener(this.graph.container,"mouseleave",mxUtils.bind(this,function(a){null!=a.relatedTarget&&mxEvent.getSource(a)==this.graph.container&&this.setDisplay("none")}));var a=this.graph.click;this.graph.click=mxUtils.bind(this,function(c){a.apply(this.graph,arguments);null!=this.currentState&&!this.graph.isCellSelected(this.currentState.cell)&&(mxEvent.isTouchEvent(c.getEvent())&&!this.graph.model.isVertex(c.getCell()))&&this.reset()});
var c=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,d){c=!1;var b=d.getEvent();if(this.isResetEvent(b))this.reset();else if(!this.isActive()){var e=this.getState(d.getState());(null!=e||!mxEvent.isTouchEvent(b))&&this.update(e)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,d){var b=d.getEvent();this.isResetEvent(b)?this.reset():!this.graph.isMouseDown&&!mxEvent.isTouchEvent(b)&&this.update(this.getState(d.getState()),d.getGraphX(),d.getGraphY());null!=this.graph.connectionHandler&&
null!=this.graph.connectionHandler.shape&&(c=!0)}),mouseUp:mxUtils.bind(this,function(a,d){var b=d.getEvent();this.isResetEvent(b)?this.reset():this.isActive()&&null!=this.mouseDownPoint&&Math.abs(d.getGraphX()-this.mouseDownPoint.x)<this.graph.tolerance&&Math.abs(d.getGraphY()-this.mouseDownPoint.y)<this.graph.tolerance?c||this.click(this.currentState,this.getDirection(),d):this.isActive()?1!=this.graph.getSelectionCount()||!this.graph.model.isEdge(this.graph.getSelectionCell())?this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(d.getGraphX(),
d.getGraphY())))):this.reset():mxEvent.isTouchEvent(b)||null!=this.bbox&&mxUtils.contains(this.bbox,d.getGraphX(),d.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(b)||this.reset();c=!1;this.resetActiveArrow()})})};HoverIcons.prototype.isResetEvent=function(a,c){return mxEvent.isAltDown(a)||null==this.activeArrow&&mxEvent.isShiftDown(a)||mxEvent.isMetaDown(a)||mxEvent.isPopupTrigger(a)&&!mxEvent.isControlDown(a)};
HoverIcons.prototype.createArrow=function(a,c){var f=null;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(f=document.createElement(mxClient.VML_PREFIX+":image"),f.setAttribute("src",a.src),f.style.borderStyle="none"):(f=document.createElement("div"),f.style.backgroundImage="url("+a.src+")",f.style.backgroundPosition="center",f.style.backgroundRepeat="no-repeat"),f.style.width=a.width+4+"px",f.style.height=a.height+4+"px",f.style.display=mxClient.IS_QUIRKS?"inline":
"inline-block"):(f=mxUtils.createImage(a.src),f.style.width=a.width+"px",f.style.height=a.height+"px");null!=c&&f.setAttribute("title",c);f.style.position="absolute";f.style.cursor="crosshair";mxEvent.addGestureListeners(f,mxUtils.bind(this,function(a){null!=this.currentState&&!this.isResetEvent(a)&&(this.mouseDownPoint=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),this.drag(a,this.mouseDownPoint.x,this.mouseDownPoint.y),this.activeArrow=f,this.setDisplay("none"),
mxEvent.consume(a))}));mxEvent.redirectMouseEvents(f,this.graph,this.currentState);mxEvent.addListener(f,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isMouseEvent(a)&&(null!=this.activeArrow&&this.activeArrow!=f&&mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.graph.connectionHandler.constraintHandler.reset(),mxUtils.setOpacity(f,100),this.activeArrow=f)}));mxEvent.addListener(f,"mouseleave",mxUtils.bind(this,function(a){this.graph.isMouseDown||this.resetActiveArrow()}));return f};
HoverIcons.prototype.resetActiveArrow=function(){null!=this.activeArrow&&(mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.activeArrow=null)};HoverIcons.prototype.getDirection=function(){var a=mxConstants.DIRECTION_EAST;this.activeArrow==this.arrowUp?a=mxConstants.DIRECTION_NORTH:this.activeArrow==this.arrowDown?a=mxConstants.DIRECTION_SOUTH:this.activeArrow==this.arrowLeft&&(a=mxConstants.DIRECTION_WEST);return a};
HoverIcons.prototype.visitNodes=function(a){for(var c=0;c<this.elts.length;c++)null!=this.elts[c]&&a(this.elts[c])};HoverIcons.prototype.removeNodes=function(){this.visitNodes(function(a){null!=a.parentNode&&a.parentNode.removeChild(a)})};HoverIcons.prototype.setDisplay=function(a){this.visitNodes(function(c){c.style.display=a})};HoverIcons.prototype.isActive=function(){return null!=this.activeArrow&&null!=this.currentState};
HoverIcons.prototype.drag=function(a,c,f){this.graph.popupMenuHandler.hideMenu();this.graph.stopEditing(!1);null!=this.currentState&&(this.graph.connectionHandler.start(this.currentState,c,f),this.graph.isMouseTrigger=mxEvent.isMouseEvent(a),this.graph.isMouseDown=!0,a=this.graph.selectionCellsHandler.getHandler(this.currentState.cell),null!=a&&a.setHandlesVisible(!1))};
HoverIcons.prototype.click=function(a,c,f){var d=f.getEvent(),b=f.getGraphX(),e=f.getGraphY(),b=this.graph.view.getState(this.graph.getCellAt(b,e));null!=b&&this.graph.model.isEdge(b.cell)&&!mxEvent.isControlDown(d)&&(b.getVisibleTerminalState(!0)==a||b.getVisibleTerminalState(!1)==a)?(this.graph.setSelectionCell(b.cell),this.reset()):null!=a&&(a=this.graph.connectVertex(a.cell,c,this.graph.defaultEdgeLength,d),this.graph.selectCellsForConnectVertex(a,d,this),2==a.length&&this.graph.model.isVertex(a[1])?
(this.graph.setSelectionCell(a[1]),mxEvent.isTouchEvent(d)?this.update(this.getState(this.graph.view.getState(a[1]))):this.reset(),this.graph.scrollCellToVisible(a[1])):this.graph.setSelectionCells(a));f.consume()};HoverIcons.prototype.reset=function(a){(null==a||a)&&null!=this.updateThread&&window.clearTimeout(this.updateThread);this.activeArrow=this.currentState=this.mouseDownPoint=null;this.removeNodes();this.bbox=null};
HoverIcons.prototype.repaint=function(){this.bbox=null;if(null!=this.currentState){this.currentState=this.getState(this.currentState);if(null!=this.currentState&&this.graph.model.isVertex(this.currentState.cell)&&this.graph.isCellConnectable(this.currentState.cell)){var a=mxRectangle.fromRectangle(this.currentState);null!=this.currentState.shape&&null!=this.currentState.shape.boundingBox&&(a=mxRectangle.fromRectangle(this.currentState.shape.boundingBox));a.grow(this.graph.tolerance);a.grow(this.arrowSpacing);
var c=this.graph.selectionCellsHandler.getHandler(this.currentState.cell);null!=c&&(a.x-=c.horizontalOffset/2,a.y-=c.verticalOffset/2,a.width+=c.horizontalOffset,a.height+=c.verticalOffset,null!=c.rotationShape&&null!=c.rotationShape.node&&("hidden"!=c.rotationShape.node.style.visibility&&"none"!=c.rotationShape.node.style.display&&null!=c.rotationShape.boundingBox)&&a.add(c.rotationShape.boundingBox));this.arrowUp.style.left=Math.round(this.currentState.getCenterX()-this.triangleUp.width/2)+"px";
this.arrowUp.style.top=Math.round(a.y-this.triangleUp.height)+"px";mxUtils.setOpacity(this.arrowUp,this.inactiveOpacity);this.arrowRight.style.left=Math.round(a.x+a.width)+"px";this.arrowRight.style.top=Math.round(this.currentState.getCenterY()-this.triangleRight.height/2)+"px";mxUtils.setOpacity(this.arrowRight,this.inactiveOpacity);this.arrowDown.style.left=this.arrowUp.style.left;this.arrowDown.style.top=Math.round(a.y+a.height)+"px";mxUtils.setOpacity(this.arrowDown,this.inactiveOpacity);this.arrowLeft.style.left=
Math.round(a.x-this.triangleLeft.width)+"px";this.arrowLeft.style.top=this.arrowRight.style.top;mxUtils.setOpacity(this.arrowLeft,this.inactiveOpacity);if(this.checkCollisions){var c=this.graph.getCellAt(a.x+a.width+this.triangleRight.width/2,this.currentState.getCenterY()),f=this.graph.getCellAt(a.x-this.triangleLeft.width/2,this.currentState.getCenterY()),d=this.graph.getCellAt(this.currentState.getCenterX(),a.y-this.triangleUp.height/2),a=this.graph.getCellAt(this.currentState.getCenterX(),a.y+
a.height+this.triangleDown.height/2);null!=c&&c==f&&(f==d&&d==a)&&(a=d=f=c=null);null!=c&&!this.graph.model.isAncestor(c,this.currentState.cell)?this.arrowRight.style.visibility="hidden":this.arrowRight.style.visibility="visible";null!=f&&!this.graph.model.isAncestor(f,this.currentState.cell)?this.arrowLeft.style.visibility="hidden":this.arrowLeft.style.visibility="visible";null!=d&&!this.graph.model.isAncestor(d,this.currentState.cell)?this.arrowUp.style.visibility="hidden":this.arrowUp.style.visibility=
"visible";null!=a&&!this.graph.model.isAncestor(a,this.currentState.cell)?this.arrowDown.style.visibility="hidden":this.arrowDown.style.visibility="visible"}else this.arrowLeft.style.visibility="visible",this.arrowRight.style.visibility="visible",this.arrowUp.style.visibility="visible",this.arrowDown.style.visibility="visible"}else this.reset();null!=this.currentState&&(this.bbox=this.computeBoundingBox(),null!=this.bbox&&this.bbox.grow(10))}};
HoverIcons.prototype.computeBoundingBox=function(){var a=!this.graph.model.isEdge(this.currentState.cell)?mxRectangle.fromRectangle(this.currentState):null;this.visitNodes(function(c){null!=c.parentNode&&(c=new mxRectangle(c.offsetLeft,c.offsetTop,c.offsetWidth,c.offsetHeight),null==a?a=c:a.add(c))});return a};
HoverIcons.prototype.getState=function(a){if(null!=a){a=a.cell;if(this.graph.getModel().isVertex(a)&&!this.graph.isCellConnectable(a)){var c=this.graph.getModel().getParent(a);this.graph.getModel().isVertex(c)&&this.graph.isCellConnectable(c)&&(a=c)}if(this.graph.isCellLocked(a)||this.graph.model.isEdge(a))a=null;a=this.graph.view.getState(a)}return a};
HoverIcons.prototype.update=function(a,c,f){if(this.graph.connectionArrowsEnabled){var d=null;this.prev!=a||this.isActive()?(this.startTime=(new Date).getTime(),this.prev=a,d=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=a&&(this.updateThread=window.setTimeout(mxUtils.bind(this,function(){!this.isActive()&&!this.graph.isMouseDown&&!this.graph.panningHandler.isActive()&&(this.prev=a,this.update(a,c,f))}),this.updateDelay+10))):null!=this.startTime&&(d=(new Date).getTime()-
this.startTime);this.setDisplay("");if(null!=this.currentState&&this.currentState!=a&&d<this.activationDelay&&null!=this.bbox&&!mxUtils.contains(this.bbox,c,f))this.reset(!1);else if(null!=this.currentState||d>this.activationDelay)if(this.currentState!=a&&(d>this.updateDelay&&null!=a||null==this.bbox||null==c||null==f||!mxUtils.contains(this.bbox,c,f)))null!=a&&this.graph.isEnabled()?(this.removeNodes(),this.setCurrentState(a),this.repaint(),this.graph.connectionHandler.constraintHandler.currentFocus!=
a&&this.graph.connectionHandler.constraintHandler.reset()):this.reset()}else this.reset()};HoverIcons.prototype.setCurrentState=function(a){"eastwest"!=a.style.portConstraint&&(this.graph.container.appendChild(this.arrowUp),this.graph.container.appendChild(this.arrowDown));this.graph.container.appendChild(this.arrowRight);this.graph.container.appendChild(this.arrowLeft);this.currentState=a};
(function(){var a=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(c,d,b){var e=a.apply(this,arguments);"1"==c.getAttribute("placeholders")&&null!=b.state&&(e=b.state.view.graph.replacePlaceholders(b.state.cell,e));return e};var c=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var d=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=d&&"stencil("==d.substring(0,
8))try{var b=d.substring(8,d.length-1),e=mxUtils.parseXml(a.view.graph.decompress(b));return new mxShape(new mxStencil(e.documentElement))}catch(g){null!=window.console&&console.log("Error in shape: "+g)}}return c.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.packages=[];
mxStencilRegistry.getStencil=function(a){var c=mxStencilRegistry.stencils[a];if(null==c&&null==mxCellRenderer.prototype.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var f=mxStencilRegistry.getBasenameForStencil(a);if(null!=f){c=mxStencilRegistry.libraries[f];if(null!=c){if(null==mxStencilRegistry.packages[f]){mxStencilRegistry.packages[f]=1;for(f=0;f<c.length;f++){var d=c[f];if(".xml"==d.toLowerCase().substring(d.length-4,d.length))mxStencilRegistry.loadStencilSet(d,null);else if(".js"==d.toLowerCase().substring(d.length-
3,d.length))try{var b=mxUtils.load(d);null!=b&&200==b.getStatus()&&eval.call(window,b.getText())}catch(e){null!=window.console&&console.log("error in getStencil:",d,e)}}}}else f=f.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+f+".xml",null);c=mxStencilRegistry.stencils[a]}}return c};mxStencilRegistry.getBasenameForStencil=function(a){var c=null;if(null!=a&&(a=a.split("."),0<a.length&&"mxgraph"==a[0]))for(var c=a[1],f=2;f<a.length-1;f++)c+="/"+a[f];return c};
mxStencilRegistry.loadStencilSet=function(a,c,f,d){var b=mxStencilRegistry.packages[a];if(null!=f&&f||null==b){var e=!1;if(null==b)try{if(d){var g=mxUtils.get(a,mxUtils.bind(this,function(d){200==d.getStatus()&&(b=d.getXml(),mxStencilRegistry.packages[a]=b,e=!0,null!=b&&null!=b.documentElement&&mxStencilRegistry.parseStencilSet(b.documentElement,c,e))}));return}g=mxUtils.load(a);b=g.getXml();mxStencilRegistry.packages[a]=b;e=!0}catch(k){null!=window.console&&console.log("error in loadStencilSet:",
a,k)}null!=b&&null!=b.documentElement&&mxStencilRegistry.parseStencilSet(b.documentElement,c,e)}};mxStencilRegistry.parseStencilSets=function(a){for(var c=0;c<a.length;c++)mxStencilRegistry.parseStencilSet(mxUtils.parseXml(a[c]).documentElement)};
mxStencilRegistry.parseStencilSet=function(a,c,f){if("stencils"==a.nodeName)for(var d=a.firstChild;null!=d;)"shapes"==d.nodeName&&mxStencilRegistry.parseStencilSet(d,c,f),d=d.nextSibling;else{f=null!=f?f:!0;var d=a.firstChild,b="";a=a.getAttribute("name");for(null!=a&&(b=a+".");null!=d;){if(d.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=d.getAttribute("name"),null!=a)){var b=b.toLowerCase(),e=a.replace(/ /g,"_");f&&mxStencilRegistry.addStencil(b+e.toLowerCase(),new mxStencil(d));if(null!=c){var g=d.getAttribute("w"),
k=d.getAttribute("h"),g=null==g?80:parseInt(g,10),k=null==k?80:parseInt(k,10);c(b,e,a,g,k)}}d=d.nextSibling}}};
"undefined"!=typeof mxVertexHandler&&function(){function a(){var b=document.createElement("div");b.className="geHint";b.style.whiteSpace="nowrap";b.style.position="absolute";return b}mxConstants.HANDLE_FILLCOLOR="#99ccff";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR="#00a8ff";mxConstants.OUTLINE_COLOR="#00a8ff";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#99ccff";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#00a8ff";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.EDGE_SELECTION_COLOR=
"#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=8;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxGuide.prototype.isEnabledForEvent=function(b){return!mxEvent.isAltDown(b)};var c=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(b){return mxEvent.isControlDown(b)||c.apply(this,
arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var b=new mxEllipse(null,this.highlightColor,this.highlightColor,0);b.opacity=mxConstants.HIGHLIGHT_OPACITY;return b};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(b){b=this.graph.createCurrentEdgeStyle();b=this.graph.createEdge(null,null,null,null,null,b);b=new mxCellState(this.graph.view,b,this.graph.getCellStyle(b));for(var a in this.graph.currentEdgeStyle)b.style[a]=
this.graph.currentEdgeStyle[a];return b};var f=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var b=f.apply(this,arguments);b.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return b};mxConnectionHandler.prototype.updatePreview=function(b){};var d=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var b=d.apply(this,arguments),a=b.getCell;b.getCell=mxUtils.bind(this,function(b){var d=
a.apply(this,arguments);this.error=null;return d});return b};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",html:"1",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.currentEdgeStyle=Graph.prototype.defaultEdgeStyle;Graph.prototype.currentVertexStyle={};Graph.prototype.createCurrentEdgeStyle=function(){var b="edgeStyle\x3d"+(this.currentEdgeStyle.edgeStyle||"none")+";";null!=this.currentEdgeStyle.shape&&(b+="shape\x3d"+this.currentEdgeStyle.shape+";");null!=this.currentEdgeStyle.curved&&
(b+="curved\x3d"+this.currentEdgeStyle.curved+";");null!=this.currentEdgeStyle.rounded&&(b+="rounded\x3d"+this.currentEdgeStyle.rounded+";");null!=this.currentEdgeStyle.comic&&(b+="comic\x3d"+this.currentEdgeStyle.comic+";");"elbowEdgeStyle"==this.currentEdgeStyle.edgeStyle&&null!=this.currentEdgeStyle.elbow&&(b+="elbow\x3d"+this.currentEdgeStyle.elbow+";");return null!=this.currentEdgeStyle.html?b+("html\x3d"+this.currentEdgeStyle.html+";"):b+"html\x3d1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,
0)};Graph.prototype.loadStylesheet=function(){var b=null!=this.themes?this.themes[this.defaultThemeName]:!mxStyleRegistry.dynamicLoading?null:mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement();null!=b&&(new mxCodec(b.ownerDocument)).decode(b,this.getStylesheet())};Graph.prototype.getAllConnectionConstraints=function(b,a){if(null!=b){var d=mxUtils.getValue(b.style,"points",null);if(null!=d){var c=[];try{for(var e=JSON.parse(d),d=0;d<e.length;d++){var f=e[d];c.push(new mxConnectionConstraint(new mxPoint(f[0],
f[1]),2<f.length?"0"!=f[2]:!0))}}catch(g){}return c}if(null!=b.shape)if(null!=b.shape.stencil){if(null!=b.shape.stencil)return b.shape.stencil.constraints}else if(null!=b.shape.constraints)return b.shape.constraints}return null};Graph.prototype.flipEdge=function(b){if(null!=b){var a=this.view.getState(b),a=null!=a?a.style:this.getCellStyle(b);null!=a&&(a=mxUtils.getValue(a,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,
this.setCellStyles(mxConstants.STYLE_ELBOW,a,[b]))}};Graph.prototype.isValidRoot=function(b){for(var a=this.model.getChildCount(b),d=0,c=0;c<a;c++){var e=this.model.getChildAt(b,c);this.model.isVertex(e)&&(e=this.getCellGeometry(e),null!=e&&!e.relative&&d++)}return 0<d||this.isContainer(b)};Graph.prototype.isValidDropTarget=function(b){var a=this.view.getState(b),a=null!=a?a.style:this.getCellStyle(b);return"1"!=mxUtils.getValue(a,"part","0")&&(this.isContainer(b)||mxGraph.prototype.isValidDropTarget.apply(this,
arguments)&&"0"!=mxUtils.getValue(a,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var b=mxGraph.prototype.createGroupCell.apply(this,arguments);b.setStyle("group");return b};Graph.prototype.isExtendParentsOnAdd=function(b){var a=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(a&&null!=b&&null!=this.layoutManager){var d=this.model.getParent(b);null!=d&&(d=this.layoutManager.getLayout(d),null!=d&&d.constructor==mxStackLayout&&(a=!1))}return a};Graph.prototype.getPreferredSizeForCell=
function(b){var a=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=a&&(a.width+=10,a.height+=4,this.gridEnabled&&(a.width=this.snap(a.width),a.height=this.snap(a.height)));return a};Graph.prototype.turnShapes=function(b){var a=this.getModel(),d=[];a.beginUpdate();try{for(var c=0;c<b.length;c++){var e=b[c];if(a.isEdge(e)){var f=a.getTerminal(e,!0),g=a.getTerminal(e,!1);a.setTerminal(e,g,!0);a.setTerminal(e,f,!1);var k=a.getGeometry(e);if(null!=k){k=k.clone();null!=k.points&&k.points.reverse();
var l=k.getTerminalPoint(!0),n=k.getTerminalPoint(!1);k.setTerminalPoint(l,!1);k.setTerminalPoint(n,!0);a.setGeometry(e,k);var m=this.view.getState(e),t=this.view.getState(f),u=this.view.getState(g);if(null!=m){var q=null!=t?this.getConnectionConstraint(m,t,!0):null,v=null!=u?this.getConnectionConstraint(m,u,!1):null;this.setConnectionConstraint(e,f,!0,v);this.setConnectionConstraint(e,g,!1,q)}d.push(e)}}else if(a.isVertex(e)&&(k=this.getCellGeometry(e),null!=k)){k=k.clone();k.x+=k.width/2-k.height/
2;k.y+=k.height/2-k.width/2;var p=k.width;k.width=k.height;k.height=p;a.setGeometry(e,k);var z=this.view.getState(e);if(null!=z){var x=z.style[mxConstants.STYLE_DIRECTION]||"east";"east"==x?x="south":"south"==x?x="west":"west"==x?x="north":"north"==x&&(x="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,x,[e])}d.push(e)}}}finally{a.endUpdate()}return d};Graph.prototype.processChange=function(b){mxGraph.prototype.processChange.apply(this,arguments);if(b instanceof mxValueChange&&null!=b.cell.value&&
"object"==typeof b.cell.value){var a=this.model.getDescendants(b.cell);if(0<a.length)for(var d=0;d<a.length;d++)this.isReplacePlaceholders(a[d])&&this.view.invalidate(a[d],!1,!1)}};Graph.prototype.cellLabelChanged=function(b,a,d){a=this.zapGremlins(a);this.model.beginUpdate();try{if(null!=b.value&&"object"==typeof b.value){var c=b.value.cloneNode(!0);c.setAttribute("label",a);this.isReplacePlaceholders(b)&&null!=c.getAttribute("placeholder")&&this.setAttributeForCell(this.getModel().getRoot(),c.getAttribute("placeholder"),
a);a=c}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.removeCellsAfterUngroup=function(b){for(var a=[],d=0;d<b.length;d++)if(this.isCellDeletable(b[d])){var c=this.view.getState(b[d]);if(null!=c){var e=mxUtils.getValue(c.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(c.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);e==mxConstants.NONE&&c==mxConstants.NONE&&a.push(b[d])}}b=a;mxGraph.prototype.removeCellsAfterUngroup.apply(this,
arguments)};Graph.prototype.setLinkForCell=function(b,a){this.setAttributeForCell(b,"link",a)};Graph.prototype.setTooltipForCell=function(b,a){this.setAttributeForCell(b,"tooltip",a)};Graph.prototype.setAttributeForCell=function(b,a,d){var c=null;null!=b.value&&"object"==typeof b.value?c=b.value.cloneNode(!0):(c=mxUtils.createXmlDocument().createElement("UserObject"),c.setAttribute("label",b.value||""));null!=d&&0<d.length?c.setAttribute(a,d):c.removeAttribute(a);this.model.setValue(b,c)};Graph.prototype.getDropTarget=
function(b,a,d,c){this.getModel();if(mxEvent.isAltDown(a))return null;for(var e=0;e<b.length;e++)if(this.model.isEdge(this.model.getParent(b[e])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(b){mxGraph.prototype.click.call(this,b);this.firstClickState=b.getState();this.firstClickSource=b.getSource()};Graph.prototype.dblClick=function(b,a){if(this.isEnabled()){var d=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b));
if(null!=b&&!this.model.isVertex(a)){var c=this.model.isEdge(a)?this.view.getState(a):null,e=mxEvent.getSource(b);if(this.firstClickState==c&&this.firstClickSource==e&&(null==c||null==c.text||null==c.text.node||!mxUtils.contains(c.text.boundingBox,d.x,d.y)&&!mxUtils.isAncestorNode(c.text.node,mxEvent.getSource(b))))if(null==c&&!this.isCellLocked(this.getDefaultParent())||null!=c&&!this.isCellLocked(c.cell))if(null!=c||mxClient.IS_VML&&e==this.view.getCanvas()||mxClient.IS_SVG&&e==this.view.getCanvas().ownerSVGElement)a=
this.addText(d.x,d.y,c)}mxGraph.prototype.dblClick.call(this,b,a)}};Graph.prototype.getInsertPoint=function(){var b=this.getGridSize(),a=this.container.scrollLeft/this.view.scale-this.view.translate.x,d=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var c=this.getPageLayout(),e=this.getPageSize(),a=Math.max(a,c.x*e.width),d=Math.max(d,c.y*e.height);return new mxPoint(this.snap(a+b),this.snap(d+b))};Graph.prototype.addText=function(b,a,d){var c=new mxCell;c.value=
"Text";c.style="text;html\x3d1;resizable\x3d0;points\x3d[];";c.geometry=new mxGeometry(0,0,0,0);c.vertex=!0;if(null!=d){c.style+="align\x3dcenter;verticalAlign\x3dmiddle;labelBackgroundColor\x3d#ffffff;";c.geometry.relative=!0;c.connectable=!1;var e=this.view.getRelativePoint(d,b,a);c.geometry.x=Math.round(1E4*e.x)/1E4;c.geometry.y=Math.round(e.y);c.geometry.offset=new mxPoint(0,0);var e=this.view.getPoint(d,c.geometry),f=this.view.scale;c.geometry.offset=new mxPoint(Math.round((b-e.x)/f),Math.round((a-
e.y)/f))}else c.style+="autosize\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d-4;",e=this.view.translate,c.geometry.width=40,c.geometry.height=20,c.geometry.x=Math.round(b/this.view.scale)-e.x,c.geometry.y=Math.round(a/this.view.scale)-e.y;this.getModel().beginUpdate();try{this.addCells([c],null!=d?d.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[c])),this.autoSizeCell(c)}finally{this.getModel().endUpdate()}return c};Graph.prototype.getLinkUrl=function(b){return b};Graph.prototype.getAbsoluteUrl=
function(b){null!=b&&this.isRelativeUrl(b)&&(b="/"==b.charAt(0)?this.domainUrl+b:this.domainPathUrl+b);return b};Graph.prototype.isBlankLink=function(b){var a=this.domainUrl;return"self"!=urlParams.target&&null!=b&&"#"!=b.charAt(0)&&b.substring(0,a.length)!=a&&!this.isRelativeUrl(b)};Graph.prototype.isRelativeUrl=function(b){return!/^(?:[a-z]+:)?\/\//i.test(b)&&"data:image"!=b.substring(0,10)&&"mailto:"!=b.substring(0,7)};Graph.prototype.addClickHandler=function(b,a,d){var c=mxUtils.bind(this,function(){var b=
this.container.getElementsByTagName("a");if(null!=b)for(var d=0;d<b.length;d++){var c=b[d].getAttribute("href");null!=c&&!this.isBlankLink(c)&&(window!=window.top?(b[d].setAttribute("target","_top"),c.charAt("#")?b[d].setAttribute("href",this.baseUrl+c):b[d].setAttribute("href",this.getAbsoluteUrl(c))):"_blank"==b[d].getAttribute("target")&&b[d].removeAttribute("target"),null!=a&&mxEvent.addListener(b[d],"click",a))}});this.model.addListener(mxEvent.CHANGE,c);c();var e=this.container.style.cursor,
f=this.getTolerance(),g=this,k={currentState:null,currentLink:null,highlight:null!=b&&""!=b&&b!=mxConstants.NONE?new mxCellHighlight(g,b,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(b){b=g.view.getState(b.getCell());b!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=b,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(b,a){this.startX=a.getGraphX();this.startY=a.getGraphY();this.scrollLeft=g.container.scrollLeft;
this.scrollTop=g.container.scrollTop;null==this.currentLink&&"auto"==g.container.style.overflow&&(g.container.style.cursor="move");this.updateCurrentState(a)},mouseMove:function(b,a){if(g.isMouseDown){if(null!=this.currentLink){var d=Math.abs(this.startX-a.getGraphX()),c=Math.abs(this.startY-a.getGraphY());(d>f||c>f)&&this.clear()}}else"a"==a.getSource().nodeName.toLowerCase()?this.clear():null!=this.currentState&&(a.getState()==this.currentState||null==a.getState())&&g.intersects(this.currentState,
a.getGraphX(),a.getGraphY())||this.updateCurrentState(a)},mouseUp:function(b,c){var e=c.getSource(),k=this.currentLink;this.clear();if("a"!=e.nodeName.toLowerCase()&&!c.isConsumed()&&(null==c.getState()||!c.isSource(c.getState().control))&&(mxEvent.isLeftMouseButton(c.getEvent())||mxEvent.isTouchEvent(c.getEvent())))null!=k?(g.isBlankLink(k)?window.open(k):(null!=a&&a(c.getEvent()),"#"==k.charAt(0)?window!=window.top?window.open(g.baseUrl+k,"_top"):window.location.hash=k:window!=window.top?window.open(g.getAbsoluteUrl(k),
"_top"):window.location=k),c.consume()):null!=d&&!c.isConsumed()&&(Math.abs(this.scrollLeft-g.container.scrollLeft)<f&&Math.abs(this.scrollTop-g.container.scrollTop)<f&&Math.abs(this.startX-c.getGraphX())<f&&Math.abs(this.startY-c.getGraphY())<f)&&d(c.getEvent())},activate:function(b){this.currentLink=g.getLinkUrl(g.getLinkForCell(b.cell));null!=this.currentLink&&(g.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(b))},clear:function(){null!=g.container&&(g.container.style.cursor=
e);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide()}};g.click=function(b){};g.addMouseListener(k);mxEvent.addListener(document,"mouseleave",function(b){k.clear()})};Graph.prototype.duplicateCells=function(b,a){b=null!=b?b:this.getSelectionCells();a=null!=a?a:!0;b=this.model.getTopmostCells(b);var d=this.getModel(),c=this.gridSize,e=[];d.beginUpdate();try{for(var f=this.cloneCells(b,!1),g=0;g<b.length;g++){var k=d.getParent(b[g]),l=this.moveCells([f[g]],c,c,!1,k)[0];
e.push(l);if(a)d.add(k,f[g]);else{var n=k.getIndex(b[g]);d.add(k,f[g],n+1)}}}finally{d.endUpdate()}return e};Graph.prototype.insertImage=function(b,a,d){if(null!=b){for(var c=this.cellEditor.textarea.getElementsByTagName("img"),e=[],f=0;f<c.length;f++)e.push(c[f]);document.execCommand("insertimage",!1,b);b=this.cellEditor.textarea.getElementsByTagName("img");if(b.length==e.length+1)for(f=b.length-1;0<=f;f--)if(0==f||b[f]!=e[f-1]){b[f].setAttribute("width",a);b[f].setAttribute("height",d);break}}};
Graph.prototype.isCellResizable=function(b){var a=mxGraph.prototype.isCellResizable.apply(this,arguments),d=this.view.getState(b),d=null!=d?d.style:this.getCellStyle(b);return a||"0"!=mxUtils.getValue(d,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==d[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(b,a){null==a&&(a=this.getSelectionCells());if(null!=a&&1<a.length){for(var d=[],c=null,e=null,f=0;f<a.length;f++)if(this.getModel().isVertex(a[f])){var g=this.view.getState(a[f]);if(null!=
g){var k=b?g.getCenterX():g.getCenterY(),c=null!=c?Math.max(c,k):k,e=null!=e?Math.min(e,k):k;d.push(g)}}if(2<d.length){d.sort(function(a,d){return b?a.x-d.x:a.y-d.y});g=this.view.translate;k=this.view.scale;e=e/k-(b?g.x:g.y);c=c/k-(b?g.x:g.y);this.getModel().beginUpdate();try{for(var l=(c-e)/(d.length-1),c=e,f=1;f<d.length-1;f++){var n=this.getCellGeometry(d[f].cell),c=c+l;null!=n&&(n=n.clone(),b?n.x=Math.round(c-n.width/2):n.y=Math.round(c-n.height/2),this.getModel().setGeometry(d[f].cell,n))}}finally{this.getModel().endUpdate()}}}return a};
Graph.prototype.isCloneEvent=function(b){return mxClient.IS_MAC&&mxEvent.isMetaDown(b)||mxEvent.isControlDown(b)};Graph.prototype.encodeCells=function(b){for(var a=this.cloneCells(b),d=0;d<a.length;d++){var c=this.view.getState(b[d]);if(null!=c){var e=this.getCellGeometry(a[d]);null!=e&&e.relative&&(e.relative=!1,e.x=c.x/c.view.scale-c.view.translate.x,e.y=c.y/c.view.scale-c.view.translate.y)}}for(var c=new mxCodec,e=new mxGraphModel,f=e.getChildAt(e.getRoot(),0),d=0;d<b.length;d++)e.add(f,a[d]);
return c.encode(e)};Graph.prototype.createSvgImageExport=function(){var b=new mxImageExport;b.getLinkForCellState=mxUtils.bind(this,function(b,a){return this.getLinkForCell(b.cell)});return b};Graph.prototype.getSvg=function(b,a,d,c,e,f,g){a=null!=a?a:1;d=null!=d?d:1;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;c=c?this.view.getBackgroundPageBounds():f?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==c)throw Error(mxResources.get("drawingEmpty"));var k=this.createSvgImageExport(),
l=k.drawCellState;k.drawCellState=function(b,a){(f||b.view.graph.isCellSelected(b.cell))&&l.apply(this,arguments)};var n=this.view.scale,m=mxUtils.createXmlDocument(),t=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"svg"):m.createElement("svg");null!=b&&(null!=t.style?t.style.backgroundColor=b:t.setAttribute("style","background-color:"+b));null==m.createElementNS?(t.setAttribute("xmlns",mxConstants.NS_SVG),t.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):t.setAttributeNS("http://www.w3.org/2000/xmlns/",
"xmlns:xlink",mxConstants.NS_XLINK);b=a/n;t.setAttribute("width",Math.ceil(c.width*b)+2*d+"px");t.setAttribute("height",Math.ceil(c.height*b)+2*d+"px");t.setAttribute("version","1.1");var u=t;e&&(u=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"g"):m.createElement("g"),u.setAttribute("transform","translate(0.5,0.5)"),t.appendChild(u));m.appendChild(t);m=new mxSvgCanvas2D(u);m.foOffset=e?-0.5:0;m.textOffset=e?-0.5:0;m.translate(Math.floor((d/a-c.x)/n),Math.floor((d/a-c.y)/n));var q=
m.createAlternateContent;m.createAlternateContent=function(b,a,d,c,e,f,g,k,l,n,m,t,u){var v=this.state;if(null!=this.foAltText&&(0==c||0!=v.fontSize&&f.length<5*c/v.fontSize)){var p=this.createElement("text");p.setAttribute("x",Math.round(c/2));p.setAttribute("y",Math.round((e+v.fontSize)/2));p.setAttribute("fill",v.fontColor||"black");p.setAttribute("text-anchor","middle");p.setAttribute("font-size",Math.round(v.fontSize)+"px");p.setAttribute("font-family",v.fontFamily);(v.fontStyle&mxConstants.FONT_BOLD)==
mxConstants.FONT_BOLD&&p.setAttribute("font-weight","bold");(v.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&p.setAttribute("font-style","italic");(v.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&p.setAttribute("text-decoration","underline");mxUtils.write(p,f);return p}return q.apply(this,arguments)};d=this.backgroundImage;null!=d&&(e=n/a,a=this.view.translate,e=new mxRectangle(a.x*e,a.y*e,d.width*e,d.height*e),mxUtils.intersects(c,e)&&m.image(a.x,a.y,d.width,d.height,
d.src,!0));m.scale(b);m.textEnabled=g;k.drawState(this.getView().getState(this.model.root),m);return t};Graph.prototype.getSelectedElement=function(){var b=null;if(window.getSelection){var a=window.getSelection();a.getRangeAt&&a.rangeCount&&(b=a.getRangeAt(0).commonAncestorContainer)}else document.selection&&(b=document.selection.createRange().parentElement());return b};Graph.prototype.getParentByName=function(b,a,d){for(;null!=b&&b.nodeName!=a;){if(b==d)return null;b=b.parentNode}return b};Graph.prototype.selectNode=
function(b){var a=null;if(window.getSelection){if(a=window.getSelection(),a.getRangeAt&&a.rangeCount){var d=document.createRange();d.selectNode(b);a.removeAllRanges();a.addRange(d)}}else if((a=document.selection)&&"Control"!=a.type)b=a.createRange(),b.collapse(!0),d=a.createRange(),d.setEndPoint("StartToStart",b),d.select()};Graph.prototype.insertRow=function(b,a){for(var d=b.tBodies[0],c=0<d.rows.length?d.rows[0].cells.length:1,d=d.insertRow(a),e=0;e<c;e++)mxUtils.br(d.insertCell(-1));return d.cells[0]};
Graph.prototype.deleteRow=function(b,a){b.tBodies[0].deleteRow(a)};Graph.prototype.insertColumn=function(b,a){var d=b.tHead;if(null!=d)for(var c=0;c<d.rows.length;c++){var e=document.createElement("th");d.rows[c].appendChild(e);mxUtils.br(e)}d=b.tBodies[0];for(c=0;c<d.rows.length;c++)e=d.rows[c].insertCell(a),mxUtils.br(e);return d.rows[0].cells[0<=a?a:d.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(b,a){if(0<=a)for(var d=b.tBodies[0].rows,c=0;c<d.length;c++)d[c].cells.length>a&&
d[c].deleteCell(a)};Graph.prototype.pasteHtmlAtCaret=function(b){var a;if(window.getSelection){if(a=window.getSelection(),a.getRangeAt&&a.rangeCount){a=a.getRangeAt(0);a.deleteContents();var d=document.createElement("div");d.innerHTML=b;b=document.createDocumentFragment();for(var c;c=d.firstChild;)lastNode=b.appendChild(c);a.insertNode(b)}}else(a=document.selection)&&"Control"!=a.type&&a.createRange().pasteHTML(b)};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=
this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(b,a){this.popupMenuHandler.hideMenu()});var b=this.updateMouseEvent;this.updateMouseEvent=function(a){a=b.apply(this,arguments);if(mxEvent.isTouchEvent(a.getEvent())&&null==a.getState()){var d=this.getCellAt(a.graphX,a.graphY);null!=d&&this.isSwimlane(d)&&this.hitsSwimlaneContent(d,a.graphX,a.graphY)||(a.state=this.view.getState(d),null!=a.state&&null!=a.state.shape&&(this.container.style.cursor=a.state.shape.node.style.cursor))}null==
a.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return a};var a=!1,d=!1,c=!1,e=this.fireMouseEvent;this.fireMouseEvent=function(b,f,g){b==mxEvent.MOUSE_DOWN&&(f=this.updateMouseEvent(f),a=this.isCellSelected(f.getCell()),d=this.isSelectionEmpty(),c=this.popupMenuHandler.isMenuShowing());e.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(b,e){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==e.getState()||!e.isSource(e.getState().control))&&
(this.popupMenuHandler.popupTrigger||!c&&!mxEvent.isMouseEvent(e.getEvent())&&(d&&null==e.getCell()&&this.isSelectionEmpty()||a&&this.isCellSelected(e.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var b=this.graph.view.getState(this.editingCell);return null!=b&&1==b.style.html};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){if(sel=window.getSelection(),sel.getRangeAt&&sel.rangeCount){for(var b=
[],a=0,d=sel.rangeCount;a<d;++a)b.push(sel.getRangeAt(a));return b}}else if(document.selection&&document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(b){if(b)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var a=0,d=b.length;a<d;++a)sel.addRange(b[a])}else document.selection&&b.select&&b.select()};var b=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=
a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br","1"));b.apply(this,arguments)};var e=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(b,a){this.isKeepFocusEvent(b)||!mxEvent.isAltDown(b.getEvent())?e.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(b){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var g=mxCellEditor.prototype.startEditing;
mxCellEditor.prototype.startEditing=function(b,a){g.apply(this,arguments);var d=this.graph.view.getState(b);this.textarea.className=null!=d&&1==d.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(b);null==this.textarea&&this.init();var d=this.graph.getModel().getParent(b),c=this.graph.getCellGeometry(b);this.graph.getModel().isEdge(d)&&null!=c&&c.relative||this.graph.getModel().isEdge(b)?mxClient.IS_QUIRKS?
this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var k=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(b){function a(b,d){d.originalNode=b;b=b.firstChild;for(var c=d.firstChild;null!=b&&null!=c;)a(b,c),b=b.nextSibling,c=c.nextSibling;return d}function d(b,a){if(a.originalNode!=
b)c(b);else{b=b.firstChild;for(a=a.firstChild;null!=b;){var e=b.nextSibling;null==a?c(b):(d(b,a),a=a.nextSibling);b=e}}}function c(b){for(var a=b.firstChild;null!=a;){var d=a.nextSibling;c(a);a=d}(1!=b.nodeType||"BR"!==b.nodeName&&null==b.firstChild)&&(3!=b.nodeType||0==mxUtils.trim(mxUtils.getTextContent(b)).length)?b.parentNode.removeChild(b):(3==b.nodeType&&mxUtils.setTextContent(b,mxUtils.getTextContent(b).replace(/\n|\r/g,"")),1==b.nodeType&&(b.removeAttribute("style"),b.removeAttribute("class"),
b.removeAttribute("width"),b.removeAttribute("cellpadding"),b.removeAttribute("cellspacing"),b.removeAttribute("border")))}k.apply(this,arguments);!mxClient.IS_QUIRKS&&7!==document.documentMode&&8!==document.documentMode&&mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(b){var c=a(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){d(this.textarea,c)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var b=this.graph.view.getState(this.editingCell),
a=null!=b&&"0"!=mxUtils.getValue(b.style,"nl2Br","1"),d=this.saveSelection();if(this.codeViewMode){k=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0<k.length&&"\n"==k.charAt(k.length-1)&&(k=k.substring(0,k.length-1));k=this.graph.sanitizeHtml(a?k.replace(/\n/g,"\x3cbr/\x3e"):k);this.textarea.className="mxCellEditor geContentEditable";var c=mxUtils.getValue(b.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),a=mxUtils.getValue(b.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),
e=mxUtils.getValue(b.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),f=(mxUtils.getValue(b.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,g=(mxUtils.getValue(b.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,b=(mxUtils.getValue(b.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(c*mxConstants.LINE_HEIGHT)+
"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(c)+"px";this.textarea.style.textDecoration=b?"underline":"";this.textarea.style.fontWeight=f?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=a;this.textarea.style.textAlign=e;this.textarea.style.padding="0px";this.textarea.innerHTML!=k&&(this.textarea.innerHTML=k,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length));
this.codeViewMode=!1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var k=mxUtils.htmlEntities(this.textarea.innerHTML);!mxClient.IS_QUIRKS&&8!=document.documentMode&&(k=mxUtils.replaceTrailingNewlines(k,"\x3cdiv\x3e\x3cbr\x3e\x3c/div\x3e"));k=this.graph.sanitizeHtml(a?k.replace(/\n/g,"").replace(/&lt;br\s*.?&gt;/g,"\x3cbr\x3e"):k);this.textarea.className="mxCellEditor mxPlainTextEditor";c=mxConstants.DEFAULT_FONTSIZE;
this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(c*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(c)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=k&&(this.textarea.innerHTML=k);this.codeViewMode=!0}this.textarea.focus();
null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=d;this.resize()};var l=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(b,a){b=this.graph.getView().getState(this.editingCell);if(this.codeViewMode&&null!=b){var d=b.view.scale;this.bounds=mxRectangle.fromRectangle(b);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*d;this.bounds.height=60*d;var c=null!=b.text?b.text.margin:null;null==c&&(c=mxUtils.getAlignmentAsPoint(mxUtils.getValue(b.style,
mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(b.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=c.x*this.bounds.width;this.bounds.y+=c.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/d)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/d)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/d)+(this.textarea.offsetHeight-
this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*d);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/d)+(this.textarea.offsetWidth-this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.width)*d);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=Math.round(this.bounds.y)+"px";mxClient.IS_VML?this.textarea.style.zoom=d:mxUtils.setPrefixedStyle(this.textarea.style,
"transform","scale("+d+","+d+")")}else this.textarea.style.height="",this.textarea.style.overflow="",l.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(b,a){if("0"==mxUtils.getValue(b.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var d=this.graph.getEditingValue(b.cell,a);"1"==mxUtils.getValue(b.style,"nl2Br","1")&&(d=d.replace(/\n/g,"\x3cbr/\x3e"));return this.graph.sanitizeHtml(d)};
mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(b){if("0"==mxUtils.getValue(b.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var a=this.graph.sanitizeHtml(this.textarea.innerHTML);return"1"==mxUtils.getValue(b.style,"nl2Br","1")?a.replace(/\r\n/g,"\x3cbr/\x3e").replace(/\n/g,"\x3cbr/\x3e"):a.replace(/\r\n/g,"").replace(/\n/g,"")};var n=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=
function(b){this.codeViewMode&&this.toggleViewMode();n.apply(this,arguments);try{this.graph.container.focus()}catch(a){}};var m=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(b,a){this.graph.getModel().beginUpdate();try{if(m.apply(this,arguments),this.graph.isCellDeletable(b.cell)){var d=mxUtils.getValue(b.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(b.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==mxUtils.trim(a||"")&&d==mxConstants.NONE&&
c==mxConstants.NONE&&this.graph.removeCells([b.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(b){var a=null;if(this.graph.getModel().isEdge(b.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(b.cell)))a=mxUtils.getValue(b.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null),a==mxConstants.NONE&&(a=null);return a};mxCellEditor.prototype.getMinimumSize=function(b){var a=this.graph.getView().scale;return new mxRectangle(0,0,
null==b.text?30:b.text.size*a+20,30)};mxGraphHandler.prototype.updateHint=function(b){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var d=this.graph.view.translate,c=this.graph.view.scale;b=this.roundLength((this.bounds.x+this.currentDx)/c-d.x);d=this.roundLength((this.bounds.y+this.currentDy)/c-d.y);this.hint.innerHTML=b+", "+d;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=
this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};mxVertexHandler.prototype.isRecursiveResize=function(b,a){return!this.graph.isSwimlane(b.cell)&&0<this.graph.model.getChildCount(b.cell)&&!mxEvent.isControlDown(a.getEvent())&&!this.graph.isCellCollapsed(b.cell)&&"1"==mxUtils.getValue(b.style,"recursiveResize","1")&&null==mxUtils.getValue(b.style,"childLayout",null)};mxVertexHandler.prototype.isCenteredEvent=
function(b,a){return!(!this.graph.isSwimlane(b.cell)&&0<this.graph.model.getChildCount(b.cell)&&!this.graph.isCellCollapsed(b.cell)&&"1"==mxUtils.getValue(b.style,"recursiveResize","1")&&null==mxUtils.getValue(b.style,"childLayout",null))&&mxEvent.isControlDown(a.getEvent())||mxEvent.isMetaDown(a.getEvent())};var p=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var b=new mxPoint(0,0),a=this.tolerance;this.graph.cellEditor.getEditingCell()==this.state.cell&&
null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(a/=2,b.x=this.sizers[0].bounds.width+a,b.y=this.sizers[0].bounds.height+a):b=p.apply(this,arguments);return b};mxVertexHandler.prototype.updateHint=function(b){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)),this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+"\x26deg;":(b=this.state.view.scale,this.hint.innerHTML=this.roundLength(this.bounds.width/
b)+" x "+this.roundLength(this.bounds.height/b)),b=mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0"),null==b&&(b=this.bounds),this.hint.style.left=b.x+Math.round((b.width-this.hint.clientWidth)/2)+"px",this.hint.style.top=b.y+b.height+12+"px")};mxVertexHandler.prototype.removeHint=mxGraphHandler.prototype.removeHint;mxEdgeHandler.prototype.updateHint=function(b,d){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));
var c=this.graph.view.translate,e=this.graph.view.scale,f=this.roundLength(d.x/e-c.x),c=this.roundLength(d.y/e-c.y);this.hint.innerHTML=f+", "+c;this.hint.style.visibility="visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(f=this.constraintHandler.currentConstraint.point,this.hint.innerHTML="["+Math.round(100*f.x)+"%, "+Math.round(100*f.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=
Math.round(b.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(b.getGraphY(),d.y)+this.state.view.graph.gridSize+"px";null!=this.hideEdgeHintThread&&window.clearTimeout(this.hideEdgeHintThread);this.hideEdgeHintThread=window.setTimeout(mxUtils.bind(this,function(){null!=this.hint&&(this.hint.style.visibility="hidden")}),500)};mxEdgeHandler.prototype.removeHint=mxGraphHandler.prototype.removeHint;var r=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAACXBIWXMAAAsTAAALEwEAmpwYAAABLUlEQVQ4y61US4rCQBBNeojiRrLSnbMOWWU3V1FPouARcgc9hyLOCSSbYZw5gRCIkM9KbevJaycS4zCOBY+iq6pf1y+xrNtiE6oEY/tVzMUXgSNoCJrUDu3qHpldutwSuIKOoEvt0m7I7DoCvNj2fb8XRdEojuN5lmVraJxhh59xFSLFF9phGL7lef6hRb63R73aHM8aAjv8JHJ47yqLlud5r0VRbHa51sPZQVuT/QU4ww4/4ljaJRubrC5SxouD6TWBQV/sEIkbs0eOIVGssSO1L5D6LQID+BHHZjdMSYpj7KZpun7/uk8CP5rNqTXLJP/OpNyTMWruP9CTP08nCILKdCp7gkCzJ8vPnz2BvW5PKhuLjJBykiQLaWIEjTP3o3Zjn/LtPO0rfvh/cgKu7z6wtPPltQAAAABJRU5ErkJggg\x3d\x3d":
IMAGE_PATH+"/handle-main.png",17,17),s=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkE1NkU4Njk2QjI1MTFFNEFDMjFGQTcyODkzNTc3NkYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkE1NkU4NkE2QjI1MTFFNEFDMjFGQTcyODkzNTc3NkYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QTU2RTg2NzZCMjUxMUU0QUMyMUZBNzI4OTM1Nzc2RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QTU2RTg2ODZCMjUxMUU0QUMyMUZBNzI4OTM1Nzc2RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pmuk6K8AAAGBSURBVHjarFRBSsNQEM3/atNs6qLowixcKELoqjuXoqfQeoF6BMEj9BCC1YIXcCGlV8hGLNZlBKWlCk1JSs13Xvw/nca6UDrwmMzMy8tk/iTCWmwi52Eq53+QeWwg2bXSSNi1WiRibgRWCTahwEQmhJgw1WJGML2BC6wQnEqlsuH7fr3f7zdHo9EdPGLkUdc8mX8TJNYIpUajsR+G4YMie3pNVKebpB6GPOrgab7kr5F24Hne9ng87r6HStUuP5V1Mc2AGHnUwWMdCck6sVut1onjOHtnt4nV7M0fAuI65VEnXk3PTFq5Eyi4rnvUe1PW9fO3QOdUzvkbyqNOvEM2dMEHK2zbLr98zJ5+cJWkAvDGUC8Wi2X28Gww6bnHcTzYWp+JGAHTCQz1KIoGfFckCyZBELR3N4V1vCOyTrhHHnXw9N5kQn8+nWq1Onc6C/cERLMn7cfZniD/257wbjDxEjqiDT0fDof3tLE+PGK9HyXNy7pYyrez9K/43/+TLwEGAMb7AY6w980DAAAAAElFTkSuQmCC":
IMAGE_PATH+"/handle-fixed.png",17,17),q=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEMzRUVERTk2NzU1MTFFNTg5NjNEMjREQ0FFNENFQzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEMzRUVERUE2NzU1MTFFNTg5NjNEMjREQ0FFNENFQzgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowQzNFRURFNzY3NTUxMUU1ODk2M0QyNERDQUU0Q0VDOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowQzNFRURFODY3NTUxMUU1ODk2M0QyNERDQUU0Q0VDOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Poj8AGUAAAF6SURBVHjarFTBSsNAEM2u2jSXeCh6sAcPilB6ys2j6Fdo/YH6CYKf0I8QrBb8AQ9S+gu5iMV6jKC0VCEJTalZ54VNnMR4ULrwmJ2Zt5PZmdkIo3yJgsRSBfmDzPUUku2VRsz2qixIehBYJZiECgsyJ0SEhQ6WBkwO8AArBKvZbG64rtsej8dd3/fvIKHDDr/myeJNYFgj2J1OZz8IggdF6+k1VoNhnEgs2OEHT/Mlv0aSQaPR2A7DcPgeKNW6/FTGxSIDdNjhB49lJCTLxOz1eieWZe2d3cZGd5RvAvQ22eEnXkvXTBqFDlTq9frR6E0Z18+qtO83ZIefeIes6IIXVpimWXv5yB8cnMqcDn+1Wq2xj2eFSfoeRdFkaz0f5OAqzunwz2azCZ8VyZS553n93U1hHO+I0uvADj94em6yQH/ujuM4ue6UzgmI6Zz0H7/nBPbf5oRng4rbyIgm9Hw6nd7TxLqQ0PV82JqXZbGUt7P0V/zv/8mXAAMASSz1f9Cd7ycAAAAASUVORK5CYII\x3d":
IMAGE_PATH+"/handle-terminal.png",17,17),u=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEJBMUVERjNEMkZDMTFFM0I0Qzc5RkE1RTc2NjI0OUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEJBMUVERjREMkZDMTFFM0I0Qzc5RkE1RTc2NjI0OUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowQkExRURGMUQyRkMxMUUzQjRDNzlGQTVFNzY2MjQ5QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowQkExRURGMkQyRkMxMUUzQjRDNzlGQTVFNzY2MjQ5QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvXDOj4AAAFqSURBVHjarFTNToNAEN5FLeiBmDRe7MGLF4IXbp71KapP4CPoO/QdvKiv4ME0PkAvJI2J0SueIHgAAk3b7XxkwSlgE38mmSwz8+3HsPMtUnSbbKww1VhbYB5XbrBnpX3JnlUXSbURvk1ukvcYyYy8IJ9rsoqw3MAJtsh3Xdc98H3/KgzDuyRJHrEiRh51jTOaX4LEDrk9Go1O0zR9UWTL9E0to+dyhSGPOnAab/DPKDtwHOcoy7LXz1SpxeRSzW9F7YiRRx041pGsSMC6Ty1f442LycUawRfRsOyIcDfA632ST6A3GAzOVfYu1PS+c+5q+iBQJ9wZO3TJD1aaptkX+YfYaFS3LKvPXl4fTDn3oigiYR1uJqF6nucR14rBglkQBGO5dyzkybBbxpRHHTitm5rox9PxPK81nZZOAKx1Eo5rnSD/nU54NzhxGx1hjHEcP5FifayItT5sjVvTyJ/vzr/f4l//T1YCDAC4VAdLL1OIRAAAAABJRU5ErkJggg\x3d\x3d":
IMAGE_PATH+"/handle-secondary.png",17,17),t=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAVCAYAAACkCdXRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAA6ZJREFUeNqM001IY1cUB/D/fYmm2sbR2lC1zYlgoRG6MpEyBlpxM9iFIGKFIm3s0lCKjOByhCLZCFqLBF1YFVJdSRbdFHRhBbULtRuFVBTzYRpJgo2mY5OX5N9Fo2TG+eiFA/dd3vvd8+65ByTxshARTdf1JySp6/oTEdFe9T5eg5lIcnBwkCSZyWS+exX40oyur68/KxaLf5Okw+H4X+A9JBaLfUySZ2dnnJqaosPhIAACeC34DJRKpb7IZrMcHx+nwWCgUopGo/EOKwf9fn/1CzERUevr6+9ls1mOjIwQAH0+H4PBIKPR6D2ofAQCgToRUeVYJUkuLy8TANfW1kiS8/PzCy84Mw4MDBAAZ2dnmc/nub+/X0MSEBF1cHDwMJVKsaGhgV6vl+l0mqOjo1+KyKfl1dze3l4NBoM/PZ+diFSLiIKIGBOJxA9bW1sEwNXVVSaTyQMRaRaRxrOzs+9J8ujoaE5EPhQRq67rcZ/PRwD0+/3Udf03EdEgIqZisZibnJykwWDg4eEhd3Z2xkXELCJvPpdBrYjUiEhL+Xo4HH4sIhUaAKNSqiIcDsNkMqG+vh6RSOQQQM7tdhsAQCkFAHC73UUATxcWFqypVApmsxnDw8OwWq2TADQNgAYAFosF+XweyWQSdru9BUBxcXFRB/4rEgDcPouIIx6P4+bmBi0tLSCpAzBqAIqnp6c/dnZ2IpfLYXNzE62traMADACKNputpr+/v8lms9UAKAAwiMjXe3t7KBQKqKurQy6Xi6K0i2l6evpROp1mbW0t29vbGY/Hb8/IVIqq2zlJXl1dsaOjg2azmefn5wwEAl+JSBVExCgi75PkzMwMlVJsbGxkIpFgPp8PX15ePopEIs3JZPITXdf/iEajbGpqolKKExMT1HWdHo/nIxGpgIgoEXnQ3d39kCTHxsYIgC6Xi3NzcwyHw8xkMozFYlxaWmJbWxuVUuzt7WUul6PX6/1cRN4WEe2uA0SkaWVl5XGpRVhdXU0A1DSNlZWVdz3qdDrZ09PDWCzG4+Pjn0XEWvp9KJKw2WwKwBsA3gHQHAqFfr24uMDGxgZ2d3cRiUQAAHa7HU6nE319fTg5Ofmlq6vrGwB/AngaCoWK6rbsNptNA1AJoA7Aux6Pp3NoaMhjsVg+QNmIRqO/u1yubwFEASRKUAEA7rASqABUAKgC8KAUb5XWCOAfAFcA/gJwDSB7C93DylCtdM8qABhLc5TumV6KQigUeubjfwcAHkQJ94ndWeYAAAAASUVORK5CYII\x3d":
IMAGE_PATH+"/handle-rotate.png",19,21);mxVertexHandler.prototype.handleImage=r;mxVertexHandler.prototype.secondaryHandleImage=u;mxEdgeHandler.prototype.handleImage=r;mxEdgeHandler.prototype.terminalHandleImage=q;mxEdgeHandler.prototype.fixedHandleImage=s;mxEdgeHandler.prototype.labelHandleImage=u;mxOutline.prototype.sizerImage=r;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight,Sidebar.prototype.triangleDown=
HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxClient.IS_SVG||((new Image).src=r.src,(new Image).src=s.src,(new Image).src=q.src,(new Image).src=u.src,(new Image).src=t.src,(new Image).src=HoverIcons.prototype.triangleUp.src,(new Image).src=HoverIcons.prototype.triangleRight.src,(new Image).src=HoverIcons.prototype.triangleDown.src,
(new Image).src=HoverIcons.prototype.triangleLeft.src,(new Image).src=HoverIcons.prototype.refreshTarget.src,(new Image).src=HoverIcons.prototype.roundDrop.src);mxVertexHandler.prototype.rotationEnabled=!0;mxVertexHandler.prototype.manageSizers=!0;mxVertexHandler.prototype.livePreview=!0;mxRubberband.prototype.defaultOpacity=30;mxConnectionHandler.prototype.outlineConnect=!0;mxCellHighlight.prototype.keepOnTop=!0;mxVertexHandler.prototype.parentHighlightEnabled=!0;mxVertexHandler.prototype.rotationHandleVSpacing=
-20;mxEdgeHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.dblClickRemoveEnabled=!0;mxEdgeHandler.prototype.straightRemoveEnabled=!0;mxEdgeHandler.prototype.virtualBendsEnabled=!0;mxEdgeHandler.prototype.mergeRemoveEnabled=!0;mxEdgeHandler.prototype.manageLabelHandle=!0;mxEdgeHandler.prototype.outlineConnect=!0;mxEdgeHandler.prototype.isAddVirtualBendEvent=function(b){return!mxEvent.isShiftDown(b.getEvent())};mxEdgeHandler.prototype.isCustomHandleEvent=function(b){return!mxEvent.isShiftDown(b.getEvent())};
if(Graph.touchStyle){if(mxClient.IS_TOUCH||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints)mxShape.prototype.svgStrokeTolerance=18,mxVertexHandler.prototype.tolerance=12,mxEdgeHandler.prototype.tolerance=12,Graph.prototype.tolerance=12,mxVertexHandler.prototype.rotationHandleVSpacing=-24,mxConstraintHandler.prototype.getTolerance=function(b){return mxEvent.isMouseEvent(b.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(b){var a=b.getEvent();return null==
b.getState()&&!mxEvent.isMouseEvent(a)||mxEvent.isPopupTrigger(a)&&(null==b.getState()||mxEvent.isControlDown(a)||mxEvent.isShiftDown(a))};var v=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(b,a){v.apply(this,arguments);mxEvent.isTouchEvent(a.getEvent())&&this.graph.isCellSelected(a.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(b){var a=b.getEvent();return mxEvent.isLeftMouseButton(a)&&
(this.useLeftButtonForPanning&&null==b.getState()||mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a))||this.usePopupTrigger&&mxEvent.isPopupTrigger(a)};mxRubberband.prototype.isSpaceEvent=function(b){return this.graph.isEnabled()&&!this.graph.isCellLocked(this.graph.getDefaultParent())&&mxEvent.isControlDown(b.getEvent())&&mxEvent.isShiftDown(b.getEvent())};mxRubberband.prototype.mouseUp=function(b,a){var d=null!=this.div&&"none"!=this.div.style.display,c=null,e=null,f=null,g=null;null!=this.first&&
null!=this.currentX&&null!=this.currentY&&(c=this.first.x,e=this.first.y,f=(this.currentX-c)/this.graph.view.scale,g=(this.currentY-e)/this.graph.view.scale,mxEvent.isAltDown(a.getEvent())||(f=this.graph.snap(f),g=this.graph.snap(g)));this.reset();if(d){if(this.isSpaceEvent(a)){this.graph.model.beginUpdate();try{for(var k=this.graph.getCellsBeyond(c,e,this.graph.getDefaultParent(),!0,!1),l=this.graph.getCellsBeyond(c,e,this.graph.getDefaultParent(),!1,!0),d=0;d<k.length;d++)if(this.graph.isCellMovable(k[d])){var n=
this.graph.view.getState(k[d]),m=this.graph.getCellGeometry(k[d]);null!=n&&null!=m&&(m=m.clone(),m.translate(f,0),this.graph.model.setGeometry(k[d],m))}for(d=0;d<l.length;d++)this.graph.isCellMovable(l[d])&&(n=this.graph.view.getState(l[d]),m=this.graph.getCellGeometry(l[d]),null!=n&&null!=m&&(m=m.clone(),m.translate(0,g),this.graph.model.setGeometry(l[d],m)))}catch(t){null!=window.console&&console.log("Error in rubberband: "+t)}finally{this.graph.model.endUpdate()}}else f=new mxRectangle(this.x,
this.y,this.width,this.height),this.graph.selectRegion(f,a.getEvent());a.consume()}};mxRubberband.prototype.mouseMove=function(b,a){if(!a.isConsumed()&&null!=this.first){var d=mxUtils.getScrollOrigin(this.graph.container),c=mxUtils.getOffset(this.graph.container);d.x-=c.x;d.y-=c.y;var e=a.getX()+d.x,f=a.getY()+d.y,g=this.first.x-e,k=this.first.y-f,l=this.graph.tolerance;if(null!=this.div||Math.abs(g)>l||Math.abs(k)>l)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(e,
f),this.isSpaceEvent(a)?(e=this.x+this.width,f=this.y+this.height,g=this.graph.view.scale,mxEvent.isAltDown(a.getEvent())||(this.width=this.graph.snap(this.width/g)*g,this.height=this.graph.snap(this.height/g)*g,this.x<this.first.x&&(this.x=e-this.width),this.y<this.first.y&&(this.y=f-this.height)),this.div.style.left=this.x+"px",this.div.style.top=d.y+c.y+"px",this.div.style.width=Math.max(0,this.width)+"px",this.div.style.height=Math.max(0,this.graph.container.clientHeight)+"px",this.div.style.backgroundColor=
"white",this.div.style.borderWidth="0px 1px 0px 1px",this.div.style.borderStyle="dashed",null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=d.x+c.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=Math.max(0,this.graph.container.clientWidth)+"px",this.secondDiv.style.height=Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth="1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth=
"",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),a.consume()}};var z=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);z.apply(this,arguments)};var y=(new Date).getTime(),x=0,D=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(b,a,d,c){D.apply(this,arguments);
d!=this.currentTerminalState?(y=(new Date).getTime(),x=0):x=(new Date).getTime()-y;this.currentTerminalState=d};var A=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(b){return null!=this.currentTerminalState&&b.getState()==this.currentTerminalState&&2E3<x||(null==this.currentTerminalState||"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&A.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(b){return!mxEvent.isShiftDown(b.getEvent())};
mxEdgeHandler.prototype.createHandleShape=function(b,a){var d=null!=b&&0==b,c=this.state.getVisibleTerminalState(d),e=null!=b&&(0==b||b>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==b)?this.graph.getConnectionConstraint(this.state,c,d):null,d=null!=(null!=e?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(d),e):null)?this.fixedHandleImage:null!=e&&null!=c?this.terminalHandleImage:this.handleImage;if(null!=d)return d=new mxImageShape(new mxRectangle(0,
0,d.width,d.height),d.src),d.preserveImageAspect=!1,d;d=mxConstants.HANDLE_SIZE;this.preferHtml&&(d-=1);return new mxRectangleShape(new mxRectangle(0,0,d,d),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var B=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(b,a,d){this.handleImage=a==mxEvent.ROTATION_HANDLE?t:a==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return B.apply(this,arguments)};var E=mxGraphHandler.prototype.getBoundingBox;
mxGraphHandler.prototype.getBoundingBox=function(b){if(null!=b&&1==b.length){var a=this.graph.getModel(),d=a.getParent(b[0]),c=this.graph.getCellGeometry(b[0]);if(a.isEdge(d)&&null!=c&&c.relative&&(a=this.graph.view.getState(b[0]),null!=a&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox))return mxRectangle.fromRectangle(a.text.boundingBox)}return E.apply(this,arguments)};var G=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(b){var a=
this.graph.getModel(),d=a.getParent(b.cell),c=this.graph.getCellGeometry(b.cell);return a.isEdge(d)&&null!=c&&c.relative&&2>b.width&&2>b.height&&null!=b.text&&null!=b.text.boundingBox?(a=b.text.unrotatedBoundingBox||b.text.boundingBox,new mxRectangle(Math.round(a.x),Math.round(a.y),Math.round(a.width),Math.round(a.height))):G.apply(this,arguments)};var F=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(b,a){var d=this.graph.getModel(),c=d.getParent(this.state.cell),
e=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(a)==mxEvent.ROTATION_HANDLE||!d.isEdge(c)||null==e||!e.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&F.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=
function(){this.state.view.graph.turnShapes([this.state.cell])};var H=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(b,a){H.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var I=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(b,a){I.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=
1==this.graph.getSelectionCount()?"":"none")};var L=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){L.apply(this,arguments);var b=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var a=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=
this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(b,d){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(b,d){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell));a()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(b,
a){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var d=this.graph.getLinkForCell(this.state.cell);this.updateLinkHint(d);null!=d&&(b=!0);b&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b){if(null==b||1<this.graph.getSelectionCount())null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=b){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="4px 10px 6px 10px",
this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.updateLinkHint(b),this.graph.container.appendChild(this.linkHint));var d=b;60<d.length&&(d=d.substring(0,36)+"..."+d.substring(d.length-20));var c=document.createElement("a");c.setAttribute("href",this.graph.getLinkUrl(b));c.setAttribute("title",b);null!=this.graph.linkTarget&&c.setAttribute("target",this.graph.linkTarget);mxUtils.write(c,d);this.linkHint.innerHTML="";this.linkHint.appendChild(c);
this.graph.isEnabled()&&"function"===typeof this.graph.editLink&&(b=document.createElement("img"),b.setAttribute("src",IMAGE_PATH+"/edit.gif"),b.setAttribute("title",mxResources.get("editLink")),b.setAttribute("width","11"),b.setAttribute("height","11"),b.style.marginLeft="10px",b.style.marginBottom="-1px",b.style.cursor="pointer",this.linkHint.appendChild(b),mxEvent.addListener(b,"click",mxUtils.bind(this,function(b){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(b)})))}};
mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var O=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){O.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var b=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&
this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.selectionHandler=mxUtils.bind(this,function(a,d){b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,d){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell));b();this.redrawHandles()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);var a=this.graph.getLinkForCell(this.state.cell);null!=a&&(this.updateLinkHint(a),
this.redrawHandles())};var T=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){T.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var X=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){X.apply(this);if(null!=this.state&&null!=this.linkHint){var b=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),a=new mxRectangle(this.state.x,this.state.y-
22,this.state.width+24,this.state.height+22),b=mxUtils.getBoundingBox(a,this.state.style[mxConstants.STYLE_ROTATION]||"0",b),a=null!=b?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state;null==b&&(b=this.state);this.linkHint.style.left=Math.round(a.x+(a.width-this.linkHint.clientWidth)/2)+"px";this.linkHint.style.top=Math.round(b.y+b.height+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var R=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=
function(){R.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var C=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){C.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=
null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var N=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(N.apply(this),null!=this.state&&null!=this.linkHint)){var b=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(b=new mxRectangle(b.x,b.y,b.width,b.height),
b.add(this.state.text.bounds));this.linkHint.style.left=Math.round(b.x+(b.width-this.linkHint.clientWidth)/2)+"px";this.linkHint.style.top=Math.round(b.y+b.height+6+this.state.view.graph.tolerance)+"px"}};var P=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=function(){P.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var M=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){M.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),
this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null)}}();
(function(){function a(){mxCylinder.call(this)}function c(){mxActor.call(this)}function f(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function b(){mxCylinder.call(this)}function e(){mxActor.call(this)}function g(){mxCylinder.call(this)}function k(){mxActor.call(this)}function l(){mxActor.call(this)}function n(){mxActor.call(this)}function m(){mxActor.call(this)}function p(){mxActor.call(this)}function r(){mxActor.call(this)}function s(){mxActor.call(this)}function q(b,a){this.canvas=
b;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=a;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,q.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,q.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,q.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,q.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;
this.canvas.curveTo=mxUtils.bind(this,q.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,q.prototype.arcTo)}function u(){mxRectangleShape.call(this)}function t(){mxActor.call(this)}function v(){mxActor.call(this)}function z(){mxRectangleShape.call(this)}function y(){mxRectangleShape.call(this)}function x(){mxCylinder.call(this)}function D(){mxShape.call(this)}function A(){mxShape.call(this)}function B(){mxEllipse.call(this)}function E(){mxShape.call(this)}
function G(){mxShape.call(this)}function F(){mxRectangleShape.call(this)}function H(){mxShape.call(this)}function I(){mxShape.call(this)}function L(){mxShape.call(this)}function O(){mxCylinder.call(this)}function T(){mxDoubleEllipse.call(this)}function X(){mxDoubleEllipse.call(this)}function R(){mxArrowConnector.call(this);this.spacing=0}function C(){mxArrowConnector.call(this);this.spacing=0}function N(){mxActor.call(this)}function P(){mxRectangleShape.call(this)}function M(){mxActor.call(this)}
function U(){mxActor.call(this)}function J(){mxActor.call(this)}function K(){mxActor.call(this)}function S(){mxActor.call(this)}function Z(){mxActor.call(this)}function ea(){mxActor.call(this)}function da(){mxActor.call(this)}function V(){mxActor.call(this)}function Y(){mxEllipse.call(this)}function aa(){mxEllipse.call(this)}function W(){mxEllipse.call(this)}function Q(){mxRhombus.call(this)}function ga(){mxEllipse.call(this)}function ca(){mxEllipse.call(this)}function $(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}
function ia(){mxActor.call(this)}function ba(){mxActor.call(this)}function ka(){mxActor.call(this)}function va(b,a,d,c,e,f,g,k,l,n){g+=l;var m=c.clone();c.x-=e*(2*g+l);c.y-=f*(2*g+l);e*=g+l;f*=g+l;return function(){b.ellipse(m.x-e-g,m.y-f-g,2*g,2*g);n?b.fillAndStroke():b.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(b,a,d,c,e,f){a=Math.max(0,Math.min(c,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(b.moveTo(a,e),b.lineTo(a,a),
b.lineTo(0,0),b.moveTo(a,a),b.lineTo(c,a)):(b.moveTo(0,0),b.lineTo(c-a,0),b.lineTo(c,a),b.lineTo(c,e),b.lineTo(a,e),b.lineTo(0,e-a),b.lineTo(0,0),b.close());b.end()};mxCellRenderer.prototype.defaultShapes.cube=a;var sa=Math.tan(mxUtils.toRadians(30)),na=(0.5-sa)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(b,a,d,c,e){a=Math.min(c,e/sa);b.translate((c-a)/2,(e-a)/2+a/4);b.moveTo(0,0.25*a);b.lineTo(0.5*a,a*na);b.lineTo(a,0.25*a);b.lineTo(0.5*a,(0.5-na)*a);b.lineTo(0,
0.25*a);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.isoRectangle=c;mxUtils.extend(f,mxCylinder);f.prototype.size=20;f.prototype.redrawPath=function(b,a,d,c,e,f){a=Math.min(c,e/(0.5+sa));f?(b.moveTo(0,0.25*a),b.lineTo(0.5*a,(0.5-na)*a),b.lineTo(a,0.25*a),b.moveTo(0.5*a,(0.5-na)*a),b.lineTo(0.5*a,(1-na)*a)):(b.translate((c-a)/2,(e-a)/2),b.moveTo(0,0.25*a),b.lineTo(0.5*a,a*na),b.lineTo(a,0.25*a),b.lineTo(a,0.75*a),b.lineTo(0.5*a,(1-na)*a),b.lineTo(0,0.75*a),b.close());b.end()};mxCellRenderer.prototype.defaultShapes.isoCube=
f;mxUtils.extend(d,mxCylinder);d.prototype.redrawPath=function(b,a,d,c,e,f){a=Math.min(e/2,Math.round(e/8)+this.strokewidth-1);if(f&&null!=this.fill||!f&&null==this.fill)b.moveTo(0,a),b.curveTo(0,2*a,c,2*a,c,a),f||(b.stroke(),b.begin()),b.translate(0,a/2),b.moveTo(0,a),b.curveTo(0,2*a,c,2*a,c,a),f||(b.stroke(),b.begin()),b.translate(0,a/2),b.moveTo(0,a),b.curveTo(0,2*a,c,2*a,c,a),f||(b.stroke(),b.begin()),b.translate(0,-a);f||(b.moveTo(0,a),b.curveTo(0,-a/3,c,-a/3,c,a),b.lineTo(c,e-a),b.curveTo(c,
e+a/3,0,e+a/3,0,e-a),b.close())};d.prototype.getLabelBounds=function(b){var a=2.5*Math.min(b.height/2,Math.round(b.height/8)+this.strokewidth-1);if(!this.flipV&&(null==this.direction||this.direction==mxConstants.DIRECTION_EAST)||this.flipV&&this.direction==mxConstants.DIRECTION_WEST)b.y+=a,b.height-=a;else if(!this.flipV&&this.direction==mxConstants.DIRECTION_SOUTH||this.flipV&&this.direction==mxConstants.DIRECTION_NORTH)b.width-=a;else if(!this.flipV&&this.direction==mxConstants.DIRECTION_WEST||
this.flipV&&(null==this.direction||this.direction==mxConstants.DIRECTION_EAST))b.height-=a;else if(!this.flipV&&this.direction==mxConstants.DIRECTION_NORTH||this.flipV&&this.direction==mxConstants.DIRECTION_SOUTH)b.x+=a,b.width-=a;return b};mxCellRenderer.prototype.defaultShapes.datastore=d;mxUtils.extend(b,mxCylinder);b.prototype.size=30;b.prototype.redrawPath=function(b,a,d,c,e,f){a=Math.max(0,Math.min(c,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(b.moveTo(c-a,0),
b.lineTo(c-a,a),b.lineTo(c,a)):(b.moveTo(0,0),b.lineTo(c-a,0),b.lineTo(c,a),b.lineTo(c,e),b.lineTo(0,e),b.lineTo(0,0),b.close());b.end()};mxCellRenderer.prototype.defaultShapes.note=b;mxUtils.extend(e,mxActor);e.prototype.redrawPath=function(b,a,d,c,e){b.moveTo(0,0);b.quadTo(c/2,0.5*e,c,0);b.quadTo(0.5*c,e/2,c,e);b.quadTo(c/2,0.5*e,0,e);b.quadTo(0.5*c,e/2,0,0);b.end()};mxCellRenderer.prototype.defaultShapes["switch"]=e;mxUtils.extend(g,mxCylinder);g.prototype.tabWidth=60;g.prototype.tabHeight=20;
g.prototype.tabPosition="right";g.prototype.redrawPath=function(b,a,d,c,e,f){a=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));d=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);f?"left"==g?(b.moveTo(0,d),b.lineTo(a,d)):(b.moveTo(c-a,d),b.lineTo(c,d)):("left"==g?(b.moveTo(0,0),b.lineTo(a,0),b.lineTo(a,d),b.lineTo(c,d)):(b.moveTo(0,d),b.lineTo(c-a,d),
b.lineTo(c-a,0),b.lineTo(c,0)),b.lineTo(c,e),b.lineTo(0,e),b.lineTo(0,d),b.close());b.end()};mxCellRenderer.prototype.defaultShapes.folder=g;mxUtils.extend(k,mxActor);k.prototype.size=30;k.prototype.redrawPath=function(b,a,d,c,e){a=Math.max(0,Math.min(c,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(a,0),new mxPoint(c,0),new mxPoint(c,e),new mxPoint(0,e),new mxPoint(0,
a)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.card=k;mxUtils.extend(l,mxActor);l.prototype.size=0.4;l.prototype.redrawPath=function(b,a,d,c,e){a=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b.moveTo(0,a/2);b.quadTo(c/4,1.4*a,c/2,a/2);b.quadTo(3*c/4,a*(1-1.4),c,a/2);b.lineTo(c,e-a/2);b.quadTo(3*c/4,e-1.4*a,c/2,e-a/2);b.quadTo(c/4,e-a*(1-1.4),0,e-a/2);b.lineTo(0,a/2);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.tape=l;mxUtils.extend(n,
mxActor);n.prototype.size=0.3;n.prototype.redrawPath=function(b,a,d,c,e){a=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b.moveTo(0,0);b.lineTo(c,0);b.lineTo(c,e-a/2);b.quadTo(3*c/4,e-1.4*a,c/2,e-a/2);b.quadTo(c/4,e-a*(1-1.4),0,e-a/2);b.lineTo(0,a/2);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.document=n;mxUtils.extend(m,mxActor);m.prototype.size=0.2;m.prototype.redrawPath=function(b,a,d,c,e){a=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
"size",this.size))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,e),new mxPoint(a,0),new mxPoint(c,0),new mxPoint(c-a,e)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.parallelogram=m;mxUtils.extend(p,mxActor);p.prototype.size=0.2;p.prototype.redrawPath=function(b,a,d,c,e){a=c*Math.max(0,Math.min(0.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,
mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,e),new mxPoint(a,0),new mxPoint(c-a,0),new mxPoint(c,e)],this.isRounded,d,!0)};mxCellRenderer.prototype.defaultShapes.trapezoid=p;mxUtils.extend(r,mxActor);r.prototype.size=0.5;r.prototype.redrawPath=function(b,a,d,c,e){b.setFillColor(null);a=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(c,
0),new mxPoint(a,0),new mxPoint(a,e/2),new mxPoint(0,e/2),new mxPoint(a,e/2),new mxPoint(a,e),new mxPoint(c,e)],this.isRounded,d,!1);b.end()};mxCellRenderer.prototype.defaultShapes.curlyBracket=r;mxUtils.extend(s,mxActor);s.prototype.redrawPath=function(b,a,d,c,e){b.setStrokeWidth(1);b.setFillColor(this.stroke);a=c/5;b.rect(0,0,a,e);b.fillAndStroke();b.rect(2*a,0,a,e);b.fillAndStroke();b.rect(4*a,0,a,e);b.fillAndStroke()};mxCellRenderer.prototype.defaultShapes.parallelMarker=s;q.prototype.moveTo=
function(b,a){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=a;this.firstX=b;this.firstY=a};q.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};q.prototype.quadTo=function(b,a,d,c){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=d;this.lastY=c};q.prototype.curveTo=function(b,a,d,c,e,f){this.originalCurveTo.apply(this.canvas,
arguments);this.lastX=e;this.lastY=f};q.prototype.arcTo=function(b,a,d,c,e,f,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=g};q.prototype.lineTo=function(b,a){if(null!=this.lastX&&null!=this.lastY){var d=Math.abs(b-this.lastX),c=Math.abs(a-this.lastY),e=Math.sqrt(d*d+c*c);if(2>e)this.originalLineTo.apply(this.canvas,arguments);else{var f=Math.round(e/10),g=this.defaultVariation;5>f&&(f=5,g/=3);for(var k=function(b){return"number"===typeof b?b?0>b?-1:1:b===b?0:NaN:NaN},
l=k(b-this.lastX)*d/f,k=k(a-this.lastY)*c/f,d=d/e,c=c/e,e=0;e<f;e++){var n=l*e+this.lastX,m=k*e+this.lastY,t=(Math.random()-0.5)*g;this.originalLineTo.call(this.canvas,n-t*c,m-t*d)}this.originalLineTo.call(this.canvas,b,a)}}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=a};q.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=
this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var za=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint=function(b){null!=this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==b.handHiggle&&(b.handJiggle=new q(b,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));za.apply(this,arguments);null!=b.handJiggle&&(b.handJiggle.destroy(),delete b.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Aa=mxRectangleShape.prototype.isHtmlAllowed;
mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Aa.apply(this,arguments)};var Ba=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(b,a,d,c,e){if(null==b.handJiggle)Ba.apply(this,arguments);else{var f=!0;null!=this.style&&(f="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(f||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=
mxConstants.NONE){if(!f&&(null==this.fill||this.fill==mxConstants.NONE))b.pointerEvents=!1;b.begin();this.isRounded?(f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.min(c*f,e*f),b.moveTo(a+f,d),b.lineTo(a+c-f,d),b.quadTo(a+c,d,a+c,d+f),b.lineTo(a+c,d+e-f),b.quadTo(a+c,d+e,a+c-f,d+e),b.lineTo(a+f,d+e),b.quadTo(a,d+e,a,d+e-f),b.lineTo(a,d+f),b.quadTo(a,d,a+f,d)):(b.moveTo(a,d),b.lineTo(a+c,d),b.lineTo(a+c,d+e),b.lineTo(a,d+e),b.lineTo(a,
d));b.close();b.end();b.fillAndStroke()}}};var Ca=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(b,a,d,c,e){null==b.handJiggle&&Ca.apply(this,arguments)};mxUtils.extend(u,mxRectangleShape);u.prototype.size=0.1;u.prototype.isHtmlAllowed=function(){return!1};u.prototype.getLabelBounds=function(b){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var a=
b.width,d=b.height;b=new mxRectangle(b.x,b.y,a,d);var c=a*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,c=Math.max(c,Math.min(a*e,d*e));b.x+=c;b.width-=2*c}return b};u.prototype.paintForeground=function(b,a,d,c,e){var f=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g=mxUtils.getValue(this.style,
mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(c*g,e*g));b.begin();b.moveTo(a+f,d);b.lineTo(a+f,d+e);b.moveTo(a+c-f,d);b.lineTo(a+c-f,d+e);b.end();b.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.prototype.defaultShapes.process=u;mxUtils.extend(t,mxActor);t.prototype.size=0.2;t.prototype.redrawPath=function(b,a,d,c,e){a=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=mxUtils.getValue(this.style,
mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,0),new mxPoint(c-a,0),new mxPoint(c,e/2),new mxPoint(c-a,e),new mxPoint(0,e),new mxPoint(a,e/2)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.step=t;mxUtils.extend(v,mxHexagon);v.prototype.size=0.25;v.prototype.redrawPath=function(b,a,d,c,e){a=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
2;this.addPoints(b,[new mxPoint(a,0),new mxPoint(c-a,0),new mxPoint(c,0.5*e),new mxPoint(c-a,e),new mxPoint(a,e),new mxPoint(0,0.5*e)],this.isRounded,d,!0)};mxCellRenderer.prototype.defaultShapes.hexagon=v;mxUtils.extend(z,mxRectangleShape);z.prototype.isHtmlAllowed=function(){return!1};z.prototype.paintForeground=function(b,a,d,c,e){var f=Math.min(c/5,e/5)+1;b.begin();b.moveTo(a+c/2,d+f);b.lineTo(a+c/2,d+e-f);b.moveTo(a+f,d+e/2);b.lineTo(a+c-f,d+e/2);b.end();b.stroke();mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.prototype.defaultShapes.plus=z;var wa=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(b){if(1==this.style["double"]){var a=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(b.x+a,b.y+a,b.width-2*a,b.height-2*a)}return b};mxRhombus.prototype.paintVertexShape=function(b,a,d,c,e){wa.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var f=2*Math.max(2,this.strokewidth+
1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);a+=f;d+=f;c-=2*f;e-=2*f;0<c&&0<e&&(b.setShadow(!1),wa.apply(this,[b,a,d,c,e]))}};mxUtils.extend(y,mxRectangleShape);y.prototype.isHtmlAllowed=function(){return!1};y.prototype.getLabelBounds=function(b){if(1==this.style["double"]){var a=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(b.x+a,b.y+a,b.width-2*a,b.height-2*a)}return b};y.prototype.paintForeground=function(b,a,d,
c,e){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var f=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);a+=f;d+=f;c-=2*f;e-=2*f;0<c&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}b.setDashed(!1);var f=0,g=null;do{g=mxCellRenderer.prototype.defaultShapes[this.style["symbol"+f]];if(null!=g){var k=this.style["symbol"+f+"Align"],l=this.style["symbol"+f+"VerticalAlign"],n=this.style["symbol"+f+"Width"],m=this.style["symbol"+
f+"Height"],t=this.style["symbol"+f+"Spacing"]||0,u=this.style["symbol"+f+"ArcSpacing"];null!=u&&(t+=this.getArcSize(c+this.strokewidth,e+this.strokewidth)*u);var u=a,q=d,u=k==mxConstants.ALIGN_CENTER?u+(c-n)/2:k==mxConstants.ALIGN_RIGHT?u+(c-n-t):u+t,q=l==mxConstants.ALIGN_MIDDLE?q+(e-m)/2:l==mxConstants.ALIGN_BOTTOM?q+(e-m-t):q+t;b.save();k=new g;k.style=this.style;g.prototype.paintVertexShape.call(k,b,u,q,n,m);b.restore()}f++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.prototype.defaultShapes.ext=y;mxUtils.extend(x,mxCylinder);x.prototype.redrawPath=function(b,a,d,c,e,f){f?(b.moveTo(0,0),b.lineTo(c/2,e/2),b.lineTo(c,0),b.end()):(b.moveTo(0,0),b.lineTo(c,0),b.lineTo(c,e),b.lineTo(0,e),b.close())};mxCellRenderer.prototype.defaultShapes.message=x;mxUtils.extend(D,mxShape);D.prototype.paintBackground=function(b,a,d,c,e){b.translate(a,d);b.ellipse(c/4,0,c/2,e/4);b.fillAndStroke();b.begin();b.moveTo(c/2,e/4);b.lineTo(c/2,2*e/3);b.moveTo(c/2,
e/3);b.lineTo(0,e/3);b.moveTo(c/2,e/3);b.lineTo(c,e/3);b.moveTo(c/2,2*e/3);b.lineTo(0,e);b.moveTo(c/2,2*e/3);b.lineTo(c,e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.umlActor=D;mxUtils.extend(A,mxShape);A.prototype.getLabelBounds=function(b){return new mxRectangle(b.x+b.width/6,b.y,5*b.width/6,b.height)};A.prototype.paintBackground=function(b,a,d,c,e){b.translate(a,d);b.begin();b.moveTo(0,e/4);b.lineTo(0,3*e/4);b.end();b.stroke();b.begin();b.moveTo(0,e/2);b.lineTo(c/6,e/2);b.end();
b.stroke();b.ellipse(c/6,0,5*c/6,e);b.fillAndStroke()};mxCellRenderer.prototype.defaultShapes.umlBoundary=A;mxUtils.extend(B,mxEllipse);B.prototype.paintVertexShape=function(b,a,d,c,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);b.begin();b.moveTo(a+c/8,d+e);b.lineTo(a+7*c/8,d+e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.umlEntity=B;mxUtils.extend(E,mxShape);E.prototype.paintVertexShape=function(b,a,d,c,e){b.translate(a,d);b.begin();b.moveTo(c,0);b.lineTo(0,e);b.moveTo(0,
0);b.lineTo(c,e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.umlDestroy=E;mxUtils.extend(G,mxShape);G.prototype.getLabelBounds=function(b){return new mxRectangle(b.x,b.y+b.height/8,b.width,7*b.height/8)};G.prototype.paintBackground=function(b,a,d,c,e){b.translate(a,d);b.begin();b.moveTo(3*c/8,1.1*(e/8));b.lineTo(5*c/8,0);b.end();b.stroke();b.ellipse(0,e/8,c,7*e/8);b.fillAndStroke()};G.prototype.paintForeground=function(b,a,d,c,e){b.begin();b.moveTo(3*c/8,1.1*(e/8));b.lineTo(5*c/8,e/
4);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.umlControl=G;mxUtils.extend(F,mxRectangleShape);F.prototype.size=40;F.prototype.isHtmlAllowed=function(){return!1};F.prototype.getLabelBounds=function(b){var a=Math.max(0,Math.min(b.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(b.x,b.y,b.width,a)};F.prototype.paintBackground=function(b,a,d,c,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),
g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,b,a,d,c,f):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=F&&(g=new g,g.apply(this.state),b.save(),g.paintVertexShape(b,a,d,c,f),b.restore()));f<e&&(b.setDashed(!0),b.begin(),b.moveTo(a+c/2,d+f),b.lineTo(a+c/2,d+e),b.end(),b.stroke())};F.prototype.paintForeground=function(b,a,d,c,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));
mxRectangleShape.prototype.paintForeground.call(this,b,a,d,c,Math.min(e,f))};mxCellRenderer.prototype.defaultShapes.umlLifeline=F;mxUtils.extend(H,mxShape);H.prototype.width=60;H.prototype.height=30;H.prototype.corner=10;H.prototype.getLabelBounds=function(b){var a=Math.max(0,Math.min(b.width,parseFloat(mxUtils.getValue(this.style,"width",this.width))*this.scale)),d=Math.max(0,Math.min(b.height,parseFloat(mxUtils.getValue(this.style,"height",this.height))*this.scale));return new mxRectangle(b.x,b.y,
a,d)};H.prototype.paintBackground=function(b,a,d,c,e){var f=this.corner,g=Math.min(c,Math.max(f,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),k=Math.min(e,Math.max(1.5*f,parseFloat(mxUtils.getValue(this.style,"height",this.height))));b.begin();b.moveTo(a,d);b.lineTo(a+g,d);b.lineTo(a+g,d+Math.max(0,k-1.5*f));b.lineTo(a+Math.max(0,g-f),d+k);b.lineTo(a,d+k);b.close();b.fillAndStroke();b.begin();b.moveTo(a+g,d);b.lineTo(a+c,d);b.lineTo(a+c,d+e);b.lineTo(a,d+e);b.lineTo(a,d+k);b.stroke()};
mxCellRenderer.prototype.defaultShapes.umlFrame=H;mxPerimeter.LifelinePerimeter=function(b,a,d,c){c=F.prototype.size;null!=a&&(c=mxUtils.getValue(a.style,"size",c)*a.view.scale);a=parseFloat(a.style[mxConstants.STYLE_STROKEWIDTH]||1)*a.view.scale/2-1;d.x<b.getCenterX()&&(a=-1*(a+1));return new mxPoint(b.getCenterX()+a,Math.min(b.y+b.height,Math.max(b.y+c,d.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter);mxPerimeter.OrthogonalPerimeter=function(b,a,d,c){c=!0;return mxPerimeter.RectanglePerimeter.apply(this,
arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);mxPerimeter.BackbonePerimeter=function(b,a,d,c){c=parseFloat(a.style[mxConstants.STYLE_STROKEWIDTH]||1)*a.view.scale/2-1;null!=a.style.backboneSize&&(c+=parseFloat(a.style.backboneSize)*a.view.scale/2-1);if("south"==a.style[mxConstants.STYLE_DIRECTION]||"north"==a.style[mxConstants.STYLE_DIRECTION])return d.x<b.getCenterX()&&(c=-1*(c+1)),new mxPoint(b.getCenterX()+c,Math.min(b.y+b.height,Math.max(b.y,d.y)));
d.y<b.getCenterY()&&(c+=1,c*=-1);return new mxPoint(Math.min(b.x+b.width,Math.max(b.x,d.x)),b.getCenterY()+c)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxUtils.extend(I,mxShape);I.prototype.size=10;I.prototype.paintBackground=function(b,a,d,c,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size));b.translate(a,d);b.ellipse((c-f)/2,0,f,f);b.fillAndStroke();b.begin();b.moveTo(c/2,f);b.lineTo(c/2,e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.lollipop=
I;mxUtils.extend(L,mxShape);L.prototype.size=10;L.prototype.inset=2;L.prototype.paintBackground=function(b,a,d,c,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;b.translate(a,d);b.begin();b.moveTo(c/2,f+g);b.lineTo(c/2,e);b.end();b.stroke();b.begin();b.moveTo((c-f)/2-g,f/2);b.quadTo((c-f)/2-g,f+g,c/2,f+g);b.quadTo((c+f)/2+g,f+g,(c+f)/2+g,f/2);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.requires=
L;mxUtils.extend(O,mxCylinder);O.prototype.jettyWidth=32;O.prototype.jettyHeight=12;O.prototype.redrawPath=function(b,a,d,c,e,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));a=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));d=g/2;var g=d+g/2,k=0.3*e-a/2,l=0.7*e-a/2;f?(b.moveTo(d,k),b.lineTo(g,k),b.lineTo(g,k+a),b.lineTo(d,k+a),b.moveTo(d,l),b.lineTo(g,l),b.lineTo(g,l+a),b.lineTo(d,l+a)):(b.moveTo(d,0),b.lineTo(c,0),b.lineTo(c,e),b.lineTo(d,e),
b.lineTo(d,l+a),b.lineTo(0,l+a),b.lineTo(0,l),b.lineTo(d,l),b.lineTo(d,k+a),b.lineTo(0,k+a),b.lineTo(0,k),b.lineTo(d,k),b.close());b.end()};mxCellRenderer.prototype.defaultShapes.component=O;mxUtils.extend(T,mxDoubleEllipse);T.prototype.outerStroke=!0;T.prototype.paintVertexShape=function(b,a,d,c,e){var f=Math.min(4,Math.min(c/5,e/5));0<c&&0<e&&(b.ellipse(a+f,d+f,c-2*f,e-2*f),b.fillAndStroke());b.setShadow(!1);this.outerStroke&&(b.ellipse(a,d,c,e),b.stroke())};mxCellRenderer.prototype.defaultShapes.endState=
T;mxUtils.extend(X,T);X.prototype.outerStroke=!1;mxCellRenderer.prototype.defaultShapes.startState=X;mxUtils.extend(R,mxArrowConnector);R.prototype.defaultWidth=4;R.prototype.isOpenEnded=function(){return!0};R.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};R.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.prototype.defaultShapes.link=R;mxUtils.extend(C,mxArrowConnector);C.prototype.defaultWidth=
10;C.prototype.defaultArrowWidth=20;C.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};C.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};C.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.prototype.defaultShapes.flexArrow=C;mxUtils.extend(N,
mxActor);N.prototype.size=30;N.prototype.redrawPath=function(b,a,d,c,e){a=Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,e),new mxPoint(0,a),new mxPoint(c,0),new mxPoint(c,e)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.manualInput=N;mxUtils.extend(P,mxRectangleShape);P.prototype.dx=20;P.prototype.dy=20;P.prototype.isHtmlAllowed=function(){return!1};
P.prototype.paintForeground=function(b,a,d,c,e){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var f=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(c*g,e*g));g=Math.max(f,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));f=Math.max(f,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));b.begin();b.moveTo(a,d+f);b.lineTo(a+c,d+f);b.end();b.stroke();
b.begin();b.moveTo(a+g,d);b.lineTo(a+g,d+e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.internalStorage=P;mxUtils.extend(M,mxActor);M.prototype.dx=20;M.prototype.dy=20;M.prototype.redrawPath=function(b,a,d,c,e){a=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));d=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));Math.min(c/2,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var f=mxUtils.getValue(this.style,
mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,d),new mxPoint(a,d),new mxPoint(a,e),new mxPoint(0,e)],this.isRounded,f,!0);b.end()};mxCellRenderer.prototype.defaultShapes.corner=M;mxUtils.extend(U,mxActor);U.prototype.dx=20;U.prototype.dy=20;U.prototype.redrawPath=function(b,a,d,c,e){a=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));d=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,
"dy",this.dy))));Math.abs(c-a);Math.min(c/2,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,d),new mxPoint((c+a)/2,d),new mxPoint((c+a)/2,e),new mxPoint((c-a)/2,e),new mxPoint((c-a)/2,d),new mxPoint(0,d)],this.isRounded,f,!0);b.end()};mxCellRenderer.prototype.defaultShapes.tee=U;mxUtils.extend(J,mxActor);J.prototype.arrowWidth=
0.3;J.prototype.arrowSize=0.2;J.prototype.redrawPath=function(b,a,d,c,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));a=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));d=(e-f)/2;var f=d+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,d),new mxPoint(c-a,d),new mxPoint(c-a,0),new mxPoint(c,e/2),new mxPoint(c-a,e),new mxPoint(c-a,
f),new mxPoint(0,f)],this.isRounded,g,!0);b.end()};mxCellRenderer.prototype.defaultShapes.singleArrow=J;mxUtils.extend(K,mxActor);K.prototype.redrawPath=function(b,a,d,c,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",J.prototype.arrowWidth))));a=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",J.prototype.arrowSize))));d=(e-f)/2;var f=d+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,
[new mxPoint(0,e/2),new mxPoint(a,0),new mxPoint(a,d),new mxPoint(c-a,d),new mxPoint(c-a,0),new mxPoint(c,e/2),new mxPoint(c-a,e),new mxPoint(c-a,f),new mxPoint(a,f),new mxPoint(a,e)],this.isRounded,g,!0);b.end()};mxCellRenderer.prototype.defaultShapes.doubleArrow=K;mxUtils.extend(S,mxActor);S.prototype.size=0.1;S.prototype.redrawPath=function(b,a,d,c,e){a=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b.moveTo(a,0);b.lineTo(c,0);b.quadTo(c-2*a,e/2,c,e);b.lineTo(a,
e);b.quadTo(a-2*a,e/2,a,0);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.dataStorage=S;mxUtils.extend(Z,mxActor);Z.prototype.redrawPath=function(b,a,d,c,e){b.moveTo(0,0);b.quadTo(c,0,c,e/2);b.quadTo(c,e,0,e);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.or=Z;mxUtils.extend(ea,mxActor);ea.prototype.redrawPath=function(b,a,d,c,e){b.moveTo(0,0);b.quadTo(c,0,c,e/2);b.quadTo(c,e,0,e);b.quadTo(c/2,e/2,0,0);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.xor=ea;mxUtils.extend(da,
mxActor);da.prototype.size=20;da.prototype.redrawPath=function(b,a,d,c,e){a=Math.min(c/2,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(a,0),new mxPoint(c-a,0),new mxPoint(c,0.8*a),new mxPoint(c,e),new mxPoint(0,e),new mxPoint(0,0.8*a)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.loopLimit=da;mxUtils.extend(V,mxActor);V.prototype.size=0.375;
V.prototype.redrawPath=function(b,a,d,c,e){a=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,e-a),new mxPoint(c/2,e),new mxPoint(0,e-a)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.offPageConnector=V;mxUtils.extend(Y,mxEllipse);Y.prototype.paintVertexShape=function(b,a,d,c,e){mxEllipse.prototype.paintVertexShape.apply(this,
arguments);b.begin();b.moveTo(a+c/2,d+e);b.lineTo(a+c,d+e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.tapeData=Y;mxUtils.extend(aa,mxEllipse);aa.prototype.paintVertexShape=function(b,a,d,c,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);b.setShadow(!1);b.begin();b.moveTo(a,d+e/2);b.lineTo(a+c,d+e/2);b.end();b.stroke();b.begin();b.moveTo(a+c/2,d);b.lineTo(a+c/2,d+e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.orEllipse=aa;mxUtils.extend(W,mxEllipse);W.prototype.paintVertexShape=
function(b,a,d,c,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);b.setShadow(!1);b.begin();b.moveTo(a+0.145*c,d+0.145*e);b.lineTo(a+0.855*c,d+0.855*e);b.end();b.stroke();b.begin();b.moveTo(a+0.855*c,d+0.145*e);b.lineTo(a+0.145*c,d+0.855*e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.sumEllipse=W;mxUtils.extend(Q,mxRhombus);Q.prototype.paintVertexShape=function(b,a,d,c,e){mxRhombus.prototype.paintVertexShape.apply(this,arguments);b.setShadow(!1);b.begin();b.moveTo(a,d+
e/2);b.lineTo(a+c,d+e/2);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.sortShape=Q;mxUtils.extend(ga,mxEllipse);ga.prototype.paintVertexShape=function(b,a,d,c,e){b.begin();b.moveTo(a,d);b.lineTo(a+c,d);b.lineTo(a+c/2,d+e/2);b.close();b.fillAndStroke();b.begin();b.moveTo(a,d+e);b.lineTo(a+c,d+e);b.lineTo(a+c/2,d+e/2);b.close();b.fillAndStroke()};mxCellRenderer.prototype.defaultShapes.collate=ga;mxUtils.extend(ca,mxEllipse);ca.prototype.paintVertexShape=function(b,a,d,c,e){var f=d+e-5;
b.begin();b.moveTo(a,d);b.lineTo(a,d+e);b.moveTo(a,f);b.lineTo(a+10,f-5);b.moveTo(a,f);b.lineTo(a+10,f+5);b.moveTo(a,f);b.lineTo(a+c,f);b.moveTo(a+c,d);b.lineTo(a+c,d+e);b.moveTo(a+c,f);b.lineTo(a+c-10,f-5);b.moveTo(a+c,f);b.lineTo(a+c-10,f+5);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.dimension=ca;mxUtils.extend($,mxEllipse);$.prototype.paintVertexShape=function(b,a,d,c,e){this.outline||b.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,arguments);null!=
this.style&&(b.setStrokeColor(this.stroke),b.rect(a,d,c,e),b.fill(),"1"==mxUtils.getValue(this.style,"top","1")&&(b.begin(),b.moveTo(a,d),b.lineTo(a+c,d),b.end(),b.stroke()),"1"==mxUtils.getValue(this.style,"right","1")&&(b.begin(),b.moveTo(a+c,d),b.lineTo(a+c,d+e),b.end(),b.stroke()),"1"==mxUtils.getValue(this.style,"bottom","1")&&(b.begin(),b.moveTo(a+c,d+e),b.lineTo(a,d+e),b.end(),b.stroke()),"1"==mxUtils.getValue(this.style,"left","1")&&(b.begin(),b.moveTo(a,d+e),b.lineTo(a,d),b.end(),b.stroke()))};
mxCellRenderer.prototype.defaultShapes.partialRectangle=$;mxUtils.extend(fa,mxEllipse);fa.prototype.paintVertexShape=function(b,a,d,c,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);b.setShadow(!1);b.begin();"vertical"==mxUtils.getValue(this.style,"line")?(b.moveTo(a+c/2,d),b.lineTo(a+c/2,d+e)):(b.moveTo(a,d+e/2),b.lineTo(a+c,d+e/2));b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.lineEllipse=fa;mxUtils.extend(ia,mxActor);ia.prototype.redrawPath=function(b,a,d,c,e){a=Math.min(c,
e/2);b.moveTo(0,0);b.lineTo(c-a,0);b.quadTo(c,0,c,e/2);b.quadTo(c,e,c-a,e);b.lineTo(0,e);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.delay=ia;mxUtils.extend(ba,mxActor);ba.prototype.size=0.2;ba.prototype.redrawPath=function(b,a,d,c,e){a=Math.min(e,c);var f=Math.max(0,Math.min(a,a*parseFloat(mxUtils.getValue(this.style,"size",this.size))));a=(e-f)/2;d=a+f;var g=(c-f)/2,f=g+f;b.moveTo(0,a);b.lineTo(g,a);b.lineTo(g,0);b.lineTo(f,0);b.lineTo(f,a);b.lineTo(c,a);b.lineTo(c,d);b.lineTo(f,d);
b.lineTo(f,e);b.lineTo(g,e);b.lineTo(g,d);b.lineTo(0,d);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.cross=ba;mxUtils.extend(ka,mxActor);ka.prototype.size=0.25;ka.prototype.redrawPath=function(b,a,d,c,e){a=Math.min(c,e/2);d=Math.min(c-a,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*c);b.moveTo(0,e/2);b.lineTo(d,0);b.lineTo(c-a,0);b.quadTo(c,0,c,e/2);b.quadTo(c,e,c-a,e);b.lineTo(d,e);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.display=ka;mxMarker.addMarker("dash",
function(b,a,d,c,e,f,g,k,l,n){var m=e*(g+l+1),t=f*(g+l+1);return function(){b.begin();b.moveTo(c.x-m/2-t/2,c.y-t/2+m/2);b.lineTo(c.x+t/2-3*m/2,c.y-3*t/2-m/2);b.stroke()}});mxMarker.addMarker("cross",function(b,a,d,c,e,f,g,k,l,n){var m=e*(g+l+1),t=f*(g+l+1);return function(){b.begin();b.moveTo(c.x-m/2-t/2,c.y-t/2+m/2);b.lineTo(c.x+t/2-3*m/2,c.y-3*t/2-m/2);b.moveTo(c.x-m/2+t/2,c.y-t/2-m/2);b.lineTo(c.x-t/2-3*m/2,c.y-3*t/2+m/2);b.stroke()}});mxMarker.addMarker("circle",va);mxMarker.addMarker("circlePlus",
function(b,a,d,c,e,f,g,k,l,n){var m=c.clone(),t=va.apply(this,arguments),u=e*(g+2*l),q=f*(g+2*l);return function(){t.apply(this,arguments);b.begin();b.moveTo(m.x-e*l,m.y-f*l);b.lineTo(m.x-2*u+e*l,m.y-2*q+f*l);b.moveTo(m.x-u-q+f*l,m.y-q+u-e*l);b.lineTo(m.x+q-u-f*l,m.y-q-u+e*l);b.stroke()}});mxMarker.addMarker("async",function(b,a,d,c,e,f,g,k,l,n){a=1.118*e*l;d=1.118*f*l;e*=g+l;f*=g+l;var m=c.clone();m.x-=a;m.y-=d;c.x+=1*-e-a;c.y+=1*-f-d;return function(){b.begin();b.moveTo(m.x,m.y);k?b.lineTo(m.x-
e-f/2,m.y-f+e/2):b.lineTo(m.x+f/2-e,m.y-f-e/2);b.lineTo(m.x-e,m.y-f);b.close();n?b.fillAndStroke():b.stroke()}});mxMarker.addMarker("openAsync",function(b){b=null!=b?b:2;return function(a,d,c,e,f,g,k,l,n,m){f*=k+n;g*=k+n;var t=e.clone();return function(){a.begin();a.moveTo(t.x,t.y);l?a.lineTo(t.x-f-g/b,t.y-g+f/b):a.lineTo(t.x+g/b-f,t.y-g-f/b);a.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var ha=function(b,a,d,c,e){b=new mxHandle(b,null,mxVertexHandler.prototype.secondaryHandleImage);
b.execute=function(){for(var b=0;b<a.length;b++)this.copyStyle(a[b])};b.getPosition=d;b.setPosition=c;b.ignoreGrid=null!=e?e:!0;return b},ma=function(b,a){return ha(b,[mxConstants.STYLE_ARCSIZE],function(d){var c=Math.max(0,parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100,e=null!=a?a:d.height/8;return new mxPoint(d.x+d.width-Math.min(Math.max(d.width/2,d.height/2),Math.min(d.width,d.height)*c),d.y+e)},function(b,a,d){b=Math.min(50,Math.max(0,
100*(b.width-a.x+b.x)/Math.min(b.width,b.height)));this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(b)})},la=function(){return function(b){var a=[];mxUtils.getValue(b.style,mxConstants.STYLE_ROUNDED,!1)&&a.push(ma(b));return a}},ja=function(b){return function(a){var d=[ha(a,["size"],function(a){var d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.state.style,"size",p.prototype.size))));return new mxPoint(a.x+0.75*d*a.width,a.y+a.height/4)},function(a,d){this.state.style.size=Math.max(0,
Math.min(b,(d.x-a.x)/(0.75*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ma(a));return d}},pa=function(b,a,d){d=null!=d?d:1;return function(c){var e=[ha(c,["size"],function(a){var d=parseFloat(mxUtils.getValue(this.state.style,"size",b));return new mxPoint(a.x+d*a.width,a.getCenterY())},function(b,a){this.state.style.size=Math.max(0,Math.min(d,(a.x-b.x)/b.width))})];a&&mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(ma(c));return e}},ta=function(b,a,d){return function(c){var e=
[ha(c,["size"],function(d){var c=Math.max(0,Math.min(d.width,Math.min(d.height,parseFloat(mxUtils.getValue(this.state.style,"size",a)))))*b;return new mxPoint(d.x+c,d.y+c)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,d.x-a.x),Math.min(a.height,d.y-a.y)))/b)})];d&&mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(ma(c));return e}},xa=function(b){return function(a){return[ha(a,["arrowWidth","arrowSize"],function(a){var d=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,
"arrowWidth",J.prototype.arrowWidth))),c=Math.max(0,Math.min(b,mxUtils.getValue(this.state.style,"arrowSize",J.prototype.arrowSize)));return new mxPoint(a.x+(1-c)*a.width,a.y+(1-d)*a.height/2)},function(a,d){this.state.style.arrowWidth=Math.max(0,Math.min(1,2*(Math.abs(a.y+a.height/2-d.y)/a.height)));this.state.style.arrowSize=Math.max(0,Math.min(b,(a.x+a.width-d.x)/a.width))})]}},oa=function(b,a,d,c,e){var f=b.absolutePoints,g=f.length-1,k=b.view.translate,l=b.view.scale,n=d?f[0]:f[g],m=d?f[1]:f[g-
1],t=m.x-n.x,u=m.y-n.y,q=Math.sqrt(t*t+u*u);return ha(b,a,function(b){b=c.call(this,q,t/q,u/q,n,m);return new mxPoint(b.x/l-k.x,b.y/l-k.y)},function(b,a,d){b=Math.sqrt(t*t+u*u);a.x=(a.x+k.x)*l;a.y=(a.y+k.y)*l;e.call(this,b,t/b,u/b,n,m,a,d)})},ya=function(b,a,d){return oa(b,["width"],a,function(a,c,e,f,g){g=b.shape.getEdgeWidth()*b.view.scale+d;return new mxPoint(f.x+c*a/4+e*g/2,f.y+e*a/4-c*g/2)},function(a,c,e,f,g,k){a=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,k.x,k.y));b.style.width=Math.round(2*
a)/b.view.scale-d})},ua={link:function(b){return[ya(b,!0,10),ya(b,!1,10)]},flexArrow:function(b){var a=b.view.graph.gridSize/b.view.scale,d=[];mxUtils.getValue(b.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(d.push(oa(b,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(a,d,c,e,f){a=(b.shape.getEdgeWidth()-b.shape.strokewidth)*b.view.scale;f=3*mxUtils.getNumber(b.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*b.view.scale;return new mxPoint(e.x+
d*(f+b.shape.strokewidth*b.view.scale)+c*a/2,e.y+c*(f+b.shape.strokewidth*b.view.scale)-d*a/2)},function(d,c,e,f,g,k,l){d=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,k.x,k.y));c=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-c,k.x,k.y);b.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-b.shape.strokewidth)/3)/100/b.view.scale;b.style.width=Math.round(2*d)/b.view.scale;mxEvent.isControlDown(l.getEvent())&&(b.style[mxConstants.STYLE_ENDSIZE]=b.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(l.getEvent())||
Math.abs(parseFloat(b.style[mxConstants.STYLE_STARTSIZE])-parseFloat(b.style[mxConstants.STYLE_ENDSIZE]))<a/6&&(b.style[mxConstants.STYLE_STARTSIZE]=b.style[mxConstants.STYLE_ENDSIZE])})),d.push(oa(b,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(a,d,c,e,f){a=(b.shape.getStartArrowWidth()-b.shape.strokewidth)*b.view.scale;f=3*mxUtils.getNumber(b.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*b.view.scale;return new mxPoint(e.x+d*(f+b.shape.strokewidth*
b.view.scale)+c*a/2,e.y+c*(f+b.shape.strokewidth*b.view.scale)-d*a/2)},function(d,c,e,f,g,k,l){d=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,k.x,k.y));c=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-c,k.x,k.y);b.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-b.shape.strokewidth)/3)/100/b.view.scale;b.style.startWidth=Math.max(0,Math.round(2*d)-b.shape.getEdgeWidth())/b.view.scale;mxEvent.isControlDown(l.getEvent())&&(b.style[mxConstants.STYLE_ENDSIZE]=b.style[mxConstants.STYLE_STARTSIZE],b.style.endWidth=
b.style.startWidth);mxEvent.isAltDown(l.getEvent())||(Math.abs(parseFloat(b.style[mxConstants.STYLE_STARTSIZE])-parseFloat(b.style[mxConstants.STYLE_ENDSIZE]))<a/6&&(b.style[mxConstants.STYLE_STARTSIZE]=b.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(b.style.startWidth)-parseFloat(b.style.endWidth))<a&&(b.style.startWidth=b.style.endWidth))})));mxUtils.getValue(b.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(d.push(oa(b,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],
!1,function(a,d,c,e,f){a=(b.shape.getEdgeWidth()-b.shape.strokewidth)*b.view.scale;f=3*mxUtils.getNumber(b.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*b.view.scale;return new mxPoint(e.x+d*(f+b.shape.strokewidth*b.view.scale)-c*a/2,e.y+c*(f+b.shape.strokewidth*b.view.scale)+d*a/2)},function(d,c,e,f,g,k,l){d=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,k.x,k.y));c=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-c,k.x,k.y);b.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(c-b.shape.strokewidth)/
3)/100/b.view.scale;b.style.width=Math.round(2*d)/b.view.scale;mxEvent.isControlDown(l.getEvent())&&(b.style[mxConstants.STYLE_STARTSIZE]=b.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(l.getEvent())||Math.abs(parseFloat(b.style[mxConstants.STYLE_ENDSIZE])-parseFloat(b.style[mxConstants.STYLE_STARTSIZE]))<a/6&&(b.style[mxConstants.STYLE_ENDSIZE]=b.style[mxConstants.STYLE_STARTSIZE])})),d.push(oa(b,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(a,
d,c,e,f){a=(b.shape.getEndArrowWidth()-b.shape.strokewidth)*b.view.scale;f=3*mxUtils.getNumber(b.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*b.view.scale;return new mxPoint(e.x+d*(f+b.shape.strokewidth*b.view.scale)-c*a/2,e.y+c*(f+b.shape.strokewidth*b.view.scale)+d*a/2)},function(d,c,e,f,g,k,l){d=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,k.x,k.y));c=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-c,k.x,k.y);b.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(c-b.shape.strokewidth)/3)/100/b.view.scale;
b.style.endWidth=Math.max(0,Math.round(2*d)-b.shape.getEdgeWidth())/b.view.scale;mxEvent.isControlDown(l.getEvent())&&(b.style[mxConstants.STYLE_STARTSIZE]=b.style[mxConstants.STYLE_ENDSIZE],b.style.startWidth=b.style.endWidth);mxEvent.isAltDown(l.getEvent())||(Math.abs(parseFloat(b.style[mxConstants.STYLE_ENDSIZE])-parseFloat(b.style[mxConstants.STYLE_STARTSIZE]))<a/6&&(b.style[mxConstants.STYLE_ENDSIZE]=b.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(b.style.endWidth)-parseFloat(b.style.startWidth))<
a&&(b.style.endWidth=b.style.startWidth))})));return d},swimlane:function(b){var a=[ha(b,[mxConstants.STYLE_STARTSIZE],function(a){var d=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(b.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(a.getCenterX(),a.y+Math.max(0,Math.min(a.height,d))):new mxPoint(a.x+Math.max(0,Math.min(a.width,d)),a.getCenterY())},function(a,d){b.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,
mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,Math.min(a.height,d.y-a.y))):Math.round(Math.max(0,Math.min(a.width,d.x-a.x)))})];if(mxUtils.getValue(b.style,mxConstants.STYLE_ROUNDED)){var d=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));a.push(ma(b,d/2))}return a},label:la(),ext:la(),rectangle:la(),triangle:la(),rhombus:la(),hexagon:la(),umlLifeline:function(b){return[ha(b,["size"],function(b){var a=Math.max(0,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,
"size",F.prototype.size))));return new mxPoint(b.getCenterX(),b.y+a)},function(b,a){this.state.style.size=Math.round(Math.max(0,Math.min(b.height,a.y-b.y)))},!1)]},umlFrame:function(b){var a=[ha(b,["width","height"],function(b){var a=Math.max(H.prototype.corner,Math.min(b.width,mxUtils.getValue(this.state.style,"width",H.prototype.width))),d=Math.max(1.5*H.prototype.corner,Math.min(b.height,mxUtils.getValue(this.state.style,"height",H.prototype.height)));return new mxPoint(b.x+a,b.y+d)},function(b,
a){this.state.style.width=Math.round(Math.max(H.prototype.corner,Math.min(b.width,a.x-b.x)));this.state.style.height=Math.round(Math.max(1.5*H.prototype.corner,Math.min(b.height,a.y-b.y)))},!1)];mxUtils.getValue(b.style,mxConstants.STYLE_ROUNDED,!1)&&a.push(ma(b));return a},process:function(b){var a=[ha(b,["size"],function(b){var a=Math.max(0,Math.min(0.5,parseFloat(mxUtils.getValue(this.state.style,"size",u.prototype.size))));return new mxPoint(b.x+b.width*a,b.y+b.height/4)},function(b,a){this.state.style.size=
Math.max(0,Math.min(0.5,(a.x-b.x)/b.width))})];mxUtils.getValue(b.style,mxConstants.STYLE_ROUNDED,!1)&&a.push(ma(b));return a},cross:function(b){return[ha(b,["size"],function(b){var a=Math.min(b.width,b.height),a=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ba.prototype.size)))*a/2;return new mxPoint(b.getCenterX()-a,b.getCenterY()-a)},function(b,a){var d=Math.min(b.width,b.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(2*(Math.max(0,b.getCenterY()-a.y)/d),2*(Math.max(0,
b.getCenterX()-a.x)/d))))})]},note:function(a){return[ha(a,["size"],function(a){var d=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",b.prototype.size)))));return new mxPoint(a.x+a.width-d,a.y+d)},function(b,a){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(b.width,b.x+b.width-a.x),Math.min(b.height,a.y-b.y))))})]},manualInput:function(b){var a=[ha(b,["size"],function(b){var a=Math.max(0,Math.min(b.height,mxUtils.getValue(this.state.style,
"size",N.prototype.size)));return new mxPoint(b.x+b.width/4,b.y+3*a/4)},function(b,a){this.state.style.size=Math.round(Math.max(0,Math.min(b.height,4*(a.y-b.y)/3)))})];mxUtils.getValue(b.style,mxConstants.STYLE_ROUNDED,!1)&&a.push(ma(b));return a},dataStorage:function(b){return[ha(b,["size"],function(b){var a=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",S.prototype.size))));return new mxPoint(b.x+(1-a)*b.width,b.getCenterY())},function(b,a){this.state.style.size=Math.max(0,
Math.min(1,(b.x+b.width-a.x)/b.width))})]},internalStorage:function(b){var a=[ha(b,["dx","dy"],function(b){var a=Math.max(0,Math.min(b.width,mxUtils.getValue(this.state.style,"dx",P.prototype.dx))),d=Math.max(0,Math.min(b.height,mxUtils.getValue(this.state.style,"dy",P.prototype.dy)));return new mxPoint(b.x+a,b.y+d)},function(b,a){this.state.style.dx=Math.round(Math.max(0,Math.min(b.width,a.x-b.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(b.height,a.y-b.y)))})];mxUtils.getValue(b.style,
mxConstants.STYLE_ROUNDED,!1)&&a.push(ma(b));return a},corner:function(b){return[ha(b,["dx","dy"],function(b){var a=Math.max(0,Math.min(b.width,mxUtils.getValue(this.state.style,"dx",M.prototype.dx))),d=Math.max(0,Math.min(b.height,mxUtils.getValue(this.state.style,"dy",M.prototype.dy)));return new mxPoint(b.x+a,b.y+d)},function(b,a){this.state.style.dx=Math.round(Math.max(0,Math.min(b.width,a.x-b.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(b.height,a.y-b.y)))})]},tee:function(b){return[ha(b,
["dx","dy"],function(b){var a=Math.max(0,Math.min(b.width,mxUtils.getValue(this.state.style,"dx",U.prototype.dx))),d=Math.max(0,Math.min(b.height,mxUtils.getValue(this.state.style,"dy",U.prototype.dy)));return new mxPoint(b.x+(b.width+a)/2,b.y+d)},function(b,a){this.state.style.dx=Math.round(Math.max(0,2*Math.min(b.width/2,a.x-b.x-b.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(b.height,a.y-b.y)))})]},singleArrow:xa(1),doubleArrow:xa(0.5),folder:function(b){return[ha(b,["tabWidth",
"tabHeight"],function(b){var a=Math.max(0,Math.min(b.width,mxUtils.getValue(this.state.style,"tabWidth",g.prototype.tabWidth))),d=Math.max(0,Math.min(b.height,mxUtils.getValue(this.state.style,"tabHeight",g.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",g.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(a=b.width-a);return new mxPoint(b.x+a,b.y+d)},function(b,a){var d=Math.max(0,Math.min(b.width,a.x-b.x));mxUtils.getValue(this.state.style,"tabPosition",g.prototype.tabPosition)==
mxConstants.ALIGN_RIGHT&&(d=b.width-d);this.state.style.tabWidth=Math.round(d);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(b.height,a.y-b.y)))})]},document:function(b){return[ha(b,["size"],function(b){var a=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",n.prototype.size))));return new mxPoint(b.x+3*b.width/4,b.y+(1-a)*b.height)},function(b,a){this.state.style.size=Math.max(0,Math.min(1,(b.y+b.height-a.y)/b.height))})]},tape:function(b){return[ha(b,["size"],
function(b){var a=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",l.prototype.size))));return new mxPoint(b.getCenterX(),b.y+a*b.height/2)},function(b,a){this.state.style.size=Math.max(0,Math.min(1,2*((a.y-b.y)/b.height)))})]},offPageConnector:function(b){return[ha(b,["size"],function(b){var a=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",V.prototype.size))));return new mxPoint(b.getCenterX(),b.y+(1-a)*b.height)},function(b,a){this.state.style.size=
Math.max(0,Math.min(1,(b.y+b.height-a.y)/b.height))})]},step:pa(t.prototype.size,!0),hexagon:pa(v.prototype.size,!0,0.5),curlyBracket:pa(r.prototype.size,!1),display:pa(ka.prototype.size,!1),cube:ta(1,a.prototype.size,!1),card:ta(0.5,k.prototype.size,!0),loopLimit:ta(0.5,da.prototype.size,!0),trapezoid:ja(0.5),parallelogram:ja(1)};Graph.createHandle=ha;Graph.handleFactory=ua;mxVertexHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()&&this.graph.isCellRotatable(this.state.cell)){var b=
ua[this.state.style.shape];if(null!=b)return b(this.state)}return null};mxEdgeHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()){var b=ua[this.state.style.shape];if(null!=b)return b(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var qa=new mxPoint(1,0),ra=new mxPoint(1,0),ja=mxUtils.toRadians(-30),la=Math.cos(ja),ja=Math.sin(ja),qa=mxUtils.getRotatedPoint(qa,la,ja),ja=mxUtils.toRadians(-150),la=Math.cos(ja),ja=Math.sin(ja),
ra=mxUtils.getRotatedPoint(ra,la,ja);mxEdgeStyle.IsometricConnector=function(b,a,d,c,e){var f=b.view;c=null!=c&&0<c.length?c[0]:null;var g=b.absolutePoints,k=g[0],g=g[g.length-1];null!=c&&(c=f.transformControlPoint(b,c));null==k&&null!=a&&(k=new mxPoint(a.getCenterX(),a.getCenterY()));null==g&&null!=d&&(g=new mxPoint(d.getCenterX(),d.getCenterY()));var l=qa.x,n=qa.y,m=ra.x,t=ra.y,u="horizontal"==mxUtils.getValue(b.style,"elbow","horizontal");if(null!=g&&null!=k){var q=k;b=function(b,a,d){b-=q.x;var c=
a-q.y;a=(t*b-m*c)/(l*t-n*m);b=(n*b-l*c)/(n*m-l*t);u?(d&&(q=new mxPoint(q.x+l*a,q.y+n*a),e.push(q)),q=new mxPoint(q.x+m*b,q.y+t*b)):(d&&(q=new mxPoint(q.x+m*b,q.y+t*b),e.push(q)),q=new mxPoint(q.x+l*a,q.y+n*a));e.push(q)};null==c&&(c=new mxPoint(k.x+(g.x-k.x)/2,k.y+(g.y-k.y)/2));b(c.x,c.y,!0);b(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var Da=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(b,a){if(a==mxEdgeStyle.IsometricConnector){var d=
new mxElbowEdgeHandler(b);d.snapToTerminals=!1;return d}return Da.apply(this,arguments)};c.prototype.constraints=[];f.prototype.constraints=[];mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.25,0),!0),new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.75,0),!0),new mxConnectionConstraint(new mxPoint(0,0.25),!0),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(0,0.75),!0),new mxConnectionConstraint(new mxPoint(1,
0.25),!0),new mxConnectionConstraint(new mxPoint(1,0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.75),!0),new mxConnectionConstraint(new mxPoint(0.25,1),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0.75,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(0.5,
0),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;z.prototype.constraints=mxRectangleShape.prototype.constraints;b.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=
mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;P.prototype.constraints=mxRectangleShape.prototype.constraints;S.prototype.constraints=mxRectangleShape.prototype.constraints;Y.prototype.constraints=mxEllipse.prototype.constraints;aa.prototype.constraints=mxEllipse.prototype.constraints;W.prototype.constraints=mxEllipse.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;
N.prototype.constraints=mxRectangleShape.prototype.constraints;ia.prototype.constraints=mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxRectangleShape.prototype.constraints;da.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.15,0.05),!1),new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.85,0.05),
!1),new mxConnectionConstraint(new mxPoint(0,0.3),!0),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(0,0.7),!0),new mxConnectionConstraint(new mxPoint(1,0.3),!0),new mxConnectionConstraint(new mxPoint(1,0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.7),!0),new mxConnectionConstraint(new mxPoint(0.15,0.95),!1),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0.85,0.95),!1)];D.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.25,
0.1),!1),new mxConnectionConstraint(new mxPoint(0.5,0),!1),new mxConnectionConstraint(new mxPoint(0.75,0.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(0.5,0.5),!1)];O.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.25,0),!0),new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.75,
0),!0),new mxConnectionConstraint(new mxPoint(0,0.3),!0),new mxConnectionConstraint(new mxPoint(0,0.7),!0),new mxConnectionConstraint(new mxPoint(1,0.25),!0),new mxConnectionConstraint(new mxPoint(1,0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.75),!0),new mxConnectionConstraint(new mxPoint(0.25,1),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.25,
0.2),!1),new mxConnectionConstraint(new mxPoint(0.1,0.5),!1),new mxConnectionConstraint(new mxPoint(0,0.75),!0),new mxConnectionConstraint(new mxPoint(0.75,0.25),!1),new mxConnectionConstraint(new mxPoint(0.9,0.5),!1),new mxConnectionConstraint(new mxPoint(1,0.75),!0),new mxConnectionConstraint(new mxPoint(0.25,1),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0.75,1),!0)];e.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0.5,
0.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(0.25,0.5),!1),new mxConnectionConstraint(new mxPoint(0.75,0.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(0.5,0.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];l.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.35),!1),new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(0,0.65),!1),new mxConnectionConstraint(new mxPoint(1,
0.35),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1),new mxConnectionConstraint(new mxPoint(1,0.65),!1),new mxConnectionConstraint(new mxPoint(0.25,1),!1),new mxConnectionConstraint(new mxPoint(0.75,0),!1)];t.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.25,0),!0),new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.75,0),!0),new mxConnectionConstraint(new mxPoint(0.25,1),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0.75,
1),!0),new mxConnectionConstraint(new mxPoint(0.1,0.25),!1),new mxConnectionConstraint(new mxPoint(0.2,0.5),!1),new mxConnectionConstraint(new mxPoint(0.1,0.75),!1),new mxConnectionConstraint(new mxPoint(0.9,0.25),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1),new mxConnectionConstraint(new mxPoint(0.9,0.75),!1)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(0.25,0.5),!1),new mxConnectionConstraint(new mxPoint(0.75,0.5),
!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1)];I.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.5,0),!1),new mxConnectionConstraint(new mxPoint(0.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.25),!0),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(0,0.75),!0),
new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(1,0.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.375,0),!0),new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.625,0),!0),new mxConnectionConstraint(new mxPoint(0.125,0.25),!1),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(0.125,0.75),!1),new mxConnectionConstraint(new mxPoint(0.875,
0.25),!1),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.5),!0),new mxConnectionConstraint(new mxPoint(0.875,0.75),!1),new mxConnectionConstraint(new mxPoint(0.375,1),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.25,0.25),!1),new mxConnectionConstraint(new mxPoint(0.4,0.1),!1),new mxConnectionConstraint(new mxPoint(0.16,
0.55),!1),new mxConnectionConstraint(new mxPoint(0.07,0.4),!1),new mxConnectionConstraint(new mxPoint(0.31,0.8),!1),new mxConnectionConstraint(new mxPoint(0.13,0.77),!1),new mxConnectionConstraint(new mxPoint(0.8,0.8),!1),new mxConnectionConstraint(new mxPoint(0.55,0.95),!1),new mxConnectionConstraint(new mxPoint(0.875,0.5),!1),new mxConnectionConstraint(new mxPoint(0.96,0.7),!1),new mxConnectionConstraint(new mxPoint(0.625,0.2),!1),new mxConnectionConstraint(new mxPoint(0.88,0.25),!1)];m.prototype.constraints=
mxRectangleShape.prototype.constraints;p.prototype.constraints=mxRectangleShape.prototype.constraints;n.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.25,0),!0),new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.75,0),!0),new mxConnectionConstraint(new mxPoint(0,0.25),!0),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(0,0.75),!0),new mxConnectionConstraint(new mxPoint(1,0.25),!0),new mxConnectionConstraint(new mxPoint(1,
0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.75),!0)];mxArrow.prototype.constraints=null;U.prototype.constraints=null;M.prototype.constraints=null;J.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1)];K.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(1,
0.5),!1),new mxConnectionConstraint(new mxPoint(0.5,0),!1),new mxConnectionConstraint(new mxPoint(0.5,1),!1)];F.prototype.constraints=null;Z.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.25),!1),new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(0,0.75),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1),new mxConnectionConstraint(new mxPoint(0.7,0.1),!1),new mxConnectionConstraint(new mxPoint(0.7,0.9),!1)];ea.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.175,
0.25),!1),new mxConnectionConstraint(new mxPoint(0.25,0.5),!1),new mxConnectionConstraint(new mxPoint(0.175,0.75),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1),new mxConnectionConstraint(new mxPoint(0.7,0.1),!1),new mxConnectionConstraint(new mxPoint(0.7,0.9),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()}
Actions.prototype.init=function(){function a(b){d.escape();var a=d.getDeletableCells(d.getSelectionCells());if(null!=a&&0<a.length){var c=d.model.getParents(a);d.removeCells(a,b);if(null!=c){b=[];for(a=0;a<c.length;a++)(d.model.isVertex(c[a])||d.model.isEdge(c[a]))&&b.push(c[a]);d.setSelectionCells(b)}}}var c=this.editorUi,f=c.editor,d=f.graph,b=function(){return Action.prototype.isEnabled.apply(this,arguments)&&d.isEnabled()};this.addAction("new...",function(){window.open(c.getUrl())});this.addAction("open...",
function(){window.openNew=!0;window.openKey="open";c.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){c.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(b,a){try{var d=mxUtils.parseXml(b),c=new mxGraphModel;(new mxCodec(d)).decode(d.documentElement,c);var e=c.getChildren(c.getChildAt(c.getRoot(),0));f.graph.setSelectionCells(f.graph.importCells(e))}catch(p){mxUtils.alert(mxResources.get("invalidOrMissingFile")+
": "+p.message)}}));c.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile=null})}).isEnabled=b;this.addAction("save",function(){c.saveFile(!1)},null,null,"Ctrl+S").isEnabled=b;this.addAction("saveAs...",function(){c.saveFile(!0)},null,null,"Ctrl+Shift+S").isEnabled=b;this.addAction("export...",function(){c.showDialog((new ExportDialog(c)).container,300,210,!0,!0)});this.addAction("editDiagram...",function(){var b=new EditDiagramDialog(c);c.showDialog(b.container,620,
420,!0,!0);b.init()});this.addAction("pageSetup...",function(){c.showDialog((new PageSetupDialog(c)).container,320,220,!0,!0)}).isEnabled=b;this.addAction("print...",function(){c.showDialog((new PrintDialog(c)).container,300,180,!0,!0)},null,"sprite-print","Ctrl+P");this.addAction("preview",function(){mxUtils.show(d,null,10,10)});this.addAction("undo",function(){c.undo()},null,"sprite-undo","Ctrl+Z");this.addAction("redo",function(){c.redo()},null,"sprite-redo",!mxClient.IS_WIN?"Ctrl+Shift+Z":"Ctrl+Y");
this.addAction("cut",function(){mxClipboard.cut(d)},null,"sprite-cut","Ctrl+X");this.addAction("copy",function(){mxClipboard.copy(d)},null,"sprite-copy","Ctrl+C");this.addAction("paste",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&mxClipboard.paste(d)},!1,"sprite-paste","Ctrl+V");this.addAction("pasteHere",function(b){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){d.getModel().beginUpdate();try{var a=mxClipboard.paste(d);if(null!=a){var c=d.getBoundingBoxFromGeometry(a);
if(null!=c){var e=d.view.translate,f=d.view.scale,p=e.y,r=Math.round(d.snap(d.popupMenuHandler.triggerX/f-e.x)),s=Math.round(d.snap(d.popupMenuHandler.triggerY/f-p));d.cellsMoved(a,r-c.x,s-c.y)}}}finally{d.getModel().endUpdate()}}});this.addAction("delete",function(){a(!1)},null,null,"Delete");this.addAction("deleteAll",function(){a(!0)},null,null,"Ctrl+Delete");this.addAction("duplicate",function(){d.setSelectionCells(d.duplicateCells())},null,null,"Ctrl+D");this.addAction("turn",function(){d.setSelectionCells(d.turnShapes(d.getSelectionCells()))},
null,null,"Ctrl+R");this.addAction("selectVertices",function(){d.selectVertices()},null,null,"Ctrl+Shift+I");this.addAction("selectEdges",function(){d.selectEdges()},null,null,"Ctrl+Shift+E");this.addAction("selectAll",function(){d.selectAll(null,!0)},null,null,"Ctrl+A");this.addAction("selectNone",function(){d.clearSelection()},null,null,"Ctrl+Shift+A");this.addAction("lockUnlock",function(){if(!d.isSelectionEmpty()){d.getModel().beginUpdate();try{var b=d.isCellMovable(d.getSelectionCell())?1:0;
d.toggleCellStyles(mxConstants.STYLE_MOVABLE,b);d.toggleCellStyles(mxConstants.STYLE_RESIZABLE,b);d.toggleCellStyles(mxConstants.STYLE_ROTATABLE,b);d.toggleCellStyles(mxConstants.STYLE_DELETABLE,b);d.toggleCellStyles(mxConstants.STYLE_EDITABLE,b);d.toggleCellStyles("connectable",b)}finally{d.getModel().endUpdate()}}},null,null,"Ctrl+L");this.addAction("home",function(){d.home()},null,null,"Home");this.addAction("exitGroup",function(){d.exitGroup()},null,null,"Ctrl+Shift+Page Up");this.addAction("enterGroup",
function(){d.enterGroup()},null,null,"Ctrl+Shift+Page Down");this.addAction("expand",function(){d.foldCells(!1)},null,null,"Ctrl+Page Down");this.addAction("collapse",function(){d.foldCells(!0)},null,null,"Ctrl+Page Up");this.addAction("toFront",function(){d.orderCells(!1)},null,null,"Ctrl+Shift+F");this.addAction("toBack",function(){d.orderCells(!0)},null,null,"Ctrl+Shift+B");this.addAction("group",function(){1==d.getSelectionCount()?d.setCellStyles("container","1"):d.setSelectionCell(d.groupCells(null,
0))},null,null,"Ctrl+G");this.addAction("ungroup",function(){1==d.getSelectionCount()&&0==d.getModel().getChildCount(d.getSelectionCell())?d.setCellStyles("container","0"):d.setSelectionCells(d.ungroupCells())},null,null,"Ctrl+Shift+U");this.addAction("removeFromGroup",function(){d.removeCellsFromParent()});this.addAction("editData...",function(){var b=d.getSelectionCell()||d.getModel().getRoot();null!=b&&(b=new EditDataDialog(c,b),c.showDialog(b.container,320,320,!0,!1),b.init())},null,null,"Ctrl+M");
this.addAction("editTooltip...",function(){var b=c.editor.graph;if(b.isEnabled()&&!b.isSelectionEmpty()){var a=b.getSelectionCell(),d="";if(mxUtils.isNode(a.value)){var e=a.value.getAttribute("tooltip");null!=e&&(d=e)}d=new TextareaDialog(c,mxResources.get("editTooltip")+":",d,function(d){b.setTooltipForCell(a,d)});c.showDialog(d.container,320,200,!0,!0);d.init()}});this.addAction("openLink",function(){var b=d.getLinkForCell(d.getSelectionCell());null!=b&&window.open(b)});this.addAction("editLink...",
function(){var b=c.editor.graph;if(b.isEnabled()&&!b.isSelectionEmpty()){var a=b.getSelectionCell(),d=b.getLinkForCell(a)||"";c.showLinkDialog(d,mxResources.get("apply"),function(d){d=mxUtils.trim(d);b.setLinkForCell(a,0<d.length?d:null)})}});this.addAction("insertLink",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var b=new LinkDialog(c,"",mxResources.get("insert"),function(b,a){b=mxUtils.trim(b);if(0<b.length){var c=b.substring(b.lastIndexOf("/")+1),e=null;null!=a&&0<a.length&&
(e=a[0].iconUrl,c=a[0].name||a[0].type,c=c.charAt(0).toUpperCase()+c.substring(1),30<c.length&&(c=c.substring(0,30)+"..."));var f=d.getInsertPoint(),c=new mxCell(c,new mxGeometry(f.x,f.y,100,40),"fontColor\x3d#0000EE;fontStyle\x3d4;rounded\x3d1;overflow\x3dhidden;"+(null!=e?"shape\x3dlabel;imageWidth\x3d16;imageHeight\x3d16;spacingLeft\x3d26;align\x3dleft;image\x3d"+e:"spacing\x3d10;"));c.vertex=!0;d.setLinkForCell(c,b);d.cellSizeUpdated(c,!0);d.setSelectionCell(d.addCell(c))}});c.showDialog(b.container,
420,90,!0,!0);b.init()}}).isEnabled=b;this.addAction("link...",mxUtils.bind(this,function(){var b=c.editor.graph;if(b.isEnabled())if(b.cellEditor.isContentEditing()){var a=b.getParentByName(b.getSelectedElement(),"A",b.cellEditor.textarea),d="";null!=a&&(d=a.getAttribute("href")||"");var e=b.cellEditor.saveSelection();c.showLinkDialog(d,mxResources.get("apply"),mxUtils.bind(this,function(a){b.cellEditor.restoreSelection(e);if(null!=a)if(0==a.length)document.execCommand("unlink",!1);else{for(var d=
b.cellEditor.textarea.getElementsByTagName("a"),c=[],f=0;f<d.length;f++)c.push(d[f]);document.execCommand("createlink",!1,mxUtils.trim(a));a=b.cellEditor.textarea.getElementsByTagName("a");if(a.length==c.length+1)for(f=a.length-1;0<=f;f--)if(0==f||a[f]!=c[f-1]){a[f].setAttribute("target","_blank");break}}}))}else b.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=b;this.addAction("autosize",function(){var b=d.getSelectionCells();if(null!=b){d.getModel().beginUpdate();
try{for(var a=0;a<b.length;a++){var c=b[a];if(d.getModel().getChildCount(c))d.updateGroupBounds([c],20);else{var e=d.view.getState(c),f=d.getCellGeometry(c);d.getModel().isVertex(c)&&null!=e&&null!=e.text&&null!=f&&d.isWrapping(c)?(f=f.clone(),f.height=e.text.boundingBox.height/d.view.scale,d.getModel().setGeometry(c,f)):d.updateCellSize(c)}}}finally{d.getModel().endUpdate()}}},null,null,"Ctrl+Shift+Y");this.addAction("formattedText",function(){var b=d.getView().getState(d.getSelectionCell());if(null!=
b){var a="1";d.stopEditing();d.getModel().beginUpdate();try{if("1"==b.style.html)a=null,"0"!=mxUtils.getValue(b.style,"nl2Br","1")&&d.cellLabelChanged(b.cell,d.convertValueToString(b.cell).replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));else{var e=d.convertValueToString(b.cell);"0"!=mxUtils.getValue(b.style,"nl2Br","1")&&(e=e.replace(/\n/g,"\x3cbr/\x3e"));d.cellLabelChanged(b.cell,d.sanitizeHtml(e))}d.setCellStyles("html",a);c.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=
a?a:"0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var b=d.getView().getState(d.getSelectionCell()),a="wrap";d.stopEditing();null!=b&&"wrap"==b.style[mxConstants.STYLE_WHITE_SPACE]&&(a=null);d.setCellStyles(mxConstants.STYLE_WHITE_SPACE,a)});this.addAction("rotation",function(){var b="0",a=d.getView().getState(d.getSelectionCell());null!=a&&(b=a.style[mxConstants.STYLE_ROTATION]||b);b=new FilenameDialog(c,b,mxResources.get("apply"),function(b){null!=
b&&0<b.length&&d.setCellStyles(mxConstants.STYLE_ROTATION,b)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");c.showDialog(b.container,300,80,!0,!0);b.init()});this.addAction("resetView",function(){d.zoomTo(1);c.resetScrollbars()},null,null,"Ctrl+H");this.addAction("zoomIn",function(b){d.zoomIn()},null,null,"Ctrl + / Alt+Mousewheel");this.addAction("zoomOut",function(b){d.zoomOut()},null,null,"Ctrl - / Alt+Mousewheel");this.addAction("fitWindow",function(){d.fit()},null,
null,"Ctrl+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var b=d.pageFormat,a=d.pageScale,b=Math.floor(20*Math.min((d.container.clientWidth-10)/b.width/a,(d.container.clientHeight-10)/b.height/a))/20;d.zoomTo(b);mxUtils.hasScrollbars(d.container)&&(b=d.getPagePadding(),d.container.scrollTop=b.y*d.view.scale,d.container.scrollLeft=Math.min(b.x*d.view.scale,(d.container.scrollWidth-d.container.clientWidth)/2))}),null,null,"Ctrl+J");this.addAction("fitTwoPages",
mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var b=d.pageFormat,a=d.pageScale,b=Math.floor(20*Math.min((d.container.clientWidth-10)/(2*b.width)/a,(d.container.clientHeight-10)/b.height/a))/20;d.zoomTo(b);mxUtils.hasScrollbars(d.container)&&(b=d.getPagePadding(),d.container.scrollTop=Math.min(b.y,(d.container.scrollHeight-d.container.clientHeight)/2),d.container.scrollLeft=Math.min(b.x,(d.container.scrollWidth-d.container.clientWidth)/2))}),null,null,"Ctrl+Shift+J");this.addAction("fitPageWidth",
mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();d.zoomTo(Math.floor(20*(d.container.clientWidth-10)/d.pageFormat.width/d.pageScale)/20);if(mxUtils.hasScrollbars(d.container)){var b=d.getPagePadding();d.container.scrollLeft=Math.min(b.x*d.view.scale,(d.container.scrollWidth-d.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var b=new FilenameDialog(this.editorUi,parseInt(100*d.getView().getScale()),
mxResources.get("apply"),mxUtils.bind(this,function(b){b=parseInt(b);!isNaN(b)&&0<b&&d.zoomTo(b/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(b.container,300,80,!0,!0);b.init()}),null,null,"Ctrl+0"));this.addAction("pageScale",mxUtils.bind(this,function(){var b=new FilenameDialog(this.editorUi,parseInt(100*d.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(b){b=parseInt(b);!isNaN(b)&&0<b&&c.setPageScale(b/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(b.container,
300,80,!0,!0);b.init()}));var e=null,e=this.addAction("grid",function(){d.setGridEnabled(!d.isGridEnabled());c.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,"Ctrl+Shift+G");e.setToggleAction(!0);e.setSelectedCallback(function(){return d.isGridEnabled()});e.setEnabled(!1);e=this.addAction("guides",function(){d.graphHandler.guidesEnabled=!d.graphHandler.guidesEnabled;c.fireEvent(new mxEventObject("guidesEnabledChanged"))});e.setToggleAction(!0);e.setSelectedCallback(function(){return d.graphHandler.guidesEnabled});
e.setEnabled(!1);e=this.addAction("tooltips",function(){d.tooltipHandler.setEnabled(!d.tooltipHandler.isEnabled())});e.setToggleAction(!0);e.setSelectedCallback(function(){return d.tooltipHandler.isEnabled()});e=this.addAction("collapseExpand",function(){c.setFoldingEnabled(!d.foldingEnabled)});e.setToggleAction(!0);e.setSelectedCallback(function(){return d.foldingEnabled});e.isEnabled=b;e=this.addAction("scrollbars",function(){c.setScrollbars(!c.hasScrollbars())});e.setToggleAction(!0);e.setSelectedCallback(function(){return d.scrollbars});
e=this.addAction("pageView",mxUtils.bind(this,function(){var b=mxUtils.hasScrollbars(d.container),a=0,e=0;b&&(a=d.view.translate.x*d.view.scale-d.container.scrollLeft,e=d.view.translate.y*d.view.scale-d.container.scrollTop);d.pageVisible=!d.pageVisible;d.pageBreaksVisible=d.pageVisible;d.preferPageSize=d.pageBreaksVisible;d.view.validateBackground();if(b){var f=d.getSelectionCells();d.clearSelection();d.setSelectionCells(f)}d.sizeDidChange();b&&(d.container.scrollLeft=d.view.translate.x*d.view.scale-
a,d.container.scrollTop=d.view.translate.y*d.view.scale-e);c.fireEvent(new mxEventObject("pageViewChanged"))}));e.setToggleAction(!0);e.setSelectedCallback(function(){return d.pageVisible});this.put("pageBackgroundColor",new Action(mxResources.get("backgroundColor")+"...",function(){c.pickColor(d.background||"none",function(b){c.setBackgroundColor(b)})}));e=this.addAction("connectionArrows",function(){d.connectionArrowsEnabled=!d.connectionArrowsEnabled;c.fireEvent(new mxEventObject("connectionArrowsChanged"))},
null,null,"Ctrl+Q");e.setToggleAction(!0);e.setSelectedCallback(function(){return d.connectionArrowsEnabled});e=this.addAction("connectionPoints",function(){d.setConnectable(!d.connectionHandler.isEnabled());c.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Ctrl+Shift+Q");e.setToggleAction(!0);e.setSelectedCallback(function(){return d.connectionHandler.isEnabled()});e=this.addAction("copyConnect",function(){d.connectionHandler.setCreateTarget(!d.connectionHandler.isCreateTarget());
c.fireEvent(new mxEventObject("copyConnectChanged"))});e.setToggleAction(!0);e.setSelectedCallback(function(){return d.connectionHandler.isCreateTarget()});e.isEnabled=b;e=this.addAction("autosave",function(){c.editor.setAutosave(!c.editor.autosave)});e.setToggleAction(!0);e.setSelectedCallback(function(){return c.editor.autosave});e.isEnabled=b;e.visible=!1;this.addAction("help",function(){var b="";mxResources.isLanguageSupported(mxClient.language)&&(b="_"+mxClient.language);window.open(RESOURCES_PATH+
"/help"+b+".html")});this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){c.showDialog((new AboutDialog(c)).container,320,280,!0,!0)},null,null,"F1"));e=mxUtils.bind(this,function(b,a,c,e){return this.addAction(b,function(){null!=c&&d.cellEditor.isContentEditing()?c():(d.stopEditing(!1),d.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,a))},null,null,e)});e("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},"Ctrl+B");e("italic",mxConstants.FONT_ITALIC,
function(){document.execCommand("italic",!1,null)},"Ctrl+I");e("underline",mxConstants.FONT_UNDERLINE,function(){document.execCommand("underline",!1,null)},"Ctrl+U");this.addAction("fontColor...",function(){c.menus.pickColor(mxConstants.STYLE_FONTCOLOR,"forecolor","000000")});this.addAction("strokeColor...",function(){c.menus.pickColor(mxConstants.STYLE_STROKECOLOR)});this.addAction("fillColor...",function(){c.menus.pickColor(mxConstants.STYLE_FILLCOLOR)});this.addAction("gradientColor...",function(){c.menus.pickColor(mxConstants.STYLE_GRADIENTCOLOR)});
this.addAction("backgroundColor...",function(){c.menus.pickColor(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"backcolor")});this.addAction("borderColor...",function(){c.menus.pickColor(mxConstants.STYLE_LABEL_BORDERCOLOR)});this.addAction("vertical",function(){c.menus.toggleStyle(mxConstants.STYLE_HORIZONTAL,!0)});this.addAction("shadow",function(){c.menus.toggleStyle(mxConstants.STYLE_SHADOW)});this.addAction("solid",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,
null),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",[null,null],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("dashed",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,"1"),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,
mxConstants.STYLE_DASH_PATTERN],"values",["1",null],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("dotted",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,"1"),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,"1 4"),c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1","1 4"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("sharp",
function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),d.setCellStyles(mxConstants.STYLE_CURVED,"0"),c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("rounded",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"1"),d.setCellStyles(mxConstants.STYLE_CURVED,"0"),c.fireEvent(new mxEventObject("styleChanged",
"keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["1","0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("toggleRounded",function(){if(!d.isSelectionEmpty()&&d.isEnabled()){d.getModel().beginUpdate();try{var b=d.getSelectionCells(),a=d.view.getState(b[0]),e=null!=a?a.style:d.getCellStyle(b[0]),f="1"==mxUtils.getValue(e,mxConstants.STYLE_ROUNDED,"0")?"0":"1";d.setCellStyles(mxConstants.STYLE_ROUNDED,f);d.setCellStyles(mxConstants.STYLE_CURVED,
null);c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[f,"0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}});this.addAction("curved",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),d.setCellStyles(mxConstants.STYLE_CURVED,"1"),c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});
this.addAction("collapsible",function(){var b=d.view.getState(d.getSelectionCell()),a="1";null!=b&&null!=d.getFoldingImage(b)&&(a="0");d.setCellStyles("collapsible",a);c.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[a],"cells",d.getSelectionCells()))});this.addAction("editStyle...",mxUtils.bind(this,function(){var b=d.getSelectionCells();if(null!=b&&0<b.length){var a=d.getModel(),a=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",a.getStyle(b[0])||"",
function(a){null!=a&&d.setCellStyle(mxUtils.trim(a),b)},null,null,400,220);this.editorUi.showDialog(a.container,420,300,!0,!0);a.init()}}),null,null,"Ctrl+E");this.addAction("setAsDefaultStyle",function(){d.isEnabled()&&!d.isSelectionEmpty()&&c.setDefaultStyle(d.getSelectionCell())},null,null,"Ctrl+Shift+D");this.addAction("clearDefaultStyle",function(){d.isEnabled()&&c.clearDefaultStyle()},null,null,"Ctrl+Shift+R");this.addAction("addWaypoint",function(){var b=d.getSelectionCell();if(null!=b&&d.getModel().isEdge(b)){var a=
f.graph.selectionCellsHandler.getHandler(b);if(a instanceof mxEdgeHandler){for(var c=d.view.translate,e=d.view.scale,m=c.x,c=c.y,b=d.getModel().getParent(b),p=d.getCellGeometry(b);d.getModel().isVertex(b)&&null!=p;)m+=p.x,c+=p.y,b=d.getModel().getParent(b),p=d.getCellGeometry(b);m=Math.round(d.snap(d.popupMenuHandler.triggerX/e-m));e=Math.round(d.snap(d.popupMenuHandler.triggerY/e-c));a.addPointAt(a.state,m,e)}}});this.addAction("removeWaypoint",function(){var b=c.actions.get("removeWaypoint");null!=
b.handler&&b.handler.removePoint(b.handler.state,b.index)});this.addAction("clearWaypoints",function(){var b=d.getSelectionCells();if(null!=b){d.getModel().beginUpdate();try{for(var a=0;a<b.length;a++){var c=b[a];if(d.getModel().isEdge(c)){var e=d.getCellGeometry(c);null!=e&&(e=e.clone(),e.points=null,d.getModel().setGeometry(c,e))}}}finally{d.getModel().endUpdate()}}});e=this.addAction("subscript",mxUtils.bind(this,function(){d.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),
null,null,"Ctrl+,");e=this.addAction("superscript",mxUtils.bind(this,function(){d.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,"Ctrl+.");this.addAction("image...",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var b=mxResources.get("image")+" ("+mxResources.get("url")+"):",a=d.getView().getState(d.getSelectionCell()),e="";null!=a&&(e=a.style[mxConstants.STYLE_IMAGE]||e);var f=d.cellEditor.saveSelection();c.showImageDialog(b,e,function(b,
a,c){if(d.cellEditor.isContentEditing())d.cellEditor.restoreSelection(f),d.insertImage(b,a,c);else{var e=d.getSelectionCells();if(null!=b){var g=null;d.getModel().beginUpdate();try{if(0==e.length)var k=d.getInsertPoint(),g=e=[d.insertVertex(d.getDefaultParent(),null,"",k.x,k.y,a,c,"shape\x3dimage;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;")];d.setCellStyles(mxConstants.STYLE_IMAGE,b,e);var l=d.view.getState(e[0]),v=null!=l?l.style:d.getCellStyle(e[0]);"image"!=v[mxConstants.STYLE_SHAPE]&&
"label"!=v[mxConstants.STYLE_SHAPE]&&d.setCellStyles(mxConstants.STYLE_SHAPE,"image",e);if(1==d.getSelectionCount()&&null!=a&&null!=c){var z=e[0],y=d.getModel().getGeometry(z);null!=y&&(y=y.clone(),y.width=a,y.height=c,d.getModel().setGeometry(z,y))}}finally{d.getModel().endUpdate()}null!=g&&(d.setSelectionCells(g),d.scrollCellToVisible(g[0]))}}},d.cellEditor.isContentEditing(),!d.cellEditor.isContentEditing())}}).isEnabled=b;this.addAction("insertImage...",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&
(d.clearSelection(),c.actions.get("image").funct())}).isEnabled=b;e=this.addAction("layers",mxUtils.bind(this,function(){null==this.layersWindow?(this.layersWindow=new LayersWindow(c,document.body.offsetWidth-280,120,220,180),this.layersWindow.window.addListener("show",function(){c.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.addListener("hide",function(){c.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.setVisible(!0),c.fireEvent(new mxEventObject("layers"))):
this.layersWindow.window.setVisible(!this.layersWindow.window.isVisible())}),null,null,"Ctrl+Shift+L");e.setToggleAction(!0);e.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.layersWindow&&this.layersWindow.window.isVisible()}));e=this.addAction("formatPanel",mxUtils.bind(this,function(){c.toggleFormatPanel()}),null,null,"Ctrl+Shift+P");e.setToggleAction(!0);e.setSelectedCallback(mxUtils.bind(this,function(){return 0<c.formatWidth}));e=this.addAction("outline",mxUtils.bind(this,
function(){null==this.outlineWindow?(this.outlineWindow=new OutlineWindow(c,document.body.offsetWidth-260,100,180,180),this.outlineWindow.window.addListener("show",function(){c.fireEvent(new mxEventObject("outline"))}),this.outlineWindow.window.addListener("hide",function(){c.fireEvent(new mxEventObject("outline"))}),this.outlineWindow.window.setVisible(!0),c.fireEvent(new mxEventObject("outline"))):this.outlineWindow.window.setVisible(!this.outlineWindow.window.isVisible());c.fireEvent(new mxEventObject("outline"))}),
null,null,"Ctrl+Shift+O");e.setToggleAction(!0);e.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.outlineWindow&&this.outlineWindow.window.isVisible()}))};Actions.prototype.addAction=function(a,c,f,d,b){var e;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),e=mxResources.get(a)+"..."):e=mxResources.get(a);return this.put(a,new Action(e,c,f,d,b))};Actions.prototype.put=function(a,c){return this.actions[a]=c};Actions.prototype.get=function(a){return this.actions[a]};
function Action(a,c,f,d,b){mxEventSource.call(this);this.label=a;this.funct=c;this.enabled=null!=f?f:!0;this.iconCls=d;this.shortcut=b;this.visible=!0}mxUtils.extend(Action,mxEventSource);Action.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Action.prototype.isEnabled=function(){return this.enabled};Action.prototype.setToggleAction=function(a){this.toggleAction=a};
Action.prototype.setSelectedCallback=function(a){this.selectedCallback=a};Action.prototype.isSelected=function(){return this.selectedCallback()};Menus=function(a){this.editorUi=a;this.menus={};this.init();mxClient.IS_SVG||((new Image).src=this.checkmarkImage)};Menus.prototype.defaultFont="Helvetica";Menus.prototype.defaultFontSize="12";Menus.prototype.defaultMenuItems="file edit view arrange extras help".split(" ");Menus.prototype.defaultFonts="Helvetica;Verdana;Times New Roman;Garamond;Comic Sans MS;Courier New;Georgia;Lucida Console;Tahoma".split(";");
Menus.prototype.init=function(){var a=this.editorUi.editor.graph,c=mxUtils.bind(a,a.isEnabled);this.customFonts=[];this.customFontSizes=[];this.put("fontFamily",new Menu(mxUtils.bind(this,function(a,d){for(var b=mxUtils.bind(this,function(b){this.styleChange(a,b,[mxConstants.STYLE_FONTFAMILY],[b],null,d,function(){document.execCommand("fontname",!1,b)}).firstChild.nextSibling.style.fontFamily=b}),c=0;c<this.defaultFonts.length;c++)b(this.defaultFonts[c]);a.addSeparator(d);if(0<this.customFonts.length){for(c=
0;c<this.customFonts.length;c++)b(this.customFonts[c]);a.addSeparator(d);a.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){this.customFonts=[]}),d);a.addSeparator(d)}this.promptChange(a,mxResources.get("custom")+"...","",mxConstants.DEFAULT_FONTFAMILY,mxConstants.STYLE_FONTFAMILY,d,!0,mxUtils.bind(this,function(b){this.customFonts.push(b)}))})));this.put("formatBlock",new Menu(mxUtils.bind(this,function(c,d){function b(b,g){return c.addItem(b,null,mxUtils.bind(this,function(){a.cellEditor.textarea.focus();
document.execCommand("formatBlock",!1,"\x3c"+g+"\x3e")}),d)}b(mxResources.get("normal"),"p");b("","h1").firstChild.nextSibling.innerHTML='\x3ch1 style\x3d"margin:0px;"\x3e'+mxResources.get("heading")+" 1\x3c/h1\x3e";b("","h2").firstChild.nextSibling.innerHTML='\x3ch2 style\x3d"margin:0px;"\x3e'+mxResources.get("heading")+" 2\x3c/h2\x3e";b("","h3").firstChild.nextSibling.innerHTML='\x3ch3 style\x3d"margin:0px;"\x3e'+mxResources.get("heading")+" 3\x3c/h3\x3e";b("","h4").firstChild.nextSibling.innerHTML=
'\x3ch4 style\x3d"margin:0px;"\x3e'+mxResources.get("heading")+" 4\x3c/h4\x3e";b("","h5").firstChild.nextSibling.innerHTML='\x3ch5 style\x3d"margin:0px;"\x3e'+mxResources.get("heading")+" 5\x3c/h5\x3e";b("","h6").firstChild.nextSibling.innerHTML='\x3ch6 style\x3d"margin:0px;"\x3e'+mxResources.get("heading")+" 6\x3c/h6\x3e";b("","pre").firstChild.nextSibling.innerHTML='\x3cpre style\x3d"margin:0px;"\x3e'+mxResources.get("formatted")+"\x3c/pre\x3e";b("","blockquote").firstChild.nextSibling.innerHTML=
'\x3cblockquote style\x3d"margin-top:0px;margin-bottom:0px;"\x3e'+mxResources.get("blockquote")+"\x3c/blockquote\x3e"})));this.put("fontSize",new Menu(mxUtils.bind(this,function(c,d){for(var b=[6,8,9,10,11,12,14,18,24,36,48,72],e=mxUtils.bind(this,function(b){this.styleChange(c,b,[mxConstants.STYLE_FONTSIZE],[b],null,d,function(){document.execCommand("fontSize",!1,"3");for(var d=a.cellEditor.textarea.getElementsByTagName("font"),c=0;c<d.length;c++)if("3"==d[c].getAttribute("size")){d[c].removeAttribute("size");
d[c].style.fontSize=b+"px";break}})}),g=0;g<b.length;g++)e(b[g]);c.addSeparator(d);if(0<this.customFontSizes.length){for(g=0;g<this.customFontSizes.length;g++)e(this.customFontSizes[g]);c.addSeparator(d);c.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){this.customFontSizes=[]}),d);c.addSeparator(d)}this.promptChange(c,mxResources.get("custom")+"...","(pt)","12",mxConstants.STYLE_FONTSIZE,d,!0,mxUtils.bind(this,function(b){this.customFontSizes.push(b)}))})));this.put("direction",
new Menu(mxUtils.bind(this,function(c,d){c.addItem(mxResources.get("flipH"),null,function(){a.toggleCellStyles(mxConstants.STYLE_FLIPH,!1)},d);c.addItem(mxResources.get("flipV"),null,function(){a.toggleCellStyles(mxConstants.STYLE_FLIPV,!1)},d);this.addMenuItems(c,["-","rotation"],d)})));this.put("align",new Menu(mxUtils.bind(this,function(c,d){c.addItem(mxResources.get("leftAlign"),null,function(){a.alignCells(mxConstants.ALIGN_LEFT)},d);c.addItem(mxResources.get("center"),null,function(){a.alignCells(mxConstants.ALIGN_CENTER)},
d);c.addItem(mxResources.get("rightAlign"),null,function(){a.alignCells(mxConstants.ALIGN_RIGHT)},d);c.addSeparator(d);c.addItem(mxResources.get("topAlign"),null,function(){a.alignCells(mxConstants.ALIGN_TOP)},d);c.addItem(mxResources.get("middle"),null,function(){a.alignCells(mxConstants.ALIGN_MIDDLE)},d);c.addItem(mxResources.get("bottomAlign"),null,function(){a.alignCells(mxConstants.ALIGN_BOTTOM)},d)})));this.put("distribute",new Menu(mxUtils.bind(this,function(c,d){c.addItem(mxResources.get("horizontal"),
null,function(){a.distributeCells(!0)},d);c.addItem(mxResources.get("vertical"),null,function(){a.distributeCells(!1)},d)})));this.put("layout",new Menu(mxUtils.bind(this,function(c,d){c.addItem(mxResources.get("horizontalFlow"),null,mxUtils.bind(this,function(){var b=new mxHierarchicalLayout(a,mxConstants.DIRECTION_WEST);this.editorUi.executeLayout(function(){var d=a.getSelectionCells();b.execute(a.getDefaultParent(),0==d.length?null:d)},!0)}),d);c.addItem(mxResources.get("verticalFlow"),null,mxUtils.bind(this,
function(){var b=new mxHierarchicalLayout(a,mxConstants.DIRECTION_NORTH);this.editorUi.executeLayout(function(){var d=a.getSelectionCells();b.execute(a.getDefaultParent(),0==d.length?null:d)},!0)}),d);c.addSeparator(d);c.addItem(mxResources.get("horizontalTree"),null,mxUtils.bind(this,function(){var b=a.getSelectionCell(),d=null;null==b||0==a.getModel().getChildCount(b)?0==a.getModel().getEdgeCount(b)&&(d=a.findTreeRoots(a.getDefaultParent())):d=a.findTreeRoots(b);null!=d&&0<d.length&&(b=d[0]);if(null!=
b){var c=new mxCompactTreeLayout(a,!0);c.edgeRouting=!1;c.levelDistance=30;this.editorUi.executeLayout(function(){c.execute(a.getDefaultParent(),b)},!0)}}),d);c.addItem(mxResources.get("verticalTree"),null,mxUtils.bind(this,function(){var b=a.getSelectionCell(),d=null;null==b||0==a.getModel().getChildCount(b)?0==a.getModel().getEdgeCount(b)&&(d=a.findTreeRoots(a.getDefaultParent())):d=a.findTreeRoots(b);null!=d&&0<d.length&&(b=d[0]);if(null!=b){var c=new mxCompactTreeLayout(a,!1);c.edgeRouting=!1;
c.levelDistance=30;this.editorUi.executeLayout(function(){c.execute(a.getDefaultParent(),b)},!0)}}),d);c.addItem(mxResources.get("radialTree"),null,mxUtils.bind(this,function(){var b=a.getSelectionCell(),d=null;null==b||0==a.getModel().getChildCount(b)?0==a.getModel().getEdgeCount(b)&&(d=a.findTreeRoots(a.getDefaultParent())):d=a.findTreeRoots(b);null!=d&&0<d.length&&(b=d[0]);if(null!=b){var c=new mxRadialTreeLayout(a,!1);c.levelDistance=60;c.autoRadius=!0;this.editorUi.executeLayout(function(){c.execute(a.getDefaultParent(),
b);a.isSelectionEmpty()||(b=a.getModel().getParent(b),a.getModel().isVertex(b)&&a.updateGroupBounds([b],2*a.gridSize,!0))},!0)}}),d);c.addSeparator(d);c.addItem(mxResources.get("organic"),null,mxUtils.bind(this,function(){var b=new mxFastOrganicLayout(a);this.editorUi.executeLayout(function(){var d=a.getSelectionCell();if(null==d||0==a.getModel().getChildCount(d))d=a.getDefaultParent();b.execute(d);a.getModel().isVertex(d)&&a.updateGroupBounds([d],2*a.gridSize,!0)},!0)}),d);c.addItem(mxResources.get("circle"),
null,mxUtils.bind(this,function(){var b=new mxCircleLayout(a);this.editorUi.executeLayout(function(){var d=a.getSelectionCell();if(null==d||0==a.getModel().getChildCount(d))d=a.getDefaultParent();b.execute(d);a.getModel().isVertex(d)&&a.updateGroupBounds([d],2*a.gridSize,!0)},!0)}),d)})));this.put("navigation",new Menu(mxUtils.bind(this,function(a,d){this.addMenuItems(a,"home - exitGroup enterGroup - expand collapse - collapsible".split(" "),d)})));this.put("arrange",new Menu(mxUtils.bind(this,function(a,
d){this.addMenuItems(a,["toFront","toBack","-"],d);this.addSubmenu("direction",a,d);this.addMenuItems(a,["turn","-"],d);this.addSubmenu("align",a,d);this.addSubmenu("distribute",a,d);a.addSeparator(d);this.addSubmenu("navigation",a,d);this.addSubmenu("insert",a,d);this.addSubmenu("layout",a,d);this.addMenuItems(a,"- group ungroup removeFromGroup - clearWaypoints autosize".split(" "),d)}))).isEnabled=c;this.put("insert",new Menu(mxUtils.bind(this,function(a,d){this.addMenuItems(a,["insertLink","insertImage"],
d)})));this.put("view",new Menu(mxUtils.bind(this,function(a,d){this.addMenuItems(a,(null!=this.editorUi.format?["formatPanel"]:[]).concat("outline layers - pageView pageScale - scrollbars tooltips - grid guides - connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),d))})));this.put("viewPanels",new Menu(mxUtils.bind(this,function(a,d){null!=this.editorUi.format&&this.addMenuItems(a,["formatPanel"],d);this.addMenuItems(a,["outline","layers"],d)})));this.put("viewZoom",new Menu(mxUtils.bind(this,
function(c,d){this.addMenuItems(c,["resetView","-"],d);for(var b=[0.25,0.5,0.75,1,1.25,1.5,2,3,4],e=0;e<b.length;e++)(function(b){c.addItem(100*b+"%",null,function(){a.zoomTo(b)},d)})(b[e]);this.addMenuItems(c,"- fitWindow fitPageWidth fitPage fitTwoPages - customZoom".split(" "),d)})));this.put("file",new Menu(mxUtils.bind(this,function(a,d){this.addMenuItems(a,"new open - save saveAs - import export - pageSetup print".split(" "),d)})));this.put("edit",new Menu(mxUtils.bind(this,function(a,d){this.addMenuItems(a,
"undo redo - cut copy paste delete - duplicate - editData editTooltip editStyle - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("extras",new Menu(mxUtils.bind(this,function(a,d){this.addMenuItems(a,["copyConnect","collapseExpand","-","editDiagram"])})));this.put("help",new Menu(mxUtils.bind(this,function(a,d){this.addMenuItems(a,["help","-","about"])})))};Menus.prototype.put=function(a,c){return this.menus[a]=c};Menus.prototype.get=function(a){return this.menus[a]};
Menus.prototype.addSubmenu=function(a,c,f){var d=this.get(a).isEnabled();if(c.showDisabled||d)f=c.addItem(mxResources.get(a),null,null,f,null,d),this.addMenu(a,c,f)};Menus.prototype.addMenu=function(a,c,f){var d=this.get(a);null!=d&&(c.showDisabled||d.isEnabled())&&this.get(a).execute(c,f)};
Menus.prototype.addInsertTableItem=function(a){function c(b,a){for(var d=["\x3ctable\x3e"],c=0;c<b;c++){d.push("\x3ctr\x3e");for(var e=0;e<a;e++)d.push("\x3ctd\x3e\x3cbr\x3e\x3c/td\x3e");d.push("\x3c/tr\x3e")}d.push("\x3c/table\x3e");return d.join("")}var f=this.editorUi.editor.graph;a=a.addItem("",null,mxUtils.bind(this,function(b){var a=f.getParentByName(mxEvent.getSource(b),"TD");if(null!=a){var d=f.getParentByName(a,"TR"),e=f.cellEditor.textarea.getElementsByTagName("table");b=[];for(var m=0;m<
e.length;m++)b.push(e[m]);f.container.focus();f.pasteHtmlAtCaret(c(d.sectionRowIndex+1,a.cellIndex+1));a=f.cellEditor.textarea.getElementsByTagName("table");if(a.length==b.length+1)for(m=a.length-1;0<=m;m--)if(0==m||a[m]!=b[m-1]){f.selectNode(a[m].rows[0].cells[0]);break}}}));var d='\x3cimg src\x3d"'+mxClient.imageBasePath+'/transparent.gif" width\x3d"16" height\x3d"16"/\x3e';a.firstChild.innerHTML="";var b=function(b,a){var c=document.createElement("table");c.setAttribute("border","1");c.style.borderCollapse=
"collapse";mxClient.IS_QUIRKS||c.setAttribute("cellPadding","8");for(var e=0;e<b;e++)for(var f=c.insertRow(e),p=0;p<a;p++){var r=f.insertCell(-1);mxClient.IS_QUIRKS&&(r.innerHTML=d)}return c}(5,5);a.firstChild.appendChild(b);var e=document.createElement("div");e.style.padding="4px";e.style.fontSize=Menus.prototype.defaultFontSize+"px";e.innerHTML="1x1";a.firstChild.appendChild(e);mxEvent.addListener(b,"mouseover",function(a){var c=f.getParentByName(mxEvent.getSource(a),"TD");if(null!=c){for(var l=
f.getParentByName(c,"TR"),n=Math.min(20,l.sectionRowIndex+2),m=Math.min(20,c.cellIndex+2),p=b.rows.length;p<n;p++)for(var r=b.insertRow(p),s=0;s<b.rows[0].cells.length;s++){var q=r.insertCell(-1);mxClient.IS_QUIRKS&&(q.innerHTML=d)}for(p=0;p<b.rows.length;p++){r=b.rows[p];for(s=r.cells.length;s<m;s++)q=r.insertCell(-1),mxClient.IS_QUIRKS&&(q.innerHTML=d)}e.innerHTML=c.cellIndex+1+"x"+(l.sectionRowIndex+1);for(n=0;n<b.rows.length;n++){m=b.rows[n];for(p=0;p<m.cells.length;p++)m.cells[p].style.backgroundColor=
n<=l.sectionRowIndex&&p<=c.cellIndex?"blue":"white"}mxEvent.consume(a)}})};
Menus.prototype.edgeStyleChange=function(a,c,f,d,b,e,g){return a.addItem(c,null,mxUtils.bind(this,function(){var b=this.editorUi.editor.graph;b.stopEditing(!1);b.getModel().beginUpdate();try{for(var a=b.getSelectionCells(),c=[],e=0;e<a.length;e++){var p=a[e];if(b.getModel().isEdge(p)){if(g){var r=b.getCellGeometry(p);null!=r&&(r=r.clone(),r.points=null,b.getModel().setGeometry(p,r))}for(var s=0;s<f.length;s++)b.setCellStyles(f[s],d[s],[p]);c.push(p)}}this.editorUi.fireEvent(new mxEventObject("styleChanged",
"keys",f,"values",d,"cells",c))}finally{b.getModel().endUpdate()}}),e,b)};Menus.prototype.styleChange=function(a,c,f,d,b,e,g){var k=this.createStyleChangeFunction(f,d);return a.addItem(c,null,mxUtils.bind(this,function(){var b=this.editorUi.editor.graph;null!=g&&b.cellEditor.isContentEditing()?g():k()}),e,b)};
Menus.prototype.createStyleChangeFunction=function(a,c){return mxUtils.bind(this,function(){var f=this.editorUi.editor.graph;f.stopEditing(!1);f.getModel().beginUpdate();try{for(var d=0;d<a.length;d++)f.setCellStyles(a[d],c[d]);this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",a,"values",c,"cells",f.getSelectionCells()))}finally{f.getModel().endUpdate()}})};
Menus.prototype.promptChange=function(a,c,f,d,b,e,g,k,l){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph,c=d,e=a.getView().getState(a.getSelectionCell());null!=e&&(c=e.style[b]||c);c=new FilenameDialog(this.editorUi,c,mxResources.get("apply"),mxUtils.bind(this,function(d){if(null!=d&&0<d.length){a.getModel().beginUpdate();try{a.stopEditing(!1),a.setCellStyles(b,d)}finally{a.getModel().endUpdate()}null!=k&&k(d)}}),mxResources.get("enterValue")+(0<f.length?" "+
f:""));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}),e,l,g)};
Menus.prototype.pickColor=function(a,c,f){var d=this.editorUi.editor.graph;if(null!=c&&d.cellEditor.isContentEditing()){var b=d.cellEditor.saveSelection();a=new ColorDialog(this.editorUi,f||"000000",mxUtils.bind(this,function(a){d.cellEditor.restoreSelection(b);document.execCommand(c,!1,a!=mxConstants.NONE?a:"transparent")}),function(){d.cellEditor.restoreSelection(b)});this.editorUi.showDialog(a.container,220,430,!0,!0);a.init()}else{null==this.colorDialog&&(this.colorDialog=new ColorDialog(this.editorUi));
this.colorDialog.currentColorKey=a;f=d.getView().getState(d.getSelectionCell());var e="none";null!=f&&(e=f.style[a]||e);"none"==e?(e="ffffff",this.colorDialog.picker.fromString("ffffff"),this.colorDialog.colorInput.value="none"):this.colorDialog.picker.fromString(e);this.editorUi.showDialog(this.colorDialog.container,220,430,!0,!0);this.colorDialog.init()}};
Menus.prototype.toggleStyle=function(a,c){var f=this.editorUi.editor.graph,d=f.toggleCellStyles(a,c);this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[a],"values",[d],"cells",f.getSelectionCells()))};
Menus.prototype.addMenuItem=function(a,c,f,d,b){var e=this.editorUi.actions.get(c);return null!=e&&(a.showDisabled||e.isEnabled())&&e.visible?(c=a.addItem(e.label,null,function(){e.funct(d)},f,b,e.isEnabled()),e.toggleAction&&e.isSelected()&&a.addCheckmark(c,Editor.checkmarkImage),this.addShortcut(c,e),c):null};
Menus.prototype.addShortcut=function(a,c){if(null!=c.shortcut){var f=a.firstChild.nextSibling.nextSibling,d=document.createElement("span");d.style.color="gray";mxUtils.write(d,c.shortcut);f.appendChild(d)}};Menus.prototype.addMenuItems=function(a,c,f,d,b){for(var e=0;e<c.length;e++)"-"==c[e]?a.addSeparator(f):this.addMenuItem(a,c[e],f,d,null!=b?b[e]:null)};
Menus.prototype.createPopupMenu=function(a,c,f){var d=this.editorUi.editor.graph;a.smartSeparators=!0;d.isSelectionEmpty()?this.addMenuItems(a,["undo","redo","-","pasteHere"],null,f):this.addMenuItems(a,"delete - cut copy - duplicate".split(" "),null,f);if(0<d.getSelectionCount()){1==d.getSelectionCount()&&this.addMenuItems(a,["setAsDefaultStyle"],null,f);a.addSeparator();c=d.getSelectionCell();var b=d.view.getState(c);if(null!=b){1==d.getSelectionCount()&&this.addMenuItems(a,["toFront","toBack",
"-"],null,f);if(d.getModel().isEdge(c)&&"entityRelationEdgeStyle"!=mxUtils.getValue(b.style,mxConstants.STYLE_EDGE,null)&&"arrow"!=mxUtils.getValue(b.style,mxConstants.STYLE_SHAPE,null)){var e=d.selectionCellsHandler.getHandler(c),g=!1;if(e instanceof mxEdgeHandler&&null!=e.bends&&2<e.bends.length){var g=e.getHandleForEvent(d.updateMouseEvent(new mxMouseEvent(f))),k=this.editorUi.actions.get("removeWaypoint");k.handler=e;k.index=g;g=0<g&&g<e.bends.length-1}this.addMenuItems(a,["-",g?"removeWaypoint":
"addWaypoint"],null,f);e=d.getModel().getGeometry(c);null!=e&&null!=e.points&&0<e.points.length&&this.addMenuItems(a,["clearWaypoints"],null,f)}1<d.getSelectionCount()?(a.addSeparator(),this.addMenuItems(a,["group"],null,f)):1==d.getSelectionCount()&&!d.getModel().isEdge(c)&&(!d.isSwimlane(c)&&0<d.getModel().getChildCount(c))&&(a.addSeparator(),this.addMenuItems(a,["ungroup"],null,f));1==d.getSelectionCount()&&(a.addSeparator(),this.addMenuItems(a,["editData","editLink"],null,f),d.getModel().isVertex(c)&&
null!=mxUtils.getValue(b.style,mxConstants.STYLE_IMAGE,null)&&(a.addSeparator(),this.addMenuItem(a,"image",null,f).firstChild.nextSibling.innerHTML=mxResources.get("editImage")+"..."))}}else this.addMenuItems(a,["-","selectVertices","selectEdges","-","selectAll"],null,f)};
Menus.prototype.createMenubar=function(a){for(var c=new Menubar(this.editorUi,a),f=this.defaultMenuItems,d=0;d<f.length;d++)(function(b){var a=c.addMenu(mxResources.get(f[d]),b.funct);null!=a&&b.addListener("stateChanged",function(){(a.enabled=b.enabled)?(a.className="geItem",8==document.documentMode&&(a.style.color="")):(a.className="geItem mxDisabled",8==document.documentMode&&(a.style.color="#c3c3c3"))})})(this.get(f[d]));return c};function Menubar(a,c){this.editorUi=a;this.container=c}
Menubar.prototype.hideMenu=function(){this.editorUi.hideCurrentMenu()};Menubar.prototype.addMenu=function(a,c){var f=document.createElement("a");f.setAttribute("href","javascript:void(0);");f.className="geItem";mxUtils.write(f,a);this.addMenuHandler(f,c);this.container.appendChild(f);return f};
Menubar.prototype.addMenuHandler=function(a,c){if(null!=c){var f=!0,d=mxUtils.bind(this,function(b){if(f&&null==a.enabled||a.enabled){this.editorUi.editor.graph.popupMenuHandler.hideMenu();var d=new mxPopupMenu(c);d.div.className+=" geMenubarMenu";d.smartSeparators=!0;d.showDisabled=!0;d.autoExpand=!0;d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d,arguments);this.editorUi.resetCurrentMenu();d.destroy()});var g=mxUtils.getOffset(a);d.popup(g.x,g.y+a.offsetHeight,null,
b);this.editorUi.setCurrentMenu(d,a)}mxEvent.consume(b)});mxEvent.addListener(a,"mousemove",mxUtils.bind(this,function(b){null!=this.editorUi.currentMenu&&this.editorUi.currentMenuElt!=a&&(this.editorUi.hideCurrentMenu(),d(b))}));mxEvent.addListener(a,"mousedown",mxUtils.bind(this,function(){f=this.currentElt!=a}));mxEvent.addListener(a,"click",mxUtils.bind(this,function(b){d(b);f=!0}))}};Menubar.prototype.destroy=function(){};
function Menu(a,c){mxEventSource.call(this);this.funct=a;this.enabled=null!=c?c:!0}mxUtils.extend(Menu,mxEventSource);Menu.prototype.isEnabled=function(){return this.enabled};Menu.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Menu.prototype.execute=function(a,c){this.funct(a,c)};EditorUi.prototype.createMenus=function(){return new Menus(this)};Format=function(a,c){this.editorUi=a;this.container=c};
Format.prototype.labelIndex=0;Format.prototype.currentIndex=0;
Format.prototype.init=function(){var a=this.editorUi.editor.graph;this.update=mxUtils.bind(this,function(a,f){this.clearSelectionState();this.refresh()});a.getSelectionModel().addListener(mxEvent.CHANGE,this.update);a.addListener(mxEvent.EDITING_STARTED,this.update);a.addListener(mxEvent.EDITING_STOPPED,this.update);a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.clearSelectionState()}));a.addListener(mxEvent.ROOT,mxUtils.bind(this,function(){this.refresh()}));this.refresh()};
Format.prototype.clearSelectionState=function(){this.selectionState=null};Format.prototype.getSelectionState=function(){null==this.selectionState&&(this.selectionState=this.createSelectionState());return this.selectionState};Format.prototype.createSelectionState=function(){for(var a=this.editorUi.editor.graph.getSelectionCells(),c=this.initSelectionState(),f=0;f<a.length;f++)this.updateSelectionStateForCell(c,a[f],a);return c};
Format.prototype.initSelectionState=function(){return{vertices:[],edges:[],x:null,y:null,width:null,height:null,style:{},containsImage:!1,containsLabel:!1,fill:!0,glass:!0,rounded:!0,comic:!0,autoSize:!1,image:!0,shadow:!0}};
Format.prototype.updateSelectionStateForCell=function(a,c,f){f=this.editorUi.editor.graph;if(f.getModel().isVertex(c)){a.vertices.push(c);var d=f.getCellGeometry(c);if(null!=d&&(0<d.width?null==a.width?a.width=d.width:a.width!=d.width&&(a.width=""):a.containsLabel=!0,0<d.height?null==a.height?a.height=d.height:a.height!=d.height&&(a.height=""):a.containsLabel=!0,!d.relative||null!=d.offset)){var b=d.relative?d.offset.x:d.x,d=d.relative?d.offset.y:d.y;null==a.x?a.x=b:a.x!=b&&(a.x="");null==a.y?a.y=
d:a.y!=d&&(a.y="")}}else f.getModel().isEdge(c)&&a.edges.push(c);c=f.view.getState(c);if(null!=c){a.autoSize=a.autoSize||this.isAutoSizeState(c);a.glass=a.glass&&this.isGlassState(c);a.rounded=a.rounded&&this.isRoundedState(c);a.comic=a.comic&&this.isComicState(c);a.image=a.image&&this.isImageState(c);a.shadow=a.shadow&&this.isShadowState(c);a.fill=a.fill&&this.isFillState(c);f=mxUtils.getValue(c.style,mxConstants.STYLE_SHAPE,null);a.containsImage=a.containsImage||"image"==f;for(var e in c.style)f=
c.style[e],null!=f&&(null==a.style[e]?a.style[e]=f:a.style[e]!=f&&(a.style[e]=""))}};Format.prototype.isFillState=function(a){return a.view.graph.model.isVertex(a.cell)||"arrow"==mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null)||"flexArrow"==mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null)};
Format.prototype.isGlassState=function(a){a=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);return"label"==a||"rectangle"==a||"internalStorage"==a||"ext"==a||"umlLifeline"==a||"swimlane"==a||"process"==a};
Format.prototype.isRoundedState=function(a){a=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);return"label"==a||"rectangle"==a||"internalStorage"==a||"corner"==a||"parallelogram"==a||"swimlane"==a||"triangle"==a||"trapezoid"==a||"ext"==a||"step"==a||"tee"==a||"process"==a||"link"==a||"rhombus"==a||"offPageConnector"==a||"loopLimit"==a||"hexagon"==a||"manualInput"==a||"curlyBracket"==a||"singleArrow"==a||"doubleArrow"==a||"flexArrow"==a||"card"==a||"umlLifeline"==a};
Format.prototype.isComicState=function(a){a=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);return 0<=mxUtils.indexOf("label rectangle internalStorage corner parallelogram note collate swimlane triangle trapezoid ext step tee process link rhombus offPageConnector loopLimit hexagon manualInput singleArrow doubleArrow flexArrow card umlLifeline connector folder component sortShape cross umlFrame cube isoCube isoRectangle".split(" "),a)};
Format.prototype.isAutoSizeState=function(a){return"1"==mxUtils.getValue(a.style,mxConstants.STYLE_AUTOSIZE,null)};Format.prototype.isImageState=function(a){a=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);return"label"==a||"image"==a};Format.prototype.isShadowState=function(a){return"image"!=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null)};
Format.prototype.clear=function(){this.container.innerHTML="";if(null!=this.panels)for(var a=0;a<this.panels.length;a++)this.panels[a].destroy();this.panels=[]};
Format.prototype.refresh=function(){if("0px"!=this.container.style.width){this.clear();var a=this.editorUi,c=a.editor.graph,f=document.createElement("div");f.style.whiteSpace="nowrap";f.style.color="rgb(112, 112, 112)";f.style.textAlign="left";f.style.cursor="default";var d=document.createElement("div");d.style.border="1px solid #c0c0c0";d.style.borderWidth="0px 0px 1px 0px";d.style.textAlign="center";d.style.fontWeight="bold";d.style.overflow="hidden";d.style.display=mxClient.IS_QUIRKS?"inline":
"inline-block";d.style.paddingTop="8px";d.style.height=mxClient.IS_QUIRKS?"34px":"25px";d.style.width="100%";this.container.appendChild(f);if(c.isSelectionEmpty())mxUtils.write(d,mxResources.get("diagram")),c=document.createElement("img"),c.setAttribute("border","0"),c.setAttribute("src",Dialog.prototype.closeImage),c.setAttribute("title",mxResources.get("hide")),c.style.position="absolute",c.style.display="block",c.style.right="0px",c.style.top="8px",c.style.cursor="pointer",c.style.marginTop="1px",
c.style.marginRight="17px",c.style.border="1px solid transparent",c.style.padding="1px",c.style.opacity=0.5,d.appendChild(c),mxEvent.addListener(c,"click",function(){a.actions.get("formatPanel").funct()}),f.appendChild(d),this.panels.push(new DiagramFormatPanel(this,a,f));else if(c.isEditing())mxUtils.write(d,mxResources.get("text")),f.appendChild(d),this.panels.push(new TextFormatPanel(this,a,f));else{var b=this.getSelectionState().containsLabel,e=null,g=null,c=mxUtils.bind(this,function(a,d,c){var f=
mxUtils.bind(this,function(f){e!=a&&(b?this.labelIndex=c:this.currentIndex=c,null!=e&&(e.style.backgroundColor="#d7d7d7",e.style.borderBottomWidth="1px"),e=a,e.style.backgroundColor="",e.style.borderBottomWidth="0px",g!=d&&(null!=g&&(g.style.display="none"),g=d,g.style.display=""))});mxEvent.addListener(a,"click",f);c==(b?this.labelIndex:this.currentIndex)&&f()}),k=0;d.style.backgroundColor="#d7d7d7";d.style.borderLeftWidth="1px";d.style.width=b?"50%":"33.3%";d.style.width=b?"50%":"33.3%";var l=d.cloneNode(!1),
n=l.cloneNode(!1);l.style.backgroundColor="#d7d7d7";n.style.backgroundColor="#d7d7d7";if(b)l.style.borderLeftWidth="0px";else{d.style.borderLeftWidth="0px";mxUtils.write(d,mxResources.get("style"));f.appendChild(d);var m=f.cloneNode(!1);m.style.display="none";this.panels.push(new StyleFormatPanel(this,a,m));this.container.appendChild(m);c(d,m,k++)}mxUtils.write(l,mxResources.get("text"));f.appendChild(l);d=f.cloneNode(!1);d.style.display="none";this.panels.push(new TextFormatPanel(this,a,d));this.container.appendChild(d);
mxUtils.write(n,mxResources.get("arrange"));f.appendChild(n);f=f.cloneNode(!1);f.style.display="none";this.panels.push(new ArrangePanel(this,a,f));this.container.appendChild(f);c(l,d,k++);c(n,f,k++)}}};BaseFormatPanel=function(a,c,f){this.format=a;this.editorUi=c;this.container=f;this.listeners=[]};
BaseFormatPanel.prototype.getSelectionState=function(){for(var a=this.editorUi.editor.graph,c=a.getSelectionCells(),f=null,d=0;d<c.length;d++){var b=a.view.getState(c[d]);if(null!=b&&(b=mxUtils.getValue(b.style,mxConstants.STYLE_SHAPE,null),null!=b))if(null==f)f=b;else if(f!=b)return null}return f};
BaseFormatPanel.prototype.installInputHandler=function(a,c,f,d,b,e,g,k){e=null!=e?e:"";k=null!=k?k:!1;var l=this.editorUi,n=l.editor.graph;d=null!=d?d:1;b=null!=b?b:999;var m=null,p=!1,r=mxUtils.bind(this,function(r){var q=k?parseFloat(a.value):parseInt(a.value);!isNaN(q)&&c==mxConstants.STYLE_ROTATION&&(q=mxUtils.mod(Math.round(100*q),36E3)/100);q=Math.min(b,Math.max(d,isNaN(q)?f:q));if(n.cellEditor.isContentEditing()&&g)p||(p=!0,null!=m&&(n.cellEditor.restoreSelection(m),m=null),g(q),a.value=q+
e,p=!1);else if(q!=mxUtils.getValue(this.format.getSelectionState().style,c,f)){n.isEditing()&&n.stopEditing(!0);n.getModel().beginUpdate();try{if(n.setCellStyles(c,q,n.getSelectionCells()),c==mxConstants.STYLE_FONTSIZE)for(var u=n.getSelectionCells(),t=0;t<u.length;t++){var v=u[t];if(n.isHtmlLabel(v)){var z=document.createElement("div");z.innerHTML=n.convertValueToString(v);for(var y=z.getElementsByTagName("font"),x=0;x<y.length;x++)y[x].removeAttribute("size"),y[x].style.fontSize=q+"px";n.cellLabelChanged(v,
z.innerHTML)}}}finally{n.getModel().endUpdate()}l.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[q],"cells",n.getSelectionCells()))}a.value=q+e;mxEvent.consume(r)});g&&n.cellEditor.isContentEditing()&&(mxEvent.addListener(a,"mousedown",function(){m=n.cellEditor.saveSelection()}),mxEvent.addListener(a,"touchstart",function(){m=n.cellEditor.saveSelection()}));mxEvent.addListener(a,"change",r);mxEvent.addListener(a,"blur",r);return r};
BaseFormatPanel.prototype.createPanel=function(){var a=document.createElement("div");a.style.padding="12px 0px 12px 18px";a.style.borderBottom="1px solid #c0c0c0";return a};BaseFormatPanel.prototype.createTitle=function(a){var c=document.createElement("div");c.style.padding="0px 0px 6px 0px";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.width="200px";c.style.fontWeight="bold";mxUtils.write(c,a);return c};
BaseFormatPanel.prototype.createStepper=function(a,c,f,d,b,e){f=null!=f?f:1;d=null!=d?d:8;if(mxClient.IS_QUIRKS)d-=2;else if(mxClient.IS_MT||8<=document.documentMode)d+=1;var g=document.createElement("div");mxUtils.setPrefixedStyle(g.style,"borderRadius","3px");g.style.border="1px solid rgb(192, 192, 192)";g.style.position="absolute";var k=document.createElement("div");k.style.borderBottom="1px solid rgb(192, 192, 192)";k.style.position="relative";k.style.height=d+"px";k.style.width="10px";k.className=
"geBtnUp";g.appendChild(k);var l=k.cloneNode(!1);l.style.border="none";l.style.height=d+"px";l.className="geBtnDown";g.appendChild(l);mxEvent.addListener(l,"click",function(b){""==a.value&&(a.value=e||"2");var d=parseInt(a.value);isNaN(d)||(a.value=d-f,null!=c&&c(b));mxEvent.consume(b)});mxEvent.addListener(k,"click",function(b){""==a.value&&(a.value=e||"0");var d=parseInt(a.value);isNaN(d)||(a.value=d+f,null!=c&&c(b));mxEvent.consume(b)});if(b){var n=null;mxEvent.addGestureListeners(g,function(b){if(mxClient.IS_QUIRKS||
8==document.documentMode)n=document.selection.createRange();mxEvent.consume(b)},null,function(b){if(null!=n){try{n.select()}catch(a){}n=null;mxEvent.consume(b)}})}return g};
BaseFormatPanel.prototype.createOption=function(a,c,f,d){var b=document.createElement("div");b.style.padding="6px 0px 1px 0px";b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.width="200px";b.style.height=mxClient.IS_QUIRKS?"27px":"18px";var e=document.createElement("input");e.setAttribute("type","checkbox");e.style.margin="0px 6px 0px 0px";b.appendChild(e);var g=document.createElement("span");mxUtils.write(g,a);b.appendChild(g);var k=!1,l=c(),n=function(b){k||(k=!0,b?(e.setAttribute("checked",
"checked"),e.defaultChecked=!0,e.checked=!0):(e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1),l!=b&&(l=b,c()!=l&&f(l)),k=!1)};mxEvent.addListener(b,"click",function(a){a=mxEvent.getSource(a);if(a==b||a==g)e.checked=!e.checked;n(e.checked)});n(l);null!=d&&(d.install(n),this.listeners.push(d));return b};
BaseFormatPanel.prototype.createCellOption=function(a,c,f,d,b,e,g,k){d=null!=d?"null"==d?null:d:"1";b=null!=b?"null"==b?null:b:"0";var l=this.editorUi,n=l.editor.graph;return this.createOption(a,function(){var a=n.view.getState(n.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,f)!=b:null},function(a){k&&n.stopEditing();if(null!=g)g.funct();else{n.getModel().beginUpdate();try{a=a?d:b,n.setCellStyles(c,a,n.getSelectionCells()),null!=e&&e(n.getSelectionCells(),a),l.fireEvent(new mxEventObject("styleChanged",
"keys",[c],"values",[a],"cells",n.getSelectionCells()))}finally{n.getModel().endUpdate()}}},{install:function(a){this.listener=function(){var d=n.view.getState(n.getSelectionCell());null!=d&&a(mxUtils.getValue(d.style,c,f)!=b)};n.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){n.getModel().removeListener(this.listener)}})};
BaseFormatPanel.prototype.createColorOption=function(a,c,f,d,b,e,g){var k=document.createElement("div");k.style.padding="6px 0px 1px 0px";k.style.whiteSpace="nowrap";k.style.overflow="hidden";k.style.width="200px";k.style.height=mxClient.IS_QUIRKS?"27px":"18px";var l=document.createElement("input");l.setAttribute("type","checkbox");l.style.margin="0px 6px 0px 0px";g||k.appendChild(l);var n=document.createElement("span");mxUtils.write(n,a);k.appendChild(n);var m=!1,p=c(),r=null,s=function(b,a){if(!m){m=
!0;r.innerHTML='\x3cdiv style\x3d"width:'+(mxClient.IS_QUIRKS?"30":"36")+"px;height:12px;margin:3px;border:1px solid black;background-color:"+(null!=b&&b!=mxConstants.NONE?b:d)+';"\x3e\x3c/div\x3e';if(mxClient.IS_MT||mxClient.IS_QUIRKS||8==document.documentMode)r.firstChild.style.margin="0px";null!=b&&b!=mxConstants.NONE?(l.setAttribute("checked","checked"),l.defaultChecked=!0,l.checked=!0):(l.removeAttribute("checked"),l.defaultChecked=!1,l.checked=!1);r.style.display=l.checked||g?"":"none";null!=
e&&e(b);if(!a&&(g||p!=b))p=b,(g||c()!=p)&&f(p);m=!1}},r=mxUtils.button("",mxUtils.bind(this,function(b){this.editorUi.pickColor(p,s);mxEvent.consume(b)}));r.style.position="absolute";r.style.marginTop="-4px";r.style.right=mxClient.IS_QUIRKS?"0px":"20px";r.style.height="22px";r.className="geColorBtn";r.style.display=l.checked||g?"":"none";k.appendChild(r);mxEvent.addListener(k,"click",function(b){mxEvent.getSource(b)!=l&&(l.checked=!l.checked);!l.checked&&null!=p&&(p!=mxConstants.NONE&&d!=mxConstants.NONE)&&
(d=p);s(l.checked?d:mxConstants.NONE)});s(p,!0);null!=b&&(b.install(s),this.listeners.push(b));return k};
BaseFormatPanel.prototype.createCellColorOption=function(a,c,f,d,b){var e=this.editorUi,g=e.editor.graph;return this.createColorOption(a,function(){var b=g.view.getState(g.getSelectionCell());return null!=b?mxUtils.getValue(b.style,c,null):null},function(a){g.getModel().beginUpdate();try{null!=b&&b(a),g.setCellStyles(c,a,g.getSelectionCells()),e.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",g.getSelectionCells()))}finally{g.getModel().endUpdate()}},f||mxConstants.NONE,
{install:function(b){this.listener=function(){var a=g.view.getState(g.getSelectionCell());null!=a&&b(mxUtils.getValue(a.style,c,null))};g.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){g.getModel().removeListener(this.listener)}},d)};
BaseFormatPanel.prototype.addArrow=function(a,c){c=null!=c?c:10;var f=document.createElement("div");f.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";f.style.padding="6px";f.style.paddingRight="4px";var d=10-c;2==d?f.style.paddingTop="6px":0<d?f.style.paddingTop=6-d+"px":f.style.marginTop="-2px";f.style.height=c+"px";f.style.borderLeft="1px solid #a0a0a0";f.innerHTML='\x3cimg border\x3d"0" src\x3d"'+(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHBJREFUeNpidHB2ZyAGsACxDRBPIKCuA6TwCBB/h2rABu4A8SYmKCcXiP/iUFgAxL9gCi8A8SwsirZCMQMTkmANEH9E4v+CmsaArvAdyNFI/FlQ92EoBIE+qCRIUz168DBgsU4OqhinQpgHMABAgAEALY4XLIsJ20oAAAAASUVORK5CYII\x3d":
IMAGE_PATH+"/dropdown.png")+'" style\x3d"margin-bottom:4px;"\x3e';mxUtils.setOpacity(f,70);d=a.getElementsByTagName("div")[0];null!=d&&(d.style.paddingRight="6px",d.style.marginLeft="4px",d.style.marginTop="-1px",d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",mxUtils.setOpacity(d,60));mxUtils.setOpacity(a,100);a.style.border="1px solid #a0a0a0";a.style.backgroundColor="white";a.style.backgroundImage="none";a.style.width="auto";a.className+=" geColorBtn";mxUtils.setPrefixedStyle(a.style,
"borderRadius","3px");a.appendChild(f);return d};BaseFormatPanel.prototype.addUnitInput=function(a,c,f,d,b,e,g,k){g=null!=g?g:0;c=document.createElement("input");c.style.position="absolute";c.style.textAlign="right";c.style.marginTop="-2px";c.style.right=f+12+"px";c.style.width=d+"px";a.appendChild(c);d=this.createStepper(c,b,e,null,k);d.style.marginTop=g-2+"px";d.style.right=f+"px";a.appendChild(d);return c};
BaseFormatPanel.prototype.createRelativeOption=function(a,c,f,d,b){function e(b){if(null!=d)d(l);else{var a=parseInt(l.value),a=Math.min(100,Math.max(0,isNaN(a)?100:a)),e=g.view.getState(g.getSelectionCell());null!=e&&a!=mxUtils.getValue(e.style,c,100)&&(100==a&&(a=null),g.setCellStyles(c,a,g.getSelectionCells()));l.value=(null!=a?a:"100")+" %"}mxEvent.consume(b)}f=null!=f?f:44;var g=this.editorUi.editor.graph,k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";mxUtils.write(k,
a);k.style.fontWeight="bold";var l=this.addUnitInput(k,"%",20,f,e,10,-15,null!=d);if(null!=c){var n=mxUtils.bind(this,function(b,a,d){if(d||l!=document.activeElement)b=this.format.getSelectionState(),b=parseInt(mxUtils.getValue(b.style,c,100)),l.value=isNaN(b)?"":b+" %"});mxEvent.addListener(l,"keydown",function(b){13==b.keyCode?(g.container.focus(),mxEvent.consume(b)):27==b.keyCode&&(n(null,null,!0),g.container.focus(),mxEvent.consume(b))});g.getModel().addListener(mxEvent.CHANGE,n);this.listeners.push({destroy:function(){g.getModel().removeListener(n)}});
n()}mxEvent.addListener(l,"blur",e);mxEvent.addListener(l,"change",e);null!=b&&b(l);return k};BaseFormatPanel.prototype.addLabel=function(a,c,f,d){d=null!=d?d:61;var b=document.createElement("div");mxUtils.write(b,c);b.style.position="absolute";b.style.right=f+"px";b.style.width=d+"px";b.style.marginTop="6px";b.style.textAlign="center";a.appendChild(b)};
BaseFormatPanel.prototype.addKeyHandler=function(a,c){mxEvent.addListener(a,"keydown",mxUtils.bind(this,function(a){13==a.keyCode?(this.editorUi.editor.graph.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(null!=c&&c(null,null,!0),this.editorUi.editor.graph.container.focus(),mxEvent.consume(a))}))};
BaseFormatPanel.prototype.styleButtons=function(a){for(var c=0;c<a.length;c++)mxUtils.setPrefixedStyle(a[c].style,"borderRadius","3px"),mxUtils.setOpacity(a[c],100),a[c].style.border="1px solid #a0a0a0",a[c].style.padding="4px",a[c].style.paddingTop="3px",a[c].style.paddingRight="1px",a[c].style.margin="1px",a[c].style.width="24px",a[c].style.height="20px",a[c].className+=" geColorBtn"};
BaseFormatPanel.prototype.destroy=function(){if(null!=this.listeners){for(var a=0;a<this.listeners.length;a++)this.listeners[a].destroy();this.listeners=null}};ArrangePanel=function(a,c,f){BaseFormatPanel.call(this,a,c,f);this.init()};mxUtils.extend(ArrangePanel,BaseFormatPanel);
ArrangePanel.prototype.init=function(){var a=this.format.getSelectionState();this.container.appendChild(this.addLayerOps(this.createPanel()));this.addGeometry(this.container);this.addEdgeGeometry(this.container);this.container.appendChild(this.addAngle(this.createPanel()));a.containsLabel||this.container.appendChild(this.addFlip(this.createPanel()));1<a.vertices.length&&(this.container.appendChild(this.addAlign(this.createPanel())),this.container.appendChild(this.addDistribute(this.createPanel())));
this.container.appendChild(this.addGroupOps(this.createPanel()))};
ArrangePanel.prototype.addLayerOps=function(a){var c=this.editorUi,f=mxUtils.button(mxResources.get("toFront"),function(a){c.actions.get("toFront").funct()});f.setAttribute("title",mxResources.get("toFront")+" ("+this.editorUi.actions.get("toFront").shortcut+")");f.style.width="100px";f.style.marginRight="2px";a.appendChild(f);f=mxUtils.button(mxResources.get("toBack"),function(a){c.actions.get("toBack").funct()});f.setAttribute("title",mxResources.get("toBack")+" ("+this.editorUi.actions.get("toBack").shortcut+
")");f.style.width="100px";a.appendChild(f);return a};
ArrangePanel.prototype.addGroupOps=function(a){var c=this.editorUi,f=c.editor.graph,d=f.getSelectionCell(),b=this.format.getSelectionState(),e=0;a.style.paddingTop="8px";a.style.paddingBottom="6px";1<f.getSelectionCount()?(btn=mxUtils.button(mxResources.get("group"),function(b){c.actions.get("group").funct()}),btn.setAttribute("title",mxResources.get("group")+" ("+this.editorUi.actions.get("group").shortcut+")"),btn.style.width="202px",btn.style.marginBottom="2px",a.appendChild(btn),e++):1==f.getSelectionCount()&&
!f.getModel().isEdge(d)&&(!f.isSwimlane(d)&&0<f.getModel().getChildCount(d))&&(btn=mxUtils.button(mxResources.get("ungroup"),function(b){c.actions.get("ungroup").funct()}),btn.setAttribute("title",mxResources.get("ungroup")+" ("+this.editorUi.actions.get("ungroup").shortcut+")"),btn.style.width="202px",btn.style.marginBottom="2px",a.appendChild(btn),e++);1==f.getSelectionCount()&&f.getModel().isVertex(d)&&f.getModel().isVertex(f.getModel().getParent(d))?(0<e&&mxUtils.br(a),btn=mxUtils.button(mxResources.get("removeFromGroup"),
function(b){c.actions.get("removeFromGroup").funct()}),btn.setAttribute("title",mxResources.get("removeFromGroup")),btn.style.width="202px",btn.style.marginBottom="2px",a.appendChild(btn),e++):0<b.edges.length&&(0<e&&mxUtils.br(a),btn=mxUtils.button(mxResources.get("clearWaypoints"),mxUtils.bind(this,function(b){this.editorUi.actions.get("clearWaypoints").funct()})),btn.setAttribute("title",mxResources.get("clearWaypoints")),btn.style.width="202px",btn.style.marginBottom="2px",a.appendChild(btn),
e++);1==f.getSelectionCount()&&(0<e&&mxUtils.br(a),btn=mxUtils.button(mxResources.get("editData"),mxUtils.bind(this,function(b){this.editorUi.actions.get("editData").funct()})),btn.setAttribute("title",mxResources.get("editData")+" ("+this.editorUi.actions.get("editData").shortcut+")"),btn.style.width="100px",btn.style.marginBottom="2px",a.appendChild(btn),e++,btn=mxUtils.button(mxResources.get("editLink"),mxUtils.bind(this,function(b){this.editorUi.actions.get("editLink").funct()})),btn.setAttribute("title",
mxResources.get("editLink")),btn.style.width="100px",btn.style.marginLeft="2px",btn.style.marginBottom="2px",a.appendChild(btn),e++);0==e&&(a.style.display="none");return a};
ArrangePanel.prototype.addAlign=function(a){var c=this.editorUi.editor.graph;a.style.paddingTop="6px";a.style.paddingBottom="12px";a.appendChild(this.createTitle(mxResources.get("align")));var f=document.createElement("div");f.style.position="relative";f.style.paddingLeft="0px";f.style.borderWidth="0px";f.className="geToolbarContainer";mxClient.IS_QUIRKS&&(a.style.height="60px");var d=this.editorUi.toolbar.addButton("geSprite-alignleft",mxResources.get("left"),function(){c.alignCells(mxConstants.ALIGN_LEFT)},
f),b=this.editorUi.toolbar.addButton("geSprite-aligncenter",mxResources.get("center"),function(){c.alignCells(mxConstants.ALIGN_CENTER)},f),e=this.editorUi.toolbar.addButton("geSprite-alignright",mxResources.get("right"),function(){c.alignCells(mxConstants.ALIGN_RIGHT)},f),g=this.editorUi.toolbar.addButton("geSprite-aligntop",mxResources.get("top"),function(){c.alignCells(mxConstants.ALIGN_TOP)},f),k=this.editorUi.toolbar.addButton("geSprite-alignmiddle",mxResources.get("middle"),function(){c.alignCells(mxConstants.ALIGN_MIDDLE)},
f),l=this.editorUi.toolbar.addButton("geSprite-alignbottom",mxResources.get("bottom"),function(){c.alignCells(mxConstants.ALIGN_BOTTOM)},f);this.styleButtons([d,b,e,g,k,l]);e.style.marginRight="6px";a.appendChild(f);return a};
ArrangePanel.prototype.addFlip=function(a){var c=this.editorUi.editor.graph;a.style.paddingTop="6px";a.style.paddingBottom="10px";var f=document.createElement("div");f.style.marginTop="2px";f.style.marginBottom="8px";f.style.fontWeight="bold";mxUtils.write(f,mxResources.get("flip"));a.appendChild(f);f=mxUtils.button(mxResources.get("horizontal"),function(a){c.toggleCellStyles(mxConstants.STYLE_FLIPH,!1)});f.setAttribute("title",mxResources.get("horizontal"));f.style.width="100px";f.style.marginRight=
"2px";a.appendChild(f);f=mxUtils.button(mxResources.get("vertical"),function(a){c.toggleCellStyles(mxConstants.STYLE_FLIPV,!1)});f.setAttribute("title",mxResources.get("vertical"));f.style.width="100px";a.appendChild(f);return a};
ArrangePanel.prototype.addDistribute=function(a){var c=this.editorUi.editor.graph;a.style.paddingTop="6px";a.style.paddingBottom="12px";a.appendChild(this.createTitle(mxResources.get("distribute")));var f=mxUtils.button(mxResources.get("horizontal"),function(a){c.distributeCells(!0)});f.setAttribute("title",mxResources.get("horizontal"));f.style.width="100px";f.style.marginRight="2px";a.appendChild(f);f=mxUtils.button(mxResources.get("vertical"),function(a){c.distributeCells(!1)});f.setAttribute("title",
mxResources.get("vertical"));f.style.width="100px";a.appendChild(f);return a};
ArrangePanel.prototype.addAngle=function(a){var c=this.editorUi,f=c.editor.graph,d=this.format.getSelectionState();a.style.paddingBottom="28px";var b=document.createElement("div");b.style.position="absolute";b.style.width="70px";b.style.marginTop="0px";b.style.fontWeight="bold";mxUtils.write(b,mxResources.get("angle"));a.appendChild(b);var e=null,g=this.addUnitInput(a,"\u00b0",84,44,function(){e.apply(this,arguments)});d.containsLabel||(b=mxUtils.button(mxResources.get("turn"),function(b){c.actions.get("turn").funct()}),
b.setAttribute("title",mxResources.get("turn")+" ("+this.editorUi.actions.get("turn").shortcut+")"),b.style.position="absolute",b.style.marginTop="-2px",b.style.right="20px",b.style.width="61px",a.appendChild(b));var k=mxUtils.bind(this,function(b,a,c){if(c||document.activeElement!=g)d=this.format.getSelectionState(),b=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_ROTATION,0)),g.value=isNaN(b)?"":b+"\u00b0"}),e=this.installInputHandler(g,mxConstants.STYLE_ROTATION,0,0,360,"\u00b0",null,!0);
this.addKeyHandler(g,k);f.getModel().addListener(mxEvent.CHANGE,k);this.listeners.push({destroy:function(){f.getModel().removeListener(k)}});k();return a};
ArrangePanel.prototype.addGeometry=function(a){var c=this.editorUi,f=c.editor.graph,d=this.format.getSelectionState(),b=this.createPanel();b.style.paddingBottom="8px";var e=document.createElement("div");e.style.position="absolute";e.style.width="50px";e.style.marginTop="0px";e.style.fontWeight="bold";mxUtils.write(e,mxResources.get("size"));b.appendChild(e);var g,k,l,n,m=this.addUnitInput(b,"pt",84,44,function(){g.apply(this,arguments)}),p=this.addUnitInput(b,"pt",20,44,function(){k.apply(this,arguments)}),
r=document.createElement("div");r.className="geSprite geSprite-fit";r.setAttribute("title",mxResources.get("autosize")+" ("+this.editorUi.actions.get("autosize").shortcut+")");r.style.position="relative";r.style.cursor="pointer";r.style.marginTop="-3px";r.style.border="0px";r.style.left="52px";mxUtils.setOpacity(r,50);mxEvent.addListener(r,"mouseenter",function(){mxUtils.setOpacity(r,100)});mxEvent.addListener(r,"mouseleave",function(){mxUtils.setOpacity(r,50)});mxEvent.addListener(r,"click",function(){c.actions.get("autosize").funct()});
b.appendChild(r);this.addLabel(b,mxResources.get("width"),84);this.addLabel(b,mxResources.get("height"),20);mxUtils.br(b);e=document.createElement("div");e.style.paddingTop="8px";e.style.paddingRight="20px";e.style.whiteSpace="nowrap";e.style.textAlign="right";var s=this.createCellOption(mxResources.get("constrainProportions"),mxConstants.STYLE_ASPECT,null,"fixed","null");s.style.width="100%";e.appendChild(s);b.appendChild(e);this.addKeyHandler(m,v);this.addKeyHandler(p,v);g=this.addGeometryHandler(m,
function(b,a){0<b.width&&(b.width=Math.max(1,a))});k=this.addGeometryHandler(p,function(b,a){0<b.height&&(b.height=Math.max(1,a))});a.appendChild(b);var q=this.createPanel();q.style.paddingBottom="30px";e=document.createElement("div");e.style.position="absolute";e.style.width="70px";e.style.marginTop="0px";e.style.fontWeight="bold";mxUtils.write(e,mxResources.get("position"));q.appendChild(e);var u=this.addUnitInput(q,"pt",84,44,function(){l.apply(this,arguments)}),t=this.addUnitInput(q,"pt",20,44,
function(){n.apply(this,arguments)});mxUtils.br(q);this.addLabel(q,mxResources.get("left"),84);this.addLabel(q,mxResources.get("top"),20);var v=mxUtils.bind(this,function(a,c,e){d=this.format.getSelectionState();if(!d.containsLabel&&d.vertices.length==f.getSelectionCount()&&null!=d.width&&null!=d.height){b.style.display="";if(e||document.activeElement!=m)m.value=d.width+(""==d.width?"":" pt");if(e||document.activeElement!=p)p.value=d.height+(""==d.height?"":" pt")}else b.style.display="none";if(d.vertices.length==
f.getSelectionCount()&&null!=d.x&&null!=d.y){q.style.display="";if(e||document.activeElement!=u)u.value=d.x+(""==d.x?"":" pt");if(e||document.activeElement!=t)t.value=d.y+(""==d.y?"":" pt")}else q.style.display="none"});this.addKeyHandler(u,v);this.addKeyHandler(t,v);f.getModel().addListener(mxEvent.CHANGE,v);this.listeners.push({destroy:function(){f.getModel().removeListener(v)}});v();l=this.addGeometryHandler(u,function(b,a){b.relative?b.offset.x=a:b.x=a});n=this.addGeometryHandler(t,function(b,
a){b.relative?b.offset.y=a:b.y=a});a.appendChild(q)};
ArrangePanel.prototype.addGeometryHandler=function(a,c){function f(e){if(""!=a.value){var f=parseFloat(a.value);if(f!=b){d.getModel().beginUpdate();try{for(var k=d.getSelectionCells(),l=0;l<k.length;l++)if(d.getModel().isVertex(k[l])){var n=d.getCellGeometry(k[l]);null!=n&&(n=n.clone(),c(n,f),d.getModel().setGeometry(k[l],n))}}finally{d.getModel().endUpdate()}b=f;a.value=f+" pt"}else isNaN(f)&&(a.value=b+" pt")}mxEvent.consume(e)}var d=this.editorUi.editor.graph,b=null;mxEvent.addListener(a,"blur",
f);mxEvent.addListener(a,"change",f);mxEvent.addListener(a,"focus",function(){b=a.value});return f};
ArrangePanel.prototype.addEdgeGeometry=function(a){function c(a){var c=parseInt(k.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(b.style,"width",mxCellRenderer.prototype.defaultShapes.flexArrow.prototype.defaultWidth)&&(d.setCellStyles("width",c,d.getSelectionCells()),f.fireEvent(new mxEventObject("styleChanged","keys",["width"],"values",[c],"cells",d.getSelectionCells())));k.value=c+" pt";mxEvent.consume(a)}var f=this.editorUi,d=f.editor.graph,b=this.format.getSelectionState(),
e=this.createPanel(),g=document.createElement("div");g.style.position="absolute";g.style.width="70px";g.style.marginTop="0px";g.style.fontWeight="bold";mxUtils.write(g,mxResources.get("width"));e.appendChild(g);var k=this.addUnitInput(e,"pt",20,44,function(){c.apply(this,arguments)});mxUtils.br(e);this.addKeyHandler(k,l);mxEvent.addListener(k,"blur",c);mxEvent.addListener(k,"change",c);a.appendChild(e);var l=mxUtils.bind(this,function(a,d,c){b=this.format.getSelectionState();if("link"==b.style.shape||
"flexArrow"==b.style.shape){if(e.style.display="",c||document.activeElement!=k)a=mxUtils.getValue(b.style,"width",mxCellRenderer.prototype.defaultShapes.flexArrow.prototype.defaultWidth),k.value=a+" pt"}else e.style.display="none"});d.getModel().addListener(mxEvent.CHANGE,l);this.listeners.push({destroy:function(){d.getModel().removeListener(l)}});l()};TextFormatPanel=function(a,c,f){BaseFormatPanel.call(this,a,c,f);this.init()};mxUtils.extend(TextFormatPanel,BaseFormatPanel);
TextFormatPanel.prototype.init=function(){this.container.style.borderBottom="none";this.addFont(this.container)};
TextFormatPanel.prototype.addFont=function(a){function c(b,a){mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?b.style.filter=a?"progid:DXImageTransform.Microsoft.Gradient(StartColorStr\x3d'#c5ecff', EndColorStr\x3d'#87d4fb', GradientType\x3d0)":"":b.style.backgroundImage=a?"linear-gradient(#c5ecff 0px,#87d4fb 100%)":""}var f=this.editorUi,d=f.editor.graph,b=this.format.getSelectionState(),e=this.createTitle(mxResources.get("font"));e.style.paddingLeft="18px";e.style.paddingTop="10px";
e.style.paddingBottom="6px";a.appendChild(e);e=this.createPanel();e.style.paddingTop="2px";e.style.paddingBottom="2px";e.style.position="relative";e.style.marginLeft="-2px";e.style.borderWidth="0px";e.className="geToolbarContainer";mxClient.IS_QUIRKS&&(e.style.display="block");if(d.cellEditor.isContentEditing()){var g=e.cloneNode(),k=this.editorUi.toolbar.addMenu(mxResources.get("style"),mxResources.get("style"),!0,"formatBlock",g);k.style.color="rgb(112, 112, 112)";k.style.whiteSpace="nowrap";k.style.overflow=
"hidden";k.style.margin="0px";this.addArrow(k);k.style.width="192px";k.style.height="15px";k=k.getElementsByTagName("div")[0];k.style.cssFloat="right";a.appendChild(g)}a.appendChild(e);g=this.createPanel();g.style.marginTop="8px";g.style.borderTop="1px solid #c0c0c0";g.style.paddingTop="6px";g.style.paddingBottom="6px";var l=this.editorUi.toolbar.addMenu("Helvetica",mxResources.get("fontFamily"),!0,"fontFamily",e);l.style.color="rgb(112, 112, 112)";l.style.whiteSpace="nowrap";l.style.overflow="hidden";
l.style.margin="0px";this.addArrow(l);l.style.width="192px";l.style.height="15px";k=e.cloneNode(!1);k.style.marginLeft="-3px";var n=this.editorUi.toolbar.addItems(["bold","italic","underline"],k,!0);n[0].setAttribute("title",mxResources.get("bold")+" ("+this.editorUi.actions.get("bold").shortcut+")");n[1].setAttribute("title",mxResources.get("italic")+" ("+this.editorUi.actions.get("italic").shortcut+")");n[2].setAttribute("title",mxResources.get("underline")+" ("+this.editorUi.actions.get("underline").shortcut+
")");var m=this.editorUi.toolbar.addItems(["vertical"],k,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(k);this.styleButtons(n);this.styleButtons([m]);var p=e.cloneNode(!1);p.style.marginLeft="-3px";p.style.paddingBottom="0px";var r=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),d.cellEditor.isContentEditing()?function(){document.execCommand("justifyleft",!1,null)}:this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_LEFT]),p),
s=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),d.cellEditor.isContentEditing()?function(){document.execCommand("justifycenter",!1,null)}:this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER]),p),q=this.editorUi.toolbar.addButton("geSprite-right",mxResources.get("right"),d.cellEditor.isContentEditing()?function(){document.execCommand("justifyright",!1,null)}:this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],
[mxConstants.ALIGN_RIGHT]),p);this.styleButtons([r,s,q]);if(d.cellEditor.isContentEditing()){var u=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},k);this.styleButtons([u])}var t=this.editorUi.toolbar.addButton("geSprite-top",mxResources.get("top"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP]),p),v=this.editorUi.toolbar.addButton("geSprite-middle",
mxResources.get("middle"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE]),p),z=this.editorUi.toolbar.addButton("geSprite-bottom",mxResources.get("bottom"),this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM]),p);this.styleButtons([t,v,z]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(p);var y,x,D,A,B,E,G;d.cellEditor.isContentEditing()?(t.style.display="none",v.style.display="none",
z.style.display="none",m.style.display="none",D=this.editorUi.toolbar.addButton("geSprite-justifyfull",null,function(){document.execCommand("justifyfull",!1,null)},p),this.styleButtons([D,y=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" (Ctrl+,)",function(){document.execCommand("subscript",!1,null)},p),x=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" (Ctrl+.)",function(){document.execCommand("superscript",!1,null)},p)]),
D.style.marginRight="9px",u=p.cloneNode(!1),u.style.paddingTop="4px",p=[this.editorUi.toolbar.addButton("geSprite-orderedlist",mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},u),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"),function(){document.execCommand("insertunorderedlist",!1,null)},u),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",
!1,null)},u),this.editorUi.toolbar.addButton("geSprite-indent",mxResources.get("increaseIndent"),function(){document.execCommand("indent",!1,null)},u),this.editorUi.toolbar.addButton("geSprite-code",mxResources.get("html"),function(){d.cellEditor.toggleViewMode()},u)],this.styleButtons(p),p[p.length-1].style.marginLeft="9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),u.style.height="40"),a.appendChild(u)):(n[2].style.marginRight="9px",q.style.marginRight="9px");p=e.cloneNode(!1);p.style.marginLeft="0px";
p.style.paddingTop="8px";p.style.paddingBottom="4px";p.style.fontWeight="normal";mxUtils.write(p,mxResources.get("position"));var F=document.createElement("select");F.style.position="absolute";F.style.right="20px";F.style.width="97px";F.style.marginTop="-2px";for(var H="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "),I={topLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM],top:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP,
mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM],topRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM],left:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE],center:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE],right:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE],bottomLeft:[mxConstants.ALIGN_LEFT,
mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP],bottomRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP]},u=0;u<H.length;u++){var L=document.createElement("option");L.setAttribute("value",H[u]);mxUtils.write(L,mxResources.get(H[u]));F.appendChild(L)}p.appendChild(F);H=e.cloneNode(!1);H.style.marginLeft="0px";H.style.paddingTop=
"4px";H.style.paddingBottom="4px";H.style.fontWeight="normal";mxUtils.write(H,mxResources.get("writingDirection"));var O=document.createElement("select");O.style.position="absolute";O.style.right="20px";O.style.width="97px";O.style.marginTop="-2px";for(var L=["automatic","leftToRight","rightToLeft"],T={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR,rightToLeft:mxConstants.TEXT_DIRECTION_RTL},u=0;u<L.length;u++){var X=document.createElement("option");X.setAttribute("value",L[u]);mxUtils.write(X,
mxResources.get(L[u]));O.appendChild(X)}H.appendChild(O);d.isEditing()||(a.appendChild(p),mxEvent.addListener(F,"change",function(b){d.getModel().beginUpdate();try{var a=I[F.value];null!=a&&(d.setCellStyles(mxConstants.STYLE_LABEL_POSITION,a[0],d.getSelectionCells()),d.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,a[1],d.getSelectionCells()),d.setCellStyles(mxConstants.STYLE_ALIGN,a[2],d.getSelectionCells()),d.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,a[3],d.getSelectionCells()))}finally{d.getModel().endUpdate()}mxEvent.consume(b)}),
a.appendChild(H),mxEvent.addListener(O,"change",function(b){d.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,T[O.value],d.getSelectionCells());mxEvent.consume(b)}));var R=document.createElement("input");R.style.textAlign="right";R.style.marginTop="4px";mxClient.IS_QUIRKS||(R.style.position="absolute",R.style.right="32px");R.style.width="46px";R.style.height=mxClient.IS_QUIRKS?"21px":"17px";k.appendChild(R);var C=null,p=this.installInputHandler(R,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,
1,999," pt",function(b){C=b;document.execCommand("fontSize",!1,"4");b=d.cellEditor.textarea.getElementsByTagName("font");for(var a=0;a<b.length;a++)if("4"==b[a].getAttribute("size")){b[a].removeAttribute("size");b[a].style.fontSize=C+"px";window.setTimeout(function(){R.value=C+" pt";C=null},0);break}},!0),p=this.createStepper(R,p,1,10,!0,Menus.prototype.defaultFontSize);p.style.display=R.style.display;p.style.marginTop="4px";mxClient.IS_QUIRKS||(p.style.right="20px");k.appendChild(p);k=l.getElementsByTagName("div")[0];
k.style.cssFloat="right";var N=null,P="#ffffff",M=null,U="#000000",J=d.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return P},function(b){document.execCommand("backcolor",!1,b!=mxConstants.NONE?b:"transparent")},"#ffffff",{install:function(b){N=b},destroy:function(){N=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff");J.style.fontWeight="bold";var K=this.createCellColorOption(mxResources.get("borderColor"),
mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");K.style.fontWeight="bold";k=d.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("fontColor"),function(){return U},function(b){document.execCommand("forecolor",!1,b!=mxConstants.NONE?b:"transparent")},"#000000",{install:function(b){M=b},destroy:function(){M=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(b){J.style.display=null==b||b==mxConstants.NONE?"none":"";K.style.display=
J.style.display},function(b){null==b||b==mxConstants.NONE?d.setCellStyles(mxConstants.STYLE_NOLABEL,"1",d.getSelectionCells()):d.setCellStyles(mxConstants.STYLE_NOLABEL,null,d.getSelectionCells())});k.style.fontWeight="bold";g.appendChild(k);g.appendChild(J);d.cellEditor.isContentEditing()||g.appendChild(K);a.appendChild(g);g=this.createPanel();g.style.paddingTop="2px";g.style.paddingBottom="4px";k=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null",
null,null,!0);k.style.fontWeight="bold";!b.containsLabel&&!b.autoSize&&0==b.edges.length&&g.appendChild(k);k=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,f.actions.get("formattedText"));k.style.fontWeight="bold";g.appendChild(k);k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="28px";k.style.fontWeight="normal";p=document.createElement("div");p.style.position="absolute";p.style.width="70px";p.style.marginTop="0px";p.style.fontWeight="bold";mxUtils.write(p,
mxResources.get("spacing"));k.appendChild(p);var S,Z,ea,da,V,Y=this.addUnitInput(k,"pt",91,44,function(){S.apply(this,arguments)}),aa=this.addUnitInput(k,"pt",20,44,function(){Z.apply(this,arguments)});mxUtils.br(k);this.addLabel(k,mxResources.get("top"),91);this.addLabel(k,mxResources.get("global"),20);mxUtils.br(k);mxUtils.br(k);var W=this.addUnitInput(k,"pt",162,44,function(){ea.apply(this,arguments)}),Q=this.addUnitInput(k,"pt",91,44,function(){da.apply(this,arguments)}),ga=this.addUnitInput(k,
"pt",20,44,function(){V.apply(this,arguments)});mxUtils.br(k);this.addLabel(k,mxResources.get("left"),162);this.addLabel(k,mxResources.get("bottom"),91);this.addLabel(k,mxResources.get("right"),20);if(d.cellEditor.isContentEditing()){var ca=null,$=null;a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(b){var a=""==b.value?120:parseInt(b.value),a=Math.max(120,isNaN(a)?120:a);null!=ca&&(d.cellEditor.restoreSelection(ca),ca=null);for(var c=d.getSelectedElement();null!=
c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;c==d.cellEditor.textarea&&null!=d.cellEditor.textarea.firstChild&&("FONT"!=d.cellEditor.textarea.firstChild.nodeName&&(d.cellEditor.textarea.innerHTML="\x3cfont\x3e"+d.cellEditor.textarea.innerHTML+"\x3c/font\x3e"),c=d.cellEditor.textarea.firstChild);null!=c&&c!=d.cellEditor.textarea&&(c.style.lineHeight=a+"%");b.value=a+" %"},function(b){$=b;mxEvent.addListener(b,"mousedown",function(){ca=d.cellEditor.saveSelection()});mxEvent.addListener(b,
"touchstart",function(){ca=d.cellEditor.saveSelection()});b.value="120 %"}));g=e.cloneNode(!1);g.style.paddingLeft="0px";k=this.editorUi.toolbar.addItems(["link","image"],g,!0);p=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"),function(){document.execCommand("inserthorizontalrule",!1,null)},g),this.editorUi.toolbar.addMenuFunctionInContainer(g,"geSprite-table",mxResources.get("table"),!1,mxUtils.bind(this,function(b){this.editorUi.menus.addInsertTableItem(b)}))];
this.styleButtons(k);this.styleButtons(p);k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";k.appendChild(this.createTitle(mxResources.get("insert")));k.appendChild(g);a.appendChild(k);mxClient.IS_QUIRKS&&(k.style.height="70");k=e.cloneNode(!1);k.style.paddingLeft="0px";p=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"),function(){try{null!=B&&d.selectNode(d.insertColumn(B,null!=E?E.cellIndex:0))}catch(b){alert(b)}},k),
this.editorUi.toolbar.addButton("geSprite-insertcolumnafter",mxResources.get("insertColumnAfter"),function(){try{null!=B&&d.selectNode(d.insertColumn(B,null!=E?E.cellIndex+1:-1))}catch(b){alert(b)}},k),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"),function(){try{null!=B&&null!=E&&d.deleteColumn(B,E.cellIndex)}catch(b){alert(b)}},k),this.editorUi.toolbar.addButton("geSprite-insertrowbefore",mxResources.get("insertRowBefore"),function(){try{null!=B&&null!=G&&
d.selectNode(d.insertRow(B,G.sectionRowIndex))}catch(b){alert(b)}},k),this.editorUi.toolbar.addButton("geSprite-insertrowafter",mxResources.get("insertRowAfter"),function(){try{null!=B&&null!=G&&d.selectNode(d.insertRow(B,G.sectionRowIndex+1))}catch(b){alert(b)}},k),this.editorUi.toolbar.addButton("geSprite-deleterow",mxResources.get("deleteRow"),function(){try{null!=B&&null!=G&&d.deleteRow(B,G.sectionRowIndex)}catch(b){alert(b)}},k)];this.styleButtons(p);p[2].style.marginRight="9px";g=this.createPanel();
g.style.paddingTop="10px";g.style.paddingBottom="10px";g.appendChild(this.createTitle(mxResources.get("table")));g.appendChild(k);mxClient.IS_QUIRKS&&(mxUtils.br(a),g.style.height="70");e=e.cloneNode(!1);e.style.paddingLeft="0px";p=[this.editorUi.toolbar.addButton("geSprite-strokecolor",mxResources.get("borderColor"),mxUtils.bind(this,function(){if(null!=B){var b=B.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(b,a,d,c){return"#"+("0"+Number(a).toString(16)).substr(-2)+
("0"+Number(d).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)});this.editorUi.pickColor(b,function(b){null==b||b==mxConstants.NONE?(B.removeAttribute("border"),B.style.border="",B.style.borderCollapse=""):(B.setAttribute("border","1"),B.style.border="1px solid "+b,B.style.borderCollapse="collapse")})}}),e),this.editorUi.toolbar.addButton("geSprite-fillcolor",mxResources.get("backgroundColor"),mxUtils.bind(this,function(){if(null!=B){var b=B.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,
function(b,a,d,c){return"#"+("0"+Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)});this.editorUi.pickColor(b,function(b){B.style.backgroundColor=null==b||b==mxConstants.NONE?"":b})}}),e),this.editorUi.toolbar.addButton("geSprite-fit",mxResources.get("spacing"),function(){if(null!=B){var b=B.getAttribute("cellPadding")||0,b=new FilenameDialog(f,b,mxResources.get("apply"),mxUtils.bind(this,function(b){null!=b&&0<b.length?B.setAttribute("cellPadding",
b):B.removeAttribute("cellPadding")}),mxResources.get("spacing"));f.showDialog(b.container,300,80,!0,!0);b.init()}},e),this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),function(){null!=B&&B.setAttribute("align","left")},e),this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),function(){null!=B&&B.setAttribute("align","center")},e),this.editorUi.toolbar.addButton("geSprite-right",mxResources.get("right"),function(){null!=B&&B.setAttribute("align","right")},
e)];this.styleButtons(p);p[2].style.marginRight="9px";mxClient.IS_QUIRKS&&(mxUtils.br(g),mxUtils.br(g));g.appendChild(e);a.appendChild(g);A=g}else a.appendChild(g),a.appendChild(this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_TEXT_OPACITY)),a.appendChild(k);var fa=mxUtils.bind(this,function(a,d,e){b=this.format.getSelectionState();a=mxUtils.getValue(b.style,mxConstants.STYLE_FONTSTYLE,0);c(n[0],(a&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);c(n[1],(a&mxConstants.FONT_ITALIC)==
mxConstants.FONT_ITALIC);c(n[2],(a&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);l.firstChild.nodeValue=mxUtils.htmlEntities(mxUtils.getValue(b.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont));c(m,"0"==mxUtils.getValue(b.style,mxConstants.STYLE_HORIZONTAL,"1"));if(e||document.activeElement!=R)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),R.value=isNaN(a)?"":a+" pt";a=mxUtils.getValue(b.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);
c(r,a==mxConstants.ALIGN_LEFT);c(s,a==mxConstants.ALIGN_CENTER);c(q,a==mxConstants.ALIGN_RIGHT);a=mxUtils.getValue(b.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);c(t,a==mxConstants.ALIGN_TOP);c(v,a==mxConstants.ALIGN_MIDDLE);c(z,a==mxConstants.ALIGN_BOTTOM);a=mxUtils.getValue(b.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);d=mxUtils.getValue(b.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);F.value=a==mxConstants.ALIGN_LEFT&&d==mxConstants.ALIGN_TOP?
"topLeft":a==mxConstants.ALIGN_CENTER&&d==mxConstants.ALIGN_TOP?"top":a==mxConstants.ALIGN_RIGHT&&d==mxConstants.ALIGN_TOP?"topRight":a==mxConstants.ALIGN_LEFT&&d==mxConstants.ALIGN_BOTTOM?"bottomLeft":a==mxConstants.ALIGN_CENTER&&d==mxConstants.ALIGN_BOTTOM?"bottom":a==mxConstants.ALIGN_RIGHT&&d==mxConstants.ALIGN_BOTTOM?"bottomRight":a==mxConstants.ALIGN_LEFT?"left":a==mxConstants.ALIGN_RIGHT?"right":"center";a=mxUtils.getValue(b.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);
a==mxConstants.TEXT_DIRECTION_RTL?O.value="rightToLeft":a==mxConstants.TEXT_DIRECTION_LTR?O.value="leftToRight":a==mxConstants.TEXT_DIRECTION_AUTO&&(O.value="automatic");if(e||document.activeElement!=aa)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING,2)),aa.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=Y)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_TOP,0)),Y.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=ga)a=parseFloat(mxUtils.getValue(b.style,
mxConstants.STYLE_SPACING_RIGHT,0)),ga.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=Q)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_BOTTOM,0)),Q.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=W)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_LEFT,0)),W.value=isNaN(a)?"":a+" pt"});Z=this.installInputHandler(aa,mxConstants.STYLE_SPACING,2,-999,999," pt");S=this.installInputHandler(Y,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");V=this.installInputHandler(ga,
mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");da=this.installInputHandler(Q,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");ea=this.installInputHandler(W,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(R,fa);this.addKeyHandler(aa,fa);this.addKeyHandler(Y,fa);this.addKeyHandler(ga,fa);this.addKeyHandler(Q,fa);this.addKeyHandler(W,fa);d.getModel().addListener(mxEvent.CHANGE,fa);this.listeners.push({destroy:function(){d.getModel().removeListener(fa)}});fa();if(d.cellEditor.isContentEditing()){var ia=
!1,e=function(){ia||(ia=!0,window.setTimeout(function(){for(var b=d.getSelectedElement();null!=b&&b.nodeType!=mxConstants.NODETYPE_ELEMENT;)b=b.parentNode;if(null!=b){var a=mxUtils.getCurrentStyle(b);if(null!=a){c(n[0],"bold"==a.fontWeight||null!=d.getParentByName(b,"B",d.cellEditor.textarea));c(n[1],"italic"==a.fontStyle||null!=d.getParentByName(b,"I",d.cellEditor.textarea));c(n[2],null!=d.getParentByName(b,"U",d.cellEditor.textarea));c(r,"left"==a.textAlign);c(s,"center"==a.textAlign);c(q,"right"==
a.textAlign);c(D,"justify"==a.textAlign);c(x,null!=d.getParentByName(b,"SUP",d.cellEditor.textarea));c(y,null!=d.getParentByName(b,"SUB",d.cellEditor.textarea));B=d.getParentByName(b,"TABLE",d.cellEditor.textarea);G=null==B?null:d.getParentByName(b,"TR",B);E=null==B?null:d.getParentByName(b,"TD",B);A.style.display=null!=B?"":"none";if(document.activeElement!=R){"FONT"==b.nodeName&&"4"==b.getAttribute("size")&&null!=C?(b.removeAttribute("size"),b.style.fontSize=C+"px",C=null):R.value=parseFloat(a.fontSize)+
" pt";var b=b.style.lineHeight||a.lineHeight,e=parseFloat(b);"px"==b.substring(b.length-2)&&(e/=parseFloat(a.fontSize));"%"!=b.substring(b.length-1)&&(e*=100);$.value=e+" %"}b=a.color.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(b,a,d,c){return"#"+("0"+Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)});e=a.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(b,a,d,c){return"#"+("0"+
Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)});null!=M&&(U="#"==b.charAt(0)?b:"#000000",M(U,!0));null!=N&&(P="#"==e.charAt(0)?e:null,N(P,!0));null!=l.firstChild&&(a=a.fontFamily,"'"==a.charAt(0)&&(a=a.substring(1)),"'"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)),l.firstChild.nodeValue=a)}}ia=!1},0))};mxEvent.addListener(d.cellEditor.textarea,"input",e);mxEvent.addListener(d.cellEditor.textarea,"touchend",e);mxEvent.addListener(d.cellEditor.textarea,
"mouseup",e);mxEvent.addListener(d.cellEditor.textarea,"keyup",e);this.listeners.push({destroy:function(){}});e()}return a};StyleFormatPanel=function(a,c,f){BaseFormatPanel.call(this,a,c,f);this.init()};mxUtils.extend(StyleFormatPanel,BaseFormatPanel);
StyleFormatPanel.prototype.init=function(){var a=this.format.getSelectionState();(!a.containsImage||"image"==a.style.shape)&&this.container.appendChild(this.addFill(this.createPanel()));this.container.appendChild(this.addStroke(this.createPanel()));a=this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_OPACITY,41);a.style.paddingTop="8px";a.style.paddingBottom="8px";this.container.appendChild(a);this.container.appendChild(this.addEffects(this.createPanel()));a=this.addEditOps(this.createPanel());
null!=a.firstChild&&mxUtils.br(a);this.container.appendChild(this.addStyleOps(a))};
StyleFormatPanel.prototype.addEditOps=function(a){var c=this.format.getSelectionState(),f=null;1==this.editorUi.editor.graph.getSelectionCount()&&(f=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),f.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),f.style.width="202px",f.style.marginBottom="2px",a.appendChild(f));c.image&&(c=mxUtils.button(mxResources.get("editImage"),
mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),c.setAttribute("title",mxResources.get("editImage")),c.style.marginBottom="2px",null==f?c.style.width="202px":(f.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c));return a};
StyleFormatPanel.prototype.addFill=function(a){var c=this.editorUi.editor.graph,f=this.format.getSelectionState();a.style.paddingTop="6px";a.style.paddingBottom="6px";var d=document.createElement("select");d.style.position="absolute";d.style.marginTop="-2px";d.style.right=mxClient.IS_QUIRKS?"52px":"72px";d.style.width="70px";mxEvent.addListener(d,"click",function(b){mxEvent.consume(b)});var b=this.createCellColorOption(mxResources.get("gradient"),mxConstants.STYLE_GRADIENTCOLOR,"#ffffff",function(b){d.style.display=
null==b||b==mxConstants.NONE?"none":""}),e="image"==f.style.shape?mxConstants.STYLE_IMAGE_BACKGROUND:mxConstants.STYLE_FILLCOLOR,g=this.createCellColorOption(mxResources.get("fill"),e,"#ffffff");g.style.fontWeight="bold";e=mxUtils.getValue(f.style,e,null);b.style.display=null!=e&&e!=mxConstants.NONE&&f.fill&&"image"!=f.style.shape?"":"none";for(var e=[mxConstants.DIRECTION_NORTH,mxConstants.DIRECTION_EAST,mxConstants.DIRECTION_SOUTH,mxConstants.DIRECTION_WEST],k=0;k<e.length;k++){var l=document.createElement("option");
l.setAttribute("value",e[k]);mxUtils.write(l,mxResources.get(e[k]));d.appendChild(l)}b.appendChild(d);var n=mxUtils.bind(this,function(){f=this.format.getSelectionState();var c=mxUtils.getValue(f.style,mxConstants.STYLE_GRADIENT_DIRECTION,mxConstants.DIRECTION_SOUTH);""==c&&(c=mxConstants.DIRECTION_SOUTH);d.value=c;a.style.display=f.fill?"":"none";c=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,null);b.style.display=!f.fill||f.containsImage||null==c||c==mxConstants.NONE?"none":""});c.getModel().addListener(mxEvent.CHANGE,
n);this.listeners.push({destroy:function(){c.getModel().removeListener(n)}});n();mxEvent.addListener(d,"change",function(b){c.setCellStyles(mxConstants.STYLE_GRADIENT_DIRECTION,d.value,c.getSelectionCells());mxEvent.consume(b)});a.appendChild(g);a.appendChild(b);"swimlane"==f.style.shape&&a.appendChild(this.createCellColorOption(mxResources.get("laneColor"),"swimlaneFillColor","#ffffff"));return a};
StyleFormatPanel.prototype.addStroke=function(a){function c(a){var c=parseInt(t.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(b.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,b.getSelectionCells()),d.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",b.getSelectionCells())));t.value=c+" pt";mxEvent.consume(a)}function f(a){var c=parseInt(v.value),c=Math.min(999,Math.max(1,isNaN(c)?1:
c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(b.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,b.getSelectionCells()),d.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",b.getSelectionCells())));v.value=c+" pt";mxEvent.consume(a)}var d=this.editorUi,b=d.editor.graph,e=this.format.getSelectionState();a.style.paddingTop="4px";a.style.paddingBottom="4px";a.style.whiteSpace="normal";var g=document.createElement("div");g.style.fontWeight=
"bold";var k=document.createElement("select");k.style.position="absolute";k.style.marginTop="-2px";k.style.right="72px";k.style.width="80px";for(var l=["sharp","rounded","curved"],n=0;n<l.length;n++){var m=document.createElement("option");m.setAttribute("value",l[n]);mxUtils.write(m,mxResources.get(l[n]));k.appendChild(m)}mxEvent.addListener(k,"change",function(a){b.getModel().beginUpdate();try{var c=[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],e=["0",null];"rounded"==k.value?e=["1",null]:
"curved"==k.value&&(e=[null,"1"]);for(var f=0;f<c.length;f++)b.setCellStyles(c[f],e[f],b.getSelectionCells());d.fireEvent(new mxEventObject("styleChanged","keys",c,"values",e,"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)});mxEvent.addListener(k,"click",function(b){mxEvent.consume(b)});var p="image"==e.style.shape?mxConstants.STYLE_IMAGE_BORDER:mxConstants.STYLE_STROKECOLOR,l=this.createCellColorOption(mxResources.get("line"),p,"#000000");l.appendChild(k);g.appendChild(l);
var r=g.cloneNode(!1);r.style.fontWeight="normal";r.style.whiteSpace="nowrap";r.style.position="relative";r.style.paddingLeft="16px";r.style.marginBottom="2px";r.style.marginTop="2px";r.className="geToolbarContainer";var s=mxUtils.bind(this,function(b,a,d,c,e){b=this.editorUi.menus.styleChange(b,"",c,e,"geIcon",null);c=document.createElement("div");c.style.width=a+"px";c.style.height="1px";c.style.borderBottom="1px "+d+" black";c.style.paddingTop="6px";b.firstChild.firstChild.style.padding="0px 4px 0px 4px";
b.firstChild.firstChild.style.width=a+"px";b.firstChild.firstChild.appendChild(c);return b}),n=this.editorUi.toolbar.addMenuFunctionInContainer(r,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(b){s(b,75,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));s(b,75,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",null]).setAttribute("title",mxResources.get("dashed"));s(b,75,
"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");s(b,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");s(b,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),q=r.cloneNode(!1),u=this.editorUi.toolbar.addMenuFunctionInContainer(q,"geSprite-connection",
mxResources.get("connection"),!1,mxUtils.bind(this,function(b){this.editorUi.menus.styleChange(b,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],[null,null,null,null],"geIcon geSprite geSprite-connection",null,!0).setAttribute("title",mxResources.get("line"));this.editorUi.menus.styleChange(b,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],["link",null,null,null],"geIcon geSprite geSprite-linkedge",null,!0).setAttribute("title",
mxResources.get("link"));this.editorUi.menus.styleChange(b,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],["flexArrow",null,null,null],"geIcon geSprite geSprite-arrow",null,!0).setAttribute("title",mxResources.get("arrow"));this.editorUi.menus.styleChange(b,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],["arrow",null,null,null],"geIcon geSprite geSprite-simplearrow",null,!0).setAttribute("title",mxResources.get("simpleArrow"))})),
m=this.editorUi.toolbar.addMenuFunctionInContainer(q,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(b){s(b,33,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));s(b,33,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",null]).setAttribute("title",mxResources.get("dashed"));s(b,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",
mxResources.get("dotted")+" (1)");s(b,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");s(b,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),l=r.cloneNode(!1),t=document.createElement("input");t.style.textAlign="right";t.style.marginTop="2px";t.style.width="41px";t.setAttribute("title",mxResources.get("linewidth"));r.appendChild(t);
var v=t.cloneNode(!0);q.appendChild(v);var z=this.createStepper(t,c,1,9);z.style.display=t.style.display;z.style.marginTop="2px";r.appendChild(z);var y=this.createStepper(v,f,1,9);y.style.display=v.style.display;y.style.marginTop="2px";q.appendChild(y);mxClient.IS_QUIRKS?(t.style.height="17px",v.style.height="17px"):(t.style.position="absolute",t.style.right="32px",t.style.height="15px",z.style.right="20px",v.style.position="absolute",v.style.right="32px",v.style.height="15px",y.style.right="20px");
mxEvent.addListener(t,"blur",c);mxEvent.addListener(t,"change",c);mxEvent.addListener(v,"blur",f);mxEvent.addListener(v,"change",f);mxClient.IS_QUIRKS&&(mxUtils.br(l),mxUtils.br(l));var x=this.editorUi.toolbar.addMenuFunctionInContainer(l,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(b){"arrow"!=e.style.shape&&(this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],[null,null,null],"geIcon geSprite geSprite-straight",
null,!0).setAttribute("title",mxResources.get("straight")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle",null,null],"geIcon geSprite geSprite-orthogonal",null,!0).setAttribute("title",mxResources.get("orthogonal")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalelbow",
null,!0).setAttribute("title",mxResources.get("simple")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalelbow",null,!0).setAttribute("title",mxResources.get("simple")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle",
null,null,null],"geIcon geSprite geSprite-horizontalisometric",null,!0).setAttribute("title",mxResources.get("isometric")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalisometric",null,!0).setAttribute("title",mxResources.get("isometric")),"connector"==e.style.shape&&this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_EDGE,
mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle","1",null],"geIcon geSprite geSprite-curved",null,!0).setAttribute("title",mxResources.get("curved")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["entityRelationEdgeStyle",null,null],"geIcon geSprite geSprite-entity",null,!0).setAttribute("title",mxResources.get("entityRelation")))})),D=this.editorUi.toolbar.addMenuFunctionInContainer(l,"geSprite-startclassic",
mxResources.get("linestart"),!1,mxUtils.bind(this,function(b){if("connector"==e.style.shape||"flexArrow"==e.style.shape)this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon geSprite geSprite-noarrow",null,!1).setAttribute("title",mxResources.get("none")),"connector"==e.style.shape?(this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC,1],"geIcon geSprite geSprite-startclassic",null,
!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-startclassicthin",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-startopen",null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,
"startFill"],[mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-startopenthin",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["openAsync",0],"geIcon geSprite geSprite-startopenasync",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-startblock",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,
"startFill"],[mxConstants.ARROW_BLOCK_THIN,1],"geIcon geSprite geSprite-startblockthin",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["async",1],"geIcon geSprite geSprite-startasync",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OVAL,1],"geIcon geSprite geSprite-startoval",null,!1).setAttribute("title",mxResources.get("oval")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,
"startFill"],[mxConstants.ARROW_DIAMOND,1],"geIcon geSprite geSprite-startdiamond",null,!1).setAttribute("title",mxResources.get("diamond")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_DIAMOND_THIN,1],"geIcon geSprite geSprite-startthindiamond",null,!1).setAttribute("title",mxResources.get("diamondThin")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC,0],"geIcon geSprite geSprite-startclassictrans",
null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC_THIN,0],"geIcon geSprite geSprite-startclassicthintrans",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK,0],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,
"startFill"],[mxConstants.ARROW_BLOCK_THIN,0],"geIcon geSprite geSprite-startblockthintrans",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["async",0],"geIcon geSprite geSprite-startasynctrans",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OVAL,0],"geIcon geSprite geSprite-startovaltrans",null,!1).setAttribute("title",mxResources.get("oval")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,
"startFill"],[mxConstants.ARROW_DIAMOND,0],"geIcon geSprite geSprite-startdiamondtrans",null,!1).setAttribute("title",mxResources.get("diamond")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_DIAMOND_THIN,0],"geIcon geSprite geSprite-startthindiamondtrans",null,!1).setAttribute("title",mxResources.get("diamondThin")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["dash",0],"geIcon geSprite geSprite-startdash",
null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["cross",0],"geIcon geSprite geSprite-startcross",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["circlePlus",0],"geIcon geSprite geSprite-startcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["circle",1],"geIcon geSprite geSprite-startcircle",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,
"startFill"],["ERone",0],"geIcon geSprite geSprite-starterone",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmandOne",0],"geIcon geSprite geSprite-starteronetoone",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmany",0],"geIcon geSprite geSprite-startermany",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERoneToMany",0],"geIcon geSprite geSprite-starteronetomany",
null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-starteroneopt",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-startermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block"))})),
A=this.editorUi.toolbar.addMenuFunctionInContainer(l,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(b){if("connector"==e.style.shape||"flexArrow"==e.style.shape)this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0],"geIcon geSprite geSprite-noarrow",null,!1).setAttribute("title",mxResources.get("none")),"connector"==e.style.shape?(this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,
1],"geIcon geSprite geSprite-endclassic",null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-endclassicthin",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-endopen",null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(b,
"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-endopenthin",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["openAsync",0],"geIcon geSprite geSprite-endopenasync",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-endblock",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(b,
"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK_THIN,1],"geIcon geSprite geSprite-endblockthin",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["async",1],"geIcon geSprite geSprite-endasync",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OVAL,1],"geIcon geSprite geSprite-endoval",null,!1).setAttribute("title",mxResources.get("oval")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,
"endFill"],[mxConstants.ARROW_DIAMOND,1],"geIcon geSprite geSprite-enddiamond",null,!1).setAttribute("title",mxResources.get("diamond")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND_THIN,1],"geIcon geSprite geSprite-endthindiamond",null,!1).setAttribute("title",mxResources.get("diamondThin")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,0],"geIcon geSprite geSprite-endclassictrans",
null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC_THIN,0],"geIcon geSprite geSprite-endclassicthintrans",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK,0],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,
"endFill"],[mxConstants.ARROW_BLOCK_THIN,0],"geIcon geSprite geSprite-endblockthintrans",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["async",0],"geIcon geSprite geSprite-endasynctrans",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OVAL,0],"geIcon geSprite geSprite-endovaltrans",null,!1).setAttribute("title",mxResources.get("oval")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,
"endFill"],[mxConstants.ARROW_DIAMOND,0],"geIcon geSprite geSprite-enddiamondtrans",null,!1).setAttribute("title",mxResources.get("diamond")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND_THIN,0],"geIcon geSprite geSprite-endthindiamondtrans",null,!1).setAttribute("title",mxResources.get("diamondThin")),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["dash",0],"geIcon geSprite geSprite-enddash",null,!1),
this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["cross",0],"geIcon geSprite geSprite-endcross",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circlePlus",0],"geIcon geSprite geSprite-endcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circle",1],"geIcon geSprite geSprite-endcircle",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],
["ERone",0],"geIcon geSprite geSprite-enderone",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmandOne",0],"geIcon geSprite geSprite-enderonetoone",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmany",0],"geIcon geSprite geSprite-endermany",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERoneToMany",0],"geIcon geSprite geSprite-enderonetomany",null,!1),this.editorUi.menus.edgeStyleChange(b,
"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-enderoneopt",null,!1),this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-endermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(b,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}));this.addArrow(u,8);this.addArrow(x);this.addArrow(D);
this.addArrow(A);z=this.addArrow(n,9);z.className="geIcon";z.style.width="84px";y=this.addArrow(m,9);y.className="geIcon";y.style.width="22px";var B=document.createElement("div");B.style.width="85px";B.style.height="1px";B.style.borderBottom="1px solid black";B.style.marginBottom="9px";z.appendChild(B);var E=document.createElement("div");E.style.width="23px";E.style.height="1px";E.style.borderBottom="1px solid black";E.style.marginBottom="9px";y.appendChild(E);n.style.height="15px";m.style.height=
"15px";u.style.height="15px";x.style.height="17px";D.style.marginLeft="3px";D.style.height="17px";A.style.marginLeft="3px";A.style.height="17px";a.appendChild(g);a.appendChild(q);a.appendChild(r);n=r.cloneNode(!1);n.style.paddingBottom="6px";n.style.paddingTop="4px";n.style.fontWeight="normal";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="2px";m.style.fontWeight="normal";m.style.width="76px";mxUtils.write(m,mxResources.get("lineend"));
n.appendChild(m);var G,F,H=this.addUnitInput(n,"pt",74,33,function(){G.apply(this,arguments)}),I=this.addUnitInput(n,"pt",20,33,function(){F.apply(this,arguments)});mxUtils.br(n);z=document.createElement("div");z.style.height="8px";n.appendChild(z);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));n.appendChild(m);var L,O,T=this.addUnitInput(n,"pt",74,33,function(){L.apply(this,arguments)}),X=this.addUnitInput(n,"pt",20,33,function(){O.apply(this,arguments)});mxUtils.br(n);this.addLabel(n,
mxResources.get("spacing"),74,50);this.addLabel(n,mxResources.get("size"),20,50);mxUtils.br(n);g=g.cloneNode(!1);g.style.fontWeight="normal";g.style.position="relative";g.style.paddingLeft="16px";g.style.marginBottom="2px";g.style.marginTop="6px";g.style.borderWidth="0px";g.style.paddingBottom="18px";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="1px";m.style.fontWeight="normal";m.style.width="120px";mxUtils.write(m,
mxResources.get("perimeter"));g.appendChild(m);var R,C=this.addUnitInput(g,"pt",20,41,function(){R.apply(this,arguments)});e.edges.length==b.getSelectionCount()?(a.appendChild(l),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(n)):e.vertices.length==b.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(g));var N=mxUtils.bind(this,function(a,c,f){function g(b,a,c,f){c=c.getElementsByTagName("div")[0];c.className=d.getCssClassForMarker(f,e.style.shape,b,a);return c}
e=this.format.getSelectionState();mxUtils.getValue(e.style,p,null);if(f||document.activeElement!=t)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),t.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=v)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),v.value=isNaN(a)?"":a+" pt";k.style.visibility="connector"==e.style.shape?"":"hidden";"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?k.value="curved":"1"==mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,
null)&&(k.value="rounded");"1"==mxUtils.getValue(e.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(e.style,mxConstants.STYLE_DASH_PATTERN,null)?B.style.borderBottom="1px dashed black":B.style.borderBottom="1px dotted black":B.style.borderBottom="1px solid black";E.style.borderBottom=B.style.borderBottom;a=x.getElementsByTagName("div")[0];c=mxUtils.getValue(e.style,mxConstants.STYLE_EDGE,null);"1"==mxUtils.getValue(e.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(c=null);"orthogonalEdgeStyle"==
c&&"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?a.className="geSprite geSprite-curved":a.className="straight"==c||"none"==c||null==c?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c?"geSprite geSprite-entity":"elbowEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":
"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal";u.getElementsByTagName("div")[0].className="link"==e.style.shape?"geSprite geSprite-linkedge":"flexArrow"==e.style.shape?"geSprite geSprite-arrow":"arrow"==e.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection";e.edges.length==b.getSelectionCount()?(q.style.display="",r.style.display="none"):(q.style.display="none",r.style.display="");a=g(mxUtils.getValue(e.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(e.style,
"startFill","1"),D,"start");c=g(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style,"endFill","1"),A,"end");"arrow"==e.style.shape?(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==e.style.shape&&(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-noarrow");mxUtils.setOpacity(x,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape?(mxUtils.setOpacity(D,30),mxUtils.setOpacity(A,
30)):(mxUtils.setOpacity(D,100),mxUtils.setOpacity(A,100));if(f||document.activeElement!=X)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),X.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=T)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),T.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=I)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),I.value=isNaN(a)?
"":a+" pt";if(f||document.activeElement!=T)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0)),H.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=C)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_PERIMETER_SPACING,0)),C.value=isNaN(a)?"":a+" pt"});O=this.installInputHandler(X,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");L=this.installInputHandler(T,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");F=this.installInputHandler(I,
mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");G=this.installInputHandler(H,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0,-999,999," pt");R=this.installInputHandler(C,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(t,N);this.addKeyHandler(X,N);this.addKeyHandler(T,N);this.addKeyHandler(I,N);this.addKeyHandler(H,N);this.addKeyHandler(C,N);b.getModel().addListener(mxEvent.CHANGE,N);this.listeners.push({destroy:function(){b.getModel().removeListener(N)}});
N();return a};
StyleFormatPanel.prototype.addEffects=function(a){var c=this.editorUi.editor.graph,f=this.format.getSelectionState();a.style.paddingTop="0px";a.style.paddingBottom="2px";var d=document.createElement("table");mxClient.IS_QUIRKS&&(d.style.fontSize="1em");d.style.width="100%";d.style.fontWeight="bold";d.style.paddingRight="20px";var b=document.createElement("tbody"),e=document.createElement("tr");e.style.padding="0px";var g=document.createElement("td");g.style.padding="0px";g.style.width="50%";g.setAttribute("valign",
"top");var k=g.cloneNode(!0);k.style.paddingLeft="8px";e.appendChild(g);e.appendChild(k);b.appendChild(e);d.appendChild(b);a.appendChild(d);var l=g,n=0,m=mxUtils.bind(this,function(b,a,d){b=this.createCellOption(b,a,d);b.style.width="100%";l.appendChild(b);l=l==g?k:g;n++}),p=mxUtils.bind(this,function(b,d,c){f=this.format.getSelectionState();g.innerHTML="";k.innerHTML="";l=g;f.rounded&&m(mxResources.get("rounded"),mxConstants.STYLE_ROUNDED,0);"swimlane"==f.style.shape&&m(mxResources.get("divider"),
"swimlaneLine",1);f.containsImage||m(mxResources.get("shadow"),mxConstants.STYLE_SHADOW,0);f.glass&&m(mxResources.get("glass"),mxConstants.STYLE_GLASS,0);f.comic&&m(mxResources.get("comic"),"comic",0);0==n&&(a.style.display="none")});c.getModel().addListener(mxEvent.CHANGE,p);this.listeners.push({destroy:function(){c.getModel().removeListener(p)}});p();return a};
StyleFormatPanel.prototype.addStyleOps=function(a){a.style.paddingTop="10px";a.style.paddingBottom="10px";var c=mxUtils.button(mxResources.get("setAsDefaultStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("setAsDefaultStyle").funct()}));c.setAttribute("title",mxResources.get("setAsDefaultStyle")+" ("+this.editorUi.actions.get("setAsDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);return a};DiagramFormatPanel=function(a,c,f){BaseFormatPanel.call(this,a,c,f);this.init()};
mxUtils.extend(DiagramFormatPanel,BaseFormatPanel);DiagramFormatPanel.prototype.showBackgroundImageOption=!0;DiagramFormatPanel.prototype.init=function(){var a=this.editorUi.editor.graph;this.container.appendChild(this.addView(this.createPanel()));a.isEnabled()&&(this.container.appendChild(this.addOptions(this.createPanel())),this.container.appendChild(this.addPaperSize(this.createPanel())),this.container.appendChild(this.addStyleOps(this.createPanel())))};
DiagramFormatPanel.prototype.addView=function(a){var c=this.editorUi,f=c.editor.graph;a.appendChild(this.createTitle(mxResources.get("view")));this.addGridOption(a);if(f.isEnabled()){a.appendChild(this.createOption(mxResources.get("guides"),function(){return f.graphHandler.guidesEnabled},function(b){c.actions.get("guides").funct()},{install:function(b){this.listener=function(){b(f.graphHandler.guidesEnabled)};c.addListener("guidesEnabledChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}}));
a.appendChild(this.createOption(mxResources.get("pageView"),function(){return f.pageVisible},function(b){c.actions.get("pageView").funct()},{install:function(b){this.listener=function(){b(f.pageVisible)};c.addListener("pageViewChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}}));var d=this.createColorOption(mxResources.get("background"),function(){return f.background},function(b){c.setBackgroundColor(b)},"#ffffff",{install:function(b){this.listener=function(){b(f.background)};
c.addListener("backgroundColorChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});if(this.showBackgroundImageOption){var b=mxUtils.button(mxResources.get("image"),function(b){c.showBackgroundImageDialog();mxEvent.consume(b)});b.style.position="absolute";b.className="geColorBtn";b.style.marginTop="-4px";b.style.paddingBottom=11==document.documentMode||mxClient.IS_MT?"0px":"2px";b.style.height="22px";b.style.right=mxClient.IS_QUIRKS?"52px":"72px";b.style.width="56px";d.appendChild(b)}a.appendChild(d)}return a};
DiagramFormatPanel.prototype.addOptions=function(a){var c=this.editorUi,f=c.editor.graph;a.appendChild(this.createTitle(mxResources.get("options")));f.isEnabled()&&(a.appendChild(this.createOption(mxResources.get("connectionArrows"),function(){return f.connectionArrowsEnabled},function(a){c.actions.get("connectionArrows").funct()},{install:function(a){this.listener=function(){a(f.connectionArrowsEnabled)};c.addListener("connectionArrowsChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}})),
a.appendChild(this.createOption(mxResources.get("connectionPoints"),function(){return f.connectionHandler.isEnabled()},function(a){c.actions.get("connectionPoints").funct()},{install:function(a){this.listener=function(){a(f.connectionHandler.isEnabled())};c.addListener("connectionPointsChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}})));return a};
DiagramFormatPanel.prototype.addGridOption=function(a){function c(a){var c=parseInt(b.value),c=Math.max(1,isNaN(c)?10:c);c!=d.getGridSize()&&d.setGridSize(c);b.value=c+" pt";mxEvent.consume(a)}var f=this.editorUi,d=f.editor.graph,b=document.createElement("input");b.style.position="absolute";b.style.textAlign="right";b.style.width="38px";b.value=d.getGridSize()+" pt";var e=this.createStepper(b,c);b.style.display=d.isGridEnabled()?"":"none";e.style.display=b.style.display;mxEvent.addListener(b,"keydown",
function(a){13==a.keyCode?(d.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(b.value=d.getGridSize(),d.container.focus(),mxEvent.consume(a))});mxEvent.addListener(b,"blur",c);mxEvent.addListener(b,"change",c);if(mxClient.IS_SVG){b.style.marginTop="-2px";b.style.right="84px";e.style.marginTop="-16px";e.style.right="72px";var g=this.createColorOption(mxResources.get("grid"),function(){var b=d.view.gridColor;return d.isGridEnabled()?b:null},function(a){a==mxConstants.NONE?(d.setGridEnabled(!1),
f.fireEvent(new mxEventObject("gridEnabledChanged"))):(d.setGridEnabled(!0),f.setGridColor(a));b.style.display=d.isGridEnabled()?"":"none";e.style.display=b.style.display},"#e0e0e0",{install:function(b){this.listener=function(){b(d.isGridEnabled()?d.view.gridColor:null)};f.addListener("gridColorChanged",this.listener);f.addListener("gridEnabledChanged",this.listener)},destroy:function(){f.removeListener(this.listener)}});g.appendChild(b);g.appendChild(e);a.appendChild(g)}else b.style.marginTop="2px",
b.style.right="32px",e.style.marginTop="2px",e.style.right="20px",a.appendChild(b),a.appendChild(e),a.appendChild(this.createOption(mxResources.get("grid"),function(){return d.isGridEnabled()},function(b){d.setGridEnabled(b);d.isGridEnabled()&&(d.view.gridColor="#e0e0e0");f.fireEvent(new mxEventObject("gridEnabledChanged"))},{install:function(a){this.listener=function(){b.style.display=d.isGridEnabled()?"":"none";e.style.display=b.style.display;a(d.isGridEnabled())};f.addListener("gridEnabledChanged",
this.listener)},destroy:function(){f.removeListener(this.listener)}}))};DiagramFormatPanel.prototype.addDocumentProperties=function(a){a.appendChild(this.createTitle(mxResources.get("options")));return a};
DiagramFormatPanel.prototype.addPaperSize=function(a){function c(a,c,f){if(f||p!=document.activeElement&&r!=document.activeElement){a=!1;for(c=0;c<q.length;c++)f=q[c],z?"custom"==f.key&&(g.value=f.key,z=!1):null!=f.format&&(d.pageFormat.width==f.format.width&&d.pageFormat.height==f.format.height?(g.value=f.key,b.setAttribute("checked","checked"),b.defaultChecked=!0,b.checked=!0,e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1,a=!0):d.pageFormat.width==f.format.height&&d.pageFormat.height==
f.format.width&&(g.value=f.key,b.removeAttribute("checked"),b.defaultChecked=!1,b.checked=!1,e.setAttribute("checked","checked"),e.defaultChecked=!0,a=e.checked=!0));a?(k.style.display="",m.style.display="none"):(p.value=d.pageFormat.width,r.value=d.pageFormat.height,v.setAttribute("selected","selected"),b.setAttribute("checked","checked"),b.defaultChecked=!0,k.style.display="none",m.style.display="")}}var f=this.editorUi,d=f.editor.graph;a.appendChild(this.createTitle(mxResources.get("paperSize")));
var b=document.createElement("input");b.setAttribute("name","format");b.setAttribute("type","radio");b.setAttribute("value","portrait");var e=document.createElement("input");e.setAttribute("name","format");e.setAttribute("type","radio");e.setAttribute("value","landscape");var g=document.createElement("select");g.style.marginBottom="8px";g.style.width="202px";var k=document.createElement("div");k.style.marginLeft="4px";k.style.width="210px";k.style.height="24px";b.style.marginRight="6px";k.appendChild(b);
var l=document.createElement("span");l.style.maxWidth="100px";mxUtils.write(l,mxResources.get("portrait"));k.appendChild(l);e.style.marginLeft="10px";e.style.marginRight="6px";k.appendChild(e);var n=document.createElement("span");n.style.width="100px";mxUtils.write(n,mxResources.get("landscape"));k.appendChild(n);var m=document.createElement("div");m.style.marginLeft="4px";m.style.width="210px";m.style.height="24px";var p=document.createElement("input");p.setAttribute("size","6");p.setAttribute("value",
d.pageFormat.width);m.appendChild(p);mxUtils.write(m," x ");var r=document.createElement("input");r.setAttribute("size","6");r.setAttribute("value",d.pageFormat.height);m.appendChild(r);mxUtils.write(m," pt");k.style.display="none";m.style.display="none";for(var s={},q=PageSetupDialog.getFormats(),u=0;u<q.length;u++){var t=q[u];s[t.key]=t;var v=document.createElement("option");v.setAttribute("value",t.key);mxUtils.write(v,t.title);g.appendChild(v)}var z=!1;c();a.appendChild(g);mxUtils.br(a);a.appendChild(k);
a.appendChild(m);var y=function(){var b=s[g.value];null!=b.format?(p.value=b.format.width,r.value=b.format.height,m.style.display="none",k.style.display=""):(k.style.display="none",m.style.display="");b=new mxRectangle(0,0,parseInt(p.value),parseInt(r.value));"custom"!=g.value&&e.checked&&(b=new mxRectangle(0,0,b.height,b.width));(null==d.pageFormat||d.pageFormat.width!=b.width||d.pageFormat.height!=b.height)&&f.setPageFormat(b)};this.addKeyHandler(p,c);this.addKeyHandler(r,c);mxEvent.addListener(l,
"click",function(a){b.checked=!0;y();mxEvent.consume(a)});mxEvent.addListener(n,"click",function(b){e.checked=!0;y();mxEvent.consume(b)});mxEvent.addListener(p,"blur",y);mxEvent.addListener(p,"click",y);mxEvent.addListener(r,"blur",y);mxEvent.addListener(r,"click",y);mxEvent.addListener(e,"change",y);mxEvent.addListener(b,"change",y);mxEvent.addListener(g,"change",function(){z="custom"==g.value;y()});f.addListener("pageFormatChanged",c);this.listeners.push({destroy:function(){f.removeListener(c)}});
d.getModel().addListener(mxEvent.CHANGE,c);this.listeners.push({destroy:function(){d.getModel().removeListener(c)}});y();return a};
DiagramFormatPanel.prototype.addStyleOps=function(a){var c=mxUtils.button(mxResources.get("editData"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editData").funct()}));c.setAttribute("title",mxResources.get("editData")+" ("+this.editorUi.actions.get("editData").shortcut+")");c.style.width="202px";c.style.marginBottom="2px";a.appendChild(c);mxUtils.br(a);c=mxUtils.button(mxResources.get("clearDefaultStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("clearDefaultStyle").funct()}));
c.setAttribute("title",mxResources.get("clearDefaultStyle")+" ("+this.editorUi.actions.get("clearDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);return a};DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};
function Toolbar(a,c){this.editorUi=a;this.container=c;this.staticElements=[];this.init();this.gestureHandler=mxUtils.bind(this,function(a){null!=this.editorUi.currentMenu&&mxEvent.getSource(a)!=this.editorUi.currentMenu.div&&this.hideMenu()});mxEvent.addGestureListeners(document,this.gestureHandler)}Toolbar.prototype.dropdownImage=!mxClient.IS_SVG?IMAGE_PATH+"/dropdown.gif":"data:image/gif;base64,R0lGODlhDQANAIABAHt7e////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCREM1NkJFMjE0NEMxMUU1ODk1Q0M5MjQ0MTA4QjNDMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCREM1NkJFMzE0NEMxMUU1ODk1Q0M5MjQ0MTA4QjNDMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQzOUMzMjZCMTQ0QjExRTU4OTVDQzkyNDQxMDhCM0MxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQzOUMzMjZDMTQ0QjExRTU4OTVDQzkyNDQxMDhCM0MxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAQAAAQAsAAAAAA0ADQAAAhGMj6nL3QAjVHIu6azbvPtWAAA7";
Toolbar.prototype.dropdownImageHtml='\x3cimg border\x3d"0" style\x3d"position:absolute;right:4px;top:'+(!EditorUi.compactUi?8:6)+'px;" src\x3d"'+Toolbar.prototype.dropdownImage+'" valign\x3d"middle"/\x3e';Toolbar.prototype.selectedBackground="#d0d0d0";Toolbar.prototype.unselectedBackground="none";Toolbar.prototype.staticElements=null;
Toolbar.prototype.init=function(){var a=screen.width,a=a-(740<screen.height?56:0);if(700<=a){var c=this.addMenu("",mxResources.get("view")+" ("+mxResources.get("panTooltip")+")",!0,"viewPanels",null,!0);this.addDropDownArrow(c,"geSprite-formatpanel",38,50,-4,-3,36,-8);this.addSeparator()}var f=this.addMenu("",mxResources.get("zoom")+" (Alt+Mousewheel)",!0,"viewZoom",null,!0);f.showDisabled=!0;f.style.whiteSpace="nowrap";f.style.position="relative";f.style.overflow="hidden";f.style.width=EditorUi.compactUi?
mxClient.IS_QUIRKS?"58px":"50px":mxClient.IS_QUIRKS?"62px":"36px";420<=a&&(this.addSeparator(),c=this.addItems(["zoomIn","zoomOut"]),c[0].setAttribute("title",mxResources.get("zoomIn")+" ("+this.editorUi.actions.get("zoomIn").shortcut+")"),c[1].setAttribute("title",mxResources.get("zoomOut")+" ("+this.editorUi.actions.get("zoomOut").shortcut+")"));c=mxUtils.bind(this,function(){f.innerHTML=Math.round(100*this.editorUi.editor.graph.view.scale)+"%"+this.dropdownImageHtml;EditorUi.compactUi&&(f.getElementsByTagName("img")[0].style.right=
"1px",f.getElementsByTagName("img")[0].style.top="5px")});this.editorUi.editor.graph.view.addListener(mxEvent.EVENT_SCALE,c);this.editorUi.editor.addListener("resetGraphView",c);c=this.addItems(["-","undo","redo"]);c[1].setAttribute("title",mxResources.get("undo")+" ("+this.editorUi.actions.get("undo").shortcut+")");c[2].setAttribute("title",mxResources.get("redo")+" ("+this.editorUi.actions.get("redo").shortcut+")");470<=a&&(c=this.addItems(["-","delete"]),c[1].setAttribute("title",mxResources.get("delete")+
" ("+this.editorUi.actions.get("delete").shortcut+")"));550<=a&&this.addItems(["-","toFront","toBack"]);640<=a&&this.addItems(["-","fillColor","strokeColor","shadow"]);320<=a&&(this.addSeparator(),this.edgeShapeMenu=this.addMenuFunction("",mxResources.get("connection"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_SHAPE,"width"],[null,null],"geIcon geSprite geSprite-connection",null,!0).setAttribute("title",mxResources.get("line"));this.editorUi.menus.edgeStyleChange(a,
"",[mxConstants.STYLE_SHAPE,"width"],["link",null],"geIcon geSprite geSprite-linkedge",null,!0).setAttribute("title",mxResources.get("link"));this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_SHAPE,"width"],["flexArrow",null],"geIcon geSprite geSprite-arrow",null,!0).setAttribute("title",mxResources.get("arrow"));this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_SHAPE,"width"],["arrow",null],"geIcon geSprite geSprite-simplearrow",null,!0).setAttribute("title",mxResources.get("simpleArrow"))})),
this.addDropDownArrow(this.edgeShapeMenu,"geSprite-connection",44,50,0,0,22,-4),this.edgeStyleMenu=this.addMenuFunction("geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],[null,null,null],"geIcon geSprite geSprite-straight",null,!0).setAttribute("title",mxResources.get("straight"));this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,
mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle",null,null],"geIcon geSprite geSprite-orthogonal",null,!0).setAttribute("title",mxResources.get("orthogonal"));this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalelbow",null,!0).setAttribute("title","simple");this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,
mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalelbow",null,!0).setAttribute("title","simple");this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalisometric",null,!0).setAttribute("title","isometric");this.editorUi.menus.edgeStyleChange(a,
"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalisometric",null,!0).setAttribute("title","isometric");this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle","1",null],"geIcon geSprite geSprite-curved",null,!0).setAttribute("title",mxResources.get("curved"));this.editorUi.menus.edgeStyleChange(a,
"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["entityRelationEdgeStyle",null,null],"geIcon geSprite geSprite-entity",null,!0).setAttribute("title",mxResources.get("entityRelation"))})),this.addDropDownArrow(this.edgeStyleMenu,"geSprite-orthogonal",44,50,0,0,22,-4));this.addSeparator();a=this.addMenu("",mxResources.get("insert")+" ("+mxResources.get("doubleClickTooltip")+")",!0,"insert",null,!0);this.addDropDownArrow(a,"geSprite-plus",38,48,-4,-3,36,-8)};
Toolbar.prototype.addDropDownArrow=function(a,c,f,d,b,e,g,k){b=EditorUi.compactUi?b:k;a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.position="relative";a.innerHTML='\x3cdiv class\x3d"geSprite '+c+'" style\x3d"margin-left:'+b+"px;margin-top:"+e+'px;"\x3e\x3c/div\x3e'+this.dropdownImageHtml;a.style.width=mxClient.IS_QUIRKS?d+"px":d-(null!=g?g:32)+"px";mxClient.IS_QUIRKS&&(a.style.height=EditorUi.compactUi?"24px":"26px");EditorUi.compactUi&&(a.getElementsByTagName("img")[0].style.left=
"24px",a.getElementsByTagName("img")[0].style.top="5px",a.style.width=mxClient.IS_QUIRKS?f+"px":f-10+"px")};Toolbar.prototype.setFontName=function(a){null!=this.fontMenu&&(this.fontMenu.innerHTML='\x3cdiv style\x3d"width:60px;overflow:hidden;display:inline-block;"\x3e'+mxUtils.htmlEntities(a)+"\x3c/div\x3e"+this.dropdownImageHtml)};
Toolbar.prototype.setFontSize=function(a){null!=this.sizeMenu&&(this.sizeMenu.innerHTML='\x3cdiv style\x3d"width:24px;overflow:hidden;display:inline-block;"\x3e'+a+"\x3c/div\x3e"+this.dropdownImageHtml)};
Toolbar.prototype.createTextToolbar=function(){var a=this.editorUi.editor.graph,c=this.addMenu("",mxResources.get("style"),!0,"formatBlock");c.style.position="relative";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.innerHTML=mxResources.get("style")+this.dropdownImageHtml;EditorUi.compactUi&&(c.style.paddingRight="18px",c.getElementsByTagName("img")[0].style.right="1px",c.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.fontMenu=this.addMenu("",mxResources.get("fontFamily"),
!0,"fontFamily");this.fontMenu.style.position="relative";this.fontMenu.style.whiteSpace="nowrap";this.fontMenu.style.overflow="hidden";this.fontMenu.style.width=mxClient.IS_QUIRKS?"80px":"60px";this.setFontName(Menus.prototype.defaultFont);EditorUi.compactUi&&(this.fontMenu.style.paddingRight="18px",this.fontMenu.getElementsByTagName("img")[0].style.right="1px",this.fontMenu.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.sizeMenu=this.addMenu(Menus.prototype.defaultFontSize,
mxResources.get("fontSize"),!0,"fontSize");this.sizeMenu.style.position="relative";this.sizeMenu.style.whiteSpace="nowrap";this.sizeMenu.style.overflow="hidden";this.sizeMenu.style.width=mxClient.IS_QUIRKS?"44px":"24px";this.setFontSize(Menus.prototype.defaultFontSize);EditorUi.compactUi&&(this.sizeMenu.style.paddingRight="18px",this.sizeMenu.getElementsByTagName("img")[0].style.right="1px",this.sizeMenu.getElementsByTagName("img")[0].style.top="5px");c=this.addItems("- undo redo - bold italic underline".split(" "));
c[1].setAttribute("title",mxResources.get("undo")+" ("+this.editorUi.actions.get("undo").shortcut+")");c[2].setAttribute("title",mxResources.get("redo")+" ("+this.editorUi.actions.get("redo").shortcut+")");c[4].setAttribute("title",mxResources.get("bold")+" ("+this.editorUi.actions.get("bold").shortcut+")");c[5].setAttribute("title",mxResources.get("italic")+" ("+this.editorUi.actions.get("italic").shortcut+")");c[6].setAttribute("title",mxResources.get("underline")+" ("+this.editorUi.actions.get("underline").shortcut+
")");c=this.addMenuFunction("",mxResources.get("align"),!1,mxUtils.bind(this,function(a){f=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("justifyleft",!1,null)}),null,"geIcon geSprite geSprite-left");f.setAttribute("title",mxResources.get("left"));f=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("justifycenter",!1,null)}),null,"geIcon geSprite geSprite-center");f.setAttribute("title",mxResources.get("center"));f=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("justifyright",
!1,null)}),null,"geIcon geSprite geSprite-right");f.setAttribute("title",mxResources.get("right"));f=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("justifyfull",!1,null)}),null,"geIcon geSprite geSprite-justifyfull");f.setAttribute("title",mxResources.get("justifyfull"));f=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("insertorderedlist",!1,null)}),null,"geIcon geSprite geSprite-orderedlist");f.setAttribute("title",mxResources.get("numberedList"));f=a.addItem("",
null,mxUtils.bind(this,function(){document.execCommand("insertunorderedlist",!1,null)}),null,"geIcon geSprite geSprite-unorderedlist");f.setAttribute("title",mxResources.get("bulletedList"));f=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("outdent",!1,null)}),null,"geIcon geSprite geSprite-outdent");f.setAttribute("title",mxResources.get("decreaseIndent"));f=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("indent",!1,null)}),null,"geIcon geSprite geSprite-indent");
f.setAttribute("title",mxResources.get("increaseIndent"))}));c.style.position="relative";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.innerHTML='\x3cdiv class\x3d"geSprite geSprite-left" style\x3d"margin-left:-2px;"\x3e\x3c/div\x3e'+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="22px",c.getElementsByTagName("img")[0].style.top="5px");c=this.addMenuFunction("",mxResources.get("format"),!1,mxUtils.bind(this,
function(a){f=a.addItem("",null,this.editorUi.actions.get("subscript").funct,null,"geIcon geSprite geSprite-subscript");f.setAttribute("title",mxResources.get("subscript")+" (Ctrl+,)");f=a.addItem("",null,this.editorUi.actions.get("superscript").funct,null,"geIcon geSprite geSprite-superscript");f.setAttribute("title",mxResources.get("superscript")+" (Ctrl+.)");f=a.addItem("",null,this.editorUi.actions.get("fontColor").funct,null,"geIcon geSprite geSprite-fontcolor");f.setAttribute("title",mxResources.get("fontColor"));
f=a.addItem("",null,this.editorUi.actions.get("backgroundColor").funct,null,"geIcon geSprite geSprite-fontbackground");f.setAttribute("title",mxResources.get("backgroundColor"));f=a.addItem("",null,mxUtils.bind(this,function(){document.execCommand("removeformat",!1,null)}),null,"geIcon geSprite geSprite-removeformat");f.setAttribute("title",mxResources.get("removeFormat"))}));c.style.position="relative";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.innerHTML='\x3cdiv class\x3d"geSprite geSprite-dots" style\x3d"margin-left:-2px;"\x3e\x3c/div\x3e'+
this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="22px",c.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.addButton("geIcon geSprite geSprite-code",mxResources.get("html"),function(){a.cellEditor.toggleViewMode();0<a.cellEditor.textarea.innerHTML.length&&("\x26nbsp;"!=a.cellEditor.textarea.innerHTML||!a.cellEditor.clearOnChange)&&window.setTimeout(function(){document.execCommand("selectAll",
!1,null)})});this.addSeparator();c=this.addMenuFunction("",mxResources.get("insert"),!0,mxUtils.bind(this,function(a){a.addItem(mxResources.get("insertLink"),null,mxUtils.bind(this,function(){this.editorUi.actions.get("link").funct()}));a.addItem(mxResources.get("insertImage"),null,mxUtils.bind(this,function(){this.editorUi.actions.get("image").funct()}));a.addItem(mxResources.get("insertHorizontalRule"),null,mxUtils.bind(this,function(){document.execCommand("inserthorizontalrule",!1,null)}))}));
c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.position="relative";c.innerHTML='\x3cdiv class\x3d"geSprite geSprite-plus" style\x3d"margin-left:-4px;margin-top:-3px;"\x3e\x3c/div\x3e'+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"36px":"16px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="24px",c.getElementsByTagName("img")[0].style.top="5px",c.style.width=mxClient.IS_QUIRKS?"50px":"30px");this.addSeparator();var f=this.addMenuFunction("geIcon geSprite geSprite-table",
mxResources.get("table"),!1,mxUtils.bind(this,function(d){var b=a.getSelectedElement(),c=a.getParentByName(b,"TD",a.cellEditor.text2),f=a.getParentByName(b,"TR",a.cellEditor.text2);if(null==f)this.editorUi.menus.addInsertTableItem(d);else{var k=a.getParentByName(f,"TABLE",a.cellEditor.text2),b=d.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(k,null!=c?c.cellIndex:0))}catch(b){mxUtils.alert(mxResources.get("error")+": "+b.message)}}),null,"geIcon geSprite geSprite-insertcolumnbefore");
b.setAttribute("title",mxResources.get("insertColumnBefore"));b=d.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(k,null!=c?c.cellIndex+1:-1))}catch(b){mxUtils.alert(mxResources.get("error")+": "+b.message)}}),null,"geIcon geSprite geSprite-insertcolumnafter");b.setAttribute("title",mxResources.get("insertColumnAfter"));b=d.addItem("Delete column",null,mxUtils.bind(this,function(){if(null!=c)try{a.deleteColumn(k,c.cellIndex)}catch(b){mxUtils.alert(mxResources.get("error")+
": "+b.message)}}),null,"geIcon geSprite geSprite-deletecolumn");b.setAttribute("title",mxResources.get("deleteColumn"));b=d.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(k,f.sectionRowIndex))}catch(b){mxUtils.alert(mxResources.get("error")+": "+b.message)}}),null,"geIcon geSprite geSprite-insertrowbefore");b.setAttribute("title",mxResources.get("insertRowBefore"));b=d.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(k,f.sectionRowIndex+1))}catch(b){mxUtils.alert(mxResources.get("error")+
": "+b.message)}}),null,"geIcon geSprite geSprite-insertrowafter");b.setAttribute("title",mxResources.get("insertRowAfter"));b=d.addItem("",null,mxUtils.bind(this,function(){try{a.deleteRow(k,f.sectionRowIndex)}catch(b){mxUtils.alert(mxResources.get("error")+": "+b.message)}}),null,"geIcon geSprite geSprite-deleterow");b.setAttribute("title",mxResources.get("deleteRow"));b=d.addItem("",null,mxUtils.bind(this,function(){var b=k.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,
function(b,a,d,c){return"#"+("0"+Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)});this.editorUi.pickColor(b,function(b){null==b||b==mxConstants.NONE?(k.removeAttribute("border"),k.style.border="",k.style.borderCollapse=""):(k.setAttribute("border","1"),k.style.border="1px solid "+b,k.style.borderCollapse="collapse")})}),null,"geIcon geSprite geSprite-strokecolor");b.setAttribute("title",mxResources.get("borderColor"));b=d.addItem("",
null,mxUtils.bind(this,function(){var b=k.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(b,a,d,c){return"#"+("0"+Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)});this.editorUi.pickColor(b,function(b){k.style.backgroundColor=null==b||b==mxConstants.NONE?"":b})}),null,"geIcon geSprite geSprite-fillcolor");b.setAttribute("title",mxResources.get("backgroundColor"));b=d.addItem("",null,mxUtils.bind(this,
function(){var b=k.getAttribute("cellPadding")||0,b=new FilenameDialog(this.editorUi,b,mxResources.get("apply"),mxUtils.bind(this,function(b){null!=b&&0<b.length?k.setAttribute("cellPadding",b):k.removeAttribute("cellPadding")}),mxResources.get("spacing"));this.editorUi.showDialog(b.container,300,80,!0,!0);b.init()}),null,"geIcon geSprite geSprite-fit");b.setAttribute("title",mxResources.get("spacing"));b=d.addItem("",null,mxUtils.bind(this,function(){k.setAttribute("align","left")}),null,"geIcon geSprite geSprite-left");
b.setAttribute("title",mxResources.get("left"));b=d.addItem("",null,mxUtils.bind(this,function(){k.setAttribute("align","center")}),null,"geIcon geSprite geSprite-center");b.setAttribute("title",mxResources.get("center"));b=d.addItem("",null,mxUtils.bind(this,function(){k.setAttribute("align","right")}),null,"geIcon geSprite geSprite-right");b.setAttribute("title",mxResources.get("right"))}}));f.style.position="relative";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.innerHTML='\x3cdiv class\x3d"geSprite geSprite-table" style\x3d"margin-left:-2px;"\x3e\x3c/div\x3e'+
this.dropdownImageHtml;f.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(f.getElementsByTagName("img")[0].style.left="22px",f.getElementsByTagName("img")[0].style.top="5px")};Toolbar.prototype.hideMenu=function(){this.editorUi.hideCurrentMenu()};Toolbar.prototype.addMenu=function(a,c,f,d,b,e){var g=this.editorUi.menus.get(d),k=this.addMenuFunction(a,c,f,g.funct,b,e);g.addListener("stateChanged",function(){k.setEnabled(g.enabled)});return k};
Toolbar.prototype.addMenuFunction=function(a,c,f,d,b,e){return this.addMenuFunctionInContainer(null!=b?b:this.container,a,c,f,d,e)};Toolbar.prototype.addMenuFunctionInContainer=function(a,c,f,d,b,e){c=d?this.createLabel(c):this.createButton(c);this.initElement(c,f);this.addMenuHandler(c,d,b,e);a.appendChild(c);return c};Toolbar.prototype.addSeparator=function(a){a=null!=a?a:this.container;var c=document.createElement("div");c.className="geSeparator";a.appendChild(c);return c};
Toolbar.prototype.addItems=function(a,c,f){for(var d=[],b=0;b<a.length;b++){var e=a[b];"-"==e?d.push(this.addSeparator(c)):d.push(this.addItem("geSprite-"+e.toLowerCase(),e,c,f))}return d};Toolbar.prototype.addItem=function(a,c,f,d){var b=this.editorUi.actions.get(c),e=null;null!=b&&(e=this.addButton(a,b.label,b.funct,f),d||(e.setEnabled(b.enabled),b.addListener("stateChanged",function(){e.setEnabled(b.enabled)})));return e};
Toolbar.prototype.addButton=function(a,c,f,d){a=this.createButton(a);d=null!=d?d:this.container;this.initElement(a,c);this.addClickHandler(a,f);d.appendChild(a);return a};Toolbar.prototype.initElement=function(a,c){null!=c&&a.setAttribute("title",c);this.addEnabledState(a)};Toolbar.prototype.addEnabledState=function(a){var c=a.className;a.setEnabled=function(f){a.enabled=f;a.className=f?c:c+" mxDisabled"};a.setEnabled(!0)};
Toolbar.prototype.addClickHandler=function(a,c){null!=c&&(mxEvent.addListener(a,"click",function(f){a.enabled&&c(f);mxEvent.consume(f)}),null!=document.documentMode&&9<=document.documentMode&&mxEvent.addListener(a,"mousedown",function(a){a.preventDefault()}))};Toolbar.prototype.createButton=function(a){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");c.className="geButton";var f=document.createElement("div");null!=a&&(f.className="geSprite "+a);c.appendChild(f);return c};
Toolbar.prototype.createLabel=function(a,c){var f=document.createElement("a");f.setAttribute("href","javascript:void(0);");f.className="geLabel";mxUtils.write(f,a);return f};
Toolbar.prototype.addMenuHandler=function(a,c,f,d){if(null!=f){var b=this.editorUi.editor.graph,e=null,g=!0;mxEvent.addListener(a,"click",mxUtils.bind(this,function(k){if(g&&(null==a.enabled||a.enabled)){b.popupMenuHandler.hideMenu();e=new mxPopupMenu(f);e.div.className+=" geToolbarMenu";e.showDisabled=d;e.labels=c;e.autoExpand=!0;var l=mxUtils.getOffset(a);e.popup(l.x,l.y+a.offsetHeight,null,k);this.editorUi.setCurrentMenu(e,a);!c&&e.div.scrollHeight>e.div.clientHeight&&(e.div.style.width="40px");
e.addListener(mxEvent.EVENT_HIDE,mxUtils.bind(this,function(){this.currentElt=null}))}g=!0;mxEvent.consume(k)}));mxEvent.addListener(a,"mousedown",mxUtils.bind(this,function(b){g=this.currentElt!=a;null!=document.documentMode&&9<=document.documentMode&&b.preventDefault()}))}};Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};
function Dialog(a,c,f,d,b,e,g){var k=0;if(mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode))k=80;f+=k;d+=k;var l=Math.max(0,Math.round((document.body.scrollWidth-f)/2)),n=Math.max(0,Math.round((Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)-d-a.footerHeight)/3));0<a.dialogs.length&&(this.zIndex+=2*a.dialogs.length);var m=a.createDiv("geDialog");m.style.width=f+"px";m.style.height=d+"px";m.style.left=l+"px";m.style.top=n+"px";m.style.zIndex=this.zIndex;
null==this.bg&&(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background="white",this.bg.style.left="0px",this.bg.style.top="0px",this.bg.style.bottom="0px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));b&&document.body.appendChild(this.bg);m.appendChild(c);document.body.appendChild(m);e&&(c=document.createElement("img"),c.setAttribute("src",Dialog.prototype.closeImage),
c.setAttribute("title",mxResources.get("close")),c.className="geDialogClose",c.style.top=n+14+"px",c.style.left=l+f+38-k+"px",c.style.zIndex=this.zIndex,mxEvent.addListener(c,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(c),this.dialogImg=c,mxEvent.addListener(this.bg,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})));this.onDialogClose=g;this.container=m;a.editor.fireEvent(new mxEventObject("showDialog"))}
Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1;Dialog.prototype.noColorImage=!mxClient.IS_SVG?IMAGE_PATH+"/nocolor.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC";
Dialog.prototype.closeImage=!mxClient.IS_SVG?IMAGE_PATH+"/close.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg\x3d\x3d";Dialog.prototype.clearImage=!mxClient.IS_SVG?IMAGE_PATH+"/clear.gif":"data:image/gif;base64,R0lGODlhDQAKAIABAMDAwP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUIzOEM1NzI4NjEyMTFFMUEzMkNDMUE3NjZERDE2QjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUIzOEM1NzM4NjEyMTFFMUEzMkNDMUE3NjZERDE2QjIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QjM4QzU3MDg2MTIxMUUxQTMyQ0MxQTc2NkREMTZCMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QjM4QzU3MTg2MTIxMUUxQTMyQ0MxQTc2NkREMTZCMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAANAAoAAAIXTGCJebD9jEOTqRlttXdrB32PJ2ncyRQAOw\x3d\x3d";
Dialog.prototype.lockedImage=!mxClient.IS_SVG?IMAGE_PATH+"/locked.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCODExNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCODIxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3RjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI4MDE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvqMCFYAAAAVUExURZmZmb+/v7KysqysrMzMzLGxsf///4g8N1cAAAAHdFJOU////////wAaSwNGAAAAPElEQVR42lTMQQ4AIQgEwUa0//9kTQirOweYOgDqAMbZUr10AGlAwx4/BJ2QJ4U0L5brYjovvpv32xZgAHZaATFtMbu4AAAAAElFTkSuQmCC";
Dialog.prototype.unlockedImage=!mxClient.IS_SVG?IMAGE_PATH+"/unlocked.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg\x3d\x3d";
Dialog.prototype.bgOpacity=80;Dialog.prototype.close=function(a){null!=this.onDialogClose&&(this.onDialogClose(a),this.onDialogClose=null);null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);this.container.parentNode.removeChild(this.container)};
var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.frameBorder="0";var c=mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)?20:0;a.setAttribute("width",(Editor.useLocalStorage?640:320)+c+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+c+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorDialog=
function(a,c,f,d){function b(b,a,d){a=null!=a?a:12;var c=document.createElement("table");c.style.borderCollapse="collapse";c.setAttribute("cellspacing","0");c.style.marginBottom="20px";c.style.cellSpacing="0px";var f=document.createElement("tbody");c.appendChild(f);for(var k=b.length/a,n=0;n<k;n++){for(var m=document.createElement("tr"),p=0;p<a;p++)(function(b){var a=document.createElement("td");a.style.border="1px solid black";a.style.padding="0px";a.style.width="16px";a.style.height="16px";null==
b&&(b=d);"none"==b?a.style.background="url('"+Dialog.prototype.noColorImage+"')":a.style.backgroundColor="#"+b;m.appendChild(a);null!=b&&(a.style.cursor="pointer",mxEvent.addListener(a,"click",function(){"none"==b?(g.fromString("ffffff"),e.value="none"):g.fromString(b)}))})(b[n*a+p]);f.appendChild(m)}l.appendChild(c);return c}this.editorUi=a;var e=document.createElement("input");e.style.marginBottom="10px";e.style.width="216px";mxClient.IS_IE&&(e.style.marginTop="10px",document.body.appendChild(e));
this.init=function(){mxClient.IS_TOUCH||e.focus()};var g=new jscolor.color(e);g.pickerOnfocus=!1;g.showPicker();var k=document.createElement("div");jscolor.picker.box.style.position="relative";jscolor.picker.box.style.width="230px";jscolor.picker.box.style.height="100px";jscolor.picker.box.style.paddingBottom="10px";k.appendChild(jscolor.picker.box);var l=document.createElement("center");k.appendChild(e);mxUtils.br(k);var n=b(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,
12,"FFFFFF");n.style.marginBottom="8px";n=b("E6D0DE CDA2BE B5739D E1D5E7 C3ABD0 A680B8 D4E1F5 A9C4EB 7EA6E0 D5E8D4 9AC7BF 67AB9F D5E8D4 B9E0A5 97D077 FFF2CC FFE599 FFD966 FFF4C3 FFCE9F FFB570 F8CECC F19C99 EA6B66".split(" "),12);n.style.marginBottom="8px";n=b("none FFFFFF E6E6E6 CCCCCC B3B3B3 999999 808080 666666 4D4D4D 333333 1A1A1A 000000 FFCCCC FFE6CC FFFFCC E6FFCC CCFFCC CCFFE6 CCFFFF CCE5FF CCCCFF E5CCFF FFCCFF FFCCE6 FF9999 FFCC99 FFFF99 CCFF99 99FF99 99FFCC 99FFFF 99CCFF 9999FF CC99FF FF99FF FF99CC FF6666 FFB366 FFFF66 B3FF66 66FF66 66FFB3 66FFFF 66B2FF 6666FF B266FF FF66FF FF66B3 FF3333 FF9933 FFFF33 99FF33 33FF33 33FF99 33FFFF 3399FF 3333FF 9933FF FF33FF FF3399 FF0000 FF8000 FFFF00 80FF00 00FF00 00FF80 00FFFF 007FFF 0000FF 7F00FF FF00FF FF0080 CC0000 CC6600 CCCC00 66CC00 00CC00 00CC66 00CCCC 0066CC 0000CC 6600CC CC00CC CC0066 990000 994C00 999900 4D9900 009900 00994D 009999 004C99 000099 4C0099 990099 99004D 660000 663300 666600 336600 006600 006633 006666 003366 000066 330066 660066 660033 330000 331A00 333300 1A3300 003300 00331A 003333 001933 000033 190033 330033 33001A".split(" "));
n.style.marginBottom="16px";k.appendChild(l);n=document.createElement("div");n.style.textAlign="right";n.style.whiteSpace="nowrap";var m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});m.className="geBtn";a.editor.cancelFirst&&n.appendChild(m);var p=null!=f?f:this.createApplyFunction();f=mxUtils.button(mxResources.get("apply"),function(){var b=e.value;ColorDialog.addRecentColor(b,12);"none"!=b&&"#"!=b.charAt(0)&&(b="#"+b);p(b);a.hideDialog()});f.className="geBtn gePrimaryBtn";
n.appendChild(f);a.editor.cancelFirst||n.appendChild(m);null!=c&&("none"==c?(g.fromString("ffffff"),e.value="none"):g.fromString(c));k.appendChild(n);this.picker=g;this.colorInput=e;mxEvent.addListener(k,"keydown",function(b){27==b.keyCode&&(a.hideDialog(),null!=d&&d(),mxEvent.consume(b))});this.container=k};
ColorDialog.prototype.createApplyFunction=function(){return mxUtils.bind(this,function(a){var c=this.editorUi.editor.graph;c.getModel().beginUpdate();try{c.setCellStyles(this.currentColorKey,a),this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[this.currentColorKey],"values",[a],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}})};ColorDialog.recentColors=[];
ColorDialog.addRecentColor=function(a,c){null!=a&&(mxUtils.remove(a,ColorDialog.recentColors),ColorDialog.recentColors.splice(0,0,a),ColorDialog.recentColors.length>c&&ColorDialog.recentColors.pop())};
var AboutDialog=function(a){var c=document.createElement("div");c.setAttribute("align","center");var f=document.createElement("h3");mxUtils.write(f,mxResources.get("about")+" GraphEditor");c.appendChild(f);f=document.createElement("img");f.style.border="0px";f.setAttribute("width","176");f.setAttribute("width","151");f.setAttribute("src",IMAGE_PATH+"/logo.png");c.appendChild(f);mxUtils.br(c);mxUtils.write(c,"Powered by mxGraph "+mxClient.VERSION);mxUtils.br(c);f=document.createElement("a");f.setAttribute("href",
"http://www.jgraph.com/");f.setAttribute("target","_blank");mxUtils.write(f,"www.jgraph.com");c.appendChild(f);mxUtils.br(c);mxUtils.br(c);f=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});f.className="geBtn gePrimaryBtn";c.appendChild(f);this.container=c},PageSetupDialog=function(a){function c(){null==D||D==mxConstants.NONE?(x.style.backgroundColor="",x.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(x.style.backgroundColor=D,x.style.backgroundImage="")}function f(){null==
E?(B.removeAttribute("title"),B.style.fontSize="",B.innerHTML=mxResources.get("change")+"..."):(B.setAttribute("title",E.src),B.style.fontSize="11px",B.innerHTML=E.src.substring(0,42)+"...")}var d=a.editor.graph,b,e,g=document.createElement("table");g.style.width="100%";g.style.height="100%";var k=document.createElement("tbody");b=document.createElement("tr");e=document.createElement("td");e.style.fontSize="10pt";mxUtils.write(e,mxResources.get("paperSize")+":");b.appendChild(e);var l=document.createElement("input");
l.setAttribute("name","format");l.setAttribute("type","radio");l.setAttribute("value","portrait");var n=document.createElement("input");n.setAttribute("name","format");n.setAttribute("type","radio");n.setAttribute("value","landscape");var m=document.createElement("tr");m.style.display="none";var p=document.createElement("tr");p.style.display="none";var r=document.createElement("select");e=!1;for(var s={},q=PageSetupDialog.getFormats(),u=0;u<q.length;u++){var t=q[u];s[t.key]=t;var v=document.createElement("option");
v.setAttribute("value",t.key);mxUtils.write(v,t.title);r.appendChild(v);null!=t.format?d.pageFormat.width==t.format.width&&d.pageFormat.height==t.format.height?(v.setAttribute("selected","selected"),l.setAttribute("checked","checked"),l.defaultChecked=!0,m.style.display="",e=!0):d.pageFormat.width==t.format.height&&d.pageFormat.height==t.format.width&&(v.setAttribute("selected","selected"),n.setAttribute("checked","checked"),l.defaultChecked=!0,m.style.display="",e=!0):e||(v.setAttribute("selected",
"selected"),p.style.display="")}e=document.createElement("td");e.style.fontSize="10pt";e.appendChild(r);b.appendChild(e);k.appendChild(b);m=document.createElement("tr");m.style.height="40px";e=document.createElement("td");m.appendChild(e);e=document.createElement("td");e.style.fontSize="10pt";e.appendChild(l);b=document.createElement("span");mxUtils.write(b," "+mxResources.get("portrait"));e.appendChild(b);mxEvent.addListener(b,"click",function(b){l.checked=!0;mxEvent.consume(b)});n.style.marginLeft=
"10px";e.appendChild(n);b=document.createElement("span");mxUtils.write(b," "+mxResources.get("landscape"));e.appendChild(b);mxEvent.addListener(b,"click",function(b){n.checked=!0;mxEvent.consume(b)});m.appendChild(e);k.appendChild(m);b=document.createElement("tr");e=document.createElement("td");p.appendChild(e);e=document.createElement("td");e.style.fontSize="10pt";var z=document.createElement("input");z.setAttribute("size","6");z.setAttribute("value",d.pageFormat.width);e.appendChild(z);mxUtils.write(e,
" x ");var y=document.createElement("input");y.setAttribute("size","6");y.setAttribute("value",d.pageFormat.height);e.appendChild(y);mxUtils.write(e," pt");p.appendChild(e);p.style.height=m.style.height;k.appendChild(p);b=function(){var b=s[r.value];null!=b.format?(z.value=b.format.width,y.value=b.format.height,p.style.display="none",m.style.display=""):(m.style.display="none",p.style.display="")};mxEvent.addListener(r,"change",b);b();b=document.createElement("tr");e=document.createElement("td");
mxUtils.write(e,mxResources.get("background")+":");b.appendChild(e);e=document.createElement("td");e.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var x=document.createElement("button");x.style.width="18px";x.style.height="18px";x.style.marginRight="20px";x.style.backgroundPosition="center center";x.style.backgroundRepeat="no-repeat";var D=d.background;c();mxEvent.addListener(x,"click",function(b){a.pickColor(D||"none",function(b){D=b;c()});mxEvent.consume(b)});
e.appendChild(x);mxUtils.write(e,mxResources.get("gridSize")+":");var A=document.createElement("input");A.setAttribute("type","number");A.setAttribute("min","0");A.style.width="40px";A.style.marginLeft="6px";A.value=d.getGridSize();e.appendChild(A);b.appendChild(e);k.appendChild(b);b=document.createElement("tr");e=document.createElement("td");mxUtils.write(e,mxResources.get("image")+":");b.appendChild(e);e=document.createElement("td");var B=document.createElement("a");B.style.textDecoration="underline";
B.style.cursor="pointer";B.style.color="#a0a0a0";var E=d.backgroundImage;mxEvent.addListener(B,"click",function(b){a.showBackgroundImageDialog(function(b){E=b;f()});mxEvent.consume(b)});f();e.appendChild(B);b.appendChild(e);k.appendChild(b);b=document.createElement("tr");e=document.createElement("td");e.colSpan=2;e.style.paddingTop="16px";e.setAttribute("align","right");q=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});q.className="geBtn";a.editor.cancelFirst&&e.appendChild(q);
u=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=n.checked,c=s[r.value].format;null==c&&(c=new mxRectangle(0,0,parseInt(z.value),parseInt(y.value)));b&&(c=new mxRectangle(0,0,c.height,c.width));a.setPageFormat(c);d.background!=D&&a.setBackgroundColor(D);d.backgroundImage!==E&&a.setBackgroundImage(E);d.gridSize!==A.value&&d.setGridSize(parseFloat(A.value))});u.className="geBtn gePrimaryBtn";e.appendChild(u);a.editor.cancelFirst||e.appendChild(q);b.appendChild(e);k.appendChild(b);
g.appendChild(k);this.container=g};
PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:"US-Tabloid (279 mm x 432 mm)",format:new mxRectangle(0,0,1100,1700)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1652)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",
format:new mxRectangle(0,0,584,826)},{key:"custom",title:mxResources.get("custom"),format:null}]};var PrintDialog=function(a){this.create(a)};
PrintDialog.prototype.create=function(a){function c(b){var a=k.checked||n.checked,d=parseInt(p.value)/100;isNaN(d)&&(d=1,p.value="100%");var d=0.75*d,c=f.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,e=1/f.pageScale;if(a){var g=k.checked?1:parseInt(m.value);isNaN(g)||(e=mxUtils.getScaleForPageCount(g,f,c))}f.getGraphBounds();var l=g=0,c=mxRectangle.fromRectangle(c);c.width=Math.ceil(c.width*d);c.height=Math.ceil(c.height*d);e*=d;!a&&f.pageVisible?(d=f.getPageLayout(),g-=d.x*c.width,l-=d.y*c.height):
a=!0;return PrintDialog.showPreview(PrintDialog.createPrintPreview(f,e,c,0,g,l,a,b),b)}var f=a.editor.graph,d,b,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var g=document.createElement("tbody");d=document.createElement("tr");var k=document.createElement("input");k.setAttribute("type","checkbox");b=document.createElement("td");b.setAttribute("colspan","2");b.style.fontSize="10pt";b.appendChild(k);var l=document.createElement("span");mxUtils.write(l," "+mxResources.get("fitPage"));
b.appendChild(l);mxEvent.addListener(l,"click",function(b){k.checked=!k.checked;n.checked=!k.checked;mxEvent.consume(b)});mxEvent.addListener(k,"change",function(){n.checked=!k.checked});d.appendChild(b);g.appendChild(d);d=d.cloneNode(!1);var n=document.createElement("input");n.setAttribute("type","checkbox");b=document.createElement("td");b.style.fontSize="10pt";b.appendChild(n);l=document.createElement("span");mxUtils.write(l," "+mxResources.get("posterPrint")+":");b.appendChild(l);mxEvent.addListener(l,
"click",function(b){n.checked=!n.checked;k.checked=!n.checked;mxEvent.consume(b)});d.appendChild(b);var m=document.createElement("input");m.setAttribute("value","1");m.setAttribute("type","number");m.setAttribute("min","1");m.setAttribute("size","4");m.setAttribute("disabled","disabled");m.style.width="50px";b=document.createElement("td");b.style.fontSize="10pt";b.appendChild(m);mxUtils.write(b," "+mxResources.get("pages")+" (max)");d.appendChild(b);g.appendChild(d);mxEvent.addListener(n,"change",
function(){n.checked?m.removeAttribute("disabled"):m.setAttribute("disabled","disabled");k.checked=!n.checked});d=d.cloneNode(!1);b=document.createElement("td");mxUtils.write(b,mxResources.get("pageScale")+":");d.appendChild(b);b=document.createElement("td");var p=document.createElement("input");p.setAttribute("value","100 %");p.setAttribute("size","5");p.style.width="50px";b.appendChild(p);d.appendChild(b);g.appendChild(d);d=document.createElement("tr");b=document.createElement("td");b.colSpan=2;
b.style.paddingTop="20px";b.setAttribute("align","right");l=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});l.className="geBtn";a.editor.cancelFirst&&b.appendChild(l);if(!mxClient.IS_CHROMEAPP){var r=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)});r.className="geBtn";b.appendChild(r)}r=mxUtils.button(mxResources.get(mxClient.IS_CHROMEAPP?"ok":"print"),function(){a.hideDialog();c(!0)});r.className="geBtn gePrimaryBtn";b.appendChild(r);a.editor.cancelFirst||
b.appendChild(l);d.appendChild(b);g.appendChild(d);e.appendChild(g);this.container=e};PrintDialog.showPreview=function(a,c){var f=a.open();c&&null!=f&&(c=function(){f.focus();f.print();f.close()},mxClient.IS_GC?window.setTimeout(c,500):c());return f};
PrintDialog.createPrintPreview=function(a,c,f,d,b,e,g){c=new mxPrintPreview(a,c,f,d,b,e);c.title=mxResources.get("preview");c.printBackgroundImage=!0;c.autoOrigin=g;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";c.backgroundColor=a;var k=c.writeHead;c.writeHead=function(b){k.apply(this,arguments);b.writeln('\x3cstyle type\x3d"text/css"\x3e');b.writeln("@media screen {");b.writeln(" body \x3e div { padding:30px;box-sizing:content-box; }");b.writeln("}");b.writeln("\x3c/style\x3e")};
return c};
var FilenameDialog=function(a,c,f,d,b,e,g,k,l){l=null!=l?l:!0;var n,m,p=document.createElement("table"),r=document.createElement("tbody");p.style.marginTop="8px";n=document.createElement("tr");m=document.createElement("td");m.style.fontSize="10pt";m.style.width="120px";mxUtils.write(m,(b||mxResources.get("filename"))+":");n.appendChild(m);var s=document.createElement("input");s.setAttribute("value",c||"");s.style.width="180px";var q=mxUtils.button(f,function(){if(null==e||e(s.value))l&&a.hideDialog(),
d(s.value)});q.className="geBtn gePrimaryBtn";this.init=function(){if(!(null==b&&null!=g)&&(s.focus(),mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?s.select():document.execCommand("selectAll",!1,null),Graph.fileSupport)){var a=p.parentNode,d=null;mxEvent.addListener(a,"dragleave",function(b){null!=d&&(d.style.backgroundColor="",d=null);b.stopPropagation();b.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(b){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=
s,d.style.backgroundColor="#ebf2f9";b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,function(b){null!=d&&(d.style.backgroundColor="",d=null);0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")&&(s.value=decodeURIComponent(b.dataTransfer.getData("text/uri-list")),q.click());b.stopPropagation();b.preventDefault()}))}};m=document.createElement("td");m.appendChild(s);n.appendChild(m);(null!=b||null==g)&&r.appendChild(n);null!=g&&(n=document.createElement("tr"),
m=document.createElement("td"),m.colSpan=2,m.appendChild(g),n.appendChild(m),r.appendChild(n));n=document.createElement("tr");m=document.createElement("td");m.colSpan=2;m.style.paddingTop="20px";m.style.whiteSpace="nowrap";m.setAttribute("align","right");c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";a.editor.cancelFirst&&m.appendChild(c);null!=k&&(f=mxUtils.button(mxResources.get("help"),function(){window.open(k)}),f.className="geBtn",m.appendChild(f));
mxEvent.addListener(s,"keypress",function(b){13==b.keyCode&&q.click()});m.appendChild(q);a.editor.cancelFirst||m.appendChild(c);n.appendChild(m);r.appendChild(n);p.appendChild(r);this.container=p},TextareaDialog=function(a,c,f,d,b,e,g,k,l,n){g=null!=g?g:300;k=null!=k?k:120;n=null!=n?n:!1;var m,p,r=document.createElement("table"),s=document.createElement("tbody");m=document.createElement("tr");p=document.createElement("td");p.style.fontSize="10pt";p.style.width="100px";mxUtils.write(p,c);m.appendChild(p);
s.appendChild(m);m=document.createElement("tr");p=document.createElement("td");var q=document.createElement("textarea");mxUtils.write(q,f||"");q.style.resize="none";q.style.width=g+"px";q.style.height=k+"px";this.textarea=q;this.init=function(){q.focus();q.scrollTop=0};p.appendChild(q);m.appendChild(p);s.appendChild(m);m=document.createElement("tr");p=document.createElement("td");p.style.paddingTop="14px";p.style.whiteSpace="nowrap";p.setAttribute("align","right");c=mxUtils.button(e||mxResources.get("cancel"),
function(){a.hideDialog();null!=b&&b()});c.className="geBtn";a.editor.cancelFirst&&p.appendChild(c);null!=l&&l(p);null!=d&&(l=mxUtils.button(mxResources.get("apply"),function(){n||a.hideDialog();d(q.value)}),l.className="geBtn gePrimaryBtn",p.appendChild(l));a.editor.cancelFirst||p.appendChild(c);m.appendChild(p);s.appendChild(m);r.appendChild(s);this.container=r},EditDiagramDialog=function(a){var c=document.createElement("div");c.style.textAlign="right";var f=document.createElement("textarea");f.setAttribute("wrap",
"off");f.style.overflow="auto";f.style.resize="none";f.style.width="600px";f.style.height="370px";f.style.marginBottom="16px";f.value=mxUtils.getPrettyXml(a.editor.getGraphXml());c.appendChild(f);this.init=function(){f.focus()};Graph.fileSupport&&(f.addEventListener("dragover",function(b){b.stopPropagation();b.preventDefault()},!1),f.addEventListener("drop",function(b){b.stopPropagation();b.preventDefault();if(0<b.dataTransfer.files.length){b=b.dataTransfer.files[0];var d=new FileReader;d.onload=
function(b){f.value=b.target.result};d.readAsText(b)}else f.value=a.extractGraphModelFromEvent(b)},!1));var d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});d.className="geBtn";a.editor.cancelFirst&&c.appendChild(d);var b=document.createElement("select");b.style.width="180px";b.className="geBtn";if(a.editor.graph.isEnabled()){var e=document.createElement("option");e.setAttribute("value","replace");mxUtils.write(e,mxResources.get("replaceExistingDrawing"));b.appendChild(e)}e=
document.createElement("option");e.setAttribute("value","new");mxUtils.write(e,mxResources.get("openInNewWindow"));null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime||b.appendChild(e);a.editor.graph.isEnabled()&&(e=document.createElement("option"),e.setAttribute("value","import"),mxUtils.write(e,mxResources.get("addToExistingDrawing")),b.appendChild(e));c.appendChild(b);e=mxUtils.button(mxResources.get("ok"),function(){var d=a.editor.graph.zapGremlins(mxUtils.trim(f.value)),c=null;if("new"==
b.value)window.openFile=new OpenFile(function(){a.hideDialog();window.openFile=null}),window.openFile.setData(d,null),window.open(a.getUrl());else if("replace"==b.value){a.editor.graph.model.beginUpdate();try{a.editor.setGraphXml(mxUtils.parseXml(d).documentElement),a.hideDialog()}catch(e){c=e}finally{a.editor.graph.model.endUpdate()}}else if("import"==b.value){a.editor.graph.model.beginUpdate();try{var n=mxUtils.parseXml(d),m=new mxGraphModel;(new mxCodec(n)).decode(n.documentElement,m);var p=m.getChildren(m.getChildAt(m.getRoot(),
0));a.editor.graph.setSelectionCells(a.editor.graph.importCells(p));a.hideDialog()}catch(r){c=r}finally{a.editor.graph.model.endUpdate()}}null!=c&&mxUtils.alert(c.message)});e.className="geBtn gePrimaryBtn";c.appendChild(e);a.editor.cancelFirst||c.appendChild(d);this.container=c},ExportDialog=function(a){function c(){var b=p.value,a=b.lastIndexOf(".");p.value=0<a?b.substring(0,a+1)+r.value:b+"."+r.value;"xml"===r.value?(u.setAttribute("disabled","true"),t.setAttribute("disabled","true"),v.setAttribute("disabled",
"true")):(u.removeAttribute("disabled"),t.removeAttribute("disabled"),v.removeAttribute("disabled"));"png"===r.value||"svg"===r.value?q.removeAttribute("disabled"):q.setAttribute("disabled","disabled")}function f(){u.style.backgroundColor=u.value*t.value>MAX_AREA||0>=u.value?"red":"";t.style.backgroundColor=u.value*t.value>MAX_AREA||0>=t.value?"red":""}function d(){var a=Math.max(0,parseInt(v.value))+1,d=parseInt(u.value)/k,c=null;""!=s.value&&s.value!=mxConstants.NONE&&!q.checked&&(c=s.value);return b.getSvg(c,
d,a)}var b=a.editor.graph,e=b.getGraphBounds(),g=b.view.scale,k=Math.ceil(e.width/g),l=Math.ceil(e.height/g),n,g=document.createElement("table"),m=document.createElement("tbody"),e=document.createElement("tr");n=document.createElement("td");n.style.fontSize="10pt";n.style.width="100px";mxUtils.write(n,mxResources.get("filename")+":");e.appendChild(n);var p=document.createElement("input");p.setAttribute("value",a.editor.getOrCreateFilename());p.style.width="180px";n=document.createElement("td");n.appendChild(p);
e.appendChild(n);m.appendChild(e);e=document.createElement("tr");n=document.createElement("td");n.style.fontSize="10pt";mxUtils.write(n,mxResources.get("format")+":");e.appendChild(n);var r=document.createElement("select");r.style.width="180px";n=document.createElement("option");n.setAttribute("value","png");mxUtils.write(n,mxResources.get("formatPng"));r.appendChild(n);n=document.createElement("option");ExportDialog.showGifOption&&(n.setAttribute("value","gif"),mxUtils.write(n,mxResources.get("formatGif")),
r.appendChild(n));n=document.createElement("option");n.setAttribute("value","jpg");mxUtils.write(n,mxResources.get("formatJpg"));r.appendChild(n);n=document.createElement("option");n.setAttribute("value","pdf");mxUtils.write(n,mxResources.get("formatPdf"));r.appendChild(n);n=document.createElement("option");n.setAttribute("value","svg");mxUtils.write(n,mxResources.get("formatSvg"));r.appendChild(n);ExportDialog.showXmlOption&&(n=document.createElement("option"),n.setAttribute("value","xml"),mxUtils.write(n,
mxResources.get("formatXml")),r.appendChild(n));n=document.createElement("td");n.appendChild(r);e.appendChild(n);m.appendChild(e);e=document.createElement("tr");n=document.createElement("td");n.style.fontSize="10pt";mxUtils.write(n,mxResources.get("backgroundColor")+":");e.appendChild(n);var s=document.createElement("input");s.setAttribute("value",null==b.background||b.background==mxConstants.NONE?"#ffffff":b.background);s.style.width="80px";var q=document.createElement("input");q.setAttribute("type",
"checkbox");q.checked=null==b.background||b.background==mxConstants.NONE;n=document.createElement("td");n.appendChild(s);n.appendChild(q);mxUtils.write(n,mxResources.get("transparent"));e.appendChild(n);m.appendChild(e);e=document.createElement("tr");n=document.createElement("td");n.style.fontSize="10pt";mxUtils.write(n,mxResources.get("width")+":");e.appendChild(n);var u=document.createElement("input");u.setAttribute("value",k);u.style.width="180px";n=document.createElement("td");n.appendChild(u);
e.appendChild(n);m.appendChild(e);e=document.createElement("tr");n=document.createElement("td");n.style.fontSize="10pt";mxUtils.write(n,mxResources.get("height")+":");e.appendChild(n);var t=document.createElement("input");t.setAttribute("value",l);t.style.width="180px";n=document.createElement("td");n.appendChild(t);e.appendChild(n);m.appendChild(e);e=document.createElement("tr");n=document.createElement("td");n.style.fontSize="10pt";mxUtils.write(n,mxResources.get("borderWidth")+":");e.appendChild(n);
var v=document.createElement("input");v.setAttribute("value",k);v.style.width="180px";v.value="0";n=document.createElement("td");n.appendChild(v);e.appendChild(n);m.appendChild(e);g.appendChild(m);mxEvent.addListener(r,"change",c);c();mxEvent.addListener(u,"change",function(){t.value=0<k?Math.ceil(parseInt(u.value)*l/k):"0";f()});mxEvent.addListener(t,"change",function(){u.value=0<l?Math.ceil(parseInt(t.value)*k/l):"0";f()});var z=new mxImageExport,e=document.createElement("tr");n=document.createElement("td");
n.setAttribute("align","right");n.style.paddingTop="24px";n.colSpan=2;var y=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(u.value)&&0>=parseInt(t.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var c=r.value,e=p.value;if("xml"==c)a.hideDialog(),ExportDialog.saveLocalFile(mxUtils.getXml(a.editor.getGraphXml()),e,c);else if("svg"==c){var f=mxUtils.getXml(d());f.length<MAX_REQUEST_SIZE?(a.hideDialog(),ExportDialog.saveLocalFile(f,e,c)):(mxUtils.alert(mxResources.get("drawingTooLarge")),
mxUtils.popup(f))}else{var g=null,l=parseInt(u.value)||0,n=parseInt(t.value)||0,m=Math.max(0,parseInt(v.value))+1,f=ExportDialog.getExportParameter(a,c);if("function"==typeof f)g=f();else{var f=parseInt(u.value)/k,x=b.getGraphBounds(),y=b.view.scale,O=mxUtils.createXmlDocument(),T=O.createElement("output");O.appendChild(T);O=new mxXmlCanvas2D(T);O.translate(Math.floor((m/f-x.x)/y),Math.floor((m/f-x.y)/y));O.scale(f/y);z.drawState(b.getView().getState(b.model.root),O);l=Math.ceil(x.width*f/y+2*m);
n=Math.ceil(x.height*f/y+2*m);g="xml\x3d"+encodeURIComponent(mxUtils.getXml(T))}if(null!=g&&g.length<=MAX_REQUEST_SIZE&&l*n<MAX_AREA){var X="\x26bg\x3dnone";if(""!=s.value&&s.value!=mxConstants.NONE&&("png"!=c||!q.checked))X="\x26bg\x3d"+s.value;a.hideDialog();f=decodeURIComponent(g.substring(g.indexOf("\x3d")+1));ExportDialog.saveRequest(f,e,c,function(b,a){return new mxXmlRequest(EXPORT_URL,"format\x3d"+c+"\x26base64\x3d"+(a||"0")+(null!=b?"\x26filename\x3d"+encodeURIComponent(b):"")+X+"\x26w\x3d"+
l+"\x26h\x3d"+n+"\x26border\x3d"+m+"\x26"+g)})}else mxUtils.alert(mxResources.get("drawingTooLarge"))}}}));y.className="geBtn gePrimaryBtn";var x=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});x.className="geBtn";a.editor.cancelFirst?(n.appendChild(x),n.appendChild(y)):(n.appendChild(y),n.appendChild(x));e.appendChild(n);m.appendChild(e);g.appendChild(m);this.container=g};ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0;
ExportDialog.saveLocalFile=function(a,c,f){(new mxXmlRequest(SAVE_URL,"xml\x3d"+encodeURIComponent(a)+"\x26filename\x3d"+encodeURIComponent(c)+"\x26format\x3d"+f)).simulate(document,"_blank")};ExportDialog.saveRequest=function(a,c,f,d){d(c).simulate(document,"_blank")};ExportDialog.getExportParameter=function(a,c){return null};
var EditDataDialog=function(a,c){function f(){0<q.value.length?u.removeAttribute("disabled"):u.setAttribute("disabled","disabled")}var d=document.createElement("div"),b=a.editor.graph;d.style.height="310px";d.style.overflow="auto";var e=b.getModel().getValue(c);if(!mxUtils.isNode(e)){var g=mxUtils.createXmlDocument().createElement("object");g.setAttribute("label",e||"");e=g}var k=new mxForm("properties");k.table.style.width="100%";k.table.style.paddingRight="20px";for(var g=e.attributes,l=[],n=[],
m=0,p=function(b,a){b.parentNode.style.marginRight="12px";var d=document.createElement("a"),c=mxUtils.createImage(Dialog.prototype.closeImage);c.style.height="9px";c.style.fontSize="9px";c.style.marginBottom="7px";d.className="geButton";d.setAttribute("title",mxResources.get("delete"));d.style.margin="0px";d.style.width="14px";d.style.height="14px";d.style.fontSize="14px";d.style.cursor="pointer";d.style.marginLeft="6px";d.appendChild(c);c=function(b){return function(){for(var a=0,d=0;d<l.length;d++){if(l[d]==
b){n[d]=null;k.table.deleteRow(a);break}null!=n[d]&&a++}}}(a);mxEvent.addListener(d,"click",c);b.parentNode.style.whiteSpace="nowrap";b.parentNode.appendChild(d)},r=function(b,a,d){l[b]=a;n[b]=k.addTextarea(l[m]+":",d,2);n[b].style.width="100%";p(n[b],a)},s=0;s<g.length;s++)"label"!=g[s].nodeName&&"placeholders"!=g[s].nodeName&&(r(m,g[s].nodeName,g[s].nodeValue),m++);d.appendChild(k.table);g=document.createElement("div");g.style.whiteSpace="nowrap";g.style.marginTop="6px";var q=document.createElement("input");
q.setAttribute("placeholder",mxResources.get("enterPropertyName"));q.setAttribute("type","text");q.setAttribute("size",mxClient.IS_QUIRKS?"18":"22");q.style.marginLeft="2px";g.appendChild(q);d.appendChild(g);var u=mxUtils.button(mxResources.get("addProperty"),function(){if(0<q.value.length){var b=q.value;if(null!=b&&0<b.length&&"label"!=b&&"placeholders"!=b)try{var a=mxUtils.indexOf(l,b);if(0<=a&&null!=n[a])n[a].focus();else{e.cloneNode(!1).setAttribute(b,"");0<=a&&(l.splice(a,1),n.splice(a,1));l.push(b);
var d=k.addTextarea(b+":","",2);d.style.width="100%";n.push(d);p(d,b);d.focus()}q.value=""}catch(c){mxUtils.alert(c)}}else mxUtils.alert(mxResources.get("invalidName"))});this.init=function(){0<n.length?n[0].focus():q.focus()};u.setAttribute("disabled","disabled");u.style.marginLeft="10px";u.style.width="144px";g.appendChild(u);g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog.apply(a,arguments)});g.className="geBtn";r=mxUtils.button(mxResources.get("apply"),function(){try{a.hideDialog.apply(a,
arguments);e=e.cloneNode(!0);for(var d=0;d<l.length;d++)null==n[d]?e.removeAttribute(l[d]):e.setAttribute(l[d],n[d].value);b.getModel().setValue(c,e)}catch(f){mxUtils.alert(f)}});r.className="geBtn gePrimaryBtn";mxEvent.addListener(q,"keyup",f);mxEvent.addListener(q,"change",f);s=document.createElement("div");s.style.marginTop="18px";s.style.textAlign="right";if(a.editor.graph.getModel().isVertex(c)||a.editor.graph.getModel().isEdge(c)){var t=document.createElement("span");t.style.marginRight="10px";
var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.marginRight="6px";"1"==e.getAttribute("placeholders")&&(v.setAttribute("checked","checked"),v.defaultChecked=!0);mxEvent.addListener(v,"click",function(){"1"==e.getAttribute("placeholders")?e.removeAttribute("placeholders"):e.setAttribute("placeholders","1")});t.appendChild(v);mxUtils.write(t,mxResources.get("placeholders"));if(null!=EditDataDialog.placeholderHelpLink){v=document.createElement("a");v.setAttribute("href",
EditDataDialog.placeholderHelpLink);v.setAttribute("title",mxResources.get("help"));v.setAttribute("target","_blank");v.style.marginLeft="10px";v.style.cursor="help";var z=document.createElement("img");z.setAttribute("border","0");z.setAttribute("valign","middle");z.style.marginTop="-4px";z.setAttribute("src",Editor.helpImage);v.appendChild(z);t.appendChild(v)}s.appendChild(t)}a.editor.cancelFirst?(s.appendChild(g),s.appendChild(r)):(s.appendChild(r),s.appendChild(g));d.appendChild(s);this.container=
d};EditDataDialog.placeholderHelpLink=null;
var LinkDialog=function(a,c,f,d){var b=document.createElement("div");mxUtils.write(b,mxResources.get("editLink")+":");var e=document.createElement("div");e.className="geTitle";e.style.backgroundColor="transparent";e.style.borderColor="transparent";e.style.whiteSpace="nowrap";e.style.textOverflow="clip";e.style.cursor="default";mxClient.IS_VML||(e.style.paddingRight="20px");var g=document.createElement("input");g.setAttribute("value",c);g.setAttribute("placeholder","http://www.example.com/");g.setAttribute("type",
"text");g.style.marginTop="6px";g.style.width="400px";g.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";g.style.backgroundRepeat="no-repeat";g.style.backgroundPosition="100% 50%";g.style.paddingRight="14px";c=document.createElement("div");c.setAttribute("title",mxResources.get("reset"));c.style.position="relative";c.style.left="-16px";c.style.width="12px";c.style.height="14px";c.style.cursor="pointer";c.style.display=mxClient.IS_VML?"inline":"inline-block";c.style.top=(mxClient.IS_VML?
0:3)+"px";c.style.background="url("+IMAGE_PATH+"/transparent.gif)";mxEvent.addListener(c,"click",function(){g.value="";g.focus()});e.appendChild(g);e.appendChild(c);b.appendChild(e);this.init=function(){g.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?g.select():document.execCommand("selectAll",!1,null)};e=document.createElement("div");e.style.marginTop="18px";e.style.textAlign="right";mxEvent.addListener(g,"keypress",function(b){13==b.keyCode&&(a.hideDialog(),d(g.value))});
c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";a.editor.cancelFirst&&e.appendChild(c);f=mxUtils.button(f,function(){a.hideDialog();d(g.value)});f.className="geBtn gePrimaryBtn";e.appendChild(f);a.editor.cancelFirst||e.appendChild(c);b.appendChild(e);this.container=b},OutlineWindow=function(a,c,f,d,b){function e(){l.outline.pageScale=g.pageScale;l.outline.pageFormat=g.pageFormat;l.outline.pageVisible=g.pageVisible;l.outline.background=g.background;var b=
mxUtils.getCurrentStyle(g.container);k.style.backgroundColor=b.backgroundColor;null!=g.view.backgroundPageShape&&null!=l.outline.view.backgroundPageShape&&(l.outline.view.backgroundPageShape.fill=g.view.backgroundPageShape.fill);l.outline.refresh()}var g=a.editor.graph,k=document.createElement("div");k.style.position="absolute";k.style.width="100%";k.style.height="100%";k.style.border="1px solid whiteSmoke";k.style.overflow="hidden";this.window=new mxWindow(mxResources.get("outline"),k,c,f,d,b,!0,
!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.setLocation=function(b,a){b=Math.max(0,b);a=Math.max(0,a);mxWindow.prototype.setLocation.apply(this,arguments)};mxEvent.addListener(window,"resize",mxUtils.bind(this,function(){var b=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,a=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,
d=this.window.getX(),c=this.window.getY();d+this.window.table.clientWidth>b&&(d=Math.max(0,b-this.window.table.clientWidth));c+this.window.table.clientHeight>a&&(c=Math.max(0,a-this.window.table.clientHeight));(this.window.getX()!=d||this.window.getY()!=c)&&this.window.setLocation(d,c)}));var l=a.createOutline(this.window);this.window.addListener(mxEvent.RESIZE,mxUtils.bind(this,function(){l.update(!1);l.outline.sizeDidChange()}));this.window.addListener(mxEvent.SHOW,mxUtils.bind(this,function(){l.suspended=
!1;l.outline.refresh();l.update()}));this.window.addListener(mxEvent.HIDE,mxUtils.bind(this,function(){l.suspended=!0}));this.window.addListener(mxEvent.NORMALIZE,mxUtils.bind(this,function(){l.suspended=!1;l.update()}));this.window.addListener(mxEvent.MINIMIZE,mxUtils.bind(this,function(){l.suspended=!0}));var n=l.createGraph;l.createGraph=function(b){var a=n.apply(this,arguments);a.gridEnabled=!1;a.pageScale=g.pageScale;a.pageFormat=g.pageFormat;a.background=g.background;a.pageVisible=g.pageVisible;
var d=mxUtils.getCurrentStyle(g.container);k.style.backgroundColor=d.backgroundColor;return a};l.init(k);a.editor.addListener("resetGraphView",e);a.addListener("pageFormatChanged",e);a.addListener("backgroundColorChanged",e);a.addListener("backgroundImageChanged",e);a.addListener("pageViewChanged",function(){e();l.update(!0)});if(l.outline.dialect==mxConstants.DIALECT_SVG){var m=a.actions.get("zoomIn"),p=a.actions.get("zoomOut");mxEvent.addMouseWheelListener(function(b,a){for(var d=!1,c=mxEvent.getSource(b);null!=
c;){if(c==l.outline.view.canvas.ownerSVGElement){d=!0;break}c=c.parentNode}d&&(a?m.funct():p.funct(),mxEvent.consume(b))})}},LayersWindow=function(a,c,f,d,b){function e(b){if(k.isEnabled()&&null!=b){var d=new FilenameDialog(a,b.value||mxResources.get("background"),mxResources.get("rename"),mxUtils.bind(this,function(a){null!=a&&k.getModel().setValue(b,a)}),mxResources.get("enterName"));a.showDialog(d.container,300,100,!0,!0);d.init()}}function g(){function b(a,d,c,f){var l=document.createElement("div");
l.className="geToolbarContainer";l.style.overflow="hidden";l.style.position="relative";l.style.padding="4px";l.style.height="22px";l.style.display="block";l.style.backgroundColor="whiteSmoke";l.style.borderWidth="0px 0px 1px 0px";l.style.borderColor="#c3c3c3";l.style.borderStyle="solid";l.style.whiteSpace="nowrap";var n=document.createElement("div");n.style.display="inline-block";n.style.width="100%";n.style.textOverflow="ellipsis";n.style.overflow="hidden";mxEvent.addListener(l,"dragover",function(b){b.dataTransfer.dropEffect=
"move";r=a;b.stopPropagation();b.preventDefault()});mxEvent.addListener(l,"dragstart",function(b){p=l;mxClient.IS_FF&&b.dataTransfer.setData("Text","\x3clayer/\x3e")});mxEvent.addListener(l,"dragend",function(b){null!=p&&(k.addCell(c,k.model.root,r),r=p=null);b.stopPropagation();b.preventDefault()});var t=document.createElement("img");t.setAttribute("draggable","false");t.setAttribute("align","top");t.setAttribute("border","0");t.style.cursor="pointer";t.style.padding="4px";t.setAttribute("title",
mxResources.get("lockUnlock"));var u=k.view.getState(c),v=null!=u?u.style:k.getCellStyle(c);"1"==mxUtils.getValue(v,"locked","0")?t.setAttribute("src",Dialog.prototype.lockedImage):t.setAttribute("src",Dialog.prototype.unlockedImage);mxEvent.addListener(t,"click",function(b){if(k.isEnabled()){var a=null;k.getModel().beginUpdate();try{a="1"==mxUtils.getValue(v,"locked","0")?null:"1",k.setCellStyles("locked",a,[c])}finally{k.getModel().endUpdate()}"1"==a&&k.removeSelectionCells(k.getModel().getDescendants(c));
mxEvent.consume(b)}});n.appendChild(t);t=document.createElement("input");t.setAttribute("type","checkbox");t.setAttribute("title",mxResources.get("hideIt",[c.value||mxResources.get("background")]));t.style.marginLeft="4px";t.style.marginRight="6px";t.style.marginTop="4px";n.appendChild(t);k.isEnabled()||t.setAttribute("disabled","disabled");k.model.isVisible(c)&&(t.setAttribute("checked","checked"),t.defaultChecked=!0);mxEvent.addListener(t,"click",function(b){k.isEnabled()&&(k.model.setVisible(c,
!k.model.isVisible(c)),mxEvent.consume(b))});mxUtils.write(n,d);l.appendChild(n);if(k.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_VML||mxClient.IS_IE&&10>document.documentMode)d=document.createElement("div"),d.style.display="block",d.style.textAlign="right",d.style.whiteSpace="nowrap",d.style.position="absolute",d.style.right="6px",d.style.top="6px",0<a&&(n=document.createElement("a"),n.setAttribute("title",mxResources.get("toBack")),n.className="geButton",n.style.cssFloat=
"none",n.innerHTML="\x26#9650;",n.style.width="14px",n.style.height="14px",n.style.fontSize="14px",n.style.margin="0px",n.style.marginTop="-1px",d.appendChild(n),mxEvent.addListener(n,"click",function(b){k.isEnabled()&&k.addCell(c,k.model.root,a-1);mxEvent.consume(b)})),0<=a&&a<s-1&&(n=document.createElement("a"),n.setAttribute("title",mxResources.get("toFront")),n.className="geButton",n.style.cssFloat="none",n.innerHTML="\x26#9660;",n.style.width="14px",n.style.height="14px",n.style.fontSize="14px",
n.style.margin="0px",n.style.marginTop="-1px",d.appendChild(n),mxEvent.addListener(n,"click",function(b){k.isEnabled()&&k.addCell(c,k.model.root,a+1);mxEvent.consume(b)})),l.appendChild(d);if(mxClient.IS_SVG&&(!mxClient.IS_IE||10<=document.documentMode))l.setAttribute("draggable","true"),l.style.cursor="move"}mxEvent.addListener(l,"dblclick",function(b){var a=mxEvent.getSource(b).nodeName;"INPUT"!=a&&"IMG"!=a&&(e(c),mxEvent.consume(b))});k.getDefaultParent()==c?(l.style.background="#e6eff8",q=c):
mxEvent.addListener(l,"click",function(b){k.isEnabled()&&(k.setDefaultParent(f),k.view.setCurrentRoot(null),g())});m.appendChild(l)}s=k.model.getChildCount(k.model.root);m.innerHTML="";for(var a=0;a<s;a++)mxUtils.bind(this,function(d){b(a,d.value||mxResources.get("background"),d,d)})(k.model.getChildAt(k.model.root,a));t.setAttribute("title",mxResources.get("removeIt",[q.value||mxResources.get("background")]));v.setAttribute("title",mxResources.get("moveSelectionTo",[q.value||mxResources.get("background")]));
y.setAttribute("title",mxResources.get("duplicateIt",[q.value||mxResources.get("background")]));z.setAttribute("title",mxResources.get("renameIt",[q.value||mxResources.get("background")]));k.isSelectionEmpty()&&(v.className="geButton mxDisabled")}var k=a.editor.graph,l=document.createElement("div");l.style.userSelect="none";l.style.background="whiteSmoke";l.style.border="1px solid whiteSmoke";l.style.height="100%";l.style.marginBottom="10px";l.style.overflow="auto";var n=!EditorUi.compactUi?"30px":
"26px",m=document.createElement("div");m.style.backgroundColor="#e5e5e5";m.style.position="absolute";m.style.overflow="auto";m.style.left="0px";m.style.right="0px";m.style.top="0px";m.style.bottom=n;l.appendChild(m);var p=null,r=null;mxEvent.addListener(l,"dragover",function(b){b.dataTransfer.dropEffect="move";r=null;b.stopPropagation();b.preventDefault()});var s=null,q=null,u=document.createElement("div");u.className="geToolbarContainer";u.style.position="absolute";u.style.bottom="0px";u.style.left=
"0px";u.style.right="0px";u.style.height=n;u.style.overflow="hidden";u.style.padding=!EditorUi.compactUi?"1px":"4px 0px 3px 0px";u.style.backgroundColor="whiteSmoke";u.style.borderWidth="1px 0px 0px 0px";u.style.borderColor="#c3c3c3";u.style.borderStyle="solid";u.style.display="block";u.style.whiteSpace="nowrap";mxClient.IS_QUIRKS&&(u.style.filter="none");n=document.createElement("a");n.className="geButton";mxClient.IS_QUIRKS&&(n.style.filter="none");var t=n.cloneNode();t.innerHTML='\x3cdiv class\x3d"geSprite geSprite-delete" style\x3d"display:inline-block;"\x3e\x3c/div\x3e';
mxEvent.addListener(t,"click",function(b){if(k.isEnabled()){k.model.beginUpdate();try{var a=k.model.root.getIndex(q);k.removeCells([q],!1);0==k.model.getChildCount(k.model.root)?(k.model.add(k.model.root,new mxCell),k.setDefaultParent(null)):0<a&&a<=k.model.getChildCount(k.model.root)?k.setDefaultParent(k.model.getChildAt(k.model.root,a-1)):k.setDefaultParent(null)}finally{k.model.endUpdate()}}mxEvent.consume(b)});k.isEnabled()||(t.className="geButton mxDisabled");u.appendChild(t);var v=n.cloneNode();
v.innerHTML='\x3cdiv class\x3d"geSprite geSprite-insert" style\x3d"display:inline-block;"\x3e\x3c/div\x3e';mxEvent.addListener(v,"click",function(b){k.isEnabled()&&!k.isSelectionEmpty()&&k.moveCells(k.getSelectionCells(),0,0,!1,q)});u.appendChild(v);var z=n.cloneNode();z.innerHTML='\x3cdiv class\x3d"geSprite geSprite-dots" style\x3d"display:inline-block;"\x3e\x3c/div\x3e';z.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(z,"click",function(b){k.isEnabled()&&e(q);mxEvent.consume(b)});
k.isEnabled()||(z.className="geButton mxDisabled");u.appendChild(z);var y=n.cloneNode();y.innerHTML='\x3cdiv class\x3d"geSprite geSprite-duplicate" style\x3d"display:inline-block;"\x3e\x3c/div\x3e';mxEvent.addListener(y,"click",function(b){if(k.isEnabled()){b=null;k.model.beginUpdate();try{b=k.cloneCells([q])[0],b.value=mxResources.get("untitledLayer"),b.setVisible(!0),b=k.addCell(b,k.model.root),k.setDefaultParent(b)}finally{k.model.endUpdate()}null!=b&&!k.isCellLocked(b)&&k.selectAll(b)}});k.isEnabled()||
(y.className="geButton mxDisabled");u.appendChild(y);n=n.cloneNode();n.innerHTML='\x3cdiv class\x3d"geSprite geSprite-plus" style\x3d"display:inline-block;"\x3e\x3c/div\x3e';n.setAttribute("title",mxResources.get("addLayer"));mxEvent.addListener(n,"click",function(b){if(k.isEnabled()){k.model.beginUpdate();try{var a=k.addCell(new mxCell(mxResources.get("untitledLayer")),k.model.root);k.setDefaultParent(a)}finally{k.model.endUpdate()}}mxEvent.consume(b)});k.isEnabled()||(n.className="geButton mxDisabled");
u.appendChild(n);l.appendChild(u);g();k.model.addListener(mxEvent.CHANGE,function(){g()});k.selectionModel.addListener(mxEvent.CHANGE,function(){k.isSelectionEmpty()?v.className="geButton mxDisabled":v.className="geButton"});this.window=new mxWindow(mxResources.get("layers"),l,c,f,d,b,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.refreshLayers=g;this.window.setLocation=function(b,a){b=Math.max(0,
b);a=Math.max(0,a);mxWindow.prototype.setLocation.apply(this,arguments)};mxEvent.addListener(window,"resize",mxUtils.bind(this,function(){var b=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,a=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,d=this.window.getX(),c=this.window.getY();d+this.window.table.clientWidth>b&&(d=Math.max(0,b-this.window.table.clientWidth));c+this.window.table.clientHeight>a&&(c=Math.max(0,a-this.window.table.clientHeight));
(this.window.getX()!=d||this.window.getY()!=c)&&this.window.setLocation(d,c)}))};(function(){Sidebar.prototype.tagIndex="vX3ZcttI0vXTTPz/XIihlrvb31xqt2YsWy3K9tw5QBISMSIBNhbL6qefczKrsJBYCosmgkGCJPJUoZasrNxq+/M69nbrmRfH0Uvyt+N/yAU+D16n1VtnZ36Y/u3k+KP/yI9TQ+aFTxt/hYs0i0NXjPvgaT0a5MuuhJDt2mH2Mc69zSbKCHMRZYuNX4JKXyJ8e/FeXRqlwPkj81YllMcoi3vArP0fcRSW6MMoXa7lYZLgKfQ2+CvobprzIF5mG48lW6AlftoE4ZNLNf6ZbXdHKMZSnxz/gvtif7fhUyy85TObOlxF8qt8uEOdDIUyI84L2b6VXo/idB09RWwex7HzyTTryfFcmrVcRbSV6QaHphrV3fONH658EuzNpuQ5CENChHZaJptg6wr2ICP3G+pQg7jScd4M3Yz7LVhxgjx4AafXuNo+xEGl4dJ17BPcseUOH/Hk+EMUB39FYSqjYF3+Mgjuqx+nwVLofxSXLVB/ZbE/O10u/SQB+TkKjyOSJP4yi4OUz/Xs8/3ghyasLI22XhrISPTwBR9PPmb18T825JyhTudlxPfHjZesW4DmqD+7Xe82MO2Pwnc2yAaPzxqAobBXwZKCRzSHqZgTxrmHObVXb1vjlZd6Cy/h36tFN9StFz/76W7jLUmxlW/CSoiZrCOuAN0o84t/8fboMX3x5IeV/8PfRLutLirPATGTZey/rOIA/e/6oPNsAapgZxpniVWBzHvnh8vgcPw0gHzzF0mQ8vEWWFfYXZtowa+t1Gdgplj/UAc//hFI69ji8SmMNkmj3YsH1scZF2zLkPtgQXqWLdm0HMoy7+fgbYK60D+6J8NZ8NeDt3kuqkRBw9api/ick07GmTwJFgd0TSCTcOXLirgKdhtMELZP5sVemIKDcIgt/VBG086Pt9KPh9hSh0pLOU+LPVoz1x+DpyzWKXFyfAUGKax2mcl4Ijzv6AmNqzv0qffEK4O5iH66tJ322GE9ugm3uyyV4b6NwiCNeLUKEky3Q758QIsekNlz4W84Z8hNP/mQo2KOPdvvdtqXWUEz6EUDc2i8P452Z2ijmlErLbczDdoBc4lHiXdxIAUvsmCz0oousiQIyeA76Pu3vFCodNSD6jpIP2QL+7RoZI9U0TKN9OrJjP8m+g8XNyEES0jhzXy4ntD3NumaY2KNOSNDfO0Lj8F3/ONATF6uY0zb1gIZQberAq+Y3lymuY/wl5EZb7deiO7lqHXlMx+9HbiizNF87HfR3GII6CjaQhjCh28/Q1lF9sbXPnW00OGxW0chP9MoE5bsQlXhpUnOv1qg9nGyTRqQOXgYJbJDyNI1WWu+opfkE7Nu7LyVuWrBfZ3/8ZGTvxhGyZ/CrZvH1R4EpPJCsoBAh5HNIa1bq+5e2SN/iHbBUuSWqvxSC7gH9RmDCzgYl2jv1yT1t7i42WqfR2z6tReTVYM3yqBf7Q21Pby76MWP52sfq/kQtnx/cSfDfIsnlDr1h5hzv5OhKYql30oFHXSUZoYVidEp5cW6zXO5X5e9s4zL6h+Zn8kw/5MXAwDu/bply4lUBg8vdLtZFutYI3AMGVtJVdxrL2J/ejgtaHtUqIr8oKKiwahndY1A89eQdd+fl4n+HPvL16V0dSvQvb/Dtls59z5SaYw86qhpgkrB8kVmffBkHrmLYXMwL52OKLtSRhvFPNjudBvkuDo8EJwPsrVM24lZfwmxVwZPfQxkp2xkkc+L//hLgmWP3Mt5m8DvHDVfwOPJYLKtx3t3fqQPoF+9H2j6clvtUX/9cGF5VQ2Tqr9fBwk/DG9Tanc2/jVAp4qq6hbbPshL3EKT83aIlJ0wYEK+B/0OAR/zqzpUKa4TtxBOw/yqq4W+nV6cX11L63hPYZRg3SSb6M8d7Sbv5PjaD/1Y2Ind5zVV5xCCMzGSouv3iG1EZGTOVKiOyFu2NJ2iOl/dKaXIVtInIcVAC5azX7kDigLZU5BVWAVbfXXLlL8fUiZB086pTPh/h4S+kY+7SM+8EP2oO5wmNWv5fuyXtCWjrZ+i/xv1SxWiOJLdx26DZQrzv35KlykuDpgxFDgiMnqUoNtIr9q3arU0kO1F2sq3ARuI5oLxfCgVlwlvI1lCQ8fW/kSN3fx1uxAd22MUL4IVWK4D5edCW4x1B3pImgtEaXkguNfSz7doRjIZEcewsxceudvVbpArhGYIY2/M5pdR1kWSEX0lPA3v0hFdNA+BSFt2PyafVJN10X3zpF5m9C7saG6l+bdRKolYHS599kXIta2uQwraKEqTFJez7krW0902bru2+dasHSHrva4ahN2WN5QUAbs4Ep0vV6KVtEAT3eyUwsCHiKzetZlJBpFUCwMThQhfiEttok+J/mOkPWStQk3Wvhoqo28tsbW8xqK/X8vDNGJgO65LranwmuJ0Z33zPYehMgwLgphuz1s5lwDk0ryTXFmiFHGrqG7f0bH0FuipVPScesnR+WcWqGK5sWxLNzs/o7Ut7y2ob06OF7HvaRfoirHTJdgJ5+T45y/H06CdNNWKltJ+OG216on2rrFWYlHqh4R6/TYV3K9NFTMiTB+glnr1QLs91/b/DW+/vzvlI99xTAdhYGXpHk/ugv+rC379EzTC//5Oyjh+s/qXC5j2ASLqOv9Ss/NLQDOMfYT8Hyyn+k+fetfhas3H43L3KrxEuvXXYzRLfSs4MLcqIB/+ZCq0dydaxwnw7mIsN0ujRAT4YMB7PwlWuvydZ3FsbSNmZTphB8XL9uXQEUs62xlrnsViUqo86C+EaFoR3GHkqZpYuDuMzIpmlusOJC3TyCNrcR5oNtTdwa/H2y0Hlq5Wi1p9aSfGBBDkSuNhfpvgabixPvltPM77nhh+wOUUw74wy2H75ONPo3rdeRQOD929lPxxE0UxdEP8HxqiZnvC3u1wMiNXNc5hqKgYcR/hYhSYBcERYY7dsyA00zaQR9HzUtVufUnP114g61NfOii3hcfBJ0KtS25UqheFTwVN8r3a6Pz+gUL314oOr6TXq6lHDcqFD6GdytZYNyh2d9SrKlUQNcgOA4qxY7OWyEQ2AnA1WcWqb2uAqsG53PjYbkg7+AmURObapQrQ38guamS7XvGKTmrelpOwXglRT1pnXN1xx7j1zDtmcaRuQLYy1HwmaeFeVAP7+RF2PvErMkN82TnUa1DuoPoRnyr4jnDpDEKoBurVt3XUeFNFV0x1OP6Aic+JEPZubYle8+seeio+Ml0xoW3aoPK9aTmYe9P6j3EAk7oZd33J58oOloY79OogMb5IO8lu3J1EW8mQDSjS+GGMoH83kv7XkfTcLg6ij6Dc5LAG68A4FbUL1R0RvCtoG8QMiaJD3859mG/w2hLZPILMxWEDrzM/XtpvLjWh3aBgA5sBjKRkiuDsBI8QzTSvlWWouwnUM4VnGYw6sVdrPMohZqchFFLWy4ADDXUyXANN3m0ObkDikBuMdB5t0GN86jWE3Sco7g99lOop9w3SUOcaw2o3aaOdt41KHFCOSrRb/uBkOStA7kQFSEWdaH07tan79POi1429k8t8o/7/gJyGa9P7cOoIdtJ+4mPv1HKWnn0+jD6CQ2RR9aZOa6DOtpDDxY8kC3WnRFcGDvsGg9I+wgOWzORR1cBGlYxFot42obQb3wu/b7F6qBnph7eBS8fJMfiJX5lv7ZRwkwuDRD33r6NoRZU4/KK5KUYTbIdWaHYt1iTxQMf2cZXZ7aPxmtE6y6wSE6Yj6ucsxa698EIUtXBR0STjWto2XitocEiHO3BJK21MGC60p4EwVVblPZtIhaXYmjb1v3qODNkojgKOii02aRJg08y+zc3qC/rTmNlPbWueidJ81WXm6QahLBquIA3LhJ0YEP7Xa+N9XT+E+kKPhZtjlEh0yBTtWAs2RXt2Ar9RQwyCvaO7pEjDpdFtHHxad0UW4I8MVlas0Fh2NVBALxbqaiBf9doVRNeCgUAwmOl94hRaItrDa8UAo9AtL/x+KEWSx15hVU7U2d51ULTiYDyYPurRWQXineypB1bHEg+qA+Rqowmw+oCWTWJOhJELD7CNxCLiWuQk/dpFSQ9NVBnjQ3h8n5pWSCkhSEt1N9hLIhNi6yFuihI7/IRyD2PxNZE40Vq6GZaZ7/ZWDWOYw9YqOz7raZfYH1rKb8ZhxM4V3uEq49ETbRTwpXEbMB99SOeXc/ElMm6E1gGhcMR2hPlUgdkLqRqCdnKsTwWvtj2wSQv58PBAV+Q3LcM6bk+G+kelsa038RAYuEPk/iUTAYqX8yRw367KMFSjma3uECRal5YQXtV1bipM4ww4GNLs/r+D2X03TpIUby/PdSPl0R2zzSHaDQoSxu1NEyBUDcanNTDxAH3Bha9BQyJM67AMG6A3rOYXtIaKcITIntQo6g4LUT/tYutP3WdZq9ejxEsDjhJpbDssS0w3w56m9RlGo3I9q6nuXlP0gb+9r0Bi+4VtelajLHWG43DBllEmzcTAHy6uyIC68NfeSv3HYEKATnABPInjU2k50egY56K/3p1z+298sOk9F0C92OCS74xYUgBAMQA8jSOfvpgbqu7p1vW2xdzDQildMj3017tPGrIaGiP52xUysoXaAxIbb59dvIbeNgIjBJ1cDqHFGpCa0T4VDtlNDgRzdY7eF/FGZ9yYShGiUh9soQ/VcN04uYmmb13MqmETA5TYsPmlPwrFUomC7QM2e4qjbCdxCbzo8QT3FxQrYxTGaSSDu1aCaUcwK3ZpoRuPmIMxTEvcdBGthbh47pomRYcaO1wt1DI0FvaWbxpbNmlj5HGpkzfzZ8Q1irFtSmiNUBPmlcvIvWnpsYLdYGVr1gWCERK90gIjHB0aZgi3/Krb8KsozlOR5JH8pd8mgZYBpfEAb1fEg48Gqa5AE5ViRfoWQX4YJHOwmNjlSaBvTm/J8SVCUcK8Pc1aI/7t5qbhyKjtanUkjfl2RcwfyHyH44dReGRm5vdkh50u9AszDJNMVkUMCLGGdbRwsnoWhetKcqvYXDKiQc5zySDHTyUHwyHCDGGIEjqYarhAV6Fq6pNmQfARU258R9iJJNwwox25qyQjgx3e5vsUqOQsL+EmklUFCl4VYvb4wqTlXa7EdeUjM1q8ZTlzsUSqWfStHuzyjKO2EE+s3yOJWvebnaiof+jtkP5IAk7epICv0QYW+jeAn9NZJl+nClO2gz6oC5fh/CZZ0RsXgNRlgeQ00SBv4QttJUY2FnxouaPLWQbJMprZ5DYEKiW6afHmrZLNzuAKIGuUccoTZ4x2PrYPYQOg2Zh5DXqj3F58yZ1JXuhUITAZfJ9q0Rpx5lsm3ZJEEDbEDz41sg3tqox1Tkqk3+ChEuzgHuhtktnNGVcthC2Gj/Av0oxTuSNTalwH6bClXk7i2jS0ELhIcBGeI1ijxmFq1AM8mJpOBNroHjoQD4kCcjewEqT6iBWtW/UwLQp0LyeAXdWm3Cn+GDVCRC9WqnRTdQdiUypDa6tXnmZ0mK7iVmG1nBY4d5SdCBA5EI1/2FSAOxsONBUg4r3VSlJ0+ERzY57hWwlrItg8QUqlBdROPhTSholMVskv+5NrDNhX7DrE5Qx8PKZKZaK+18QcZ0xIOuWQahxMDatNHbakMoXrrqIjzB1R6Mnsl+PrS/p2nEeXGvzO2HSXqtbDvfvlPQOd/j8jMFCvv5dME3k6VXUfLhDGFPdvLU6iG966sCI3Yh6geWvba3TDXQVIU6oySxH4buD5gC/z279PUc4B+BSYNrna9G1e5PnJ27xUCBrm6/z83fHxMdumV4ErtDdz54n+3Fz3IUNmBcTxlCixi3Ka5GtkG5NHfFLDCqcgfOASn9FTmi0PtwwCOufvo1HGUVvBexzKvunJ/NFghDrMtLRXwBbvs3/5r+zsarbmVor7uzle1AWLbcGJpjaxoxNlbtND6ltkN9FR5fa4NYgwomzNOkIRF4ND8xaK02TZU7KzbgdIH5B/JZebzWd/lDwVZp5tG54HRf2QhsZlNtXh4heTx6Vd/deEgGin3s+XJxexft1dBLBTcaXn4LJm4i6SUkrP0mU3FRM42vHoWJCQMJHwFltv1dmxh/JkkAxxyf/pgcgMa3k1WsJNmmjLdSB570eSTR+8InPCLX/IPSXbMWQF0qlt8zB00bxggUA1SfMC9XRr2AFuXGoOsZm3YIKjJaJzTin0rgLkABYuAL34RtLgYLFjRvuaFDotYP42Y/40DHgqWDBgf3Zkyq1DQT9osQjUWe26YpTqEG6zn0e2LtWatNesC/QArh+CyRdrkoqdIk7WBGpCM8ckkNMgqn/uYMQHZjRhrZApK8fGXo2xPBgTjHoxBsyGQhzgWcU3hKem+E3gGRJlLYSa/89GRDk1MgIcoHoyMmH+pT81DpKxtNpVkuVvDAg7ZDQIm13vijavqvqvwewByPDWrD3dZjcIY1xH10qiEbn+0pGxhMX9fVEUlzNJGKr8c4sYepGmIFxqNr+3K/NO0k3nZe4iZA11LXMVQELRbYp6xjhRmTY92voI9uNKvZmdHOnhKGYnZVO8DIX7CHsarK5Gd1ZcDcW7y6DyLe3zPnHlC2nV38g5Q5KBoSWwsSf65yo6GFJLjG47tqao1p0p+NDkda/BH1r7wF/++sv72en5EQQLQcyliFy06Al00QhUiC3ueExdPBmYpLrovdiWqKHKC3SPb5eqoWhILGuFJQiuXScU1NObJJ2D6C+48pYbtkamdAerGT4j8Q5GUYHXIOp2QAaPCG3Oo8PHDYXLcBm/IpklkxctezBhQ/4hGNPzH6Oh1N/RDcFStCriG6nqAzdqkcVUFLLXvWlnN5bSCNKa5uXAzaAPDqWYKXAodwzG0ch5sF/RQfLRAj1qbjQWJb3+WDbljfZWYwKcbnoyPRhufMN7t3B/yi8d5191zMm3prHXQQ69MpwS0Bgw3NM6Sf+Vj8Znzpxz4ARJ7Rq0SYiOB9Dsil4AptP8cRjSWb6ktxsOIruhRYKkKu6zsxaI4vjw2txs4BgEg505m+Qs21AfEthf83Pf7OdCb+hVhuSe0qa3WHkBdR4rzojsiKkQzXGm+w2gaIftMaQdPvmyRTWpuDqLGANvBukERURIFZIm7Du9lOMbWlJz1NDOLtSUQ70+DVCf51eXtHp8qm7DKPeG+zm4B0IzmK202xoEnYPdUEaZorJVxEnrSBuCpNXHANZDMSaqqkYMF8Bja/zpyJKVuovDq3FDPgiRw39aRDLsaRHJuadFpHQzLeLvYxDvmvq6UREyCJF9PS0i+3paRPb1tIjs62kR2dcDEdkFQ9eHk8l5QgPiCJ7QgDiCJzQgjuAJDYgjeEID4giecDI5T2hAHMETGhBH8IQGxBE8oQFxBE9oQBzCEyI4Bn83+kxoMpPZe7HfPpnzmRGgYbLZJoi1aT+pvT9q7suPYxeLElaIEoLStP7oHqfS/tHwDDhaaXjD1INWH8EUMP4JPl5SyVrehfk4YtkeA3hoZOgBWt6ITQFKqCOovMX1RVJwnzM5AzJiScgEwmGNqsR4flHFLtraPSWfU2mf8cMRctzCqCMnq+Br8W1YvwqkWDcRjCQaNN5S+WEYMNxk0sg2K5xU5Fz5egNRPd537A4lIZTsQavm2B62190GWkbkm/RjntzKAJIshW+qtVF3HPnqBCTW6EFAE9RlcC0YY4HEOXAvUbO2qlIrP4zBml0/fC6mQ/dEMPo3ZBDmbdHjoxzN8Ios/FIR52Jvrs/tOm1T90tZBl/8guCnLL+V8Ps/nylItBdvWtAncbu7uT4rnivBAVuV0hYBjp2Q5Hu1U3dYWfpo/5uyKLP8r8oSPeTblXX3iZqI/01/Vcp64/6qlPXG/VUp6437iyxKO6rHet2/AEm8+UYF3FgvPAlBq+M2zYjIVyk3i6enuXZl/HqI/vckzzusV8PIYarPcxjLucXMgWSYqTmMaAComG0NqEnYL+byKVEljf/kqJLcfwLUr5Js+0e0Sbtyd7dgiH13NAYbqidIigCjLeQ+2Nw0Za44GrUdaeEAodKp8eC2wmmtQ3ctXs5u5JD23rJyib6itvhnrTrpP65Kqg7YPZ3SINjyxrtU277b7g7IIRqRFxwrSxu1+DGb61baIErez8hExSStTNnlbpyuyum0RBqHDnNomUYSq0hORslkkDJ7LtktjFya/LIb40xz1sRIWdLkVV9Lw+OAJDoDQ592akK8oFhHAO6OkfCBe7BFdHi2dS2RTiQcIiR90O8pcRCVFBW1HdRbQ8aqFZkJmKu31X2xTBsH/qM5/CrF2SF1j9lAeu5t/BA5jzXLpfNwwHlCkosFRtEsSZoDFA4Jq+PHtrADIQIy4eBHpceqkiimg0qEFN0XiqrEnESMzXga1JxRUAsi6c7+g+NdXIs1p020J+arJQRDkF7AkNPzwN3IikNBllHNAdsdZLIgFRDwhWrzJKkAvIjGz6a6EUHQdx22l/Y0asQYXm536atEX+Z5g8Gf3KZ4GcekHSZSFtYiNIG8FqnxTTaLwqTfdrZMCUPOga+4cLiWfhVtlL9E8RM8Uv9y7nklNK5rHWduVMhiw1VDk28dfe5Eee1l0jucwO3yQploo6e5PeGzMYLzgOrgiHw3KmQ37UhFckAjSlDjZnLo5CK9XxkZnXChHqZdyh3qVg+bvCk/5agz+KdK/Sy7sZ23Mmy29rzIetqIaUnp3mHORGpIF99Abw6aL2Zv6ah5m/y9CyKnhTylrMwe8uRMLInN9nEcqMt5Sn5EKpmzeD3wDkwtekJ+HJvEPS4HmdXiFUcH5sYLt4pEGjBhxuAqCv+ffqJjkN3dJBfO5CS9dhxMZ6SiCvwXGRFbdXRsWgOh+5bwwy5QMHZzjlDOsODg2ecBoXiWikSZtOwWuYO44SfEBk/WDfAZsg5c9M0s4ZBXY4UvticcaWsnbG3L1yFKGJMGWEAUcn0QnJIhzs+6nSsa0EHMqIeD/WUphjr1QHeqBKIW7LKLQ4oknQ+ka8j1cpHKWXSdEPn9BUSO6gihtw2vxLzcaPXtut+emJFcUMCkmlFxBBcHG+xL+jxObTrHVkEO35L8P3L8SeY8vOdYhM1ZbTLOoSrQXHAUkRzIsWPI46Jbw8cPSXFSGhu83imzkSja2RSZiJ/pkMwbEA42LKvYazji85AceXwoJ7OBHWWvOhhzup1w7pbDSg7psFnam7RudDEEPSRJ0rXhVbPb4vBmV/ovnOH9huUXTXbDMyalo6l+ZaCSC22ekbCb/1ennwOoMUgjUE3qV5MZuo74G4KqRHujc8tszx3ogiuuvaWQ7w4ySftwbs8LLI4QdCLLD5AvJdVUtY6LSCcYvTd0SqXcwp7Q50Jy+XOnwool6uwJIfvoP7Ib+pT0EaPW8Efbrok5PMoN4N42BRI1dnnkl6iMTNSnqnreF/eFH6I4wHlNiHbi1rDhvDAHHBwuiAjUgSii7RO51G88xv2AqB9fFxphL23tpOkT9JzCmbdi6FeAJI4tR4PW0KEVRHWkody5GsmBDuk4En8DJ/qf6RHkqB9V5Z47wBBaHsupqUjkdDJIXghRMUfc2s9ulEKtZC5dqKjRpYeJVbmYSxdS3JdprZFsNxXVC/i3yTIspy2Fmay80c5IGqTohjVsLpF4rVMzYsTpyW0MVAE+KAfqS3+tQpxKdFiihHOZpaprcaoFNJtRKwoUG8L2ymBAiDnEgyag8/T4nRyGuAvMOa1FgFe+UMQwz8gS5YdP8CtDqrnKBC4jib1gGqiZx5hOY9mx17KtCLCatRy8XqGdnVpK8LzzOEqSozNkfZYUYPxGRlF3Hq0DGg/b94/O4Pwjx+/BB2gj6rqWPLbK3wRyt/PACjEXnOdRQSxJn4JH6K9k4ubfugmhh+GhiCZtRf6tD6HahnG+rGYsKBB6WYn3Qc/tQ0hkTgn35PiIaWihKaBLI/gE9pfqncmLPhX/fvQ9SMS62OO5Y6QCYJ65J4xUk6dYfqucCyZ/2k/NeaR0bpizc/4ikgib9toWxfTBtog9wMYKo1VUiyoX8vnatoUhjc7FYlbKlq3VZ6FEhRNZ1PInWQLN1Dg950ToPSDaIC8E0t0IX8aTdNN22o6sWwVrSKUefd8quuWqs0s1lNsxqLtEAO3tnxmYO3RcSocKnwWRBM2q3LcI2nN6KFi+0zKX3SQ43Q9+MaFhM3rVSQXlePrd/0kT9JM+bv5FVef66LxwR0ECqp/qCwxDt4nWfMgWGOxY5ImEhCylUlL81bei1O5XcbjSRHIypxTFlp4MGMehh/JA5inIMK68cNIy9ttqMPgXNvwaKo1ShQc3+6DIdRJuMQRkPMmF4+0I/z+C9UNOVIIqFro/5llX+iBEqvnuCh8AYQekSX96AqlAVQIaSy/KvWUviEw9wPnpdjNWWyxiBYl+aaFKfJGILM8wXzoLSzC+8HQ4MEaWSj0Qxq6a7aQ/eDy07H30ypUAWo2Mh6BpAk5ohnn54FlTWYqc/yoEwA6ARcYNU+hlOn+1lRmHNbouWC2QvNMmyx0FVGonZq+dCpPrGCEj7CRVpJ8O9D6KHt8AEh/cW05caeg9/NWUWDoSJ+t/BCmtZRGYrFUriFrbNxkQV8ioLsN2Qkhoy03mjMmaYw9zRPchOeKzyUdqU0SfQ1O/QdpuQprdbp4a7d3xyTE+oBHi0s7Qs7X/AmWout8sn9U3Y6KyfhlbVl8ius3qgTtPcrqZnAVbOunvdbsQjZn5v54eB/UzCE/UGHIlzm1IyStWYr2iAiL/sx0GlmdRl6lIHmFfjOCjdi2+0j9GkQTA1BTdSQf3OknqW/Au9dFR09FCvjvhXNE9h1Z3qcsWDjGONYeyHYcaZHBXtUFa5nlqMToBqKjqAaCeO9DXikeOdePZwoMP58+olw5MBwcp5xpR0J4SrPlRjs2ATWbN3EnBX205khuQbiS7slKKZFz63g9pHi01AZpzXvIGoIeLCw4vWgn2cj/n3uIr35OwMtyznzZ7DxfzLQPmJTTabHO4QuipeQlmb+eYM8T/zNA5esaGJX+SvsdohM47ehLb3R5gPdStp3k8P+oDYAJ4q3Z3yj1ykW/HVwNHu2TikTAeSl11EmywYVXsMGNVKD/5uzTT1OdjK3G3ycTzfzTQnB+y7xiNFEYv0OU+8054aXdpXqq0cqyPBDKp2asXncQnDaCTY/UG0DGqqx/dF7BRsVONbuWvNAiNAnJKp39IMLuCWUXoXnB0bg+6W6XqSWPHgymzF50kSulF900eyayT9jl70soS6UqbeAhiYWetvb/qRKomCkoz/cSYgg4L1VadPSnXPqntjZ+Q7jpXhmQJ97ulj6xwCzj+QNPAym9qTrGqId1FML3KwMRF6dOBimklcfyQirVbOX2UdsZGu2sNwr+8V0/CTyJwJbF0Q/bXpShqSpxQAbiXc28WEK+VPj8HRy/4R3fzWagXU/p+bZyov6rfEQN4VD744a8D9cRwoZ/TLEpxVEpM8K1LPb1HDudWVe0xi0aUqPCTWyuLQ7SgEBWTz8thQEEDNIxyouqj46rNvfEDYreLqGAxnrEiozVj001J/r0HBtYwIVG3UPutfN2a+rAKZkesDTXrM2pLxBpU5kScwqWh8TSaOuGxBWXvMDg9IxLv+QGS1WMXcas9lK4R090+f0B6P+dhQTQBcQ4EmqhUpS8cQwD3ybKrZh3AQ/70pjtaTp9pJZbuGEosCY6GEksuo6HEkrbIlZhRjhyHpQkNr3694Cm2/QBmsH6LvGKbXq77VqOMIn0wGkU6YzSK9MpoFOme0SiSSWo0yvvhKDgT2HYydP4yUPI7BkFJT08DJd09DZT0+VgoeJnb5N3YzDl4fbegyMk3o1EkAfhoFDbOGBQe1whjpXhKPuJamli/9oG5hrOgqN8kC/geN2vosE7QuVpjEScsIhS+LfSyJ44xOcHVXn2B+Cn6eUeJbh8OFmi7fxk9Li3YJFPPgk0y+QDGWPSpnpJYEz0kh6dWbMTgsjCs0wQwbPIJYDidJ4DhAjcBDFe4CWC4xPWEMQJQgxGgiWSmzrXI78wzgHGsTLo+8jXmVr6Y615I33KkF+jo7Rdz3QdpzjohJK+ok3wZUKc566RIph7ypUedkK/hSTcDm8xeOZPGC3HFYQiX6FQQn9CRT64KwNQNcNKU5QJZbOAxKf6aBo8pHfJEEriE9sOFQRNZQ0kQ31d48GiOODcjgUGBgx/Cf/Qo3EDiNhwJJTJYvYBtuJYjpeiL7pDHQve7fTROBuHOhHqql5+EONacaFZPy4YXjZG2ep8W/7LDnjRQrxh7sff6Lw\x3d\x3d";
Sidebar.prototype.searchFileUrl="search.xml";Sidebar.prototype.gearImage=GRAPH_IMAGE_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.defaultEntries="general;images;uml;er;bpmn;flowchart;basic;arrows2";Sidebar.prototype.signs="Animals Food Healthcare Nature People Safety Science Sports Tech Transportation Travel".split(" ");Sidebar.prototype.rack="General APC Cisco Dell F5 HP IBM Oracle".split(" ");Sidebar.prototype.pids="Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";");
Sidebar.prototype.cisco="Buildings;Computers and Peripherals;Controllers and Modules;Directors;Hubs and Gateways;Misc;Modems and Phones;People;Routers;Security;Servers;Storage;Switches;Wireless".split(";");Sidebar.prototype.sysml="Model Elements;Blocks;Ports and Flows;Constraint Blocks;Activities;Interactions;State Machines;Use Cases;Allocations;Requirements;Profiles;Stereotypes".split(";");Sidebar.prototype.eip="Message Construction;Message Routing;Message Transformation;Messaging Channels;Messaging Endpoints;Messaging Systems;System Management".split(";");
Sidebar.prototype.gmdl="Bottom Navigation;Bottom Sheets;Buttons;Cards;Chips;Dialogs;Dividers;Grid Lists;Icons;Lists;Menus;Misc;Pickers;Selection Controls;Sliders;Steppers;Tabs;Text Fields".split(";");Sidebar.prototype.aws2="Analytics;Application Services;Compute;Database;Developer Tools;Enterprise Applications;Game Development;General;Internet of Things;Management Tools;Mobile Services;Networking;On-Demand Workforce;SDKs;Security and Identity;Storage and Content Delivery;Groups".split(";");Sidebar.prototype.office=
"Clouds Communications Concepts Databases Devices Security Servers Services Sites Users".split(" ");Sidebar.prototype.archimate3="Application;Business;Composite;Implementation and Migration;Motivation;Physical;Relationships;Strategy;Technology".split(";");Sidebar.prototype.configuration=[{id:"general",libs:["general","misc","advanced"]},{id:"uml"},{id:"search"},{id:"er"},{id:"ios",prefix:"ios",libs:["","7icons","7ui"]},{id:"android",prefix:"android",libs:[""]},{id:"aws3d"},{id:"flowchart"},{id:"basic"},
{id:"arrows"},{id:"arrows2"},{id:"lean_mapping"},{id:"citrix"},{id:"azure"},{id:"network"},{id:"mscae",prefix:"mscae",libs:"Cloud;Enterprise;General;Intune;Other;System Center;Deprecated".split(";")},{id:"bpmn",prefix:"bpmn",libs:["","Gateways","Events"]},{id:"clipart",prefix:null,libs:"computer finance clipart networking people telco".split(" ")},{id:"eip",prefix:"eip",libs:Sidebar.prototype.eip},{id:"mockups",prefix:"mockup",libs:"Buttons Containers Forms Graphics Markup Misc Navigation Text".split(" ")},
{id:"pid2",prefix:"pid2",libs:"Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";")},{id:"signs",prefix:"signs",libs:Sidebar.prototype.signs},{id:"rack",prefix:"rack",libs:Sidebar.prototype.rack},{id:"electrical",prefix:"ee",libs:"LogicGates Resistors Capacitors Inductors SwitchesRelays Diodes Sources Transistors Misc Audio PlcLadder Abstract Optical VacuumTubes Waveforms Instruments".split(" ")},
{id:"aws2",prefix:"aws2",libs:Sidebar.prototype.aws2},{id:"pid",prefix:"pid",libs:Sidebar.prototype.pids},{id:"cisco",prefix:"cisco",libs:Sidebar.prototype.cisco},{id:"office",prefix:"office",libs:Sidebar.prototype.office},{id:"cabinets",libs:["cabinets"]},{id:"floorplan",libs:["floorplan"]},{id:"bootstrap",libs:["bootstrap"]},{id:"gmdl",prefix:"gmdl",libs:Sidebar.prototype.gmdl},{id:"archimate3",prefix:"archimate3",libs:Sidebar.prototype.archimate3},{id:"archimate",libs:["archimate"]},{id:"sysml",
prefix:"sysml",libs:Sidebar.prototype.sysml}];Sidebar.prototype.togglePalettes=function(b,a){this.showPalettes(b,a)};Sidebar.prototype.togglePalette=function(b){this.showPalette(b)};Sidebar.prototype.showPalettes=function(b,a,d){for(var c=0;c<a.length;c++)this.showPalette(b+a[c],d)};Sidebar.prototype.showPalette=function(b,a){var d=this.palettes[b];if(null!=d)for(var c=null!=a?a?"block":"none":"none"==d[0].style.display?"block":"none",f=0;f<d.length;f++)d[f].style.display=c};Sidebar.prototype.isEntryVisible=
function(b){for(var a=0;a<this.configuration.length;a++)if(this.configuration[a].id==b){var d=this.palettes[null!=this.configuration[a].libs?(this.configuration[a].prefix||"")+this.configuration[a].libs[0]:b];if(null!=d)return"none"!=d[0].style.display}return!1};Sidebar.prototype.showEntries=function(b,a,d){this.libs=null!=b&&(d||0<b.length)?b:null!=urlParams.libs&&0<urlParams.libs.length?decodeURIComponent(urlParams.libs):mxSettings.getLibraries();d=this.libs.split(";");for(var c=0;c<this.configuration.length;c++)"search"!=
this.configuration[c].id&&this.showPalettes(this.configuration[c].prefix||"",this.configuration[c].libs||[this.configuration[c].id],0<=mxUtils.indexOf(d,this.configuration[c].id));a&&(mxSettings.setLibraries(b),mxSettings.save())};Sidebar.prototype.init=function(){this.entries=[{title:mxResources.get("standard"),entries:[{title:mxResources.get("general"),id:"general",image:IMAGE_PATH+"/sidebar-general.png"},{title:mxResources.get("arrows"),id:"arrows2",image:IMAGE_PATH+"/sidebar-arrows2.png"},{title:mxResources.get("basic"),
id:"basic",image:IMAGE_PATH+"/sidebar-basic.png"},{title:mxResources.get("clipart"),id:"clipart",image:IMAGE_PATH+"/sidebar-clipart.jpg"},{title:mxResources.get("flowchart"),id:"flowchart",image:IMAGE_PATH+"/sidebar-flowchart.png"}]},{title:mxResources.get("software"),entries:[{title:mxResources.get("android"),id:"android",image:IMAGE_PATH+"/sidebar-android.png"},{title:mxResources.get("bootstrap"),id:"bootstrap",image:IMAGE_PATH+"/sidebar-bootstrap.png"},{title:mxResources.get("entityRelation"),
id:"er",image:IMAGE_PATH+"/sidebar-er.png"},{title:mxResources.get("ios"),id:"ios",image:IMAGE_PATH+"/sidebar-ios.png"},{title:mxResources.get("mockups"),id:"mockups",image:IMAGE_PATH+"/sidebar-mockups.png"},{title:mxResources.get("uml"),id:"uml",image:IMAGE_PATH+"/sidebar-uml.png"}]},{title:mxResources.get("networking"),entries:[{title:mxResources.get("aws"),id:"aws2",image:IMAGE_PATH+"/sidebar-aws.png"},{title:mxResources.get("aws3d"),id:"aws3d",image:IMAGE_PATH+"/sidebar-aws3d.png"},{title:mxResources.get("azure"),
id:"azure",image:IMAGE_PATH+"/sidebar-azure.png"},{title:"Cloud \x26 Enterprise",id:"mscae",image:IMAGE_PATH+"/sidebar-mscae.png"},{title:mxResources.get("cisco"),id:"cisco",image:IMAGE_PATH+"/sidebar-cisco.png"},{title:"Citrix",id:"citrix",image:IMAGE_PATH+"/sidebar-citrix.png"},{title:"Network",id:"network",image:IMAGE_PATH+"/sidebar-network.png"},{title:"Office",id:"office",image:IMAGE_PATH+"/sidebar-office.png"},{title:mxResources.get("rack"),id:"rack",image:IMAGE_PATH+"/sidebar-rack.png"}]},
{title:mxResources.get("business"),entries:[{title:"ArchiMate 3.0",id:"archimate3",image:IMAGE_PATH+"/sidebar-archimate3.png"},{title:mxResources.get("archiMate21"),id:"archimate",image:IMAGE_PATH+"/sidebar-archimate.png"},{title:mxResources.get("bpmn"),id:"bpmn",image:IMAGE_PATH+"/sidebar-bpmn.png"},{title:mxResources.get("leanMapping"),id:"lean_mapping",image:IMAGE_PATH+"/sidebar-leanmapping.png"},{title:mxResources.get("sysml"),id:"sysml",image:IMAGE_PATH+"/sidebar-sysml.png"}]},{title:mxResources.get("other"),
entries:[{title:mxResources.get("cabinets"),id:"cabinets",image:IMAGE_PATH+"/sidebar-cabinets.png"},{title:mxResources.get("eip"),id:"eip",image:IMAGE_PATH+"/sidebar-eip.png"},{title:mxResources.get("electrical"),id:"electrical",image:IMAGE_PATH+"/sidebar-electrical.png"},{title:mxResources.get("floorplans"),id:"floorplan",image:IMAGE_PATH+"/sidebar-floorplans.png"},{title:mxResources.get("gmdl"),id:"gmdl",image:IMAGE_PATH+"/sidebar-gmdl.png"},{title:mxResources.get("procEng"),id:"pid",image:IMAGE_PATH+
"/sidebar-pid.png"},{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=this.editorUi.isOffline();this.shapetags={};if(null!=this.tagIndex)for(var b=this.editorUi.editor.graph.decompress(this.tagIndex).split("\n"),a=0;a<b.length;a++)if(null!=b[a]){var d=b[a].split("\t");if(1<d.length){var c=d[0].toLowerCase().replace(" ","_"),d=mxUtils.trim(d.slice(1,d.length).join(" ").toLowerCase());0<d.length&&(this.shapetags[c]=d)}}this.initPalettes();this.editorUi.isOffline()||
mxUtils.get(this.searchFileUrl,mxUtils.bind(this,function(b){b=b.getDocumentElement();if(null!=b){b=b.getElementsByTagName("shape");for(var a=0;a<b.length;a++){var d=b[a].getAttribute("style"),c=this.extractShapeStyle(d);if(null!=d&&null!=c){var e=c.lastIndexOf(".");if(0<e){var f=c.substring(0,e),c=c.substring(e+1,c.length),e=this.getTagsForStencil(f,c,b[a].getAttribute("tags"));if(null!=e){var g=d.indexOf(";"),d="shape\x3d"+f+"."+c.toLowerCase()+";"+(0>g?"":d.substring(g+1));this.createVertexTemplateEntry(d,
parseInt(b[a].getAttribute("w")),parseInt(b[a].getAttribute("h")),"",c.replace(/_/g," "),null,null,this.filterTags(e.join(" ")))}}}}}}))};"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler=function(b,a,d){var c=!1;if(!mxClient.IS_IE||8<=document.documentMode)b.style.backgroundImage="none"==a.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";b.style.backgroundRepeat="no-repeat";b.style.backgroundPosition="0% 50%";var f=document.createElement("button");f.style.marginLeft=
"4px";mxUtils.write(f,"Save");mxEvent.addListener(b,"click",mxUtils.bind(this,function(n){if("BUTTON"==mxEvent.getSource(n).nodeName){var m=b.cloneNode(!0);m.style.backgroundImage="";m.style.textDecoration="none";m.style.fontWeight="bold";m.style.fontSize="14px";m.style.color="rgb(80, 80, 80)";m.style.width="456px";m.style.backgroundColor="#ffffff";m.style.paddingLeft="6px";n=m.getElementsByTagName("button")[0];n.parentNode.removeChild(n);n=a.cloneNode(!0);n.style.backgroundColor="#ffffff";n.style.borderColor=
"transparent";n.style.width="456px";m='\x3c!DOCTYPE html\x3e\x3chtml\x3e\x3chead\x3e\x3clink rel\x3d"stylesheet" type\x3d"text/css" href\x3d"https://www.draw.io/styles/grapheditor.css"\x3e\x3c/head\x3e\x3cbody style\x3d"background:#ffffff;font-family:Helvetica,Arial;"\x3e'+m.outerHTML+n.outerHTML+"\x3c/body\x3e\x3c/html\x3e";n.style.position="absolute";window.document.body.appendChild(n);var p=n.clientHeight+18;n.parentNode.removeChild(n);(new mxXmlRequest(EXPORT_URL,"w\x3d456\x26h\x3d"+p+"\x26html\x3d"+
encodeURIComponent(this.editorUi.editor.compress(m)))).simulate(document,"_blank")}else{if("none"==a.style.display){if(c)b.appendChild(f);else if(c=!0,null!=d){null!=f.parentNode&&f.parentNode.removeChild(f);b.style.cursor="wait";var r=b.innerHTML;b.innerHTML=mxResources.get("loading")+"...";window.setTimeout(function(){d(a);b.style.cursor="";b.innerHTML=r;b.appendChild(f)},0)}else b.appendChild(f);b.style.backgroundImage="url('"+this.expandedImage+"')";a.style.display="block"}else b.style.backgroundImage=
"url('"+this.collapsedImage+"')",a.style.display="none",null!=f.parentNode&&f.parentNode.removeChild(f);mxEvent.consume(n)}}))});Sidebar.prototype.extractShapeStyle=function(b){if(null!=b&&"shape\x3d"==b.substring(0,6)){var a=b.indexOf(";");0>a&&(a=b.length);return b.substring(6,a)}return null};var a=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(b,d,c){var f=a.apply(this,arguments);null!=this.shapetags&&(b=b.toLowerCase(),d=d.toLowerCase(),null!=this.shapetags[b]&&
f.push(this.shapetags[b]),d=b+"."+d,null!=this.shapetags[d]&&f.push(this.shapetags[d]));return f};Sidebar.prototype.initPalettes=function(){var b=GRAPH_IMAGE_PATH,a=STENCIL_PATH,d=this.signs,c=this.rack,f=this.pids,n=this.cisco,m=this.sysml,p=this.eip,r=this.gmdl;"1"==urlParams.createindex&&(mxLog.textarea.value="");this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1);this.addAdvancedPalette(!1);this.addUmlPalette(!1);this.addErPalette();this.addBasicPalette();this.addFlowchartPalette();
this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(a,!1);this.addAWSPalette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette();this.addOfficePalette();this.addStencilPalette("arrows",mxResources.get("arrows"),a+"/arrows.xml",";html\x3d1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+
"\x3dtop;"+mxConstants.STYLE_STROKEWIDTH+"\x3d2;strokeColor\x3d#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",b+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "),
"Antivirus;Data Filtering;Database;Database Add;Database Minus;Database Move Stack;Database Remove;Fujitsu Tablet;Harddrive;IBMTablet;iMac;iPad;Laptop;MacBook;Mainframe;Monitor;Monitor Tower;Monitor Tower Behind;Netbook;Network;Network 2;Printer;Printer Commercial;Secure System;Server;Server Rack;Server Rack Empty;Server Rack Partial;Server Tower;Software;Stylus;Touch;USB Hub;Virtual Application;Virtual Machine;Virus;Workstation".split(";"));this.addImagePalette("finance","Clipart / Finance",b+"/lib/clip_art/finance/",
"_128x128.png","Arrow_Down Arrow_Up Coins Credit_Card Dollar Graph Pie_Chart Piggy_Bank Safe Shopping_Cart Stock_Down Stock_Up".split(" "),"Arrow_Down;Arrow Up;Coins;Credit Card;Dollar;Graph;Pie Chart;Piggy Bank;Safe;Shopping Basket;Stock Down;Stock Up".split(";"));this.addImagePalette("clipart","Clipart / Various",b+"/lib/clip_art/general/","_128x128.png","Battery_0 Battery_100 Battery_50 Battery_75 Battery_allstates Bluetooth Earth_globe Empty_Folder Full_Folder Gear Keys Lock Mouse_Pointer Plug Ships_Wheel Star Tire".split(" "),
"Battery 0%;Battery 100%;Battery 50%;Battery 75%;Battery;Bluetooth;Globe;Empty Folder;Full Folder;Gear;Keys;Lock;Mousepointer;Plug;Ships Wheel;Star;Tire".split(";"));this.addImagePalette("networking","Clipart / Networking",b+"/lib/clip_art/networking/","_128x128.png","Bridge Certificate Certificate_Off Cloud Cloud_Computer Cloud_Computer_Private Cloud_Rack Cloud_Rack_Private Cloud_Server Cloud_Server_Private Cloud_Storage Concentrator Email Firewall_02 Firewall Firewall-page1 Ip_Camera Modem power_distribution_unit Print_Server Print_Server_Wireless Repeater Router Router_Icon Switch UPS Wireless_Router Wireless_Router_N".split(" "),
"Bridge;Certificate;Certificate Off;Cloud;Cloud Computer;Cloud Computer Private;Cloud Rack;Cloud Rack Private;Cloud Server;Cloud Server Private;Cloud Storage;Concentrator;Email;Firewall 1;Firewall 2;Firewall;Camera;Modem;Power Distribution Unit;Print Server;Print Server Wireless;Repeater;Router;Router Icon;Switch;UPS;Wireless Router;Wireless Router N".split(";"),{Wireless_Router:"wireless router switch wap wifi access point wlan",Wireless_Router_N:"wireless router switch wap wifi access point wlan",
Router:"router switch",Router_Icon:"router switch"});this.addImagePalette("people","Clipart / People",b+"/lib/clip_art/people/","_128x128.png","Suit_Man Suit_Man_Black Suit_Man_Blue Suit_Man_Green Suit_Man_Green_Black Suit_Woman Suit_Woman_Black Suit_Woman_Blue Suit_Woman_Green Suit_Woman_Green_Black Construction_Worker_Man Construction_Worker_Man_Black Construction_Worker_Woman Construction_Worker_Woman_Black Doctor_Man Doctor_Man_Black Doctor_Woman Doctor_Woman_Black Farmer_Man Farmer_Man_Black Farmer_Woman Farmer_Woman_Black Nurse_Man Nurse_Man_Black Nurse_Man_Green Nurse_Man_Red Nurse_Woman Nurse_Woman_Black Nurse_Woman_Green Nurse_Woman_Red Military_Officer Military_Officer_Black Military_Officer_Woman Military_Officer_Woman_Black Pilot_Man Pilot_Man_Black Pilot_Woman Pilot_Woman_Black Scientist_Man Scientist_Man_Black Scientist_Woman Scientist_Woman_Black Security_Man Security_Man_Black Security_Woman Security_Woman_Black Soldier Soldier_Black Tech_Man Tech_Man_Black Telesales_Man Telesales_Man_Black Telesales_Woman Telesales_Woman_Black Waiter Waiter_Black Waiter_Woman Waiter_Woman_Black Worker_Black Worker_Man Worker_Woman Worker_Woman_Black".split(" "));
this.addImagePalette("telco","Clipart / Telecommunication",b+"/lib/clip_art/telecommunication/","_128x128.png","BlackBerry Cellphone HTC_smartphone iPhone Palm_Treo Signal_tower_off Signal_tower_on".split(" "),"BlackBerry;Cellphone;HTC smartphone;iPhone;Palm Treo;Signaltower off;Signaltower on".split(";"));for(b=0;b<d.length;b++)this.addStencilPalette("signs"+d[b],"Signs / "+d[b],a+"/signs/"+d[b].toLowerCase()+".xml",";html\x3d1;fillColor\x3d#000000;strokeColor\x3dnone;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;");
for(b=0;b<c.length;b++)"general"===c[b].toLowerCase()?this.addRackGeneralPalette():"f5"===c[b].toLowerCase()?this.addRackF5Palette():this.addStencilPalette("rack"+c[b],"Rack / "+c[b],a+"/rack/"+c[b].toLowerCase()+".xml",";html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;dashed\x3d0;shadow\x3d0;fillColor\x3d#ffffff;");for(b=0;b<f.length;b++)"Instruments"==f[b]?this.addPidInstrumentsPalette():"Misc"==f[b]?this.addPidMiscPalette():"Valves"==f[b]?this.addPidValvesPalette():"Compressors"==
f[b]?this.addPidCompressorsPalette():"Engines"==f[b]?this.addPidEnginesPalette():"Filters"==f[b]?this.addPidFiltersPalette():"Flow Sensors"==f[b]?this.addPidFlowSensorsPalette():"Piping"==f[b]?this.addPidPipingPalette():this.addStencilPalette("pid"+f[b],"Proc. Eng. / "+f[b],a+"/pid/"+f[b].toLowerCase().replace(" ","_")+".xml",";html\x3d1;align\x3dcenter;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;dashed\x3d0;");for(b=0;b<m.length;b++)"Model Elements"==
m[b]?this.addSysMLModelElementsPalette():"Blocks"==m[b]?this.addSysMLBlocksPalette():"Ports and Flows"==m[b]?this.addSysMLPortsAndFlowsPalette():"Constraint Blocks"==m[b]?this.addSysMLConstraintBlocksPalette():"Activities"==m[b]?this.addSysMLActivitiesPalette():"Interactions"==m[b]?this.addSysMLInteractionsPalette():"State Machines"==m[b]?this.addSysMLStateMachinesPalette():"Use Cases"==m[b]?this.addSysMLUseCasesPalette():"Allocations"==m[b]?this.addSysMLAllocationsPalette():"Requirements"==m[b]?
this.addSysMLRequirementsPalette():"Profiles"==m[b]?this.addSysMLProfilesPalette():"Stereotypes"==m[b]&&this.addSysMLStereotypesPalette();for(b=0;b<p.length;b++)"Message Construction"==p[b]?this.addEipMessageConstructionPalette():"Message Routing"==p[b]?this.addEipMessageRoutingPalette():"Message Transformation"==p[b]?this.addEipMessageTransformationPalette():"Messaging Channels"==p[b]?this.addEipMessagingChannelsPalette():"Messaging Endpoints"==p[b]?this.addEipMessagingEndpointsPalette():"Messaging Systems"==
p[b]?this.addEipMessagingSystemsPalette():"System Management"==p[b]&&this.addEipSystemManagementPalette();for(b=0;b<n.length;b++)this.addStencilPalette("cisco"+n[b],"Cisco / "+n[b],a+"/cisco/"+n[b].toLowerCase().replace(/ /g,"_")+".xml",";html\x3d1;dashed\x3d0;fillColor\x3d#036897;strokeColor\x3d#ffffff;strokeWidth\x3d2;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop",null,null,1.6);this.addFloorplanPalette();this.addBootstrapPalette();for(b=0;b<r.length;b++)"Bottom Navigation"==r[b]?this.addGMDLBottomNavigationPalette():
"Bottom Sheets"==r[b]?this.addGMDLBottomSheetsPalette():"Buttons"==r[b]?this.addGMDLButtonsPalette():"Cards"==r[b]?this.addGMDLCardsPalette():"Chips"==r[b]?this.addGMDLChipsPalette():"Dialogs"==r[b]?this.addGMDLDialogsPalette():"Dividers"==r[b]?this.addGMDLDividersPalette():"Grid Lists"==r[b]?this.addGMDLGridListsPalette():"Icons"==r[b]?this.addGMDLIconsPalette():"Lists"==r[b]?this.addGMDLListsPalette():"Menus"==r[b]?this.addGMDLMenusPalette():"Misc"==r[b]?this.addGMDLMiscPalette():"Pickers"==r[b]?
this.addGMDLPickersPalette():"Selection Controls"==r[b]?this.addGMDLSelectionControlsPalette():"Sliders"==r[b]?this.addGMDLSlidersPalette():"Steppers"==r[b]?this.addGMDLSteppersPalette():"Tabs"==r[b]?this.addGMDLTabsPalette():"Text Fields"==r[b]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.showEntries()};if("1"==urlParams.createindex){var c=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(b,a,
d,f,l,n,m,p){c.apply(this,arguments);m=null!=m?m:1;mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(b,a,d,c,e){if(null==l||0>mxUtils.indexOf(l,a))d=null!=p?p[a]:null,mxLog.debug('\x3cshape style\x3d"shape\x3d'+b+a+f+'" w\x3d"'+Math.round(c*m)+'" h\x3d"'+Math.round(e*m)+'"'+(null!=d?' tags\x3d"'+d+'"':"")+"/\x3e")}),!0)}}var f=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(b,a,d,c,l){var n=c;this.editorUi.enableLogging&&!this.editorUi.isOffline()&&0==d&&((new Image).src=
"images/log.png?search\x3d"+encodeURIComponent(b)+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION));c=mxUtils.bind(this,function(c,f,k){!this.editorUi.isOffline()&&c.length<=a/4?(k=d-Math.ceil((f-a/4)/a),mxUtils.get(ICONFINDER_PATH+"?q\x3d"+encodeURIComponent(b)+"\x26l\x3d1\x26p\x3d"+k+"\x26c\x3d"+a,mxUtils.bind(this,function(b){b=b.getXml().getElementsByTagName("icon");for(var f=0;f<b.length;f++){var k=parseInt(mxUtils.getTextContent(b[f].getElementsByTagName("size")[0])),l=mxUtils.getTextContent(b[f].getElementsByTagName("image")[0]);
null!=k&&null!=l&&mxUtils.bind(this,function(b,a){c.push(mxUtils.bind(this,function(){return this.createVertexTemplate("shape\x3dimage;html\x3d1;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;imageAspect\x3d0;aspect\x3dfixed;image\x3d"+a,b,b,"")}))})(k,l)}n(c,(d-1)*a+c.length,b.length==a)},function(){n(c,f,!1)}))):n(c,f,k||!this.editorUi.isOffline())});f.apply(this,arguments)};var d=Sidebar.prototype.itemClicked;Sidebar.prototype.itemClicked=function(b,a,c){var f=
this.editorUi.editor.graph,l=!1;if(null!=b&&1==f.getSelectionCount()&&f.getModel().isVertex(b[0])){var n=f.cloneCells(b)[0];if(f.getModel().isEdge(f.getSelectionCell())&&null==f.getModel().getTerminal(f.getSelectionCell(),!1)&&f.getModel().isVertex(n)){f.getModel().beginUpdate();try{var m=f.view.getState(f.getSelectionCell());if(null!=m){var p=f.view.translate,r=f.view.scale,s=m.absolutePoints[m.absolutePoints.length-1];n.geometry.x=s.x/r-p.x-n.geometry.width/2;n.geometry.y=s.y/r-p.y-n.geometry.height/
2}f.addCell(n);f.getModel().setTerminal(f.getSelectionCell(),n,!1)}finally{f.getModel().endUpdate()}f.scrollCellToVisible(n);f.setSelectionCell(n);l=!0}}l||d.apply(this,arguments)}})();
(function(){var a=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var c=a.apply(this,arguments),f=this,d=new mxCell("Vertical Flow Layout",new mxGeometry(0,0,270,280),"swimlane;html\x3d1;startSize\x3d20;horizontal\x3d1;childLayout\x3dflowLayout;flowOrientation\x3dnorth;resizable\x3d0;interRankCellSpacing\x3d50;");d.vertex=!0;var b=new mxCell("Start",new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");b.vertex=!0;d.insert(b);var e=new mxCell("Task",
new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");e.vertex=!0;d.insert(e);var g=new mxCell("",new mxGeometry(0,0,0,0),"html\x3d1;curved\x3d1;");g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);e.insertEdge(g,!1);d.insert(g);var k=new mxCell("Task",new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");k.vertex=!0;d.insert(k);g=g.clone();b.insertEdge(g,!0);k.insertEdge(g,!1);d.insert(g);b=new mxCell("End",new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");b.vertex=
!0;d.insert(b);g=g.clone();e.insertEdge(g,!0);b.insertEdge(g,!1);d.insert(g);g=g.clone();k.insertEdge(g,!0);b.insertEdge(g,!1);d.insert(g);return c.concat([this.addEntry("container swimlane pool horizontal",function(){var b=new mxCell("Pool",new mxGeometry(0,0,480,380),"swimlane;html\x3d1;childLayout\x3dstackLayout;horizontal\x3d1;startSize\x3d20;horizontalStack\x3d0;");b.vertex=!0;var a=new mxCell("Lane 1",new mxGeometry(0,20,480,120),"swimlane;html\x3d1;startSize\x3d20;horizontal\x3d0;");a.vertex=
!0;b.insert(a);a=new mxCell("Lane 2",new mxGeometry(0,140,480,120),"swimlane;html\x3d1;startSize\x3d20;horizontal\x3d0;");a.vertex=!0;b.insert(a);a=new mxCell("Lane 3",new mxGeometry(0,260,480,120),"swimlane;html\x3d1;startSize\x3d20;horizontal\x3d0;");a.vertex=!0;b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Horizontal Pool 1",!0)}),this.addEntry("container swimlane pool horizontal",function(){var b=new mxCell("Pool",new mxGeometry(0,0,480,360),"swimlane;html\x3d1;childLayout\x3dstackLayout;horizontal\x3d0;startSize\x3d20;horizontalStack\x3d0;");
b.vertex=!0;var a=new mxCell("Lane 1",new mxGeometry(20,0,460,120),"swimlane;html\x3d1;startSize\x3d20;horizontal\x3d0;");a.vertex=!0;b.insert(a);a=new mxCell("Lane 2",new mxGeometry(20,120,460,120),"swimlane;html\x3d1;startSize\x3d20;horizontal\x3d0;");a.vertex=!0;b.insert(a);a=new mxCell("Lane 3",new mxGeometry(20,240,460,120),"swimlane;html\x3d1;startSize\x3d20;horizontal\x3d0;");a.vertex=!0;b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Horizontal Pool 2",
!0)}),this.addEntry("container swimlane pool vertical",function(){var b=new mxCell("Pool",new mxGeometry(0,0,360,480),"swimlane;html\x3d1;childLayout\x3dstackLayout;startSize\x3d20;");b.vertex=!0;var a=new mxCell("Lane 1",new mxGeometry(0,20,120,460),"swimlane;html\x3d1;startSize\x3d20;");a.vertex=!0;b.insert(a);a=new mxCell("Lane 2",new mxGeometry(120,20,120,460),"swimlane;html\x3d1;startSize\x3d20;");a.vertex=!0;b.insert(a);a=new mxCell("Lane 3",new mxGeometry(240,20,120,460),"swimlane;html\x3d1;startSize\x3d20;");
a.vertex=!0;b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Vertical Pool 1",!0)}),this.addEntry("container swimlane pool vertical",function(){var b=new mxCell("Pool",new mxGeometry(0,0,380,480),"swimlane;html\x3d1;childLayout\x3dstackLayout;startSize\x3d20;horizontal\x3d0;horizontalStack\x3d1;");b.vertex=!0;var a=new mxCell("Lane 1",new mxGeometry(20,0,120,480),"swimlane;html\x3d1;startSize\x3d20;");a.vertex=!0;b.insert(a);a=new mxCell("Lane 2",new mxGeometry(140,
0,120,480),"swimlane;html\x3d1;startSize\x3d20;");a.vertex=!0;b.insert(a);a=new mxCell("Lane 3",new mxGeometry(260,0,120,480),"swimlane;html\x3d1;startSize\x3d20;");a.vertex=!0;b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Vertical Pool 2",!0)}),this.addEntry("vertical tree layout",function(){var b=new mxCell("Vertical Tree Layout",new mxGeometry(0,0,280,190),"swimlane;html\x3d1;startSize\x3d20;horizontal\x3d1;childLayout\x3dtreeLayout;horizontalTree\x3d0;resizable\x3d0;");
b.vertex=!0;var a=new mxCell("Root",new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");a.vertex=!0;b.insert(a);var d=new mxCell("Child 1",new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");d.vertex=!0;b.insert(d);var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;html\x3d1;rounded\x3d0;");c.geometry.relative=!0;c.edge=!0;a.insertEdge(c,!0);d.insertEdge(c,!1);b.insert(c);d=new mxCell("Child 2",new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");
d.vertex=!0;b.insert(d);c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;html\x3d1;rounded\x3d0;");c.geometry.relative=!0;c.edge=!0;a.insertEdge(c,!0);d.insertEdge(c,!1);b.insert(c);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Vertical Tree Layout",!0)}),this.addEntry("horizontal tree layout",function(){var b=new mxCell("Horizontal Tree Layout",new mxGeometry(0,0,310,160),"swimlane;html\x3d1;startSize\x3d20;horizontal\x3d0;childLayout\x3dtreeLayout;horizontalTree\x3d1;resizable\x3d0;");
b.vertex=!0;var a=new mxCell("Root",new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");a.vertex=!0;b.insert(a);var d=new mxCell("Child 1",new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");d.vertex=!0;b.insert(d);var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;elbow\x3dhorizontal;html\x3d1;rounded\x3d0;");c.geometry.relative=!0;c.edge=!0;a.insertEdge(c,!0);d.insertEdge(c,!1);b.insert(c);d=new mxCell("Child 2",new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");
d.vertex=!0;b.insert(d);c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;elbow\x3dhorizontal;html\x3d1;rounded\x3d0;");c.geometry.relative=!0;c.edge=!0;a.insertEdge(c,!0);d.insertEdge(c,!1);b.insert(c);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Horizontal Tree Layout",!0)}),this.addEntry("vertical flow layout",function(){return f.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Vertical Flow Layout",!0)}),this.addEntry("horizontal flow layout",
function(){var b=f.graph.cloneCells([d])[0];b.geometry=new mxGeometry(0,0,460,150);b.style="swimlane;html\x3d1;startSize\x3d20;horizontal\x3d0;childLayout\x3dflowLayout;flowOrientation\x3dwest;resizable\x3d0;interRankCellSpacing\x3d50;";b.value="Horizontal Flow Layout";return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Horizontal Flow Layout",!0)})])}})();
(function(){Sidebar.prototype.addAndroidPalette=function(){var a=this,c=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;html\x3d1;shadow\x3d0;dashed\x3d0;strokeWidth\x3d1;shape\x3dmxgraph.android.",f=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;html\x3d1;shadow\x3d0;dashed\x3d0;strokeWidth\x3d1;strokeColor\x3dnone;shape\x3d",d=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+
"\x3dtop;html\x3d1;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.android.",b=[this.createVertexTemplateEntry(c+"phone2;fillColor\x3d#ffffff;strokeColor\x3d#c0c0c0;",200,390,"","Phone",null,null,"android phone mobile portrait"),this.createVertexTemplateEntry(c+"phone2;fillColor\x3d#ffffff;strokeColor\x3d#c0c0c0;direction\x3dsouth;",390,200,"","Phone (landscape)",null,null,"android phone mobile landscape"),this.createVertexTemplateEntry(c+"tab2;fillColor\x3d#ffffff;strokeColor\x3d#c0c0c0;",
472,686,"","Tab",null,null,"android tab tablet portrait"),this.createVertexTemplateEntry(c+"tab2;fillColor\x3d#ffffff;strokeColor\x3d#c0c0c0;direction\x3dnorth;",686,472,"","Tab (landscape)",null,null,"android tab tablet landscape"),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.action_bar;fillColor\x3d#1A1A1A;strokeColor\x3d#c0c0c0;strokeWidth\x3d2;fontColor\x3d#FFFFFF;",185,30,"","Action Bar",null,null,"android action bar dark portrait"),
this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.action_bar;fillColor\x3d#E6E6E6;strokeColor\x3d#c0c0c0;strokeWidth\x3d2;",185,30,"","Action Bar (Bright)",null,null,"android action bar bright portrait"),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.action_bar_landscape;fillColor\x3d#1A1A1A;strokeColor\x3d#c0c0c0;strokeWidth\x3d2;fontColor\x3d#FFFFFF;",320,30,"","Action Bar Landscape",
null,null,"android action bar landscape dark"),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.action_bar_landscape;fillColor\x3d#E6E6E6;strokeColor\x3d#c0c0c0;strokeWidth\x3d2;",320,30,"","Action Bar Landscape (Bright)",null,null,"android action bar bright landscape"),this.createVertexTemplateEntry("rounded\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;whiteSpace\x3dwrap;fontSize\x3d10;fillColor\x3d#666666;align\x3dcenter;strokeColor\x3d#4D4D4D;fontColor\x3d#ffffff;",
105.5,16.88,"Normal","Button (Normal)",null,null,"android button normal"),this.createVertexTemplateEntry("rounded\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;whiteSpace\x3dwrap;fontSize\x3d10;fillColor\x3d#666666;align\x3dcenter;strokeColor\x3d#999999;fontColor\x3d#ffffff;",105.5,16.88,"Focused","Button (Focused)",null,null,"android button focused"),this.createVertexTemplateEntry("rounded\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;whiteSpace\x3dwrap;fontSize\x3d10;fillColor\x3d#999999;align\x3dcenter;strokeColor\x3d#666666;fontColor\x3d#ffffff;strokeWidth\x3d2;",
105.5,16.88,"Pressed","Button (Pressed)",null,null,"android button pressed"),this.createVertexTemplateEntry("rounded\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;whiteSpace\x3dwrap;fontSize\x3d10;fillColor\x3d#333333;align\x3dcenter;strokeColor\x3d#4D4D4D;fontColor\x3d#666666;",105.5,16.88,"Focused disabled","Button (Focused, Disabled)",null,null,"android button focused disabled"),this.createVertexTemplateEntry("rounded\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;whiteSpace\x3dwrap;fontSize\x3d10;fillColor\x3d#333333;align\x3dcenter;strokeColor\x3d#333333;fontColor\x3d#666666;",
105.5,16.88,"Disabled","Button (Disabled)",null,null,"android button disabled"),this.createVertexTemplateEntry("rounded\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;whiteSpace\x3dwrap;fontSize\x3d10;fillColor\x3d#E6E6E6;align\x3dcenter;strokeColor\x3d#E6E6E6;fontColor\x3d#333333;",105.5,16.88,"Normal","Button (Normal, Bright)",null,null,"android button normal bright"),this.createVertexTemplateEntry("rounded\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;whiteSpace\x3dwrap;fontSize\x3d10;fillColor\x3d#E6E6E6;align\x3dcenter;strokeColor\x3d#B3B3B3;fontColor\x3d#333333;",
105.5,16.88,"Focused","Button (Focused, Bright)",null,null,"android button focused bright"),this.createVertexTemplateEntry("rounded\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;whiteSpace\x3dwrap;fontSize\x3d10;fillColor\x3d#B3B3B3;align\x3dcenter;strokeColor\x3d#E6E6E6;fontColor\x3d#333333;strokeWidth\x3d2;",105.5,16.88,"Pressed","Button (Pressed, Bright)",null,null,"android button pressed bright"),this.createVertexTemplateEntry("rounded\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;whiteSpace\x3dwrap;fontSize\x3d10;fillColor\x3d#F4F4F4;align\x3dcenter;strokeColor\x3d#E6E6E6;fontColor\x3d#CCCCCC;",
105.5,16.88,"Focused disabled","Button (Focused, Disabled, Bright)",null,null,"android button focused disabled bright"),this.createVertexTemplateEntry("rounded\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;whiteSpace\x3dwrap;fontSize\x3d10;fillColor\x3d#F4F4F4;align\x3dcenter;strokeColor\x3d#F4F4F4;fontColor\x3d#CCCCCC;",105.5,16.88,"Disabled","Button (Disabled, Bright)",null,null,"android button disabled bright"),this.addEntry("android checkboxes checkbox",function(){var b=new mxCell("",new mxGeometry(0,
0,165,50),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;");b.vertex=!0;var d=new mxCell("Setting 1",new mxGeometry(0,0,165,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#33b5e5;");d.vertex=!0;b.insert(d);var c=new mxCell("",new mxGeometry(0,6,0,0),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;");c.vertex=!0;d.insert(c);d=
new mxCell("",new mxGeometry(2.5,-2.5,5,5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;resizable\x3d0;strokeColor\x3d#33b5e5;");d.vertex=!0;c.insert(d);d=new mxCell("Setting 2",new mxGeometry(0,12.5,165,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#33b5e5;");d.vertex=!0;b.insert(d);c=new mxCell("",new mxGeometry(0,6,0,0),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;");
c.vertex=!0;d.insert(c);d=new mxCell("",new mxGeometry(2.5,-2.5,5,5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;resizable\x3d0;strokeColor\x3d#33b5e5;");d.vertex=!0;c.insert(d);d=new mxCell("Setting 3",new mxGeometry(0,25,165,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#33b5e5;");d.vertex=!0;b.insert(d);c=new mxCell("",new mxGeometry(0,6,0,0),
"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;");c.vertex=!0;d.insert(c);d=new mxCell("",new mxGeometry(2.5,-2.5,5,5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.checkbox;rSize\x3d0;resizable\x3d0;strokeColor\x3d#33b5e5;");d.vertex=!0;c.insert(d);d=new mxCell("Setting 4",new mxGeometry(0,37.5,165,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#33b5e5;");
d.vertex=!0;b.insert(d);c=new mxCell("",new mxGeometry(0,6,0,0),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;");c.vertex=!0;d.insert(c);d=new mxCell("",new mxGeometry(2.5,-2.5,5,5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;resizable\x3d0;strokeColor\x3d#33b5e5;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Checkboxes")}),this.addEntry("android radiobuttons radiobutton",
function(){var b=new mxCell("",new mxGeometry(0,0,165,50),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;");b.vertex=!0;var d=new mxCell("Option 1",new mxGeometry(0,0,165,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#33b5e5;");d.vertex=!0;b.insert(d);var c=new mxCell("",new mxGeometry(0,6,0,0),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;");
c.vertex=!0;d.insert(c);d=new mxCell("",new mxGeometry(2.5,-2.5,5,5),"shape\x3dellipse;resizable\x3d0;strokeColor\x3d#33b5e5;html\x3d1;");d.vertex=!0;c.insert(d);d=new mxCell("Option 2",new mxGeometry(0,12.5,165,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#33b5e5;");d.vertex=!0;b.insert(d);c=new mxCell("",new mxGeometry(0,6,0,0),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;");
c.vertex=!0;d.insert(c);d=new mxCell("",new mxGeometry(2.5,-2.5,5,5),"shape\x3dellipse;resizable\x3d0;strokeColor\x3d#33b5e5;html\x3d1;");d.vertex=!0;c.insert(d);d=new mxCell("Option 3",new mxGeometry(0,25,165,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#33b5e5;");d.vertex=!0;b.insert(d);c=new mxCell("",new mxGeometry(0,6,0,0),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;");
c.vertex=!0;d.insert(c);d=new mxCell("",new mxGeometry(2.5,-2.5,5,5),"shape\x3dellipse;resizable\x3d0;strokeColor\x3d#33b5e5;fillColor\x3d#33b5e5;html\x3d1;");d.vertex=!0;c.insert(d);d=new mxCell("Option 4",new mxGeometry(0,37.5,165,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#33b5e5;");d.vertex=!0;b.insert(d);c=new mxCell("",new mxGeometry(0,6,0,0),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;");
c.vertex=!0;d.insert(c);d=new mxCell("",new mxGeometry(2.5,-2.5,5,5),"shape\x3dellipse;resizable\x3d0;strokeColor\x3d#33b5e5;html\x3d1;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Radiobuttons")}),this.createVertexTemplateEntry(c+"contact_badge_focused;",40,40,"","Contact Badge Focused",null,null,"android contact badge focused"),this.createVertexTemplateEntry(c+"contact_badge_focused;",60,60,"","Contact Badge Focused",null,null,"android contact badge focused"),
this.createVertexTemplateEntry(c+"contact_badge_normal;",40,40,"","Contact Badge Normal",null,null,"android contact badge normal"),this.createVertexTemplateEntry(c+"contact_badge_normal;",60,60,"","Contact Badge Normal",null,null,"android contact badge normal"),this.createVertexTemplateEntry(c+"contact_badge_pressed;",40,40,"","Contact Badge Pressed",null,null,"android contact badge pressed"),this.createVertexTemplateEntry(c+"contact_badge_pressed;",60,60,"","Contact Badge Pressed",null,null,"android contact badge pressed"),
this.addEntry("android contextual action bar dark portrait",function(){var b=new mxCell("",new mxGeometry(0,0,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.contextual_action_bar;fillColor\x3d#002E3E;");b.vertex=!0;var d=new mxCell("Action",new mxGeometry(40,0,100,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;fontStyle\x3d1;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],
b.geometry.width,b.geometry.height,"Contextual Action Bar")}),this.addEntry("android contextual action bar bright portrait",function(){var b=new mxCell("",new mxGeometry(0,0,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.contextual_action_bar_white;fillColor\x3d#E6E6E6;");b.vertex=!0;var d=new mxCell("Action",new mxGeometry(40,0,100,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;fontStyle\x3d1;");d.vertex=
!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Contextual Action Bar (Bright)")}),this.addEntry("android contextual action bar landscape dark",function(){var b=new mxCell("",new mxGeometry(0,0,320,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.contextual_action_bar_landscape;fillColor\x3d#002E3E;");b.vertex=!0;var d=new mxCell("Action",new mxGeometry(40,0,100,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;fontStyle\x3d1;fontColor\x3d#ffffff;");
d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Contextual Action Bar Landscape")}),this.addEntry("android contextual action bar landscape bright",function(){var b=new mxCell("",new mxGeometry(0,0,320,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.contextual_action_bar_landscape_white;fillColor\x3d#E6E6E6;");b.vertex=!0;var d=new mxCell("Action",new mxGeometry(40,0,100,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;fontStyle\x3d1;");
d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Contextual Action Bar Landscape (Bright)")}),this.addEntry("android contextual split action bar dark",function(){var b=new mxCell("",new mxGeometry(0,0,185,70),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.contextual_split_action_bar;fillColor\x3d#002E3E;fontColor\x3d#FFFFFF;");b.vertex=!0;var d=new mxCell("Contextual",new mxGeometry(0,0,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");
d.vertex=!0;b.insert(d);d=new mxCell("Action",new mxGeometry(0,40,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Contextual Split Action Bar")}),this.addEntry("android contextual split action bar bright",function(){var b=new mxCell("",new mxGeometry(0,0,185,70),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.contextual_split_action_bar_white;fillColor\x3d#E6E6E6;");
b.vertex=!0;var d=new mxCell("Contextual",new mxGeometry(0,0,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;");d.vertex=!0;b.insert(d);d=new mxCell("Action",new mxGeometry(0,40,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Contextual Split Action Bar (Bright)")}),this.addEntry("android contextual split action bar landscape dark",
function(){var b=new mxCell("",new mxGeometry(0,0,320,70),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.contextual_split_action_bar_landscape;fillColor\x3d#002E3E;fontColor\x3d#FFFFFF;");b.vertex=!0;var d=new mxCell("Contextual",new mxGeometry(0,0,320,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);d=new mxCell("Action",new mxGeometry(0,40,320,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");
d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Contextual Split Action Bar Landscape")}),this.addEntry("android contextual split action bar landscape bright",function(){var b=new mxCell("",new mxGeometry(0,0,320,70),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.contextual_split_action_bar_landscape_white;fillColor\x3d#E6E6E6;");b.vertex=!0;var d=new mxCell("Contextual",new mxGeometry(0,0,320,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;");
d.vertex=!0;b.insert(d);d=new mxCell("Action",new mxGeometry(0,40,320,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Contextual Split Action Bar Landscape (Bright)")}),this.createVertexTemplateEntry(c+"indeterminate_progress_bar;strokeColor\x3d#33B5E5;",149,5,"","Indeterminate Progress Bar",null,null,"android indeterminate progress bar"),
this.createVertexTemplateEntry(c+"indeterminateSpinner;",50,50,"","Indeterminate Spinner",null,null,"android indeterminate spinner"),this.createVertexTemplateEntry(c+"keyboard;",185,100,"","Keyboard",null,null,"android keyboard"),this.addEntry("android menu bar",function(){var b=new mxCell("",new mxGeometry(0,0,185,50),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;strokeColor\x3d#888888;fillColor\x3d#444444;");b.vertex=!0;var d=new mxCell("Menu Item 1",
new mxGeometry(0,0,185,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3dnone;strokeColor\x3d#888888;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);d=new mxCell("Menu Item 2",new mxGeometry(0,12.5,185,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3dnone;strokeColor\x3d#888888;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#ffffff;");
d.vertex=!0;b.insert(d);d=new mxCell("Menu Item 3",new mxGeometry(0,25,185,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3dnone;strokeColor\x3d#888888;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);d=new mxCell("Menu Item 4",new mxGeometry(0,37.5,185,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3dnone;strokeColor\x3d#888888;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#ffffff;");
d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Menu bar")}),this.addEntry("android menu bar",function(){var b=new mxCell("",new mxGeometry(0,0,185,50),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;gradientColor\x3dnone;");b.vertex=!0;var d=new mxCell("Menu Item 1",new mxGeometry(0,0,185,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3dnone;strokeColor\x3d#eeeeee;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#333333;");
d.vertex=!0;b.insert(d);d=new mxCell("Menu Item 2",new mxGeometry(0,12.5,185,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3dnone;strokeColor\x3d#eeeeee;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#333333;");d.vertex=!0;b.insert(d);d=new mxCell("Menu Item 3",new mxGeometry(0,25,185,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3dnone;strokeColor\x3d#eeeeee;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#333333;");
d.vertex=!0;b.insert(d);d=new mxCell("Menu Item 4",new mxGeometry(0,37.5,185,12.5),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3dnone;strokeColor\x3d#eeeeee;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#333333;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Menu bar")}),this.createVertexTemplateEntry(d+"navigation_bar_1;fillColor\x3d#1A1A1A;strokeColor\x3d#999999;",
185,30,"","Navigation Bar",null,null,"android navigation bar portrait horizontal"),this.createVertexTemplateEntry(d+"navigation_bar_1_landscape;fillColor\x3d#1A1A1A;strokeColor\x3d#999999;",320,30,"","Navigation Bar Landscape",null,null,"android navigation bar landscape horizontal"),this.createVertexTemplateEntry(d+"navigation_bar_1_vertical;fillColor\x3d#1A1A1A;strokeColor\x3d#999999;",30,320,"","Navigation Bar Vertical",null,null,"android navigation bar vertical"),this.createVertexTemplateEntry(d+
"navigation_bar_2;fillColor\x3d#1A1A1A;strokeColor\x3d#999999;",185,30,"","Navigation Bar",null,null,"android navigation bar horizontal"),this.createVertexTemplateEntry(d+"navigation_bar_3;fillColor\x3d#1A1A1A;strokeColor\x3d#999999;",185,30,"","Navigation Bar",null,null,"android navigation bar portrait horizontal"),this.createVertexTemplateEntry(d+"navigation_bar_3_landscape;fillColor\x3d#1A1A1A;strokeColor\x3d#999999;",320,30,"","Navigation Bar Landscape",null,null,"android navigation bar landscape horizontal"),
this.createVertexTemplateEntry(d+"navigation_bar_4;fillColor\x3d#1A1A1A;strokeColor\x3d#999999;",185,30,"","Navigation Bar",null,null,"android navigation bar horizontal"),this.createVertexTemplateEntry(d+"navigation_bar_5;fillColor\x3d#1A1A1A;strokeColor\x3d#999999;",185,30,"","Navigation Bar",null,null,"android navigation bar horizontal"),this.createVertexTemplateEntry(d+"navigation_bar_5_vertical;fillColor\x3d#1A1A1A;strokeColor\x3d#999999;",30,320,"","Navigation Bar Vertical",null,null,"android navigation bar vertical"),
this.createVertexTemplateEntry(d+"navigation_bar_6;fillColor\x3d#1A1A1A;strokeColor\x3d#999999;",185,30,"","Navigation Bar",null,null,"android navigation bar horizontal"),this.createVertexTemplateEntry(c+"progressBar;strokeColor\x3d#33b5e5;dx1\x3d0.8;dx2\x3d0.6;strokeWidth\x3d2;",185,5,"","Progress Bar",null,null,"android progress bar"),this.createVertexTemplateEntry(c+"progressScrubberDisabled;dx\x3d0.3;fillColor\x3d#33b5e5;",185,16,"","Progress Scrubber Disabled",null,null,"android progress scrubber disabled"),
this.createVertexTemplateEntry(c+"progressScrubberFocused;dx\x3d0.3;fillColor\x3d#33b5e5;",185,16,"","Progress Scrubber Focused",null,null,"android progress scrubber focused"),this.createVertexTemplateEntry(c+"progressScrubberPressed;dx\x3d0.3;fillColor\x3d#33b5e5;",185,16,"","Progress Scrubber Pressed",null,null,"android progress scrubber pressed"),this.createVertexTemplateEntry(c+"quickscroll2;dy\x3d0.5;fillColor\x3d#33b5e5;strokeColor\x3d#66D5F5;",58,320,"","Quickscroll",null,null,"android quickscroll quick scroll"),
this.createVertexTemplateEntry(c+"quickscroll3;dy\x3d0.5;fillColor\x3d#33b5e5;strokeColor\x3d#66D5F5;",6,320,"","Quickscroll",null,null,"android quickscroll quick scroll"),this.addEntry("android quick contact",function(){var b=new mxCell("",new mxGeometry(0,0,150,165),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.quick_contact;");b.vertex=!0;var d=new mxCell("Name",new mxGeometry(0,65,150,18),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;rSize\x3d0;fontStyle\x3d1;fontColor\x3d#FFFFFF;");
d.vertex=!0;b.insert(d);d=new mxCell("Item 1",new mxGeometry(0,108,120,28),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;rSize\x3d0;align\x3dleft;spacingLeft\x3d10;");d.vertex=!0;b.insert(d);d=new mxCell("Item 2",new mxGeometry(0,136,120,28),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;rSize\x3d0;align\x3dleft;spacingLeft\x3d10;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,
"Quick Contact")}),this.addEntry("android scrollable tab scroll",function(){var b=new mxCell("",new mxGeometry(0,0,185,15),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3d#444444;strokeColor\x3dnone;");b.vertex=!0;var d=new mxCell("One",new mxGeometry(0,0,46.25,15),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dleft;fontColor\x3d#FFFFFF;");d.vertex=!0;b.insert(d);d=new mxCell("Tab Two",new mxGeometry(46.25,
0,92.5,15),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontColor\x3d#FFFFFF;");d.vertex=!0;b.insert(d);d=new mxCell("Tab",new mxGeometry(138.75,0,46.25,15),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;align\x3dright;fontColor\x3d#FFFFFF;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Scrollable Tab")}),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.scrollbars2;fillColor\x3d#999999;strokeColor\x3dnone;",
56,56,"","Scrollbars",null,null,"android scrollbar scroll bar"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#1A1A1A;strokeColor\x3d#1A1A1A;fontColor\x3d#FFFFFF;",168.8,16.88,"Normal","Section Header (Normal)",null,null,"android section header normal dark"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#4D4D4D;strokeColor\x3d#4D4D4D;fontColor\x3d#FFFFFF;",
168.8,16.88,"Pressed","Section Header (Pressed)",null,null,"android section header pressed dark"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#33b5e5;strokeColor\x3d#33B5E5;fontColor\x3d#FFFFFF;",168.8,16.88,"Activated","Section Header (Activated)",null,null,"android section header activated dark"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#006699;strokeColor\x3d#33B5E5;fontColor\x3d#FFFFFF;",
168.8,16.88,"Focused","Section Header (Focused)",null,null,"android section header focused dark"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#006699;strokeColor\x3d#33B5E5;fontColor\x3d#B3B3B3;",168.8,16.88,"Disabled focused","Section Header (Disabled focused)",null,null,"android section header disabled focused dark"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#1A1A1A;strokeColor\x3d#1A1A1A;fontColor\x3d#B3B3B3;",
168.8,16.88,"Disabled","Section Header (Disabled)",null,null,"android section header disabled dark"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#FFFFFF;strokeColor\x3d#FFFFFF;fontColor\x3d#4D4D4D;",168.8,16.88,"Normal","Section Header (Normal, Bright)",null,null,"android section header normal bright"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#f6f6f6;strokeColor\x3d#f6f6f6;fontColor\x3d#4D4D4D;",
168.8,16.88,"Pressed","Section Header (Pressed, Bright)",null,null,"android section header pressed bright"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#33b5e5;strokeColor\x3d#33B5E5;fontColor\x3d#4D4D4D;",168.8,16.88,"Activated","Section Header (Activated, Bright)",null,null,"android section header activated bright"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#99e5ff;strokeColor\x3d#33B5E5;fontColor\x3d#4D4D4D;",
168.8,16.88,"Focused","Section Header (Focused, Bright)",null,null,"android section header focused bright"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#99e5ff;strokeColor\x3d#33B5E5;fontColor\x3d#B3B3B3;",168.8,16.88,"Disabled focused","Section Header (Disabled focused, Bright)",null,null,"android section header disabled focused bright"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;shadow\x3d0;dashed\x3d0;fontSize\x3d10;align\x3dleft;fillColor\x3d#FFFFFF;strokeColor\x3d#FFFFFF;fontColor\x3d#B3B3B3;",
168.8,16.88,"Disabled","Section Header (Disabled, Bright)",null,null,"android section header disabled bright"),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.spinner2;align\x3dcenter;fillColor\x3d#999999;strokeColor\x3d#999999;verticalAlign\x3dbottom",110,10,"Item","Spinner Normal",null,null,"android spinner normal"),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.spinner2;align\x3dcenter;fillColor\x3d#33b5e5;strokeColor\x3d#33b5e5;verticalAlign\x3dbottom",
110,10,"Item","Spinner Focused",null,null,"android spinner focused"),this.addEntry("android spinner disabled focused",function(){var b=new mxCell("",new mxGeometry(0,0,117,28),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rect;rounded\x3d1;fillColor\x3d#207585;strokeColor\x3d#33b5e5;");b.vertex=!0;var d=new mxCell("Item",new mxGeometry(3,4,110,20),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.spinner2;fontStyle\x3d1;fontColor\x3d#ffffff;align\x3dcenter;verticalAlign\x3dmiddle;strokeColor\x3d#999999;fillColor\x3d#999999;");
d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Spinner Disabled Focused")}),this.addEntry("android spinner disabled focused light bright",function(){var b=new mxCell("",new mxGeometry(0,0,117,28),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rect;rounded\x3d1;fillColor\x3d#ccf2ff;strokeColor\x3d#88c5f5;");b.vertex=!0;var d=new mxCell("Item",new mxGeometry(3,4,110,20),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.spinner2;fontStyle\x3d0;fontColor\x3d#666666;align\x3dcenter;verticalAlign\x3dmiddle;strokeColor\x3d#cccccc;fillColor\x3d#cccccc;");
d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Spinner Disabled Focused Bright")}),this.addEntry("android spinner pressed",function(){var b=new mxCell("",new mxGeometry(0,0,117,28),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rect;rounded\x3d1;fillColor\x3d#33b5e5;strokeColor\x3d#33b5e5;");b.vertex=!0;var d=new mxCell("Item",new mxGeometry(3,4,110,20),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.spinner2;fontStyle\x3d0;fontColor\x3d#ffffff;align\x3dcenter;verticalAlign\x3dmiddle;strokeColor\x3d#aaeeff;fillColor\x3d#aaeeff;");
d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Spinner Pressed")}),this.addEntry("android spinner pressed light bright",function(){var b=new mxCell("",new mxGeometry(0,0,117,28),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rect;rounded\x3d1;fillColor\x3d#33b5e5;strokeColor\x3d#33b5e5;");b.vertex=!0;var d=new mxCell("Item",new mxGeometry(3,4,110,20),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.spinner2;fontStyle\x3d0;fontColor\x3d#ffffff;align\x3dcenter;verticalAlign\x3dmiddle;strokeColor\x3d#666666;fillColor\x3d#666666;");
d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Spinner Pressed Bright")}),this.addEntry("android split action bar dark",function(){var b=new mxCell("",new mxGeometry(0,0,185,70),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.split_action_bar;fillColor\x3d#1A1A1A;");b.vertex=!0;var d=new mxCell("Split",new mxGeometry(0,0,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");
d.vertex=!0;b.insert(d);d=new mxCell("Action",new mxGeometry(0,40,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Split Action Bar")}),this.addEntry("android split action bar bright",function(){var b=new mxCell("",new mxGeometry(0,0,185,70),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.split_action_bar;fillColor\x3d#E6E6E6;");
b.vertex=!0;var d=new mxCell("Split",new mxGeometry(0,0,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;");d.vertex=!0;b.insert(d);d=new mxCell("Action",new mxGeometry(0,40,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Split Action Bar (Bright)")}),this.addEntry("android split action bar landscape dark",
function(){var b=new mxCell("",new mxGeometry(0,0,320,70),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.split_action_bar_landscape;fillColor\x3d#1A1A1A;");b.vertex=!0;var d=new mxCell("Split",new mxGeometry(0,0,320,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);d=new mxCell("Action",new mxGeometry(0,40,320,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");
d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Split Action Bar Landscape")}),this.addEntry("android split action bar landscape bright",function(){var b=new mxCell("",new mxGeometry(0,0,320,70),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.split_action_bar_landscape;fillColor\x3d#E6E6E6;");b.vertex=!0;var d=new mxCell("Split",new mxGeometry(0,0,320,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;");
d.vertex=!0;b.insert(d);d=new mxCell("Action",new mxGeometry(0,40,320,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Split Action Bar Landscape (Bright)")}),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.statusBar;align\x3dcenter;fillColor\x3d#000000;strokeColor\x3d#ffffff;fontColor\x3d#ffffff;fontSize\x3d10;",
183.57,15.825,"","Status bar (portrait)",null,null,"android status bar portrait"),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.statusBar;align\x3dcenter;fillColor\x3d#000000;strokeColor\x3d#ffffff;fontColor\x3d#ffffff;fontSize\x3d10;",320.087,15.825,"","Status bar (landscape)",null,null,"android status bar landscape"),this.createVertexTemplateEntry(c+"switch_off;fillColor\x3d#666666;",80,20,"","Switch Off",null,null,"android switch off"),
this.createVertexTemplateEntry(c+"switch_off;fillColor\x3d#E6E6E6;",80,20,"","Switch Off",null,null,"android switch off"),this.createVertexTemplateEntry(c+"switch_on;fillColor\x3d#666666;",80,20,"","Switch On",null,null,"android switch on"),this.createVertexTemplateEntry(c+"switch_on;fillColor\x3d#E6E6E6;",80,20,"","Switch On",null,null,"android switch on"),this.addEntry("android tab tabulator bar dark",function(){var b=new mxCell("",new mxGeometry(0,0,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3d#444444;strokeColor\x3dnone;");
b.vertex=!0;var d=new mxCell("Tab 1",new mxGeometry(0,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);d=new mxCell("Tab 2",new mxGeometry(46.25,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fontStyle\x3d1;fillColor\x3d#0099cc;strokeColor\x3dnone;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);var c=new mxCell("",new mxGeometry(0,
27,46.25,3),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3d#33b5e5;strokeColor\x3dnone;");c.vertex=!0;d.insert(c);d=new mxCell("Tab 3",new mxGeometry(92.5,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);d=new mxCell("Tab 4",new mxGeometry(138.75,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");
d.vertex=!0;b.insert(d);d=new mxCell("",new mxGeometry(131.5,5,10,20),"shape\x3dline;strokeColor\x3d#ffffff;direction\x3dsouth;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Tab Bar Dark")}),this.addEntry("android tab tabulator bar dark",function(){var b=new mxCell("",new mxGeometry(0,0,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3d#444444;strokeColor\x3dnone;");b.vertex=
!0;var d=new mxCell("Tab 1",new mxGeometry(0,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);d=new mxCell("Tab 2",new mxGeometry(46.25,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3dnone;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);var c=new mxCell("",new mxGeometry(0,27,46.25,3),
"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3d#33b5e5;strokeColor\x3dnone;");c.vertex=!0;d.insert(c);d=new mxCell("Tab 3",new mxGeometry(92.5,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);d=new mxCell("Tab 4",new mxGeometry(138.75,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#ffffff;");
d.vertex=!0;b.insert(d);d=new mxCell("",new mxGeometry(131.5,5,10,20),"shape\x3dline;strokeColor\x3d#ffffff;direction\x3dsouth;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Tab Bar Dark")}),this.addEntry("android tab tabulator bar bright",function(){var b=new mxCell("",new mxGeometry(0,0,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3d#eeeeee;strokeColor\x3dnone;");b.vertex=
!0;var d=new mxCell("Tab 1",new mxGeometry(0,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#666666;");d.vertex=!0;b.insert(d);d=new mxCell("Tab 2",new mxGeometry(46.25,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fontStyle\x3d1;fillColor\x3d#44c5f5;strokeColor\x3dnone;fontColor\x3d#ffffff;");d.vertex=!0;b.insert(d);var c=new mxCell("",new mxGeometry(0,27,46.25,
3),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3d#33b5e5;strokeColor\x3dnone;");c.vertex=!0;d.insert(c);d=new mxCell("Tab 3",new mxGeometry(92.5,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#666666;");d.vertex=!0;b.insert(d);d=new mxCell("Tab 4",new mxGeometry(138.75,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#666666;");
d.vertex=!0;b.insert(d);d=new mxCell("",new mxGeometry(131.5,5,10,20),"shape\x3dline;strokeColor\x3d#666666;direction\x3dsouth;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Tab Bar Bright")}),this.addEntry("android tab tabulator bar bright",function(){var b=new mxCell("",new mxGeometry(0,0,185,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3d#eeeeee;strokeColor\x3dnone;");b.vertex=
!0;var d=new mxCell("Tab 1",new mxGeometry(0,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#666666;");d.vertex=!0;b.insert(d);d=new mxCell("Tab 2",new mxGeometry(46.25,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3dnone;fontColor\x3d#666666;");d.vertex=!0;b.insert(d);var c=new mxCell("",new mxGeometry(0,27,46.25,3),
"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.rrect;rSize\x3d0;fillColor\x3d#33b5e5;strokeColor\x3dnone;");c.vertex=!0;d.insert(c);d=new mxCell("Tab 3",new mxGeometry(92.5,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#666666;");d.vertex=!0;b.insert(d);d=new mxCell("Tab 4",new mxGeometry(138.75,0,46.25,30),"strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.anchor;fontStyle\x3d1;fontColor\x3d#666666;");
d.vertex=!0;b.insert(d);d=new mxCell("",new mxGeometry(131.5,5,10,20),"shape\x3dline;strokeColor\x3d#666666;direction\x3dsouth;");d.vertex=!0;b.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Tab Bar Bright")}),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.textfield;align\x3dcenter;strokeColor\x3d#4D4D4D;",174,30,"","Textfield Disabled",null,null,"android textfield disabled"),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.textfield;align\x3dcenter;strokeColor\x3d#999999;",
174,30,"","Textfield Normal",null,null,"android textfield normal"),this.createVertexTemplateEntry("strokeWidth\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.android.textfield;align\x3dcenter;strokeColor\x3d#33b5e5;",174,30,"","Textfield Activated",null,null,"android textfield activated"),this.createVertexTemplateEntry(c+"text_insertion_point;",20,30,"","Text Insertion Point",null,null,"android textfield insertion point"),this.createVertexTemplateEntry(c+"textSelHandles;fillColor\x3d#33b5e5;strokeColor\x3d#0099cc;",
168.8,42.2,"","Text Selection Handles",null,null,"android text selection handle"),this.createVertexTemplateEntry(c+"time_picker;",150,230,"","Time Picker (Bright)",null,null,"android time picker bright"),this.createVertexTemplateEntry(c+"time_picker_dark;",150,230,"","Time Picker (Dark)",null,null,"android time picker dark"),this.createVertexTemplateEntry(f+"rect;fillColor\x3d#33b5e5;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(f+"rect;fillColor\x3d#0099cc;",50,50,
"","Color",null,null,"android color"),this.createVertexTemplateEntry(f+"rect;fillColor\x3d#aa66cc;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(f+"rect;fillColor\x3d#9933cc;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(f+"rect;fillColor\x3d#99cc00;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(f+"rect;fillColor\x3d#669900;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(f+"rect;fillColor\x3d#ffbb33;",
50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(f+"rect;fillColor\x3d#ff8800;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(f+"rect;fillColor\x3d#ff4444;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(f+"rect;fillColor\x3d#cc0000;",50,50,"","Color",null,null,"android color")];this.addPalette("android",mxResources.get("android"),!1,mxUtils.bind(this,function(a){for(var d=0;d<b.length;d++)a.appendChild(b[d](a))}))}})();
(function(){Sidebar.prototype.addArchiMatePalette=function(){this.addPaletteFunctions("archimate",mxResources.get("archiMate21"),!1,[this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.application;appType\x3dactor",100,75,"","Business Actor",null,null,this.getTagsForStencil("mxgraph.archimate","application","archimate business actor").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.application;appType\x3drole",
100,75,"","Business Role",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business role").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.application;appType\x3dcollab",100,75,"","Business Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business collaboration").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.application;appType\x3dinterface",
100,75,"","Business Interface",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business interface").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.application;appType\x3dinterface2",100,75,"","Business Interface",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business interface").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.location",
100,75,"","Location",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate location").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.business;busType\x3dprocess",100,75,"","Business Process",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business process").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.business;busType\x3dfunction",
100,75,"","Business Function",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business function").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.business;busType\x3dinteraction",100,75,"","Business Interaction",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business interaction").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.business;busType\x3devent",
100,75,"","Business Event",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business event").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.business;busType\x3dservice",100,75,"","Business Service",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business service").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.businessObject;overflow\x3dfill",
100,75,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr style\x3d"height:20px;"\x3e\x3ctd align\x3d"center"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"top" style\x3d"padding:4px;"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Business Object",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business object").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.representation",
100,75,"","Representation",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate representation").join(" ")),this.createVertexTemplateEntry("fillColor\x3d#ffff99;whiteSpace\x3dwrap;shape\x3dcloud;html\x3d1;",100,75,"","Meaning",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate meaning").join(" ")),this.createVertexTemplateEntry("fillColor\x3d#ffff99;whiteSpace\x3dwrap;shape\x3dellipse;html\x3d1;",100,56.25,"","Value",null,null,this.getTagsForStencil("mxgraph.archimate",
"","archimate value").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.product;overflow\x3dfill",100,75,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr style\x3d"height:20px;"\x3e\x3ctd align\x3d"left"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"top" style\x3d"padding:4px;"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Product",null,null,this.getTagsForStencil("mxgraph.archimate",
"","archimate product").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;shape\x3dmxgraph.archimate.businessObject;overflow\x3dfill",100,75,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr style\x3d"height:20px;"\x3e\x3ctd align\x3d"center"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"top" style\x3d"padding:4px;"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Contract",null,null,
this.getTagsForStencil("mxgraph.archimate","","archimate contract").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;shape\x3dmxgraph.archimate.application;appType\x3dcomp",100,75,"","Application Component",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate application component").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;shape\x3dmxgraph.archimate.application;appType\x3dcollab",100,75,"",
"Application Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate application collaboration").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;shape\x3dmxgraph.archimate.application;appType\x3dinterface",100,75,"","Application Interface",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate application interface").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;shape\x3dmxgraph.archimate.application;appType\x3dinterface2",
100,75,"","Application Interface",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate application interface").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;shape\x3dmxgraph.archimate.application;appType\x3dfunction",100,75,"","Application Function",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate application function").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;shape\x3dmxgraph.archimate.application;appType\x3dinteraction",
100,75,"","Application Interaction",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate application interaction").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;shape\x3dmxgraph.archimate.application;appType\x3dservice",100,75,"","Application Service",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate application service").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;shape\x3dmxgraph.archimate.businessObject;overflow\x3dfill",
100,75,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr style\x3d"height:20px;"\x3e\x3ctd align\x3d"center"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"top" style\x3d"padding:4px;"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Data Object",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate data object").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.application;appType\x3dnode",
100,75,"","Node",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate node").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.tech;techType\x3ddevice",100,75,"","Device",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate device").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.application;appType\x3dnetwork",100,75,"","Network",
null,null,this.getTagsForStencil("mxgraph.archimate","","archimate network").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.application;appType\x3dcommPath",100,75,"","Communications Path",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate communications path").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.application;appType\x3dinterface",
100,75,"","Infrastructure Interface",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate infrastructure interface").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.application;appType\x3dinterface2",100,75,"","Infrastructure Interface",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate infrastructure interface").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.application;appType\x3dsysSw",
100,75,"","System Software",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate system software").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.business;busType\x3dfunction",100,75,"","Infrastructure Function",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate infraastructure function").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.business;busType\x3dservice",
100,75,"","Infrastructure Service",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate infrastructure service").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.application;appType\x3dartifact",100,75,"","Artifact",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate artifact").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dnone;elbow\x3dvertical",100,75,
"","Association",null,this.getTagsForStencil("mxgraph.archimate","","archimate association").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dopen;elbow\x3dvertical;endFill\x3d1;dashed\x3d1",100,75,"","Access",null,this.getTagsForStencil("mxgraph.archimate","","archimate access").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dnone;elbow\x3dvertical;endFill\x3d0;dashed\x3d1",100,75,"","Access",null,this.getTagsForStencil("mxgraph.archimate",
"","archimate access").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dopen;elbow\x3dvertical;endFill\x3d1",100,75,"","Used by",null,this.getTagsForStencil("mxgraph.archimate","","archimate used by").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dblock;elbow\x3dvertical;endFill\x3d0;dashed\x3d1",100,75,"","Realization",null,this.getTagsForStencil("mxgraph.archimate","","archimate realization").join(" ")),this.createEdgeTemplateEntry("endArrow\x3doval;html\x3d1;endFill\x3d1;startArrow\x3doval;startFill\x3d1;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical",
100,75,"","Assignment",null,this.getTagsForStencil("mxgraph.archimate","","archimate assignment").join(" ")),this.createEdgeTemplateEntry("endArrow\x3dnone;html\x3d1;endFill\x3d0;startArrow\x3ddiamondThin;startFill\x3d0;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical",100,75,"","Aggregation",null,this.getTagsForStencil("mxgraph.archimate","","archimate aggregation").join(" ")),this.createEdgeTemplateEntry("endArrow\x3dnone;html\x3d1;endFill\x3d0;startArrow\x3ddiamondThin;startFill\x3d1;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical",
100,75,"","Composition",null,this.getTagsForStencil("mxgraph.archimate","","archimate composition").join(" ")),this.createEdgeTemplateEntry("endArrow\x3dblock;html\x3d1;endFill\x3d1;startArrow\x3dnone;startFill\x3d0;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;dashed\x3d1",100,75,"","A",null,this.getTagsForStencil("mxgraph.archimate","","archimate ").join(" ")),this.createEdgeTemplateEntry("endArrow\x3dblock;html\x3d1;endFill\x3d1;startArrow\x3dnone;startFill\x3d0;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;dashed\x3d1",
100,75,"","Flow",null,this.getTagsForStencil("mxgraph.archimate","","archimate flow").join(" ")),this.createEdgeTemplateEntry("endArrow\x3dblock;html\x3d1;endFill\x3d1;startArrow\x3dnone;startFill\x3d0;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;dashed\x3d0",100,75,"","Triggering",null,this.getTagsForStencil("mxgraph.archimate","","archimate triggering").join(" ")),this.createVertexTemplateEntry("swimlane;html\x3d1;fillColor\x3d#ffffff;whiteSpace\x3dwrap",100,75,"","Grouping",null,this.getTagsForStencil("mxgraph.archimate",
"","archimate grouping").join(" ")),this.createVertexTemplateEntry("ellipse;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;fillColor\x3d#000000",10,10,"","Junction",null,this.getTagsForStencil("mxgraph.archimate","","archimate junction").join(" ")),this.createEdgeTemplateEntry("endArrow\x3dblock;html\x3d1;endFill\x3d0;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical",100,75,"","Specialization",null,this.getTagsForStencil("mxgraph.archimate","","archimate specialization").join(" ")),
this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffccff;shape\x3dmxgraph.archimate.motiv;motivType\x3dstake",100,75,"","Stakeholder",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate stakeholder").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffccff;shape\x3dmxgraph.archimate.motiv;motivType\x3ddriver",100,75,"","Driver",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate driver").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffccff;shape\x3dmxgraph.archimate.motiv;motivType\x3dassess",
100,75,"","Assessment",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate assesment").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ccccff;shape\x3dmxgraph.archimate.motiv;motivType\x3dgoal",100,75,"","Goal",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate goal").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ccccff;shape\x3dmxgraph.archimate.motiv;motivType\x3dreq",100,75,"","Requirement",
null,null,this.getTagsForStencil("mxgraph.archimate","","archimate goal").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ccccff;shape\x3dmxgraph.archimate.motiv;motivType\x3dconst",100,75,"","Constraint",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate constraint").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ccccff;shape\x3dmxgraph.archimate.motiv;motivType\x3dprinc",100,75,"","Principle",null,null,
this.getTagsForStencil("mxgraph.archimate","","archimate principle").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffe0e0;shape\x3dmxgraph.archimate.rounded\x3d1",100,75,"","Work Package",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate work package").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffe0e0;shape\x3dmxgraph.archimate.representation",100,75,"","Deliverable",null,null,this.getTagsForStencil("mxgraph.archimate",
"","archimate deliverable").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.tech;techType\x3dplateau",100,75,"","Plateau",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate plateau").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ff99;shape\x3dmxgraph.archimate.gap",100,75,"","Gap",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate gap").join(" "))])}})();
(function(){Sidebar.prototype.addArchimate3Palette=function(){this.addArchimate3ApplicationPalette();this.addArchimate3BusinessPalette();this.addArchimate3CompositePalette();this.addArchimate3ImplementationAndMigrationPalette();this.addArchimate3MotivationPalette();this.addArchimate3PhysicalPalette();this.addArchimate3RelationshipsPalette();this.addArchimate3StrategyPalette();this.addArchimate3TechnologyPalette()};Sidebar.prototype.addArchimate3ApplicationPalette=function(){var a=[this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dcomp;archiType\x3dsquare;",
150,75,"","Application Component",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer component").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.component;",70,75,"","Component",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer component").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dcollab;archiType\x3dsquare;",
150,75,"","Application Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer collaboration").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.collaboration;",60,35,"","Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer collaboration").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dinterface;archiType\x3dsquare;",
150,75,"","Application Interface",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer component").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.interface;",70,35,"","Interface",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer interface").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dproc;archiType\x3drounded;",
150,75,"","Application Process",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer process").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.process;",150,75,"","Process",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer process").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dfunc;archiType\x3drounded;",
150,75,"","Application Function",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer function").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.function;",75,75,"","Function",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer function").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dinteraction;archiType\x3drounded;",
150,75,"","Application Interaction",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer interaction").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.interaction;",75,75,"","Interaction",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer interaction").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dserv;archiType\x3drounded",
150,75,"","Application Service",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer service").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.service;",60,35,"","Service",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer service").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3devent;archiType\x3drounded",
150,75,"","Application Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer event").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.event;",60,35,"","Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer event").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#99ffff;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.businessObject;overflow\x3dfill",
150,75,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr style\x3d"height:20px;"\x3e\x3ctd align\x3d"center"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"top" style\x3d"padding:4px;"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Data Object",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer data object").join(" "))];this.addPalette("archimate3Application","Archimate 3.0 / Application",
!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addArchimate3BusinessPalette=function(){var a=[this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dactor;archiType\x3dsquare;",150,75,"","Business Actor",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer actor").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.actor;",
50,95,"","Actor",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer actor").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3drole;archiType\x3dsquare;",150,75,"","Business Role",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer role").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.role;",
85,50,"","Role",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer role").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dcollab;archiType\x3dsquare;",150,75,"","Business Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer collaboration").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.collaboration;",
60,35,"","Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer collaboration").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dinterface;archiType\x3dsquare;",150,75,"","Business Interface",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer component").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.interface;",
70,35,"","Interface",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer interface").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dproc;archiType\x3drounded;",150,75,"","Business Process",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer process").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.process;",
150,75,"","Process",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer process").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dfunc;archiType\x3drounded;",150,75,"","Business Function",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer function").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.function;",
75,75,"","Function",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer function").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dinteraction;archiType\x3drounded;",150,75,"","Business Interaction",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer interaction").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.interaction;",
75,75,"","Interaction",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer interaction").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dserv;archiType\x3drounded;",150,75,"","Business Service",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer service").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.service;",
60,35,"","Service",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer service").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3devent;archiType\x3drounded;",150,75,"","Application Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer event").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.event;",
60,35,"","Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer event").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.businessObject;overflow\x3dfill;",150,75,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr style\x3d"height:20px;"\x3e\x3ctd align\x3d"center"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"top" style\x3d"padding:4px;"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Business Object",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer data object").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.contract;",150,75,"","Contract",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer contract").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.product;",
150,75,"","Product",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer product").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffff99;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.representation;",150,90,"","Representation",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer representation").join(" "))];this.addPalette("archimate3Business","Archimate 3.0 / Business",!1,mxUtils.bind(this,function(c){for(var f=
0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addArchimate3CompositePalette=function(){var a=[this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#FFB973;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dactor;archiType\x3dsquare;",150,75,"","Location",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate composite element actor").join(" ")),this.createVertexTemplateEntry("shape\x3dfolder;spacingTop\x3d10;tabWidth\x3d100;tabHeight\x3d25;tabPosition\x3dleft;html\x3d1;dashed\x3d1;",
150,105,"","Group",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate composite element actor").join(" "))];this.addPalette("archimate3Composite","Archimate 3.0 / Composite",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addArchimate3ImplementationAndMigrationPalette=function(){var a=[this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#FFE0E0;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;archiType\x3drounded;",
150,75,"","Work Package",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation migration element work package").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#FFE0E0;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3devent;archiType\x3drounded;",150,75,"","Implementation Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation migration element implementation event").join(" ")),
this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#FFE0E0;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.event;",60,35,"","Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation migration element event").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#FFE0E0;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.deliverable;",150,60,"","Deliverable",null,null,this.getTagsForStencil("mxgraph.archimate3",
"","archimate implementation migration element deliverable").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#E0FFE0;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.tech;techType\x3dplateau;",150,75,"","Plateau",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation migration element plateau").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#E0FFE0;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.gap;",
150,60,"","Gap",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation migration element gap").join(" "))];this.addPalette("archimate3Implementation and Migration","Archimate 3.0 / Implementation and Migration",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addArchimate3MotivationPalette=function(){var a=[this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3drole;archiType\x3doct;",
150,75,"","Stakeholder",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element stakeholder").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3ddriver;archiType\x3doct;",150,75,"","Driver",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element driver").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dassess;archiType\x3doct;",
150,75,"","Assesment",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element assessment").join(" ")),this.createVertexTemplateEntry("shape\x3dellipse;html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;",150,75,"","Value",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element value").join(" ")),this.createVertexTemplateEntry("shape\x3dcloud;html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;",
150,75,"","Meaning",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element meaning").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dgoal;archiType\x3doct;",150,75,"","Goal",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element goal").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3doutcome;archiType\x3doct;",
150,75,"","Outcome",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element outcome").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dprinciple;archiType\x3doct;",150,75,"","Principle",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element principle").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3drequirement;archiType\x3doct;",
150,75,"","Requirement",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element requirement").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.requirement;",100,50,"","Requirement",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element requirement").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dconstraint;archiType\x3doct;",
150,75,"","Constraint",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element constraint").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#CCCCFF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.constraint;",100,50,"","Constraint",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate implementation motivation element constraint").join(" "))];this.addPalette("archimate3Motivation","Archimate 3.0 / Motivation",
!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addArchimate3PhysicalPalette=function(){var a=[this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.tech;techType\x3dfacility;",150,75,"","Facility",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate physical element facility").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.tech;techType\x3dequipment;",
150,75,"","Equipment",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate physical element equipment").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dmaterial;archiType\x3dsquare;",150,75,"","Material",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate physical element material").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3ddistribution;archiType\x3dsquare;",
150,75,"","Distribution Network",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate physical element distribution").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.distribution;",90,40,"","Distribution Network",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate physical element distribution").join(" "))];this.addPalette("archimate3Physical","Archimate 3.0 / Physical",!1,
mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addArchimate3RelationshipsPalette=function(){var a=this,c=[this.createEdgeTemplateEntry("html\x3d1;endArrow\x3ddiamondThin;endFill\x3d1;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;endSize\x3d10;",160,0,"","Composition",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship composition").join(" ")),this.createEdgeTemplateEntry("html\x3d1;endArrow\x3ddiamondThin;endFill\x3d0;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;endSize\x3d10;",
160,0,"","Aggregation",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship aggregation").join(" ")),this.createEdgeTemplateEntry("endArrow\x3dblock;html\x3d1;endFill\x3d1;startArrow\x3doval;startFill\x3d1;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;",160,0,"","Assignment",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship assignment").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dblock;elbow\x3dvertical;endFill\x3d0;dashed\x3d1;",
160,0,"","Realization",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship realization").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dopen;elbow\x3dvertical;endFill\x3d1;",160,0,"","Serving",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship serving").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dnone;elbow\x3dvertical;dashed\x3d1;startFill\x3d0;dashPattern\x3d1 4;",
160,0,"","Access",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship access").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dopen;elbow\x3dvertical;endFill\x3d0;dashed\x3d1;startArrow\x3dopen;startFill\x3d0;dashPattern\x3d1 4;",160,0,"","Access",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship access").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dopen;elbow\x3dvertical;endFill\x3d0;dashed\x3d1;dashPattern\x3d1 4;",
160,0,"","Access",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship access").join(" ")),this.addEntry("uml influence",function(){var c=new mxCell("+/-",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dopen;elbow\x3dvertical;endFill\x3d0;dashed\x3d1;dashPattern\x3d6 4;");c.geometry.setTerminalPoint(new mxPoint(0,0),!0);c.geometry.setTerminalPoint(new mxPoint(160,0),!1);c.geometry.relative=!0;c.geometry.x=1;c.geometry.y=10;c.edge=!0;return a.createEdgeTemplateFromCells([c],
160,0,"Influence")}),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dblock;dashed\x3d0;elbow\x3dvertical;endFill\x3d1;",160,0,"","Triggering",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship triggering").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dblock;dashed\x3d1;elbow\x3dvertical;endFill\x3d1;dashPattern\x3d6 4;",160,0,"","Flow",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship flow").join(" ")),
this.createEdgeTemplateEntry("endArrow\x3dblock;html\x3d1;endFill\x3d0;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;",160,0,"","Specialization",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship specialization").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;html\x3d1;endArrow\x3dnone;elbow\x3dvertical;",160,0,"","Association",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship association").join(" ")),this.createVertexTemplateEntry("ellipse;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;fillColor\x3d#000000;strokeColor\x3d#000000;",
10,10,"","And Junction",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship junction").join(" ")),this.createVertexTemplateEntry("ellipse;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;fillColor\x3d#ffffff;strokeColor\x3d#000000;",10,10,"","Or Junction",null,this.getTagsForStencil("mxgraph.archimate3","","archimate relationship junction").join(" "))];this.addPalette("archimate3Relationships","Archimate 3.0 / Relationships",!1,
mxUtils.bind(this,function(a){for(var d=0;d<c.length;d++)a.appendChild(c[d](a))}))};Sidebar.prototype.addArchimate3StrategyPalette=function(){var a=[this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#F5DEAA;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dresource;archiType\x3dsquare;",150,75,"","Resource",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate strategy resource").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#F5DEAA;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dcapability;archiType\x3dsquare;",
150,75,"","Capability",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate strategy capability").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#F5DEAA;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dcourse;archiType\x3dsquare;",150,75,"","Course of Action",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate strategy course action").join(" "))];this.addPalette("archimate3Strategy","Archimate 3.0 / Strategy",
!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addArchimate3TechnologyPalette=function(){var a=[this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dnode;archiType\x3dsquare;",150,75,"","Node",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology node").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.node;",
100,60,"","Node",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology node").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.tech;techType\x3ddevice;",150,75,"","Device",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology device").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.device;",
80,65,"","Device",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology device").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dsysSw;archiType\x3dsquare;",150,75,"","System Software",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology system software").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.tech;techType\x3dsysSw;",
120,75,"","System Software",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology system software").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dcollab;archiType\x3dsquare;",150,75,"","Technology Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology collaboration").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.collaboration;",
60,35,"","Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology collaboration").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dinterface;archiType\x3dsquare;",150,75,"","Technology Interface",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology component").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.interface;",
70,35,"","Interface",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology interface").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dproc;archiType\x3drounded;",150,75,"","Technology Process",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology process").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.process;",
150,75,"","Process",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology process").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dfunc;archiType\x3drounded;",150,75,"","Technology Function",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology function").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.function;",
75,75,"","Function",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology function").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dinteraction;archiType\x3drounded;",150,75,"","Technology Interaction",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology interaction").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.interaction;",
75,75,"","Interaction",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology interaction").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dserv;archiType\x3drounded",150,75,"","Technology Service",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology service").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.service;",
60,35,"","Service",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology service").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3devent;archiType\x3drounded",150,75,"","Technology Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology event").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.event;",
60,35,"","Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology event").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dartifact;archiType\x3dsquare;",150,75,"","Technology Artifact",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology artifact").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.artifact;",
50,75,"","Artifact",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology artifact").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dnetw;archiType\x3dsquare;",150,75,"","Communication Network",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology communication network").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.commNetw;strokeWidth\x3d6;",
100,30,"","Communication Network",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology communication network").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.application;appType\x3dpath;archiType\x3dsquare;",150,75,"","Path",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology communication network").join(" ")),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#AFFFAF;strokeColor\x3d#000000;shape\x3dmxgraph.archimate3.path;strokeWidth\x3d6;",
100,30,"","Path",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate technology path").join(" "))];this.addPalette("archimate3Technology","Archimate 3.0 / Technology",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))}})();
(function(){Sidebar.prototype.addArrows2Palette=function(){var a=[this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.arrow;dy\x3d0.6;dx\x3d40;notch\x3d0;",100,70,"","Arrow Right",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow right").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.arrow;dy\x3d0.6;dx\x3d40;flipH\x3d1;notch\x3d0;",
100,70,"","Arrow Left",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow leftt").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.arrow;dy\x3d0.6;dx\x3d40;direction\x3dnorth;notch\x3d0;",70,100,"","Arrow Up",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow up").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.arrow;dy\x3d0.6;dx\x3d40;direction\x3dsouth;notch\x3d0;",
70,100,"","Arrow Down",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow down").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.arrow;dy\x3d0;dx\x3d30;notch\x3d30;",100,60,"","Chevron Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow chevron").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.arrow;dy\x3d0.6;dx\x3d40;notch\x3d15;",
100,70,"","Notched Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow notched").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.arrow;dy\x3d0;dx\x3d10;notch\x3d10;",100,30,"","Notched Signal-In Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow notched signal in").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.arrow;dy\x3d0;dx\x3d10;notch\x3d0;",
100,30,"","Signal-In Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow signal in").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.arrow;dy\x3d0.67;dx\x3d20;notch\x3d0;",100,60,"","Slender Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow slender").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.twoWayArrow;dy\x3d0.6;dx\x3d35;",
100,60,"","Two Way Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow two way").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.twoWayArrow;dy\x3d0.65;dx\x3d22;",100,60,"","Slender Two Way Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow slender two way").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.stylisedArrow;dy\x3d0.6;dx\x3d40;notch\x3d15;feather\x3d0.4;",
100,60,"","Stylised Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow stylised notch notched").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.sharpArrow;dy1\x3d0.67;dx1\x3d18;dx2\x3d18;notch\x3d0;",100,60,"","Sharp Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow sharp").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.sharpArrow2;dy1\x3d0.67;dx1\x3d18;dx2\x3d18;dy3\x3d0.15;dx3\x3d27;notch\x3d0;",
100,60,"","Sharp Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow sharp").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.calloutArrow;dy\x3d10;dx\x3d20;notch\x3d60;arrowHead\x3d10;",100,60,"","Callout with Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow callout").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.bendArrow;dy\x3d15;dx\x3d38;notch\x3d0;arrowHead\x3d55;rounded\x3d0;",
100,100,"","Bend Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow bend").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.bendArrow;dy\x3d15;dx\x3d38;notch\x3d0;arrowHead\x3d55;rounded\x3d1;",100,100,"","Bend Arrow (rounded)",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow bend rounded").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.bendDoubleArrow;dy\x3d15;dx\x3d38;arrowHead\x3d55;rounded\x3d0;",
100,100,"","Bend Double Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow bend double two way").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.bendDoubleArrow;dy\x3d15;dx\x3d38;arrowHead\x3d55;rounded\x3d1;",100,100,"","Bend Double Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow bend double two way").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.calloutDoubleArrow;dy\x3d10;dx\x3d20;notch\x3d24;arrowHead\x3d10;",
100,50,"","Callout with Double Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow callout double two way").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.calloutQuadArrow;dy\x3d10;dx\x3d20;notch\x3d24;arrowHead\x3d10;",100,100,"","Callout with Quad Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow callout quad four war").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.calloutDouble90Arrow;dy1\x3d10;dx1\x3d20;dx2\x3d70;dy2\x3d70;arrowHead\x3d10;",
100,100,"","Callout with Double Arrow 90"+String.fromCharCode(176),null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow callout double two way orthogonal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.quadArrow;dy\x3d10;dx\x3d20;notch\x3d24;arrowHead\x3d10;",100,100,"","Quad Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow four way quad").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.triadArrow;dy\x3d10;dx\x3d20;arrowHead\x3d40;",
100,70,"","Triad Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow three way triad").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.tailedArrow;dy1\x3d10;dx1\x3d20;notch\x3d0;arrowHead\x3d20;dx2\x3d25;dy2\x3d30;",100,60,"","Tailed Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow tailed").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.tailedNotchedArrow;dy1\x3d10;dx1\x3d20;notch\x3d20;arrowHead\x3d20;dx2\x3d25;dy2\x3d30;",
100,60,"","Tailed Arrow witch Notch",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow tailed notch notched").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.stripedArrow;dy\x3d0.6;dx\x3d40;notch\x3d25;",100,70,"","Striped Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow striped").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.jumpInArrow;dy\x3d15;dx\x3d38;arrowHead\x3d55;",
100,100,"","Jump-In Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow jump in").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;verticalAlign\x3dmiddle;shape\x3dmxgraph.arrows2.uTurnArrow;dy\x3d11;arrowHead\x3d43;dx2\x3d25;",100,100,"","U Turn Arrow",null,null,this.getTagsForStencil("mxgraph.arrows2","arrow","arrow u turn uturn").join(" "))];this.addPalette("arrows2",mxResources.get("arrows"),!1,mxUtils.bind(this,function(c){for(var f=
0;f<a.length;f++)c.appendChild(a[f](c))}))}})();
(function(){Sidebar.prototype.addAWSPalette=function(){this.addAWSAnalyticsPalette();this.addAWSApplicationServicesPalette();this.addAWSComputePalette();this.addAWSDatabasePalette();this.addAWSDeveloperToolsPalette();this.addAWSEnterpriseApplicationsPalette();this.addAWSGameDevelopmentPalette();this.addAWSGeneralPalette();this.addAWSInternetOfThingsPalette();this.addAWSManagementToolsPalette();this.addAWSMobileServicesPalette();this.addAWSNetworkingPalette();this.addAWSOnDemandWorkforcePalette();
this.addAWSSDKPalette();this.addAWSSecurityAndIdentityPalette();this.addAWSStorageAndContentDeliveryPalette();this.addAWSGroupPalette()};Sidebar.prototype.addAWSAnalyticsPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2Analytics","AWS / Analytics",!1,[this.createVertexTemplateEntry(a+"analytics.data_pipeline;strokeColor\x3dnone;",60,72,"","Data Pipeline",null,null,this.getTagsForStencil("mxgraph.aws.analytics","data pipeline",
"aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"analytics.elasticsearch;strokeColor\x3dnone;",60,72,"","ElasticSearch",null,null,this.getTagsForStencil("mxgraph.aws.analytics","elasticsearch","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"analytics.emr;strokeColor\x3dnone;",60,72,"","EMR",null,null,this.getTagsForStencil("mxgraph.aws.analytics","emr","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+
"compute_and_networking.emr_cluster;strokeColor\x3dnone;",49,55,"","EMR Cluster",null,null,this.getTagsForStencil("mxgraph.aws.analytics","emr cluster","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.emr_engine;strokeColor\x3dnone;",74,53,"","EMR Engine",null,null,this.getTagsForStencil("mxgraph.aws.analytics","emr engine","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.emr_hdfs_cluster;strokeColor\x3dnone;",
54,56,"","EMR HDFS Cluster",null,null,this.getTagsForStencil("mxgraph.aws.analytics","emr hdfs cluster","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.emr_mapr_m3_engine;strokeColor\x3dnone;",74,53,"","EMR MapR M3 Engine",null,null,this.getTagsForStencil("mxgraph.aws.analytics","emr mapr m3 engine","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.emr_mapr_m5_engine;strokeColor\x3dnone;",
74,53,"","EMR MapR M5 Engine",null,null,this.getTagsForStencil("mxgraph.aws.analytics","emr mapr m5 engine","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.emr_mapr_m7_engine;strokeColor\x3dnone;",74,53,"","EMR MapR M7 Engine",null,null,this.getTagsForStencil("mxgraph.aws.analytics","emr mapr m7 engine","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"analytics.kinesis;strokeColor\x3dnone;",59,72,"",
"Kinesis",null,null,this.getTagsForStencil("mxgraph.aws.analytics","kinesis","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"analytics.kinesis_analytics;strokeColor\x3dnone;",66,67,"","Kinesis Analytics",null,null,this.getTagsForStencil("mxgraph.aws.analytics","kinesis analytics","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"analytics.kinesis_enabledapp;strokeColor\x3dnone;",58,60,"","Kinesis EnabledApp",null,null,this.getTagsForStencil("mxgraph.aws.analytics",
"kinesis enabledapp enabled app","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"analytics.kinesis_firehose;strokeColor\x3dnone;",53,56,"","Kinesis Firehose",null,null,this.getTagsForStencil("mxgraph.aws.analytics","kinesis firehose","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"analytics.kinesis_streams;strokeColor\x3dnone;",53,56,"","Kinesis Streams",null,null,this.getTagsForStencil("mxgraph.aws.analytics","kinesis streams",
"aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"analytics.machine_learning;strokeColor\x3dnone;",60,72,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.aws.analytics","machine learning","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"analytics.quicksight;strokeColor\x3dnone;",60,66,"","QuickSight",null,null,this.getTagsForStencil("mxgraph.aws.analytics","quicksight","aws group amazon web service analytics").join(" "))])};
Sidebar.prototype.addAWSApplicationServicesPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2Application Services","AWS / Application Services",!1,[this.createVertexTemplateEntry(a+"app_services.api_gateway;strokeColor\x3dnone;",60,72,"","API Gateway",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","api gateway","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+
"app_services.appstream;strokeColor\x3dnone;",59,72,"","AppStream",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","appstream","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+"app_services.cloudsearch;strokeColor\x3dnone;",59,72,"","CloudSearch",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","cloudsearch","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+"app_services.cloudsearch_sdf_metadata;strokeColor\x3dnone;",
52,56,"","CloudSearch SDF Metadata",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","cloudsearch sdf metadata","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+"app_services.elastic_transcoder;strokeColor\x3dnone;",59,72,"","Elastic Transcoder",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","elastic transcoder","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+"app_services.ses;strokeColor\x3dnone;",
61,72,"","SES",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","ses","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+"app_services.email;strokeColor\x3dnone;",73,54,"","SES Email",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","ses email","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+"app_services.sqs;strokeColor\x3dnone;",59,72,"","SQS",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices",
"sqs","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+"app_services.sqs_message;strokeColor\x3dnone;",37,42,"","SQS Message",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","sqs message","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+"app_services.sqs_queue;strokeColor\x3dnone;",65,42,"","SQS Queue",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","sqs queue","aws group amazon web service application services").join(" ")),
this.createVertexTemplateEntry(a+"app_services.swf;strokeColor\x3dnone;",59,72,"","SWF",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","swf","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+"app_services.swf_decider;strokeColor\x3dnone;",55,57,"","SWF Decider",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","swf decider","aws group amazon web service application services").join(" ")),this.createVertexTemplateEntry(a+
"app_services.swf_worker;strokeColor\x3dnone;",53,56,"","SWF Worker",null,null,this.getTagsForStencil("mxgraph.aws.applicationServices","swf worker","aws group amazon web service application services").join(" "))])};Sidebar.prototype.addAWSComputePalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.compute_and_networking.";this.addPaletteFunctions("aws2Compute","AWS / Compute",!1,[this.createVertexTemplateEntry(a+"auto_scaling;strokeColor\x3dnone;",59,57,"",
"Auto Scaling",null,null,this.getTagsForStencil("mxgraph.aws.compute","auto scaling","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"ec2;strokeColor\x3dnone;",59,72,"","EC2",null,null,this.getTagsForStencil("mxgraph.aws.compute","ec2","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"ec2_ami;strokeColor\x3dnone;",53,56,"","EC2 AMI",null,null,this.getTagsForStencil("mxgraph.aws.compute","ec2 ami","aws group amazon web service compute").join(" ")),
this.createVertexTemplateEntry(a+"ec2_cloudwatch;strokeColor\x3dnone;",53,56,"","EC2 CloudWatch",null,null,this.getTagsForStencil("mxgraph.aws.compute","ec2 cloudwatch","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"ec2_db_on_instance;strokeColor\x3dnone;",52,56,"","EC2 DB On Instance",null,null,this.getTagsForStencil("mxgraph.aws.compute","ec2 db on instance database","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"ec2_elastic_ip;strokeColor\x3dnone;",
67,22,"","EC2 Elastic IP",null,null,this.getTagsForStencil("mxgraph.aws.compute","ec2 elastic ip","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"ec2_instance;strokeColor\x3dnone;",52,56,"","EC2 Instance",null,null,this.getTagsForStencil("mxgraph.aws.compute","ec2 instance","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"ec2_instances;strokeColor\x3dnone;",50,57,"","EC2 Instances",null,null,this.getTagsForStencil("mxgraph.aws.compute",
"ec2 instances","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"ec2_optimized_instance;strokeColor\x3dnone;",53,56,"","EC2 Optimized Instance",null,null,this.getTagsForStencil("mxgraph.aws.compute","ec2 optimized instance","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"ec2_spot_instance;strokeColor\x3dnone;",53,57,"","EC2 Spot Instance",null,null,this.getTagsForStencil("mxgraph.aws.compute","ec2 spot instance","aws group amazon web service compute").join(" ")),
this.createVertexTemplateEntry(a+"ec2_container_registry;strokeColor\x3dnone;",61,63,"","EC2 Container Registry",null,null,this.getTagsForStencil("mxgraph.aws.compute","ec2 container registry","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"ec2_container_service;strokeColor\x3dnone;",61,63,"","EC2 Container Service",null,null,this.getTagsForStencil("mxgraph.aws.compute","ec2 container service","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+
"elastic_beanstalk;strokeColor\x3dnone;",59,82,"","Elastic Beanstalk",null,null,this.getTagsForStencil("mxgraph.aws.compute","elastic beanstalk","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"elastic_beanstalk_application;strokeColor\x3dnone;",31,57,"","Elastic Beanstalk Application",null,null,this.getTagsForStencil("mxgraph.aws.compute","elastic beanstalk application","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"elastic_beanstalk_deployment;strokeColor\x3dnone;",
50,66,"","Elastic Beanstalk Deployment",null,null,this.getTagsForStencil("mxgraph.aws.compute","elastic beanstalk deployment","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"elastic_load_balancing_2;strokeColor\x3dnone;",56,58,"","Elastic Load Balancing",null,null,this.getTagsForStencil("mxgraph.aws.compute","elastic load balancing","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(a+"lambda;strokeColor\x3dnone;",59,72,"","Lambda",
null,null,this.getTagsForStencil("mxgraph.aws.compute","lambda","aws group amazon web service compute").join(" "))])};Sidebar.prototype.addAWSDatabasePalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2Database","AWS / Database",!1,[this.createVertexTemplateEntry(a+"database.database_migration_service;strokeColor\x3dnone;",64,72,"","Database Migration Service",null,null,this.getTagsForStencil("mxgraph.aws.database","database migration service",
"aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.dynamodb;strokeColor\x3dnone;",59,72,"","DynamoDB",null,null,this.getTagsForStencil("mxgraph.aws.database","dynamodb","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.dynamodb_attribute;strokeColor\x3dnone;",54,56,"","DynamoDB Attribute",null,null,this.getTagsForStencil("mxgraph.aws.database","dynamodb attribute","aws group amazon web service database").join(" ")),
this.createVertexTemplateEntry(a+"database.dynamodb_attributes;strokeColor\x3dnone;",52,56,"","DynamoDB Attributes",null,null,this.getTagsForStencil("mxgraph.aws.database","dynamodb attributes","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.dynamodb_global_secondary_indexes;strokeColor\x3dnone;",53,56,"","DynamoDB Global Secondary Index",null,null,this.getTagsForStencil("mxgraph.aws.database","dynamodb global secondary indexes","aws group amazon web service database").join(" ")),
this.createVertexTemplateEntry(a+"database.dynamodb_item;strokeColor\x3dnone;",55,56,"","DynamoDB Item",null,null,this.getTagsForStencil("mxgraph.aws.database","dynamodb item","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.dynamodb_items;strokeColor\x3dnone;",52,57,"","DynamoDB Items",null,null,this.getTagsForStencil("mxgraph.aws.database","dynamodb items","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.dynamodb_table;strokeColor\x3dnone;",
60,56,"","DynamoDB Table",null,null,this.getTagsForStencil("mxgraph.aws.database","dynamodb table","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.elasticcache_memcache;strokeColor\x3dnone;",52,55,"","ElasticCache MemCache",null,null,this.getTagsForStencil("mxgraph.aws.database","elasticcache memcache","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.elasticcache;strokeColor\x3dnone;",59,72,"","ElasticCache",
null,null,this.getTagsForStencil("mxgraph.aws.database","elasticcache","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.elasticcache_node;strokeColor\x3dnone;",52,55,"","ElasticCache Node",null,null,this.getTagsForStencil("mxgraph.aws.database","elasticcache node","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.elasticcache_redis;strokeColor\x3dnone;",52,55,"","ElasticCache Redis",null,null,this.getTagsForStencil("mxgraph.aws.database",
"elasticcache redis","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds;strokeColor\x3dnone;",63,72,"","RDS",null,null,this.getTagsForStencil("mxgraph.aws.database","rds","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds_db_instance;strokeColor\x3dnone;",43,56,"","RDS DB Instance",null,null,this.getTagsForStencil("mxgraph.aws.database","rds db instance","aws group amazon web service database").join(" ")),
this.createVertexTemplateEntry(a+"database.rds_instance_read_replica;strokeColor\x3dnone;",43,56,"","RDS Instance Read Replica",null,null,this.getTagsForStencil("mxgraph.aws.database","rds instance read replica","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds_instance_standby;strokeColor\x3dnone;",43,56,"","RDS Instance Standby",null,null,this.getTagsForStencil("mxgraph.aws.database","rds instance standby","aws group amazon web service database").join(" ")),
this.createVertexTemplateEntry(a+"database.rds_ms_sql_instance;strokeColor\x3dnone;",52,55,"","RDS MS SQL Instance",null,null,this.getTagsForStencil("mxgraph.aws.database","rds ms sql instance","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds_ms_sql_instance_2;strokeColor\x3dnone;",52,56,"","RDS MS SQL Instance",null,null,this.getTagsForStencil("mxgraph.aws.database","rds ms sql instance","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+
"database.rds_mysql_db_instance;strokeColor\x3dnone;",52,55,"","RDS MySQL Instance",null,null,this.getTagsForStencil("mxgraph.aws.database","rds mysql db instance","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds_mysql_db_instance_2;strokeColor\x3dnone;",52,56,"","RDS MySQL Instance",null,null,this.getTagsForStencil("mxgraph.aws.database","rds mysql db instance","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds_oracle_db_instance;strokeColor\x3dnone;",
52,55,"","RDS Oracle Instance",null,null,this.getTagsForStencil("mxgraph.aws.database","rds oracle db instance","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds_oracle_db_instance_2;strokeColor\x3dnone;",52,56,"","RDS Oracle Instance",null,null,this.getTagsForStencil("mxgraph.aws.database","rds oracle db instance","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds_replica_sets_with_piop;strokeColor\x3dnone;",
53,55,"","RDS PIOP",null,null,this.getTagsForStencil("mxgraph.aws.database","rds piop","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds_postgresql;strokeColor\x3dnone;",52,55,"","RDS PostgreSQL",null,null,this.getTagsForStencil("mxgraph.aws.database","rds postgresql","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds_mastersql;strokeColor\x3dnone;",52,56,"","RDS SQL Master",null,null,this.getTagsForStencil("mxgraph.aws.database",
"rds sql master","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.rds_slavesql;strokeColor\x3dnone;",52,56,"","RDS SQL Slave",null,null,this.getTagsForStencil("mxgraph.aws.database","rds sql slave","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.redshift;strokeColor\x3dnone;",60,66,"","Redshift",null,null,this.getTagsForStencil("mxgraph.aws.database","redshift","aws group amazon web service database").join(" ")),
this.createVertexTemplateEntry(a+"database.redshift_dense_compute_node;strokeColor\x3dnone;",49,55,"","Redshift Dense Compute Node",null,null,this.getTagsForStencil("mxgraph.aws.database","redshift dense compute node","aws group amazon web service database").join(" ")),this.createVertexTemplateEntry(a+"database.redshift_dense_storage_node;strokeColor\x3dnone;",49,55,"","Redshift Dense Storage Node",null,null,this.getTagsForStencil("mxgraph.aws.database","redshift dense storage node","aws group amazon web service database").join(" "))])};
Sidebar.prototype.addAWSDeveloperToolsPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2Developer Tools","AWS / Developer Tools",!1,[this.createVertexTemplateEntry(a+"developer_tools.code_commit;strokeColor\x3dnone;",68,82,"","Code Commit",null,null,this.getTagsForStencil("mxgraph.aws.developerTools","code commit","aws group amazon web service developer tools").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.codedeploy;strokeColor\x3dnone;",
59,72,"","Code Deploy",null,null,this.getTagsForStencil("mxgraph.aws.developerTools","codedeploy","aws group amazon web service developer tools").join(" ")),this.createVertexTemplateEntry(a+"developer_tools.code_pipeline;strokeColor\x3dnone;",60,72,"","Code Pipeline",null,null,this.getTagsForStencil("mxgraph.aws.developerTools","code pipeline","aws group amazon web service developer tools").join(" "))])};Sidebar.prototype.addAWSEnterpriseApplicationsPalette=function(){var a="dashed\x3d0;html\x3d1;"+
mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2Enterprise Applications","AWS / Enterprise Applications",!1,[this.createVertexTemplateEntry(a+"enterprise_applications.workdocs;strokeColor\x3dnone;",74,85,"","WorkDocs",null,null,this.getTagsForStencil("mxgraph.aws.enterpriseApplications","workdocs","aws group amazon web service enterprise applications").join(" ")),this.createVertexTemplateEntry(a+"enterprise_applications.workmail;strokeColor\x3dnone;",74,85,"","WorkMail",
null,null,this.getTagsForStencil("mxgraph.aws.enterpriseApplications","workmail","aws group amazon web service enterprise applications").join(" ")),this.createVertexTemplateEntry(a+"enterprise_applications.workspaces;strokeColor\x3dnone;",74,85,"","WorkSpaces",null,null,this.getTagsForStencil("mxgraph.aws.enterpriseApplications","workspaces","aws group amazon web service enterprise applications").join(" "))])};Sidebar.prototype.addAWSGameDevelopmentPalette=function(){this.addPaletteFunctions("aws2Game Development",
"AWS / Game Development",!1,[this.createVertexTemplateEntry("dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.game_development.gamelift;strokeColor\x3dnone;",62,75,"","GameLift",null,null,this.getTagsForStencil("mxgraph.aws.gameDevelopment","game lift","aws amazon web service game development").join(" "))])};Sidebar.prototype.addAWSGeneralPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2General","AWS / General",
!1,[this.createVertexTemplateEntry(a+"non-service_specific.client;strokeColor\x3dnone;",57,57,"","Client",null,null,this.getTagsForStencil("mxgraph.aws.general","client","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.cloud;strokeColor\x3dnone;",70,46,"","Cloud",null,null,this.getTagsForStencil("mxgraph.aws.general","cloud","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.corporate_data_center;strokeColor\x3dnone;",
42,57,"","Corporate Data Center",null,null,this.getTagsForStencil("mxgraph.aws.general","corporate data center","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.disk;strokeColor\x3dnone;",57,57,"","Disk",null,null,this.getTagsForStencil("mxgraph.aws.general","disk","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.forums;strokeColor\x3dnone;",76,73,"","Forums",null,null,this.getTagsForStencil("mxgraph.aws.general",
"forums","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.generic_database;strokeColor\x3dnone;",44,57,"","Generic Database",null,null,this.getTagsForStencil("mxgraph.aws.general","generic database","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.internet;strokeColor\x3dnone;",70,46,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws.general","internet","aws amazon web service general").join(" ")),
this.createVertexTemplateEntry(a+"non-service_specific.management_console;strokeColor\x3dnone;",57,57,"","Management Console",null,null,this.getTagsForStencil("mxgraph.aws.general","management console","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.mobile_client;strokeColor\x3dnone;",37,57,"","Mobile Client",null,null,this.getTagsForStencil("mxgraph.aws.general","mobile client","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+
"non-service_specific.multimedia;strokeColor\x3dnone;",59,57,"","Multimedia",null,null,this.getTagsForStencil("mxgraph.aws.general","multimedia","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.tape_storage;strokeColor\x3dnone;",68,38,"","Tape Storage",null,null,this.getTagsForStencil("mxgraph.aws.general","tape storage","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.traditional_server;strokeColor\x3dnone;",
41,56,"","Traditional Server",null,null,this.getTagsForStencil("mxgraph.aws.general","traditional server","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.user;strokeColor\x3dnone;",41,56,"","User",null,null,this.getTagsForStencil("mxgraph.aws.general","user","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.users;strokeColor\x3dnone;",58,56,"","Users",null,null,this.getTagsForStencil("mxgraph.aws.general",
"users","aws amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"non-service_specific.virtual_private_cloud;strokeColor\x3dnone;",70,46,"","Virtual Private Cloud",null,null,this.getTagsForStencil("mxgraph.aws.general","vpc virtual private cloud","aws amazon web service general").join(" "))])};Sidebar.prototype.addAWSInternetOfThingsPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.internet_of_things.";this.addPaletteFunctions("aws2Internet of Things",
"AWS / Internet of Things",!1,[this.createVertexTemplateEntry(a+"action;strokeColor\x3dnone;",55,57,"","Action",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","action","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"actuator;strokeColor\x3dnone;",68,80,"","Actuator",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","actuator","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+
"aws-iot;strokeColor\x3dnone;",60,72,"","AWS IOT",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","aws iot","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"bank;strokeColor\x3dnone;",71,71,"","Bank",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","bank","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"bicycle;strokeColor\x3dnone;",71,71,"","Bicycle",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings",
"bicycle","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"camera;strokeColor\x3dnone;",71,71,"","Camera",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","camera","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"car;strokeColor\x3dnone;",71,71,"","Car",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","car","aws group amazon web service internet of things iot").join(" ")),
this.createVertexTemplateEntry(a+"cart;strokeColor\x3dnone;",71,71,"","Cart",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","cart","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"certificate;strokeColor\x3dnone;",56,77,"","Certificate",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","certificate","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"coffee_pot;strokeColor\x3dnone;",
71,71,"","Coffee Pot",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","coffee pot","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"desired_state;strokeColor\x3dnone;",53,57,"","Desired State",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","desired_state","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"door_lock;strokeColor\x3dnone;",71,71,"","Door Lock",null,null,
this.getTagsForStencil("mxgraph.aws.internetOfThings","door lock","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"factory;strokeColor\x3dnone;",71,71,"","Factory",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","factory","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"generic_iot_thing;strokeColor\x3dnone;",71,71,"","Generic IOT Thing",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings",
"generic iot thing","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"hardware_board;strokeColor\x3dnone;",75,87,"","Hardware Board",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","hardware_board","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"house;strokeColor\x3dnone;",71,71,"","House",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","house","aws group amazon web service internet of things iot").join(" ")),
this.createVertexTemplateEntry(a+"http_protocol;strokeColor\x3dnone;",56,59,"","HTTP Protocol",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","http protocol","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"http2_protocol;strokeColor\x3dnone;",56,59,"","HTTP2 Protocol",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","http2 protocol","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+
"lightbulb;strokeColor\x3dnone;",71,71,"","Lightbulb",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","lightbulb","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"medical_emergency;strokeColor\x3dnone;",71,71,"","Medical Emergency",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","medical_emergency","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"mqtt_protocol;strokeColor\x3dnone;",
56,59,"","MQTT Protocol",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","mqtt protocol","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"police_emergency;strokeColor\x3dnone;",71,71,"","Police Emergency",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","police_emergency","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"policy;strokeColor\x3dnone;",49,79,"","Policy",
null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","policy","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"reported_state;strokeColor\x3dnone;",53,57,"","Reported State",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","reported_state","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"rule;strokeColor\x3dnone;",44,87,"","Rule",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings",
"rule","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"sensor;strokeColor\x3dnone;",68,80,"","Sensor",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","sensor","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"servo;strokeColor\x3dnone;",75,53,"","Servo",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","servo","aws group amazon web service internet of things iot").join(" ")),
this.createVertexTemplateEntry(a+"shadow;strokeColor\x3dnone;",75,80,"","Shadow",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","shadow","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"simulator;strokeColor\x3dnone;",67,70,"","Simulator",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","simulator","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"thermostat;strokeColor\x3dnone;",
71,71,"","Thermostat",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","thermostat","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"topic;strokeColor\x3dnone;",44,59,"","Topic",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","topic","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"travel;strokeColor\x3dnone;",71,71,"","Travel",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings",
"travel","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"utility;strokeColor\x3dnone;",71,71,"","Utility",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","utility","aws group amazon web service internet of things iot").join(" ")),this.createVertexTemplateEntry(a+"windfarm;strokeColor\x3dnone;",71,71,"","Windfarm",null,null,this.getTagsForStencil("mxgraph.aws.internetOfThings","windfarm","aws group amazon web service internet of things iot").join(" "))])};
Sidebar.prototype.addAWSManagementToolsPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2Management Tools","AWS / Management Tools",!1,[this.createVertexTemplateEntry(a+"deployment_and_management.cloudformation;strokeColor\x3dnone;",59,72,"","CloudFormation",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","cloudformation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+
"deployment_and_management.cloudformation_stack;strokeColor\x3dnone;",64,49,"","CloudFormation Stack",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","cloudformation stack","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.cloudformation_template;strokeColor\x3dnone;",48,56,"","CloudFormation Template",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","cloudformation template","aws group amazon web service management tools").join(" ")),
this.createVertexTemplateEntry(a+"deployment_and_management.cloudtrail;strokeColor\x3dnone;",59,72,"","CloudTrail",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","cloudtrail","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.cloudwatch;strokeColor\x3dnone;",63,72,"","CloudWatch",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","cloudwatch","aws group amazon web service management tools").join(" ")),
this.createVertexTemplateEntry(a+"deployment_and_management.cloudwatch_alarm;strokeColor\x3dnone;",48,58,"","CloudWatch Alarm",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","cloudwatch alarm","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"administration_and_security.config;strokeColor\x3dnone;",59,72,"","Config",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","config","aws group amazon web service management tools").join(" ")),
this.createVertexTemplateEntry(a+"deployment_and_management.opsworks;strokeColor\x3dnone;",59,72,"","OpsWorks",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","opsworks","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.opsworks_apps;strokeColor\x3dnone;",72,72,"","OpsWorks Apps",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","opsworks apps","aws group amazon web service management tools").join(" ")),
this.createVertexTemplateEntry(a+"deployment_and_management.opsworks_deployments;strokeColor\x3dnone;",72,68,"","OpsWorks Deployments",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","opsworks deployments","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.opsworks_instances;strokeColor\x3dnone;",72,72,"","OpsWorks Instances",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","opsworks instances","aws group amazon web service management tools").join(" ")),
this.createVertexTemplateEntry(a+"deployment_and_management.opsworks_layers;strokeColor\x3dnone;",72,72,"","OpsWorks Layers",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","opsworks layers","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.opsworks_monitoring;strokeColor\x3dnone;",72,60,"","OpsWorks Monitoring",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","opsworks monitoring","aws group amazon web service management tools").join(" ")),
this.createVertexTemplateEntry(a+"deployment_and_management.opsworks_permissions;strokeColor\x3dnone;",59,72,"","OpsWorks Permissions",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","opsworks permissions","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.opsworks_resources;strokeColor\x3dnone;",59,72,"","OpsWorks Resources",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","opsworks resources","aws group amazon web service management tools").join(" ")),
this.createVertexTemplateEntry(a+"deployment_and_management.opsworks_stack;strokeColor\x3dnone;",60,70,"","OpsWorks Stack",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","opsworks stack","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"management_tools.service_catalog;strokeColor\x3dnone;",60,70,"","Service Catalog",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","service catalog","aws group amazon web service management tools").join(" ")),
this.createVertexTemplateEntry(a+"administration_and_security.trusted_advisor;strokeColor\x3dnone;",60,72,"","Trusted Advisor",null,null,this.getTagsForStencil("mxgraph.aws.managementTools","trusted advisor","aws group amazon web service management tools").join(" "))])};Sidebar.prototype.addAWSMobileServicesPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2Mobile Services","AWS / Mobile Services",!1,[this.createVertexTemplateEntry(a+
"mobile_services.aws_mobile_hub;strokeColor\x3dnone;",83,86,"","AWS Mobile Hub",null,null,this.getTagsForStencil("mxgraph.aws.mobileServices","aws mobile hub","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_services.cognito;strokeColor\x3dnone;",59,72,"","Cognito",null,null,this.getTagsForStencil("mxgraph.aws.mobileServices","cognito","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_services.device_farm;strokeColor\x3dnone;",
68,82,"","Device Farm",null,null,this.getTagsForStencil("mxgraph.aws.mobileServices","device farm","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_services.mobile_analytics;strokeColor\x3dnone;",70,72,"","Mobile Analitycs",null,null,this.getTagsForStencil("mxgraph.aws.mobileServices","mobile analytics","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_services.sns;strokeColor\x3dnone;",69,69,"","SNS",
null,null,this.getTagsForStencil("mxgraph.aws.mobileServices","sns","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_services.sns_email_notification;strokeColor\x3dnone;",90,56,"","SNS Email Notification",null,null,this.getTagsForStencil("mxgraph.aws.mobileServices","sns email notification","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_services.sns_http_notification;strokeColor\x3dnone;",90,56,
"","SNS HTTP Notification",null,null,this.getTagsForStencil("mxgraph.aws.mobileServices","sns http notification","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_services.sns_topic;strokeColor\x3dnone;",90,56,"","SNS Topic",null,null,this.getTagsForStencil("mxgraph.aws.mobileServices","sns topic","aws group amazon web service mobile services").join(" "))])};Sidebar.prototype.addAWSNetworkingPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+
"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2Networking","AWS / Networking",!1,[this.createVertexTemplateEntry(a+"compute_and_networking.aws_direct_connect;strokeColor\x3dnone;",59,72,"","Direct Connect",null,null,this.getTagsForStencil("mxgraph.aws.networking","direct connect","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.route_53;strokeColor\x3dnone;",59,72,"","Route 53",null,null,this.getTagsForStencil("mxgraph.aws.networking",
"route 53","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.route_53_hosted_zone;strokeColor\x3dnone;",58,56,"","Route 53 Hosted Zone",null,null,this.getTagsForStencil("mxgraph.aws.networking","route 53 hosted zone","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.route_53_route_table;strokeColor\x3dnone;",66,61,"","Route 53 Table",null,null,this.getTagsForStencil("mxgraph.aws.networking",
"route 53 table","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.vpc;strokeColor\x3dnone;",59,72,"","VPC",null,null,this.getTagsForStencil("mxgraph.aws.networking","vpc virtual private cloud","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"networking.vpc_customer_gateway;strokeColor\x3dnone;",61,64,"","VPC Customer Gateway",null,null,this.getTagsForStencil("mxgraph.aws.networking","vpc virtual private cloud customer gateway",
"aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"networking.vpc_endpoints;strokeColor\x3dnone;",61,64,"","VPC Endpoints",null,null,this.getTagsForStencil("mxgraph.aws.networking","vpc virtual private cloud endpoints","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"networking.vpc_flowlogs;strokeColor\x3dnone;",61,64,"","VPC Flowlogs",null,null,this.getTagsForStencil("mxgraph.aws.networking","vpc virtual private cloud flowlogs",
"aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.vpc_internet_gateway;strokeColor\x3dnone;",55,57,"","VPC Internet Gateway",null,null,this.getTagsForStencil("mxgraph.aws.networking","vpc virtual private cloud internet gateway","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.vpc_peering;strokeColor\x3dnone;",55,57,"","VPC Peering",null,null,this.getTagsForStencil("mxgraph.aws.networking",
"vpc virtual private cloud peering","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"networking.vpc_router;strokeColor\x3dnone;",61,64,"","VPC Router",null,null,this.getTagsForStencil("mxgraph.aws.networking","vpc virtual private cloud router","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.vpc_vpn_connection;strokeColor\x3dnone;",52,41,"","VPC VPN Connection",null,null,this.getTagsForStencil("mxgraph.aws.networking",
"vpc virtual private cloud vpn connection","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"compute_and_networking.vpc_vpn_gateway;strokeColor\x3dnone;",55,57,"","VPC VPN Gateway",null,null,this.getTagsForStencil("mxgraph.aws.networking","vpc virtual private cloud vpn gateway","aws group amazon web service networking").join(" ")),this.createVertexTemplateEntry(a+"networking.vpcnat_gateway;strokeColor\x3dnone;",61,64,"","VPCNAT Gateway",null,null,this.getTagsForStencil("mxgraph.aws.networking",
"vpc virtual private cloud vpcnat gateway","aws group amazon web service networking").join(" "))])};Sidebar.prototype.addAWSOnDemandWorkforcePalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2On-Demand Workforce","AWS / On-Demand Workforce",!1,[this.createVertexTemplateEntry(a+"on-demand_workforce.mechanical_turk;strokeColor\x3dnone;",60,72,"","Mechanical Turk",null,null,this.getTagsForStencil("mxgraph.aws.on-demand_workforce",
"mechanical turk","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"on-demand_workforce.mechanical_turk_assignment_task;strokeColor\x3dnone;",41,56,"","Mechanical Turk Assignment Task",null,null,this.getTagsForStencil("mxgraph.aws.on-demand_workforce","mechanical turk assignment task","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"on-demand_workforce.mechanical_turk_human_intelligence_tasks;strokeColor\x3dnone;",
46,50,"","Mechanical Turk Human Intelligence Task (HIT)",null,null,this.getTagsForStencil("mxgraph.aws.on-demand_workforce","mechanical turk human intelligence task hit","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"on-demand_workforce.mechanical_turk_requester;strokeColor\x3dnone;",49,57,"","Mechanical Turk Requester",null,null,this.getTagsForStencil("mxgraph.aws.on-demand_workforce","mechanical turk requester","aws group amazon web service on demand workforce").join(" ")),
this.createVertexTemplateEntry(a+"on-demand_workforce.mechanical_turk_workers;strokeColor\x3dnone;",59,57,"","Mechanical Turk Workers",null,null,this.getTagsForStencil("mxgraph.aws.on-demand_workforce","mechanical turk workers","aws group amazon web service on demand workforce").join(" "))])};Sidebar.prototype.addAWSSDKPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2SDKs","AWS / SDKs",!1,[this.createVertexTemplateEntry(a+
"sdks.android;strokeColor\x3dnone;",62,72,"","Android",null,null,this.getTagsForStencil("mxgraph.aws.sdks","android","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.cli;strokeColor\x3dnone;",62,72,"","CLI",null,null,this.getTagsForStencil("mxgraph.aws.sdks","cli","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.aws_toolkit_for_eclipse;strokeColor\x3dnone;",62,72,"","Toolkit for Eclipse",
null,null,this.getTagsForStencil("mxgraph.aws.sdks","toolkit eclipse","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.aws_toolkit_for_visual_studio;strokeColor\x3dnone;",62,72,"","Toolkit for Visual Studio",null,null,this.getTagsForStencil("mxgraph.aws.sdks","toolkit visual studio","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.tools_for_windows_powershell;strokeColor\x3dnone;",
62,72,"","Tools for Windows PowerShell",null,null,this.getTagsForStencil("mxgraph.aws.sdks","tools windows powershell","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.ios;strokeColor\x3dnone;",62,72,"","iOS",null,null,this.getTagsForStencil("mxgraph.aws.sdks","ios","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.java;strokeColor\x3dnone;",62,72,"","Java",null,null,this.getTagsForStencil("mxgraph.aws.sdks",
"java","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.javascript;strokeColor\x3dnone;",62,72,"","JavaScript",null,null,this.getTagsForStencil("mxgraph.aws.sdks","javascript","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.net;strokeColor\x3dnone;",62,72,"","Net",null,null,this.getTagsForStencil("mxgraph.aws.sdks","net","aws group amazon web service sdk softvare development kit").join(" ")),
this.createVertexTemplateEntry(a+"sdks.nodejs;strokeColor\x3dnone;",62,72,"","NodeJS",null,null,this.getTagsForStencil("mxgraph.aws.sdks","nodejs","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.php;strokeColor\x3dnone;",62,72,"","PHP",null,null,this.getTagsForStencil("mxgraph.aws.sdks","php","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.python;strokeColor\x3dnone;",62,72,
"","Python",null,null,this.getTagsForStencil("mxgraph.aws.sdks","python","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.ruby;strokeColor\x3dnone;",62,72,"","Ruby",null,null,this.getTagsForStencil("mxgraph.aws.sdks","ruby","aws group amazon web service sdk softvare development kit").join(" ")),this.createVertexTemplateEntry(a+"sdks.xamarin;strokeColor\x3dnone;",62,72,"","Xamarin",null,null,this.getTagsForStencil("mxgraph.aws.sdks","xamarin",
"aws group amazon web service sdk softvare development kit").join(" "))])};Sidebar.prototype.addAWSSecurityAndIdentityPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2Security and Identity","AWS / Security and Identity",!1,[this.createVertexTemplateEntry(a+"security_and_identity.acm;strokeColor\x3dnone;",68,55,"","ACM",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","acm","aws group amazon web service security identity").join(" ")),
this.createVertexTemplateEntry(a+"security_and_identity.acm_certificate_manager;strokeColor\x3dnone;",65,56,"","ACM Certificate Manager",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","acm certificate manager","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"security_and_identity.service_catalog;strokeColor\x3dnone;",68,82,"","Inspector",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","service catalog","aws group amazon web service security identity").join(" ")),
this.createVertexTemplateEntry(a+"security_and_identity.cloud_hsm;strokeColor\x3dnone;",60,72,"","Cloud HSM",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","cloud hsm","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"security_and_identity.directory_service;strokeColor\x3dnone;",60,72,"","Directory Service",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","directory service","aws group amazon web service security identity").join(" ")),
this.createVertexTemplateEntry(a+"deployment_and_management.iam;strokeColor\x3dnone;",37,72,"","IAM",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","iam","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.iam_add-on;strokeColor\x3dnone;",44,24,"","IAM Add-on",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","iam addon add on","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+
"deployment_and_management.iam_sts;strokeColor\x3dnone;",54,31,"","IAM Security Token Service",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","iam sts security token service","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.iam_security_token_service;strokeColor\x3dnone;",40,55,"","IAM Security Token Service",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","iam sts security token service",
"aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.iam_data_encryption_key;strokeColor\x3dnone;",40,53,"","IAM Data Encryption Key",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","iam data encryption key","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.iam_encrypted_data;strokeColor\x3dnone;",38,49,"","IAM Encrypted Data",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity",
"iam encrypted data","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.iam_credentials;strokeColor\x3dnone;",53,39,"","IAM Long Term Security Credential",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","iam long term security credential","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.iam_mfa_token;strokeColor\x3dnone;",53,53,"","IAM MFA Token",
null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","iam mfa token","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.iam_permissions;strokeColor\x3dnone;",42,57,"","IAM Permissions",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","iam permissions","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.iam_roles;strokeColor\x3dnone;",
84,72,"","IAM Role",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","iam role","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"deployment_and_management.iam_short_term_credentials;strokeColor\x3dnone;",61,49,"","IAM Temporary Security Credential",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","iam temporary security credential","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+
"security_and_identity.key_management_service;strokeColor\x3dnone;",68,82,"","Key Management Service",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","key management service","aws group amazon web service security identity").join(" ")),this.createVertexTemplateEntry(a+"security_and_identity.webapp_firewall;strokeColor\x3dnone;",68,82,"","WebApp Firewall",null,null,this.getTagsForStencil("mxgraph.aws.securityAndIdentity","webapp firewall","aws group amazon web service security identity").join(" "))])};
Sidebar.prototype.addAWSStorageAndContentDeliveryPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws2.";this.addPaletteFunctions("aws2Storage and Content Delivery","AWS / Storage and Content Delivery",!1,[this.createVertexTemplateEntry(a+"storage_and_content_delivery.cloudfront;strokeColor\x3dnone;",59,72,"","CloudFront",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","cloudfront","aws group amazon web service storage content delivery").join(" ")),
this.createVertexTemplateEntry(a+"storage_and_content_delivery.cloudfront_download_distribution;strokeColor\x3dnone;",55,57,"","CloudFront Download Distribution",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","cloudfront download distribution","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.cloudfront_edge_location;strokeColor\x3dnone;",55,57,"","CloudFront Edge Location",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery",
"cloudfront edge location","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.cloudfront_streaming_distribution;strokeColor\x3dnone;",55,57,"","CloudFront Streaming Distribution",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","cloudfront streaming distribution","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.efs;strokeColor\x3dnone;",
60,72,"","EFS",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","efs","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.ebs;strokeColor\x3dnone;",46,66,"","Elastic Block Store",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","ebs elastic block store","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.glacier;strokeColor\x3dnone;",
59,71,"","Glacier",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","glacier","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.glacier_archive;strokeColor\x3dnone;",56,66,"","Glacier Archive",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","glacier archive","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.glacier_vault;strokeColor\x3dnone;",
46,66,"","Glacier Vault",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","glacier vault","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.aws_import_export;strokeColor\x3dnone;",57,56,"","Import Export",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","aws import export","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+
"storage_and_content_delivery.snowball;strokeColor\x3dnone;",68,82,"","Import Export Snowball",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","snowball","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.s3;strokeColor\x3dnone;",59,72,"","S3",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","s3","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+
"storage_and_content_delivery.s3_bucket;strokeColor\x3dnone;",54,56,"","S3 Bucket",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","s3 bucket","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.s3_bucket_with_objects;strokeColor\x3dnone;",55,56,"","S3 Bucket with Objects",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","s3 bucket with objects","aws group amazon web service storage content delivery").join(" ")),
this.createVertexTemplateEntry(a+"storage_and_content_delivery.s3_objects;strokeColor\x3dnone;",37,40,"","S3 Objects",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","s3 objects","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.ebs_snapshot;strokeColor\x3dnone;",53,65,"","Snapshot",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","snapshot","aws group amazon web service storage content delivery").join(" ")),
this.createVertexTemplateEntry(a+"storage_and_content_delivery.aws_storage_gateway;strokeColor\x3dnone;",59,72,"","Storage Gateway",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","storage gateway","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.storage_gateway_cached_volumn;strokeColor\x3dnone;",52,66,"","Storage Gateway Cached Volume",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery",
"storage gateway cached volume","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.storage_gateway_non-cached_volumn;strokeColor\x3dnone;",52,66,"","Storage Gateway Non-Cached Volume",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","storage gateway non cached volume","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.storage_gateway_virtual_tape_library;strokeColor\x3dnone;",
52,66,"","Storage Gateway Virtual Tape Library",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","storage gateway virtual tape library","aws group amazon web service storage content delivery").join(" ")),this.createVertexTemplateEntry(a+"storage_and_content_delivery.ebs_volume;strokeColor\x3dnone;",46,66,"","Volume",null,null,this.getTagsForStencil("mxgraph.aws.storageAndContentDelivery","volume","aws group amazon web service storage content delivery").join(" "))])};Sidebar.prototype.addAWSGroupPalette=
function(){var a=this,c="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.aws.groups.";this.addPaletteFunctions("aws2Groups","AWS / Groups",!1,[this.createVertexTemplateEntry(c+"auto_scaling_group;fillColor\x3dnone;strokeColor\x3d#000000;gradientColor\x3dnone;",200,200,"","Auto Scaling Group",null,null,this.getTagsForStencil("mxgraph.aws.groups","auto_scaling_group","aws group amazon web service ").join(" ")),this.createVertexTemplateEntry(c+"availability_zone;strokeColor\x3d#f69721;fillColor\x3dnone;gradientColor\x3dnone;",
200,200,"","Availability Zone",null,null,this.getTagsForStencil("mxgraph.aws.groups","availability_zone","aws group amazon web service ").join(" ")),this.addEntry("aws group amazon web service cloud",function(){var f=new mxCell("",new mxGeometry(0,30,200,200),c+"rrect;fillColor\x3dnone;strokeColor\x3d#000000;gradientColor\x3dnone;");f.vertex=!0;var d=new mxCell("",new mxGeometry(10,0,70,40),c+"aws_cloud_icon;strokeColor\x3dnone;fillColor\x3d#F69721;gradientColor\x3dnone;");d.vertex=!0;return a.createVertexTemplateFromCells([f,
d],200,230,"AWS Cloud")}),this.addEntry("aws group amazon web service corporate data center",function(){var f=new mxCell("",new mxGeometry(0,20,200,200),c+"rrect;fillColor\x3dnone;strokeColor\x3d#000000;gradientColor\x3dnone;");f.vertex=!0;var d=new mxCell("",new mxGeometry(20,0,30,40),c+"corporate_data_center_icon;strokeColor\x3dnone;fillColor\x3d#6D6F70;gradientColor\x3dnone;");d.vertex=!0;return a.createVertexTemplateFromCells([f,d],200,220,"Corporate Data Center")}),this.addEntry("aws group amazon web service ec2 instance content",
function(){var f=new mxCell("",new mxGeometry(0,20,200,200),c+"rrect;fillColor\x3dnone;strokeColor\x3d#000000;gradientColor\x3dnone;");f.vertex=!0;var d=new mxCell("",new mxGeometry(20,0,40,40),c+"rrect;strokeColor\x3dnone;fillColor\x3d#F69721;gradientColor\x3dnone;");d.vertex=!0;return a.createVertexTemplateFromCells([f,d],200,220,"EC2 Instance Contents")}),this.addEntry("aws group amazon web service EC2 Spot Fleet",function(){var f=new mxCell("",new mxGeometry(0,30,200,200),c+"rrect;fillColor\x3dnone;strokeColor\x3d#000000;gradientColor\x3dnone;");
f.vertex=!0;var d=new mxCell("",new mxGeometry(20,0,43,40),c+"ec2_spot_instance;strokeColor\x3dnone;gradientColor\x3dnone;");d.vertex=!0;return a.createVertexTemplateFromCells([f,d],200,230,"EC2 Spot Fleet")}),this.addEntry("aws group amazon web service elastic beanstalk container",function(){var f=new mxCell("",new mxGeometry(0,20,200,200),c+"rrect;fillColor\x3dnone;strokeColor\x3d#000000;gradientColor\x3dnone;");f.vertex=!0;var d=new mxCell("",new mxGeometry(20,0,40,40),c+"elastic_beanstalk_container_icon;strokeColor\x3dnone;fillColor\x3d#2A6A35;gradientColor\x3dnone;");
d.vertex=!0;return a.createVertexTemplateFromCells([f,d],200,220,"Elastic Beanstalk Container")}),this.createVertexTemplateEntry(c+"region;strokeColor\x3d#000000;fillColor\x3dnone;gradientColor\x3dnone;",200,200,"","Region",null,null,this.getTagsForStencil("mxgraph.aws.groups","region","aws group amazon web service ").join(" ")),this.createVertexTemplateEntry(c+"rrect;fillColor\x3dnone;strokeColor\x3d#000000;gradientColor\x3dnone;",200,200,"","Security Group",null,null,this.getTagsForStencil("mxgraph.aws.groups",
"security","aws group amazon web service ").join(" ")),this.createVertexTemplateEntry(c+"rrect;fillColor\x3d#F2F2F2;strokeColor\x3d#000000;gradientColor\x3dnone;",200,200,"","Server Contents",null,null,this.getTagsForStencil("mxgraph.aws.groups","server content","aws group amazon web service ").join(" ")),this.addEntry("aws group amazon web service virtual private cloud",function(){var f=new mxCell("",new mxGeometry(0,30,200,200),c+"rrect;fillColor\x3dnone;strokeColor\x3d#000000;gradientColor\x3dnone;");
f.vertex=!0;var d=new mxCell("",new mxGeometry(10,0,70,40),c+"virtual_private_cloud_icon;strokeColor\x3dnone;fillColor\x3d#282560;gradientColor\x3dnone;");d.vertex=!0;return a.createVertexTemplateFromCells([f,d],200,230,"Virtual Private Cloud")}),this.addEntry("aws group amazon web service virtual private cloud subnet vpc",function(){var f=new mxCell("",new mxGeometry(0,30,200,200),c+"rrect;fillColor\x3dnone;strokeColor\x3d#000000;gradientColor\x3dnone;");f.vertex=!0;var d=new mxCell("",new mxGeometry(20,
0,40,40),c+"vpc_subnet_icon;strokeColor\x3dnone;fillColor\x3d#282560;gradientColor\x3dnone;");d.vertex=!0;return a.createVertexTemplateFromCells([f,d],200,230,"VPC Subnet")})])}})();
(function(){Sidebar.prototype.addAWS3DPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;"+mxConstants.STYLE_STROKEWIDTH+"\x3d1;dashed\x3d0;shape\x3dmxgraph.aws3d.";this.addPaletteFunctions("aws3d","AWS 3D",!1,[this.createVertexTemplateEntry(a+"ami;aspect\x3dfixed;fillColor\x3d#E8CA45;strokeColor\x3d#FFF215;",92,60,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3d","ami","aws 3d amazon web service").join(" ")),
this.createVertexTemplateEntry(a+"ami2;aspect\x3dfixed;fillColor\x3d#FF9900;strokeColor\x3d#ffffff;",74,50,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3d","ami","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"application;fillColor\x3d#4286c5;strokeColor\x3d#57A2D8;aspect\x3dfixed;",62,68.8,"","Application",null,null,this.getTagsForStencil("mxgraph.aws3d","application","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"application2;fillColor\x3d#86E83A;strokeColor\x3d#B0F373;aspect\x3dfixed;",
62,53,"","Application",null,null,this.getTagsForStencil("mxgraph.aws3d","application","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"application_server;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,124,"","EC2 Instance",null,null,this.getTagsForStencil("mxgraph.aws3d","ec2 instance","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"client;aspect\x3dfixed;strokeColor\x3dnone;fillColor\x3d#777777;",60,104,"","Client",null,null,this.getTagsForStencil("mxgraph.aws3d",
"client","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"cloudfront;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",103.8,100*1.698,"","CloudFront",null,null,this.getTagsForStencil("mxgraph.aws3d","cloudfront","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"file;aspect\x3dfixed;strokeColor\x3d#2d6195;fillColor\x3d#ffffff;",30.8,70.6,"","Content",null,null,this.getTagsForStencil("mxgraph.aws3d","content","aws 3d amazon web service").join(" ")),
this.createVertexTemplateEntry(a+"customerGateway;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",116.7,102.8,"","Customer Gateway",null,null,this.getTagsForStencil("mxgraph.aws3d","customer gateway","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"dataCenter;fillColor\x3d#ffffff;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,142,"","Data Center",null,null,this.getTagsForStencil("mxgraph.aws3d","data center","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+
"dataServer;fillColor\x3d#ffffff;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,106,"","Data Server",null,null,this.getTagsForStencil("mxgraph.aws3d","data server","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"decider;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",74,50,"","Decider",null,null,this.getTagsForStencil("mxgraph.aws3d","decider","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"dynamoDb;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",
181.5,210,"","DynamoDB",null,null,this.getTagsForStencil("mxgraph.aws3d","dynamodb db database","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"ebs;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",92,60,"","EBS",null,null,this.getTagsForStencil("mxgraph.aws3d","ebs","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"ebs2;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",92,60,"","EBS",null,null,this.getTagsForStencil("mxgraph.aws3d",
"ebs","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"elasticBeanstalk;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",182,140,"","Elastic Beanstalk",null,null,this.getTagsForStencil("mxgraph.aws3d","elastic beanstalk","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"elasticLoadBalancing;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",92,88.17,"","Elastic Load Balancing",null,null,this.getTagsForStencil("mxgraph.aws3d",
"elastic load balancing elb","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"elasticMapReduce;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,133,"","Elastic MapReduce",null,null,this.getTagsForStencil("mxgraph.aws3d","elastic mapreduce","aws 3d amazon web service").join(" ")),this.addEntry("aws 3d amazon web serviceelasticache",function(){var c=new mxCell("",new mxGeometry(70,0,123,124),a+"application_server;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;");
c.vertex=!0;var f=new mxCell("",new mxGeometry(0,40,123,124),a+"application_server;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;");f.vertex=!0;var d=new mxCell("",new mxGeometry(140,40,123,124),a+"application_server;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;");d.vertex=!0;var b=new mxCell("",new mxGeometry(70,80,123,124),a+"application_server;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;");b.vertex=!0;return sb.createVertexTemplateFromCells([c,f,d,b],
264,204,"Elasticache")}),this.createVertexTemplateEntry(a+"email;aspect\x3dfixed;strokeColor\x3d#292929;fillColor\x3d#ffffff;",43,100*0.57,"","Email",null,null,this.getTagsForStencil("mxgraph.aws3d","email","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"email_service;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",151,192,"","Email Service",null,null,this.getTagsForStencil("mxgraph.aws3d","email service","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+
"file;aspect\x3dfixed;strokeColor\x3d#292929;fillColor\x3d#ffffff;",30.8,70.6,"","File",null,null,this.getTagsForStencil("mxgraph.aws3d","file","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"glacier;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",181,192,"","Glacier",null,null,this.getTagsForStencil("mxgraph.aws3d","glacier","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"image;strokeColor\x3dnone;fillColor\x3d#777777;aspect\x3dfixed;",
50,86,"","Image/Video",null,null,this.getTagsForStencil("mxgraph.aws3d","image video","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"internetGateway;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",116.7,102.8,"","Internet Gateway",null,null,this.getTagsForStencil("mxgraph.aws3d","internet gateway","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"lambda;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",92,109.5,"","Lambda",
null,null,this.getTagsForStencil("mxgraph.aws3d","lambda","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"mobile_worker;aspect\x3dfixed;strokeColor\x3dnone;fillColor\x3d#777777;",36,90,"","Mobile Worker",null,null,this.getTagsForStencil("mxgraph.aws3d","mobile worker","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"oracleDataCenter;fillColor\x3d#ffffff;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,142,"","Oracle Data Center",null,null,this.getTagsForStencil("mxgraph.aws3d",
"oracle data center","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"oracleDbServer;fillColor\x3d#ffffff;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,133,"","Oracle Database Server",null,null,this.getTagsForStencil("mxgraph.aws3d","oracle database server db","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"oracleServer;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,142,"","Oracle Server",null,null,this.getTagsForStencil("mxgraph.aws3d",
"oracle server","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"rds;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,133,"","RDS",null,null,this.getTagsForStencil("mxgraph.aws3d","rds","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"rdsMaster;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,133,"","RDS Master",null,null,this.getTagsForStencil("mxgraph.aws3d","rds master","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+
"rdsSlave;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,133,"","RDS Slave",null,null,this.getTagsForStencil("mxgraph.aws3d","rds slave","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"redshift;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",150,190,"","Redshift",null,null,this.getTagsForStencil("mxgraph.aws3d","redshift","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"route53;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",
117.17,134.4,"","Route 53",null,null,this.getTagsForStencil("mxgraph.aws3d","route","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"s3;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",231.5,239,"","S3",null,null,this.getTagsForStencil("mxgraph.aws3d","s3","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"s3Bucket;fillColor\x3d#4286c5;strokeColor\x3d#57A2D8;aspect\x3dfixed;",61.5,100*0.638,"","S3 Bucket",null,null,this.getTagsForStencil("mxgraph.aws3d",
"s3 bucket","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"searchEngine;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",180,192,"","Search Engine",null,null,this.getTagsForStencil("mxgraph.aws3d","search engine","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"secureConnection;fillColor\x3d#000000;strokeColor\x3d#ffffff;aspect\x3dfixed;",100*0.57,34,"","Secure Connection",null,null,this.getTagsForStencil("mxgraph.aws3d","secure connection",
"aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"securityTokenService;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",180,192,"","Security Token Service",null,null,this.getTagsForStencil("mxgraph.aws3d","security token service","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"simpleDb;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,133,"","SimpleDB",null,null,this.getTagsForStencil("mxgraph.aws3d","simpledb simple db database",
"aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"simpleDb2;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",181.5,192.6,"","SimpleDB",null,null,this.getTagsForStencil("mxgraph.aws3d","simpledb simple db database","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"snapshot;fillColor\x3d#4286c5;strokeColor\x3d#57A2D8;aspect\x3dfixed;",92,60,"","Snapshot",null,null,this.getTagsForStencil("mxgraph.aws3d","snapshot","aws 3d amazon web service").join(" ")),
this.createVertexTemplateEntry(a+"instance;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",123,97,"","Spot Instance",null,null,this.getTagsForStencil("mxgraph.aws3d","spot instance","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"sqs;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",184,212.75,"","SQS",null,null,this.getTagsForStencil("mxgraph.aws3d","sqs","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"end_user;strokeColor\x3dnone;fillColor\x3d#777777;aspect\x3dfixed;",
49,100.46,"","User",null,null,this.getTagsForStencil("mxgraph.aws3d","user","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"vpcGateway;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",116.7,102.8,"","VPC Gateway",null,null,this.getTagsForStencil("mxgraph.aws3d","vpc gateway","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"worker;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",74,50,"","Worker",null,null,this.getTagsForStencil("mxgraph.aws3d",
"worker","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"workflowService;fillColor\x3d#ECECEC;strokeColor\x3d#5E5E5E;aspect\x3dfixed;",100*1.822,148.4,"","Workflow Service",null,null,this.getTagsForStencil("mxgraph.aws3d","workflow service","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"arrowNE;fillColor\x3d#000000;aspect\x3dfixed;",45.5,26,"","Arrow NE",null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),
this.createVertexTemplateEntry(a+"arrowSE;fillColor\x3d#000000;aspect\x3dfixed;",45.5,26,"","Arrow SE",null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"arrowSW;fillColor\x3d#000000;aspect\x3dfixed;",45.5,26,"","Arrow SW",null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"arrowNW;fillColor\x3d#000000;aspect\x3dfixed;",
45.5,26,"","Arrow NW",null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"arrowlessNE;fillColor\x3d#000000;aspect\x3dfixed;",31.6,18,"","Arrowless NE",null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"dashedEdgeDouble;fillColor\x3d#000000;aspect\x3dfixed;",31.6,18,"","Dashed Edge Double Arrow",
null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"dashedArrowlessEdge;fillColor\x3d#000000;aspect\x3dfixed;",31.6,18,"","Dashed Arrowless Edge",null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"dashedEdge;fillColor\x3d#000000;aspect\x3dfixed;",31.6,18,"","Dashed Edge",null,null,this.getTagsForStencil("mxgraph.aws3d",
"arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"flatEdge;fillColor\x3d#000000;aspect\x3dfixed;",63.2,36,"","Flat Edge",null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"flatDoubleEdge;fillColor\x3d#000000;aspect\x3dfixed;",252.8,144,"","Flat Double Edge",null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),
this.createVertexTemplateEntry(a+"arrowhead;aspect\x3dfixed;",19,11,"","Arrowhead",null,null,this.getTagsForStencil("mxgraph.aws3d","arrowhead","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"edge;aspect\x3dfixed;",97,107.4,"","Edge",null,null,this.getTagsForStencil("mxgraph.aws3d","edge","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"reference;aspect\x3dfixed;",29.5,19.5,"","Reference",null,null,this.getTagsForStencil("mxgraph.aws3d","reference",
"aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"spot;aspect\x3dfixed;",62,36,"","Spot",null,null,this.getTagsForStencil("mxgraph.aws3d","spot","aws 3d amazon web service").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3disometricEdgeStyle;endArrow\x3dnone;html\x3d1;",50,100,"isometric edge","Isometric Edge 1"),this.createEdgeTemplateEntry("edgeStyle\x3disometricEdgeStyle;endArrow\x3dnone;html\x3d1;elbow\x3dvertical;",50,100,"isometric edge","Isometric Edge 2")])}})();
(function(){Sidebar.prototype.addAzurePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeColor\x3dnone;fillColor\x3d#00BEF2;shape\x3dmxgraph.azure.";this.addPaletteFunctions("azure",mxResources.get("azure"),!1,[this.createVertexTemplateEntry(a+"access_control;",50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.azure","access_control","").join(" ")),this.createVertexTemplateEntry(a+"automation;",
50,45,"","Automation",null,null,this.getTagsForStencil("mxgraph.azure","automation","").join(" ")),this.createVertexTemplateEntry(a+"autoscale;",50,30,"","AutoScale",null,null,this.getTagsForStencil("mxgraph.azure","autoscale","").join(" ")),this.createVertexTemplateEntry(a+"azure_active_directory;",47.5,50,"","Azure Active Directory",null,null,this.getTagsForStencil("mxgraph.azure","azure_active_directory","").join(" ")),this.createVertexTemplateEntry(a+"azure_alert;",50,42.5,"","Azure Alert",null,
null,this.getTagsForStencil("mxgraph.azure","azure_alert","").join(" ")),this.createVertexTemplateEntry(a+"azure_cache;",45,50,"","Azure Cache",null,null,this.getTagsForStencil("mxgraph.azure","azure_cache","").join(" ")),this.createVertexTemplateEntry(a+"azure_instance;",50,50,"","Azure Instance",null,null,this.getTagsForStencil("mxgraph.azure","azure_instance","").join(" ")),this.createVertexTemplateEntry(a+"azure_load_balancer;",50,35,"","Azure Load Balancer",null,null,this.getTagsForStencil("mxgraph.azure",
"azure_load_balancer","").join(" ")),this.createVertexTemplateEntry(a+"azure_marketplace;",40,50,"","Azure Marketplace",null,null,this.getTagsForStencil("mxgraph.azure","azure_marketplace","").join(" ")),this.createVertexTemplateEntry(a+"azure_sdk;",50,47.5,"","Azure SDK",null,null,this.getTagsForStencil("mxgraph.azure","azure_sdk","").join(" ")),this.createVertexTemplateEntry(a+"azure_subscription;",50,35,"","Azure Subscription",null,null,this.getTagsForStencil("mxgraph.azure","azure_subscription",
"").join(" ")),this.createVertexTemplateEntry(a+"azure_website;",50,50,"","Azure Website",null,null,this.getTagsForStencil("mxgraph.azure","azure_website","").join(" ")),this.createVertexTemplateEntry(a+"backup_service;",50,45,"","Backup Service",null,null,this.getTagsForStencil("mxgraph.azure","backup_service","").join(" ")),this.createVertexTemplateEntry(a+"bitbucket_code_source;",42.5,50,"","BitBucket Code Source",null,null,this.getTagsForStencil("mxgraph.azure","bitbucket_code_source","").join(" ")),
this.createVertexTemplateEntry(a+"biztalk_services;",50,50,"","BizTalk Services",null,null,this.getTagsForStencil("mxgraph.azure","biztalk_services","").join(" ")),this.createVertexTemplateEntry(a+"certificate;",50,40,"","Certificate",null,null,this.getTagsForStencil("mxgraph.azure","certificate","").join(" ")),this.createVertexTemplateEntry(a+"cloud;",50,32.5,"","Cloud",null,null,this.getTagsForStencil("mxgraph.azure","cloud","").join(" ")),this.createVertexTemplateEntry(a+"cloud_service;",50,40,
"","Cloud Service",null,null,this.getTagsForStencil("mxgraph.azure","cloud_service","").join(" ")),this.createVertexTemplateEntry(a+"cloud_services_configuration_file;",47.5,50,"","Cloud Services Configuration File",null,null,this.getTagsForStencil("mxgraph.azure","cloud_services_configuration_file","").join(" ")),this.createVertexTemplateEntry(a+"cloud_service_package_file;",42.5,50,"","Cloud Service Package File",null,null,this.getTagsForStencil("mxgraph.azure","cloud_service_package_file","").join(" ")),
this.createVertexTemplateEntry(a+"codeplex_code_source;",50,37.5,"","CodePlex Code Source",null,null,this.getTagsForStencil("mxgraph.azure","codeplex_code_source","").join(" ")),this.createVertexTemplateEntry(a+"code_file;",47.5,50,"","Code File",null,null,this.getTagsForStencil("mxgraph.azure","code_file","").join(" ")),this.createVertexTemplateEntry(a+"computer;",50,45,"","Computer",null,null,this.getTagsForStencil("mxgraph.azure","computer","").join(" ")),this.createVertexTemplateEntry(a+"content_delivery_network;",
50,32.5,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.azure","content_delivery_network","").join(" ")),this.createVertexTemplateEntry(a+"database;",37.5,50,"","Database",null,null,this.getTagsForStencil("mxgraph.azure","database","").join(" ")),this.createVertexTemplateEntry(a+"dropbox_code_source;",50,47.5,"","DropBox Code Source",null,null,this.getTagsForStencil("mxgraph.azure","dropbox_code_source","").join(" ")),this.createVertexTemplateEntry(a+"enterprise;",30,50,"",
"Enterprise",null,null,this.getTagsForStencil("mxgraph.azure","enterprise","").join(" ")),this.createVertexTemplateEntry(a+"express_route;",50,30,"","Express Route",null,null,this.getTagsForStencil("mxgraph.azure","express_route","").join(" ")),this.createVertexTemplateEntry(a+"file;",47.5,50,"","File",null,null,this.getTagsForStencil("mxgraph.azure","file","").join(" ")),this.createVertexTemplateEntry(a+"file_2;",47.5,50,"","File 2",null,null,this.getTagsForStencil("mxgraph.azure","file_2","").join(" ")),
this.createVertexTemplateEntry(a+"github_code;",50,50,"","GitHub Code",null,null,this.getTagsForStencil("mxgraph.azure","github_code","").join(" ")),this.createVertexTemplateEntry(a+"git_repository;",50,50,"","Git Repository",null,null,this.getTagsForStencil("mxgraph.azure","git_repository","").join(" ")),this.createVertexTemplateEntry(a+"hdinsight;",50,50,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.azure","hdinsight","").join(" ")),this.createVertexTemplateEntry(a+"healthy;",50,45,"",
"Healthy",null,null,this.getTagsForStencil("mxgraph.azure","healthy","").join(" ")),this.createVertexTemplateEntry(a+"health_monitoring;",50,42.5,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.azure","health_monitoring","").join(" ")),this.createVertexTemplateEntry(a+"hyper_v_recovery_manager;",50,45,"","Hyper-V Recovery Manager",null,null,this.getTagsForStencil("mxgraph.azure","hyper_v_recovery_manager","").join(" ")),this.createVertexTemplateEntry(a+"laptop;",50,30,"","Laptop",
null,null,this.getTagsForStencil("mxgraph.azure","laptop","").join(" ")),this.createVertexTemplateEntry(a+"load_balancer_generic;",37.5,50,"","Load Balancer Generic",null,null,this.getTagsForStencil("mxgraph.azure","load_balancer_generic","").join(" ")),this.createVertexTemplateEntry(a+"media_service;",45,50,"","Media Service",null,null,this.getTagsForStencil("mxgraph.azure","media_service","").join(" ")),this.createVertexTemplateEntry(a+"message;",50,37.5,"","Message",null,null,this.getTagsForStencil("mxgraph.azure",
"message","").join(" ")),this.createVertexTemplateEntry(a+"mobile;",35,50,"","Mobile",null,null,this.getTagsForStencil("mxgraph.azure","mobile","").join(" ")),this.createVertexTemplateEntry(a+"mobile_services;",32.5,50,"","Mobile Services",null,null,this.getTagsForStencil("mxgraph.azure","mobile_services","").join(" ")),this.createVertexTemplateEntry(a+"multi_factor_authentication;",25,50,"","Multi Factor Authentication",null,null,this.getTagsForStencil("mxgraph.azure","multi_factor_authentication",
"").join(" ")),this.createVertexTemplateEntry(a+"mysql_database;",37.5,50,"","MySQL Database",null,null,this.getTagsForStencil("mxgraph.azure","mysql_database","").join(" ")),this.createVertexTemplateEntry(a+"notification_hub;",50,50,"","Notification Hub",null,null,this.getTagsForStencil("mxgraph.azure","notification_hub","").join(" ")),this.createVertexTemplateEntry(a+"notification_topic;",50,50,"","Notification Topic",null,null,this.getTagsForStencil("mxgraph.azure","notification_topic","").join(" ")),
this.createVertexTemplateEntry(a+"operating_system_image;",50,50,"","Operating System Image",null,null,this.getTagsForStencil("mxgraph.azure","operating_system_image","").join(" ")),this.createVertexTemplateEntry(a+"powershell_file;",50,50,"","PowerShell File",null,null,this.getTagsForStencil("mxgraph.azure","powershell_file","").join(" ")),this.createVertexTemplateEntry(a+"queue_generic;",50,15,"","Queue Generic",null,null,this.getTagsForStencil("mxgraph.azure","queue_generic","").join(" ")),this.createVertexTemplateEntry(a+
"rdp_remoting_file;",47.5,50,"","RDP Remoting File",null,null,this.getTagsForStencil("mxgraph.azure","rdp_remoting_file","").join(" ")),this.createVertexTemplateEntry(a+"scheduler;",40,50,"","Scheduler",null,null,this.getTagsForStencil("mxgraph.azure","scheduler","").join(" ")),this.createVertexTemplateEntry(a+"script_file;",47.5,50,"","Script File",null,null,this.getTagsForStencil("mxgraph.azure","script_file","").join(" ")),this.createVertexTemplateEntry(a+"server;",50,15,"","Server",null,null,
this.getTagsForStencil("mxgraph.azure","server","").join(" ")),this.createVertexTemplateEntry(a+"server_rack;",50,50,"","Server Rack",null,null,this.getTagsForStencil("mxgraph.azure","server_rack","").join(" ")),this.createVertexTemplateEntry(a+"service_bus;",45,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.azure","service_bus","").join(" ")),this.createVertexTemplateEntry(a+"service_bus_queues;",42.5,50,"","Service Bus Queues",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_queues",
"").join(" ")),this.createVertexTemplateEntry(a+"service_bus_relay;",40,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_relay","").join(" ")),this.createVertexTemplateEntry(a+"service_bus_topics_and_subscriptions;",45,50,"","Service Bus Topics and Subscriptions",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_topics_and_subscriptions","").join(" ")),this.createVertexTemplateEntry(a+"service_endpoint;",50,20,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.azure",
"service_endpoint","").join(" ")),this.createVertexTemplateEntry(a+"sql_database;",37.5,50,"","SQL Database",null,null,this.getTagsForStencil("mxgraph.azure","sql_database","").join(" ")),this.createVertexTemplateEntry(a+"sql_database_sql_azure;",47.5,50,"","SQL Database SQL Azure",null,null,this.getTagsForStencil("mxgraph.azure","sql_database_sql_azure","").join(" ")),this.createVertexTemplateEntry(a+"sql_datasync;",37.5,50,"","SQL DataSync",null,null,this.getTagsForStencil("mxgraph.azure","sql_datasync",
"").join(" ")),this.createVertexTemplateEntry(a+"sql_reporting;",40,50,"","SQL Reporting",null,null,this.getTagsForStencil("mxgraph.azure","sql_reporting","").join(" ")),this.createVertexTemplateEntry(a+"startup_task;",47.5,50,"","Startup Task",null,null,this.getTagsForStencil("mxgraph.azure","startup_task","").join(" ")),this.createVertexTemplateEntry(a+"storage;",50,40,"","Storage",null,null,this.getTagsForStencil("mxgraph.azure","storage","").join(" ")),this.createVertexTemplateEntry(a+"storage_blob;",
50,45,"","Storage Blob",null,null,this.getTagsForStencil("mxgraph.azure","storage_blob","").join(" ")),this.createVertexTemplateEntry(a+"storage_queue;",50,45,"","Storage Queue",null,null,this.getTagsForStencil("mxgraph.azure","storage_queue","").join(" ")),this.createVertexTemplateEntry(a+"storage_table;",50,45,"","Storage Table",null,null,this.getTagsForStencil("mxgraph.azure","storage_table","").join(" ")),this.createVertexTemplateEntry(a+"storsimple;",50,45,"","StorSimple",null,null,this.getTagsForStencil("mxgraph.azure",
"storsimple","").join(" ")),this.createVertexTemplateEntry(a+"tablet;",50,37.5,"","Tablet",null,null,this.getTagsForStencil("mxgraph.azure","tablet","").join(" ")),this.createVertexTemplateEntry(a+"team_foundation_service;",50,37.5,"","Team Foundation Service",null,null,this.getTagsForStencil("mxgraph.azure","team_foundation_service","").join(" ")),this.createVertexTemplateEntry(a+"traffic_manager;",50,50,"","Traffic Manager",null,null,this.getTagsForStencil("mxgraph.azure","traffic_manager","").join(" ")),
this.createVertexTemplateEntry(a+"unidentified_code_object;",50,42.5,"","Unidentified Code Object",null,null,this.getTagsForStencil("mxgraph.azure","unidentified_code_object","").join(" ")),this.createVertexTemplateEntry(a+"user;",47.5,50,"","User",null,null,this.getTagsForStencil("mxgraph.azure","user","").join(" ")),this.createVertexTemplateEntry(a+"vhd;",40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.azure","vhd","").join(" ")),this.createVertexTemplateEntry(a+"vhd_data_disk;",37.5,50,
"","VHD Data Disk",null,null,this.getTagsForStencil("mxgraph.azure","vhd_data_disk","").join(" ")),this.createVertexTemplateEntry(a+"virtual_machine;",50,40,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.azure","virtual_machine","").join(" ")),this.createVertexTemplateEntry(a+"virtual_machine_feature;",50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.azure","virtual_machine_feature","").join(" ")),this.createVertexTemplateEntry(a+"virtual_network;",50,50*
0.55,"","Virtual Network",null,null,this.getTagsForStencil("mxgraph.azure","virtual_network","").join(" ")),this.createVertexTemplateEntry(a+"visual_studio_online;",50,37.5,"","Visual Studio Online",null,null,this.getTagsForStencil("mxgraph.azure","visual_studio_online","").join(" ")),this.createVertexTemplateEntry(a+"wadcfg_diagnostics_file;",47.5,50,"","WADCFG Diagnostics File",null,null,this.getTagsForStencil("mxgraph.azure","wadcfg_diagnostics_file","").join(" ")),this.createVertexTemplateEntry(a+
"website_generic;",50,42.5,"","Website Generic",null,null,this.getTagsForStencil("mxgraph.azure","website_generic","").join(" ")),this.createVertexTemplateEntry(a+"web_role;",50,40,"","Web Role",null,null,this.getTagsForStencil("mxgraph.azure","web_role","").join(" ")),this.createVertexTemplateEntry(a+"web_roles;",50*1.1,45,"","Web Roles",null,null,this.getTagsForStencil("mxgraph.azure","web_roles","").join(" ")),this.createVertexTemplateEntry(a+"worker_role;",50,40,"","Worker Role",null,null,this.getTagsForStencil("mxgraph.azure",
"worker_role","").join(" ")),this.createVertexTemplateEntry(a+"worker_roles;",50*1.1,45,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.azure","worker_roles","").join(" "))])}})();
(function(){Sidebar.prototype.addBasicPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;html\x3d1;strokeWidth\x3d2;shape\x3dmxgraph.basic.",c=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;html\x3d1;strokeWidth\x3d2;shape\x3d";this.addPaletteFunctions("basic",mxResources.get("basic"),!1,[this.createVertexTemplateEntry(a+"4_point_star",100,100,"","4 Point Star",null,null,this.getTagsForStencil("mxgraph.basic",
"4_point_star","").join(" ")),this.createVertexTemplateEntry(a+"6_point_star",100,90,"","6 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","6_point_star","").join(" ")),this.createVertexTemplateEntry(a+"8_point_star",100,100,"","8 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","8_point_star","").join(" ")),this.createVertexTemplateEntry(a+"banner",100,50,"","Banner",null,null,this.getTagsForStencil("mxgraph.basic","banner","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;whiteSpace\x3dwrap;html\x3d1;shape\x3dmxgraph.basic.cloud_callout",
90,60,"","Cloud Callout",null,null,this.getTagsForStencil("mxgraph.basic","cloud_callout","").join(" ")),this.createVertexTemplateEntry(a+"cone",100,100,"","Cone",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry(a+"cross2;dx\x3d15;",100,100,"","Cross",null,null,this.getTagsForStencil("mxgraph.basic","cross","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;whiteSpace\x3dwrap;html\x3d1;shape\x3dmxgraph.basic.document",100,100,"","Document",
null,null,this.getTagsForStencil("mxgraph.basic","document","").join(" ")),this.createVertexTemplateEntry(a+"flash",60,100,"","Flash",null,null,this.getTagsForStencil("mxgraph.basic","flash","").join(" ")),this.createVertexTemplateEntry(a+"half_circle",100,50,"","Half Circle",null,null,this.getTagsForStencil("mxgraph.basic","half_circle","").join(" ")),this.createVertexTemplateEntry(a+"heart",100,100,"","Heart",null,null,this.getTagsForStencil("mxgraph.basic","heart","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;whiteSpace\x3dwrap;html\x3d1;shape\x3dmxgraph.basic.loud_callout",
100,60,"","Loud Callout",null,null,this.getTagsForStencil("mxgraph.basic","loud_callout","").join(" ")),this.createVertexTemplateEntry(a+"moon",75,100,"","Moon",null,null,this.getTagsForStencil("mxgraph.basic","moon","").join(" ")),this.createVertexTemplateEntry(a+"no_symbol",100,100,"","No Symbol",null,null,this.getTagsForStencil("mxgraph.basic","no_symbol","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;whiteSpace\x3dwrap;html\x3d1;shape\x3dmxgraph.basic.octagon",100,100,"","Octagon",
null,null,this.getTagsForStencil("mxgraph.basic","octagon","").join(" ")),this.createVertexTemplateEntry(a+"orthogonal_triangle",100,100,"","Orthogonal Triangle",null,null,this.getTagsForStencil("mxgraph.basic","orthogonal_triangle","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;whiteSpace\x3dwrap;html\x3d1;shape\x3dmxgraph.basic.oval_callout",100,60,"","Oval Callout",null,null,this.getTagsForStencil("mxgraph.basic","oval_callout","").join(" ")),this.createVertexTemplateEntry(c+"parallelogram;whiteSpace\x3dwrap;align\x3dcenter;size\x3d0.24;",
100,60,"","Parallelepiped",null,null,this.getTagsForStencil("mxgraph.basic","parallelepiped","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;whiteSpace\x3dwrap;html\x3d1;shape\x3dmxgraph.basic.pentagon",100,90,"","Pentagon",null,null,this.getTagsForStencil("mxgraph.basic","pentagon","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;whiteSpace\x3dwrap;html\x3d1;shape\x3dmxgraph.basic.rectCallout;dx\x3d30;dy\x3d15;",100,60,"","Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic",
"rectangular_callout","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;whiteSpace\x3dwrap;html\x3d1;shape\x3dmxgraph.basic.roundRectCallout;dx\x3d30;dy\x3d15;size\x3d5;",100,60,"","Rounded Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry(a+"smiley",100,100,"","Smiley",null,null,this.getTagsForStencil("mxgraph.basic","smiley","").join(" ")),this.createVertexTemplateEntry(a+"star",100,95,"","Star",
null,null,this.getTagsForStencil("mxgraph.basic","star","").join(" ")),this.createVertexTemplateEntry(a+"sun",100,100,"","Sun",null,null,this.getTagsForStencil("mxgraph.basic","sun","").join(" ")),this.createVertexTemplateEntry(a+"tick",85,100,"","Tick",null,null,this.getTagsForStencil("mxgraph.basic","tick","").join(" ")),this.createVertexTemplateEntry(c+"trapezoid;size\x3d0.24;",100,100,"","Trapezoid",null,null,this.getTagsForStencil("mxgraph.basic","trapezoid","").join(" ")),this.createVertexTemplateEntry(a+
"wave2;dy\x3d0.3;",100,60,"","Wave",null,null,this.getTagsForStencil("mxgraph.basic","wave","").join(" ")),this.createVertexTemplateEntry(a+"x",100,100,"","X",null,null,this.getTagsForStencil("mxgraph.basic","x","").join(" "))])}})();
(function(){Sidebar.prototype.addBootstrapPalette=function(){var a=this,c=[this.addEntry("bootstrap button bar dark",function(){var c=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#222222;strokeColor\x3dnone;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Company",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3dnone;strokeColor\x3dnone;shape\x3dmxgraph.bootstrap.rect;fontColor\x3d#999999;fontSize\x3d14;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);d=new mxCell("People",new mxGeometry(80,0,90,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#000000;strokeColor\x3dnone;fontColor\x3d#ffffff;spacingRight\x3d30;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);var b=new mxCell("84",new mxGeometry(1,0.5,25,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d8;fillColor\x3d#ff0000;strokeColor\x3dnone;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;
b.geometry.offset=new mxPoint(-30,-8);b.vertex=!0;d.insert(b);d=new mxCell("Violations",new mxGeometry(170,0,110,40),"html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3dnone;strokeColor\x3dnone;shape\x3dmxgraph.bootstrap.rect;fontColor\x3d#999999;spacingRight\x3d30;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);b=new mxCell("42",new mxGeometry(1,0.5,25,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d8;fillColor\x3d#ff0000;strokeColor\x3dnone;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-30,-8);b.vertex=!0;d.insert(b);d=new mxCell("Statistics",new mxGeometry(280,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3dnone;strokeColor\x3dnone;shape\x3dmxgraph.bootstrap.rect;fontColor\x3d#999999;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Settings",new mxGeometry(360,0,70,40),"html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3dnone;strokeColor\x3dnone;shape\x3dmxgraph.bootstrap.rect;fontColor\x3d#999999;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);d=new mxCell("Profile",new mxGeometry(660,0,70,40),"html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3dnone;strokeColor\x3dnone;shape\x3dmxgraph.bootstrap.rect;fontColor\x3d#999999;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Log Out",new mxGeometry(730,0,70,40),"html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3dnone;strokeColor\x3dnone;shape\x3dmxgraph.bootstrap.rect;fontColor\x3d#999999;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],
c.geometry.width,c.geometry.height,"Button Bar (Dark)")}),this.addEntry("bootstrap button bar bright",function(){var c=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#f6f6f6;strokeColor\x3dnone;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Company",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3dnone;strokeColor\x3dnone;shape\x3dmxgraph.bootstrap.rect;fontColor\x3d#dddddd;fontSize\x3d14;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);d=new mxCell("People",new mxGeometry(80,0,90,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#f0f0f0;strokeColor\x3dnone;fontColor\x3d#999999;spacingRight\x3d30;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);var b=new mxCell("84",new mxGeometry(1,0.5,25,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d8;fillColor\x3d#ff0000;strokeColor\x3dnone;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;
b.geometry.offset=new mxPoint(-30,-8);b.vertex=!0;d.insert(b);d=new mxCell("Violations",new mxGeometry(170,0,110,40),"html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3dnone;strokeColor\x3dnone;shape\x3dmxgraph.bootstrap.rect;fontColor\x3d#dddddd;spacingRight\x3d30;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);b=new mxCell("42",new mxGeometry(1,0.5,25,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d8;fillColor\x3d#ff0000;strokeColor\x3dnone;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-30,-8);b.vertex=!0;d.insert(b);d=new mxCell("Statistics",new mxGeometry(280,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3dnone;strokeColor\x3dnone;shape\x3dmxgraph.bootstrap.rect;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Settings",new mxGeometry(360,0,70,40),"html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3dnone;strokeColor\x3dnone;shape\x3dmxgraph.bootstrap.rect;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);d=new mxCell("Search...",new mxGeometry(650,5,130,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;fontColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Button Bar (Bright)")}),this.addEntry("bootstrap button group vertical",function(){var c=new mxCell("",new mxGeometry(0,0,
100,150),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffffff;");c.vertex=!0;var d=new mxCell("Edit",new mxGeometry(0,0,100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);d=new mxCell("Create",new mxGeometry(0,0,100,30),
"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,30);d.vertex=!0;c.insert(d);var b=new mxCell("Delete",new mxGeometry(0,0,100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,60);b.vertex=!0;c.insert(b);b=new mxCell("Append",new mxGeometry(0,0,100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,90);b.vertex=!0;c.insert(b);b=new mxCell("Prepend",new mxGeometry(0,1,100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.bottomButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-30);b.vertex=!0;c.insert(b);b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-15,-2.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Button Group (Vertical)")}),this.addEntry("bootstrap button group vertical",function(){var c=new mxCell("",new mxGeometry(0,
0,160,160),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;html\x3d1;whiteSpace\x3dwrap;fillColor\x3d#ffffff;");c.vertex=!0;var d=new mxCell("Verified",new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,40);d.vertex=!0;
c.insert(d);d=new mxCell("Banned",new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,80);d.vertex=!0;c.insert(d);d=new mxCell("Deleted",new mxGeometry(0,1,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.bottomButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,-40);d.vertex=!0;c.insert(d);d=new mxCell("All Users",new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;fillColor\x3d#3D8BCD;strokeColor\x3d#3D8BCD;fontColor\x3d#ffffff;spacingLeft\x3d10;align\x3dleft;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Button Group (Vertical)")}),
this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;fillColor\x3d#3D8BCD;strokeColor\x3d#0D5B9D;fontColor\x3d#ffffff;spacingLeft\x3d10;align\x3dleft;whiteSpace\x3dwrap;",160,40,"All Users","Top Button",null,null,this.getTagsForStencil("mxgraph.bootstrap","topButton","bootstrap top button").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.bottomButton;rSize\x3d5;fillColor\x3d#3D8BCD;strokeColor\x3d#0D5B9D;fontColor\x3d#ffffff;spacingLeft\x3d10;align\x3dleft;whiteSpace\x3dwrap;",
160,40,"All Users","Bottom Button",null,null,this.getTagsForStencil("mxgraph.bootstrap","bottomButton","bootstrap bottom button").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;fillColor\x3d#3D8BCD;strokeColor\x3d#0D5B9D;fontColor\x3d#ffffff;spacingLeft\x3d10;align\x3dleft;whiteSpace\x3dwrap;",160,40,"All Users","Right Button",null,null,this.getTagsForStencil("mxgraph.bootstrap","rightButton","bootstrap right button").join(" ")),
this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;fillColor\x3d#3D8BCD;strokeColor\x3d#0D5B9D;fontColor\x3d#ffffff;spacingLeft\x3d10;align\x3dleft;whiteSpace\x3dwrap;",160,40,"All Users","Left Button",null,null,this.getTagsForStencil("mxgraph.bootstrap","leftButton","bootstrap left button").join(" ")),this.addEntry("bootstrap dropdown large",function(){var c=new mxCell("Dropdown",new mxGeometry(0,0,140,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d10;fontSize\x3d16;whiteSpace\x3dwrap;fillColor\x3d#ffffff;align\x3dcenter;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Large)")}),this.addEntry("bootstrap dropdown normal",function(){var c=new mxCell("Dropdown",new mxGeometry(0,0,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d10;fontSize\x3d14;whiteSpace\x3dwrap;fillColor\x3d#ffffff;align\x3dcenter;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Normal)")}),this.addEntry("bootstrap dropdown small",function(){var c=new mxCell("Dropdown",new mxGeometry(0,0,100,22),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d10;perimeter\x3dnone;whiteSpace\x3dwrap;fillColor\x3d#ffffff;align\x3dcenter;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Small)")}),this.addEntry("bootstrap dropdown tiny",function(){var c=new mxCell("Dropdown",new mxGeometry(0,0,90,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d10;fontSize\x3d10;whiteSpace\x3dwrap;fillColor\x3d#ffffff;align\x3dcenter;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Tiny)")}),this.addEntry("bootstrap button group justified large",function(){var c=new mxCell("",new mxGeometry(0,0,240,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;");
c.vertex=!0;var d=new mxCell("Left",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3dnone;perimeter\x3dnone;fontSize\x3d16;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Middle",new mxGeometry(80,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d16;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Right",
new mxGeometry(160,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3dnone;perimeter\x3dnone;fontSize\x3d16;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Button Group (Justified, Large)")}),this.addEntry("bootstrap button group justified normal",function(){var c=new mxCell("",new mxGeometry(0,0,180,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;");
c.vertex=!0;var d=new mxCell("Left",new mxGeometry(0,0,60,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3dnone;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Middle",new mxGeometry(60,0,60,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Right",
new mxGeometry(120,0,60,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3dnone;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Button Group (Justified, Normal)")}),this.addEntry("bootstrap button group justified small",function(){var c=new mxCell("",new mxGeometry(0,0,150,22),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;");
c.vertex=!0;var d=new mxCell("Left",new mxGeometry(0,0,50,22),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Middle",new mxGeometry(50,0,50,22),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Right",new mxGeometry(100,0,50,22),
"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Button Group (Justified, Small)")}),this.addEntry("bootstrap button group justified tiny",function(){var c=new mxCell("",new mxGeometry(0,0,120,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;");
c.vertex=!0;var d=new mxCell("Left",new mxGeometry(0,0,40,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3dnone;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Middle",new mxGeometry(40,0,40,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Right",
new mxGeometry(80,0,40,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3dnone;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Button Group (Justified, Tiny)")}),this.addEntry("bootstrap button toolbar",function(){var c=new mxCell("",new mxGeometry(0,0,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;");
c.vertex=!0;var d=new mxCell("1",new mxGeometry(0,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("2",new mxGeometry(30,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);var b=new mxCell("3",new mxGeometry(60,0,30,
30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");b.vertex=!0;c.insert(b);d=new mxCell("4",new mxGeometry(90,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(130,0,90,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;");
b.vertex=!0;d=new mxCell("5",new mxGeometry(0,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;b.insert(d);d=new mxCell("6",new mxGeometry(30,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;b.insert(d);d=new mxCell("7",new mxGeometry(60,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");
d.vertex=!0;b.insert(d);d=new mxCell("8",new mxGeometry(230,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;align\x3dcenter;rSize\x3d5;strokeColor\x3d#dddddd;whiteSpace\x3dwrap;fillColor\x3d#ffffff;");d.vertex=!0;return a.createVertexTemplateFromCells([c,b,d],260,30,"Button Toolbar")}),this.addEntry("bootstrap button group nested",function(){var c=new mxCell("",new mxGeometry(0,0,160,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;");
c.vertex=!0;var d=new mxCell("1",new mxGeometry(0,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("2",new mxGeometry(30,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Dropdown",new mxGeometry(60,0,
100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;perimeter\x3dnone;fontSize\x3d14;spacingRight\x3d10;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-15,-2.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,
"Button Group (Nested)")}),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;align\x3dcenter;fontSize\x3d16;whiteSpace\x3dwrap;",80,40,"Button","Button (Large)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button large").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;align\x3dcenter;fontSize\x3d14;whiteSpace\x3dwrap;",
60,30,"Button","Button (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;align\x3dcenter;fontSize\x3d12;whiteSpace\x3dwrap;",44,22,"Button","Button (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button small").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;align\x3dcenter;fontSize\x3d10;whiteSpace\x3dwrap;",
40,20,"Button","Button (Tiny)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button tiny").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#3D8BCD;align\x3dcenter;strokeColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;",80,40,"Button","Button (Large)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button large").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#3D8BCD;align\x3dcenter;strokeColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontSize\x3d14;whiteSpace\x3dwrap;",
60,30,"Button","Button (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#3D8BCD;align\x3dcenter;strokeColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontSize\x3d12;whiteSpace\x3dwrap;",44,22,"Button","Button (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button small").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#3D8BCD;align\x3dcenter;strokeColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontSize\x3d10;whiteSpace\x3dwrap;",
40,20,"Button","Button (Tiny)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button tiny").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#58B957;align\x3dcenter;strokeColor\x3d#58B957;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;",80,40,"Button","Button (Large)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button large").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#58B957;align\x3dcenter;strokeColor\x3d#58B957;fontColor\x3d#ffffff;fontSize\x3d14;whiteSpace\x3dwrap;",
60,30,"Button","Button (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#58B957;align\x3dcenter;strokeColor\x3d#58B957;fontColor\x3d#ffffff;fontSize\x3d12;whiteSpace\x3dwrap;",44,22,"Button","Button (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button small").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#58B957;align\x3dcenter;strokeColor\x3d#58B957;fontColor\x3d#ffffff;fontSize\x3d10;whiteSpace\x3dwrap;",
40,20,"Button","Button (Tiny)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button tiny").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#55BFE0;align\x3dcenter;strokeColor\x3d#55BFE0;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;",80,40,"Button","Button (Large)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button large").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#55BFE0;align\x3dcenter;strokeColor\x3d#55BFE0;fontColor\x3d#ffffff;fontSize\x3d14;whiteSpace\x3dwrap;",
60,30,"Button","Button (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#55BFE0;align\x3dcenter;strokeColor\x3d#55BFE0;fontColor\x3d#ffffff;fontSize\x3d12;whiteSpace\x3dwrap;",44,22,"Button","Button (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button small").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#55BFE0;align\x3dcenter;strokeColor\x3d#55BFE0;fontColor\x3d#ffffff;fontSize\x3d10;whiteSpace\x3dwrap;",
40,20,"Button","Button (Tiny)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button tiny").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#EFAC43;align\x3dcenter;strokeColor\x3d#EFAC43;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;",80,40,"Button","Button (Large)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button large").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#EFAC43;align\x3dcenter;strokeColor\x3d#EFAC43;fontColor\x3d#ffffff;fontSize\x3d14;whiteSpace\x3dwrap;",
60,30,"Button","Button (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#EFAC43;align\x3dcenter;strokeColor\x3d#EFAC43;fontColor\x3d#ffffff;fontSize\x3d12;whiteSpace\x3dwrap;",44,22,"Button","Button (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button small").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#EFAC43;align\x3dcenter;strokeColor\x3d#EFAC43;fontColor\x3d#ffffff;fontSize\x3d10;whiteSpace\x3dwrap;",
40,20,"Button","Button (Tiny)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button tiny").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#DB524C;align\x3dcenter;strokeColor\x3d#DB524C;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;",80,40,"Button","Button (Large)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button large").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#DB524C;align\x3dcenter;strokeColor\x3d#DB524C;fontColor\x3d#ffffff;fontSize\x3d14;whiteSpace\x3dwrap;",
60,30,"Button","Button (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#DB524C;align\x3dcenter;strokeColor\x3d#DB524C;fontColor\x3d#ffffff;fontSize\x3d12;whiteSpace\x3dwrap;",44,22,"Button","Button (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button small").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#DB524C;align\x3dcenter;strokeColor\x3d#DB524C;fontColor\x3d#ffffff;fontSize\x3d10;whiteSpace\x3dwrap;",
40,20,"Button","Button (Tiny)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap button tiny").join(" ")),this.addEntry("bootstrap dropdown small",function(){var c=new mxCell("Primary",new mxGeometry(0,0,100,22),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#3D8BCD;strokeColor\x3d#3D8BCD;fontColor\x3d#ffffff;spacingRight\x3d10;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Small)")}),this.addEntry("bootstrap dropdown small",function(){var c=new mxCell("Success",new mxGeometry(0,0,100,22),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#58B957;strokeColor\x3d#58B957;fontColor\x3d#ffffff;spacingRight\x3d10;whiteSpace\x3dwrap;");c.vertex=
!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Small)")}),this.addEntry("bootstrap dropdown small",function(){var c=new mxCell("Info",new mxGeometry(0,0,100,22),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#55BFE0;strokeColor\x3d#55BFE0;fontColor\x3d#ffffff;spacingRight\x3d10;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Small)")}),this.addEntry("bootstrap dropdown small",function(){var c=new mxCell("Warning",new mxGeometry(0,0,100,22),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#EFAC43;strokeColor\x3d#EFAC43;fontColor\x3d#ffffff;spacingRight\x3d10;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Small)")}),this.addEntry("bootstrap dropdown small",function(){var c=new mxCell("Danger",new mxGeometry(0,0,100,22),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#DB524C;strokeColor\x3d#DB524C;fontColor\x3d#ffffff;spacingRight\x3d10;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Small)")}),this.addEntry("bootstrap dropdown split",function(){var c=new mxCell("Default",new mxGeometry(0,0,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;align\x3dcenter;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d20;fontSize\x3d14;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-30,0);d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,
-2.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Split)")}),this.addEntry("bootstrap dropdown split",function(){var c=new mxCell("Primary",new mxGeometry(0,0,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#3D8BCD;strokeColor\x3d#0D5B9D;spacingRight\x3d20;fontSize\x3d14;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,
0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#0D5B9D;perimeter\x3dnone;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-30,0);d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,-2.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],
c.geometry.width,c.geometry.height,"Dropdown (Split)")}),this.addEntry("bootstrap dropdown split",function(){var c=new mxCell("Success",new mxGeometry(0,0,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#58B957;strokeColor\x3d#288927;spacingRight\x3d20;fontSize\x3d14;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#288927;perimeter\x3dnone;resizeHeight\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-30,0);d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,-2.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Split)")}),this.addEntry("bootstrap dropdown split",function(){var c=new mxCell("Info",new mxGeometry(0,
0,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#55BFE0;strokeColor\x3d#258FB0;spacingRight\x3d20;fontSize\x3d14;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#258FB0;perimeter\x3dnone;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-30,
0);d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,-2.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Split)")}),this.addEntry("bootstrap dropdown split",function(){var c=new mxCell("Warning",new mxGeometry(0,0,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#EFAC43;strokeColor\x3d#BF7C13;spacingRight\x3d20;fontSize\x3d14;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#BF7C13;perimeter\x3dnone;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-30,0);d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,
-2.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropdown (Split)")}),this.addEntry("bootstrap dropdown split",function(){var c=new mxCell("Danger",new mxGeometry(0,0,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#DB524C;strokeColor\x3d#AB221C;spacingRight\x3d20;fontSize\x3d14;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0,
30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#AB221C;perimeter\x3dnone;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-30,0);d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,-2.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],
c.geometry.width,c.geometry.height,"Dropdown (Split)")}),this.addEntry("bootstrap dropup split",function(){var c=new mxCell("Dropup",new mxGeometry(0,0,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;align\x3dcenter;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d20;fontSize\x3d14;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;resizeHeight\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-30,0);d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dnorth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,-2.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropup (Split)")}),this.addEntry("bootstrap dropup split",function(){var c=new mxCell("Right dropup",new mxGeometry(0,
0,140,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;fillColor\x3d#3D8BCD;strokeColor\x3d#0D5B9D;spacingRight\x3d20;fontSize\x3d14;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#0D5B9D;perimeter\x3dnone;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-30,
0);d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dnorth;fillColor\x3d#ffffff;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,-2.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dropup (Split)")}),this.addEntry("bootstrap dropdown menu",function(){var c=new mxCell("Dropdown",new mxGeometry(0,0,140,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d10;fontSize\x3d16;gradientColor\x3d#e4e4e4;gradientDirection\x3dnorth;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);d=new mxCell("Action\nAnother Action",new mxGeometry(0,42,160,48),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#ffffff;fontSize\x3d12;fontColor\x3d#000000;fontFamily\x3dHelvetica;fontStyle\x3d0;strokeColor\x3d#dddddd;spacingLeft\x3d10;shadow\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d3;");
d.vertex=!0;return a.createVertexTemplateFromCells([c,d],160,90,"Dropdown (Menu)")}),this.addEntry("bootstrap dropdown menu header",function(){var c=new mxCell("Dropdown",new mxGeometry(0,0,110,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d10;fontSize\x3d16;fillColor\x3d#FFFFFF;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(0,42,160,108),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;shadow\x3d1;");d.vertex=!0;var b=new mxCell("Action",new mxGeometry(0,0,160,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,8);b.vertex=!0;d.insert(b);b=new mxCell("Another action",new mxGeometry(0,0,160,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,28);b.vertex=!0;d.insert(b);b=new mxCell("Disabled link",new mxGeometry(0,0,160,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;fontColor\x3d#dddddd;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,48);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0,160,20),"shape\x3dline;strokeColor\x3d#dddddd;perimeter\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,68);b.vertex=!0;d.insert(b);b=new mxCell("Separated link",new mxGeometry(0,0,160,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,88);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c,d],160,150,"Dropdown (Menu, Headers)")}),this.addEntry("bootstrap dropdown menu",function(){var c=new mxCell("Dropdown",new mxGeometry(0,0,110,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d10;fontSize\x3d16;fillColor\x3d#FFFFFF;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;");c.vertex=!0;var d=
new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-20,-2.5);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(0,42,160,158),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;shadow\x3d1;");d.vertex=!0;var b=new mxCell("Dropdown header",new mxGeometry(0,0,160,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#dddddd;fontSize\x3d11;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,8);b.vertex=!0;d.insert(b);b=new mxCell("Action",new mxGeometry(0,0,160,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,28);b.vertex=!0;d.insert(b);b=new mxCell("Another action",new mxGeometry(0,0,160,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,48);b.vertex=!0;d.insert(b);b=new mxCell("Disabled link",new mxGeometry(0,0,160,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;fontColor\x3d#dddddd;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,68);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0,160,20),"shape\x3dline;strokeColor\x3d#dddddd;perimeter\x3dnone;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,88);b.vertex=!0;d.insert(b);b=new mxCell("Dropdown header",new mxGeometry(0,0,160,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#dddddd;fontSize\x3d11;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,108);b.vertex=!0;d.insert(b);b=new mxCell("Separated link",new mxGeometry(0,
0,160,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,128);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c,d],160,200,"Dropdown (Menu)")}),this.addEntry("bootstrap input group",function(){var c=new mxCell("Username",new mxGeometry(0,0,250,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;spacingLeft\x3d50;fontSize\x3d14;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("@",new mxGeometry(0,0,40,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Input Group")}),this.addEntry("bootstrap input group",function(){var c=new mxCell("",new mxGeometry(0,0,250,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;spacingLeft\x3d10;fontSize\x3d14;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell(".00",new mxGeometry(1,0,40,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-40,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Input Group")}),this.addEntry("bootstrap input group",function(){var c=new mxCell("",new mxGeometry(0,0,250,
30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;spacingLeft\x3d50;fontSize\x3d14;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("$",new mxGeometry(0,0,40,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);d=new mxCell(".00",
new mxGeometry(1,0,40,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-40,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Input Group")}),this.addEntry("bootstrap input group",function(){var c=new mxCell("Username",new mxGeometry(0,0,250,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;spacingLeft\x3d50;fontSize\x3d14;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,40,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(0.5,0.5,16,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;rSize\x3d3;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-8,-8);b.vertex=!0;
d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Input Group")}),this.addEntry("bootstrap input group",function(){var c=new mxCell("Username",new mxGeometry(0,0,250,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;spacingLeft\x3d50;fontSize\x3d14;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,40,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(0.5,0.5,16,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.radioButton;rSize\x3d3;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-8,-8);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Input Group")}),this.addEntry("bootstrap username large",function(){var c=new mxCell("Username",new mxGeometry(0,0,250,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;spacingLeft\x3d60;fontSize\x3d16;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(0.5,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#000000;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-10,
-10);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Username (Large)")}),this.addEntry("bootstrap username normal",function(){var c=new mxCell("Username",new mxGeometry(0,0,250,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;spacingLeft\x3d50;fontSize\x3d14;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,
40,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(0.5,0.5,15,15),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#000000;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-7.5,-7.5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],
c.geometry.width,c.geometry.height,"Username (Normal)")}),this.addEntry("bootstrap username tiny",function(){var c=new mxCell("Username",new mxGeometry(0,0,250,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;spacingLeft\x3d40;fontSize\x3d10;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;whiteSpace\x3dwrap;resizeHeight\x3d1");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(0.5,0.5,10,10),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#000000;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-5,-5);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Username (Tiny)")}),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;fontSize\x3d16;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;",
250,40,"Johnny Boo","Full Name (Large)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap full name large").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;fontSize\x3d14;align\x3dleft;spacingLeft\x3d8;whiteSpace\x3dwrap;",250,30,"Johnny Boo","Full Name (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap full name normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;fontSize\x3d10;align\x3dleft;spacingLeft\x3d6;whiteSpace\x3dwrap;",
250,20,"Johnny Boo","Full Name (Tiny)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap full name tiny").join(" ")),this.addEntry("bootstrap final price large",function(){var c=new mxCell("Amount",new mxGeometry(0,0,200,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#dddddd;spacingLeft\x3d10;fontSize\x3d16;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("UAH",new mxGeometry(1,
0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;fontSize\x3d16;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-50,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Final Price (Large)")}),this.addEntry("bootstrap final price normal",function(){var c=new mxCell("Amount",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#dddddd;spacingLeft\x3d8;fontSize\x3d14;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("UAH",new mxGeometry(1,0,40,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-40,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Final Price (Normal)")}),this.addEntry("bootstrap final price tiny",function(){var c=new mxCell("Amount",
new mxGeometry(0,0,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#dddddd;spacingLeft\x3d6;fontSize\x3d10;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("UAH",new mxGeometry(1,0,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#f0f0f0;fontSize\x3d10;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=
!0;d.geometry.offset=new mxPoint(-30,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Final Price (Tiny)")}),this.addEntry("bootstrap segmented button large",function(){var c=new mxCell("Search...",new mxGeometry(0,0,400,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#dddddd;fontSize\x3d16;fontColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d90;whiteSpace\x3dwrap;");c.vertex=
!0;var d=new mxCell("Users",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;fontSize\x3d16;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(-20,-2.5);b.vertex=!0;d.insert(b);d=new mxCell("Go!",new mxGeometry(1,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;fontSize\x3d16;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-50,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Segmented Button (Large)")}),this.addEntry("bootstrap segmented button normal",
function(){var c=new mxCell("Search...",new mxGeometry(0,0,400,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#dddddd;fontSize\x3d14;fontColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d80;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Users",new mxGeometry(0,0,70,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;spacingLeft\x3d6;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,-2.5);b.vertex=!0;d.insert(b);d=new mxCell("Go!",new mxGeometry(1,0,40,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-40,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Segmented Button (Normal)")}),this.addEntry("bootstrap segmented button tiny",function(){var c=new mxCell("Search...",new mxGeometry(0,0,400,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#dddddd;fontSize\x3d10;fontColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d70;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("Users",new mxGeometry(0,0,60,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;fontSize\x3d10;align\x3dleft;spacingLeft\x3d3;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(-20,-2.5);b.vertex=!0;d.insert(b);d=new mxCell("Go!",new mxGeometry(1,0,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-30,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Segmented Button (Tiny)")}),this.addEntry("bootstrap search button large",
function(){var c=new mxCell("Search...",new mxGeometry(0,0,200,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d10;fontSize\x3d16;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Go!",new mxGeometry(1,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;fontSize\x3d16;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-50,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Search Button (Large)")}),this.addEntry("bootstrap search button normal",function(){var c=new mxCell("Search...",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d6;fontSize\x3d14;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("Go!",new mxGeometry(1,0,40,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-40,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Search Button (Normal)")}),this.addEntry("bootstrap search button tiny",function(){var c=new mxCell("Search...",
new mxGeometry(0,0,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d3;fontSize\x3d10;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Go!",new mxGeometry(1,0,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=
!0;d.geometry.offset=new mxPoint(-30,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Search Button (Tiny)")}),this.addEntry("bootstrap dropdown menu",function(){var c=new mxCell("Dubai, UAE",new mxGeometry(0,0,300,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d10;fontSize\x3d16;gradientColor\x3d#e4e4e4;gradientDirection\x3dnorth;spacingLeft\x3d10;align\x3dleft;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-15,-2.5);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(0,42,300,258),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;spacingLeft\x3d10;shadow\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d3;perimeter\x3dnone;");
d.vertex=!0;var b=new mxCell("Search...",new mxGeometry(0,0,280,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fontColor\x3d#dddddd;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,9);b.vertex=!0;d.insert(b);b=new mxCell("Beijing, China",new mxGeometry(0,0,300,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,48);b.vertex=!0;d.insert(b);b=new mxCell("Dubai, UAE",new mxGeometry(0,0,300,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fontStyle\x3d1;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,78);b.vertex=!0;d.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,10,8),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.check;strokeWidth\x3d3;strokeColor\x3d#666666;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-15,-4);e.vertex=!0;b.insert(e);b=new mxCell("Kiev, Ukraine",new mxGeometry(0,0,300,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,108);b.vertex=!0;d.insert(b);b=new mxCell("London, UK",new mxGeometry(0,0,300,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,138);b.vertex=!0;d.insert(b);b=new mxCell("Moscow, Russia",new mxGeometry(0,0,300,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,168);b.vertex=!0;d.insert(b);b=new mxCell("New York, USA",new mxGeometry(0,0,300,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,198);b.vertex=!0;d.insert(b);b=new mxCell("Tokyo, Japan",new mxGeometry(0,0,300,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,228);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c,d],300,300,"Dropdown (Menu)")}),this.addEntry("bootstrap dropdown menu",
function(){var c=new mxCell("Dubai, UAE",new mxGeometry(0,0,200,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;spacingRight\x3d10;fontSize\x3d16;gradientColor\x3d#e4e4e4;gradientDirection\x3dnorth;spacingLeft\x3d10;align\x3dleft;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");d.geometry.relative=!0;d.geometry.offset=
new mxPoint(-15,-2.5);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(0,42,200,210),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;spacingLeft\x3d10;shadow\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d3;perimeter\x3dnone;");d.vertex=!0;var b=new mxCell("Beijing, China",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;d.insert(b);b=new mxCell("Dubai, UAE",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fontStyle\x3d1;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;d.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,10,8),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.check;strokeWidth\x3d3;strokeColor\x3d#666666;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-15,-4);e.vertex=!0;b.insert(e);b=new mxCell("Kiev, Ukraine",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,60);b.vertex=!0;d.insert(b);b=new mxCell("London, UK",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,90);b.vertex=!0;d.insert(b);b=new mxCell("Moscow, Russia",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,120);b.vertex=!0;d.insert(b);b=new mxCell("New York, USA",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,150);b.vertex=!0;d.insert(b);b=new mxCell("Tokyo, Japan",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,180);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c,d],200,252,"Dropdown (Menu)")}),this.addEntry("bootstrap context menu",
function(){var c=new mxCell("",new mxGeometry(0,0,140,128),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;shadow\x3d1;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Dropdown header",new mxGeometry(0,0,140,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d6;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#dddddd;fontSize\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,8);d.vertex=!0;c.insert(d);d=new mxCell("Action",new mxGeometry(0,0,140,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d6;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,24);d.vertex=!0;c.insert(d);d=new mxCell("Another action",new mxGeometry(0,0,140,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d6;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,40);d.vertex=!0;c.insert(d);d=new mxCell("Something else here",new mxGeometry(0,0,140,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d6;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,56);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(0,0,140,16),"shape\x3dline;strokeColor\x3d#dddddd;perimeter\x3dnone;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,72);d.vertex=!0;c.insert(d);d=new mxCell("Dropdown header",new mxGeometry(0,0,140,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d6;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#dddddd;fontSize\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,88);d.vertex=!0;c.insert(d);d=new mxCell("Separated link",new mxGeometry(0,0,
140,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d6;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,104);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Context Menu")}),this.addEntry("bootstrap context menu",function(){var c=new mxCell("",new mxGeometry(0,0,140,96),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;shadow\x3d1;");
c.vertex=!0;var d=new mxCell("Action",new mxGeometry(0,0,140,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d6;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,8);d.vertex=!0;c.insert(d);d=new mxCell("Another action",new mxGeometry(0,0,140,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d6;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,24);d.vertex=!0;c.insert(d);d=new mxCell("Something else here",new mxGeometry(0,0,140,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d6;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,40);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(0,0,140,16),"shape\x3dline;strokeColor\x3d#dddddd;perimeter\x3dnone;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,56);d.vertex=!0;c.insert(d);d=new mxCell("Separated link",new mxGeometry(0,0,140,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;spacingLeft\x3d6;align\x3dleft;fillColor\x3dnone;perimeter\x3dnone;fontSize\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,72);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,
"Context Menu")}),this.addEntry("bootstrap pagination",function(){var c=new mxCell("",new mxGeometry(0,0,330,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("\x3c\x3c",new mxGeometry(0,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("1",
new mxGeometry(30,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("3",new mxGeometry(90,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("4",new mxGeometry(120,0,30,30),
"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("5",new mxGeometry(150,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("6",new mxGeometry(180,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);d=new mxCell("7",new mxGeometry(210,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("8",new mxGeometry(240,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=
new mxCell("9",new mxGeometry(270,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;perimeter\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("\x3e\x3e",new mxGeometry(300,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rightButton;strokeColor\x3d#dddddd;fillColor\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("2",new mxGeometry(60,
0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#3D8BCD;fillColor\x3d#3D8BCD;perimeter\x3dnone;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Pagination")}),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.roundedButton;fillColor\x3d#ffffff;align\x3dcenter;strokeColor\x3d#dddddd;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;",
100,30,"Previous","Button (Previous)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap ").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.roundedButton;fillColor\x3d#ffffff;align\x3dcenter;strokeColor\x3d#dddddd;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;",60,30,"Next","Button (Next)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap ").join(" ")),this.addEntry("bootstrap button older",function(){var c=new mxCell("Older",
new mxGeometry(0,0,100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.roundedButton;fillColor\x3d#ffffff;align\x3dcenter;strokeColor\x3d#dddddd;fontColor\x3d#dddddd;spacingLeft\x3d10;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0.5,16,4),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.arrow;strokeColor\x3d#dddddd;flipH\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(12,-2);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],
c.geometry.width,c.geometry.height,"Button (Older)")}),this.addEntry("bootstrap button newer",function(){var c=new mxCell("Newer",new mxGeometry(0,0,100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.roundedButton;fillColor\x3d#ffffff;align\x3dcenter;strokeColor\x3d#dddddd;fontColor\x3d#3D8BCD;spacingRight\x3d10;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,16,4),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.arrow;strokeColor\x3d#3D8BCD;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-28,-2);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Button (Newer)")}),this.addEntry("bootstrap tabs",function(){var c=new mxCell("Home",new mxGeometry(0,0,58,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.tabTop;fillColor\x3d#ffffff;align\x3dcenter;fontColor\x3d#000000;strokeColor\x3d#dddddd;rSize\x3d5;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(58,
35,402,10),"shape\x3dline;strokeColor\x3d#dddddd;");d.vertex=!0;var b=new mxCell("Disabled Link",new mxGeometry(62,0,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;fillColor\x3d#ffffff;strokeColor\x3dnone;rSize\x3d5;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");b.vertex=!0;var e=new mxCell("Messages",new mxGeometry(166,0,116,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;align\x3dcenter;fillColor\x3d#ffffff;strokeColor\x3dnone;rSize\x3d5;fontColor\x3d#3D8BCD;spacingRight\x3d30;whiteSpace\x3dwrap;");
e.vertex=!0;var g=new mxCell("24",new mxGeometry(1,0.5,25,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d8;fillColor\x3d#999999;strokeColor\x3dnone;fontColor\x3d#ffffff;perimeter\x3dnone;whiteSpace\x3dwrap;");g.geometry.relative=!0;g.geometry.offset=new mxPoint(-36,-8);g.vertex=!0;e.insert(g);g=new mxCell("Action Logs",new mxGeometry(286,0,106,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;fillColor\x3d#ffffff;strokeColor\x3dnone;rSize\x3d5;fontColor\x3d#3D8BCD;spacingRight\x3d20;whiteSpace\x3dwrap;");
g.vertex=!0;var k=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#3D8BCD;strokeColor\x3dnone;perimeter\x3dnone;");k.geometry.relative=!0;k.geometry.offset=new mxPoint(-21,-2.5);k.vertex=!0;g.insert(k);return a.createVertexTemplateFromCells([c,b,e,g,d],460,45,"Tabs")}),this.addEntry("bootstrap pills",function(){var c=new mxCell("Home",new mxGeometry(0,0,58,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontColor\x3d#ffffff;rSize\x3d5;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("Disabled Link",new mxGeometry(62,0,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;align\x3dcenter;rSize\x3d5;;strokeColor\x3dnone;rSize\x3d5;fontColor\x3d#dddddd;whiteSpace\x3dwrap;");d.vertex=!0;var b=new mxCell("Messages",new mxGeometry(166,0,116,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#ffffff;align\x3dcenter;strokeColor\x3dnone;rSize\x3d5;fontColor\x3d#3D8BCD;spacingRight\x3d30;whiteSpace\x3dwrap;");
b.vertex=!0;var e=new mxCell("24",new mxGeometry(1,0.5,25,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d8;fillColor\x3d#999999;strokeColor\x3dnone;fontColor\x3d#ffffff;perimeter\x3dnone;whiteSpace\x3dwrap;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-36,-8);e.vertex=!0;b.insert(e);e=new mxCell("Action Logs",new mxGeometry(286,0,106,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#ffffff;align\x3dcenter;strokeColor\x3dnone;rSize\x3d5;fontColor\x3d#3D8BCD;spacingRight\x3d20;whiteSpace\x3dwrap;");
e.vertex=!0;var g=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#3D8BCD;strokeColor\x3dnone;perimeter\x3dnone;");g.geometry.relative=!0;g.geometry.offset=new mxPoint(-21,-2.5);g.vertex=!0;e.insert(g);return a.createVertexTemplateFromCells([c,d,b,e],392,45,"Pills")}),this.addEntry("bootstrap breadcrumb",function(){var c=new mxCell("",new mxGeometry(0,0,460,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;");
c.vertex=!0;var d=new mxCell("Home",new mxGeometry(0,0,50,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;perimeter\x3dnone;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#3D8BCD;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);d=new mxCell("/",new mxGeometry(0,0,20,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;perimeter\x3dnone;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#dddddd;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(50,0);d.vertex=!0;c.insert(d);d=new mxCell("Library",new mxGeometry(0,0,50,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;perimeter\x3dnone;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(70,0);d.vertex=!0;c.insert(d);d=new mxCell("/",new mxGeometry(0,0,20,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;perimeter\x3dnone;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#dddddd;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(120,0);d.vertex=!0;c.insert(d);d=new mxCell("Data",new mxGeometry(0,0,50,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;perimeter\x3dnone;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#dddddd;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(140,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Breadcrumb")}),this.addEntry("bootstrap pills vertical",
function(){var c=new mxCell("",new mxGeometry(0,0,200,158),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize5\x3d;strokeColor\x3dnone;fillColor\x3d#ffffff;");c.vertex=!0;var d=new mxCell("Home",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);
var b=new mxCell("42",new mxGeometry(1,0.5,25,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d8;fillColor\x3d#ffffff;strokeColor\x3dnone;fontColor\x3d#3D8BCD;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-33,-8);b.vertex=!0;d.insert(b);d=new mxCell("Profile",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3dnone;fontColor\x3d#3D8BCD;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,32);d.vertex=!0;c.insert(d);d=new mxCell("Messages",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3dnone;fontColor\x3d#3D8BCD;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,64);d.vertex=!0;c.insert(d);b=new mxCell("24",new mxGeometry(1,0.5,25,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d8;fillColor\x3d#999999;strokeColor\x3dnone;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-33,-8);b.vertex=!0;d.insert(b);d=new mxCell("Disabled Link",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3dnone;fontColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,96);d.vertex=!0;c.insert(d);d=new mxCell("System Settings",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3dnone;fontColor\x3d#3D8BCD;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,128);d.vertex=!0;c.insert(d);b=new mxCell("1",new mxGeometry(1,0.5,25,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d8;fillColor\x3d#999999;strokeColor\x3dnone;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-33,-8);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],200,158,"Pills (Vertical)")}),this.addEntry("bootstrap navbar",function(){var c=new mxCell("",
new mxGeometry(0,0,720,100),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#f6f6f6;strokeColor\x3d#dddddd;recursiveResize\x3d0;");c.vertex=!0;var d=new mxCell("Brand",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;fontSize\x3d14;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Link",new mxGeometry(80,0,60,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#dddddd;strokeColor\x3dnone;fontColor\x3d#999999;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);d=new mxCell("Link",new mxGeometry(140,0,60,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Dropdown",new mxGeometry(200,0,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;spacingRight\x3d10;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);var b=new mxCell("",
new mxGeometry(1,0.5,8,5),"shape\x3dtriangle;fillColor\x3d#999999;strokeColor\x3dnone;direction\x3dsouth;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-19,-3);b.vertex=!0;d.insert(b);d=new mxCell("Search...",new mxGeometry(305,5,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fontColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Submit",new mxGeometry(510,
5,80,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Link",new mxGeometry(1,1,60,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontColor\x3d#999999;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-180,-40);d.vertex=!0;c.insert(d);d=new mxCell("Dropdown",new mxGeometry(1,1,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontColor\x3d#999999;spacingRight\x3d10;whiteSpace\x3dwrap;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-120,-40);d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(1,0.5,8,5),"shape\x3dtriangle;fillColor\x3d#999999;strokeColor\x3dnone;direction\x3dsouth;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-19,-3);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Navbar")}),this.addEntry("bootstrap navbar form",function(){var c=new mxCell("",new mxGeometry(0,0,720,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#f6f6f6;strokeColor\x3d#dddddd;");
c.vertex=!0;var d=new mxCell("Brand",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);d=new mxCell("Search...",new mxGeometry(0,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fontColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(85,5);d.vertex=!0;c.insert(d);d=new mxCell("Submit",new mxGeometry(0,0,80,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(290,5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Navbar Form")}),this.addEntry("bootstrap navbar button",function(){var c=
new mxCell("",new mxGeometry(0,0,720,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#f6f6f6;strokeColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Brand",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontColor\x3d#999999;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);d=new mxCell("Sign in",new mxGeometry(0,0,60,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(80,5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Navbar Button")}),this.addEntry("bootstrap navbar text",function(){var c=new mxCell("",new mxGeometry(0,0,720,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#f6f6f6;strokeColor\x3d#dddddd;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Brand",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontColor\x3d#999999;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);d=new mxCell("Signed in as Mark Otto",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(80,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Navbar Text")}),this.addEntry("bootstrap non nav link",
function(){var c=new mxCell("",new mxGeometry(0,0,720,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#f6f6f6;strokeColor\x3d#dddddd;");c.vertex=!0;var d=new mxCell("Brand",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontColor\x3d#999999;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);d=new mxCell("Signed in as Mark Otto",new mxGeometry(1,0,160,40),
"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontColor\x3d#999999;align\x3dright;spacingRight\x3d20;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-160,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Non-nav Link")}),this.addEntry("bootstrap navbar",function(){var c=new mxCell("",new mxGeometry(0,0,720,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;strokeColor\x3dnone;rSize\x3d5;fillColor\x3d#222222;");
c.vertex=!0;var d=new mxCell("Brand",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);d=new mxCell("Home",new mxGeometry(0,0,60,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3d#000000;strokeColor\x3dnone;fontColor\x3d#ffffff;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(80,0);d.vertex=!0;c.insert(d);d=new mxCell("Link",new mxGeometry(0,0,60,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;whiteSpace\x3dwrap;resizeHeight\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(140,0);d.vertex=!0;c.insert(d);d=new mxCell("Link",new mxGeometry(0,0,60,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;whiteSpace\x3dwrap;resizeHeight\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(200,0);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Navbar")}),this.addEntry("bootstrap jumbotron",function(){var c=new mxCell("",new mxGeometry(0,0,800,500),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#f0f0f0;strokeColor\x3dnone;");c.vertex=!0;var d=new mxCell("Hello, world!",new mxGeometry(60,80,680,80),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d80;align\x3dleft;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);d=new mxCell("This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.",new mxGeometry(60,180,660,100),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d24;whiteSpace\x3dwrap;align\x3dleft;");d.vertex=!0;c.insert(d);d=new mxCell("Learn more",new mxGeometry(0.075,0.6,180,60),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontColor\x3d#FFFFFF;fillColor\x3d#3D8BCD;strokeColor\x3dnone;fontSize\x3d24;whiteSpace\x3dwrap;");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Jumbotron")}),this.addEntry("bootstrap page header",function(){var c=new mxCell("Example page header",new mxGeometry(0,0,360,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d35;align\x3dleft;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Subtext for header",new mxGeometry(360,10,300,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d24;align\x3dleft;fontColor\x3d#999999;whiteSpace\x3dwrap;");
d.vertex=!0;var b=new mxCell("",new mxGeometry(0,50,750,10),"shape\x3dline;strokeColor\x3d#dddddd;");b.vertex=!0;return a.createVertexTemplateFromCells([c,d,b],700,80,"Page header")}),this.addEntry("bootstrap thumbnail custom content",function(){var c=new mxCell("",new mxGeometry(0,0,330,400),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#dddddd;");c.vertex=!0;var d=new mxCell("320x200",new mxGeometry(5,5,320,200),"shape\x3drect;fontSize\x3d24;fillColor\x3d#f0f0f0;strokeColor\x3dnone;fontColor\x3d#999999;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);d=new mxCell("Thumbnail label",new mxGeometry(15,220,300,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d26;align\x3dleft;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.",new mxGeometry(15,260,300,80),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;strokeColor\x3d#dddddd;whiteSpace\x3dwrap;align\x3dleft;verticalAlign\x3dtop;fontSize\x3d14;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);d=new mxCell("Button",new mxGeometry(0,1,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fontSize\x3d16;fillColor\x3d#3D8BCD;strokeColor\x3dnone;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(15,-60);d.vertex=!0;c.insert(d);d=new mxCell("Button",new mxGeometry(0,1,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fontSize\x3d16;strokeColor\x3d#dddddd;whiteSpace\x3dwrap;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(100,-60);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Thumbnail with custom content")}),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#999999;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;",60,30,"Label","Label (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap",
"","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#0D5B9D;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;",60,30,"Label","Label (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#58B957;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;",
60,30,"Label","Label (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#55BFE0;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;",60,30,"Label","Label (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#EFAC43;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;",
60,30,"Label","Label (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#DB524C;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;",60,30,"Label","Label (Normal)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#999999;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;fontSize\x3d10;",
40,20,"Label","Label (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#0D5B9D;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;fontSize\x3d10;",40,20,"Label","Label (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#58B957;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;fontSize\x3d10;",
40,20,"Label","Label (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#55BFE0;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;fontSize\x3d10;",40,20,"Label","Label (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#EFAC43;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;fontSize\x3d10;",
40,20,"Label","Label (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#DB524C;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;fontSize\x3d10;",40,20,"Label","Label (Small)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d30;align\x3dleft;spacingLeft\x3d10;",
250,40,"Header Text","Header Text (30)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d25;align\x3dleft;spacingLeft\x3d10;",250,35,"Header Text","Header Text (25)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d20;align\x3dleft;spacingLeft\x3d10;",
250,30,"Header Text","Header Text (20)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d16;align\x3dleft;spacingLeft\x3d10;",250,26,"Header Text","Header Text (16)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d12;align\x3dleft;spacingLeft\x3d10;",
250,22,"Header Text","Header Text (12)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d10;align\x3dleft;spacingLeft\x3d10;",250,20,"Header Text","Header Text (10)",null,null,this.getTagsForStencil("mxgraph.bootstrap","","bootstrap label normal").join(" ")),this.createVertexTemplateEntry("html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.image;align\x3dcenter;rSize\x3d5;strokeColor\x3d#f6f6f6;fillColor\x3d#f6f6f6;fontColor\x3d#999999;strokeWidth\x3d2;whiteSpace\x3dwrap;",
150,150,"Image","Image",null,null,this.getTagsForStencil("mxgraph.bootstrap","image","bootstrap ").join(" ")),this.addEntry("bootstrap image",function(){var c=new mxCell("Image",new mxGeometry(0,0,150,70),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.image;align\x3dcenter;rSize\x3d5;strokeColor\x3d#f6f6f6;fillColor\x3d#f6f6f6;fontColor\x3d#999999;strokeWidth\x3d2;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Image",new mxGeometry(0,80,70,70),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.image;align\x3dcenter;rSize\x3d5;strokeColor\x3d#f6f6f6;fillColor\x3d#f6f6f6;fontColor\x3d#999999;strokeWidth\x3d2;whiteSpace\x3dwrap;");
d.vertex=!0;var b=new mxCell("Image",new mxGeometry(80,80,70,70),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.image;align\x3dcenter;rSize\x3d5;strokeColor\x3d#f6f6f6;fillColor\x3d#f6f6f6;fontColor\x3d#999999;strokeWidth\x3d2;whiteSpace\x3dwrap;");b.vertex=!0;return a.createVertexTemplateFromCells([c,d,b],150,150,"Images")}),this.addEntry("bootstrap dismissible alert",function(){var c=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;margin-left:14px;"\x3e\x3ctbody\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"middle" width\x3d"50%"\x3e\x3cb\x3eWell done!\x3c/b\x3e You successfully read \x3cu\x3ethis important alert message.\x3c/u\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/tbody\x3e\x3c/table\x3e',
new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#E0F0D6;fontColor\x3d#59B958;overflow\x3dfill;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,10),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.x;strokeColor\x3d#59B958;strokeWidth\x3d2;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-25,-5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],
c.geometry.width,c.geometry.height,"Dismissible Alert")}),this.addEntry("bootstrap dismissible alert",function(){var c=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;margin-left:14px;"\x3e\x3ctbody\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"middle" width\x3d"50%"\x3e\x3cb\x3eHeads up!\x3c/b\x3e This \x3cu\x3ealert needs you attention\x3c/u\x3e, but it\'s not super important.\x3c/td\x3e\x3c/tr\x3e\x3c/tbody\x3e\x3c/table\x3e',new mxGeometry(0,0,800,
40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#D9EDF8;fontColor\x3d#55C0E0;overflow\x3dfill;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,10),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.x;strokeColor\x3d#55C0E0;strokeWidth\x3d2;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-25,-5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,
"Dismissible Alert")}),this.addEntry("bootstrap dismissible alert",function(){var c=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;margin-left:14px;"\x3e\x3ctbody\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"middle" width\x3d"50%"\x3e\x3cb\x3eWarning!\x3c/b\x3e Better check yourself, \x3cu\x3eyou\'re not looking too good.\x3c/u\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/tbody\x3e\x3c/table\x3e',new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#FDF8E4;fontColor\x3d#F2AE43;overflow\x3dfill;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,10),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.x;strokeColor\x3d#F2AE43;strokeWidth\x3d2;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-25,-5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Dismissible Alert")}),this.addEntry("bootstrap dismissible alert",function(){var c=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;margin-left:14px;"\x3e\x3ctbody\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"middle" width\x3d"50%"\x3e\x3cb\x3eOh snap!\x3c/b\x3e \x3cu\x3eChange a few things up\x3c/u\x3e and try submitting again.\x3c/td\x3e\x3c/tr\x3e\x3c/tbody\x3e\x3c/table\x3e',
new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#F2DEDF;fontColor\x3d#DB524C;overflow\x3dfill;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(1,0.5,10,10),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.x;strokeColor\x3d#DB524C;strokeWidth\x3d2;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-25,-5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],
c.geometry.width,c.geometry.height,"Dismissible Alert")}),this.addEntry("bootstrap progress bar",function(){var c=new mxCell("",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("60%",new mxGeometry(0,0,500,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#59B958;fontColor\x3d#FFFFFF;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Progress Bar")}),this.addEntry("bootstrap progress bar",function(){var c=new mxCell("",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("60%",new mxGeometry(0,0,500,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#55C0E0;fontColor\x3d#FFFFFF;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Progress Bar")}),this.addEntry("bootstrap progress bar",function(){var c=new mxCell("",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("60%",new mxGeometry(0,0,500,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#F2AE43;fontColor\x3d#FFFFFF;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Progress Bar")}),this.addEntry("bootstrap progress bar",function(){var c=new mxCell("",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("60%",new mxGeometry(0,0,500,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#DB524C;fontColor\x3d#FFFFFF;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Progress Bar")}),this.addEntry("bootstrap progress bar low percentage",function(){var c=new mxCell("0%",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;fontColor\x3d#000000;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");c.vertex=!0;return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,
"Progress Bar (Low percentage)")}),this.addEntry("bootstrap progress bar low percentage",function(){var c=new mxCell("",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("2%",new mxGeometry(0,0,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#55C0E0;fontColor\x3d#FFFFFF;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Progress Bar (Low percentage)")}),this.addEntry("bootstrap progress bar striped",function(){var c=new mxCell("",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("60%",new mxGeometry(0,0,500,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButtonStriped;fillColor\x3d#59B958;fontColor\x3d#FFFFFF;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Progress Bar (Striped)")}),this.addEntry("bootstrap progress bar striped",function(){var c=new mxCell("",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("60%",new mxGeometry(0,0,500,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButtonStriped;fillColor\x3d#55BFE0;fontColor\x3d#FFFFFF;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Progress Bar (Striped)")}),this.addEntry("bootstrap progress bar striped",function(){var c=new mxCell("",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("60%",new mxGeometry(0,0,500,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButtonStriped;fillColor\x3d#EFAC43;fontColor\x3d#FFFFFF;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Progress Bar (Striped)")}),this.addEntry("bootstrap progress bar striped",function(){var c=new mxCell("",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("60%",new mxGeometry(0,0,500,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButtonStriped;fillColor\x3d#DB524C;fontColor\x3d#FFFFFF;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Progress Bar (Striped)")}),this.addEntry("bootstrap progress bar",function(){var c=new mxCell("",new mxGeometry(0,0,800,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#f6f6f6;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,150,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#DB524C;whiteSpace\x3dwrap;");
d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(150,0,200,20),"rect;strokeColor\x3dnone;fillColor\x3d#F2AE43;html\x3d1;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(350,0,50,20),"rect;strokeColor\x3dnone;fillColor\x3d#59B958;html\x3d1;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(400,0,150,20),"rect;strokeColor\x3dnone;fillColor\x3d#55C0E0;html\x3d1;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],
c.geometry.width,c.geometry.height,"Progress Bar")}),this.addEntry("bootstrap default media",function(){var c=new mxCell("64x64",new mxGeometry(0,0,64,64),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#f6f6f6;fontColor\x3d#999999;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Media heading",new mxGeometry(70,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d24;align\x3dleft;whiteSpace\x3dwrap;");
d.vertex=!0;var b=new mxCell("Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.",new mxGeometry(70,30,630,60),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;align\x3dleft;verticalAlign\x3dtop;whiteSpace\x3dwrap;fontSize\x3d14;whiteSpace\x3dwrap;");b.vertex=!0;var e=new mxCell("64x64",
new mxGeometry(0,100,64,64),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#f6f6f6;fontColor\x3d#999999;whiteSpace\x3dwrap;");e.vertex=!0;var g=new mxCell("Media heading",new mxGeometry(70,100,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d24;align\x3dleft;whiteSpace\x3dwrap;");g.vertex=!0;var k=new mxCell("Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.",
new mxGeometry(70,130,630,60),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;align\x3dleft;verticalAlign\x3dtop;whiteSpace\x3dwrap;fontSize\x3d14;whiteSpace\x3dwrap;");k.vertex=!0;var l=new mxCell("64x64",new mxGeometry(70,200,64,64),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#f6f6f6;fontColor\x3d#999999;whiteSpace\x3dwrap;");l.vertex=!0;var n=new mxCell("Nested media heading",new mxGeometry(140,200,300,
30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d24;align\x3dleft;whiteSpace\x3dwrap;");n.vertex=!0;var m=new mxCell("Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.",new mxGeometry(140,230,560,60),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;align\x3dleft;verticalAlign\x3dtop;whiteSpace\x3dwrap;fontSize\x3d14;whiteSpace\x3dwrap;");
m.vertex=!0;return a.createVertexTemplateFromCells([c,d,b,e,g,k,l,n,m],700,290,"Default Media")}),this.addEntry("bootstrap media list",function(){var c=new mxCell("64x64",new mxGeometry(0,0,64,64),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#f6f6f6;fontColor\x3d#999999;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Media heading",new mxGeometry(70,0,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d24;align\x3dleft;whiteSpace\x3dwrap;");
d.vertex=!0;var b=new mxCell("Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.",new mxGeometry(70,30,630,60),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;align\x3dleft;verticalAlign\x3dtop;whiteSpace\x3dwrap;fontSize\x3d14;whiteSpace\x3dwrap;");b.vertex=!0;var e=new mxCell("64x64",new mxGeometry(70,90,64,64),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#f6f6f6;fontColor\x3d#999999;whiteSpace\x3dwrap;");
e.vertex=!0;var g=new mxCell("Nested Media heading",new mxGeometry(140,90,300,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d24;align\x3dleft;whiteSpace\x3dwrap;");g.vertex=!0;var k=new mxCell("Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.",new mxGeometry(140,120,560,60),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;align\x3dleft;verticalAlign\x3dtop;whiteSpace\x3dwrap;fontSize\x3d14;whiteSpace\x3dwrap;");
k.vertex=!0;var l=new mxCell("64x64",new mxGeometry(140,180,64,64),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#f6f6f6;fontColor\x3d#999999;whiteSpace\x3dwrap;");l.vertex=!0;var n=new mxCell("Nested media heading",new mxGeometry(210,180,300,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d24;align\x3dleft;whiteSpace\x3dwrap;");n.vertex=!0;var m=new mxCell("Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.",
new mxGeometry(210,210,490,60),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;align\x3dleft;verticalAlign\x3dtop;whiteSpace\x3dwrap;fontSize\x3d14;whiteSpace\x3dwrap;");m.vertex=!0;var p=new mxCell("64x64",new mxGeometry(70,280,64,64),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#f6f6f6;fontColor\x3d#999999;whiteSpace\x3dwrap;");p.vertex=!0;var r=new mxCell("Nested Media heading",new mxGeometry(140,280,300,
30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d24;align\x3dleft;whiteSpace\x3dwrap;");r.vertex=!0;var s=new mxCell("Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.",new mxGeometry(140,310,560,60),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;align\x3dleft;verticalAlign\x3dtop;whiteSpace\x3dwrap;fontSize\x3d14;whiteSpace\x3dwrap;");
s.vertex=!0;var q=new mxCell("64x64",new mxGeometry(636,370,64,64),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#f6f6f6;fontColor\x3d#999999;whiteSpace\x3dwrap;");q.vertex=!0;var u=new mxCell("Media heading",new mxGeometry(0,370,200,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontSize\x3d24;align\x3dleft;whiteSpace\x3dwrap;");u.vertex=!0;var t=new mxCell("Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.",
new mxGeometry(0,400,630,60),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;align\x3dleft;verticalAlign\x3dtop;whiteSpace\x3dwrap;fontSize\x3d14;whiteSpace\x3dwrap;");t.vertex=!0;return a.createVertexTemplateFromCells([c,d,b,e,g,k,l,n,m,p,r,s,q,u,t],700,460,"Media List")}),this.addEntry("bootstrap linked item custom content",function(){var c=new mxCell("",new mxGeometry(0,0,400,240),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fillColor\x3d#ffffff;strokeColor\x3d#dddddd;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("Donec id elit non mi porta gravida at eget metus.\nMaecenas sed diam eget risus varius blandit.",new mxGeometry(0,0,400,80),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;fillColor\x3dnone;strokeColor\x3d#dddddd;perimeter\x3dnone;spacingLeft\x3d10;align\x3dleft;fontSize\x3d14;whiteSpace\x3dwrap;verticalAlign\x3dbottom;spacingBottom\x3d10;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,80);d.vertex=!0;c.insert(d);var b=new mxCell("List group item heading",
new mxGeometry(0,0,400,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;spacingLeft\x3d10;align\x3dleft;fontSize\x3d18;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;d.insert(b);d=new mxCell("Donec id elit non mi porta gravida at eget metus.\nMaecenas sed diam eget risus varius blandit.",new mxGeometry(0,1,400,80),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.bottomButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#dddddd;spacingLeft\x3d10;align\x3dleft;fontSize\x3d14;perimeter\x3dnone;whiteSpace\x3dwrap;verticalAlign\x3dbottom;spacingBottom\x3d13;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,-80);d.vertex=!0;c.insert(d);b=new mxCell("List group item heading",new mxGeometry(0,0,400,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;spacingLeft\x3d10;align\x3dleft;fontSize\x3d18;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;d.insert(b);d=new mxCell("Donec id elit non mi porta gravida at eget metus.\nMaecenas sed diam eget risus varius blandit.",new mxGeometry(0,0,400,80),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;fillColor\x3d#3D8BCD;strokeColor\x3d#3D8BCD;fontColor\x3d#ffffff;spacingLeft\x3d10;align\x3dleft;fontSize\x3d14;perimeter\x3dnone;whiteSpace\x3dwrap;verticalAlign\x3dbottom;spacingBottom\x3d13;resizeWidth\x3d1;");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);b=new mxCell("List group item heading",new mxGeometry(0,0,400,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.anchor;fontColor\x3d#ffffff;spacingLeft\x3d10;align\x3dleft;fontSize\x3d18;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Linked Items (Custom Content)")}),this.addEntry("bootstrap panel",function(){var c=new mxCell("Panel content",
new mxGeometry(0,0,150,200),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3d#E0F0D6;fillColor\x3d#ffffff;fontColor\x3d#f0f0f0;spacingTop\x3d30;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Panel title",new mxGeometry(0,0,150,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#E0F0D6;fontColor\x3d#59B958;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Panel")}),this.addEntry("bootstrap panel",function(){var c=new mxCell("Panel content",new mxGeometry(0,0,150,200),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3d#D9EDF8;fillColor\x3d#ffffff;fontColor\x3d#f0f0f0;spacingTop\x3d30;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Panel title",new mxGeometry(0,0,
150,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#D9EDF8;fontColor\x3d#55C0E0;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Panel")}),this.addEntry("bootstrap panel",function(){var c=new mxCell("Panel content",new mxGeometry(0,0,150,200),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3d#FDF8E4;fillColor\x3d#ffffff;fontColor\x3d#f0f0f0;spacingTop\x3d30;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("Panel title",new mxGeometry(0,0,150,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#FDF8E4;fontColor\x3d#F2AE43;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Panel")}),this.addEntry("bootstrap panel",function(){var c=
new mxCell("Panel content",new mxGeometry(0,0,150,200),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3d#F2DEDF;fillColor\x3d#ffffff;fontColor\x3d#f0f0f0;spacingTop\x3d30;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Panel title",new mxGeometry(0,0,150,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#F2DEDF;fontColor\x3d#DB524C;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Panel")}),this.addEntry("bootstrap panel",function(){var c=new mxCell("Panel content",new mxGeometry(0,0,150,200),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3d#3D8BCD;fillColor\x3d#ffffff;fontColor\x3d#f0f0f0;spacingTop\x3d30;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Panel title",new mxGeometry(0,0,
150,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Panel")}),this.addEntry("bootstrap panel footer",function(){var c=new mxCell("Panel content",new mxGeometry(0,0,150,200),
"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3d#E0F0D6;fillColor\x3d#ffffff;fontColor\x3d#f0f0f0;spacingBottom\x3d30;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Panel title",new mxGeometry(0,1,150,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.bottomButton;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#E0F0D6;fontColor\x3d#59B958;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,-30);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Panel (Footer)")}),this.addEntry("bootstrap table",function(){var c=new mxCell("",new mxGeometry(0,0,800,280),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Panel title",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;fontColor\x3d#999999;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);d=new mxCell("Some default panel content here. Nulla vitae elit libero, a pharetra augue. Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam id dolor id nibh ultricies vehicula. ",new mxGeometry(0,0,800,80),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,40);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,120);d.vertex=!0;c.insert(d);var b=new mxCell("#",new mxGeometry(0,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.vertex=!0;d.insert(b);b=new mxCell("First Name",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(80,0);b.vertex=!0;d.insert(b);b=new mxCell("Last Name",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell("Username",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(380,0);b.vertex=!0;d.insert(b);b=new mxCell("Active",new mxGeometry(0,0,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(560,0);b.vertex=!0;d.insert(b);b=new mxCell("Boss",new mxGeometry(0,0,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(700,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,160);d.vertex=!0;c.insert(d);b=new mxCell("1",new mxGeometry(0,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.vertex=!0;d.insert(b);b=new mxCell("John",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(80,0);b.vertex=!0;d.insert(b);b=new mxCell("Boo",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell("johnny81",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(380,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(560,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3d#666666;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(700,-10);b.vertex=!0;d.insert(b);d=new mxCell("",
new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,200);d.vertex=!0;c.insert(d);b=new mxCell("2",new mxGeometry(0,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.vertex=!0;d.insert(b);
b=new mxCell("Mary",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(80,0);b.vertex=!0;d.insert(b);b=new mxCell("Brown",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell("missmary",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(380,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;strokeColor\x3d#666666;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(560,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.radioButton;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(700,-10);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.bottomButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,240);d.vertex=!0;c.insert(d);b=new mxCell("3",new mxGeometry(0,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.vertex=!0;d.insert(b);b=new mxCell("James",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(80,0);b.vertex=!0;d.insert(b);b=new mxCell("Mooray",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell("jijames",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(380,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(560,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3d#666666;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(700,-10);b.vertex=!0;d.insert(b);
return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Table")}),this.addEntry("bootstrap panel list group",function(){var c=new mxCell("",new mxGeometry(0,0,600,320),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;");c.vertex=!0;var d=new mxCell("Panel title",new mxGeometry(0,0,600,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.topButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;fontColor\x3d#999999;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);d=new mxCell("Some default panel content here. Nulla vitae elit libero, a pharetra augue. Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam id dolor id nibh ultricies vehicula. ",new mxGeometry(0,0,600,80),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;fontSize\x3d14;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,40);d.vertex=!0;c.insert(d);d=new mxCell("Cras justo odio",new mxGeometry(0,0,600,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;spacingLeft\x3d10;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,120);d.vertex=!0;c.insert(d);d=new mxCell("Dapibus ac facilisis in",new mxGeometry(0,0,600,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;spacingLeft\x3d10;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,160);d.vertex=!0;c.insert(d);d=new mxCell("Morbi leo risus",new mxGeometry(0,0,600,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;spacingLeft\x3d10;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,200);d.vertex=!0;c.insert(d);d=new mxCell("Porta ac consectetur ac",new mxGeometry(0,0,600,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#dddddd;fillColor\x3dnone;spacingLeft\x3d10;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,240);d.vertex=!0;c.insert(d);d=new mxCell("Vestibulum at eros",new mxGeometry(0,1,600,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.bottomButton;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3dnone;spacingLeft\x3d10;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,-40);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,
c.geometry.height,"Panel (List Group)")}),this.addEntry("bootstrap table",function(){var c=new mxCell("",new mxGeometry(0,0,800,160),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3d#ffffff;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("#",
new mxGeometry(0,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.vertex=!0;d.insert(b);b=new mxCell("First Name",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(80,0);b.vertex=!0;d.insert(b);b=new mxCell("Last Name",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell("Username",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(380,0);b.vertex=!0;d.insert(b);b=new mxCell("Active",new mxGeometry(0,0,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(560,0);b.vertex=!0;d.insert(b);b=new mxCell("Boss",new mxGeometry(0,0,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(700,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,40);d.vertex=!0;c.insert(d);b=new mxCell("1",new mxGeometry(0,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.vertex=!0;d.insert(b);b=new mxCell("John",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(80,0);b.vertex=!0;d.insert(b);b=new mxCell("Boo",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell("johnny81",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(380,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;strokeColor\x3d#666666;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(560,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3d#666666;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(700,-10);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,80);
d.vertex=!0;c.insert(d);b=new mxCell("2",new mxGeometry(0,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.vertex=!0;d.insert(b);b=new mxCell("Mary",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(80,0);b.vertex=!0;d.insert(b);b=new mxCell("Brown",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell("missmary",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(380,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(560,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.radioButton;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(700,
-10);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,120);d.vertex=!0;c.insert(d);b=new mxCell("3",new mxGeometry(0,0,50,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=
!0;b.vertex=!0;d.insert(b);b=new mxCell("James",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(80,0);b.vertex=!0;d.insert(b);b=new mxCell("Mooray",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell("jijames",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(380,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#666666;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(560,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3d#666666;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(700,-10);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Table")}),this.addEntry("bootstrap table",function(){var c=new mxCell("",new mxGeometry(0,0,800,360),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("Name",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(50,0);b.vertex=!0;d.insert(b);b=new mxCell("Double-Line\nHeader",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(250,0);b.vertex=!0;d.insert(b);b=new mxCell("Rating",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(450,0);b.vertex=!0;d.insert(b);b=new mxCell("Signed Up",new mxGeometry(0,0,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;strokeColor\x3dnone;fillColor\x3d#000000;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-25,-2.5);d.vertex=!0;b.insert(d);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,40);d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(15,-10);b.vertex=!0;d.insert(b);var e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("John Boo",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(50,0);b.vertex=!0;d.insert(b);b=new mxCell("ok",new mxGeometry(0,0.5,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(250,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,150,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rating;strokeColor\x3dnone;fillColor\x3d#EFAC43;emptyFillColor\x3d#dddddd;grade\x3d3;ratingScale\x3d5;ratingStyle\x3dstar;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(450,-7);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 8:56 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,80);d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(15,
-10);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("Michael Robinson",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(50,0);b.vertex=!0;d.insert(b);b=new mxCell("ok",new mxGeometry(0,0.5,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(250,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,150,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rating;strokeColor\x3dnone;fillColor\x3d#EFAC43;emptyFillColor\x3d#dddddd;grade\x3d5;ratingScale\x3d5;ratingStyle\x3dstar;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(450,-7);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 7:12 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,120);d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(15,
-10);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("Alexander Robson",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(50,0);b.vertex=!0;d.insert(b);b=new mxCell("Blocked",new mxGeometry(0,0.5,70,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#999999;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(250,-10);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 4:32 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=
new mxPoint(0,160);d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(15,-10);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("Jennifer Pinsker",
new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(50,0);b.vertex=!0;d.insert(b);b=new mxCell("Blocked 24h",new mxGeometry(0,0.5,90,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#999999;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(250,-10);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 2:08 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,200);d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(15,
-10);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("Bob Robson",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(50,0);b.vertex=!0;d.insert(b);b=new mxCell("ok",new mxGeometry(0,0.5,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(250,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,150,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rating;strokeColor\x3dnone;fillColor\x3d#EFAC43;emptyFillColor\x3d#dddddd;grade\x3d1;ratingScale\x3d5;ratingStyle\x3dstar;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(450,-7);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 8:56 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,240);d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(15,
-10);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("Michael Robinson",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(50,0);b.vertex=!0;d.insert(b);b=new mxCell("Suspect",new mxGeometry(0,0.5,70,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#55BFE0;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(250,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,150,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rating;strokeColor\x3dnone;fillColor\x3d#EFAC43;emptyFillColor\x3d#dddddd;grade\x3d4;ratingScale\x3d5;ratingStyle\x3dstar;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(450,-7);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 7:12 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,280);d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(15,
-10);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("Jennifer Pinsker",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(50,0);b.vertex=!0;d.insert(b);b=new mxCell("ok",new mxGeometry(0,0.5,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(250,-10);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 4:34 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=
new mxPoint(0,320);d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(15,-10);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("John Boo",
new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(50,0);b.vertex=!0;d.insert(b);b=new mxCell("Violation",new mxGeometry(0,0.5,70,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#DB524C;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(250,-10);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,150,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rating;strokeColor\x3dnone;fillColor\x3d#EFAC43;emptyFillColor\x3d#dddddd;grade\x3d2;ratingScale\x3d5;ratingStyle\x3dstar;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(450,-7);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 2:08 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
new mxGeometry(0,0,160,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Table")}),this.addEntry("bootstrap table",function(){var c=new mxCell("",new mxGeometry(0,0,800,340),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("Admin Name",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(10,0);b.vertex=!0;d.insert(b);b=new mxCell("Object",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(200,0);b.vertex=!0;d.insert(b);b=new mxCell("Action",new mxGeometry(0,0,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(400,0);b.vertex=!0;d.insert(b);b=new mxCell("Date",new mxGeometry(0,0,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;strokeColor\x3dnone;fillColor\x3d#000000;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(665,-2.5);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,40);d.vertex=!0;c.insert(d);b=new mxCell("Jennifer Pinsker\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(200,-15);b.vertex=!0;d.insert(b);var e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-6);e.vertex=!0;b.insert(e);b=new mxCell("John Boo\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"middle" width\x3d"50%"\x3eProfile Updated\x3cbr/\x3e\x3cfont color\x3d"#dddddd"\x3eFirst Name is set to Bobby\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
new mxGeometry(0,0,210,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(400,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 8:56 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3cbr\x3e\x3cbr\x3e\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
new mxGeometry(0,0,160,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=
new mxPoint(0,90);d.vertex=!0;c.insert(d);b=new mxCell("Bob Robson\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(200,-15);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("Michael Robinson\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"middle" width\x3d"50%"\x3eViolation Resolved\x3cbr/\x3e\x3cfont color\x3d"#dddddd"\x3eFake Person Violation resolved\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,210,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(400,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 7:12 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3cbr\x3e\x3cbr\x3e\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,160,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,140);d.vertex=!0;c.insert(d);b=new mxCell("Michael Robinson\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(200,-15);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);
e.vertex=!0;b.insert(e);b=new mxCell("Alexander Robson\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1");b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"middle" width\x3d"50%"\x3eSuspect Resolved\x3cbr/\x3e\x3cfont color\x3d"#dddddd"\x3eMass Friending Suspect resolved\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
new mxGeometry(0,0,210,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(400,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 4:34 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3cbr\x3e\x3cbr\x3e\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
new mxGeometry(0,0,160,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=
new mxPoint(0,190);d.vertex=!0;c.insert(d);b=new mxCell("Jennifer Pinsker\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(200,-15);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("Jennifer Pinsker\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"middle" width\x3d"50%"\x3eProfile Violation Detected\x3cbr/\x3e\x3cfont color\x3d"#dddddd"\x3eFirst Name is marked as Violation\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,210,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(400,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 2:08 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3cbr\x3e\x3cbr\x3e\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,160,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,240);d.vertex=!0;c.insert(d);b=new mxCell("John Boo\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(200,-15);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);
e.vertex=!0;b.insert(e);b=new mxCell("Bob Robson\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"middle" width\x3d"50%"\x3eProfile Updated\x3cbr/\x3e\x3cfont color\x3d"#dddddd"\x3eFirst Name is set to Bobby\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
new mxGeometry(0,0,210,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(400,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 8:56 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3cbr\x3e\x3cbr\x3e\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
new mxGeometry(0,0,160,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=
new mxPoint(0,290);d.vertex=!0;c.insert(d);b=new mxCell("Michael Robinson\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,0);b.vertex=!0;d.insert(b);b=new mxCell("",new mxGeometry(0,0.5,20,20),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#dddddd;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(200,-15);b.vertex=!0;d.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-6);e.vertex=!0;b.insert(e);b=new mxCell("Michael Robinson\n",new mxGeometry(0,0,150,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(230,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"left" valign\x3d"middle" width\x3d"50%"\x3eUser Blocked\x3cbr/\x3e\x3cfont color\x3d"#dddddd"\x3eBlocked for 24 hours\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,210,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(400,0);b.vertex=!0;d.insert(b);b=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3e15 Sep, 7:12 AM \x3cfont color\x3d"#dddddd"\x3e(2013)\x3cbr\x3e\x3cbr\x3e\x3c/font\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',new mxGeometry(0,0,160,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;align\x3dleft;overflow\x3dfill;whiteSpace\x3dwrap;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(620,0);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Table")}),this.addEntry("bootstrap table",function(){var c=new mxCell("",new mxGeometry(0,0,800,430),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3d#ffffff;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;resizeWidth\x3d1;");
d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("Template Name",new mxGeometry(0,0,200,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeHeight\x3d1;");b.geometry.relative=!0;b.vertex=!0;d.insert(b);b=new mxCell("Message",new mxGeometry(0,0,200,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d14;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;resizeWidth\x3d1;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(200,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,130),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,40);d.vertex=!0;c.insert(d);b=new mxCell("Uncompleted Profile",new mxGeometry(0,0,200,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;");
b.geometry.relative=!0;b.vertex=!0;d.insert(b);b=new mxCell("Hello! At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium deleniti atque corrupti quos doloreset quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id estlaborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Name libero tempore, cum soluta nobis est eligendioptio cumque nihil impedit quo.",new mxGeometry(0,
0,400,130),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;valign\x3dtop;spacingLeft\x3d10;verticalAlign\x3dtop;spacingTop\x3d6;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(200,0);b.vertex=!0;d.insert(b);b=new mxCell("Edit",new mxGeometry(1,0,50,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-140,15);b.vertex=!0;d.insert(b);b=new mxCell("Delete",new mxGeometry(1,0,60,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,15);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,100),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,170);d.vertex=!0;c.insert(d);b=new mxCell("Spam Suspect",new mxGeometry(0,0,200,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.vertex=!0;d.insert(b);b=new mxCell("Hello, deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa quiofficia deserunt mollitia animi, id est fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam nobis est eligendi optio cumquenihil impedit quo minus id quod maxime placeat.",
new mxGeometry(0,0,400,100),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;valign\x3dtop;spacingLeft\x3d10;verticalAlign\x3dtop;spacingTop\x3d6;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(200,0);b.vertex=!0;d.insert(b);b=new mxCell("Edit",new mxGeometry(1,0,50,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-140,15);b.vertex=!0;d.insert(b);b=new mxCell("Delete",new mxGeometry(1,0,60,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,15);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0,0,800,160),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3dnone;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,270);d.vertex=!0;c.insert(d);b=new mxCell("Profile Blocked",new mxGeometry(0,0,200,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;spacingLeft\x3d10;whiteSpace\x3dwrap;");b.vertex=!0;d.insert(b);b=new mxCell("Hello! Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsaquae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sitaspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est,qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et doloremagnam aliquam quaerat voluptarem.",
new mxGeometry(0,0,400,160),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;valign\x3dtop;spacingLeft\x3d10;verticalAlign\x3dtop;spacingTop\x3d6;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(200,0);b.vertex=!0;d.insert(b);b=new mxCell("Edit",new mxGeometry(1,0,50,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-140,15);b.vertex=!0;d.insert(b);b=new mxCell("Delete",new mxGeometry(1,0,60,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,15);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Table")}),this.addEntry("bootstrap table",function(){var c=
new mxCell("",new mxGeometry(0,0,800,80),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;");c.vertex=!0;var d=new mxCell("Group Name",new mxGeometry(20,20,500,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d10;fontSize\x3d18;fontColor\x3d#999999;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);d=new mxCell("Create Templates Group",
new mxGeometry(540,20,240,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontSize\x3d18;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Table")}),this.addEntry("bootstrap edit template",function(){var c=new mxCell("Template name",new mxGeometry(0,0,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("Uncompleted Profile",new mxGeometry(0,20,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d10;fontSize\x3d16;whiteSpace\x3dwrap;");d.vertex=!0;var b=new mxCell("Subject",new mxGeometry(0,80,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");
b.vertex=!0;var e=new mxCell("Hello, %USER_FULL_NAME%",new mxGeometry(0,100,800,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d10;fontSize\x3d16;whiteSpace\x3dwrap;");e.vertex=!0;var g=new mxCell("Insert System Variable",new mxGeometry(650,80,120,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dright;fontSize\x3d10;whiteSpace\x3dwrap;");
g.vertex=!0;var k=new mxCell("",new mxGeometry(772,87,8,4),"shape\x3dtriangle;strokeColor\x3dnone;fillColor\x3d#000000;direction\x3dsouth;");k.vertex=!0;var l=new mxCell("Message",new mxGeometry(0,160,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");l.vertex=!0;var n=new mxCell("Hello %USER_FULL_NAME%!\n\nAt vero eos et accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium voluptatum deleniti atque corrupti, quosdolores et quas molestias excepturi sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia deserunt mollitiaanimi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum solutanobis est eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere possimus, omnis voluptas assumendaest, omnis dolor repellendus.",
new mxGeometry(0,180,800,240),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;fontSize\x3d12;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;align\x3dleft;spacing\x3d10;verticalAlign\x3dtop;whiteSpace\x3dwrap;");n.vertex=!0;var m=new mxCell("Insert System Variable",new mxGeometry(650,160,120,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dright;fontSize\x3d10;whiteSpace\x3dwrap;");m.vertex=!0;var p=new mxCell("",
new mxGeometry(772,167,8,4),"shape\x3dtriangle;strokeColor\x3dnone;fillColor\x3d#000000;direction\x3dsouth;");p.vertex=!0;var r=new mxCell("%USER_FULL_NAME%\n%USER_EMAIL%\n%USER_PROFILE_COMPLETENESS%\n%USER_NUM_SUCCESS_TRADES%\n%USER_FULL_NAME%\n%USER_EMAIL%\n%USER_PROFILE_COMPLETENESS%\n%USER_NUM_SUCCESS_SELLS%",new mxGeometry(550,175,240,140),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d2;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d10;shadow\x3d1;whiteSpace\x3dwrap;");
r.vertex=!0;var s=new mxCell("Message Type",new mxGeometry(0,440,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");s.vertex=!0;var q=new mxCell("Email + Push",new mxGeometry(0,460,390,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d10;fontSize\x3d16;whiteSpace\x3dwrap;");
q.vertex=!0;var u=new mxCell("",new mxGeometry(370,477,10,5),"shape\x3dtriangle;strokeColor\x3dnone;fillColor\x3d#000000;direction\x3dsouth;");u.vertex=!0;var t=new mxCell("Tap target",new mxGeometry(410,440,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");t.vertex=!0;var v=new mxCell("Profile Screen",new mxGeometry(410,460,390,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d10;fontSize\x3d16;whiteSpace\x3dwrap;");
v.vertex=!0;var z=new mxCell("",new mxGeometry(780,477,10,5),"shape\x3dtriangle;strokeColor\x3dnone;fillColor\x3d#000000;direction\x3dsouth;");z.vertex=!0;var y=new mxCell("Send to Group",new mxGeometry(0,520,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");y.vertex=!0;var x=new mxCell("Top Management",new mxGeometry(10,543,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;fontSize\x3d12;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");
x.vertex=!0;var D=new mxCell("Marketing Department",new mxGeometry(10,563,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");D.vertex=!0;var A=new mxCell("Design Department",new mxGeometry(10,583,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;fontSize\x3d12;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");
A.vertex=!0;var B=new mxCell("Financial Department",new mxGeometry(10,603,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");B.vertex=!0;var E=new mxCell("Supply Department",new mxGeometry(10,623,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fontSize\x3d12;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d5;");
E.vertex=!0;var G=new mxCell("Set Type",new mxGeometry(410,520,200,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");G.vertex=!0;var F=new mxCell("",new mxGeometry(420,543,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");F.vertex=!0;var H=new mxCell("News",new mxGeometry(440,543,40,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");
H.vertex=!0;var I=new mxCell("",new mxGeometry(420,563,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.radioButton;strokeColor\x3d#999999;fillColor\x3d#ffffff;");I.vertex=!0;var L=new mxCell("Reports",new mxGeometry(440,563,50,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#55BFE0;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");L.vertex=!0;var O=new mxCell("",new mxGeometry(420,
583,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");O.vertex=!0;var T=new mxCell("Documents",new mxGeometry(440,583,70,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#EFAC43;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");T.vertex=!0;var X=new mxCell("",new mxGeometry(420,603,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");
X.vertex=!0;var R=new mxCell("Media",new mxGeometry(440,603,40,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");R.vertex=!0;var C=new mxCell("",new mxGeometry(420,623,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");C.vertex=!0;var N=new mxCell("Text",new mxGeometry(440,623,30,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#999999;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");
N.vertex=!0;var P=new mxCell("Save Template",new mxGeometry(0,680,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;");P.vertex=!0;var M=new mxCell("Cancel",new mxGeometry(170,680,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;align\x3dcenter;rSize\x3d5;strokeColor\x3d#dddddd;fontSize\x3d16;whiteSpace\x3dwrap;");
M.vertex=!0;var U=new mxCell("Delete Template",new mxGeometry(630,680,170,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#DB524C;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;");U.vertex=!0;return a.createVertexTemplateFromCells([c,d,b,e,g,k,l,n,m,p,r,s,q,u,t,v,z,y,x,D,A,B,E,G,F,H,I,L,O,T,X,R,C,N,P,M,U],800,720,"Edit Template")}),this.addEntry("bootstrap business contact",function(){var c=new mxCell("",new mxGeometry(0,
0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;");c.vertex=!0;var d=new mxCell("2 fields selected",new mxGeometry(0,0.5,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;strokeColor\x3d#dddddd;fillColor\x3dnone;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d10;fontStyle\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(13,-7);d.vertex=!0;c.insert(d);d=new mxCell("Mark as OK",new mxGeometry(0,
0.5,90,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(150,-15);d.vertex=!0;c.insert(d);d=new mxCell("Mark as Violation",new mxGeometry(0,0.5,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(250,
-15);d.vertex=!0;c.insert(d);d=new mxCell("Mark all as OK",new mxGeometry(1,0.5,100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-110,-15);d.vertex=!0;c.insert(d);d=new mxCell("Phone",new mxGeometry(40,70,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");
d.vertex=!0;var b=new mxCell("",new mxGeometry(13,103,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;strokeColor\x3d#999999;fillColor\x3d#ffffff;");b.vertex=!0;var e=new mxCell("+38 (066) 875 67 97",new mxGeometry(40,90,640,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");e.vertex=!0;var g=new mxCell("ok",new mxGeometry(700,
100,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");g.vertex=!0;var k=new mxCell("Business email",new mxGeometry(40,140,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");k.vertex=!0;var l=new mxCell("",
new mxGeometry(13,173,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;strokeColor\x3d#999999;fillColor\x3d#ffffff;");l.vertex=!0;var n=new mxCell("seo@apple.com",new mxGeometry(40,160,640,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#FDF8E4;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");n.vertex=!0;var m=new mxCell("To Moderate",new mxGeometry(700,170,90,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#EFAC43;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");
m.vertex=!0;var p=new mxCell("Skype",new mxGeometry(40,210,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");p.vertex=!0;var r=new mxCell("",new mxGeometry(13,243,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;");r.vertex=!0;var s=new mxCell("alex.robby",new mxGeometry(40,230,640,
40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");s.vertex=!0;var q=new mxCell("ok",new mxGeometry(700,240,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");q.vertex=!0;return a.createVertexTemplateFromCells([c,
d,b,e,g,k,l,n,m,p,r,s,q],800,270,"Business Contacts")}),this.addEntry("bootstrap experience",function(){var c=new mxCell("",new mxGeometry(0,0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;");c.vertex=!0;var d=new mxCell("Select fields to update status",new mxGeometry(0,0.5,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d10;fontStyle\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(13,-7);d.vertex=!0;c.insert(d);d=new mxCell("Position",new mxGeometry(40,70,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");d.vertex=!0;var b=new mxCell("",new mxGeometry(13,103,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;");
b.vertex=!0;var e=new mxCell("Senior Engineer",new mxGeometry(40,90,640,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");e.vertex=!0;var g=new mxCell("ok",new mxGeometry(700,100,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");
g.vertex=!0;var k=new mxCell("Company",new mxGeometry(40,140,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");k.vertex=!0;var l=new mxCell("",new mxGeometry(13,173,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");l.vertex=!0;var n=new mxCell("Tesla Motors",new mxGeometry(40,
160,640,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");n.vertex=!0;var m=new mxCell("ok",new mxGeometry(700,170,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");m.vertex=!0;var p=new mxCell("Working from",
new mxGeometry(40,210,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");p.vertex=!0;var r=new mxCell("",new mxGeometry(13,243,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;");r.vertex=!0;var s=new mxCell("October",new mxGeometry(40,230,130,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");
s.vertex=!0;var q=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;");q.geometry.relative=!0;q.geometry.offset=new mxPoint(-30,-3);q.vertex=!0;s.insert(q);q=new mxCell("2011",new mxGeometry(190,230,130,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");
q.vertex=!0;var u=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;whiteSpace\x3dwrap;");u.geometry.relative=!0;u.geometry.offset=new mxPoint(-30,-3);u.vertex=!0;q.insert(u);u=new mxCell("Working to",new mxGeometry(400,210,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");u.vertex=
!0;var t=new mxCell("Current time",new mxGeometry(580,210,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dright;spacingRight\x3d5;fontColor\x3d#55C0E0;whiteSpace\x3dwrap;");t.vertex=!0;var v=new mxCell("",new mxGeometry(340,240,40,20),"shape\x3dline;strokeWidth\x3d2;shadow\x3d0;dashed\x3d0;");v.vertex=!0;var z=new mxCell("December",new mxGeometry(400,230,130,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");
z.vertex=!0;var y=new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");y.geometry.relative=!0;y.geometry.offset=new mxPoint(-30,-3);y.vertex=!0;z.insert(y);y=new mxCell("2012",new mxGeometry(550,230,130,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");y.vertex=!0;var x=
new mxCell("",new mxGeometry(1,0.5,10,5),"shape\x3dtriangle;direction\x3dsouth;fillColor\x3d#000000;strokeColor\x3dnone;perimeter\x3dnone;");x.geometry.relative=!0;x.geometry.offset=new mxPoint(-30,-3);x.vertex=!0;y.insert(x);x=new mxCell("ok",new mxGeometry(700,240,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;align\x3dcenter;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");x.vertex=!0;return a.createVertexTemplateFromCells([c,
d,b,e,g,k,l,n,m,p,r,s,q,u,t,v,z,y,x],800,270,"Experience")}),this.addEntry("bootstrap skills",function(){var c=new mxCell("",new mxGeometry(0,0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;");c.vertex=!0;var d=new mxCell("Select fields to update status",new mxGeometry(0,0.5,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#dddddd;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d10;fontStyle\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(13,-7);d.vertex=!0;c.insert(d);d=new mxCell("Mark all as OK",new mxGeometry(1,0.5,100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-120,-15);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(13,103,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;");
d.vertex=!0;var b=new mxCell("Engineering",new mxGeometry(40,90,640,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");b.vertex=!0;var e=new mxCell("ok",new mxGeometry(700,100,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");
e.vertex=!0;var g=new mxCell("",new mxGeometry(13,173,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;");g.vertex=!0;var k=new mxCell("Thinking",new mxGeometry(40,160,640,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#FDF8E4;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");k.vertex=!0;var l=new mxCell("To Moderate",new mxGeometry(700,
170,90,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#EFAC43;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");l.vertex=!0;var n=new mxCell("",new mxGeometry(13,243,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;");n.vertex=!0;var m=new mxCell("Working",new mxGeometry(40,230,640,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");
m.vertex=!0;var p=new mxCell("ok",new mxGeometry(700,240,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");p.vertex=!0;var r=new mxCell("",new mxGeometry(13,313,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;");r.vertex=!0;var s=new mxCell("Sleeping",new mxGeometry(40,
300,640,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");s.vertex=!0;var q=new mxCell("ok",new mxGeometry(700,310,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");q.vertex=!0;var u=new mxCell("",
new mxGeometry(13,383,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;");u.vertex=!0;var t=new mxCell("Eating",new mxGeometry(40,370,640,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");t.vertex=!0;var v=new mxCell("ok",new mxGeometry(700,380,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");
v.vertex=!0;var z=new mxCell("",new mxGeometry(13,453,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d3;strokeColor\x3d#999999;fillColor\x3d#ffffff;");z.vertex=!0;var y=new mxCell("Walking",new mxGeometry(40,440,640,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;align\x3dleft;fontSize\x3d16;spacingLeft\x3d10;whiteSpace\x3dwrap;");y.vertex=!0;var x=new mxCell("ok",new mxGeometry(700,
450,30,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#58B957;fontSize\x3d12;fontStyle\x3d1;fontColor\x3d#ffffff;whiteSpace\x3dwrap;");x.vertex=!0;return a.createVertexTemplateFromCells([c,d,b,e,g,k,l,n,m,p,r,s,q,u,t,v,z,y,x],800,480,"Skills")}),this.addEntry("bootstrap chat",function(){var c=new mxCell("",new mxGeometry(0,0,400,660),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#333333;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");
c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,400,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3d#333333;fillColor\x3d#333333;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;c.insert(d);var b=new mxCell("John Boo",new mxGeometry(0,0.5,30,30),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#f0f0f0;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d10;fontColor\x3d#f0f0f0;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(15,-15);b.vertex=!0;d.insert(b);var e=new mxCell("",new mxGeometry(0.5,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-10,-10);e.vertex=!0;b.insert(e);b=new mxCell("Michael Robinson",new mxGeometry(1,0.5,30,30),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#f0f0f0;labelPosition\x3dleft;align\x3dright;spacingRight\x3d10;fontColor\x3d#f0f0f0;html\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(-45,-15);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0.5,0.5,20,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.user;strokeColor\x3dnone;fillColor\x3d#999999;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-10,-10);d.vertex=!0;b.insert(d);d=new mxCell("15 September 2013",new mxGeometry(0,0,400,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#fdfdfd;fontColor\x3d#999999;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,75);d.vertex=!0;c.insert(d);d=new mxCell("Hi man!",new mxGeometry(0,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#E0F0D6;align\x3dleft;spacingLeft\x3d15;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(20,135);d.vertex=!0;c.insert(d);d=new mxCell("8:56:14 AM",new mxGeometry(0,0,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#dddddd;fontSize\x3d10;align\x3dleft;whiteSpace\x3dwrap;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(20,175);d.vertex=!0;c.insert(d);d=new mxCell("Hello there...",new mxGeometry(1,0,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#D9EDF8;align\x3dright;spacingRight\x3d15;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-120,195);d.vertex=!0;c.insert(d);d=new mxCell("8:56:14 AM",new mxGeometry(1,0,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#dddddd;fontSize\x3d10;align\x3dright;whiteSpace\x3dwrap;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-120,235);d.vertex=!0;c.insert(d);d=new mxCell("Duis aute inure dolor in reprehenderit in voluptate velit esse cilium dolore eu fugiat nulla pariatur.",new mxGeometry(0,0,240,80),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#E0F0D6;align\x3dleft;spacing\x3d15;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(20,255);d.vertex=!0;c.insert(d);d=new mxCell("8:56:14 AM",
new mxGeometry(0,0,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#dddddd;fontSize\x3d10;align\x3dleft;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(20,335);d.vertex=!0;c.insert(d);d=new mxCell("Really?! Can't believe that, man!",new mxGeometry(1,0,200,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#D9EDF8;align\x3dright;spacing\x3d15;whiteSpace\x3dwrap;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-220,355);d.vertex=!0;c.insert(d);d=new mxCell("8:56:14 AM",new mxGeometry(1,0,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#dddddd;fontSize\x3d10;align\x3dright;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-120,395);d.vertex=!0;c.insert(d);d=new mxCell("And even nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptasassumenda est, omnis dolor!",
new mxGeometry(0,0,240,100),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#E0F0D6;align\x3dleft;spacing\x3d15;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(20,415);d.vertex=!0;c.insert(d);d=new mxCell("8:56:14 AM",new mxGeometry(0,0,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#dddddd;fontSize\x3d10;align\x3dleft;whiteSpace\x3dwrap;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(20,515);d.vertex=!0;c.insert(d);d=new mxCell("Ok. Deal!",new mxGeometry(1,0,80,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#D9EDF8;align\x3dright;spacing\x3d15;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-100,535);d.vertex=!0;c.insert(d);d=new mxCell("8:56:14 AM",new mxGeometry(1,0,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#dddddd;fontSize\x3d10;align\x3dright;whiteSpace\x3dwrap;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-120,575);d.vertex=!0;c.insert(d);d=new mxCell("Huh..",new mxGeometry(0,0,60,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#E0F0D6;align\x3dleft;spacing\x3d15;whiteSpace\x3dwrap;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(20,595);d.vertex=!0;c.insert(d);d=new mxCell("8:56:14 AM",new mxGeometry(0,0,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#dddddd;fontSize\x3d10;align\x3dleft;whiteSpace\x3dwrap;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(20,635);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],400,660,"Chat")}),this.addEntry("bootstrap log in",function(){var c=new mxCell("Control Panel",new mxGeometry(0,0,240,220),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;align\x3dcenter;rSize\x3d5;strokeColor\x3d#000000;verticalAlign\x3dtop;spacingTop\x3d20;fontSize\x3d14;fontStyle\x3d1;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell("Email",
new mxGeometry(0,0,190,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;fontSize\x3d14;fontColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d40;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(30,60);d.vertex=!0;c.insert(d);var b=new mxCell("",new mxGeometry(0,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#fdfdfd;resizeHeight\x3d1;");
b.geometry.relative=!0;b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0.5,0.5,16,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.mail;strokeColor\x3d#fdfdfd;fillColor\x3d#999999;strokeWidth\x3d1.3;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-8,-6);d.vertex=!0;b.insert(d);d=new mxCell("Password",new mxGeometry(0,0,190,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;rSize\x3d5;strokeColor\x3d#999999;fontSize\x3d14;fontColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d40;whiteSpace\x3dwrap;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(30,100);d.vertex=!0;c.insert(d);b=new mxCell("",new mxGeometry(0,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#fdfdfd;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,0);b.vertex=!0;d.insert(b);d=new mxCell("",new mxGeometry(0.5,0.5,16,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.password;strokeColor\x3d#999999;strokeWidth\x3d3;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-8,-8);d.vertex=!0;b.insert(d);b=new mxCell("Remember me",new mxGeometry(0,0,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;rSize\x3d3;strokeColor\x3d#666666;fillColor\x3d#ffffff;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d5;fontSize\x3d10;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(73,148);b.vertex=!0;c.insert(b);b=new mxCell("Log In",new mxGeometry(0,1,190,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#58B957;fontColor\x3d#ffffff;fontSize\x3d14;fontStyle\x3d1;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(30,-50);b.vertex=!0;c.insert(b);return a.createVertexTemplateFromCells([c],240,220,"Log in")}),this.addEntry("bootstrap log in",function(){var c=new mxCell("Control Panel",new mxGeometry(0,0,240,260),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;align\x3dcenter;rSize\x3d5;strokeColor\x3d#000000;verticalAlign\x3dtop;spacingTop\x3d20;fontSize\x3d14;fontStyle\x3d1;whiteSpace\x3dwrap;");c.vertex=!0;var d=new mxCell('\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle" width\x3d"50%"\x3eIncorrect \x3cb\x3eEmail\x3c/b\x3e or \x3cb\x3ePassword\x3c/b\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
new mxGeometry(0,0,190,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#F2DEDF;fontColor\x3d#DB524C;overflow\x3dfill;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(30,50);d.vertex=!0;c.insert(d);var b=new mxCell("john@gmail.com",new mxGeometry(0,0,190,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#fdfdfd;fontSize\x3d14;align\x3dleft;spacingLeft\x3d40;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(30,100);b.vertex=!0;c.insert(b);d=new mxCell("",new mxGeometry(0,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;resizeHeight\x3d1;");d.geometry.relative=!0;d.vertex=!0;b.insert(d);b=new mxCell("",new mxGeometry(0.5,0.5,16,12),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.mail;strokeColor\x3d#fdfdfd;fillColor\x3d#999999;strokeWidth\x3d1.3;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-8,-6);b.vertex=!0;d.insert(b);b=new mxCell("********",new mxGeometry(0,0,190,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#fdfdfd;fontSize\x3d14;align\x3dleft;spacingLeft\x3d40;whiteSpace\x3dwrap;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(30,140);b.vertex=!0;c.insert(b);d=new mxCell("",new mxGeometry(0,0,30,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.leftButton;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;resizeHeight\x3d1;");
d.geometry.relative=!0;d.vertex=!0;b.insert(d);b=new mxCell("",new mxGeometry(0.5,0.5,16,16),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.password;strokeColor\x3d#999999;strokeWidth\x3d3;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-8,-8);b.vertex=!0;d.insert(b);d=new mxCell("Remember me",new mxGeometry(0,1,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;rSize\x3d3;strokeColor\x3d#666666;fillColor\x3d#ffffff;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d5;fontSize\x3d10;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(73,-72);d.vertex=!0;c.insert(d);d=new mxCell("Log In",new mxGeometry(0,1,190,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#58B957;fontColor\x3d#ffffff;fontSize\x3d14;fontStyle\x3d1;whiteSpace\x3dwrap;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(30,-50);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([c],240,260,"Log in")})];this.addPalette("bootstrap",
mxResources.get("bootstrap"),!1,mxUtils.bind(this,function(a){for(var d=0;d<c.length;d++)a.appendChild(c[d](a))}))}})();
(function(){var a=Sidebar.prototype.addBpmnPalette;Sidebar.prototype.addBpmnPalette=function(c,f){a.apply(this,arguments);var d="shape\x3dmxgraph.bpmn.shape;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;perimeter\x3drhombusPerimeter;background\x3dgateway;",b="bpmn business process model gateway ";this.addPaletteFunctions("bpmnGateways","BPMN Gateways",!1,[this.createVertexTemplateEntry(d+"outline\x3dnone;symbol\x3dexclusiveGw;",50,50,"","Exclusive Gateway",
null,null,b+"exclusive"),this.createVertexTemplateEntry(d+"outline\x3dnone;symbol\x3dparallelGw;",50,50,"","Parallel Gateway",null,null,b+"parallel"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dgeneral;",50,50,"","Inclusive Gateway",null,null,b+"inclusive"),this.createVertexTemplateEntry(d+"outline\x3dnone;symbol\x3dcomplexGw;",50,50,"","Complex Gateway",null,null,b+"complex"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dgeneral;",50,50,"","General Start Gateway",
null,null,b+"general start"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dgeneral;",50,50,"","General Intermediate Gateway",null,null,b+"general intermediate"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dgeneral;",50,50,"","General End Gateway",null,null,b+"general end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dmessage;",50,50,"","Message Standard Gateway",null,null,b+"message standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dmessage;",
50,50,"","Message Interrupting Gateway",null,null,b+"message interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3dmessage;",50,50,"","Message Non-Interrupting Gateway",null,null,b+"message non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dmessage;",50,50,"","Message Catching Gateway",null,null,b+"message catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dmessage;",50,50,"","Message Boundary Interrupting Gateway",
null,null,b+"message boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3dmessage;",50,50,"","Message Boundary Non-Interrupting Gateway",null,null,b+"message boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dmessage;",50,50,"","Message Throwing Gateway",null,null,b+"message throwing"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dmessage;",50,50,"","Message End Gateway",null,null,b+"message end"),
this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dtimer;",50,50,"","Timer Standard Gateway",null,null,b+"timer standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dtimer;",50,50,"","Timer Interrupting Gateway",null,null,b+"timer interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3dtimer;",50,50,"","Timer Non-Interrupting Gateway",null,null,b+"timer non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dtimer;",
50,50,"","Timer Catching Gateway",null,null,b+"timer catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dtimer;",50,50,"","Timer Boundary Interrupting Gateway",null,null,b+"timer boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3dtimer;",50,50,"","Timer Boundary Non-Interrupting Gateway",null,null,b+"timer boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3descalation;",50,50,"",
"Escalation Interrupting Gateway",null,null,b+"escalation interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3descalation;",50,50,"","Escalation Non-Interrupting Gateway",null,null,b+"escalation non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3descalation;",50,50,"","Escalation Boundary Interrupting Gateway",null,null,b+"escalation boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3descalation;",
50,50,"","Escalation Boundary Non-Interrupting Gateway",null,null,b+"escalation boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3descalation;",50,50,"","Escalation Throwing Gateway",null,null,b+"escalation throwing"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3descalation;",50,50,"","Escalation End Gateway",null,null,b+"escalation end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dconditional;",50,50,"","Conditional Standard Gateway",
null,null,b+"conditional standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dconditional;",50,50,"","Conditional Interrupting Gateway",null,null,b+"conditional interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3dconditional;",50,50,"","Conditional Non-Interrupting Gateway",null,null,b+"conditional non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dconditional;",50,50,"","Conditional Catching Gateway",
null,null,b+"conditional catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dconditional;",50,50,"","Conditional Boundary Interrupting Gateway",null,null,b+"conditional boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3dconditional;",50,50,"","Conditional Boundary Non-Interrupting Gateway",null,null,b+"conditional boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dlink;",50,50,"",
"Link Catching Gateway",null,null,b+"link catching"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dlink;",50,50,"","Link Throwing Gateway",null,null,b+"link throwing"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3derror;",50,50,"","Error Interrupting Gateway",null,null,b+"error interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3derror;",50,50,"","Error Boundary Interrupting Gateway",null,null,b+"error boundary interrupting"),this.createVertexTemplateEntry(d+
"outline\x3dend;symbol\x3derror;",50,50,"","Error End Gateway",null,null,b+"error end"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dcancel;",50,50,"","Cancel Boundary Interrupting Gateway",null,null,b+"cancel boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dcancel;",50,50,"","Cancel End Gateway",null,null,b+"cancel end"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dcompensation;",50,50,"","Compensation Interrupting Gateway",
null,null,b+"compensation interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dcompensation;",50,50,"","Compensation Boundary Interrupting Gateway",null,null,b+"compensation boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dcompensation;",50,50,"","Compensation Throwing Gateway",null,null,b+"compensation throwing"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dcompensation;",50,50,"","Compensation End Gateway",null,null,
b+"compensation end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dsignal;",50,50,"","Signal Standard Gateway",null,null,b+"signal standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dsignal;",50,50,"","Signal Interrupting Gateway",null,null,b+"signal interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3dsignal;",50,50,"","Signal Non-Interrupting Gateway",null,null,b+"signal non interrupting noninterrupting"),this.createVertexTemplateEntry(d+
"outline\x3dcatching;symbol\x3dsignal;",50,50,"","Signal Catching Gateway",null,null,b+"signal catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dsignal;",50,50,"","Signal Boundary Interrupting Gateway",null,null,b+"signal boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3dsignal;",50,50,"","Signal Boundary Non-Interrupting Gateway",null,null,b+"signal boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dsignal;",
50,50,"","Signal Throwing Gateway",null,null,b+"signal throwing"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dsignal;",50,50,"","Signal End Gateway",null,null,b+"signal end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dmultiple;",50,50,"","Multiple Standard Gateway",null,null,b+"multiple standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dmultiple;",50,50,"","Multiple Interrupting Gateway",null,null,b+"multiple interrupting"),this.createVertexTemplateEntry(d+
"outline\x3deventNonint;symbol\x3dmultiple;",50,50,"","Multiple Non-Interrupting Gateway",null,null,b+"multiple non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dmultiple;",50,50,"","Multiple Catching Gateway",null,null,b+"multiple catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dmultiple;",50,50,"","Multiple Boundary Interrupting Gateway",null,null,b+"multiple boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3dmultiple;",
50,50,"","Multiple Boundary Non-Interrupting Gateway",null,null,b+"multiple boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dmultiple;",50,50,"","Multiple Throwing Gateway",null,null,b+"multiple throwing"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dmultiple;",50,50,"","Multiple End Gateway",null,null,b+"multiple end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dparallelMultiple;",50,50,"","Parallel Multiple Standard Gateway",
null,null,b+"parallel multiple standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dparallelMultiple;",50,50,"","Parallel Multiple Interrupting Gateway",null,null,b+"parallel multiple interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3dparallelMultiple;",50,50,"","Parallel Multiple Non-Interrupting Gateway",null,null,b+"parallel multiple non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dparallelMultiple;",
50,50,"","Parallel Multiple Catching Gateway",null,null,b+"parallel multiple catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dparallelMultiple;",50,50,"","Parallel Multiple Boundary Interrupting Gateway",null,null,b+"parallel multiple boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3dparallelMultiple;",50,50,"","Parallel Multiple Boundary Non-Interrupting Gateway",null,null,b+"parallel multiple boundary non interrupting noninterrupting"),
this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dterminate;",50,50,"","Terminate Gateway",null,null,b+"terminate")]);d="shape\x3dmxgraph.bpmn.shape;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;perimeter\x3dellipsePerimeter;";b="bpmn business process model event ";this.addPaletteFunctions("bpmnEvents","BPMN Events",!1,[this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dgeneral;",50,50,"","General Start",null,null,b+"general start"),
this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dgeneral;",50,50,"","General Intermediate",null,null,b+"general intermediate"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dgeneral;",50,50,"","General End",null,null,b+"general end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dmessage;",50,50,"","Message Standard",null,null,b+"message standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dmessage;",50,50,"","Message Interrupting",
null,null,b+"message interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3dmessage;",50,50,"","Message Non-Interrupting",null,null,b+"message non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dmessage;",50,50,"","Message Catching",null,null,b+"message catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dmessage;",50,50,"","Message Boundary Interrupting",null,null,b+"message boundary interrupting"),this.createVertexTemplateEntry(d+
"outline\x3dboundNonint;symbol\x3dmessage;",50,50,"","Message Boundary Non-Interrupting",null,null,b+"message boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dmessage;",50,50,"","Message Throwing",null,null,b+"message throwing"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dmessage;",50,50,"","Message End",null,null,b+"message end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dtimer;",50,50,"","Timer Standard",
null,null,b+"timer standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dtimer;",50,50,"","Timer Interrupting",null,null,b+"timer interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3dtimer;",50,50,"","Timer Non-Interrupting",null,null,b+"timer non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dtimer;",50,50,"","Timer Catching",null,null,b+"timer catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dtimer;",
50,50,"","Timer Boundary Interrupting",null,null,b+"timer boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3dtimer;",50,50,"","Timer Boundary Non-Interrupting",null,null,b+"timer boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3descalation;",50,50,"","Escalation Interrupting",null,null,b+"escalation interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3descalation;",50,50,"",
"Escalation Non-Interrupting",null,null,b+"escalation non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3descalation;",50,50,"","Escalation Boundary Interrupting",null,null,b+"escalation boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3descalation;",50,50,"","Escalation Boundary Non-Interrupting",null,null,b+"escalation boundary non interrupting nonimpterrupting"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3descalation;",
50,50,"","Escalation Throwing",null,null,b+"escalation throwing"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3descalation;",50,50,"","Escalation End",null,null,b+"escalation end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dconditional;",50,50,"","Conditional Standard",null,null,b+"conditional standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dconditional;",50,50,"","Conditional Interrupting",null,null,b+"conditional interrupting"),this.createVertexTemplateEntry(d+
"outline\x3deventNonint;symbol\x3dconditional;",50,50,"","Conditional Non-Interrupting",null,null,b+"conditional non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dconditional;",50,50,"","Conditional Catching",null,null,b+"conditional catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dconditional;",50,50,"","Conditional Boundary Interrupting",null,null,b+"conditional boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3dconditional;",
50,50,"","Conditional Boundary Non-Interrupting",null,null,b+"conditional boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dlink;",50,50,"","Link Catching",null,null,b+"link catching"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dlink;",50,50,"","Link Throwing",null,null,b+"link throwing"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3derror;",50,50,"","Error Interrupting",null,null,b+"error interrupting"),
this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3derror;",50,50,"","Error Boundary Interrupting",null,null,b+"error boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3derror;",50,50,"","Error End",null,null,b+"error end"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dcancel;",50,50,"","Cancel Boundary Interrupting",null,null,b+"cancel boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dcancel;",50,50,"",
"Cancel End",null,null,b+"cancel end"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dcompensation;",50,50,"","Compensation Interrupting",null,null,b+"compensation interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dcompensation;",50,50,"","Compensation Boundary Interrupting",null,null,b+"compensation boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dcompensation;",50,50,"","Compensation Throwing",null,null,b+"compensation throwing"),
this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dcompensation;",50,50,"","Compensation End",null,null,b+"compensation end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dsignal;",50,50,"","Signal Standard",null,null,b+"signal standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dsignal;",50,50,"","Signal Interrupting",null,null,b+"signal interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3dsignal;",50,50,"","Signal Non-Interrupting",
null,null,b+"signal non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dsignal;",50,50,"","Signal Catching",null,null,b+"signal catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dsignal;",50,50,"","Signal Boundary Interrupting",null,null,b+"signal boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3dsignal;",50,50,"","Signal Boundary Non-Interrupting",null,null,b+"signal boundary non interrupting noninterrupting"),
this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dsignal;",50,50,"","Signal Throwing",null,null,b+"signal throwing"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dsignal;",50,50,"","Signal End",null,null,b+"signal end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dmultiple;",50,50,"","Multiple Standard",null,null,b+"multiple standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dmultiple;",50,50,"","Multiple Interrupting",null,null,
b+"multiple interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3dmultiple;",50,50,"","Multiple Non-Interrupting",null,null,b+"multiple non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dmultiple;",50,50,"","Multiple Catching",null,null,b+"multiple catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dmultiple;",50,50,"","Multiple Boundary Interrupting",null,null,b+"multiple boundary interrupting"),this.createVertexTemplateEntry(d+
"outline\x3dboundNonint;symbol\x3dmultiple;",50,50,"","Multiple Boundary Non-Interrupting",null,null,b+"multiple boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dthrowing;symbol\x3dmultiple;",50,50,"","Multiple Throwing",null,null,b+"multiple throwing"),this.createVertexTemplateEntry(d+"outline\x3dend;symbol\x3dmultiple;",50,50,"","Multiple End",null,null,b+"multiple end"),this.createVertexTemplateEntry(d+"outline\x3dstandard;symbol\x3dparallelMultiple;",50,
50,"","Parallel Multiple Standard",null,null,b+"parallel multiple standard"),this.createVertexTemplateEntry(d+"outline\x3deventInt;symbol\x3dparallelMultiple;",50,50,"","Parallel Multiple Interrupting",null,null,b+"parallel multiple interrupting"),this.createVertexTemplateEntry(d+"outline\x3deventNonint;symbol\x3dparallelMultiple;",50,50,"","Parallel Multiple Non-Interrupting",null,null,b+"parallel multiple non interrupting noninterrupting"),this.createVertexTemplateEntry(d+"outline\x3dcatching;symbol\x3dparallelMultiple;",
50,50,"","Parallel Multiple Catching",null,null,b+"parallel multiple catching"),this.createVertexTemplateEntry(d+"outline\x3dboundInt;symbol\x3dparallelMultiple;",50,50,"","Parallel Multiple Boundary Interrupting",null,null,b+"parallel multiple boundary interrupting"),this.createVertexTemplateEntry(d+"outline\x3dboundNonint;symbol\x3dparallelMultiple;",50,50,"","Parallel Multiple Boundary Non-Interrupting",null,null,b+"parallel multiple boundary non interrupting"),this.createVertexTemplateEntry(d+
"outline\x3dend;symbol\x3dterminate;",50,50,"","Terminate",null,null,b+"terminate")])}})();
(function(){Sidebar.prototype.addCabinetsPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;dashed\x3d0;shadow\x3d0;strokeColor\x3d#000000;fillColor\x3d#ffffff;html\x3d1;align\x3dcenter;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;"+mxConstants.STYLE_STROKEWIDTH+"\x3d1;shape\x3dmxgraph.cabinets.",c=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dmiddle;dashed\x3d0;shadow\x3d0;strokeColor\x3d#000000;fillColor\x3d#ffffff;html\x3d1;"+mxConstants.STYLE_STROKEWIDTH+"\x3d1;shape\x3dmxgraph.cabinets.",
f=this,d=[this.createVertexTemplateEntry(a+"cabinet;hasStand\x3d1",250,500,"","Cabinet",null,null,this.getTagsForStencil("mxgraph.cabinets","cabinet","cabinet ").join(" ")),this.createVertexTemplateEntry(c+"dimension;verticalAlign\x3dtop;align\x3dcenter;",250,40,"100","Dimension",null,null,this.getTagsForStencil("mxgraph.cabinets","dimension","cabinet ").join(" ")),this.createVertexTemplateEntry(c+"dimensionBottom;verticalAlign\x3dbottom;align\x3dcenter;",250,40,"100","Dimension",null,null,this.getTagsForStencil("mxgraph.cabinets",
"dimensionBottom","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"coverPlate",50*4.4,125,"","Cover Plate",null,null,this.getTagsForStencil("mxgraph.cabinets","coverPlate","cabinet ").join(" ")),this.createVertexTemplateEntry("shape\x3drect;dashed\x3d0;shadow\x3d0;html\x3d1;whiteSpace\x3dwrap;",50*4.4,12.5,"25x40","Panel Wiring System 25x40mm",null,null,this.getTagsForStencil("mxgraph.cabinets","","cabinet panel wiring system").join(" ")),this.createVertexTemplateEntry("shape\x3drect;dashed\x3d0;shadow\x3d0;html\x3d1;whiteSpace\x3dwrap;",
50*4.4,20,"40x40","Panel Wiring System 40x40mm",null,null,this.getTagsForStencil("mxgraph.cabinets","","cabinet panel wiring system").join(" ")),this.createVertexTemplateEntry("shape\x3drect;dashed\x3d0;shadow\x3d0;html\x3d1;whiteSpace\x3dwrap;",50*4.4,30,"60x40","Panel Wiring System 60x40mm",null,null,this.getTagsForStencil("mxgraph.cabinets","","cabinet panel wiring system").join(" ")),this.createVertexTemplateEntry("shape\x3drect;dashed\x3d0;shadow\x3d0;html\x3d1;whiteSpace\x3dwrap;",50*4.4,40,
"80x40","Panel Wiring System 80x40mm",null,null,this.getTagsForStencil("mxgraph.cabinets","","cabinet panel wiring system").join(" ")),this.createVertexTemplateEntry("shape\x3drect;dashed\x3d0;shadow\x3d0;html\x3d1;whiteSpace\x3dwrap;",50*4.4,50,"100x40","Panel Wiring System 100x40mm",null,null,this.getTagsForStencil("mxgraph.cabinets","","cabinet panel wiring system").join(" ")),this.createVertexTemplateEntry("shape\x3drect;dashed\x3d0;shadow\x3d0;html\x3d1;whiteSpace\x3dwrap;rotation\x3d270",350,
12.5,"25x40","Panel Wiring System 25x40mm (Vertical)",null,null,this.getTagsForStencil("mxgraph.cabinets","","cabinet panel wiring system").join(" ")),this.createVertexTemplateEntry("shape\x3drect;dashed\x3d0;shadow\x3d0;html\x3d1;whiteSpace\x3dwrap;rotation\x3d270",350,20,"40x40","Panel Wiring System 40x40mm (Vertical)",null,null,this.getTagsForStencil("mxgraph.cabinets","","cabinet panel wiring system").join(" ")),this.createVertexTemplateEntry("shape\x3drect;dashed\x3d0;shadow\x3d0;html\x3d1;whiteSpace\x3dwrap;rotation\x3d270",
350,30,"60x40","Panel Wiring System 60x40mm (Vertical)",null,null,this.getTagsForStencil("mxgraph.cabinets","","cabinet panel wiring system").join(" ")),this.createVertexTemplateEntry("shape\x3drect;dashed\x3d0;shadow\x3d0;html\x3d1;whiteSpace\x3dwrap;rotation\x3d270",350,40,"80x40","Panel Wiring System 80x40mm (Vertical)",null,null,this.getTagsForStencil("mxgraph.cabinets","","cabinet panel wiring system").join(" ")),this.createVertexTemplateEntry("shape\x3drect;dashed\x3d0;shadow\x3d0;html\x3d1;whiteSpace\x3dwrap;rotation\x3d270",
350,50,"100x40","Panel Wiring System 100x40mm (Vertical)",null,null,this.getTagsForStencil("mxgraph.cabinets","","cabinet panel wiring system").join(" ")),this.createVertexTemplateEntry(a+"cb_1p;",9,50,"","Circuit Breaker (1P)",null,null,this.getTagsForStencil("mxgraph.cabinets","cb_1p","cabinet ").join(" ")),this.addEntry("cabinet circuit breaker row",function(){var b=new mxCell("",new mxGeometry(0,0,9,50),a+"cb_1p;");b.vertex=!0;var d=new mxCell("",new mxGeometry(9,0,9,50),a+"cb_1p;");d.vertex=
!0;var c=new mxCell("",new mxGeometry(18,0,9,50),a+"cb_1p;");c.vertex=!0;var k=new mxCell("",new mxGeometry(27,0,9,50),a+"cb_1p;");k.vertex=!0;var l=new mxCell("",new mxGeometry(36,0,9,50),a+"cb_1p;");l.vertex=!0;var n=new mxCell("",new mxGeometry(45,0,9,50),a+"cb_1p;");n.vertex=!0;var m=new mxCell("",new mxGeometry(54,0,9,50),a+"cb_1p;");m.vertex=!0;var p=new mxCell("",new mxGeometry(63,0,9,50),a+"cb_1p;");p.vertex=!0;var r=new mxCell("",new mxGeometry(72,0,9,50),a+"cb_1p;");r.vertex=!0;var s=new mxCell("",
new mxGeometry(81,0,9,50),a+"cb_1p;");s.vertex=!0;return f.createVertexTemplateFromCells([b,d,c,k,l,n,m,p,r,s],90,50,"Circuit Breaker (1P x 10)")}),this.createVertexTemplateEntry(a+"cb_2p;",18,50,"","Circuit Breaker (2P)",null,null,this.getTagsForStencil("mxgraph.cabinets","cb_2p","cabinet ").join(" ")),this.addEntry("cabinet circuit breaker row",function(){var b=new mxCell("",new mxGeometry(0,0,18,50),a+"cb_2p;");b.vertex=!0;var d=new mxCell("",new mxGeometry(18,0,18,50),a+"cb_2p;");d.vertex=!0;
var c=new mxCell("",new mxGeometry(36,0,18,50),a+"cb_2p;");c.vertex=!0;var k=new mxCell("",new mxGeometry(54,0,18,50),a+"cb_2p;");k.vertex=!0;var l=new mxCell("",new mxGeometry(72,0,18,50),a+"cb_2p;");l.vertex=!0;var n=new mxCell("",new mxGeometry(90,0,18,50),a+"cb_2p;");n.vertex=!0;var m=new mxCell("",new mxGeometry(108,0,18,50),a+"cb_2p;");m.vertex=!0;var p=new mxCell("",new mxGeometry(126,0,18,50),a+"cb_2p;");p.vertex=!0;var r=new mxCell("",new mxGeometry(144,0,18,50),a+"cb_2p;");r.vertex=!0;var s=
new mxCell("",new mxGeometry(162,0,18,50),a+"cb_2p;");s.vertex=!0;return f.createVertexTemplateFromCells([b,d,c,k,l,n,m,p,r,s],180,50,"Circuit Breaker (2P x 10)")}),this.createVertexTemplateEntry(a+"cb_3p;",27,50,"","Circuit Breaker (3P)",null,null,this.getTagsForStencil("mxgraph.cabinets","cb_3p","cabinet ").join(" ")),this.addEntry("cabinet circuit breaker row",function(){var b=new mxCell("",new mxGeometry(0,0,27,50),a+"cb_3p;");b.vertex=!0;var d=new mxCell("",new mxGeometry(27,0,27,50),a+"cb_3p;");
d.vertex=!0;var c=new mxCell("",new mxGeometry(54,0,27,50),a+"cb_3p;");c.vertex=!0;var k=new mxCell("",new mxGeometry(81,0,27,50),a+"cb_3p;");k.vertex=!0;var l=new mxCell("",new mxGeometry(108,0,27,50),a+"cb_3p;");l.vertex=!0;return f.createVertexTemplateFromCells([b,d,c,k,l],135,50,"Circuit Breaker (3P x 5)")}),this.createVertexTemplateEntry(a+"cb_4p;",36,50,"","Circuit Breaker (4P)",null,null,this.getTagsForStencil("mxgraph.cabinets","cb_4p","cabinet ").join(" ")),this.addEntry("cabinet circuit breaker row",
function(){var b=new mxCell("",new mxGeometry(0,0,36,50),a+"cb_4p;");b.vertex=!0;var d=new mxCell("",new mxGeometry(36,0,36,50),a+"cb_4p;");d.vertex=!0;var c=new mxCell("",new mxGeometry(72,0,36,50),a+"cb_4p;");c.vertex=!0;var k=new mxCell("",new mxGeometry(108,0,36,50),a+"cb_4p;");k.vertex=!0;var l=new mxCell("",new mxGeometry(144,0,36,50),a+"cb_4p;");l.vertex=!0;return f.createVertexTemplateFromCells([b,d,c,k,l],180,50,"Circuit Breaker (4P x 5)")}),this.createVertexTemplateEntry(a+"cb_auxiliary_contact;",
4.5,50,"","Auxiliary Contact (Circuit Breaker)",null,null,this.getTagsForStencil("mxgraph.cabinets","cb_auxiliary_contact","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"contactor_1_32a;",27,43,"","Contactor (1-32A)",null,null,this.getTagsForStencil("mxgraph.cabinets","contactor_1_32a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"auxiliary_contact_contactor_1_32a;",4.5,43,"","Auxiliary Contact (Contactor 1-32A)",null,null,this.getTagsForStencil("mxgraph.cabinets","auxiliary_contact_contactor_1_32a",
"cabinet ").join(" ")),this.createVertexTemplateEntry(a+"contactor_32_125a;",30,50,"","Contactor 32 to 125A",null,null,this.getTagsForStencil("mxgraph.cabinets","contactor_32_125a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"auxiliary_contact_contactor_32_125a;",4.5,50,"","Auxiliary Contact (Contactor 32-125A)",null,null,this.getTagsForStencil("mxgraph.cabinets","auxiliary_contact_contactor_32_125a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"contactor_125_400a;",50*1.1,
90,"","Contactor 125 to 400A",null,null,this.getTagsForStencil("mxgraph.cabinets","contactor_125_400a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"distribution_block_4p_125a_11_connections;",100,60,"","Distribution Block 4P 125A 11 Connections",null,null,this.getTagsForStencil("mxgraph.cabinets","distribution_block_4p_125a_11_connections","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"distribution_block_4p_125a_11_connections_2;",100,50,"","Distribution Block 4P 125A 11 Connections",
null,null,this.getTagsForStencil("mxgraph.cabinets","distribution_block_4p_125a_11_connections_2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"mccb_25_63a_3p;",60,90,"","MCCB 25-63A 3P",null,null,this.getTagsForStencil("mxgraph.cabinets","mccb_25_63a_3p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"mccb_25_63a_4p;",80,90,"","MCCB 25-63A 4P",null,null,this.getTagsForStencil("mxgraph.cabinets","mccb_25_63a_4p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"mccb_63_250a_3p;",
70,105,"","MCCB 63-250A 3P",null,null,this.getTagsForStencil("mxgraph.cabinets","mccb_63_250a_3p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"mccb_63_250a_4p;",95,105,"","MCCB 63-250A 4P",null,null,this.getTagsForStencil("mxgraph.cabinets","mccb_63_250a_4p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"motorized_switch_3p;",85,70,"","Motorized Switch 3P",null,null,this.getTagsForStencil("mxgraph.cabinets","motorized_switch_3p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+
"motorized_switch_4p;",100,70,"","Motorized Switch 4P",null,null,this.getTagsForStencil("mxgraph.cabinets","motorized_switch_4p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"motor_cb_1_32a;",27,43,"","Motor Circuit Breaker 1-32A",null,null,this.getTagsForStencil("mxgraph.cabinets","motor_cb_1_32a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"motor_cb_32_125a;",30,50,"","Motor Circuit Breaker 32-125A",null,null,this.getTagsForStencil("mxgraph.cabinets","motor_cb_32_125a","cabinet ").join(" ")),
this.createVertexTemplateEntry(a+"motor_cb_125_400a;",50*1.1,90,"","Motor Circuit Breaker 125-400A",null,null,this.getTagsForStencil("mxgraph.cabinets","motor_cb_125_400a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"motor_protection_cb;",27,50,"","Motor Protection CB",null,null,this.getTagsForStencil("mxgraph.cabinets","motor_protection_cb","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"motor_starter_1_32a;",27,43,"","Motor Circuit Breaker 1-32A",null,null,this.getTagsForStencil("mxgraph.cabinets",
"motor_starter_1_32a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"motor_starter_32_125a;",30,50,"","Motor Circuit Breaker 32-125A",null,null,this.getTagsForStencil("mxgraph.cabinets","motor_starter_32_125a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"motor_starter_125_400a;",50*1.1,90,"","Motor Circuit Breaker 125-400A",null,null,this.getTagsForStencil("mxgraph.cabinets","motor_starter_125_400a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"overcurrent_relay_1_32a;",
27,15,"","Overcurrent Relay 1-32A",null,null,this.getTagsForStencil("mxgraph.cabinets","overcurrent_relay_1_32a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"overcurrent_relay_32_125a;",30,16.5,"","Overcurrent Relay 32-125A",null,null,this.getTagsForStencil("mxgraph.cabinets","overcurrent_relay_32_125a","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"overcurrent_relay_125_400a;",50*1.1,30,"","Overcurrent Relay 125-400A",null,null,this.getTagsForStencil("mxgraph.cabinets","overcurrent_relay_125_400a",
"cabinet ").join(" ")),this.createVertexTemplateEntry(a+"plugin_relay_1;",3,40,"","Plugin Relay",null,null,this.getTagsForStencil("mxgraph.cabinets","plugin_relay_1","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"plugin_relay_2;",12,40,"","Plugin Relay",null,null,this.getTagsForStencil("mxgraph.cabinets","plugin_relay_2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"din_rail;",500,25,"","DIN Rail",null,null,this.getTagsForStencil("mxgraph.cabinets","din_rail","cabinet ").join(" ")),
this.createVertexTemplateEntry(a+"residual_current_device_2p;",18,50,"","Residual Current Device 2p",null,null,this.getTagsForStencil("mxgraph.cabinets","residual_current_device_2p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"residual_current_device_4p;",36,50,"","Residual Current Device 4p",null,null,this.getTagsForStencil("mxgraph.cabinets","residual_current_device_4p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"surge_protection_1p;",9,50,"","Surge Protection 1p",null,
null,this.getTagsForStencil("mxgraph.cabinets","surge_protection_1p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"surge_protection_2p;",18,50,"","Surge Protection 2p",null,null,this.getTagsForStencil("mxgraph.cabinets","surge_protection_2p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"surge_protection_3p;",27,50,"","Surge Protection 3p",null,null,this.getTagsForStencil("mxgraph.cabinets","surge_protection_3p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"surge_protection_4p;",
36,50,"","Surge Protection 4p",null,null,this.getTagsForStencil("mxgraph.cabinets","surge_protection_4p","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_4mm2;",2.5,25,"","Terminal 4mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_4mm2_x10;",25,25,"","Terminal 4mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+
"terminal_4_6mm2;",2.5,30,"","Terminal 4-6mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4_6mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_4_6mm2_x10;",25,30,"","Terminal 4-6mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4_6mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_6_25mm2;",5,37.5,"","Terminal 6-25mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_6_25mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+
"terminal_6_25mm2_x10;",50,37.5,"","Terminal 6-25mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_6_25mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_40mm2;",11,50,"","Terminal 40mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_40mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_40mm2_x10;",50*2.2,50,"","Terminal 40mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_40mm2_x10","cabinet ").join(" ")),
this.createVertexTemplateEntry(a+"terminal_50mm2;",12.5,50*1.1,"","Terminal 50mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_50mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_50mm2_x10;",125,50*1.1,"","Terminal 50mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_50mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2;",15,70,"","Terminal 75mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2",
"cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2_x10;",150,70,"","Terminal 75mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2_x10","cabinet ").join(" "))];this.addPalette("cabinets",mxResources.get("cabinets"),!1,mxUtils.bind(this,function(b){for(var a=0;a<d.length;a++)b.appendChild(d[a](b))}))}})();
(function(){Sidebar.prototype.addCitrixPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;aspect\x3dfixed;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeColor\x3dnone;shape\x3dmxgraph.citrix.";this.addPaletteFunctions("citrix","Citrix",!1,[this.createVertexTemplateEntry(a+"1u_2u_server;",100,39.1,"","1U 2U Server",null,null,this.getTagsForStencil("mxgraph.citrix","1U 2U Server","").join(" ")),this.createVertexTemplateEntry(a+"access_card;",55.5,75,"","Access Card",
null,null,this.getTagsForStencil("mxgraph.citrix","Access Card","").join(" ")),this.createVertexTemplateEntry(a+"branch_repeater;",100,39,"","Branch Repeater",null,null,this.getTagsForStencil("mxgraph.citrix","Branch Repeater","").join(" ")),this.createVertexTemplateEntry(a+"browser;",47.5,72.5,"","Browser",null,null,this.getTagsForStencil("mxgraph.citrix","Browser","").join(" ")),this.createVertexTemplateEntry(a+"cache_server;",71,97.5,"","Cache Server",null,null,this.getTagsForStencil("mxgraph.citrix",
"Cache Server","").join(" ")),this.createVertexTemplateEntry(a+"calendar;",75,100,"","Calendar",null,null,this.getTagsForStencil("mxgraph.citrix","Calendar","").join(" ")),this.createVertexTemplateEntry(a+"cell_phone;",25,60,"","Cell Phone",null,null,this.getTagsForStencil("mxgraph.citrix","Cell Phone","").join(" ")),this.createVertexTemplateEntry(a+"chassis;",137.5,177.5,"","Chassis",null,null,this.getTagsForStencil("mxgraph.citrix","Chassis","").join(" ")),this.createVertexTemplateEntry(a+"citrix_hdx;",
77.5,41,"","Citrix HDX",null,null,this.getTagsForStencil("mxgraph.citrix","Citrix HDX","").join(" ")),this.createVertexTemplateEntry(a+"citrix_logo;fillColor\x3d#4E4F53;",160,62.5,"","Citrix Logo",null,null,this.getTagsForStencil("mxgraph.citrix","Citrix Logo","").join(" ")),this.createVertexTemplateEntry(a+"cloud;",95,62,"","Cloud",null,null,this.getTagsForStencil("mxgraph.citrix","Cloud","").join(" ")),this.createVertexTemplateEntry(a+"command_center;",75.5,96,"","Command Center",null,null,this.getTagsForStencil("mxgraph.citrix",
"Command Center","").join(" ")),this.createVertexTemplateEntry(a+"database;",42.5,50,"","Database",null,null,this.getTagsForStencil("mxgraph.citrix","Database","").join(" ")),this.createVertexTemplateEntry(a+"database_server;",80,90,"","Database Server",null,null,this.getTagsForStencil("mxgraph.citrix","Database Server","").join(" ")),this.createVertexTemplateEntry(a+"datacenter;",127.5,135,"","Datacenter",null,null,this.getTagsForStencil("mxgraph.citrix","Datacenter","").join(" ")),this.createVertexTemplateEntry(a+
"desktop;",89,98,"","Desktop",null,null,this.getTagsForStencil("mxgraph.citrix","Desktop","").join(" ")),this.createVertexTemplateEntry(a+"desktop_web;",76.5,90,"","Desktop Web",null,null,this.getTagsForStencil("mxgraph.citrix","Desktop Web","").join(" ")),this.createVertexTemplateEntry(a+"dhcp_server;",76,90,"","DHCP Server",null,null,this.getTagsForStencil("mxgraph.citrix","DHCP Server","").join(" ")),this.createVertexTemplateEntry(a+"directory_server;",65,88.5,"","Directory Server",null,null,this.getTagsForStencil("mxgraph.citrix",
"Directory Server","").join(" ")),this.createVertexTemplateEntry(a+"dns_server;",76.5,92.5,"","DNS Server",null,null,this.getTagsForStencil("mxgraph.citrix","DNS Server","").join(" ")),this.createVertexTemplateEntry(a+"document;",47,72,"","Document",null,null,this.getTagsForStencil("mxgraph.citrix","Document","").join(" ")),this.createVertexTemplateEntry(a+"edgesight_server;",76.5,90,"","EdgeSight Server",null,null,this.getTagsForStencil("mxgraph.citrix","EdgeSight Server","").join(" ")),this.createVertexTemplateEntry(a+
"file_server;",71,97,"","File Server",null,null,this.getTagsForStencil("mxgraph.citrix","File Server","").join(" ")),this.createVertexTemplateEntry(a+"firewall;",75,93,"","Firewall",null,null,this.getTagsForStencil("mxgraph.citrix","Firewall","").join(" ")),this.createVertexTemplateEntry(a+"ftp_server;",71,97,"","FTP Server",null,null,this.getTagsForStencil("mxgraph.citrix","FTP Server","").join(" ")),this.createVertexTemplateEntry(a+"geolocation_database;",53,49,"","Geolocation Database",null,null,
this.getTagsForStencil("mxgraph.citrix","Geolocation Database","").join(" ")),this.createVertexTemplateEntry(a+"globe;",78.5,75,"","Globe",null,null,this.getTagsForStencil("mxgraph.citrix","Globe","").join(" ")),this.createVertexTemplateEntry(a+"goto_meeting;fillColor\x3d#FAB616;gradientColor\x3d#E12800;gradientDirection\x3dnorth;",37,37,"","GoTo Meeting",null,null,this.getTagsForStencil("mxgraph.citrix","GoTo Meeting","").join(" ")),this.createVertexTemplateEntry(a+"government;",119,52,"","Government",
null,null,this.getTagsForStencil("mxgraph.citrix","Government","").join(" ")),this.createVertexTemplateEntry(a+"home_office;",80,55.5,"","Home Office",null,null,this.getTagsForStencil("mxgraph.citrix","Home Office","").join(" ")),this.createVertexTemplateEntry(a+"hq_enterprise;",92,88,"","HQ / Enterprise",null,null,this.getTagsForStencil("mxgraph.citrix","HQ Enterprise","").join(" ")),this.createVertexTemplateEntry(a+"inspection;",70,65,"","Inspection",null,null,this.getTagsForStencil("mxgraph.citrix",
"Inspection","").join(" ")),this.createVertexTemplateEntry(a+"ip_phone;",76.5,37,"","IP Phone",null,null,this.getTagsForStencil("mxgraph.citrix","IP Phone","").join(" ")),this.createVertexTemplateEntry(a+"kiosk;",65,85,"","Kiosk",null,null,this.getTagsForStencil("mxgraph.citrix","Kiosk","").join(" ")),this.createVertexTemplateEntry(a+"laptop_1;",91,77,"","Laptop",null,null,this.getTagsForStencil("mxgraph.citrix","Laptop","").join(" ")),this.createVertexTemplateEntry(a+"laptop_2;",116,86.5,"","Laptop",
null,null,this.getTagsForStencil("mxgraph.citrix","Laptop","").join(" ")),this.createVertexTemplateEntry(a+"license_server;",65,85,"","License Server",null,null,this.getTagsForStencil("mxgraph.citrix","License Server","").join(" ")),this.createVertexTemplateEntry(a+"merchandising_server;",75,90,"","Merchandising Server",null,null,this.getTagsForStencil("mxgraph.citrix","Merchandising Server","").join(" ")),this.createVertexTemplateEntry(a+"middleware;",114,68,"","Middleware",null,null,this.getTagsForStencil("mxgraph.citrix",
"Middleware","").join(" ")),this.createVertexTemplateEntry(a+"netscaler_gateway;",100,39,"","NetScaler Gateway",null,null,this.getTagsForStencil("mxgraph.citrix","NetScaler Gateway","").join(" ")),this.createVertexTemplateEntry(a+"netscaler_mpx;",100,39,"","NetScaler MPX",null,null,this.getTagsForStencil("mxgraph.citrix","NetScaler MPX","").join(" ")),this.createVertexTemplateEntry(a+"netscaler_sdx;",100,47.5,"","NetScaler SDX",null,null,this.getTagsForStencil("mxgraph.citrix","NetScaler SDX","").join(" ")),
this.createVertexTemplateEntry(a+"netscaler_vpx;",97,36,"","NetScaler VPX",null,null,this.getTagsForStencil("mxgraph.citrix","NetScaler VPX","").join(" ")),this.createVertexTemplateEntry(a+"pbx_server;",65,85,"","PBX Server",null,null,this.getTagsForStencil("mxgraph.citrix","PBX Server","").join(" ")),this.createVertexTemplateEntry(a+"pda;",30,61,"","PDA",null,null,this.getTagsForStencil("mxgraph.citrix","PDA","").join(" ")),this.createVertexTemplateEntry(a+"podio;fillColor\x3d#72B8DE;gradientColor\x3d#186BA2;gradientDirection\x3dsouth;",
37,37,"","Podio",null,null,this.getTagsForStencil("mxgraph.citrix","Podio","").join(" ")),this.createVertexTemplateEntry(a+"printer;",70,70,"","Printer",null,null,this.getTagsForStencil("mxgraph.citrix","Printer","").join(" ")),this.createVertexTemplateEntry(a+"process;",52,62,"","Process",null,null,this.getTagsForStencil("mxgraph.citrix","Process","").join(" ")),this.createVertexTemplateEntry(a+"provisioning_server;",76,87,"","Provisioning Server",null,null,this.getTagsForStencil("mxgraph.citrix",
"Provisioning Server","").join(" ")),this.createVertexTemplateEntry(a+"proxy_server;",76.5,90,"","Proxy Server",null,null,this.getTagsForStencil("mxgraph.citrix","Proxy Server","").join(" ")),this.createVertexTemplateEntry(a+"radius_server;",75.5,91,"","Radius Server",null,null,this.getTagsForStencil("mxgraph.citrix","Radius Server","").join(" ")),this.createVertexTemplateEntry(a+"remote_office;",92,41.5,"","Remote Office",null,null,this.getTagsForStencil("mxgraph.citrix","Remote Office","").join(" ")),
this.createVertexTemplateEntry(a+"reporting;",61.5,69,"","Reporting",null,null,this.getTagsForStencil("mxgraph.citrix","Reporting","").join(" ")),this.createVertexTemplateEntry(a+"role_appcontroller;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role AppController",null,null,this.getTagsForStencil("mxgraph.citrix","Role AppController","").join(" ")),this.createVertexTemplateEntry(a+"role_applications;",38,38,"","Role Applications",null,null,this.getTagsForStencil("mxgraph.citrix",
"Role Applications","").join(" ")),this.createVertexTemplateEntry(a+"role_cloudbridge;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role CloudBridge",null,null,this.getTagsForStencil("mxgraph.citrix","Role CloudBridge","").join(" ")),this.createVertexTemplateEntry(a+"role_desktops;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role Desktops",null,null,this.getTagsForStencil("mxgraph.citrix","Role Desktops","").join(" ")),
this.createVertexTemplateEntry(a+"role_load_testing_controller;",24,24,"","Role Load Testing Controller",null,null,this.getTagsForStencil("mxgraph.citrix","Role Load Testing Controller","").join(" ")),this.createVertexTemplateEntry(a+"role_load_testing_launcher;",41,38,"","Role Load Testing Launcher",null,null,this.getTagsForStencil("mxgraph.citrix","Role Load Testing Launcher","").join(" ")),this.createVertexTemplateEntry(a+"role_receiver;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",
38,38,"","Role Receiver",null,null,this.getTagsForStencil("mxgraph.citrix","Role Receiver","").join(" ")),this.createVertexTemplateEntry(a+"role_repeater;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role Repeater",null,null,this.getTagsForStencil("mxgraph.citrix","Role Repeater","").join(" ")),this.createVertexTemplateEntry(a+"role_secure_access;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role Secure Access",null,null,
this.getTagsForStencil("mxgraph.citrix","Role Secure Access","").join(" ")),this.createVertexTemplateEntry(a+"role_security;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role Security",null,null,this.getTagsForStencil("mxgraph.citrix","Role Security","").join(" ")),this.createVertexTemplateEntry(a+"role_services;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role Services",null,null,this.getTagsForStencil("mxgraph.citrix",
"Role Services","").join(" ")),this.createVertexTemplateEntry(a+"role_storefront;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role StoreFront",null,null,this.getTagsForStencil("mxgraph.citrix","Role StoreFront","").join(" ")),this.createVertexTemplateEntry(a+"role_storefront_services;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role StoreFront Services",null,null,this.getTagsForStencil("mxgraph.citrix","Role StoreFront Services",
"").join(" ")),this.createVertexTemplateEntry(a+"role_synchronizer;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role Synchronizer",null,null,this.getTagsForStencil("mxgraph.citrix","Role Synchronizer","").join(" ")),this.createVertexTemplateEntry(a+"role_xenmobile;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",38,38,"","Role XenMobile",null,null,this.getTagsForStencil("mxgraph.citrix","Role XenMobile","").join(" ")),this.createVertexTemplateEntry(a+
"role_xenmobile_device_manager;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",35,38,"","Role XenMobile Device Manager",null,null,this.getTagsForStencil("mxgraph.citrix","Role XenMobile Device Manager","").join(" ")),this.createVertexTemplateEntry(a+"router;",55,36.5,"","Router",null,null,this.getTagsForStencil("mxgraph.citrix","Router","").join(" ")),this.createVertexTemplateEntry(a+"security;",40.5,71,"","Security",null,null,this.getTagsForStencil("mxgraph.citrix","Security",
"").join(" ")),this.createVertexTemplateEntry(a+"sharefile;fillColor\x3d#386510;gradientColor\x3d#C6CF2B;gradientDirection\x3dsouth;",38,38,"","ShareFile",null,null,this.getTagsForStencil("mxgraph.citrix","ShareFile","").join(" ")),this.createVertexTemplateEntry(a+"site;",107,101,"","Site",null,null,this.getTagsForStencil("mxgraph.citrix","Site","").join(" ")),this.createVertexTemplateEntry(a+"smtp_server;",76,92,"","SMTP Server",null,null,this.getTagsForStencil("mxgraph.citrix","SMTP Server","").join(" ")),
this.createVertexTemplateEntry(a+"storefront_services;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",76,91,"","Storefront Services",null,null,this.getTagsForStencil("mxgraph.citrix","Storefront Services","").join(" ")),this.createVertexTemplateEntry(a+"switch;",92,41.5,"","Switch",null,null,this.getTagsForStencil("mxgraph.citrix","Switch","").join(" ")),this.createVertexTemplateEntry(a+"tablet_1;",61,79,"","Tablet",null,null,this.getTagsForStencil("mxgraph.citrix","Tablet",
"").join(" ")),this.createVertexTemplateEntry(a+"tablet_2;",82,86,"","Tablet",null,null,this.getTagsForStencil("mxgraph.citrix","Tablet","").join(" ")),this.createVertexTemplateEntry(a+"thin_client;",71,71,"","Thin Client",null,null,this.getTagsForStencil("mxgraph.citrix","Thin Client","").join(" ")),this.createVertexTemplateEntry(a+"tower_server;",65,85,"","Tower Server",null,null,this.getTagsForStencil("mxgraph.citrix","Tower Server","").join(" ")),this.createVertexTemplateEntry(a+"users;",64.5,
55,"","Users",null,null,this.getTagsForStencil("mxgraph.citrix","Users","").join(" ")),this.createVertexTemplateEntry(a+"user_control;",103,84,"","User Control",null,null,this.getTagsForStencil("mxgraph.citrix","User Control","").join(" ")),this.createVertexTemplateEntry(a+"web_server;",76.5,90,"","Web Server",null,null,this.getTagsForStencil("mxgraph.citrix","Web Server","").join(" ")),this.createVertexTemplateEntry(a+"web_service;",63,60,"","Web Service",null,null,this.getTagsForStencil("mxgraph.citrix",
"Web Service","").join(" ")),this.createVertexTemplateEntry(a+"worxenroll;fillColor\x3d#386510;gradientColor\x3d#C6CF2B;gradientDirection\x3dsouth;",38,38,"","WorxEnroll",null,null,this.getTagsForStencil("mxgraph.citrix","WorxEnroll","").join(" ")),this.createVertexTemplateEntry(a+"worxhome;fillColor\x3d#DB9EFF;gradientColor\x3d#712FA2;gradientDirection\x3dsouth;",38,38,"","WorxHome",null,null,this.getTagsForStencil("mxgraph.citrix","WorxHome","").join(" ")),this.createVertexTemplateEntry(a+"worxmail;fillColor\x3d#112356;gradientColor\x3d#63AFC6;gradientDirection\x3dsouth;",
38,38,"","WorxMail",null,null,this.getTagsForStencil("mxgraph.citrix","WorxMail","").join(" ")),this.createVertexTemplateEntry(a+"worxweb;fillColor\x3d#2A3437;gradientColor\x3d#B8B9B9;gradientDirection\x3dsouth;",38,38,"","WorxWeb",null,null,this.getTagsForStencil("mxgraph.citrix","WorxWeb","").join(" ")),this.createVertexTemplateEntry(a+"xenapp_server;",76,89,"","XenApp Server",null,null,this.getTagsForStencil("mxgraph.citrix","XenApp Server","").join(" ")),this.createVertexTemplateEntry(a+"xenapp_services;",
76,90,"","XenApp Services",null,null,this.getTagsForStencil("mxgraph.citrix","XenApp Services","").join(" ")),this.createVertexTemplateEntry(a+"xenapp_web;",76,90,"","XenApp Web",null,null,this.getTagsForStencil("mxgraph.citrix","XenApp Web","").join(" ")),this.createVertexTemplateEntry(a+"xencenter;",76,89,"","XenCenter",null,null,this.getTagsForStencil("mxgraph.citrix","XenCenter","").join(" ")),this.createVertexTemplateEntry(a+"xenclient;",91,77,"","XenClient",null,null,this.getTagsForStencil("mxgraph.citrix",
"XenClient","").join(" ")),this.createVertexTemplateEntry(a+"xenclient_synchronizer;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",76,91,"","XenClient Synchronizer",null,null,this.getTagsForStencil("mxgraph.citrix","Synchronizer","").join(" ")),this.createVertexTemplateEntry(a+"xendesktop_server;",75,91,"","XenDesktop Server",null,null,this.getTagsForStencil("mxgraph.citrix","XenDesktop Server","").join(" ")),this.createVertexTemplateEntry(a+"xenmobile;fillColor\x3d#CCCCCC;gradientColor\x3d#000000;gradientDirection\x3dsouth;",
70,89,"","XenMobile",null,null,this.getTagsForStencil("mxgraph.citrix","XenMobile","").join(" ")),this.createVertexTemplateEntry(a+"xenserver;",76.5,90,"","XenServer",null,null,this.getTagsForStencil("mxgraph.citrix","XenServer","").join(" "))])}})();
(function(){Sidebar.prototype.addEipMessageConstructionPalette=function(a){var c=this,f=[this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;strokeColor\x3d#808080;endArrow\x3dblock;endSize\x3d10;dashed\x3d0;verticalAlign\x3dbottom;strokeWidth\x3d2;",160,0,"","Pipe",null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction pipe").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;",
150,90,"","Filter",null,null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction filter").join(" ")),this.addEntry("eip enterprise integration pattern message construction edge",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("C",new mxGeometry(16,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#FF8080;strokeColor\x3d#000000;fontStyle\x3d1;");
b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);return c.createVertexTemplateFromCells([e,a,b],28,30,"Command Message")}),this.addEntry("eip enterprise integration pattern message construction correlation identifier",function(){var a=new mxCell("",new mxGeometry(0,0,12,
12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("A",new mxGeometry(16,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#FF9238;strokeColor\x3d#000000;fontStyle\x3d1;fontColor\x3d#ffffff;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");
e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(50,0,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");f.vertex=!0;var k=new mxCell("B",new mxGeometry(66,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#FF9238;strokeColor\x3d#000000;fontStyle\x3d1;fontColor\x3d#ffffff;");k.vertex=!0;var l=new mxCell("",new mxGeometry(0,
0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");l.geometry.relative=!0;l.edge=!0;f.insertEdge(l,!1);k.insertEdge(l,!0);var n=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dblock;html\x3d1;endFill\x3d1;strokeWidth\x3d2;strokeColor\x3d#FF9238");n.geometry.setTerminalPoint(new mxPoint(45,6),!0);n.geometry.setTerminalPoint(new mxPoint(17,6),!1);n.geometry.relative=!0;n.edge=!0;return c.createVertexTemplateFromCells([e,
l,n,a,b,f,k],78,30,"Correlation Identifier")}),this.addEntry("eip enterprise integration pattern message construction document message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("D",new mxGeometry(16,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#C7A0FF;strokeColor\x3d#000000;fontStyle\x3d1;");
b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);return c.createVertexTemplateFromCells([e,a,b],28,30,"Document Message")}),this.addEntry("eip enterprise integration pattern message construction event message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("E",new mxGeometry(16,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#83BEFF;strokeColor\x3d#000000;fontStyle\x3d1;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);return c.createVertexTemplateFromCells([e,
a,b],28,30,"Event Message")}),this.createVertexTemplateEntry("strokeWidth\x3d3;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dmxgraph.eip.messExp;html\x3d1;verticalLabelPosition\x3dbottom;strokeColor\x3d#000000;verticalAlign\x3dtop",48,48,"","Message Expiration",null,null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction message expiration").join(" ")),this.addEntry("eip enterprise integration pattern message construction message sequence",function(){var a=
new mxCell("1",new mxGeometry(0,12,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#80FF6C;strokeColor\x3d#000000;fontStyle\x3d1;");a.vertex=!0;var b=new mxCell("2",new mxGeometry(24,12,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#80FF6C;strokeColor\x3d#000000;fontStyle\x3d1;");b.vertex=!0;var e=new mxCell("3",new mxGeometry(48,12,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#80FF6C;strokeColor\x3d#000000;fontStyle\x3d1;");
e.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"curved\x3d1;endArrow\x3dblock;html\x3d1;strokeColor\x3d#1CCF00;strokeWidth\x3d2;endSize\x3d3;");a.insertEdge(f,!1);b.insertEdge(f,!0);f.geometry.points=[new mxPoint(18,0)];f.geometry.relative=!0;f.edge=!0;var k=new mxCell("",new mxGeometry(0,0,0,0),"curved\x3d1;endArrow\x3dblock;html\x3d1;strokeColor\x3d#1CCF00;strokeWidth\x3d2;endSize\x3d3;");b.insertEdge(k,!1);e.insertEdge(k,!0);k.geometry.points=[new mxPoint(42,0)];k.geometry.relative=!0;
k.edge=!0;return c.createVertexTemplateFromCells([f,k,a,b,e],60,24,"Message Sequence")}),this.createVertexTemplateEntry("strokeWidth\x3d3;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dmxgraph.eip.retAddr;html\x3d1;verticalLabelPosition\x3dbottom;fillColor\x3d#FFE040;strokeColor\x3d#000000;verticalAlign\x3dtop;",78,48,"","Return Address",null,null,this.getTagsForStencil("mxgraph.eip","retAddr","eip enterprise integration pattern message construction return address").join(" "))];this.addPalette("eipMessage Construction",
"EIP / Message Construction",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addEipMessageRoutingPalette=function(a){var c=this,f=[this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.aggregator;",150,90,"","Aggregator",null,null,this.getTagsForStencil("mxgraph.eip","aggregator","eip enterprise integration pattern message routing ").join(" ")),
this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.composed_message_processor;",150,90,"","Composed Message Processor",null,null,this.getTagsForStencil("mxgraph.eip","composed_message_processor","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.content_based_router;",
150,90,"","Content Based Router",null,null,this.getTagsForStencil("mxgraph.eip","content_based_router","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.dynamic_router;",150,90,"","Dynamic Router",null,null,this.getTagsForStencil("mxgraph.eip","dynamic_router","eip enterprise integration pattern message routing ").join(" ")),
this.addEntry("eip enterprise integration pattern message routing message broker",function(){var a=new mxCell("",new mxGeometry(47,0,26,18),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#fffbc0;strokeColor\x3d#000000;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,18,26,18),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#fffbc0;strokeColor\x3d#000000;");b.vertex=!0;var e=new mxCell("",new mxGeometry(94,18,26,18),
"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#fffbc0;strokeColor\x3d#000000;");e.vertex=!0;var f=new mxCell("",new mxGeometry(0,54,26,18),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#fffbc0;strokeColor\x3d#000000;");f.vertex=!0;var k=new mxCell("",new mxGeometry(94,54,26,18),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#fffbc0;strokeColor\x3d#000000;");k.vertex=!0;var l=new mxCell("",
new mxGeometry(47,72,26,18),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#fffbc0;strokeColor\x3d#000000;");l.vertex=!0;var n=new mxCell("",new mxGeometry(47,36,26,18),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;");n.vertex=!0;var m=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeWidth\x3d2;");m.geometry.relative=!0;m.edge=!0;a.insertEdge(m,
!1);n.insertEdge(m,!0);var p=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeWidth\x3d2;");p.geometry.relative=!0;p.edge=!0;b.insertEdge(p,!1);n.insertEdge(p,!0);var r=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeWidth\x3d2;");r.geometry.relative=!0;r.edge=!0;e.insertEdge(r,!1);n.insertEdge(r,!0);var s=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeWidth\x3d2;");
s.geometry.relative=!0;s.edge=!0;f.insertEdge(s,!1);n.insertEdge(s,!0);var q=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeWidth\x3d2;");q.geometry.relative=!0;q.edge=!0;k.insertEdge(q,!1);n.insertEdge(q,!0);var u=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeWidth\x3d2;");u.geometry.relative=!0;u.edge=!0;l.insertEdge(u,!1);n.insertEdge(u,!0);return c.createVertexTemplateFromCells([a,b,
e,f,k,l,n,m,p,r,s,q,u],120,90,"Message Broker")}),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.message_filter;",150,90,"","Message Filter",null,null,this.getTagsForStencil("mxgraph.eip","message_filter","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.process_manager;",
150,90,"","Process Manager",null,null,this.getTagsForStencil("mxgraph.eip","process_manager","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.recipient_list;",150,90,"","Recipient List",null,null,this.getTagsForStencil("mxgraph.eip","recipient_list","eip enterprise integration pattern message routing ").join(" ")),
this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.resequencer;",150,90,"","Resequencer",null,null,this.getTagsForStencil("mxgraph.eip","resequencer","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.routing_slip;",
150,90,"","Routing Slip",null,null,this.getTagsForStencil("mxgraph.eip","routing_slip","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.splitter;",150,90,"","Splitter",null,null,this.getTagsForStencil("mxgraph.eip","splitter","eip enterprise integration pattern message routing ").join(" "))];
this.addPalette("eipMessage Routing","EIP / Message Routing",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addEipMessageTransformationPalette=function(a){this.addPaletteFunctions("eipMessage Transformation","EIP / Message Transformation",!1,[this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.claim_check;",
150,90,"","Claim Check",null,null,this.getTagsForStencil("mxgraph.eip","claim_check","eip enterprise integration pattern message transformation ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.content_enricher;",150,90,"","Content Enricher",null,null,this.getTagsForStencil("mxgraph.eip","content_enricher","eip enterprise integration pattern message transformation ").join(" ")),
this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.content_filter;",150,90,"","Content Filter",null,null,this.getTagsForStencil("mxgraph.eip","content_filter","eip enterprise integration pattern message transformation ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.envelope_wrapper;",
150,90,"","Envelope Wrapper",null,null,this.getTagsForStencil("mxgraph.eip","envelope_wrapper","eip enterprise integration pattern message transformation ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;fillColor\x3d#c0f5a9;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;strokeColor\x3d#000000;shape\x3dmxgraph.eip.normalizer;",150,90,"","Normalizer",null,null,this.getTagsForStencil("mxgraph.eip","normalizer","eip enterprise integration pattern message transformation ").join(" "))])};
Sidebar.prototype.addEipMessagingChannelsPalette=function(a){var c=this,f=[this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;strokeColor\x3d#808080;endArrow\x3dblock;endSize\x3d10;dashed\x3d0;verticalAlign\x3dbottom;strokeWidth\x3d2;",160,0,"","Point to Point Channel",null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern messaging channel message point").join(" ")),this.addEntry("eip enterprise integration pattern messaging channel message publish subscribe",function(){var a=
new mxCell("",new mxGeometry(40,120,0,0),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;html\x3d1;shape\x3drect;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"rounded\x3d0;endArrow\x3dnone;endSize\x3d10;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");b.geometry.setTerminalPoint(new mxPoint(40,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var e=new mxCell("",new mxGeometry(0,0,0,0),"rounded\x3d0;edgeStyle\x3dorthogonalEdgeStyle;endArrow\x3dblock;endSize\x3d10;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");
e.geometry.setTerminalPoint(new mxPoint(0,160),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(0,0,0,0),"rounded\x3d0;edgeStyle\x3dorthogonalEdgeStyle;endArrow\x3dblock;endSize\x3d10;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");f.geometry.setTerminalPoint(new mxPoint(40,160),!1);f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);var k=new mxCell("",new mxGeometry(0,0,0,0),"rounded\x3d0;edgeStyle\x3dorthogonalEdgeStyle;endArrow\x3dblock;endSize\x3d10;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");
k.geometry.setTerminalPoint(new mxPoint(80,160),!1);k.geometry.relative=!0;k.edge=!0;a.insertEdge(k,!0);return c.createVertexTemplateFromCells([a,b,e,f,k],80,160,"Publish Subscribe Channel")}),this.createVertexTemplateEntry("strokeWidth\x3d2;strokeColor\x3d#000000;dashed\x3d0;align\x3dcenter;html\x3d1;fontSize\x3d8;shape\x3dmxgraph.eip.channel_adapter;fillColor\x3d#9ddbef;",45,90,"","Channel Adapter",null,null,this.getTagsForStencil("mxgraph.eip","channel_adapter","eip enterprise integration pattern messaging channel message ").join(" ")),
this.createVertexTemplateEntry("strokeWidth\x3d1;strokeColor\x3d#000000;dashed\x3d0;align\x3dcenter;html\x3d1;fontSize\x3d8;shape\x3dmxgraph.eip.messageChannel;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;",100,20,"","Message Channel",null,null,this.getTagsForStencil("mxgraph.eip","messageChannel","eip enterprise integration pattern messaging channel message ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d1;strokeColor\x3d#000000;dashed\x3d0;align\x3dcenter;html\x3d1;fontSize\x3d8;shape\x3dmxgraph.eip.dataChannel;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;",
100,20,"","Datatype Channel",null,null,this.getTagsForStencil("mxgraph.eip","dataChannel","eip enterprise integration pattern messaging channel message ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d1;strokeColor\x3d#000000;dashed\x3d0;align\x3dcenter;html\x3d1;fontSize\x3d8;shape\x3dmxgraph.eip.deadLetterChannel;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;",100,20,"","Dead Letter Channel",null,null,this.getTagsForStencil("mxgraph.eip","deadLetterChannel",
"eip enterprise integration pattern messaging channel message ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d1;strokeColor\x3d#000000;dashed\x3d0;align\x3dcenter;html\x3d1;fontSize\x3d8;shape\x3dmxgraph.eip.invalidMessageChannel;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;",100,20,"","Invalid Message Channel",null,null,this.getTagsForStencil("mxgraph.eip","invalidMessageChannel","eip enterprise integration pattern messaging channel message ").join(" ")),
this.createVertexTemplateEntry("strokeWidth\x3d2;strokeColor\x3d#000000;dashed\x3d0;align\x3dcenter;html\x3d1;fontSize\x3d8;shape\x3dmxgraph.eip.messaging_bridge;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;fillColor\x3d#c0f5a9;",150,90,"","Messaging Bridge",null,null,this.getTagsForStencil("mxgraph.eip","messaging_bridge","eip enterprise integration pattern messaging channel message ").join(" ")),this.addEntry("eip enterprise integration pattern messaging channel message message bus",function(){var a=
new mxCell("",new mxGeometry(0,60,120,20),"strokeWidth\x3d2;strokeColor\x3d#000000;dashed\x3d0;align\x3dcenter;html\x3d1;fontSize\x3d8;shape\x3dmxgraph.eip.messageChannel;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;strokeWidth\x3d2;rounded\x3d0;endArrow\x3dblock;startArrow\x3dblock;startSize\x3d10;endSize\x3d10;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;");b.geometry.setTerminalPoint(new mxPoint(60,140),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,
!1);var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;strokeWidth\x3d2;rounded\x3d0;endArrow\x3dblock;startArrow\x3dblock;startSize\x3d10;endSize\x3d10;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;");e.geometry.setTerminalPoint(new mxPoint(20,0),!0);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;strokeWidth\x3d2;rounded\x3d0;endArrow\x3dblock;startArrow\x3dblock;startSize\x3d10;endSize\x3d10;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;");
f.geometry.setTerminalPoint(new mxPoint(60,0),!0);f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!1);var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;strokeWidth\x3d2;rounded\x3d0;endArrow\x3dblock;startArrow\x3dblock;startSize\x3d10;endSize\x3d10;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;");k.geometry.setTerminalPoint(new mxPoint(100,0),!0);k.geometry.relative=!0;k.edge=!0;a.insertEdge(k,!1);return c.createVertexTemplateFromCells([a,b,e,f,k],120,140,"Message Bus")})];
this.addPalette("eipMessaging Channels","EIP / Messaging Channels",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addEipMessagingEndpointsPalette=function(a){this.addPaletteFunctions("eipMessaging Endpoints","EIP / Messaging Endpoints",!1,[this.createVertexTemplateEntry("fillColor\x3d#c0f5a9;dashed\x3d0;strokeWidth\x3d2;strokeColor\x3d#000000;html\x3d1;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.competing_consumers;",
150,90,"","Competing Consumers",null,null,this.getTagsForStencil("mxgraph.eip","competing_consumers","eip enterprise integration pattern messaging endpoint ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;strokeWidth\x3d2;strokeColor\x3d#000000;html\x3d1;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.durable_subscriber;fillColor\x3d#a0a0a0;",30,35,"","Durable Subscriber",null,null,this.getTagsForStencil("mxgraph.eip","durable_subscriber",
"eip enterprise integration pattern messaging endpoint ").join(" ")),this.createVertexTemplateEntry("fillColor\x3d#c0f5a9;dashed\x3d0;strokeWidth\x3d2;strokeColor\x3d#000000;html\x3d1;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.event_driven_consumer;",150,90,"","Event Driven Consumer",null,null,this.getTagsForStencil("mxgraph.eip","event_driven_consumer","eip enterprise integration pattern messaging endpoint ").join(" ")),this.createVertexTemplateEntry("fillColor\x3d#c0f5a9;dashed\x3d0;strokeWidth\x3d2;strokeColor\x3d#000000;html\x3d1;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.message_dispatcher;",
150,90,"","Message Dispatcher",null,null,this.getTagsForStencil("mxgraph.eip","message_dispatcher","eip enterprise integration pattern messaging endpoint ").join(" ")),this.createVertexTemplateEntry("fillColor\x3d#c0f5a9;dashed\x3d0;strokeWidth\x3d2;strokeColor\x3d#000000;html\x3d1;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.messaging_gateway;",150,90,"","Messaging Gateway",null,null,this.getTagsForStencil("mxgraph.eip","messaging_gateway",
"eip enterprise integration pattern messaging endpoint ").join(" ")),this.createVertexTemplateEntry("fillColor\x3d#c0f5a9;dashed\x3d0;strokeWidth\x3d2;strokeColor\x3d#000000;html\x3d1;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.polling_consumer;",150,90,"","Polling Consumer",null,null,this.getTagsForStencil("mxgraph.eip","polling_consumer","eip enterprise integration pattern messaging endpoint ").join(" ")),this.createVertexTemplateEntry("fillColor\x3d#c0f5a9;dashed\x3d0;strokeWidth\x3d2;strokeColor\x3d#000000;html\x3d1;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.selective_consumer;",
150,90,"","Selective Consumer",null,null,this.getTagsForStencil("mxgraph.eip","selective_consumer","eip enterprise integration pattern messaging endpoint ").join(" ")),this.createVertexTemplateEntry("fillColor\x3d#c0f5a9;dashed\x3d0;strokeWidth\x3d2;strokeColor\x3d#000000;html\x3d1;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.service_activator;",150,90,"","Service Activator",null,null,this.getTagsForStencil("mxgraph.eip","service_activator",
"eip enterprise integration pattern messaging endpoint ").join(" ")),this.createVertexTemplateEntry("fillColor\x3d#c0f5a9;dashed\x3d0;strokeWidth\x3d2;strokeColor\x3d#000000;html\x3d1;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.transactional_client;",150,90,"","Transactional Client",null,null,this.getTagsForStencil("mxgraph.eip","transactional_client","eip enterprise integration pattern messaging endpoint ").join(" "))])};Sidebar.prototype.addEipMessagingSystemsPalette=
function(a){var c=this,f=[this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dmxgraph.eip.content_based_router;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;",150,90,"","Message Router",null,null,this.getTagsForStencil("mxgraph.eip","content_based_router","eip enterprise integration pattern messaging system ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d1;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dmxgraph.eip.messageChannel;html\x3d1;verticalLabelPosition\x3dbottom;strokeColor\x3d#000000;verticalAlign\x3dtop;",
100,20,"","Message Channel",null,null,this.getTagsForStencil("mxgraph.eip","messageChannel","eip enterprise integration pattern messaging system ").join(" ")),this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var a=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;");a.vertex=!0;var b=new mxCell("",
new mxGeometry(85,25,40,40),"strokeWidth\x3d1;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#000000;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Message Endpoint")}),this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var a=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(25,25,40,40),"strokeWidth\x3d1;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#000000;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Message Endpoint")}),this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var a=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(25,25,40,40),"strokeWidth\x3d1;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#000000;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;");b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(250,0,150,90),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;");e.vertex=!0;var f=new mxCell("",new mxGeometry(85,25,40,40),"strokeWidth\x3d1;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#000000;");
f.vertex=!0;e.insert(f);var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;strokeWidth\x3d2;rounded\x3d0;endArrow\x3dblock;startArrow\x3dnone;startSize\x3d10;endSize\x3d10;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");k.geometry.relative=!0;k.edge=!0;b.insertEdge(k,!0);f.insertEdge(k,!1);return c.createVertexTemplateFromCells([a,e,k],400,90,"Message Endpoint")}),this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",
new mxGeometry(0,0,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#80FF6C;strokeColor\x3d#000000;fontStyle\x3d1;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");
e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(16,36,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#ff9900;strokeColor\x3d#000000;fontStyle\x3d1;");f.vertex=!0;var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");k.geometry.relative=!0;k.edge=!0;a.insertEdge(k,
!1);f.insertEdge(k,!0);return c.createVertexTemplateFromCells([e,k,a,b,f],28,48,"Message")}),this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#80FF6C;strokeColor\x3d#000000;fontStyle\x3d1;");
b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);return c.createVertexTemplateFromCells([e,a,b],28,30,"Message")}),this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3drect;fillColor\x3d#ff9900;strokeColor\x3d#000000;fontStyle\x3d1;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);return c.createVertexTemplateFromCells([e,
a,b],28,30,"Message")}),this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dmxgraph.eip.message_2;fillColor\x3d#00cc00;strokeColor\x3d#000000;fontStyle\x3d1;");b.vertex=!0;
var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(16,36,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dmxgraph.eip.message_1;fillColor\x3d#ff5500;strokeColor\x3d#000000;fontStyle\x3d1;");f.vertex=!0;var k=new mxCell("",
new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");k.geometry.relative=!0;k.edge=!0;a.insertEdge(k,!1);f.insertEdge(k,!0);return c.createVertexTemplateFromCells([e,k,a,b,f],28,48,"Message")}),this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dmxgraph.eip.message_1;fillColor\x3d#ff5500;strokeColor\x3d#000000;fontStyle\x3d1;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);return c.createVertexTemplateFromCells([e,
a,b],28,30,"Message")}),this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dellipse;fillColor\x3d#808080;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dmxgraph.eip.message_2;fillColor\x3d#00cc00;strokeColor\x3d#000000;fontStyle\x3d1;");b.vertex=!0;
var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dorthogonalEdgeStyle;rounded\x3d0;exitX\x3d0;exitY\x3d0.5;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeColor\x3d#808080;strokeWidth\x3d2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);return c.createVertexTemplateFromCells([e,a,b],28,30,"Message")}),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;shape\x3dmxgraph.eip.message_translator;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;",
150,90,"","Message-Translator",null,null,this.getTagsForStencil("mxgraph.eip","message_translator","eip enterprise integration pattern messaging system ").join(" "))];this.addPalette("eipMessaging Systems","EIP / Messaging Systems",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addEipSystemManagementPalette=function(a){this.addPaletteFunctions("eipSystem Management","EIP / System Management",!1,[this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.channel_purger;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;",
150,90,"","Channel Purger",null,null,this.getTagsForStencil("mxgraph.eip","channel_purger","eip enterprise integration pattern system management ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.control_bus;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;",60,40,"","Control Bus",null,null,this.getTagsForStencil("mxgraph.eip","control_bus","eip enterprise integration pattern system management ").join(" ")),
this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.detour;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;",150,90,"","Detour",null,null,this.getTagsForStencil("mxgraph.eip","detour","eip enterprise integration pattern system management ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.message_store;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;",
150,90,"","Message Store",null,null,this.getTagsForStencil("mxgraph.eip","message_store","eip enterprise integration pattern system management ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.smart_proxy;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;",70,90,"","Smart Proxy",null,null,this.getTagsForStencil("mxgraph.eip","smart_proxy","eip enterprise integration pattern system management ").join(" ")),
this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.test_message;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;",150,90,"","Test Message",null,null,this.getTagsForStencil("mxgraph.eip","test_message","eip enterprise integration pattern system management ").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;dashed\x3d0;align\x3dcenter;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.eip.wire_tap;fillColor\x3d#c0f5a9;strokeColor\x3d#000000;",
150,90,"","Wire Tap",null,null,this.getTagsForStencil("mxgraph.eip","wire_tap","eip enterprise integration pattern system management ").join(" "))])}})();
(function(){Sidebar.prototype.addElectricalPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;fillColor\x3d#ffffff;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE,c=a+"\x3dmxgraph.electrical.abstract.",f=a+"\x3dmxgraph.electrical.capacitors.",d="fillColor\x3d#000000;"+a+"\x3dmxgraph.electrical.diodes.",b=a+"\x3dmxgraph.electrical.inductors.",e=a+"\x3dmxgraph.electrical.miscellaneous.",
g=a+"\x3dmxgraph.electrical.electro-mechanical.",k=a+"\x3dmxgraph.electrical.logic_gates.",l=a+"\x3dmxgraph.electrical.mosfets1.",n=a+"\x3dmxgraph.electrical.transistors.",m=a+"\x3dmxgraph.electrical.opto_electronics.",p=a+"\x3dmxgraph.electrical.plc_ladder.",r=a+"\x3dmxgraph.electrical.radio.",s=a+"\x3dmxgraph.electrical.resistors.",q=a+"\x3dmxgraph.electrical.signal_sources.",u=a+"\x3dmxgraph.electrical.thermionic_devices.",t=a+"\x3dmxgraph.electrical.waveforms.",v="perimeter\x3dellipsePerimeter;"+
a+"\x3dmxgraph.electrical.instruments.",z=a+"\x3dmxgraph.electrical.iec_logic_gates.";this.addPaletteFunctions("eeLogicGates","Electrical / Logic Gates",!1,[this.createVertexTemplateEntry(k+"and;",100,60,"","AND",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","and","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"buffer;",100,60,"","Buffer",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","buffer","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+
"d_type_flip-flop;",100,80,"","D Type Flip-Flop",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","d_type_flip-flop","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"d_type_flip-flop_with_clear;",100,90,"","D Type Flip-Flop With Clear",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","d_type_flip-flop_with_clear","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"d_type_rs_flip-flop;",100,100,"","D Type RS Flip-Flop",null,
null,this.getTagsForStencil("mxgraph.electrical.logic_gates","d_type_rs_flip-flop","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"inverter;",100,60,"","Inverter",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","inverter","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"inverting_contact;",5,5,"","Inverting Contact",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","inverting_contact","electrical logic gate ").join(" ")),
this.createVertexTemplateEntry(k+"jk_flip-flop;",100,80,"","JK Flip-Flop",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","jk_flip-flop","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"jk_flip-flop_with_clear;",100,90,"","JK Flip-Flop With Clear",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","jk_flip-flop_with_clear","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"jk_flip-flop_with_sr;",100,100,"","JK Flip-Flop With SR",
null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","jk_flip-flop_with_sr","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"nand;",100,60,"","NAND",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","nand","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"nor;",100,60,"","NOR",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","nor","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"or;",100,
60,"","OR",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","or","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"rs_latch;",100,80,"","RS Latch",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","rs_latch","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"synchronous_rs_latch;",100,80,"","RS Latch (Synchronous)",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","synchronous_rs_latch","electrical logic gate ").join(" ")),
this.createVertexTemplateEntry(k+"schmitt_trigger;",100,60,"","Schmitt Trigger",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","schmitt_trigger","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"t_type_flip-flop;",100,80,"","T Type Flip-Flop",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","t_type_flip-flop","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"xnor;",100,60,"","XNOR",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates",
"xnor","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(k+"xor;",100,60,"","XOR",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","xor","electrical logic gate ").join(" ")),this.createVertexTemplateEntry(z+"and;",60,80,"","AND (IEC)",null,null,this.getTagsForStencil("mxgraph.electrical.iec_logic_gates","and","electrical iec logic gate ").join(" ")),this.createVertexTemplateEntry(z+"nand;",66,80,"","NAND (IEC)",null,null,this.getTagsForStencil("mxgraph.electrical.iec_logic_gates",
"nand","electrical iec logic gate ").join(" ")),this.createVertexTemplateEntry(z+"or;",60,80,"","OR (IEC)",null,null,this.getTagsForStencil("mxgraph.electrical.iec_logic_gates","or","electrical iec logic gate ").join(" ")),this.createVertexTemplateEntry(z+"nor;",66,80,"","NOR (IEC)",null,null,this.getTagsForStencil("mxgraph.electrical.iec_logic_gates","nor","electrical iec logic gate ").join(" ")),this.createVertexTemplateEntry(z+"not;",66,80,"","NOT (IEC)",null,null,this.getTagsForStencil("mxgraph.electrical.iec_logic_gates",
"xor","electrical iec logic gate ").join(" ")),this.createVertexTemplateEntry(z+"xor;",60,80,"","XOR (IEC)",null,null,this.getTagsForStencil("mxgraph.electrical.iec_logic_gates","xor","electrical iec logic gate ").join(" "))]);this.addPaletteFunctions("eeResistors","Electrical / Resistors",!1,[this.createVertexTemplateEntry(s+"resistor_1;",100,20,"","Resistor",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","resistor_1","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+
"resistor_2;",100,20,"","Resistor",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","resistor_2","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"potentiometer_1;",100,40,"","Potentiometer",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","potentiometer_1","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"potentiometer_2;",100,40,"","Potentiometer",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","potentiometer_2",
"electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"trimmer_pot_1;",100,40,"","Potentiometer (Trimmer)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","trimmer_pot_1","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"trimmer_pot_2;",100,40,"","Potentiometer (Trimmer)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","trimmer_pot_2","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"trimmer_resistor_1;",100,65.5,
"","Resistor (Trimmer)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","trimmer_resistor_1","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"trimmer_resistor_2;",100,65.5,"","Resistor (Trimmer)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","trimmer_resistor_2","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"variable_resistor_1;",100,60,"","Resistor (Variable)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors",
"variable_resistor_1","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"variable_resistor_2;",100,60,"","Resistor (Variable)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","variable_resistor_2","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"resistor_with_instrument_or_relay_shunt;",100,20,"","Resistor (Instrument/Relay Shunt)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","resistor_with_instrument_or_relay_shunt","electrical resistor ").join(" ")),
this.createVertexTemplateEntry(s+"resistor,_adjustable_contact;",100,40,"","Resistor (Adjustable Contact)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","resistor,_adjustable_contact","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"resistor,_shunt;",100,45,"","Resistor (Shunt)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","resistor,_shunt","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"symmetrical_varistor;",100,60,"",
"Varistor (Symmetrical)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","symmetrical_varistor","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"tapped_resistor;",100,40,"","Resistor (Tapped)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","tapped_resistor","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"nonlinear_resistor;",100,60,"","Resistor (Nonlinear)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","nonlinear_resistor",
"electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"memristor_1;",100,20,"","Memristor",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","memristor_1","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"memristor_2;",100,24,"","Memristor",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","memristor_2","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"magnetoresistor;",100,60,"","Magnetoresistor",null,null,this.getTagsForStencil("mxgraph.electrical.resistors",
"magnetoresistor","electrical resistor ").join(" ")),this.createVertexTemplateEntry(s+"symmetrical_photoconductive_transducer;",100,40,"","Photoconductive Transducer (Symmetrical)",null,null,this.getTagsForStencil("mxgraph.electrical.resistors","symmetrical_photoconductive_transducer","electrical resistor ").join(" "))]);this.addPaletteFunctions("eeCapacitors","Electrical / Capacitors",!1,[this.createVertexTemplateEntry(f+"capacitor_1;",100,60,"","Capacitor (US)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors",
"capacitor_1","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"capacitor_2;",100,60,"","Capacitor (US)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","capacitor_2","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"capacitor_3;",100,60,"","Electrolytic Capacitor (US)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","capacitor_3","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"capacitor_4;",100,60,"",
"Capacitor (UK)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","capacitor_4","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"capacitor_5;",100,60,"","Electrolytic Capacitor (US)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","capacitor_5","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"capacitor_6;",100,60,"","Capacitor",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","capacitor_6","electrical capacitor ").join(" ")),
this.createVertexTemplateEntry(f+"differential_capacitor;",100,80,"","Differential Capacitor",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","differential_capacitor","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"trimmer_capacitor_1;",100,65.5,"","Tuning Variable Capacitor (US)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","trimmer_capacitor_1","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"trimmer_capacitor_2;",100,
65.5,"","Tuning Variable Capacitor (US)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","trimmer_capacitor_2","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"variable_capacitor_1;",100,60,"","Trimmer Variable Capacitor (US)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","variable_capacitor_1","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"variable_capacitor_2;",100,60,"","Trimmer Variable Capacitor (US)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors",
"variable_capacitor_2","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"feed_through_capacitor;",100,90,"","Feed Through Capacitor",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","feed_through_capacitor","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"ganged_capacitor;",100,130,"","Ganged Capacitor",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","ganged_capacitor","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+
"multiple_capacitor;",100,130,"","Multiple Capacitor",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","multiple_capacitor","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"multiple_electrolytic_capacitor_comm_neg;",100,130,"","Multiple Electrolytic Capacitor (Common Negative)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","multiple_electrolytic_capacitor_comm_neg","electrical capacitor ").join(" ")),this.createVertexTemplateEntry(f+"multiple_electrolytic_capacitor_comm_pos;",
100,130,"","Multiple Electrolytic Capacitor (Common Positive)",null,null,this.getTagsForStencil("mxgraph.electrical.capacitors","multiple_electrolytic_capacitor_comm_pos","electrical capacitor ").join(" "))]);this.addPaletteFunctions("eeInductors","Electrical / Inductors",!1,[this.createVertexTemplateEntry(b+"inductor_3;",100,8,"","Inductor (Air Core)",null,null,this.getTagsForStencil("mxgraph.electrical.inductors","inductor_3","electrical inductor ").join(" ")),this.createVertexTemplateEntry(b+"inductor_5;",
100,14,"","Inductor (Air Core)",null,null,this.getTagsForStencil("mxgraph.electrical.inductors","inductor_5","electrical inductor ").join(" ")),this.createVertexTemplateEntry(b+"inductor_1;",100,15,"","Inductor (Air Core)",null,null,this.getTagsForStencil("mxgraph.electrical.inductors","inductor_1","electrical inductor ").join(" ")),this.createVertexTemplateEntry(b+"variable_inductor;",100,60,"","Variable",null,null,this.getTagsForStencil("mxgraph.electrical.inductors","variable_inductor","electrical inductor ").join(" ")),
this.createVertexTemplateEntry(b+"ferrite_core;",64,4,"","Ferrite Core",null,null,this.getTagsForStencil("mxgraph.electrical.inductors","ferrite_core","electrical inductor ").join(" ")),this.createVertexTemplateEntry(b+"iron_core;",64,4,"","Iron Core",null,null,this.getTagsForStencil("mxgraph.electrical.inductors","iron_core","electrical inductor ").join(" ")),this.createVertexTemplateEntry(b+"transformer_1;",64,60,"","Transformer (Iron Core)",null,null,this.getTagsForStencil("mxgraph.electrical.inductors",
"transformer_1","electrical inductor ").join(" ")),this.createVertexTemplateEntry(b+"transformer_2;",64,60,"","Transformer (Iron Core)",null,null,this.getTagsForStencil("mxgraph.electrical.inductors","transformer_2","electrical inductor ").join(" "))]);this.addPaletteFunctions("eeSwitchesRelays","Electrical / Switches and Relays",!1,[this.createVertexTemplateEntry(g+"2-way_switch;",75,26,"","SPDT",null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","2-way_switch","electrical switch relay ").join(" ")),
this.createVertexTemplateEntry(g+"push_switch_nc;",75,10,"","Pushbutton NC",null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","push_switch_nc","electrical switch relay ").join(" ")),this.createVertexTemplateEntry(g+"push_switch_no;",75,19,"","Pushbutton NO",null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","push_switch_no","electrical switch relay ").join(" ")),this.createVertexTemplateEntry(g+"reed_switch;",75,20,"","Reed Switch",null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical",
"reed_switch","electrical switch relay ").join(" ")),this.createVertexTemplateEntry(g+"relay_coil;",70,35,"","Relay Coil",null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","relay_coil","electrical switch relay ").join(" ")),this.createVertexTemplateEntry(g+"resonator;",100,50,"","Resonator",null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","resonator","electrical switch relay ").join(" ")),this.createVertexTemplateEntry(g+"simple_switch;",75,32,"","SPST",
null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","simple_switch","electrical switch relay ").join(" "))]);this.addPaletteFunctions("eeDiodes","Electrical / Diodes",!1,[this.createVertexTemplateEntry(d+"diode;",100,60,"","PN Diode",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","diode","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+"gunn_diode;",100,60,"","Gunn Diode",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","gunn_diode","electrical diode ").join(" ")),
this.createVertexTemplateEntry(d+"schottky_diode;",100,60,"","Schottky Diode",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","schottky_diode","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+"zener_diode_2;",100,60,"","Breakdown",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","zener_diode_2","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+"tunnel_diode;",100,60,"","Tunnel Diode 1",null,null,this.getTagsForStencil("mxgraph.electrical.diodes",
"tunnel_diode","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+"tunnel_diode_2;",100,80,"","Tunnel Diode 2",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","tunnel_diode_2","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+"field_effect_diode;",100,60,"","Field Effect Diode",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","field_effect_diode","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+"varactor_-_varicap;",100,60,"","Varactor - Varicap",
null,null,this.getTagsForStencil("mxgraph.electrical.diodes","varactor_-_varicap","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+"zener_diode_1;",100,60,"","Zener Diode 1",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","zener_diode_1","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+"zener_diode_3;",100,60,"","Zener Diode 2",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","zener_diode_3","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+
"four_layer_diode;",100,80,"","Four Layer Diode",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","four_layer_diode","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+"transorb_1;",100,60,"","Transorb 1",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","transorb_1","electrical diode ").join(" ")),this.createVertexTemplateEntry(d+"transorb_2;",100,60,"","Transorb 2",null,null,this.getTagsForStencil("mxgraph.electrical.diodes","transorb_2","electrical diode ").join(" "))]);
this.addPaletteFunctions("eeSources","Electrical / Sources",!1,[this.createVertexTemplateEntry(q+"ac_source;",60,60,"","AC",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","ac_source","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+"current_source;",40,60,"","Current",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","current_source","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+"dc_source_1;",70,75,"","DC",
null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","dc_source_1","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+"dc_source_2;",60,60,"","DC",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","dc_source_2","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+"dc_source_3;",60,60,"","DC",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","dc_source_3","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+
"dependent_source_1;",60,60,"","Dependent",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","dependent_source_1","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+"dependent_source_2;",60,60,"","Dependent",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","dependent_source_2","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+"dependent_source_3;",60,60,"","Dependent",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources",
"dependent_source_3","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+"noise_source;",60,60,"","Noise",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","noise_source","electrical signal source ").join(" "))]);this.addPaletteFunctions("eeTransistors","Electrical / Transistors",!1,[this.createVertexTemplateEntry(n+"npn_transistor_1;",95,100,"","BJT (NPN)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","npn_transistor_1","electrical transistor ").join(" ")),
this.createVertexTemplateEntry(n+"pnp_transistor_1;",95,100,"","BJT (PNP)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","pnp_transistor_1","electrical transistor ").join(" ")),this.createVertexTemplateEntry(n+"n-channel_jfet_1;",95,100,"","JFET (NPN)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","n-channel_jfet_1","electrical transistor ").join(" ")),this.createVertexTemplateEntry(n+"p-channel_jfet_1;",95,100,"","JFET (PNP)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors",
"p-channel_jfet_1","electrical transistor ").join(" ")),this.createVertexTemplateEntry(l+"n-channel_mosfet_1;",95,100,"","MOSFET (N)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","n-channel_mosfet_1","electrical transistor ").join(" ")),this.createVertexTemplateEntry(l+"p-channel_mosfet_1;",95,100,"","MOSFET (P)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","p-channel_mosfet_1","electrical transistor ").join(" ")),this.createVertexTemplateEntry(l+"mosfet_ic_n;",
95,100,"","MOSFET Inductive Channel (N)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","mosfet_ic_n","electrical transistor ").join(" ")),this.createVertexTemplateEntry(l+"mosfet_ic_p;",95,100,"","MOSFET Inductive Channel (P)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","mosfet_ic_p","electrical transistor ").join(" ")),this.createVertexTemplateEntry(l+"mosfet_n_no_bulk;",95,100,"","MOSFET No Bulk (N)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors",
"mosfet_n_no_bulk","electrical transistor ").join(" ")),this.createVertexTemplateEntry(l+"mosfet_p_no_bulk;",95,100,"","MOSFET No Bulk (P)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","mosfet_p_no_bulk","electrical transistor ").join(" ")),this.createVertexTemplateEntry(l+"p-channel_mosfet_1;",95,100,"","MOSFET (P)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","p-channel_mosfet_1","electrical transistor ").join(" ")),this.createVertexTemplateEntry(l+"dual_gate_mosfet_n;",
95,100,"","Dual Gate MOSFET (N)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","dual_gate_mosfet_n","electrical transistor ").join(" ")),this.createVertexTemplateEntry(l+"dual_gate_mosfet_p;",95,100,"","Dual Gate MOSFET (P)",null,null,this.getTagsForStencil("mxgraph.electrical.transistors","dual_gate_mosfet_p","electrical transistor ").join(" "))]);this.addPaletteFunctions("eeInstruments","Electrical / Instruments",!1,[this.createVertexTemplateEntry(v+"ampermeter;",90,90,"","Ampermeter",
null,null,this.getTagsForStencil("mxgraph.electrical.instruments","ampermeter","electrical instrument ").join(" ")),this.createVertexTemplateEntry(v+"galvanometer;",90,90,"","Galvanometer",null,null,this.getTagsForStencil("mxgraph.electrical.instruments","galvanometer","electrical instrument ").join(" ")),this.createVertexTemplateEntry(v+"oscilloscope;",90,90,"","Oscilloscope",null,null,this.getTagsForStencil("mxgraph.electrical.instruments","oscilloscope","electrical instrument ").join(" ")),this.createVertexTemplateEntry(v+
"signal_generator;",90,90,"","Signal Generator",null,null,this.getTagsForStencil("mxgraph.electrical.instruments","signal_generator","electrical instrument ").join(" ")),this.createVertexTemplateEntry(v+"voltmeter;",90,90,"","Voltmeter",null,null,this.getTagsForStencil("mxgraph.electrical.instruments","voltmeter","electrical instrument ").join(" "))]);this.addPaletteFunctions("eeMisc","Electrical / Misc",!1,[this.createVertexTemplateEntry(r+"aerial_-_antenna_1;",80,100,"","Antenna",null,null,this.getTagsForStencil("mxgraph.electrical.radio",
"aerial_-_antenna_1","electrical radio audio ").join(" ")),this.createVertexTemplateEntry(r+"aerial_-_antenna_2;",79,100,"","Antenna",null,null,this.getTagsForStencil("mxgraph.electrical.radio","aerial_-_antenna_2","electrical radio audio ").join(" ")),this.createVertexTemplateEntry(r+"loop_antenna;",64.8,69.78,"","Loop Antenna",null,null,this.getTagsForStencil("mxgraph.electrical.radio","loop_antenna","electrical radio audio ").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE+"\x3dmxgraph.electrical.electro-mechanical.motor_1;html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;align\x3dcenter;fontSize\x3d30;strokeColor\x3d#000000;strokeWidth\x3d1;",
100,60,"M","Electrical Motor",null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","motor_1","electrical switch relay ").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE+"\x3dmxgraph.electrical.electro-mechanical.motor_2;html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;align\x3dcenter;fontSize\x3d30;strokeColor\x3d#000000;strokeWidth\x3d1;",100,60,"","Motor Armature",null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","motor_2","electrical switch relay ").join(" ")),
this.createVertexTemplateEntry(e+"co-ax;",40,60,"","Co-Ax",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous","co-ax","electrical ").join(" ")),this.createVertexTemplateEntry(e+"crystal_1;",100,40,"","Crystal",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous","crystal_1","electrical ").join(" ")),this.createVertexTemplateEntry(e+"fuse_1;",100,20,"","Fuse (IEC)",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous","fuse_1","electrical ").join(" ")),
this.createVertexTemplateEntry(e+"fuse_2;",100,20,"","Fuse (IEEE)",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous","fuse_2","electrical ").join(" ")),this.createVertexTemplateEntry(e+"fuse_3;",100,12,"","Fuse (obsolete)",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous","fuse_3","electrical ").join(" ")),this.createVertexTemplateEntry(e+"fuse_4;",100,32,"","Fuse (IEEE)",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous","fuse_4","electrical ").join(" ")),
this.createVertexTemplateEntry(e+"light_bulb;",60,50,"","Light Bulb",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous","light_bulb","electrical ").join(" ")),this.createVertexTemplateEntry(e+"illuminating_bulb;",60,50,"","Illuminating Bulb",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous","illuminating_bulb","electrical ").join(" ")),this.createVertexTemplateEntry(e+"light_bulb;",60,50,"","Pilot Light",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous",
"light_bulb","electrical ").join(" ")),this.createVertexTemplateEntry(e+"neon_lamp_2;",60,50,"","Neon Lamp",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous","neon_lamp_2","electrical ").join(" ")),this.createVertexTemplateEntry(e+"thermocouple;",80,81,"","Thermocouple",null,null,this.getTagsForStencil("mxgraph.electrical.miscellaneous","thermocouple","electrical ").join(" ")),this.createVertexTemplateEntry(c+"amplifier;",90,100,"","Amplifier",null,null,this.getTagsForStencil("mxgraph.electrical.abstract",
"amplifier","electrical ").join(" ")),this.createVertexTemplateEntry(c+"controlled_amplifier;",100,90,"","Controlled Amplifier",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","controlled_amplifier","electrical ").join(" ")),this.createVertexTemplateEntry(c+"dac;",70,46,"","DAC",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","dac","electrical ").join(" ")),this.createVertexTemplateEntry(c+"mux;",60,90,"","Mux",null,null,this.getTagsForStencil("mxgraph.electrical.abstract",
"mux","electrical ").join(" ")),this.createVertexTemplateEntry(c+"demux;",60,90,"","Demux",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","demux","electrical ").join(" ")),this.createVertexTemplateEntry(c+"mux-demux;",60,90,"","Mux-Demux",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","mux-demux","electrical ").join(" ")),this.createVertexTemplateEntry(c+"operational_amp_1;",98,90,"","Operational Amp",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","operational_amp_1",
"electrical ").join(" ")),this.createVertexTemplateEntry(c+"operational_amp_2;",98,90,"","Operational Amp",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","operational_amp_2","electrical ").join(" ")),this.createVertexTemplateEntry(c+"ota_1;",100,90,"","OTA",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","ota_1","electrical ").join(" ")),this.createVertexTemplateEntry(c+"ota_2;",100,90,"","OTA",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","ota_2","electrical ").join(" ")),
this.createVertexTemplateEntry(c+"ota_3;",100,90,"","OTA",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","ota_3","electrical ").join(" ")),this.createVertexTemplateEntry(c+"quantizer;",52,46,"","Quantizer",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","quantizer","electrical ").join(" ")),this.createVertexTemplateEntry(c+"delta;",50,50,"","Delta",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","delta","electrical ").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE+
"\x3dmxgraph.electrical.abstract.function;html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;align\x3dcenter;strokeColor\x3d#000000;strokeWidth\x3d1;fontSize\x3d24",50,50,"fn","Function",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","function","electrical ").join(" ")),this.createVertexTemplateEntry(c+"integrator;",50,50,"","Integrator",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","integrator","electrical ").join(" ")),this.createVertexTemplateEntry(c+"multiplier;",
50,50,"","Multiplier",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","multiplier","electrical ").join(" ")),this.createVertexTemplateEntry(c+"sum;",50,50,"","Sum",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","sum","electrical ").join(" ")),this.createVertexTemplateEntry(c+"summation_point;",50,50,"","Summation Point",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","summation_point","electrical ").join(" ")),this.createVertexTemplateEntry(c+"filter;",
52,46,"","Filter",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","filter","electrical ").join(" ")),this.createVertexTemplateEntry(a+"\x3dmxgraph.electrical.logic_gates.bandpass_filter;",52,46,"","Bandpass Filter",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","bandpass_filter","").join(" ")),this.createVertexTemplateEntry(a+"\x3dmxgraph.electrical.logic_gates.highpass_filter;",52,46,"","Highpass Filter",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates",
"highpass_filter","").join(" ")),this.createVertexTemplateEntry(a+"\x3dmxgraph.electrical.logic_gates.lowpass_filter;",52,46,"","Lowpass Filter",null,null,this.getTagsForStencil("mxgraph.electrical.logic_gates","lowpass_filter","").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE+"\x3dmxgraph.electrical.abstract.thermistor_with_independent_integral_heater;html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3d#000000;strokeWidth\x3d1;align\x3dcenter;overflow\x3dfill;",
100,94.25,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr height\x3d"45%"\x3e\x3ctd align\x3d"center"\x3e\\temp\\\x3c/td\x3e\x3c/tr\x3e\x3ctr height\x3d"55%"\x3e\x3ctd\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Thermistor With Independent Integral Heater",null,null,this.getTagsForStencil("mxgraph.electrical.abstract","thermistor_with_independent_integral_heater","electrical ").join(" ")),this.createVertexTemplateEntry(c+"voltage_regulator;",70,58,"","Voltage Regulator",
null,null,this.getTagsForStencil("mxgraph.electrical.abstract","voltage_regulator","electrical ").join(" ")),this.createVertexTemplateEntry(q+"vdd;fontSize\x3d24;",60,40,"V\x3csub\x3edd\x3c/sub\x3e","Vdd",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","vdd","electrical signal source ").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dtop;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dbottom;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.electrical.signal_sources.vss2;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;align\x3dcenter;strokeColor\x3d#000000;strokeWidth\x3d1;fontSize\x3d24;html\x3d1;",
60,40,"V\x3csub\x3ess\x3c/sub\x3e","Vss",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","vss2","electrical signal source ").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dtop;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dbottom;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.electrical.signal_sources.current_flow;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;align\x3dcenter;strokeColor\x3d#000000;strokeWidth\x3d1;fontSize\x3d10;html\x3d1;",70,10,"5 mA",
"Current Flow",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","current_flow","electrical signal source ").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_LABEL_POSITION+"\x3dright;"+mxConstants.STYLE_ALIGN+"\x3dleft;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.electrical.signal_sources.voltage;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3d#000000;strokeWidth\x3d1;fontSize\x3d10;html\x3d1;",10,70,"1.2 V","Voltage",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources",
"voltage","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+"equipotential;",90,90,"","Equipotential",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","equipotential","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+"protective_earth;",50,40,"","Protective Earth",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","protective_earth","electrical signal source ").join(" ")),this.createVertexTemplateEntry(q+"signal_ground;",
90,60,"","Signal Ground",null,null,this.getTagsForStencil("mxgraph.electrical.signal_sources","signal_ground","electrical signal source ").join(" "))]);this.addPaletteFunctions("eeAudio","Electrical / Audio",!1,[this.createVertexTemplateEntry(r+"dipole;",100,40,"","Dipole",null,null,this.getTagsForStencil("mxgraph.electrical.radio","dipole","electrical radio audio ").join(" ")),this.createVertexTemplateEntry(r+"electret_microphone;",70,70,"","Electret Microphone",null,null,this.getTagsForStencil("mxgraph.electrical.radio",
"electret_microphone","electrical radio audio ").join(" ")),this.createVertexTemplateEntry(r+"microphone_1;",70,70,"","Microphone",null,null,this.getTagsForStencil("mxgraph.electrical.radio","microphone_1","electrical radio audio ").join(" ")),this.createVertexTemplateEntry(r+"microphone_2;",42,70,"","Microphone",null,null,this.getTagsForStencil("mxgraph.electrical.radio","microphone_2","electrical radio audio ").join(" ")),this.createVertexTemplateEntry(g+"piezo_sounder;",100,40,"","Piezo Sounder",
null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","piezo_sounder","electrical switch relay ").join(" ")),this.createVertexTemplateEntry(g+"buzzer;",45,60,"","Buzzer",null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","buzzer","electrical switch relay ").join(" ")),this.createVertexTemplateEntry(g+"loudspeaker;",25,50,"","Loudspeaker",null,null,this.getTagsForStencil("mxgraph.electrical.electro-mechanical","loudspeaker","electrical switch relay ").join(" ")),
this.createVertexTemplateEntry(r+"headphones;",66,56,"","Headphones",null,null,this.getTagsForStencil("mxgraph.electrical.radio","headphones","electrical radio audio ").join(" "))]);this.addPaletteFunctions("eePlcLadder","Electrical / PLC Ladder",!1,[this.createVertexTemplateEntry(p+"contact;",50,25,"","Contact",null,null,this.getTagsForStencil("mxgraph.electrical.plc_ladder","contact","electrical plc ladder programmable logic logical controller").join(" ")),this.createVertexTemplateEntry(p+"not_contact;",
50,25,"","Contact (N)",null,null,this.getTagsForStencil("mxgraph.electrical.plc_ladder","not_contact","electrical plc ladder programmable logic logical controller").join(" ")),this.createVertexTemplateEntry(p+"not_output_1;",50,25,"","Output (N)",null,null,this.getTagsForStencil("mxgraph.electrical.plc_ladder","not_output_1;","electrical plc ladder programmable logic logical controller").join(" ")),this.createVertexTemplateEntry(p+"not_output_2;",50,25,"","Output (N)",null,null,this.getTagsForStencil("mxgraph.electrical.plc_ladder",
"not_output_2","electrical plc ladder programmable logic logical controller").join(" ")),this.createVertexTemplateEntry(p+"output_1;",50,25,"","Output",null,null,this.getTagsForStencil("mxgraph.electrical.plc_ladder","output_1","electrical plc ladder programmable logic logical controller").join(" ")),this.createVertexTemplateEntry(p+"output_2;",50,25,"","Output",null,null,this.getTagsForStencil("mxgraph.electrical.plc_ladder","output_2","electrical plc ladder programmable logic logical controller").join(" "))]);
this.addPaletteFunctions("eeOptical","Electrical / Optical",!1,[this.createVertexTemplateEntry(m+"7_segment_display;",74.7,96.1,"","7 Segment Display",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","7_segment_display","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"7_segment_display_with_dp;",79.8,96.9,"","7 Segment Display with DP",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","7_segment_display_with_dp","electrical optical ").join(" ")),
this.createVertexTemplateEntry(m+"9_segment_display;",74.7,96.1,"","9 Segment Display",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","9_segment_display","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"9_segment_display_with_dp;",79.8,96.9,"","9 Segment Display with DP",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","9_segment_display_with_dp","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"led_1;",100,65,"","LED",
null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","led_1","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"led_2;",100,70,"","LED",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","led_2","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"light-activated_scr;",100,70,"","Light Activated SCR",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","light-activated_scr","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+
"opto-coupler;",99,60,"","Opto-coupler",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","opto-coupler","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"opto-transistor;",100,110,"","Opto-transistor",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","opto-transistor","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"photodiode;",100,70,"","Photodiode",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics",
"photodiode","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"photo_resistor_1;",100,90,"","Photo Resistor",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","photo_resistor_1","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"photo_resistor_2;",100,50,"","Photo Resistor",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","photo_resistor_2","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"photo_resistor_3;",
100,90,"","Photo Resistor",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","photo_resistor_3","electrical optical ").join(" ")),this.createVertexTemplateEntry(m+"solar_cell;",100,70,"","Solar Cell",null,null,this.getTagsForStencil("mxgraph.electrical.opto_electronics","solar_cell","electrical optical ").join(" "))]);this.addPaletteFunctions("eeVacuumTubes","Electrical / Vacuum Tubes",!1,[this.createVertexTemplateEntry(u+"diode;",70,77,"","Diode",null,null,this.getTagsForStencil("mxgraph.electrical.thermionic_devices",
"diode","electrical thermionic thermo device vacuum tube ").join(" ")),this.createVertexTemplateEntry(u+"double_diode;",70,77,"","Double Diode",null,null,this.getTagsForStencil("mxgraph.electrical.thermionic_devices","double_diode","electrical thermionic thermo device vacuum tube ").join(" ")),this.createVertexTemplateEntry(u+"triode;",70,77,"","Triode",null,null,this.getTagsForStencil("mxgraph.electrical.thermionic_devices","triode","electrical thermionic thermo device vacuum tube ").join(" ")),
this.createVertexTemplateEntry(u+"double_triode;",70,77,"","Double Triode",null,null,this.getTagsForStencil("mxgraph.electrical.thermionic_devices","double_triode","electrical thermionic thermo device vacuum tube ").join(" ")),this.createVertexTemplateEntry(u+"tetrode;",70,77,"","Tetrode",null,null,this.getTagsForStencil("mxgraph.electrical.thermionic_devices","tetrode","electrical thermionic thermo device vacuum tube ").join(" ")),this.createVertexTemplateEntry(u+"pentode;",70,77,"","Pentode",null,
null,this.getTagsForStencil("mxgraph.electrical.thermionic_devices","pentode","electrical thermionic thermo device vacuum tube ").join(" ")),this.createVertexTemplateEntry(u+"photocell;",70,87,"","Photocell",null,null,this.getTagsForStencil("mxgraph.electrical.thermionic_devices","photocell","electrical thermionic thermo device vacuum tube ").join(" "))]);this.addPaletteFunctions("eeWaveforms","Electrical / Waveforms",!1,[this.createVertexTemplateEntry(t+"pulse_1;",90,90,"","Pulse",null,null,this.getTagsForStencil("mxgraph.electrical.waveforms",
"pulse_1","electrical waveform signal ").join(" ")),this.createVertexTemplateEntry(t+"pulse_2;",90,90,"","Pulse",null,null,this.getTagsForStencil("mxgraph.electrical.waveforms","pulse_2","electrical waveform signal ").join(" ")),this.createVertexTemplateEntry(t+"sawtooth;",90,40,"","Sawtooth",null,null,this.getTagsForStencil("mxgraph.electrical.waveforms","sawtooth","electrical waveform signal ").join(" ")),this.createVertexTemplateEntry(t+"sine_wave;",90,66.18,"","Sine Wave",null,null,this.getTagsForStencil("mxgraph.electrical.waveforms",
"sine_wave","electrical waveform signal ").join(" ")),this.createVertexTemplateEntry(t+"slow_square_wave;",90,80,"","Chopped Square Wave",null,null,this.getTagsForStencil("mxgraph.electrical.waveforms","slow_square_wave","electrical waveform signal ").join(" ")),this.createVertexTemplateEntry(t+"square_wave;",90,80,"","square_wave",null,null,this.getTagsForStencil("mxgraph.electrical.waveforms","square_wave","electrical waveform signal ").join(" ")),this.createVertexTemplateEntry(t+"step_1;",90,90,
"","Step",null,null,this.getTagsForStencil("mxgraph.electrical.waveforms","step_1","electrical waveform signal ").join(" ")),this.createVertexTemplateEntry(t+"step_2;",90,90,"","Step",null,null,this.getTagsForStencil("mxgraph.electrical.waveforms","step_2","electrical waveform signal ").join(" "))])}})();
(function(){Sidebar.prototype.addErPalette=function(){var a=this,c=new mxCell("Row",new mxGeometry(0,0,40,26),"text;html\x3d1;strokeColor\x3dnone;fillColor\x3dnone;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;");c.vertex=!0;var f=[this.addEntry("er entity relation table",function(){var d=new mxCell("Table",new mxGeometry(0,0,160,110),"swimlane;html\x3d1;fontStyle\x3d0;childLayout\x3dstackLayout;horizontal\x3d1;startSize\x3d26;fillColor\x3d#e0e0e0;horizontalStack\x3d0;resizeParent\x3d1;resizeLast\x3d0;collapsible\x3d1;marginBottom\x3d0;swimlaneFillColor\x3d#ffffff;align\x3dcenter;");
d.vertex=!0;d.insert(a.cloneCell(c,"Row 1"));d.insert(a.cloneCell(c,"Row 2"));d.insert(a.cloneCell(c,"Row 3"));return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Table")}),this.addEntry("er entity relation table section subsection",function(){var d=new mxCell("Section",new mxGeometry(0,0,140,110),"swimlane;html\x3d1;fontStyle\x3d0;childLayout\x3dstackLayout;horizontal\x3d1;startSize\x3d22;fillColor\x3dnone;horizontalStack\x3d0;resizeParent\x3d1;resizeLast\x3d0;collapsible\x3d1;marginBottom\x3d0;swimlaneFillColor\x3d#ffffff;align\x3dcenter;");
d.vertex=!0;d.insert(a.cloneCell(c,"Row 1"));d.insert(a.cloneCell(c,"Row 2"));d.insert(a.cloneCell(c,"Row 3"));return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Section")}),this.addEntry("er entity relation table section subsection",function(){var d=new mxCell("Table",new mxGeometry(0,0,160,144),"swimlane;html\x3d1;fontStyle\x3d0;childLayout\x3dstackLayout;horizontal\x3d1;startSize\x3d26;fillColor\x3d#e0e0e0;horizontalStack\x3d0;resizeParent\x3d1;resizeLast\x3d0;collapsible\x3d1;marginBottom\x3d0;swimlaneFillColor\x3d#ffffff;align\x3dcenter;");
d.vertex=!0;var b=new mxCell("uniqueId",new mxGeometry(0,0,90,30),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d1;html\x3d1;align\x3dleft;verticalAlign\x3dmiddle;fillColor\x3dnone;spacingLeft\x3d34;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;fontStyle\x3d5;");b.vertex=!0;var e=a.cloneCell(c,"PK");e.connectable=!1;e.style="shape\x3dpartialRectangle;top\x3d0;left\x3d0;bottom\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";
e.geometry.width=30;e.geometry.height=30;b.insert(e);d.insert(b);b=new mxCell("row 1",new mxGeometry(0,0,90,26),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;fillColor\x3dnone;spacingLeft\x3d34;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;");b.vertex=!0;e=a.cloneCell(c,"");e.connectable=!1;e.style="shape\x3dpartialRectangle;top\x3d0;left\x3d0;bottom\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";
e.geometry.width=30;b.insert(e);d.insert(b);b=a.graph.cloneCells([b])[0];b.value="row 2";d.insert(b);b=a.graph.cloneCells([b])[0];b.value="row 3";d.insert(b);b=a.graph.cloneCells([b])[0];b.value="";b.children[0].geometry.height=10;b.geometry.height=10;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"ER Table 1")}),this.addEntry("er entity relation table section subsection",function(){var d=new mxCell("Table",new mxGeometry(0,0,160,112),"swimlane;html\x3d1;fontStyle\x3d0;childLayout\x3dstackLayout;horizontal\x3d1;startSize\x3d26;fillColor\x3d#e0e0e0;horizontalStack\x3d0;resizeParent\x3d1;resizeLast\x3d0;collapsible\x3d1;marginBottom\x3d0;swimlaneFillColor\x3d#ffffff;align\x3dcenter;");
d.vertex=!0;var b=new mxCell("row 1",new mxGeometry(0,0,90,30),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dmiddle;fillColor\x3dnone;spacingLeft\x3d60;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;fontStyle\x3d5;");b.vertex=!0;var e=a.cloneCell(c,"PK,FK1");e.connectable=!1;e.style="shape\x3dpartialRectangle;fontStyle\x3d1;top\x3d0;left\x3d0;bottom\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";
e.geometry.width=56;e.geometry.height=30;b.insert(e);d.insert(b);b=new mxCell("row 2",new mxGeometry(0,0,90,30),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d1;html\x3d1;align\x3dleft;verticalAlign\x3dmiddle;fillColor\x3dnone;spacingLeft\x3d60;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;fontStyle\x3d5;");b.vertex=!0;e=a.cloneCell(c,"PK,FK2");e.connectable=!1;e.style="shape\x3dpartialRectangle;fontStyle\x3d1;top\x3d0;left\x3d0;bottom\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";
e.geometry.width=56;e.geometry.height=30;b.insert(e);d.insert(b);b=new mxCell("row 1",new mxGeometry(0,0,90,26),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;fillColor\x3dnone;spacingLeft\x3d60;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;");b.vertex=!0;e=a.cloneCell(c,"");e.connectable=!1;e.style="shape\x3dpartialRectangle;top\x3d0;left\x3d0;bottom\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";
e.geometry.width=56;b.insert(e);d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"ER Table 2")}),this.addEntry("er entity relation table row",function(){return a.createVertexTemplateFromCells([c.clone()],c.geometry.width,c.geometry.height,"Row 1")}),this.addEntry("er entity relation table row",function(){var d=new mxCell("uniqueId",new mxGeometry(0,0,90,26),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;fillColor\x3dnone;spacingLeft\x3d34;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;");
d.vertex=!0;var b=a.cloneCell(c,"PK");b.connectable=!1;b.style="shape\x3dpartialRectangle;top\x3d0;left\x3d0;bottom\x3d0;right\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";b.geometry.width=30;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Row 2")}),this.addEntry("er entity relation table row",
function(){var d=new mxCell("uniqueId",new mxGeometry(0,0,90,26),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d1;html\x3d1;align\x3dleft;verticalAlign\x3dtop;fillColor\x3dnone;spacingLeft\x3d34;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;");d.vertex=!0;var b=a.cloneCell(c,"PK");b.connectable=!1;b.style="shape\x3dpartialRectangle;top\x3d0;left\x3d0;bottom\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";
b.geometry.width=30;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Row 3")}),this.addEntry("er entity relation table row",function(){var d=new mxCell("row",new mxGeometry(0,0,120,26),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;fillColor\x3dnone;spacingLeft\x3d60;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;");
d.vertex=!0;var b=a.cloneCell(c,"");b.connectable=!1;b.style="shape\x3dpartialRectangle;fontStyle\x3d1;top\x3d0;left\x3d0;bottom\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";b.geometry.width=56;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Row 4")}),this.addEntry("er entity relation table row",
function(){var d=new mxCell("uniqueId",new mxGeometry(0,0,90,26),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;fillColor\x3dnone;spacingLeft\x3d34;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;");d.vertex=!0;var b=a.cloneCell(c,"PK");b.connectable=!1;b.style="shape\x3dpartialRectangle;top\x3d0;left\x3d0;bottom\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";
b.geometry.width=30;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Row 5")}),this.addEntry("er entity relation table row",function(){var d=new mxCell("uniqueId",new mxGeometry(0,0,90,26),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;fillColor\x3dnone;spacingLeft\x3d34;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;");
d.vertex=!0;var b=a.cloneCell(c,"");b.connectable=!1;b.style="shape\x3dpartialRectangle;top\x3d0;left\x3d0;bottom\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";b.geometry.width=30;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Row 6")}),this.addEntry("er entity relation table row",function(){var d=
new mxCell("uniqueId",new mxGeometry(0,0,90,26),"shape\x3dpartialRectangle;top\x3d0;left\x3d0;right\x3d0;bottom\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;fillColor\x3dnone;spacingLeft\x3d34;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;dropTarget\x3d0;");d.vertex=!0;var b=a.cloneCell(c,"");b.connectable=!1;b.style="shape\x3dpartialRectangle;top\x3d0;left\x3d0;bottom\x3d0;right\x3d0;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d4;spacingRight\x3d4;whiteSpace\x3dwrap;overflow\x3dhidden;rotatable\x3d0;points\x3d[];portConstraint\x3deastwest;part\x3d1;";
b.geometry.width=30;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Row 7")}),this.addEntry("er entity relation table row divider hline line separator",function(){var d=new mxCell("",new mxGeometry(0,0,40,8),"line;html\x3d1;strokeWidth\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dmiddle;spacingTop\x3d-1;spacingLeft\x3d3;spacingRight\x3d3;rotatable\x3d0;labelPosition\x3dright;points\x3d[];portConstraint\x3deastwest;");d.vertex=!0;return a.createVertexTemplateFromCells([d],
d.geometry.width,d.geometry.height,"Divider")}),this.addEntry("er entity relation table row spacer space gap separator",function(){var d=new mxCell("",new mxGeometry(0,0,20,14),"text;html\x3d1;fillColor\x3dnone;align\x3dleft;verticalAlign\x3dmiddle;spacingTop\x3d-1;spacingLeft\x3d4;spacingRight\x3d4;rotatable\x3d0;labelPosition\x3dright;points\x3d[];portConstraint\x3deastwest;");d.vertex=!0;return a.createVertexTemplateFromCells([d.clone()],d.geometry.width,d.geometry.height,"Spacer")}),this.createVertexTemplateEntry("text;html\x3d1;align\x3dcenter;verticalAlign\x3dmiddle;spacingLeft\x3d4;spacingRight\x3d4;strokeColor\x3d#000000;fillColor\x3d#e0e0e0;rotatable\x3d0;points\x3d[[0,0.5],[1,0.5]];portConstraint\x3deastwest;",
80,26,"Title","Title",null,null,"er entity relation table title label"),this.addEntry("er entity relation table",function(){var d=new mxCell("Entity",new mxGeometry(0,0,160,120),"swimlane;html\x3d1;childLayout\x3dstackLayout;horizontal\x3d1;startSize\x3d30;horizontalStack\x3d0;fillColor\x3d#008cff;fontColor\x3d#FFFFFF;rounded\x3d1;fontSize\x3d17;fontStyle\x3d0;strokeWidth\x3d2;resizeParent\x3d0;resizeLast\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;");d.vertex=!0;var b=new mxCell("+Attribute1\n+Attribute2\n+Attribute3",
new mxGeometry(0,30,160,90),"whiteSpace\x3dwrap;html\x3d1;align\x3dleft;strokeColor\x3dnone;fillColor\x3dnone;spacingLeft\x3d4;fontSize\x3d17;verticalAlign\x3dtop;resizable\x3d0;rotatable\x3d0;part\x3d1;");b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Entity 2")}),this.createVertexTemplateEntry("ellipse;shape\x3ddoubleEllipse;margin\x3d10;strokeWidth\x3d2;fontSize\x3d17;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;",100,100,"Attribute","Attribute",
null,null,"er entity relation attribute"),this.createVertexTemplateEntry("ellipse;shape\x3dcloud;strokeWidth\x3d2;fontSize\x3d17;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;",100,100,"Cloud","Cloud",null,null,"er entity relation cloud"),this.createVertexTemplateEntry("strokeWidth\x3d2;rounded\x3d1;arcSize\x3d10;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;",100,100,"Entity","Entity 3",null,null,"er entity relation "),this.createVertexTemplateEntry("strokeWidth\x3d2;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;",
100,100,"Entity","Entity 4",null,null,"er entity relation "),this.createVertexTemplateEntry("shape\x3dext;strokeWidth\x3d2;margin\x3d10;double\x3d1;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;",100,100,"Entity","Entity 5",null,null,"er entity relation "),this.createVertexTemplateEntry("shape\x3drhombus;strokeWidth\x3d2;fontSize\x3d17;perimeter\x3drhombusPerimeter;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;",100,100,"Has","Has",null,null,"er entity relation has"),this.createVertexTemplateEntry("shape\x3drhombus;double\x3d1;strokeWidth\x3d2;fontSize\x3d17;perimeter\x3drhombusPerimeter;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;",
100,100,"Has","Has",null,null,"er entity relation has"),this.addEntry("er entity relation hierarchy",function(){var d=new mxCell("",new mxGeometry(0,0,100,100),"html\x3d1;strokeWidth\x3d2;shape\x3dmxgraph.er.rrect;rSize\x3d5;");d.vertex=!0;var b=new mxCell("main",new mxGeometry(0,0,50,100),"html\x3d1;strokeWidth\x3d2;shape\x3dmxgraph.er.anchor;fontSize\x3d17;whiteSpace\x3dwrap;");b.vertex=!0;d.insert(b);b=new mxCell("sub",new mxGeometry(50,5,45,90),"html\x3d1;strokeWidth\x3d2;shape\x3dmxgraph.er.rrect;rSize\x3d5;fontSize\x3d17;whiteSpace\x3dwrap;points\x3d[];");
b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Hierarchy")}),this.createVertexTemplateEntry("shape\x3dnote;strokeWidth\x3d2;fontSize\x3d17;size\x3d20;whiteSpace\x3dwrap;html\x3d1;",100,100,"Note","Note",null,null,"er entity relation note"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERzeroToMany;endFill\x3d1;",100,100,"","0 to Many Optional",null,"er entity relation zero many optional"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERoneToMany;",
100,100,"","1 to Many",null,"er entity relation one many"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERmandOne;",100,100,"","1 Mandatory",null,"er entity relation one mandatory"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERmandOne;startArrow\x3dERmandOne;",100,100,"","1 to 1",null,"er entity relation one"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERone;endFill\x3d1;",
100,100,"","1",null,"er entity relation one"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERzeroToOne;endFill\x3d1;",100,100,"","0 to 1",null,"er entity relation zero one"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERmany;",100,100,"","Many",null,"er entity relation many"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERmany;startArrow\x3dERmany;",100,100,"","Many to Many",
null,"er entity relation many"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERzeroToMany;startArrow\x3dERzeroToOne;",100,100,"","1 Optional to Many Optional",null,"er entity relation one optional many"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERzeroToMany;startArrow\x3dERmandOne;",100,100,"","1 Mandatory to Many Optional",null,"er entity relation one mandatory many optional"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERzeroToOne;startArrow\x3dERmandOne;",
100,100,"","1 Mandatory to 1 Optional",null,"er entity relation one mandatory optional"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERoneToMany;startArrow\x3dERmandOne;",100,100,"","1 Mandatory to Many Mandatory",null,"er entity relation one mandatory many"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERoneToMany;startArrow\x3dERzeroToOne;",100,100,"","1 Optional to Many Mandatory",null,"er entity relation one optional mandatory many"),
this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERoneToMany;startArrow\x3dERoneToMany;",100,100,"","Many Mandatory to Many Mandatory",null,"er entity relation mandatory many"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERoneToMany;startArrow\x3dERzeroToMany;",100,100,"","Many Optional to Many Mandatory",null,"er entity relation mandatory many optional"),this.createEdgeTemplateEntry("edgeStyle\x3dentityRelationEdgeStyle;html\x3d1;endArrow\x3dERzeroToMany;endFill\x3d1;startArrow\x3dERzeroToMany;",
100,100,"","Many Optional to Many Optional",null,"er entity relation many optional")];this.addPaletteFunctions("er",mxResources.get("entityRelation"),!1,f)}})();
(function(){Sidebar.prototype.addFloorplanPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;align\x3dcenter;"+mxConstants.STYLE_STROKEWIDTH+"\x3d1;shape\x3dmxgraph.floorplan.",c=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;align\x3dcenter;"+mxConstants.STYLE_STROKEWIDTH+"\x3d1;shape\x3dmxgraph.floorplan.",f=[this.createVertexTemplateEntry(a+"wall;fillColor\x3d#000000;",
100,10,"","Wall (Horizontal)",null,null,this.getTagsForStencil("mxgraph.floorplan","wall","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"wall;fillColor\x3d#000000;direction\x3dsouth;",10,100,"","Wall (Vertical)",null,null,this.getTagsForStencil("mxgraph.floorplan","wall","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"wallCorner;fillColor\x3d#000000;",100,100,"","Wall (Corner NW)",null,null,this.getTagsForStencil("mxgraph.floorplan","wallCorner","floorplan ").join(" ")),this.createVertexTemplateEntry(a+
"wallCorner;fillColor\x3d#000000;direction\x3dsouth;",100,100,"","Wall (Corner NE)",null,null,this.getTagsForStencil("mxgraph.floorplan","wallCorner","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"wallCorner;fillColor\x3d#000000;direction\x3dwest",100,100,"","Wall (Corner SE)",null,null,this.getTagsForStencil("mxgraph.floorplan","wallCorner","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"wallCorner;fillColor\x3d#000000;direction\x3dnorth",100,100,"","Wall (Corner SW)",null,
null,this.getTagsForStencil("mxgraph.floorplan","wallCorner","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"wallU;fillColor\x3d#000000;",100,100,"","Wall (U)",null,null,this.getTagsForStencil("mxgraph.floorplan","wallU","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"room;fillColor\x3d#000000;",100,100,"","Room",null,null,this.getTagsForStencil("mxgraph.floorplan","room","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"window;fillColor\x3d#ffffff;",100,10,"","Window",
null,null,this.getTagsForStencil("mxgraph.floorplan","window","floorplan ").join(" ")),this.createVertexTemplateEntry(c+"dimension;verticalAlign\x3dtop;",200,40,"100","Dimension",null,null,this.getTagsForStencil("mxgraph.floorplan","dimension","floorplan ").join(" ")),this.createVertexTemplateEntry(c+"dimensionBottom;verticalAlign\x3dbottom;",200,40,"100","Dimension",null,null,this.getTagsForStencil("mxgraph.floorplan","dimensionBottom","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"stairs;",
300,100,"","Stairs",null,null,this.getTagsForStencil("mxgraph.floorplan","stairs","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"stairs;direction\x3dsouth;",100,300,"","Stairs",null,null,this.getTagsForStencil("mxgraph.floorplan","stairs","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"stairsRest;",300,200,"","Stairs",null,null,this.getTagsForStencil("mxgraph.floorplan","stairsRest","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"doorLeft;",80,85,"","Door",null,null,
this.getTagsForStencil("mxgraph.floorplan","doorLeft","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"doorRight;",80,85,"","Door",null,null,this.getTagsForStencil("mxgraph.floorplan","doorRight","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"doorDouble;",160,85,"","Door, Double",null,null,this.getTagsForStencil("mxgraph.floorplan","doorDouble","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"bathtub;",180,60,"","Bathtub",null,null,this.getTagsForStencil("mxgraph.floorplan",
"bathtub","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"bed_double;",200,180,"","Bed, Double",null,null,this.getTagsForStencil("mxgraph.floorplan","bed_double","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"bed_single;",100,180,"","Bed Single",null,null,this.getTagsForStencil("mxgraph.floorplan","bed_single","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"bookcase;",120,30,"","Bookcase",null,null,this.getTagsForStencil("mxgraph.floorplan","bookcase","floorplan ").join(" ")),
this.createVertexTemplateEntry(a+"chair;",41,52,"","Chair",null,null,this.getTagsForStencil("mxgraph.floorplan","chair","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"copier;",110,60,"","Copier",null,null,this.getTagsForStencil("mxgraph.floorplan","copier","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"couch;",150,80,"","Couch",null,null,this.getTagsForStencil("mxgraph.floorplan","couch","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"crt_tv;",60,40,"","CRT TV",
null,null,this.getTagsForStencil("mxgraph.floorplan","crt_tv","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"desk_corner;",150,150,"","Desk Corner",null,null,this.getTagsForStencil("mxgraph.floorplan","desk_corner","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"desk_corner_2;",150,120,"","Desk Corner 2",null,null,this.getTagsForStencil("mxgraph.floorplan","desk_corner_2","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"dresser;",100,65,"","Dresser",null,null,this.getTagsForStencil("mxgraph.floorplan",
"dresser","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"elevator;",100,100,"","Elevator",null,null,this.getTagsForStencil("mxgraph.floorplan","elevator","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"fireplace;",304,200,"","Fireplace",null,null,this.getTagsForStencil("mxgraph.floorplan","fireplace","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"flat_tv;",70,10,"","Flat TV",null,null,this.getTagsForStencil("mxgraph.floorplan","flat_tv","floorplan ").join(" ")),
this.createVertexTemplateEntry(a+"floor_lamp;",50,50,"","Floor Lamp",null,null,this.getTagsForStencil("mxgraph.floorplan","floor_lamp","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"laptop;",40,35,"","Laptop",null,null,this.getTagsForStencil("mxgraph.floorplan","laptop","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"office_chair;",40,43,"","Office Chair",null,null,this.getTagsForStencil("mxgraph.floorplan","office_chair","floorplan ").join(" ")),this.createVertexTemplateEntry(a+
"piano;",135,143,"","Piano",null,null,this.getTagsForStencil("mxgraph.floorplan","piano","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"plant;",47,51,"","Plant",null,null,this.getTagsForStencil("mxgraph.floorplan","plant","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"printer;",40,47,"","Printer",null,null,this.getTagsForStencil("mxgraph.floorplan","printer","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"range_1;",50,62,"","Range 1",null,null,this.getTagsForStencil("mxgraph.floorplan",
"range_1","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"range_2;",75,62,"","Range 2",null,null,this.getTagsForStencil("mxgraph.floorplan","range_2","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"refrigerator;",60,62,"","Refrigerator",null,null,this.getTagsForStencil("mxgraph.floorplan","refrigerator","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"shower;",100,100,"","Shower",null,null,this.getTagsForStencil("mxgraph.floorplan","shower","floorplan ").join(" ")),
this.createVertexTemplateEntry(a+"sink_1;",40,35,"","Sink 1",null,null,this.getTagsForStencil("mxgraph.floorplan","sink_1","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"sink_2;",40,35,"","Sink 2",null,null,this.getTagsForStencil("mxgraph.floorplan","sink_2","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"sink_double;",80,35,"","Sink Double",null,null,this.getTagsForStencil("mxgraph.floorplan","sink_double","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"sofa;",90,
80,"","Sofa",null,null,this.getTagsForStencil("mxgraph.floorplan","sofa","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"spiral_stairs;",200,200,"","Spiral Stairs",null,null,this.getTagsForStencil("mxgraph.floorplan","spiral_stairs","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"table;",90,50,"","Table",null,null,this.getTagsForStencil("mxgraph.floorplan","table","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"toilet;",50,67,"","Toilet",null,null,this.getTagsForStencil("mxgraph.floorplan",
"toilet","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"water_cooler;",40,40,"","Water Cooler",null,null,this.getTagsForStencil("mxgraph.floorplan","water_cooler","floorplan ").join(" ")),this.createVertexTemplateEntry(a+"workstation;",50,40,"","Workstation",null,null,this.getTagsForStencil("mxgraph.floorplan","workstation","floorplan ").join(" ")),this.addEntry("floorplan kitchen table small",function(){var d=new mxCell("",new mxGeometry(0,20,80,80),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");
d.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(20,68,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;rotation\x3d180;");c.vertex=!0;return sb.createVertexTemplateFromCells([b,c,d],80,120,"Small kitchen table")}),this.addEntry("floorplan kitchen table",function(){var d=new mxCell("",new mxGeometry(20,20,100,100),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");
d.vertex=!0;var b=new mxCell("",new mxGeometry(50,0,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(50,88,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");c.vertex=!0;var f=new mxCell("",new mxGeometry(0,50,52,40),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dnorth;");f.vertex=!0;var k=new mxCell("",new mxGeometry(88,50,52,40),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dsouth");
k.vertex=!0;return sb.createVertexTemplateFromCells([b,c,f,k,d],140,140,"Kitchen table")}),this.addEntry("floorplan kitchen table",function(){var d=new mxCell("",new mxGeometry(20,20,100,100),"shape\x3dellipse;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");d.vertex=!0;var b=new mxCell("",new mxGeometry(50,0,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(50,88,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");
c.vertex=!0;var f=new mxCell("",new mxGeometry(0,50,52,40),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dnorth;");f.vertex=!0;var k=new mxCell("",new mxGeometry(88,50,52,40),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dsouth");k.vertex=!0;return sb.createVertexTemplateFromCells([b,c,f,k,d],140,140,"Round kitchen table")}),this.addEntry("floorplan kitchen table large",function(){var d=new mxCell("",new mxGeometry(20,20,160,100),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");
d.vertex=!0;var b=new mxCell("",new mxGeometry(50,0,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(50,88,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");c.vertex=!0;var f=new mxCell("",new mxGeometry(0,50,52,40),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dnorth;");f.vertex=!0;var k=new mxCell("",new mxGeometry(148,50,52,40),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dsouth");
k.vertex=!0;var l=new mxCell("",new mxGeometry(110,0,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");l.vertex=!0;var n=new mxCell("",new mxGeometry(110,88,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");n.vertex=!0;return sb.createVertexTemplateFromCells([b,c,f,k,l,n,d],200,140,"Large kitchen table")}),this.addEntry("floorplan kitchen table large",function(){var d=new mxCell("",new mxGeometry(20,20,160,100),"shape\x3dellipse;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");
d.vertex=!0;var b=new mxCell("",new mxGeometry(50,0,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(50,88,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");c.vertex=!0;var f=new mxCell("",new mxGeometry(0,50,52,40),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dnorth;");f.vertex=!0;var k=new mxCell("",new mxGeometry(148,50,52,40),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dsouth");
k.vertex=!0;var l=new mxCell("",new mxGeometry(110,0,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");l.vertex=!0;var n=new mxCell("",new mxGeometry(110,88,40,52),a+"chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");n.vertex=!0;return sb.createVertexTemplateFromCells([b,c,f,k,l,n,d],200,140,"Large kitchen table")}),this.addEntry("floorplan office table",function(){var d=new mxCell("",new mxGeometry(0,20,80,50),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");
d.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(15,30,50,40),a+"workstation;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;flipV\x3d1;");c.vertex=!0;return sb.createVertexTemplateFromCells([b,d,c],80,70,"Office table")}),this.addEntry("floorplan office table",function(){var d=new mxCell("",new mxGeometry(20,20,100,100),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");
d.vertex=!0;var b=new mxCell("",new mxGeometry(50,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(50,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");c.vertex=!0;var f=new mxCell("",new mxGeometry(0,50,43,40),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dnorth;");f.vertex=!0;var k=new mxCell("",new mxGeometry(97,50,43,40),a+
"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dsouth");k.vertex=!0;return sb.createVertexTemplateFromCells([b,c,f,k,d],140,140,"Office table")}),this.addEntry("floorplan office table large",function(){var d=new mxCell("",new mxGeometry(20,20,160,100),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");d.vertex=!0;var b=new mxCell("",new mxGeometry(50,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=
!0;var c=new mxCell("",new mxGeometry(50,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");c.vertex=!0;var f=new mxCell("",new mxGeometry(0,50,43,40),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dnorth;");f.vertex=!0;var k=new mxCell("",new mxGeometry(157,50,43,40),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dsouth");k.vertex=!0;var l=new mxCell("",new mxGeometry(110,
0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");l.vertex=!0;var n=new mxCell("",new mxGeometry(110,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");n.vertex=!0;return sb.createVertexTemplateFromCells([b,c,f,k,l,n,d],200,140,"Large office table")}),this.addEntry("floorplan office table large",function(){var d=new mxCell("",new mxGeometry(20,20,160,100),"shape\x3dellipse;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");
d.vertex=!0;var b=new mxCell("",new mxGeometry(50,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(50,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");c.vertex=!0;var f=new mxCell("",new mxGeometry(0,50,43,40),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dnorth;");f.vertex=!0;var k=new mxCell("",new mxGeometry(157,50,43,40),
a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dsouth");k.vertex=!0;var l=new mxCell("",new mxGeometry(110,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");l.vertex=!0;var n=new mxCell("",new mxGeometry(110,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");n.vertex=!0;return sb.createVertexTemplateFromCells([b,c,f,k,l,n,d],200,140,"Large office table")}),this.addEntry("floorplan office table large",
function(){var d=new mxCell("",new mxGeometry(20,20,280,100),"shape\x3dellipse;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");d.vertex=!0;var b=new mxCell("",new mxGeometry(50,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(50,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");c.vertex=!0;var f=new mxCell("",new mxGeometry(0,50,43,40),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dnorth;");
f.vertex=!0;var k=new mxCell("",new mxGeometry(277,50,43,40),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dsouth");k.vertex=!0;var l=new mxCell("",new mxGeometry(110,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");l.vertex=!0;var n=new mxCell("",new mxGeometry(110,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");n.vertex=!0;var m=new mxCell("",new mxGeometry(170,0,40,43),
a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");m.vertex=!0;var p=new mxCell("",new mxGeometry(170,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");p.vertex=!0;var r=new mxCell("",new mxGeometry(230,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");r.vertex=!0;var s=new mxCell("",new mxGeometry(230,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");
s.vertex=!0;return sb.createVertexTemplateFromCells([b,c,f,k,l,n,m,p,r,s,d],320,140,"Large office table")}),this.addEntry("floorplan office table conference large huge",function(){var d=new mxCell("",new mxGeometry(20,20,520,100),"shape\x3dellipse;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");d.vertex=!0;var b=new mxCell("",new mxGeometry(50,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(50,97,40,43),
a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");c.vertex=!0;var f=new mxCell("",new mxGeometry(0,50,43,40),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dnorth;");f.vertex=!0;var k=new mxCell("",new mxGeometry(517,50,43,40),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dsouth");k.vertex=!0;var l=new mxCell("",new mxGeometry(110,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");
l.vertex=!0;var n=new mxCell("",new mxGeometry(110,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");n.vertex=!0;var m=new mxCell("",new mxGeometry(170,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");m.vertex=!0;var p=new mxCell("",new mxGeometry(170,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");p.vertex=!0;var r=new mxCell("",new mxGeometry(230,0,40,43),
a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");r.vertex=!0;var s=new mxCell("",new mxGeometry(230,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");s.vertex=!0;var q=new mxCell("",new mxGeometry(290,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");q.vertex=!0;var u=new mxCell("",new mxGeometry(290,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");
u.vertex=!0;var t=new mxCell("",new mxGeometry(350,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");t.vertex=!0;var v=new mxCell("",new mxGeometry(350,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");v.vertex=!0;var z=new mxCell("",new mxGeometry(410,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");z.vertex=!0;var y=new mxCell("",new mxGeometry(410,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");
y.vertex=!0;var x=new mxCell("",new mxGeometry(470,0,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;");x.vertex=!0;var D=new mxCell("",new mxGeometry(470,97,40,43),a+"office_chair;fillColor\x3d#ffffff;strokeColor\x3d#000000;shadow\x3d0;direction\x3dwest;");D.vertex=!0;return sb.createVertexTemplateFromCells([b,c,f,k,l,n,m,p,r,s,q,u,t,v,z,y,x,D,d],560,140,"Conference table")})];this.addPalette("floorplan",mxResources.get("floorplans"),!1,mxUtils.bind(this,function(a){for(var b=
0;b<f.length;b++)a.appendChild(f[b](a))}))}})();
(function(){Sidebar.prototype.addFlowchartPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;html\x3d1;strokeWidth\x3d2;shape\x3dmxgraph.flowchart.";this.addPaletteFunctions("flowchart",mxResources.get("flowchart"),!1,[this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.annotation_1;align\x3dleft;",50,100,"","Annotation",null,null,this.getTagsForStencil("mxgraph.flowchart","annotation_1","").join(" ")),
this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.annotation_2;align\x3dleft;",50,100,"","Annotation",null,null,this.getTagsForStencil("mxgraph.flowchart","annotation_2","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.card;whiteSpace\x3dwrap;",100,60,"","Card",null,null,this.getTagsForStencil("mxgraph.flowchart","card","").join(" ")),this.createVertexTemplateEntry(a+"collate;",100,100,"","Collate",null,null,this.getTagsForStencil("mxgraph.flowchart",
"collate","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.data;whiteSpace\x3dwrap;",100,60,"","Data",null,null,this.getTagsForStencil("mxgraph.flowchart","data","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.database;whiteSpace\x3dwrap;",60,60,"","Database",null,null,this.getTagsForStencil("mxgraph.flowchart","database","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.decision;whiteSpace\x3dwrap;",
100,100,"","Decision",null,null,this.getTagsForStencil("mxgraph.flowchart","decision","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.delay;whiteSpace\x3dwrap;",100,60,"","Delay",null,null,this.getTagsForStencil("mxgraph.flowchart","delay","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.direct_data;whiteSpace\x3dwrap;",100,60,"","Direct Data",null,null,this.getTagsForStencil("mxgraph.flowchart",
"direct_data","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.display;whiteSpace\x3dwrap;",100,60,"","Display",null,null,this.getTagsForStencil("mxgraph.flowchart","display","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.document;whiteSpace\x3dwrap;",100,60,"","Document",null,null,this.getTagsForStencil("mxgraph.flowchart","document","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.extract_or_measurement;whiteSpace\x3dwrap;",
95,60,"","Extract or Measurement",null,null,this.getTagsForStencil("mxgraph.flowchart","extract_or_measurement","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.internal_storage;whiteSpace\x3dwrap;",70,70,"","Internal Storage",null,null,this.getTagsForStencil("mxgraph.flowchart","internal_storage","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.loop_limit;whiteSpace\x3dwrap;",100,60,"","Loop Limit",
null,null,this.getTagsForStencil("mxgraph.flowchart","loop_limit","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.manual_input;whiteSpace\x3dwrap;",100,60,"","Manual Input",null,null,this.getTagsForStencil("mxgraph.flowchart","manual_input","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.manual_operation;whiteSpace\x3dwrap;",100,60,"","Manual Operation",null,null,this.getTagsForStencil("mxgraph.flowchart",
"manual_operation","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.merge_or_storage;whiteSpace\x3dwrap;",95,60,"","Merge or Storage",null,null,this.getTagsForStencil("mxgraph.flowchart","merge_or_storage","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.multi-document;whiteSpace\x3dwrap;",88,60,"","Multi-Document",null,null,this.getTagsForStencil("mxgraph.flowchart","multi-document","").join(" ")),
this.createVertexTemplateEntry(a+"off-page_reference;",60,60,"","Off-Page Reference",null,null,this.getTagsForStencil("mxgraph.flowchart","off-page_reference","").join(" ")),this.createVertexTemplateEntry(a+"on-page_reference;",60,60,"","On-Page Reference",null,null,this.getTagsForStencil("mxgraph.flowchart","on-page_reference","").join(" ")),this.createVertexTemplateEntry(a+"summing_function;",70,70,"","Or",null,null,this.getTagsForStencil("mxgraph.flowchart","summing_function","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.paper_tape;whiteSpace\x3dwrap;",
100,65,"","Paper Tape",null,null,this.getTagsForStencil("mxgraph.flowchart","paper_tape","").join(" ")),this.createVertexTemplateEntry(a+"parallel_mode;",95,40,"","Parallel Mode",null,null,this.getTagsForStencil("mxgraph.flowchart","parallel_mode","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.predefined_process;whiteSpace\x3dwrap;",100,60,"","Predefined Process",null,null,this.getTagsForStencil("mxgraph.flowchart","predefined_process","").join(" ")),
this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.preparation;whiteSpace\x3dwrap;",100,60,"","Preparation",null,null,this.getTagsForStencil("mxgraph.flowchart","preparation","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.process;whiteSpace\x3dwrap;",100,100,"","Process",null,null,this.getTagsForStencil("mxgraph.flowchart","process","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.sequential_data;whiteSpace\x3dwrap;",
100,100,"","Sequential Data",null,null,this.getTagsForStencil("mxgraph.flowchart","sequential_data","").join(" ")),this.createVertexTemplateEntry(a+"sort;",100,100,"","Sort",null,null,this.getTagsForStencil("mxgraph.flowchart","sort","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.start_1;whiteSpace\x3dwrap;",100,60,"","Start",null,null,this.getTagsForStencil("mxgraph.flowchart","start_1","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.start_2;whiteSpace\x3dwrap;",
100,100,"","Start",null,null,this.getTagsForStencil("mxgraph.flowchart","start_2","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.stored_data;whiteSpace\x3dwrap;",100,60,"","Stored Data",null,null,this.getTagsForStencil("mxgraph.flowchart","stored_data","").join(" ")),this.createVertexTemplateEntry(a+"or;",70,70,"","Summing Junction",null,null,this.getTagsForStencil("mxgraph.flowchart","or","").join(" ")),this.createVertexTemplateEntry("strokeWidth\x3d2;html\x3d1;shape\x3dmxgraph.flowchart.terminator;whiteSpace\x3dwrap;",
100,60,"","Terminator",null,null,this.getTagsForStencil("mxgraph.flowchart","terminator","").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;html\x3d1;strokeWidth\x3d2;shape\x3dmxgraph.arrows2.arrow;dy\x3d0.6;dx\x3d40;notch\x3d0;",100,70,"","Transfer",null,null,this.getTagsForStencil("mxgraph.flowchart","transfer","").join(" "))])}})();
(function(){Sidebar.prototype.addGMDLBottomNavigationPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library bottom navigation bottom navigation",function(){var a=new mxCell("",new mxGeometry(0,0,358,48),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d0;");a.vertex=!0;var b=new mxCell("Recents",new mxGeometry(0.15,0.5,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.recents;fillColor\x3d#808080;strokeColor\x3dnone;fontColor\x3d#808080;verticalAlign\x3dtop;spacingLeft\x3d0;fontSize\x3d10;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingBottom\x3d0;spacingTop\x3d-6;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-10,-15);b.vertex=!0;a.insert(b);b=new mxCell("Favorites",new mxGeometry(0.5,0.5,20,18),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.heart;fillColor\x3d#00796B;strokeColor\x3dnone;fontColor\x3d#00796B;verticalAlign\x3dtop;spacingLeft\x3d0;fontSize\x3d10;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingBottom\x3d0;spacingTop\x3d-5;");b.geometry.offset=new mxPoint(-10,-14);b.geometry.relative=!0;b.vertex=!0;a.insert(b);
b=new mxCell("Nearby",new mxGeometry(0.85,0.5,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.nearby;fillColor\x3d#808080;strokeColor\x3dnone;fontColor\x3d#808080;verticalAlign\x3dtop;spacingLeft\x3d0;fontSize\x3d10;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingBottom\x3d0;spacingTop\x3d-6;");b.geometry.offset=new mxPoint(-10,-15);b.geometry.relative=!0;b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Bottom Navigation")}),
this.addEntry("gmdl google media design library bottom navigation dropdown menu",function(){var a=new mxCell("",new mxGeometry(0,0,358,48),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#00796B;strokeColor\x3dnone;shadow\x3d0;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0.15,0.5,20,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.video_2;fillColor\x3d#ffffff;strokeColor\x3dnone;fontColor\x3d#ffffff;verticalAlign\x3dtop;spacingLeft\x3d0;fontSize\x3d10;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingBottom\x3d0;spacingTop\x3d-6;opacity\x3d60;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-10,-8);b.vertex=!0;a.insert(b);b=new mxCell("Music",new mxGeometry(0.38,0.5,14,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.music;fillColor\x3d#ffffff;strokeColor\x3dnone;fontColor\x3d#ffffff;verticalAlign\x3dtop;spacingLeft\x3d0;fontSize\x3d10;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingBottom\x3d0;spacingTop\x3d-5;");b.geometry.offset=new mxPoint(-10,-14);b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=
new mxCell("",new mxGeometry(0.62,0.5,16,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.book;fillColor\x3d#ffffff;strokeColor\x3dnone;fontColor\x3d#ffffff;verticalAlign\x3dtop;spacingLeft\x3d0;fontSize\x3d10;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingBottom\x3d0;spacingTop\x3d-6;opacity\x3d60;");b.geometry.offset=new mxPoint(-8,-10);b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.85,0.5,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.webpage;fillColor\x3d#ffffff;strokeColor\x3dnone;fontColor\x3d#ffffff;verticalAlign\x3dtop;spacingLeft\x3d0;fontSize\x3d10;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingBottom\x3d0;spacingTop\x3d-6;opacity\x3d60;");
b.geometry.offset=new mxPoint(-10,-15);b.geometry.relative=!0;b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Bottom Navigation")})];this.addPalette("gmdlBottom Navigation","GMDL / Bottom Navigation",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLBottomSheetsPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library bottom sheets bottom sheet",function(){var a=
new mxCell("",new mxGeometry(0,0,358,320),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d0;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell("Open in",new mxGeometry(10,15,200,20),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontColor\x3d#808080;fontSize\x3d14;");b.vertex=!0;a.insert(b);b=new mxCell("Keep",new mxGeometry(10,60,20,20),"shape\x3dmxgraph.gmdl.keep;strokeColor\x3dnone;fillColor\x3d#F4B70B;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");
b.vertex=!0;a.insert(b);b=new mxCell("Inbox",new mxGeometry(10,110,22,20),"shape\x3dmxgraph.gmdl.inbox;strokeColor\x3dnone;fillColor\x3d#F4B70B;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");b.vertex=!0;a.insert(b);b=new mxCell("Hangouts",new mxGeometry(10,160,20,22),"shape\x3dmxgraph.gmdl.hangout;strokeColor\x3dnone;fillColor\x3d#0F9755;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");
b.vertex=!0;a.insert(b);b=new mxCell("Messenger",new mxGeometry(10,210,22,20),"shape\x3dmxgraph.gmdl.messenger;strokeColor\x3dnone;fillColor\x3d#F4B70B;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");b.vertex=!0;a.insert(b);b=new mxCell("Google+",new mxGeometry(10,260,20,20),"shape\x3dmxgraph.gmdl.google_plus;strokeColor\x3dnone;fillColor\x3d#D14235;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");
b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Bottom Sheet")}),this.addEntry("gmdl google media design library bottom sheets grid style options",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;align\x3dright;fillColor\x3d#2D3986;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Ali Connors",new mxGeometry(0,0,358,57),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#394797;resizeWidth\x3d1;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.left;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.edit;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,-8);
e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-20,-8);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);
e=new mxCell("",new mxGeometry(0,0.5,20,24),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#3F51B5;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-12);e.vertex=!0;b.insert(e);e=new mxCell("(650) 555-1234",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Mobile",
new mxGeometry(0,0.5,150,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,17,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.hangout;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-40,-10);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);e=new mxCell("(323) 555-6789",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Work",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");
e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,17,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.hangout;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-40,-10);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,20),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
211);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.2011,0.5,286,10),"shape\x3dline;strokeColor\x3d#000000;strokeWidth\x3d1;opacity\x3d20;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-5);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,231);b.vertex=!0;a.insert(b);
e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.mail;strokeColor\x3d#ffffff;fillColor\x3d#3F51B5;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(24,-8);e.vertex=!0;b.insert(e);e=new mxCell("aliconnors@example.com",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);
e=new mxCell("Personal",new mxGeometry(0,0.5,150,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,296);b.vertex=!0;a.insert(b);e=new mxCell("ali_connors@example.com",
new mxGeometry(0,0.5,150,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Work",new mxGeometry(0,0.5,150,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,10),"shape\x3dline;strokeColor\x3d#000000;strokeWidth\x3d1;opacity\x3d20;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,356);b.vertex=!0;a.insert(b);e=new mxCell("Gmail",new mxGeometry(0.148,0,46,34),"dashed\x3d0;fontSize\x3d10;shape\x3dmxgraph.gmdl.gmail;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d6;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-23,392);e.vertex=!0;a.insert(e);b=new mxCell("Hangout",new mxGeometry(0.5,0,40,46),"dashed\x3d0;fontSize\x3d10;shape\x3dmxgraph.gmdl.hangout;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d1;fillColor\x3d#19A05E;strokeColor\x3dnone;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,386);b.vertex=!0;a.insert(b);b=new mxCell("Google+",new mxGeometry(0.8547,0,46,46),"dashed\x3d0;fontSize\x3d10;shape\x3dmxgraph.gmdl.google_plus;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d1;strokeColor\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-23,386);b.vertex=!0;a.insert(b);e=new mxCell("Mail",new mxGeometry(0.148,0,40,32),"dashed\x3d0;fontSize\x3d10;shape\x3dmxgraph.gmdl.mail;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d4;fillColor\x3d#BDBDBD;strokeColor\x3d#ffffff;strokeWidth\x3d3;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-20,494);e.vertex=!0;a.insert(e);e=new mxCell("Message",new mxGeometry(0.5,0,44,42),"dashed\x3d0;fontSize\x3d10;shape\x3dmxgraph.gmdl.message;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d-1;fillColor\x3d#BDBDBD;strokeColor\x3d#ffffff;strokeWidth\x3d4;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-22,489);e.vertex=!0;a.insert(e);e=new mxCell("More",new mxGeometry(0.8547,
0,40,12),"dashed\x3d0;fontSize\x3d10;shape\x3dmxgraph.gmdl.more;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d16;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-20,504);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=
!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Grid Style With Some Options")}),this.addEntry("gmdl google media design library bottom sheets grid style all options",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;align\x3dright;fillColor\x3d#2D3986;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Ali Connors",new mxGeometry(0,0,358,57),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#394797;resizeWidth\x3d1;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.left;strokeColor\x3d#ffffff;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.edit;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-20,
-8);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,20,24),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#3F51B5;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-12);e.vertex=!0;
b.insert(e);e=new mxCell("(650) 555-1234",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Mobile",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,
0.5,17,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.hangout;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-40,-10);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);e=new mxCell("(323) 555-6789",new mxGeometry(0,
0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Work",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,17,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.hangout;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-40,-10);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,20),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,211);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.2011,0.5,286,10),"shape\x3dline;strokeColor\x3d#000000;strokeWidth\x3d1;opacity\x3d20;resizeWidth\x3d1;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(0,-5);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,231);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.mail;strokeColor\x3d#ffffff;fillColor\x3d#3F51B5;strokeWidth\x3d2;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(24,-8);e.vertex=!0;b.insert(e);e=new mxCell("aliconnors@example.com",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Personal",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");
e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,10),"shape\x3dline;strokeColor\x3d#000000;strokeWidth\x3d1;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,291);b.vertex=!0;a.insert(b);e=new mxCell("Gmail",new mxGeometry(0.148,0,46,34),"dashed\x3d0;fontSize\x3d12;shape\x3dmxgraph.gmdl.gmail;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d6;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-23,327);e.vertex=!0;a.insert(e);b=new mxCell("Hangout",new mxGeometry(0.5,0,40,46),"dashed\x3d0;fontSize\x3d12;shape\x3dmxgraph.gmdl.hangout;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d1;fillColor\x3d#19A05E;strokeColor\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,321);b.vertex=!0;a.insert(b);b=new mxCell("Google+",new mxGeometry(0.8547,0,
46,46),"dashed\x3d0;fontSize\x3d12;shape\x3dmxgraph.gmdl.google_plus;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d1;strokeColor\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-23,321);b.vertex=!0;a.insert(b);e=new mxCell("Mail",new mxGeometry(0.148,0,40,32),"dashed\x3d0;fontSize\x3d12;shape\x3dmxgraph.gmdl.mail;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d4;fillColor\x3d#BDBDBD;strokeColor\x3d#ffffff;strokeWidth\x3d3;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-20,422);e.vertex=!0;a.insert(e);e=new mxCell("Message",new mxGeometry(0.5,0,44,42),"dashed\x3d0;fontSize\x3d12;shape\x3dmxgraph.gmdl.message;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d-1;fillColor\x3d#BDBDBD;strokeColor\x3d#ffffff;strokeWidth\x3d4;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-22,417);e.vertex=!0;a.insert(e);e=new mxCell("Copy",new mxGeometry(0.8547,
0,34,40),"dashed\x3d0;fontSize\x3d12;shape\x3dmxgraph.gmdl.copy;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d2;fillColor\x3dnone;strokeColor\x3d#BDBDBD;strokeWidth\x3d4;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-17,418);e.vertex=!0;a.insert(e);b=new mxCell("Facebook",new mxGeometry(0.148,0,46,46),"dashed\x3d0;fontSize\x3d12;shape\x3dmxgraph.gmdl.facebook;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d1;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-23,513);b.vertex=!0;a.insert(b);b=new mxCell("Twitter",new mxGeometry(0.5,0,46,46),"dashed\x3d0;fontSize\x3d12;shape\x3dmxgraph.gmdl.twitter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;fontColor\x3d#504F4F;spacingTop\x3d1;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-23,513);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Grid Style With All Options")}),this.addEntry("gmdl google media design library bottom sheets list style",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;align\x3dright;fillColor\x3d#2D3986;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("All",new mxGeometry(0,0,358,57),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#394797;resizeWidth\x3d1;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0.5,10,5),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(104,-3);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(-65,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,-8);e.vertex=!0;b.insert(e);b=new mxCell("Janet Perkins",new mxGeometry(0,0,358,55),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,23,21),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#D3396E;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-10);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,
-18);e.vertex=!0;b.insert(e);b=new mxCell("Mary Johnson",new mxGeometry(0,0,358,55),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,136);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Peter Carlsson",new mxGeometry(0,0,358,55),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,191);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Trevor Hansen",new mxGeometry(0,0,358,55),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,246);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,18),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,301);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.2011,0.5,286,8),"shape\x3dline;strokeColor\x3d#000000;strokeWidth\x3d1;opacity\x3d20;resizeWidth\x3d1;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(0,-4);e.vertex=!0;b.insert(e);b=new mxCell("Aaron Bennett",new mxGeometry(0,0,358,55),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,319);b.vertex=!0;a.insert(b);e=new mxCell("A",new mxGeometry(0,0.5,24,24),"text;fontSize\x3d24;fontColor\x3d#D3396E;verticalAlign\x3dmiddle;fontStyle\x3d0;align\x3dcenter;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-12);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Share",new mxGeometry(0,0,358,55),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,374);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,17,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.share;strokeColor\x3d#666666;fillColor\x3d#666666;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(21,-10);e.vertex=!0;b.insert(e);b=new mxCell("Upload",new mxGeometry(0,0,358,55),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,429);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.upload;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);b=new mxCell("Copy",new mxGeometry(0,0,358,55),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,484);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,17,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.copy;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(21,-10);e.vertex=!0;b.insert(e);b=new mxCell("Print this page",new mxGeometry(0,0,358,55),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,539);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,18,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.print;strokeColor\x3d#666666;fillColor\x3d#666666;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(20,-8);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=
!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"List Style")}),this.addEntry("gmdl google media design library bottom sheets bottom sheet menu items subtext",function(){var a=new mxCell("",new mxGeometry(0,0,358,360),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d0;recursiveResize\x3d0;");
a.vertex=!0;var b=new mxCell('Caribbean vacation\x3cdiv\x3e\x3cfont style\x3d"font-size: 12px" color\x3d"#999999"\x3eAugust 13 - 22\x3c/font\x3e\x3c/div\x3e',new mxGeometry(15,25,40,40),"shape\x3dmxgraph.gmdl.image;strokeColor\x3d#000000;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d10;fontSize\x3d14;html\x3d1;");b.vertex=!0;a.insert(b);b=new mxCell('Pablo at the beach house\x3cdiv\x3e\x3cfont style\x3d"font-size: 12px" color\x3d"#999999"\x3eJuly 19 - 24\x3c/font\x3e\x3c/div\x3e',
new mxGeometry(15,95,40,40),"shape\x3dmxgraph.gmdl.image;strokeColor\x3d#000000;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d10;fontSize\x3d14;html\x3d1;");b.vertex=!0;a.insert(b);b=new mxCell('July 4th weekend at Joey\'s\x3cdiv\x3e\x3cfont style\x3d"font-size: 12px" color\x3d"#999999"\x3eJuly 4th, 2015\x3c/font\x3e\x3c/div\x3e',new mxGeometry(15,165,40,40),"shape\x3dmxgraph.gmdl.image;strokeColor\x3d#000000;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d10;fontSize\x3d14;html\x3d1;");
b.vertex=!0;a.insert(b);b=new mxCell('Meg\'s Birthday\x3cdiv\x3e\x3cfont style\x3d"font-size: 12px" color\x3d"#999999"\x3eJune 29, 2015\x3c/font\x3e\x3c/div\x3e',new mxGeometry(15,235,40,40),"shape\x3dmxgraph.gmdl.image;strokeColor\x3d#000000;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d10;fontSize\x3d14;html\x3d1;");b.vertex=!0;a.insert(b);b=new mxCell('Mike \x26 Kristin\'s wedding\x3cdiv\x3e\x3cfont style\x3d"font-size: 12px" color\x3d"#999999"\x3eJune 3, 2015\x3c/font\x3e\x3c/div\x3e',
new mxGeometry(15,305,40,40),"shape\x3dmxgraph.gmdl.image;strokeColor\x3d#000000;fillColor\x3d#ffffff;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d10;fontSize\x3d14;html\x3d1;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Bottom Sheet (menu items with subtext)")}),this.addEntry("gmdl google media design library bottom sheets grid style options",function(){var a=new mxCell("",new mxGeometry(0,
0,358,642),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;align\x3dright;fillColor\x3d#2D3986;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Mary had liked to look at her mother from a distance and she had thought her very pretty, but as she knew very little of her she could scarcely have been expected to love her or to miss her very much when she was gone. She did not miss her at all, in fact, and as she was a self-absorbed child she gave her entire thought to herself, as she had always done. If she had been older she would no doubt have been very anxious at being left alone in the world, but she was very young, and as she had always been taken care of, she supposed she always would be. What she thought was that she would like to know if she was going to nice people, who would be polite to her and give her her own way as her Ayah and the other native servants had done.\n\n She knew that she was not going to stay at the English clergyman's house where she was taken at first. She did not want to stay. The English clergyman was poor and he had five children nearly all the same age and they wore shabby clothes and were always quarreling and snatching toys from each other. Mary hated their untidy bungalow and was so disagreeable to them that after the first day or two nobody would play with her. By the second day they had given her a nickname which made her furious.",
new mxGeometry(0,0,358,370),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#CFCECE;resizeWidth\x3d1;whiteSpace\x3dwrap;spacing\x3d10;verticalAlign\x3dtop;align\x3dleft;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);b=new mxCell('fer\u00b7vor\x3cdiv\x3e\x3cfont color\x3d"#808080" style\x3d"font-size: 16px"\x3e/\'f\x26#601;rv\x26#601;r/\x3c/font\x3e\x3c/div\x3e',new mxGeometry(0,1,358,110),"dashed\x3d0;align\x3dleft;fontSize\x3d24;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#FFC107;resizeWidth\x3d1;spacingLeft\x3d15;spacingTop\x3d10;html\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-338);b.vertex=!0;a.insert(b);e=new mxCell('\x3cfont color\x3d"#808080" style\x3d"font-size: 14px;"\x3enoun\x3c/font\x3e\x3cdiv\x3e\n\x3c/div\x3e\x3cdiv\x3eintense and passionate feeling.\x3c/div\x3e\x3cdiv\x3e"he talked with all the fervor of a new convert"\x3c/div\x3e\x3cdiv\x3e\n\x3c/div\x3e\x3cdiv\x3e\x3cfont color\x3d"#808080" style\x3d"font-size: 14px;"\x3esynonyms: passion, ardor, intensity, zeal, vehemerence, emotion, warmth, earnestness, avidity, eagerness, keenness, enthusiasm, excitement, animation, vigor, energy, fire, spirit, zest, fervency\x3c/font\x3e\x3c/div\x3e',
new mxGeometry(0,1,358,180),"dashed\x3d0;align\x3dleft;fontSize\x3d14;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;spacingTop\x3d0;spacing\x3d15;verticalAlign\x3dtop;html\x3d1;whiteSpace\x3dwrap;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-228);e.vertex=!0;a.insert(e);e=new mxCell("",new mxGeometry(1,0.5,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.volume;strokeColor\x3dnone;fillColor\x3d#856504;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-80,
-10);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,20,18),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;strokeColor\x3d#856504;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-40,-9);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",
new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Deep-linked modal bottom sheet")}),this.addEntry("gmdl google media design library bottom sheets long list",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;align\x3dright;fillColor\x3d#0973AE;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#0973AE;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,60),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#098DCA;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#084560;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=
!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#084560;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-73,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,18,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.rects;strokeColor\x3dnone;fillColor\x3d#084560;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,20);e.vertex=!0;b.insert(e);b=new mxCell("Open in",new mxGeometry(0,
0,200,20),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontColor\x3d#808080;fontSize\x3d14;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,99);b.vertex=!0;a.insert(b);b=new mxCell("Keep",new mxGeometry(0,0,20,20),"shape\x3dmxgraph.gmdl.keep;strokeColor\x3dnone;fillColor\x3d#F4B70B;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,144);
b.vertex=!0;a.insert(b);b=new mxCell("Inbox",new mxGeometry(0,0,22,20),"shape\x3dmxgraph.gmdl.inbox;strokeColor\x3dnone;fillColor\x3d#F4B70B;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,194);b.vertex=!0;a.insert(b);b=new mxCell("Hangouts",new mxGeometry(0,0,20,22),"shape\x3dmxgraph.gmdl.hangout;strokeColor\x3dnone;fillColor\x3d#0F9755;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,244);b.vertex=!0;a.insert(b);b=new mxCell("Messenger",new mxGeometry(0,0,22,20),"shape\x3dmxgraph.gmdl.messenger;strokeColor\x3dnone;fillColor\x3d#F4B70B;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,294);b.vertex=!0;a.insert(b);b=new mxCell("Google+",new mxGeometry(0,0,20,20),"shape\x3dmxgraph.gmdl.google_plus;strokeColor\x3dnone;fillColor\x3d#D14235;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,344);b.vertex=!0;a.insert(b);b=new mxCell("Sheets",new mxGeometry(0,0,16,20),"shape\x3dmxgraph.gmdl.sheets;strokeColor\x3dnone;fillColor\x3d#21A464;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(12,394);b.vertex=!0;a.insert(b);b=new mxCell("Docs",new mxGeometry(0,0,16,20),"shape\x3dmxgraph.gmdl.docs;strokeColor\x3dnone;fillColor\x3d#4F8EF5;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(12,444);b.vertex=!0;a.insert(b);b=new mxCell("Slides",new mxGeometry(0,0,16,20),"shape\x3dmxgraph.gmdl.slides;strokeColor\x3dnone;fillColor\x3d#F5B910;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(12,494);b.vertex=!0;a.insert(b);b=new mxCell("Photos",new mxGeometry(0,0,20,20),"shape\x3dmxgraph.gmdl.photos;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingLeft\x3d20;fontSize\x3d14;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(10,544);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],
358,642,"Long list")})];this.addPalette("gmdlBottom Sheets","GMDL / Bottom Sheets",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLButtonsPalette=function(a){var c=this,f=[this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#e0e0e0;strokeColor\x3dnone;fontStyle\x3d1;shadow\x3d1;fontColor\x3d#000000;",100,36,"NORMAL","Raised Button (Normal)",null,null,this.getTagsForStencil("mxgraph.gmdl",
"button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#e0e0e0;strokeColor\x3dnone;fontStyle\x3d1;shadow\x3d1;fontColor\x3d#000000;",100,36,"HOVER","Raised Button (Hover)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#e0e0e0;strokeColor\x3dnone;fontStyle\x3d1;shadow\x3d1;",
100,36,"FOCUSED","Raised Button (Focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#e0e0e0;strokeColor\x3dnone;fontStyle\x3d1;shadow\x3d1;fontColor\x3d#000000;",100,36,"PRESSED","Raised Button (Pressed)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#000000;strokeColor\x3dnone;fontStyle\x3d1;opacity\x3d12;fontColor\x3d#BDBDBD;",
100,36,"DISABLED","Raised Button (Pressed)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#2196F3;strokeColor\x3dnone;fontStyle\x3d1;shadow\x3d1;fontColor\x3d#ffffff;",100,36,"NORMAL","Raised Button (Normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#2196F3;strokeColor\x3dnone;fontStyle\x3d1;shadow\x3d1;fontColor\x3d#ffffff;",
100,36,"HOVER","Raised Button (Hover)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#2196F3;strokeColor\x3dnone;fontStyle\x3d1;shadow\x3d1;fontColor\x3d#ffffff;",100,36,"FOCUSED","Raised Button (Focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#2196F3;strokeColor\x3dnone;fontStyle\x3d1;shadow\x3d1;fontColor\x3d#ffffff;",
100,36,"PRESSED","Raised Button (Pressed)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;fontStyle\x3d1;opacity\x3d12;fontColor\x3d#BDBDBD;shadow\x3d0;",100,36,"DISABLED","Raised Button (Pressed)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3dnone;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#000000;shadow\x3d0;",100,36,"NORMAL","Raised Button (Normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#999999;opacity\x3d20;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#000000;shadow\x3d0;",
100,36,"HOVER","Raised Button (Hover)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#999999;opacity\x3d20;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#000000;shadow\x3d0;",100,36,"FOCUSED","Raised Button (Focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#999999;opacity\x3d40;strokeColor\x3dnone;fontStyle\x3d1;",
100,36,"PRESSED","Raised Button (Pressed)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;opacity\x3d26;strokeColor\x3dnone;fontStyle\x3d1;opacity\x3d12;fontColor\x3d#BDBDBD;shadow\x3d0;",100,36,"DISABLED","Raised Button (Pressed)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3dnone;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#ffffff;shadow\x3d0;",100,36,"NORMAL","Raised Button (Normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#cccccc;opacity\x3d15;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#ffffff;shadow\x3d0;",
100,36,"HOVER","Raised Button (Hover)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#cccccc;opacity\x3d15;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#ffffff;shadow\x3d0;",100,36,"FOCUSED","Raised Button (Focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#cccccc;opacity\x3d25;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#ffffff;shadow\x3d0;",
100,36,"PRESSED","Raised Button (Pressed)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3dnone;strokeColor\x3dnone;fontStyle\x3d1;opacity\x3d12;fontColor\x3d#BDBDBD;shadow\x3d1;",100,36,"DISABLED","Raised Button (Pressed)",null,null,this.getTagsForStencil("mxgraph.gmdl","button","gmdl google media design library button ").join(" ")),
this.addEntry("gmdl google media design library button dropdown menu",function(){var a=new mxCell("",new mxGeometry(0,0,100,180),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("State 1",new mxGeometry(0,0,100,45),"text;fontColor\x3d#FF4081;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("State 2",new mxGeometry(0,
0,100,45),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;fillColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.offset=new mxPoint(0,45);b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("State 3",new mxGeometry(0,0,100,45),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;resizeWidth\x3d1;");b.geometry.offset=new mxPoint(0,90);b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("State 4",new mxGeometry(0,0,100,
45),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;resizeWidth\x3d1;");b.geometry.offset=new mxPoint(0,135);b.geometry.relative=!0;b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],100,180,"Dropdown Menu")}),this.addEntry("gmdl google media design library button dropdown button",function(){var a=new mxCell("",new mxGeometry(0,0,100,40),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#cccccc;");a.vertex=
!0;var b=new mxCell("Arial",new mxGeometry(0,0,100,40),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.triangle;fillColor\x3d#cccccc;strokeColor\x3dnone;");b.geometry.offset=new mxPoint(-25,-2.5);b.geometry.relative=!0;b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],100,30,"Dropdown Button")}),this.addEntry("gmdl google media design library button dropdown button",
function(){var a=new mxCell("",new mxGeometry(0,0,100,40),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#cccccc;");a.vertex=!0;var b=new mxCell("Arial",new mxGeometry(0,0,100,40),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,40,40),"shape\x3drect;fillColor\x3dnone;strokeColor\x3d#cccccc;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-40,
0);b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(0.5,0.5,10,5),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.triangle;fillColor\x3d#cccccc;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-5,-2.5);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],100,40,"Dropdown Button (Editable)")}),this.addEntry("gmdl google media design library button dropdown button",function(){var a=new mxCell("",new mxGeometry(0,0,100,150),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#cccccc;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("Arial",new mxGeometry(0,0,100,40),"shape\x3drect;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;strokeColor\x3d#cccccc;align\x3dleft;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.triangle;fillColor\x3d#cccccc;strokeColor\x3dnone;");e.geometry.offset=new mxPoint(-25,-2.5);e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("Calibri",
new mxGeometry(0,0,100,30),"shape\x3drect;align\x3dleft;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;fillColor\x3d#eeeeee;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.offset=new mxPoint(0,50);b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Courier",new mxGeometry(0,0,100,30),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;resizeWidth\x3d1;");b.geometry.offset=new mxPoint(0,80);b.geometry.relative=!0;b.vertex=!0;
a.insert(b);b=new mxCell("Verdana",new mxGeometry(0,0,100,30),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;resizeWidth\x3d1;");b.geometry.offset=new mxPoint(0,110);b.geometry.relative=!0;b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],100,150,"Dropdown Button (Selected)")}),this.addEntry("gmdl google media design library button dropdown button",function(){var a=new mxCell("",new mxGeometry(0,0,100,150),"dashed\x3d0;align\x3dcenter;fontSize\x3d12;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#cccccc;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("Arial",new mxGeometry(0,0,100,40),"shape\x3drect;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;strokeColor\x3d#cccccc;align\x3dleft;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0,40,40),"shape\x3drect;fillColor\x3dnone;strokeColor\x3d#cccccc;resizeHeight\x3d1;");e.geometry.offset=new mxPoint(-40,0);e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0.5,
0.5,10,5),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.triangle;fillColor\x3d#cccccc;strokeColor\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-5,-2.5);b.vertex=!0;e.insert(b);e=new mxCell("Calibri",new mxGeometry(0,0,100,30),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;resizeWidth\x3d1;");e.geometry.offset=new mxPoint(0,50);e.geometry.relative=!0;e.vertex=!0;a.insert(e);e=new mxCell("Courier",new mxGeometry(0,0,100,30),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;resizeWidth\x3d1;");
e.geometry.offset=new mxPoint(0,80);e.geometry.relative=!0;e.vertex=!0;a.insert(e);e=new mxCell("Verdana",new mxGeometry(0,0,100,30),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d13;fontSize\x3d14;resizeWidth\x3d1;");e.geometry.offset=new mxPoint(0,110);e.geometry.relative=!0;e.vertex=!0;a.insert(e);return c.createVertexTemplateFromCells([a],100,150,"Dropdown Button (Selected, Editable)")}),this.addEntry("gmdl google media design library button persistent footer button",function(){var a=
new mxCell("",new mxGeometry(0,0,300,40),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;");a.vertex=!0;var b=new mxCell("BUTTON",new mxGeometry(0,0,75,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d12;fontColor\x3d#2196F3;dashed\x3d0;");b.vertex=!0;a.insert(b);b=new mxCell("BUTTON",new mxGeometry(75,0,75,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d12;fontColor\x3d#2196F3;dashed\x3d0;");b.vertex=!0;a.insert(b);b=new mxCell("BUTTON",
new mxGeometry(150,0,75,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d12;fontColor\x3d#2196F3;dashed\x3d0;");b.vertex=!0;a.insert(b);b=new mxCell("BUTTON",new mxGeometry(225,0,75,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d12;fontColor\x3d#2196F3;dashed\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],300,40,"Persistent Footer Buttons")}),this.addEntry("gmdl google media design library button persistent footer button",function(){var a=
new mxCell("",new mxGeometry(0,0,300,40),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;");a.vertex=!0;var b=new mxCell("BUTTON",new mxGeometry(0,0,75,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d12;fontColor\x3d#2196F3;dashed\x3d0;resizeHeight\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("BUTTON",new mxGeometry(0,0,75,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d12;fontColor\x3d#2196F3;dashed\x3d0;resizeHeight\x3d1;");
b.geometry.offset=new mxPoint(75,0);b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("BUTTON",new mxGeometry(0,0,75,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d12;fontColor\x3d#2196F3;dashed\x3d0;resizeHeight\x3d1;");b.geometry.offset=new mxPoint(150,0);b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("BUTTON",new mxGeometry(0,0,75,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d12;fontColor\x3d#2196F3;dashed\x3d0;resizeHeight\x3d1;");
b.geometry.offset=new mxPoint(225,0);b.geometry.relative=!0;b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],300,40,"Persistent Footer Buttons (fixed)")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;fillColor\x3d#FF4081;strokeColor\x3dnone;shadow\x3d1;aspect\x3dfixed;");a.vertex=!0;var b=new mxCell("",new mxGeometry(20,20,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#ffffff;strokeWidth\x3d2;shadow\x3d0;");
b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");a.vertex=!0;var b=new mxCell("",
new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.edit;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,19,20,18),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.heart;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,19,20,18),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.reply;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,20,24,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.users;strokeColor\x3d#ffffff;fillColor\x3d#737373;strokeWidth\x3d2;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.gps;strokeColor\x3d#737373;fillColor\x3d#737373;strokeWidth\x3d2;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.share2;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.navigate;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.chat;strokeColor\x3d#737373;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(22,18,12,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.voice;strokeColor\x3d#737373;fillColor\x3d#737373;strokeWidth\x3d2;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(20,16,16,24),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.google;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,20,24,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.video;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,17,24,22),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.gallery;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,17,24,22),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.birthday;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,20,24,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.cloud;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(20,20,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#737373;strokeWidth\x3d2;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(22,18,12,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.bookmark;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.calendar;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(17,20,22,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.attractions;strokeColor\x3d#ffffff;fillColor\x3d#737373;strokeWidth\x3d1;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(20,18,16,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.dining;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.education;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.family;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,19,20,18),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.health;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.office;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.promotions;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.radio;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.recipes;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.sports;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(18,18,20,20),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.travel;strokeColor\x3dnone;fillColor\x3d#737373;direction\x3dsouth;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button mini",function(){var a=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;dashed\x3d0;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d13;fontColor\x3d#000000;align\x3dcenter;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;html\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(12,12,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#737373;strokeWidth\x3d2;shadow\x3d0;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],40,40,"Floating Action Button (Mini)")}),this.addEntry("gmdl google media design library button toolbar",function(){var a=new mxCell("",new mxGeometry(0,0,358,64),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;graientColor\x3dnone;");a.vertex=!0;var b=new mxCell("",
new mxGeometry(0.25,0.5,24,18),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.camera;strokeColor\x3d#ffffff;fillColor\x3d#737373;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-12,-9);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.5,0.5,24,18),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.video;strokeColor\x3dnone;fillColor\x3d#737373;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-12,-9);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.75,
0.5,20,22),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.gallery;strokeColor\x3dnone;fillColor\x3d#737373;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-10,-11);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Toolbar")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(8,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#D1D3D4;shadow\x3d1;gradientColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0.5,0.5,12,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.copy;strokeColor\x3d#666666;fillColor\x3d#666666;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-6,-8);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(8,50,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#D1D3D4;shadow\x3d1;gradientColor\x3dnone;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0.5,0.5,18,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.print;strokeColor\x3dnone;fillColor\x3d#666666;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-9,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,100,56,56),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#FF4081;shadow\x3d1;gradientColor\x3dnone;");e.vertex=!0;var f=new mxCell("",new mxGeometry(0.5,0.5,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#ffffff;strokeWidth\x3d2;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-8,-8);f.vertex=!0;e.insert(f);return c.createVertexTemplateFromCells([a,
b,e],50,156,"Floating action buttons")}),this.addEntry("gmdl google media design library button related actions",function(){var a=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#ffffff;shadow\x3d1;gradientColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0.5,0.5,14,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.doc;strokeColor\x3d#ffffff;fillColor\x3d#737373;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-7,-8);
b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(80,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#ffffff;shadow\x3d1;gradientColor\x3dnone;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0.5,0.5,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.spreadsheet;strokeColor\x3d#ffffff;fillColor\x3d#737373;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-9,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(160,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#ffffff;shadow\x3d1;gradientColor\x3dnone;");
e.vertex=!0;var f=new mxCell("",new mxGeometry(0.5,0.5,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.sheet;strokeColor\x3dnone;fillColor\x3d#737373;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-8,-8);f.vertex=!0;e.insert(f);return c.createVertexTemplateFromCells([a,b,e],200,40,"Related actions")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(8,0,40,40),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;shadow\x3d1;gradientColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(8,80,40,40),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;shadow\x3d1;gradientColor\x3dnone;");b.vertex=!0;var e=new mxCell("",new mxGeometry(8,160,40,40),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;shadow\x3d1;gradientColor\x3dnone;");e.vertex=!0;var f=new mxCell("",new mxGeometry(8,240,40,40),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;shadow\x3d1;gradientColor\x3dnone;");
f.vertex=!0;var k=new mxCell("",new mxGeometry(8,320,40,40),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;shadow\x3d1;gradientColor\x3dnone;");k.vertex=!0;var l=new mxCell("",new mxGeometry(0,400,56,56),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#ffffff;shadow\x3d1;gradientColor\x3dnone;");l.vertex=!0;var n=new mxCell("",new mxGeometry(0.5,0.5,16,16),"dashed\x3d0;html\x3d1;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#737373;strokeWidth\x3d2;");n.geometry.relative=
!0;n.geometry.offset=new mxPoint(-8,-8);n.vertex=!0;l.insert(n);return c.createVertexTemplateFromCells([a,b,e,f,k,l],50,456,"Floating action buttons")})];this.addPalette("gmdlButtons","GMDL / Buttons",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLCardsPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,356),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,342,196),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#BDBDBD;whiteSpace\x3dwrap;");b.vertex=!0;a.insert(b);b=new mxCell("Kangaroo Valley Safari",new mxGeometry(0,0.5506,342,45),"text;verticalAlign\x3dbottom;fontSize\x3d23;spacingLeft\x3d16;spacing\x3d0;spacingBottom\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Located two hours south of Sydney in the Southern Highlands of New Sout Wales, ...",new mxGeometry(0,
0.5506,342,76),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d14;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=1;b.geometry.offset=new mxPoint(0,50);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,356,0,0),"shape\x3drect;fillColor\x3dnone;strokeColor\x3dnone;");b.vertex=!0;a.insert(b);var e=new mxCell("SHARE",new mxGeometry(0,-44,80,44),"text;fontSize\x3d12;fontColor\x3d#FFA534;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-44);e.vertex=!0;b.insert(e);e=new mxCell("EXPLORE",new mxGeometry(80,-44,80,44),"text;fontSize\x3d12;fontColor\x3d#FFA534;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(80,-44);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,356,"Card")}),this.addEntry("gmdl google media design library card card collection",function(){var a=
new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#455A64;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Travel stream",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#607D8B;resizeWidth\x3d1;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;spacingLeft\x3d72;align\x3dleft;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-30,-8);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,366),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;resizeWidth\x3d1;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("Top 10 Australian beaches",new mxGeometry(0,0,358,204),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;rectMarginBottom\x3d-8;strokeColor\x3dnone;fillColor\x3d#BDBDBD;whiteSpace\x3dwrap;fontColor\x3d#FFFFFF;verticalAlign\x3dbottom;align\x3dleft;fontSize\x3d24;spacing\x3d16;");e.vertex=!0;b.insert(e);e=new mxCell("Number 10",new mxGeometry(0,0.555,358,34),"text;verticalAlign\x3dmiddle;fontSize\x3d14;spacingLeft\x3d24;spacing\x3d0;spacingBottom\x3d-5;fontColor\x3d#999999;resizeWidth\x3d1;");
e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("Whiteheaven Beach\nWhitsunday Island, Whitsunday Islands",new mxGeometry(0,0.555,358,50),"text;whiteSpace\x3dwrap;spacingLeft\x3d24;spacingRight\x3d16;spacing\x3d0;fontSize\x3d14;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,34);e.vertex=!0;b.insert(e);e=new mxCell("SHARE",new mxGeometry(0,1,80,44),"text;fontSize\x3d12;fontColor\x3d#FFA534;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(8,-52);e.vertex=!0;b.insert(e);e=new mxCell("EXPLORE",new mxGeometry(0,1,80,44),"text;fontSize\x3d12;fontColor\x3d#FFA534;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(88,-52);e.vertex=!0;b.insert(e);b=new mxCell("Kangaroo Valley Safari",new mxGeometry(0,0.695,358,180),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;strokeColor\x3dnone;fillColor\x3d#BDBDBD;whiteSpace\x3dwrap;fontColor\x3d#FFFFFF;verticalAlign\x3dbottom;align\x3dleft;fontSize\x3d24;spacing\x3d16;spacingBottom\x3d24;resizeWidth\x3d1;resizeHeight\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",
new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Card Collection")}),this.addEntry("gmdl google media design library card card collection",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#C2185B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("My music",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#E91E63;resizeWidth\x3d1;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;spacingLeft\x3d72;align\x3dleft;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#6F0E2F;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#2D566B;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-30,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,358,172),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;rectMarginBottom\x3d-4;fillColor\x3d#2D566B;strokeColor\x3dnone;shadow\x3d1;resizeWidth\x3d1;resizeHeight\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("Unlimited music now",new mxGeometry(0,0,342,60),"text;whiteSpace\x3dwrap;fontColor\x3d#FFFFFF;verticalAlign\x3dbottom;align\x3dleft;fontSize\x3d24;spacing\x3d16;spacingBottom\x3d-8;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Listen to your favorite artists and albums whenever wherever online and offline.",new mxGeometry(0,0,342,50),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d14;fontColor\x3d#FFFFFF;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,55);b.vertex=!0;e.insert(b);b=new mxCell("LISTEN NOW",new mxGeometry(0,1,120,52),"text;verticalAlign\x3dmiddle;fontSize\x3d13;spacingLeft\x3d0;spacing\x3d0;spacingBottom\x3d0;fontColor\x3d#FFFFFF;align\x3dcenter;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(8,-52);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,255,358,156),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;rectMarginTop\x3d-4;rectMarginBottom\x3d-4;fillColor\x3d#227586;strokeColor\x3dnone;shadow\x3d1;");
e.vertex=!0;a.insert(e);b=new mxCell("Supermodel",new mxGeometry(0,0,342,60),"text;whiteSpace\x3dwrap;fontColor\x3d#FFFFFF;verticalAlign\x3dbottom;align\x3dleft;fontSize\x3d24;spacing\x3d16;spacingBottom\x3d-8;");b.vertex=!0;e.insert(b);b=new mxCell("Foster the People",new mxGeometry(0,55,342,50),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d14;fontColor\x3d#FFFFFF;");b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(194,0,164,156),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d24;rectMarginRight\x3d8;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");
b.geometry.offset=new mxPoint(-160,0);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,411,358,156),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;rectMarginTop\x3d-4;rectMarginBottom\x3d-4;fillColor\x3d#871E6A;strokeColor\x3dnone;shadow\x3d1;");e.vertex=!0;a.insert(e);b=new mxCell("Halcyon Days",new mxGeometry(0,0,342,60),"text;whiteSpace\x3dwrap;fontColor\x3d#FFFFFF;verticalAlign\x3dbottom;align\x3dleft;fontSize\x3d24;spacing\x3d16;spacingBottom\x3d-8;");b.vertex=!0;e.insert(b);
b=new mxCell("Ellie Goulding",new mxGeometry(0,55,342,50),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d14;fontColor\x3d#FFFFFF;");b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(194,0,164,156),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d24;rectMarginRight\x3d8;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");b.geometry.offset=new mxPoint(-160,0);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,567,358,35),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;rectMarginTop\x3d-4;rectMarginBottom\x3d-4;fillColor\x3d#AB1656;strokeColor\x3dnone;shadow\x3d1;");
e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(194,0,164,35),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d24;rectMarginRight\x3d8;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");b.geometry.offset=new mxPoint(-160,0);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,
0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Card Collection")}),this.addEntry("gmdl google media design library card card collection varied layouts",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#303F9F;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Discover",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#3F51B5;;resizeWidth\x3d1;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;spacingLeft\x3d72;align\x3dleft;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-30,-8);e.vertex=!0;
b.insert(e);e=new mxCell("Pre-fab homes",new mxGeometry(0,0,358,233),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d6;rectMarginBottom\x3d-3;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d1;fontColor\x3d#FFFFFF;fontSize\x3d24;verticalAlign\x3dbottom;spacingBottom\x3d54;spacing\x3d22;align\x3dleft;resizeWidth\x3d1;resizeHeight\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,1,358,51),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d6;rectMarginBottom\x3d-3;fillColor\x3d#ffffff;strokeColor\x3dnone;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-51);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(1,0.5,18,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.heart;fillColor\x3d#BDBDBD;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-155,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.bookmark;fillColor\x3d#BDBDBD;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-102,-10);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.share;fillColor\x3d#BDBDBD;strokeColor\x3d#BDBDBD;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-49,-10);e.vertex=!0;b.insert(e);e=new mxCell("Favorite\nroad trips",new mxGeometry(0,0.3656,179,222),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d3;rectMarginLeft\x3d3;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d1;fontColor\x3d#ffffff;fontSize\x3d24;whiteSpace\x3dwrap;spacing\x3d16;verticalAlign\x3dbottom;align\x3dleft;spacingBottom\x3d48;resizeWidth\x3d1;resizeHeight\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,1,179,51),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d6;rectMarginBottom\x3d-3;rectMarginRight\x3d-3;fillColor\x3d#ffffff;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-51);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(1,0.5,18,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.heart;fillColor\x3d#BDBDBD;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-155,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.bookmark;fillColor\x3d#BDBDBD;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-102,-10);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.share;fillColor\x3d#BDBDBD;strokeColor\x3d#BDBDBD;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-49,-10);e.vertex=!0;b.insert(e);e=new mxCell("Best\nairlines",new mxGeometry(0.5,0.3656,179,222),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d3;rectMarginRight\x3d3;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d1;fontColor\x3d#ffffff;fontSize\x3d24;whiteSpace\x3dwrap;spacing\x3d16;verticalAlign\x3dbottom;align\x3dleft;spacingBottom\x3d48;resizeWidth\x3d1;resizeHeight\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,
81);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,1,179,51),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d6;rectMarginBottom\x3d-3;rectMarginLeft\x3d-3;fillColor\x3d#ffffff;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-51);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(1,0.5,18,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.heart;fillColor\x3d#BDBDBD;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-155,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.bookmark;fillColor\x3d#BDBDBD;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-102,-10);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.share;fillColor\x3d#BDBDBD;strokeColor\x3d#BDBDBD;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-49,-10);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0.71,358,60),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d6;rectMarginBottom\x3d-3;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d1;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Card collection with varied layouts")}),this.addEntry("gmdl google media design library card card collection",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00796B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Feed reader",
new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#009688;;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;spacingLeft\x3d72;align\x3dleft;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#00423B;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);
e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.refresh;strokeColor\x3d#00423B;fillColor\x3d#00423B;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#00423B;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,-8);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,
0,358,272),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;rectMarginBottom\x3d-4;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;resizeHeight\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0,76,76),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-96,20);e.vertex=!0;b.insert(e);e=new mxCell("Travel",new mxGeometry(0,0,250,
40),"text;verticalAlign\x3dbottom;spacingLeft\x3d24;fontSize\x3d13;fontColor\x3d#999999;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,8);e.vertex=!0;b.insert(e);e=new mxCell("New York City",new mxGeometry(0,0,250,40),"text;verticalAlign\x3dmiddle;spacingLeft\x3d24;fontSize\x3d22;fontColor\x3d#000000;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,42);e.vertex=!0;b.insert(e);e=new mxCell("Day reappeared. The tempest still raged with undiminished fury; but the window returned to the south-east. It was a favourable change and the Tankadere again.",
new mxGeometry(0,0,342,88),"text;whitespace\x3dwrap;whiteSpace\x3dwrap;spacing\x3d16;fontSize\x3d14;verticalAlign\x3dtop;spacingBottom\x3d0;spacingTop\x3d-10;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,108);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 1",new mxGeometry(0,1,98,48),"text;verticalAlign\x3dmiddle;spacingLeft\x3d0;fontSize\x3d13;fontColor\x3d#4C5DBA;align\x3dcenter;spacing\x3d0;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-52);
e.vertex=!0;b.insert(e);e=new mxCell("ACTION 2",new mxGeometry(0,1,90,48),"text;verticalAlign\x3dmiddle;spacingLeft\x3d8;fontSize\x3d13;fontColor\x3d#4C5DBA;align\x3dcenter;spacing\x3d0;fontStyle\x3d1");e.geometry.relative=!0;e.geometry.offset=new mxPoint(98,-52);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0.425,358,222),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;rectMarginTop\x3d-4;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;resizeHeight\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0,76,76),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-96,20);e.vertex=!0;b.insert(e);e=new mxCell("Recreation",new mxGeometry(0,0,250,40),"text;verticalAlign\x3dbottom;spacingLeft\x3d24;fontSize\x3d13;fontColor\x3d#999999;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,8);e.vertex=!0;b.insert(e);
e=new mxCell("Fun at the Beach",new mxGeometry(0,0,250,40),"text;verticalAlign\x3dmiddle;spacingLeft\x3d24;fontSize\x3d22;fontColor\x3d#000000;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,42);e.vertex=!0;b.insert(e);e=new mxCell("There were some signs of a calm at noon and these became more distinct as the sun.",new mxGeometry(0,0,342,88),"text;whitespace\x3dwrap;whiteSpace\x3dwrap;spacing\x3d16;fontSize\x3d14;verticalAlign\x3dtop;spacingBottom\x3d0;spacingTop\x3d-10;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,108);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 1",new mxGeometry(0,1,98,48),"text;verticalAlign\x3dmiddle;spacingLeft\x3d0;fontSize\x3d13;fontColor\x3d#4C5DBA;align\x3dcenter;spacing\x3d0;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-52);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 2",new mxGeometry(0,1,90,48),"text;verticalAlign\x3dmiddle;spacingLeft\x3d8;fontSize\x3d13;fontColor\x3d#4C5DBA;align\x3dcenter;spacing\x3d0;fontStyle\x3d1");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(98,-52);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0.76,358,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;resizeHeight\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Card collection")}),this.addEntry("gmdl google media design library card card collection",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ECECEC;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#B4B4B4;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Notes",
new mxGeometry(0,0,358,57),"text;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#333333;spacingTop\x3d-3;verticalAlign\x3dmiddle;spacingLeft\x3d72;align\x3dleft;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#333333;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);
e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#333333;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-30,-8);e.vertex=!0;b.insert(e);b=new mxCell("Call\nJennifer",new mxGeometry(0,0,179,140),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d4;rectMarginTop\x3d4;rectMarginLeft\x3d4;fillColor\x3d#00BCD4;strokeColor\x3dnone;shadow\x3d1;fontColor\x3d#FFFFFF;align\x3dleft;verticalAlign\x3dtop;fontSize\x3d24;spacingLeft\x3d24;spacingTop\x3d14;resizeHeight\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,1,167,20),"shape\x3dline;strokeColor\x3d#00AEC4;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(8,-54);e.vertex=!0;b.insert(e);e=new mxCell("May 24, 2017",new mxGeometry(0,1,179,40),"text;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;spacingLeft\x3d24;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-44);e.vertex=!0;b.insert(e);e=new mxCell("",
new mxGeometry(1,1,20,24),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;fillColor\x3d#ffffff;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-33,-36);e.vertex=!0;b.insert(e);b=new mxCell("To bring:\n\n- camping gear\n- lantern\n- smores\n- extra blankets\n- towel for pup\n- warm socks\n- first aid kit",new mxGeometry(0,0.217,179,196),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d4;rectMarginLeft\x3d4;fillColor\x3d#3F51B5;strokeColor\x3dnone;shadow\x3d1;fontColor\x3d#FFFFFF;align\x3dleft;verticalAlign\x3dtop;fontSize\x3d13;spacingLeft\x3d24;spacingTop\x3d10;resizeHeight\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);b=new mxCell("Yuna\ntickets on\nsale 6/24",new mxGeometry(0,0.52,179,168),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d4;rectMarginLeft\x3d4;fillColor\x3d#607D8B;strokeColor\x3dnone;shadow\x3d1;fontColor\x3d#FFFFFF;align\x3dleft;verticalAlign\x3dtop;fontSize\x3d24;spacingLeft\x3d24;spacingTop\x3d10;resizeHeight\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=
!0;a.insert(b);e=new mxCell("",new mxGeometry(0,1,167,20),"shape\x3dline;strokeColor\x3d#597481;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(8,-54);e.vertex=!0;b.insert(e);e=new mxCell("Marh 24, 2017",new mxGeometry(0,1,179,40),"text;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;spacingLeft\x3d16;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-44);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,1,18,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.calendar;fillColor\x3d#ffffff;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-34);e.vertex=!0;b.insert(e);b=new mxCell("To bring:\n\n- camping gear\n- lantern\n- smores\n- extra blankets\n- towel for pup\n- warm socks\n- first aid kit",new mxGeometry(0,0.78,179,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d4;rectMarginLeft\x3d4;fillColor\x3d#FFEB3B;strokeColor\x3dnone;shadow\x3d1;fontColor\x3d#FFFFFF;align\x3dleft;verticalAlign\x3dtop;fontSize\x3d13;spacingLeft\x3d16;spacingTop\x3d6;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);b=new mxCell("Groceries",new mxGeometry(0.5,0,179,236),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d4;rectMarginTop\x3d4;rectMarginRight\x3d4;fillColor\x3d#455A64;strokeColor\x3dnone;shadow\x3d1;fontColor\x3d#bbbbbb;align\x3dleft;verticalAlign\x3dtop;fontSize\x3d13;spacingLeft\x3d20;spacingTop\x3d14;resizeHeight\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=
!0;a.insert(b);e=new mxCell("",new mxGeometry(0,1,168,20),"shape\x3dline;strokeColor\x3d#597481;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(4,-54);e.vertex=!0;b.insert(e);e=new mxCell("almond milk",new mxGeometry(0,0,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#ffffff;shadow\x3d0;fontColor\x3d#FFFFFF;fillColor\x3dnone;strokeWidth\x3d2;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d10;fontSize\x3d13;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(20,52);e.vertex=!0;b.insert(e);var f=new mxCell("coconut water",new mxGeometry(0,0,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#ffffff;shadow\x3d0;fontColor\x3d#FFFFFF;fillColor\x3dnone;strokeWidth\x3d2;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d10;fontSize\x3d13;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(20,86);f.vertex=!0;b.insert(f);e=new mxCell("cucumber",
new mxGeometry(0,0,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3dnone;shadow\x3d0;fontColor\x3d#FFFFFF;fillColor\x3d#089953;strokeWidth\x3d2;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d10;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(20,120);e.vertex=!0;b.insert(e);e=new mxCell("green apples",new mxGeometry(0,0,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#ffffff;shadow\x3d0;fontColor\x3d#FFFFFF;fillColor\x3dnone;strokeWidth\x3d2;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d10;fontSize\x3d13;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(20,154);e.vertex=!0;b.insert(e);e=new mxCell("Campbell",new mxGeometry(0,1,168,40),"text;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;spacingLeft\x3d20;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-44);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,1,14,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.location;fillColor\x3d#ffffff;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-36,-35);e.vertex=!0;b.insert(e);
b=new mxCell("Clean desk",new mxGeometry(0.5,0.365,179,62),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d4;rectMarginRight\x3d4;fillColor\x3d#607D8B;strokeColor\x3dnone;shadow\x3d1;fontColor\x3d#FFFFFF;fontSize\x3d24;align\x3dleft;spacingLeft\x3d20;spacingTop\x3d-2;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.5,0.46,179,230),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d4;rectMarginRight\x3d4;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d1;resizeWidth\x3d1;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell('New exhibition at Dan\n"Food to Love"\n6.25.14-6.26-14\n740 Valencia St.',new mxGeometry(0,126,179,104),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d4;rectMarginRight\x3d4;strokeColor\x3d#FF7043;fillColor\x3d#FF7043;shadow\x3d0;fontColor\x3d#FFFFFF;align\x3dleft;fontSize\x3d10;spacingLeft\x3d20;");e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,1,56,56),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#EEFF41;shadow\x3d0;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-75,-128);e.vertex=!0;a.insert(e);f=new mxCell("",new mxGeometry(21,21,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#767E1F;strokeWidth\x3d2;shadow\x3d0;");f.vertex=!0;e.insert(f);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,
0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Card collection")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,344,254),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3d#BDBDBD;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Greyhound divisively hello couldly wonderfully marginally far upon excluding.",new mxGeometry(0,172,344,82),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;;whiteSpace\x3dwrap;align\x3dleft;spacingLeft\x3d16;fontColor\x3d#666666;fontSize\x3d14;");
b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],300,230,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,378),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,342,70),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(0,0,
40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(15,15);e.vertex=!0;b.insert(e);e=new mxCell("Title",new mxGeometry(0,0,235,20),"text;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(65,15);e.vertex=!0;b.insert(e);e=new mxCell("Subhead",new mxGeometry(0,0,235,20),"text;fontColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(65,35);e.vertex=!0;b.insert(e);b=new mxCell("Greyhound divisively hello couldly wonderfully marginally far upon excluding.",
new mxGeometry(0,250,342,128),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;;whiteSpace\x3dwrap;align\x3dleft;spacingLeft\x3d16;fontColor\x3d#666666;verticalAlign\x3dtop;spacingTop\x3d10;fontSize\x3d13;spacingRight\x3d16;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,342,48),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;;whiteSpace\x3dwrap;align\x3dleft;spacingLeft\x3d14;fontColor\x3d#BDBDBD;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,1,24,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F27CC2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(15,-38);e.vertex=!0;b.insert(e);var f=new mxCell("",new mxGeometry(3,4,18,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.heart;strokeColor\x3dnone;fillColor\x3d#B53E85;");f.vertex=!0;e.insert(f);e=new mxCell("",new mxGeometry(0,1,24,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F6BBDE;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(63,-38);e.vertex=!0;b.insert(e);f=new mxCell("",new mxGeometry(3,4,18,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.reply;strokeColor\x3dnone;fillColor\x3d#995E81;");f.vertex=!0;e.insert(f);e=new mxCell("ACTION",new mxGeometry(1,1,70,36),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F6BBDE;fontColor\x3d#6A2F52;fontStyle\x3d1;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-152,-42);e.vertex=!0;b.insert(e);e=new mxCell("ACTION",new mxGeometry(1,1,70,36),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F37DC3;fontColor\x3d#8C155C;fontStyle\x3d1;fontSize\x3d13;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-75,-42);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,378,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,344,420),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#999999;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(15,
15);b.vertex=!0;a.insert(b);b=new mxCell("Title",new mxGeometry(0,0,235,20),"text;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(65,15);b.vertex=!0;a.insert(b);b=new mxCell("Subhead",new mxGeometry(0,0,235,20),"text;fontColor\x3d#999999;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(65,35);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0116,0,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.2587,0,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.5058,0,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("",
new mxGeometry(0.7529,0,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0116,0.2024,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.2587,0.2024,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.5058,0.2024,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.7529,0.2024,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
70);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0116,0.4048,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.2587,0.4048,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("",
new mxGeometry(0.5058,0.4048,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.7529,0.4048,81,81),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#666666;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;b.vertex=!0;a.insert(b);b=new mxCell("ACTION",new mxGeometry(0,1,344,48),
"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;;whiteSpace\x3dwrap;align\x3dleft;spacingLeft\x3d14;fontColor\x3d#737373;fontStyle\x3d1;fontSize\x3d14;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-96);b.vertex=!0;a.insert(b);b=new mxCell("ACTION",new mxGeometry(0,1,344,48),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;;whiteSpace\x3dwrap;align\x3dleft;spacingLeft\x3d14;fontColor\x3d#737373;fontStyle\x3d1;fontSize\x3d14;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],344,420,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,344,162),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,1,344,48),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
-48);b.vertex=!0;a.insert(b);b=new mxCell("Action area 3",new mxGeometry(248,0,96,162),"shape\x3drect;fillColor\x3d#F37DC3;strokeColor\x3dnone;fontColor\x3d#EC1996;opacity\x3d30;fontSize\x3d10;fontStyle\x3d1");b.vertex=!0;a.insert(b);b=new mxCell("Title",new mxGeometry(0,0,248,40),"text;fontSize\x3d20;fontColor\x3d#666666;spacingTop\x3d10;verticalAlign\x3dmiddle;spacingLeft\x3d10;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Subhead",new mxGeometry(0,0,248,20),"text;fontSize\x3d12;fontColor\x3d#666666;spacingTop\x3d0;verticalAlign\x3dmiddle;spacingLeft\x3d10;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,40);b.vertex=!0;a.insert(b);b=new mxCell("Greyhound divisively hello",new mxGeometry(0,0,248,20),"text;fontSize\x3d13;fontColor\x3d#3C3C3C;spacingTop\x3d0;verticalAlign\x3dmiddle;spacingLeft\x3d10;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,65);b.vertex=!0;a.insert(b);b=new mxCell("ACTION",new mxGeometry(0,1,70,36),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F37DC3;fontColor\x3d#8C155C;fontStyle\x3d1;fontSize\x3d12;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(5,-42);b.vertex=!0;a.insert(b);b=new mxCell("ACTION",new mxGeometry(0,1,70,36),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F6BBDE;fontColor\x3d#6A2F52;fontStyle\x3d1;fontSize\x3d12;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(85,-42);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],344,162,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,344,
162),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,1,344,48),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(248,0,96,162),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3d#eeeeee;");b.vertex=!0;a.insert(b);b=new mxCell("Rate this album",new mxGeometry(0,0,248,40),"text;fontSize\x3d23;fontColor\x3d#666666;spacingTop\x3d10;verticalAlign\x3dmiddle;spacingLeft\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Mac Miller",new mxGeometry(0,0,248,20),"text;fontSize\x3d12;fontColor\x3d#666666;spacingTop\x3d0;verticalAlign\x3dmiddle;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,44);b.vertex=!0;a.insert(b);b=new mxCell("Live From Space",new mxGeometry(0,0,248,20),"text;fontSize\x3d13;fontColor\x3d#3C3C3C;spacingTop\x3d0;verticalAlign\x3dmiddle;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,65);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#666666;fillColor\x3d#ffffff;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(11,-33);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#666666;fillColor\x3d#ffffff;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(45,-33);b.vertex=!0;a.insert(b);b=new mxCell("",
new mxGeometry(0,1,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#666666;fillColor\x3d#ffffff;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(79,-33);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#666666;fillColor\x3d#ffffff;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(113,-33);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#666666;fillColor\x3d#ffffff;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(147,-33);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],344,162,"Card with UI controls")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,522),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,1,342,328),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;fontColor\x3d#666666;fontSize\x3d10;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-328);b.vertex=!0;a.insert(b);var e=new mxCell("Basilico",new mxGeometry(0,0,260,50),"text;fontColor\x3d#000000;fontSize\x3d26;fontStyle\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d10;resizeWidth\x3d1;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("250ft",new mxGeometry(1,0,10,15),"dashed\x3d0;shape\x3dmxgraph.gmdl.location;strokeColor\x3dnone;fillColor\x3d#C8C8C8;fontColor\x3d#999999;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d10;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-72,25);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,13,13),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#FACB43;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(10,61);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,13,13),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#FACB43;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(27,61);e.vertex=!0;b.insert(e);
e=new mxCell("",new mxGeometry(0,0,13,13),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#FACB43;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(44,61);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,13,13),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#FACB43;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(61,61);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,13,13),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#FACB43;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(78,61);e.vertex=!0;b.insert(e);e=new mxCell("4.7 (51)",new mxGeometry(0,0,50,20),"text;fontColor\x3d#999999;verticalAlign\x3dmiddle;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(100,58);e.vertex=!0;b.insert(e);e=new mxCell("$$$ - Italian Restaurant",new mxGeometry(0,0,342,20),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d10;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,90);
e.vertex=!0;b.insert(e);e=new mxCell("Creative Italian dishes offered with signature pasta \x26 a robust wine list in a cozy, rustic setting",new mxGeometry(0,0,340,60),"text;fontColor\x3d#999999;verticalAlign\x3dmiddle;fontSize\x3d13;spacingLeft\x3d16;whiteSpace\x3dwrap;spacingRight\x3d16;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,111);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,342,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(0,-154);e.vertex=!0;b.insert(e);e=new mxCell("Tonight's availability",new mxGeometry(0,1,342,40),"text;fontColor\x3d#000000;verticalAlign\x3dmiddle;fontSize\x3d14;spacingLeft\x3d10;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-144);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.clock;strokeColor\x3d#999999;fillColor\x3d#ffffff;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(16,-94);e.vertex=!0;b.insert(e);e=new mxCell("5:30PM",new mxGeometry(0.117,1,100,40),"text;fontColor\x3d#999999;verticalAlign\x3dmiddle;fontSize\x3d13;spacingLeft\x3d0;fontStyle\x3d1;align\x3dcenter;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-104);e.vertex=!0;b.insert(e);b=new mxCell("7:30PM",new mxGeometry(0.4094,1,100,40),"shape\x3drect;fontColor\x3d#000000;verticalAlign\x3dmiddle;fontSize\x3d13;spacingLeft\x3d0;strokeColor\x3dnone;fillColor\x3d#D3D3D3;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-104);b.vertex=!0;a.insert(b);b=new mxCell("9:00PM",new mxGeometry(0.7018,1,100,40),"text;fontColor\x3d#999999;verticalAlign\x3dmiddle;fontSize\x3d13;spacingLeft\x3d0;fontStyle\x3d1;align\x3dcenter;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-104);b.vertex=!0;a.insert(b);b=new mxCell("RESERVE",new mxGeometry(0,1,110,48),"text;fontColor\x3d#2E78F2;verticalAlign\x3dmiddle;fontSize\x3d13;spacingLeft\x3d0;fontStyle\x3d1;align\x3dcenter;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],342,522,"Card with segmented buttons")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,570),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("San Francisco",new mxGeometry(0,0,342,70),"text;fontColor\x3d#000000;fontSize\x3d25;fontStyle\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d10;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Mon, 12:30 PM, Mostly sunny",new mxGeometry(0,0,300,40),"text;fontColor\x3d#000000;fontSize\x3d14;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d2;spacingLeft\x3d10;align\x3dleft;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("66",new mxGeometry(0,110,100,100),"text;fontColor\x3d#757575;fontSize\x3d90;fontStyle\x3d0;verticalAlign\x3dtop;spacingBottom\x3d2;spacingLeft\x3d10;align\x3dleft;spacingTop\x3d-15;");
b.vertex=!0;a.insert(b);b=new mxCell(String.fromCharCode(176)+"F",new mxGeometry(0,0.193,70,70),"text;fontColor\x3d#757575;fontSize\x3d45;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d2;spacingLeft\x3d10;align\x3dleft;spacingTop\x3d-15;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(100,0);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.2105,80,70),"dashed\x3d0;shape\x3dmxgraph.gmdl.mostly_sunny;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-102,0);b.vertex=
!0;a.insert(b);b=new mxCell("10mph",new mxGeometry(0,0.2105,20,15),"dashed\x3d0;shape\x3dmxgraph.gmdl.wind;strokeWidth\x3d2;strokeColor\x3d#757575;fontColor\x3d#757575;fontSize\x3d14;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d30;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(20,110);b.vertex=!0;a.insert(b);b=new mxCell("3%",new mxGeometry(0,0.2105,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.mostly_cloudy;strokeWidth\x3d2;fontColor\x3d#757575;fontSize\x3d14;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d30;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(20,150);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0.5263,342,60),"shape\x3drect;fillColor\x3dnone;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,0);b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(16,15,310,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.scale;strokeWidth\x3d2;strokeColor\x3d#cccccc;");e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.365,0.25,30,30),"dashed\x3d0;shape\x3dmxgraph.gmdl.handle;fillColor\x3d#666666;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-15);e.vertex=!0;b.insert(e);e=new mxCell("8 AM",new mxGeometry(21,35,50,20),"text;fontColor\x3d#666666;fontSize\x3d10;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;");e.vertex=!0;b.insert(e);e=new mxCell("11 AM",new mxGeometry(82,35,50,20),"text;fontColor\x3d#666666;fontSize\x3d10;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;");e.vertex=!0;b.insert(e);e=new mxCell("2 PM",new mxGeometry(145,35,50,20),"text;fontColor\x3d#666666;fontSize\x3d10;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;");
e.vertex=!0;b.insert(e);e=new mxCell("5 PM",new mxGeometry(206,35,50,20),"text;fontColor\x3d#666666;fontSize\x3d10;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;");e.vertex=!0;b.insert(e);e=new mxCell("8 PM",new mxGeometry(269,35,50,20),"text;fontColor\x3d#666666;fontSize\x3d10;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;");e.vertex=!0;b.insert(e);b=new mxCell("Tuesday",new mxGeometry(0,1,220,20),"text;fontColor\x3d#666666;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-190);b.vertex=!0;a.insert(b);b=new mxCell('75\u00b0\x3cfont color\x3d"#999999"\x3e/52\u00b0\x3c/font\x3e',new mxGeometry(1,1,20,20),"shape\x3dellipse;fillColor\x3d#FFD85D;strokeColor\x3dnone;fontColor\x3d#666666;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;spacingLeft\x3d30;html\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-115,-190);b.vertex=!0;a.insert(b);
b=new mxCell("Wednesday",new mxGeometry(0,1,220,20),"text;fontColor\x3d#666666;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-143);b.vertex=!0;a.insert(b);b=new mxCell('73\u00b0\x3cfont color\x3d"#999999"\x3e/50\u00b0\x3c/font\x3e',new mxGeometry(1,1,20,20),"shape\x3dellipse;fillColor\x3d#FFD85D;strokeColor\x3dnone;fontColor\x3d#666666;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;spacingLeft\x3d30;html\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-115,-143);b.vertex=!0;a.insert(b);b=new mxCell("Thursday",new mxGeometry(0,1,220,20),"text;fontColor\x3d#666666;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-96);b.vertex=!0;a.insert(b);b=new mxCell('64\u00b0\x3cfont color\x3d"#999999"\x3e/52\u00b0\x3c/font\x3e',new mxGeometry(1,1,22,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.mostly_sunny;fillColor\x3d#FFD85D;strokeColor\x3dnone;fontColor\x3d#666666;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;spacingLeft\x3d30;html\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-115,-96);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,342,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-53);b.vertex=!0;a.insert(b);b=new mxCell("FULL REPORT",new mxGeometry(0,1,342,48),"text;fontColor\x3d#999999;fontSize\x3d14;fontStyle\x3d1;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
-48);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],342,570,"Card with slider")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,236),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Word of the Day",new mxGeometry(0,0,342,40),"text;fontColor\x3d#999999;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("be\u00b7nev\u00b7o\u00b7lent",new mxGeometry(0,0,342,40),"text;fontColor\x3d#444444;fontSize\x3d22;fontStyle\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,44);b.vertex=!0;a.insert(b);b=new mxCell("adjective",new mxGeometry(0,0,342,30),"text;fontColor\x3d#999999;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,80);b.vertex=!0;a.insert(b);b=new mxCell('well meaning and kindly\n"a benevolent smile"',new mxGeometry(0,0,342,40),"text;fontColor\x3d#444444;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d2;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,130);b.vertex=!0;a.insert(b);b=new mxCell("LEARN MORE",new mxGeometry(0,1,342,48),"text;fontColor\x3d#444444;fontSize\x3d14;fontStyle\x3d1;verticalAlign\x3dmiddle;spacingBottom\x3d2;spacingLeft\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],342,236,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,530),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Title goes here",new mxGeometry(0,1,342,338),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;fontSize\x3d23;fontStyle\x3d0;verticalAlign\x3dtop;spacingBottom\x3d0;spacingLeft\x3d16;spacingTop\x3d16;resizeWidth\x3d1;align\x3dleft;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-338);b.vertex=!0;a.insert(b);var e=new mxCell("Subtitle here",new mxGeometry(0,0,342,20),"text;fontColor\x3d#999999;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,60);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 1",new mxGeometry(0,0,85,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;fontSize\x3d13;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,100);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 2",new mxGeometry(0,0,85,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(85,100);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,20,10),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeWidth\x3d2;strokeColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-40,
115);e.vertex=!0;b.insert(e);e=new mxCell("I'm a thing. But, like most politicians, he promised more than he could deliver. You won't have time for sleeping, soldier, not with all the bed making you'll be doing. Then we'll go with that data file! Hey, you add a one and two zeros to that or we walk! You're going to do his laundry? I've got to find a way to escape.",new mxGeometry(0,0,342,196),"text;whiteSpace\x3dwrap;fontSize\x3d14;spacing\x3d16;spacingTop\x3d-4;resizeWidth\x3d1;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(0,142);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,530,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,386),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,342,72),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);
b=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,16);b.vertex=!0;a.insert(b);b=new mxCell("Title",new mxGeometry(0,0,240,20),"text;spacingLeft\x3d10;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(56,16);b.vertex=!0;a.insert(b);b=new mxCell("Subhead",new mxGeometry(0,0,240,20),"text;spacingLeft\x3d10;fontColor\x3d#999999;resizeWidth\x3d1;");b.geometry.relative=!0;
b.geometry.offset=new mxPoint(56,36);b.vertex=!0;a.insert(b);b=new mxCell("Greyhound divisively hello coldly wonderfully marginally far upon excluding.",new mxGeometry(0,1,342,122),"dashed\x3d0;shape\x3drect;whiteSpace\x3dwrap;align\x3dleft;spacingLeft\x3d0;fontColor\x3d#444444;spacing\x3d16;fontSize\x3d13;resizeWidth\x3d1;fillColor\x3d#ffffff;strokeColor\x3dnone;verticalAlign\x3dtop;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-122);b.vertex=!0;a.insert(b);var e=new mxCell("ACTION 1",
new mxGeometry(0,1,70,32),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(8,-40);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 2",new mxGeometry(0,1,70,32),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(86,-40);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,386,"Card")}),this.addEntry("gmdl google media design library card card",
function(){var a=new mxCell("",new mxGeometry(0,0,342,356),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,342,72),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,16);b.vertex=!0;
a.insert(b);b=new mxCell("Title",new mxGeometry(0,0,240,20),"text;spacingLeft\x3d10;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(56,16);b.vertex=!0;a.insert(b);b=new mxCell("Subhead",new mxGeometry(0,0,240,20),"text;spacingLeft\x3d10;fontColor\x3d#999999;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(56,36);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,342,92),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-92);b.vertex=!0;a.insert(b);var e=new mxCell("ACTION 1",new mxGeometry(0,1,70,32),"shape\x3drect;fontSize\x3d13;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(8,-76);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 2",new mxGeometry(0,1,70,32),"shape\x3drect;fontSize\x3d13;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(8,-40);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,356,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,334),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Title goes here",new mxGeometry(0,1,342,142),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;fontSize\x3d23;fontStyle\x3d0;verticalAlign\x3dtop;spacingBottom\x3d0;spacingLeft\x3d16;spacingTop\x3d16;resizeWidth\x3d1;align\x3dleft;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-142);b.vertex=!0;a.insert(b);var e=new mxCell("Subtitle here",new mxGeometry(0,0,342,20),"text;fontColor\x3d#999999;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,58);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 1",new mxGeometry(0,1,70,32),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;fontSize\x3d13;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(8,-40);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 2",new mxGeometry(0,1,70,32),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(86,-40);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,1,16,8),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeWidth\x3d3;strokeColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-38,
-25);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,334,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("Title goes here",new mxGeometry(0,0,300,266),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;fontColor\x3d#000000;fontSize\x3d23;fontStyle\x3d0;verticalAlign\x3dtop;spacingBottom\x3d0;spacingLeft\x3d16;spacingTop\x3d20;align\x3dleft;");a.vertex=!0;var b=new mxCell("Subtitle here",new mxGeometry(0,0,
300,20),"text;fontColor\x3d#999999;fontSize\x3d12;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,59);b.vertex=!0;a.insert(b);b=new mxCell("I'm a thing. But, like most politicians, he promised more than he could deliver. You won't have time for sleeping, soldier, not with all the bed making you'll be doing. Then we'll go with that data file! Hey, you add a one and two zeros to that or we walk! You're going to do his laundry? I've got to find a way to escape",
new mxGeometry(0,0,300,148),"text;whiteSpace\x3dwrap;fontSize\x3d13;spacing\x3d16;spacingTop\x3d-4;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("ACTION 1",new mxGeometry(0,1,70,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(8,-48);b.vertex=!0;a.insert(b);b=new mxCell("ACTION 2",new mxGeometry(0,1,70,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(86,-48);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],300,266,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,246),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,1,342,54),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,-54);b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,1,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.heart;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-147,-36);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,1,14,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.bookmark;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-37);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,
1,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.reply;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-49,-36);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,246,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,342),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;fontColor\x3d#000000;fontSize\x3d12;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingLeft\x3d0;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("Title goes here",new mxGeometry(0,1,342,138),"shape\x3drect;fillColor\x3d#000000;strokeColor\x3dnone;opacity\x3d25;fontColor\x3d#FFFFFF;fontSize\x3d23;fontStyle\x3d0;verticalAlign\x3dtop;spacingBottom\x3d0;spacingLeft\x3d16;spacingTop\x3d17;align\x3dleft;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-138);b.vertex=!0;a.insert(b);var e=new mxCell("Subtitle here",new mxGeometry(0,0,342,20),"text;fontColor\x3d#FFFFFF;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,54);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 1",new mxGeometry(0,1,80,32),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#FFFFFF;fontStyle\x3d1;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(8,-40);e.vertex=!0;b.insert(e);e=new mxCell("ACTION 2",new mxGeometry(0,1,80,32),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#FFFFFF;fontStyle\x3d1;fontSize\x3d13;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(96,-40);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,342,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("Title",new mxGeometry(0,0,168,216),"dashed\x3d0;shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;fontColor\x3d#FFFFFF;fontSize\x3d22;fontStyle\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d48;spacingLeft\x3d0;align\x3dleft;spacing\x3d12;gradientColor\x3d#606060;shadow\x3d1;");a.vertex=
!0;var b=new mxCell("",new mxGeometry(0,1,168,48),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,1,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.heart;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-146,-33);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,1,14,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.bookmark;strokeColor\x3dnone;fillColor\x3d#666666;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-91,-34);e.vertex=!0;e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,1,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.reply;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-42,-33);e.vertex=!0;e.vertex=!0;b.insert(e);var f=new mxCell("Title",new mxGeometry(174,0,168,216),"dashed\x3d0;shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;fontColor\x3d#FFFFFF;fontSize\x3d22;fontStyle\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d48;spacingLeft\x3d0;align\x3dleft;spacing\x3d12;gradientColor\x3d#606060;shadow\x3d1;");
f.vertex=!0;b=new mxCell("",new mxGeometry(0,1,168,48),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;f.insert(b);e=new mxCell("",new mxGeometry(1,1,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.heart;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-146,-33);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,1,14,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.bookmark;strokeColor\x3dnone;fillColor\x3d#666666;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-91,-34);e.vertex=!0;e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,1,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.reply;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-42,-33);e.vertex=!0;e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a,f],342,216,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("Title here",new mxGeometry(0,
0,342,146),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;fontColor\x3d#000000;fontSize\x3d24;fontStyle\x3d0;verticalAlign\x3dtop;spacingBottom\x3d0;spacingLeft\x3d16;spacingTop\x3d15;align\x3dleft;");a.vertex=!0;var b=new mxCell("Subtitle here",new mxGeometry(0,0,246,20),"text;fontColor\x3d#999999;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingLeft\x3d16;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,59);b.vertex=!0;
a.insert(b);b=new mxCell("",new mxGeometry(1,0,80,80),"shape\x3drect;fillColor\x3d#bbbbbb;strokeColor\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-96,16);b.vertex=!0;a.insert(b);b=new mxCell("ACTION 1",new mxGeometry(0,1,80,32),"shape\x3drect;fontSize\x3d13;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(8,-40);b.vertex=!0;a.insert(b);b=new mxCell("ACTION 2",new mxGeometry(0,1,80,32),"shape\x3drect;fontSize\x3d13;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(96,-40);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],342,146,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("Title here",new mxGeometry(0,0,342,176),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;fontColor\x3d#000000;fontSize\x3d24;fontStyle\x3d0;verticalAlign\x3dtop;spacingBottom\x3d0;spacingLeft\x3d16;spacingTop\x3d15;align\x3dleft;");a.vertex=
!0;var b=new mxCell("Subtitle here",new mxGeometry(0,0,246,20),"text;fontColor\x3d#999999;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingLeft\x3d16;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,59);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,112,112),"shape\x3drect;fillColor\x3d#bbbbbb;strokeColor\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-128,16);b.vertex=!0;a.insert(b);b=new mxCell("ACTION 1",new mxGeometry(0,1,80,
32),"shape\x3drect;fontSize\x3d13;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(8,-40);b.vertex=!0;a.insert(b);b=new mxCell("ACTION 2",new mxGeometry(0,1,80,32),"shape\x3drect;fontSize\x3d13;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(96,-40);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],300,176,"Card")}),
this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("Title here",new mxGeometry(0,0,342,228),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;fontColor\x3d#000000;fontSize\x3d24;fontStyle\x3d0;verticalAlign\x3dtop;spacingBottom\x3d0;spacingLeft\x3d16;spacingTop\x3d15;align\x3dleft;");a.vertex=!0;var b=new mxCell("Subtitle here",new mxGeometry(0,0,246,20),"text;fontColor\x3d#999999;fontSize\x3d13;fontStyle\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingLeft\x3d16;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,59);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,152,152),"shape\x3drect;fillColor\x3d#bbbbbb;strokeColor\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-168,16);b.vertex=!0;a.insert(b);b=new mxCell("ACTION 1",new mxGeometry(0,1,80,32),"shape\x3drect;fontSize\x3d13;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(8,-40);b.vertex=
!0;a.insert(b);b=new mxCell("ACTION 2",new mxGeometry(0,1,80,32),"shape\x3drect;fontSize\x3d13;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#444444;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(96,-40);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],300,224,"Card")}),this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,342,272),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,240,240),"shape\x3drect;fillColor\x3d#bbbbbb;strokeColor\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,16);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.heart;strokeColor\x3dnone;fillColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-53,38);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,14,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.bookmark;strokeColor\x3dnone;fillColor\x3d#666666;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-51,86);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.reply;strokeColor\x3dnone;fillColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-53,135);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],342,272,"Card")})];this.addPalette("gmdlCards","GMDL / Cards",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLChipsPalette=
function(a){var c=this,f=[this.addEntry("gmdl google media design library chip chip",function(){var a=new mxCell("Trevor Hansen",new mxGeometry(0,0,170,32),"shape\x3drect;arcSize\x3d50;strokeColor\x3dnone;fillColor\x3d#eeeeee;rounded\x3d1;spacingLeft\x3d24;fontSize\x3d13;align\x3dcenter;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,32,32),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,
0.5,16,16),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#A5A5A5;aspect\x3dfixed;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-24,-8);b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(5,5,6,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Chip with text and icon")}),this.addEntry("gmdl google media design library chip chip",function(){var a=
new mxCell("ANZ Bank",new mxGeometry(0,0,170,32),"shape\x3drect;arcSize\x3d50;strokeColor\x3dnone;fillColor\x3d#eeeeee;rounded\x3d1;spacingLeft\x3d24;fontSize\x3d13;align\x3dcenter;");a.vertex=!0;var b=new mxCell("A",new mxGeometry(0,0,32,32),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#009587;fontColor\x3d#ffffff;fontSize\x3d14;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Chip with text and icon")}),this.addEntry("gmdl google media design library chip list style",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;fontSize\x3d13;align\x3dright;fillColor\x3d#C2185B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Compose",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#E91E63;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-3;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.left;strokeColor\x3d#ffffff;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,22,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.send;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-35,-11);e.vertex=!0;b.insert(e);b=new mxCell("To",new mxGeometry(0,0,358,54),"dashed\x3d0;shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d16;fontColor\x3d#999999;spacingTop\x3d-3;align\x3dleft;spacingLeft\x3d16;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("Trevor Hansen",new mxGeometry(0,0.5,130,32),"shape\x3drect;arcSize\x3d50;strokeColor\x3dnone;fillColor\x3d#eeeeee;rounded\x3d1;spacingLeft\x3d24;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(70,-16);e.vertex=!0;b.insert(e);var f=new mxCell("",new mxGeometry(0,0,32,32),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;aspect\x3dfixed;");f.vertex=!0;
e.insert(f);e=new mxCell("Alex Nelson",new mxGeometry(0,0.5,120,32),"shape\x3drect;arcSize\x3d50;strokeColor\x3dnone;fillColor\x3d#eeeeee;rounded\x3d1;spacingLeft\x3d24;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(208,-16);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,32,32),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;aspect\x3dfixed");b.vertex=!0;e.insert(b);b=new mxCell("Plans for the weekend",new mxGeometry(0,0,358,54),
"shape\x3drect;fontSize\x3d13;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,135);b.vertex=!0;a.insert(b);b=new mxCell("Hi,\nI just wanted to check in and see if you had any plans this upcoming weekend. We are thinking of heading up to Napa. Let us know if you'd like to go and we'll make reservations.",new mxGeometry(0,0,358,400),"shape\x3drect;fontSize\x3d14;strokeColor\x3dnone;fillColor\x3dnone;whiteSpace\x3dwrap;verticalAlign\x3dtop;align\x3dleft;spacing\x3d16;resizeWidth\x3d1;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,189);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,
"List Style")}),this.addEntry("gmdl google media design library chip list style",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;fontSize\x3d13;align\x3dright;fillColor\x3d#C2185B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);
var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Compose",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#E91E63;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-3;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);
e=new mxCell("",new mxGeometry(0,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.left;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,22,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.send;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-35,-11);e.vertex=!0;b.insert(e);b=new mxCell("To",new mxGeometry(0,0,358,54),"dashed\x3d0;shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d16;fontColor\x3d#999999;spacingTop\x3d-3;align\x3dleft;spacingLeft\x3d16;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("Trevor Hansen",new mxGeometry(0,0.5,130,32),"shape\x3drect;arcSize\x3d50;strokeColor\x3dnone;fillColor\x3d#eeeeee;rounded\x3d1;spacingLeft\x3d24;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(70,-16);e.vertex=!0;b.insert(e);var f=new mxCell("",new mxGeometry(0,0,32,32),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;aspect\x3dfixed;");f.vertex=!0;
e.insert(f);e=new mxCell("Alex Nelson",new mxGeometry(0,0.5,120,32),"shape\x3drect;arcSize\x3d50;strokeColor\x3dnone;fillColor\x3d#eeeeee;rounded\x3d1;spacingLeft\x3d24;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(208,-16);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,32,32),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;aspect\x3dfixed");b.vertex=!0;e.insert(b);b=new mxCell("Plans for the weekend",new mxGeometry(0,0,358,54),
"shape\x3drect;fontSize\x3d13;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,135);b.vertex=!0;a.insert(b);b=new mxCell("Hi,\nI just wanted to check in and see if you had any plans this upcoming weekend. We are thinking of heading up to Napa. Let us know if you'd like to go and we'll make reservations.",new mxGeometry(0,0,358,400),"shape\x3drect;fontSize\x3d14;strokeColor\x3dnone;fillColor\x3dnone;whiteSpace\x3dwrap;verticalAlign\x3dtop;align\x3dleft;spacing\x3d16;resizeWidth\x3d1;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,189);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,294,184),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;shadow\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(56,88);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,294,72),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00B8D4;");e.vertex=!0;b.insert(e);f=new mxCell("",new mxGeometry(0,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;");
f.geometry.relative=!0;f.geometry.offset=new mxPoint(10,-18);f.vertex=!0;e.insert(f);f=new mxCell("Contact name",new mxGeometry(0,4,294,30),"text;fontSize\x3d16;fontColor\x3d#ffffff;spacingTop\x3d-3;verticalAlign\x3dbottom;spacingLeft\x3d55;");f.vertex=!0;e.insert(f);f=new mxCell("trevor_h@example.com",new mxGeometry(0,34,294,30),"text;fontSize\x3d14;fontColor\x3d#ffffff;spacingTop\x3d-3;verticalAlign\x3dtop;textOpacity\x3d60;spacingLeft\x3d55;");f.vertex=!0;e.insert(f);f=new mxCell("",new mxGeometry(1,
0.5,20,20),"dashed\x3d0;shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#ffffff;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-32,-10);f.vertex=!0;e.insert(f);e=new mxCell("",new mxGeometry(6,6,8,8),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#00B8D4;strokeWidth\x3d2;");e.vertex=!0;f.insert(e);e=new mxCell("",new mxGeometry(0,0.535,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(10,
-18);e.vertex=!0;b.insert(e);e=new mxCell("trevorh@example.com",new mxGeometry(0,85,294,30),"text;fontSize\x3d13;fontColor\x3d#999999;spacingTop\x3d0;verticalAlign\x3dmiddle;spacingLeft\x3d55;");e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0.84,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(10,-18);e.vertex=!0;b.insert(e);e=new mxCell("hansen_t@example.com",new mxGeometry(0,140,294,30),"text;fontSize\x3d13;fontColor\x3d#999999;spacingTop\x3d0;verticalAlign\x3dmiddle;spacingLeft\x3d55;");
e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,
0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"List Style")})];this.addPalette("gmdlChips","GMDL / Chips",a||
!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLDialogsPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library dialog dialog persistent footer",function(){var a=new mxCell("",new mxGeometry(0,0,280,472),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Google Wi-Fi",new mxGeometry(0,0,280,60),"text;verticalAlign\x3dmiddle;spacing\x3d16;fontSize\x3d20;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Signal strength",new mxGeometry(0,0,280,30),"text;spacingLeft\x3d16;fontColor\x3d#808080;fontSize\x3d11;spacingTop\x3d6;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,60);b.vertex=!0;a.insert(b);b=new mxCell("Excellent",new mxGeometry(0,0,280,30),"text;fontSize\x3d15;spacing\x3d2;spacingLeft\x3d16;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,90);b.vertex=!0;a.insert(b);
b=new mxCell("Security",new mxGeometry(0,0,280,50),"text;verticalAlign\x3dbottom;spacingLeft\x3d16;spacingBottom\x3d5;fontSize\x3d11;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,120);b.vertex=!0;a.insert(b);b=new mxCell("802.1x EAP",new mxGeometry(0,0,280,40),"text;spacingLeft\x3d16;fontSize\x3d15;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,170);b.vertex=!0;a.insert(b);b=new mxCell("Password",new mxGeometry(0,
0,280,30),"text;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontColor\x3d#009688;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,210);b.vertex=!0;a.insert(b);b=new mxCell("|",new mxGeometry(0,0,280,30),"text;verticalAlign\x3dbottom;spacingBottom\x3d0;spacingLeft\x3d16;fontSize\x3d20;fontColor\x3d#009688;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,235);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0571,0,248,30),"shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#009688;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,260);b.vertex=!0;a.insert(b);b=new mxCell("Show password",new mxGeometry(0,0,20,20),"shape\x3drect;strokeWidth\x3d2;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontColor\x3d#000000;strokeColor\x3d#666666;fontSize\x3d14;rounded\x3d1;size\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(20,305);b.vertex=!0;a.insert(b);b=new mxCell("Show advanced options",new mxGeometry(0,
0,20,20),"shape\x3drect;strokeWidth\x3d2;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontColor\x3d#000000;strokeColor\x3d#666666;fontSize\x3d14;rounded\x3d1;size\x3d2;resizeWidht\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(20,350);b.vertex=!0;a.insert(b);b=new mxCell("CANCEL",new mxGeometry(1,1,75,42),"text;fontSize\x3d13;fontStyle\x3d1;fontColor\x3d#009688;verticalAlign\x3dmiddle;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(-160,-42);b.vertex=!0;a.insert(b);b=new mxCell("CONNECT",new mxGeometry(1,1,85,42),"text;fontSize\x3d13;fontStyle\x3d1;fontColor\x3d#009688;verticalAlign\x3dmiddle;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-85,-42);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],280,472,"Dialog with persistent footer button")}),this.addEntry("gmdl google media design library dialog scrollable dialog persistent footer",function(){var a=new mxCell("",new mxGeometry(0,0,280,
345),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Google Wi-Fi",new mxGeometry(0,0,280,60),"text;verticalAlign\x3dmiddle;spacing\x3d16;fontSize\x3d20;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Signal strength",new mxGeometry(0,0,280,30),"text;spacingLeft\x3d16;fontColor\x3d#808080;fontSize\x3d11;spacingTop\x3d6;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
60);b.vertex=!0;a.insert(b);b=new mxCell("Excellent",new mxGeometry(0,0,280,30),"text;fontSize\x3d15;spacing\x3d2;spacingLeft\x3d16;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,90);b.vertex=!0;a.insert(b);b=new mxCell("Security",new mxGeometry(0,0,280,50),"text;verticalAlign\x3dbottom;spacingLeft\x3d16;spacingBottom\x3d5;fontSize\x3d11;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,120);b.vertex=!0;a.insert(b);
b=new mxCell("802.1x EAP",new mxGeometry(0,0,280,40),"text;spacingLeft\x3d16;fontSize\x3d15;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,170);b.vertex=!0;a.insert(b);b=new mxCell("Password",new mxGeometry(0,0,280,30),"text;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontColor\x3d#009688;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,210);b.vertex=!0;a.insert(b);b=new mxCell("|",new mxGeometry(0,0,280,30),"text;verticalAlign\x3dbottom;spacingBottom\x3d0;spacingLeft\x3d16;fontSize\x3d20;fontColor\x3d#009688;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,235);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0571,0,248,30),"shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#009688;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,260);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0571,1,248,30),"shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-56);b.vertex=
!0;a.insert(b);b=new mxCell("CANCEL",new mxGeometry(1,1,75,42),"text;fontSize\x3d13;fontStyle\x3d1;fontColor\x3d#009688;verticalAlign\x3dmiddle;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-160,-42);b.vertex=!0;a.insert(b);b=new mxCell("CONNECT",new mxGeometry(1,1,85,42),"text;fontSize\x3d13;fontStyle\x3d1;fontColor\x3d#009688;verticalAlign\x3dmiddle;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-85,-42);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],280,345,
"Scrollable dialog with persistent footer button")}),this.addEntry("gmdl google media design library dialog message dialog",function(){var a=new mxCell("",new mxGeometry(0,0,480,480),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("New message",new mxGeometry(0,0,480,48),"dashed\x3d0;shape\x3drect;verticalAlign\x3dmiddle;spacing\x3d16;fontSize\x3d13;fontStyle\x3d1;resizeWidth\x3d1;fillColor\x3dnone;strokeColor\x3d#eeeeee;align\x3dleft;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeWidth\x3d2;strokeColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,-7);e.vertex=!0;b.insert(e);b=new mxCell("To",new mxGeometry(0,0,480,30),"text;spacingLeft\x3d16;fontColor\x3d#808080;fontSize\x3d13;spacingTop\x3d6;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,60);b.vertex=!0;a.insert(b);b=new mxCell("Subject",
new mxGeometry(0,0,480,30),"text;fontSize\x3d13;spacing\x3d2;spacingLeft\x3d16;fontStyle\x3d0;fontColor\x3d#808080;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,105);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,480,65),"dashed\x3d0;shape\x3dmxgraph.gmdl.rect;strokeWidth\x3d1;strokeColor\x3d#eeeeee;fillColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-65);b.vertex=!0;a.insert(b);e=new mxCell("A",new mxGeometry(0,1,24,4),"shape\x3drect;strokeWidth\x3d2;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dtop;align\x3dcenter;verticalAlign\x3dbottom;fontSize\x3d20;spacingBottom\x3d-3;fontColor\x3d#666666;fillColor\x3d#cccccc;fontStyle\x3d0;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-24);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,9,24),"dashed\x3d0;shape\x3dmxgraph.gmdl.attachment;strokeWidth\x3d2;strokeColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(74,-44);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.plus;strokeWidth\x3d2;strokeColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(110,-39);e.vertex=!0;b.insert(e);
b=new mxCell("SEND",new mxGeometry(1,1,90,65),"text;fontSize\x3d13;fontStyle\x3d1;fontColor\x3d#2E78F2;spacingTop\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-90,-65);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],480,480,"Message dialog")}),this.addEntry("gmdl google media design library dialog dialog",function(){var a=new mxCell("Use Google's location service?",new mxGeometry(0,0,280,273),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;shadow\x3d1;fontSize\x3d19;fontColor\x3d#000000;spacingTop\x3d-6;whiteSpace\x3dwrap;spacing\x3d16;align\x3dleft;verticalAlign\x3dtop;");
a.vertex=!0;var b=new mxCell("Let Google help apps determine location. This means sending anonymous location data to Google, even when no apps are running.",new mxGeometry(0,0,280,160),"text;fontSize\x3d16;fontColor\x3d#999999;spacingTop\x3d-6;whiteSpace\x3dwrap;spacing\x3d16;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;a.insert(b);b=new mxCell("DISAGREE",new mxGeometry(1,1,80,48),"text;fontSize\x3d13;fontColor\x3d#2E78F2;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-160,-48);b.vertex=!0;a.insert(b);b=new mxCell("AGREE",new mxGeometry(1,1,80,48),"text;fontSize\x3d13;fontColor\x3d#2E78F2;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,-48);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],280,273,"Dialog")}),this.addEntry("gmdl google media design library dialog fullscreen dialog",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00796B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("New event",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#009688;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-8;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d60;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#ffffff;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(20,-9);e.vertex=!0;b.insert(e);e=new mxCell("SAVE",new mxGeometry(1,1,60,42),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;spacingTop\x3d0;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingLeft\x3d8;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-61,-42);e.vertex=!0;b.insert(e);b=new mxCell("heyfromjonathan@gmail.com",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;rect;strokeColor\x3d#eeeeee;align\x3dleft;spacing\x3d16;fontSize\x3d14;resizeWidth\x3d1;verticalAlign\x3dmiddle;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#999999;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-27,-4);e.vertex=!0;b.insert(e);b=new mxCell("Event name",new mxGeometry(0,0,358,86),"text;fontSize\x3d31;fontColor\x3d#bbbbbb;spacingTop\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d8;spacing\x3d8;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,137);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0419,0,327,10),"dashed\x3d0;shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,218);b.vertex=!0;a.insert(b);b=new mxCell("Location",new mxGeometry(0,0,358,70),"text;fontSize\x3d14;fontColor\x3d#bbbbbb;spacingTop\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d10;spacing\x3d8;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,223);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0419,0,328,10),"dashed\x3d0;shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,288);b.vertex=!0;a.insert(b);b=new mxCell("From",new mxGeometry(0,0,358,40),"text;fontSize\x3d11;fontColor\x3d#666666;spacingTop\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d10;spacing\x3d8;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,293);b.vertex=!0;a.insert(b);b=new mxCell("Fri, May 12 2017",new mxGeometry(0,0,200,40),"text;fontSize\x3d15;fontColor\x3d#000000;spacingTop\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d10;spacing\x3d8;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,323);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,10,5),"dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#999999;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(-118,341);b.vertex=!0;a.insert(b);b=new mxCell("4:30 PM",new mxGeometry(1,0,70,40),"text;fontSize\x3d15;fontColor\x3d#000000;spacingTop\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d0;spacing\x3d8;fontStyle\x3d0");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-98,323);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,10,5),"dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#999999;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-27,
341);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0419,0,328,10),"dashed\x3d0;shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,358);b.vertex=!0;a.insert(b);b=new mxCell("To",new mxGeometry(0,0,358,40),"text;fontSize\x3d11;fontColor\x3d#666666;spacingTop\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d10;spacing\x3d8;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,368);b.vertex=!0;a.insert(b);
b=new mxCell("Fri, May 12 2017",new mxGeometry(0,0,200,40),"text;fontSize\x3d15;fontColor\x3d#000000;spacingTop\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d10;spacing\x3d8;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,393);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,10,5),"dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#999999;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-118,410);b.vertex=!0;a.insert(b);
b=new mxCell("5:30 PM",new mxGeometry(1,0,70,40),"text;fontSize\x3d15;fontColor\x3d#000000;spacingTop\x3d0;verticalAlign\x3dbottom;spacingBottom\x3d2;spacingLeft\x3d0;spacing\x3d8;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-98,393);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,10,5),"dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#999999;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-27,410);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0419,
0,328,10),"dashed\x3d0;shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,428);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0419,0,328,10),"dashed\x3d0;shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,560);b.vertex=!0;a.insert(b);b=new mxCell("All-Day",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d30;fontSize\x3d15;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,456);b.vertex=!0;a.insert(b);b=new mxCell("Pacific Standard Time",new mxGeometry(0,0,358,15),"text;fontSize\x3d17;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,536);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,10,5),"dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#999999;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(-27,539);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",
new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Fullscreen dialog")}),this.addEntry("gmdl google media design library dialog dialog scrollable list",
function(){var a=new mxCell("",new mxGeometry(0,0,280,270),"shape\x3drect;fontSize\x3d18;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("None",new mxGeometry(0,0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d15;fontColor\x3d#000000;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;
b.geometry.offset=new mxPoint(16,55);b.vertex=!0;a.insert(b);b=new mxCell("Callisto",new mxGeometry(0,0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d15;fontColor\x3d#000000;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,102);b.vertex=!0;a.insert(b);b=new mxCell("Ganymede",new mxGeometry(0,
0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d15;fontColor\x3d#000000;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,157);b.vertex=!0;a.insert(b);b=new mxCell("Luna",new mxGeometry(0,0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d15;fontColor\x3d#000000;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#009688;fillColor\x3d#009688;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,202);b.vertex=!0;a.insert(b);b=new mxCell("Phone Ringtone",new mxGeometry(0,0,280,58),"shape\x3drect;fontSize\x3d17;fontColor\x3d#000000;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;spacing\x3d16;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,280,52),"shape\x3drect;fontSize\x3d17;fontColor\x3d#000000;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;spacing\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-52);b.vertex=!0;a.insert(b);b=new mxCell("CANCEL",new mxGeometry(1,1,60,52),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-140,-52);b.vertex=!0;a.insert(b);b=new mxCell("OK",new mxGeometry(1,1,80,52),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,-52);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],280,270,"Dialog with scrollable list")}),this.addEntry("gmdl google media design library dialog dialog scrollable list",function(){var a=new mxCell("Discard draft?",new mxGeometry(0,0,280,112),"shape\x3drect;fontSize\x3d18;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;spacing\x3d16;align\x3dleft;verticalAlign\x3dtop;");
a.vertex=!0;var b=new mxCell("CANCEL",new mxGeometry(1,1,70,52),"text;fontSize\x3d13;fontColor\x3d#0083F1;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-160,-52);b.vertex=!0;a.insert(b);b=new mxCell("DISCARD",new mxGeometry(1,1,90,52),"text;fontSize\x3d13;fontColor\x3d#0083F1;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(-90,-52);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],280,112,"Dialog with scrollable list")}),this.addEntry("gmdl google media design library dialog simple dialog",function(){var a=new mxCell("Set backup account",new mxGeometry(0,0,280,250),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;fontSize\x3d20;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;verticalAlign\x3dtop;fontStyle\x3d0;spacingTop\x3d-5;recursiveResize\x3d0");
a.vertex=!0;var b=new mxCell("username@gmail.com",new mxGeometry(15,65,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;fontSize\x3d15;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;verticalAlign\x3dmiddle;fillColor\x3d#5E97F6;strokeColor\x3dnone;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;");b.vertex=!0;a.insert(b);b=new mxCell("user02@gmail.com",new mxGeometry(15,130,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;fontSize\x3d15;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;verticalAlign\x3dmiddle;fillColor\x3d#5E97F6;strokeColor\x3dnone;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;");
b.vertex=!0;a.insert(b);b=new mxCell("add account",new mxGeometry(15,195,40,40),"shape\x3dellipse;fontSize\x3d15;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;verticalAlign\x3dmiddle;fillColor\x3d#bdbdbd;strokeColor\x3dnone;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;");b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(12,12,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],
280,250,"Simple dialog")}),this.addEntry("gmdl google media design library dialog confirmation dialog",function(){var a=new mxCell("Phone ringtone",new mxGeometry(0,0,280,520),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;fontSize\x3d20;fontColor\x3d#000000;spacingTop\x3d-7;spacing\x3d20;labelPosition\x3dcenter;align\x3dleft;verticalAlign\x3dtop;");a.vertex=!0;var b=new mxCell("None",new mxGeometry(0,0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d16;fontColor\x3d#000000;spacingTop\x3d0;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#666666;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,71);b.vertex=!0;a.insert(b);b=new mxCell("Callisto",new mxGeometry(0,0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d16;fontColor\x3d#000000;spacingTop\x3d0;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,122);b.vertex=!0;a.insert(b);b=new mxCell("Dione",new mxGeometry(0,
0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d16;fontColor\x3d#000000;spacingTop\x3d0;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,173);b.vertex=!0;a.insert(b);b=new mxCell("Ganymede",new mxGeometry(0,0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d16;fontColor\x3d#000000;spacingTop\x3d0;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#666666;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,224);b.vertex=!0;a.insert(b);b=new mxCell("Hangouts Call",new mxGeometry(0,0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d16;fontColor\x3d#000000;spacingTop\x3d0;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,275);b.vertex=!0;a.insert(b);b=new mxCell("Luna",new mxGeometry(0,
0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d16;fontColor\x3d#000000;spacingTop\x3d0;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#009688;fillColor\x3d#009688;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,326);b.vertex=!0;a.insert(b);b=new mxCell("Oberon",new mxGeometry(0,0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d16;fontColor\x3d#000000;spacingTop\x3d0;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#666666;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,377);b.vertex=!0;a.insert(b);b=new mxCell("Phobos",new mxGeometry(0,0,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;fontSize\x3d16;fontColor\x3d#000000;spacingTop\x3d0;spacing\x3d20;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,428);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,
280,52),"shape\x3drect;fontSize\x3d17;fontColor\x3d#000000;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-52);b.vertex=!0;a.insert(b);b=new mxCell("CANCEL",new mxGeometry(1,1,70,52),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-160,-52);b.vertex=
!0;a.insert(b);b=new mxCell("OK",new mxGeometry(1,1,90,52),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-90,-52);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],280,520,"Confirmation dialog")})];this.addPalette("gmdlDialogs","GMDL / Dialogs",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};
Sidebar.prototype.addGMDLDividersPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library divider email list full bleed divider",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;fontSize\x3d13;align\x3dright;fillColor\x3d#C2185B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Inbox",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#E91E63;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;spacingTop\x3d-4;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-78,-8);e.vertex=!0;
b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,20,20),"ellipse;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-37,-10);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(5,6,12,8),"dashed\x3d0;shape\x3dmxgraph.gmdl.check;strokeColor\x3d#E91E63;fillColor\x3dnone;strokeWidth\x3d2;");b.vertex=!0;e.insert(b);e=new mxCell("Ali Connors",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-10;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("Brunch this weekend?",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,31);b.vertex=!0;e.insert(b);b=new mxCell("I'll be in your neighbourheed doing errands ...",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dtop;spacingLeft\x3d16;fontColor\x3d#999999;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,50);b.vertex=!0;e.insert(b);b=new mxCell("15 min",new mxGeometry(1,0,80,20),"text;fontSize\x3d12;verticalAlign\x3dtop;spacingLeft\x3d16;align\x3dright;spacingTop\x3d2;spacingRight\x3d16;fontColor\x3d#999999;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,0);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(-39,50);b.vertex=!0;e.insert(b);e=new mxCell("me, Scott, Jennifer",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-10;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,167);e.vertex=!0;a.insert(e);b=new mxCell("Summer BBQ",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;spacingLeft\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,31);b.vertex=!0;e.insert(b);b=new mxCell("Wish I could come, but I'm out of town this ...",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dtop;spacingLeft\x3d16;fontColor\x3d#999999;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,50);b.vertex=!0;e.insert(b);b=new mxCell("2 hr",new mxGeometry(1,0,80,20),"text;fontSize\x3d12;verticalAlign\x3dtop;spacingLeft\x3d16;align\x3dright;spacingTop\x3d2;spacingRight\x3d16;fontColor\x3d#999999;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,0);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,50);b.vertex=!0;e.insert(b);e=new mxCell("Sandra Adams",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-10;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,253);e.vertex=!0;a.insert(e);b=new mxCell("Oui oui",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,31);b.vertex=!0;e.insert(b);b=new mxCell("Do you have any recommendations? Have ...",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dtop;spacingLeft\x3d16;fontColor\x3d#999999;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,50);b.vertex=!0;e.insert(b);b=new mxCell("6 hr",new mxGeometry(1,0,80,20),"text;fontSize\x3d12;verticalAlign\x3dtop;spacingLeft\x3d16;align\x3dright;spacingTop\x3d2;spacingRight\x3d16;fontColor\x3d#999999;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,0);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(-39,50);b.vertex=!0;e.insert(b);e=new mxCell("Trevor Hansen",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-10;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,339);e.vertex=!0;a.insert(e);b=new mxCell("Birthday gift",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,31);b.vertex=!0;e.insert(b);b=new mxCell("Have any ideas about what to get Heidi for ...",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dtop;spacingLeft\x3d16;fontColor\x3d#999999;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,50);b.vertex=!0;e.insert(b);b=new mxCell("12 hr",new mxGeometry(1,0,80,20),"text;fontSize\x3d12;verticalAlign\x3dtop;spacingLeft\x3d16;align\x3dright;spacingTop\x3d2;spacingRight\x3d16;fontColor\x3d#999999;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,0);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,50);b.vertex=!0;e.insert(b);e=new mxCell("Britta Holt",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-10;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,425);e.vertex=!0;a.insert(e);b=new mxCell("Recipe to try",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,31);b.vertex=!0;e.insert(b);b=new mxCell("We should eat this: grated squash, corn and ...",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dtop;spacingLeft\x3d16;fontColor\x3d#999999;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,50);b.vertex=!0;e.insert(b);b=new mxCell("18 hr",new mxGeometry(1,0,80,20),"text;fontSize\x3d12;verticalAlign\x3dtop;spacingLeft\x3d16;align\x3dright;spacingTop\x3d2;spacingRight\x3d16;fontColor\x3d#999999;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,0);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(-39,50);b.vertex=!0;e.insert(b);e=new mxCell("David Park",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-10;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,511);e.vertex=!0;a.insert(e);b=new mxCell("Giants game",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;
b.geometry.offset=new mxPoint(0,31);b.vertex=!0;e.insert(b);b=new mxCell("Any interest in seeing the Giants play next ...",new mxGeometry(0,0,300,20),"text;fontSize\x3d13;verticalAlign\x3dtop;spacingLeft\x3d16;fontColor\x3d#999999;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,50);b.vertex=!0;e.insert(b);b=new mxCell("23 hr",new mxGeometry(1,0,80,20),"text;fontSize\x3d12;verticalAlign\x3dtop;spacingLeft\x3d16;align\x3dright;spacingTop\x3d2;spacingRight\x3d16;fontColor\x3d#999999;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-80,0);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,50);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,1,56,56),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#18FFFF;shadow\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-78,-129);b.vertex=
!0;a.insert(b);e=new mxCell("",new mxGeometry(20,20,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#084560;strokeWidth\x3d2;");e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);
return c.createVertexTemplateFromCells([a],358,642,"Full-bleed dividers")}),this.addEntry("gmdl google media design library divider full bleed divider compose email",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;fontSize\x3d13;align\x3dright;fillColor\x3d#C2185B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Compose",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#E91E63;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-3;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.left;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,22,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.send;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-35,-11);e.vertex=!0;b.insert(e);b=new mxCell("heyfromjonathan@gmail.com",
new mxGeometry(0,0,358,54),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;spacing\x3d16;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-30,-3);e.vertex=!0;b.insert(e);b=new mxCell("To",new mxGeometry(0,0,358,54),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;spacing\x3d16;fontSize\x3d13;fontColor\x3d#bbbbbb;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,135);b.vertex=!0;a.insert(b);b=new mxCell("Subject",new mxGeometry(0,0,358,54),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;spacing\x3d16;fontSize\x3d13;fontColor\x3d#bbbbbb;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,189);b.vertex=!0;a.insert(b);b=new mxCell("Message",new mxGeometry(0,0,358,54),"text;align\x3dleft;spacing\x3d16;fontSize\x3d13;fontColor\x3d#bbbbbb;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,243);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,
"Full-bleed dividers")}),this.addEntry("gmdl google media design library divider image based content divider",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;fontSize\x3d13;align\x3dright;fillColor\x3d#757575;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;resizeWidth\x3d1;");b.geometry.relative=
!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Albums",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;spacingTop\x3d-4;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.left;strokeColor\x3d#757575;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(24,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,20,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeWidth\x3d2;fillColor\x3dnone;strokeColor\x3d#757575;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-37,-10);e.vertex=!0;b.insert(e);
b=new mxCell("May",new mxGeometry(0,78,358,50),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#757575;align\x3dleft;spacingLeft\x3d10;fontSize\x3d14;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(4,128,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(122,128,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;
a.insert(b);b=new mxCell("",new mxGeometry(240,128,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(4,247,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(122,247,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=new mxCell("",
new mxGeometry(240,247,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=new mxCell("June",new mxGeometry(0,362,358,50),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#757575;align\x3dleft;spacingLeft\x3d10;fontSize\x3d14;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(4,412,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=
new mxCell("",new mxGeometry(122,412,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(240,412,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(4,531,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(122,
531,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(240,531,115,115),"dashed\x3d0;shape\x3dmxgraph.gmdl.image;strokeColor\x3d#bbbbbb;fillColor\x3d#ffffff;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=
new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Image based content dividers")}),this.addEntry("gmdl google media design library divider full bleed divider",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00796B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Feed reader",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#009688;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#00423B;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.refresh;strokeColor\x3d#00423B;fillColor\x3d#00423B;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,
-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#00423B;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,358,103),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("Day reappeared. The tempest still raged with undiminished",
new mxGeometry(0,0,244,60),"text;whiteSpace\x3dwrap;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-12;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Corned beef prosciutto ground...",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d13;fontColor\x3d#000000;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,48);b.vertex=!0;e.insert(b);b=new mxCell("10 min",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d12;fontColor\x3d#999999;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(244,0,112,103),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d12;rectMarginLeft\x3d-12;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");
b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,103),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,184);e.vertex=!0;a.insert(e);b=new mxCell("There were some signs of a calm at noon",new mxGeometry(0,0,244,60),"text;whiteSpace\x3dwrap;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-12;resizeWidth\x3d1;");b.geometry.relative=
!0;b.vertex=!0;e.insert(b);b=new mxCell("Things to enjoy",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d13;fontColor\x3d#000000;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,48);b.vertex=!0;e.insert(b);b=new mxCell("1 hr",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d12;fontColor\x3d#999999;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(244,0,112,103),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d12;rectMarginLeft\x3d-12;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,103),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,287);e.vertex=!0;a.insert(e);
b=new mxCell("Fun tropical escapes",new mxGeometry(0,0,244,60),"text;whiteSpace\x3dwrap;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-12;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("The night was comparatively quiet. Some of the sails were again.",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d13;fontColor\x3d#000000;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;e.insert(b);b=new mxCell("1 hr",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d12;fontColor\x3d#999999;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(244,0,112,103),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d12;rectMarginLeft\x3d-12;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");
b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,103),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,390);e.vertex=!0;a.insert(e);b=new mxCell("Pork loin sausage shankle, kielbasa bacon beef ribs",new mxGeometry(0,0,244,60),"text;whiteSpace\x3dwrap;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-12;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Drumstick turkey shoulder square...",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d13;fontColor\x3d#000000;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,48);b.vertex=!0;e.insert(b);b=new mxCell("2 hr",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d12;fontColor\x3d#999999;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(244,0,112,103),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d12;rectMarginLeft\x3d-12;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,101),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,493);e.vertex=!0;a.insert(e);
b=new mxCell("Cherry blossoms in bloom",new mxGeometry(0,0,244,60),"text;whiteSpace\x3dwrap;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-12;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Spring is here and we all know...",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d13;fontColor\x3d#000000;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;e.insert(b);b=new mxCell("3 hr",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d12;fontColor\x3d#999999;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(244,0,112,103),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d12;rectMarginLeft\x3d-12;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");
b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,
0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Full-bleed dividers")}),this.addEntry("gmdl google media design library divider inset divider",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#2D3986;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("All",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#394797;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-3;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0.5,10,5),"dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(104,-3);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,
-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,-8);e.vertex=!0;b.insert(e);b=new mxCell("Janet Perkins",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;spacingLeft\x3d72;align\x3dleft;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,23,21),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#D3396E;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-11);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Mary Johnson",new mxGeometry(0,0,
358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,136);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Peter Carlsson",new mxGeometry(0,
0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,191);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Trevor Hansen",new mxGeometry(0,
0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,246);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0.2011,
0,286,8),"shape\x3dline;strokeColor\x3d#eeeeee;strokeWidth\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("Aaron Bennett",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,319);b.vertex=!0;a.insert(b);e=new mxCell("A",new mxGeometry(0,
0.5,24,24),"text;fontSize\x3d24;fontColor\x3d#D3396E;verticalAlign\x3dmiddle;fontStyle\x3d0;align\x3dcenter;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-12);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Abbey Christensen",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,374);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Ali Connors",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,429);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Alex Nelson",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,484);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Anthony Stevens",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,539);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;
a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,
14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Inset dividers")})];this.addPalette("gmdlDividers","GMDL / Dividers",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLGridListsPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library grid list grid titles",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#0288D1;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#0973AE;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,126),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#03A9F4;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.left;strokeColor\x3d#084560;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,20);e.vertex=!0;b.insert(e);
e=new mxCell("tos \x3e",new mxGeometry(0,1,56,24),"text;fontSize\x3d22;fontColor\x3d#57C4F5;spacingTop\x3d-3;verticalAlign\x3dmiddle;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-50);e.vertex=!0;b.insert(e);e=new mxCell("Beach",new mxGeometry(0,1,250,24),"text;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(56,-50);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#084560;fillColor\x3dnone;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-73,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,18,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.menu;strokeColor\x3dnone;fillColor\x3d#084560;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,17);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,179,179),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d4;rectMarginBottom\x3d-2;rectMarginRight\x3d-2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,150);e.vertex=!0;a.insert(e);b=new mxCell("IMG_4130.jpg",new mxGeometry(0,1,179,50),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMarginLeft\x3d4;rectMarginRight\x3d2;rectMarginBottom\x3d2;strokeColor\x3dnone;whiteSpace\x3dwrap;fontColor\x3d#ffffff;verticalAlign\x3dmiddle;align\x3dleft;fontSize\x3d15;spacing\x3d20;spacingBottom\x3d0;spacingTop\x3d0;fillColor\x3d#000000;opacity\x3d25;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,-50);b.vertex=!0;e.insert(b);e=new mxCell("i",new mxGeometry(1,0.5,16,16),"shape\x3dellipse;fillColor\x3d#cccccc;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,-8);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#1AD2D2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(18,130);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.5,
0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#084560;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0,179,179),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginTop\x3d2;rectMarginRight\x3d2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,150);e.vertex=!0;a.insert(e);
b=new mxCell("IMG_4131.jpg",new mxGeometry(0,1,179,50),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMarginLeft\x3d2;rectMarginBottom\x3d2;rectMarginRight\x3d4;whiteSpace\x3dwrap;strokeColor\x3dnone;fontColor\x3d#ffffff;verticalAlign\x3dmiddle;align\x3dleft;fontSize\x3d15;spacing\x3d20;spacingBottom\x3d0;spacingTop\x3d0;fillColor\x3d#000000;opacity\x3d25;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-50);b.vertex=!0;e.insert(b);e=new mxCell("i",new mxGeometry(1,0.5,
16,16),"shape\x3dellipse;fillColor\x3d#cccccc;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0.2788,179,179),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginLeft\x3d2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,150);e.vertex=!0;a.insert(e);
b=new mxCell("IMG_4132.jpg",new mxGeometry(0,1,179,50),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginLeft\x3d2;whiteSpace\x3dwrap;strokeColor\x3dnone;fontColor\x3d#ffffff;verticalAlign\x3dmiddle;align\x3dleft;fontSize\x3d15;spacing\x3d20;spacingBottom\x3d0;spacingTop\x3d0;fillColor\x3d#000000;opacity\x3d25;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-50);b.vertex=!0;e.insert(b);e=new mxCell("i",new mxGeometry(1,0.5,16,16),"shape\x3dellipse;fillColor\x3d#cccccc;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.2788,179,179),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginRight\x3d2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,150);e.vertex=!0;a.insert(e);b=new mxCell("IMG_4133.jpg",new mxGeometry(0,1,179,50),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMarginLeft\x3d2;rectMarginBottom\x3d2;rectMarginRight\x3d4;whiteSpace\x3dwrap;strokeColor\x3dnone;fontColor\x3d#ffffff;verticalAlign\x3dmiddle;align\x3dleft;fontSize\x3d15;spacing\x3d20;spacingBottom\x3d0;spacingTop\x3d0;fillColor\x3d#000000;opacity\x3d25;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-50);b.vertex=!0;e.insert(b);e=new mxCell("i",new mxGeometry(1,0.5,16,16),"shape\x3dellipse;fillColor\x3d#cccccc;strokeColor\x3dnone;fontStyle\x3d1;fontColor\x3d#999999;fontSize\x3d12;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,-8);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0.5576,179,100),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginLeft\x3d2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,150);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.5,0.5576,179,100),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginRight\x3d2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeHeight\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,150);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Grid titles")}),this.addEntry("gmdl google media design library grid list grid style",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#2D3986;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=
!0;b.insert(e);b=new mxCell("Favorites",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#394797;resizeWidth\x3d1;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,-8);e.vertex=!0;b.insert(e);
b=new mxCell("Aaron Bennett",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,30),"shape\x3dactor;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-15);e.vertex=
!0;b.insert(e);b=new mxCell("Abbey Christensen",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,136);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,30),"shape\x3dactor;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,
-15);e.vertex=!0;b.insert(e);b=new mxCell("Ali Connors",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,191);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,30),"shape\x3dactor;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(25,-15);e.vertex=!0;b.insert(e);b=new mxCell("Alex Nelson",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,246);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,30),"shape\x3dactor;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;
e.geometry.offset=new mxPoint(25,-15);e.vertex=!0;b.insert(e);b=new mxCell("Anthony Stevens",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,301);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,30),"shape\x3dactor;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-15);e.vertex=!0;b.insert(e);b=new mxCell("Ali Connors",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#ffffff;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,356);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,30),"shape\x3dactor;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-15);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,411);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,20,24),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#3F51B5;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-12);e.vertex=
!0;b.insert(e);e=new mxCell("(650) 555-1234",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Mobile",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("",
new mxGeometry(1,0.5,17,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.hangout;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-40,-10);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,476);b.vertex=!0;a.insert(b);e=new mxCell("(323) 555-6789",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Work",new mxGeometry(0,0.5,150,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,17,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.hangout;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-40,-10);e.vertex=!0;
b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,
14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Grid Style")}),this.addEntry("gmdl google media design library grid list grid style",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#2D3986;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Favorites",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#394797;resizeWidth\x3d1;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,
-8);e.vertex=!0;b.insert(e);b=new mxCell("Aaron Bennett",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,30),"shape\x3dactor;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(25,-15);e.vertex=!0;b.insert(e);b=new mxCell("Abbey Christensen",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,136);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,30),"shape\x3dactor;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(25,-15);e.vertex=!0;b.insert(e);b=new mxCell("Ali Connors",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,191);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,30),"shape\x3dactor;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(25,-15);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,246);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,20,24),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#3F51B5;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-12);e.vertex=!0;b.insert(e);e=new mxCell("(650) 555-1234",
new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Mobile",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,17,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.hangout;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-40,-10);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,311);b.vertex=!0;a.insert(b);e=new mxCell("(323) 555-6789",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;
e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Work",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,17,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.hangout;strokeColor\x3dnone;fillColor\x3d#BDBDBD;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-40,-10);e.vertex=!0;b.insert(e);b=new mxCell("",
new mxGeometry(0.2011,0,286,20),"shape\x3dline;strokeColor\x3d#000000;strokeWidth\x3d1;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,376);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,396);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.mail;strokeColor\x3d#ffffff;fillColor\x3d#3F51B5;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(24,-8);e.vertex=!0;b.insert(e);e=new mxCell("aliconnors@example.com",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-21);e.vertex=!0;b.insert(e);e=new mxCell("Personal",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");
e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,451);b.vertex=!0;a.insert(b);e=new mxCell("ali_connors@example.com",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,
-21);e.vertex=!0;b.insert(e);e=new mxCell("Work",new mxGeometry(0,0.5,358,20),"text;fontSize\x3d13;fontColor\x3d#504F4F;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,
14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Grid Style")}),this.addEntry("gmdl google media design library grid list two line grid list",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#000000;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#000000;strokeColor\x3dnone;fontColor\x3d#ffffff;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Browse",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#222222;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.left;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(25,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,179,183),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginTop\x3d2;rectMarginLeft\x3d-2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("Top Lists",new mxGeometry(0,0,179,71),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMarginTop\x3d4;rectMarginRight\x3d2;whiteSpace\x3dwrap;fontColor\x3d#ffffff;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-6;fillColor\x3d#000000;opacity\x3d25;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Anthony Freeman, Zen",
new mxGeometry(0,0,177,20),"text;whiteSpace\x3dwrap;fontColor\x3d#ffffff;spacingLeft\x3d16;verticalAlign\x3dmiddle;fontSize\x3d11;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0.5,0,179,183),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginTop\x3d2;rectMarginRight\x3d-2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("Alternative",new mxGeometry(0,0,179,71),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMarginTop\x3d4;rectMarginLeft\x3d2;whiteSpace\x3dwrap;fontColor\x3d#ffffff;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d18;spacingBottom\x3d0;spacingTop\x3d-6;fillColor\x3d#000000;opacity\x3d25;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Hellhounds, Felix White and ...",new mxGeometry(0,
0,177,20),"text;whiteSpace\x3dwrap;fontColor\x3d#ffffff;spacingLeft\x3d18;verticalAlign\x3dmiddle;fontSize\x3d11;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0.285,179,181),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginLeft\x3d-2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=
!0;a.insert(e);b=new mxCell("Dance",new mxGeometry(0,0,179,69),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMarginTop\x3d2;rectMarginRight\x3d2;whiteSpace\x3dwrap;fontColor\x3d#ffffff;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-8;fillColor\x3d#000000;opacity\x3d25;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Mirah McNeil, Paul Nixon",new mxGeometry(0,0,177,20),"text;whiteSpace\x3dwrap;fontColor\x3d#ffffff;spacingLeft\x3d16;verticalAlign\x3dmiddle;fontSize\x3d11;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0.5,0.285,179,181),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginRight\x3d-2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("Electronic",new mxGeometry(0,0,179,69),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMarginTop\x3d2;rectMarginLeftt\x3d2;whiteSpace\x3dwrap;fontColor\x3d#ffffff;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d18;spacingBottom\x3d0;spacingTop\x3d-8;fillColor\x3d#000000;opacity\x3d25;strokeColor\x3dnone;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Tronixx, Astral Revival",new mxGeometry(0,0,177,20),"text;whiteSpace\x3dwrap;fontColor\x3d#ffffff;spacingLeft\x3d18;verticalAlign\x3dmiddle;fontSize\x3d11;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0.567,179,181),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginLeft\x3d-2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("Pop",new mxGeometry(0,0,179,69),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMarginTop\x3d2;rectMarginRight\x3d2;whiteSpace\x3dwrap;fontColor\x3d#ffffff;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-8;fillColor\x3d#000000;opacity\x3d25;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Sun, Bad Joke",
new mxGeometry(0,0,177,20),"text;whiteSpace\x3dwrap;fontColor\x3d#ffffff;spacingLeft\x3d16;verticalAlign\x3dmiddle;fontSize\x3d11;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0.5,0.567,179,181),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d2;rectMarginRight\x3d-2;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,
81);e.vertex=!0;a.insert(e);b=new mxCell("R \x26 B",new mxGeometry(0,0,179,69),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMarginTop\x3d2;rectMarginLeft\x3d2;whiteSpace\x3dwrap;fontColor\x3d#ffffff;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d18;spacingBottom\x3d0;spacingTop\x3d-8;fillColor\x3d#000000;opacity\x3d25;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Brooklyn All Stars, Kelly ...",new mxGeometry(0,0,177,20),"text;whiteSpace\x3dwrap;fontColor\x3d#ffffff;spacingLeft\x3d18;verticalAlign\x3dmiddle;fontSize\x3d11;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;e.insert(b);b=new mxCell('Lights and Camera \x3cfont color\x3d"#999999" style\x3d"font-weight: normal"\x3eYuna\x3c/font\x3e',new mxGeometry(0.162,1,300,50),"dashed\x3d0;shape\x3dmxgraph.gmdl.player;fontColor\x3d#666666;fontSize\x3d13;fontStyle\x3d1;align\x3dleft;spacingLeft\x3d16;html\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-98);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,
358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Two-line grid list")}),this.addEntry("gmdl google media design library grid list two line grid list",function(){var a=new mxCell("",new mxGeometry(0,0,358,
642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#1976D2;strokeColor\x3dnone;fontColor\x3d#ffffff;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,110),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#2196F3;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("Search People \x26 Places",new mxGeometry(0,0,358,60),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d6;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#B3B3B3;fontSize\x3d13;spacingRight\x3d50;resizeWidth\x3d1;");
e.geometry.relative=!0;e.vertex=!0;b.insert(e);var f=new mxCell("",new mxGeometry(0,0.5,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(22,-9);f.vertex=!0;e.insert(f);f=new mxCell("",new mxGeometry(1,0.5,11,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.voice;strokeColor\x3d#666666;fillColor\x3d#666666;strokeWidth\x3d2;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-70,-10);f.vertex=
!0;e.insert(f);f=new mxCell("",new mxGeometry(1,0.5,6,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#666666;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-31,-9);f.vertex=!0;e.insert(f);e=new mxCell("SPEED DIAL",new mxGeometry(0,1,119,48),"text;align\x3dcenter;fontColor\x3d#FFFFFF;fontStyle\x3d0;verticalAlign\x3dmiddle;fontSize\x3d14;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("RECENTS",
new mxGeometry(0.3333,1,119,48),"text;align\x3dcenter;fontColor\x3d#FFFFFF;fontStyle\x3d0;verticalAlign\x3dmiddle;fontSize\x3d14;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("CONTACTS",new mxGeometry(0.6667,1,119,48),"text;align\x3dcenter;fontColor\x3d#FFFFFF;fontStyle\x3d0;verticalAlign\x3dmiddle;fontSize\x3d14;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);b=new mxCell("Mobile",
new mxGeometry(0,0,178,136),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;align\x3dleft;verticalAlign\x3dbottom;spacing\x3d0;spacingLeft\x3d16;spacingBottom\x3d8;fontColor\x3d#FFFFFF;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,135);b.vertex=!0;a.insert(b);e=new mxCell("Ali Connors \x26#9733;",new mxGeometry(0,1,178,20),"text;whiteSpace\x3dwrap;fontColor\x3d#ffffff;spacingLeft\x3d16;verticalAlign\x3dmiddle;fontSize\x3d14;html\x3d1;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-44);e.vertex=!0;b.insert(e);b=new mxCell("Mobile",new mxGeometry(0.5,0,179,136),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;align\x3dleft;verticalAlign\x3dbottom;spacing\x3d0;spacingLeft\x3d16;spacingBottom\x3d8;fontColor\x3d#FFFFFF;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,135);b.vertex=!0;a.insert(b);e=new mxCell("Abbey Christensen \x26#9733;",new mxGeometry(0,1,179,
20),"text;whiteSpace\x3dwrap;fontColor\x3d#ffffff;spacingLeft\x3d16;verticalAlign\x3dmiddle;fontSize\x3d14;html\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-44);e.vertex=!0;b.insert(e);b=new mxCell("Mobile",new mxGeometry(0,0.2134,178,136),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;align\x3dleft;verticalAlign\x3dbottom;spacing\x3d0;spacingLeft\x3d16;spacingBottom\x3d8;fontColor\x3d#FFFFFF;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,135);b.vertex=!0;a.insert(b);e=new mxCell("Mary Johnson \x26#9733;",new mxGeometry(0,1,178,20),"text;whiteSpace\x3dwrap;fontColor\x3d#ffffff;spacingLeft\x3d16;verticalAlign\x3dmiddle;fontSize\x3d14;html\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-44);e.vertex=!0;b.insert(e);b=new mxCell("Mobile",new mxGeometry(0.5,0.2134,179,136),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;align\x3dleft;verticalAlign\x3dbottom;spacing\x3d0;spacingLeft\x3d16;spacingBottom\x3d8;fontColor\x3d#FFFFFF;resizeWidth\x3d1;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,135);b.vertex=!0;a.insert(b);e=new mxCell("Britta Holt \x26#9733;",new mxGeometry(0,1,179,20),"text;whiteSpace\x3dwrap;fontColor\x3d#ffffff;spacingLeft\x3d16;verticalAlign\x3dmiddle;fontSize\x3d14;html\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-44);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0.4268,178,136),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,135);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.5,0.4268,179,136),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,135);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0.6402,178,70),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;
b.geometry.offset=new mxPoint(0,135);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.5,0.6402,179,70),"shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;shadow\x3d0;resizeWidth\x3d1;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,135);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.5,1,56,56),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#2196F3;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-28,-119);b.vertex=!0;a.insert(b);e=new mxCell("",
new mxGeometry(20,18,16,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.more2;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);
return c.createVertexTemplateFromCells([a],358,642,"Two-line grid list")})];this.addPalette("gmdlGrid Lists","GMDL / Grid Lists",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLIconsPalette=function(a){var c=[this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.edit;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,20,"","Edit",null,null,this.getTagsForStencil("mxgraph.gmdl","edit","gmdl google media design library icon ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,20,"","Star",null,null,this.getTagsForStencil("mxgraph.gmdl","star","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.heart;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,18,"","Heart",null,null,this.getTagsForStencil("mxgraph.gmdl","heart","gmdl google media design library icon ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.reply;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,18,"","Reply",null,null,this.getTagsForStencil("mxgraph.gmdl","reply","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.users;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",24,16,"","Users",null,null,this.getTagsForStencil("mxgraph.gmdl","users","gmdl google media design library icon ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.gps;strokeColor\x3d#737373;fillColor\x3d#737373;shadow\x3d0;strokeWidth\x3d2;",20,20,"","GPS",null,null,this.getTagsForStencil("mxgraph.gmdl","gps","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.share2;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,20,"","Share",null,null,this.getTagsForStencil("mxgraph.gmdl","share","gmdl google media design library icon ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.navigate;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,20,"","Navigate",null,null,this.getTagsForStencil("mxgraph.gmdl","navigate","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.chat;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,20,"","Chat",null,null,this.getTagsForStencil("mxgraph.gmdl","chat","gmdl google media design library icon ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.voice;strokeColor\x3d#737373;fillColor\x3d#737373;shadow\x3d0;strokeWidth\x3d2;",12,20,"","Voice",null,null,this.getTagsForStencil("mxgraph.gmdl","voice","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.google;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",16,24,"","Google",null,null,this.getTagsForStencil("mxgraph.gmdl","google",
"gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.video;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",24,16,"","Video",null,null,this.getTagsForStencil("mxgraph.gmdl","video","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.gallery;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",24,22,"","Gallery",null,null,this.getTagsForStencil("mxgraph.gmdl",
"gallery","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.birthday;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",24,22,"","Birthday",null,null,this.getTagsForStencil("mxgraph.gmdl","birthday","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.cloud;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",24,16,"","Cloud",
null,null,this.getTagsForStencil("mxgraph.gmdl","cloud","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#737373;fillColor\x3d#737373;shadow\x3d0;strokeWidth\x3d2;",16,16,"","X",null,null,this.getTagsForStencil("mxgraph.gmdl","x","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.bookmark;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",
12,20,"","Bookmark",null,null,this.getTagsForStencil("mxgraph.gmdl","bookmark","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.calendar;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,20,"","Calendar",null,null,this.getTagsForStencil("mxgraph.gmdl","calendar","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.attractions;strokeColor\x3d#ffffff;fillColor\x3d#737373;shadow\x3d0;strokeWidth\x3d1;",
22,18,"","Attraction",null,null,this.getTagsForStencil("mxgraph.gmdl","attraction","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.dining;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",18,20,"","Dining",null,null,this.getTagsForStencil("mxgraph.gmdl","dining","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.education;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",
20,20,"","Education",null,null,this.getTagsForStencil("mxgraph.gmdl","education","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.family;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,20,"","Family",null,null,this.getTagsForStencil("mxgraph.gmdl","family","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.health;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",
20,18,"","Health",null,null,this.getTagsForStencil("mxgraph.gmdl","health","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.office;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,20,"","Office",null,null,this.getTagsForStencil("mxgraph.gmdl","office","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.promotions;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",
20,20,"","Promotion",null,null,this.getTagsForStencil("mxgraph.gmdl","promotion","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.radio;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,20,"","Radio",null,null,this.getTagsForStencil("mxgraph.gmdl","radio","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.recipes;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",
20,20,"","Recipe",null,null,this.getTagsForStencil("mxgraph.gmdl","recipe","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.sports;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;",20,20,"","Sports",null,null,this.getTagsForStencil("mxgraph.gmdl","sports","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;aspect\x3dfixed;shape\x3dmxgraph.gmdl.travel;strokeColor\x3dnone;fillColor\x3d#737373;shadow\x3d0;direction\x3dsouth;",
20,20,"","Travel",null,null,this.getTagsForStencil("mxgraph.gmdl","travel","gmdl google media design library icon ").join(" "))];this.addPalette("gmdlIcons","GMDL / Icons",a||!1,mxUtils.bind(this,function(a){for(var d=0;d<c.length;d++)a.appendChild(c[d](a))}))};Sidebar.prototype.addGMDLListsPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library list scannable list",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00796B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=
!0;b.insert(e);b=new mxCell("Feed reader",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#009688;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#00423B;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.refresh;strokeColor\x3d#00423B;fillColor\x3d#00423B;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#00423B;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,-8);e.vertex=
!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,358,103),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("Day reappeared. The tempest still raged with undiminished",new mxGeometry(0,0,244,60),"text;whiteSpace\x3dwrap;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-12;resizeWidth\x3d1;");b.geometry.relative=
!0;b.vertex=!0;e.insert(b);b=new mxCell("Corned beef prosciutto ground...",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d13;fontColor\x3d#000000;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,48);b.vertex=!0;e.insert(b);b=new mxCell("10 min",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d12;fontColor\x3d#999999;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(244,0,112,103),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d12;rectMarginLeft\x3d-12;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,103),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,184);e.vertex=!0;a.insert(e);
b=new mxCell("There were some signs of a calm at noon",new mxGeometry(0,0,244,60),"text;whiteSpace\x3dwrap;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-12;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Things to enjoy",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d13;fontColor\x3d#000000;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,48);b.vertex=!0;e.insert(b);b=new mxCell("1 hr",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d12;fontColor\x3d#999999;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(244,0,112,103),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d12;rectMarginLeft\x3d-12;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");
b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,103),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,287);e.vertex=!0;a.insert(e);b=new mxCell("Fun tropical escapes",new mxGeometry(0,0,244,60),"text;whiteSpace\x3dwrap;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-12;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=
!0;e.insert(b);b=new mxCell("The night was comparatively quiet. Some of the sails were again.",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d13;fontColor\x3d#000000;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;e.insert(b);b=new mxCell("1 hr",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d12;fontColor\x3d#999999;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(244,0,112,103),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d12;rectMarginLeft\x3d-12;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,103),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,390);e.vertex=!0;a.insert(e);
b=new mxCell("Pork loin sausage shankle, kielbasa bacon beef ribs",new mxGeometry(0,0,244,60),"text;whiteSpace\x3dwrap;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-12;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("Drumstick turkey shoulder square...",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d13;fontColor\x3d#000000;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,48);b.vertex=!0;e.insert(b);b=new mxCell("2 hr",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d12;fontColor\x3d#999999;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(244,0,112,103),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d12;rectMarginLeft\x3d-12;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");
b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,101),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d0;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,493);e.vertex=!0;a.insert(e);b=new mxCell("Cherry blossoms in bloom",new mxGeometry(0,0,244,60),"text;whiteSpace\x3dwrap;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;fontSize\x3d15;spacing\x3d16;spacingBottom\x3d0;spacingTop\x3d-12;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=
!0;e.insert(b);b=new mxCell("Spring is here and we all know...",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d13;fontColor\x3d#000000;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;e.insert(b);b=new mxCell("3 hr",new mxGeometry(0,0,244,20),"text;whiteSpace\x3dwrap;spacingLeft\x3d16;spacingRight\x3d16;spacing\x3d0;fontSize\x3d12;fontColor\x3d#999999;spacingBottom\x3d0;spacingTop\x3d-5;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(244,0,112,103),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d12;rectMarginLeft\x3d-12;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",
new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Scannable list")}),this.addEntry("gmdl google media design library list item list",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#2D3986;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#394797;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,
0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,-8);e.vertex=!0;b.insert(e);b=new mxCell("Janet Perkins",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,23,21),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#D3396E;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-11);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Mary Johnson",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,136);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Peter Carlsson",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,191);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Trevor Hansen",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,246);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0.2011,0,286,8),"shape\x3dline;strokeColor\x3d#eeeeee;strokeWidth\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);
b=new mxCell("Aaron Bennett",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,319);b.vertex=!0;a.insert(b);e=new mxCell("A",new mxGeometry(0,0.5,24,24),"text;fontSize\x3d24;fontColor\x3d#D3396E;verticalAlign\x3dmiddle;fontStyle\x3d0;align\x3dcenter;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-12);
e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Abbey Christensen",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
374);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Ali Connors",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
429);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Alex Nelson",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
484);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Anthony Stevens",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,539);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,
0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Item list")}),this.addEntry("gmdl google media design library list item list",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#2D3986;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#2D3986;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#394797;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,
0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,-8);e.vertex=!0;b.insert(e);b=new mxCell("Janet Perkins",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,23,21),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3dnone;fillColor\x3d#D3396E;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-11);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Mary Johnson",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,136);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Peter Carlsson",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,191);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Trevor Hansen",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,246);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0.2011,0,286,8),"shape\x3dline;strokeColor\x3d#eeeeee;strokeWidth\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);
b=new mxCell("Aaron Bennett",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,319);b.vertex=!0;a.insert(b);e=new mxCell("A",new mxGeometry(0,0.5,24,24),"text;fontSize\x3d24;fontColor\x3d#D3396E;verticalAlign\x3dmiddle;fontStyle\x3d0;align\x3dcenter;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-12);
e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Abbey Christensen",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
374);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Ali Connors",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
429);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Alex Nelson",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
484);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("Anthony Stevens",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;resizeWidth\x3d1;fontSize\x3d14;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,539);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,36,36),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-50,-18);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(1,0,168,208),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;shadow\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-178,30);b.vertex=!0;a.insert(b);e=new mxCell("Refresh",new mxGeometry(0,
0,168,52),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);e=new mxCell("Help \x26 feedback",new mxGeometry(0,0,168,52),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,52);e.vertex=!0;b.insert(e);e=new mxCell("Settings",new mxGeometry(0,0,168,52),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,104);e.vertex=!0;b.insert(e);e=new mxCell("Sign out",new mxGeometry(0,0,168,52),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,156);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,
0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Item list")}),this.addEntry("gmdl google media design library list item list",function(){var a=new mxCell("",new mxGeometry(0,0,152,631),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Roboto",new mxGeometry(0,0,152,55),
"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,152,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,50);b.vertex=!0;a.insert(b);b=new mxCell("Arial",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,55);b.vertex=!0;a.insert(b);b=new mxCell("Calibri",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,103);b.vertex=!0;a.insert(b);b=new mxCell("Cambria",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,151);b.vertex=!0;a.insert(b);
b=new mxCell("Comic sans",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,199);b.vertex=!0;a.insert(b);b=new mxCell("Consolas",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,247);b.vertex=!0;a.insert(b);b=new mxCell("Corsiva",new mxGeometry(0,
0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,295);b.vertex=!0;a.insert(b);b=new mxCell("Courier New",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,343);b.vertex=!0;a.insert(b);b=new mxCell("Droid Sans",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,391);b.vertex=!0;a.insert(b);b=new mxCell("Droid Serif",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,439);b.vertex=!0;a.insert(b);b=new mxCell("Georgia",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,487);b.vertex=!0;a.insert(b);b=new mxCell("Helvetica Neue",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,535);b.vertex=!0;a.insert(b);b=new mxCell("Impact",new mxGeometry(0,0,152,48),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,583);b.vertex=!0;a.insert(b);
b=new mxCell("",new mxGeometry(1,0,4,40),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#B3B3B3;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-11,75);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],152,631,"Item list")}),this.addEntry("gmdl google media design library list list style",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,
358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#0973AE;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#0973AE;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,
126),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#098DCA;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#084560;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);e=new mxCell("My Files",new mxGeometry(0,0,358,24),"text;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,60);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#084560;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-73,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,18,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.rects;strokeColor\x3dnone;fillColor\x3d#084560;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,20);
e.vertex=!0;b.insert(e);b=new mxCell("Folders",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d6;fontSize\x3d13;fontColor\x3d#666666;fontStyle\x3d1;resizeWidth\x3d1;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,150);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#1AD2D2;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(18,130);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#084560;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);b=new mxCell("Photos",new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;opacity\x3d20;resizeWidth\x3d1;fontSize\x3d17;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;spacingTop\x3d-1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,205);b.vertex=!0;a.insert(b);e=new mxCell("Jan 9, 2014",new mxGeometry(0,0,358,30),"text;fontSize\x3d14;fontColor\x3d#959595;verticalAlign\x3dmiddle;spacingBottom\x3d12;spacingTop\x3d2;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,25);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#959595;");e.geometry.relative=!0;
e.geometry.offset=new mxPoint(18,9);e.vertex=!0;b.insert(e);var f=new mxCell("",new mxGeometry(0.5,0.5,24,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.folder;fillColor\x3d#CFCECE;strokeColor\x3dnone;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-12,-10);f.vertex=!0;e.insert(f);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.info;fillColor\x3d#959595;strokeColor\x3d#CFCECE;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,14);e.vertex=!0;b.insert(e);
b=new mxCell("Create",new mxGeometry(0,0,358,48),"shape\x3drect;dashed\x3d0;strokeColor\x3dnone;fillColor\x3d#ffffff;fontSize\x3d16;fontColor\x3d#959595;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d14;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,270);b.vertex=!0;a.insert(b);b=new mxCell("Document",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d16;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,318);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.doc;fillColor\x3d#4285F4;strokeColor\x3d#FFFFFF;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-9);e.vertex=!0;b.insert(e);b=new mxCell("Spreadsheet",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d16;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,366);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.spreadsheet;fillColor\x3d#0F9D58;strokeColor\x3d#FFFFFF;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-9);e.vertex=!0;b.insert(e);b=new mxCell("Folder",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d16;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,414);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.folder;fillColor\x3d#BDBDBD;strokeColor\x3d#FFFFFF;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-9);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,8),"shape\x3dline;strokeColor\x3d#bbbbbb;strokeWidth\x3d1;opacity\x3d20;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
467);b.vertex=!0;a.insert(b);b=new mxCell("Upload photos or videos",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d16;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,480);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.upload;fillColor\x3d#BDBDBD;strokeColor\x3d#FFFFFF;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(17,-9);e.vertex=!0;b.insert(e);b=new mxCell("Use Camera",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;fontSize\x3d16;fontColor\x3d#000000;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,528);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,17),"dashed\x3d0;shape\x3dmxgraph.gmdl.camera;fillColor\x3d#BDBDBD;strokeColor\x3d#FFFFFF;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(17,-9);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,
"List Style")}),this.addEntry("gmdl google media design library list avatar text icon",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#0288D1;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=
!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;fillColor\x3d#0973AE;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,126),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#03A9F4;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#084560;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);e=new mxCell("My Files",new mxGeometry(0,0,358,24),"text;fontSize\x3d22;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,60);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#084560;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(-73,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,18,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.rects;strokeColor\x3dnone;fillColor\x3d#084560;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,20);e.vertex=!0;b.insert(e);b=new mxCell("Folders",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d6;fontSize\x3d13;fontColor\x3d#666666;fontStyle\x3d1;resizeWidth\x3d1;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,150);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#18FFFF;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(18,130);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#0B7676;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);b=new mxCell("Photos",
new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;fontSize\x3d17;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;spacingTop\x3d-1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,205);b.vertex=!0;a.insert(b);e=new mxCell("Jan 9, 2014",new mxGeometry(0,0,358,30),"text;fontSize\x3d14;fontColor\x3d#959595;verticalAlign\x3dmiddle;spacingBottom\x3d12;spacingTop\x3d2;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,25);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#B2B2B2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(18,9);e.vertex=!0;b.insert(e);var f=new mxCell("",new mxGeometry(0.5,0.5,24,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.folder;fillColor\x3d#ffffff;strokeColor\x3dnone;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-12,-10);f.vertex=!0;e.insert(f);e=new mxCell("",
new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.info;fillColor\x3d#B2B2B2;strokeColor\x3d#CFCECE;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,14);e.vertex=!0;b.insert(e);b=new mxCell("Recipes",new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;fontSize\x3d17;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;spacingTop\x3d-1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
270);b.vertex=!0;a.insert(b);e=new mxCell("Jan 17, 2014",new mxGeometry(0,0,358,30),"text;fontSize\x3d14;fontColor\x3d#959595;verticalAlign\x3dmiddle;spacingBottom\x3d12;spacingTop\x3d2;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,25);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#B2B2B2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(18,9);e.vertex=!0;b.insert(e);
f=new mxCell("",new mxGeometry(0.5,0.5,24,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.folder;fillColor\x3d#ffffff;strokeColor\x3dnone;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-12,-10);f.vertex=!0;e.insert(f);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.info;fillColor\x3d#B2B2B2;strokeColor\x3d#CFCECE;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,14);e.vertex=!0;b.insert(e);b=new mxCell("Work",new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;fontSize\x3d17;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;spacingTop\x3d-1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,335);b.vertex=!0;a.insert(b);e=new mxCell("Jan 28, 2014",new mxGeometry(0,0,358,30),"text;fontSize\x3d14;fontColor\x3d#959595;verticalAlign\x3dmiddle;spacingBottom\x3d12;spacingTop\x3d2;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,25);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#B2B2B2;");e.geometry.relative=!0;
e.geometry.offset=new mxPoint(18,9);e.vertex=!0;b.insert(e);f=new mxCell("",new mxGeometry(0.5,0.5,24,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.folder;fillColor\x3d#ffffff;strokeColor\x3dnone;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-12,-10);f.vertex=!0;e.insert(f);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.info;fillColor\x3d#B2B2B2;strokeColor\x3d#CFCECE;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,14);e.vertex=!0;b.insert(e);
b=new mxCell("",new mxGeometry(70,400,288,10),"shape\x3dline;strokeColor\x3d#E6E6E6;");b.vertex=!0;a.insert(b);b=new mxCell("Files",new mxGeometry(0,0,358,55),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d6;fontSize\x3d13;fontColor\x3d#666666;fontStyle\x3d1;resizeWidth\x3d1;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,410);b.vertex=!0;a.insert(b);b=new mxCell("Vacation itinerary",new mxGeometry(0,
0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;fontSize\x3d17;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;spacingTop\x3d-1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,465);b.vertex=!0;a.insert(b);e=new mxCell("Jan 20, 2014",new mxGeometry(0,0,358,30),"text;fontSize\x3d14;fontColor\x3d#959595;verticalAlign\x3dmiddle;spacingBottom\x3d12;spacingTop\x3d2;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(0,25);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#2196F3;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(18,9);e.vertex=!0;b.insert(e);f=new mxCell("",new mxGeometry(0.5,0.5,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.doc;fillColor\x3d#ffffff;strokeColor\x3d#2196F3;strokeWidth\x3d2;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-9,-9);f.vertex=!0;e.insert(f);e=new mxCell("",new mxGeometry(1,
0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.info;fillColor\x3d#B2B2B2;strokeColor\x3d#CFCECE;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,14);e.vertex=!0;b.insert(e);b=new mxCell("Kitchen remodel",new mxGeometry(0,0,358,65),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;fontSize\x3d17;fontColor\x3d#000000;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;spacingTop\x3d-1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,530);
b.vertex=!0;a.insert(b);e=new mxCell("Jan 10, 2014",new mxGeometry(0,0,358,30),"text;fontSize\x3d14;fontColor\x3d#959595;verticalAlign\x3dmiddle;spacingBottom\x3d12;spacingTop\x3d2;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,25);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,0,40,40),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#F9CE1D;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(18,9);e.vertex=!0;b.insert(e);
f=new mxCell("",new mxGeometry(0.5,0.5,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.sheet;fillColor\x3d#ffffff;strokeColor\x3dnone;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-9,-9);f.vertex=!0;e.insert(f);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.info;fillColor\x3d#B2B2B2;strokeColor\x3d#CFCECE;fontSize\x3d13;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,14);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);f=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-7,
-7);f.vertex=!0;b.insert(f);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Avatar with text and icon")}),this.addEntry("gmdl google media design library list three line list",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;fontSize\x3d13;align\x3dright;fillColor\x3d#0097A7;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Inbox",
new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BAD2;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-3;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;fillColor\x3d#005864;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,
0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#005864;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-8);e.vertex=!0;b.insert(e);var f=new mxCell("Brunch this weekend?",new mxGeometry(0,0,358,136),"text;fontSize\x3d16;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d57;resizeWidth\x3d1;spacingLeft\x3d72;resizeWidth\x3d1;strokeColor\x3d#eeeeee;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(0,81);f.vertex=!0;a.insert(f);
e=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,64);e.vertex=!0;f.insert(e);b=new mxCell('\x3cfont color\x3d"#000000" style\x3d"font-size: 14px"\x3eAli Connors\x3c/font\x3e - I\'ll be in your neighborhood doing errands this weekend. Do you want ...',new mxGeometry(0,0,358,66),"text;fontSize\x3d13;verticalAlign\x3dmiddle;spacingLeft\x3d72;whiteSpace\x3dwrap;fontColor\x3d#666666;html\x3d1;spacingRight\x3d14;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,70);b.vertex=!0;f.insert(b);b=new mxCell("Today",new mxGeometry(0,0,358,40),"text;spacingLeft\x3d16;spacing\x3d2;spacingTop\x3d8;fontSize\x3d14;fontColor\x3d#666666;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);f=new mxCell('Summer BBQ \x3cfont color\x3d"#999999"\x3e4\x3c/font\x3e',new mxGeometry(0,0,358,86),"text;fontSize\x3d16;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-6;html\x3d1;spacingLeft\x3d56;resizeWidth\x3d1;strokeColor\x3d#eeeeee;");
f.geometry.relative=!0;f.geometry.offset=new mxPoint(0,217);f.vertex=!0;a.insert(f);e=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,13);e.vertex=!0;f.insert(e);b=new mxCell('\x3cfont color\x3d"#000000" style\x3d"font-size: 14px"\x3eto Alex, Scott, Jennifer\x3c/font\x3e - Wish I could come, but I\'m out of town this weekend.',new mxGeometry(0,0,358,66),"text;fontSize\x3d13;verticalAlign\x3dtop;whiteSpace\x3dwrap;spacingRight\x3d16;fontColor\x3d#666666;html\x3d1;resizeWidth\x3d1;spacingLeft\x3d72;spacingTop\x3d2;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;f.insert(b);e=new mxCell("Oui Oui",new mxGeometry(0,0,358,86),"text;fontSize\x3d16;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-6;html\x3d1;spacingLeft\x3d56;resizeWidth\x3d1;strokeColor\x3d#eeeeee;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,303);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,13);b.vertex=!0;e.insert(b);b=new mxCell('\x3cfont color\x3d"#000000" style\x3d"font-size: 14px"\x3eSandra Adams\x3c/font\x3e - Do you have Paris recommendations? Have you ever been?',new mxGeometry(0,0,358,66),"text;fontSize\x3d13;verticalAlign\x3dtop;whiteSpace\x3dwrap;spacingRight\x3d16;fontColor\x3d#666666;html\x3d1;resizeWidth\x3d1;spacingLeft\x3d72;spacingTop\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;
e.insert(b);e=new mxCell("Birthday gift",new mxGeometry(0,0,358,86),"text;fontSize\x3d16;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-6;html\x3d1;spacingLeft\x3d56;resizeWidth\x3d1;strokeColor\x3d#eeeeee;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,389);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,13);b.vertex=
!0;e.insert(b);b=new mxCell('\x3cfont color\x3d"#000000" style\x3d"font-size: 14px"\x3eTrevor Hansen\x3c/font\x3e - Have any ideas about what to get Heidi for her birthday?',new mxGeometry(0,0,358,66),"text;fontSize\x3d13;verticalAlign\x3dtop;whiteSpace\x3dwrap;spacingRight\x3d16;fontColor\x3d#666666;html\x3d1;resizeWidth\x3d1;spacingLeft\x3d72;spacingTop\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;e.insert(b);e=new mxCell("Recipe to try",new mxGeometry(0,0,358,
86),"text;fontSize\x3d16;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-6;html\x3d1;spacingLeft\x3d56;resizeWidth\x3d1;strokeColor\x3d#eeeeee;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,475);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,13);b.vertex=!0;e.insert(b);b=new mxCell('\x3cfont color\x3d"#000000" style\x3d"font-size: 14px"\x3eBritta Holt\x3c/font\x3e - We should eat this: Grated Squash, Corn and tomatillo Tacos ...',
new mxGeometry(0,0,358,66),"text;fontSize\x3d13;verticalAlign\x3dtop;whiteSpace\x3dwrap;spacingRight\x3d16;fontColor\x3d#666666;html\x3d1;resizeWidth\x3d1;spacingLeft\x3d72;spacingTop\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;e.insert(b);b=new mxCell("Giants game",new mxGeometry(0,0,358,86),"text;fontSize\x3d16;align\x3dleft;verticalAlign\x3dtop;spacing\x3d16;spacingTop\x3d-6;html\x3d1;spacingLeft\x3d56;resizeWidth\x3d1;strokeColor\x3d#eeeeee;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,561);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,13);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(1,1,56,56),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#EEFF41;shadow\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-78,-130);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.5,
0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#6D751E;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-8,-8);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);
return c.createVertexTemplateFromCells([a],358,642,"Three-line list")}),this.addEntry("gmdl google media design library list single line item avatar",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00796B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("New chat",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#009688;resizeWidth\x3d1;fontSize\x3d21;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#004840;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#004840;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,-8);e.vertex=!0;
b.insert(e);b=new mxCell("Recent chat",new mxGeometry(0,0,358,40),"text;fontSize\x3d13;fontColor\x3d#666666;spacingLeft\x3d16;spacingTop\x3d8;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,358,58),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,141);e.vertex=!0;a.insert(e);b=new mxCell("Abbey Christensen",new mxGeometry(0,
0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontSize\x3d16;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,-20);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0.5,18,17),"dashed\x3d0;shape\x3dmxgraph.gmdl.chat2;strokeColor\x3dnone;fillColor\x3d#4DB6AC;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,-9);b.vertex=
!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,58),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,199);e.vertex=!0;a.insert(e);b=new mxCell("Alex Nelson",new mxGeometry(0,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontSize\x3d16;");b.geometry.relative=!0;
b.geometry.offset=new mxPoint(16,-20);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0.5,18,17),"dashed\x3d0;shape\x3dmxgraph.gmdl.chat2;strokeColor\x3dnone;fillColor\x3d#4DB6AC;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,-9);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,58),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,257);e.vertex=!0;a.insert(e);b=new mxCell("Mary Johnson",
new mxGeometry(0,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontSize\x3d16;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,-20);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0.5,18,17),"dashed\x3d0;shape\x3dmxgraph.gmdl.chat2;strokeColor\x3dnone;fillColor\x3d#bdbdbd;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,
-9);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,58),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,315);e.vertex=!0;a.insert(e);b=new mxCell("Peter Carlsson",new mxGeometry(0,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontSize\x3d16;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(16,-10);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0.5,18,17),"dashed\x3d0;shape\x3dmxgraph.gmdl.chat2;strokeColor\x3dnone;fillColor\x3d#bdbdbd;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,-9);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,58),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,373);e.vertex=!0;a.insert(e);b=new mxCell("Trevor Hansen",
new mxGeometry(0,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontSize\x3d16;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,-20);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0.5,18,17),"dashed\x3d0;shape\x3dmxgraph.gmdl.chat2;strokeColor\x3dnone;fillColor\x3d#bdbdbd;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,
-9);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,358,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,426);e.vertex=!0;a.insert(e);b=new mxCell("Previous chats",new mxGeometry(0,0,358,40),"text;fontSize\x3d13;fontColor\x3d#666666;spacingLeft\x3d16;spacingTop\x3d8;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,431);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,358,
58),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,479);e.vertex=!0;a.insert(e);b=new mxCell("Britta Holt",new mxGeometry(0,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontSize\x3d16;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,-20);b.vertex=!0;e.insert(b);
e=new mxCell("",new mxGeometry(0,0,358,58),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,537);e.vertex=!0;a.insert(e);b=new mxCell("Sandra Adams",new mxGeometry(0,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d16;fontSize\x3d16;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(16,-20);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,1,56,56),"shape\x3dellipse;fillColor\x3d#18FFFF;strokeColor\x3dnone;shadow\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-73,-120);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#0C7F7F;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-8,-8);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),
"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Single-line item with avatar")}),this.addEntry("gmdl google media design library list two line item list",function(){var a=new mxCell("",new mxGeometry(0,0,
358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00796B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Settings",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#009688;resizeWidth\x3d1;fontSize\x3d21;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#004840;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);b=new mxCell("General",new mxGeometry(0,0,358,40),"text;fontSize\x3d13;fontColor\x3d#666666;spacingLeft\x3d16;spacingTop\x3d8;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);b=new mxCell("Profile photo",new mxGeometry(0,0,358,30),"text;fontSize\x3d16;fontStyle\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
141);b.vertex=!0;a.insert(b);b=new mxCell("Change your Google+ profile photo",new mxGeometry(0,0,358,30),"text;fontSize\x3d14;fontStyle\x3d0;spacingLeft\x3d16;fontColor\x3d#999999;verticalAlign\x3dtop;spacingTop\x3d-6;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,171);b.vertex=!0;a.insert(b);b=new mxCell("Show your status",new mxGeometry(0,0,358,30),"text;fontSize\x3d16;fontStyle\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
221);b.vertex=!0;a.insert(b);b=new mxCell("Your status is visible to everyone you use with",new mxGeometry(0,0,358,30),"text;fontSize\x3d14;fontStyle\x3d0;spacingLeft\x3d16;fontColor\x3d#999999;verticalAlign\x3dtop;spacingTop\x3d-6;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,251);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,358,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,276);b.vertex=
!0;a.insert(b);b=new mxCell("Hangout notifications",new mxGeometry(0,0,358,40),"text;fontSize\x3d13;fontColor\x3d#666666;spacingLeft\x3d16;spacingTop\x3d8;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,281);b.vertex=!0;a.insert(b);b=new mxCell('Notifications\n\x3cfont style\x3d"font-size: 14px" color\x3d"#999999"\x3eAllow notifications\x3c/font\x3e',new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;html\x3d1;strokeColor\x3d#666666;strokeWidth\x3d2;fillColor\x3dnone;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d32;spacingTop\x3d-18;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,351);b.vertex=!0;a.insert(b);b=new mxCell('Sound\n\x3cfont style\x3d"font-size: 14px" color\x3d"#999999"\x3eHangouts message\x3c/font\x3e',new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;html\x3d1;strokeColor\x3d#666666;strokeWidth\x3d2;fillColor\x3dnone;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d32;spacingTop\x3d-18;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(16,423);b.vertex=!0;a.insert(b);b=new mxCell('Video sounds\n\x3cfont style\x3d"font-size: 14px" color\x3d"#999999"\x3eHangouts video call\x3c/font\x3e',new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;html\x3d1;strokeColor\x3d#666666;strokeWidth\x3d2;fillColor\x3dnone;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d32;spacingTop\x3d-18;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,
495);b.vertex=!0;a.insert(b);b=new mxCell('Invites\n\x3cfont style\x3d"font-size: 14px" color\x3d"#999999"\x3eAlso notify when receiving invites\x3c/font\x3e',new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;html\x3d1;strokeColor\x3d#666666;strokeWidth\x3d2;fillColor\x3dnone;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d32;spacingTop\x3d-18;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,567);
b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,
0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Two-line item list")}),this.addEntry("gmdl google media design library list three line list icon",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#7B1FA2;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Settings",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#9C27B0;resizeWidth\x3d1;fontSize\x3d21;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-34,-8);e.vertex=!0;b.insert(e);b=new mxCell("User controls",new mxGeometry(0,0,358,40),"text;fontSize\x3d13;fontColor\x3d#666666;spacingLeft\x3d16;spacingTop\x3d8;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);b=new mxCell("Content filtering",new mxGeometry(0,0,358,30),"text;fontSize\x3d16;fontStyle\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,141);b.vertex=!0;a.insert(b);b=new mxCell("Set the content filtering level to restrict apps that can be downloaded",new mxGeometry(0,0,358,30),"text;fontSize\x3d14;fontStyle\x3d0;spacingLeft\x3d16;fontColor\x3d#999999;verticalAlign\x3dtop;spacingTop\x3d-8;whiteSpace\x3dwrap;spacingRight\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,172);b.vertex=!0;a.insert(b);b=new mxCell("Password",new mxGeometry(0,0,358,30),"text;fontSize\x3d16;fontStyle\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,215);b.vertex=!0;a.insert(b);b=new mxCell("Require password for purchase or use password to restrict purchase",new mxGeometry(0,0,358,30),"text;fontSize\x3d13;fontStyle\x3d0;spacingLeft\x3d16;fontColor\x3d#999999;verticalAlign\x3dtop;spacingTop\x3d-6;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,244);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,358,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,310);b.vertex=!0;a.insert(b);b=new mxCell("General",new mxGeometry(0,0,358,40),"text;fontSize\x3d13;fontColor\x3d#666666;spacingLeft\x3d16;spacingTop\x3d8;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,315);b.vertex=!0;
a.insert(b);b=new mxCell('Notifications\n\x3cfont style\x3d"font-size: 14px" color\x3d"#999999"\x3eNotify me about updates to apps or games\x3cbr\x3ethat I download\x3c/font\x3e',new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;html\x3d1;strokeColor\x3d#666666;strokeWidth\x3d2;fillColor\x3dnone;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d32;spacingTop\x3d-18;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(16,380);b.vertex=!0;a.insert(b);b=new mxCell('Sound\n\x3cfont style\x3d"font-size: 14px" color\x3d"#999999"\x3eAuto-update apps at anytime. Data charges\x3cbr\x3emay apply\x3c/font\x3e',new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;html\x3d1;strokeColor\x3d#666666;strokeWidth\x3d2;fillColor\x3dnone;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d32;spacingTop\x3d-18;fontSize\x3d17;");b.geometry.relative=!0;
b.geometry.offset=new mxPoint(16,472);b.vertex=!0;a.insert(b);b=new mxCell('Auto-add widgets\n\x3cfont style\x3d"font-size: 14px" color\x3d"#999999"\x3eAutomatically add home screen widgets\x3c/font\x3e',new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;html\x3d1;strokeColor\x3d#666666;strokeWidth\x3d2;fillColor\x3dnone;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d32;spacingTop\x3d-18;fontSize\x3d17;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(16,562);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;
b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Three-line list with icon")}),
this.addEntry("gmdl google media design library list three line list avatar icon",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;fontSize\x3d13;align\x3dright;fillColor\x3d#C2185B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);
var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Inbox",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#E91E63;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d-3;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);
e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-78,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,20,20),"ellipse;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-37,-10);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0.5,0.5,12,8),"dashed\x3d0;shape\x3dmxgraph.gmdl.check;strokeColor\x3d#E91E63;fillColor\x3dnone;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-6,-4);b.vertex=!0;e.insert(b);e=new mxCell("Ali Connors",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d0;spacingTop\x3d5;spacingLeft\x3d72;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,81);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,16);b.vertex=!0;e.insert(b);b=new mxCell("Brunch this weekend?",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
31);b.vertex=!0;e.insert(b);b=new mxCell("I'll be in your neighbourheed doing errands ...",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;fontColor\x3d#999999;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,54);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(-39,20);b.vertex=!0;e.insert(b);e=new mxCell("me, Scott, Jennifer",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d0;spacingTop\x3d5;spacingLeft\x3d72;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,167);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(16,16);b.vertex=!0;e.insert(b);b=new mxCell("Summer BBQ",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;resizeWidth\x3d1;fontSize\x3d13;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,31);b.vertex=!0;e.insert(b);b=new mxCell("Wish I could come, but I'm out of town ...",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;fontColor\x3d#999999;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,54);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,20);b.vertex=!0;e.insert(b);e=new mxCell("Sandra Adams",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d0;spacingTop\x3d5;spacingLeft\x3d72;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,253);e.vertex=!0;a.insert(e);var f=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(16,16);f.vertex=!0;e.insert(f);b=new mxCell("Oui oui",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,31);
b.vertex=!0;e.insert(b);b=new mxCell("Do you have Paris recommendations ...",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;fontColor\x3d#999999;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,54);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,
20);b.vertex=!0;e.insert(b);e=new mxCell("Trevor Hansen",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d0;spacingTop\x3d5;resizeWidth\x3d1;spacingLeft\x3d72;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,339);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(16,16);b.vertex=!0;e.insert(b);b=new mxCell("Order confirmation",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,31);b.vertex=!0;e.insert(b);b=new mxCell("Thank you for your recent order from ...",new mxGeometry(0,0,230,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;fontColor\x3d#999999;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,54);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,20);b.vertex=!0;e.insert(b);e=new mxCell("Britta Holt",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d0;spacingTop\x3d5;spacingLeft\x3d72;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,425);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,16);b.vertex=!0;e.insert(b);b=new mxCell("Recipe to try",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
31);b.vertex=!0;e.insert(b);b=new mxCell("We should eat this: grated squash, corn ...",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;fontColor\x3d#999999;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");b.geometry.offset=new mxPoint(0,54);b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(-39,20);b.vertex=!0;e.insert(b);e=new mxCell("David Park",new mxGeometry(0,0,358,86),"shape\x3drect;fontSize\x3d16;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;align\x3dleft;verticalAlign\x3dtop;spacing\x3d0;spacingTop\x3d5;spacingLeft\x3d72;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,511);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(0,0,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(16,16);b.vertex=!0;e.insert(b);b=new mxCell("Giants game",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,31);b.vertex=!0;e.insert(b);b=new mxCell("Any interest in seeing the Giants play ...",new mxGeometry(0,0,358,20),"text;fontSize\x3d13;verticalAlign\x3dmiddle;fontColor\x3d#999999;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,54);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,0,17,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.star;strokeColor\x3d#B3B3B3;fillColor\x3d#ffffff;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-39,20);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(1,1,56,56),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#18FFFF;shadow\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-78,-129);b.vertex=
!0;a.insert(b);f=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.plus;strokeColor\x3d#084560;strokeWidth\x3d2;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(20,20);f.vertex=!0;b.insert(f);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);
return c.createVertexTemplateFromCells([a],358,642,"Three-line list with avatar and icons")}),this.addEntry("gmdl google media design library list line item checkbox",function(){var a=new mxCell("Line item selected",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3dnone;fillColor\x3d#089953;strokeWidth\x3d2;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,-9);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.5,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.message;strokeColor\x3d#ffffff;fillColor\x3d#666666;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-36,-9);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],358,56,"Line item with primary checkbox")}),this.addEntry("gmdl google media design library list line item checkbox",function(){var a=new mxCell("Line item unselected",
new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,-9);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.5,20,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.message;strokeColor\x3d#ffffff;fillColor\x3d#666666;strokeWidth\x3d2;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-36,-9);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],358,56,"Line item with primary checkbox")}),this.addEntry("gmdl google media design library list line item checkbox",function(){var a=new mxCell("Line item selected",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;");a.vertex=
!0;var b=new mxCell("",new mxGeometry(0,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,-20);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.5,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3dnone;fillColor\x3d#089953;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-36,-9);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],358,
56,"Line item with primary checkbox")}),this.addEntry("gmdl google media design library list line item checkbox",function(){var a=new mxCell("Line item unselected",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,-20);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.5,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-36,-9);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],358,56,"Line item with primary checkbox")}),this.addEntry("gmdl google media design library list item list",function(){var a=new mxCell("Wi-Fi",
new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,24,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.wifi;strokeColor\x3dnone;fillColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,-11);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.5,36,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.switch;aspect\x3dfixed;switchState\x3don;strokeColor\x3dnone;fillColor\x3d#0E9D57;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-51,-10);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],358,56,"Item list")}),this.addEntry("gmdl google media design library list item list",function(){var a=new mxCell("Bluetooth",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,
0.5,10,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.bluetooth;strokeColor\x3d#666666;strokeWidth\x3d2;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(21,-9);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.5,36,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.switch;aspect\x3dfixed;switchState\x3doff;strokeColor\x3d#bbbbbb;fillColor\x3d#0E9D57;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-51,-10);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],358,56,"Item list")}),
this.addEntry("gmdl google media design library list item list",function(){var a=new mxCell("Data usage",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,22,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.data_usage;strokeColor\x3d#666666;strokeWidth\x3d3;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(17,
-11);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],358,56,"Item list")}),this.addEntry("gmdl google media design library list line item checkbox",function(){var a=new mxCell("Janet Perkins",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#808080;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,-20);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.5,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-36,-9);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],358,56,"Line item with primary checkbox")}),this.addEntry("gmdl google media design library list item list",function(){var a=new mxCell("",new mxGeometry(0,
0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00796B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Topics",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#009688;resizeWidth\x3d1;fontSize\x3d21;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,-8);e.vertex=!0;b.insert(e);b=new mxCell("Attractions",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;strokeWidth\x3d1;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.attractions;strokeColor\x3d#FFFFFF;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-9);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);
e.vertex=!0;b.insert(e);b=new mxCell("Dining",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,129);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,15,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.dining;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;
e.geometry.offset=new mxPoint(20,-9);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=!0;b.insert(e);b=new mxCell("Education",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,177);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.education;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-9);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=
!0;b.insert(e);b=new mxCell("Family",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,225);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.family;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(17,-9);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=!0;b.insert(e);b=new mxCell("Health",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,273);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.health;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(17,-9);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=
!0;b.insert(e);b=new mxCell("Office",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,321);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,20,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.office;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(18,-11);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=!0;b.insert(e);b=new mxCell("Promotions",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,369);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,24),"dashed\x3d0;shape\x3dmxgraph.gmdl.promotions;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-12);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=
!0;b.insert(e);b=new mxCell("Radio",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,417);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,24),"dashed\x3d0;shape\x3dmxgraph.gmdl.radio;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(18,-12);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=!0;b.insert(e);b=new mxCell("Recipes",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,465);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,24),"dashed\x3d0;shape\x3dmxgraph.gmdl.recipes;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-12);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=
!0;b.insert(e);b=new mxCell("Sports",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,513);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.sports;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(17,-11);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=!0;b.insert(e);b=new mxCell("Travel",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,561);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.travel;strokeColor\x3dnone;fillColor\x3d#737373;direction\x3dsouth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-10);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,
-3);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,
0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Item list")}),this.addEntry("gmdl google media design library list item list expanded",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00796B;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Topics",new mxGeometry(0,0,358,57),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#009688;resizeWidth\x3d1;fontSize\x3d21;fontColor\x3d#FFFFFF;spacingTop\x3d-3;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-8);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,-8);e.vertex=!0;b.insert(e);b=new mxCell("Attractions",new mxGeometry(0,0,358,62),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,81);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.attractions;strokeColor\x3d#FFFFFF;fillColor\x3d#737373;strokeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-9);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,
-3);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,10),"dashed\x3d0;shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,138);b.vertex=!0;a.insert(b);b=new mxCell("Dining",new mxGeometry(0,0,358,62),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;fontColor\x3d#009688;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,143);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,15,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.dining;strokeColor\x3dnone;fillColor\x3d#009688;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(27,-9);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=!0;b.insert(e);b=new mxCell("Breakfast \x26 brunch",
new mxGeometry(0,0,358,48),"text;verticalAlign\x3dmiddle;spacingLeft\x3d70;fontSize\x3d17;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,205);b.vertex=!0;a.insert(b);b=new mxCell("New American",new mxGeometry(0,0,358,48),"text;verticalAlign\x3dmiddle;spacingLeft\x3d70;fontSize\x3d17;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,253);b.vertex=!0;a.insert(b);b=new mxCell("Sushi bars",new mxGeometry(0,0,358,48),"text;verticalAlign\x3dmiddle;spacingLeft\x3d70;fontSize\x3d17;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,301);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,358,10),"dashed\x3d0;shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,344);b.vertex=!0;a.insert(b);b=new mxCell("Education",new mxGeometry(0,0,358,62),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,349);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.education;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(17,-9);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=
!0;b.insert(e);b=new mxCell("Family",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,406);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.family;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(17,-9);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=!0;b.insert(e);b=new mxCell("Health",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,456);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,22,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.health;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(17,-9);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=
!0;b.insert(e);b=new mxCell("Office",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,502);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,20,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.office;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(18,-11);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=!0;b.insert(e);b=new mxCell("Promotions",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;resizeWidth\x3d1;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;spacingLeft\x3d72;fontSize\x3d17;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,550);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0.5,24,24),"dashed\x3d0;shape\x3dmxgraph.gmdl.promotions;strokeColor\x3dnone;fillColor\x3d#737373;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,-12);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,6),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#737373;strokeWidth\x3d2;flipV\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-32,-3);e.vertex=
!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,
14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Item list (expanded)")})];this.addPalette("gmdlLists","GMDL / Lists",
a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLMenusPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library menu menu simple",function(){var a=new mxCell("",new mxGeometry(0,0,170,168),"perimeter\x3dnone;dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Refresh",new mxGeometry(0,0,170,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,0);b.vertex=!0;a.insert(b);b=new mxCell("Help \x26 feedback",new mxGeometry(0,0,170,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;a.insert(b);b=new mxCell("Settings",new mxGeometry(0,0,170,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,84);b.vertex=
!0;a.insert(b);b=new mxCell("Sign out",new mxGeometry(0,0,170,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,126);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Menu")}),this.addEntry("gmdl google media design library menu menu simple",function(){var a=new mxCell("",new mxGeometry(0,0,170,272),"perimeter\x3dnone;dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("Preview",new mxGeometry(0,0,16,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.preview;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#747474;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(17,16);b.vertex=!0;a.insert(b);b=new mxCell("Share",new mxGeometry(0,0,18,14),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.share3;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#747474;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,57);b.vertex=!0;a.insert(b);b=new mxCell("Get link",new mxGeometry(0,0,18,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.link;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#747474;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,101);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,a.geometry.width,10),"shape\x3dline;resizeWidth\x3d1;perimeter\x3dnone;strokeColor\x3d#eeeeee;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,126);b.vertex=!0;a.insert(b);b=new mxCell("Make a copy",new mxGeometry(0,0,12,16),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.copy;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;strokeWidth\x3d2;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;strokeColor\x3d#747474;fillColor\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(20,150);b.vertex=!0;a.insert(b);b=new mxCell("Download",new mxGeometry(0,0,12,16),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.download;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#747474;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,192);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,a.geometry.width,10),"shape\x3dline;resizeWidth\x3d1;perimeter\x3dnone;strokeColor\x3d#eeeeee;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,220);b.vertex=!0;a.insert(b);b=new mxCell("Remove",new mxGeometry(0,0,12,16),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.remove;verticalAlign\x3dmiddle;align\x3dleft;labelPosition\x3dright;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;strokeColor\x3dnone;fillColor\x3d#747474;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(16,242);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Menu")}),this.addEntry("gmdl google media design library menu simple menu",function(){var a=new mxCell("",new mxGeometry(0,0,280,160),"shape\x3drect;fillColor\x3d#FAFAFA;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Show all notification content",new mxGeometry(0,0,280,50),"text;fontSize\x3d13;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;fillColor\x3d#eeeeee;verticalAlign\x3dmiddle;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,10);b.vertex=!0;a.insert(b);b=new mxCell("Hide sensitive notification content",new mxGeometry(0,0,280,50),"text;fontSize\x3d13;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;verticalAlign\x3dmiddle;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,60);b.vertex=!0;a.insert(b);b=new mxCell("Hide all notification content",new mxGeometry(0,0,280,50),"text;fontSize\x3d13;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;verticalAlign\x3dmiddle;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,110);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],280,160,"Simple menu")}),this.addEntry("gmdl google media design library menu simple menu multi line",function(){var a=new mxCell("",new mxGeometry(0,0,280,328),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Title goes here",new mxGeometry(0,0,280,68),"text;fontSize\x3d19;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;verticalAlign\x3dmiddle;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Single line text goes here",new mxGeometry(0,0,280,50),"text;fontSize\x3d15;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;fillColor\x3d#e0e0e0;verticalAlign\x3dmiddle;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,68);b.vertex=!0;a.insert(b);b=new mxCell("Two line wrapped text goes here making it wrap to next line",new mxGeometry(0,0,280,70),"text;fontSize\x3d15;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;verticalAlign\x3dmiddle;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,118);b.vertex=!0;a.insert(b);b=new mxCell("Single line text goes here",new mxGeometry(0,0,280,50),"text;fontSize\x3d15;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;verticalAlign\x3dmiddle;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,188);b.vertex=!0;a.insert(b);b=new mxCell("Three line wrapped text goes here making it wrap to next line and continues longer to be here",new mxGeometry(0,0,280,90),"text;fontSize\x3d15;fontColor\x3d#000000;align\x3dleft;spacing\x3d16;verticalAlign\x3dmiddle;whiteSpace\x3dwrap;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,238);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],280,328,"Simple menu (multi-line)")}),this.addEntry("gmdl google media design library menu menu items",function(){var a=new mxCell("",new mxGeometry(0,0,318,126),"perimeter\x3dnone;dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Menu item one",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dtop;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-27,0);e.vertex=!0;b.insert(e);b=new mxCell("Menu item two",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=
!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-27,-5);e.vertex=!0;b.insert(e);b=new mxCell("Menu item three",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dbottom;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,84);b.vertex=!0;a.insert(b);e=new mxCell("",
new mxGeometry(1,0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-27,-10);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],318,126,"Menu items")}),this.addEntry("gmdl google media design library menu menu",function(){var a=new mxCell("",new mxGeometry(0,0,318,126),"perimeter\x3dnone;dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("Open",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("Cmnd+O",new mxGeometry(1,0.5,106,20),"text;labelPosition\x3dcenter;verticalLabelPosition\x3dmiddle;align\x3dright;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-120,-10);e.vertex=!0;b.insert(e);b=new mxCell("Paste in place",new mxGeometry(0,
0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;a.insert(b);e=new mxCell("Shift + V",new mxGeometry(1,0.5,106,20),"text;labelPosition\x3dcenter;verticalLabelPosition\x3dmiddle;align\x3dright;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-120,-10);e.vertex=!0;b.insert(e);b=new mxCell("Research",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,84);b.vertex=!0;a.insert(b);e=new mxCell("Opt + Shift + Cmnd + I",new mxGeometry(1,0.5,106,20),"text;labelPosition\x3dcenter;verticalLabelPosition\x3dmiddle;align\x3dright;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-120,-10);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Menu")}),this.addEntry("gmdl google media design library menu menu",
function(){var a=new mxCell("",new mxGeometry(0,0,318,126),"perimeter\x3dnone;dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Open",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("O",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-41,-6);e.vertex=!0;b.insert(e);b=new mxCell("Paste in place",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;a.insert(b);e=new mxCell("V",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-41,-6);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,12),"shape\x3dmxgraph.arrows2.arrow;direction\x3dnorth;dy\x3d0.6;dx\x3d4.8;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-57,-6);e.vertex=!0;b.insert(e);b=new mxCell("Research",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,84);b.vertex=!0;a.insert(b);e=new mxCell("I",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-33,-6);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,12),"shape\x3dmxgraph.arrows2.arrow;direction\x3dnorth;dy\x3d0.6;dx\x3d4.8;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-49,-6);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.opt;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,-6);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Menu")}),this.addEntry("gmdl google media design library menu cascading menu",
function(){var a=new mxCell("",new mxGeometry(0,0,318,524),"perimeter\x3dnone;dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Bold",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("B",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-41,-6);e.vertex=!0;b.insert(e);b=new mxCell("Italic",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;a.insert(b);e=new mxCell("I",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-41,-6);e.vertex=!0;b.insert(e);b=new mxCell("Underline",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,84);b.vertex=!0;a.insert(b);e=new mxCell("U",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-41,-6);e.vertex=!0;b.insert(e);b=new mxCell("Striketrough",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,126);b.vertex=!0;a.insert(b);e=new mxCell("Alt+Shift+5",new mxGeometry(1,0.5,106,20),"text;labelPosition\x3dcenter;verticalLabelPosition\x3dmiddle;align\x3dright;verticalAlign\x3dmiddle;fontSize\x3d15;perimeter\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-120,-10);e.vertex=!0;b.insert(e);var f=new mxCell("Superscript",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;perimeter\x3dnone;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(0,168);f.vertex=!0;a.insert(f);e=new mxCell(".",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-41,-6);e.vertex=!0;f.insert(e);f=new mxCell("Subscript",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;perimeter\x3dnone;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(0,210);f.vertex=!0;a.insert(f);e=new mxCell(",",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-41,-6);e.vertex=!0;f.insert(e);b=new mxCell("",new mxGeometry(0,0,318,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,252);b.vertex=!0;a.insert(b);b=new mxCell("Paragraph styles",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,262);
b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-38,-5);e.vertex=!0;b.insert(e);b=new mxCell("Align",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,304);b.vertex=!0;a.insert(b);
e=new mxCell("",new mxGeometry(1,0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-38,-5);e.vertex=!0;b.insert(e);b=new mxCell("Line Spacing",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;fillColor\x3d#eeeeee;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);
e=new mxCell("",new mxGeometry(1,0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-38,-5);e.vertex=!0;b.insert(e);e=new mxCell("Numbered List",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;perimeter\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,388);e.vertex=!0;a.insert(e);b=new mxCell("",
new mxGeometry(1,0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-38,-5);b.vertex=!0;e.insert(b);e=new mxCell("List options",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;perimeter\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,430);e.vertex=!0;a.insert(e);b=new mxCell("",new mxGeometry(1,
0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-38,-5);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(0,0,318,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;perimeter\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,472);e.vertex=!0;a.insert(e);e=new mxCell("Clear formatting",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;perimeter\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,482);e.vertex=!0;a.insert(e);b=new mxCell("/",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-41,-6);b.vertex=!0;e.insert(b);e=new mxCell("",new mxGeometry(318,346,318,286),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;shadow\x3d1;perimeter\x3dnone;");
e.vertex=!0;b=new mxCell("Single",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d72;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("1.15",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d72;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;e.insert(b);b=new mxCell("Double",new mxGeometry(0,
0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d72;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,84);b.vertex=!0;e.insert(b);b=new mxCell("Custom: 1.2",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d72;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,126);b.vertex=!0;e.insert(b);f=new mxCell("",new mxGeometry(0,0.5,18,
14),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.check;fillColor\x3dnone;strokeWidth\x3d2;strokeColor\x3d#666666;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(36,-7);f.vertex=!0;b.insert(f);f=new mxCell("",new mxGeometry(1,0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-38,-5);f.vertex=!0;b.insert(f);b=new mxCell("",new mxGeometry(0,0,318,10),
"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,168);b.vertex=!0;e.insert(b);b=new mxCell("Add space before paragraph",new mxGeometry(0,0,318,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d16;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,178);b.vertex=!0;e.insert(b);b=new mxCell("Add space after paragraph",new mxGeometry(0,0,318,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d16;resizeWidth\x3d1;perimeter\x3dnone;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,210);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(0,0,318,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,242);b.vertex=!0;e.insert(b);b=new mxCell("Custom spacing...",new mxGeometry(0,0,318,34),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d16;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,252);b.vertex=!0;e.insert(b);return c.createVertexTemplateFromCells([a,e],636,632,"Cascading menu")}),this.addEntry("gmdl google media design library menu cascading menu",function(){var a=new mxCell("",new mxGeometry(0,0,192,146),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;shadow\x3d1;perimeter\x3dnone;");a.vertex=!0;var b=new mxCell("Show",new mxGeometry(0,0,192,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d16;resizeWidth\x3d1;perimeter\x3dnone;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Grid lines",new mxGeometry(0,0,192,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(0,0.5,18,14),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.check;fillColor\x3dnone;strokeWidth\x3d2;strokeColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(36,
-7);e.vertex=!0;b.insert(e);b=new mxCell("Page breaks",new mxGeometry(0,0,192,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,74);b.vertex=!0;a.insert(b);b=new mxCell("Rules",new mxGeometry(0,0,192,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacingLeft\x3d72;resizeWidth\x3d1;perimeter\x3dnone;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,106);b.vertex=!0;a.insert(b);e=
new mxCell("",new mxGeometry(0,0.5,18,14),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.check;fillColor\x3dnone;strokeWidth\x3d2;strokeColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(36,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Cascading menu")}),this.addEntry("gmdl google media design library menu menu disabled actions",function(){var a=new mxCell("",new mxGeometry(0,0,85,190),"perimeter\x3dnone;dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("Undo",new mxGeometry(0,0,85,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,10);b.vertex=!0;a.insert(b);b=new mxCell("Redo",new mxGeometry(0,0,85,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;fontColor\x3d#b3b3b3;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,85,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,74);b.vertex=!0;a.insert(b);b=new mxCell("Cut",new mxGeometry(0,0,85,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;fontColor\x3d#b3b3b3;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,84);b.vertex=!0;a.insert(b);b=new mxCell("Copy",new mxGeometry(0,0,85,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;fontColor\x3d#b3b3b3;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
116);b.vertex=!0;a.insert(b);b=new mxCell("Paste",new mxGeometry(0,0,85,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,148);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Menu with disabled actions")}),this.addEntry("gmdl google media design library menu menu disabled actions",function(){var a=new mxCell("",new mxGeometry(0,0,170,222),"perimeter\x3dnone;dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("Home",new mxGeometry(0,0,170,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,10);b.vertex=!0;a.insert(b);b=new mxCell("Back",new mxGeometry(0,0,170,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;a.insert(b);b=new mxCell("Forward",new mxGeometry(0,0,170,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;fontColor\x3d#b3b3b3;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,74);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,170,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,106);b.vertex=!0;a.insert(b);b=new mxCell("Recently closed",new mxGeometry(0,0,170,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;fontColor\x3d#b3b3b3;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,116);b.vertex=!0;a.insert(b);
b=new mxCell("Google",new mxGeometry(0,0,170,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,148);b.vertex=!0;a.insert(b);b=new mxCell("Youtube",new mxGeometry(0,0,170,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,180);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,
"Menu with disabled actions")}),this.addEntry("gmdl google media design library menu scrollable menu",function(){var a=new mxCell("",new mxGeometry(0,0,272,420),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Option item 1",new mxGeometry(0,0,a.geometry.width,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Option item 2",new mxGeometry(0,
0,a.geometry.width,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;a.insert(b);b=new mxCell("Option item 3",new mxGeometry(0,0,a.geometry.width,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,84);b.vertex=!0;a.insert(b);b=new mxCell("Option item 4",new mxGeometry(0,0,a.geometry.width,
42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,126);b.vertex=!0;a.insert(b);b=new mxCell("Option item 5",new mxGeometry(0,0,a.geometry.width,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,168);b.vertex=!0;a.insert(b);b=new mxCell("Option item 6",new mxGeometry(0,0,a.geometry.width,42),
"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,210);b.vertex=!0;a.insert(b);b=new mxCell("Option item 7",new mxGeometry(0,0,a.geometry.width,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,252);b.vertex=!0;a.insert(b);b=new mxCell("Option item 8",new mxGeometry(0,0,a.geometry.width,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,294);b.vertex=!0;a.insert(b);b=new mxCell("Option item 9",new mxGeometry(0,0,a.geometry.width,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;fillColor\x3d#eeeeee;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,336);b.vertex=!0;a.insert(b);b=new mxCell("Option item 10",new mxGeometry(0,0,a.geometry.width,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,378);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,4,190),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#dddddd;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-4,125);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Scrollable menu")}),this.addEntry("gmdl google media design library menu cascading menu",function(){var a=new mxCell("",new mxGeometry(116,0,318,436),"perimeter\x3dnone;dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("Bold",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("B",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-41,-6);e.vertex=!0;b.insert(e);
b=new mxCell("Italic",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;a.insert(b);e=new mxCell("I",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-41,
-6);e.vertex=!0;b.insert(e);b=new mxCell("Underline",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,84);b.vertex=!0;a.insert(b);e=new mxCell("U",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(-41,-6);e.vertex=!0;b.insert(e);b=new mxCell("Striketrough",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,126);b.vertex=!0;a.insert(b);e=new mxCell("Alt+Shift+5",new mxGeometry(1,0.5,106,20),"text;labelPosition\x3dcenter;verticalLabelPosition\x3dmiddle;align\x3dright;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-120,
-10);e.vertex=!0;b.insert(e);var f=new mxCell("Superscript",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(0,168);f.vertex=!0;a.insert(f);e=new mxCell(".",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(-41,-6);e.vertex=!0;f.insert(e);f=new mxCell("Subscript",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;spacing\x3d0;spacingLeft\x3d16;fontSize\x3d15;resizeWidth\x3d1;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(0,210);f.vertex=!0;a.insert(f);e=new mxCell(",",new mxGeometry(1,0.5,12,12),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.command;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d15;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-41,-6);e.vertex=!0;f.insert(e);b=new mxCell("",new mxGeometry(0,0,318,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,252);b.vertex=!0;a.insert(b);b=new mxCell("Paragraph styles",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,262);b.vertex=!0;a.insert(b);e=new mxCell("",
new mxGeometry(1,0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-38,-5);e.vertex=!0;b.insert(e);b=new mxCell("Line spacing",new mxGeometry(0,0,318,42),"text;fillColor\x3d#eeeeee;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,304);b.vertex=!0;a.insert(b);b=new mxCell("Numbered list",
new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);e=new mxCell("List options",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,388);e.vertex=!0;a.insert(e);e=new mxCell("",new mxGeometry(0,0,318,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,420);e.vertex=!0;a.insert(e);e=new mxCell("",new mxGeometry(286,304,318,286),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;shadow\x3d1;");e.vertex=!0;b=new mxCell("Single",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d72;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;e.insert(b);b=new mxCell("1.15",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d72;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,42);b.vertex=!0;e.insert(b);b=new mxCell("Double",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d72;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,84);b.vertex=!0;e.insert(b);b=new mxCell("Custom: 1.2",new mxGeometry(0,0,318,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d72;fillColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,126);b.vertex=!0;e.insert(b);f=new mxCell("",new mxGeometry(0,0.5,18,14),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.check;fillColor\x3dnone;strokeWidth\x3d2;strokeColor\x3d#666666;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(36,-7);f.vertex=!0;b.insert(f);f=new mxCell("",new mxGeometry(1,0.5,5,10),"perimeter\x3dnone;dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dnorth;");f.geometry.relative=!0;
f.geometry.offset=new mxPoint(-38,-5);f.vertex=!0;b.insert(f);b=new mxCell("",new mxGeometry(0,0,318,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,168);b.vertex=!0;e.insert(b);b=new mxCell("Add space before paragraph",new mxGeometry(0,0,318,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,178);b.vertex=!0;e.insert(b);b=new mxCell("Add space after paragraph",
new mxGeometry(0,0,318,32),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d16;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,210);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(0,0,318,10),"shape\x3dline;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,242);b.vertex=!0;e.insert(b);b=new mxCell("Custom spacing...",new mxGeometry(0,0,318,34),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d16;spacingLeft\x3d16;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,252);b.vertex=!0;e.insert(b);b=new mxCell("",new mxGeometry(0,428,286,128),"shape\x3drect;strokeColor\x3d#eeeeee;fillColor\x3d#ffffff;shadow\x3d1;");b.vertex=!0;f=new mxCell("Line spacing",new mxGeometry(0,0,220,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");f.geometry.relative=!0;f.vertex=!0;b.insert(f);f=new mxCell("1.2",new mxGeometry(1,0,66,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d0;spacingRight\x3d16;align\x3dright;");
f.geometry.relative=!0;f.geometry.offset=new mxPoint(-66,0);f.vertex=!0;b.insert(f);f=new mxCell("Paragraph spacing before",new mxGeometry(0,0,220,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(0,42);f.vertex=!0;b.insert(f);f=new mxCell("1.2",new mxGeometry(1,0,66,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d0;spacingRight\x3d16;align\x3dright;");f.geometry.relative=!0;f.geometry.offset=
new mxPoint(-66,42);f.vertex=!0;b.insert(f);f=new mxCell("Paragraph spacing after",new mxGeometry(0,0,220,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d0;spacingLeft\x3d16;resizeWidth\x3d1;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(0,84);f.vertex=!0;b.insert(f);f=new mxCell("1.5",new mxGeometry(1,0,66,42),"text;verticalAlign\x3dmiddle;fontSize\x3d15;spacing\x3d0;spacingRight\x3d16;align\x3dright;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-66,84);f.vertex=!0;
b.insert(f);return c.createVertexTemplateFromCells([a,e,b],604,590,"Cascading menu")})];this.addPalette("gmdlMenus","GMDL / Menus",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLMiscPalette=function(a){var c=this,f=[this.createVertexTemplateEntry("shape\x3drect;fillColor\x3d#eeeeee;strokeColor\x3dnone;",358,642,"","Background (Light)",null,null,this.getTagsForStencil("mxgraph.gmdl","background","gmdl google media design library misc ").join(" ")),
this.createVertexTemplateEntry("shape\x3drect;fillColor\x3d#333333;strokeColor\x3dnone;",358,642,"","Background (Dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","background","gmdl google media design library misc ").join(" ")),this.addEntry("gmdl google media design library misc keyboard",function(){var a=new mxCell("",new mxGeometry(0,0,358,224),"dashed\x3d0;shape\x3drect;fillColor\x3d#263238;strokeColor\x3dnone;aspect\x3dfixed;");a.vertex=!0;var b=new mxCell("q",new mxGeometry(12,22,30,30),
"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("w",new mxGeometry(46,22,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("e",new mxGeometry(80,22,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("r",new mxGeometry(114,22,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");
b.vertex=!0;a.insert(b);b=new mxCell("t",new mxGeometry(148,22,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("y",new mxGeometry(182,22,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("u",new mxGeometry(216,22,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("i",
new mxGeometry(250,22,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("o",new mxGeometry(284,22,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("p",new mxGeometry(318,22,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("a",new mxGeometry(27,75,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");
b.vertex=!0;a.insert(b);b=new mxCell("s",new mxGeometry(61,75,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("d",new mxGeometry(95,75,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("f",new mxGeometry(129,75,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("g",
new mxGeometry(163,75,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("h",new mxGeometry(197,75,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("j",new mxGeometry(231,75,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("k",new mxGeometry(265,75,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");
b.vertex=!0;a.insert(b);b=new mxCell("l",new mxGeometry(299,75,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("z",new mxGeometry(61,126,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("x",new mxGeometry(95,126,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("c",
new mxGeometry(129,126,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("v",new mxGeometry(163,126,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("b",new mxGeometry(197,126,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("n",new mxGeometry(231,126,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");
b.vertex=!0;a.insert(b);b=new mxCell("m",new mxGeometry(265,126,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("1",new mxGeometry(22,12,30,30),"text;fontColor\x3d#999999;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("2",new mxGeometry(56,12,30,30),"text;fontColor\x3d#999999;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("3",
new mxGeometry(90,12,30,30),"text;fontColor\x3d#999999;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("4",new mxGeometry(124,12,30,30),"text;fontColor\x3d#999999;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("5",new mxGeometry(158,12,30,30),"text;fontColor\x3d#999999;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("6",new mxGeometry(192,12,30,30),"text;fontColor\x3d#999999;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;");
b.vertex=!0;a.insert(b);b=new mxCell("7",new mxGeometry(226,12,30,30),"text;fontColor\x3d#999999;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("8",new mxGeometry(260,12,30,30),"text;fontColor\x3d#999999;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("9",new mxGeometry(294,12,30,30),"text;fontColor\x3d#999999;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("0",
new mxGeometry(328,12,30,30),"text;fontColor\x3d#999999;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(21,135,22,22),"dashed\x3d0;shape\x3dmxgraph.gmdl.shift;strokeColor\x3dnone;fillColor\x3d#A1A7A9;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(310,132,26,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.backspace;strokeColor\x3dnone;fillColor\x3d#A1A7A9;");b.vertex=!0;a.insert(b);b=new mxCell("?123",new mxGeometry(17,177,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d14;verticalAlign\x3dmiddle;align\x3dcenter;");
b.vertex=!0;a.insert(b);b=new mxCell(",",new mxGeometry(62,174,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell(".",new mxGeometry(265,170,30,30),"text;fontColor\x3d#bbbbbb;fontSize\x3d24;verticalAlign\x3dmiddle;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(308,167,36,36),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4CB5AB;");b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(10,
12,16,12),"dashed\x3d0;shape\x3dmxgraph.gmdl.check;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(105,174,145,25),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#3C474C;rounded\x3d1;size\x3d3;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],358,224,"Keyboard")}),this.addEntry("gmdl google media design library misc snackbar",function(){var a=new mxCell("Archived",new mxGeometry(0,0,358,48),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#333333;fontColor\x3d#FFFFFF;align\x3dleft;spacing\x3d16;fontSize\x3d13;spacingLeft\x3d8;");
a.vertex=!0;var b=new mxCell("UNDO",new mxGeometry(1,0,88,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#EEFF41;fontSize\x3d14;resizeHeight\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-88,0);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],358,48,"Snackbar")})];this.addPalette("gmdlMisc","GMDL / Misc",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLPickersPalette=function(a){var c=
this,f=[this.addEntry("gmdl google media design library picker date picker portrait",function(){var a=new mxCell("",new mxGeometry(0,0,328,484),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Thu, Apr 13",new mxGeometry(0,0,328,96),"shape\x3drect;fillColor\x3d#009688;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dleft;spacing\x3d16;fontSize\x3d33;verticalAlign\x3dbottom;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=
new mxCell("2017",new mxGeometry(0,0,328,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#FFFFFF;spacingTop\x3d6;spacing\x3d16;fontSize\x3d15;textOpacity\x3d70;resizeWidth\x3d1;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("\x3c",new mxGeometry(0,0,48,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#4D4D4D;spacingTop\x3d6;spacing\x3d16;fontSize\x3d20;align\x3dcenter;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,96);b.vertex=!0;a.insert(b);b=new mxCell("April 2017",
new mxGeometry(0.1463,0,232,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#4D4D4D;spacingTop\x3d6;spacing\x3d16;fontSize\x3d13;align\x3dcenter;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,96);b.vertex=!0;a.insert(b);b=new mxCell("\x3e",new mxGeometry(0.8537,0,48,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#4D4D4D;spacingTop\x3d6;spacing\x3d16;fontSize\x3d20;align\x3dcenter;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,96);
b.vertex=!0;a.insert(b);b=new mxCell("S",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("M",new mxGeometry(0.1463,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("T",new mxGeometry(0.2896,0,46,
40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("W",new mxGeometry(0.4299,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("T",new mxGeometry(0.5701,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("F",new mxGeometry(0.7104,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("S",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=
!0;a.insert(b);b=new mxCell("1",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,186);b.vertex=!0;a.insert(b);b=new mxCell("2",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("3",new mxGeometry(0.1463,
0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("4",new mxGeometry(0.2896,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("5",new mxGeometry(0.4299,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("6",new mxGeometry(0.5701,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("7",new mxGeometry(0.7104,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#009688;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("8",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("9",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);
b=new mxCell("10",new mxGeometry(0.1463,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);b=new mxCell("11",new mxGeometry(0.2896,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);b=new mxCell("12",new mxGeometry(0.4299,
0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);b=new mxCell("13",new mxGeometry(0.6402,0,40,40),"shape\x3dellipse;fillColor\x3d#009688;strokeColor\x3dnone;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,266);b.vertex=!0;a.insert(b);b=new mxCell("14",new mxGeometry(0.7104,
0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);b=new mxCell("15",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);b=new mxCell("16",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("17",new mxGeometry(0.1463,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("18",new mxGeometry(0.2896,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("19",new mxGeometry(0.4299,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("20",new mxGeometry(0.5701,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;
a.insert(b);b=new mxCell("21",new mxGeometry(0.7104,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("22",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("23",new mxGeometry(0,
0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("24",new mxGeometry(0.1463,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("25",new mxGeometry(0.2896,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("26",new mxGeometry(0.4299,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("27",new mxGeometry(0.5701,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("28",new mxGeometry(0.7104,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("29",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;
a.insert(b);b=new mxCell("30",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,386);b.vertex=!0;a.insert(b);e=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-160,-50);
e.vertex=!0;a.insert(e);b=new mxCell("OK",new mxGeometry(1,1,90,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(-90,-50);a.insert(b);return c.createVertexTemplateFromCells([a],328,484,"Date picker (portrait)")}),this.addEntry("gmdl google media design library picker date picker portrait dark",function(){var a=new mxCell("",new mxGeometry(0,
0,328,484),"shape\x3drect;fillColor\x3d#424242;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Thu, Apr 13",new mxGeometry(0,0,328,96),"shape\x3drect;fillColor\x3d#555555;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dleft;spacing\x3d16;fontSize\x3d33;verticalAlign\x3dbottom;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("2017",new mxGeometry(0,0,328,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#FFFFFF;spacingTop\x3d6;spacing\x3d16;fontSize\x3d15;textOpacity\x3d70;resizeWidth\x3d1;");
e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("\x3c",new mxGeometry(0,0,48,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#ffffff;spacingTop\x3d6;spacing\x3d16;fontSize\x3d20;align\x3dcenter;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,96);b.vertex=!0;a.insert(b);b=new mxCell("April 2017",new mxGeometry(0.1463,0,232,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#ffffff;spacingTop\x3d6;spacing\x3d16;fontSize\x3d13;align\x3dcenter;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,96);b.vertex=!0;a.insert(b);b=new mxCell("\x3e",new mxGeometry(0.8537,0,48,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#ffffff;spacingTop\x3d6;spacing\x3d16;fontSize\x3d20;align\x3dcenter;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,96);b.vertex=!0;a.insert(b);b=new mxCell("S",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;
b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("M",new mxGeometry(0.1463,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("T",new mxGeometry(0.2896,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=
new mxCell("W",new mxGeometry(0.4299,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("T",new mxGeometry(0.5701,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("F",new mxGeometry(0.7104,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("S",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,146);b.vertex=!0;a.insert(b);b=new mxCell("1",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,186);b.vertex=
!0;a.insert(b);b=new mxCell("2",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("3",new mxGeometry(0.1463,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("4",new mxGeometry(0.2896,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("5",new mxGeometry(0.4299,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("6",new mxGeometry(0.5701,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=
!0;a.insert(b);b=new mxCell("7",new mxGeometry(0.7104,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#80CBC4;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("8",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,226);b.vertex=!0;a.insert(b);b=new mxCell("9",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);b=new mxCell("10",new mxGeometry(0.1463,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);b=new mxCell("11",new mxGeometry(0.2896,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=
!0;a.insert(b);b=new mxCell("12",new mxGeometry(0.4299,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);b=new mxCell("13",new mxGeometry(0.6402,0,40,40),"shape\x3dellipse;fillColor\x3d#80CBC4;strokeColor\x3dnone;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#424242;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,266);b.vertex=!0;a.insert(b);
b=new mxCell("14",new mxGeometry(0.7104,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);b=new mxCell("15",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,266);b.vertex=!0;a.insert(b);b=new mxCell("16",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("17",new mxGeometry(0.1463,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("18",new mxGeometry(0.2896,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=
!0;a.insert(b);b=new mxCell("19",new mxGeometry(0.4299,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("20",new mxGeometry(0.5701,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("21",new mxGeometry(0.7104,0,46,40),
"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("22",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,306);b.vertex=!0;a.insert(b);b=new mxCell("23",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("24",new mxGeometry(0.1463,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("25",new mxGeometry(0.2896,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=
!0;a.insert(b);b=new mxCell("26",new mxGeometry(0.4299,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("27",new mxGeometry(0.5701,0,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("28",new mxGeometry(0.7104,0,46,40),
"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("29",new mxGeometry(0.8506,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,346);b.vertex=!0;a.insert(b);b=new mxCell("30",new mxGeometry(0,0,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,386);b.vertex=!0;a.insert(b);e=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-160,-50);e.vertex=!0;a.insert(e);b=new mxCell("OK",new mxGeometry(1,1,90,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(-90,-50);a.insert(b);return c.createVertexTemplateFromCells([a],328,484,"Date picker (portrait, dark)")}),this.addEntry("gmdl google media design library picker date picker landscape",function(){var a=new mxCell("",new mxGeometry(0,0,512,304),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Thu,\nApr 13",new mxGeometry(0,0,168,304),"shape\x3drect;fillColor\x3d#009688;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dleft;spacing\x3d16;fontSize\x3d33;verticalAlign\x3dtop;spacingTop\x3d14;");
b.vertex=!0;a.insert(b);var e=new mxCell("2017",new mxGeometry(0,0,168,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#FFFFFF;spacingTop\x3d6;spacing\x3d16;fontSize\x3d15;textOpacity\x3d70;resizeWidth\x3d1;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("\x3c",new mxGeometry(0.3262,0,50,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#4D4D4D;spacingTop\x3d6;spacing\x3d16;fontSize\x3d20;align\x3dcenter;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("April 2017",
new mxGeometry(0.4297,0,242,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#4D4D4D;spacingTop\x3d6;spacing\x3d16;fontSize\x3d13;align\x3dcenter;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("\x3e",new mxGeometry(0.9023,0,50,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#4D4D4D;spacingTop\x3d6;spacing\x3d16;fontSize\x3d20;align\x3dcenter;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("S",new mxGeometry(0.3262,0,52,32),
"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("M",new mxGeometry(0.4297,0,48,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("T",new mxGeometry(0.5234,0,48,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("W",new mxGeometry(0.6172,0,48,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("T",new mxGeometry(0.7109,0,48,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=
!0;a.insert(b);b=new mxCell("F",new mxGeometry(0.8047,0,48,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("S",new mxGeometry(0.8984,0,52,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#808080;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("1",new mxGeometry(0.8984,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,68);b.vertex=!0;a.insert(b);b=new mxCell("2",new mxGeometry(0.3262,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("3",new mxGeometry(0.4297,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("4",new mxGeometry(0.5234,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("5",new mxGeometry(0.6172,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);
b=new mxCell("6",new mxGeometry(0.7109,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("7",new mxGeometry(0.8047,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#009688;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("8",new mxGeometry(0.8984,
0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("9",new mxGeometry(0.3262,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("10",new mxGeometry(0.4297,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("11",new mxGeometry(0.5234,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("12",new mxGeometry(0.6172,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("13",new mxGeometry(0.755,0,32,32),"shape\x3dellipse;fillColor\x3d#009688;strokeColor\x3dnone;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-16,132);b.vertex=!0;a.insert(b);b=new mxCell("14",new mxGeometry(0.8047,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("15",new mxGeometry(0.8984,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("16",new mxGeometry(0.3262,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;
a.insert(b);b=new mxCell("17",new mxGeometry(0.4297,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("18",new mxGeometry(0.5234,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("19",new mxGeometry(0.6172,
0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("20",new mxGeometry(0.7109,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("21",new mxGeometry(0.8047,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("22",new mxGeometry(0.8984,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("23",new mxGeometry(0.3262,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("24",new mxGeometry(0.4297,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("25",new mxGeometry(0.5234,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;
a.insert(b);b=new mxCell("26",new mxGeometry(0.6172,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("27",new mxGeometry(0.7109,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("28",new mxGeometry(0.8047,
0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("29",new mxGeometry(0.8984,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("30",new mxGeometry(0.3262,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontStyle\x3d1;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,228);b.vertex=!0;a.insert(b);e=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-160,-50);e.vertex=!0;a.insert(e);b=new mxCell("OK",new mxGeometry(1,1,90,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-90,-50);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],512,304,"Date picker (landscape)")}),this.addEntry("gmdl google media design library picker date picker landscape dark",function(){var a=new mxCell("",new mxGeometry(0,0,512,304),"shape\x3drect;fillColor\x3d#424242;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Thu,\nApr 13",new mxGeometry(0,0,168,304),"shape\x3drect;fillColor\x3d#555555;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dleft;spacing\x3d16;fontSize\x3d33;verticalAlign\x3dtop;spacingTop\x3d14;");
b.vertex=!0;a.insert(b);var e=new mxCell("2017",new mxGeometry(0,0,168,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#FFFFFF;spacingTop\x3d6;spacing\x3d16;fontSize\x3d15;textOpacity\x3d70;resizeWidth\x3d1;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("\x3c",new mxGeometry(0.3262,0,50,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#ffffff;spacingTop\x3d6;spacing\x3d16;fontSize\x3d20;align\x3dcenter;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("April 2017",
new mxGeometry(0.4297,0,242,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#ffffff;spacingTop\x3d6;spacing\x3d16;fontSize\x3d13;align\x3dcenter;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("\x3e",new mxGeometry(0.9023,0,50,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#ffffff;spacingTop\x3d6;spacing\x3d16;fontSize\x3d20;align\x3dcenter;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("S",new mxGeometry(0.3262,0,52,32),
"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("M",new mxGeometry(0.4297,0,48,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("T",new mxGeometry(0.5234,0,48,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("W",new mxGeometry(0.6172,0,48,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("T",new mxGeometry(0.7109,0,48,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=
!0;a.insert(b);b=new mxCell("F",new mxGeometry(0.8047,0,48,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("S",new mxGeometry(0.8984,0,52,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#cccccc;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("1",new mxGeometry(0.8984,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,68);b.vertex=!0;a.insert(b);b=new mxCell("2",new mxGeometry(0.3262,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("3",new mxGeometry(0.4297,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=
!0;a.insert(b);b=new mxCell("4",new mxGeometry(0.5234,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("5",new mxGeometry(0.6172,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("6",new mxGeometry(0.7109,0,46,32),
"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("7",new mxGeometry(0.8047,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#80CBC4;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("8",new mxGeometry(0.8984,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,100);b.vertex=!0;a.insert(b);b=new mxCell("9",new mxGeometry(0.3262,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("10",new mxGeometry(0.4297,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,132);b.vertex=
!0;a.insert(b);b=new mxCell("11",new mxGeometry(0.5234,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("12",new mxGeometry(0.6172,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("13",new mxGeometry(0.755,0,32,32),
"shape\x3dellipse;fillColor\x3d#80CBC4;strokeColor\x3dnone;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#424242;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-16,132);b.vertex=!0;a.insert(b);b=new mxCell("14",new mxGeometry(0.8047,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("15",new mxGeometry(0.8984,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,132);b.vertex=!0;a.insert(b);b=new mxCell("16",new mxGeometry(0.3262,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("17",new mxGeometry(0.4297,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=
!0;a.insert(b);b=new mxCell("18",new mxGeometry(0.5234,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("19",new mxGeometry(0.6172,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("20",new mxGeometry(0.7109,0,46,32),
"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("21",new mxGeometry(0.8047,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("22",new mxGeometry(0.8984,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,164);b.vertex=!0;a.insert(b);b=new mxCell("23",new mxGeometry(0.3262,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("24",new mxGeometry(0.4297,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=
!0;a.insert(b);b=new mxCell("25",new mxGeometry(0.5234,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("26",new mxGeometry(0.6172,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("27",new mxGeometry(0.7109,0,46,32),
"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("28",new mxGeometry(0.8047,0,46,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("29",new mxGeometry(0.8984,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,196);b.vertex=!0;a.insert(b);b=new mxCell("30",new mxGeometry(0.3262,0,49,32),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,228);b.vertex=!0;a.insert(b);e=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(-160,-50);e.vertex=!0;a.insert(e);b=new mxCell("OK",new mxGeometry(1,1,90,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-90,-50);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],512,304,"Date picker (landscape, dark)")}),this.addEntry("gmdl google media design library picker time picker",function(){var a=
new mxCell("",new mxGeometry(0,0,328,484),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;aspect\x3dfixed;");a.vertex=!0;var b=new mxCell("3:30",new mxGeometry(0,0,328,96),"shape\x3drect;fillColor\x3d#009688;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dcenter;spacing\x3d0;fontSize\x3d58;verticalAlign\x3dmiddle;spacingBottom\x3d10;spacingLeft\x3d34;");b.vertex=!0;a.insert(b);var e=new mxCell("AM",new mxGeometry(248,18,40,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d17;fontStyle\x3d0;textOpacity\x3d70;");
e.vertex=!0;b.insert(e);e=new mxCell("PM",new mxGeometry(248,42,40,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d17;");e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(16,130,296,296),"shape\x3dellipse;fillColor\x3d#eeeeee;strokeColor\x3dnone;");b.vertex=!0;a.insert(b);e=new mxCell("1",new mxGeometry(200,147,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");e.vertex=!0;a.insert(e);e=new mxCell("2",new mxGeometry(246,
190,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");e.vertex=!0;a.insert(e);e=new mxCell("3",new mxGeometry(145,128,145,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.time_picker;fillColor\x3d#009688;strokeColor\x3d#009688;verticalAlign\x3dmiddle;align\x3dright;fontColor\x3d#ffffff;strokeWidth\x3d2;spacingRight\x3d13;fontSize\x3d15;");e.vertex=!0;b.insert(e);b=new mxCell("4",new mxGeometry(246,319,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");
b.vertex=!0;a.insert(b);b=new mxCell("5",new mxGeometry(200,366,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("6",new mxGeometry(140,383,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("7",new mxGeometry(78,366,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("8",
new mxGeometry(33,319,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("9",new mxGeometry(15,258,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("10",new mxGeometry(33,190,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("11",new mxGeometry(78,147,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");
b.vertex=!0;a.insert(b);b=new mxCell("12",new mxGeometry(140,134,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);e=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-160,-50);e.vertex=!0;a.insert(e);e=new mxCell("OK",new mxGeometry(1,1,
90,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-90,-50);e.vertex=!0;a.insert(e);return c.createVertexTemplateFromCells([a],328,484,"Time picker")}),this.addEntry("gmdl google media design library picker time picker dark",function(){var a=new mxCell("",new mxGeometry(0,0,328,484),"shape\x3drect;fillColor\x3d#424242;strokeColor\x3dnone;shadow\x3d1;aspect\x3dfixed;");
a.vertex=!0;var b=new mxCell("3:30",new mxGeometry(0,0,328,96),"shape\x3drect;fillColor\x3d#555555;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dcenter;spacing\x3d0;fontSize\x3d58;verticalAlign\x3dmiddle;spacingBottom\x3d10;spacingLeft\x3d34;");b.vertex=!0;a.insert(b);var e=new mxCell("AM",new mxGeometry(248,18,40,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d17;fontStyle\x3d0;textOpacity\x3d70;");e.vertex=!0;b.insert(e);e=new mxCell("PM",new mxGeometry(248,
42,40,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d17;");e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(16,130,296,296),"shape\x3dellipse;fillColor\x3d#555555;strokeColor\x3dnone;");b.vertex=!0;a.insert(b);e=new mxCell("1",new mxGeometry(200,147,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");e.vertex=!0;a.insert(e);e=new mxCell("2",new mxGeometry(246,190,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");
e.vertex=!0;a.insert(e);e=new mxCell("3",new mxGeometry(145,128,145,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.time_picker;fillColor\x3d#80CBC4;strokeColor\x3d#80CBC4;verticalAlign\x3dmiddle;align\x3dright;fontColor\x3d#ffffff;strokeWidth\x3d2;spacingRight\x3d13;fontSize\x3d15;");e.vertex=!0;b.insert(e);b=new mxCell("4",new mxGeometry(246,319,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("5",new mxGeometry(200,366,46,40),
"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("6",new mxGeometry(140,383,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("7",new mxGeometry(78,366,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("8",new mxGeometry(33,319,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");
b.vertex=!0;a.insert(b);b=new mxCell("9",new mxGeometry(15,258,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("10",new mxGeometry(33,190,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("11",new mxGeometry(78,147,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("12",
new mxGeometry(140,134,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);e=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-160,-50);e.vertex=!0;a.insert(e);e=new mxCell("OK",new mxGeometry(1,1,90,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-90,-50);e.vertex=!0;a.insert(e);return c.createVertexTemplateFromCells([a],328,484,"Time picker (dark)")}),this.addEntry("gmdl google media design library picker time picker landscape light",function(){var a=new mxCell("",new mxGeometry(0,0,512,304),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;aspect\x3dfixed;");a.vertex=!0;var b=new mxCell("3:30",new mxGeometry(0,0,168,304),"shape\x3drect;fillColor\x3d#009688;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dcenter;spacing\x3d0;fontSize\x3d52;verticalAlign\x3dmiddle;spacingBottom\x3d60;spacingLeft\x3d16;");
b.vertex=!0;a.insert(b);var e=new mxCell("AM",new mxGeometry(0,146,168,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d17;fontStyle\x3d0;textOpacity\x3d70;");e.vertex=!0;b.insert(e);e=new mxCell("PM",new mxGeometry(0,170,168,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d17;");e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(228,16,224,224),"shape\x3dellipse;fillColor\x3d#eeeeee;strokeColor\x3dnone;");b.vertex=!0;a.insert(b);
e=new mxCell("1",new mxGeometry(355,30,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");e.vertex=!0;a.insert(e);e=new mxCell("2",new mxGeometry(392,63,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");e.vertex=!0;a.insert(e);e=new mxCell("3",new mxGeometry(110,100,108,30),"dashed\x3d0;shape\x3dmxgraph.gmdl.time_picker;fillColor\x3d#009688;strokeColor\x3d#009688;verticalAlign\x3dmiddle;align\x3dright;fontColor\x3d#ffffff;strokeWidth\x3d2;spacingRight\x3d9;fontSize\x3d15;fontStyle\x3d1;");
e.vertex=!0;b.insert(e);b=new mxCell("4",new mxGeometry(394,150,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("5",new mxGeometry(358,186,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("6",new mxGeometry(315,200,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("7",
new mxGeometry(271,186,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("8",new mxGeometry(236,150,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("9",new mxGeometry(221,108,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("10",new mxGeometry(238,63,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");
b.vertex=!0;a.insert(b);b=new mxCell("11",new mxGeometry(271,30,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("12",new mxGeometry(315,16,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;");b.vertex=!0;a.insert(b);e=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-160,-50);e.vertex=!0;a.insert(e);e=new mxCell("OK",new mxGeometry(1,1,90,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-90,-50);e.vertex=!0;a.insert(e);return c.createVertexTemplateFromCells([a],512,304,"Time picker (landscape, light)")}),this.addEntry("gmdl google media design library picker time picker landscape dark",
function(){var a=new mxCell("",new mxGeometry(0,0,512,304),"shape\x3drect;fillColor\x3d#424242;strokeColor\x3dnone;shadow\x3d1;aspect\x3dfixed;");a.vertex=!0;var b=new mxCell("3:30",new mxGeometry(0,0,168,304),"shape\x3drect;fillColor\x3d#555555;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dcenter;spacing\x3d0;fontSize\x3d52;verticalAlign\x3dmiddle;spacingBottom\x3d60;spacingLeft\x3d16;");b.vertex=!0;a.insert(b);var e=new mxCell("AM",new mxGeometry(0,146,168,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d17;fontStyle\x3d0;textOpacity\x3d70;");
e.vertex=!0;b.insert(e);e=new mxCell("PM",new mxGeometry(0,170,168,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d17;");e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(228,16,224,224),"shape\x3dellipse;fillColor\x3d#555555;strokeColor\x3dnone;");b.vertex=!0;a.insert(b);e=new mxCell("1",new mxGeometry(355,30,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");e.vertex=!0;a.insert(e);e=new mxCell("2",new mxGeometry(392,
63,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");e.vertex=!0;a.insert(e);e=new mxCell("3",new mxGeometry(110,100,108,30),"dashed\x3d0;shape\x3dmxgraph.gmdl.time_picker;fillColor\x3d#80CBC4;strokeColor\x3d#80CBC4;verticalAlign\x3dmiddle;align\x3dright;fontColor\x3d#555555;strokeWidth\x3d2;spacingRight\x3d9;fontSize\x3d15;fontStyle\x3d1;");e.vertex=!0;b.insert(e);b=new mxCell("4",new mxGeometry(394,150,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");
b.vertex=!0;a.insert(b);b=new mxCell("5",new mxGeometry(358,186,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("6",new mxGeometry(315,200,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("7",new mxGeometry(271,186,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("8",
new mxGeometry(236,150,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("9",new mxGeometry(221,108,49,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("10",new mxGeometry(238,63,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);b=new mxCell("11",new mxGeometry(271,30,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");
b.vertex=!0;a.insert(b);b=new mxCell("12",new mxGeometry(315,16,46,40),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;");b.vertex=!0;a.insert(b);e=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-160,-50);e.vertex=!0;a.insert(e);e=new mxCell("OK",new mxGeometry(1,1,90,
50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-90,-50);e.vertex=!0;a.insert(e);return c.createVertexTemplateFromCells([a],512,304,"Time picker (landscape, dark)")}),this.addEntry("gmdl google media design library picker year picker light",function(){var a=new mxCell("",new mxGeometry(0,0,328,484),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");
a.vertex=!0;var b=new mxCell("Thu, Apr 13",new mxGeometry(0,0,328,96),"shape\x3drect;fillColor\x3d#009688;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dleft;spacing\x3d16;fontSize\x3d33;verticalAlign\x3dbottom;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("2017",new mxGeometry(0,0,328,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#FFFFFF;spacingTop\x3d6;spacing\x3d16;fontSize\x3d15;textOpacity\x3d70;resizeWidth\x3d1;");e.geometry.relative=!0;e.vertex=!0;
b.insert(e);b=new mxCell("2014",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,96);b.vertex=!0;a.insert(b);b=new mxCell("2015",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,144);b.vertex=!0;a.insert(b);b=new mxCell("2016",new mxGeometry(0,
0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,192);b.vertex=!0;a.insert(b);b=new mxCell("2017",new mxGeometry(0,0,328,56),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#009688;fontSize\x3d29;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,240);b.vertex=!0;a.insert(b);b=new mxCell("2018",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,296);b.vertex=!0;a.insert(b);b=new mxCell("2019",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,344);b.vertex=!0;a.insert(b);b=new mxCell("2020",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,392);b.vertex=!0;a.insert(b);b=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-160,-50);b.vertex=!0;a.insert(b);b=new mxCell("OK",new mxGeometry(1,1,90,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-90,-50);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],328,484,"Year picker (light)")}),this.addEntry("gmdl google media design library picker year picker dark",function(){var a=new mxCell("",new mxGeometry(0,0,328,484),"shape\x3drect;fillColor\x3d#424242;strokeColor\x3dnone;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Thu, Apr 13",new mxGeometry(0,0,328,96),"shape\x3drect;fillColor\x3d#555555;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dleft;spacing\x3d16;fontSize\x3d33;verticalAlign\x3dbottom;textOpacity\x3d70;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("2017",new mxGeometry(0,0,328,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#ffffff;spacingTop\x3d6;spacing\x3d16;fontSize\x3d15;fontOpacity\x3d70;resizeWidth\x3d1;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("2014",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,96);b.vertex=!0;a.insert(b);
b=new mxCell("2015",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,144);b.vertex=!0;a.insert(b);b=new mxCell("2016",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,192);b.vertex=!0;a.insert(b);b=new mxCell("2017",new mxGeometry(0,
0,328,56),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#80CBC4;fontSize\x3d29;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,240);b.vertex=!0;a.insert(b);b=new mxCell("2018",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,296);b.vertex=!0;a.insert(b);b=new mxCell("2019",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,344);b.vertex=!0;a.insert(b);b=new mxCell("2020",new mxGeometry(0,0,328,48),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,392);b.vertex=!0;a.insert(b);b=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-160,-50);b.vertex=!0;a.insert(b);b=new mxCell("OK",new mxGeometry(1,1,90,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-90,-50);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],328,484,"Year picker (dark)")}),this.addEntry("gmdl google media design library picker date picker landscape light",
function(){var a=new mxCell("",new mxGeometry(0,0,512,304),"shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Thu,\nApr 13",new mxGeometry(0,0,168,304),"shape\x3drect;fillColor\x3d#009688;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dleft;spacing\x3d16;fontSize\x3d33;verticalAlign\x3dtop;spacingTop\x3d14;");b.vertex=!0;a.insert(b);var e=new mxCell("2017",new mxGeometry(0,0,168,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#FFFFFF;spacingTop\x3d6;spacing\x3d16;fontSize\x3d15;textOpacity\x3d70;resizeWidth\x3d1;");
e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("2014",new mxGeometry(0.3281,0,344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("2015",new mxGeometry(0.3281,0,344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("2016",
new mxGeometry(0.3281,0,344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;a.insert(b);b=new mxCell("2017",new mxGeometry(0.3281,0,344,44),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#009688;fontSize\x3d29;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,108);b.vertex=!0;a.insert(b);b=new mxCell("2018",new mxGeometry(0.3281,0,344,
36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,152);b.vertex=!0;a.insert(b);b=new mxCell("2019",new mxGeometry(0.3281,0,344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,188);b.vertex=!0;a.insert(b);b=new mxCell("2020",new mxGeometry(0.3281,0,344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#4D4D4D;fontSize\x3d15;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,224);b.vertex=!0;a.insert(b);b=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-160,-50);b.vertex=!0;a.insert(b);b=new mxCell("OK",new mxGeometry(1,1,90,50),"text;fontSize\x3d13;fontColor\x3d#009688;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(-90,-50);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],512,304,"Date picker (landscape, light)")}),this.addEntry("gmdl google media design library picker date picker landscape light",function(){var a=new mxCell("",new mxGeometry(0,0,512,304),"shape\x3drect;fillColor\x3d#424242;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Thu,\nApr 13",new mxGeometry(0,0,168,304),"shape\x3drect;fillColor\x3d#555555;fontColor\x3d#ffffff;strokeColor\x3dnone;align\x3dleft;spacing\x3d16;fontSize\x3d33;verticalAlign\x3dtop;spacingTop\x3d14;");
b.vertex=!0;a.insert(b);var e=new mxCell("2017",new mxGeometry(0,0,168,40),"text;verticalAlign\x3dmiddle;fontColor\x3d#FFFFFF;spacingTop\x3d6;spacing\x3d16;fontSize\x3d15;textOpacity\x3d70;resizeWidth\x3d1;");e.geometry.relative=!0;e.vertex=!0;b.insert(e);b=new mxCell("2014",new mxGeometry(0.3281,0,344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("2015",new mxGeometry(0.3281,0,
344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,36);b.vertex=!0;a.insert(b);b=new mxCell("2016",new mxGeometry(0.3281,0,344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,72);b.vertex=!0;a.insert(b);b=new mxCell("2017",new mxGeometry(0.3281,0,344,44),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#80CBC4;fontSize\x3d29;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,108);b.vertex=!0;a.insert(b);b=new mxCell("2018",new mxGeometry(0.3281,0,344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,152);b.vertex=!0;a.insert(b);b=new mxCell("2019",new mxGeometry(0.3281,0,344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,188);b.vertex=!0;a.insert(b);b=new mxCell("2020",new mxGeometry(0.3281,0,344,36),"text;verticalAlign\x3dmiddle;align\x3dcenter;fontColor\x3d#ffffff;fontSize\x3d15;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,224);b.vertex=!0;a.insert(b);b=new mxCell("CANCEL",new mxGeometry(1,1,70,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(-160,-50);b.vertex=!0;a.insert(b);b=new mxCell("OK",new mxGeometry(1,1,90,50),"text;fontSize\x3d13;fontColor\x3d#80CBC4;spacingTop\x3d0;whiteSpace\x3dwrap;spacing\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;fontStyle\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-90,-50);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],512,304,"Date picker (landscape, dark)")})];this.addPalette("gmdlPickers","GMDL / Pickers",a||!1,mxUtils.bind(this,function(a){for(var b=
0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLSelectionControlsPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library selection control checkbox on hover light dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3dnone;fillColor\x3d#009587;strokeWidth\x3d2;aspect\x3dfixed;");a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Checkbox (on, hover))")}),this.addEntry("gmdl google media design library selection control checkbox on focused pressed light dark",
function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#009587;opacity\x3d10;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3dnone;fillColor\x3d#009587;strokeWidth\x3d2;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Checkbox (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled light",
function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3dnone;fillColor\x3d#B0B0B0;strokeWidth\x3d2;aspect\x3dfixed;");a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Checkbox (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#B0B0B0;opacity\x3d10;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3dnone;fillColor\x3d#B0B0B0;strokeWidth\x3d2;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Checkbox (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox off hover light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;aspect\x3dfixed;");
a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Checkbox (off, hover, light))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#666666;opacity\x3d10;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;");b.vertex=
!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Checkbox (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#B0B0B0;fillColor\x3dnone;strokeWidth\x3d2;aspect\x3dfixed;");a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Checkbox (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused light",
function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#666666;opacity\x3d10;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#B0B0B0;fillColor\x3dnone;strokeWidth\x3d2;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Checkbox (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled dark",
function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3dnone;fillColor\x3d#676767;strokeWidth\x3d2;aspect\x3dfixed;");a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Checkbox (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#B0B0B0;opacity\x3d10;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3dnone;fillColor\x3d#676767;strokeWidth\x3d2;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Checkbox (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off hover dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;aspect\x3dfixed;");
a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Checkbox (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#666666;opacity\x3d10;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");b.vertex=
!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Checkbox (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;aspect\x3dfixed;");a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Checkbox (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused dark",
function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#666666;opacity\x3d10;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.checkbox;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Checkbox (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button on hover light dark",
function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#009587;fillColor\x3d#009587;strokeWidth\x3d2;aspect\x3dfixed;");a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Radio button (on, hover))")}),this.addEntry("gmdl google media design library selection control radio button on focused pressed light dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#009587;opacity\x3d10;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#009587;fillColor\x3d#009587;strokeWidth\x3d2;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Radio button (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control radio button on disabled light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#B0B0B0;fillColor\x3d#B0B0B0;strokeWidth\x3d2;aspect\x3dfixed;");
a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Radio button (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#B0B0B0;opacity\x3d10;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#B0B0B0;fillColor\x3d#B0B0B0;strokeWidth\x3d2;");
b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Radio button (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button off hover light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;aspect\x3dfixed;");a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Radio button (off, hover, light))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed light",
function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#666666;opacity\x3d10;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Radio button (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled light",
function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#B0B0B0;fillColor\x3dnone;strokeWidth\x3d2;aspect\x3dfixed;");a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Radio button (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#666666;opacity\x3d10;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#B0B0B0;fillColor\x3dnone;strokeWidth\x3d2;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Radio button (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#676767;fillColor\x3d#676767;strokeWidth\x3d2;aspect\x3dfixed;");
a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Radio button (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#B0B0B0;opacity\x3d10;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#676767;fillColor\x3d#676767;strokeWidth\x3d2;");
b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Radio button (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button off hover dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;aspect\x3dfixed;");a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Radio button (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed dark",
function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#666666;opacity\x3d10;");a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Radio button (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled dark",
function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;aspect\x3dfixed;");a.vertex=!0;return c.createVertexTemplateFromCells([a],16,16,"Radio button (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#666666;opacity\x3d10;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(16,16,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.radiobutton;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],48,48,"Radio button (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control switch on light",function(){var a=new mxCell("",new mxGeometry(0,0,36,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.switch;aspect\x3dfixed;switchState\x3don;strokeColor\x3dnone;fillColor\x3d#0E9D57;");
a.vertex=!0;return c.createVertexTemplateFromCells([a],36,20,"Switch (on, light)")}),this.addEntry("gmdl google media design library selection control switch on dark",function(){var a=new mxCell("",new mxGeometry(0,0,36,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.switch;aspect\x3dfixed;switchState\x3don;strokeColor\x3dnone;fillColor\x3d#80CBC4;");a.vertex=!0;return c.createVertexTemplateFromCells([a],36,20,"Switch (on, dark)")}),this.addEntry("gmdl google media design library selection control switch off light dark",
function(){var a=new mxCell("",new mxGeometry(0,0,36,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.switch;aspect\x3dfixed;switchState\x3doff;strokeColor\x3dnone;fillColor\x3d#0E9D57;");a.vertex=!0;return c.createVertexTemplateFromCells([a],36,20,"Switch (off)")})];this.addPalette("gmdlSelection Controls","GMDL / Selection Controls",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLSlidersPalette=function(a){var c=[this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.slider2;barPos\x3d0;strokeColor\x3d#bbbbbb;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#ffffff;handleSize\x3d10;shadow\x3d0;",
200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.slider2;barPos\x3d50;strokeColor\x3d#3F51B5;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#3F51B5;handleSize\x3d10;shadow\x3d0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.slider2;barPos\x3d100;strokeColor\x3d#3F51B5;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#3F51B5;handleSize\x3d10;shadow\x3d0;",
200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderFocused;barPos\x3d0;strokeColor\x3d#bbbbbb;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#ffffff;handleSize\x3d30;shadow\x3d0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderFocused;barPos\x3d50;strokeColor\x3d#3F51B5;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#3F51B5;handleSize\x3d30;shadow\x3d0;",
200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderFocused;barPos\x3d100;strokeColor\x3d#3F51B5;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#3F51B5;handleSize\x3d30;shadow\x3d0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.slider2;barPos\x3d0;strokeColor\x3d#bbbbbb;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#ffffff;handleSize\x3d20;shadow\x3d0;",
200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.slider2;barPos\x3d50;strokeColor\x3d#3F51B5;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#3F51B5;handleSize\x3d20;shadow\x3d0;",200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.slider2;barPos\x3d100;strokeColor\x3d#3F51B5;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#3F51B5;handleSize\x3d20;shadow\x3d0;",
200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDisabled2;strokeColor\x3d#b0b0b0;strokeWidth\x3d2;fillColor\x3dnone;handleSize\x3d6;shadow\x3d0;hPos\x3d0;",210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDisabled2;strokeColor\x3d#b0b0b0;strokeWidth\x3d2;fillColor\x3d#b0b0b0;handleSize\x3d6;shadow\x3d0;hPos\x3d50;",
210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDisabled2;strokeColor\x3d#b0b0b0;strokeWidth\x3d2;fillColor\x3d#b0b0b0;handleSize\x3d6;shadow\x3d0;hPos\x3d100;",210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.slider2;barPos\x3d0;strokeColor\x3d#000000;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#000000;handleSize\x3d10;shadow\x3d0;",
200,10,"","Discrete slider (normal, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider normal light","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.slider2;barPos\x3d60;strokeColor\x3d#0F9D58;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#0F9D58;handleSize\x3d10;shadow\x3d0;",200,10,"","Discrete slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.slider2;barPos\x3d100;strokeColor\x3d#0F9D58;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#0F9D58;handleSize\x3d10;shadow\x3d0;",200,10,"","Discrete slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDiscrete;barPos\x3d1;strokeColor\x3d#BEBEBE;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#BEBEBE;handleSize\x3d10;shadow\x3d0;fontSize\x3d12;fontColor\x3d#ffffff;",
200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDiscrete;barPos\x3d60;strokeColor\x3d#0F9D58;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#0F9D58;handleSize\x3d10;shadow\x3d0;fontSize\x3d12;fontColor\x3d#ffffff;",200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDiscrete;barPos\x3d100;strokeColor\x3d#0F9D58;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#0F9D58;handleSize\x3d10;shadow\x3d0;fontSize\x3d12;fontColor\x3d#ffffff;",200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDiscreteDots;barPos\x3d0;bright\x3d1;strokeColor\x3d#0F9D58;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#0F9D58;handleSize\x3d10;shadow\x3d0;fontSize\x3d12;fontColor\x3d#ffffff;",
200,45,"","Discrete slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDiscreteDots;barPos\x3d60;bright\x3d1;strokeColor\x3d#0F9D58;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#0F9D58;handleSize\x3d10;shadow\x3d0;fontSize\x3d12;fontColor\x3d#ffffff;",200,45,"","Discrete slider (click, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click light",
"gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDiscreteDots;barPos\x3d100;bright\x3d1;strokeColor\x3d#0F9D58;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#0F9D58;handleSize\x3d10;shadow\x3d0;fontSize\x3d12;fontColor\x3d#ffffff;",200,45,"","Discrete slider (click, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click light","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDisabled2;strokeColor\x3d#b0b0b0;strokeWidth\x3d2;fillColor\x3d#b0b0b0;handleSize\x3d6;shadow\x3d0;hPos\x3d0;",
200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDisabled2;strokeColor\x3d#b0b0b0;strokeWidth\x3d2;fillColor\x3d#b0b0b0;handleSize\x3d6;shadow\x3d0;hPos\x3d50;",200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDisabled2;strokeColor\x3d#b0b0b0;strokeWidth\x3d2;fillColor\x3d#b0b0b0;handleSize\x3d6;shadow\x3d0;hPos\x3d100;",200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.slider2;barPos\x3d0;strokeColor\x3d#ffffff;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#ffffff;handleSize\x3d10;shadow\x3d0;",
200,10,"","Discrete slider (normal, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider normal dark","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDiscreteDots;barPos\x3d0;bright\x3d0;strokeColor\x3d#0F9D58;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#0F9D58;handleSize\x3d10;shadow\x3d0;fontSize\x3d12;fontColor\x3d#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl",
"discrete slider click dark","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDiscreteDots;barPos\x3d60;bright\x3d0;strokeColor\x3d#0F9D58;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#0F9D58;handleSize\x3d10;shadow\x3d0;fontSize\x3d12;fontColor\x3d#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark","gmdl google media design library slider ").join(" ")),
this.createVertexTemplateEntry("dashed\x3d0;shape\x3dmxgraph.gmdl.sliderDiscreteDots;barPos\x3d100;bright\x3d0;strokeColor\x3d#0F9D58;opacity\x3d100;strokeWidth\x3d2;fillColor\x3d#0F9D58;handleSize\x3d10;shadow\x3d0;fontSize\x3d12;fontColor\x3d#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark","gmdl google media design library slider ").join(" "))];this.addPalette("gmdlSliders","GMDL / Sliders",a||!1,mxUtils.bind(this,function(a){for(var d=
0;d<c.length;d++)a.appendChild(c[d](a))}))};Sidebar.prototype.addGMDLSteppersPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library tab stepper",function(){var a=new mxCell("",new mxGeometry(0,0,704,478),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;");a.vertex=!0;var b=new mxCell("1",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#ffffff;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,24);
a.insert(b);b=new mxCell("Name of step 1",new mxGeometry(0,0,200,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontStyle\x3d1;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(56,24);a.insert(b);b=new mxCell("",new mxGeometry(0,0,10,296),"shape\x3dline;direction\x3dnorth;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(31,54);a.insert(b);b=new mxCell("",new mxGeometry(0,0,596,190),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#bdbdbd;");
b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(60,58);a.insert(b);b=new mxCell("CONTINUE",new mxGeometry(0,0,102,36),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#4285f4;fontColor\x3d#ffffff;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(60,272);a.insert(b);b=new mxCell("CANCEL",new mxGeometry(0,0,102,36),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#808080;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(172,272);
a.insert(b);b=new mxCell("2",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,356);a.insert(b);b=new mxCell("Name of step 2",new mxGeometry(0,0,200,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontColor\x3d#aaaaaa;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(56,356);a.insert(b);b=new mxCell("3",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;");
b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,422);a.insert(b);b=new mxCell("Name of step 3",new mxGeometry(0,0,200,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontColor\x3d#aaaaaa;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(56,422);a.insert(b);b=new mxCell("",new mxGeometry(0,0,10,25),"shape\x3dline;direction\x3dnorth;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(31,390);a.insert(b);
return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Stepper")}),this.addEntry("gmdl google media design library tab editable steps",function(){var a=new mxCell("",new mxGeometry(0,0,704,72),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;");a.vertex=!0;var b=new mxCell("Select campaign settings",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#000000;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d10;fontStyle\x3d1;");
b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,24);a.insert(b);var e=new mxCell("",new mxGeometry(0.5,0.5,10,10),"dashed\x3d0;shape\x3dmxgraph.gmdl.edit;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.vertex=!0;e.geometry.relative=!0;e.geometry.offset=new mxPoint(-5,-5);b.insert(e);b=new mxCell("",new mxGeometry(0,0,90,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(206,31);a.insert(b);b=new mxCell("Create an ad group",
new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#000000;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d10;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(306,24);a.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,12,10),"dashed\x3d0;shape\x3dmxgraph.gmdl.check;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.vertex=!0;e.geometry.relative=!0;e.geometry.offset=new mxPoint(-6,-5);b.insert(e);b=new mxCell("",new mxGeometry(0,0,90,
10),"shape\x3dline;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(460,31);a.insert(b);b=new mxCell("3",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(568,24);a.insert(b);b=new mxCell("Create an ad",new mxGeometry(0,0,110,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;spacingLeft\x3d10;fontColor\x3d#808080;");
b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(592,24);a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Editable Steps")}),this.addEntry("gmdl google media design library tab noneditable non editable steps",function(){var a=new mxCell("",new mxGeometry(0,0,704,72),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;");a.vertex=!0;var b=new mxCell("Select campaign settings",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#000000;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d10;");
b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,24);a.insert(b);var e=new mxCell("",new mxGeometry(0.5,0.5,12,10),"dashed\x3d0;shape\x3dmxgraph.gmdl.check;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.vertex=!0;e.geometry.relative=!0;e.geometry.offset=new mxPoint(-6,-5);b.insert(e);b=new mxCell("",new mxGeometry(0,0,90,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(206,31);a.insert(b);b=new mxCell("2",new mxGeometry(0,
0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#ffffff;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(306,24);a.insert(b);b=new mxCell("Create an ad group",new mxGeometry(0,0,200,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#000000;align\x3dleft;spacingLeft\x3d10;fontStyle\x3d1;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(330,24);a.insert(b);b=new mxCell("",new mxGeometry(0,0,90,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");
b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(460,31);a.insert(b);b=new mxCell("3",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(568,24);a.insert(b);b=new mxCell("Create an ad",new mxGeometry(0,0,110,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;spacingLeft\x3d10;fontColor\x3d#808080;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=
new mxPoint(592,24);a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Non-editable Steps")}),this.addEntry("gmdl google media design library tab mobile step text",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#3367D6;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");
b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Create",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#4285F4;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);b=new mxCell("Step 4 of 6",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#f5f5f5;resizeWidth\x3d1;fontSize\x3d13;fontColor\x3d#000000;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d16;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,80);b.vertex=!0;a.insert(b);b=new mxCell("\x3c BACK",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#f5f5f5;resizeWidth\x3d1;fontSize\x3d13;fontColor\x3d#666666;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d16;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-96);b.vertex=!0;a.insert(b);e=new mxCell("NEXT \x3e",new mxGeometry(1,0,100,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;resizeWidth\x3d1;fontSize\x3d13;fontColor\x3d#666666;verticalAlign\x3dmiddle;align\x3dright;spacingRight\x3d16;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-100,0);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,
"Mobile step (text)")}),this.addEntry("gmdl google media design library tab mobile step dots",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#3367D6;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=
!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Create",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#4285F4;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);b=new mxCell("\x3c BACK",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#f5f5f5;resizeWidth\x3d1;fontSize\x3d13;fontColor\x3d#666666;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d16;");b.geometry.relative=!0;
b.geometry.offset=new mxPoint(0,-96);b.vertex=!0;a.insert(b);e=new mxCell("NEXT \x3e",new mxGeometry(1,0,100,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d13;fontColor\x3d#666666;verticalAlign\x3dmiddle;align\x3dright;spacingRight\x3d16;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-100,0);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0,6,6),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#aaaaaa;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(-43,21);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0,6,6),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#aaaaaa;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-28,21);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0,6,6),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#aaaaaa;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-13,21);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0,8,8),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(1,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0,6,6),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#aaaaaa;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(17,21);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0,6,6),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#aaaaaa;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(32,21);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),
"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Mobile step (dots)")}),this.addEntry("gmdl google media design library tab mobile step progress bar",function(){var a=new mxCell("",new mxGeometry(0,0,358,
642),"dashed\x3d0;shape\x3drect;fillColor\x3d#BDBDBD;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#3367D6;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Create",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#4285F4;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);b=new mxCell("\x3c BACK",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#f5f5f5;resizeWidth\x3d1;fontSize\x3d13;fontColor\x3d#666666;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d16;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-96);b.vertex=!0;a.insert(b);e=new mxCell("NEXT \x3e",new mxGeometry(1,0,100,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontSize\x3d13;fontColor\x3d#666666;verticalAlign\x3dmiddle;align\x3dright;spacingRight\x3d16;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-100,0);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,112,10),"dashed\x3d0;shape\x3dmxgraph.gmdl.progressBar;strokeColor\x3d#4285F4;strokeWidth\x3d3;dx1\x3d0.7;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-66,-5);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,
0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Mobile step (progress bar)")}),this.addEntry("gmdl google media design library tab editable steps optional",function(){var a=new mxCell("",new mxGeometry(0,0,704,72),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;");a.vertex=!0;var b=new mxCell("Select campaign settings",
new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#000000;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d10;fontStyle\x3d1;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,24);a.insert(b);var e=new mxCell("",new mxGeometry(0.5,0.5,10,10),"dashed\x3d0;shape\x3dmxgraph.gmdl.edit;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.vertex=!0;e.geometry.relative=!0;e.geometry.offset=new mxPoint(-5,-5);b.insert(e);b=new mxCell("",new mxGeometry(0,
0,90,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(206,31);a.insert(b);b=new mxCell('Create an ad group\x3cdiv\x3e\x3cfont style\x3d"font-size: 11px" color\x3d"#b3b3b3"\x3eOptional\x3c/font\x3e\x3c/div\x3e',new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#000000;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d10;html\x3d1;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(306,
24);a.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,12,10),"dashed\x3d0;shape\x3dmxgraph.gmdl.check;strokeColor\x3d#ffffff;strokeWidth\x3d2;");e.vertex=!0;e.geometry.relative=!0;e.geometry.offset=new mxPoint(-6,-5);b.insert(e);b=new mxCell("",new mxGeometry(0,0,90,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(460,31);a.insert(b);b=new mxCell("3",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;");
b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(568,24);a.insert(b);b=new mxCell("Create an ad",new mxGeometry(0,0,110,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;spacingLeft\x3d10;fontColor\x3d#808080;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(592,24);a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Editable Steps (with optional steps)")}),this.addEntry("gmdl google media design library tab noneditable non editable steps optional",
function(){var a=new mxCell("",new mxGeometry(0,0,704,72),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;");a.vertex=!0;var b=new mxCell("Select campaign settings",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#000000;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d10;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,24);a.insert(b);var e=new mxCell("",new mxGeometry(0.5,0.5,12,10),"dashed\x3d0;shape\x3dmxgraph.gmdl.check;strokeColor\x3d#ffffff;strokeWidth\x3d2;");
e.vertex=!0;e.geometry.relative=!0;e.geometry.offset=new mxPoint(-6,-5);b.insert(e);b=new mxCell("",new mxGeometry(0,0,90,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(206,31);a.insert(b);b=new mxCell("2",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#ffffff;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(306,24);a.insert(b);b=new mxCell('Create an ad group\x3cdiv\x3e\x3cfont color\x3d"#b3b3b3" style\x3d"font-weight: normal ; font-size: 11px"\x3eOptional\x3c/font\x3e\x3c/div\x3e',
new mxGeometry(0,0,200,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#000000;align\x3dleft;spacingLeft\x3d10;fontStyle\x3d1;html\x3d1;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(330,24);a.insert(b);b=new mxCell("",new mxGeometry(0,0,90,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(460,31);a.insert(b);b=new mxCell("3",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;");
b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(568,24);a.insert(b);b=new mxCell("Create an ad",new mxGeometry(0,0,110,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;spacingLeft\x3d10;fontColor\x3d#808080;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(592,24);a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Non-editable Steps (with optional steps)")}),this.addEntry("gmdl google media design library tab mobile vertical stepper",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#3367D6;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Create",new mxGeometry(0,0,358,56),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#4285F4;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);b=new mxCell('Select an app\n\x3cfont color\x3d"#999999"\x3eSummarize if needed\x3c/font\x3e',new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#000000;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d10;html\x3d1;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,102);a.insert(b);e=new mxCell("",new mxGeometry(0.5,0.5,12,10),"dashed\x3d0;shape\x3dmxgraph.gmdl.check;strokeColor\x3d#ffffff;strokeWidth\x3d2;");
e.vertex=!0;e.geometry.relative=!0;e.geometry.offset=new mxPoint(-6,-5);b.insert(e);b=new mxCell("",new mxGeometry(0,0,10,30),"shape\x3dline;direction\x3dnorth;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(31,134);a.insert(b);b=new mxCell("2",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#ffffff;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,172);a.insert(b);b=new mxCell("Configure analytics for this app",
new mxGeometry(0,0,200,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontStyle\x3d1;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(56,172);a.insert(b);b=new mxCell("",new mxGeometry(0,0,10,278),"shape\x3dline;direction\x3dnorth;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(31,204);a.insert(b);b=new mxCell("",new mxGeometry(0,0,276,178),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#bdbdbd;");b.vertex=!0;b.geometry.relative=
!0;b.geometry.offset=new mxPoint(60,208);a.insert(b);b=new mxCell("CONTINUE",new mxGeometry(0,0,102,36),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#4285f4;fontColor\x3d#ffffff;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(60,400);a.insert(b);b=new mxCell("CANCEL",new mxGeometry(0,0,102,36),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;fontColor\x3d#808080;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(172,400);a.insert(b);b=new mxCell("3",
new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,488);a.insert(b);b=new mxCell("Select an ad format and name ad unit",new mxGeometry(0,0,200,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontColor\x3d#4d4d4d;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(56,488);a.insert(b);b=new mxCell("4",new mxGeometry(0,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;");
b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(24,542);a.insert(b);b=new mxCell("View setup instructions",new mxGeometry(0,0,200,24),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontColor\x3d#4d4d4d;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(56,542);a.insert(b);b=new mxCell("",new mxGeometry(0,0,10,20),"shape\x3dline;direction\x3dnorth;strokeColor\x3d#b3b3b3;");b.vertex=!0;b.geometry.relative=!0;b.geometry.offset=new mxPoint(31,516);
a.insert(b);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,
14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Mobile vertical stepper")}),this.addEntry("gmdl google media design library tab stepper alternative label placing",
function(){var a=new mxCell("1",new mxGeometry(38,0,24,24),"shape\x3dellipse;fontSize\x3d12;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#ffffff;align\x3dcenter;verticalAlign\x3dmiddle;");a.vertex=!0;var b=new mxCell("Ad unit details",new mxGeometry(0,30,100,20),"shape\x3drect;fontColor\x3d#4d4d4dlfontSize\x3d13;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;var e=new mxCell("",new mxGeometry(70,7,110,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");e.vertex=!0;var f=new mxCell("2",new mxGeometry(190,
0,24,24),"shape\x3dellipse;fontSize\x3d12;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;align\x3dcenter;verticalAlign\x3dmiddle;");f.vertex=!0;var k=new mxCell("Ad sizes",new mxGeometry(152,30,100,20),"shape\x3drect;fontColor\x3d#4d4d4dlfontSize\x3d13;strokeColor\x3dnone;fillColor\x3dnone;");k.vertex=!0;var l=new mxCell("",new mxGeometry(222,7,110,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");l.vertex=!0;var n=new mxCell("3",new mxGeometry(342,0,24,24),"shape\x3dellipse;fontSize\x3d12;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;");
n.vertex=!0;var m=new mxCell("Create an ad",new mxGeometry(304,30,100,20),"shape\x3drect;fontColor\x3d#4d4d4dlfontSize\x3d13;strokeColor\x3dnone;fillColor\x3dnone;align\x3dcenter;verticalAlign\x3dmiddle;");m.vertex=!0;return c.createVertexTemplateFromCells([a,b,e,f,k,l,n,m],404,50,"Stepper with alternative label placing")}),this.addEntry("gmdl google media design library tab stepper alternative label placing optional",function(){var a=new mxCell("1",new mxGeometry(38,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#4285F4;fontColor\x3d#ffffff;fontSize\x3d12;align\x3dcenter;verticalAlign\x3dmiddle;");
a.vertex=!0;var b=new mxCell("Ad unit details",new mxGeometry(0,30,100,20),"shape\x3drect;fontColor\x3d#4d4d4dlfontSize\x3d13;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;var e=new mxCell("",new mxGeometry(70,7,110,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");e.vertex=!0;var f=new mxCell("2",new mxGeometry(190,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontColor\x3d#ffffff;fontSize\x3d12;align\x3dcenter;verticalAlign\x3dmiddle;");f.vertex=!0;var k=new mxCell('Ad sizes\n\x3cfont style\x3d"font-size: 11px" color\x3d"#b3b3b3"\x3eoptional\x3c/font\x3e',
new mxGeometry(152,30,100,20),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;html\x3d1;verticalAlign\x3dtop;fontColor\x3d#4d4d4dlfontSize\x3d13;spacingTop\x3d-4;");k.vertex=!0;var l=new mxCell("",new mxGeometry(222,7,110,10),"shape\x3dline;strokeColor\x3d#b3b3b3;");l.vertex=!0;var n=new mxCell("3",new mxGeometry(342,0,24,24),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#9e9e9e;fontSize\x3d12;fontColor\x3d#ffffff;");n.vertex=!0;var m=new mxCell("Create an ad",new mxGeometry(304,30,100,
20),"shape\x3drect;fontColor\x3d#4d4d4dlfontSize\x3d13;strokeColor\x3dnone;fillColor\x3dnone;align\x3dcenter;verticalAlign\x3dmiddle;");m.vertex=!0;return c.createVertexTemplateFromCells([a,b,e,f,k,l,n,m],404,50,"Stepper with alternative optional label placing")})];this.addPalette("gmdlSteppers","GMDL / Steppers",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLTabsPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library tab fixed tab bar",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00A0B4;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Page title",new mxGeometry(0,0,358,104),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BCD4;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);e=new mxCell("ITEM ONE",new mxGeometry(0,1,119,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM TWO",new mxGeometry(0.33,1,120,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM THREE",new mxGeometry(0.67,1,119,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,119,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F1FB8F;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,
-3);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,20);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,
1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Fixed tab bar")}),this.addEntry("gmdl google media design library tab fixed tab bar",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00A0B4;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Page title",
new mxGeometry(0,0,358,160),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BCD4;resizeWidth\x3d1;fontSize\x3d34;fontColor\x3d#FFFFFF;spacingTop\x3d-14;verticalAlign\x3dmiddle;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);
e.vertex=!0;b.insert(e);e=new mxCell("ITEM ONE",new mxGeometry(0,1,119,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM TWO",new mxGeometry(0.33,1,120,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=
!0;b.insert(e);e=new mxCell("ITEM THREE",new mxGeometry(0.67,1,119,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,119,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F1FB8F;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-3);e.vertex=!0;b.insert(e);e=new mxCell("",
new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,20);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Fixed tab bar")}),this.addEntry("gmdl google media design library tab fixed tab bar",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BCD4;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("ITEM ONE",new mxGeometry(0,1,119,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM TWO",new mxGeometry(0.33,1,120,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM THREE",new mxGeometry(0.67,1,119,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,119,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F1FB8F;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(0,-3);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",
new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Fixed tab bar")}),this.addEntry("gmdl google media design library tab fixed tab bar",
function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00A0B4;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,0,358,104),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BCD4;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("Search People \x26 Places",new mxGeometry(0,0,358,64),"dashed\x3d0;shape\x3dmxgraph.gmdl.marginRect;rectMargin\x3d8;strokeColor\x3dnone;fillColor\x3d#ffffff;shadow\x3d1;fontColor\x3d#CCCCCC;fontSize\x3d14;align\x3dleft;spacingLeft\x3d72;resizeWidth\x3d1;");
e.geometry.relative=!0;e.vertex=!0;b.insert(e);var f=new mxCell("",new mxGeometry(0,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ADADAD;fillColor\x3dnone;strokeWidth\x3d2;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(28,-8);f.vertex=!0;e.insert(f);f=new mxCell("",new mxGeometry(1,0.5,10,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.voice;strokeColor\x3d#ADADAD;fillColor\x3d#ADADAD;strokeWidth\x3d2;");f.geometry.relative=!0;f.geometry.offset=new mxPoint(-40,-8);f.vertex=
!0;e.insert(f);e=new mxCell("ITEM ONE",new mxGeometry(0,1,119,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM TWO",new mxGeometry(0.33,1,120,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);
e=new mxCell("ITEM THREE",new mxGeometry(0.67,1,119,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,119,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F1FB8F;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-3);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,
1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Fixed tab bar")}),this.addEntry("gmdl google media design library tab scrollable tab bar",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00A0B4;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Page title",
new mxGeometry(0,0,358,104),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BCD4;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=
!0;b.insert(e);e=new mxCell("ITEM ONE",new mxGeometry(0.1899,1,90,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM TWO",new mxGeometry(0.4413,1,90,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;
b.insert(e);e=new mxCell("THE THIRD",new mxGeometry(0.6927,1,90,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("FO",new mxGeometry(1,1,20,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-20,-48);e.vertex=!0;b.insert(e);
e=new mxCell("",new mxGeometry(0.1899,1,90,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F1FB8F;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-3);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,20);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,
"Scrollable tab bar")}),this.addEntry("gmdl google media design library tab scrollable tab bar",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#757575;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;
b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Page title",new mxGeometry(0,0,358,104),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#FAFAFA;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#000000;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#757575;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);e=new mxCell("ITEM ONE",new mxGeometry(0,1,119,48),"text;fontSize\x3d13;fontColor\x3d#01BCD4;verticalAlign\x3dmiddle;align\x3dcenter;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM TWO",
new mxGeometry(0.33,1,120,48),"text;fontSize\x3d13;fontColor\x3d#757575;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM THREE",new mxGeometry(0.67,1,119,48),"text;fontSize\x3d13;fontColor\x3d#757575;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-48);e.vertex=!0;b.insert(e);e=new mxCell("",
new mxGeometry(0,1,119,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#01BCD4;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-3);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#757575;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#757575;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,20);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,
-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,
"Scrollable tab bar")}),this.addEntry("gmdl google media design library tab fixed tab bar icons",function(){var a=new mxCell("",new mxGeometry(0,0,358,642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#00A0B4;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;
b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Page title",new mxGeometry(0,0,358,128),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BCD4;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=
new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);e=new mxCell("RECENTS",new mxGeometry(0.1648,1,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dtop;align\x3dcenter;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-9,-48);e.vertex=!0;b.insert(e);e=new mxCell("FAVORITES",new mxGeometry(0.5,1,18,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.heart;fontSize\x3d12;fontColor\x3d#FFFFFF;verticalAlign\x3dtop;align\x3dcenter;textOpacity\x3d80;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;opacity\x3d70;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-9,-47);e.vertex=!0;b.insert(e);e=new mxCell("NEARBY",new mxGeometry(0.8268,1,18,20),
"dashed\x3d0;shape\x3dmxgraph.gmdl.chat;fontSize\x3d12;fontColor\x3d#FFFFFF;verticalAlign\x3dtop;align\x3dcenter;textOpacity\x3d80;strokeColor\x3dnone;opacity\x3d70;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-9,-51);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,119,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F1FB8F;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-3);e.vertex=
!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,20);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),
"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Fixed tab bar with icons")}),this.addEntry("gmdl google media design library tab fixed tab bar icons",function(){var a=new mxCell("",new mxGeometry(0,0,358,
642),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("12:30",new mxGeometry(0,0,358,24),"dashed\x3d0;shape\x3drect;align\x3dright;fillColor\x3d#757575;strokeColor\x3dnone;fontColor\x3d#FFFFFF;spacingRight\x3d4;spacingTop\x3d1;fontStyle\x3d0;fontSize\x3d13;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,46,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.top_bar;strokeColor\x3dnone;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(-92,-7);e.vertex=!0;b.insert(e);b=new mxCell("Page title",new mxGeometry(0,0,358,108),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#FAFAFA;resizeWidth\x3d1;fontSize\x3d20;fontColor\x3d#000000;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,24);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#666666;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.1648,1,18,18),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#00B9D2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-9,-28);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,1,18,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.heart;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-9,-27);e.vertex=
!0;b.insert(e);e=new mxCell("",new mxGeometry(0.8268,1,18,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.chat;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-9,-31);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,119,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00B9D2;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-3);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#666666;fillColor\x3dnone;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-65,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-24,20);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0,1,358,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-48);b.vertex=!0;
a.insert(b);e=new mxCell("",new mxGeometry(0.25,0.5,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.back;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.5,0.5,14,14),"shape\x3dellipse;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0.75,0.5,14,
14),"shape\x3drect;strokeColor\x3d#ffffff;fillColor\x3d#000000;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-7,-7);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],358,642,"Fixed tab bar with icons")}),this.addEntry("gmdl google media design library tab desktop tab bar",function(){var a=new mxCell("",new mxGeometry(0,0,758,152),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,758,
32),"dashed\x3d0;shape\x3drect;fillColor\x3d#00A0B4;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0,12,12),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-27,11);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,13,10),"shape\x3drect;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;fillColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(-59,13);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,14,2),"shape\x3dline;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-91,21);e.vertex=!0;b.insert(e);b=new mxCell("Page title",new mxGeometry(0,0,758,120),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BCD4;resizeWidth\x3d1;resizeHeight\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(0,32);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);e=new mxCell("ITEM ONE",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(68,-48);e.vertex=!0;b.insert(e);
e=new mxCell("ITEM TWO",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(174,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM THREE",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(280,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM FOUR",
new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(386,-48);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,106,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F1FB8F;resizeWidth\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(68,-3);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-75,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-28,20);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],758,152,"Desktop tab bar")}),this.addEntry("gmdl google media design library tab desktop tab bar",function(){var a=new mxCell("",new mxGeometry(0,0,758,152),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,758,32),"dashed\x3d0;shape\x3drect;fillColor\x3d#00A0B4;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0,12,12),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-27,11);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,13,10),"shape\x3drect;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;fillColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-59,13);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,14,2),"shape\x3dline;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-91,21);e.vertex=!0;b.insert(e);b=new mxCell("Page title",new mxGeometry(0,0,758,120),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BCD4;resizeWidth\x3d1;resizeHeight\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,32);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);e=new mxCell("WEB",new mxGeometry(0,1,74,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(68,-48);e.vertex=!0;
b.insert(e);e=new mxCell("SHOPPING",new mxGeometry(0,1,108,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(142,-48);e.vertex=!0;b.insert(e);e=new mxCell("VIDEOS",new mxGeometry(0,1,98,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(250,-48);e.vertex=!0;b.insert(e);e=new mxCell("IMAGES",
new mxGeometry(0,1,74,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(348,-48);e.vertex=!0;b.insert(e);e=new mxCell("NEWS",new mxGeometry(0,1,86,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(422,-48);e.vertex=!0;b.insert(e);var f=new mxCell("MORE",new mxGeometry(0,1,74,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");
f.geometry.relative=!0;f.geometry.offset=new mxPoint(508,-48);f.vertex=!0;b.insert(f);e=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#ffffff;opacity\x3d70;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-10,-3);e.vertex=!0;f.insert(e);e=new mxCell("",new mxGeometry(0,1,72,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F1FB8F;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(68,-3);e.vertex=!0;b.insert(e);
e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-75,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-28,20);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],758,152,"Desktop tab bar")}),
this.addEntry("gmdl google media design library tab desktop tab bar overflow",function(){var a=new mxCell("",new mxGeometry(0,0,758,152),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,758,32),"dashed\x3d0;shape\x3drect;fillColor\x3d#00A0B4;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0,12,12),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-27,11);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,13,10),"shape\x3drect;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;fillColor\x3dnone;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-59,13);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,14,2),"shape\x3dline;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-91,21);e.vertex=!0;b.insert(e);b=new mxCell("Page title",new mxGeometry(0,
0,758,120),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BCD4;resizeWidth\x3d1;resizeHeight\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,32);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=
!0;b.insert(e);e=new mxCell("ITEM ONE",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(68,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM TWO",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(174,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM THREE",
new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(280,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM FOUR",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(386,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM FIVE",new mxGeometry(0,1,
106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(492,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM SIX",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(598,-48);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,1,6,12),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#ffffff;direction\x3dsouth;strokeWidth\x3d2;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-42,-30);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,1,106,4),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#F1FB8F;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(68,-3);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-75,20);e.vertex=!0;
b.insert(e);e=new mxCell("",new mxGeometry(1,0,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-28,20);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],758,152,"Desktop tab bar with overflow")}),this.addEntry("gmdl google media design library tab desktop tab bar overflow scrolled",function(){var a=new mxCell("",new mxGeometry(0,0,758,152),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,758,32),"dashed\x3d0;shape\x3drect;fillColor\x3d#00A0B4;strokeColor\x3dnone;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0,12,12),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-27,11);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,13,10),"shape\x3drect;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;fillColor\x3dnone;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-59,13);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,14,2),"shape\x3dline;strokeColor\x3d#ABDFE6;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-91,21);e.vertex=!0;b.insert(e);b=new mxCell("Page title",new mxGeometry(0,0,758,120),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3d#00BCD4;resizeWidth\x3d1;resizeHeight\x3d1;fontSize\x3d20;fontColor\x3d#FFFFFF;spacingTop\x3d9;verticalAlign\x3dtop;align\x3dleft;spacingLeft\x3d72;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,32);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(0,0,24,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.preferences;strokeColor\x3dnone;fillColor\x3d#ffffff;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(16,20);e.vertex=!0;b.insert(e);e=new mxCell("ITEM SEVEN",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(68,
-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM EIGHT",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(174,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM NINE",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(280,-48);e.vertex=!0;b.insert(e);
e=new mxCell("ITEM TEN",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(386,-48);e.vertex=!0;b.insert(e);e=new mxCell("ITEM ELEVEN",new mxGeometry(0,1,106,48),"text;fontSize\x3d13;fontColor\x3d#FFFFFF;verticalAlign\x3dmiddle;align\x3dcenter;textOpacity\x3d80;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(492,-48);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(0,
1,6,12),"dashed\x3d0;shape\x3dmxgraph.gmdl.up;strokeColor\x3d#ffffff;direction\x3dnorth;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(36,-30);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeColor\x3d#ffffff;fillColor\x3dnone;strokeWidth\x3d2;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-75,20);e.vertex=!0;b.insert(e);e=new mxCell("",new mxGeometry(1,0,5,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.settings;strokeColor\x3dnone;fillColor\x3d#ffffff;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-28,20);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],758,152,"Desktop tab bar with overflow scrolled")})];this.addPalette("gmdlTabs","GMDL / Tabs",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addGMDLTextFieldsPalette=function(a){var c=this,f=[this.addEntry("gmdl google media design library text field single line text field",function(){var a=new mxCell("",new mxGeometry(0,
0,346,360),"dashed\x3d0;shape\x3drect;fillColor\x3d#ffffff;strokeColor\x3d#eeeeee;shadow\x3d1;");a.vertex=!0;var b=new mxCell("Bookmark added!",new mxGeometry(0,0,346,60),"text;verticalAlign\x3dmiddle;spacing\x3d16;fontSize\x3d21;fontStyle\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.vertex=!0;a.insert(b);b=new mxCell("Name",new mxGeometry(0,0,346,30),"text;spacingLeft\x3d16;fontColor\x3d#808080;fontSize\x3d13;spacingTop\x3d6;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,
88);b.vertex=!0;a.insert(b);b=new mxCell("100 Days of Ice Cream",new mxGeometry(0,0,346,30),"text;fontSize\x3d16;spacing\x3d2;spacingLeft\x3d16;fontStyle\x3d0;fontColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,115);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0.0462,0,314,20),"shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,140);b.vertex=!0;a.insert(b);
b=new mxCell("Folder",new mxGeometry(0,0,346,30),"text;spacingLeft\x3d16;fontColor\x3d#808080;fontSize\x3d13;spacingTop\x3d6;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,166);b.vertex=!0;a.insert(b);b=new mxCell("Bookmarks bar",new mxGeometry(0,0,346,30),"text;fontSize\x3d16;spacing\x3d2;spacingLeft\x3d16;fontStyle\x3d0;fontColor\x3d#000000;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,193);b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,
0,10,5),"dashed\x3d0;shape\x3dmxgraph.gmdl.triangle;strokeColor\x3dnone;fillColor\x3d#707070;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-26,13);e.vertex=!0;b.insert(e);b=new mxCell("",new mxGeometry(0.0462,0,314,20),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,218);b.vertex=!0;a.insert(b);b=new mxCell("REMOVE",new mxGeometry(0,1,90,60),"text;fontSize\x3d13;fontStyle\x3d1;fontColor\x3d#138FF2;spacingTop\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-60);b.vertex=!0;a.insert(b);b=new mxCell("EDIT",new mxGeometry(1,1,90,60),"text;fontSize\x3d13;fontStyle\x3d1;fontColor\x3d#138FF2;spacingTop\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-180,-60);b.vertex=!0;a.insert(b);b=new mxCell("DONE",new mxGeometry(1,1,90,60),"text;fontSize\x3d13;fontStyle\x3d1;fontColor\x3d#138FF2;spacingTop\x3d0;verticalAlign\x3dmiddle;align\x3dcenter;");b.geometry.relative=
!0;b.geometry.offset=new mxPoint(-90,-60);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],346,360,"Single-line text field")}),this.addEntry("gmdl google media design library text field single line text field normal light dark",function(){var a=new mxCell("Hint text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#808080;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#eeeeee;opacity\x3d50;");
b.vertex=!0;return c.createVertexTemplateFromCells([a,b],346,35,"Single-line text field (normal)")}),this.addEntry("gmdl google media design library text field single line text field hover light dark",function(){var a=new mxCell("Hint text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#808080;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#cccccc;opacity\x3d50;");
b.vertex=!0;return c.createVertexTemplateFromCells([a,b],346,35,"Single-line text field (hover)")}),this.addEntry("gmdl google media design library text field single line text field press light dark",function(){var a=new mxCell("Input text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#808080;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;opacity\x3d50;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#0C8CF2;opacity\x3d50;");
b.vertex=!0;return c.createVertexTemplateFromCells([a,b],346,35,"Single-line text field (press)")}),this.addEntry("gmdl google media design library text field single line text field focus light",function(){var a=new mxCell("Input text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#000000;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#0C8CF2;opacity\x3d50;");
b.vertex=!0;return c.createVertexTemplateFromCells([a,b],346,35,"Single-line text field (focus, light)")}),this.addEntry("gmdl google media design library text field single line text field normal light",function(){var a=new mxCell("Input text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#000000;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#eeeeee;");
b.vertex=!0;return c.createVertexTemplateFromCells([a,b],346,35,"Single-line text field (normal, light)")}),this.addEntry("gmdl google media design library text field single line text field error light",function(){var a=new mxCell("Input text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#000000;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#ff0000;");
b.vertex=!0;var e=new mxCell("Username or Password is incorrect",new mxGeometry(0,30,346,25),"text;fontColor\x3d#ff0000;fontSize\x3d12;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");e.vertex=!0;return c.createVertexTemplateFromCells([a,b,e],346,55,"Single-line text field (error, light)")}),this.addEntry("gmdl google media design library text field single line text field disabled",function(){var a=new mxCell("Input text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#808080;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#B3B3B3;dashed\x3d1;dashPattern\x3d1 4;");b.vertex=!0;return c.createVertexTemplateFromCells([a,b],346,35,"Single-line text field (disabled)")}),this.addEntry("gmdl google media design library text field single line text field focus dark",function(){var a=new mxCell("Input text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#ffffff;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#0C8CF2;opacity\x3d50;");b.vertex=!0;return c.createVertexTemplateFromCells([a,b],346,35,"Single-line text field (focus, dark)")}),this.addEntry("gmdl google media design library text field single line text field normal dark",function(){var a=new mxCell("Input text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#999999;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#cccccc;opacity\x3d50;");b.vertex=!0;return c.createVertexTemplateFromCells([a,b],346,35,"Single-line text field (normal, dark)")}),this.addEntry("gmdl google media design library text field single line text field error dark",function(){var a=new mxCell("Input text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#ffffff;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#ff0000;");b.vertex=!0;var e=new mxCell("Username or Password is incorrect",new mxGeometry(0,30,346,25),"text;fontColor\x3d#ff0000;fontSize\x3d12;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");e.vertex=!0;return c.createVertexTemplateFromCells([a,b,e],346,55,"Single-line text field (error, dark)")}),this.addEntry("gmdl google media design library text field single line text field icon normal light",
function(){var a=new mxCell("",new mxGeometry(0,0,342,35),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-10);b.vertex=!0;a.insert(b);b=new mxCell("Phone",new mxGeometry(54,0,168,30),"text;fontColor\x3d#666666;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;textOpacity\x3d50;");
b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(54,25,168,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#E6E6E6;");b.vertex=!0;a.insert(b);b=new mxCell("Mobile",new mxGeometry(252,0,90,30),"text;fontColor\x3d#666666;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;opacity\x3d50;");b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(252,25,90,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#E6E6E6;");
e.vertex=!0;a.insert(e);e=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;shape\x3dtriangle;noLabel\x3d1;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dsouth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-14,-3);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,35,"Single-line text field with icon (normal, light)")}),this.addEntry("gmdl google media design library text field single line text field icon focus light",function(){var a=new mxCell("",new mxGeometry(0,
0,342,35),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#1F9BFD;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-10);b.vertex=!0;a.insert(b);b=new mxCell("650",new mxGeometry(54,0,168,30),"text;fontColor\x3d#000000;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(54,
25,168,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#1F9BFD;");b.vertex=!0;a.insert(b);b=new mxCell("Mobile",new mxGeometry(252,0,90,30),"text;fontColor\x3d#B3B3B3;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(252,25,90,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#E6E6E6;");e.vertex=!0;a.insert(e);e=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;shape\x3dtriangle;noLabel\x3d1;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dsouth;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-14,-3);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,35,"Single-line text field with icon (focus, light)")}),this.addEntry("gmdl google media design library text field single line text field icon normal light",function(){var a=new mxCell("",new mxGeometry(0,0,342,35),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#666666;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-10);b.vertex=!0;a.insert(b);b=new mxCell("650-555-1234",new mxGeometry(54,0,168,30),"text;fontColor\x3d#000000;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(54,25,168,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#E6E6E6;");b.vertex=!0;a.insert(b);b=new mxCell("Mobile",new mxGeometry(252,0,90,30),"text;fontColor\x3d#000000;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");
b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(252,25,90,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#E6E6E6;");e.vertex=!0;a.insert(e);e=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;shape\x3dtriangle;noLabel\x3d1;strokeColor\x3dnone;fillColor\x3d#666666;direction\x3dsouth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-14,-3);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,35,"Single-line text field with icon (normal, light)")}),
this.addEntry("gmdl google media design library text field single line text field icon normal dark",function(){var a=new mxCell("",new mxGeometry(0,0,342,35),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#cccccc;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-10);b.vertex=!0;a.insert(b);b=new mxCell("Phone",new mxGeometry(54,0,168,30),"text;fontColor\x3d#777777;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");
b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(54,25,168,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#555555;");b.vertex=!0;a.insert(b);b=new mxCell("Mobile",new mxGeometry(252,0,90,30),"text;fontColor\x3d#777777;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;opacity\x3d50;");b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(252,25,90,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#555555;");
e.vertex=!0;a.insert(e);e=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;shape\x3dtriangle;noLabel\x3d1;strokeColor\x3dnone;fillColor\x3d#cccccc;direction\x3dsouth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-14,-3);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,35,"Single-line text field with icon (normal, dark)")}),this.addEntry("gmdl google media design library text field single line text field icon focus dark",function(){var a=new mxCell("",new mxGeometry(0,
0,342,35),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#1F9BFD;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-10);b.vertex=!0;a.insert(b);b=new mxCell("650",new mxGeometry(54,0,168,30),"text;fontColor\x3d#ffffff;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(54,
25,168,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#1F9BFD;");b.vertex=!0;a.insert(b);b=new mxCell("Mobile",new mxGeometry(252,0,90,30),"text;fontColor\x3d#777777;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(252,25,90,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#555555;");e.vertex=!0;a.insert(e);e=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;shape\x3dtriangle;noLabel\x3d1;strokeColor\x3dnone;fillColor\x3d#cccccc;direction\x3dsouth;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(-14,-3);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,35,"Single-line text field with icon (focus, dark)")}),this.addEntry("gmdl google media design library text field single line text field icon normal dark",function(){var a=new mxCell("",new mxGeometry(0,0,342,35),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,16,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.telephone;strokeColor\x3dnone;fillColor\x3d#cccccc;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,-10);b.vertex=!0;a.insert(b);b=new mxCell("650-555-1234",new mxGeometry(54,0,168,30),"text;fontColor\x3d#ffffff;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(54,25,168,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#555555;");b.vertex=!0;a.insert(b);b=new mxCell("Mobile",new mxGeometry(252,0,90,30),"text;fontColor\x3d#ffffff;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");
b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(252,25,90,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#555555;");e.vertex=!0;a.insert(e);e=new mxCell("",new mxGeometry(1,0.5,10,5),"dashed\x3d0;shape\x3dtriangle;noLabel\x3d1;strokeColor\x3dnone;fillColor\x3d#cccccc;direction\x3dsouth;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-14,-3);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],342,35,"Single-line text field with icon (normal, dark)")}),
this.addEntry("gmdl google media design library text field single line text field normal light dark",function(){var a=new mxCell("Label text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#808080;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,25,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#999999;opacity\x3d80;");b.vertex=!0;return c.createVertexTemplateFromCells([a,b],346,35,"Single-line text field (normal)")}),
this.addEntry("gmdl google media design library text field single line text field focus light",function(){var a=new mxCell("Label text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#1F9BFD;fontSize\x3d12;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("Input text",new mxGeometry(0,20,346,30),"text;fontColor\x3d#000000;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,45,346,
10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#1F9BFD;");e.vertex=!0;return c.createVertexTemplateFromCells([a,b,e],346,55,"Single-line text field (normal, light)")}),this.addEntry("gmdl google media design library text field single line text field focus light",function(){var a=new mxCell("Label text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#cccccc;fontSize\x3d12;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("Input text",
new mxGeometry(0,20,346,30),"text;fontColor\x3d#000000;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,45,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#eeeeee;");e.vertex=!0;return c.createVertexTemplateFromCells([a,b,e],346,55,"Single-line text field (normal, light)")}),this.addEntry("gmdl google media design library text field single line text field focus light dark",function(){var a=
new mxCell("Label text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#999999;fontSize\x3d12;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;textOpacity\x3d80;");a.vertex=!0;var b=new mxCell("Input text",new mxGeometry(0,20,346,30),"text;fontColor\x3d#999999;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;textOpacity\x3d80;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,45,346,10),"shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#999999;dashed\x3d1;dashPattern\x3d1 4;opacity\x3d80;");
e.vertex=!0;return c.createVertexTemplateFromCells([a,b,e],346,55,"Single-line text field (normal)")}),this.addEntry("gmdl google media design library text field single line text field focus dark",function(){var a=new mxCell("Label text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#1F9BFD;fontSize\x3d12;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;var b=new mxCell("Input text",new mxGeometry(0,20,346,30),"text;fontColor\x3d#ffffff;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");
b.vertex=!0;var e=new mxCell("",new mxGeometry(0,45,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d2;noLabel\x3d1;strokeColor\x3d#1F9BFD;");e.vertex=!0;return c.createVertexTemplateFromCells([a,b,e],346,55,"Single-line text field (normal, dark)")}),this.addEntry("gmdl google media design library text field single line text field focus dark",function(){var a=new mxCell("Label text",new mxGeometry(0,0,346,30),"text;fontColor\x3d#999999;fontSize\x3d12;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");
a.vertex=!0;var b=new mxCell("Input text",new mxGeometry(0,20,346,30),"text;fontColor\x3d#cccccc;fontSize\x3d16;verticalAlign\x3dmiddle;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,45,346,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;noLabel\x3d1;strokeColor\x3d#999999;");e.vertex=!0;return c.createVertexTemplateFromCells([a,b,e],346,55,"Single-line text field (normal, dark)")}),this.addEntry("gmdl google media design library text field full text field",
function(){var a=new mxCell("Search",new mxGeometry(0,0,362,56),"dashed\x3d0;shape\x3drect;shadow\x3d1;strokeColor\x3d#eeeeee;strokeWidth\x3d1;fillColor\x3d#ffffff;fontSize\x3d22;fontColor\x3d#CCCCCC;align\x3dleft;spacingLeft\x3d65;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.left;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(22,-8);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.5,14,
14),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-35,-7);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],362,56,"Full text field")}),this.addEntry("gmdl google media design library text field full text field",function(){var a=new mxCell("a",new mxGeometry(0,0,362,294),"dashed\x3d0;shape\x3drect;shadow\x3d1;strokeColor\x3d#eeeeee;strokeWidth\x3d1;fillColor\x3d#ffffff;fontSize\x3d22;fontColor\x3d#000000;align\x3dleft;spacingLeft\x3d65;dashPattern\x3d1 4;verticalAlign\x3dtop;spacingTop\x3d6;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.left;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(22,20);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-35,22);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,362,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,49);b.vertex=!0;a.insert(b);b=new mxCell("Aaron Bennett",new mxGeometry(0,0,362,60),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontSize\x3d16;spacingLeft\x3d65;html\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,54);b.vertex=!0;a.insert(b);var e=new mxCell("",new mxGeometry(1,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=
!0;e.geometry.offset=new mxPoint(-60,-20);e.vertex=!0;b.insert(e);b=new mxCell("Abbey Christensen",new mxGeometry(0,0,362,60),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontSize\x3d16;spacingLeft\x3d65;html\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,114);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;
e.geometry.offset=new mxPoint(-60,-20);e.vertex=!0;b.insert(e);b=new mxCell("Alli Connors",new mxGeometry(0,0,362,60),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontSize\x3d16;spacingLeft\x3d65;html\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,174);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=
new mxPoint(-60,-20);e.vertex=!0;b.insert(e);b=new mxCell("Alex Nelson",new mxGeometry(0,0,362,60),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontSize\x3d16;spacingLeft\x3d65;html\x3d1;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,234);b.vertex=!0;a.insert(b);e=new mxCell("",new mxGeometry(1,0.5,40,40),"dashed\x3d0;shape\x3dmxgraph.gmdl.user;strokeColor\x3dnone;fillColor\x3d#666666;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-60,
-20);e.vertex=!0;b.insert(e);return c.createVertexTemplateFromCells([a],362,294,"Full text field")}),this.addEntry("gmdl google media design library text field inset text field",function(){var a=new mxCell("Search",new mxGeometry(0,0,362,56),"dashed\x3d0;shape\x3drect;shadow\x3d1;strokeColor\x3d#eeeeee;strokeWidth\x3d1;fillColor\x3d#ffffff;fontSize\x3d22;fontColor\x3d#CCCCCC;align\x3dleft;spacingLeft\x3d65;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0.5,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.search;strokeWidth\x3d2;strokeColor\x3d#666666;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(22,-8);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,0.5,12,20),"dashed\x3d0;shape\x3dmxgraph.gmdl.voice;strokeWidth\x3d2;strokeColor\x3d#666666;fillColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-34,-10);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],362,56,"Inset text field")}),this.addEntry("gmdl google media design library text field focus card suggestion",function(){var a=new mxCell("dessert",
new mxGeometry(0,0,362,246),"dashed\x3d0;shape\x3drect;shadow\x3d1;strokeColor\x3d#eeeeee;strokeWidth\x3d1;fillColor\x3d#ffffff;fontSize\x3d22;fontColor\x3d#000000;align\x3dleft;spacingLeft\x3d65;dashPattern\x3d1 4;verticalAlign\x3dtop;spacingTop\x3d6;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed\x3d0;shape\x3dmxgraph.gmdl.left;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(22,20);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(1,
0,14,14),"dashed\x3d0;shape\x3dmxgraph.gmdl.x;strokeWidth\x3d2;strokeColor\x3d#666666;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-35,22);b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(0,0,362,10),"dashed\x3d0;shape\x3dline;strokeWidth\x3d1;strokeColor\x3d#eeeeee;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,49);b.vertex=!0;a.insert(b);b=new mxCell("dessert",new mxGeometry(0,0,362,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontSize\x3d16;spacingLeft\x3d65;html\x3d1;fontColor\x3d#999999;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,54);b.vertex=!0;a.insert(b);b=new mxCell('dessert \x3cfont color\x3d"#000000"\x3ebar\x3c/font\x3e',new mxGeometry(0,0,362,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontSize\x3d16;spacingLeft\x3d65;html\x3d1;fontColor\x3d#999999;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,102);b.vertex=!0;a.insert(b);b=new mxCell('dessert \x3cfont color\x3d"#000000"\x3eshop\x3c/font\x3e',new mxGeometry(0,
0,362,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontSize\x3d16;spacingLeft\x3d65;html\x3d1;fontColor\x3d#999999;resizeWidth\x3d1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,150);b.vertex=!0;a.insert(b);b=new mxCell('dessert \x3cfont color\x3d"#000000"\x3erestaurant\x3c/font\x3e',new mxGeometry(0,0,362,48),"dashed\x3d0;shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;align\x3dleft;fontSize\x3d16;spacingLeft\x3d65;html\x3d1;fontColor\x3d#999999;resizeWidth\x3d1;");
b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,198);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],362,246,"Focus card suggestions")})];this.addPalette("gmdlText Fields","GMDL / Text Fields",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))}})();
(function(){Sidebar.prototype.addIosPalette=function(){sb=this;var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;html\x3d1;shadow\x3d0;dashed\x3d0;strokeWidth\x3d1;shape\x3dmxgraph.ios.",c=mxConstants.STYLE_STROKEWIDTH+"\x3d1;html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.",f=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dtop;html\x3d1;shadow\x3d0;dashed\x3d0;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dbottom;strokeWidth\x3d1;shape\x3dmxgraph.ios.",
d=[this.createVertexTemplateEntry(a+"iPhone;bgStyle\x3dbgGreen;fillColor\x3d#aaaaaa;",200,400,"","iPhone (portrait)",null,null,null),this.createVertexTemplateEntry(a+"iPhone;direction\x3dnorth;bgStyle\x3dbgGreen;fillColor\x3d#aaaaaa;",400,200,"","iPhone (landscape)",null,null,null),this.createVertexTemplateEntry(a+"iPad;bgStyle\x3dbgGreen;fillColor\x3d#aaaaaa;",200*2.425,625,"","iPad (portrait)",null,null,null),this.createVertexTemplateEntry(a+"iPad;direction\x3dnorth;bgStyle\x3dbgGreen;fillColor\x3d#aaaaaa;",
625,200*2.425,"","iPad (landscape)",null,null,null),this.createVertexTemplateEntry(a+"iBgFlat;strokeColor\x3d#18211b;fillColor\x3d#ffffff;",175,280,"","iPad background (white)",null,null,null),this.createVertexTemplateEntry(a+"iBgFlat;strokeColor\x3d#18211b;fillColor\x3d#1f2923;",175,280,"","iPad background (green)",null,null,null),this.createVertexTemplateEntry(a+"iBgFlat;strokeColor\x3d#18211b;fillColor\x3d#dddddd;",175,280,"","iPad background (gray)",null,null,null),this.createVertexTemplateEntry(a+
"iBgStriped;strokeColor\x3d#18211b;fillColor\x3d#5D7585;strokeColor2\x3d#657E8F;",175,280,"","iPad background (striped)",null,null,null),this.createVertexTemplateEntry(a+"iBgMap;strokeColor\x3d#18211b;fillColor\x3d#ffffff;strokeColor2\x3d#008cff;fillColor2\x3d#96D1FF;",175,280,"","iPad background (map)",null,null,null),this.addEntry(null,function(){var b=new mxCell("",new mxGeometry(0,0,165,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d5;strokeColor\x3d#444444;fillColor\x3d#ffffff;gradientColor\x3dnone;");
b.vertex=!0;var a=new mxCell("Item 1",new mxGeometry(0,0,165,12.5),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.topButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#c4c4c4;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#666666;");a.vertex=!0;b.insert(a);var c=new mxCell("\x3e",new mxGeometry(140,1,10,10),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;fontColor\x3d#c4c4c4;fontStyle\x3d1;");c.vertex=!0;a.insert(c);a=new mxCell("Item 3",new mxGeometry(0,25,165,
12.5),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d0;fillColor\x3dnone;strokeColor\x3d#c4c4c4;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#666666;");a.vertex=!0;b.insert(a);c=new mxCell("\x3e",new mxGeometry(140,1,10,10),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;fontColor\x3d#c4c4c4;fontStyle\x3d1;");c.vertex=!0;a.insert(c);a=new mxCell("Item 4",new mxGeometry(0,37.5,165,12.5),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.bottomButton;rSize\x3d5;fillColor\x3dnone;strokeColor\x3d#c4c4c4;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#666666;");
a.vertex=!0;b.insert(a);c=new mxCell("\x3e",new mxGeometry(140,1,10,10),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;fontColor\x3d#c4c4c4;fontStyle\x3d1;");c.vertex=!0;a.insert(c);a=new mxCell("Item 2",new mxGeometry(0,12.5,165,12.5),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d0;fillColor\x3d#5D7585;strokeColor\x3dnone;align\x3dleft;spacingLeft\x3d10;fontSize\x3d8;fontColor\x3d#ffffff;gradientColor\x3d#008cff;");a.vertex=!0;b.insert(a);c=new mxCell("\x3e",
new mxGeometry(140,1,10,10),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;fontColor\x3d#c4c4c4;fontStyle\x3d1;");c.vertex=!0;a.insert(c);a=new mxCell("",new mxGeometry(0,0,165,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d5;strokeColor\x3d#444444;fillColor\x3dnone;");a.vertex=!0;b.insert(a);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Button bar")}),this.addEntry(null,function(){var b=new mxCell("",new mxGeometry(0,0,
175,15),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.iAppBar;strokeWidth\x3d1;");b.vertex=!0;var a=new mxCell("CARRIER",new mxGeometry(0,2,50,13),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;align\x3dleft;fontSize\x3d8;spacingLeft\x3d18;");a.vertex=!0;b.insert(a);a=new mxCell("11:55PM",new mxGeometry(60,2,50,13),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rect;fontSize\x3d8;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;b.insert(a);return sb.createVertexTemplateFromCells([b],
b.geometry.width,b.geometry.height,"App bar (portrait)")}),this.addEntry(null,function(){var b=new mxCell("",new mxGeometry(0,0,280,15),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.iAppBar;strokeWidth\x3d1;");b.vertex=!0;var a=new mxCell("CARRIER",new mxGeometry(0,2,50,13),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;align\x3dleft;fontSize\x3d8;spacingLeft\x3d18;");a.vertex=!0;b.insert(a);a=new mxCell("11:55PM",new mxGeometry(115,2,50,13),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rect;fontSize\x3d8;strokeColor\x3dnone;fillColor\x3dnone;");
a.vertex=!0;b.insert(a);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"App bar (landscape)")}),this.addEntry(null,function(){var b=new mxCell("",new mxGeometry(0,0,175,15),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.iTopBar2;opacity\x3d50;fillColor\x3d#999999;strokeColor\x3d#cccccc;strokeWidth\x3d1;");b.vertex=!0;var a=new mxCell("CARRIER",new mxGeometry(0,2,50,13),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rect;align\x3dleft;fontSize\x3d7.5;spacingLeft\x3d18;fontColor\x3d#cccccc;textOpacity\x3d50;strokeColor\x3dnone;fillColor\x3dnone;");
a.vertex=!0;b.insert(a);a=new mxCell("11:15AM",new mxGeometry(60,2,50,13),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rect;fontSize\x3d7.5;fontColor\x3d#cccccc;textOpacity\x3d50;strokeColor\x3dnone;fillColor\x3dnone;");a.vertex=!0;b.insert(a);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Top bar")}),this.addEntry(null,function(){var b=new mxCell("",new mxGeometry(0,0,175,15),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.iTopBarLocked;strokeWidth\x3d1;");
b.vertex=!0;var a=new mxCell("CARRIER",new mxGeometry(0,2,50,13),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;align\x3dleft;fontSize\x3d7.5;spacingLeft\x3d18;fontColor\x3d#cccccc;");a.vertex=!0;b.insert(a);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Top bar locked")}),this.createVertexTemplateEntry(c+"iButton;strokeColor\x3d#444444;fontColor\x3d#ffffff;buttonText\x3d;fontSize\x3d8;fillColor\x3d#dddddd;fillColor2\x3d#3D5565;whiteSpace\x3dwrap;align\x3dcenter;",
43.5,15,"Button","Button",null,null,null),this.createVertexTemplateEntry(c+"iButtonBack;strokeColor\x3d#444444;fontColor\x3d#ffffff;buttonText\x3d;fontSize\x3d8;fillColor\x3d#dddddd;fillColor2\x3d#3D5565;spacingLeft\x3d10;whiteSpace\x3dwrap;align\x3dcenter;",43.5,15,"Button","Back button",null,null,null),this.createVertexTemplateEntry(c+"iButtonFw;strokeColor\x3d#444444;fontColor\x3d#ffffff;buttonText\x3d;fontSize\x3d8;fillColor\x3d#dddddd;fillColor2\x3d#3D5565;spacingRight\x3d10;whiteSpace\x3dwrap;align\x3dcenter;",
43.5,15,"Button","Forward button",null,null,null),this.createVertexTemplateEntry(a+"iPrevNext;strokeColor\x3d#444444;fillColor\x3d#dddddd;fillColor2\x3d#3D5565;fillColor3\x3d#ffffff;align\x3dcenter;",43.5,15,"","Prev/next button",null,null,null),this.createVertexTemplateEntry(c+"iTextInput;strokeColor\x3d#444444;fontColor\x3d#000000;buttonText\x3d;fontSize\x3d8;fillColor\x3d#ffffff;whiteSpace\x3dwrap;align\x3dleft;",43.5,15,"Default text","Text input",null,null,null),this.addEntry(null,function(){var b=
new mxCell("",new mxGeometry(0,0,165,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d3;strokeColor\x3d#666666;fillColor\x3d#ffffff;gradientColor\x3dnone;recursiveResize\x3d0");b.vertex=!0;var a=new mxCell("Option 1",new mxGeometry(2.5,3.5,5,5),"shape\x3dellipse;resizable\x3d0;fillColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d2;fontSize\x3d8;fontColor\x3d#666666;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingTop\x3d3;");a.vertex=!0;
b.insert(a);a=new mxCell("Option 2",new mxGeometry(2.5,16,5,5),"shape\x3dellipse;resizable\x3d0;fillColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d2;fontSize\x3d8;fontColor\x3d#666666;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingTop\x3d3;");a.vertex=!0;b.insert(a);a=new mxCell("Option 3",new mxGeometry(2.5,28.5,5,5),"shape\x3dellipse;resizable\x3d0;fillColor\x3d#444444;align\x3dleft;spacingLeft\x3d2;fontSize\x3d8;fontColor\x3d#666666;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingTop\x3d3;");
a.vertex=!0;b.insert(a);a=new mxCell("Option 4",new mxGeometry(2.5,41,5,5),"shape\x3dellipse;resizable\x3d0;fillColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d2;fontSize\x3d8;fontColor\x3d#666666;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingTop\x3d3;");a.vertex=!0;b.insert(a);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Radio Buttons")}),this.addEntry(null,function(){var b=new mxCell("",new mxGeometry(0,0,165,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d3;strokeColor\x3d#666666;fillColor\x3d#ffffff;gradientColor\x3dnone;recursiveResize\x3d0;");
b.vertex=!0;var a=new mxCell("Setting 1",new mxGeometry(2.5,3.5,5,5),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d0;fillColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d2;fontSize\x3d8;fontColor\x3d#666666;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingTop\x3d3;");a.vertex=!0;b.insert(a);a=new mxCell("Setting 2",new mxGeometry(2.5,16,5,5),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d0;fillColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d2;fontSize\x3d8;fontColor\x3d#666666;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingTop\x3d3;");
a.vertex=!0;b.insert(a);a=new mxCell("Setting 3",new mxGeometry(2.5,28.5,5,5),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.checkbox;fillColor\x3d#999999;align\x3dleft;spacingLeft\x3d2;fontSize\x3d8;fontColor\x3d#666666;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingTop\x3d3;");a.vertex=!0;b.insert(a);a=new mxCell("Setting 4",new mxGeometry(2.5,41,5,5),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d0;fillColor\x3d#dddddd;align\x3dleft;spacingLeft\x3d2;fontSize\x3d8;fontColor\x3d#666666;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;spacingTop\x3d3;");
a.vertex=!0;b.insert(a);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Checkboxes")}),this.createVertexTemplateEntry(c+"iComboBox;spacingTop\x3d2;spacingLeft\x3d2;align\x3dleft;strokeColor\x3d#444444;fontColor\x3d#666666;buttonText\x3d;fontSize\x3d8;fillColor\x3d#dddddd;fillColor2\x3d#3D5565;",200*0.29,15,"Option 1","Combobox",null,null,null),this.createVertexTemplateEntry(c+"iOnOffButton;mainText\x3d;strokeColor\x3d#444444;fontSize\x3d9;fontColor\x3d#ffffff;spacingRight\x3d14;buttonState\x3don",
43.5,15,"ON","On-off button",null,null,null),this.createVertexTemplateEntry(c+"iTextInput;strokeColor\x3d#444444;fontColor\x3d#000000;align\x3dleft;buttonText\x3d;fontSize\x3d8;fillColor\x3d#ffffff;",43.5,15,"********","Password field",null,null,null),this.addEntry(null,function(){var b=new mxCell("Alert description text\ndescription text second line",new mxGeometry(0,0,150,100),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.fancyRRect;rSize\x3d8;strokeColor\x3d#dddddd;fillColor\x3d#497198;gradientColor\x3d#193168;opacity\x3d80;fontColor\x3d#ffffff;fontSize\x3d9;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var a=new mxCell("Something happened",new mxGeometry(0,0,150,25),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;fontSize\x3d13;fontColor\x3d#ffffff;whiteSpace\x3dwrap;resizeWidth\x3d1;");a.geometry.relative=!0;a.vertex=!0;b.insert(a);a=new mxCell("Button",new mxGeometry(0.5,1,80,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d3;fontSize\x3d9;fontColor\x3d#ffffff;strokeColor\x3d#ffffff;fillColor\x3d#497198;gradientColor\x3d#c5cee1;opacity\x3d80;whiteSpace\x3dwrap;");
a.geometry.relative=!0;a.geometry.offset=new mxPoint(-40,-25);a.vertex=!0;b.insert(a);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Alert Box")}),this.addEntry(null,function(){var b=new mxCell("Dialog question text\nquestion text second line",new mxGeometry(0,0,150,100),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.fancyRRect;rSize\x3d8;strokeColor\x3d#dddddd;fillColor\x3d#497198;gradientColor\x3d#193168;opacity\x3d80;fontColor\x3d#ffffff;fontSize\x3d9;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var a=new mxCell("Something happened",new mxGeometry(0,0,150,25),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;fontSize\x3d13;fontColor\x3d#ffffff;whiteSpace\x3dwrap;resizeWidth\x3d1;");a.geometry.relative=!0;a.vertex=!0;b.insert(a);a=new mxCell("Cancel",new mxGeometry(0.25,1,65,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d3;fontSize\x3d9;fontColor\x3d#ffffff;strokeColor\x3d#ffffff;fillColor\x3d#497198;gradientColor\x3d#c5cee1;opacity\x3d80;whiteSpace\x3dwrap;");
a.geometry.relative=!0;a.geometry.offset=new mxPoint(-32.5,-25);a.vertex=!0;b.insert(a);a=new mxCell("OK",new mxGeometry(0.75,1,65,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rrect;rSize\x3d3;fontSize\x3d9;fontColor\x3d#ffffff;strokeColor\x3d#ffffff;fillColor\x3d#497198;gradientColor\x3d#c5cee1;opacity\x3d80;whiteSpace\x3dwrap;");a.geometry.relative=!0;a.geometry.offset=new mxPoint(-32.5,-25);a.vertex=!0;b.insert(a);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,
"Dialog Box")}),this.createVertexTemplateEntry(c+"iLockButton;fontColor\x3d#cccccc;fontSize\x3d13;mainText\x3d;spacingLeft\x3d50;spacingRight\x3d10;align\x3dcenter;",174,50,"slide to unlock","Lock button",null,null,null),this.createVertexTemplateEntry(a+"iArrowIcon;fillColor\x3d#8BbEff;fillColor2\x3d#135Ec8;strokeColor\x3d#ffffff;",15,15,"","Arrow",null,null,null),this.createVertexTemplateEntry(a+"iDeleteIcon;fillColor\x3d#e8878E;fillColor2\x3d#BD1421;strokeColor\x3d#ffffff;",15,15,"","Delete",null,
null,null),this.createVertexTemplateEntry(a+"iAddIcon;fillColor\x3d#7AdF78;fillColor2\x3d#1A9917;strokeColor\x3d#ffffff;",15,15,"","Add",null,null,null),this.createVertexTemplateEntry(a+"iInfoIcon;fillColor\x3d#8BbEff;fillColor2\x3d#135Ec8;strokeColor\x3d#ffffff;",15,15,"","Info",null,null,null),this.createVertexTemplateEntry(a+"iSortFindIcon;fillColor\x3d#8BbEff;fillColor2\x3d#135Ec8;strokeColor\x3d#ffffff;",15,15,"","Sort/find",null,null,null),this.createVertexTemplateEntry(a+"iCheckIcon;fillColor\x3d#e8878E;fillColor2\x3d#BD1421;strokeColor\x3d#ffffff;",
15,15,"","Check",null,null,null),this.createVertexTemplateEntry(a+"iKeybLett;",174,100,"","Keyboard (letters)",null,null,null),this.createVertexTemplateEntry(a+"iKeybNumb;",174,100,"","Keyboard (numbers)",null,null,null),this.createVertexTemplateEntry(a+"iKeybSymb;",174,100,"","Keyboard (symbols)",null,null,null),this.createVertexTemplateEntry(a+"iDeleteApp;fillColor\x3d#cccccc;fillColor2\x3d#000000;strokeColor\x3d#ffffff;",15,15,"","Delete app",null,null,null),this.createVertexTemplateEntry(a+"iDir;",
100,100,"","Direction",null,null,null),this.createVertexTemplateEntry(c+"iLocBar;align\x3dleft;spacingLeft\x3d4;spacingBottom\x3d4;fontColor\x3d#ffffff;fontSize\x3d10;barPos\x3d80;pointerPos\x3dbottom;buttonText\x3d",155,32.5,"5th Street Music Store","Location bar",null,null,null),this.createVertexTemplateEntry(a+"iCallDialog;",150,125,"","Call Dialog",null,null,null),this.createVertexTemplateEntry(a+"iCallButtons;",174,400*0.575,"","Call buttons",null,null,null),this.createVertexTemplateEntry(c+
"iOption;barPos\x3d80;pointerPos\x3dbottom;buttonText\x3d;fontSize\x3d10;fontColor\x3d#ffffff;spacingBottom\x3d6;",75,400*0.06875,"Option","Option",null,null,null),this.createVertexTemplateEntry(a+"iAlphaList;fontSize\x3d7.5;",15,225,"","Alphabet list",null,null,null),this.createVertexTemplateEntry(c+"iHorButtonBar;strokeColor\x3d#444444;strokeColor2\x3d#c4c4c4;fillColor2\x3d#ffffff;buttonText\x3d,+,,;overflow\x3dwidth;html\x3d1;fontSize\x3d8;fillColor\x3d#ffffff;fillColor2\x3d#008cff",165,12.5,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;color:#666666;width:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" width\x3d"25%"\x3eItem 1\x3c/td\x3e\x3ctd align\x3d"center" style\x3d"color:white;" width\x3d"25%"\x3eItem 2\x3c/td\x3e\x3ctd align\x3d"center" width\x3d"25%"\x3eItem 3\x3c/td\x3e\x3ctd align\x3d"center" width\x3d"25%"\x3eItem 4\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Horizontal button bar",null,null,null),this.createVertexTemplateEntry(f+"iPin;fillColor2\x3d#00dd00;fillColor3\x3d#004400;strokeColor\x3d#006600;",10,25,"","Pin",null,null,null),this.createVertexTemplateEntry(f+"iPin;fillColor2\x3d#dd0000;fillColor3\x3d#440000;strokeColor\x3d#660000;",10,25,"","Pin",null,null,null),this.createVertexTemplateEntry(f+"iPin;fillColor2\x3d#ccccff;fillColor3\x3d#0000ff;strokeColor\x3d#000066;",10,25,"","Pin",null,null,null),this.createVertexTemplateEntry(f+"iPin;fillColor2\x3d#ffff00;fillColor3\x3d#888800;strokeColor\x3d#999900;",
10,25,"","Pin",null,null,null),this.createVertexTemplateEntry(f+"iPin;fillColor2\x3d#ffa500;fillColor3\x3d#885000;strokeColor\x3d#997000;",10,25,"","Pin",null,null,null),this.createVertexTemplateEntry(a+"iVideoControls;barPos\x3d20;",174,50,"","Video controls",null,null,null),this.addEntry(null,function(){var b=new mxCell("Page title",new mxGeometry(0,0,175,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.iURLBar;verticalAlign\x3dtop;fontSize\x3d8;spacingTop\x3d-5;align\x3dcenter;");b.vertex=
!0;var a=new mxCell("https://www.draw.io/",new mxGeometry(5,12,115,13),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;fontSize\x3d8;spacingLeft\x3d3;align\x3dleft;spacingTop\x3d2;");a.vertex=!0;b.insert(a);a=new mxCell("Cancel",new mxGeometry(137,12,32,13),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.anchor;fontSize\x3d8;fontColor\x3d#ffffff;spacingTop\x3d2;");a.vertex=!0;b.insert(a);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"URL bar")}),
this.createVertexTemplateEntry(a+"iSlider;barPos\x3d20;",150,10,"","Slider",null,null,null),this.createVertexTemplateEntry(a+"iProgressBar;barPos\x3d40;",150,10,"","Progress bar",null,null,null),this.createVertexTemplateEntry(a+"iCloudProgressBar;barPos\x3d20;",150,10,"","Cloud progress bar",null,null,null),this.createVertexTemplateEntry(c+"iDownloadBar;verticalAlign\x3dtop;spacingTop\x3d-4;fontSize\x3d8;fontColor\x3d#ffffff;buttonText\x3d;barPos\x3d30;align\x3dcenter;",174,30,"Downloading 2 of 6",
"Download bar",null,null,null),this.createVertexTemplateEntry(c+"iScreenNameBar;fillColor2\x3d#000000;fillColor3\x3d#ffffff;buttonText\x3d;fontColor\x3d#ffffff;fontSize\x3d10;whiteSpace\x3dwrap;align\x3dcenter;",174,25,"Screen Name","Screen name bar",null,null,null),this.createVertexTemplateEntry(a+"iIconGrid;fillColor\x3d#ffffff;strokeColor\x3d#000000;gridSize\x3d3,3;",150,150,"","Icon grid",null,null,null),this.createVertexTemplateEntry(c+"iCopy;fillColor\x3d#000000;strokeColor\x3d#000000;buttonText\x3d;fontColor\x3d#ffffff;spacingBottom\x3d6;fontSize\x3d9;fillColor2\x3d#000000;fillColor3\x3d#ffffff;align\x3dcenter;",
40,400*0.06875,"Copy","Copy",null,null,null),this.addEntry(null,function(){var b=new mxCell("Copy",new mxGeometry(10,0,40,400*0.06875),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.iCopy;fillColor\x3d#000000;strokeColor\x3d#000000;buttonText\x3d;fontColor\x3d#ffffff;spacingBottom\x3d6;fontSize\x3d9;fillColor2\x3d#000000;fillColor3\x3d#ffffff;align\x3dcenter;");b.vertex=!0;var a=new mxCell("",new mxGeometry(0,400*0.06875,60,52.5),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios.rect;fillColor\x3d#2266ff;strokeColor\x3dnone;opacity\x3d30;");
a.vertex=!0;return sb.createVertexTemplateFromCells([b,a],60,80,"Copy Area")}),this.createVertexTemplateEntry(a+"iHomePageControl;fillColor\x3d#666666;strokeColor\x3d#cccccc;",50,5,"","Home page control",null,null,null),this.createVertexTemplateEntry(a+"iPageControl;fillColor\x3d#666666;strokeColor\x3d#cccccc;",50,5,"","Page control",null,null,null)];this.addPalette("ios","iOS6",!1,mxUtils.bind(this,function(b){for(var a=0;a<d.length;a++)b.appendChild(d[a](b))}))}})();
(function(){Sidebar.prototype.addIos7Palette=function(){var a=this,c="ios icon ",f="html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;strokeWidth\x3d2;strokeColor\x3d#0080F0;fillColor\x3d#ffffff;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.icons.",d="mxgraph.ios7.icons";this.addPaletteFunctions("ios7icons","iOS Icons",!1,[this.createVertexTemplateEntry(f+"add;",30,30,"","Add",null,null,this.getTagsForStencil(d,"add",c).join(" ")),this.createVertexTemplateEntry(f+
"alarm_clock;",27,30,"","Alarm Clock",null,null,this.getTagsForStencil(d,"alarm_clock",c).join(" ")),this.createVertexTemplateEntry(f+"back;",30,25.5,"","Back",null,null,this.getTagsForStencil(d,"back",c).join(" ")),this.createVertexTemplateEntry(f+"backward;",30,16.8,"","Backward",null,null,this.getTagsForStencil(d,"backward",c).join(" ")),this.createVertexTemplateEntry(f+"bag;",21,21,"","Bag",null,null,this.getTagsForStencil(d,"bag",c).join(" ")),this.createVertexTemplateEntry(f+"basket_cancel;",
30,12,"","Basket Cancel",null,null,this.getTagsForStencil(d,"basket_cancel",c).join(" ")),this.createVertexTemplateEntry(f+"basketball;",30,30,"","Basketball",null,null,this.getTagsForStencil(d,"basketball",c).join(" ")),this.createVertexTemplateEntry(f+"battery;",30,12,"","Battery",null,null,this.getTagsForStencil(d,"battery",c).join(" ")),this.createVertexTemplateEntry(f+"bell;",24,77*0.3,"","Bell",null,null,this.getTagsForStencil(d,"bell",c).join(" ")),this.createVertexTemplateEntry(f+"bluetooth;",
15,96*0.3,"","Bluetooth",null,null,this.getTagsForStencil(d,"bluetooth",c).join(" ")),this.createVertexTemplateEntry(f+"book;",30,25.5,"","Book",null,null,this.getTagsForStencil(d,"book",c).join(" ")),this.createVertexTemplateEntry(f+"bookmark;",18,24,"","Bookmark",null,null,this.getTagsForStencil(d,"bookmark",c).join(" ")),this.createVertexTemplateEntry(f+"box;",30,30,"","Box",null,null,this.getTagsForStencil(d,"box",c).join(" ")),this.createVertexTemplateEntry(f+"briefcase;",30,67*0.3,"","Briefcase",
null,null,this.getTagsForStencil(d,"briefcase",c).join(" ")),this.createVertexTemplateEntry(f+"calculator;",24,30,"","Calculator",null,null,this.getTagsForStencil(d,"calculator",c).join(" ")),this.createVertexTemplateEntry(f+"calendar;",30,30,"","Calendar",null,null,this.getTagsForStencil(d,"calendar",c).join(" ")),this.createVertexTemplateEntry(f+"camera;",30,17.4,"","Camera",null,null,this.getTagsForStencil(d,"camera",c).join(" ")),this.createVertexTemplateEntry(f+"chat;",30,18,"","Chat",null,null,
this.getTagsForStencil(d,"chat",c).join(" ")),this.createVertexTemplateEntry(f+"clock;",30,30,"","Clock",null,null,this.getTagsForStencil(d,"clock",c).join(" ")),this.createVertexTemplateEntry(f+"cloud;",30,30,"","Cloud",null,null,this.getTagsForStencil(d,"cloud",c).join(" ")),this.createVertexTemplateEntry(f+"compose;",97*0.3,97*0.3,"","Compose",null,null,this.getTagsForStencil(d,"compose",c).join(" ")),this.createVertexTemplateEntry(f+"controls;",27,24,"","Controls",null,null,this.getTagsForStencil(d,
"controls",c).join(" ")),this.createVertexTemplateEntry(f+"credit_card;",30,15,"","Credit Card",null,null,this.getTagsForStencil(d,"credit_card",c).join(" ")),this.createVertexTemplateEntry(f+"crop;",30,30,"","Crop",null,null,this.getTagsForStencil(d,"crop",c).join(" ")),this.createVertexTemplateEntry(f+"cube;",30,30,"","Cube",null,null,this.getTagsForStencil(d,"cube",c).join(" ")),this.createVertexTemplateEntry(f+"cup;",30,30,"","Cup",null,null,this.getTagsForStencil(d,"cup",c).join(" ")),this.createVertexTemplateEntry(f+
"data;",24,97*0.3,"","Data",null,null,this.getTagsForStencil(d,"data",c).join(" ")),this.createVertexTemplateEntry(f+"delete;",30,30,"","Delete",null,null,this.getTagsForStencil(d,"delete",c).join(" ")),this.createVertexTemplateEntry(f+"document;",21,30,"","Document",null,null,this.getTagsForStencil(d,"document",c).join(" ")),this.createVertexTemplateEntry(f+"documents;",22.5,30,"","Documents",null,null,this.getTagsForStencil(d,"documents",c).join(" ")),this.createVertexTemplateEntry(f+"down;",21,
25.5,"","Down",null,null,this.getTagsForStencil(d,"down",c).join(" ")),this.createVertexTemplateEntry(f+"edit;",29.4,29.4,"","Edit",null,null,this.getTagsForStencil(d,"edit",c).join(" ")),this.createVertexTemplateEntry(f+"envelope_(empty);",30,30,"","Envelope (Empty)",null,null,this.getTagsForStencil(d,"envelope_(empty)",c).join(" ")),this.createVertexTemplateEntry(f+"envelope_(message);",30,30,"","Envelope (Message)",null,null,this.getTagsForStencil(d,"envelope_(message)",c).join(" ")),this.createVertexTemplateEntry(f+
"eye;",30,14.1,"","Eye",null,null,this.getTagsForStencil(d,"eye",c).join(" ")),this.createVertexTemplateEntry(f+"flag;",30,30,"","Flag",null,null,this.getTagsForStencil(d,"flag",c).join(" ")),this.createVertexTemplateEntry(f+"flash;",18,30,"","Flash",null,null,this.getTagsForStencil(d,"flash",c).join(" ")),this.createVertexTemplateEntry(f+"flashlight;",15,30,"","Flashlight",null,null,this.getTagsForStencil(d,"flashlight",c).join(" ")),this.createVertexTemplateEntry(f+"folder;",30,19.5,"","Folder",
null,null,this.getTagsForStencil(d,"folder",c).join(" ")),this.createVertexTemplateEntry(f+"folders;",30,25.5,"","Folders",null,null,this.getTagsForStencil(d,"folders",c).join(" ")),this.createVertexTemplateEntry(f+"folders_2;",30,22.5,"","Folders",null,null,this.getTagsForStencil(d,"folders_2",c).join(" ")),this.createVertexTemplateEntry(f+"forward;",30,16.8,"","Forward",null,null,this.getTagsForStencil(d,"forward",c).join(" ")),this.createVertexTemplateEntry(f+"gauge;",32.4,31.5,"","Gauge",null,
null,this.getTagsForStencil(d,"gauge",c).join(" ")),this.createVertexTemplateEntry(f+"glasses;",30,12,"","Glasses",null,null,this.getTagsForStencil(d,"glasses",c).join(" ")),this.createVertexTemplateEntry(f+"globe;",30,30,"","Globe",null,null,this.getTagsForStencil(d,"globe",c).join(" ")),this.createVertexTemplateEntry(f+"heart;",102*0.3,27.3,"","Heart",null,null,this.getTagsForStencil(d,"heart",c).join(" ")),this.createVertexTemplateEntry(f+"help;",30,30,"","Help",null,null,this.getTagsForStencil(d,
"help",c).join(" ")),this.createVertexTemplateEntry(f+"home;",24,25.5,"","Home",null,null,this.getTagsForStencil(d,"home",c).join(" ")),this.createVertexTemplateEntry(f+"info;",30,30,"","Info",null,null,this.getTagsForStencil(d,"info",c).join(" ")),this.createVertexTemplateEntry(f+"keypad;",30,30,"","Keypad",null,null,this.getTagsForStencil(d,"keypad",c).join(" ")),this.createVertexTemplateEntry(f+"lightbulb;",22.8,29.7,"","Lightbulb",null,null,this.getTagsForStencil(d,"lightbulb",c).join(" ")),this.createVertexTemplateEntry(f+
"link;",30,30,"","Link",null,null,this.getTagsForStencil(d,"link",c).join(" ")),this.createVertexTemplateEntry(f+"location;",24,30,"","Location",null,null,this.getTagsForStencil(d,"location",c).join(" ")),this.createVertexTemplateEntry(f+"location_2;",30,30,"","Location",null,null,this.getTagsForStencil(d,"location_2",c).join(" ")),this.createVertexTemplateEntry(f+"locked;",24,30,"","Locked",null,null,this.getTagsForStencil(d,"locked",c).join(" ")),this.createVertexTemplateEntry(f+"looking_glass;",
30,30,"","Looking Glass",null,null,this.getTagsForStencil(d,"looking_glass",c).join(" ")),this.createVertexTemplateEntry(f+"loud;",102*0.3,32.4,"","Loud",null,null,this.getTagsForStencil(d,"loud",c).join(" ")),this.createVertexTemplateEntry(f+"magnet;",24,30,"","Magnet",null,null,this.getTagsForStencil(d,"magnet",c).join(" ")),this.createVertexTemplateEntry(f+"mail;",30,16.5,"","Mail",null,null,this.getTagsForStencil(d,"mail",c).join(" ")),this.createVertexTemplateEntry(f+"map;",30,30,"","Map",null,
null,this.getTagsForStencil(d,"map",c).join(" ")),this.createVertexTemplateEntry(f+"message;",30,19.5,"","Message",null,null,this.getTagsForStencil(d,"message",c).join(" ")),this.createVertexTemplateEntry(f+"messages;",30,25.5,"","Messages",null,null,this.getTagsForStencil(d,"messages",c).join(" ")),this.createVertexTemplateEntry(f+"microphone;",12,30,"","Microphone",null,null,this.getTagsForStencil(d,"microphone",c).join(" ")),this.createVertexTemplateEntry(f+"monitor;",30,19.5,"","Monitor",null,
null,this.getTagsForStencil(d,"monitor",c).join(" ")),this.createVertexTemplateEntry(f+"moon;",29.4,29.4,"","Moon",null,null,this.getTagsForStencil(d,"moon",c).join(" ")),this.createVertexTemplateEntry(f+"most_viewed;",28.2,22.8,"","Most Viewed",null,null,this.getTagsForStencil(d,"most_viewed",c).join(" ")),this.createVertexTemplateEntry(f+"move_to_folder;",30,22.5,"","Move to Folder",null,null,this.getTagsForStencil(d,"move_to_folder",c).join(" ")),this.createVertexTemplateEntry(f+"note;",29.7,29.7,
"","Note",null,null,this.getTagsForStencil(d,"note",c).join(" ")),this.createVertexTemplateEntry(f+"options;",30,15,"","Options",null,null,this.getTagsForStencil(d,"options",c).join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;strokeWidth\x3d2;strokeColor\x3d#0080F0;fillColor\x3d#0080F0;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.icons.orientation_lock;",77*0.3,21,"","Orientation Lock",null,null,this.getTagsForStencil(d,"orientation_lock",c).join(" ")),this.createVertexTemplateEntry(f+
"page_navigation;",30,4.8,"","Page Navigation",null,null,this.getTagsForStencil(d,"page_navigation",c).join(" ")),this.createVertexTemplateEntry(f+"paint;",30,25.5,"","Paint",null,null,this.getTagsForStencil(d,"paint",c).join(" ")),this.createVertexTemplateEntry(f+"pause;",15,24,"","Pause",null,null,this.getTagsForStencil(d,"pause",c).join(" ")),this.createVertexTemplateEntry(f+"pen;",29.4,29.7,"","Pen",null,null,this.getTagsForStencil(d,"pen",c).join(" ")),this.createVertexTemplateEntry(f+"pie_chart;",
30,30,"","Pie Chart",null,null,this.getTagsForStencil(d,"pie_chart",c).join(" ")),this.createVertexTemplateEntry(f+"play;",21,24,"","Play",null,null,this.getTagsForStencil(d,"play",c).join(" ")),this.createVertexTemplateEntry(f+"pointer;",30,30,"","Pointer",null,null,this.getTagsForStencil(d,"pointer",c).join(" ")),this.createVertexTemplateEntry(f+"preferences;",30,24,"","Preferences",null,null,this.getTagsForStencil(d,"preferences",c).join(" ")),this.createVertexTemplateEntry(f+"printer;",30,25.5,
"","Printer",null,null,this.getTagsForStencil(d,"printer",c).join(" ")),this.createVertexTemplateEntry(f+"privacy;",16.8,28.5,"","Privacy",null,null,this.getTagsForStencil(d,"privacy",c).join(" ")),this.createVertexTemplateEntry(f+"radio;",30,22.5,"","Radio",null,null,this.getTagsForStencil(d,"radio",c).join(" ")),this.createVertexTemplateEntry(f+"reload;",24,27,"","Reload",null,null,this.getTagsForStencil(d,"reload",c).join(" ")),this.createVertexTemplateEntry(f+"repeat;",30,24,"","Repeat",null,
null,this.getTagsForStencil(d,"repeat",c).join(" ")),this.createVertexTemplateEntry(f+"retry;",92*0.3,48*0.3,"","Retry",null,null,this.getTagsForStencil(d,"retry",c).join(" ")),this.createVertexTemplateEntry(f+"select;",30,30,"","Select",null,null,this.getTagsForStencil(d,"select",c).join(" ")),this.createVertexTemplateEntry(f+"settings;",30,30,"","Settings",null,null,this.getTagsForStencil(d,"settings",c).join(" ")),this.createVertexTemplateEntry(f+"share;",21,28.5,"","Share",null,null,this.getTagsForStencil(d,
"share",c).join(" ")),this.createVertexTemplateEntry(f+"shopping_cart;",30,25.5,"","Shopping Cart",null,null,this.getTagsForStencil(d,"shopping_cart",c).join(" ")),this.createVertexTemplateEntry(f+"shuffle;",30,21,"","Shuffle",null,null,this.getTagsForStencil(d,"shuffle",c).join(" ")),this.createVertexTemplateEntry(f+"silent;",30,30,"","Silent",null,null,this.getTagsForStencil(d,"silent",c).join(" ")),this.createVertexTemplateEntry(f+"smartphone;",18,30,"","Smartphone",null,null,this.getTagsForStencil(d,
"smartphone",c).join(" ")),this.createVertexTemplateEntry(f+"star;",30,27,"","Star",null,null,this.getTagsForStencil(d,"star",c).join(" ")),this.createVertexTemplateEntry(f+"stopwatch;",27,28.2,"","Stopwatch",null,null,this.getTagsForStencil(d,"stopwatch",c).join(" ")),this.createVertexTemplateEntry(f+"storage;",30,10.5,"","Storage",null,null,this.getTagsForStencil(d,"storage",c).join(" ")),this.createVertexTemplateEntry(f+"sun;",30,30,"","Sun",null,null,this.getTagsForStencil(d,"sun",c).join(" ")),
this.createVertexTemplateEntry(f+"tape;",30,12,"","Tape",null,null,this.getTagsForStencil(d,"tape",c).join(" ")),this.createVertexTemplateEntry(f+"tools;",29.7,29.7,"","Tools",null,null,this.getTagsForStencil(d,"tools",c).join(" ")),this.createVertexTemplateEntry(f+"trashcan;",24,30,"","Trashcan",null,null,this.getTagsForStencil(d,"trashcan",c).join(" ")),this.createVertexTemplateEntry(f+"trophy;",28.5,30,"","Trophy",null,null,this.getTagsForStencil(d,"trophy",c).join(" ")),this.createVertexTemplateEntry(f+
"umbrella;",30,30,"","Umbrella",null,null,this.getTagsForStencil(d,"umbrella",c).join(" ")),this.createVertexTemplateEntry(f+"unlocked;",24,30,"","Unlocked",null,null,this.getTagsForStencil(d,"unlocked",c).join(" ")),this.createVertexTemplateEntry(f+"up;",21,25.5,"","Up",null,null,this.getTagsForStencil(d,"up",c).join(" ")),this.createVertexTemplateEntry(f+"user;",30,30,"","User",null,null,this.getTagsForStencil(d,"user",c).join(" ")),this.createVertexTemplateEntry(f+"video_conversation;",30,15,"",
"Video Conversation",null,null,this.getTagsForStencil(d,"video_conversation",c).join(" ")),this.createVertexTemplateEntry(f+"volume;",30,30,"","Volume",null,null,this.getTagsForStencil(d,"volume",c).join(" ")),this.createVertexTemplateEntry(f+"volume_2;",101*0.3,28.2,"","Volume",null,null,this.getTagsForStencil(d,"volume_2",c).join(" ")),this.createVertexTemplateEntry(f+"wallet;",30,24,"","Wallet",null,null,this.getTagsForStencil(d,"wallet",c).join(" ")),this.createVertexTemplateEntry(f+"wifi;",29.7,
21,"","WiFi",null,null,this.getTagsForStencil(d,"wifi",c).join(" ")),this.createVertexTemplateEntry(f+"window;",30,30,"","Window",null,null,this.getTagsForStencil(d,"window",c).join(" "))]);var f="html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d1;shape\x3dmxgraph.ios7ui.",b=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;html\x3d1;shadow\x3d0;dashed\x3d0;strokeWidth\x3d1;shape\x3dmxgraph.ios.",
c="ios ui ",d="mxgraph.ios7ui",e=[this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d1;shape\x3dmxgraph.ios7.misc.iphone;fillColor\x3d#ffffff;strokeColor\x3d#c0c0c0;",200,400,"","iPhone (Portrait)",null,null,this.getTagsForStencil(d,"phone",c+"portrait").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d1;shape\x3dmxgraph.ios7.misc.ipad7inch;fillColor\x3d#ffffff;strokeColor\x3d#c0c0c0;",
366,549,"","iPad (7'')",null,null,this.getTagsForStencil(d,"tablet tab 7",c+"portrait").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d1;shape\x3dmxgraph.ios7.misc.ipad10inch;fillColor\x3d#ffffff;strokeColor\x3d#c0c0c0;",488,693,"","iPad (10'')",null,null,this.getTagsForStencil(d,"tablet tab 10",c+"portrait").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d1;shape\x3dmxgraph.ios7.misc.ipad13inch;fillColor\x3d#ffffff;strokeColor\x3d#c0c0c0;",
572,400*2.0325,"","iPad (13'')",null,null,this.getTagsForStencil(d,"tablet tab 10",c+"portrait").join(" ")),this.addEntry(c+"app bar portrait",function(){var b=new mxCell("",new mxGeometry(0,0,175,15),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.appBar;fillColor\x3d#ffffff;gradientColor\x3dnone;");b.vertex=!0;var c=new mxCell("CARRIER",new mxGeometry(0,0.5,50,13),"shape\x3drect;align\x3dleft;fontSize\x3d8;spacingLeft\x3d24;fontSize\x3d4;fontColor\x3d#aaaaaa;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d4;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,-6.5);c.vertex=!0;b.insert(c);c=new mxCell("11:55PM",new mxGeometry(0.5,0.5,50,13),"shape\x3drect;fontSize\x3d8;fontColor\x3d#aaaaaa;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d4;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(-30,-6.5);c.vertex=!0;b.insert(c);c=new mxCell("98%",new mxGeometry(1,0.5,45,13),"shape\x3drect;align\x3dright;fontSize\x3d8;spacingRight\x3d19;fontSize\x3d6;fontColor\x3d#aaaaaa;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d4;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(-45,-6.5);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"App Bar (Portrait)")}),this.addEntry(c+"app bar landscape",function(){var b=new mxCell("",new mxGeometry(0,0,280,15),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.appBar;fillColor\x3d#ffffff;gradientColor\x3dnone;");b.vertex=!0;var c=new mxCell("CARRIER",new mxGeometry(0,0.5,50,13),"shape\x3drect;align\x3dleft;fontSize\x3d8;spacingLeft\x3d24;fontSize\x3d4;fontColor\x3d#aaaaaa;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d4;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,-6.5);c.vertex=!0;b.insert(c);c=new mxCell("11:55PM",new mxGeometry(0.5,0.5,50,13),"shape\x3drect;fontSize\x3d8;fontColor\x3d#aaaaaa;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d4;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(-25,-6.5);c.vertex=!0;b.insert(c);c=new mxCell("98%",new mxGeometry(1,0.5,45,13),"shape\x3drect;align\x3dright;fontSize\x3d8;spacingRight\x3d19;fontSize\x3d6;fontColor\x3d#aaaaaa;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d4;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(-45,-6.5);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"App Bar (landscape)")}),this.createVertexTemplateEntry(f+"slider;barPos\x3d20;strokeColor\x3d#0080f0;fillColor\x3d#ffffff;strokeColor2\x3d#a0a0a0;",150,15,"","Slider",null,null,this.getTagsForStencil(d,c+"slider",null).join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.downloadBar;verticalAlign\x3dmiddle;fontSize\x3d8;fontColor\x3d#000000;buttonText\x3d;barPos\x3d30;fillColor\x3d#aaaaaa;strokeColor\x3d#0080f0;align\x3dcenter;",
150,30,"Downloading 2 of 6\n\n","Download bar",null,null,this.getTagsForStencil(d,"downloadBar",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.adjust;fillColor\x3d#ffffff;gradientColor\x3dnone;",80,20,"","Adjust",null,null,this.getTagsForStencil(d,"adjust",c+"").join(" ")),this.addEntry(c+"horizontal button bar",function(){var b=new mxCell("",
new mxGeometry(0,0,164,12.5),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.rrect;rSize\x3d3;strokeColor\x3d#0080F0;fillColor\x3d#ffffff;gradientColor\x3dnone;");b.vertex=!0;var c=new mxCell("Item 1",new mxGeometry(0,0,41,12.5),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.leftButton;rSize\x3d3;strokeColor\x3d#0080F0;fontSize\x3d8;fillColor\x3dnone;");c.vertex=!0;b.insert(c);c=new mxCell("Item 2",new mxGeometry(41,0,41,12.5),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.rrect;rSize\x3d0;strokeColor\x3d#0080F0;fillColor\x3d#0080F0;fontColor\x3d#ffffff;fontSize\x3d8;");
c.vertex=!0;b.insert(c);c=new mxCell("Item 3",new mxGeometry(82,0,41,12.5),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.rrect;rSize\x3d0;strokeColor\x3d#0080F0;fontSize\x3d8;fillColor\x3dnone;");c.vertex=!0;b.insert(c);c=new mxCell("Item 4",new mxGeometry(123,0,41,12.5),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.rightButton;rSize\x3d3;strokeColor\x3d#0080F0;fontSize\x3d8;fillColor\x3dnone;");c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],
b.geometry.width,b.geometry.height,"Horizontal button bar")}),this.addEntry(c+"select bar",function(){var b=new mxCell("",new mxGeometry(0,0,165,27),"html\x3d1;strokeWidth\x3d2;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.selectBar;dx\x3d120;dy\x3d5;dx2\x3d75;size\x3d5;strokeColor\x3d#ffffff;fillColor\x3d#222222;gradientColor\x3dnone;");b.vertex=!0;var c=new mxCell("Select",new mxGeometry(0,0,75,27),"shape\x3drect;fillColor\x3dnone;strokeColor\x3dnone;fontColor\x3d#ffffff;fontSize\x3d12;fontFamily\x3dHelvetica;perimeter\x3dnone;resizeHeight\x3d1;");
c.geometry.relative=!0;c.vertex=!0;b.insert(c);c=new mxCell("Select All",new mxGeometry(0,0,75,27),"shape\x3drect;fillColor\x3dnone;strokeColor\x3dnone;fontColor\x3d#ffffff;fontSize\x3d12;fontFamily\x3dHelvetica;perimeter\x3dnone;resizeHeight\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(75,0);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Select Bar")}),this.addEntry(c+"select bar",function(){var b=new mxCell("",new mxGeometry(0,
0,165,27),"html\x3d1;strokeWidth\x3d2;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.selectBar;dx\x3d120;dy\x3d5;dx2\x3d50;size\x3d5;strokeColor\x3d#ffffff;fillColor\x3d#222222;gradientColor\x3dnone;");b.vertex=!0;var c=new mxCell("Select",new mxGeometry(0,0,50,27),"shape\x3drect;fillColor\x3dnone;strokeColor\x3dnone;fontColor\x3d#ffffff;fontSize\x3d10;fontFamily\x3dHelvetica;perimeter\x3dnone;resizeHeight\x3d1;");c.geometry.relative=!0;c.vertex=!0;b.insert(c);c=new mxCell("Select All",new mxGeometry(0,
0,50,27),"shape\x3drect;fillColor\x3dnone;strokeColor\x3dnone;fontColor\x3d#ffffff;fontSize\x3d10;fontFamily\x3dHelvetica;perimeter\x3dnone;resizeHeight\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(50,0);c.vertex=!0;b.insert(c);c=new mxCell("Paste",new mxGeometry(0,0,50,27),"shape\x3drect;fillColor\x3dnone;strokeColor\x3dnone;fontColor\x3d#ffffff;fontSize\x3d10;fontFamily\x3dHelvetica;perimeter\x3dnone;resizeHeight\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(100,0);
c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Select Bar")}),this.addEntry(c+"labels",function(){var b=new mxCell("",new mxGeometry(0,0,164,20),"shape\x3drect;fillColor\x3d#F6F6F8;strokeColor\x3dnone;");b.vertex=!0;var c=new mxCell("Label",new mxGeometry(55,0,54,20),"text;fontColor\x3d#000000;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dcenter;spacingTop\x3d2;");c.vertex=!0;b.insert(c);c=new mxCell("Label",new mxGeometry(109,0,55,20),"text;fontColor\x3d#0080f0;fontSize\x3d10;verticalAlign\x3dmiddle;align\x3dright;spacingTop\x3d2;spacingRight\x3d4;");
c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Labels")}),this.addEntry(c+"search box",function(){var b=new mxCell("",new mxGeometry(0,0,164,20),"shape\x3drect;fillColor\x3d#e0e0e0;strokeColor\x3dnone;");b.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,164,20),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.marginRect;rx\x3d3;ry\x3d3;rectMargin\x3d5;fillColor\x3d#ffffff;strokeColor\x3dnone;");c.vertex=!0;b.insert(c);
c=new mxCell("Search",new mxGeometry(0.5,0.5,6,6),"shape\x3dmxgraph.ios7.icons.looking_glass;strokeColor\x3d#e0e0e0;fillColor\x3dnone;fontColor\x3d#e0e0e0;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d6;fontStyle\x3d0;spacingTop\x3d2;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(-17,-3);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Search Box")}),this.addEntry(c+"search box",
function(){var b=new mxCell("",new mxGeometry(0,0,164,20),"shape\x3drect;fillColor\x3d#F6F6F6;strokeColor\x3dnone;");b.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,164,20),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.marginRect;rx\x3d3;ry\x3d3;rectMargin\x3d5;fillColor\x3d#E4E4E4;strokeColor\x3dnone;");c.vertex=!0;b.insert(c);c=new mxCell("Search",new mxGeometry(0.5,0.5,6,6),"shape\x3dmxgraph.ios7.icons.looking_glass;strokeColor\x3d#878789;fillColor\x3dnone;fontColor\x3d#878789;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d6;fontStyle\x3d0;spacingTop\x3d2;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(-17,-3);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Search Box")}),this.addEntry(c+"status",function(){var b=new mxCell("",new mxGeometry(0,0,164,25),"shape\x3drect;fillColor\x3d#F6F6F6;strokeColor\x3dnone;");b.vertex=!0;var c=new mxCell("Updated Just Now",new mxGeometry(0,0,164,20),"text;fontColor\x3d#000000;fontSize\x3d5;verticalAlign\x3dtop;align\x3dcenter;spacingTop\x3d-2;");c.vertex=
!0;b.insert(c);c=new mxCell("2 Unread",new mxGeometry(0,5,164,20),"text;fontColor\x3d#bbbbbb;fontSize\x3d5;verticalAlign\x3dmiddle;align\x3dcenter;");c.vertex=!0;b.insert(c);c=new mxCell("",new mxGeometry(1,0.5,15,15),"shape\x3dmxgraph.ios7.icons.compose;strokeColor\x3d#0080f0;fillColor\x3dnone;");c.geometry.offset=new mxPoint(-20,-7.5);c.geometry.relative=!0;c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Status")}),this.addEntry(c+"message",
function(){var b=new mxCell("",new mxGeometry(0,0,164,20),"shape\x3drect;fillColor\x3d#F7F7F7;strokeColor\x3dnone;");b.vertex=!0;var c=new mxCell("iMessage",new mxGeometry(0,0,164,20),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.marginRect;rx\x3d3;ry\x3d3;rectMarginLeft\x3d25;rectMarginRight\x3d25;rectMarginTop\x3d3;rectMarginBottom\x3d3;fillColor\x3d#FBFBFB;strokeColor\x3d#B3B3B3;fontColor\x3d#B3B3B3;align\x3dleft;spacingLeft\x3d29;fontSize\x3d8;");c.vertex=!0;b.insert(c);
c=new mxCell("",new mxGeometry(0,0.5,15,9),"strokeWidth\x3d1;strokeColor\x3d#F7F7F7;fillColor\x3d#666666;shape\x3dmxgraph.ios7.icons.camera;");c.geometry.offset=new mxPoint(5,-4.5);c.geometry.relative=!0;c.vertex=!0;b.insert(c);c=new mxCell("",new mxGeometry(1,0.5,14,14),"strokeColor\x3dnone;fillColor\x3d#666666;shape\x3dellipse;");c.geometry.offset=new mxPoint(-19,-7);c.geometry.relative=!0;c.vertex=!0;b.insert(c);var d=new mxCell("",new mxGeometry(0.5,0.5,4,10),"strokeColor\x3d#F7F7F7;fillColor\x3dnone;shape\x3dmxgraph.ios7.icons.microphone;strokeWidth\x3d1;");
d.geometry.offset=new mxPoint(-2,-5);d.geometry.relative=!0;d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Message")}),this.addEntry(c+"action sheet",function(){var b=new mxCell("",new mxGeometry(0,0,164,115),"shape\x3drect;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#D2D3D5;gradientColor\x3dnone;shadow\x3d0;");b.vertex=!0;var c=new mxCell("Label",new mxGeometry(0,0,154,20),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.topButton;rSize\x3d3;strokeColor\x3d#D2D3D5;fontSize\x3d8;fillColor\x3d#F1F1F1;fontColor\x3d#0080F0;resizeWidth\x3d1;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(5,5);c.vertex=!0;b.insert(c);c=new mxCell("Label",new mxGeometry(0,0,154,20),"shape\x3drect;html\x3d1;strokeColor\x3d#D2D3D5;fontSize\x3d8;fillColor\x3d#F1F1F1;fontColor\x3d#0080F0;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(5,25);c.vertex=!0;b.insert(c);c=new mxCell("Label",new mxGeometry(0,0,154,20),"shape\x3drect;html\x3d1;strokeColor\x3d#D2D3D5;fontSize\x3d8;fillColor\x3d#F1F1F1;fontColor\x3d#0080F0;resizeWidth\x3d1;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(5,45);c.vertex=!0;b.insert(c);c=new mxCell("Label",new mxGeometry(0,0,154,20),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.bottomButton;rSize\x3d3;strokeColor\x3d#D2D3D5;fontSize\x3d8;fillColor\x3d#F1F1F1;fontColor\x3d#0080F0;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(5,65);c.vertex=!0;b.insert(c);c=new mxCell("Cancel",new mxGeometry(0,1,164,30),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.marginRect;rx\x3d5;ry\x3d5;rectMargin\x3d5;strokeColor\x3d#D2D3D5;fontSize\x3d8;fillColor\x3d#ffffff;fontColor\x3d#0080F0;resizeWidth\x3d1;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,-30);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Action Sheet")}),this.addEntry(c+"action sheet",function(){var b=new mxCell("",new mxGeometry(0,0,164,115),"shape\x3drect;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#D2D3D5;gradientColor\x3dnone;shadow\x3d0;");b.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,154,40),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.topButton;rSize\x3d3;strokeColor\x3d#D2D3D5;fontSize\x3d8;fillColor\x3d#F1F1F1;fontColor\x3d#0080F0;resizeWidth\x3d1;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(5,5);c.vertex=!0;b.insert(c);var d=new mxCell("",new mxGeometry(0,0,154,40),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.bottomButton;rSize\x3d3;strokeColor\x3d#D2D3D5;fontSize\x3d8;fillColor\x3d#F1F1F1;fontColor\x3d#0080F0;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(5,45);d.vertex=!0;b.insert(d);var e=new mxCell("Cancel",new mxGeometry(0,1,164,30),"shape\x3dmxgraph.ios7ui.marginRect;rx\x3d3;ry\x3d3;rectMargin\x3d5;strokeColor\x3d#D2D3D5;fontSize\x3d8;fillColor\x3d#ffffff;fontColor\x3d#0080F0;resizeWidth\x3d1;");
e.geometry.relative=!0;e.geometry.offset=new mxPoint(0,-30);e.vertex=!0;b.insert(e);e=new mxCell("Message",new mxGeometry(0,0.5,22,22),"shape\x3drect;rounded\x3d1;strokeColor\x3dnone;fontSize\x3d5;fillColor\x3d#68F783;fontColor\x3d#000000;gradientColor\x3d#05B61E;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingTop\x3d-4;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(5,-15);e.vertex=!0;c.insert(e);var f=new mxCell("",new mxGeometry(2,3,18,
16),"shape\x3dmxgraph.basic.oval_callout;strokeColor\x3dnone;fillColor\x3d#ffffff;");f.vertex=!0;e.insert(f);e=new mxCell("Mail",new mxGeometry(0,0.5,22,22),"shape\x3drect;rounded\x3d1;strokeColor\x3dnone;fontSize\x3d5;fillColor\x3d#1960EC;fontColor\x3d#000000;gradientColor\x3d#1FDCFF;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingTop\x3d-4;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(37,-15);e.vertex=!0;c.insert(e);c=new mxCell("",new mxGeometry(3,
6,16,10),"shape\x3dmxgraph.ios7.icons.mail;strokeColor\x3d#2299F3;fillColor\x3d#ffffff;");c.vertex=!0;e.insert(c);c=new mxCell("Open in App",new mxGeometry(0,0.5,22,22),"shape\x3drect;rounded\x3d1;strokeColor\x3dnone;fontSize\x3d5;fillColor\x3d#ffffff;fontColor\x3d#000000;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingTop\x3d-7;whiteSpace\x3dwrap;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(5,-15);c.vertex=!0;d.insert(c);c=new mxCell("Open Link",
new mxGeometry(0,0.5,22,22),"shape\x3drect;rounded\x3d1;strokeColor\x3dnone;fontSize\x3d5;fillColor\x3d#ffffff;fontColor\x3d#000000;verticalAlign\x3dtop;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;align\x3dcenter;spacingTop\x3d-7;whiteSpace\x3dwrap;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(37,-15);c.vertex=!0;d.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Action Sheet")}),this.addEntry(c+"cell list",function(){var b=new mxCell("",
new mxGeometry(0,0,164,120),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;gradientColor\x3dnone;shadow\x3d0;");b.vertex=!0;var c=new mxCell("Label",new mxGeometry(0,0,164,20),"shape\x3drect;strokeColor\x3dnone;fontSize\x3d10;fontColor\x3d#000000;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d25;spacingTop\x3d2;");c.geometry.relative=!0;c.vertex=!0;b.insert(c);var d=new mxCell("",new mxGeometry(0,0.5,15,15),"shape\x3drect;rounded\x3d1;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#FF9501;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(5,-7.5);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(1,0.5,5,10),"shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#666666;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-15,-5);d.vertex=!0;c.insert(d);c=new mxCell("Label",new mxGeometry(0,0,164,20),"shape\x3drect;strokeColor\x3dnone;fontSize\x3d10;fontColor\x3d#000000;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d25;spacingTop\x3d2;");c.geometry.offset=new mxPoint(0,20);c.geometry.relative=
!0;c.vertex=!0;b.insert(c);d=new mxCell("",new mxGeometry(0,0.5,15,15),"shape\x3drect;rounded\x3d1;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#FF3B2F;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(5,-7.5);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(1,0.5,5,10),"shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#666666;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-15,-5);d.vertex=!0;c.insert(d);c=new mxCell("Label",new mxGeometry(0,0,164,20),"shape\x3drect;strokeColor\x3dnone;fontSize\x3d10;fontColor\x3d#000000;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d25;spacingTop\x3d2;");
c.geometry.offset=new mxPoint(0,40);c.geometry.relative=!0;c.vertex=!0;b.insert(c);d=new mxCell("",new mxGeometry(0,0.5,15,15),"shape\x3drect;rounded\x3d1;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#4CDA64;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(5,-7.5);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(1,0.5,5,10),"shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#666666;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-15,-5);d.vertex=!0;c.insert(d);c=new mxCell("Label",
new mxGeometry(0,0,164,20),"shape\x3drect;strokeColor\x3dnone;fontSize\x3d10;fontColor\x3d#000000;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d25;spacingTop\x3d2;");c.geometry.offset=new mxPoint(0,60);c.geometry.relative=!0;c.vertex=!0;b.insert(c);d=new mxCell("",new mxGeometry(0,0.5,15,15),"shape\x3drect;rounded\x3d1;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#007AFF;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(5,-7.5);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(1,0.5,5,10),
"shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#666666;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-15,-5);d.vertex=!0;c.insert(d);c=new mxCell("Label",new mxGeometry(0,0,164,20),"shape\x3drect;strokeColor\x3dnone;fontSize\x3d10;fontColor\x3d#000000;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d25;spacingTop\x3d2;");c.geometry.offset=new mxPoint(0,80);c.geometry.relative=!0;c.vertex=!0;b.insert(c);d=new mxCell("",new mxGeometry(0,0.5,15,15),"shape\x3drect;rounded\x3d1;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#5855D6;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(5,-7.5);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(1,0.5,5,10),"shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#666666;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-15,-5);d.vertex=!0;c.insert(d);c=new mxCell("Label",new mxGeometry(0,0,164,20),"shape\x3drect;strokeColor\x3dnone;fontSize\x3d10;fontColor\x3d#000000;resizeWidth\x3d1;align\x3dleft;spacingLeft\x3d25;spacingTop\x3d2;");c.geometry.offset=new mxPoint(0,100);c.geometry.relative=
!0;c.vertex=!0;b.insert(c);d=new mxCell("",new mxGeometry(0,0.5,15,15),"shape\x3drect;rounded\x3d1;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#8F8E94;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(5,-7.5);d.vertex=!0;c.insert(d);d=new mxCell("",new mxGeometry(1,0.5,5,10),"shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#666666;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-15,-5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,
"Cell List")}),this.addEntry(c+"cell list",function(){var b=new mxCell("",new mxGeometry(0,0,164,60),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;gradientColor\x3dnone;shadow\x3d0;");b.vertex=!0;var c=new mxCell("Label",new mxGeometry(0,0,164,20),"shape\x3drect;strokeColor\x3dnone;fontSize\x3d10;fontColor\x3d#000000;resizeWidth\x3d1;align\x3dleft;spacingTop\x3d2;spacingLeft\x3d5;");c.geometry.relative=!0;c.vertex=!0;b.insert(c);var d=new mxCell("Label",new mxGeometry(1,0.5,5,10),"shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#666666;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;align\x3dright;verticalAlign\x3dmiddle;fontSize\x3d10;spacingRight\x3d4;fontColor\x3d#999999;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-15,-5);d.vertex=!0;c.insert(d);c=new mxCell("Label",new mxGeometry(0,0,164,20),"shape\x3drect;strokeColor\x3dnone;fontSize\x3d10;fontColor\x3d#000000;resizeWidth\x3d1;align\x3dleft;spacingTop\x3d2;spacingLeft\x3d5;");c.geometry.offset=new mxPoint(0,20);c.geometry.relative=!0;c.vertex=!0;b.insert(c);d=new mxCell("Label",new mxGeometry(1,0.5,5,10),"shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#666666;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;align\x3dright;verticalAlign\x3dmiddle;fontSize\x3d10;spacingRight\x3d4;fontColor\x3d#999999;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-15,-5);d.vertex=!0;c.insert(d);c=new mxCell("Label",new mxGeometry(0,0,164,20),"shape\x3drect;strokeColor\x3dnone;fontSize\x3d10;fontColor\x3d#000000;resizeWidth\x3d1;align\x3dleft;spacingTop\x3d2;spacingLeft\x3d5;");c.geometry.offset=new mxPoint(0,40);c.geometry.relative=!0;c.vertex=!0;b.insert(c);d=new mxCell("Label",new mxGeometry(1,0.5,5,10),"shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#666666;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;align\x3dright;verticalAlign\x3dmiddle;fontSize\x3d10;spacingRight\x3d4;fontColor\x3d#999999;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-15,-5);d.vertex=!0;c.insert(d);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Cell List")}),this.addEntry(c+"message",function(){var b=new mxCell("",new mxGeometry(0,0,164,35),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;gradientColor\x3dnone;shadow\x3d0;");b.vertex=!0;var c=new mxCell("Peter Gilles",new mxGeometry(0,0,10,10),"shape\x3dellipse;strokeColor\x3dnone;fillColor\x3d#007FF8;fontSize\x3d8;fontColor\x3d#000000;align\x3dleft;spacingTop\x3d1;spacingLeft\x3d2;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;verticalAlign\x3dmiddle;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(5,5);c.vertex=!0;b.insert(c);c=new mxCell("22:45",new mxGeometry(1,0,5,10),"shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#666666;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;align\x3dright;verticalAlign\x3dmiddle;fontSize\x3d8;spacingRight\x3d4;fontColor\x3d#999999;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(-15,5);c.vertex=!0;b.insert(c);c=new mxCell("I just got a new friend",new mxGeometry(0,0,164,10),"shape\x3dtext;strokeColor\x3dnone;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d7;spacingLeft\x3d17;fontColor\x3d#000000;spacingTop\x3d2;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,15);c.vertex=!0;b.insert(c);c=new mxCell("You know I wanted a dog. Yesterday I got a puppy ...",new mxGeometry(0,0,164,10),"shape\x3dtext;strokeColor\x3dnone;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d6;spacingLeft\x3d17;fontColor\x3d#808080;spacingTop\x3d2;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,25);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Message")}),this.addEntry(c+
"message",function(){var b=new mxCell("",new mxGeometry(0,0,164,100),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#ffffff;gradientColor\x3dnone;shadow\x3d0;");b.vertex=!0;var c=new mxCell("Saturday 10:12 AM",new mxGeometry(0,0,164,10),"shape\x3dtext;align\x3dcenter;verticalAlign\x3dmiddle;fontSize\x3d5;fontColor\x3d#999999;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d3;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,0);c.vertex=!0;b.insert(c);c=new mxCell("Hey man, got a sec?",
new mxGeometry(0,0,90,20),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.callout;strokeColor\x3dnone;fillColor\x3d#E7E6EC;align\x3dleft;verticalAlign\x3dmiddle;fontSize\x3d7;spacingLeft\x3d17;fontColor\x3d#000000;spacingTop\x3d2;whiteSpace\x3dwrap;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(5,15);c.vertex=!0;b.insert(c);c=new mxCell("Hi Tim, of course, just give me a couple minutes to finish breakfast.",new mxGeometry(0.35,0,100,35),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.callout;strokeColor\x3dnone;fillColor\x3d#0680FF;flipH\x3d1;align\x3dleft;verticalAlign\x3dtop;fontSize\x3d7;spacingLeft\x3d2;fontColor\x3d#ffffff;spacingTop\x3d-2;whiteSpace\x3dwrap;spacingRight\x3d12;resizeWidth\x3d1;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,40);c.vertex=!0;b.insert(c);c=new mxCell("Read Friday",new mxGeometry(0,0,164,10),"shape\x3dtext;align\x3dright;verticalAlign\x3dmiddle;fontSize\x3d5;fontColor\x3d#999999;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d3;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,80);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Message")}),this.addEntry(c+"alert",function(){var b=
new mxCell("A dialog text that notifies you of something of which you don't need to make a decision, just to acknowledge it by pressing the close button.",new mxGeometry(0,0,120,70),"shape\x3drect;rounded\x3d1;strokeColor\x3dnone;fillColor\x3d#F6F6F8;gradientColor\x3dnone;shadow\x3d0;glass\x3d0;dashed\x3d1;fontFamily\x3dHelvetica;fontSize\x3d7;fontColor\x3d#333333;align\x3dcenter;html\x3d0;verticalAlign\x3dtop;whiteSpace\x3dwrap;spacing\x3d8;spacingTop\x3d0;");b.vertex=!0;var c=new mxCell("Close",
new mxGeometry(0,1,120,20),"shape\x3dtext;align\x3dcenter;verticalAlign\x3dmiddle;fontSize\x3d8;fontColor\x3d#0680FF;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d3;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,-20);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Alert")}),this.addEntry(c+"dialog",function(){var b=new mxCell("A dialog title",new mxGeometry(0,0,120,70),"shape\x3drect;rounded\x3d1;strokeColor\x3dnone;fillColor\x3d#F6F6F8;gradientColor\x3dnone;shadow\x3d0;glass\x3d0;dashed\x3d1;fontFamily\x3dHelvetica;fontSize\x3d8;fontColor\x3d#333333;align\x3dcenter;html\x3d0;verticalAlign\x3dtop;whiteSpace\x3dwrap;spacing\x3d8;spacingTop\x3d0;");
b.vertex=!0;var c=new mxCell("A dialog text that notifies you of something and you need to decide which action to take.",new mxGeometry(0,0,120,30),"shape\x3dtext;align\x3dcenter;verticalAlign\x3dmiddle;fontSize\x3d7;fontColor\x3d#333333;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d-8;resizeWidth\x3d1;whiteSpace\x3dwrap;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,20);c.vertex=!0;b.insert(c);c=new mxCell("Action 1",new mxGeometry(0,1,60,20),"shape\x3dtext;align\x3dcenter;verticalAlign\x3dmiddle;fontSize\x3d8;fontColor\x3d#0680FF;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d3;resizeWidth\x3d1;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,-20);c.vertex=!0;b.insert(c);c=new mxCell("Action 2",new mxGeometry(0.5,1,60,20),"shape\x3dtext;align\x3dcenter;verticalAlign\x3dmiddle;fontSize\x3d8;fontColor\x3d#0680FF;strokeColor\x3dnone;fillColor\x3dnone;spacingTop\x3d3;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,-20);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Dialog")}),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.bluetooth;fillColor\x3d#007AFF;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",
15,15,"","Bluetooth",null,null,this.getTagsForStencil(d,"bluetooth",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.broadcast;fillColor\x3d#4CDA64;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",15,15,"","Broadcast",null,null,this.getTagsForStencil(d,"broadcast",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.link;fillColor\x3d#4CDA64;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",
15,15,"","Link",null,null,this.getTagsForStencil(d,"link",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.night;fillColor\x3d#5855D6;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",15,15,"","Night",null,null,this.getTagsForStencil(d,"night",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.notification;fillColor\x3d#FF3B2F;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",
15,15,"","Notification",null,null,this.getTagsForStencil(d,"notification",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.settings;fillColor\x3d#8F8E94;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",15,15,"","Settings",null,null,this.getTagsForStencil(d,"settings",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.switch;fillColor\x3d#8F8E94;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",
15,15,"","Switch",null,null,this.getTagsForStencil(d,"switch",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.text_size;fillColor\x3d#007AFF;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",15,15,"","Text Size",null,null,this.getTagsForStencil(d,"text size",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.travel;fillColor\x3d#FF9501;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",
15,15,"","Travel",null,null,this.getTagsForStencil(d,"travel",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.vpn;fillColor\x3d#007AFF;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",15,15,"","VPN",null,null,this.getTagsForStencil(d,"vpn virtual private network",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7.misc.wifi;fillColor\x3d#007AFF;strokeColor\x3dnone;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",
15,15,"","WiFi",null,null,this.getTagsForStencil(d,"wifi",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.url;fillColor\x3d#e0e0e0;strokeColor\x3d#c0c0c0;buttonText\x3d;strokeColor2\x3d#222222;fontColor\x3d#222222;fontSize\x3d8;spacingTop\x3d2;align\x3dcenter;",165,12.5,"draw.io","URL",null,null,this.getTagsForStencil(d,"url",c+"url").join(" ")),this.createVertexTemplateEntry(f+"iconGrid;fillColor\x3d#c0c0c0;gridSize\x3d3,3;",
175,280,"","Icon grid",null,null,this.getTagsForStencil(d,"iconGrid",c+"icon grid").join(" ")),this.addEntry(c+"action dialog",function(){var b=new mxCell("",new mxGeometry(0,0,164,60),"shape\x3drect;fillColor\x3d#a0a0a0;strokeColor\x3dnone;shadow\x3d0;");b.vertex=!0;var c=new mxCell("Action",new mxGeometry(8,6,148,21),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.rrect;rSize\x3d3;fontColor\x3d#0080F0;fontSize\x3d7;fontSize\x3d14;fillColor\x3d#e0e0e0;strokeColor\x3dnone;fontStyle\x3d1;");
c.vertex=!0;b.insert(c);c=new mxCell("Cancel",new mxGeometry(8,33,148,21),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.rrect;rSize\x3d3;fontColor\x3d#0080F0;fontSize\x3d7;fontSize\x3d14;fillColor\x3d#e0e0e0;strokeColor\x3dnone;fontStyle\x3d1;");c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Action Dialog")}),this.createVertexTemplateEntry(b+"iKeybLett;",174,100,"","iPhone Keyboard (letters)",null,null,this.getTagsForStencil("mxgraph.ios7.misc",
"keyboard letters",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybNumb;",174,100,"","iPhone Keyboard (numbers)",null,null,this.getTagsForStencil("mxgraph.ios7.misc","keyboard letters",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybSymb;",174,100,"","iPhone Keyboard (symbols)",null,null,this.getTagsForStencil("mxgraph.ios7.misc","keyboard symbols",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybLett;",332,144,"","iPad 7''Keyboard (letters)",null,null,this.getTagsForStencil("mxgraph.ios7.misc",
"keyboard letters",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybNumb;",332,144,"","iPad 7'' Keyboard (numbers)",null,null,this.getTagsForStencil("mxgraph.ios7.misc","keyboard letters",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybSymb;",332,144,"","iPad 7'' Keyboard (symbols)",null,null,this.getTagsForStencil("mxgraph.ios7.misc","keyboard symbols",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybLett;",442,192,"","iPad 10''Keyboard (letters)",null,null,this.getTagsForStencil("mxgraph.ios7.misc",
"keyboard letters",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybNumb;",442,192,"","iPad 10'' Keyboard (numbers)",null,null,this.getTagsForStencil("mxgraph.ios7.misc","keyboard letters",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybSymb;",442,192,"","iPad 10'' Keyboard (symbols)",null,null,this.getTagsForStencil("mxgraph.ios7.misc","keyboard symbols",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybLett;",200*2.53,400*0.55,"","iPad 13''Keyboard (letters)",null,null,this.getTagsForStencil("mxgraph.ios7.misc",
"keyboard letters",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybNumb;",200*2.53,400*0.55,"","iPad 13'' Keyboard (numbers)",null,null,this.getTagsForStencil("mxgraph.ios7.misc","keyboard letters",c+"").join(" ")),this.createVertexTemplateEntry(b+"iKeybSymb;",200*2.53,400*0.55,"","iPad 13'' Keyboard (symbols)",null,null,this.getTagsForStencil("mxgraph.ios7.misc","keyboard symbols",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.call_pad;",
140,160,"","Call Pad",null,null,this.getTagsForStencil("mxgraph.ios7.misc","call_pad",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.number_pad;strokeWidth\x3d1;",140,160,"","Number Pad",null,null,this.getTagsForStencil("mxgraph.ios7.misc","number_pad",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.keyboard_(letters);",
175,120,"","Keyboard",null,null,this.getTagsForStencil("mxgraph.ios7.misc","keyboard_(letters)",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.scroll_(horizontal);fillColor\x3d#a0a0a0;",80,6,"","Scroll (Horizontal)",null,null,this.getTagsForStencil("mxgraph.ios7.misc","scroll_(horizontal)",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.scroll_(vertical);fillColor\x3d#a0a0a0;",
6,80,"","Scroll (Vertical)",null,null,this.getTagsForStencil("mxgraph.ios7.misc","scroll_(vertical)",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.add;fillColor\x3d#00dd00;strokeColor\x3d#ffffff;",12,12,"","Add",null,null,this.getTagsForStencil("mxgraph.ios7.misc","add",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.delete;fillColor\x3d#ff0000;strokeColor\x3d#ffffff;",
12,12,"","Delete",null,null,this.getTagsForStencil("mxgraph.ios7.misc","delete",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.select;fillColor\x3d#0080f0;strokeColor\x3d#ffffff;",12,12,"","Select",null,null,this.getTagsForStencil("mxgraph.ios7.misc","select",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.remove;fillColor\x3d#0080f0;strokeColor\x3d#ffffff;",
16,12,"","Remove",null,null,this.getTagsForStencil("mxgraph.ios7.misc","remove",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.check;strokeColor\x3d#0080f0;",10,8,"","Check",null,null,this.getTagsForStencil("mxgraph.ios7.misc","check",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.flagged;strokeColor\x3d#0080f0;",
12,12,"","Flagged",null,null,this.getTagsForStencil("mxgraph.ios7.misc","flagged",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.up;strokeColor\x3d#0080f0;",12,6,"","Up",null,null,this.getTagsForStencil("mxgraph.ios7.misc","up",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.down;strokeColor\x3d#0080f0;",
12,6,"","Down",null,null,this.getTagsForStencil("mxgraph.ios7.misc","down",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.left;strokeColor\x3d#0080f0;",6,12,"","Left",null,null,this.getTagsForStencil("mxgraph.ios7.misc","left",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.right;strokeColor\x3d#0080f0;",
6,12,"","Right",null,null,this.getTagsForStencil("mxgraph.ios7.misc","right",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.increase;fillColor\x3d#ffffff;strokeColor\x3d#0080f0;",12,12,"","Increase",null,null,this.getTagsForStencil("mxgraph.ios7.misc","increase",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.info;fillColor\x3d#ffffff;strokeColor\x3d#0080f0;",
12,12,"","Info",null,null,this.getTagsForStencil("mxgraph.ios7.misc","info",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.more_2;strokeColor\x3d#a0a0a0;",6,8,"","More 2",null,null,this.getTagsForStencil("mxgraph.ios7.misc","more_2",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.more;strokeColor\x3d#a0a0a0;",
5,8,"","More",null,null,this.getTagsForStencil("mxgraph.ios7.misc","more",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.options;fillColor\x3d#222222;",12,6,"","Options",null,null,this.getTagsForStencil("mxgraph.ios7.misc","options",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.pause;fillColor\x3d#ffffff;strokeColor\x3d#0080f0;",
12,12,"","Pause",null,null,this.getTagsForStencil("mxgraph.ios7.misc","pause",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.star;fillColor\x3d#0080f0;strokeColor\x3dnone;",12,12,"","Star",null,null,this.getTagsForStencil("mxgraph.ios7.misc","star",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.contacts_bar;strokeColor\x3d#0080F0;fillColor\x3d#e0e0e0",
175,400*0.07,"","Contacts Bar",null,null,this.getTagsForStencil("mxgraph.ios7.misc","contacts_bar",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.edit_bar;strokeColor\x3d#0080F0;fillColor\x3d#e0e0e0",175,400*0.07,"","Edit Bar",null,null,this.getTagsForStencil("mxgraph.ios7.misc","edit_bar",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.message_bar;strokeColor\x3d#0080F0;fillColor\x3d#e0e0e0",
175,400*0.07,"","Message Bar",null,null,this.getTagsForStencil("mxgraph.ios7.misc","message_bar",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.misc_bar;strokeColor\x3d#0080F0;fillColor\x3d#e0e0e0",175,400*0.07,"","Misc Bar",null,null,this.getTagsForStencil("mxgraph.ios7.misc","misc_bar",c+"").join(" ")),this.createVertexTemplateEntry(f+
"onOffButton;buttonState\x3don;strokeColor\x3d#38D145;strokeColor2\x3d#aaaaaa;fillColor\x3d#38D145;fillColor2\x3d#ffffff;",43.5,15,"","On-off button (On)",null,null,this.getTagsForStencil(d,"onOffButton",c+"").join(" ")),this.createVertexTemplateEntry(f+"onOffButton;buttonState\x3doff;strokeColor\x3d#38D145;strokeColor2\x3d#aaaaaa;fillColor\x3d#38D145;fillColor2\x3d#ffffff;",43.5,15,"","On-off button (Off)",null,null,this.getTagsForStencil(d,"onOffButton",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.icon;fontSize\x3d8;fontColor\x3d#ffffff;buttonText\x3d;whiteSpace\x3dwrap;align\x3dcenter;",
40,36,"Icon","Icon",null,null,this.getTagsForStencil(d,"icon",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.loading_circle;",40,40,"","Loading Circle",null,null,this.getTagsForStencil("mxgraph.ios7.misc","loading_circle",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.circle;strokeColor\x3d#222222;fillColor\x3dnone;",
12,12,"","Circle",null,null,this.getTagsForStencil("mxgraph.ios7.misc","circle",c+"").join(" ")),this.createVertexTemplateEntry(f+"pageControl;fillColor\x3d#222222;strokeColor\x3d#aaaaaa;",50,5,"","Page control",null,null,this.getTagsForStencil(d,"pageControl",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.current_location;strokeColor\x3d#ffffff;fillColor\x3d#0080F0",
60,60,"","Current Location",null,null,this.getTagsForStencil("mxgraph.ios7.misc","current_location",c+"").join(" ")),this.createVertexTemplateEntry("html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;strokeWidth\x3d2;shape\x3dmxgraph.ios7.misc.expand;fillColor\x3d#c0c0c0;",24,6,"","Expand",null,null,this.getTagsForStencil("mxgraph.ios7.misc","expand",c+"").join(" ")),this.addEntry(c+"volume control",function(){var b=new mxCell("",
new mxGeometry(0,0,160,14),"shape\x3drect;strokeColor\x3dnone;fillColor\x3dnone;");b.vertex=!0;var c=new mxCell("",new mxGeometry(0,0.5,6,8),"shape\x3dmxgraph.ios7.misc.volume_down;fillColor\x3d#666666;strokeColor\x3dnone;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,-4);c.vertex=!0;b.insert(c);c=new mxCell("",new mxGeometry(1,0.5,14,14),"shape\x3dmxgraph.ios7.misc.volume_up;fillColor\x3d#666666;strokeColor\x3dnone;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(-14,-7);c.vertex=
!0;b.insert(c);c=new mxCell("",new mxGeometry(18,0,116,14),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.slider;barPos\x3d60;strokeColor\x3d#0680FF;opacity\x3d100;fillColor\x3d#FFFFFF;handleSize\x3d14;");c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],160,14,"Volume Control")}),this.addEntry(c+"picker",function(){var b=new mxCell("",new mxGeometry(0,0,175,160),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.anchor;");b.vertex=
!0;var c=new mxCell("Item 1",new mxGeometry(0,0,175,32),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.anchor;fontSize\x3d15;fontColor\x3d#a0a0a0;resizeWidth\x3d1;");c.geometry.relative=!0;c.vertex=!0;b.insert(c);c=new mxCell("Item 2",new mxGeometry(0,0,175,32),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.anchor;fontSize\x3d15;fontColor\x3d#a0a0a0;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,32);c.vertex=!0;
b.insert(c);c=new mxCell("Item 3",new mxGeometry(0,0,175,32),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.horLines;fontSize\x3d15;fontColor\x3d#222222;strokeColor\x3d#a0a0a0;fillColor\x3dnone;strokeWidth\x3d2;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,64);c.vertex=!0;b.insert(c);c=new mxCell("Item 4",new mxGeometry(0,0,175,32),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.anchor;fontSize\x3d15;fontColor\x3d#a0a0a0;resizeWidth\x3d1;");
c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,96);c.vertex=!0;b.insert(c);c=new mxCell("Item 5",new mxGeometry(0,0,175,32),"html\x3d1;strokeWidth\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.ios7ui.anchor;fontSize\x3d15;fontColor\x3d#a0a0a0;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,128);c.vertex=!0;b.insert(c);return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Picker")})];this.addPalette("ios7ui","iOS UI",!1,mxUtils.bind(this,
function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))}})();
(function(){Sidebar.prototype.addLeanMappingPalette=function(){var a=mxConstants.STYLE_STROKEWIDTH+"\x3d2;html\x3d1;shape\x3dmxgraph.lean_mapping.",c=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeWidth\x3d2;shape\x3dmxgraph.lean_mapping.",f=this,d=[this.createVertexTemplateEntry(c+"boat_shipment;align\x3dcenter;",100,100,"","Boat Shipment",null,null,this.getTagsForStencil("mxgraph.lean_mapping","boat_shipment","value stream lean mapping ").join(" ")),
this.addEntry("value stream lean mapping data box",function(){var b=new mxCell("",new mxGeometry(0,0,60,100),a+"data_box;html\x3d1;");b.vertex=!0;var c=new mxCell("C/T\x3d",new mxGeometry(0,0,60,20),"text;fontSize\x3d8;spacingLeft\x3d2;verticalAlign\x3dmiddle;html\x3d1;");c.vertex=!0;b.insert(c);c=new mxCell("C/O\x3d",new mxGeometry(0,20,60,20),"text;fontSize\x3d8;spacingLeft\x3d2;verticalAlign\x3dmiddle;html\x3d1;");c.vertex=!0;b.insert(c);c=new mxCell("Batch\x3d",new mxGeometry(0,40,60,20),"text;fontSize\x3d8;spacingLeft\x3d2;verticalAlign\x3dmiddle;html\x3d1;");
c.vertex=!0;b.insert(c);c=new mxCell("Avail\x3d",new mxGeometry(0,60,60,20),"text;fontSize\x3d8;spacingLeft\x3d2;verticalAlign\x3dmiddle;html\x3d1;");c.vertex=!0;b.insert(c);c=new mxCell("",new mxGeometry(0,80,60,20),"text;fontSize\x3d8;spacingLeft\x3d2;verticalAlign\x3dmiddle;html\x3d1;");c.vertex=!0;b.insert(c);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Data Box")}),this.createVertexTemplateEntry(a+"outside_sources;whiteSpace\x3dwrap;align\x3dcenter;",100,70,
'\x3ctable cellpadding\x3d"5" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd height\x3d"50%"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"50%"\x3eXYZ Corp\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Customer/Supplier",null,null,this.getTagsForStencil("mxgraph.lean_mapping","outside_sources","value stream lean mapping ").join(" ")),this.addEntry("value stream lean mapping dedicated process manufacturing",function(){var b=new mxCell("\nDescription",
new mxGeometry(0,0,100,70),a+"manufacturing_process;fontSize\x3d12;verticalAlign\x3dmiddle;html\x3d1;align\x3dcenter;whiteSpace\x3dwrap;");b.vertex=!0;var c=new mxCell("Process",new mxGeometry(0,0,100,13),"text;fontSize\x3d12;spacingLeft\x3d2;verticalAlign\x3dtop;html\x3d1;align\x3dcenter;spacingTop\x3d-5;resizeWidth\x3d1;");c.vertex=!0;b.insert(c);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Dedicated Process")}),this.createVertexTemplateEntry(a+"manufacturing_process_shared;spacingTop\x3d-5;align\x3dcenter;"+
mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;",100,70,"Process","Shared Process",null,null,this.getTagsForStencil("mxgraph.lean_mapping","manufacturing_process_shared","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"work_cell;",70,60,"","Workcell",null,null,this.getTagsForStencil("mxgraph.lean_mapping","work_cell","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"inventory_box;",100,90,"","Inventory Box",null,null,this.getTagsForStencil("mxgraph.lean_mapping",
"inventory_box","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"push_arrow;",100,30,"","Push Arrow",null,null,this.getTagsForStencil("mxgraph.lean_mapping","push_arrow","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"supermarket;",60,100,"","Supermarket",null,null,this.getTagsForStencil("mxgraph.lean_mapping","supermarket","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"physical_pull;",100,100,"","Material Pull",null,
null,this.getTagsForStencil("mxgraph.lean_mapping","physical_pull","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"fifo_lane;overflow\x3dfill;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;align\x3dcenter;",100,50,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd height\x3d"0%"\x3eMAX\x3dXX\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"100%"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"FIFO Lane",
null,null,this.getTagsForStencil("mxgraph.lean_mapping","fifo_lane","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"buffer_or_safety_stock;",40,100,"","Safety Stock",null,null,this.getTagsForStencil("mxgraph.lean_mapping","buffer_or_safety_stock","value stream lean mapping ").join(" ")),this.addEntry(this.getTagsForStencil("mxgraph.lean_mapping","truck_shipment","value stream lean mapping ").join(" "),function(){var b=new mxCell("",new mxGeometry(0,0,100,100),a+"truck_shipment;");
b.vertex=!0;var c=new mxCell("2x per\nWeek",new mxGeometry(0,0,60,80),"text;fontSize\x3d12;verticalAlign\x3dmiddle;html\x3d1;align\x3dcenter;whiteSpace\x3dwrap;");c.vertex=!0;b.insert(c);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Truck Shipment")}),this.createVertexTemplateEntry(a+"schedule;whiteSpace\x3dwrap;align\x3dcenter;",100,70,"Production\nControl","Production Control",null,null,this.getTagsForStencil("mxgraph.lean_mapping","schedule","value stream lean mapping ").join(" ")),
this.createVertexTemplateEntry(a+"schedule;whiteSpace\x3dwrap;align\x3dcenter;",100,70,"Other\nInformation","Other Information",null,null,this.getTagsForStencil("mxgraph.lean_mapping","schedule","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"go_see_production_scheduling;",92,60,"","Go See Production Scheduling",null,null,this.getTagsForStencil("mxgraph.lean_mapping","go_see_production_scheduling","value stream lean mapping ").join(" ")),this.addEntry(this.getTagsForStencil("mxgraph.lean_mapping",
"kaizen_lightening_burst","value stream lean mapping ").join(" "),function(){var b=new mxCell("",new mxGeometry(0,0,90,40),c+"kaizen_lightening_burst;");b.vertex=!0;var a=new mxCell("",new mxGeometry(8,8,74,24),"rect;fillColor\x3d#000000;strokeColor\x3dnone;");a.vertex=!0;b.insert(a);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Kaizen Lightening Burst")}),this.createVertexTemplateEntry(c+"kanban_post;",50,100,"","Kanban Post",null,null,this.getTagsForStencil("mxgraph.lean_mapping",
"kanban_post","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"load_leveling;",100,30,"","Load Leveling",null,null,this.getTagsForStencil("mxgraph.lean_mapping","load_leveling","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"move_by_forklift;",92,100,"","Move by Forklift",null,null,this.getTagsForStencil("mxgraph.lean_mapping","move_by_forklift","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"mrp_erp;whiteSpace\x3dwrap;",
70,100,"","MRP/ERP",null,null,this.getTagsForStencil("mxgraph.lean_mapping","mrp_erp","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"operator;",100,84,"","Operator",null,null,this.getTagsForStencil("mxgraph.lean_mapping","operator","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"quality_problem;fontSize\x3d24;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",80,100,"Q","Quality Problem",null,null,this.getTagsForStencil("mxgraph.lean_mapping",
"quality_problem","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"verbal;",50,100,"","Verbal Information",null,null,this.getTagsForStencil("mxgraph.lean_mapping","verbal","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"fifo_sequence_flow;fontStyle\x3d0;fontSize\x3d20;align\x3dcenter;",100,50,"FIFO","FIFO Sequence",null,null,this.getTagsForStencil("mxgraph.lean_mapping","fifo_sequence_flow","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+
"production_kanban;overflow\x3dfill;",100,100,'\x3cp style\x3d"font-size:2em;margin-right:35px;margin-top:13px;text-align:right"\x3eP\x3c/p\x3e',"Production Kanban",null,null,this.getTagsForStencil("mxgraph.lean_mapping","production_kanban","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"withdrawal_kanban;overflow\x3dfill;",100,100,'\x3cp style\x3d"font-size:2em;margin-right:35px;margin-top:13px;text-align:right"\x3eW\x3c/p\x3e',"Withdrawal Kanban",null,null,this.getTagsForStencil("mxgraph.lean_mapping",
"withdrawal_kanban","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"signal_kanban;overflow\x3dfill;",100,90,'\x3cp style\x3d"font-size:2em;margin-right:35px;margin-top:4px;text-align:right"\x3eS\x3c/p\x3e',"Signal Kanban",null,null,this.getTagsForStencil("mxgraph.lean_mapping","signal_kanban","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"sequenced_pull_ball;",60,60,"","Sequenced Pull Ball",null,null,this.getTagsForStencil("mxgraph.lean_mapping",
"sequenced_pull_ball","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"rail_shipment;",100,30,"","Rail Shipment",null,null,this.getTagsForStencil("mxgraph.lean_mapping","rail_shipment","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"airplane_7;",100,45,"","Air Freight",null,null,this.getTagsForStencil("mxgraph.lean_mapping","airplane_7","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"warehouse;",100,60,"","Warehouse",
null,null,this.getTagsForStencil("mxgraph.lean_mapping","warehouse","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"timeline2;dx1\x3d0;dy1\x3d1;dx2\x3d30;dy2\x3d0;dx3\x3d160;dy3\x3d1;dx4\x3d230;dy4\x3d0;dx5\x3d310;dy5\x3d1;dy6\x3d0;",400,40,"","Timeline",null,null,this.getTagsForStencil("mxgraph.lean_mapping","timeline","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"crossDock;",100,80,"","Cross-Dock",null,null,this.getTagsForStencil("mxgraph.lean_mapping",
"crossDock","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(a+"orders;overflow\x3dfill;",100,60,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1.5em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd height\x3d"65%"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"35%"\x3eIN\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Orders",null,null,this.getTagsForStencil("mxgraph.lean_mapping","orders","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+
"batched_kanban;",200,80,"","Batched Kanban",null,null,this.getTagsForStencil("mxgraph.lean_mapping","batched_kanban","value stream lean mapping ").join(" ")),this.createVertexTemplateEntry(c+"control_center;",80,80,"","Control Center",null,null,this.getTagsForStencil("mxgraph.lean_mapping","control_center","value stream lean mapping ").join(" ")),this.createEdgeTemplateEntry("arrow;html\x3d1;",100,100,"","Shipments",null,this.getTagsForStencil("mxgraph.lean_mapping","arrow","value stream lean mapping ").join(" ")),
this.createEdgeTemplateEntry("shape\x3dmxgraph.lean_mapping.manual_info_flow_edge;html\x3d1;",100,100,"Daily","Manual Information",null,this.getTagsForStencil("mxgraph.lean_mapping","manual_info_flow_edge","value stream lean mapping ").join(" ")),this.createEdgeTemplateEntry("shape\x3dmxgraph.lean_mapping.electronic_info_flow_edge;html\x3d1;",100,100,"Monthly","Electronic Information",null,this.getTagsForStencil("mxgraph.lean_mapping","electronic_info_flow_edge","value stream lean mapping ").join(" "))];
this.addPalette("lean_mapping",mxResources.get("leanMapping"),!1,mxUtils.bind(this,function(b){for(var a=0;a<d.length;a++)b.appendChild(d[a](b))}))}})();
(function(){Sidebar.prototype.addMockupPalette=function(){this.addMockupButtonsPalette();this.addMockupContainersPalette();this.addMockupFormsPalette();this.addMockupGraphicsPalette();this.addMockupMarkupPalette();this.addMockupMiscPalette();this.addMockupNavigationPalette();this.addMockupTextPalette()};Sidebar.prototype.addMockupButtonsPalette=function(){var a=mxConstants.STYLE_STROKEWIDTH+"\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",c=
mxConstants.STYLE_STROKECOLOR+"\x3d#999999;",f=this,d=[this.createVertexTemplateEntry(a+"buttons.button;"+(mxConstants.STYLE_STROKECOLOR+"\x3d#666666;")+"fontColor\x3d#ffffff;mainText\x3d;buttonStyle\x3dround;fontSize\x3d17;fontStyle\x3d1;fillColor\x3d#008cff;whiteSpace\x3dwrap;",150,50,"Button Text","Button",null,null,this.getTagsForStencil("mxgraph.mockup.buttons","button","mockup button ").join(" ")),this.addEntry("mockup button formatted multibutton multi",function(){var b=new mxCell("",new mxGeometry(0,
0,150,50),a+"buttons.multiButton;fillColor\x3d#008cff;strokeColor\x3d#666666;mainText\x3d;subText\x3d;");b.vertex=!0;var c=new mxCell("Main Text",new mxGeometry(0,8,150,20),a+"anchor;fontSize\x3d16;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;");c.vertex=!0;b.insert(c);c=new mxCell("Sub Text",new mxGeometry(0,30,150,10),a+"anchor;fontSize\x3d12;fontColor\x3d#ffffff;fontStyle\x3d1;whiteSpace\x3dwrap;");c.vertex=!0;b.insert(c);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,
"Formatted Button")}),this.addEntry("mockup button horizontal bar",function(){var b=new mxCell("",new mxGeometry(0,0,500,50),a+"rrect;rSize\x3d10;fillColor\x3d#ffffff;strokeColor\x3d#666666;");b.vertex=!0;var c=new mxCell("Button 2",new mxGeometry(0,0,125,50),a+"rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3d#666666;resizeHeight\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(125,0);c.vertex=!0;b.insert(c);c=new mxCell("Button 3",
new mxGeometry(0,0,125,50),a+"rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3d#666666;resizeHeight\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(250,0);c.vertex=!0;b.insert(c);c=new mxCell("Button 4",new mxGeometry(1,0,125,50),a+"rightButton;rSize\x3d10;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3d#666666;resizeHeight\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(-125,0);c.vertex=
!0;b.insert(c);c=new mxCell("Button 1",new mxGeometry(0,0,125,50),a+"leftButton;rSize\x3d10;fontSize\x3d17;fontColor\x3d#ffffff;fontStyle\x3d1;fillColor\x3d#008cff;strokeColor\x3dnone;resizeHeight\x3d1;");c.geometry.relative=!0;c.vertex=!0;b.insert(c);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Horizontal Button Bar")}),this.addEntry("mockup button vertical bar",function(){var b=new mxCell("",new mxGeometry(0,0,120,200),a+"rrect;rSize\x3d10;fillColor\x3d#ffffff;strokeColor\x3d#666666;");
b.vertex=!0;var c=new mxCell("Button 2",new mxGeometry(0,0,120,50),a+"rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3d#666666;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,50);c.vertex=!0;b.insert(c);c=new mxCell("Button 3",new mxGeometry(0,0,120,50),a+"rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3d#666666;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=
new mxPoint(0,100);c.vertex=!0;b.insert(c);c=new mxCell("Button 4",new mxGeometry(0,1,120,50),a+"bottomButton;rSize\x3d10;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3d#666666;resizeWidth\x3d1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(0,-50);c.vertex=!0;b.insert(c);c=new mxCell("Button 1",new mxGeometry(0,0,120,50),a+"topButton;rSize\x3d10;fontSize\x3d17;fontColor\x3d#ffffff;fontStyle\x3d1;fillColor\x3d#008cff;strokeColor\x3dnone;resizeWidth\x3d1;");
c.geometry.relative=!0;c.vertex=!0;b.insert(c);return f.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Vertical Button Bar")}),this.createVertexTemplateEntry(a+"buttons.onOffButton;fillColor\x3d#ffffff;gradientColor\x3dnone;"+c+"buttonState\x3don;fillColor2\x3d#008cff;fontColor\x3d#ffffff;fontSize\x3d17;mainText\x3d;spacingRight\x3d40;fontStyle\x3d1;",150,50,"ON","On-off button",null,null,this.getTagsForStencil("mxgraph.mockup.buttons","onOffButton","mockup button on off").join(" "))];
this.addPalette("mockupButtons","Mockup Buttons",!1,mxUtils.bind(this,function(b){for(var a=0;a<d.length;a++)b.appendChild(d[a](b))}))};Sidebar.prototype.addMockupContainersPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",c=mxConstants.STYLE_STROKEWIDTH+"\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+
mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",f=mxConstants.STYLE_STROKECOLOR+"\x3d#666666;",d=mxConstants.STYLE_FILLCOLOR+"\x3d#ffffff;",b=this,e=[this.createVertexTemplateEntry(a+"containers.videoPlayer;"+f+"strokeColor2\x3d#008cff;strokeColor3\x3d#c4c4c4;textColor\x3d#666666;"+d+"fillColor2\x3d#008cff;barHeight\x3d30;barPos\x3d20;",300,200,"","Video Player",null,null,this.getTagsForStencil("mxgraph.mockup.containers","videoPlayer","mockup container ").join(" ")),this.addEntry("mockup container accordion",
function(){var a=new mxCell("",new mxGeometry(0,0,100,220),c+"containers.rrect;rSize\x3d0;fillColor\x3d#ffffff;strokeColor\x3d#666666;");a.vertex=!0;var d=new mxCell("Group 1",new mxGeometry(0,0,100,26),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;a.insert(d);d=new mxCell("Group 2",new mxGeometry(0,0,100,26),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3d#666666;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,26);d.vertex=!0;a.insert(d);d=new mxCell("Group 3",new mxGeometry(0,0,100,26),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#ffffff;fontStyle\x3d1;fillColor\x3d#008cff;strokeColor\x3d#008cff;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,52);d.vertex=!0;a.insert(d);d=new mxCell("Group 4",new mxGeometry(0,1,100,26),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;fillColor\x3dnone;strokeColor\x3d#666666;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,-26);d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Accordion")}),this.addEntry("mockup container browser window",function(){var a=new mxCell("",new mxGeometry(0,0,550,380),c+"containers.browserWindow;rSize\x3d0;fillColor\x3d#ffffff;strokeColor\x3d#666666;mainText\x3d,;recursiveResize\x3d0;");a.vertex=!0;var d=new mxCell("Page 1",new mxGeometry(60,12,110,26),c+"containers.anchor;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;");
d.vertex=!0;a.insert(d);d=new mxCell("https:\\\\draw.io",new mxGeometry(130,60,250,26),c+"containers.anchor;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;");d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Browser Window")}),this.createVertexTemplateEntry(a+"containers.userMale;"+f+"strokeColor2\x3d#008cff;"+d,100,100,"","User, Male",null,null,this.getTagsForStencil("mxgraph.mockup.containers","userMale","mockup container ").join(" ")),
this.createVertexTemplateEntry(a+"containers.userFemale;"+f+"strokeColor2\x3d#008cff;"+d,100,100,"","User, Female",null,null,this.getTagsForStencil("mxgraph.mockup.containers","userFemale","mockup container ").join(" ")),this.addEntry("mockup container group",function(){var a=new mxCell("",new mxGeometry(0,0,150,200),"shape\x3dmxgraph.mockup.containers.marginRect;rectMarginTop\x3d10;strokeColor\x3d#666666;fillColor\x3d#ffffff;strokeWidth\x3d1;dashed\x3d0;rounded\x3d1;arcSize\x3d5;recursiveResize\x3d0;");
a.vertex=!0;var c=new mxCell("Group",new mxGeometry(5,0,90,30),"shape\x3drect;strokeColor\x3dnone;fillColor\x3d#008cff;strokeWidth\x3d1;dashed\x3d0;rounded\x3d1;arcSize\x3d20;fontColor\x3d#ffffff;fontSize\x3d17;spacing\x3d2;spacingTop\x3d-2;align\x3dleft;autosize\x3d1;spacingLeft\x3d4;resizeWidth\x3d0;resizeHeight\x3d0;perimeter\x3dnone;");c.vertex=!0;a.insert(c);return b.createVertexTemplateFromCells([a],150,200,"Group")}),this.createVertexTemplateEntry(c+"containers.window;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d8;strokeColor2\x3d#008cff;strokeColor3\x3d#c4c4c4;fontColor\x3d#666666;"+
d+"mainText\x3d;fontSize\x3d17;labelBackgroundColor\x3dnone;",550,380,"Window Title","Window",null,null,this.getTagsForStencil("mxgraph.mockup.containers","window","mockup container ").join(" ")),this.addEntry("mockup container horizontal tab bar",function(){var a=new mxCell("",new mxGeometry(0,0,400,200),c+"containers.marginRect2;rectMarginTop\x3d32;strokeColor\x3d#666666;fillColor\x3d#ffffff;gradientColor\x3dnone;");a.vertex=!0;var d=new mxCell("Tab 1",new mxGeometry(0,0,60,25),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#666666;fillColor\x3d#ffffff;gradientColor\x3dnone;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(10,0);d.vertex=!0;a.insert(d);d=new mxCell("Tab 2",new mxGeometry(0,0,60,25),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#ffffff;strokeColor\x3d#008cff;fillColor\x3d#008cff;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(75,0);d.vertex=!0;a.insert(d);d=new mxCell("Tab 3",new mxGeometry(0,0,60,25),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#666666;fillColor\x3d#ffffff;gradientColor\x3dnone;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(140,0);d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(0,0,400,7),c+"containers.topButton;rSize\x3d5;strokeColor\x3d#008cff;fillColor\x3d#008cff;gradientColor\x3dnone;resizeWidth\x3d1;movable\x3d0;deletable\x3d1;");d.vertex=!0;d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,25);a.insert(d);return b.createVertexTemplateFromCells([a],400,200,"Horizontal Tab Bar")}),this.addEntry("mockup container vertical tab bar",function(){var a=new mxCell("",
new mxGeometry(0,0,400,200),c+"containers.marginRect2;rectMarginLeft\x3d67;strokeColor\x3d#666666;fillColor\x3d#ffffff;gradientColor\x3dnone;");a.vertex=!0;var d=new mxCell("Tab 1",new mxGeometry(0,0,60,25),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#666666;fillColor\x3d#ffffff;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,10);d.vertex=!0;a.insert(d);d=new mxCell("Tab 2",new mxGeometry(0,0,60,25),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#ffffff;strokeColor\x3d#008cff;fillColor\x3d#008cff;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,40);d.vertex=!0;a.insert(d);d=new mxCell("Tab 3",new mxGeometry(0,0,60,25),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#666666;fillColor\x3d#ffffff;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,70);d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(0,0,7,200),c+"containers.leftButton;rSize\x3d5;strokeColor\x3d#008cff;fillColor\x3d#008cff;resizeHeight\x3d1;movable\x3d0;deletable\x3d0;");d.geometry.relative=
!0;d.geometry.offset=new mxPoint(60,0);d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],400,200,"Vertical Tab Bar")}),this.addEntry("mockup container dialog box",function(){var a=new mxCell("Some default\ndialog\ntext.",new mxGeometry(0,0,250,140),c+"containers.rrect;rSize\x3d0;strokeColor\x3d#666666;fontColor\x3d#666666;fontSize\x3d17;verticalAlign\x3dtop;whiteSpace\x3dwrap;fillColor\x3d#ffffff;spacingTop\x3d32;");a.vertex=!0;var d=new mxCell("Dialog Title",new mxGeometry(0,0,250,
30),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#666666;align\x3dleft;spacingLeft\x3d8;fillColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;a.insert(d);var e=new mxCell("",new mxGeometry(1,0.5,20,20),"shape\x3dellipse;strokeColor\x3d#008cff;resizable\x3d0;fillColor\x3dnone;html\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-25,-10);e.vertex=!0;d.insert(e);d=new mxCell("Cancel",new mxGeometry(0.25,1,90,25),c+"containers.rrect;rSize\x3d0;fontSize\x3d16;fontColor\x3d#666666;strokeColor\x3d#c4c4c4;whiteSpace\x3dwrap;fillColor\x3dnone;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(-45,-33);d.vertex=!0;a.insert(d);d=new mxCell("OK",new mxGeometry(0.75,1,90,25),c+"containers.rrect;rSize\x3d0;fontSize\x3d16;fontColor\x3d#666666;strokeColor\x3d#c4c4c4;whiteSpace\x3dwrap;fillColor\x3dnone;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-45,-33);d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Dialog Box")}),this.addEntry("mockup container dialog box",function(){var a=
new mxCell("Some default\nmessage\ntext.",new mxGeometry(0,0,250,160),c+"containers.rrect;rSize\x3d0;strokeColor\x3d#666666;fontColor\x3d#666666;fontSize\x3d17;verticalAlign\x3dtop;whiteSpace\x3dwrap;fillColor\x3d#ffffff;spacingTop\x3d32;");a.vertex=!0;var d=new mxCell("Message Title",new mxGeometry(0,0,250,30),c+"containers.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#666666;align\x3dleft;spacingLeft\x3d8;fillColor\x3d#ffffff;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=
!0;a.insert(d);var e=new mxCell("",new mxGeometry(1,0.5,20,20),"shape\x3dellipse;strokeColor\x3d#008cff;resizable\x3d0;fillColor\x3dnone;html\x3d1;");e.geometry.relative=!0;e.geometry.offset=new mxPoint(-25,-10);e.vertex=!0;d.insert(e);d=new mxCell("OK",new mxGeometry(0.5,1,120,25),c+"containers.rrect;rSize\x3d0;fontSize\x3d16;fontColor\x3d#666666;strokeColor\x3d#c4c4c4;resizable\x3d0;whiteSpace\x3dwrap;fillColor\x3d#ffffff;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-60,-33);d.vertex=
!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Dialog Box")})];this.addPalette("mockupContainers","Mockup Containers",!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addMockupFormsPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",
c=mxConstants.STYLE_STROKEWIDTH+"\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",f=mxConstants.STYLE_STROKECOLOR+"\x3d#999999;",d=mxConstants.STYLE_FILLCOLOR+"\x3d#ffffff;",b=this,e=[this.createVertexTemplateEntry(c+"forms.rrect;rSize\x3d0;fillColor\x3d#eeeeee;strokeColor\x3d#999999;gradientColor\x3d#cccccc;align\x3dleft;spacingLeft\x3d4;fontSize\x3d17;fontColor\x3d#666666;labelPosition\x3dright;",15,15,"Option 1","Checkbox",null,null,this.getTagsForStencil("mxgraph.mockup.forms",
"checkbox","mockup form ").join(" ")),this.addEntry("mockup form checkbox checkboxes",function(){var a=new mxCell("",new mxGeometry(0,0,150,120),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;recursiveResize\x3d0;");a.vertex=!0;var d=new mxCell("Option 1",new mxGeometry(8,7.5,15,15),c+"forms.rrect;rSize\x3d0;fillColor\x3d#eeeeee;strokeColor\x3d#999999;gradientColor\x3d#cccccc;align\x3dleft;spacingLeft\x3d4;fontSize\x3d17;fontColor\x3d#666666;labelPosition\x3dright;");d.vertex=
!0;a.insert(d);d=new mxCell("Option 2",new mxGeometry(8,37.5,15,15),c+"forms.rrect;rSize\x3d0;fillColor\x3d#eeeeee;strokeColor\x3d#999999;gradientColor\x3d#cccccc;align\x3dleft;spacingLeft\x3d4;fontSize\x3d17;fontColor\x3d#666666;labelPosition\x3dright;");d.vertex=!0;a.insert(d);d=new mxCell("Option 3",new mxGeometry(8,67.5,15,15),c+"forms.checkbox;rSize\x3d0;resizable\x3d0;fillColor\x3d#aaaaaa;strokeColor\x3d#444444;gradientColor\x3d#666666;align\x3dleft;spacingLeft\x3d4;fontSize\x3d17;fontColor\x3d#008cff;labelPosition\x3dright;");
d.vertex=!0;a.insert(d);d=new mxCell("Option 4",new mxGeometry(8,97.5,15,15),c+"forms.rrect;rSize\x3d0;fillColor\x3d#eeeeee;strokeColor\x3d#999999;gradientColor\x3d#cccccc;align\x3dleft;spacingLeft\x3d4;fontSize\x3d17;fontColor\x3d#666666;labelPosition\x3dright;");d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Checkboxes")}),this.createVertexTemplateEntry("shape\x3dellipse;fillColor\x3d#eeeeee;strokeColor\x3d#999999;gradientColor\x3d#cccccc;html\x3d1;align\x3dleft;spacingLeft\x3d4;fontSize\x3d17;fontColor\x3d#666666;labelPosition\x3dright;shadow\x3d0;",
15,15,"Setting 1","Radiobutton",null,null,this.getTagsForStencil("mxgraph.mockup.forms","radiobutton radio button","mockup form ").join(" ")),this.addEntry("mockup form radiobutton radio button group",function(){var a=new mxCell("",new mxGeometry(0,0,150,120),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;recursiveResize\x3d0;");a.vertex=!0;var d=new mxCell("Setting 1",new mxGeometry(8,7.5,15,15),"shape\x3dellipse;rSize\x3d0;fillColor\x3d#eeeeee;strokeColor\x3d#999999;gradientColor\x3d#cccccc;html\x3d1;align\x3dleft;spacingLeft\x3d4;fontSize\x3d17;fontColor\x3d#666666;labelPosition\x3dright;");
d.vertex=!0;a.insert(d);d=new mxCell("Setting 2",new mxGeometry(8,37.5,15,15),"shape\x3dellipse;rSize\x3d0;fillColor\x3d#eeeeee;strokeColor\x3d#999999;gradientColor\x3d#cccccc;html\x3d1;align\x3dleft;spacingLeft\x3d4;fontSize\x3d17;fontColor\x3d#666666;labelPosition\x3dright;");d.vertex=!0;a.insert(d);d=new mxCell("Setting 3",new mxGeometry(8,67.5,15,15),"shape\x3dellipse;rSize\x3d0;fillColor\x3d#aaaaaa;strokeColor\x3d#444444;gradientColor\x3d#666666;html\x3d1;align\x3dleft;spacingLeft\x3d4;fontSize\x3d17;fontColor\x3d#008cff;labelPosition\x3dright;");
d.vertex=!0;a.insert(d);var e=new mxCell("",new mxGeometry(3,3,9,9),"shape\x3dellipse;fillColor\x3d#444444;strokeColor\x3dnone;html\x3d1;");e.vertex=!0;d.insert(e);d=new mxCell("Setting 4",new mxGeometry(8,97.5,15,15),"shape\x3dellipse;rSize\x3d0;fillColor\x3d#eeeeee;strokeColor\x3d#999999;gradientColor\x3d#cccccc;html\x3d1;align\x3dleft;spacingLeft\x3d4;fontSize\x3d17;fontColor\x3d#666666;labelPosition\x3dright;");d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,
a.geometry.height,"Radiobutton Group")}),this.createVertexTemplateEntry(a+"forms.colorPicker;chosenColor\x3d#aaddff;fillColor\x3d#ffffff;",40,40,"","Color Picker",null,null,this.getTagsForStencil("mxgraph.mockup.forms","colorPicker","mockup form ").join(" ")),this.createVertexTemplateEntry(c+"forms.comboBox;"+f+mxConstants.STYLE_FILLCOLOR+"\x3d#ddeeff;align\x3dleft;fillColor2\x3d#aaddff;mainText\x3d;fontColor\x3d#666666;fontSize\x3d17;spacingLeft\x3d3;",150,30,"Option 1","Combo Box",null,null,this.getTagsForStencil("mxgraph.mockup.forms",
"comboBox","mockup form ").join(" ")),this.createVertexTemplateEntry(c+"forms.spinner;"+f+"spinLayout\x3dright;spinStyle\x3dnormal;adjStyle\x3dtriangle;fillColor\x3d#aaddff;fontSize\x3d17;fontColor\x3d#666666;mainText\x3d;html\x3d1;overflow\x3dfill;",150,60,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd style\x3d"width:85%"\x3e100\x3c/td\x3e\x3ctd style\x3d"width:15%"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Spinner",null,null,this.getTagsForStencil("mxgraph.mockup.forms",
"spinner","mockup form ").join(" ")),this.addEntry("mockup form menu bar",function(){var a=new mxCell("",new mxGeometry(0,0,498,30),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;");a.vertex=!0;var d=new mxCell("File",new mxGeometry(0,0,83,30),c+"forms.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#999999;fillColor\x3dnone;");d.vertex=!0;a.insert(d);d=new mxCell("Edit",new mxGeometry(83,0,83,30),c+"forms.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#999999;fillColor\x3dnone;");
d.vertex=!0;a.insert(d);d=new mxCell("Options",new mxGeometry(166,0,83,30),c+"forms.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#999999;fillColor\x3dnone;");d.vertex=!0;a.insert(d);d=new mxCell("Tools",new mxGeometry(249,0,83,30),c+"forms.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#999999;fillColor\x3dnone;");d.vertex=!0;a.insert(d);d=new mxCell("Window",new mxGeometry(332,0,83,30),c+"forms.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#999999;fillColor\x3dnone;");
d.vertex=!0;a.insert(d);d=new mxCell("Help",new mxGeometry(415,0,83,30),c+"forms.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;strokeColor\x3d#999999;fillColor\x3dnone;");d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Menu Bar")}),this.createVertexTemplateEntry(a+"forms.horSlider;"+f+d+"sliderStyle\x3dbasic;sliderPos\x3d20;handleStyle\x3dcircle;fillColor2\x3d#ddeeff;",150,30,"","Horizontal Slider",null,null,this.getTagsForStencil("mxgraph.mockup.forms",
"horSlider","mockup form horizontal").join(" ")),this.createVertexTemplateEntry(a+"forms.horSlider;"+f+d+"sliderStyle\x3dbasic;sliderPos\x3d20;handleStyle\x3dcircle;fillColor2\x3d#ddeeff;direction\x3dnorth;",30,150,"","Vertical Slider",null,null,this.getTagsForStencil("mxgraph.mockup.forms","horSlider","mockup form vertical").join(" ")),this.addEntry("mockup form list box",function(){var a=new mxCell("",new mxGeometry(0,0,150,200),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;");
a.vertex=!0;var d=new mxCell("Title",new mxGeometry(0,0,150,30),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#008cff;fontSize\x3d17;fillColor\x3d#ffffff;resizeWidth\x3d1;");d.geometry.relative=!0;d.vertex=!0;a.insert(d);d=new mxCell("Item 1",new mxGeometry(0,0,150,20),c+"forms.anchor;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d5;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,30);d.vertex=!0;a.insert(d);d=new mxCell("Item 2",new mxGeometry(0,
0,150,20),c+"forms.anchor;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d5;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,50);d.vertex=!0;a.insert(d);d=new mxCell("Item 3",new mxGeometry(0,0,150,20),c+"forms.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d5;fillColor\x3d#ddeeff;strokeColor\x3dnone;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,70);d.vertex=!0;a.insert(d);d=new mxCell("Item 4",
new mxGeometry(0,0,150,20),c+"forms.anchor;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d5;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,90);d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],150,200,"List Box")}),this.createVertexTemplateEntry(c+"forms.pwField;"+f+"mainText\x3d;align\x3dleft;fillColor\x3d#ffffff;fontColor\x3d#666666;fontSize\x3d17;spacingLeft\x3d3;",150,30,"********","Password Field",null,null,this.getTagsForStencil("mxgraph.mockup.forms",
"pwField","mockup form ").join(" ")),this.createVertexTemplateEntry(a+"forms.splitter;fillColor\x3d#ffffff;"+f,350,10,"","Horizontal Splitter",null,null,this.getTagsForStencil("mxgraph.mockup.forms","splitter","mockup form ").join(" ")),this.createVertexTemplateEntry(a+"forms.splitter;fillColor\x3d#ffffff;"+f+mxConstants.STYLE_DIRECTION+"\x3d"+mxConstants.DIRECTION_NORTH+";",10,350,"","Vertical Splitter",null,null,this.getTagsForStencil("mxgraph.mockup.forms","splitter","mockup form ").join(" ")),
this.addEntry("mockup form wedge bar",function(){var a=new mxCell("Tab 1",new mxGeometry(10,0,70,30),c+"forms.uRect;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d5;strokeColor\x3d#666666;fillColor\x3d#ffffff;");a.vertex=!0;var d=new mxCell("Tab 2",new mxGeometry(85,0,70,30),c+"forms.uRect;fontSize\x3d17;fontColor\x3d#ffffff;align\x3dleft;spacingLeft\x3d5;strokeColor\x3d#008cff;fillColor\x3d#008cff;");d.vertex=!0;var e=new mxCell("Tab 3",new mxGeometry(160,0,70,30),c+"forms.uRect;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d5;strokeColor\x3d#666666;fillColor\x3d#ffffff;");
e.vertex=!0;return b.createVertexTemplateFromCells([a,d,e],230,30,"Wedge Bar")}),this.createVertexTemplateEntry(a+"menus_and_buttons.font_style_selector_1;",136,31,"","Formatting Toolbar 1",null,null,this.getTagsForStencil("mxgraph.mockup.menus_and_buttons","font_style_selector_1","mockup form ").join(" ")),this.createVertexTemplateEntry(a+"menus_and_buttons.font_style_selector_2;",235,31,"","Formatting Toolbar 2",null,null,this.getTagsForStencil("mxgraph.mockup.menus_and_buttons","font_style_selector_2",
"mockup form ").join(" ")),this.createVertexTemplateEntry(a+"menus_and_buttons.font_style_selector_3;",176,38,"","Formatting Toolbar 3",null,null,this.getTagsForStencil("mxgraph.mockup.menus_and_buttons","font_style_selector_3","mockup form ").join(" ")),this.createVertexTemplateEntry(c+"forms.searchBox;"+f+"mainText\x3d;fillColor\x3d#ffffff;strokeColor2\x3d#008cff;fontColor\x3d#666666;fontSize\x3d17;align\x3dleft;spacingLeft\x3d3;",150,30,"Search","Search Box",null,null,this.getTagsForStencil("mxgraph.mockup.forms",
"searchBox","mockup form ").join(" ")),this.addEntry("mockup form sign in",function(){var a=new mxCell("",new mxGeometry(0,0,200,300),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;");a.vertex=!0;var d=new mxCell("Sign In",new mxGeometry(0,0,100,20),c+"forms.anchor;fontSize\x3d12;fontColor\x3d#666666;align\x3dleft;resizeWidth\x3d1;spacingLeft\x3d0;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(10,10);d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(0,0,180,10),
"shape\x3dline;strokeColor\x3d#ddeeff;strokeWidth\x3d2;html\x3d1;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(10,30);d.vertex=!0;a.insert(d);d=new mxCell("User Name:",new mxGeometry(0,0,100,20),c+"forms.anchor;fontSize\x3d12;fontColor\x3d#666666;align\x3dleft;resizeWidth\x3d1;spacingLeft\x3d0;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(10,40);d.vertex=!0;a.insert(d);d=new mxCell("johndoe",new mxGeometry(0,0,150,25),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d5;resizeWidth\x3d1;");
d.geometry.relative=!0;d.geometry.offset=new mxPoint(10,60);d.vertex=!0;a.insert(d);d=new mxCell("Password:",new mxGeometry(0,0,100,20),c+"forms.anchor;fontSize\x3d12;fontColor\x3d#666666;align\x3dleft;resizeWidth\x3d1;spacingLeft\x3d0;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(10,95);d.vertex=!0;a.insert(d);d=new mxCell("********",new mxGeometry(0,0,150,25),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d5;resizeWidth\x3d1;");d.geometry.relative=
!0;d.geometry.offset=new mxPoint(10,115);d.vertex=!0;a.insert(d);d=new mxCell("SIGN IN",new mxGeometry(0,1,80,30),c+"forms.rrect;rSize\x3d5;strokeColor\x3dnone;fontColor\x3d#ffffff;fillColor\x3d#66bbff;fontSize\x3d16;fontStyle\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(20,-150);d.vertex=!0;a.insert(d);d=new mxCell("Forgot Password?",new mxGeometry(0,1,150,20),c+"forms.anchor;fontSize\x3d12;fontColor\x3d#9999ff;align\x3dleft;spacingLeft\x3d0;fontStyle\x3d4;resizeWidth\x3d1;");d.geometry.relative=
!0;d.geometry.offset=new mxPoint(10,-110);d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(0,1,180,10),"shape\x3dline;strokeColor\x3d#ddeeff;strokeWidth\x3d2;html\x3d1;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(10,-90);d.vertex=!0;a.insert(d);d=new mxCell("New User",new mxGeometry(0,1,150,20),c+"forms.anchor;fontSize\x3d12;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d0;resizeWidth\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(10,-70);d.vertex=
!0;a.insert(d);d=new mxCell("SIGN UP",new mxGeometry(0,1,80,30),c+"forms.rrect;rSize\x3d5;strokeColor\x3dnone;fontColor\x3d#ffffff;fillColor\x3d#66bbff;fontSize\x3d16;fontStyle\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(20,-50);d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Sign In")}),this.addEntry("mockup form calendar date",function(){var a=new mxCell("",new mxGeometry(0,0,160,175),c+"forms.rrect;rSize\x3d5;strokeColor\x3d#999999;fillColor\x3d#ffffff;");
a.vertex=!0;var d=new mxCell("October 2014",new mxGeometry(30,8,100,20),c+"forms.anchor;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("\x3c",new mxGeometry(8,8,25,20),c+"forms.rrect;rSize\x3d4;strokeColor\x3d#999999;fontColor\x3d#008cff;fontSize\x3d19;fontStyle\x3d1;");d.vertex=!0;a.insert(d);d=new mxCell("\x3e",new mxGeometry(127,8,25,20),c+"forms.rrect;rSize\x3d4;strokeColor\x3d#999999;fontColor\x3d#008cff;fontSize\x3d19;fontStyle\x3d1;");d.vertex=!0;a.insert(d);d=new mxCell("Mo",
new mxGeometry(10,28,20,20),c+"forms.anchor;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("Tu",new mxGeometry(30,28,20,20),c+"forms.anchor;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("We",new mxGeometry(50,28,20,20),c+"forms.anchor;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("Th",new mxGeometry(70,28,20,20),c+"forms.anchor;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("Fr",new mxGeometry(90,28,20,20),c+"forms.anchor;fontColor\x3d#999999;");
d.vertex=!0;a.insert(d);d=new mxCell("Sa",new mxGeometry(110,28,20,20),c+"forms.anchor;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("Su",new mxGeometry(130,28,20,20),c+"forms.anchor;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("1",new mxGeometry(10,48,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("2",new mxGeometry(30,48,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");
d.vertex=!0;a.insert(d);d=new mxCell("3",new mxGeometry(50,48,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("4",new mxGeometry(70,48,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("5",new mxGeometry(90,48,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("6",new mxGeometry(110,48,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");
d.vertex=!0;a.insert(d);d=new mxCell("7",new mxGeometry(130,48,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("8",new mxGeometry(10,68,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("9",new mxGeometry(30,68,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("10",new mxGeometry(50,68,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");
d.vertex=!0;a.insert(d);d=new mxCell("11",new mxGeometry(70,68,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("12",new mxGeometry(90,68,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("13",new mxGeometry(110,68,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("14",new mxGeometry(130,68,20,20),
c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("15",new mxGeometry(10,88,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("16",new mxGeometry(30,88,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("17",new mxGeometry(50,88,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");
d.vertex=!0;a.insert(d);d=new mxCell("18",new mxGeometry(70,88,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("19",new mxGeometry(90,88,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("20",new mxGeometry(110,88,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("21",new mxGeometry(130,88,20,20),
c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("22",new mxGeometry(10,108,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("23",new mxGeometry(30,108,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("25",new mxGeometry(70,108,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");
d.vertex=!0;a.insert(d);d=new mxCell("26",new mxGeometry(90,108,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("27",new mxGeometry(110,108,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("28",new mxGeometry(130,108,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("29",new mxGeometry(10,128,20,
20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("30",new mxGeometry(30,128,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("31",new mxGeometry(50,128,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;");d.vertex=!0;a.insert(d);d=new mxCell("1",new mxGeometry(70,128,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");
d.vertex=!0;a.insert(d);d=new mxCell("2",new mxGeometry(90,128,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");d.vertex=!0;a.insert(d);d=new mxCell("3",new mxGeometry(110,128,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");d.vertex=!0;a.insert(d);d=new mxCell("4",new mxGeometry(130,128,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");d.vertex=
!0;a.insert(d);d=new mxCell("5",new mxGeometry(10,148,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");d.vertex=!0;a.insert(d);d=new mxCell("6",new mxGeometry(30,148,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");d.vertex=!0;a.insert(d);d=new mxCell("7",new mxGeometry(50,148,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");d.vertex=!0;a.insert(d);
d=new mxCell("8",new mxGeometry(70,148,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");d.vertex=!0;a.insert(d);d=new mxCell("9",new mxGeometry(90,148,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");d.vertex=!0;a.insert(d);d=new mxCell("10",new mxGeometry(110,148,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");d.vertex=!0;a.insert(d);d=new mxCell("11",
new mxGeometry(130,148,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#999999;fillColor\x3d#ddeeff;");d.vertex=!0;a.insert(d);d=new mxCell("24",new mxGeometry(50,108,20,20),c+"forms.rrect;rSize\x3d0;strokeColor\x3d#ff0000;fontColor\x3d#ffffff;strokeWidth\x3d2;fillColor\x3d#008cff;");d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Calendar")}),this.addEntry("mockup form email",function(){var a=new mxCell("From",new mxGeometry(0,
0,50,18),c+"forms.anchor;align\x3dright;spacingRight\x3d2;fontColor\x3d#666666;");a.vertex=!0;var d=new mxCell("john@jgraph.com",new mxGeometry(50,0,350,18),c+"forms.rrect;fillColor\x3d#ffffff;rSize\x3d0;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d3;strokeColor\x3d#999999;");d.vertex=!0;var e=new mxCell("Subject",new mxGeometry(0,35,50,18),c+"forms.anchor;align\x3dright;spacingRight\x3d2;fontColor\x3d#666666;");e.vertex=!0;var f=new mxCell("Greeting",new mxGeometry(50,35,350,18),c+"forms.rrect;fillColor\x3d#ffffff;rSize\x3d0;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d3;strokeColor\x3d#999999;");
f.vertex=!0;var m=new mxCell("To",new mxGeometry(0,70,50,18),c+"forms.anchor;align\x3dright;spacingRight\x3d2;fontColor\x3d#666666;");m.vertex=!0;var p=new mxCell("fred@jgraph.com",new mxGeometry(50,70,350,18),c+"forms.rrect;fillColor\x3d#ffffff;rSize\x3d0;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d3;strokeColor\x3d#999999;");p.vertex=!0;var r=new mxCell("CC",new mxGeometry(0,105,50,18),c+"forms.anchor;align\x3dright;spacingRight\x3d2;fontColor\x3d#666666;");r.vertex=!0;var s=new mxCell("",
new mxGeometry(50,105,350,18),c+"forms.rrect;fillColor\x3d#ffffff;rSize\x3d0;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d3;strokeColor\x3d#999999;");s.vertex=!0;var q=new mxCell("BCC",new mxGeometry(0,140,50,18),c+"forms.anchor;align\x3dright;spacingRight\x3d2;fontColor\x3d#666666;");q.vertex=!0;var u=new mxCell("",new mxGeometry(50,140,350,18),c+"forms.rrect;fillColor\x3d#ffffff;rSize\x3d0;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d3;strokeColor\x3d#999999;");u.vertex=!0;var t=new mxCell("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
new mxGeometry(0,175,400,125),c+"forms.rrect;fillColor\x3d#ffffff;rSize\x3d0;fontColor\x3d#666666;align\x3dleft;spacingLeft\x3d3;strokeColor\x3d#999999;verticalAlign\x3dtop;whiteSpace\x3dwrap;");t.vertex=!0;return b.createVertexTemplateFromCells([a,d,e,f,m,p,r,s,q,u,t],400,300,"Email")})];this.addPalette("mockupForms","Mockup Forms",!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addMockupGraphicsPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+
"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",c=mxConstants.STYLE_STROKEWIDTH+"\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",f=mxConstants.STYLE_FILLCOLOR+"\x3d#ffffff;",d=mxConstants.STYLE_STROKECOLOR+"\x3dnone;",b=this,e=[this.createVertexTemplateEntry(a+"graphics.barChart;"+f+d+"strokeColor2\x3dnone;strokeColor3\x3d#666666;fillColor2\x3d#008cff;fillColor3\x3d#dddddd;",
400,200,"","Bar Chart",null,null,this.getTagsForStencil("mxgraph.mockup.graphics","barChart","mockup graphics ").join(" ")),this.createVertexTemplateEntry(a+"graphics.columnChart;"+f+d+"strokeColor2\x3dnone;strokeColor3\x3d#666666;fillColor2\x3d#008cff;fillColor3\x3d#dddddd;",400,200,"","Column Chart",null,null,this.getTagsForStencil("mxgraph.mockup.graphics","columnChart","mockup graphics ").join(" ")),this.createVertexTemplateEntry(a+"graphics.lineChart;"+f+d+"strokeColor2\x3d#666666;strokeColor3\x3d#008cff;strokeColor4\x3d#dddddd;",
400,200,"","Line Chart",null,null,this.getTagsForStencil("mxgraph.mockup.graphics","lineChart","mockup graphics ").join(" ")),this.createVertexTemplateEntry(a+"graphics.pieChart;"+mxConstants.STYLE_STROKECOLOR+"\x3d#008cff;parts\x3d10,20,35;partColors\x3d#e0e0e0,#d0d0d0,#c0c0c0,#b0b0b0,#a0a0a0;strokeWidth\x3d2;",200,200,"","Pie Chart",null,null,this.getTagsForStencil("mxgraph.mockup.graphics","pieChart","mockup graphics ").join(" ")),this.createVertexTemplateEntry(a+"graphics.simpleIcon;strokeColor\x3d#999999;fillColor\x3d#ffffff;",
50,50,"","Icon Placeholder",null,null,this.getTagsForStencil("mxgraph.mockup.graphics","simpleIcon","mockup graphics icon placeholder").join(" ")),this.addEntry("mockup graphics icon grid placeholder",function(){var c=new mxCell("",new mxGeometry(0,0,50,50),a+"graphics.simpleIcon;strokeColor\x3d#999999;fillColor\x3d#ffffff;");c.vertex=!0;var d=new mxCell("",new mxGeometry(75,0,50,50),a+"graphics.simpleIcon;strokeColor\x3d#999999;fillColor\x3d#ffffff;");d.vertex=!0;var e=new mxCell("",new mxGeometry(150,
0,50,50),a+"graphics.simpleIcon;strokeColor\x3d#999999;fillColor\x3d#ffffff;");e.vertex=!0;var f=new mxCell("",new mxGeometry(0,75,50,50),a+"graphics.simpleIcon;strokeColor\x3d#999999;fillColor\x3d#ffffff;");f.vertex=!0;var m=new mxCell("",new mxGeometry(75,75,50,50),a+"graphics.simpleIcon;strokeColor\x3d#999999;fillColor\x3d#ffffff;");m.vertex=!0;var p=new mxCell("",new mxGeometry(150,75,50,50),a+"graphics.simpleIcon;strokeColor\x3d#999999;fillColor\x3d#ffffff;");p.vertex=!0;var r=new mxCell("",
new mxGeometry(0,150,50,50),a+"graphics.simpleIcon;strokeColor\x3d#999999;fillColor\x3d#ffffff;");r.vertex=!0;var s=new mxCell("",new mxGeometry(75,150,50,50),a+"graphics.simpleIcon;strokeColor\x3d#999999;fillColor\x3d#ffffff;");s.vertex=!0;var q=new mxCell("",new mxGeometry(150,150,50,50),a+"graphics.simpleIcon;strokeColor\x3d#999999;fillColor\x3d#ffffff;");q.vertex=!0;return b.createVertexTemplateFromCells([c,d,e,f,m,p,r,s,q],200,200,"Icon Grid")}),this.createVertexTemplateEntry(a+"graphics.bubbleChart;"+
f+d+"strokeColor2\x3dnone;strokeColor3\x3d#666666;fillColor2\x3d#008cff;fillColor3\x3d#dddddd;",400,200,"","Bubble Chart",null,null,this.getTagsForStencil("mxgraph.mockup.graphics","bubbleChart","mockup graphics bubble chart").join(" ")),this.addEntry("mockup graphics gauge",function(){var d=new mxCell("",new mxGeometry(0,0,100,100),a+"graphics.gauge;fillColor\x3d#ffffff;strokeColor\x3d#999999;gaugePos\x3d25;scaleColors\x3d#bbddff,#ddeeff,#99ccff;gaugeLabels\x3d,,;needleColor\x3d#008cff;");d.vertex=
!0;var e=new mxCell("CPU[%]",new mxGeometry(25,20,50,20),c+"graphics.anchor;fontColor\x3d#666666;");e.vertex=!0;d.insert(e);e=new mxCell("0",new mxGeometry(20,75,50,20),c+"graphics.anchor;align\x3dleft;fontColor\x3d#666666;");e.vertex=!0;d.insert(e);e=new mxCell("100",new mxGeometry(30,75,50,20),c+"graphics.anchor;align\x3dright;fontColor\x3d#666666;");e.vertex=!0;d.insert(e);return b.createVertexTemplateFromCells([d],d.geometry.width,d.geometry.height,"Gauge")}),this.createVertexTemplateEntry(a+
"graphics.plotChart;"+f+mxConstants.STYLE_STROKECOLOR+"\x3dnone;strokeColor2\x3d#aaaaaa;strokeColor3\x3d#666666;fillColor2\x3d#99aaff,#0022ff,#008cff;",400,200,"","Plot Chart",null,null,this.getTagsForStencil("mxgraph.mockup.graphics","plotChart","mockup graphics plot chart").join(" ")),this.addEntry("mockup graphics gantt chart",function(){var a=new mxCell("",new mxGeometry(0,0,600,300),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;");a.vertex=!0;var d=new mxCell("#",new mxGeometry(0,0,20,
40),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("Task",new mxGeometry(20,0,40,40),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("Start",new mxGeometry(60,0,130,40),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("Effort",new mxGeometry(190,0,50,40),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");
d.vertex=!0;a.insert(d);d=new mxCell("20//10//2014",new mxGeometry(240,0,210,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("27//10//2014",new mxGeometry(450,0,150,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("M",new mxGeometry(240,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("T",
new mxGeometry(270,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("W",new mxGeometry(300,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("T",new mxGeometry(330,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("F",new mxGeometry(360,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");
d.vertex=!0;a.insert(d);d=new mxCell("S",new mxGeometry(390,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("S",new mxGeometry(420,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("M",new mxGeometry(450,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("T",new mxGeometry(480,20,
30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("W",new mxGeometry(510,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("T",new mxGeometry(540,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("F",new mxGeometry(570,20,30,20),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");
d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(0,40,240,260),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(240,40,60,260),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(300,40,60,260),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(360,40,60,
260),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(420,40,60,260),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(480,40,60,260),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(540,40,60,260),c+"graphics.rrect;rSize\x3d0;strokeColor\x3d#999999;fontColor\x3d#666666;");
d.vertex=!0;a.insert(d);d=new mxCell("1",new mxGeometry(0,40,20,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("Task 1",new mxGeometry(20,40,40,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("20//10//2014 8:00 AM",new mxGeometry(60,40,130,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("40h",new mxGeometry(190,40,50,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=
new mxCell("2",new mxGeometry(0,60,20,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("Task 2",new mxGeometry(20,60,40,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("20//10//2014 8:00 AM",new mxGeometry(60,60,130,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("40h",new mxGeometry(190,60,50,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("3",new mxGeometry(0,
80,20,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("Task 3",new mxGeometry(20,80,40,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("20//10//2014 8:00 AM",new mxGeometry(60,80,130,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("40h",new mxGeometry(190,80,50,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("4",new mxGeometry(0,100,20,20),c+"graphics.anchor;fontColor\x3d#666666;");
d.vertex=!0;a.insert(d);d=new mxCell("Task 4",new mxGeometry(20,100,40,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("20//10//2014 8:00 AM",new mxGeometry(60,100,130,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("40h",new mxGeometry(190,100,50,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(250,45,130,10),c+"graphics.rrect;rSize\x3d0;strokeColor\x3dnone;fillColor\x3d#aaddff;");
d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(250,65,40,10),c+"graphics.rrect;rSize\x3d0;strokeColor\x3dnone;fillColor\x3d#aaddff;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(280,85,100,10),c+"graphics.rrect;rSize\x3d0;strokeColor\x3dnone;fillColor\x3d#aaddff;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(340,105,70,10),c+"graphics.rrect;rSize\x3d0;strokeColor\x3dnone;fillColor\x3d#aaddff;");d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,
a.geometry.height,"Gantt Chart")}),this.createVertexTemplateEntry(a+"misc.map;",250,250,"","Map",null,null,this.getTagsForStencil("mxgraph.mockup.graphics","map","mockup graphics ").join(" "))];this.addPalette("mockupGraphics","Mockup Graphics",!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addMockupMarkupPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+
"\x3dtop;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",c=mxConstants.STYLE_STROKECOLOR+"\x3d#999999;",f=mxConstants.STYLE_STROKECOLOR+"\x3dnone;";this.addPaletteFunctions("mockupMarkup","Mockup Markup",!1,[this.createVertexTemplateEntry(a+"markup.curlyBrace;"+c,100,20,"","Horizontal Curly Brace",null,null,this.getTagsForStencil("mxgraph.mockup.markup","curlyBrace","horizontal").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_LABEL_POSITION+"\x3dright;"+mxConstants.STYLE_ALIGN+
"\x3dleft;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.markup.curlyBrace;html\x3d1;shadow\x3d0;dashed\x3d0;"+c+mxConstants.STYLE_DIRECTION+"\x3d"+mxConstants.DIRECTION_NORTH+";",20,100,"","Vertical Curly Brace",null,null,this.getTagsForStencil("mxgraph.mockup.markup","curlyBrace","vertical").join(" ")),this.createVertexTemplateEntry(a+"markup.line;"+c,100,20,"","Horizontal Line",null,null,this.getTagsForStencil("mxgraph.mockup.markup","line","horizontal").join(" ")),this.createVertexTemplateEntry(a+
"markup.line;"+c+mxConstants.STYLE_DIRECTION+"\x3d"+mxConstants.DIRECTION_NORTH+";",20,100,"","Vertical Line",null,null,this.getTagsForStencil("mxgraph.mockup.markup","line","vertical").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.markup.scratchOut;shadow\x3d0;dashed\x3d0;html\x3d1;"+c+"strokeWidth\x3d4;",200,100,"","Scratch Out",null,null,this.getTagsForStencil("mxgraph.mockup.markup","scratchOut","scratch out").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE+
"\x3dmxgraph.mockup.markup.redX;fillColor\x3d#ff0000;html\x3d1;shadow\x3d0;"+f,200,100,"","Red X",null,null,this.getTagsForStencil("mxgraph.mockup.markup","redX","red").join(" "))])};Sidebar.prototype.addMockupMiscPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",c=mxConstants.STYLE_STROKEWIDTH+"\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+
mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",f=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dtop;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dbottom;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",d=mxConstants.STYLE_STROKECOLOR+"\x3d#999999;",b=mxConstants.STYLE_STROKECOLOR+"\x3dnone;",e=this,g=d+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeWidth\x3d2;html\x3d1;"+
mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",k=[this.createVertexTemplateEntry(a+"misc.help_icon;",32,32,"","Help Icon",null,null,this.getTagsForStencil("mxgraph.mockup.misc","help_icon","mockup ").join(" ")),this.createVertexTemplateEntry(a+"misc.playbackControls;fillColor\x3d#ffffff;"+d+"fillColor2\x3d#99ddff;strokeColor2\x3dnone;fillColor3\x3d#ffffff;strokeColor3\x3dnone;",250,30,"","Playback Controls",null,null,this.getTagsForStencil("mxgraph.mockup.misc","playbackControls","mockup ").join(" ")),
this.createVertexTemplateEntry(a+"misc.progressBar;fillColor\x3d#cccccc;"+b+"fillColor2\x3d#99ddff;barPos\x3d80;",200,20,"","Progress Bar",null,null,this.getTagsForStencil("mxgraph.mockup.misc","progress bar","mockup ").join(" ")),this.createVertexTemplateEntry(a+"misc.shoppingCart;"+d,50,50,"","Shopping Cart",null,null,this.getTagsForStencil("mxgraph.mockup.misc","shopping cart","mockup ").join(" ")),this.createVertexTemplateEntry(a+"misc.rating;"+d+mxConstants.STYLE_FILLCOLOR+"\x3d#ffff00;emptyFillColor\x3d#ffffff;grade\x3d4;ratingScale\x3d5;ratingStyle\x3dstar;",
225,30,"","Rating",null,null,this.getTagsForStencil("mxgraph.mockup.misc","rating","mockup ").join(" ")),this.createVertexTemplateEntry(a+"misc.mail2;fillColor\x3d#ffffff;"+d,100,60,"","Mail",null,null,this.getTagsForStencil("mxgraph.mockup.misc","mail","mockup ").join(" ")),this.createVertexTemplateEntry(a+"misc.volumeSlider;barPos\x3d80;fillColor\x3d#cccccc;"+d+"fillColor2\x3d#ddeeff;",250,30,"","Volume Slider",null,null,this.getTagsForStencil("mxgraph.mockup.misc","volume slider","mockup ").join(" ")),
this.createVertexTemplateEntry(g+"misc.editIcon;",50,50,"","Edit Icon",null,null,this.getTagsForStencil("mxgraph.mockup.misc","editIcon","mockup edit icon").join(" ")),this.createVertexTemplateEntry(g+"misc.printIcon;",50,50,"","Print Icon",null,null,this.getTagsForStencil("mxgraph.mockup.misc","printIcon","mockup print icon").join(" ")),this.createVertexTemplateEntry(g+"misc.shareIcon;",50,50,"","Share Icon",null,null,this.getTagsForStencil("mxgraph.mockup.misc","shareIcon","mockup share icon").join(" ")),
this.createVertexTemplateEntry(g+"misc.trashcanIcon;",50,50,"","Trashcan Icon",null,null,this.getTagsForStencil("mxgraph.mockup.misc","trashcanIcon","mockup trashcan icon").join(" ")),this.createVertexTemplateEntry(g+"misc.copyrightIcon;",25,25,"","Copyright",null,null,this.getTagsForStencil("mxgraph.mockup.misc","copyrightIcon","mockup copyright icon").join(" ")),this.createVertexTemplateEntry(g+"misc.registeredIcon;",25,25,"","Registered",null,null,this.getTagsForStencil("mxgraph.mockup.misc","registeredIcon",
"mockup registered icon").join(" ")),this.createVertexTemplateEntry(g+"misc.volumeIcon;",25,25,"","Volume",null,null,this.getTagsForStencil("mxgraph.mockup.misc","volumeIcon","mockup volume icon").join(" ")),this.createVertexTemplateEntry(c+"misc.ruler2;dx\x3d100;rulerOrient\x3ddown;unitSize\x3d10;fillColor\x3d#ffffff;fontColor\x3d#999999;spacingLeft\x3d96;align\x3dleft;verticalAlign\x3dmiddle;spacingBottom\x3d10;spacingTop\x3d0;spacingRight\x3d0;spacing\x3d0;"+d,350,30,"1","Horizontal Ruler",null,
null,this.getTagsForStencil("mxgraph.mockup.misc","ruler","mockup horizontal").join(" ")),this.createVertexTemplateEntry(c+"misc.ruler2;dx\x3d100;rulerOrient\x3dup;unitSize\x3d10;fillColor\x3d#ffffff;fontColor\x3d#999999;spacingLeft\x3d96;align\x3dleft;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingTop\x3d10;spacingRight\x3d0;spacing\x3d0;"+d,350,30,"1","Horizontal Ruler",null,null,this.getTagsForStencil("mxgraph.mockup.misc","ruler","mockup horizontal").join(" ")),this.createVertexTemplateEntry(c+
"misc.ruler2;dx\x3d100;rulerOrient\x3ddown;unitSize\x3d10;fillColor\x3d#ffffff;fontColor\x3d#999999;spacingLeft\x3d96;align\x3dleft;verticalAlign\x3dmiddle;spacingBottom\x3d10;spacingTop\x3d0;spacingRight\x3d0;rotation\x3d-90;spacing\x3d0;"+d,350,30,"1","Vertical Ruler",null,null,this.getTagsForStencil("mxgraph.mockup.misc","ruler","mockup horizontal").join(" ")),this.createVertexTemplateEntry(c+"misc.ruler2;dx\x3d100;rulerOrient\x3dup;unitSize\x3d10;fillColor\x3d#ffffff;fontColor\x3d#999999;spacingLeft\x3d96;align\x3dleft;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingTop\x3d10;spacingRight\x3d0;rotation\x3d-90;spacing\x3d0;"+
d,350,30,"1","Vertical Ruler",null,null,this.getTagsForStencil("mxgraph.mockup.misc","ruler","mockup horizontal").join(" ")),this.addEntry("mockup revision table",function(){var b=new mxCell("",new mxGeometry(0,0,400,75),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;");b.vertex=!0;var a=new mxCell("REVISION HISTORY",new mxGeometry(0,0,400,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);a=new mxCell("REV",new mxGeometry(0,25,50,25),
c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);a=new mxCell("DATE",new mxGeometry(50,25,150,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);a=new mxCell("DESCRIPTION",new mxGeometry(200,25,200,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);a=new mxCell("A",new mxGeometry(0,50,50,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");
a.vertex=!0;b.insert(a);a=new mxCell("10/23/2014",new mxGeometry(50,50,150,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);a=new mxCell("Design modified",new mxGeometry(200,50,200,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);return e.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Revision Table")}),this.addEntry("mockup status bar",function(){var b=
new mxCell("",new mxGeometry(0,0,500,30),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;");b.vertex=!0;var a=new mxCell("Status text",new mxGeometry(5,5,195,20),c+"misc.rrect;rSize\x3d5;strokeColor\x3dnone;fontSize\x3d15;fontColor\x3d#999999;fillColor\x3d#ddeeff;align\x3dleft;spacingLeft\x3d5;");a.vertex=!0;b.insert(a);a=new mxCell("Text 2",new mxGeometry(205,5,100,20),c+"misc.rrect;rSize\x3d5;strokeColor\x3dnone;fontSize\x3d15;fontColor\x3d#999999;fillColor\x3d#ddeeff;align\x3dleft;spacingLeft\x3d5;");
a.vertex=!0;b.insert(a);a=new mxCell("Text 3",new mxGeometry(310,5,115,20),c+"misc.rrect;rSize\x3d5;strokeColor\x3dnone;fontSize\x3d15;fontColor\x3d#999999;fillColor\x3d#ddeeff;align\x3dleft;spacingLeft\x3d5;");a.vertex=!0;b.insert(a);a=new mxCell("",new mxGeometry(495,15,0,0),c+"misc.anchor;");a.vertex=!0;b.insert(a);var d=new mxCell("",new mxGeometry(-20,-10,20,20),"shape\x3dellipse;fillColor\x3dnone;strokeColor\x3d#008cff;resizable\x3d0;html\x3d1;");d.vertex=!0;a.insert(d);a=new mxCell("",new mxGeometry(465,
15,0,0),c+"misc.anchor;");a.vertex=!0;b.insert(a);d=new mxCell("",new mxGeometry(-20,5,20,10),"shape\x3dline;strokeColor\x3d#008cff;resizable\x3d0;");d.vertex=!0;a.insert(d);return e.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Status Bar")}),this.createVertexTemplateEntry(f+"misc.pin;fillColor2\x3d#00dd00;fillColor3\x3d#004400;strokeColor\x3d#006600;",10,25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" ")),this.createVertexTemplateEntry(f+
"misc.pin;fillColor2\x3d#dd0000;fillColor3\x3d#440000;strokeColor\x3d#660000;",10,25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" ")),this.createVertexTemplateEntry(f+"misc.pin;fillColor2\x3d#ccccff;fillColor3\x3d#0000ff;strokeColor\x3d#000066;",10,25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" ")),this.createVertexTemplateEntry(f+"misc.pin;fillColor2\x3d#ffff00;fillColor3\x3d#888800;strokeColor\x3d#999900;",10,
25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" ")),this.createVertexTemplateEntry(f+"misc.pin;fillColor2\x3d#ffa500;fillColor3\x3d#885000;strokeColor\x3d#997000;",10,25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" "))];this.addPalette("mockupMisc","Mockup Misc",!1,mxUtils.bind(this,function(b){for(var a=0;a<k.length;a++)b.appendChild(k[a](b))}))};Sidebar.prototype.addMockupNavigationPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+
"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",c=mxConstants.STYLE_STROKEWIDTH+"\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",f=mxConstants.STYLE_STROKECOLOR+"\x3d#999999;",d=this,b=[this.addEntry("mockup navigation status bar",function(){var b=new mxCell("Layer 1",new mxGeometry(0,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;");
b.vertex=!0;var a=new mxCell("\x3e",new mxGeometry(60,0,20,30),c+"navigation.anchor;fontSize\x3d24;fontColor\x3d#aaaaaa;fontStyle\x3d1;");a.vertex=!0;var f=new mxCell("Layer 2",new mxGeometry(80,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;");f.vertex=!0;var l=new mxCell("\x3e",new mxGeometry(140,0,20,30),c+"navigation.anchor;fontSize\x3d24;fontColor\x3d#aaaaaa;fontStyle\x3d1;");l.vertex=!0;var n=new mxCell("Layer 3",new mxGeometry(160,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;");
n.vertex=!0;var m=new mxCell("\x3e",new mxGeometry(220,0,20,30),c+"navigation.anchor;fontSize\x3d24;fontColor\x3d#aaaaaa;fontStyle\x3d1;");m.vertex=!0;var p=new mxCell("Layer 4",new mxGeometry(240,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#008cff;fontStyle\x3d1;");p.vertex=!0;return d.createVertexTemplateFromCells([b,a,f,l,n,m,p],300,30,"Status Bar")}),this.createVertexTemplateEntry(c+"navigation.stepBar;strokeColor\x3d#c4c4c4;textColor\x3d#666666;textColor2\x3d#008cff;mainText\x3d,,+,;textSize\x3d17;fillColor\x3d#666666;overflow\x3dfill;fontSize\x3d17;fontColor\x3d#666666;",
300,50,'\x3ctable border\x3d"0" cellpadding\x3d"0" cellspacing\x3d"0" width\x3d"100%" height\x3d"100%" style\x3d"font-size:1em;"\x3e\x3ctr height\x3d"0%"\x3e\x3ctd width\x3d"25%"\x3eLayer 1\x3c/td\x3e\x3ctd width\x3d"25%"\x3eLayer 2\x3c/td\x3e\x3ctd width\x3d"25%" style\x3d"color:#008cff;"\x3eLayer 3\x3c/td\x3e\x3ctd width\x3d"25%"\x3eLayer 4\x3c/td\x3e\x3c/tr\x3e\x3ctr height\x3d"100%"\x3e\x3ctd/\x3e\x3c/tr\x3e\x3c/table\x3e',"Step Bar",null,null,this.getTagsForStencil("mxgraph.mockup.navigation",
"stepBar","mockup navigation ").join(" ")),this.createVertexTemplateEntry(a+"navigation.coverFlow;strokeColor\x3d#999999;fillColor\x3d#ffffff;",400,200,"","Cover Flow",null,null,this.getTagsForStencil("mxgraph.mockup.navigation","coverFlow","mockup navigation ").join(" ")),this.createVertexTemplateEntry(a+"navigation.scrollBar;fillColor\x3d#ffffff;"+f+"barPos\x3d20;fillColor2\x3d#99ddff;strokeColor2\x3dnone;",200,20,"","Horizontal Scroll Bar",null,null,this.getTagsForStencil("mxgraph.mockup.navigation",
"scrollBar","mockup navigation ").join(" ")),this.createVertexTemplateEntry(a+"navigation.scrollBar;fillColor\x3d#ffffff;"+f+"barPos\x3d20;fillColor2\x3d#99ddff;strokeColor2\x3dnone;direction\x3dnorth;",20,200,"","Vertical Scroll Bar",null,null,this.getTagsForStencil("mxgraph.mockup.navigation","scrollBar","mockup navigation ").join(" ")),this.createVertexTemplateEntry(c+"navigation.pagination;linkText\x3d;fontSize\x3d17;fontColor\x3d#0000ff;fontStyle\x3d4;",350,30,"\x3c\x3c Prev 1 2 3 4 5 6 7 8 9 10 Next \x3e\x3e",
"Pagination",null,null,this.getTagsForStencil("mxgraph.mockup.navigation","pagination","mockup navigation ").join(" ")),this.createVertexTemplateEntry(a+"navigation.pageControl;fillColor\x3d#999999;strokeColor\x3d#ddeeff;",100,30,"","Page Control",null,null,this.getTagsForStencil("mxgraph.mockup.navigation","pageControl","mockup navigation ").join(" ")),this.createVertexTemplateEntry(a+"navigation.mapNavigator;fillColor\x3d#ffffff;fillColor2\x3d#99ddff;strokeColor2\x3dnone;strokeColor3\x3d#ffffff;"+
f,60,100,"","Map Navigator",null,null,this.getTagsForStencil("mxgraph.mockup.navigation","mapNavigator","mockup navigation ").join(" ")),this.createVertexTemplateEntry(a+"misc.loading_circle_1;",90,90,"","Wheel Throbber 1",null,null,this.getTagsForStencil("mxgraph.mockup.navigation","loading_circle_1","mockup navigation ").join(" ")),this.createVertexTemplateEntry(a+"misc.loading_circle_2;",90,90,"","Wheel Throbber 2",null,null,this.getTagsForStencil("mxgraph.mockup.navigation","loading_circle_2",
"mockup navigation ").join(" "))];this.addPalette("mockupNavigation","Mockup Navigation",!1,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))};Sidebar.prototype.addMockupTextPalette=function(){var a=mxConstants.STYLE_STROKEWIDTH+"\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",c=mxConstants.STYLE_STROKECOLOR+"\x3d#666666;",f=mxConstants.STYLE_STROKECOLOR+"\x3dnone;",d=this,b=[this.createVertexTemplateEntry("shape\x3drectangle;strokeColor\x3dnone;fillColor\x3dnone;linkText\x3d;fontSize\x3d17;fontColor\x3d#0000ff;fontStyle\x3d4;html\x3d1;align\x3dcenter;",
150,30,"Link","Link",null,null,this.getTagsForStencil("mxgraph.mockup.text","link","mockup text ").join(" ")),this.addEntry("mockup text horizontal button bar",function(){var b=new mxCell("",new mxGeometry(0,0,500,25),a+"text.rrect;rSize\x3d0;fillColor\x3d#ffffff;strokeColor\x3d#666666;");b.vertex=!0;var c=new mxCell("Button 2",new mxGeometry(125,0,125,25),a+"text.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#0000ff;fillColor\x3dnone;strokeColor\x3d#666666;");c.vertex=!0;b.insert(c);c=new mxCell("Button 3",
new mxGeometry(250,0,125,25),a+"text.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#0000ff;fillColor\x3dnone;strokeColor\x3d#666666;");c.vertex=!0;b.insert(c);c=new mxCell("Button 4",new mxGeometry(375,0,125,25),a+"text.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#0000ff;fillColor\x3dnone;strokeColor\x3d#666666;");c.vertex=!0;b.insert(c);c=new mxCell("Button 1",new mxGeometry(0,0,125,25),a+"text.rrect;rSize\x3d0;fontSize\x3d17;fontColor\x3d#ffffff;fillColor\x3d#008cff;strokeColor\x3dnone;");c.vertex=
!0;b.insert(c);return d.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Horizontal Button Bar")}),this.createVertexTemplateEntry(a+"text.callout;linkText\x3d;textSize\x3d17;textColor\x3d#666666;callDir\x3dNW;callStyle\x3dline;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;verticalAlign\x3dtop;"+c,200,100,"Callout","Callout",null,null,this.getTagsForStencil("mxgraph.mockup.text","callout","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.callout;linkText\x3d;textSize\x3d17;textColor\x3d#666666;callDir\x3dNE;callStyle\x3dline;fontSize\x3d17;fontColor\x3d#666666;align\x3dright;verticalAlign\x3dtop;"+
c,200,100,"Callout","Callout",null,null,this.getTagsForStencil("mxgraph.mockup.text","callout","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.callout;linkText\x3d;textSize\x3d17;textColor\x3d#666666;callDir\x3dSW;callStyle\x3dline;fontSize\x3d17;fontColor\x3d#666666;align\x3dleft;verticalAlign\x3dbottom;"+c,200,100,"Callout","Callout",null,null,this.getTagsForStencil("mxgraph.mockup.text","callout","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.callout;linkText\x3d;textSize\x3d17;textColor\x3d#666666;callDir\x3dSE;callStyle\x3dline;fontSize\x3d17;fontColor\x3d#666666;align\x3dright;verticalAlign\x3dbottom;"+
c,200,100,"Callout","Callout",null,null,this.getTagsForStencil("mxgraph.mockup.text","callout","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.stickyNote;fontColor\x3d#666666;mainText\x3d;fontSize\x3d17;whiteSpace\x3dwrap;",200,200,"Note Line 1\nNote Line 2\nNote Line 3","Sticky Note",null,null,this.getTagsForStencil("mxgraph.mockup.text","stickyNote","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.bulletedList;textColor\x3d#666666;mainText\x3d,,,,;textSize\x3d17;bulletStyle\x3dnone;"+
f+mxConstants.STYLE_FILLCOLOR+"\x3dnone;align\x3dleft;verticalAlign\x3dtop;fontSize\x3d17;fontColor\x3d#666666;",150,135,"-Line 1\n-Line 2\n-Line 3\n-Line 4","Bulleted List",null,null,this.getTagsForStencil("mxgraph.mockup.text","bulletedList","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.textBox;fillColor\x3d#ffffff;fontColor\x3d#666666;align\x3dleft;fontSize\x3d17;spacingLeft\x3d4;spacingTop\x3d-3;"+c+"mainText\x3d",150,30,"Line 1","Text Box",null,null,this.getTagsForStencil("mxgraph.mockup.text",
"textBox","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.captcha;fillColor\x3d#ffffff;fontColor\x3d#666666;fontSize\x3d25;"+c+"mainText\x3d",150,50,"fG2yQ23","Captcha",null,null,this.getTagsForStencil("mxgraph.mockup.text","captcha","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.alphanumeric;linkText\x3d;html\x3d1;fontStyle\x3d4;fontSize\x3d17;fontColor\x3d#0000ff;",450,50,"0-9 A B C D E F G H I J K L M N O P Q R S T U V X Y Z","Alphanumeric",null,null,this.getTagsForStencil("mxgraph.mockup.text",
"alphanumeric","mockup text ").join(" ")),this.createVertexTemplateEntry("text;spacingTop\x3d-5;fillColor\x3d#ffffff;whiteSpace\x3dwrap;html\x3d1;align\x3dleft;fontSize\x3d12;fontFamily\x3dHelvetica;fillColor\x3dnone;strokeColor\x3dnone;",250,470,"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nSed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?",
"Paragraph of Text",null,null,this.getTagsForStencil("mxgraph.mockup.text","peragraph of text","mockup text ").join(" ")),this.addEntry("mockup text table",function(){var b=new mxCell('\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"1" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3cth\x3eHeader 1\x3c/th\x3e\x3cth\x3eHeader 2\x3c/th\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3erow 1, cell 1\x3c/td\x3e\x3ctd\x3erow 1, cell 2\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3erow 2, cell 1\x3c/td\x3e\x3ctd\x3erow 2, cell 2\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e ',
new mxGeometry(0,0,180,80),"verticalAlign\x3dtop;align\x3dleft;overflow\x3dfill;fillColor\x3d#ffffff;fontSize\x3d12;fontFamily\x3dHelvetica;html\x3d1");b.vertex=!0;return d.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Table")})];this.addPalette("mockupText","Mockup Text",!1,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}})();
(function(){Sidebar.prototype.addMSCAEPalette=function(){this.addMSCAEGeneralPalette();this.addMSCAECloudPalette();this.addMSCAEEnterprisePalette();this.addMSCAEIntunePalette();this.addMSCAEOtherPalette();this.addMSCAESystemCenterPalette();this.addMSCAEDeprecatedPalette()};Sidebar.prototype.addMSCAECloudPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.access_control;",
50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","access control","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.api_app;fillColor\x3d#0079D6;",45,50,"","API App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","api app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.api_management;fillColor\x3d#0079D6;",
50,45,"","API Management",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","api management","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.app_service;fillColor\x3d#0079D6;",50,50,"","App Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","app application service","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.application_insights;fillColor\x3d#0079D6;",32,50,"","Application Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","application insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.autoscale;",
50,30,"","Autoscaling",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","autoscaling autoscale","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.azure_automatic_load_balancer;fillColor\x3d#0079D6;",50,33,"","Azure Automatic Load Balancer",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","automatic load balancer",
"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.azure_active_directory;",47,50,"","Azure Active Directory",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure active directory","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.azure_alert;",
50,42,"","Azure Alert",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure alert","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.automation;",50,45,"","Azure Automation",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure automation","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.azure_batch;fillColor\x3d#0079D6;",47,40,"","Azure Batch",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","batch","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.azure_cache;",
45,50,"","Azure Cache including Redis",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure cache including redis","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.certificate;",50,40,"","Azure Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure certificate","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.azure_dns;fillColor\x3d#0079D6;",50,50,"","Azure DNS",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dns","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.azure_files_service;fillColor\x3d#0079D6;",
50,43,"","Azure Files Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","files service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.azure_load_balancer_feature;fillColor\x3d#0079D6;",50,50,"","Azure Load Balancer (feature)",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","load balancer feature",
"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.azure_marketplace;",40,50,"","Azure Marketplace",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure marketplace","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.azure_rights_management_rms;fillColor\x3d#0079D6;",
40,50,"","Azure Rights Management (RMS)",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","rights management rms","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.azure_sdk;",50,47,"","Azure SDK",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure sdk software development kit","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.azure_search;fillColor\x3d#0079D6;",50,35,"","Azure Search",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","search","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.sql_database_sql_azure;",
47,50,"","Azure SQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure sql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.azure_subscription;",50,35,"","Azure Subscription",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure subscription","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.azure_storage;fillColor\x3d#0079D6;",50,43,"","Azure Storage",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.backup_service;",
50,45,"","Backup Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","backup service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.bitbucket_code_source;",42,50,"","Bitbucket Code Source",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","bitbucket code source","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.biztalk_services;",50,50,"","Biztalk Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","biztalk services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.cloud_office_365;fillColor\x3d#DF3C01;",
50,30,"","Cloud Office 365",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cloud office 365","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.cloud_service;",50,40,"","Cloud Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cloud service","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.codeplex_code_source;",50,37,"","CodePlex",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","codeplex","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.content_delivery_network;",
50,32,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","content delivery network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.data_factory;fillColor\x3d#0079D6;",47,47,"","Data Factory",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data factory","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.documentdb;fillColor\x3d#0079D6;",38,50,"","DocumentDB",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","documentdb document db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.dropbox_code_source;",
50,47,"","Dropbox Code Source",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dropbox code source","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.event_hubs;fillColor\x3d#0079D6;",46,47,"","Event Hubs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","event_hubs","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.express_route;",50,30,"","Express Route",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","express route","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.git_repository;",
50,50,"","Git Repository",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","git repository","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.github_code;",50,50,"","GitHub",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","github code","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.hdinsight;fillColor\x3d#0079D6;",
50,36,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hdisight hd insight","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.health_monitoring;",50,42,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","health monitoring","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.healthy;",50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","healthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.hybrid_connection_manager;fillColor\x3d#0079D6;",
50,35,"","Hybrid Connection Manager",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hybrid connection manager","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.hybrid_connections;fillColor\x3d#0079D6;",47,50,"","Hybrid Connections",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hybrid connections",
"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.iot;fillColor\x3d#0079D6;",47,47,"","IoT",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","iot internet of things","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.key_vault;fillColor\x3d#0079D6;",
49,50,"","Key Vault",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","key vault","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.logic_app;fillColor\x3d#0079D6;",50,50,"","Logic App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","logic app application","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.machine_learning;fillColor\x3d#0079D6;",47,50,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine_learning","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.media_service;",
45,50,"","Media Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","media services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.microsoft_account;fillColor\x3d#0079D6;",50,50,"","Microsoft Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","microsoft account","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.microsoft_azure;fillColor\x3d#000000;",50,32,"","Microsoft Azure",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","microsoft","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.mobile_app;fillColor\x3d#0079D6;",
30,50,"","Mobile App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mobile app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.mobile_engagement;fillColor\x3d#0079D6;",30,50,"","Mobile Engagement",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mobile engagement","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.multi_factor_authentication;",25,50,"","Multi-Factor Authentication",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","multi factor authentication","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.mysql_database;",
37,50,"","MySQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mysql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.notification_hub;",50,50,"","Notification Hub",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","notification hub","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.notification_topic;",50,50,"","Notification Topic",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","notification topic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.office_365;fillColor\x3d#DF3C01;",
41,49,"","Office 365",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","office 365","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.office_365_subscription;fillColor\x3d#DF3C01;",50,34,"","Office 365 Subscription",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","office 365 subscription","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.operational_insights;fillColor\x3d#0079D6;",50,50,"","Operational Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","operational insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.operating_system_image;",
50,50,"","OS Image",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","os operating system image","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.rdp_remoting_file;",47,50,"","RDP Remoting File",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","rdp remoting file","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.remoteapp;fillColor\x3d#0079D6;",50,50,"","RemoteApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","remoteapp remote app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.resource_group;fillColor\x3d#0079D6;",
50,41,"","Resource Group",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","resource group","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.scheduler;",40,50,"","Scheduler",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","scheduler","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.service_bus;",
45,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.service_bus_queues;",42,50,"","Service Bus Queue",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus queue","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.service_bus_relay;",40,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus relay","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.service_bus_topics_and_subscriptions;",
45,50,"","Service Bus Topic",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus topic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.service_endpoint;fillColor\x3d#0079D6;",50,9,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service endpoint","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.service_fabric;fillColor\x3d#00BEF2;",50,50,"","Service Fabric",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service fabric","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.service_package;fillColor\x3d#0079D6;",
44,50,"","Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service package","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.hyper_v_recovery_manager;",50,45,"","Site Recovery",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","site recovery","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.sql_datasync;",37,50,"","SQL DataSync",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql datasync","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.sql_database;",
37,50,"","SQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.startup_task;",47,50,"","Startup Task",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","startup task","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.storage_blob;",
50,45,"","Storage Blob",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage blob","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.storage_queue;",50,45,"","Storage Queue",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage queue","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.storage_table;",50,45,"","Storage Table",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage table","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.storsimple;",
50,45,"","StorSimple",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storsimple","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.stream_analytics;fillColor\x3d#0079D6;",48,37,"","Stream Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","stream analytics","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.traffic_manager;",50,50,"","Traffic Manager",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","traffic manager","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.unidentified_code_object;",
50,42,"","Unidentified Feature Object",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","unidentified feature object","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.vhd;",40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vhd","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.vhd_data_disk;",37,50,"","VHD Data Disk",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vhd data disk","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.virtual_machine;",
50,40,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.virtual_machine_container;fillColor\x3d#0079D6;",49,43,"","Virtual Machine Container",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine container",
"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.virtual_network;",50,27,"","Virtual Network",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.visual_studio_online;",
50,37,"","Visual Studio Online",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","visual studio online","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.virtual_machine_feature;",50,45,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine","ms microsoft cloud enterprise ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.vpn_gateway;fillColor\x3d#0079D6;",32,50,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vpn gateway virtual private network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.azure_website;",
50,50,"","Web App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.web_role;",50,40,"","Web Role",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web role","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.web_roles;",
55,45,"","Web Roles",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web roles","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.webjobs;fillColor\x3d#0079D6;",51,50,"","WebJobs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","webjobs web jobs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.mscae.cloud.work_account;fillColor\x3d#0079D6;",
50,50,"","Work Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","work_account","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.worker_role;",50,40,"","Worker Role",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker role","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#0079D6;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.azure.worker_roles;",
55,45,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker roles","ms microsoft cloud enterprise ").join(" "))];this.addPalette("mscaeCloud","CAE / Cloud",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addMSCAEDeprecatedPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.deprecated.application;fillColor\x3d#00188D;",50,33,"","Application",
null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","application","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.hdinsight;fillColor\x3d#00BEF2;",50,50,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","hdinsight hd insight","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.operating_system_image;fillColor\x3d#0079D6;",
50,50,"","OS Image",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","os operating system image","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.sql_reporting;fillColor\x3d#0079D6;",40,50,"","SQL Reporting",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql reporting","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.vhd;fillColor\x3d#0079D6;",
40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","vhd virtual hard drive","ms microsoft cloud enterprise deprecated ").join(" "))];this.addPalette("mscaeDeprecated","CAE / (Deprecated)",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addMSCAEEnterprisePalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.ad_fs;fillColor\x3d#00188D;",
40,50,"","AD FS",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","ad fs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.android_phone;fillColor\x3d#00188D;",30,50,"","Android Phone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","android phone mobile","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.app_generic;fillColor\x3d#00188D;",
50,39,"","App (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","app generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.application_blank;fillColor\x3d#00188D;",46,40,"","Application (blank)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app blank","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.application_server;fillColor\x3d#00188D;",
38,44,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.backup_local;fillColor\x3d#00188D;",49,50,"","Backup (local)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","backup local","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.backup_online;fillColor\x3d#00188D;",
51,41,"","Backup (online)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","backup online","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.certificate;fillColor\x3d#7D7D7D;",50,40,"","Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","certificate","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.client_application;fillColor\x3d#00188D;",
50,32,"","Client Application",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","client application app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.cloud;fillColor\x3d#7D7D7D;",50,32,"","Cloud",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","cloud","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.cluster_server;fillColor\x3d#00188D;",
40,50,"","Cluster Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","cluster server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.code_file;fillColor\x3d#7D7D7D;",47,50,"","Code File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","code file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.connectors;fillColor\x3d#00188D;",
50,34,"","Connectors",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","connectors","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.d;fillColor\x3d#00188D;",40,50,"","D",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","delta diff difference server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.database_generic;fillColor\x3d#00188D;",
38,51,"","Database (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","db database generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.database_server;fillColor\x3d#00188D;",38,50,"","Database (server)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","db database server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.database_synchronization;fillColor\x3d#00188D;",
39,50,"","Database Synchronization",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","database synchronization sync db","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.device;fillColor\x3d#00188D;",50,26,"","Device",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","Device","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.direct_access_feature;fillColor\x3d#00188D;",
50,44,"","Direct Access (feature)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","direct access feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.document;fillColor\x3d#00188D;",40,50,"","Document",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","document doc","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.domain_controller;fillColor\x3d#00188D;",
36,50,"","Domain Controller",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","domain controller","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.enterprise;fillColor\x3d#00188D;",30,50,"","Enterprise Building",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","enterprise building","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.file;fillColor\x3d#7D7D7D;",
47,50,"","File general",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","file general","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.filter;fillColor\x3d#00188D;",50,45,"","Filter",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","filter","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.firewall;fillColor\x3d#00188D;",
50,44,"","Firewall",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","firewall","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.folder;fillColor\x3d#00188D;",50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","folder","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.gateway;fillColor\x3d#00188D;",
50,50,"","Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","gateway","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.code_file;fillColor\x3d#00188D;",47,50,"","Generic Code",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","generic code","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.health_monitoring;fillColor\x3d#7D7D7D;",
50,42,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","health monitoring","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.healthy;fillColor\x3d#7D7D7D;",50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","healthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.import_generic;fillColor\x3d#00188D;",
40,50,"","Import (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","import generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.internet;fillColor\x3d#00188D;",50,31,"","Internet",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","internet","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.internet_hollow;fillColor\x3d#00188D;",
50,31,"","Internet (hollow)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","internet hollow","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.key_permissions;fillColor\x3d#00188D;",26,50,"","Key, Permissions",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","key permissions","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.keyboard;fillColor\x3d#00188D;",
50,30,"","Keyboard",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","keyboard","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.laptop;fillColor\x3d#7D7D7D;",50,30,"","Laptop",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","laptop computer pc","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.load_balancer_generic;fillColor\x3d#00188D;",
37,50,"","Load Balancer (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load balancer generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.load_balancer_generic;fillColor\x3d#ffffff;",37,50,"","Load Balancer (white)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load balancer generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.load_testing;fillColor\x3d#00188D;",
48,50,"","Load Testing",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load testing","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.lock;fillColor\x3d#00188D;",39,50,"","Lock, Protected",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","lock protected","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.lock_unlocked;fillColor\x3d#00188D;",
37,50,"","Lock (unlocked)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","lock unlocked accessible","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.maintenance;fillColor\x3d#00188D;",34,50,"","Maintenance",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","maintenance","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.management_console;fillColor\x3d#00188D;",
50,34,"","Management Console",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","management console","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.message;fillColor\x3d#7D7D7D;",50,37,"","Message",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","message","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.computer;fillColor\x3d#7D7D7D;",
50,45,"","Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.monitor_running_apps;fillColor\x3d#00188D;",50,39,"","Monitor Running Apps",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","monitor running app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.mouse;fillColor\x3d#00188D;",
30,50,"","Mouse",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","mouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.network_card;fillColor\x3d#00188D;",50,35,"","Network Card",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","network card","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.performance;fillColor\x3d#00188D;",
50,50,"","Performance",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","performance","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.performance_monitor;fillColor\x3d#00188D;",50,36,"","Performance Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","performance monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.mobile;fillColor\x3d#7D7D7D;",
35,50,"","Phone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","mobile phone","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.plug_and_play;fillColor\x3d#00188D;",40,50,"","Plug and Play",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","plug play","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.powershell_file;fillColor\x3d#00188D;",
47,50,"","PowerShell Script File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","powershell script file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.protocol_stack;fillColor\x3d#00188D;",50,34,"","Protocol Stack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","protocol stack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.queue_generic;fillColor\x3d#00188D;",
50,15,"","Queue (general)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","queue general generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.rms_connector;fillColor\x3d#00188D;",30,40,"","RMS Connector",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","rms connector","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.router;fillColor\x3d#00188D;",
49,38,"","Router",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","router","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.script_file;fillColor\x3d#00188D;",47,50,"","Script File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","script file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.secure_virtual_machine;fillColor\x3d#00188D;",
50,38,"","Secure Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","secure virtual machine","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.server;fillColor\x3d#00188D;",50,15,"","Server (blade)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server blade","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.server_generic;fillColor\x3d#00188D;",
24,50,"","Server (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.server_directory;fillColor\x3d#00188D;",36,50,"","Server Directory",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server directory","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.server_farm;fillColor\x3d#00188D;",
50,32,"","Server Farm",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server farm","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.server_rack;fillColor\x3d#00188D;",50,50,"","Server Rack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server rack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.settings;fillColor\x3d#00188D;",
50,50,"","Settings",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","settings","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.shared_folder;fillColor\x3d#00188D;",43,50,"","Shared Folder",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","shared folder","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.smartcard;fillColor\x3d#00188D;",
50,32,"","SmartCard",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","smartcard","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.storage;fillColor\x3d#00188D;",50,41,"","Storage",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.table;fillColor\x3d#00188D;",
50,50,"","Table",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","table","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.tablet;fillColor\x3d#00188D;",50,37,"","Tablet",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tablet","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.tool;fillColor\x3d#00188D;",
52,47,"","Tool",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tool","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.unhealthy;fillColor\x3d#00188D;",52,43,"","Unhealthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","unhealthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.usb;fillColor\x3d#00188D;",
50,23,"","USB",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","usb","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.web;fillColor\x3d#00188D;",50,50,"","Web",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","web","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.web_server;fillColor\x3d#00188D;",
38,50,"","Web Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","web server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.website_generic;fillColor\x3d#00188D;",47,41,"","Website (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","website generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.windows_server;fillColor\x3d#00188D;",
39,50,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","windows server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.wireless_connection;fillColor\x3d#00188D;",42,50,"","Wireless Connection",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","wireless connection","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.workstation_client;fillColor\x3d#00188D;",
50,50,"","Workstation Client",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","workstation client","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.xml_web_service;fillColor\x3d#00188D;",50,50,"","XML Web Service",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","xml web service","ms microsoft cloud enterprise ").join(" "))];this.addPalette("mscaeEnterprise","CAE / Enterprise",
!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addMSCAEGeneralPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.audio;fillColor\x3d#7D7D7D;",50,50,"","Audio",null,null,this.getTagsForStencil("mxgraph.mscae.general","audio","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.bug;fillColor\x3d#7D7D7D;",
50,50,"","Bug",null,null,this.getTagsForStencil("mxgraph.mscae.general","bug","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.enterprise;fillColor\x3d#7D7D7D;",30,50,"","Building",null,null,this.getTagsForStencil("mxgraph.mscae.general","building enterprise","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;shape\x3dmxgraph.mscae.general.cable_settop_tv_box;strokeColor\x3d#000000;fillColor\x3d#7D7D7D;",
50,24,"","Cable Settop TV Box",null,null,this.getTagsForStencil("mxgraph.mscae.general","cable settop tv television box","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.calendar;fillColor\x3d#7D7D7D;",50,40,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.general","calendar","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.chart;fillColor\x3d#7D7D7D;",
50,48,"","Chart",null,null,this.getTagsForStencil("mxgraph.mscae.general","chart","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.checkmark;fillColor\x3d#91D250;",41,50,"","Checkmark (success)",null,null,this.getTagsForStencil("mxgraph.mscae.general","checkmark success","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.continuous_cycle;fillColor\x3d#7D7D7D;",
48,50,"","Continuous Cycle (circle)",null,null,this.getTagsForStencil("mxgraph.mscae.general","continuous cycle circle","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.crossout;fillColor\x3d#FF0000;",40,50,"","Crossout (failure)",null,null,this.getTagsForStencil("mxgraph.mscae.general","crossout failure","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.cut_and_paste;fillColor\x3d#7D7D7D;",
50,34,"","Cut and Paste",null,null,this.getTagsForStencil("mxgraph.mscae.general","cut and paste","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.filter;fillColor\x3d#7D7D7D;",50,45,"","Filter",null,null,this.getTagsForStencil("mxgraph.mscae.general","filter","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.folder;fillColor\x3d#7D7D7D;",
50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.general","folder","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.game_controller;fillColor\x3d#7D7D7D;",50,35,"","Game Controller",null,null,this.getTagsForStencil("mxgraph.mscae.general","game controller gamepad","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.gears;fillColor\x3d#7D7D7D;",
50,42,"","Gears",null,null,this.getTagsForStencil("mxgraph.mscae.general","gears","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.graph;fillColor\x3d#7D7D7D;",50,50,"","Graph",null,null,this.getTagsForStencil("mxgraph.mscae.general","graph","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.like;fillColor\x3d#7D7D7D;",
50,47,"","Like",null,null,this.getTagsForStencil("mxgraph.mscae.general","like","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.not_allowed;fillColor\x3d#DE5900;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.general","not allowed","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.pointer;fillColor\x3d#91D250;",
50,50,"","Pointer (circle)",null,null,this.getTagsForStencil("mxgraph.mscae.general","pointer circle","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.slider_bar_horizontal;fillColor\x3d#7D7D7D;",50,21,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.general","slider bar horizontal hor","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.slider_bar_vertical;fillColor\x3d#7D7D7D;",
22,50,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.general","slider bar vertical hor","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.task_list;fillColor\x3d#7D7D7D;",38,47,"","Task List (backlog)",null,null,this.getTagsForStencil("mxgraph.mscae.general","task list backlog","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.tasks;fillColor\x3d#7D7D7D;",
38,50,"","Tasks",null,null,this.getTagsForStencil("mxgraph.mscae.general","tasks","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.tunnel;fillColor\x3d#7D7D7D;",50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.general","tunnel","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.usb;fillColor\x3d#7D7D7D;",
50,23,"","USB",null,null,this.getTagsForStencil("mxgraph.mscae.general","usb","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.azure.user;fillColor\x3d#7D7D7D;",47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.general","user","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.general.video;fillColor\x3d#7D7D7D;",
49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.general","video","ms microsoft cloud enterprise general ").join(" "))];this.addPalette("mscaeGeneral","CAE / General",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addMSCAEIntunePalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.account_portal;fillColor\x3d#505050;",40,46,"","Account Portal",
null,null,this.getTagsForStencil("mxgraph.mscae.intune","account portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.administration;fillColor\x3d#505050;",30,50,"","Administration",null,null,this.getTagsForStencil("mxgraph.mscae.intune","administration","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.alerts;fillColor\x3d#505050;",
50,50,"","Alerts",null,null,this.getTagsForStencil("mxgraph.mscae.intune","alerts","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.apps;fillColor\x3d#505050;",50,50,"","Apps",null,null,this.getTagsForStencil("mxgraph.mscae.intune","apps","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.certificate;fillColor\x3d#505050;",
50,49,"","Certificate (Compliance)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","certificate compliance","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.client_software;fillColor\x3d#505050;",52,47,"","Client Software Deployment Wizard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","client software deployment wizard","ms microsoft cloud enterprise intune").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.company_portal;fillColor\x3d#505050;",47,36,"","Company Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","company portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.computer_inventory;fillColor\x3d#505050;",50,45,"","Computer Inventory",null,null,
this.getTagsForStencil("mxgraph.mscae.intune","computer inventory","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.conditional_access_exchange;fillColor\x3d#505050;",49,50,"","Conditional Access (Exchange)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","conditional access exchange","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.conditional_access_sharepoint;fillColor\x3d#505050;",
43,49,"","Conditional Access (Sharepoint)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","conditional access sharepoint","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.connector;fillColor\x3d#505050;",46,16,"","Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","connector","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.dashboard;fillColor\x3d#505050;",
50,40,"","Dashboard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","dashboard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.data_migration_wizard;fillColor\x3d#505050;",50,48,"","Data Migration Wizard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","data migration wizard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.detected_software;fillColor\x3d#505050;",
50,50,"","Detected Software",null,null,this.getTagsForStencil("mxgraph.mscae.intune","detected software","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.device_group;fillColor\x3d#505050;",50,50,"","Device Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.device_health;fillColor\x3d#505050;",
50,31,"","Device Health",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device_health","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.device_history;fillColor\x3d#505050;",45,50,"","Device History",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device history","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.device_os;fillColor\x3d#505050;",
49,50,"","Device OS",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device os operating system","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.end_protection;fillColor\x3d#505050;",48,50,"","End Protection",null,null,this.getTagsForStencil("mxgraph.mscae.intune","end protection","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.exchange_connector;fillColor\x3d#505050;",
50,49,"","Exchange Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","exchange connector","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.groups;fillColor\x3d#505050;",50,48,"","Groups",null,null,this.getTagsForStencil("mxgraph.mscae.intune","groups","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.hybrid;fillColor\x3d#505050;",
50,39,"","Hybrid",null,null,this.getTagsForStencil("mxgraph.mscae.intune","hybrid","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.intune_certificate_profiles;fillColor\x3d#505050;",40,50,"","Intune Certificate Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","certificate profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.intune_email_profiles;fillColor\x3d#505050;",
50,50,"","Intune Email Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","email profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.intune_managed_app;fillColor\x3d#505050;",50,38,"","Intune Managed App",null,null,this.getTagsForStencil("mxgraph.mscae.intune","managed app application","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.intune_mobile_application_management;fillColor\x3d#505050;",
49,50,"","Intune Mobile Application Management",null,null,this.getTagsForStencil("mxgraph.mscae.intune","mobile app aplication management","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.intune_vpn_profiles;fillColor\x3d#505050;",42,50,"","Intune VPN Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","vpn virtual private network profiles","ms microsoft cloud enterprise intune").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.intune_wifi_profiles;fillColor\x3d#505050;",44,51,"","Intune WiFi Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","wifi profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.inventory_license;fillColor\x3d#505050;",50,48,"","Inventory License",
null,null,this.getTagsForStencil("mxgraph.mscae.intune","inventory license","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.inventory_software;fillColor\x3d#505050;",50,49,"","Inventory Software",null,null,this.getTagsForStencil("mxgraph.mscae.intune","inventory software","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.license_group;fillColor\x3d#505050;",
50,49,"","License Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","license group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.license_installation;fillColor\x3d#505050;",50,43,"","License Installation",null,null,this.getTagsForStencil("mxgraph.mscae.intune","license installation","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.microsoft_intune;fillColor\x3d#505050;",
48,38,"","Microsoft Intune",null,null,this.getTagsForStencil("mxgraph.mscae.intune","microsoft","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.mobile_inventory;fillColor\x3d#505050;",44,50,"","Mobile Inventory",null,null,this.getTagsForStencil("mxgraph.mscae.intune","mobile inventory","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.noncompliant_apps;fillColor\x3d#505050;",
46,50,"","Noncompliant Apps",null,null,this.getTagsForStencil("mxgraph.mscae.intune","noncompliant apps applications","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.policy;fillColor\x3d#505050;",50,50,"","Policy",null,null,this.getTagsForStencil("mxgraph.mscae.intune","policy","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.protection;fillColor\x3d#505050;",
48,50,"","Protection",null,null,this.getTagsForStencil("mxgraph.mscae.intune","protection","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.reports;fillColor\x3d#505050;",46,50,"","Reports",null,null,this.getTagsForStencil("mxgraph.mscae.intune","reports","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.enterprise.settings;fillColor\x3d#505050;",
50,50,"","Settings",null,null,this.getTagsForStencil("mxgraph.mscae.intune","settings","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.subscription_portal;fillColor\x3d#505050;",45,45,"","Subscription Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","subscription portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.terms_and_conditions;fillColor\x3d#505050;",
37,50,"","Terms and Conditions",null,null,this.getTagsForStencil("mxgraph.mscae.intune","terms and conditions","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.update;fillColor\x3d#505050;",50,52,"","Update",null,null,this.getTagsForStencil("mxgraph.mscae.intune","update","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.user_group;fillColor\x3d#505050;",
50,37,"","User Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","user group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.intune.user_management;fillColor\x3d#505050;",50,46,"","User Management",null,null,this.getTagsForStencil("mxgraph.mscae.intune","user management","ms microsoft cloud enterprise intune").join(" "))];this.addPalette("mscaeIntune","CAE / Intune",!1,mxUtils.bind(this,
function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addMSCAEOtherPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.access;fillColor\x3d#BA2024;",50,50,"","Access",null,null,this.getTagsForStencil("mxgraph.mscae.other","access","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.excel;fillColor\x3d#008540;",
50,50,"","Excel",null,null,this.getTagsForStencil("mxgraph.mscae.other","excel","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.exchange;fillColor\x3d#2471BA;",52,50,"","Exchange",null,null,this.getTagsForStencil("mxgraph.mscae.other","exchange","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.lync;fillColor\x3d#2471BA;",
52,50,"","Lync",null,null,this.getTagsForStencil("mxgraph.mscae.other","lync","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.microsoft;",50,50,"","Microsoft",null,null,this.getTagsForStencil("mxgraph.mscae.other","microsoft","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.outlook;fillColor\x3d#2471BA;",
50,50,"","Outlook",null,null,this.getTagsForStencil("mxgraph.mscae.other","outlook","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.powerpoint;fillColor\x3d#DE5D24;",50,50,"","PowerPoint",null,null,this.getTagsForStencil("mxgraph.mscae.other","powerpoint","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.sharepoint;fillColor\x3d#2471BA;",
51,50,"","Sharepoint",null,null,this.getTagsForStencil("mxgraph.mscae.other","sharepoint","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.skype;fillColor\x3d#00AEF2;",45,45,"","Skype",null,null,this.getTagsForStencil("mxgraph.mscae.other","skype","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.windows;fillColor\x3d#00188D;",
48,50,"","Windows",null,null,this.getTagsForStencil("mxgraph.mscae.other","windows","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.word;fillColor\x3d#2C3481;",50,50,"","Word",null,null,this.getTagsForStencil("mxgraph.mscae.other","word","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.xbox;fillColor\x3d#91D250;",
54,52,"","Xbox",null,null,this.getTagsForStencil("mxgraph.mscae.other","xbox","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;strokeColor\x3dnone;html\x3d1;shape\x3dmxgraph.mscae.other.xbox_one;",50,16,"","Xbox One",null,null,this.getTagsForStencil("mxgraph.mscae.other","xbox one","ms microsoft cloud enterprise other").join(" "))];this.addPalette("mscaeOther","CAE / Other",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};
Sidebar.prototype.addMSCAESystemCenterPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.system_center.admin_console;fillColor\x3d#7D7D7D;strokeColor\x3dnone;",50,36,"","Admin Console",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","admin console","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;shape\x3dmxgraph.mscae.enterprise.database_server;fillColor\x3d#7D7D7D;strokeColor\x3dnone;",
38,50,"","Central Administration Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","central administration site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.system_center.central_administration_site_sql;fillColor\x3d#7D7D7D;strokeColor\x3dnone;",38,50,"","Central Administration Site SQL",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","central administration site sql",
"ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.system_center.cloud_distribution_point;fillColor\x3d#7D7D7D;strokeColor\x3dnone;",46,50,"","Cloud Distribution Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","cloud distribution point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.system_center.distribution_point;fillColor\x3d#7D7D7D;strokeColor\x3dnone;",
44,50,"","Distribution Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","distribution point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.system_center.management_point;fillColor\x3d#7D7D7D;strokeColor\x3dnone;",48,50,"","Management Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","management point","ms microsoft cloud enterprise system center").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.system_center.primary_site;fillColor\x3d#7D7D7D;strokeColor\x3dnone;",38,50,"","Primary Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","primary site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.system_center.roles;fillColor\x3d#7D7D7D;strokeColor\x3dnone;",
42,50,"","Roles",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","roles","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.system_center.secondary_site;fillColor\x3d#7D7D7D;strokeColor\x3dnone;",41,50,"","Secondary Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","secondary site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;shape\x3dmxgraph.mscae.system_center.software_update_point;fillColor\x3d#7D7D7D;strokeColor\x3dnone;",
50,43,"","Software Update Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","software update point","ms microsoft cloud enterprise system center").join(" "))];this.addPalette("mscaeSystem Center","CAE / System Center",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))}})();
(function(){Sidebar.prototype.addNetworkPalette=function(){var a=this;this.addPaletteFunctions("network","Network",!1,[this.addEntry("computer network ring bus",function(){function c(c,g){var k=a.cloneCell(b);k.geometry.setTerminalPoint(new mxPoint(c,g),!0);f.insertEdge(k,!1);d.push(k)}var f=new mxCell("",new mxGeometry(25,25,50,50),"html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;shape\x3dellipse;perimeter\x3dellipsePerimeter;gradientColor\x3dnone;gradientDirection\x3dnorth;fontColor\x3d#ffffff;strokeWidth\x3d2;");
f.vertex=!0;var d=[f],b=new mxCell("",new mxGeometry(0,0,0,0),"strokeColor\x3d#6881B3;edgeStyle\x3dnone;rounded\x3d0;endArrow\x3dnone;dashed\x3d0;html\x3d1;strokeWidth\x3d2;");b.geometry.relative=!0;b.edge=!0;c(50,0);c(85.5,14.5);c(100,50);c(85.5,85.5);c(50,100);c(14.5,85.5);c(0,50);c(14.5,14.5);return a.createVertexTemplateFromCells(d,2*f.geometry.width,2*f.geometry.height,"Ring Bus")}),this.addEntry(this.getTagsForStencil("mxgraph.networks","bus backbone","computer network ").join(" "),function(){var c=
new mxCell("",new mxGeometry(0,60,260,20),"html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.bus;gradientColor\x3dnone;gradientDirection\x3dnorth;fontColor\x3d#ffffff;perimeter\x3dbackbonePerimeter;backboneSize\x3d20;");c.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"strokeColor\x3d#6881B3;edgeStyle\x3dnone;rounded\x3d0;endArrow\x3dnone;html\x3d1;strokeWidth\x3d2;");f.geometry.setTerminalPoint(new mxPoint(40,
0),!0);f.geometry.relative=!0;f.edge=!0;for(var d=[c],b=0;4>b;b++){var e=a.cloneCell(f);e.geometry.setTerminalPoint(new mxPoint(40+60*b,0),!0);c.insertEdge(e,!1);d.push(e)}for(b=0;4>b;b++)e=a.cloneCell(f),e.geometry.setTerminalPoint(new mxPoint(40+60*b,140),!0),c.insertEdge(e,!1),d.push(e);return a.createVertexTemplateFromCells(d,c.geometry.width,c.geometry.height+120,"Bus")}),this.createVertexTemplateEntry("html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.bus;gradientColor\x3dnone;gradientDirection\x3dnorth;fontColor\x3d#ffffff;perimeter\x3dbackbonePerimeter;backboneSize\x3d20;",
200,20,"","Bus",null,null,this.getTagsForStencil("mxgraph.networks","bus backbone","computer network ").join(" ")),this.createEdgeTemplateEntry("html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.comm_link_edge;html\x3d1;",100,100,"","Comm Link",null,this.getTagsForStencil("mxgraph.networks","comm_link_edge","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.biometric_reader;",
60,100,"","Biometric Reader",null,null,this.getTagsForStencil("mxgraph.networks","biometric_reader","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.business_center;",90,100,"","Business Center",null,null,this.getTagsForStencil("mxgraph.networks",
"business_center","computer network ").join(" ")),this.createVertexTemplateEntry("html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.cloud;fontColor\x3d#ffffff;",90,50,"","Cloud",null,null,this.getTagsForStencil("mxgraph.networks","cloud","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.community;",
95,100,"","Community",null,null,this.getTagsForStencil("mxgraph.networks","community","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.comm_link;",30,100,"","Comm Link (Icon)",null,null,this.getTagsForStencil("mxgraph.networks",
"comm_link","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.copier;",100,100,"","Copier",null,null,this.getTagsForStencil("mxgraph.networks","copier","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.pc;",
100,70,"","PC",null,null,this.getTagsForStencil("mxgraph.networks","pc","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.desktop_pc;",30,60,"","Desktop PC",null,null,this.getTagsForStencil("mxgraph.networks","desktop_pc","computer network ").join(" ")),
this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.external_storage;",90,100,"","External Storage",null,null,this.getTagsForStencil("mxgraph.networks","external_storage","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.firewall;",
100,100,"","Firewall",null,null,this.getTagsForStencil("mxgraph.networks","firewall","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.gamepad;",100,70,"","Gamepad",null,null,this.getTagsForStencil("mxgraph.networks","gamepad",
"computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.hub;",100,30,"","Hub",null,null,this.getTagsForStencil("mxgraph.networks","hub","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.laptop;",
100,55,"","Laptop",null,null,this.getTagsForStencil("mxgraph.networks","laptop","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.load_balancer;",100,30,"","Load Balancer",null,null,this.getTagsForStencil("mxgraph.networks","load_balancer",
"computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.mail_server;",105,105,"","Mail Server",null,null,this.getTagsForStencil("mxgraph.networks","mail_server","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.mainframe;",
80,100,"","Mainframe",null,null,this.getTagsForStencil("mxgraph.networks","mainframe","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.mobile;",50,100,"","Mobile",null,null,this.getTagsForStencil("mxgraph.networks","mobile","computer network ").join(" ")),
this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.modem;",100,30,"","Modem",null,null,this.getTagsForStencil("mxgraph.networks","modem","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.monitor;",
80,65,"","Monitor",null,null,this.getTagsForStencil("mxgraph.networks","monitor","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.nas_filer;",100,35,"","NAS Filer",null,null,this.getTagsForStencil("mxgraph.networks","NAS Filer",
"computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.patch_panel;",100,35,"","Patch Panel",null,null,this.getTagsForStencil("mxgraph.networks","patch_panel","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.pc;",
100,70,"","PC",null,null,this.getTagsForStencil("mxgraph.networks","pc","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.phone_1;",100,70,"","Phone",null,null,this.getTagsForStencil("mxgraph.networks","phone_1","computer network ").join(" ")),
this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.phone_2;",100,90,"","Phone",null,null,this.getTagsForStencil("mxgraph.networks","phone_2","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.printer;",
100,100,"","Printer",null,null,this.getTagsForStencil("mxgraph.networks","printer","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.proxy_server;",105,105,"","Proxy Server",null,null,this.getTagsForStencil("mxgraph.networks","proxy_server",
"computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.rack;",50,100,"","Rack",null,null,this.getTagsForStencil("mxgraph.networks","rack","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.radio_tower;",
55,100,"","Radio Tower",null,null,this.getTagsForStencil("mxgraph.networks","radio_tower","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.router;",100,30,"","Router",null,null,this.getTagsForStencil("mxgraph.networks","router",
"computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.satellite;",100,100,"","Satellite",null,null,this.getTagsForStencil("mxgraph.networks","satellite","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.satellite_dish;",
90,100,"","Satellite Dish",null,null,this.getTagsForStencil("mxgraph.networks","satellite_dish","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.scanner;",100,75,"","Scanner",null,null,this.getTagsForStencil("mxgraph.networks",
"scanner","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.secured;",80,100,"","Secured",null,null,this.getTagsForStencil("mxgraph.networks","secured","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.security_camera;",
100,75,"","Security Camera",null,null,this.getTagsForStencil("mxgraph.networks","security_camera","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.server;",90,100,"","Server",null,null,this.getTagsForStencil("mxgraph.networks",
"server","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.server_storage;",105,105,"","Server Storage",null,null,this.getTagsForStencil("mxgraph.networks","server_storage","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.storage;",
100,100,"","Storage",null,null,this.getTagsForStencil("mxgraph.networks","storage","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.supercomputer;",100,100,"","Supercomputer",null,null,this.getTagsForStencil("mxgraph.networks",
"supercomputer","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.switch;",100,30,"","Switch",null,null,this.getTagsForStencil("mxgraph.networks","switch","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.tablet;",
100,70,"","Tablet",null,null,this.getTagsForStencil("mxgraph.networks","tablet","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.tape_storage;",105,105,"","Tape Storage",null,null,this.getTagsForStencil("mxgraph.networks","tape_storage",
"computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.terminal;",80,65,"","Terminal",null,null,this.getTagsForStencil("mxgraph.networks","terminal","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.unsecure;",
80,100,"","Unsecure",null,null,this.getTagsForStencil("mxgraph.networks","unsecure","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.ups_enterprise;",100,100,"","UPS Enterprise",null,null,this.getTagsForStencil("mxgraph.networks",
"ups_enterprise","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.ups_small;",70,100,"","UPS Small",null,null,this.getTagsForStencil("mxgraph.networks","ups_small","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.usb_stick;",
45,100,"","USB Stick",null,null,this.getTagsForStencil("mxgraph.networks","usb_stick","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.users;",90,100,"","Users",null,null,this.getTagsForStencil("mxgraph.networks","users","computer network ").join(" ")),
this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.user_female;",40,100,"","User Female",null,null,this.getTagsForStencil("mxgraph.networks","user_female","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.user_male;",
40,100,"","User Male",null,null,this.getTagsForStencil("mxgraph.networks","user_male","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.video_projector;",100,35,"","Video Projector",null,null,this.getTagsForStencil("mxgraph.networks",
"video_projector","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.video_projector_screen;",80,100,"","Video Projector Screen",null,null,this.getTagsForStencil("mxgraph.networks","video_projector_screen","computer network ").join(" ")),
this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.virtual_pc;",115,85,"","Virtual PC",null,null,this.getTagsForStencil("mxgraph.networks","virtual_pc","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.virtual_server;",
110,120,"","Virtual Server",null,null,this.getTagsForStencil("mxgraph.networks","virtual_server","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.virus;",100,90,"","Virus",null,null,this.getTagsForStencil("mxgraph.networks","virus",
"computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.web_server;",105,105,"","Web Server",null,null,this.getTagsForStencil("mxgraph.networks","web_server","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.wireless_hub;",
100,85,"","Wireless Hub",null,null,this.getTagsForStencil("mxgraph.networks","wireless_hub","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor\x3d#0066CC;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelPosition\x3dcenter;align\x3dcenter;html\x3d1;fillColor\x3d#CCCCCC;strokeColor\x3d#6881B3;gradientColor\x3dnone;gradientDirection\x3dnorth;strokeWidth\x3d2;shape\x3dmxgraph.networks.wireless_modem;",100,85,"","Wireless Modem",null,null,this.getTagsForStencil("mxgraph.networks",
"wireless_modem","computer network ").join(" "))])}})();
(function(){Sidebar.prototype.addOfficePalette=function(){this.addOfficeCloudsPalette();this.addOfficeCommunicationsPalette();this.addOfficeConceptsPalette();this.addOfficeDatabasesPalette();this.addOfficeDevicesPalette();this.addOfficeSecurityPalette();this.addOfficeServersPalette();this.addOfficeServicesPalette();this.addOfficeSitesPalette();this.addOfficeUsersPalette()};Sidebar.prototype.addOfficeCloudsPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.azure;",103,
66,"","Azure",null,null,this.getTagsForStencil("mxgraph.office.clouds","azure","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.cloud;",94,55,"","Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.cloud_disaster;",
94,74,"","Cloud Disaster",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud disaster","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.cloud_disaster;fillColor\x3d#ff0000;",94,74,"","Cloud Disaster (Red)",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud disaster","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.cloud_exchange_online;",
100,61,"","Cloud Exchange Online",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud exchange online","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.cloud_service_request;",102,80,"","Cloud Service Request",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud service request","office cloud ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.cloud_sharepoint;",101,61,"","Cloud SharePoint",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud sharepoint","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.office_365;",
101,61,"","Office 365",null,null,this.getTagsForStencil("mxgraph.office.clouds","office 365","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.online_backup;",94,101,"","Online Backup",null,null,this.getTagsForStencil("mxgraph.office.clouds","online backup","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.online_user;",
93,74,"","Online User",null,null,this.getTagsForStencil("mxgraph.office.clouds","online user","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.private_cloud;",94,55,"","Private Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","private cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.public_cloud;",
101,81,"","Public Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","public cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.clouds.public_im_cloud_service;",102,99,"","Public IM Cloud Service",null,null,this.getTagsForStencil("mxgraph.office.clouds","public im instant message cloud service",
"office cloud ").join(" "))];this.addPalette("officeClouds","Office / Clouds",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addOfficeCommunicationsPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.3rd_party_call_center_solution;",98,101,"","3rd Party Call Center Solution",
null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party call center solution","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.3rd_party_integration;",54,55,"","3rd Party Integration",null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party integration",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.3rd_party_service;",53,54,"","3rd Party Service",null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.application_sharing_workload;",
57,49,"","Application Sharing Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","application sharing workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.audio_conferencing_application;",59,46,"","Audio Conferencing Application",null,null,this.getTagsForStencil("mxgraph.office.communications",
"audio_conferencing_application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.central_management_service;",52,55,"","Central Management Service",null,null,this.getTagsForStencil("mxgraph.office.communications","central management service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.chat_room;",
46,48,"","Chat Room",null,null,this.getTagsForStencil("mxgraph.office.communications","chat room","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.conference_announcement_service;",60,60,"","Conference Announcement Service",null,null,this.getTagsForStencil("mxgraph.office.communications","conference announcement service",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.disconnected_mailbox;",60,55,"","Disconnected Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","disconnected mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.discovery_search_mailbox;",
55,49,"","Discovery Search Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","discovery search mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.dynamic_distribution_group;",58,59,"","Dynamic Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.communications",
"dynamic distribution group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.edge_subscription;",57,59,"","Edge Subscription",null,null,this.getTagsForStencil("mxgraph.office.communications","edge subscription","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.email_workloaad;",
57,47,"","Email Workloaad",null,null,this.getTagsForStencil("mxgraph.office.communications","email workloaad","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.equipment_mailbox;",59,59,"","Equipment Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","equipment mailbox",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.exchange_active_sync;",49,49,"","Exchange Active Sync",null,null,this.getTagsForStencil("mxgraph.office.communications","exchange_active_sync","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.exchange_active_sync;fillColor\x3d#2072B8;",
49,49,"","Exchange Active Sync - Blue",null,null,this.getTagsForStencil("mxgraph.office.communications","exchange_active_sync","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.fax_partner;",45,56,"","Fax Partner",null,null,this.getTagsForStencil("mxgraph.office.communications","fax partner",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.global_address_list;",59,53,"","Global Address List",null,null,this.getTagsForStencil("mxgraph.office.communications","global address list","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.hybrid_voip_gateway;",
59,38,"","Hybrid VOIP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","hybrid voip gateway","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.im_workload;",56,54,"","IM Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","im workload instant message",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.journaling_rule;",52,58,"","Journaling Rule",null,null,this.getTagsForStencil("mxgraph.office.communications","journaling rule","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.local_move_request;",
57,57,"","Local Move Request",null,null,this.getTagsForStencil("mxgraph.office.communications","local move request","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.lync_control_panel;",69,58,"","Lync Control Panel",null,null,this.getTagsForStencil("mxgraph.office.communications","lync control panel",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.lync_phone_edition;",80,45,"","Lync Phone Edition",null,null,this.getTagsForStencil("mxgraph.office.communications","lync phone edition","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.lync_room_system;",
80,42,"","Lync Room System",null,null,this.getTagsForStencil("mxgraph.office.communications","lync room system","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.lync_server_management_tool;",75,47,"","Lync Server Management Tool",null,null,this.getTagsForStencil("mxgraph.office.communications",
"lync server management tool","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.lync_storage_service;",66,59,"","Lync Storage Service",null,null,this.getTagsForStencil("mxgraph.office.communications","lync storage service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.lync_web_app_client;",
83,50,"","Lync Web App Client",null,null,this.getTagsForStencil("mxgraph.office.communications","lync web app client","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.mail_enabled_public_folder;",58,52,"","Mail-Enabled Public Folder",null,null,this.getTagsForStencil("mxgraph.office.communications",
"mail enabled public folder","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.mailbox_assistant;",59,57,"","Mailbox Assistant",null,null,this.getTagsForStencil("mxgraph.office.communications","mailbox assistant","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.messages_queued;",
59,57,"","Messages Queued",null,null,this.getTagsForStencil("mxgraph.office.communications","messages queued","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.offline_address_book;",59,53,"","Offline Address Book",null,null,this.getTagsForStencil("mxgraph.office.communications","offline address book",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.personal_archive_mailbox;",59,58,"","Personal Archive Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","personal archive mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.public_im_cloud_service;",
60,58,"","Public IM Cloud Service",null,null,this.getTagsForStencil("mxgraph.office.communications","public im cloud service instant message","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.push_notification_service;",50,58,"","Push Notification Service",null,null,this.getTagsForStencil("mxgraph.office.communications",
"push notification service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.queue_viewer;",59,57,"","Queue Viewer",null,null,this.getTagsForStencil("mxgraph.office.communications","queue viewer","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.remote_mailbox;",
59,57,"","Remote Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","remote mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.remote_move_request;",60,57,"","Remote Move Request",null,null,this.getTagsForStencil("mxgraph.office.communications","remote move request",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.response_group;",58,54,"","Response Group",null,null,this.getTagsForStencil("mxgraph.office.communications","response group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.room_mailbox;",
60,57,"","Room Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","room mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.shared_mailbox;",60,55,"","Shared Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","shared mailbox","office communication ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.sip_uri_um_dial_plan;",55,56,"","SIP URI UM Dial Plan",null,null,this.getTagsForStencil("mxgraph.office.communications","sip uri um dial plan","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.site_mailbox;",
59,54,"","Site Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","site mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.skype_for_business_control_panel;",65,59,"","Skype for Business Control Panel",null,null,this.getTagsForStencil("mxgraph.office.communications",
"skype for business control panel","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.skype_for_business_phone_edition;",76,45,"","Skype for Business Phone Edition",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business phone edition","office communication ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.skype_for_business_room_system;",74,41,"","Skype for Business Room System",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business room system","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.skype_for_business_server_management_tool;",
72,48,"","Skype for Business Server Management Tool",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business server management tool","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.skype_for_business_storage_service;",62,58,"","Skype for Business Storage Service",
null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business storage service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.skype_for_business_web_app_client;",80,51,"","Skype for Business Web App Client",null,null,this.getTagsForStencil("mxgraph.office.communications",
"skype for business web app client","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.sms_gateway;",59,37,"","SMS Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","sms gateway","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.smtp_connector;",
47,49,"","SMTP Connector",null,null,this.getTagsForStencil("mxgraph.office.communications","smtp connector","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.system_mailbox;",58,55,"","System Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","system mailbox","office communication ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.tdm_pbx;",59,46,"","TDM PBX",null,null,this.getTagsForStencil("mxgraph.office.communications","tdm pbx","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.telephone_extension_dial_plan;",
55,56,"","Telephone Extension Dial Plan",null,null,this.getTagsForStencil("mxgraph.office.communications","telephone extension dial plan","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.transport_rule;",56,57,"","Transport Rule",null,null,this.getTagsForStencil("mxgraph.office.communications",
"transport rule","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.ucma_application;",53,40,"","UCMA Application",null,null,this.getTagsForStencil("mxgraph.office.communications","ucma application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.ucwa_application;",
53,40,"","UCWA Application",null,null,this.getTagsForStencil("mxgraph.office.communications","ucwa application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.um_auto_attendant;",57,57,"","UM Auto Attendant",null,null,this.getTagsForStencil("mxgraph.office.communications","um auto attendant",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.um_dial_plan_e164;",55,56,"","UM Dial Plan E164",null,null,this.getTagsForStencil("mxgraph.office.communications","um dial plan e164","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.um_dial_plan_secondary;",
55,56,"","UM Dial Plan Secondary",null,null,this.getTagsForStencil("mxgraph.office.communications","um dial plan secondary","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.um_enabled_mailbox;",59,57,"","UM Enabled Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","um enabled mailbox",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.um_hunt_group;",59,48,"","UM Hunt Group",null,null,this.getTagsForStencil("mxgraph.office.communications","um hunt group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.um_ip_gateway;",
59,38,"","UM IP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","um ip gateway internet protocol","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.user_mailbox;",59,55,"","User Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","user mailbox",
"office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.video_workload;",57,50,"","Video Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","video workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.voice_mail_preview;",
46,56,"","Voice Mail Preview",null,null,this.getTagsForStencil("mxgraph.office.communications","voice mail preview","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.voice_workload;",58,51,"","Voice Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","voice workload","office communication ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.voip_gateway;",51,15,"","VoIP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","voip gateway voice over ip internet protocol","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.watcher_node;",
52,56,"","Watcher Node",null,null,this.getTagsForStencil("mxgraph.office.communications","watcher node","office communication ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.communications.xmpp_service;",58,52,"","XMPP Service",null,null,this.getTagsForStencil("mxgraph.office.communications","xmpp service","office communication ").join(" "))];
this.addPalette("officeCommunications","Office / Communications",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addOfficeConceptsPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.address_book;",55,44,"","Address Book",null,null,this.getTagsForStencil("mxgraph.office.concepts",
"address book","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.address_book;",40,31,"","Address Book (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","address book small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.anti_spam;",
55,47,"","Anti-Spam",null,null,this.getTagsForStencil("mxgraph.office.concepts","anti spam","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.application_android;",60,51,"","Application Android",null,null,this.getTagsForStencil("mxgraph.office.concepts","application android","office concept ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.application_generic;",53,40,"","Application Generic",null,null,this.getTagsForStencil("mxgraph.office.concepts","application generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.application_generic;",
40,30,"","Application Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","application generic small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.application_hybrid;",59,44,"","Application Hybrid",null,null,this.getTagsForStencil("mxgraph.office.concepts","application hybrid",
"office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.application_ios;",59,49,"","Application iOS",null,null,this.getTagsForStencil("mxgraph.office.concepts","application ios","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.application_web;",
56,49,"","Application Web",null,null,this.getTagsForStencil("mxgraph.office.concepts","application web","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.application_windows;",59,47,"","Application Windows",null,null,this.getTagsForStencil("mxgraph.office.concepts","application windows","office concept ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.app_for_office;",53,40,"","App for Office",null,null,this.getTagsForStencil("mxgraph.office.concepts","app for office","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.app_for_sharepoint;",
53,40,"","App For SharePoint",null,null,this.getTagsForStencil("mxgraph.office.concepts","app for sharepoint","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.app_part;",46,45,"","App Part",null,null,this.getTagsForStencil("mxgraph.office.concepts","app part","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.archive;",
35,55,"","Archive",null,null,this.getTagsForStencil("mxgraph.office.concepts","archive","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.attachment;",22,44,"","Attachment",null,null,this.getTagsForStencil("mxgraph.office.concepts","attachment","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.backup_local;",
48,44,"","Backup Local",null,null,this.getTagsForStencil("mxgraph.office.concepts","backup local","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.backup_online;",55,60,"","Backup Online",null,null,this.getTagsForStencil("mxgraph.office.concepts","backup online","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.bandwidth;",
45,45,"","Bandwidth",null,null,this.getTagsForStencil("mxgraph.office.concepts","bandwidth","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.bandwidth_calculator;",49,53,"","Bandwidth Calculator",null,null,this.getTagsForStencil("mxgraph.office.concepts","bandwidth calculator","office concept ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.best_practices;",53,53,"","Best Practices",null,null,this.getTagsForStencil("mxgraph.office.concepts","best practices","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.book_journal;",
41,49,"","Book, Journal",null,null,this.getTagsForStencil("mxgraph.office.concepts","book journal","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.calculator;",32,46,"","Calculator",null,null,this.getTagsForStencil("mxgraph.office.concepts","calculator","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.calendar;",
53,49,"","Calendar",null,null,this.getTagsForStencil("mxgraph.office.concepts","calendar","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.clipboard;",40,52,"","Clipboard",null,null,this.getTagsForStencil("mxgraph.office.concepts","clipboard","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.clipboard;",
30,39,"","Clipboard (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","clipboard small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.clock;",45,45,"","Clock",null,null,this.getTagsForStencil("mxgraph.office.concepts","clock","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.clock;",
35,35,"","Clock (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","clock small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.column;",52,43,"","Column",null,null,this.getTagsForStencil("mxgraph.office.concepts","column","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.connector;",
44,32,"","Connector",null,null,this.getTagsForStencil("mxgraph.office.concepts","connector","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.connector;",33,24,"","Connector (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","connector","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.contacts;",
53,39,"","Contacts",null,null,this.getTagsForStencil("mxgraph.office.concepts","contacts","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.content_type;",53,40,"","Content Type",null,null,this.getTagsForStencil("mxgraph.office.concepts","content type","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.credit_card;",
55,36,"","Credit Card",null,null,this.getTagsForStencil("mxgraph.office.concepts","credit card","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.document;",40,47,"","Document",null,null,this.getTagsForStencil("mxgraph.office.concepts","document","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.document;",
30,35,"","Document (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","document","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.documents;",46,54,"","Documents",null,null,this.getTagsForStencil("mxgraph.office.concepts","documents","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.documents_shared;",
58,59,"","Documents Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","documents shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.document_blank;",40,47,"","Document Blank",null,null,this.getTagsForStencil("mxgraph.office.concepts","document blank","office concept ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.document_blank;",30,35,"","Document Blank (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","document blank","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.document_shared;",
52,53,"","Document Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","document shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.download;",48,56,"","Download",null,null,this.getTagsForStencil("mxgraph.office.concepts","download","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.email;",
47,36,"","Email",null,null,this.getTagsForStencil("mxgraph.office.concepts","email","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.email;",31,24,"","Email (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","email","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.email_approved;",
56,46,"","Email Approved",null,null,this.getTagsForStencil("mxgraph.office.concepts","email approved","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.email_expired;",56,46,"","Email Expired",null,null,this.getTagsForStencil("mxgraph.office.concepts","email expired","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.email_rejected;",
55,45,"","Email Rejected",null,null,this.getTagsForStencil("mxgraph.office.concepts","email rejected","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.file_key;",48,53,"","File Key",null,null,this.getTagsForStencil("mxgraph.office.concepts","file key","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.firewall;",
47,43,"","Firewall",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.firewall;fillColor\x3d#2072B8;",47,43,"","Firewall (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.firewall;fillColor\x3d#DA4026;",
47,43,"","Firewall (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.firewall;fillColor\x3d#7FBA42;",47,43,"","Firewall (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.firewall;fillColor\x3d#CCCBCB;",
47,43,"","Firewall (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.folder;",50,45,"","Folder",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.folder;fillColor\x3d#2072B8;",
50,45,"","Folder (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.folder;fillColor\x3d#DA4026;",50,45,"","Folder (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.folder;fillColor\x3d#7FBA42;",
50,45,"","Folder (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.folder;fillColor\x3d#CCCBCB;",50,45,"","Folder (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.folder;",
33,30,"","Folder (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.folders;",57,53,"","Folders",null,null,this.getTagsForStencil("mxgraph.office.concepts","folders","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.folder_open;",
56,43,"","Folder, Open",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder open","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.folder_public;",58,52,"","Folder, Public",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder public","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.folder_shared;",
54,52,"","Folder, Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.form;",56,49,"","Form",null,null,this.getTagsForStencil("mxgraph.office.concepts","form","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.get_started;",
42,52,"","Get Started",null,null,this.getTagsForStencil("mxgraph.office.concepts","get started","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.globe_internet;",49,49,"","Globe, Internet",null,null,this.getTagsForStencil("mxgraph.office.concepts","globe internet","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.help;",
49,49,"","Help",null,null,this.getTagsForStencil("mxgraph.office.concepts","help","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.help;",38,38,"","Help (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","help","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home;",
51,50,"","Home",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home;fillColor\x3d#2072B8;",51,50,"","Home (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home;fillColor\x3d#DA4026;",
51,50,"","Home (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home;fillColor\x3d#7FBA42;",51,50,"","Home (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home;fillColor\x3d#CCCBCB;",
51,50,"","Home (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home;",39,38,"","Home (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home_page;",
53,43,"","Home Page",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home_page;fillColor\x3d#2072B8;",53,43,"","Home Page (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home_page;fillColor\x3d#DA4026;",
53,43,"","Home Page (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home_page;fillColor\x3d#7FBA42;",53,43,"","Home Page (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.home_page;fillColor\x3d#CCCBCB;",
53,43,"","Home Page (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.hybrid;",58,52,"","Hybrid",null,null,this.getTagsForStencil("mxgraph.office.concepts","hybrid","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.input_output_filter;",
46,46,"","Input Output Filter",null,null,this.getTagsForStencil("mxgraph.office.concepts","input output filter","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.install;",45,52,"","Install",null,null,this.getTagsForStencil("mxgraph.office.concepts","install","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.integration;",
44,43,"","Integration",null,null,this.getTagsForStencil("mxgraph.office.concepts","integration","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.lab;",47,50,"","Lab",null,null,this.getTagsForStencil("mxgraph.office.concepts","lab","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.learn;",
56,57,"","Learn",null,null,this.getTagsForStencil("mxgraph.office.concepts","learn","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.license;",45,52,"","License",null,null,this.getTagsForStencil("mxgraph.office.concepts","license","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.link;",
61,21,"","Link",null,null,this.getTagsForStencil("mxgraph.office.concepts","link","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.list_library;",52,48,"","List Library",null,null,this.getTagsForStencil("mxgraph.office.concepts","list library","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.mailbox;",
53,49,"","Mailbox",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.mailbox;",40,38,"","Mailbox (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.mailbox2;",
53,49,"","Mailbox",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox2","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.mailbox2;",40,38,"","Mailbox (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox2","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.maintenance;",
39,56,"","Maintenance",null,null,this.getTagsForStencil("mxgraph.office.concepts","maintenance","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.marketplace_shopping_bag;",36,46,"","Marketplace, Shopping Bag",null,null,this.getTagsForStencil("mxgraph.office.concepts","marketplace shopping bag","office concept ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.meets_requirements;",56,53,"","Meets Requirements",null,null,this.getTagsForStencil("mxgraph.office.concepts","meets requirements","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.migration;",
59,34,"","Migration",null,null,this.getTagsForStencil("mxgraph.office.concepts","migration","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.moes;",40,47,"","MOEs",null,null,this.getTagsForStencil("mxgraph.office.concepts","moes","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.navigation;",
53,40,"","Navigation",null,null,this.getTagsForStencil("mxgraph.office.concepts","navigation","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.node_generic;",46,52,"","Node, Generic",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.node_generic;fillColor\x3d#2072B8;",
46,52,"","Node, Generic (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.node_generic;fillColor\x3d#DA4026;",46,52,"","Node, Generic (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.node_generic;fillColor\x3d#7FBA42;",46,52,"","Node, Generic (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.node_generic;fillColor\x3d#CCCBCB;",
46,52,"","Node, Generic (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.office_installed;",58,48,"","Office Installed",null,null,this.getTagsForStencil("mxgraph.office.concepts","office installed","office concept ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.on_premises;",34,55,"","On Premises",null,null,this.getTagsForStencil("mxgraph.office.concepts","on premises","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.on_premises_directory;",
50,59,"","On Premises Directory",null,null,this.getTagsForStencil("mxgraph.office.concepts","on premises directory","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.phishing;",59,47,"","Phishing",null,null,this.getTagsForStencil("mxgraph.office.concepts","phishing","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.pin;",
24,44,"","Pin",null,null,this.getTagsForStencil("mxgraph.office.concepts","pin","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.platform_options;",58,52,"","Platform Options",null,null,this.getTagsForStencil("mxgraph.office.concepts","platform options","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.powershell;",
45,45,"","PowerShell",null,null,this.getTagsForStencil("mxgraph.office.concepts","powershell","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.properties;",50,49,"","Properties",null,null,this.getTagsForStencil("mxgraph.office.concepts","properties","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.publish;",
57,48,"","Publish",null,null,this.getTagsForStencil("mxgraph.office.concepts","publish","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.remote_access;",59,41,"","Remote Access",null,null,this.getTagsForStencil("mxgraph.office.concepts","remote access","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.script;",
53,49,"","Script",null,null,this.getTagsForStencil("mxgraph.office.concepts","script","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.search;",49,49,"","Search",null,null,this.getTagsForStencil("mxgraph.office.concepts","search","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.search;",
35,35,"","Search (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","search","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.service_application;",59,48,"","Service Application",null,null,this.getTagsForStencil("mxgraph.office.concepts","service application","office concept ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.settings;",48,48,"","Settings",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.settings_office_365;",
48,48,"","Settings, Office 365",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings office 365","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.settings_office_365;",31,31,"","Settings, Office 365 (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings office 365",
"office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.sign_up;",51,47,"","Sign Up",null,null,this.getTagsForStencil("mxgraph.office.concepts","sign up","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.sound_file;",
40,50,"","Sound File",null,null,this.getTagsForStencil("mxgraph.office.concepts","sound file","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.tasks;",40,52,"","Tasks",null,null,this.getTagsForStencil("mxgraph.office.concepts","tasks","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.technical_diagram;",
50,56,"","Technical Diagram",null,null,this.getTagsForStencil("mxgraph.office.concepts","technical diagram","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.upgrade_application;",58,42,"","Upgrade Application",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade application","office concept ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.upgrade_server;",39,52,"","Upgrade Server",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade server","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.upgrade_site;",
59,48,"","Upgrade Site",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade site","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.upload;",48,55,"","Upload",null,null,this.getTagsForStencil("mxgraph.office.concepts","upload","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.video_form;",
58,49,"","Video Form",null,null,this.getTagsForStencil("mxgraph.office.concepts","video form","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.video_play;",50,40,"","Video Play",null,null,this.getTagsForStencil("mxgraph.office.concepts","video play","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.voicemail;",
53,34,"","Voicemail",null,null,this.getTagsForStencil("mxgraph.office.concepts","voicemail","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.voicemail_preview;",57,52,"","Voicemail Preview",null,null,this.getTagsForStencil("mxgraph.office.concepts","voicemail preview","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.walkthrough;",
41,58,"","Walkthrough",null,null,this.getTagsForStencil("mxgraph.office.concepts","walkthrough","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.website;",59,49,"","Website",null,null,this.getTagsForStencil("mxgraph.office.concepts","website","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.web_conferencing;",
60,56,"","Web Conferencing",null,null,this.getTagsForStencil("mxgraph.office.concepts","web conferencing","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.web_page;",50,54,"","Web Page",null,null,this.getTagsForStencil("mxgraph.office.concepts","web page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.web_part;",
45,52,"","Web Part",null,null,this.getTagsForStencil("mxgraph.office.concepts","web part","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.web_services;",60,56,"","Web Services",null,null,this.getTagsForStencil("mxgraph.office.concepts","web services","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.whats_new;",
55,38,"","Whats New",null,null,this.getTagsForStencil("mxgraph.office.concepts","whats new","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.writing_pen;",54,54,"","Writing, Pen",null,null,this.getTagsForStencil("mxgraph.office.concepts","writing pen","office concept ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.concepts.writing_pencil;",
50,50,"","Writing, Pencil",null,null,this.getTagsForStencil("mxgraph.office.concepts","writing pencil","office concept ").join(" "))];this.addPalette("officeConcepts","Office / Concepts",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addOfficeDatabasesPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.address_book_store;",
50,54,"","Address Book Store",null,null,this.getTagsForStencil("mxgraph.office.databases","address_book_store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.application_store;",49,53,"","Application Store",null,null,this.getTagsForStencil("mxgraph.office.databases","application store","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database;",35,49,"","Database",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database;fillColor\x3d#2072B8;",
35,49,"","Database (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database;fillColor\x3d#DA4026;",35,49,"","Database (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database;fillColor\x3d#7FBA42;",
35,49,"","Database (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database;fillColor\x3d#CCCBCB;",35,49,"","Database (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database;",
28,38,"","Database (small)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_availability_group;",59,59,"","Database Availability Group",null,null,this.getTagsForStencil("mxgraph.office.databases","availability group","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_cube;",47,52,"","Database Cube",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_cube;fillColor\x3d#2072B8;",
47,52,"","Database Cube (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_cube;fillColor\x3d#DA4026;",47,52,"","Database Cube (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_cube;fillColor\x3d#7FBA42;",47,52,"","Database Cube (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_cube;fillColor\x3d#CCCBCB;",
47,52,"","Database Cube (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_1;",35,27,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_1;fillColor\x3d#2072B8;",
35,27,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_1;fillColor\x3d#DA4026;",35,27,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_1;fillColor\x3d#7FBA42;",35,27,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_1;fillColor\x3d#CCCBCB;",
35,27,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_2;",35,42,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_2;fillColor\x3d#2072B8;",
35,42,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_2;fillColor\x3d#DA4026;",35,42,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_2;fillColor\x3d#7FBA42;",35,42,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_2;fillColor\x3d#CCCBCB;",
35,42,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_3;",35,57,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_3;fillColor\x3d#2072B8;",
35,57,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_3;fillColor\x3d#DA4026;",35,57,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_3;fillColor\x3d#7FBA42;",35,57,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mini_3;fillColor\x3d#CCCBCB;",
35,57,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mirror;",60,59,"","Database Mirror",null,null,this.getTagsForStencil("mxgraph.office.databases","mirror","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_mirror_witness_node;",60,59,"","Database Mirror Witness Node",null,null,this.getTagsForStencil("mxgraph.office.databases","mirror witness node","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_partition_2;",
57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_partition_3;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_partition_4;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_partition_5;",
57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_public_folder;",53,54,"","Database Public Folder",null,null,this.getTagsForStencil("mxgraph.office.databases","public folder","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_server;",43,57,"","Database Server",null,null,this.getTagsForStencil("mxgraph.office.databases","server","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_server_blue;",
43,57,"","Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_server_orange;",43,57,"","Database Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_server_green;",43,57,"","Database Server (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.database_server_ghosted;",
43,57,"","Database Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.mailbox_database;",53,55,"","Mailbox Database",null,null,this.getTagsForStencil("mxgraph.office.databases","mailbox","office database db ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.monitoring_store;",58,58,"","Monitoring Store",null,null,this.getTagsForStencil("mxgraph.office.databases","monitoring store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.unified_contact_store;",
54,55,"","Unified Contact Store",null,null,this.getTagsForStencil("mxgraph.office.databases","unified contact store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.databases.web_store;",50,54,"","Web Store",null,null,this.getTagsForStencil("mxgraph.office.databases","web store","office database db ").join(" "))];
this.addPalette("officeDatabases","Office / Databases",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addOfficeDevicesPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.bluetooth;",56,57,"","Bluetooth",null,null,this.getTagsForStencil("mxgraph.office.devices",
"bluetooth","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.cd_dvd;",49,49,"","CD, DVD",null,null,this.getTagsForStencil("mxgraph.office.devices","cd dvd compact disc digital video drive","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.cell_phone_android_proportional;",
17,31,"","Cell Phone, Android, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone android proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.cell_phone_android_standalone;",24,44,"","Cell Phone, Android, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices",
"cell phone android standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.cell_phone_generic;",26,47,"","Cell Phone, Generic",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone generic","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.cell_phone_generic;",
21,37,"","Cell Phone, Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone generic small","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.cell_phone_iphone_proportional;",17,29,"","Cell Phone, iPhone, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices",
"cell phone iphone proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.cell_phone_iphone_standalone;",25,42,"","Cell Phone, iPhone, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone iphone standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.cell_phone_windows_phone_proportional;",
16,29,"","Cell Phone, Windows Phone, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone windows phone proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.cell_phone_windows_phone_standalone;",24,42,"","Cell Phone, Windows Phone, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices",
"cell phone windows standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.data_jack;",47,47,"","Data Jack",null,null,this.getTagsForStencil("mxgraph.office.devices","data jack","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.device_update_service;",
50,54,"","Device Update Service",null,null,this.getTagsForStencil("mxgraph.office.devices","device update service","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.fax;",57,47,"","Fax",null,null,this.getTagsForStencil("mxgraph.office.devices","fax","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.hard_disk;",
40,54,"","Hard Disk",null,null,this.getTagsForStencil("mxgraph.office.devices","hard disk hdd drive","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.headset;",36,48,"","Headset",null,null,this.getTagsForStencil("mxgraph.office.devices","headset","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.ipad_mini;",
33,47,"","iPad, Mini",null,null,this.getTagsForStencil("mxgraph.office.devices","ipad mini","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.ip_gateway;",59,40,"","IP Gateway",null,null,this.getTagsForStencil("mxgraph.office.devices","ip gateway","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.ip_pbx;",
59,39,"","IP PBX",null,null,this.getTagsForStencil("mxgraph.office.devices","ip pbx","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.laptop;",58,34,"","Laptop",null,null,this.getTagsForStencil("mxgraph.office.devices","laptop","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.lcd_monitor;",
58,48,"","LCD Monitor",null,null,this.getTagsForStencil("mxgraph.office.devices","lcd monitor","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.lcd_monitor;",39,32,"","LCD Monitor (small)",null,null,this.getTagsForStencil("mxgraph.office.devices","lcd monitor small","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.load_balancer;",
59,39,"","Load Balancer",null,null,this.getTagsForStencil("mxgraph.office.devices","load balancer","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.mac_client;",58,48,"","Mac Client",null,null,this.getTagsForStencil("mxgraph.office.devices","mac client","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.management_console;",
58,48,"","Management Console",null,null,this.getTagsForStencil("mxgraph.office.devices","management console","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.microphone;",53,37,"","Microphone",null,null,this.getTagsForStencil("mxgraph.office.devices","microphone","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.modem;",
54,34,"","Modem",null,null,this.getTagsForStencil("mxgraph.office.devices","modem","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.nic;",57,38,"","NIC",null,null,this.getTagsForStencil("mxgraph.office.devices","nic","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.phone_digital;",
49,42,"","Phone, Digital",null,null,this.getTagsForStencil("mxgraph.office.devices","phone digital","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.phone_traditional;",48,40,"","Phone, Traditional",null,null,this.getTagsForStencil("mxgraph.office.devices","phone traditional","office device ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.phone_usb;",58,51,"","Phone, USB",null,null,this.getTagsForStencil("mxgraph.office.devices","phone usb","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.phone_voip;",
57,51,"","Phone, VoIP",null,null,this.getTagsForStencil("mxgraph.office.devices","phone voip voice over internet protocol","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.printer;",56,47,"","Printer",null,null,this.getTagsForStencil("mxgraph.office.devices","printer","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.roundtable;",
50,58,"","Roundtable",null,null,this.getTagsForStencil("mxgraph.office.devices","roundtable","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.router;",55,56,"","Router",null,null,this.getTagsForStencil("mxgraph.office.devices","router","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.session_border_controller;",
59,52,"","Session Border Controller",null,null,this.getTagsForStencil("mxgraph.office.devices","session border controller","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.shadowed_router;",59,59,"","Shadowed Router",null,null,this.getTagsForStencil("mxgraph.office.devices","shadowed router","office device ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.stylus;",57,57,"","Stylus",null,null,this.getTagsForStencil("mxgraph.office.devices","stylus","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.switch;",
55,18,"","Switch",null,null,this.getTagsForStencil("mxgraph.office.devices","switch","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.tablet_android;",56,37,"","Tablet, Android",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet android","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.tablet_ipad;",
39,52,"","Tablet, iPad",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet ipad","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.tablet_windows_7inch;",34,47,"","Tablet, Windows, 7inch",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet windows seven inch","office device ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.tablet_windows_8;",56,35,"","Tablet, Windows 8",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet windows eight","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.tv;",
59,45,"","TV",null,null,this.getTagsForStencil("mxgraph.office.devices","tv television","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.video_camera;",52,25,"","Video Camera",null,null,this.getTagsForStencil("mxgraph.office.devices","video camera","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.video_gateway;",
59,41,"","Video Gateway",null,null,this.getTagsForStencil("mxgraph.office.devices","video gateway","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.webcam;",40,50,"","Webcam",null,null,this.getTagsForStencil("mxgraph.office.devices","webcam","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.webcam_hd;",
56,59,"","Webcam, HD",null,null,this.getTagsForStencil("mxgraph.office.devices","webcam hd high definition","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.workstation;",53,56,"","Workstation",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.workstation_pc;",
53,59,"","Workstation, PC",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation pc personal computer","office device ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.devices.workstation_visual_studio;",53,59,"","Workstation, Visual Studio",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation visual studio",
"office device ").join(" "))];this.addPalette("officeDevices","Office / Devices",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addOfficeSecurityPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.active_directory;",53,46,"","Active Directory",null,null,
this.getTagsForStencil("mxgraph.office.security","active directory","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.address_book_policies;",55,53,"","Address Book Policies",null,null,this.getTagsForStencil("mxgraph.office.security","address book policies","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.certificate;",
58,50,"","Certificate",null,null,this.getTagsForStencil("mxgraph.office.security","certificate","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.certificate;",39,33,"","Certificate (small)",null,null,this.getTagsForStencil("mxgraph.office.security","certificate small","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.credentials;",
56,58,"","Credentials",null,null,this.getTagsForStencil("mxgraph.office.security","credentials","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.domain;",53,46,"","Domain",null,null,this.getTagsForStencil("mxgraph.office.security","domain","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.domain;",
41,36,"","Domain (small)",null,null,this.getTagsForStencil("mxgraph.office.security","domain","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.email_address_policy;",55,53,"","Email Address Policy",null,null,this.getTagsForStencil("mxgraph.office.security","email address policy","office security ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.federation_service;",58,59,"","Federation Service",null,null,this.getTagsForStencil("mxgraph.office.security","federation service","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.federation_trust;",
58,59,"","Federation Trust",null,null,this.getTagsForStencil("mxgraph.office.security","federation trust","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.irm_protected_message;",56,50,"","IRM-Protected Message",null,null,this.getTagsForStencil("mxgraph.office.security","irm protected message","office security ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.key_permissions;",25,53,"","Key, Permissions",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.key_permissions;fillColor\x3d#2072B8;",
25,53,"","Key, Permissions (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.key_permissions;fillColor\x3d#DA4026;",25,53,"","Key, Permissions (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.key_permissions;fillColor\x3d#7FBA42;",25,53,"","Key, Permissions (green)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.key_permissions;fillColor\x3d#CCCBCB;",
25,53,"","Key, Permissions (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.key_permissions;",19,40,"","Key, Permissions (small)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions small","office security ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_protected;",38,52,"","Lock, Protected",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_protected;fillColor\x3d#2072B8;",
38,52,"","Lock, Protected (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_protected;fillColor\x3d#DA4026;",38,52,"","Lock, Protected (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_protected;fillColor\x3d#7FBA42;",38,52,"","Lock, Protected (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_protected;fillColor\x3d#CCCBCB;",
38,52,"","Lock, Protected (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_protected;",28,37,"","Lock, Protected (small)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected small","office security ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_unprotected;",38,55,"","Lock, Unprotected",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_unprotected;fillColor\x3d#2072B8;",
38,55,"","Lock, Unprotected (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_unprotected;fillColor\x3d#DA4026;",38,55,"","Lock, Unprotected (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_unprotected;fillColor\x3d#7FBA42;",38,55,"","Lock, Unprotected (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_unprotected;fillColor\x3d#CCCBCB;",
38,55,"","Lock, Unprotected (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_unprotected;",28,40,"","Lock, Unprotected (small)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected small",
"office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_with_key_security;",47,58,"","Lock With Key, Security",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_with_key_security_blue;",
47,58,"","Lock With Key, Security (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_with_key_security_orange;",47,58,"","Lock With Key, Security (orange)",null,null,this.getTagsForStencil("mxgraph.office.security",
"lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_with_key_security_green;",47,58,"","Lock With Key, Security (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.lock_with_key_security_ghosted;",
47,58,"","Lock With Key, Security (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.management_role;",45,45,"","Management Role",null,null,this.getTagsForStencil("mxgraph.office.security","management role","office security ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.policy;",53,49,"","Policy",null,null,this.getTagsForStencil("mxgraph.office.security","policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.policy;",
39,36,"","Policy (small)",null,null,this.getTagsForStencil("mxgraph.office.security","policy small","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.protected_voice_mail;",59,51,"","Protected Voice Mail",null,null,this.getTagsForStencil("mxgraph.office.security","protected voice mail","office security ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.retention_policy;",54,55,"","Retention Policy",null,null,this.getTagsForStencil("mxgraph.office.security","retention policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.retention_policy_tag;",
56,58,"","Retention Policy Tag",null,null,this.getTagsForStencil("mxgraph.office.security","retention policy tag","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.role_assignment_policy;",55,54,"","Role Assignment Policy",null,null,this.getTagsForStencil("mxgraph.office.security","role assignment policy",
"office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.role_group;",59,56,"","Role Group",null,null,this.getTagsForStencil("mxgraph.office.security","role group","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.secure_messaging;",
55,46,"","Secure Messaging",null,null,this.getTagsForStencil("mxgraph.office.security","secure messaging","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.security_access_portal;",64,55,"","Security Access Portal",null,null,this.getTagsForStencil("mxgraph.office.security","security access portal","office security ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.sharing_policy;",56,53,"","Sharing Policy",null,null,this.getTagsForStencil("mxgraph.office.security","sharing policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.split_domain_user;",
59,55,"","Split-Domain User",null,null,this.getTagsForStencil("mxgraph.office.security","split domain user","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.token;",41,52,"","Token",null,null,this.getTagsForStencil("mxgraph.office.security","token","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.token;",
29,37,"","Token (small)",null,null,this.getTagsForStencil("mxgraph.office.security","token small","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.token_service;",60,56,"","Token Service",null,null,this.getTagsForStencil("mxgraph.office.security","token service","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.trusted_application_server;",
46,57,"","Trusted Application Server",null,null,this.getTagsForStencil("mxgraph.office.security","trusted application server","office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.um_mailbox_policy;",55,53,"","UM Mailbox Policy",null,null,this.getTagsForStencil("mxgraph.office.security","um mailbox policy",
"office security ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.security.universal_security_group;",58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.security","universal security group","office security ").join(" "))];this.addPalette("officeSecurity","Office / Security",!1,mxUtils.bind(this,
function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addOfficeServersPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.3rd_party_mail_server;",47,59,"","3rd Party Mail Server",null,null,this.getTagsForStencil("mxgraph.office.servers","3rd party mail server","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.active_directory_federation_services_proxy;",44,55,"","Active Directory Federation Services Proxy",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services proxy","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.active_directory_federation_services_server;",
45,56,"","Active Directory Federation Services Server",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.active_directory_federation_services_server_blue;",45,56,"","Active Directory Federation Services Server (blue)",
null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.active_directory_federation_services_server_orange;",45,56,"","Active Directory Federation Services Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers",
"active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.active_directory_federation_services_server_green;",45,56,"","Active Directory Federation Services Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server",
"office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.active_directory_federation_services_server_ghosted;",45,56,"","Active Directory Federation Services Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.application_server;",
46,56,"","Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.application_server_blue;",46,56,"","Application Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.application_server_orange;",46,56,"","Application Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.application_server_green;",
46,56,"","Application Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.application_server_ghosted;",46,56,"","Application Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server",
"office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.call_admission_control_service;",50,60,"","Call Admission Control Service",null,null,this.getTagsForStencil("mxgraph.office.servers","call admission control service","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.certificate_authority;",
46,59,"","Certificate Authority",null,null,this.getTagsForStencil("mxgraph.office.servers","certificate authority","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.cluster_server;",49,59,"","Cluster Server",null,null,this.getTagsForStencil("mxgraph.office.servers","cluster_server","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.database_server;",43,56,"","Database Server",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.database_server_blue;",
43,56,"","Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.database_server_orange;",43,56,"","Database Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.database_server_green;",43,56,"","Database Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.database_server_ghosted;",
43,56,"","Database Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.datacenter;",53,53,"","Datacenter",null,null,this.getTagsForStencil("mxgraph.office.servers","datacenter","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.dirsync_server;",
47,56,"","DirSync Server",null,null,this.getTagsForStencil("mxgraph.office.servers","dirsync server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.domain_controller;",45,55,"","Domain Controller",null,null,this.getTagsForStencil("mxgraph.office.servers","domain controller","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.excahnge_client_access_server_role;",52,59,"","Excahnge Client Access Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","excahnge client access server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.exchange_edge_transport_server_role;",
52,55,"","Exchange Edge Transport Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange edge transport server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.exchange_hub_transport_server_role;",52,59,"","Exchange Hub Transport Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers",
"exchange hub transport server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.exchange_mailbox_server_role;",52,59,"","Exchange Mailbox Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange mailbox server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.exchange_um_server_role;",
52,59,"","Exchange UM Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange um server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.exchange_client_access_server;",57,59,"","Exchange Client Access Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange client access server",
"office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.exchange_edge_transport_server;",57,55,"","Exchange Edge Transport Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange edge transport server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.exchange_mailbox_server;",
57,59,"","Exchange Mailbox Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange mailbox server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.exchange_server;",57,55,"","Exchange Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange server","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.file_server;",45,56,"","File Server",null,null,this.getTagsForStencil("mxgraph.office.servers","file server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.hybrid_server;",
59,52,"","Hybrid Server",null,null,this.getTagsForStencil("mxgraph.office.servers","hybrid server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.mainframe;",58,42,"","Mainframe",null,null,this.getTagsForStencil("mxgraph.office.servers","mainframe","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.mainframe_host;",
44,42,"","Mainframe Host",null,null,this.getTagsForStencil("mxgraph.office.servers","mainframe host","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.monitoring_sql_reporting_services;",50,59,"","Monitoring SQL Reporting Services",null,null,this.getTagsForStencil("mxgraph.office.servers","monitoring sql reporting services",
"office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.network;",34,57,"","Network",null,null,this.getTagsForStencil("mxgraph.office.servers","network","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.office_web_apps_server;",
52,56,"","Office Web Apps Server",null,null,this.getTagsForStencil("mxgraph.office.servers","office web apps server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.on_premises_server;",44,58,"","On Premises Server",null,null,this.getTagsForStencil("mxgraph.office.servers","on premises server","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.physical_host;fillColor\x3d#2072B8;",27,52,"","Physical Host",null,null,this.getTagsForStencil("mxgraph.office.servers","physical host","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.physical_host_farm;fillColor\x3d#2072B8;",
56,49,"","Physical Host Farm",null,null,this.getTagsForStencil("mxgraph.office.servers","physical host farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.reverse_proxy;",41,53,"","Reverse Proxy",null,null,this.getTagsForStencil("mxgraph.office.servers","reverse proxy","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.scom;",
56,53,"","SCOM",null,null,this.getTagsForStencil("mxgraph.office.servers","scom","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_disaster;",46,57,"","Server Disaster",null,null,this.getTagsForStencil("mxgraph.office.servers","server disaster","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_farm;",
56,49,"","Server Farm",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_farm;fillColor\x3d#2072B8;",56,49,"","Server Farm (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_farm;fillColor\x3d#DA4026;",56,49,"","Server Farm (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_farm;fillColor\x3d#7FBA42;",
56,49,"","Server Farm (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_farm;fillColor\x3d#CCCBCB;",56,49,"","Server Farm (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_generic;",27,52,"","Server, Generic",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_generic;fillColor\x3d#2072B8;",
27,52,"","Server, Generic (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_generic;fillColor\x3d#DA4026;",27,52,"","Server, Generic (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_generic;fillColor\x3d#7FBA42;",27,52,"","Server, Generic (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_generic;fillColor\x3d#CCCBCB;",
27,52,"","Server, Generic (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_generic;",20,39,"","Server, Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic small","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.server_side_code;",49,56,"","Server Side Code",null,null,this.getTagsForStencil("mxgraph.office.servers","server side code","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.sharepoint_server;",
56,55,"","Sharepoint Server",null,null,this.getTagsForStencil("mxgraph.office.servers","sharepoint server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_back_end_server;",54,60,"","Skype for Business Back End Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business back end server",
"office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_back_end_server_mirror;",54,60,"","Skype for Business Back End Server Mirror",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business back end server mirror","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_director;",
54,55,"","Skype for Business Director",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business director","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_director_array;",70,60,"","Skype for Business Director Array",null,null,this.getTagsForStencil("mxgraph.office.servers",
"skype for business director array","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_edge_server;",54,55,"","Skype for Business Edge Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business edge server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_edge_server_pool;",
70,60,"","Skype for Business Edge Server Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business edge server pool","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_front_end_pool;",70,60,"","Skype for Business Front End Pool",null,null,this.getTagsForStencil("mxgraph.office.servers",
"skype for business front end pool","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_front_end_server;",54,60,"","Skype for Business Front End Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business front end server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_mediation_server;",
54,60,"","Skype for Business Mediation Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business mediation server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_monitoring_server;",54,60,"","Skype for Business Monitoring Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
"skype for business monitoring server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_persistent_chat_server;",54,58,"","Skype for Business Persistent Chat Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business persistent chat server","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.skype_for_business_server;",54,55,"","Skype for Business Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.sql_server;",
43,56,"","SQL Server",null,null,this.getTagsForStencil("mxgraph.office.servers","sql server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.survivable_branch_appliance;",37,59,"","Survivable Branch Appliance",null,null,this.getTagsForStencil("mxgraph.office.servers","survivable branch appliance","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.survivable_branch_server;",42,58,"","Survivable Branch Server",null,null,this.getTagsForStencil("mxgraph.office.servers","survivable branch server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.topology_builder;",
59,59,"","Topology Builder",null,null,this.getTagsForStencil("mxgraph.office.servers","topology builder","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.trusted_application_pool;",59,59,"","Trusted Application Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","trusted application pool","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.trusted_application_server;",43,52,"","Trusted Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","trusted application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.tunnel_angled;",
55,35,"","Tunnel Angled",null,null,this.getTagsForStencil("mxgraph.office.servers","tunnel angled","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.tunnel_straight;",59,10,"","Tunnel Straight",null,null,this.getTagsForStencil("mxgraph.office.servers","tunnel straight","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.universal_security_group;",
58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.servers","universal security group","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.video_interop_server;",54,60,"","Video Interop Server",null,null,this.getTagsForStencil("mxgraph.office.servers","video interop server",
"office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.virtual_application_server;",48,55,"","Virtual Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.virtual_application_server;fillColor\x3d#2072B8;",
48,55,"","Virtual Application Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.virtual_database_server;",41,56,"","Virtual Database Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual database server",
"office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.virtual_database_server;fillColor\x3d#2072B8;",41,56,"","Virtual Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual database server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.virtual_server;",
28,52,"","Virtual Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.virtual_server;fillColor\x3d#2072B8;",28,52,"","Virtual Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.virtual_server;",
20,37,"","Virtual Server (small)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server small","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.virtual_web_server;",44,55,"","Virtual Web Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual web server","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.virtual_web_server;fillColor\x3d#2072B8;",44,55,"","Virtual Web Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.vociemail_preview_partner;",
46,56,"","Vociemail Preview Partner",null,null,this.getTagsForStencil("mxgraph.office.servers","vociemail preview partner","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.web_server;",48,57,"","Web Server",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.web_server_blue;",48,57,"","Web Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.web_server_orange;",
48,57,"","Web Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.web_server_green;",48,57,"","Web Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.web_server_ghosted;",
48,57,"","Web Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.windows_router;",52,59,"","Windows Router",null,null,this.getTagsForStencil("mxgraph.office.servers","windows router","office server ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.servers.windows_server;",
52,55,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.office.servers","windows server","office server ").join(" "))];this.addPalette("officeServers","Office / Servers",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addOfficeServicesPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.3rd_party_service;",
53,54,"","3rd Party Service",null,null,this.getTagsForStencil("mxgraph.office.services","3rd party service","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.access_services;",59,49,"","Access Services",null,null,this.getTagsForStencil("mxgraph.office.services","access services","office service ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.business_connectivity_services;",34,51,"","Business Connectivity Services",null,null,this.getTagsForStencil("mxgraph.office.services","business connectivity services","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.call_admission_control_service;",
50,59,"","Call Admission Control Service",null,null,this.getTagsForStencil("mxgraph.office.services","call admission control service","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.central_management_service;",51,54,"","Central Management Service",null,null,this.getTagsForStencil("mxgraph.office.services",
"central management service","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.conference_announcement_service;",59,59,"","Conference Announcement Service",null,null,this.getTagsForStencil("mxgraph.office.services","conference announcement service","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.device_update_service;",
50,54,"","Device Update Service",null,null,this.getTagsForStencil("mxgraph.office.services","device update service","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.email_service;",58,48,"","Email Service",null,null,this.getTagsForStencil("mxgraph.office.services","email service","office service ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.excel_services;",60,49,"","Excel Services",null,null,this.getTagsForStencil("mxgraph.office.services","excel services","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.federation_service;",
58,59,"","Federation Service",null,null,this.getTagsForStencil("mxgraph.office.services","federation service","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.lync_storage_service;",65,58,"","Lync Storage Service",null,null,this.getTagsForStencil("mxgraph.office.services","lync storage service","office service ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.lync_web_app_client;",83,51,"","Lync Web App Client",null,null,this.getTagsForStencil("mxgraph.office.services","lync web app client","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.mobility_service;",
45,53,"","Mobility Service",null,null,this.getTagsForStencil("mxgraph.office.services","mobility service","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.network_file_share_service;",55,53,"","Network File Share Service",null,null,this.getTagsForStencil("mxgraph.office.services","network file share service",
"office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.online_hosted_services;",56,52,"","Online Hosted Services",null,null,this.getTagsForStencil("mxgraph.office.services","online hosted services","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.outlook_web_app;",
83,51,"","Outlook Web App",null,null,this.getTagsForStencil("mxgraph.office.services","outlook web app","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.powerpoint_automation_services;",59,49,"","PowerPoint Automation Services",null,null,this.getTagsForStencil("mxgraph.office.services","powerpoint automation services",
"office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.push_notification_service;",50,58,"","Push Notification Service",null,null,this.getTagsForStencil("mxgraph.office.services","push notification service","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.registrar_service;",
56,52,"","Registrar Service",null,null,this.getTagsForStencil("mxgraph.office.services","registrar service","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.response_group_service;",58,54,"","Response Group Service",null,null,this.getTagsForStencil("mxgraph.office.services","response group service","office service ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.skype_for_business_storage_service;",62,58,"","Skype for Business Storage Service",null,null,this.getTagsForStencil("mxgraph.office.services","skype for business storage service","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.user_services;",
59,59,"","User Services",null,null,this.getTagsForStencil("mxgraph.office.services","user services","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.verification_service;",57,59,"","Verification Service",null,null,this.getTagsForStencil("mxgraph.office.services","verification service","office service ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.web_services;",60,56,"","Web Services",null,null,this.getTagsForStencil("mxgraph.office.services","web services","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.word_automation_services;",
60,49,"","Word Automation Services",null,null,this.getTagsForStencil("mxgraph.office.services","word automation services","office service ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.services.xmpp_service;",58,52,"","XMPP Service",null,null,this.getTagsForStencil("mxgraph.office.services","xmpp service","office service ").join(" "))];
this.addPalette("officeServices","Office / Services",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addOfficeSitesPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.access_services;",59,49,"","Access Services",null,null,this.getTagsForStencil("mxgraph.office.sites",
"access services","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.blog_site;",56,49,"","Blog Site",null,null,this.getTagsForStencil("mxgraph.office.sites","blog site","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.business_connectivity_services;",
34,51,"","Business Connectivity Services",null,null,this.getTagsForStencil("mxgraph.office.sites","business connectivity services","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.excel_services;",60,49,"","Excel Services",null,null,this.getTagsForStencil("mxgraph.office.sites","excel services","office site ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.meeting_workspace_site;",58,50,"","Meeting Workspace Site",null,null,this.getTagsForStencil("mxgraph.office.sites","meeting workspace site","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.my_site;",
58,49,"","My Site",null,null,this.getTagsForStencil("mxgraph.office.sites","my site","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.powerpoint_automation_services;",59,49,"","PowerPoint Automation Services",null,null,this.getTagsForStencil("mxgraph.office.sites","powerpoint automation services","office site ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.publish;",57,48,"","Publish",null,null,this.getTagsForStencil("mxgraph.office.sites","publish","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.site_collection;",
52,40,"","Site Collection",null,null,this.getTagsForStencil("mxgraph.office.sites","site collection","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.site_shared;",56,50,"","Site Shared",null,null,this.getTagsForStencil("mxgraph.office.sites","site shared","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.site_team;",
60,49,"","Site, Team",null,null,this.getTagsForStencil("mxgraph.office.sites","site team","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.subsite;",53,40,"","Subsite",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.subsite;fillColor\x3d#2072B8;",
53,40,"","Subsite (blue)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.subsite;fillColor\x3d#DA4026;",53,40,"","Subsite (orange)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.subsite;fillColor\x3d#7FBA42;",
53,40,"","Subsite (green)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.subsite;fillColor\x3d#CCCBCB;",53,40,"","Subsite (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.subsite;",
38,29,"","Subsite (small)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute small","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.upgrade_site;",59,48,"","Upgrade Site",null,null,this.getTagsForStencil("mxgraph.office.sites","upgrade site","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.website;",
59,49,"","Website",null,null,this.getTagsForStencil("mxgraph.office.sites","website","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.website_public;",58,48,"","Website, Public",null,null,this.getTagsForStencil("mxgraph.office.sites","website public","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.wiki_site;",
59,50,"","Wiki Site",null,null,this.getTagsForStencil("mxgraph.office.sites","wiki_site","office site ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.sites.word_automation_services;",60,49,"","Word Automation Services",null,null,this.getTagsForStencil("mxgraph.office.sites","word automation services","office site ").join(" "))];
this.addPalette("officeSites","Office / Sites",!1,mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))};Sidebar.prototype.addOfficeUsersPalette=function(){var a=[this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.administrator;",58,56,"","Administrator",null,null,this.getTagsForStencil("mxgraph.office.users",
"administrator","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.approver;",59,55,"","Approver",null,null,this.getTagsForStencil("mxgraph.office.users","approver","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.call_center_agent;",
46,55,"","Call Center Agent",null,null,this.getTagsForStencil("mxgraph.office.users","call center agent","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.communications;",54,58,"","Communications",null,null,this.getTagsForStencil("mxgraph.office.users","communications","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.conferencing_attendant;",
53,59,"","Conferencing Attendant",null,null,this.getTagsForStencil("mxgraph.office.users","conferencing attendant","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.credentials;",56,58,"","Credentials",null,null,this.getTagsForStencil("mxgraph.office.users","credentials","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.csv_file;",
59,43,"","CSV File",null,null,this.getTagsForStencil("mxgraph.office.users","csv comma separated value file","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.distribution_group;",58,59,"","Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.users","distribution group","office user ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.dynamic_distribution_group;",58,59,"","Dynamic Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.users","dynamic distribution group","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.mail_user;",
58,59,"","Mail User",null,null,this.getTagsForStencil("mxgraph.office.users","mail user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.meeting;",59,38,"","Meeting",null,null,this.getTagsForStencil("mxgraph.office.users","meeting","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.mobile_user;",
59,56,"","Mobile User",null,null,this.getTagsForStencil("mxgraph.office.users","mobile user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.online_user;",54,43,"","Online User",null,null,this.getTagsForStencil("mxgraph.office.users","online user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.on_premises_user;",
49,59,"","On-Premises User",null,null,this.getTagsForStencil("mxgraph.office.users","on premises user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.outlook_user;",63,55,"","Outlook User",null,null,this.getTagsForStencil("mxgraph.office.users","outlook user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.response_group;",
58,54,"","Response Group",null,null,this.getTagsForStencil("mxgraph.office.users","response group","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.role_group;",59,56,"","Role Group",null,null,this.getTagsForStencil("mxgraph.office.users","role group","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.skype_commercial_user;",
59,56,"","Skype Commercial User",null,null,this.getTagsForStencil("mxgraph.office.users","skype commercial user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.skype_for_business_user;",59,56,"","Skype for Business User",null,null,this.getTagsForStencil("mxgraph.office.users","skype for business user","office user ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.tenant_admin;",56,58,"","Tenant Admin",null,null,this.getTagsForStencil("mxgraph.office.users","tenant admin","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.um_enabled_user;",
58,59,"","UM-Enabled User",null,null,this.getTagsForStencil("mxgraph.office.users","um enabled user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.universal_security_group;",58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.users","universal security group","office user ").join(" ")),
this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.user;",46,50,"","User",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.user;fillColor\x3d#2072B8;",
46,50,"","User (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.user;fillColor\x3d#DA4026;",46,50,"","User (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.user;fillColor\x3d#7FBA42;",
46,50,"","User (green)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.user;fillColor\x3d#CCCBCB;",46,50,"","User (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.user;",
32,35,"","User (small)",null,null,this.getTagsForStencil("mxgraph.office.users","user small","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.users;",46,50,"","Users",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.users;fillColor\x3d#2072B8;",
46,50,"","Users (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.users;fillColor\x3d#DA4026;",46,50,"","Users (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.users;fillColor\x3d#7FBA42;",
46,50,"","Users (green)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.users;fillColor\x3d#CCCBCB;",46,50,"","Users (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.users_two;",
57,43,"","Users, Two",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.users_two;fillColor\x3d#2072B8;",57,43,"","Users, Two (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.users_two;fillColor\x3d#DA4026;",
57,43,"","Users, Two (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.users_two;fillColor\x3d#7FBA42;",57,43,"","Users, Two (green)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.users_two;fillColor\x3d#CCCBCB;",
57,43,"","Users, Two (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.user_accounts;",59,59,"","User Accounts",null,null,this.getTagsForStencil("mxgraph.office.users","user accounts","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.user_external;",
59,50,"","User External",null,null,this.getTagsForStencil("mxgraph.office.users","user external","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.user_services;",59,59,"","User Services",null,null,this.getTagsForStencil("mxgraph.office.users","user services","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.user_store;",
50,55,"","User Store",null,null,this.getTagsForStencil("mxgraph.office.users","user store","office user ").join(" ")),this.createVertexTemplateEntry("shadow\x3d0;dashed\x3d0;html\x3d1;strokeColor\x3dnone;fillColor\x3d#505050;labelPosition\x3dcenter;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;shape\x3dmxgraph.office.users.writer;",54,59,"","Writer",null,null,this.getTagsForStencil("mxgraph.office.users","writer","office user ").join(" "))];this.addPalette("officeUsers","Office / Users",!1,
mxUtils.bind(this,function(c){for(var f=0;f<a.length;f++)c.appendChild(a[f](c))}))}})();
(function(){Sidebar.prototype.addPidInstrumentsPalette=function(){var a="html\x3d1;align\x3dcenter;dashed\x3d0;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid2";this.addPaletteFunctions("pidInstruments","Proc. Eng. / Instruments",!1,[this.createVertexTemplateEntry(a+"inst.discInst;mounting\x3droom",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Discrete Instrument (control room)",
null,null,this.getTagsForStencil("mxgraph.pid2inst","discInst","pid process instrumentation engineering instrument engineering discrete control room").join(" ")),this.createVertexTemplateEntry(a+"inst.discInst;mounting\x3dfield",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Discrete Instrument (field)",null,null,this.getTagsForStencil("mxgraph.pid2inst",
"discInst","pid process instrumentation engineering instrument engineering discrete field").join(" ")),this.createVertexTemplateEntry(a+"inst.discInst;mounting\x3dinaccessible",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Discrete Instrument (inaccessible)",null,null,this.getTagsForStencil("mxgraph.pid2inst","discInst","pid process instrumentation engineering instrument engineering discrete inaccessible").join(" ")),
this.createVertexTemplateEntry(a+"inst.discInst;mounting\x3dlocal",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Discrete Instrument (local panel)",null,null,this.getTagsForStencil("mxgraph.pid2inst","discInst","pid process instrumentation engineering instrument engineering discrete local panel").join(" ")),this.createVertexTemplateEntry(a+
"inst.sharedCont;mounting\x3droom",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Shared Control/Display in DCS (control room)",null,null,this.getTagsForStencil("mxgraph.pid2inst","sharedCont","pid process instrumentation engineering instrument engineering shared control display room").join(" ")),this.createVertexTemplateEntry(a+"inst.sharedCont;mounting\x3dfield",
50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Shared Control/Display in DCS (field)",null,null,this.getTagsForStencil("mxgraph.pid2inst","sharedCont","pid process instrumentation engineering instrument engineering shared control display dcs field").join(" ")),this.createVertexTemplateEntry(a+"inst.sharedCont;mounting\x3dinaccessible",
50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Shared Control/Display in DCS (inaccessible)",null,null,this.getTagsForStencil("mxgraph.pid2inst","sharedCont","pid process instrumentation engineering instrument engineering shared control display dcs inaccessible").join(" ")),this.createVertexTemplateEntry(a+"inst.sharedCont;mounting\x3dlocal",
50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Shared Control/Display in DCS (local panel)",null,null,this.getTagsForStencil("mxgraph.pid2inst","sharedCont","pid process instrumentation engineering instrument engineering shared control display dcs local panel").join(" ")),this.createVertexTemplateEntry(a+"inst.compFunc;mounting\x3droom",
50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Computer Function (control room)",null,null,this.getTagsForStencil("mxgraph.pid2inst","compFunc","pid process instrumentation engineering instrument engineering computer function control room").join(" ")),this.createVertexTemplateEntry(a+"inst.compFunc;mounting\x3dfield",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',
"Computer Function (field)",null,null,this.getTagsForStencil("mxgraph.pid2inst","compFunc","pid process instrumentation engineering instrument engineering computer function field").join(" ")),this.createVertexTemplateEntry(a+"inst.compFunc;mounting\x3dinaccessible",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Computer Function (inaccessible)",
null,null,this.getTagsForStencil("mxgraph.pid2inst","compFunc","pid process instrumentation engineering instrument engineering computer function inaccessible").join(" ")),this.createVertexTemplateEntry(a+"inst.compFunc;mounting\x3dlocal",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Computer Function (local panel)",null,null,this.getTagsForStencil("mxgraph.pid2inst",
"compFunc","pid process instrumentation engineering instrument engineering computer function local panel").join(" ")),this.createVertexTemplateEntry(a+"inst.progLogCont;mounting\x3droom",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Programmable Logic Control (control room)",null,null,this.getTagsForStencil("mxgraph.pid2inst","progLogCont",
"pid process instrumentation engineering instrument engineering programmable logic control plc room").join(" ")),this.createVertexTemplateEntry(a+"inst.progLogCont;mounting\x3dfield",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Programmable Logic Control (field)",null,null,this.getTagsForStencil("mxgraph.pid2inst","progLogCont",
"pid process instrumentation engineering instrument engineering programmable logic control plc field").join(" ")),this.createVertexTemplateEntry(a+"inst.progLogCont;mounting\x3dinaccessible",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Programmable Logic Control (inaccessible)",null,null,this.getTagsForStencil("mxgraph.pid2inst",
"progLogCont","pid process instrumentation engineering instrument engineering programmable logic control plc inaccessible").join(" ")),this.createVertexTemplateEntry(a+"inst.progLogCont;mounting\x3dlocal",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:width;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Programmable Logic Control (local panel)",null,null,this.getTagsForStencil("mxgraph.pid2inst",
"progLogCont","pid process instrumentation engineering instrument engineering programmable logic control plc local panel").join(" ")),this.createVertexTemplateEntry(a+"inst.logic;mounting\x3droom",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Logic (control room)",null,null,this.getTagsForStencil("mxgraph.pid2inst","logic","pid process instrumentation engineering instrument engineering control room").join(" ")),
this.createVertexTemplateEntry(a+"inst.logic;mounting\x3dfield",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Logic (field)",null,null,this.getTagsForStencil("mxgraph.pid2inst","logic","pid process instrumentation engineering instrument engineering field").join(" ")),this.createVertexTemplateEntry(a+"inst.logic;mounting\x3dinaccessible",
50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',"Logic (inaccessible)",null,null,this.getTagsForStencil("mxgraph.pid2inst","logic","pid process instrumentation engineering instrument engineering inaccessible").join(" ")),this.createVertexTemplateEntry(a+"inst.logic;mounting\x3dlocal",50,50,'\x3ctable cellpadding\x3d"4" cellspacing\x3d"0" border\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e##\x3c/td\x3e\x3c/table\x3e ',
"Logic (local panel)",null,null,this.getTagsForStencil("mxgraph.pid2inst","logic","pid process instrumentation engineering instrument engineering local panel").join(" ")),this.createVertexTemplateEntry(a+"inst.indicator;mounting\x3droom;overflow\x3dfill;indType\x3dinst",50,100,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"25"\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"25"\x3e##\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"bottom"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Indicator (Instrument)",null,null,this.getTagsForStencil("mxgraph.pid2inst","indicator","pid process instrumentation engineering instrument engineering indicator").join(" ")),this.createVertexTemplateEntry(a+"inst.indicator;mounting\x3droom;overflow\x3dfill;indType\x3dctrl",50,100,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"25"\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"25"\x3e##\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"bottom"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Indicator (Control)",null,null,this.getTagsForStencil("mxgraph.pid2inst","indicator","pid process instrumentation engineering instrument engineering indicator control").join(" ")),this.createVertexTemplateEntry(a+"inst.indicator;mounting\x3droom;overflow\x3dfill;indType\x3dfunc",50,100,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"25"\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"25"\x3e##\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"bottom"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Indicator (Function)",null,null,this.getTagsForStencil("mxgraph.pid2inst","indicator","pid process instrumentation engineering instrument engineering indicator function").join(" ")),this.createVertexTemplateEntry(a+"inst.indicator;mounting\x3droom;overflow\x3dfill;indType\x3dplc",50,100,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"font-size:1em;width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"25"\x3eTI\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" height\x3d"25"\x3e##\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"bottom"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Indicator (PLC)",null,null,this.getTagsForStencil("mxgraph.pid2inst","indicator","pid process instrumentation engineering instrument engineering indicator plc programmable logic control").join(" "))])};Sidebar.prototype.addPidValvesPalette=function(){var a="dashed\x3d0;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid2",c=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;dashed\x3d0;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid2valves.valve;valveType\x3d",
a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;dashed\x3d0;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid2valves.";this.addPaletteFunctions("pidValves","Proc. Eng. / Valves",!1,[this.createVertexTemplateEntry(c+"gate",100,60,"","Gate Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate").join(" ")),this.createVertexTemplateEntry(c+"gate;defState\x3dclosed",100,60,
"","Normally Closed Gate Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering normally closed nc gate").join(" ")),this.createVertexTemplateEntry(c+"ball",100,60,"","Ball Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering ball").join(" ")),this.createVertexTemplateEntry(c+"ball;defState\x3dclosed",100,60,"","Normally Closed Ball Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves",
"valve","pid process instrumentation engineering normally closed nc ball").join(" ")),this.createVertexTemplateEntry(c+"globe",100,60,"","Globe Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering globe").join(" ")),this.createVertexTemplateEntry(c+"butterfly",100,60,"","Butterfly Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering butterfly").join(" ")),this.createVertexTemplateEntry(c+
"check;",100,60,"","Check Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering check").join(" ")),this.createVertexTemplateEntry(c+"plug",100,60,"","Plug Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering plug").join(" ")),this.createVertexTemplateEntry(c+"needle",100,60,"","Needle Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering needle").join(" ")),
this.createVertexTemplateEntry(c+"selfDrain",100,60,"","Self Draining Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering self draining").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3dman",100,100,"","Gate Valve (Manual)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate manual").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3ddiaph",100,100,"","Gate Valve (Diaphragm)",
null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate diaphragm").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3dbalDiaph",100,100,"","Gate Valve (Balanced Diaphragm)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate balanced diaphragm").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3ddigital",100,100,"","Gate Valve (Digital)",null,null,this.getTagsForStencil("mxgraph.pid2valves",
"valve","pid process instrumentation engineering gate digital").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3delHyd",100,100,"","Gate Valve (Electro-Hydraulic)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate electro hydraulic").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3dkey",100,100,"","Gate Valve (Key)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate key").join(" ")),
this.createVertexTemplateEntry(c+"gate;actuator\x3dmotor",100,100,"","Gate Valve (Motor)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate motor").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3dpilot",100,100,"","Gate Valve (Pilot)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate pilot").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3dsolenoid",100,100,
"","Gate Valve (Solenoid)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate solenoid").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3dsolenoidManRes",100,100,"","Gate Valve (Solenoid With Manual Reset)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate solenoid manual reset").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3dspring",100,100,"","Gate Valve (Spring)",
null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate spring").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3dweight",100,100,"","Gate Valve (Weight)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate weight").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3dsingActing",100,100,"","Gate Valve (Single Acting Cylinder)",null,null,this.getTagsForStencil("mxgraph.pid2valves",
"valve","pid process instrumentation engineering gate single acting cylinder").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3ddblActing",100,100,"","Gate Valve (Double Acting Cylinder)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering gate double acting cylinder").join(" ")),this.createVertexTemplateEntry(c+"gate;actuator\x3dangBlow",100,100,"","Angle Blowdown Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve",
"pid process instrumentation engineering angle blowdown").join(" ")),this.createVertexTemplateEntry(a+"blockBleedValve;actuator\x3dnone",100,130,"","Integrated Block and Bleed Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","blockBleedValve","pid process instrumentation engineering integrated block bleed").join(" ")),this.createVertexTemplateEntry(a+"blockBleedValve;actuator\x3dman",100,170,"","Integrated Block and Bleed Valve (Manual)",null,null,this.getTagsForStencil("mxgraph.pid2valves",
"blockBleedValve","pid process instrumentation engineering integrated block bleed manual").join(" ")),this.createVertexTemplateEntry(c+"angle;actuator\x3dnone",100,80,"","Angle Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering angle").join(" ")),this.createVertexTemplateEntry(c+"angle;actuator\x3dman",100,120,"","Angle Valve (Manual)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering angle manual").join(" ")),
this.createVertexTemplateEntry(c+"angleGlobe;actuator\x3dnone",100,80,"","Angle Globe Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering angle globe").join(" ")),this.createVertexTemplateEntry(c+"angleGlobe;actuator\x3dman",100,120,"","Angle Globe Valve (Manual)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering angle globe manual").join(" ")),this.createVertexTemplateEntry(c+"threeWay;actuator\x3dnone",
100,80,"","3 Way Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering three way").join(" ")),this.createVertexTemplateEntry(c+"threeWay;actuator\x3dman",100,120,"","3 Way Valve (Manual)",null,null,this.getTagsForStencil("mxgraph.pid2valves","valve","pid process instrumentation engineering three way manual").join(" ")),this.createVertexTemplateEntry(a+"autoRecircValve",100,60,"","Auto Recirculation Valve",null,null,this.getTagsForStencil("mxgraph.pid2valves",
"blockBleedValve","pid process instrumentation engineering auto recirculation").join(" "))])};Sidebar.prototype.addPidCompressorsPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;align\x3dcenter;dashed\x3d0;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.compressors.";this.addPaletteFunctions("pidCompressors","Proc. Eng. / Compressors",!1,[this.createVertexTemplateEntry(a+"ac_air_compressor",100,65,"","AC Air Compressor",
null,null,this.getTagsForStencil("mxgraph.pid.compressors","ac_air_compressor","pid process instrumentation engineering ").join(" ")),this.createVertexTemplateEntry(a+"centrifugal_compressor",70,70,"","Centrifugal Compressor",null,null,this.getTagsForStencil("mxgraph.pid.compressors","centrifugal_compressor","pid process instrumentation engineering ").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.compressors.centrifugal_compressor_-_turbine_driven;dashed\x3d0;fontSize\x3d8;html\x3d1;overflow\x3dfill;",
100,70,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr style\x3d"height:25%;"\x3e\x3ctd\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr style\x3d"height:75%;"\x3e\x3ctd align\x3d"left" style\x3d"padding-left:11%;width:100%"\x3eT\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Centrifugal Compressor - Turbine Driven",null,null,this.getTagsForStencil("mxgraph.pid.compressors","centrifugal_compressor_-_turbine_driven","pid process instrumentation engineering ").join(" ")),this.createVertexTemplateEntry(a+
"compressor",100,100,"","Compressor",null,null,this.getTagsForStencil("mxgraph.pid.compressors","compressor","pid process instrumentation engineering ").join(" ")),this.createVertexTemplateEntry(a+"compressor_and_silencers",90,80,"","Compressor and Silencers",null,null,this.getTagsForStencil("mxgraph.pid.compressors","compressor_and_silencers","pid process instrumentation engineering silencer").join(" ")),this.createVertexTemplateEntry(a+"liquid_ring_compressor",90,90,"","Liquid Ring Compressor",
null,null,this.getTagsForStencil("mxgraph.pid.compressors","liquid_ring_compressor","pid process instrumentation engineering ").join(" ")),this.createVertexTemplateEntry(a+"reciprocating_compressor",100,40,"","Reciprocating Compressor",null,null,this.getTagsForStencil("mxgraph.pid.compressors","reciprocating_compressor","pid process instrumentation engineering ").join(" ")),this.createVertexTemplateEntry(a+"reciprocating_compressor_2",50,65,"","Reciprocating Compressor 2",null,null,this.getTagsForStencil("mxgraph.pid.compressors",
"reciprocating_compressor_2","pid process instrumentation engineering ").join(" ")),this.createVertexTemplateEntry(a+"rotary_compressor",42,91,"","Rotary Compressor",null,null,this.getTagsForStencil("mxgraph.pid.compressors","rotary_compressor","pid process instrumentation engineering ").join(" "))])};Sidebar.prototype.addPidEnginesPalette=function(){var a="dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.engines.",c=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;align\x3dcenter;dashed\x3d0;html\x3d1;"+
mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.engines.";this.addPaletteFunctions("pidEngines","Proc. Eng. / Engines",!1,[this.createVertexTemplateEntry(a+"electric_motor;fontSize\x3d45;",100,100,"M","Electric Motor",null,null,this.getTagsForStencil("mxgraph.pid.engines","electric_motor","pid process instrumentation engine motor ").join(" ")),this.createVertexTemplateEntry(a+"electric_motor_(ac);fontSize\x3d45;",100,100,"M","Electric Motor (AC)",null,null,this.getTagsForStencil("mxgraph.pid.engines",
"electric_motor_(ac)","pid process instrumentation engine motor ").join(" ")),this.createVertexTemplateEntry(a+"electric_motor_(dc);fontSize\x3d45;",100,100,"M","Electric Motor (DC)",null,null,this.getTagsForStencil("mxgraph.pid.engines","electric_motor_(dc)","pid process instrumentation engine motor ").join(" ")),this.createVertexTemplateEntry(a+"gear;fontSize\x3d45;",100,100,"G","Gear",null,null,this.getTagsForStencil("mxgraph.pid.engines","gear","pid process instrumentation engine motor ").join(" ")),
this.createVertexTemplateEntry(a+"generator;fontSize\x3d45;",100,100,"G","Generator",null,null,this.getTagsForStencil("mxgraph.pid.engines","generator","pid process instrumentation engine motor ").join(" ")),this.createVertexTemplateEntry(a+"generator_(ac);fontSize\x3d45;",100,100,"G","Generator (AC)",null,null,this.getTagsForStencil("mxgraph.pid.engines","generator_(ac)","pid process instrumentation engine motor ").join(" ")),this.createVertexTemplateEntry(a+"generator_(dc);fontSize\x3d45;",100,
100,"G","Generator (DC)",null,null,this.getTagsForStencil("mxgraph.pid.engines","generator_(dc)","pid process instrumentation engine motor ").join(" ")),this.createVertexTemplateEntry(c+"turbine",70,100,"","Turbine",null,null,this.getTagsForStencil("mxgraph.pid.engines","turbine","pid process instrumentation engine motor ").join(" "))])};Sidebar.prototype.addPidFiltersPalette=function(){var a="html\x3d1;dashed\x3d0;align\x3dcenter;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.filters.",c=mxConstants.STYLE_VERTICAL_LABEL_POSITION+
"\x3dbottom;align\x3dcenter;dashed\x3d0;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.filters.";this.addPaletteFunctions("pidFilters","Proc. Eng. / Filters",!1,[this.createVertexTemplateEntry(c+"filter;",50,50,"","Filter",null,null,this.getTagsForStencil("mxgraph.pid.filters","filter","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"gas_filter;",50,100,"","Gas Filter",null,null,this.getTagsForStencil("mxgraph.pid.filters",
"gas_filter","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"gas_filter_(bag,_candle,_cartridge);",50,100,"","Gas Filter (Bag, Candle, Cartridge)",null,null,this.getTagsForStencil("mxgraph.pid.filters","gas_filter_(bag,_candle,_cartridge)","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"gas_filter_(belt,_roll);",50,100,"","Gas Filter (Belt, Roll)",null,null,this.getTagsForStencil("mxgraph.pid.filters","gas_filter_(belt,_roll)",
"pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"gas_filter_(fixed_bed);",50,100,"","Gas Filter (Fixed Bed)",null,null,this.getTagsForStencil("mxgraph.pid.filters","gas_filter_(fixed_bed)","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(a+"gas_filter_(hepa);",50,100,"HEPA","Gas Filter (HEPA)",null,null,this.getTagsForStencil("mxgraph.pid.filters","gas_filter_(hepa)","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+
"liquid_filter;",50,100,"","Liquid Filter",null,null,this.getTagsForStencil("mxgraph.pid.filters","liquid_filter","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"liquid_Filter_(bag,_candle,_cartridge);",50,100,"","Liquid Filter (Bag, Candle, Cartridge)",null,null,this.getTagsForStencil("mxgraph.pid.filters","liquid_Filter_(bag,_candle,_cartridge)","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"liquid_filter_(belt,_roll);",50,
100,"","Liquid Filter (Belt, Roll)",null,null,this.getTagsForStencil("mxgraph.pid.filters","liquid_filter_(belt,_roll)","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(a+"liquid_filter_(biological);",50,100,"BIO","Liquid Filter (Biological)",null,null,this.getTagsForStencil("mxgraph.pid.filters","liquid_filter_(biological)","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"liquid_filter_(fixed_bed);",50,100,"","Liquid Filter (Fixed Bed)",
null,null,this.getTagsForStencil("mxgraph.pid.filters","liquid_filter_(fixed_bed)","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(a+"liquid_filter_(ion_exchanger);",50,100,"ION","Liquid Filter (Ion Exchanger)",null,null,this.getTagsForStencil("mxgraph.pid.filters","liquid_filter_(ion_exchanger)","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"liquid_filter_(rotary,_drum_or_disc);",50,100,"","Liquid Filter (Rotary, Drum or Disc)",
null,null,this.getTagsForStencil("mxgraph.pid.filters","liquid_filter_(rotary,_drum_or_disc)","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"liquid_filter_(rotary,_drum_or_disc,_scraper);",55,100,"","Liquid Filter (Rotary, Drum or Disc, Scraper)",null,null,this.getTagsForStencil("mxgraph.pid.filters","liquid_filter_(rotary,_drum_or_disc,_scraper)","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"press_filter;",100,50,"","Press Filter",
null,null,this.getTagsForStencil("mxgraph.pid.filters","press_filter","pid process instrumentation filter ").join(" ")),this.createVertexTemplateEntry(c+"suction_filter;",50,100,"","Suction Filter",null,null,this.getTagsForStencil("mxgraph.pid.filters","suction_filter","pid process instrumentation filter ").join(" "))])};Sidebar.prototype.addPidFlowSensorsPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;align\x3dcenter;dashed\x3d0;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+
"\x3dtop;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.flow_sensors.";this.addPaletteFunctions("pidFlow Sensors","Proc. Eng. / Flow Sensors",!1,[this.createVertexTemplateEntry(a+"averging_pitot_tube;",50,50,"","Averging Pitot Tube",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","averging_pitot_tube","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"coriolis;",50,50,"","Coriolis",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","coriolis","process instrumentation sensor ").join(" ")),
this.createVertexTemplateEntry(a+"flow_nozzle;",50,25,"","Flow Nozzle",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","flow_nozzle","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"flume;",50,50,"","Flume",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","flume","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.flow_sensors.magnetic;dashed\x3d0;align\x3dcenter;html\x3d1;fontSize\x3d25;",
50,50,"M","Magnetic",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","magnetic","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"pitot_tube;",50,50,"","Pitot Tube",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","pitot_tube","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"positive_displacement;",50,30,"","Positive Displacement",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","positive_displacement",
"process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"rotameter;",75,50,"","Rotameter",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","rotameter","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"target;",50,50,"","Target",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","target","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"turbine;",50,50,"","Turbine",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors",
"turbine","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"ultrasonic;",50,50,"","Ultrasonic",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","ultrasonic","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"v-cone;",50,50,"","V-cone",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","v-cone","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"venturi;",50,40,"","Venturi",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors",
"venturi","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"vortex;",50,50,"","Vortex",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","vortex","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"wedge;",50,50,"","Wedge",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors","wedge","process instrumentation sensor ").join(" ")),this.createVertexTemplateEntry(a+"weir;",50,50,"","Weir",null,null,this.getTagsForStencil("mxgraph.pid.flow_sensors",
"weir","process instrumentation sensor ").join(" "))])};Sidebar.prototype.addPidPipingPalette=function(){var a="html\x3d1;dashed\x3d0;align\x3dcenter;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.piping.",c=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;align\x3dcenter;dashed\x3d0;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.piping.";this.addPaletteFunctions("pidPiping","Proc. Eng. / Piping",!1,[this.createVertexTemplateEntry(c+"basket_strainer;",
50,45,"","Basket Strainer",null,null,this.getTagsForStencil("mxgraph.pid.piping","basket_strainer","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"blank;",20,60,"","Blank",null,null,this.getTagsForStencil("mxgraph.pid.piping","blank","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"breather;",50,30,"","Breather",null,null,this.getTagsForStencil("mxgraph.pid.piping","breather","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+
"cap;",10,20,"","Cap",null,null,this.getTagsForStencil("mxgraph.pid.piping","cap","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"closed_figure_8_blind;",20,80,"","Closed Figure 8 Blind",null,null,this.getTagsForStencil("mxgraph.pid.piping","closed_figure_8_blind","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"concentric_reducer;",20,20,"","Concentric Reducer",null,null,this.getTagsForStencil("mxgraph.pid.piping","concentric_reducer",
"process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"cone_strainer;",30,30,"","Cone Strainer",null,null,this.getTagsForStencil("mxgraph.pid.piping","cone_strainer","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"damper;",50,20,"","Damper",null,null,this.getTagsForStencil("mxgraph.pid.piping","damper","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(a+"desuper_heater;",50,50,"DS","Desuper Heater",null,null,this.getTagsForStencil("mxgraph.pid.piping",
"desuper_heater","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(a+"detonation_arrestor;",50,20,"D","Detonation Arrestor",null,null,this.getTagsForStencil("mxgraph.pid.piping","detonation_arrestor","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"diverter_valve;",50,35,"","Diverter Valve",null,null,this.getTagsForStencil("mxgraph.pid.piping","diverter_valve","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"double_flange;",
5,20,"","Double Flange",null,null,this.getTagsForStencil("mxgraph.pid.piping","double_flange","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"duplex_strainer;",50,40,"","Duplex Strainer",null,null,this.getTagsForStencil("mxgraph.pid.piping","duplex_strainer","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"eccentric_reducer;",20,15,"","Eccentric Reducer",null,null,this.getTagsForStencil("mxgraph.pid.piping","eccentric_reducer","process instrumentation piping ").join(" ")),
this.createVertexTemplateEntry(c+"excess_flow_valve;",50,25,"","Excess Flow Valve",null,null,this.getTagsForStencil("mxgraph.pid.piping","excess_flow_valve","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"exhaust_head;",50,40,"","Exhaust Head",null,null,this.getTagsForStencil("mxgraph.pid.piping","exhaust_head","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"expansion_joint;",50,20,"","Expansion Joint",null,null,this.getTagsForStencil("mxgraph.pid.piping",
"expansion_joint","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(a+"flame_arrestor;",50,20,"F","Flame Arrestor",null,null,this.getTagsForStencil("mxgraph.pid.piping","flame_arrestor","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"flange;",5,20,"","Flange",null,null,this.getTagsForStencil("mxgraph.pid.piping","flange","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"flange_in;",10,20,"","Flange In",null,null,
this.getTagsForStencil("mxgraph.pid.piping","flange_in","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"flexible_hose;",50,25,"","Flexible Hose",null,null,this.getTagsForStencil("mxgraph.pid.piping","flexible_hose","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"hose_connection;",20,20,"","Hose Connection",null,null,this.getTagsForStencil("mxgraph.pid.piping","hose_connection","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+
"in-line_mixer;",50,10,"","In-Line Mixer",null,null,this.getTagsForStencil("mxgraph.pid.piping","in-line_mixer","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(a+"in-line_silencer;",50,20,"S","In-Line Silencer",null,null,this.getTagsForStencil("mxgraph.pid.piping","in-line_silencer","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"open_figure_8_blind;",20,80,"","Open Figure 8 Blind",null,null,this.getTagsForStencil("mxgraph.pid.piping","open_figure_8_blind",
"process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"orifice_(quick_change);",10,50,"","Orifice (Quick Change)",null,null,this.getTagsForStencil("mxgraph.pid.piping","orifice_(quick_change)","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"plug;",10,10,"","Plug",null,null,this.getTagsForStencil("mxgraph.pid.piping","plug","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"pulsation_dampener;",50,150,"","Pulsation Dampener",
null,null,this.getTagsForStencil("mxgraph.pid.piping","pulsation_dampener","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_VERTICAL_ALIGN+"\x3dbottom;dashed\x3d0;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.piping.removable_spool;html\x3d1;overflow\x3dfill;",50,30,'\x3ctable cellpadding\x3d"0" cellspacing\x3d"0" style\x3d"width:100%;height:100%;"\x3e\x3ctr\x3e\x3ctd valign\x3d"bottom" align\x3d"center"\x3eRS\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',"Removable Spool",
null,null,this.getTagsForStencil("mxgraph.pid.piping","removable_spool","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"rotary_valve;",50,20,"","Rotary Valve",null,null,this.getTagsForStencil("mxgraph.pid.piping","rotary_valve","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"spacer;",20,60,"","Spacer",null,null,this.getTagsForStencil("mxgraph.pid.piping","spacer","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(a+
"steam_trap;",50,50,"T","Steam Trap",null,null,this.getTagsForStencil("mxgraph.pid.piping","steam_trap","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"t-type_strainer;",20,35,"","T-Type Strainer",null,null,this.getTagsForStencil("mxgraph.pid.piping","t-type_strainer","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"temporary_strainer;",30,30,"","Temporary Strainer",null,null,this.getTagsForStencil("mxgraph.pid.piping","temporary_strainer",
"process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(a+"vent_silencer;",20,80,"S","Vent Silencer",null,null,this.getTagsForStencil("mxgraph.pid.piping","vent_silencer","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"welded_connection;",50,20,"","Welded Connection",null,null,this.getTagsForStencil("mxgraph.pid.piping","welded_connection","process instrumentation piping ").join(" ")),this.createVertexTemplateEntry(c+"y-type_strainer;",50,35,"",
"Y-Type Strainer",null,null,this.getTagsForStencil("mxgraph.pid.piping","y-type_strainer","process instrumentation piping ").join(" "))])};Sidebar.prototype.addPidMiscPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;align\x3dcenter;dashed\x3d0;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid2",c=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;align\x3dcenter;dashed\x3d0;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+
"\x3dtop;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.pid.misc.";this.addPaletteFunctions("pidMisc","Proc. Eng. / Misc",!1,[this.createVertexTemplateEntry(a+"misc.fan;fanType\x3dcommon",50,50,"","Fan",null,null,this.getTagsForStencil("mxgraph.pid.misc","fan","process instrumentation ").join(" ")),this.createVertexTemplateEntry(a+"misc.column;columnType\x3dcommon",50,120,"","Column",null,null,this.getTagsForStencil("mxgraph.pid.misc","column","process instrumentation ").join(" ")),this.createVertexTemplateEntry(a+
"misc.column;columnType\x3dtray",50,120,"","Column (Tray)",null,null,this.getTagsForStencil("mxgraph.pid.misc","column","process instrumentation tray").join(" ")),this.createVertexTemplateEntry(a+"misc.column;columnType\x3dfixed",50,180,"","Column (Fixed Bed)",null,null,this.getTagsForStencil("mxgraph.pid.misc","column","process instrumentation fixed bed").join(" ")),this.createVertexTemplateEntry(a+"misc.column;columnType\x3dfluid",50,120,"","Column (Fluidized Bed)",null,null,this.getTagsForStencil("mxgraph.pid.misc",
"column","process instrumentation fluidized bed").join(" ")),this.createVertexTemplateEntry(a+"misc.column;columnType\x3dbaffle",50,120,"","Column (Staggered Baffle Trays)",null,null,this.getTagsForStencil("mxgraph.pid.misc","column","process instrumentation staggered baffle tray").join(" ")),this.createVertexTemplateEntry(a+"misc.column;columnType\x3dbubble",50,120,"","Column (Bubble Cap Trays)",null,null,this.getTagsForStencil("mxgraph.pid.misc","column","process instrumentation bubble cap tray").join(" ")),
this.createVertexTemplateEntry(a+"misc.column;columnType\x3dvalve",50,120,"","Column (Valve Trays)",null,null,this.getTagsForStencil("mxgraph.pid.misc","column","process instrumentation valve tray").join(" ")),this.createVertexTemplateEntry(a+"misc.column;columnType\x3dnozzle",50,180,"","Column (Fixed Bed, Spray Nozzle)",null,null,this.getTagsForStencil("mxgraph.pid.misc","column","process instrumentation fixed bed spray nozzle").join(" ")),this.createVertexTemplateEntry(a+"misc.conveyor",200,50,
"","Conveyor",null,null,this.getTagsForStencil("mxgraph.pid.misc","conveyor","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"aerator_with_sparger;",35,100,"","Aerator With Sparger",null,null,this.getTagsForStencil("mxgraph.pid.misc","aerator_with_sparger","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"air_cooler;",70,20,"","Air Cooler",null,null,this.getTagsForStencil("mxgraph.pid.misc","air_cooler","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+
"air_filter;",40,65,"","Air Filter",null,null,this.getTagsForStencil("mxgraph.pid.misc","air_filter","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"air_separator;",65.5,106,"","Air Separator",null,null,this.getTagsForStencil("mxgraph.pid.misc","air_separator","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"back_draft_damper;",62,32,"","Back Draft Damper",null,null,this.getTagsForStencil("mxgraph.pid.misc","back_draft_damper","process instrumentation ").join(" ")),
this.createVertexTemplateEntry(c+"bag_filling_machine;",80,100,"","Bag Filling Machine",null,null,this.getTagsForStencil("mxgraph.pid.misc","bag_filling_machine","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"belt_skimmer;",70,98,"","Belt Skimmer",null,null,this.getTagsForStencil("mxgraph.pid.misc","belt_skimmer","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"bin;",100,65,"","Bin",null,null,this.getTagsForStencil("mxgraph.pid.misc","bin","process instrumentation ").join(" ")),
this.createVertexTemplateEntry(c+"boiler_(dome);",100,120,"","Boiler (Dome)",null,null,this.getTagsForStencil("mxgraph.pid.misc","boiler_(dome)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"boiler_(dome,_hot_liquid);",100,120,"","Boiler (Dome, Hot Liquid)",null,null,this.getTagsForStencil("mxgraph.pid.misc","boiler_(dome,_hot_liquid)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"box_truck;",120,80,"","Box Truck",null,null,this.getTagsForStencil("mxgraph.pid.misc",
"box_truck","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"bucket_elevator;",65,200,"","Bucket Elevator",null,null,this.getTagsForStencil("mxgraph.pid.misc","bucket_elevator","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"chiller;",155,115,"","Chiller",null,null,this.getTagsForStencil("mxgraph.pid.misc","chiller","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"combustion_chamber;",130,100,"","Combustion Chamber",null,null,
this.getTagsForStencil("mxgraph.pid.misc","combustion_chamber","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"conveyor;",200,60,"","Conveyor",null,null,this.getTagsForStencil("mxgraph.pid.misc","conveyor","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"conveyor_(belt);",200,50,"","Conveyor (Belt)",null,null,this.getTagsForStencil("mxgraph.pid.misc","conveyor_(belt)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"conveyor_(belt,_closed);",
240,80,"","Conveyor (Belt, Closed)",null,null,this.getTagsForStencil("mxgraph.pid.misc","conveyor_(belt,_closed)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"conveyor_(belt,_closed,_reversible);",240,80,"","Conveyor (Belt, Closed, Reversible)",null,null,this.getTagsForStencil("mxgraph.pid.misc","conveyor_(belt,_closed,_reversible)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"conveyor_(chain,_closed);",240,80,"","Conveyor (Chain, Closed)",null,
null,this.getTagsForStencil("mxgraph.pid.misc","conveyor_(chain,_closed)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"conveyor_(screw,_closed);",220,80,"","Conveyor (Screw, Closed)",null,null,this.getTagsForStencil("mxgraph.pid.misc","conveyor_(screw,_closed)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"conveyor_(vibrating,_closed);",240,80,"","Conveyor (Vibrating, Closed)",null,null,this.getTagsForStencil("mxgraph.pid.misc","conveyor_(vibrating,_closed)",
"process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"cooler;",85,90,"","Cooler",null,null,this.getTagsForStencil("mxgraph.pid.misc","cooler","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"cooling_tower",100,120,"","Cooling Tower",null,null,this.getTagsForStencil("mxgraph.pid.misc","cooling_tower","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"cooling_tower_(dry,_forced_draught);",100,120,"","Cooling Tower (Dry, Forced Draught)",
null,null,this.getTagsForStencil("mxgraph.pid.misc","cooling_tower_(dry,_forced_draught)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"cooling_tower_(dry,_induced_draught);",100,120,"","Cooling Tower (Dry, Induced Draught)",null,null,this.getTagsForStencil("mxgraph.pid.misc","cooling_tower_(dry,_induced_draught)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"cooling_tower_(dry,_natural_draught);",100,120,"","Cooling Tower (Dry, Natural Draught)",
null,null,this.getTagsForStencil("mxgraph.pid.misc","cooling_tower_(dry,_natural_draught)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"cooling_tower_(wet,_forced_draught);",100,120,"","Cooling Tower (Wet, Forced Draught)",null,null,this.getTagsForStencil("mxgraph.pid.misc","cooling_tower_(wet,_forced_draught)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"cooling_tower_(wet,_induced_draught);",100,120,"","Cooling Tower (Wet, Induced Draught)",
null,null,this.getTagsForStencil("mxgraph.pid.misc","cooling_tower_(wet,_induced_draught)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"cooling_tower_(wet,_natural_draught);",100,120,"","Cooling Tower (Wet, Natural Draught)",null,null,this.getTagsForStencil("mxgraph.pid.misc","cooling_tower_(wet,_natural_draught)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"cooling_tower_(wet-dry,_natural_draught);",100,120,"","Cooling Tower (Wet-Dry, Natural Draught)",
null,null,this.getTagsForStencil("mxgraph.pid.misc","cooling_tower_(wet-dry,_natural_draught)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"covered_gas_vent;",80,100,"","Covered Gas Vent",null,null,this.getTagsForStencil("mxgraph.pid.misc","covered_gas_vent","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"crane;",100,100,"","Crane",null,null,this.getTagsForStencil("mxgraph.pid.misc","crane","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+
"curved_gas_vent;",30,70,"","Curved Gas Vent",null,null,this.getTagsForStencil("mxgraph.pid.misc","curved_gas_vent","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"cyclone;",100,80,"","Cyclone",null,null,this.getTagsForStencil("mxgraph.pid.misc","cyclone","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"dryer;",80,100,"","Dryer",null,null,this.getTagsForStencil("mxgraph.pid.misc","dryer","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+
"elevator_(bucket);",160,250,"","Elevator (Bucket)",null,null,this.getTagsForStencil("mxgraph.pid.misc","elevator_(bucket)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"elevator_(bucket,_z-form);",430,250,"","Elevator (Bucket, Z-Form)",null,null,this.getTagsForStencil("mxgraph.pid.misc","elevator_(bucket,_z-form)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"fan;",100,100,"","Fan",null,null,this.getTagsForStencil("mxgraph.pid.misc","fan","process instrumentation ").join(" ")),
this.createVertexTemplateEntry(c+"fan_2;",58,8,"","Fan 2",null,null,this.getTagsForStencil("mxgraph.pid.misc","fan_2","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"filter;",100,100,"","Filter",null,null,this.getTagsForStencil("mxgraph.pid.misc","filter","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"filter_2;",100,100,"","Filter 2",null,null,this.getTagsForStencil("mxgraph.pid.misc","filter_2","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+
"firing_system,_burner;",100,100,"","Firing System, Burner",null,null,this.getTagsForStencil("mxgraph.pid.misc","firing_system,_burner","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"flame_arrestor;",100,40,"","Flame Arrestor",null,null,this.getTagsForStencil("mxgraph.pid.misc","flame_arrestor","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"flexible_pipe;",60,16,"","Flexible Pipe",null,null,this.getTagsForStencil("mxgraph.pid.misc","flexible_pipe",
"process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"forced_flow_air_cooler;",70,30,"","Forced Flow Air Cooler",null,null,this.getTagsForStencil("mxgraph.pid.misc","forced_flow_air_cooler","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"forklift_(manual);",140,100,"","Forklift (Manual)",null,null,this.getTagsForStencil("mxgraph.pid.misc","forklift_(manual)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"forklift_(truck);",140,
100,"","Forklift (Truck)",null,null,this.getTagsForStencil("mxgraph.pid.misc","forklift_(truck)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"funnel",40,80,"","Funnel",null,null,this.getTagsForStencil("mxgraph.pid.misc","funnel","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"gas_flare;",60,100,"","Gas Flare",null,null,this.getTagsForStencil("mxgraph.pid.misc","gas_flare","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"induced_flow_air_cooler;",
93,30,"","Induced Flow Air Cooler",null,null,this.getTagsForStencil("mxgraph.pid.misc","induced_flow_air_cooler","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"industrial_truck;",120,20,"","Industrial Truck",null,null,this.getTagsForStencil("mxgraph.pid.misc","industrial_truck","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"lift;",100,100,"","Lift",null,null,this.getTagsForStencil("mxgraph.pid.misc","lift","process instrumentation ").join(" ")),
this.createVertexTemplateEntry(c+"loading_arm;",120,80,"","Loading Arm",null,null,this.getTagsForStencil("mxgraph.pid.misc","loading_arm","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"mixer;",80,100,"","Mixer",null,null,this.getTagsForStencil("mxgraph.pid.misc","mixer","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"palletizer;",80,100,"","Palletizer",null,null,this.getTagsForStencil("mxgraph.pid.misc","palletizer","process instrumentation ").join(" ")),
this.createVertexTemplateEntry(c+"protective_palette_covering;",80,100,"","Protective Palette Covering",null,null,this.getTagsForStencil("mxgraph.pid.misc","protective_palette_covering","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"roller_conveyor;",160,20,"","Roller Conveyor",null,null,this.getTagsForStencil("mxgraph.pid.misc","roller_conveyor","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"rolling_bin;",100,65,"","Rolling Bin",null,null,this.getTagsForStencil("mxgraph.pid.misc",
"rolling_bin","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"rotary_screen;",100,65,"","Rotary Screen",null,null,this.getTagsForStencil("mxgraph.pid.misc","rotary_screen","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"screening_device,_sieve,_strainer;",80,120,"","Screening Device, Sieve, Strainer",null,null,this.getTagsForStencil("mxgraph.pid.misc","screening_device,_sieve,_strainer","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+
"screening_device,_sieve,_strainer_(basket_reel);",80,180,"","Screening Device, Sieve, Strainer (Basket Reel)",null,null,this.getTagsForStencil("mxgraph.pid.misc","screening_device,_sieve,_strainer_(basket_reel)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"screening_device,_sieve,_strainer_(coarse_and_fine_screens);",80,120,"","Screening Device, Sieve, Strainer (Coarse and Fine Screens)",null,null,this.getTagsForStencil("mxgraph.pid.misc","screening_device,_sieve,_strainer_(coarse_and_fine_screens)",
"process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"screening_device,_sieve,_strainer_(coarse_rake);",80,120,"","Screening Device, Sieve, Strainer (Coarse Rake)",null,null,this.getTagsForStencil("mxgraph.pid.misc","screening_device,_sieve,_strainer_(coarse_rake)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"screening_device,_sieve,_strainer_(fine_rake);",80,120,"","Screening Device, Sieve, Strainer (Fine Rake)",null,null,this.getTagsForStencil("mxgraph.pid.misc",
"screening_device,_sieve,_strainer_(fine_rake)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"screening_device,_sieve,_strainer_(rotating_drum)",80,120,"","Screening Device, Sieve, Strainer (Rotating Drum)",null,null,this.getTagsForStencil("mxgraph.pid.misc","screening_device,_sieve,_strainer_(rotating_drum)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"screening_device,_sieve,_strainer_(vibrating);",80,120,"","Screening Device, Sieve, Strainer (Vibrating)",
null,null,this.getTagsForStencil("mxgraph.pid.misc","screening_device,_sieve,_strainer_(vibrating)","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"ship",105,60,"","Ship",null,null,this.getTagsForStencil("mxgraph.pid.misc","ship","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"silencer;",100,30,"","Silencer",null,null,this.getTagsForStencil("mxgraph.pid.misc","silencer","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"spraying_device;",
60,20,"","Spraying Device",null,null,this.getTagsForStencil("mxgraph.pid.misc","spraying_device","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"spray_cooler;",100,120,"","Spray Cooler",null,null,this.getTagsForStencil("mxgraph.pid.misc","spray_cooler","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"stack,_chimney;",60,100,"","Stack, Chimney",null,null,this.getTagsForStencil("mxgraph.pid.misc","stack,_chimney","process instrumentation ").join(" ")),
this.createVertexTemplateEntry(c+"steam_trap;",53,53,"","Steam Trap",null,null,this.getTagsForStencil("mxgraph.pid.misc","steam_trap","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"tank_car,_tank_wagon;",127,80,"","Tank Car, Tank Wagon",null,null,this.getTagsForStencil("mxgraph.pid.misc","tank_car,_tank_wagon","process instrumentation ").join(" ")),this.createVertexTemplateEntry(c+"viewing_glass;",80,50,"","Viewing Glass",null,null,this.getTagsForStencil("mxgraph.pid.misc",
"viewing_glass","process instrumentation ").join(" "))])}})();
(function(){Sidebar.prototype.addRackGeneralPalette=function(){this.addPaletteFunctions("rackGeneral","Rack / General",!1,[this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.rackGeneral.container;container\x3d1;collapsible\x3d0;childLayout\x3drack;marginLeft\x3d9;marginRight\x3d9;marginTop\x3d21;marginBottom\x3d22;textColor\x3d#666666;numDisp\x3doff;",180,228.6,
"","Rack Cabinet",null,null,"rack equipment cabinet"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.rackGeneral.container;container\x3d1;collapsible\x3d0;childLayout\x3drack;marginLeft\x3d33;marginRight\x3d9;marginTop\x3d21;marginBottom\x3d22;textColor\x3d#666666;numDisp\x3dascend;",210,228.6,"","Numbered Rack Cabinet",null,null,"rack equipment cabinet numbered"),
this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;text;",160,15,"","Spacing",null,null,"rack equipment spacing"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rackGeneral.plate;fillColor\x3d#e8e8e8;",160,15,"","Cover Plate",null,null,"rack equipment cover plate"),
this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.general.1u_rack_server;",160,15,"","Server",null,null,"rack equipment server"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rackGeneral.horCableDuct;",160,15,"","Horizontal Cable Duct",
null,null,"rack equipment horizontal cable duct"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rackGeneral.horRoutingBank;",160,20,"","Horizontal Routing Bank",null,null,"rack equipment horizontal routing bank"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rackGeneral.neatPatch;",
160,30,"","Neat-Patch",null,null,"rack equipment neat patch"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rackGeneral.shelf;container\x3d1;collapsible\x3d0",160,15,"","Shelf",null,null,"rack equipment shelf"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rackGeneral.channelBase;",
200,30,"","Channel Base",null,null,"rack equipment channel base"),this.createVertexTemplateEntry("shape\x3dmxgraph.rackGeneral.cabinetLeg;html\x3d1;shadow\x3d0;dashed\x3d0;fillColor\x3d#444444;strokeColor\x3d#444444;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;",50,50,"","Cabinet Leg",null,null,"rack equipment cabinet leg support"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.general.cat5e_enhanced_patch_panel_48_ports;",
160,30,"","CAT5e Enhanced Patch Panel 48 ports",null,null,"rack equipment cat5e enhanced patch panel port"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.general.cat5e_rack_mount_patch_panel_24_ports;",160,15,"","CAT5e Rack Mount Patch Panel 24 ports",null,null,"rack equipment cat5e mount patch panel port"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.general.cat5e_rack_mount_patch_panel_96_ports;",
160,60,"","CAT5e Rack Mount Patch Panel 96 ports",null,null,"rack equipment cat5e mount patch panel port"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.general.hub;",160,30,"","Hub",null,null,"rack equipment hub"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.rack.general.server_1;",
73,150,"","Server 1",null,null,"rack equipment server"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.rack.general.server_2;",73,150,"","Server 2",null,null,"rack equipment server"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.rack.general.server_3;",
73,150,"","Server 3",null,null,"rack equipment server"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.general.switches_1;",160,30,"","Switches 1",null,null,"rack equipment server"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.general.switches_2;",
160,30,"","Switches 2",null,null,"rack equipment server")])};Sidebar.prototype.addRackF5Palette=function(){this.addPaletteFunctions("rackF5","Rack / F5",!1,[this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.arx_500;",168,20,"","ARX 500",null,null,"rack equipment arx"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.arx_1000;",
168,40,"","ARX 1000",null,null,"rack equipment arx"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.arx_1500;",168,20,"","ARX 1500",null,null,"rack equipment arx"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.arx_2000;",
168,40,"","ARX 2000",null,null,"rack equipment arx"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.arx_2500;",168,20,"","ARX 2500",null,null,"rack equipment arx"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.arx_4000;",
168,60,"","ARX 4000",null,null,"rack equipment arx"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.arx_5000;",168,20,"","ARX 5000",null,null,"rack equipment arx"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.arx_6000;",
168,240,"","ARX 6000",null,null,"rack equipment arx"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_1600;",168,20,"","BIG-IP 1600",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_2x00;",
168,20,"","BIG-IP 2x00",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_3600;",168,20,"","BIG-IP 3600",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_3900;",
168,20,"","BIG-IP 3900",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_4x00;",168,20,"","BIG-IP 4x00",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_5x00;",
168,20,"","BIG-IP 5x00",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_6900;",168,40,"","BIG-IP 6900",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_89x0;",
168,40,"","BIG-IP 89x0",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_7x00;",168,40,"","BIG-IP 7x00",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_10x00;",
168,40,"","BIG-IP 10x00",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.big_ip_110x0;",168,60,"","BIG-IP 110x0",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.em_4000;",
168,20,"","EM 4000",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.firepass_1200;",168,20,"","FirePass 1200",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.firepass_4100;",
168,40,"","FirePass 4100",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.viprion_2400;",168,60,"","VIPRION 2400",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.viprion_4400;",
168,120,"","VIPRION 4400",null,null,"rack equipment big ip"),this.createVertexTemplateEntry("strokeColor\x3d#666666;html\x3d1;labelPosition\x3dright;align\x3dleft;spacingLeft\x3d15;shadow\x3d0;dashed\x3d0;fillColor\x3d#ffffff;shape\x3dmxgraph.rack.f5.viprion_4800;",168,320,"","VIPRION 4800",null,null,"rack equipment big ip")])}})();
(function(){Sidebar.prototype.addSysMLModelElementsPalette=function(a){var c=this,f=[this.addEntry("sysml model element comment",function(){var a=new mxCell("Comment text",new mxGeometry(0,40,150,40),"shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d10;html\x3d1;whiteSpace\x3dwrap;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;exitX\x3d0.4;exitY\x3d0;dashed\x3d1;html\x3d1;");b.geometry.setTerminalPoint(new mxPoint(20,0),!1);b.geometry.relative=
!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;exitX\x3d0.8;exitY\x3d0;dashed\x3d1;html\x3d1;");e.geometry.setTerminalPoint(new mxPoint(180,0),!1);e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],180,80,"Comment")}),this.addEntry("sysml model element constraint note",function(){var a=new mxCell("{C1: {L1} E1.x \x3e E2.y}",new mxGeometry(0,40,150,40),"shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d10;html\x3d1;whiteSpace\x3dwrap;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;exitX\x3d0.4;exitY\x3d0;dashed\x3d1;html\x3d1;");b.geometry.setTerminalPoint(new mxPoint(20,0),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;exitX\x3d0.8;exitY\x3d0;dashed\x3d1;html\x3d1;");e.geometry.setTerminalPoint(new mxPoint(180,0),!1);e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;a.insertEdge(e,
!0);return c.createVertexTemplateFromCells([a,b,e],180,80,"Constraint Note")}),this.addEntry("sysml model element constraint textual note",function(){var a=new mxCell("Element1\n(any graphical node)",new mxGeometry(0,0,160,60),"shape\x3drect;strokeWidth\x3d2;fontStyle\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("{constraint text}",new mxGeometry(160,30,0,0),"align\x3dleft;html\x3d1;verticalAlign\x3dmiddle;labelPosition\x3dright;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Constraint Textual Note")}),this.addEntry("sysml model element constraint textual note",function(){var a=new mxCell("{constraint text}",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;edgeStyle\x3dnone;labelBackgroundColor\x3dnone;fontSize\x3d10;strokeWidth\x3d2;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(160,
0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("{any graphical path}",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10;");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Constraint Textual Note")}),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.composite;symbol0\x3dfolder;fontStyle\x3d1;spacingTop\x3d15;tabWidth\x3d80;tabHeight\x3d20;tabPosition\x3dleft;symbol1\x3dtriangle;symbol1Width\x3d7;symbol1Height\x3d10;symbol1Align\x3dright;symbol1VerticalAlign\x3dtop;symbol1Spacing\x3d8;symbol1VSpacing\x3d25;symbol1Direction\x3dnorth;strokeWidth\x3d2;whiteSpace\x3dwrap;align\x3dcenter;",
160,90,"Model","Model",null,null,this.getTagsForStencil("","","sysml model element model").join(" ")),this.addEntry("sysml model element package diagram",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3e\x3cb\x3epkg\x3c/b\x3e Name\x3c/p\x3e',new mxGeometry(0,0,300,120),"html\x3d1;shape\x3dmxgraph.sysml.package;xSize\x3d90;align\x3dleft;spacingLeft\x3d10;overflow\x3dfill;strokeWidth\x3d1;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell("\nSubpackage1",
new mxGeometry(15,60,100,50),"shape\x3dfolder;spacingLeft\x3d10;tabWidth\x3d40;tabHeight\x3d14;tabPosition\x3dleft;fontSize\x3d10;html\x3d1;whiteSpace\x3dwrap;");b.vertex=!0;a.insert(b);var e=new mxCell("\nSubpackage2",new mxGeometry(190,20,100,50),"shape\x3dfolder;spacingLeft\x3d10;tabWidth\x3d40;tabHeight\x3d14;tabPosition\x3dleft;fontSize\x3d10;html\x3d1;whiteSpace\x3dwrap;");e.vertex=!0;a.insert(e);var f=new mxCell("\x26lt;\x26lt;import\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dopen;dashed\x3d1;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;endSize\x3d12;html\x3d1;");
f.geometry.relative=!0;f.edge=!0;b.insertEdge(f,!0);e.insertEdge(f,!1);a.insert(f);return c.createVertexTemplateFromCells([a],300,120,"Package Diagram")}),this.addEntry("sysml model element package tab",function(){var a=new mxCell("Package1",new mxGeometry(0,0,300,120),"shape\x3dfolder;xSize\x3d90;align\x3dleft;spacingLeft\x3d10;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d5;spacingTop\x3d-4;tabWidth\x3d70;tabHeight\x3d20;tabPosition\x3dleft;html\x3d1;strokeWidth\x3d1;recursiveResize\x3d0;");
a.vertex=!0;var b=new mxCell("\nSubpackage1",new mxGeometry(15,60,100,50),"shape\x3dfolder;spacingLeft\x3d10;tabWidth\x3d40;tabHeight\x3d14;tabPosition\x3dleft;fontSize\x3d10;html\x3d1;whiteSpace\x3dwrap;");b.vertex=!0;a.insert(b);var e=new mxCell("\nSubpackage2",new mxGeometry(190,30,100,50),"shape\x3dfolder;spacingLeft\x3d10;tabWidth\x3d40;tabHeight\x3d14;tabPosition\x3dleft;fontSize\x3d10;html\x3d1;whiteSpace\x3dwrap;");e.vertex=!0;a.insert(e);var f=new mxCell("\x26lt;\x26lt;import\x26gt;\x26gt;",
new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dopen;dashed\x3d1;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;endSize\x3d12;html\x3d1;");f.geometry.relative=!0;f.edge=!0;b.insertEdge(f,!0);e.insertEdge(f,!1);a.insert(f);return c.createVertexTemplateFromCells([a],300,120,"Package (Tab)")}),this.createVertexTemplateEntry("shape\x3dfolder;tabWidth\x3d80;tabHeight\x3d20;tabPosition\x3dleft;strokeWidth\x3d2;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",160,90,"Package1","Package (Name)",null,
null,this.getTagsForStencil("","","sysml model element package name").join(" ")),this.createVertexTemplateEntry("shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d10;html\x3d1;whiteSpace\x3dwrap;",160,60,"\x26lt;\x26lt;problem\x26gt;\x26gt;\nDescription","Problem",null,null,this.getTagsForStencil("","","sysml model element problem").join(" ")),this.createVertexTemplateEntry("shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d10;html\x3d1;whiteSpace\x3dwrap;",160,60,"\x26lt;\x26lt;rationale\x26gt;\x26gt;\nDescription",
"Rationale",null,null,this.getTagsForStencil("","","sysml model element rationale").join(" ")),this.createVertexTemplateEntry("shape\x3dfolder;tabWidth\x3d80;tabHeight\x3d20;tabPosition\x3dleft;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",160,80,"\n\x26lt;\x26lt;view\x26gt;\x26gt;\n{viewpoint \x3d View name}\nName","View (Name)",null,null,this.getTagsForStencil("","","sysml model element view name").join(" ")),this.createVertexTemplateEntry("shape\x3dfolder;html\x3d1;tabWidth\x3d80;tabHeight\x3d40;tabPosition\x3dleft;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d10;whiteSpace\x3dwrap;",
160,120,"\x26lt;\x26lt;view\x26gt;\x26gt;\nName","View",null,null,this.getTagsForStencil("","","sysml model element view").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",120,140,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;viewpoint\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eName\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3estakeholders\x3d"..."\x3cbr/\x3epurpose\x3d"..."\x3cbr\x3econcerns\x3d"..."\x3cbr\x3elanguages\x3d"..."\x3cbr\x3emethods\x3d"..."\x3c/p\x3e',
"Viewpoint",null,null,this.getTagsForStencil("","","sysml model element viewpoint").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;dashed\x3d1;verticalAlign\x3dbottom;",160,0,"\x26lt;\x26lt;conform\x26gt;\x26gt;","Conform",null,this.getTagsForStencil("","","sysml model element conform").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;dashed\x3d1;verticalAlign\x3dbottom;",160,0,"\x26lt;\x26lt;stereotype1\x26gt;\x26gt;\ndependency1",
"Dependency",null,this.getTagsForStencil("","","sysml model element dependency").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;dashed\x3d1;verticalAlign\x3dbottom;",160,0,"\x26lt;\x26lt;import\x26gt;\x26gt;","Public Package Import",null,this.getTagsForStencil("","","sysml model element public package import").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;dashed\x3d1;verticalAlign\x3dbottom;",
160,0,"\x26lt;\x26lt;access\x26gt;\x26gt;","Private Package Import",null,this.getTagsForStencil("","","sysml model element private package import").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;"+mxConstants.STYLE_STARTARROW+"\x3dsysMLPackCont;startSize\x3d12;"+mxConstants.STYLE_ENDARROW+"\x3dnone;",160,0,"","Package Containment",null,this.getTagsForStencil("","","sysml model element package containment").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endSize\x3d12;endArrow\x3dblock;endFill\x3d0;dashed\x3d1;",
160,0,"","Realization",null,this.getTagsForStencil("","","sysml model element realization").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;dashed\x3d1;verticalAlign\x3dbottom;",160,0,"\x26lt;\x26lt;refine\x26gt;\x26gt;","Refine",null,this.getTagsForStencil("","","sysml model element refine").join(" "))];this.addPalette("sysmlModel Elements","SysML / Model Elements",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};
Sidebar.prototype.addSysMLBlocksPalette=function(a){var c=this,f=[this.addEntry("sysml block block definition diagram",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3e\x3cb\x3ebdd\x3c/b\x3e Namespace1\x3c/p\x3e',new mxGeometry(0,0,300,100),"html\x3d1;strokeWidth\x3d1;shape\x3dmxgraph.sysml.package;labelX\x3d120;align\x3dleft;spacingLeft\x3d10;overflow\x3dfill;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell("Block1",new mxGeometry(15,
30,100,50),"shape\x3drect;fontStyle\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);var e=new mxCell("Block2",new mxGeometry(190,30,100,50),"shape\x3drect;fontStyle\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=!0;a.insert(e);var f=new mxCell("part1",new mxGeometry(0,0,0,0),"align\x3dright;html\x3d1;verticalAlign\x3dbottom;endArrow\x3dnone;startArrow\x3ddiamondThin;startSize\x3d14;startFill\x3d1;edgeStyle\x3dnone;endFill\x3d0;");f.geometry.relative=!0;
f.geometry.x=1;f.edge=!0;a.insert(f);var k=new mxCell("1",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");k.geometry.relative=!0;k.setConnectable(!1);k.vertex=!0;f.insert(k);k=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");k.geometry.relative=!0;k.setConnectable(!1);k.vertex=!0;f.insert(k);b.insertEdge(f,!0);e.insertEdge(f,
!1);return c.createVertexTemplateFromCells([a],300,100,"Block Definition Diagram")}),this.addEntry("sysml block relation",function(){var a=new mxCell("part1",new mxGeometry(0,0,0,0),"align\x3dright;html\x3d1;verticalAlign\x3dbottom;endArrow\x3dnone;startArrow\x3ddiamondThin;startSize\x3d14;startFill\x3d1;edgeStyle\x3dnone;");a.geometry.relative=!0;a.geometry.x=1;a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(160,0),!1);a.edge=!0;var b=new mxCell("1",new mxGeometry(-1,
0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Relation")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;verticalAlign\x3dtop;align\x3dleft;whiteSpace\x3dwrap;",
220,340,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;block\x26gt;\x26gt;\x3cbr/\x3e{encapsulated}\x3cbr/\x3e\x3cb\x3eBlock1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3econstraints\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3e{x \x26gt; y}\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3eoperations\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eoperation1 (p1 : Type1) : Type2\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3eparts\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eproperty1 : Block2\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3ereferences\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eproperty2 : Block3 [0..*] {ordered}\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3evalues\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eproperty3 : Integer \x3d 99 {readOnly}\x3cbr/\x3eproperty4 : Real \x3d 10.0\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3eproperties\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eproperty5 : Type1\x3c/p\x3e',
"Block",null,null,this.getTagsForStencil("","","sysml block block").join(" ")),this.createVertexTemplateEntry("shape\x3dumlActor;html\x3d1;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",30,60,"ActorName","Actor",null,null,this.getTagsForStencil("","","sysml block actor").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;",160,80,"\x3cp\x3e\x26lt;\x26lt;actor\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eActorName\x3c/b\x3e\x3c/p\x3e",
"Actor",null,null,this.getTagsForStencil("","","sysml block actor").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",200,180,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;valueType\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eValueType1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3eoperations\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eoperation1 (p1 : Type1) : Type2\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3eproperties\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eproperty1 : Type3\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:center;"\x3e\x26lt;\x26lt;valueType\x26gt;\x26gt;\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eunit \x3d UnitName\x3c/p\x3e',
"ValueType",null,null,this.getTagsForStencil("","","sysml block value type valuetype").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",200,80,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;enumeration\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eEnumeration1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eliteralName1\x3cbr/\x3eliteralName2\x3c/p\x3e',"Enumeration",null,null,
this.getTagsForStencil("","","sysml block enumeration").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;",80,40,'\x3cp style\x3d"margin:13px;"\x3e\x3cb\x3e\x3ci\x3eName\x3c/i\x3e\x3c/b\x3e\x3c/p\x3e',"Abstract Definition",null,null,this.getTagsForStencil("","","sysml block abstract definition").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;",80,40,'\x3cp style\x3d"margin:5px;"\x3e{abstract}\x3cbr/\x3e\x3cb\x3e\x3ci\x3eName\x3c/i\x3e\x3c/b\x3e\x3c/p\x3e',
"Abstract Definition",null,null,this.getTagsForStencil("","","sysml block abstract definition").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;",80,40,'\x3cp style\x3d"margin:5px;"\x3e\x3cb\x3e\x3ci\x3eName\x3c/i\x3e\x3c/b\x3e\x3cbr/\x3e{abstract}\x3c/p\x3e',"Abstract Definition",null,null,this.getTagsForStencil("","","sysml block abstract definition").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;",
200,80,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;stereotype1\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eBlock1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:center;"\x3e\x26lt;\x26lt;stereotype1\x26gt;\x26gt;\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eproperty1 \x3d value\x3c/p\x3e',"Stereotype Property Compartment",null,null,this.getTagsForStencil("","","sysml block stereotype property compartment").join(" ")),
this.addEntry("sysml block namespace compartment",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eBlock1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3enamespace\x3c/i\x3e\x3c/p\x3e',new mxGeometry(0,0,300,120),"shape\x3drect;align\x3dleft;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;strokeWidth\x3d1;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell("Block2",new mxGeometry(15,60,100,
50),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);var e=new mxCell("Block3",new mxGeometry(190,60,100,50),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=!0;a.insert(e);var f=new mxCell("part1",new mxGeometry(0,0,0,0),"align\x3dright;verticalAlign\x3dbottom;endArrow\x3dnone;startArrow\x3ddiamondThin;startSize\x3d14;startFill\x3d1;edgeStyle\x3dnone;html\x3d1;");f.geometry.relative=!0;f.geometry.x=1;f.edge=
!0;a.insert(f);var k=new mxCell("1",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");k.geometry.relative=!0;k.setConnectable(!1);k.vertex=!0;f.insert(k);k=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");k.geometry.relative=!0;k.setConnectable(!1);k.vertex=!0;f.insert(k);b.insertEdge(f,!0);e.insertEdge(f,!1);return c.createVertexTemplateFromCells([a],
300,100,"Namespace Compartment")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",250,100,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eBlock1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3enamespace\x3c/i\x3e\x3c/p\x3e',"Block",null,null,this.getTagsForStencil("","","sysml block block").join(" ")),this.addEntry("sysml block structure compartment",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eBlock1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3estructure\x3c/i\x3e\x3c/p\x3e',
new mxGeometry(0,0,300,120),"shape\x3drect;align\x3dleft;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;strokeWidth\x3d1;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell("Block2",new mxGeometry(15,60,100,50),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);var e=new mxCell("Block3",new mxGeometry(190,60,100,50),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=!0;a.insert(e);var f=new mxCell("c1:",new mxGeometry(0,
0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;edgeStyle\x3dnone;");f.geometry.relative=!0;f.edge=!0;a.insert(f);var k=new mxCell("e1",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");k.geometry.relative=!0;k.setConnectable(!1);k.vertex=!0;f.insert(k);k=new mxCell("1",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");k.geometry.relative=
!0;k.setConnectable(!1);k.vertex=!0;f.insert(k);b.insertEdge(f,!0);e.insertEdge(f,!1);return c.createVertexTemplateFromCells([a],300,100,"Structure Compartment")}),this.addEntry("sysml block relation",function(){var a=new mxCell("c1",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;startArrow\x3dnone;startSize\x3d14;startFill\x3d0;edgeStyle\x3dorthogonalEdgeStyle;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(160,0),!1);a.geometry.relative=
!0;a.edge=!0;var b=new mxCell("1",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("e1",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,
a.geometry.height,"Relation")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",200,60,'\x3cp style\x3d"margin:0px;margin-top:10px;text-align:center;"\x3e\x26lt;\x26lt;unit\x26gt;\x26gt;\x3cbr/\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:center;"\x3e{quantityKind \x3d QuantityKind1}\x3cbr/\x3e\x3cb\x3eUnit1\x3c/b\x3e\x3c/p\x3e',"Unit",null,null,this.getTagsForStencil("","","sysml block unit").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",
200,80,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eUnit1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:center;"\x3e\x26lt;\x26lt;unit\x26gt;\x26gt;\x3cbr/\x3e{quantityKind \x3d QuantityKind1}\x3c/p\x3e',"Unit",null,null,this.getTagsForStencil("","","sysml block unit").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",200,60,'\x3cp style\x3d"margin:0px;margin-top:10px;text-align:center;"\x3e\x26lt;\x26lt;quantityKind\x26gt;\x26gt;\x3cbr/\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:center;"\x3e\x3cb\x3eQuantityKind1\x3c/b\x3e\x3c/p\x3e',
"Quantity Kind",null,null,this.getTagsForStencil("","","sysml block quantity kind").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;fontSize\x3d15;whiteSpace\x3dwrap;",70,30,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"\x3e\x3cB\x3ei1: Type1\x3c/b\x3e\x3cbr/\x3e',"Instance Specification",null,null,this.getTagsForStencil("","","sysml block instance specification").join(" ")),this.addEntry("sysml block instance specification",
function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"\x3e\x3cB\x3ei1: Type1\x3c/b\x3e\x3cbr/\x3e',new mxGeometry(0,0,80,30),"shape\x3drect;html\x3d1;overflow\x3dfill;fontSize\x3d15;whiteSpace\x3dwrap;");a.vertex=!0;var b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"\x3e\x3cB\x3ei2: Type2\x3c/b\x3e\x3cbr/\x3e',new mxGeometry(200,0,80,30),"shape\x3drect;html\x3d1;overflow\x3dfill;fontSize\x3d15;whiteSpace\x3dwrap;");
b.vertex=!0;var e=new mxCell("\x26lt;\x26lt;allocate\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"rounded\x3d0;html\x3d1;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;endArrow\x3dopen;dashed\x3d1;endSize\x3d12;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);e=new mxCell("A1",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dopen;endSize\x3d12;edgeStyle\x3dorthogonalEdgeStyle;");e.geometry.setTerminalPoint(new mxPoint(0,0),!0);e.geometry.setTerminalPoint(new mxPoint(160,
0),!1);e.geometry.relative=!0;e.edge=!0;var f=new mxCell("p3",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");f.geometry.relative=!0;f.setConnectable(!1);f.vertex=!0;e.insert(f);a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],280,30,"Instance Specification")}),this.addEntry("sysml block relation",function(){var a=new mxCell("A1",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dopen;endSize\x3d12;edgeStyle\x3dorthogonalEdgeStyle;");
a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(160,0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("p3",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Relation")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",
120,60,'\x3cp style\x3d"margin:0px;margin-top:10px;text-align:center;text-decoration:underline;"\x3einstance1: Type1\x3cbr/\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3evalue1\x3c/p\x3e',"Instance Specification",null,null,this.getTagsForStencil("","","sysml block instance specification").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",160,80,'\x3cp style\x3d"margin:0px;margin-top:10px;text-align:center;text-decoration:underline;"\x3einstance1: Type1\x3cbr/\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:4px;text-align:left;"\x3eproperty1 \x3d 10\x3cbr/\x3eproperty2 \x3d "value"\x3c/p\x3e',
"Instance Specification",null,null,this.getTagsForStencil("","","sysml block instance specification").join(" ")),this.addEntry("sysml block instance specification",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:5px;text-align:center;text-decoration:underline;"\x3e: Type1\x3chr/\x3e\x3c/p\x3e',new mxGeometry(0,0,200,180),"shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;strokeWidth\x3d1;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:5px;text-align:center;text-decoration:underline;"\x3einstance1 / property1: Type2\x3chr/\x3e\x3c/p\x3e',
new mxGeometry(10,30,180,140),"shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;");b.vertex=!0;a.insert(b);b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:5px;text-align:center;text-decoration:underline;"\x3einstance2 / property2:\x3cbr/\x3eType3\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:4px;text-align:left;"\x3eproperty1 \x3d 10\x3cbr/\x3eproperty2 \x3d "value"\x3c/p\x3e',new mxGeometry(20,60,160,100),"shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;");
b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],200,180,"Instance Specification")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",200,160,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"\x3e: Type1\x3c/p\x3e\x3chr/\x3e',"Instance Specification",null,null,this.getTagsForStencil("","","sysml block instance specification").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;dashed\x3d1;verticalAlign\x3dbottom;",
160,0,"\x26lt;\x26lt;stereotype\x26gt;\x26gt;\ndependency1","Dependency",null,null,this.getTagsForStencil("","","sysml block dependency").join(" ")),this.addEntry("sysml block reference association",function(){var a=new mxCell("association1",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dopen;endSize\x3d12;edgeStyle\x3dorthogonalEdgeStyle;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(250,0),!1);a.geometry.relative=!0;a.edge=!0;
var b=new mxCell("0..1",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("{ordered} 1..*",new mxGeometry(0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("property1",new mxGeometry(0.9,0,
0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Reference Association")}),this.addEntry("sysml block reference association",function(){var a=new mxCell("association1",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;edgeStyle\x3dorthogonalEdgeStyle;");a.geometry.setTerminalPoint(new mxPoint(0,
0),!0);a.geometry.setTerminalPoint(new mxPoint(250,0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("1",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("property2",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);
b.vertex=!0;a.insert(b);b=new mxCell("{ordered} 0..*",new mxGeometry(0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("property1",new mxGeometry(0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],
a.geometry.width,a.geometry.height,"Reference Association")}),this.addEntry("sysml block part association",function(){var a=new mxCell("association1",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dopen;endSize\x3d12;edgeStyle\x3dorthogonalEdgeStyle;startFill\x3d1;startSize\x3d12;startArrow\x3ddiamondThin;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(250,0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("0..1",new mxGeometry(-0.9,
0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("{ordered} 1..*",new mxGeometry(0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("property1",new mxGeometry(0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Part Association")}),this.addEntry("sysml block part association",function(){var a=new mxCell("association1",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;edgeStyle\x3dorthogonalEdgeStyle;startFill\x3d1;startSize\x3d12;startArrow\x3ddiamondThin;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(250,
0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("1",new mxGeometry(-0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("property2",new mxGeometry(-0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("{ordered} 0..*",
new mxGeometry(0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("property1",new mxGeometry(0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,
"Part Association")}),this.addEntry("sysml block shared association",function(){var a=new mxCell("association1",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dopen;endSize\x3d12;edgeStyle\x3dorthogonalEdgeStyle;startFill\x3d0;startSize\x3d12;startArrow\x3ddiamondThin;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(250,0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("0..1",new mxGeometry(-0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("{ordered} 1..*",new mxGeometry(0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("property1",new mxGeometry(0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);
b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Shared Association")}),this.addEntry("sysml block shared association",function(){var a=new mxCell("association1",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;edgeStyle\x3dorthogonalEdgeStyle;startFill\x3d0;startSize\x3d12;startArrow\x3ddiamondThin;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(250,0),!1);a.geometry.relative=
!0;a.edge=!0;var b=new mxCell("1",new mxGeometry(-0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("property2",new mxGeometry(-0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("{ordered} 0..*",new mxGeometry(0.9,
0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("property1",new mxGeometry(0.9,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Shared Association")}),
this.addEntry("sysml block multibranch part association",function(){var a=new mxCell("association1",new mxGeometry(123,3,4,4),"verticalAlign\x3dbottom;html\x3d1;ellipse;fillColor\x3d#000000;strokeColor\x3d#000000;");a.vertex=!0;var b=new mxCell("property1",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;align\x3dright;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;labelBackgroundColor\x3dnone;");b.geometry.setTerminalPoint(new mxPoint(250,5),!1);b.geometry.relative=
!0;b.geometry.x=1;b.edge=!0;var e=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10;labelBackgroundColor\x3dnone;");e.geometry.relative=!0;e.setConnectable(!1);e.vertex=!0;b.insert(e);a.insertEdge(b,!0);e=new mxCell("property2",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;align\x3dright;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;labelBackgroundColor\x3dnone;");
e.geometry.setTerminalPoint(new mxPoint(250,50),!1);e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;var f=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");f.geometry.relative=!0;f.setConnectable(!1);f.vertex=!0;e.insert(f);a.insertEdge(e,!0);f=new mxCell("property3",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;align\x3dleft;verticalAlign\x3dbottom;endArrow\x3ddiamondThin;rounded\x3d0;endFill\x3d1;endSize\x3d12;labelBackgroundColor\x3dnone;");
f.geometry.setTerminalPoint(new mxPoint(0,5),!1);f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;var k=new mxCell("1",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");k.geometry.relative=!0;k.setConnectable(!1);k.vertex=!0;f.insert(k);a.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],250,50,"Multibranch Part Association")}),this.addEntry("sysml block multibranch shared association",function(){var a=
new mxCell("association1",new mxGeometry(123,3,4,4),"verticalAlign\x3dbottom;html\x3d1;ellipse;fillColor\x3d#000000;");a.vertex=!0;var b=new mxCell("property1",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;align\x3dright;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;labelBackgroundColor\x3dnone;");b.geometry.setTerminalPoint(new mxPoint(250,5),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;var e=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable\x3d0;align\x3dright;html\x3d1;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10;labelBackgroundColor\x3dnone;");
e.geometry.relative=!0;e.setConnectable(!1);e.vertex=!0;b.insert(e);a.insertEdge(b,!0);e=new mxCell("property2",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;align\x3dright;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;labelBackgroundColor\x3dnone;");e.geometry.setTerminalPoint(new mxPoint(250,50),!1);e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;var f=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable\x3d0;align\x3dright;html\x3d1;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
f.geometry.relative=!0;f.setConnectable(!1);f.vertex=!0;e.insert(f);a.insertEdge(e,!0);f=new mxCell("property3",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;align\x3dleft;verticalAlign\x3dbottom;endArrow\x3ddiamondThin;rounded\x3d0;endFill\x3d0;endSize\x3d12;labelBackgroundColor\x3dnone;");f.geometry.setTerminalPoint(new mxPoint(0,5),!1);f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;var k=new mxCell("1",new mxGeometry(1,0,0,0),"resizable\x3d0;align\x3dleft;html\x3d1;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
k.geometry.relative=!0;k.setConnectable(!1);k.vertex=!0;f.insert(k);a.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],250,50,"Multibranch Shared Association")}),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endSize\x3d12;endArrow\x3dblock;endFill\x3d0;",160,0,"","Generalization",null,this.getTagsForStencil("","","sysml block generalization").join(" ")),this.addEntry("sysml block multibranch generalization",function(){var a=new mxCell("",new mxGeometry(68,23,4,4),"verticalAlign\x3dbottom;html\x3d1;ellipse;fillColor\x3d#000000;strokeColor\x3d#000000;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;endSize\x3d12;endArrow\x3dblock;endFill\x3d0;elbow\x3dhorizontal;rounded\x3d0;");b.geometry.setTerminalPoint(new mxPoint(70,0),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;");e.geometry.setTerminalPoint(new mxPoint(140,50),!1);
e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;");f.geometry.setTerminalPoint(new mxPoint(0,50),!1);f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;a.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],140,50,"Multibranch Generalization")}),this.addEntry("sysml block generalization set",function(){var a=new mxCell("{disjoint}",
new mxGeometry(68,23,4,4),"ellipse;html\x3d1;fillColor\x3d#000000;strokeColor\x3d#000000;labelPosition\x3dright;align\x3dleft;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;endSize\x3d12;endArrow\x3dblock;endFill\x3d0;elbow\x3dhorizontal;rounded\x3d0;");b.geometry.setTerminalPoint(new mxPoint(70,0),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;");
e.geometry.setTerminalPoint(new mxPoint(140,50),!1);e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;");f.geometry.setTerminalPoint(new mxPoint(0,50),!1);f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;a.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],140,50,"Generalization Set")}),this.addEntry("sysml block generalization set",
function(){var a=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dblock;endFill\x3d0;endSize\x3d12;");a.geometry.setTerminalPoint(new mxPoint(10,0),!1);a.geometry.setTerminalPoint(new mxPoint(10,80),!0);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dblock;endFill\x3d0;endSize\x3d12;");b.geometry.setTerminalPoint(new mxPoint(40,0),!1);b.geometry.setTerminalPoint(new mxPoint(40,80),!0);b.geometry.relative=
!0;b.edge=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dblock;endFill\x3d0;endSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(70,0),!1);e.geometry.setTerminalPoint(new mxPoint(70,80),!0);e.geometry.relative=!0;e.edge=!0;var f=new mxCell("{overlapping}",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;dashed\x3d1;labelPosition\x3dright;align\x3dleft;");f.geometry.relative=!0;f.geometry.x=1;f.geometry.setTerminalPoint(new mxPoint(0,
40),!0);f.geometry.setTerminalPoint(new mxPoint(80,40),!1);f.edge=!0;return c.createVertexTemplateFromCells([a,b,e,f],150,80,"Generalization Set")}),this.addEntry("sysml block block namespace containment",function(){var a=new mxCell("",new mxGeometry(68,38,4,4),"verticalAlign\x3dbottom;html\x3d1;ellipse;fillColor\x3d#000000;strokeColor\x3d#000000;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;endSize\x3d12;endArrow\x3dsysMLPackCont;elbow\x3dhorizontal;rounded\x3d0;align\x3dleft;verticalAlign\x3dmiddle");
b.geometry.setTerminalPoint(new mxPoint(70,16),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;");e.geometry.setTerminalPoint(new mxPoint(140,70),!1);e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;");
f.geometry.setTerminalPoint(new mxPoint(0,70),!1);f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;a.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],140,70,"Block Namespace Containment")}),this.addEntry("sysml block participant property",function(){var a=new mxCell("Block2",new mxGeometry(0,0,50,20),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("Block1",new mxGeometry(350,0,50,20),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var e=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eAssoctiation1\x3c/b\x3e\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:center;"\x3e\x26lt;\x26lt;participant\x26gt;\x26gt; {end \x3d property 1} p1 : Block 1\x3cbr/\x3e\x26lt;\x26lt;participant\x26gt;\x26gt; {end \x3d property 2} p2 : Block 2\x3c/p\x3e',new mxGeometry(50,60,300,80),"shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;");e.vertex=!0;var f=new mxCell("Association1",
new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;verticalAlign\x3dbottom;");f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);b.insertEdge(f,!1);var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;dashed\x3d1;");k.geometry.setTerminalPoint(new mxPoint(200,10),!1);k.geometry.relative=!0;k.edge=!0;e.insertEdge(k,!0);var l=new mxCell("property2",new mxGeometry(-1,0,0,0),"spacingLeft\x3d3;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelPosition\x3dright;labelBackgroundColor\x3dnone;fontSize\x3d10");
l.geometry.relative=!0;l.setConnectable(!1);l.vertex=!0;f.insert(l);l=new mxCell("1",new mxGeometry(-1,0,0,0),"spacingLeft\x3d3;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelPosition\x3dright;labelBackgroundColor\x3dnone;fontSize\x3d10");l.geometry.relative=!0;l.setConnectable(!1);l.vertex=!0;f.insert(l);l=new mxCell("property1",new mxGeometry(1,0,0,0),"spacingRight\x3d3;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPosition\x3dleft;labelBackgroundColor\x3dnone;fontSize\x3d10");l.geometry.relative=
!0;l.setConnectable(!1);l.vertex=!0;f.insert(l);l=new mxCell("{ordered} 0..*",new mxGeometry(1,0,0,0),"spacingRight\x3d3;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelPosition\x3dleft;labelBackgroundColor\x3dnone;fontSize\x3d10");l.geometry.relative=!0;l.setConnectable(!1);l.vertex=!0;f.insert(l);return c.createVertexTemplateFromCells([a,b,e,f,k],400,140,"Participant Property")}),this.addEntry("sysml block participant property",function(){var a=new mxCell("Block2",new mxGeometry(0,0,50,20),"shape\x3drect;html\x3d1;strokeWidth\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");
a.vertex=!0;var b=new mxCell("Block1",new mxGeometry(350,0,50,20),"shape\x3drect;html\x3d1;strokeWidth\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eAssoctiation1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;text-align:center;"\x3e\x3ci\x3estructure\x3c/i\x3e\x3c/p\x3e',new mxGeometry(20,60,360,150),"shape\x3drect;html\x3d1;strokeWidth\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;recursiveResize\x3d0;");
e.vertex=!0;var f=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;participant\x26gt;\x26gt;\x3cbr/\x3e{end \x3d property 2}\x3cbr/\x3e\x3cbr/\x3e\x3cb\x3ep2 : Block 2\x3c/b\x3e\x3c/p\x3e',new mxGeometry(20,50,150,80),"shape\x3drect;html\x3d1;overflow\x3dfill;dashed\x3d1;whiteSpace\x3dwrap;");f.vertex=!0;e.insert(f);f=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;participant\x26gt;\x26gt;\x3cbr/\x3e{end \x3d property 1}\x3cbr/\x3e\x3cbr/\x3e\x3cb\x3ep1 : Block 1\x3c/b\x3e\x3c/p\x3e',
new mxGeometry(190,50,150,80),"shape\x3drect;html\x3d1;overflow\x3dfill;dashed\x3d1;whiteSpace\x3dwrap;");f.vertex=!0;e.insert(f);f=new mxCell("Association1",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;verticalAlign\x3dbottom;");f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);b.insertEdge(f,!1);var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;dashed\x3d1;");k.geometry.setTerminalPoint(new mxPoint(200,10),!1);k.geometry.relative=
!0;k.edge=!0;e.insertEdge(k,!0);var l=new mxCell("property2",new mxGeometry(-1,0,0,0),"spacingLeft\x3d3;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelPosition\x3dright;labelBackgroundColor\x3dnone;fontSize\x3d10");l.geometry.relative=!0;l.setConnectable(!1);l.vertex=!0;f.insert(l);l=new mxCell("1",new mxGeometry(-1,0,0,0),"spacingLeft\x3d3;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelPosition\x3dright;labelBackgroundColor\x3dnone;fontSize\x3d10");l.geometry.relative=!0;l.setConnectable(!1);
l.vertex=!0;f.insert(l);l=new mxCell("property1",new mxGeometry(1,0,0,0),"spacingRight\x3d3;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPosition\x3dleft;labelBackgroundColor\x3dnone;fontSize\x3d10");l.geometry.relative=!0;l.setConnectable(!1);l.vertex=!0;f.insert(l);l=new mxCell("{ordered} 0..*",new mxGeometry(1,0,0,0),"spacingRight\x3d3;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelPosition\x3dleft;labelBackgroundColor\x3dnone;fontSize\x3d10");l.geometry.relative=!0;l.setConnectable(!1);
l.vertex=!0;f.insert(l);return c.createVertexTemplateFromCells([a,b,e,f,k],400,260,"Participant Property")}),this.addEntry("sysml block participant property",function(){var a=new mxCell("Block2",new mxGeometry(0,0,50,20),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("Block1",new mxGeometry(350,0,50,20),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("Association1",new mxGeometry(140,
60,120,20),"shape\x3drect;html\x3d1;");e.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dnone;html\x3d1;");f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);b.insertEdge(f,!1);var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;dashed\x3d1;");k.geometry.setTerminalPoint(new mxPoint(200,10),!1);k.geometry.relative=!0;k.edge=!0;e.insertEdge(k,!0);var l=new mxCell("property2",new mxGeometry(-1,0,0,0),"spacingLeft\x3d3;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelPosition\x3dright;labelBackgroundColor\x3dnone;fontSize\x3d10");
l.geometry.relative=!0;l.setConnectable(!1);l.vertex=!0;f.insert(l);l=new mxCell("1",new mxGeometry(-1,0,0,0),"spacingLeft\x3d3;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelPosition\x3dright;labelBackgroundColor\x3dnone;fontSize\x3d10");l.geometry.relative=!0;l.setConnectable(!1);l.vertex=!0;f.insert(l);l=new mxCell("property1",new mxGeometry(1,0,0,0),"spacingRight\x3d3;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPosition\x3dleft;labelBackgroundColor\x3dnone;fontSize\x3d10");l.geometry.relative=
!0;l.setConnectable(!1);l.vertex=!0;f.insert(l);l=new mxCell("{ordered} 0..*",new mxGeometry(1,0,0,0),"spacingRight\x3d3;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelPosition\x3dleft;labelBackgroundColor\x3dnone;fontSize\x3d10");l.geometry.relative=!0;l.setConnectable(!1);l.vertex=!0;f.insert(l);return c.createVertexTemplateFromCells([a,b,e,f,k],400,80,"Participant Property")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",300,80,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eAssoctiation1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:center;"\x3e\x26lt;\x26lt;participant\x26gt;\x26gt; {end \x3d property 1} p1 : Blcok 1\x3cbr/\x3e\x26lt;\x26lt;participant\x26gt;\x26gt; {end \x3d property 2} p2 : Blcok 2\x3c/p\x3e',
"Association",null,null,this.getTagsForStencil("","","sysml block association").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",300,80,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eAssoctiation1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;text-align:center;"\x3e\x3ci\x3estructure\x3c/i\x3e\x3c/p\x3e',"Association",null,null,this.getTagsForStencil("","","sysml block association").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;dashed\x3d1;whiteSpace\x3dwrap;",
150,80,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;participant\x26gt;\x26gt;\x3cbr/\x3e{end \x3d property 1}\x3cbr/\x3e\x3cbr/\x3e\x3cb\x3ep1 : Block 1\x3c/b\x3e\x3c/p\x3e',"Participant",null,null,this.getTagsForStencil("","","sysml block participant").join(" ")),this.addEntry("sysml block connector property",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eBlock1\x3c/b\x3e\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:-6px;margin-left:10px;text-align:left;"\x3e\x26lt;\x26lt;connector\x26gt;\x26gt; c1 : Association1\x3cbr/\x3e\x26lt;\x26lt;connector\x26gt;\x26gt; c2 : Association2\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:-6px;text-align:center;font-size:10px;"\x3e\x3ci\x3estructure\x3c/i\x3e\x3c/p\x3e',
new mxGeometry(0,0,400,250),"shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;strokeWidth\x3d1;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell("p1:\nType1",new mxGeometry(20,100,80,40),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);var e=new mxCell("p2:\nType2",new mxGeometry(300,100,80,40),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=!0;a.insert(e);var f=new mxCell("c1: Association1",
new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;verticalAlign\x3dbottom;");f.geometry.relative=!0;f.edge=!0;b.insertEdge(f,!0);e.insertEdge(f,!1);a.insert(f);b=new mxCell("1",new mxGeometry(1,0,0,0),"spacingRight\x3d3;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPosition\x3dleft;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;f.insert(b);b=new mxCell("e1",new mxGeometry(1,0,0,0),"spacingRight\x3d3;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelPosition\x3dleft;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;f.insert(b);b=new mxCell("p3:\nType3",new mxGeometry(20,160,80,40),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);e=new mxCell("p4:\nType4",new mxGeometry(300,160,80,40),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=!0;a.insert(e);f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;");f.geometry.relative=!0;f.edge=
!0;b.insertEdge(f,!0);e.insertEdge(f,!1);a.insert(f);b=new mxCell("1",new mxGeometry(1,0,0,0),"spacingRight\x3d3;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPosition\x3dleft;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;f.insert(b);b=new mxCell("e1",new mxGeometry(1,0,0,0),"spacingRight\x3d3;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelPosition\x3dleft;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);
b.vertex=!0;f.insert(b);f=new mxCell("c2: Association2",new mxGeometry(140,210,120,20),"shape\x3drect;html\x3d1;align\x3dcenter;");f.vertex=!0;a.insert(f);b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;dashed\x3d1;");b.geometry.setTerminalPoint(new mxPoint(200,180),!1);b.geometry.relative=!0;b.edge=!0;f.insertEdge(b,!0);a.insert(b);return c.createVertexTemplateFromCells([a],400,250,"Connector Property")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",
200,120,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eBlock1\x3c/b\x3e\x3chr/\x3e\x26lt;\x26lt;connector\x26gt;\x26gt; c1 : Association1\x3cbr/\x3e\x26lt;\x26lt;connector\x26gt;\x26gt; c2 : Association2\x3chr/\x3e\x3c/p\x3e',"Connector Property",null,null,this.getTagsForStencil("","","sysml block connector property").join(" ")),this.addEntry("sysml block internal block diagram",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3e\x3cb\x3eibd\x3c/b\x3e Block1\x3c/p\x3e',
new mxGeometry(0,0,300,100),"html\x3d1;strokeWidth\x3d1;shape\x3dmxgraph.sysml.package;labelX\x3d100;align\x3dleft;spacingLeft\x3d10;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;strokeWidth\x3d0;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell("p1:\nType1",new mxGeometry(15,30,100,50),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);var e=new mxCell("p2:\nType2",new mxGeometry(190,30,100,50),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");
e.vertex=!0;a.insert(e);var f=new mxCell("c1:a1",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;edgeStyle\x3dnone;");f.geometry.relative=!0;f.edge=!0;var k=new mxCell("1",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");k.geometry.relative=!0;k.setConnectable(!1);k.vertex=!0;f.insert(k);k=new mxCell("p3",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
k.geometry.relative=!0;k.setConnectable(!1);k.vertex=!0;f.insert(k);b.insertEdge(f,!0);e.insertEdge(f,!1);a.insert(f);return c.createVertexTemplateFromCells([a],300,100,"Internal Block Diagram")}),this.addEntry("sysml block property",function(){var a=new mxCell("",new mxGeometry(0,0,300,120),"shape\x3drect;html\x3d1;strokeWidth\x3d2;whiteSpace\x3dwrap;strokeWidth\x3d1;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;margin-right:4px;text-align:right;font-size:10px;"\x3e0..*\x3c/p\x3e\x3cp style\x3d"margin:0px;text-align:center;"\x3e\x3cb\x3ep1 : Type1\x3c/b\x3e\x3chr/\x3ex : Integer \x3d 4\x3c/p\x3e',
new mxGeometry(20,20,140,80),"shape\x3drect;html\x3d1;overflow\x3dfill;strokeWidth\x3d2;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);b=new mxCell("r1: Type2",new mxGeometry(180,30,100,50),"shape\x3drect;html\x3d1;fontStyle\x3d1;dashed\x3d1;strokeWidth\x3d2;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],300,120,"Property")}),this.createVertexTemplateEntry("html\x3d1;strokeWidth\x3d1;shape\x3dmxgraph.sysml.package;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",
300,135,'\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3e\x3cb\x3eidb\x3c/b\x3e Block1\x3c/p\x3e',"Package",null,null,this.getTagsForStencil("","","sysml block package").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;",100,80,'\x3cp style\x3d"margin:0px;margin-top:4px;margin-right:4px;text-align:right;font-size:10px;"\x3e0..*\x3c/p\x3e\x3cp style\x3d"margin:0px;text-align:center;"\x3e\x3cb\x3ep1 : Type1\x3c/b\x3e\x3chr/\x3ex : Integer \x3d 4\x3c/p\x3e',
"Property",null,null,this.getTagsForStencil("","","sysml block property").join(" ")),this.addEntry("sysml block property",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;margin-right:4px;text-align:right;font-size:10px;"\x3e0..*\x3c/p\x3e\x3cp style\x3d"margin:0px;text-align:center;"\x3ep1 : Type1\x3chr/\x3e\x3c/p\x3e',new mxGeometry(0,0,250,160),"shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;strokeWidth\x3d1;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3ep3 : Type3\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3einitialValues\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3ex1 \x3d 5.0\x3cbr/\x3ex2 \x3d "today"\x3c/p\x3e',
new mxGeometry(30,50,140,100),"shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],250,160,"Property")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",100,100,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3ep3 : Type3\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3einitialValues\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3ex1 \x3d 5.0\x3cbr/\x3ex2 \x3d "today"\x3c/p\x3e',
"Property",null,null,this.getTagsForStencil("","","sysml block property").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",300,70,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3ep1 : [Type1]\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3evalues\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3e\x26lt;\x26lt;normal\x26gt;\x26gt; {mean \x3d 2, stdDeviation \x3d 0.1} x : Real\x3c/p\x3e',
"Property Specific Type",null,null,this.getTagsForStencil("","","sysml block property specific type").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",100,70,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3ep2\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3evalues\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3ey : Integer \x3d 5\x3c/p\x3e',
"Property Specific Type",null,null,this.getTagsForStencil("","","sysml block property specific type").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;dashed\x3d1;verticalAlign\x3dbottom;",160,0,"\x26lt;\x26lt;stereotype1\x26gt;\x26gt;\ndependency1","Dependency",null,null,this.getTagsForStencil("","","sysml block dependency").join(" ")),this.addEntry("sysml block property",function(){var a=new mxCell("",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;edgeStyle\x3dorthogonalEdgeStyle;strokeWidth\x3d2;");
a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(160,0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("1",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Property")}),this.addEntry("sysml block binding connector",function(){var a=new mxCell("\x26lt;\x26lt;equal\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;edgeStyle\x3dorthogonalEdgeStyle;strokeWidth\x3d2;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(160,0),!1);a.geometry.relative=
!0;a.edge=!0;var b=new mxCell("1",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("1",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,
a.geometry.height,"Binding Connector")}),this.addEntry("sysml block bidirectional connector",function(){var a=new mxCell("c1 : association",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;edgeStyle\x3dorthogonalEdgeStyle;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(160,0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("0..1",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("p1",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);
b=new mxCell("p2",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Bidirectional Connector")}),this.addEntry("sysml block unidirectional connector",function(){var a=new mxCell("c1 : association",new mxGeometry(0,0,0,0),"verticalAlign\x3dbottom;html\x3d1;endArrow\x3dnone;edgeStyle\x3dorthogonalEdgeStyle;");
a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(160,0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("0..1",new mxGeometry(-1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("p1",new mxGeometry(1,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!0;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Unidirectional Connector")})];this.addPalette("sysmlBlocks","SysML / Blocks",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};
Sidebar.prototype.addSysMLPortsAndFlowsPalette=function(a){var c=this,f=[this.addEntry("sysml port flow port",function(){var a=new mxCell("Transmission",new mxGeometry(0,0,160,60),"html\x3d1;shape\x3dmxgraph.sysml.port1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("p1",new mxGeometry(0,20,20,20),"shape\x3drect;html\x3d1;resizable\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10;");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("p2",new mxGeometry(140,20,20,20),"shape\x3drect;html\x3d1;resizable\x3d1;labelBackgroundColor\x3dnone;fontSize\x3d10;");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Port")}),this.addEntry("sysml port flow port conjugated",function(){var a=new mxCell("Transmission",new mxGeometry(0,0,200,60),"html\x3d1;shape\x3dmxgraph.sysml.port2;fontStyle\x3d1;spacingRight\x3d20;whiteSpace\x3dwrap;align\x3dcenter;");
a.vertex=!0;var b=new mxCell("p1 : ~T1",new mxGeometry(0,20,20,20),"shape\x3drect;html\x3d1;resizable\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPositin\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("p2 : ~T2",new mxGeometry(140,20,60,20),"shape\x3drect;html\x3d1;resizable\x3d1;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=
!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Port (Conjugated Ports)")}),this.addEntry("sysml port flow port flow property",function(){var a=new mxCell("Transmission",new mxGeometry(0,0,160,80),"html\x3d1;shape\x3dmxgraph.sysml.port3;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("p1",new mxGeometry(0,10,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("p2",new mxGeometry(0,50,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("p3",new mxGeometry(160,30,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=
!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Ports with Flow Properties")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",160,70,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eTransmission\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3eports\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3ep1 : ITransCmd\x3c/p\x3e',
"Port (Compartment Notation)",null,null,this.getTagsForStencil("","","sysml port flow port compartment notation").join(" ")),this.addEntry("sysml port flow nested port",function(){var a=new mxCell("Transmission",new mxGeometry(0,0,160,60),"html\x3d1;shape\x3dmxgraph.sysml.nestedPort;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("p1.1",new mxGeometry(0,14,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("p1.2",new mxGeometry(0,30,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("p1.3",new mxGeometry(0,46,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("p1",new mxGeometry(22,10,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Nested Port")}),this.addEntry("sysml port flow proxy port",function(){var a=new mxCell("Transmission",
new mxGeometry(0,0,160,60),"html\x3d1;shape\x3dmxgraph.sysml.port1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;proxy\x26gt;\x26gt;\np1",new mxGeometry(0,20,20,20),"shape\x3drect;html\x3d1;resizable\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],
a.geometry.width,a.geometry.height,"Proxy Port")}),this.addEntry("sysml port flow full port",function(){var a=new mxCell("Transmission",new mxGeometry(0,0,160,60),"html\x3d1;shape\x3dmxgraph.sysml.port1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;full\x26gt;\x26gt;\np1",new mxGeometry(0,20,20,20),"shape\x3drect;html\x3d1;resizable\x3d1;align\x3dright;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Full Port")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",200,100,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eTransmission\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3eflow properties\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3ein gearSelect: Gear\x3cbr/\x3ein engineTorque: Torque\x3cbr/\x3eout wheelsTorque: Torque\x3c/p\x3e',
"Flow Property",null,null,this.getTagsForStencil("","","sysml port flow flow property").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",250,150,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eTransmission\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3eoperations\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3eprov Boolean selectGear(g : Gear)\x3cbr/\x3ereqd Torque getTorque()\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3eproperties\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3eprov temperature : Integer\x3cbr/\x3ereqd geometry : Spline\x3c/p\x3e',
"Required and Provided Features",null,null,this.getTagsForStencil("","","sysml port flow required provided feature").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",200,80,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;interfaceBlock\x26gt;\x26gt;\n\x3cb\x3eISpeedObserver\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3enotifySpeedChange(): void\x3c/p\x3e',
"Interface Block",null,null,this.getTagsForStencil("","","sysml port flow interface block").join(" ")),this.addEntry("sysml port flow item flow",function(){var a=new mxCell("eng: engine\n",new mxGeometry(20,0,80,60),"html\x3d1;shape\x3dmxgraph.sysml.itemFlow;fontStyle\x3d1;flowDir\x3dS;flowType\x3dout;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\ntrns: Transmission",new mxGeometry(0,120,120,60),"html\x3d1;shape\x3dmxgraph.sysml.itemFlow;fontStyle\x3d1;flowDir\x3dN;flowType\x3din;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var e=new mxCell("Torque",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dright;endArrow\x3dnone;exitX\x3d0.5;exitY\x3d1;entryX\x3d0.5;entryY\x3d0;");e.geometry.relative=!0;e.edge=!0;var f=new mxCell("p",new mxGeometry(0,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d10;verticalAlign\x3dtop;labelPosition\x3dleft;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");f.geometry.relative=!0;f.geometry.x=-1;f.setConnectable(!1);f.vertex=
!0;e.insert(f);f=new mxCell("p",new mxGeometry(0,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d10;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");f.geometry.relative=!0;f.geometry.x=1;f.setConnectable(!1);f.vertex=!0;e.insert(f);a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],120,180,"Item Flow")}),this.addEntry("sysml port flow item flow property",function(){var a=new mxCell("eng: engine\n",
new mxGeometry(40,0,80,60),"html\x3d1;shape\x3dmxgraph.sysml.itemFlow;fontStyle\x3d1;flowDir\x3dS;flowType\x3dout;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\ntrns: Transmission",new mxGeometry(20,120,120,60),"html\x3d1;shape\x3dmxgraph.sysml.itemFlow;fontStyle\x3d1;flowDir\x3dN;flowType\x3din;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("torque: Torque",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dright;endArrow\x3dnone;exitX\x3d0.5;exitY\x3d1;entryX\x3d0.5;entryY\x3d0;");
e.geometry.relative=!0;e.edge=!0;var f=new mxCell("p",new mxGeometry(0,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d10;verticalAlign\x3dtop;labelPosition\x3dleft;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");f.geometry.relative=!0;f.geometry.x=-1;f.setConnectable(!1);f.vertex=!0;e.insert(f);f=new mxCell("p",new mxGeometry(0,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d10;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");
f.geometry.relative=!0;f.geometry.x=1;f.setConnectable(!1);f.vertex=!0;e.insert(f);a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],140,180,"Item Flow (Item Property)")}),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.itemFlow;fontStyle\x3d1;flowDir\x3dN;flowType\x3din;whiteSpace\x3dwrap;align\x3dcenter;",200,80,"eng:Engine","Item Flow North In",null,null,this.getTagsForStencil("","","sysml port flow item flow north in").join(" ")),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.itemFlow;fontStyle\x3d1;flowDir\x3dE;flowType\x3dout;whiteSpace\x3dwrap;align\x3dcenter;",
200,80,"eng:Engine","Item Flow East Out",null,null,this.getTagsForStencil("","","sysml port flow item flow east out").join(" ")),this.addEntry("sysml port flow item flow",function(){var a=new mxCell("eng: engine",new mxGeometry(40,0,100,60),"html\x3d1;shape\x3dmxgraph.sysml.itemFlow;fontStyle\x3d1;strokeWidth\x3d1;flowDir\x3dE;flowType\x3dnone;spacingRight\x3d20;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("trns: Translation",new mxGeometry(260,0,140,60),"html\x3d1;shape\x3dmxgraph.sysml.itemFlow;strokeWidth\x3d1;fontStyle\x3d1;flowDir\x3dW;flowType\x3dnone;spacingLeft\x3d15;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var e=new mxCell("Torque",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dleft;verticalAlign\x3dtop;endArrow\x3dnone;exitX\x3d1;exitY\x3d0.5;entryX\x3d0;entryY\x3d0.5;");e.geometry.relative=!0;e.edge=!0;var f=new mxCell("ep:EP",new mxGeometry(0,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d5;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");f.geometry.relative=!0;f.geometry.x=-1;f.setConnectable(!1);
f.vertex=!0;e.insert(f);f=new mxCell("tp:TP",new mxGeometry(0,0,0,0),"resizable\x3d0;html\x3d1;align\x3dright;spacingRight\x3d5;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10");f.geometry.relative=!0;f.geometry.x=1;f.setConnectable(!1);f.vertex=!0;e.insert(f);a.insertEdge(e,!0);b.insertEdge(e,!1);f=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3ec1: Association-1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-left:4px;text-align:left;font-size:0.9em;"\x3e\x26lt;\x26lt;participant\x26gt;\x26gt;{end \x3d ep} epInLink : EP[1]\x3cbr/\x3e\x26lt;\x26lt;participant\x26gt;\x26gt;{end \x3d tp} etInLink : TP[1]\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;text-align:center;font-size:0.9em;"\x3estructure\x3c/p\x3e',
new mxGeometry(0,120,470,250),"shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;strokeWidth\x3d1;recursiveResize\x3d0;");f.vertex=!0;var k=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3delbowEdgeStyle;elbow\x3dhorizontal;dashed\x3d1;");k.geometry.relative=!0;k.geometry.setTerminalPoint(new mxPoint(160,30),!0);k.edge=!0;f.insertEdge(k,!1);var l=new mxCell("epInLink : EP",new mxGeometry(30,100,160,120),"html\x3d1;shape\x3dmxgraph.sysml.itemFlowRight;fontStyle\x3d1;spacingRight\x3d40;whiteSpace\x3dwrap;align\x3dcenter;");
l.vertex=!0;f.insert(l);var n=new mxCell("ep.1",new mxGeometry(160,30,0,0),"resizable\x3d0;html\x3d1;align\x3dright;spacingRight\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dright;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");n.geometry.relative=!1;n.setConnectable(!1);n.vertex=!0;l.insert(n);n=new mxCell("ep.2",new mxGeometry(160,60,0,0),"resizable\x3d0;html\x3d1;align\x3dright;spacingRight\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dright;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
n.geometry.relative=!1;n.setConnectable(!1);n.vertex=!0;l.insert(n);n=new mxCell("ep.3",new mxGeometry(160,90,0,0),"resizable\x3d0;html\x3d1;align\x3dright;spacingRight\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dright;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");n.geometry.relative=!1;n.setConnectable(!1);n.vertex=!0;l.insert(n);n=new mxCell("tpInLink : TP",new mxGeometry(280,100,160,120),"html\x3d1;shape\x3dmxgraph.sysml.itemFlowLeft;fontStyle\x3d1;spacingLeft\x3d40;whiteSpace\x3dwrap;align\x3dcenter;");
n.vertex=!0;f.insert(n);var m=new mxCell("tp.1",new mxGeometry(0,30,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");m.geometry.relative=!1;m.setConnectable(!1);m.vertex=!0;n.insert(m);m=new mxCell("tp.2",new mxGeometry(0,60,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
m.geometry.relative=!1;m.setConnectable(!1);m.vertex=!0;n.insert(m);m=new mxCell("tp.3",new mxGeometry(0,90,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");m.geometry.relative=!1;m.setConnectable(!1);m.vertex=!0;n.insert(m);m=new mxCell("Vibration",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;verticalAlign\x3dbottom;endArrow\x3dnone;exitX\x3d1;exitY\x3d0.25;entryX\x3d0;entryY\x3d0.25;");
m.geometry.relative=!0;m.edge=!0;l.insertEdge(m,!0);n.insertEdge(m,!1);f.insert(m);m=new mxCell("Heat",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;verticalAlign\x3dbottom;endArrow\x3dnone;exitX\x3d1;exitY\x3d0.5;entryX\x3d0;entryY\x3d0.5;");m.geometry.relative=!0;m.edge=!0;l.insertEdge(m,!0);n.insertEdge(m,!1);f.insert(m);m=new mxCell("Current",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;verticalAlign\x3dbottom;endArrow\x3dnone;exitX\x3d1;exitY\x3d0.75;entryX\x3d0;entryY\x3d0.75;");
m.geometry.relative=!0;m.edge=!0;l.insertEdge(m,!0);n.insertEdge(m,!1);f.insert(m);return c.createVertexTemplateFromCells([a,b,e,f,k],470,370,"Item Flow")}),this.addEntry("sysml port flow item flow",function(){var a=new mxCell("tpInLink : TP",new mxGeometry(0,0,200,120),"html\x3d1;shape\x3dmxgraph.sysml.itemFlowLeft;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("tp.1",new mxGeometry(0,30,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("tp.2",new mxGeometry(0,60,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("tp.3",new mxGeometry(0,90,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;spacingLeft\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Item Flow")}),this.addEntry("sysml port flow item flow",function(){var a=new mxCell("epInLink : EP",new mxGeometry(0,0,200,120),"html\x3d1;shape\x3dmxgraph.sysml.itemFlowRight;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("ep.1",new mxGeometry(200,30,0,0),"resizable\x3d0;html\x3d1;align\x3dright;spacingRight\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dright;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("ep.2",new mxGeometry(200,60,0,0),"resizable\x3d0;html\x3d1;align\x3dright;spacingRight\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dright;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("ep.3",new mxGeometry(200,90,0,0),"resizable\x3d0;html\x3d1;align\x3dright;spacingRight\x3d22;verticalAlign\x3dmiddle;labelPosition\x3dright;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Item Flow")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",200,80,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;interface\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eISpeedObserver\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:4px;text-align:left;"\x3enotifySpeedChange(): void\x3c/p\x3e',
"Interface",null,null,this.getTagsForStencil("","","sysml port flow interface").join(" ")),this.addEntry("sysml port flow required interface",function(){var a=new mxCell("Transmission",new mxGeometry(90,0,160,60),"html\x3d1;shape\x3dmxgraph.sysml.port4;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("p1",new mxGeometry(0,20,20,20),"shape\x3drect;html\x3d1;resizable\x3d0;align\x3dleft;verticalAlign\x3dbottom;labelPosition\x3dright;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10;");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("ITransCmd",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;endArrow\x3dsysMLReqInt;endSize\x3d8;exitX\x3d0;exitY\x3d0.5;fillColor\x3d#ffffff;");b.geometry.setTerminalPoint(new mxPoint(0,0),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("ITransData",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dleft;verticalAlign\x3dtop;endArrow\x3dsysMLProvInt;endSize\x3d12;exitX\x3d0;exitY\x3d0.5;fillColor\x3d#ffffff;");
e.geometry.setTerminalPoint(new mxPoint(0,60),!1);e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],250,60,"Required Interface")}),this.addEntry("sysml port flow provided interface",function(){var a=new mxCell("Transmission",new mxGeometry(90,0,160,60),"html\x3d1;shape\x3dmxgraph.sysml.port4;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("p1",new mxGeometry(0,20,20,20),"shape\x3drect;html\x3d1;resizable\x3d0;labelBackgroundColor\x3dnone;fontSize\x3d10;");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("ITransCmd",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;endArrow\x3dsysMLReqInt;endSize\x3d8;exitX\x3d0;exitY\x3d0.5;fillColor\x3d#ffffff;");b.geometry.setTerminalPoint(new mxPoint(0,0),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("ITransData",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dleft;verticalAlign\x3dtop;endArrow\x3dsysMLProvInt;endSize\x3d12;exitX\x3d0;exitY\x3d0.5;fillColor\x3d#ffffff;");
e.geometry.setTerminalPoint(new mxPoint(0,60),!1);e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],250,60,"Provided Interface")})];this.addPalette("sysmlPorts and Flows","SysML / Ports and Flows",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addSysMLConstraintBlocksPalette=function(a){var c=this,f=[this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",
200,180,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;constraint\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eConstraintBlock1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3econstraints\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3e{{L1} x \x3e y }\x3cbr/\x3enested: ConstraintBlock2\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;margin-top:4px;text-align:center;"\x3e\x3ci\x3eparameters\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3ex: Real\x3cbr/\x3ey: Real\x3c/p\x3e',
"Constraint Block",null,null,this.getTagsForStencil("","","sysml constraint block ").join(" ")),this.addEntry("sysml constraint block provided interface",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3e\x3cb\x3epar\x3c/b\x3e Block1\x3c/p\x3e',new mxGeometry(0,0,300,170),"html\x3d1;shape\x3dmxgraph.sysml.package;labelX\x3d120;align\x3dleft;spacingLeft\x3d10;overflow\x3dfill;whiteSpace\x3dwrap;strokeWidth\x3d1;recursiveResize\x3d0;");a.vertex=
!0;var b=new mxCell("C1: Constraint",new mxGeometry(130,50,150,100),"html\x3d1;shape\x3dmxgraph.sysml.paramDgm;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);var e=new mxCell("x:",new mxGeometry(0,25,0,0),"html\x3d1;resizable\x3d0;align\x3dleft;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingLeft\x3d22;fontStyle\x3d1;");e.geometry.relative=!1;e.setConnectable(!1);e.vertex=!0;b.insert(e);
e=new mxCell("y:",new mxGeometry(0,75,0,0),"html\x3d1;resizable\x3d0;align\x3dleft;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingLeft\x3d22;fontStyle\x3d1;");e.geometry.relative=!1;e.setConnectable(!1);e.vertex=!0;b.insert(e);var f=new mxCell("length: Real",new mxGeometry(30,65,20,20),"shape\x3drect;html\x3d1;fontSize\x3d10;verticalLabelPosition\x3dtop;verticalAlign\x3dbottom;");f.vertex=!0;a.insert(f);e=new mxCell("width: Real",
new mxGeometry(30,115,20,20),"shape\x3drect;html\x3d1;fontSize\x3d10;verticalLabelPosition\x3dtop;verticalAlign\x3dbottom;");e.vertex=!0;a.insert(e);var k=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;exitY\x3d0.25;exitX\x3d0;entryY\x3d0.5;entryX\x3d1;");k.geometry.relative=!0;k.geometry.x=1;k.edge=!0;b.insertEdge(k,!0);f.insertEdge(k,!1);a.insert(k);f=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;exitY\x3d0.75;exitX\x3d0;entryY\x3d0.5;entryX\x3d1;");
f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;b.insertEdge(f,!0);e.insertEdge(f,!1);a.insert(f);return c.createVertexTemplateFromCells([a],300,170,"Parametric Diagram")}),this.addEntry("sysml constraint block constraint property",function(){var a=new mxCell("C1:Constraint1",new mxGeometry(0,0,150,100),"html\x3d1;shape\x3dmxgraph.sysml.paramDgm;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("x: Real",new mxGeometry(0,25,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingLeft\x3d22;fontStyle\x3d1;");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("y: Real",new mxGeometry(0,75,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingLeft\x3d22;fontStyle\x3d1;");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Constraint Property")}),this.addEntry("sysml constraint block constraint property",
function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;constraint\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eC1: Constraint1\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e',new mxGeometry(0,0,150,120),"html\x3d1;shape\x3dmxgraph.sysml.consProp;overflow\x3dfill;whiteSpace\x3dwrap;");a.vertex=!0;var b=new mxCell("x: Real",new mxGeometry(0,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;spacingLeft\x3d22;spacingTop\x3d120;fontStyle\x3d1;");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("y: Real",new mxGeometry(0,0,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;spacingLeft\x3d22;spacingTop\x3d180;fontStyle\x3d1;");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Constraint Property")})];this.addPalette("sysmlConstraint Blocks",
"SysML / Constraint Blocks",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addSysMLActivitiesPalette=function(a){var c=this,f=[this.createVertexTemplateEntry("shape\x3drect;html\x3d1;rounded\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",160,80,"Action","Action",null,null,this.getTagsForStencil("","","sysml activity action").join(" ")),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.callBehAct;whiteSpace\x3dwrap;align\x3dcenter;",
160,80,"action name:\nbehavior name","Call Behavior Action",null,null,this.getTagsForStencil("","callBehAct","sysml activity call behavior action").join(" ")),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.accEvent;strokeWidth\x3d2;whiteSpace\x3dwrap;align\x3dcenter;",100,60,"Event","Accept Event Action",null,null,this.getTagsForStencil("","accEvent","sysml activity accept event action").join(" ")),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.timeEvent;strokeWidth\x3d2;verticalLabelPosition\x3dbottom;verticalAlignment\x3dtop;",
35,40,"","Time Event",null,null,this.getTagsForStencil("","timeEvent","sysml activity time event").join(" ")),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.sendSigAct;strokeWidth\x3d2;whiteSpace\x3dwrap;align\x3dcenter;",100,60,"Signal","Send Signal Action",null,null,this.getTagsForStencil("","sendSigAct","sysml activity send signal action").join(" ")),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.actFinal;strokeWidth\x3d2;verticalLabelPosition\x3dbottom;verticalAlignment\x3dtop;",
40,40,"","Activity Final",null,null,this.getTagsForStencil("","actFinal","sysml activity activity final").join(" ")),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.actParamNode;align\x3dleft;spacingLeft\x3d15;verticalAlign\x3dtop;spacingTop\x3d-3;",300,135,"act","Activity Parameter Node",null,null,this.getTagsForStencil("","act","sysml activity activity parameter node").join(" ")),this.createVertexTemplateEntry("shape\x3drect;rounded\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",
160,80,"\x26lt;\x26lt;controlOperator\x26gt;\x26gt;\nCallBehaviorAction","Control Operator",null,null,this.getTagsForStencil("","","sysml activity control operator").join(" ")),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.package;align\x3dleft;spacingLeft\x3d5;verticalAlign\x3dtop;spacingTop\x3d-3;labelX\x3d135;html\x3d1;overflow\x3dfill;",250,120,'\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3e\x3cb\x3eact\x3c/b\x3e [ControlOperator]\x3c/p\x3e',
"Control Operator",null,null,this.getTagsForStencil("","package","sysml activity control operator").join(" ")),this.addEntry("sysml activity decision node",function(){var a=new mxCell("",new mxGeometry(80,40,40,40),"shape\x3drhombus;html\x3d1;verticalLabelPosition\x3dbottom;verticalAlignment\x3dtop;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;align\x3dright;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;labelBackgroundColor\x3dnone;startArrow\x3dopen;startSize\x3d12;");
b.geometry.setTerminalPoint(new mxPoint(100,0),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("[guard]",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;endArrow\x3dopen;rounded\x3d0;labelBackgroundColor\x3dnone;endSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(200,60),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("[else]",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;endArrow\x3dopen;rounded\x3d0;labelBackgroundColor\x3dnone;endSize\x3d12;");
f.geometry.setTerminalPoint(new mxPoint(0,60),!1);f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],200,80,"Decision Node")}),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.flowFinal;strokeWidth\x3d2;verticalLabelPosition\x3dbottom;verticalAlignment\x3dtop;",40,40,"","Flow Final",null,null,this.getTagsForStencil("","flowFinal","sysml activity flow final").join(" ")),this.addEntry("sysml activity fork node",function(){var a=new mxCell("",
new mxGeometry(60,0,4,80),"shape\x3drect;html\x3d1;fillColor\x3d#000000;verticalLabelPosition\x3dbottom;verticalAlignment\x3dtop;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;endArrow\x3dnone;rounded\x3d0;startArrow\x3dopen;strokeWidth\x3d3;startSize\x3d12;");b.geometry.setTerminalPoint(new mxPoint(0,40),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;strokeWidth\x3d3;endSize\x3d12;");
e.geometry.setTerminalPoint(new mxPoint(200,10),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;strokeWidth\x3d3;endSize\x3d12;");f.geometry.setTerminalPoint(new mxPoint(200,30),!1);f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;strokeWidth\x3d3;endSize\x3d12;");
k.geometry.setTerminalPoint(new mxPoint(200,50),!1);k.geometry.relative=!0;k.edge=!0;a.insertEdge(k,!0);var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;strokeWidth\x3d3;endSize\x3d12;");l.geometry.setTerminalPoint(new mxPoint(200,70),!1);l.geometry.relative=!0;l.edge=!0;a.insertEdge(l,!0);return c.createVertexTemplateFromCells([a,b,e,f,k,l],200,80,"Fork Node")}),this.createVertexTemplateEntry("shape\x3dellipse;html\x3d1;illColor\x3d#000000;strokeWidth\x3d2;verticalLabelPosition\x3dbottom;verticalAlignment\x3dtop;",
40,40,"","Initial Node",null,null,this.getTagsForStencil("","","sysml activity initial node").join(" ")),this.addEntry("sysml activity join node",function(){var a=new mxCell("{joinspec\x3d...}",new mxGeometry(136,0,4,80),"shape\x3drect;html\x3d1;fillColor\x3d#000000;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;rounded\x3d0;endArrow\x3dopen;strokeWidth\x3d3;endSize\x3d12;");
b.geometry.setTerminalPoint(new mxPoint(200,40),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;startArrow\x3dopen;endArrow\x3dnone;rounded\x3d0;strokeWidth\x3d3;startSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(0,10),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;startArrow\x3dopen;endArrow\x3dnone;rounded\x3d0;strokeWidth\x3d3;startSize\x3d12;");
f.geometry.setTerminalPoint(new mxPoint(0,30),!1);f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;startArrow\x3dopen;endArrow\x3dnone;rounded\x3d0;strokeWidth\x3d3;startSize\x3d12;");k.geometry.setTerminalPoint(new mxPoint(0,50),!1);k.geometry.relative=!0;k.edge=!0;a.insertEdge(k,!0);var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;startArrow\x3dopen;endArrow\x3dnone;rounded\x3d0;strokeWidth\x3d3;startSize\x3d12;");
l.geometry.setTerminalPoint(new mxPoint(0,70),!1);l.geometry.relative=!0;l.edge=!0;a.insertEdge(l,!0);return c.createVertexTemplateFromCells([a,b,e,f,k,l],200,80,"Join Node")}),this.addEntry("sysml activity is control",function(){var a=new mxCell("Action",new mxGeometry(90,0,120,60),"html\x3d1;shape\x3dmxgraph.sysml.isControl;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("{control}",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;startArrow\x3dopen;rounded\x3d0;endArrow\x3dnone;verticalAlign\x3dbottom;exitX\x3d0;exitY\x3d0.5;startSize\x3d12;");
b.geometry.setTerminalPoint(new mxPoint(0,30),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("{control}",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;verticalAlign\x3dbottom;entryX\x3d0;entryY\x3d0.5;endSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(300,30),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],300,60,"Is Control")}),this.addEntry("sysml activity is stream",
function(){var a=new mxCell("Action",new mxGeometry(90,0,120,60),"html\x3d1;shape\x3dmxgraph.sysml.isControl;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("{stream}",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;startArrow\x3dopen;rounded\x3d0;endArrow\x3dnone;verticalAlign\x3dbottom;exitX\x3d0;exitY\x3d0.5;startSize\x3d12;");b.geometry.setTerminalPoint(new mxPoint(0,30),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("{stream}",
new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;verticalAlign\x3dbottom;entryX\x3d0;entryY\x3d0.5;endSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(300,30),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],300,60,"Is Stream")}),this.addEntry("sysml activity is stream",function(){var a=new mxCell("Action",new mxGeometry(90,0,120,60),"html\x3d1;shape\x3dmxgraph.sysml.isStream;whiteSpace\x3dwrap;align\x3dcenter;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;startArrow\x3dopen;rounded\x3d0;endArrow\x3dnone;exitX\x3d0;exitY\x3d0.5;startSize\x3d12;");b.geometry.setTerminalPoint(new mxPoint(0,30),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;entryX\x3d0;entryY\x3d0.5;endSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(300,
30),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],300,60,"Is Stream")}),this.addEntry("sysml activity is stream",function(){var a=new mxCell("act",new mxGeometry(0,0,200,100),"html\x3d1;shape\x3dmxgraph.sysml.isActStream;align\x3dleft;spacingLeft\x3d5;verticalAlign\x3dtop;spacingTop\x3d-3;");a.vertex=!0;var b=new mxCell("{stream}",new mxGeometry(200,50,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingTop\x3d5;");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],250,100,"Is Stream")}),this.addEntry("sysml activity local pre precondition post postcondition",function(){var a=new mxCell("localPrecondition\nconstraint",new mxGeometry(0,0,120,40),"shape\x3dnote;html\x3d1;size\x3d15;strokeWidth\x3d2;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("Action",new mxGeometry(10,65,100,50),"shape\x3drect;html\x3d1;rounded\x3d1;strokeWidth\x3d2;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var e=new mxCell("localPostcondition\nconstraint",new mxGeometry(20,140,130,40),"shape\x3dnote;html\x3d1;size\x3d15;strokeWidth\x3d2;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;rounded\x3d0;endArrow\x3dnone;");f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);b.insertEdge(f,!1);var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;rounded\x3d0;endArrow\x3dnone;");
k.geometry.relative=!0;k.edge=!0;b.insertEdge(k,!0);e.insertEdge(k,!1);return c.createVertexTemplateFromCells([a,b,e,f,k],150,180,"Local Pre- and Postconditions")}),this.addEntry("sysml activity merge node",function(){var a=new mxCell("",new mxGeometry(80,0,40,40),"shape\x3drhombus;html\x3d1;verticalLabelPosition\x3dtop;verticalAlignment\x3dbottom;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;align\x3dright;verticalAlign\x3dbottom;rounded\x3d0;labelBackgroundColor\x3dnone;endArrow\x3dopen;endSize\x3d12;");
b.geometry.setTerminalPoint(new mxPoint(100,80),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;startArrow\x3dopen;endArrow\x3dnone;rounded\x3d0;labelBackgroundColor\x3dnone;startSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(200,20),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;startArrow\x3dopen;endArrow\x3dnone;rounded\x3d0;labelBackgroundColor\x3dnone;startSize\x3d12;");
f.geometry.setTerminalPoint(new mxPoint(0,20),!1);f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],200,80,"Merge Node")}),this.addEntry("sysml activity no buffer",function(){var a=new mxCell("Action",new mxGeometry(90,0,120,60),"html\x3d1;shape\x3dmxgraph.sysml.isControl;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;noBuffer\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;startArrow\x3dopen;rounded\x3d0;endArrow\x3dnone;verticalAlign\x3dbottom;exitX\x3d0;exitY\x3d0.5;startSize\x3d12;");
b.geometry.setTerminalPoint(new mxPoint(0,30),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("\x26lt;\x26lt;noBuffer\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;verticalAlign\x3dbottom;entryX\x3d0;entryY\x3d0.5;endSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(300,30),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],300,60,"No Buffer")}),
this.createVertexTemplateEntry("shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",160,80,"object node name:\n type name\n[state, state ...]","Object Node",null,null,this.getTagsForStencil("","","sysml activity object node").join(" ")),this.addEntry("sysml activity object node",function(){var a=new mxCell("Action",new mxGeometry(0,0,120,60),"html\x3d1;shape\x3dmxgraph.sysml.isControl;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("pin name: type name\n[state, state ...]",
new mxGeometry(0,30,0,0),"resizable\x3d0;html\x3d1;align\x3dright;verticalAlign\x3dmiddle;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;spacingRight\x3d5;");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Object Node")}),this.addEntry("sysml activity optional",function(){var a=new mxCell("Action",new mxGeometry(90,0,120,60),"html\x3d1;shape\x3dmxgraph.sysml.isControl;whiteSpace\x3dwrap;align\x3dcenter;");
a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;optional\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;startArrow\x3dopen;rounded\x3d0;endArrow\x3dnone;verticalAlign\x3dbottom;exitX\x3d0;exitY\x3d0.5;startSize\x3d12;");b.geometry.setTerminalPoint(new mxPoint(0,30),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("\x26lt;\x26lt;optional\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;verticalAlign\x3dbottom;entryX\x3d0;entryY\x3d0.5;endSize\x3d12;");
e.geometry.setTerminalPoint(new mxPoint(300,30),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],300,60,"Optional")}),this.addEntry("sysml activity optional",function(){var a=new mxCell("act",new mxGeometry(0,0,200,100),"html\x3d1;shape\x3dmxgraph.sysml.isActStream;align\x3dleft;spacingLeft\x3d5;verticalAlign\x3dtop;spacingTop\x3d-3;fontStyle\x3d1;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;optional\x26gt;\x26gt;",new mxGeometry(200,50,0,0),
"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingTop\x3d5;");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Optional")}),this.addEntry("sysml activity overwrite",function(){var a=new mxCell("Action",new mxGeometry(90,0,120,60),"html\x3d1;shape\x3dmxgraph.sysml.isControl;whiteSpace\x3dwrap;align\x3dcenter;");
a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;overwrite\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;startArrow\x3dopen;rounded\x3d0;endArrow\x3dnone;verticalAlign\x3dbottom;exitX\x3d0;exitY\x3d0.5;startSize\x3d12;");b.geometry.setTerminalPoint(new mxPoint(0,30),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("\x26lt;\x26lt;overwrite\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;verticalAlign\x3dbottom;entryX\x3d0;entryY\x3d0.5;endSize\x3d12;");
e.geometry.setTerminalPoint(new mxPoint(300,30),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],300,60,"Overwrite")}),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.paramSet;whiteSpace\x3dwrap;align\x3dcenter;",160,100,"Action","Parameter Set",null,null,this.getTagsForStencil("","paramSet","sysml activity parameter set").join(" ")),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.paramActSet;align\x3dleft;spacingLeft\x3d15;verticalAlign\x3dtop;spacingTop\x3d-3;fontStyle\x3d1;",
250,120,"act","Parameter Set",null,null,this.getTagsForStencil("","paramActSet","sysml activity parameter set").join(" ")),this.addEntry("sysml activity probability",function(){var a=new mxCell("Action",new mxGeometry(0,0,120,160),"html\x3d1;shape\x3dmxgraph.sysml.probability;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("{ probability \x3d\nvalueSpecification }",new mxGeometry(120,40,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingBottom\x3d25;");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);b=new mxCell("{ probability \x3d\nvalueSpecification }",new mxGeometry(120,120,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingTop\x3d25;");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Probability")}),this.addEntry("sysml activity probability",
function(){var a=new mxCell("act",new mxGeometry(0,0,120,160),"html\x3d1;shape\x3dmxgraph.sysml.actProb;align\x3dleft;spacingLeft\x3d5;verticalAlign\x3dtop;spacingTop\x3d-3;fontStyle\x3d1;");a.vertex=!0;var b=new mxCell("{ probability \x3d\nvalueSpecification }",new mxGeometry(120,40,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dbottom;labelPosition\x3dleft;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingBottom\x3d25;");b.geometry.relative=!1;b.setConnectable(!1);
b.vertex=!0;a.insert(b);b=new mxCell("{ probability \x3d\nvalueSpecification }",new mxGeometry(120,120,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingTop\x3d25;");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Probability")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",
120,60,"\x26lt;\x26lt;continuous\x26gt;\x26gt;\nObject Node","Rate",null,null,this.getTagsForStencil("","","sysml activity rate").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",120,60,"\x26lt;\x26lt;discrete\x26gt;\x26gt;\nObject Node","Rate",null,null,this.getTagsForStencil("","","sysml activity rate").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",140,120,"{ rate \x3d constant }\n{ rate \x3d distribution }\n\x26lt;\x26lt;continuous\x26gt;\x26gt;\n\x26lt;\x26lt;discrete\x26gt;\x26gt;\nObject Node",
"Rate",null,null,this.getTagsForStencil("","","sysml activity rate").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;",140,80,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3eObject Node\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;rate\x26gt;\x26gt;\x3cbr/\x3erate \x3d constant\x3cbr/\x3erate \x3d distribution\x3c/p\x3e',"Rate",null,null,this.getTagsForStencil("","","sysml activity rate").join(" ")),
this.addEntry("sysml activity rate",function(){var a=new mxCell("act",new mxGeometry(0,0,200,100),"html\x3d1;shape\x3dmxgraph.sysml.isActStream;align\x3dleft;spacingLeft\x3d5;verticalAlign\x3dtop;spacingTop\x3d-3;fontStyle\x3d1;");a.vertex=!0;var b=new mxCell("{ rate \x3d constant }\n{ rate \x3d distributuion}\n\x26lt;\x26lt;continuous\x26gt;\x26gt;\n\x26lt;\x26lt;discrete\x26gt;\x26gt;",new mxGeometry(200,50,0,0),"resizable\x3d0;html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelPosition\x3dleft;verticalLabelPosition\x3dmiddle;labelBackgroundColor\x3dnone;fontSize\x3d10;spacingTop\x3d5;");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Rate")}),this.addEntry("sysml activity rate",function(){var a=new mxCell("Action",new mxGeometry(90,0,120,60),"html\x3d1;shape\x3dmxgraph.sysml.isControl;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("{ rate \x3d constant }\n{ rate \x3d distributuion}\n\x26lt;\x26lt;continuous\x26gt;\x26gt;\n\x26lt;\x26lt;discrete\x26gt;\x26gt;",new mxGeometry(0,
0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;startArrow\x3dopen;rounded\x3d0;endArrow\x3dnone;verticalAlign\x3dtop;exitX\x3d0;exitY\x3d0.5;labelBackgroundColor\x3dnone;startSize\x3d12;");b.geometry.setTerminalPoint(new mxPoint(0,30),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("{ rate \x3d constant }\n{ rate \x3d distributuion}\n\x26lt;\x26lt;continuous\x26gt;\x26gt;\n\x26lt;\x26lt;discrete\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;endArrow\x3dopen;rounded\x3d0;verticalAlign\x3dtop;entryX\x3d0;entryY\x3d0.5;labelBackgroundColor\x3dnone;endSize\x3d12;");
e.geometry.setTerminalPoint(new mxPoint(300,30),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],"Rate")}),this.addEntry("sysml activity control flow",function(){var a=new mxCell("",new mxGeometry(0,0,60,40),"shape\x3drect;html\x3d1;rounded\x3d1;whiteSpace\x3dwrap;");a.vertex=!0;var b=new mxCell("",new mxGeometry(100,0,60,40),"shape\x3drect;html\x3d1;rounded\x3d1;whiteSpace\x3dwrap;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;endArrow\x3dopen;labelBackgroundColor\x3dnone;endSize\x3d12;");
e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],160,60,"control flow")}),this.addEntry("sysml activity control flow",function(){var a=new mxCell("",new mxGeometry(0,0,60,40),"shape\x3drect;html\x3d1;rounded\x3d1;whiteSpace\x3dwrap;");a.vertex=!0;var b=new mxCell("",new mxGeometry(100,0,60,40),"shape\x3drect;html\x3d1;rounded\x3d1;whiteSpace\x3dwrap;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;endArrow\x3dopen;labelBackgroundColor\x3dnone;dashed\x3d1;endSize\x3d12;");
e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],160,60,"Control Flow")}),this.addEntry("sysml activity object flow",function(){var a=new mxCell("",new mxGeometry(0,0,60,40),"shape\x3drect;html\x3d1;rounded\x3d1;strokeWidth\x3d2;whiteSpace\x3dwrap;");a.vertex=!0;var b=new mxCell("",new mxGeometry(100,0,60,40),"shape\x3drect;html\x3d1;strokeWidth\x3d2;whiteSpace\x3dwrap;");b.vertex=!0;var e=new mxCell("",new mxGeometry(200,0,60,40),
"shape\x3drect;html\x3d1;rounded\x3d1;strokeWidth\x3d2;whiteSpace\x3dwrap;");e.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;endArrow\x3dopen;labelBackgroundColor\x3dnone;strokeWidth\x3d2;endSize\x3d12;");f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);b.insertEdge(f,!1);var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;endArrow\x3dopen;labelBackgroundColor\x3dnone;strokeWidth\x3d2;endSize\x3d12;");
k.geometry.relative=!0;k.edge=!0;b.insertEdge(k,!0);e.insertEdge(k,!1);return c.createVertexTemplateFromCells([a,b,e,f,k],260,60,"Object Flow")}),this.addEntry("sysml activity object flow",function(){var a=new mxCell("",new mxGeometry(0,0,60,40),"html\x3d1;shape\x3dmxgraph.sysml.objFlowR;strokeWidth\x3d2;whiteSpace\x3dwrap;");a.vertex=!0;var b=new mxCell("",new mxGeometry(140,0,60,40),"html\x3d1;shape\x3dmxgraph.sysml.objFlowL;strokeWidth\x3d2;whiteSpace\x3dwrap;");b.vertex=!0;var e=new mxCell("",
new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;endArrow\x3dopen;labelBackgroundColor\x3dnone;strokeWidth\x3d2;endSize\x3d12;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],200,60,"Object Flow")}),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.objFlowR;whiteSpace\x3dwrap;",120,60,"","Object Flow",null,null,this.getTagsForStencil("","objFlowR","sysml activity object flow").join(" ")),
this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.objFlowL;whiteSpace\x3dwrap;",120,60,"","Object Flow",null,null,this.getTagsForStencil("","objFlowL","sysml activity object flow").join(" ")),this.addEntry("sysml activity probability",function(){var a=new mxCell("",new mxGeometry(155,40,40,40),"shape\x3drhombus;html\x3d1;whiteSpace\x3dwrap;verticalLabelPosition\x3dbottom;verticalAlignment\x3dtop;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;align\x3dright;verticalAlign\x3dbottom;endArrow\x3dnone;rounded\x3d0;labelBackgroundColor\x3dnone;startArrow\x3dopen;startSize\x3d12;");
b.geometry.setTerminalPoint(new mxPoint(175,0),!1);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("{ probability \x3d valueSpecification }",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;endArrow\x3dopen;rounded\x3d0;labelBackgroundColor\x3dnone;endSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(350,60),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("{ probability \x3d valueSpecification }",
new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;verticalAlign\x3dbottom;endArrow\x3dopen;rounded\x3d0;labelBackgroundColor\x3dnone;endSize\x3d12;");f.geometry.setTerminalPoint(new mxPoint(0,60),!1);f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],350,80,"Probability")}),this.addEntry("sysml activity probability",function(){var a=new mxCell("Action",new mxGeometry(0,0,160,60),"html\x3d1;shape\x3dmxgraph.sysml.objFlowR;whiteSpace\x3dwrap;align\x3dcenter;");
a.vertex=!0;var b=new mxCell("{ probability \x3d valueSpecification }",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dcenter;verticalAlign\x3dbottom;endArrow\x3dopen;endSize\x3d12;exitX\x3d1;exitY\x3d0.5;fillColor\x3d#ffffff;labelBackgroundColor\x3dnone;");b.geometry.setTerminalPoint(new mxPoint(250,0),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("{ probability \x3d valueSpecification }",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dcenter;verticalAlign\x3dtop;endArrow\x3dopen;endSize\x3d12;exitX\x3d1;exitY\x3d0.5;fillColor\x3d#ffffff;labelBackgroundColor\x3dnone;");
e.geometry.setTerminalPoint(new mxPoint(250,60),!1);e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],250,60,"Probability")}),this.addEntry("sysml activity probability",function(){var a=new mxCell("Object Node",new mxGeometry(0,0,160,60),"shape\x3drect;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("{ probability \x3d valueSpecification }",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dcenter;verticalAlign\x3dbottom;endArrow\x3dopen;endSize\x3d12;exitX\x3d1;exitY\x3d0.3;fillColor\x3d#ffffff;labelBackgroundColor\x3dnone;");
b.geometry.setTerminalPoint(new mxPoint(250,0),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);var e=new mxCell("{ probability \x3d valueSpecification }",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;align\x3dcenter;verticalAlign\x3dtop;endArrow\x3dopen;endSize\x3d12;exitX\x3d1;exitY\x3d0.7;fillColor\x3d#ffffff;labelBackgroundColor\x3dnone;");e.geometry.setTerminalPoint(new mxPoint(250,60),!1);e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,
b,e],250,60,"Probability")}),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;",160,0,"{ rate \x3d constant }\n{rate \x3d distribution}\n\x26lt;\x26lt;continuous\x26gt;\x26gt;\n\x26lt;\x26lt;discrete\x26gt;\x26gt;","Rate",null,null,this.getTagsForStencil("","","sysml activity rate").join(" ")),this.addEntry("sysml activity in block definition diagram activity association",function(){var a=new mxCell("bdd",new mxGeometry(0,
0,330,250),"html\x3d1;shape\x3dmxgraph.sysml.package;labelX\x3d45;align\x3dleft;spacingLeft\x3d5;verticalAlign\x3dtop;spacingTop\x3d-3;fontStyle\x3d1;strokeWidth\x3d1;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;activity\x26gt;\x26gt;\nactivity name",new mxGeometry(30,40,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);var e=new mxCell("\x26lt;\x26lt;activity\x26gt;\x26gt;\nactivity name",new mxGeometry(30,160,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");
e.vertex=!0;a.insert(e);var f=new mxCell("action\nname",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;endFill\x3d0;startArrow\x3ddiamondThin;startFill\x3d1;startSize\x3d12;align\x3dleft;verticalAlign\x3dbottom;");f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;b.insertEdge(f,!0);e.insertEdge(f,!1);a.insert(f);b=new mxCell("\x26lt;\x26lt;activity\x26gt;\x26gt;\nactivity name",new mxGeometry(180,40,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=
!0;a.insert(b);e=new mxCell("\x26lt;\x26lt;block\x26gt;\x26gt;\nblock name",new mxGeometry(180,160,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=!0;a.insert(e);f=new mxCell("object\nnode\nname",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;endFill\x3d0;startFill\x3d1;startSize\x3d12;align\x3dleft;verticalAlign\x3dbottom;");f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;b.insertEdge(f,!0);e.insertEdge(f,!1);a.insert(f);return c.createVertexTemplateFromCells([a],
400,250,"In Block Definition Diagrams, Activity, Association")}),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.actPart;strokeWidth\x3d3;verticalAlign\x3dtop;rotation\x3d-90;whiteSpace\x3dwrap;",100,100,"Partition Name","Activity Partition",null,null,this.getTagsForStencil("","actPart","sysml activity activity partition").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;rounded\x3d1;strokeWidth\x3d2;verticalAlign\x3dtop;whiteSpace\x3dwrap;align\x3dcenter;",140,
50,"(Partition Name)\nAction","Activity Partition",null,null,this.getTagsForStencil("","","sysml activity activity partition").join(" ")),this.addEntry("sysml activity interruptible activity region",function(){var a=new mxCell("region name",new mxGeometry(0,0,160,60),"shape\x3drect;html\x3d1;rounded\x3d1;verticalAlign\x3dtop;dashed\x3d1;strokeWidth\x3d2;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"shape\x3dmxgraph.lean_mapping.electronic_info_flow_edge;html\x3d1;edgeStyle\x3dnone;align\x3dcenter;verticalAlign\x3dbottom;exitX\x3d1;exitY\x3d0.5;fillColor\x3d#ffffff;");
b.geometry.setTerminalPoint(new mxPoint(250,30),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);return c.createVertexTemplateFromCells([a,b],250,60,"Interruptible Activity Region")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;rounded\x3d1;dashed\x3d1;strokeWidth\x3d2;verticalAlign\x3dtop;whiteSpace\x3dwrap;align\x3dcenter;",160,60,"\x26lt;\x26lt;structured\x26gt;\x26gt; node name","Structured Activity Node",null,null,this.getTagsForStencil("","","sysml activity structured activity node").join(" "))];
this.addPalette("sysmlActivities","SysML / Activities",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addSysMLInteractionsPalette=function(a){var c=this,f=[this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.package;overflow\x3dfill;labelX\x3d95;align\x3dleft;spacingLeft\x3d5;verticalAlign\x3dtop;spacingTop\x3d-3;",160,80,'\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:5px;text-align:left;"\x3e\x3cb\x3esd\x3c/b\x3e Interaction1\x3c/p\x3e',
"Sequence Diagram",null,null,this.getTagsForStencil("","package","sysml interaction sequence diagram").join(" ")),this.addEntry("sysml interaction lifeline",function(){var a=new mxCell("b1:Block1",new mxGeometry(0,0,160,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;align\x3dcenter;verticalAlign\x3dbottom;exitX\x3d0.5;exitY\x3d1;");b.geometry.setTerminalPoint(new mxPoint(80,
150),!1);b.geometry.relative=!0;b.geometry.x=1;b.edge=!0;a.insertEdge(b,!0);return c.createVertexTemplateFromCells([a,b],160,150,"Lifeline")}),this.addEntry("sysml interaction execution specification",function(){var a=new mxCell("b1:Block1",new mxGeometry(0,0,160,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("",new mxGeometry(70,100,20,80),"shape\x3drect;html\x3d1;fillColor\x3d#eeeeee;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");
e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");f.geometry.setTerminalPoint(new mxPoint(80,220),!1);f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;b.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],160,220,"Execution Specification")}),this.addEntry("sysml interaction execution specification",function(){var a=new mxCell("b1:Block1",new mxGeometry(0,0,160,
60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("execSpec",new mxGeometry(20,100,120,80),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");f.geometry.setTerminalPoint(new mxPoint(80,
220),!1);f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;b.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],160,220,"Execution Specification")}),this.addEntry("sysml interaction use",function(){var a=new mxCell("Interaction3",new mxGeometry(0,0,160,60),"html\x3d1;shape\x3dmxgraph.sysml.package;labelX\x3d40;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("ref",new mxGeometry(0,0,0,0),"html\x3d1;align\x3dleft;verticalAlign\x3dtop;labelPosition\x3dleft;verticalLabelPosition\x3dtop;labelBackgroundColor\x3dnone;spacingLeft\x3d5;spacingTop\x3d-2;fontStyle\x3d1;");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Interaction Use")}),this.addEntry("sysml interaction combined fragment",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:10px;text-align:left;"\x3e\x3cb\x3esd\x3c/b\x3e Interaction1\x3c/p\x3e',new mxGeometry(0,0,350,320),"html\x3d1;shape\x3dmxgraph.sysml.package;labelX\x3d100;html\x3d1;overflow\x3dfill;strokeWidth\x3d1;recursiveResize\x3d0;");
a.vertex=!0;var b=new mxCell("b1: Block1",new mxGeometry(30,40,80,30),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;a.insert(b);var e=new mxCell("b2: Block2",new mxGeometry(140,40,80,30),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=!0;a.insert(e);var f=new mxCell("b3: Block3",new mxGeometry(250,40,80,30),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");f.vertex=!0;a.insert(f);var k=new mxCell("alt",new mxGeometry(20,90,200,160),
"html\x3d1;shape\x3dmxgraph.sysml.package;labelX\x3d35;fontStyle\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingLeft\x3d5;spacingTop\x3d-3;");k.vertex=!0;a.insert(k);k=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;dashed\x3d1;");k.geometry.setTerminalPoint(new mxPoint(70,300),!1);k.geometry.relative=!0;k.edge=!0;b.insertEdge(k,!0);a.insert(k);b=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;dashed\x3d1;");b.geometry.setTerminalPoint(new mxPoint(180,
300),!1);b.geometry.relative=!0;b.edge=!0;a.insert(b);e.insertEdge(b,!0);e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;dashed\x3d1;");e.geometry.setTerminalPoint(new mxPoint(290,300),!1);e.geometry.relative=!0;e.edge=!0;a.insert(e);f.insertEdge(e,!0);f=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;dashed\x3d1;");f.geometry.setTerminalPoint(new mxPoint(20,170),!1);f.geometry.setTerminalPoint(new mxPoint(220,170),!0);f.geometry.relative=
!0;f.edge=!0;a.insert(f);f=new mxCell("[if x \x3c 10]",new mxGeometry(0,0,0,0),"endArrow\x3dopen;html\x3d1;edgeStyle\x3dnone;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;endSize\x3d12;");f.geometry.setTerminalPoint(new mxPoint(70,150),!0);f.geometry.setTerminalPoint(new mxPoint(180,150),!1);f.geometry.relative=!0;f.geometry.x=-1;f.edge=!0;a.insert(f);e=new mxCell("msg1",new mxGeometry(1,0,0,0),"align\x3dright;html\x3d1;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;");e.geometry.relative=
!0;e.setConnectable(!1);e.vertex=!0;f.insert(e);f=new mxCell("[else]",new mxGeometry(0,0,0,0),"endArrow\x3dopen;html\x3d1;edgeStyle\x3dnone;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;align\x3dright;endSize\x3d12;");f.geometry.setTerminalPoint(new mxPoint(70,230),!0);f.geometry.setTerminalPoint(new mxPoint(180,230),!1);f.geometry.relative=!0;f.geometry.x=-1;f.edge=!0;a.insert(f);e=new mxCell("msg2",new mxGeometry(1,0,0,0),"align\x3dright;html\x3d1;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;");
e.geometry.relative=!0;e.setConnectable(!1);e.vertex=!0;f.insert(e);a.insert(f);f=new mxCell("msg3",new mxGeometry(0,0,0,0),"endArrow\x3dopen;html\x3d1;edgeStyle\x3dnone;verticalAlign\x3dbottom;labelBackgroundColor\x3dnone;endSize\x3d12;");f.geometry.setTerminalPoint(new mxPoint(70,290),!0);f.geometry.setTerminalPoint(new mxPoint(290,290),!1);f.geometry.relative=!0;f.edge=!0;a.insert(f);return c.createVertexTemplateFromCells([a],350,320,"Combined Fragment")}),this.addEntry("sysml interaction state invariant configuration",
function(){var a=new mxCell(":Y",new mxGeometry(0,0,120,50),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("p\x3d\x3d15",new mxGeometry(0,100,120,50),"html\x3d1;shape\x3dmxgraph.sysml.cont;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);var f=new mxCell("",new mxGeometry(0,
0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");f.geometry.setTerminalPoint(new mxPoint(60,220),!1);f.geometry.relative=!0;f.geometry.x=1;f.edge=!0;b.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],120,220,"State Invariant / Continuations")}),this.addEntry("sysml interaction coregion",function(){var a=new mxCell("s[u]:B",new mxGeometry(0,0,100,50),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("",new mxGeometry(40,
100,20,70),"html\x3d1;shape\x3dmxgraph.sysml.coregion;strokeWidth\x3d3;");b.vertex=!0;var e=new mxCell("",new mxGeometry(48,118,4,4),"shape\x3dellipse;html\x3d1;fillColor\x3d#000000;");e.vertex=!0;var f=new mxCell("",new mxGeometry(48,148,4,4),"shape\x3dellipse;html\x3d1;fillColor\x3d#000000;");f.vertex=!0;var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");k.geometry.relative=!0;k.edge=!0;a.insertEdge(k,!0);e.insertEdge(k,!1);var l=new mxCell("",
new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");l.geometry.relative=!0;l.edge=!0;e.insertEdge(l,!0);f.insertEdge(l,!1);var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");n.geometry.setTerminalPoint(new mxPoint(50,220),!1);n.geometry.relative=!0;n.edge=!0;f.insertEdge(n,!0);var m=new mxCell("m3",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;startArrow\x3dopen;verticalAlign\x3dbottom;startSize\x3d12;");
m.geometry.setTerminalPoint(new mxPoint(250,120),!1);m.geometry.relative=!0;m.edge=!0;e.insertEdge(m,!0);var p=new mxCell("m2",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;startArrow\x3dopen;verticalAlign\x3dbottom;startSize\x3d12;");p.geometry.setTerminalPoint(new mxPoint(250,150),!1);p.geometry.relative=!0;p.edge=!0;f.insertEdge(p,!0);return c.createVertexTemplateFromCells([a,b,e,f,k,l,n,m,p],250,220,"Coregion")}),this.addEntry("sysml interaction creation destruction event",
function(){var a=new mxCell("b1:Block1",new mxGeometry(0,0,100,30),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("b2:Block2",new mxGeometry(150,40,100,30),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(190,70,20,100),"shape\x3drect;fillColor\x3d#eeeeee;html\x3d1;");e.vertex=!0;var f=new mxCell("",new mxGeometry(48,53,4,4),"shape\x3dellipse;fillColor\x3d#000000;html\x3d1;");f.vertex=!0;var k=
new mxCell("",new mxGeometry(48,148,4,4),"shape\x3dellipse;fillColor\x3d#000000;html\x3d1;");k.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;dashed\x3d1;endArrow\x3dnone;html\x3d1;");l.geometry.relative=!0;l.edge=!0;a.insertEdge(l,!0);f.insertEdge(l,!1);var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;dashed\x3d1;endArrow\x3dnone;html\x3d1;");n.geometry.relative=!0;n.edge=!0;f.insertEdge(n,!0);k.insertEdge(n,!1);var m=new mxCell("",new mxGeometry(0,0,0,0),
"edgeStyle\x3dnone;dashed\x3d1;endArrow\x3dnone;html\x3d1;");m.geometry.setTerminalPoint(new mxPoint(50,220),!1);m.geometry.relative=!0;m.edge=!0;k.insertEdge(m,!0);var p=new mxCell("create",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dopen;verticalAlign\x3dbottom;endSize\x3d12;html\x3d1;");p.geometry.setTerminalPoint(new mxPoint(250,120),!1);p.geometry.relative=!0;p.edge=!0;f.insertEdge(p,!0);b.insertEdge(p,!1);var r=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;endArrow\x3dopen;elbow\x3dvertical;endSize\x3d12;html\x3d1;");
r.geometry.setTerminalPoint(new mxPoint(250,150),!1);r.geometry.relative=!0;r.edge=!0;k.insertEdge(r,!0);e.insertEdge(r,!1);var s=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;endArrow\x3dsysMLx;endSize\x3d22;dashed\x3d1;html\x3d1;");s.geometry.setTerminalPoint(new mxPoint(200,200),!1);s.geometry.relative=!0;s.edge=!0;e.insertEdge(s,!0);return c.createVertexTemplateFromCells([a,b,e,f,k,l,n,m,p,r,s],250,220,"Creation/Destruction Event")}),this.addEntry("sysml interaction duration constraint",
function(){var a=new mxCell(":User",new mxGeometry(0,0,100,50),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("{d..3*d}",new mxGeometry(-20,100,100,40),"html\x3d1;shape\x3dmxgraph.sysml.dimension;rotation\x3d-90;verticalAlign\x3dtop;spacingTop\x3d-5");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;dashed\x3d1;endArrow\x3dnone;html\x3d1;");e.geometry.setTerminalPoint(new mxPoint(50,250),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,
!0);var f=new mxCell("Code d\x3dduration",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;verticalAlign\x3dbottom;endSize\x3d12;");f.geometry.setTerminalPoint(new mxPoint(50,70),!0);f.geometry.setTerminalPoint(new mxPoint(250,70),!1);f.geometry.relative=!0;f.edge=!0;var k=new mxCell("CardOut {0..13}",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;verticalAlign\x3dbottom;spacingBottom\x3d5;endSize\x3d12;");k.geometry.setTerminalPoint(new mxPoint(50,170),
!1);k.geometry.setTerminalPoint(new mxPoint(250,170),!0);k.geometry.relative=!0;k.edge=!0;var l=new mxCell("OK",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;verticalAlign\x3dtop;spacingTop\x3d5;endSize\x3d12;");l.geometry.setTerminalPoint(new mxPoint(50,200),!1);l.geometry.setTerminalPoint(new mxPoint(250,140),!0);l.geometry.relative=!0;l.edge=!0;return c.createVertexTemplateFromCells([a,b,e,f,k,l],250,250,"Duration Constraint")}),this.addEntry("sysml interaction duration constraint",
function(){var a=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");a.geometry.setTerminalPoint(new mxPoint(20,0),!0);a.geometry.setTerminalPoint(new mxPoint(20,200),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;dashed\x3d1;endArrow\x3dnone;");b.geometry.setTerminalPoint(new mxPoint(230,0),!0);b.geometry.setTerminalPoint(new mxPoint(230,200),!1);b.geometry.relative=!0;b.edge=!0;var e=new mxCell("CardOut {0..13}",
new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;verticalAlign\x3dbottom;spacingBottom\x3d5;endSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(20,140),!1);e.geometry.setTerminalPoint(new mxPoint(230,140),!0);e.geometry.relative=!0;e.edge=!0;var f=new mxCell("OK",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;verticalAlign\x3dtop;spacingTop\x3d5;endSize\x3d12;");f.geometry.setTerminalPoint(new mxPoint(20,170),!1);f.geometry.setTerminalPoint(new mxPoint(230,
110),!0);f.geometry.relative=!0;f.edge=!0;var k=new mxCell("{t..t+3}",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;align\x3dright;labelBackgroundColor\x3dnone;");k.geometry.setTerminalPoint(new mxPoint(20,170),!1);k.geometry.setTerminalPoint(new mxPoint(0,170),!0);k.geometry.relative=!0;k.geometry.x=-1;k.edge=!0;var l=new mxCell("t\x3dnow",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;align\x3dleft;labelBackgroundColor\x3dnone;");l.geometry.setTerminalPoint(new mxPoint(230,
140),!1);l.geometry.setTerminalPoint(new mxPoint(250,140),!0);l.geometry.relative=!0;l.geometry.x=-1;l.edge=!0;return c.createVertexTemplateFromCells([a,b,e,f,k,l],250,200,"Time Constraint")}),this.addEntry("sysml interaction message",function(){var a=new mxCell("b1:Block1",new mxGeometry(0,0,100,30),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("b2:Block2",new mxGeometry(150,0,100,30),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=
!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;dashed\x3d1;html\x3d1;endArrow\x3dnone;");e.geometry.setTerminalPoint(new mxPoint(50,250),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;dashed\x3d1;html\x3d1;endArrow\x3dnone;");f.geometry.setTerminalPoint(new mxPoint(200,250),!1);f.geometry.relative=!0;f.edge=!0;b.insertEdge(f,!0);var k=new mxCell("asyncSignal",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;verticalAlign\x3dbottom;endSize\x3d12;");
k.geometry.setTerminalPoint(new mxPoint(50,70),!0);k.geometry.setTerminalPoint(new mxPoint(200,70),!1);k.geometry.relative=!0;k.edge=!0;var l=new mxCell("syncCall(param)",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dblock;verticalAlign\x3dbottom;endSize\x3d12;endFill\x3d1;");l.geometry.setTerminalPoint(new mxPoint(50,160),!0);l.geometry.setTerminalPoint(new mxPoint(200,160),!1);l.geometry.relative=!0;l.edge=!0;var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;verticalAlign\x3dbottom;endSize\x3d12;endFill\x3d1;dashed\x3d1;");
n.geometry.setTerminalPoint(new mxPoint(200,200),!0);n.geometry.setTerminalPoint(new mxPoint(50,200),!1);n.geometry.relative=!0;n.edge=!0;return c.createVertexTemplateFromCells([a,b,e,f,k,l,n],250,250,"Message")}),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dsysMLLost;endSize\x3d12;verticalAlign\x3dbottom;",160,0,"lost","Lost Message",null,this.getTagsForStencil("","","sysml interaction lost message").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;verticalAlign\x3dbottom;startArrow\x3dsysMLFound;startSize\x3d12;",
160,0,"found","Found Message",null,this.getTagsForStencil("","","sysml interaction found message").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;verticalAlign\x3dbottom;dashed\x3d1;strokeWidth\x3d2;",160,0,"","General Ordering",null,this.getTagsForStencil("","","sysml interaction general ordering").join(" "))];this.addPalette("sysmlInteractions","SysML / Interactions",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};
Sidebar.prototype.addSysMLStateMachinesPalette=function(a){var c=this,f=[this.addEntry("sysml state machine choice pseudo state",function(){var a=new mxCell("",new mxGeometry(0,20,40,40),"shape\x3drhombus;html\x3d1;labelPosition\x3dright;align\x3dleft;verticalAlign\x3dmiddle");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dhorizontal;align\x3dright;verticalAlign\x3dbottom;rounded\x3d0;labelBackgroundColor\x3dnone;endArrow\x3dopen;endSize\x3d12;");
b.geometry.setTerminalPoint(new mxPoint(20,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var e=new mxCell("[Id\x3c\x3d10]",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;align\x3dright;endArrow\x3dopen;rounded\x3d0;labelBackgroundColor\x3dnone;endSize\x3d12;");e.geometry.setTerminalPoint(new mxPoint(20,100),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);var f=new mxCell("[Id\x3e10]",new mxGeometry(0,0,0,0),"edgeStyle\x3delbowEdgeStyle;html\x3d1;elbow\x3dvertical;align\x3dleft;endArrow\x3dopen;rounded\x3d0;labelBackgroundColor\x3dnone;verticalAlign\x3dbottom;endSize\x3d12;");
f.geometry.setTerminalPoint(new mxPoint(150,100),!1);f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);return c.createVertexTemplateFromCells([a,b,e,f],150,100,"Choice Pseudo State")}),this.addEntry("sysml state machine composite state",function(){var a=new mxCell("CompositeState1",new mxGeometry(0,0,220,190),"shape\x3dmxgraph.sysml.compState;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d-3;spacingLeft\x3d18;strokeWidth\x3d1;recursiveResize\x3d0;");a.vertex=!0;var b=new mxCell("",new mxGeometry(20,
50,20,20),"shape\x3dellipse;html\x3d1;fillColor\x3d#000000;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;");b.vertex=!0;a.insert(b);var e=new mxCell("State1",new mxGeometry(80,60,100,40),"shape\x3drect;html\x3d1;rounded\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=!0;a.insert(e);var f=new mxCell("State2",new mxGeometry(80,130,100,40),"shape\x3drect;html\x3d1;rounded\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");f.vertex=!0;a.insert(f);var k=new mxCell("",
new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;");k.geometry.relative=!0;k.edge=!0;b.insertEdge(k,!0);e.insertEdge(k,!1);a.insert(k);b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;");b.geometry.relative=!0;b.edge=!0;e.insertEdge(b,!0);f.insertEdge(b,!1);a.insert(b);return c.createVertexTemplateFromCells([a],220,190,"Composite State")}),this.createVertexTemplateEntry("shape\x3dmxgraph.sysml.compState;html\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d-3;spacingLeft\x3d18;",
200,160,"CompositeState1","Composite State",null,null,this.getTagsForStencil("","compState","sysml state machine composite state").join(" ")),this.createVertexTemplateEntry("ellipse;html\x3d1;labelPosition\x3dleft;verticalLabelPosition\x3dbottom;spacingBottom\x3d10;align\x3dright;verticalAlign\x3dbottom;resizable\x3d0;",20,20,"again","Entry Point",null,null,this.getTagsForStencil("","compState","sysml state machine entry point").join(" ")),this.addEntry("sysml state machine exit point",function(){var a=
new mxCell("aborted",new mxGeometry(0,10,20,20),"shape\x3dmxgraph.sysml.flowFinal;labelPosition\x3dright;verticalLabelPosition\x3dtop;spacingTop\x3d5;spacingLeft\x3d3;align\x3dleft;verticalAlign\x3dtop;resizable\x3d0;");a.vertex=!0;return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Exit Point")}),this.createVertexTemplateEntry("shape\x3dmxgraph.sysml.actFinal;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;",40,40,"","Final State",
null,null,this.getTagsForStencil("","actFinal","sysml state machine final state").join(" ")),this.createVertexTemplateEntry("shape\x3dellipse;html\x3d1;fontSize\x3d18;align\x3dcenter;",40,40,"H*","History, Deep Pseudo State",null,null,this.getTagsForStencil("","","sysml state machine history deep pseudo state").join(" ")),this.createVertexTemplateEntry("shape\x3dellipse;html\x3d1;fontSize\x3d18;align\x3dcenter;",40,40,"H","History, Shallow Pseudo State",null,null,this.getTagsForStencil("","","sysml state machine history shallow pseudo state").join(" ")),
this.createVertexTemplateEntry("shape\x3dellipse;html\x3d1;fillColor\x3d#000000;fontSize\x3d18;fontColor\x3d#ffffff;",40,40,"","Initial Pseudo State",null,null,this.getTagsForStencil("","","sysml state machine initial pseudo state").join(" ")),this.createVertexTemplateEntry("shape\x3dellipse;html\x3d1;fillColor\x3d#000000;fontSize\x3d18;fontColor\x3d#ffffff;",40,40,"","Junction Pseudo State",null,null,this.getTagsForStencil("","","sysml state machine junction pseudo state").join(" ")),this.createVertexTemplateEntry("shape\x3dmxgraph.sysml.accEvent;flipH\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",
140,40,"Req(Id)","Receive Signal Action",null,null,this.getTagsForStencil("","accEvent","sysml state machine receive signal action").join(" ")),this.createVertexTemplateEntry("shape\x3dmxgraph.sysml.sendSigAct;whiteSpace\x3dwrap;align\x3dcenter;",140,40,"TurnOn","Send Signal Action",null,null,this.getTagsForStencil("","sendSigAct","sysml state machine send signal action").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",140,40,"MinorReq :\x3d Id;",
"Action",null,null,this.getTagsForStencil("","","sysml state machine action").join(" ")),this.createVertexTemplateEntry("shape\x3dmxgraph.sysml.region;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d-3;spacingLeft\x3d25;",200,160,"S","Region",null,null,this.getTagsForStencil("","","sysml state machine region").join(" ")),this.createVertexTemplateEntry("shape\x3drect;rounded\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",100,40,"State1","Simple State",null,null,this.getTagsForStencil("","","sysml state machine simple state").join(" ")),
this.createVertexTemplateEntry("shape\x3dmxgraph.sysml.simpleState;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;",200,100,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3eState2\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3eentry / entryActivity\x3cbr/\x3edo / doActivity\x3cbr/\x3eexit / exitActivity\x3c/p\x3e',"Simple State",null,null,this.getTagsForStencil("","simpleState","sysml state machine simple state").join(" ")),this.createVertexTemplateEntry("shape\x3drect;rounded\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",
120,40,"State1, State2","State List",null,null,this.getTagsForStencil("","","sysml state machine state list").join(" ")),this.addEntry("sysml state machine state machine",function(){var a=new mxCell("ReadAmountSM",new mxGeometry(0,0,160,120),"shape\x3dmxgraph.sysml.stateMachine;verticalAlign\x3dtop;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("aborted",new mxGeometry(160,60,0,0),"resizable\x3d0;html\x3d1;verticalAlign\x3dtop;align\x3dleft;labelBackgroundColor\x3dnone;spacingLeft\x3d5;spacingTop\x3d-2;");
b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"State Machine")}),this.createVertexTemplateEntry("shape\x3dmxgraph.sysml.x;",40,40,"","Terminate Node",null,null,this.getTagsForStencil("","x","sysml state machine terminate node").join(" ")),this.addEntry("sysml state machine submachine state",function(){var a=new mxCell("ReadAmount :\nReadAmountSM",new mxGeometry(0,0,160,120),"shape\x3dmxgraph.sysml.submState;whiteSpace\x3dwrap;align\x3dcenter;");
a.vertex=!0;var b=new mxCell("aborted",new mxGeometry(160,60,0,0),"resizable\x3d0;html\x3d1;verticalAlign\x3dbottom;align\x3dleft;labelBackgroundColor\x3dnone;spacingLeft\x3d5;spacingBottom\x3d2;");b.geometry.relative=!1;b.setConnectable(!1);b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Submachine State")}),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;strokeWidth\x3d3;verticalAlign\x3dbottom;",160,
0,"trigger[guard]/activity","Transition",null,this.getTagsForStencil("","","sysml state machine transition").join(" "))];this.addPalette("sysmlState Machines","SysML / State Machines",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addSysMLUseCasesPalette=function(a){var c=this,f=[this.createVertexTemplateEntry("shape\x3dellipse;html\x3d1;strokeWidth\x3d3;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",120,60,"UseCaseName","Use Case",
null,null,this.getTagsForStencil("","","sysml use case use case").join(" ")),this.addEntry("sysml use case ",function(){var a=new mxCell("\nextension points\np1, p2",new mxGeometry(0,0,160,80),"html\x3d1;shape\x3dmxgraph.sysml.useCaseExtPt;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("UseCaseName",new mxGeometry(80,17,0,0),"resizable\x3d0;html\x3d1;verticalAlign\x3dmiddle;align\x3dcenter;labelBackgroundColor\x3dnone;fontStyle\x3d1;");b.geometry.relative=!1;b.setConnectable(!1);
b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Use Case")}),this.createVertexTemplateEntry("shape\x3dumlActor;html\x3d1;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;align\x3dcenter;",30,60,"ActorName","Actor",null,null,this.getTagsForStencil("","umlActor","sysml use case ").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",80,40,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;actor\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eActorName\x3c/b\x3e\x3c/p\x3e',
"Actor",null,null,this.getTagsForStencil("","","sysml use case ").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;verticalAlign\x3dtop;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",120,60,"SubjectName","Subject",null,null,this.getTagsForStencil("","","sysml use case subject").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;verticalAlign\x3dbottom;",160,0,"","Communication Path",null,this.getTagsForStencil("","","sysml use case communication path").join(" ")),
this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;verticalAlign\x3dbottom;dashed\x3d1;labelBackgroundColor\x3dnone;",160,0,"\x26lt;\x26lt;include\x26gt;\x26gt;","Include",null,this.getTagsForStencil("","","sysml use case include").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;startArrow\x3dopen;endArrow\x3dnone;startSize\x3d12;verticalAlign\x3dbottom;dashed\x3d1;labelBackgroundColor\x3dnone;",160,0,"\x26lt;\x26lt;extend\x26gt;\x26gt;","Extend",null,
this.getTagsForStencil("","","sysml use case extend").join(" ")),this.addEntry("sysml use case extend condition",function(){var a=new mxCell("Condition: {boolean expression}\nextension point: p1, p2",new mxGeometry(20,0,230,40),"shape\x3dnote;size\x3d15;spacingLeft\x3d5;align\x3dleft;whiteSpace\x3dwrap;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;extend\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"align\x3dright;html\x3d1;verticalAlign\x3dbottom;rounded\x3d0;labelBackgroundColor\x3dnone;endArrow\x3dopen;endSize\x3d12;dashed\x3d1;");
b.geometry.setTerminalPoint(new mxPoint(0,80),!1);b.geometry.setTerminalPoint(new mxPoint(160,80),!0);b.geometry.relative=!0;b.edge=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle\x3dnone;html\x3d1;endArrow\x3dnone;rounded\x3d0;labelBackgroundColor\x3dnone;dashed\x3d1;exitX\x3d0.5;exitY\x3d1;");e.geometry.setTerminalPoint(new mxPoint(100,80),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],250,80,"Extend with Condition")}),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dblock;endFill\x3d0;endSize\x3d12;verticalAlign\x3dbottom;",
160,0,"","Generalization",null,this.getTagsForStencil("","","sysml use case generalization").join(" "))];this.addPalette("sysmlUse Cases","SysML / UseCases",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addSysMLAllocationsPalette=function(a){var c=this,f=[this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",120,60,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;allocated\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eNamed\x3cbr/\x3eElement\x3c/b\x3e\x3c/p\x3e',
"Allocated Stereotype",null,null,this.getTagsForStencil("","","sysml allocation allocated stereotype").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;strokeWidth\x3d2;whiteSpace\x3dwrap;align\x3dcenter;",200,120,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eBlockName\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3eallocatedFrom\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3e\x26lt;\x26lt;elementType\x26gt;\x26gt; ElementName\x3c/p\x3e\x3chr/\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3eallocatedTo\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3e\x26lt;\x26lt;elementType\x26gt;\x26gt; ElementName\x3c/p\x3e',
"Allocation derived properties (Block)",null,null,this.getTagsForStencil("","","sysml allocation derived property block").join(" ")),this.addEntry("sysml allocation derived property comment",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:10px;margin-left:10px;text-align:left;"\x3e\x3cb\x3eallocatedFrom\x3c/b\x3e\x3cbr/\x3e\x26lt;\x26lt;elementType\x26gt;\x26gt; ElementName\x3cbr/\x3e\x3cb\x3eallocatedTo\x3c/b\x3e\x3cbr/\x3e\x26lt;\x26lt;elementType\x26gt;\x26gt; ElementName\x3c/p\x3e',
new mxGeometry(40,0,230,80),"shape\x3dnote;html\x3d1;size\x3d15;spacingLeft\x3d5;align\x3dleft;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("ElementName",new mxGeometry(0,100,120,40),"shape\x3drect;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"rounded\x3d0;html\x3d1;labelBackgroundColor\x3dnone;endArrow\x3dnone;dashed\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,
!1);return c.createVertexTemplateFromCells([a,b,e],270,140,"Allocation derived properties (Comment)")}),this.addEntry("sysml allocation derived property internal block diagram",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;block\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eBlockName\x3c/b\x3e\x3c/p\x3e\x3chr/\x3e',new mxGeometry(0,0,250,160),"shape\x3drect;html\x3d1;overflow\x3dfill;strokeWidth\x3d2;whiteSpace\x3dwrap;align\x3dcenter;verticalAlign\x3dtop;strokeWidth\x3d1;recursiveResize\x3d0;");
a.vertex=!0;var b=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3ePartName\x3c/b\x3e\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3eallocatedFrom\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3e\x26lt;\x26lt;elementType\x26gt;\x26gt; ElementName\x3c/p\x3e',new mxGeometry(20,60,210,80),"shape\x3drect;html\x3d1;overflow\x3dfill;strokeWidth\x3d2;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],250,160,"Allocation derived properties (Internal Block Diagram)")}),this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.simpleState;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;",200,100,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eActivityName\x3c/b\x3e\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"font-size:10px;margin:0px;text-align:center;"\x3e\x3ci\x3eallocatedTo\x3c/i\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3e\x26lt;\x26lt;elementType\x26gt;\x26gt; ElementName\x3c/p\x3e',
"Allocation Derived Properties (Activity Diagram)",null,null,this.getTagsForStencil("","","sysml allocation derived property activity diagram").join(" ")),this.addEntry("sysml allocation activity partition",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;allocate\x26gt;\x26gt;\x3cbr/\x3e:ElementName\x3chr/\x3e\x3c/p\x3e',new mxGeometry(0,0,250,160),"shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;verticalAlign\x3dtop;");
a.vertex=!0;var b=new mxCell("ActionName",new mxGeometry(65,70,120,60),"html\x3d1;shape\x3dmxgraph.sysml.cont;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;return c.createVertexTemplateFromCells([a,b],250,160,"Allocation Activity Partition")}),this.addEntry("sysml allocation general",function(){var a=new mxCell("Client",new mxGeometry(0,0,100,60),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("Supplier",new mxGeometry(200,
0,100,60),"shape\x3drect;html\x3d1;fontStyle\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("\x26lt;\x26lt;allocate\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"rounded\x3d0;html\x3d1;verticalAlign\x3dtop;labelBackgroundColor\x3dnone;endArrow\x3dopen;dashed\x3d1;endSize\x3d12;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],300,60,"Allocation (General)")})];this.addPalette("sysmlAllocations","SysML / Allocations",
a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addSysMLRequirementsPalette=function(a){var c=this,f=[this.createVertexTemplateEntry("html\x3d1;shape\x3dmxgraph.sysml.package;overflow\x3dfill;labelX\x3d110;strokeWidth\x3d2;align\x3dcenter;",160,80,'\x3cp style\x3d"margin:0px;margin-top:4px;margin-left:7px;text-align:left;"\x3e\x3cb\x3ereq\x3c/b\x3e ReqDiagram\x3c/p\x3e',"Requirement Diagram",null,null,this.getTagsForStencil("","package",
"sysml requirement diagram").join(" ")),this.createVertexTemplateEntry("shape\x3drect;overflow\x3dfill;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",200,100,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;requirement\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eRequirement Name\x3c/b\x3e\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:8px;text-align:left;"\x3etext\x3d"The system shall do"\x3cbr/\x3eId\x3d"62j32."\x3c/p\x3e',"Requirement",null,null,this.getTagsForStencil("",
"package","sysml requirement ").join(" ")),this.createVertexTemplateEntry("shape\x3drect;overflow\x3dfill;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",200,100,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x26lt;\x26lt;testCase\x26gt;\x26gt;\x3cbr/\x3e\x3cb\x3eTestCaseName\x3c/b\x3e\x3chr/\x3e\x3c/p\x3e',"Test Case",null,null,this.getTagsForStencil("","package","sysml requirement test case").join(" ")),this.addEntry("sysml requirement containment relationship",function(){var a=
new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nParent",new mxGeometry(90,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nChild1",new mxGeometry(0,120,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nChild2",new mxGeometry(180,120,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=
!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"rounded\x3d0;html\x3d1;labelBackgroundColor\x3dnone;endArrow\x3dnone;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;startArrow\x3dsysMLPackCont;startSize\x3d12;");f.geometry.relative=!0;f.edge=!0;a.insertEdge(f,!0);b.insertEdge(f,!1);var k=new mxCell("",new mxGeometry(0,0,0,0),"rounded\x3d0;html\x3d1;labelBackgroundColor\x3dnone;endArrow\x3dnone;edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;startArrow\x3dsysMLPackCont;startSize\x3d12;");k.geometry.relative=
!0;k.edge=!0;a.insertEdge(k,!0);e.insertEdge(k,!1);return c.createVertexTemplateFromCells([a,b,e,f,k],300,180,"Requirement Containment Relationship")}),this.addEntry("sysml requirement copy dependency",function(){var a=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nSlave",new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nMaster",new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var e=new mxCell("\x26lt;\x26lt;copy\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"endArrow\x3dopen;edgeStyle\x3dnone;endSize\x3d12;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Copy Dependency")}),this.addEntry("sysml requirement master callout",function(){var a=new mxCell("Master\n\x26lt;\x26lt;requirement\x26gt;\x26gt; Master",new mxGeometry(0,0,160,60),"shape\x3dnote;html\x3d1;size\x3d15;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;align\x3dcenter;");
a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt; Slave",new mxGeometry(200,0,160,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;dashed\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Master Callout")}),this.addEntry("sysml requirement derive dependency",function(){var a=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nClient",
new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nSupplier",new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("\x26lt;\x26lt;deriveReq\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"endArrow\x3dopen;html\x3d1;edgeStyle\x3dnone;endSize\x3d12;dashed\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);
return c.createVertexTemplateFromCells([a,b,e],360,60,"Derive Dependency")}),this.addEntry("sysml requirement derive callout",function(){var a=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nReqA",new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("Derived\n\x26lt;\x26lt;requirement\x26gt;\x26gt; ReqB",new mxGeometry(200,0,160,60),"shape\x3dnote;html\x3d1;size\x3d15;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;dashed\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Derive Callout")}),this.addEntry("sysml requirement derive callout",function(){var a=new mxCell("DerivedFrom\n\x26lt;\x26lt;requirement\x26gt;\x26gt; ReqA",new mxGeometry(0,0,160,60),"shape\x3dnote;html\x3d1;size\x3d15;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;align\x3dcenter;");
a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nReqB",new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;edgeStyle\x3dnone;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Derive Callout")}),this.addEntry("sysml requirement satisfy dependency",function(){var a=
new mxCell("NamedElement",new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nSupplier",new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("\x26lt;\x26lt;satisfy\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"endArrow\x3dopen;edgeStyle\x3dnone;endSize\x3d12;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,
!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Satisfy Dependency")}),this.addEntry("sysml requirement satisfy callout",function(){var a=new mxCell("NamedElement",new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("Satisfies\n\x26lt;\x26lt;requirement\x26gt;\x26gt; ReqA",new mxGeometry(200,0,160,60),"shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d5;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;edgeStyle\x3dnone;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Satisfy Callout")}),this.addEntry("sysml requirement satisfy callout",function(){var a=new mxCell("SatisfiedBy\nNamedElement",new mxGeometry(0,0,160,60),"shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d5;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");
a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nReqA",new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;edgeStyle\x3dnone;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Satisfy Callout")}),this.addEntry("sysml requirement verify dependency",function(){var a=
new mxCell("NamedElement",new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nSupplier",new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("\x26lt;\x26lt;verify\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"endArrow\x3dopen;edgeStyle\x3dnone;endSize\x3d12;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,
!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Verify Dependency")}),this.addEntry("sysml requirement verify callout",function(){var a=new mxCell("NamedElement",new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("Verifies\n\x26lt;\x26lt;requirement\x26gt;\x26gt; ReqA",new mxGeometry(200,0,160,60),"shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d5;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;edgeStyle\x3dnone;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Verify Callout")}),this.addEntry("sysml requirement verify callout",function(){var a=new mxCell("VerifiedBy\nNamedElement",new mxGeometry(0,0,160,60),"shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d5;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=
!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nReqA",new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;edgeStyle\x3dnone;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Verify Callout")}),this.addEntry("sysml requirement refine dependency",function(){var a=new mxCell("NamedElement",
new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nClient",new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("\x26lt;\x26lt;refine\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"endArrow\x3dopen;edgeStyle\x3dnone;endSize\x3d12;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,
b,e],360,60,"Refine Dependency")}),this.addEntry("sysml requirement refine dependency",function(){var a=new mxCell("NamedElement",new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("Refines\n\x26lt;\x26lt;requirement\x26gt;\x26gt; ReqA",new mxGeometry(200,0,160,60),"shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d5;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;edgeStyle\x3dnone;dashed\x3d1;html\x3d1;");
e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Refine Callout")}),this.addEntry("sysml requirement refine dependency",function(){var a=new mxCell("RefinedBy\nNamedElement",new mxGeometry(0,0,160,60),"shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d5;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nReqA",new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");
b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;edgeStyle\x3dnone;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Refine Callout")}),this.addEntry("sysml requirement trace dependency",function(){var a=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nClient",new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nSupplier",
new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("\x26lt;\x26lt;trace\x26gt;\x26gt;",new mxGeometry(0,0,0,0),"endArrow\x3dopen;edgeStyle\x3dnone;endSize\x3d12;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Trace Dependency")}),this.addEntry("sysml requirement refine callout",function(){var a=new mxCell("NamedElement",new mxGeometry(0,
0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("TracedFrom\n\x26lt;\x26lt;requirement\x26gt;\x26gt; ReqA",new mxGeometry(200,0,160,60),"shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d5;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;edgeStyle\x3dnone;dashed\x3d1;html\x3d1;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,
b,e],360,60,"Refine Callout")}),this.addEntry("sysml requirement trace callout",function(){var a=new mxCell("TracedTo\nNamedElement",new mxGeometry(0,0,160,60),"shape\x3dnote;size\x3d15;align\x3dleft;spacingLeft\x3d5;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;requirement\x26gt;\x26gt;\nReqA",new mxGeometry(240,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dnone;edgeStyle\x3dnone;dashed\x3d1;html\x3d1;");
e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,!1);return c.createVertexTemplateFromCells([a,b,e],360,60,"Trace Callout")})];this.addPalette("sysmlRequirements","SysML / Requirements",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addSysMLProfilesPalette=function(a){var c=this,f=[this.createVertexTemplateEntry("shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",160,80,"\x26lt;\x26lt;stereotype\x26gt;\x26gt;\nStereotypeName",
"Stereotype",null,null,this.getTagsForStencil("","","sysml profile stereotype").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",160,80,"\x26lt;\x26lt;metaclass\x26gt;\x26gt;\nMetaClassName","Metaclass",null,null,this.getTagsForStencil("","","sysml profile metaclass").join(" ")),this.createVertexTemplateEntry("shape\x3dfolder;tabWidth\x3d80;tabHeight\x3d20;tabPosition\x3dleft;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",160,100,"\x26lt;\x26lt;profile\x26gt;\x26gt;\nProfileName",
"Profile",null,null,this.getTagsForStencil("","","sysml profile profile").join(" ")),this.createVertexTemplateEntry("shape\x3dfolder;tabWidth\x3d80;tabHeight\x3d20;tabPosition\x3dleft;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",160,100,"\x26lt;\x26lt;modelLibrary\x26gt;\x26gt;\nLibraryName","Model Library",null,null,this.getTagsForStencil("","","sysml profile model library").join(" ")),this.addEntry("sysml profile extension",function(){var a=new mxCell("\x26lt;\x26lt;metaclass\x26gt;\x26gt;\nMetaClassName",
new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;stereotype\x26gt;\x26gt;\nStereotypeName",new mxGeometry(0,120,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("{required}",new mxGeometry(0,0,0,0),"endArrow\x3dblock;html\x3d1;endFill\x3d1;edgeStyle\x3dnone;endSize\x3d12;labelBackgroundColor\x3dnone;align\x3dleft;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,
!1);b.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],120,180,"Extension")}),this.addEntry("sysml profile generalization",function(){var a=new mxCell("\x26lt;\x26lt;stereotype\x26gt;\x26gt;\nStereotypeName",new mxGeometry(0,0,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("\x26lt;\x26lt;stereotype\x26gt;\x26gt;\nStereotypeName",new mxGeometry(0,120,120,60),"shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;
var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow\x3dblock;html\x3d1;endFill\x3d0;edgeStyle\x3dnone;endSize\x3d12;labelBackgroundColor\x3dnone;align\x3dleft;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],120,180,"Generalization")}),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;dashed\x3d1;verticalAlign\x3dbottom;",160,0,"\x26lt;\x26lt;apply\x26gt;\x26gt;{strict}","Profile Application",
null,this.getTagsForStencil("","","sysml profile profile application").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;dashed\x3d1;verticalAlign\x3dtop;",160,0,"\x26lt;\x26lt;reference\x26gt;\x26gt;","Metamodel Reference",null,this.getTagsForStencil("","","sysml profile metamodel reference").join(" ")),this.createEdgeTemplateEntry("edgeStyle\x3dnone;html\x3d1;endArrow\x3dopen;endSize\x3d12;verticalAlign\x3dbottom;",160,0,"propertyName","Unidirectional Association",
null,this.getTagsForStencil("","","sysml profile unidirectional association").join(" "))];this.addPalette("sysmlProfiles","SysML / Profiles",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))};Sidebar.prototype.addSysMLStereotypesPalette=function(a){var c=this,f=[this.addEntry("sysml stereotype note",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:10px;margin-left:10px;text-align:left;"\x3e\x3cb\x3e\x26lt;\x26lt;stereotypeName\x26gt;\x26gt;\x3cbr/\x3ePropertyName\x3dValueString\x3cbr/\x3eMultiPropertyName\x3dValueString, ValueString\x3cbr/\x3eBooleanPropertyName\x3c/b\x3e\x3c/p\x3e',
new mxGeometry(40,0,280,80),"shape\x3dnote;size\x3d15;spacingLeft\x3d5;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;");a.vertex=!0;var b=new mxCell("Element\nName",new mxGeometry(0,110,80,40),"shape\x3drect;fontStyle\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("Element\nName",new mxGeometry(220,110,80,40),"shape\x3drect;fontStyle\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");e.vertex=!0;var f=new mxCell("PathName",new mxGeometry(0,0,0,0),"rounded\x3d0;labelBackgroundColor\x3dnone;verticalAlign\x3dtop;endArrow\x3dnone;fontStyle\x3d1;html\x3d1;");
f.geometry.relative=!0;f.edge=!0;b.insertEdge(f,!0);e.insertEdge(f,!1);var k=new mxCell("",new mxGeometry(0,0,0,0),"rounded\x3d0;endArrow\x3dnone;dashed\x3d1;html\x3d1;");k.geometry.setTerminalPoint(new mxPoint(150,130),!1);k.geometry.relative=!0;k.edge=!0;a.insertEdge(k,!0);return c.createVertexTemplateFromCells([a,b,e,f,k],320,150,"Stereotype Note")}),this.addEntry("sysml stereotype note",function(){var a=new mxCell('\x3cp style\x3d"margin:0px;margin-top:10px;margin-left:10px;text-align:left;"\x3e\x3cb\x3e\x26lt;\x26lt;stereotypeName\x26gt;\x26gt;\x3cbr/\x3ePropertyName\x3dValueString\x3cbr/\x3eMultiPropertyName\x3dValueString, ValueString\x3cbr/\x3eBooleanPropertyName\x3c/b\x3e\x3c/p\x3e',
new mxGeometry(40,0,280,80),"shape\x3dnote;size\x3d15;spacingLeft\x3d5;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;");a.vertex=!0;var b=new mxCell("Element\nName",new mxGeometry(0,110,80,40),"shape\x3drect;fontStyle\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"rounded\x3d0;endArrow\x3dnone;dashed\x3d1;html\x3d1;");e.geometry.setTerminalPoint(new mxPoint(150,130),!1);e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!0);b.insertEdge(e,
!1);return c.createVertexTemplateFromCells([a,b,e],320,150,"Stereotype Note")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;",160,80,"\x26lt;\x26lt;stereotypeName\x26gt;\x26gt;\n{PropertyName\x3dValueString;\nBooleanPropertyName}\nNodeName","Stereotype (Node)",null,null,this.getTagsForStencil("","","sysml stereotype node").join(" ")),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;",400,100,
'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3eNodeName\x3c/b\x3e\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:10px;text-align:left;"\x3e\x26lt;\x26lt;stereotypeName\x26gt;\x26gt;{PropertyName\x3dValueString}ElementName\x3cbr/\x3e\x26lt;\x26lt;stereotypeName\x26gt;\x26gt;{PropertyName\x3dValueString};\x3cbr/\x3eBooleanPropertyName\x3cbr/\x3eElementName\x3c/p\x3e',"Stereotype (Compartment)",null,null,this.getTagsForStencil("","","sysml stereotype compartment").join(" ")),
this.addEntry("sysml stereotype edge",function(){var a=new mxCell("Element\nName",new mxGeometry(0,0,120,60),"shape\x3drect;fontStyle\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");a.vertex=!0;var b=new mxCell("Element\nName",new mxGeometry(0,120,120,60),"shape\x3drect;fontStyle\x3d1;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;");b.vertex=!0;var e=new mxCell("\x26lt;\x26lt;steretyoeName\x26gt;\x26gt;\n{PropertyName\x3dValueString;\nBooleanPropertyName}PathName",new mxGeometry(0,0,0,0),"endArrow\x3dnone;html\x3d1;edgeStyle\x3dnone;labelBackgroundColor\x3dnone;align\x3dleft;fontStyle\x3d1;fontSize\x3d10;");
e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);b.insertEdge(e,!0);return c.createVertexTemplateFromCells([a,b,e],200,180,"Stereotype (Edge)")}),this.createVertexTemplateEntry("shape\x3drect;html\x3d1;overflow\x3dfill;whiteSpace\x3dwrap;align\x3dcenter;",300,120,'\x3cp style\x3d"margin:0px;margin-top:4px;text-align:center;"\x3e\x3cb\x3e\x26lt;\x26lt;stereotypeName\x26gt;\x26gt;\x3c/br\x3eNodeName\x3c/b\x3e\x3chr/\x3e\x3c/p\x3e\x3cp style\x3d"margin:0px;margin-left:10px;text-align:left;"\x3e\x26lt;\x26lt;stereotypeName\x26gt;\x26gt;\x3cbr/\x3ePropertyName\x3dValueString\x3cbr/\x3eMultiPropertyName\x3dValueString, ValueString\x3cbr/\x3eBooleanPropertyName\x3cbr/\x3e\x3c/p\x3e',
"Stereotype (Compartment)",null,null,this.getTagsForStencil("","","sysml stereotype compartment").join(" "))];this.addPalette("sysmlStereotypes","SysML / Stereotypes",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<f.length;b++)a.appendChild(f[b](a))}))}})();DrawioFile=function(a,c){mxEventSource.call(this);this.ui=a;this.data=c||""};mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=18E5;DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};
DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(a,c,f,d){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData())};DrawioFile.prototype.saveAs=function(a,c,f){};DrawioFile.prototype.saveFile=function(a,c,f,d){};DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};
DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,c,f){};DrawioFile.prototype.isMovable=function(){return!1};DrawioFile.prototype.move=function(a,c,f){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};
DrawioFile.prototype.isEditable=function(){return!this.ui.editor.chromeless};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""};DrawioFile.prototype.setData=function(a){this.data=a};DrawioFile.prototype.getData=function(){return this.data};
DrawioFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,c){this.changeListenerEnabled&&this.isEditable()&&(this.setModified(!0),this.isAutosave()?(this.ui.editor.setStatus(mxResources.get("saving")+"..."),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){null==this.autosaveThread&&(this.ui.getCurrentFile()==this&&!this.isModified())&&this.ui.editor.setStatus(mxResources.get("allChangesSaved"))}),mxUtils.bind(this,
function(a){this.ui.getCurrentFile()==this&&this.addUnsavedStatus(a)}))):this.addUnsavedStatus())});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener);this.ui.editor.graph.addListener("gridSizeChanged",this.changeListener);this.ui.editor.graph.addListener("shadowVisibleChanged",this.changeListener);this.ui.addListener("pageFormatChanged",this.changeListener);this.ui.addListener("pageScaleChanged",this.changeListener);this.ui.addListener("backgroundColorChanged",this.changeListener);
this.ui.addListener("backgroundImageChanged",this.changeListener);this.ui.addListener("foldingEnabledChanged",this.changeListener);this.ui.addListener("mathEnabledChanged",this.changeListener);this.ui.addListener("gridEnabledChanged",this.changeListener);this.ui.addListener("guidesEnabledChanged",this.changeListener);this.ui.addListener("pageViewChanged",this.changeListener)};
DrawioFile.prototype.addUnsavedStatus=function(a){a instanceof Error&&null!=a.message?this.ui.editor.setStatus('\x3cdiv class\x3d"geStatusAlert" style\x3d"cursor:pointer;"\x3e'+mxResources.get("unsavedChanges")+" ("+a.message+")\x3c/div\x3e"):(this.ui.editor.setStatus('\x3cdiv class\x3d"geStatusMessage" style\x3d"cursor:pointer;"\x3e'+mxResources.get("unsavedChangesClickHereToSave")+"\x3c/div\x3e"),null!=this.ui.statusContainer&&(a=this.ui.statusContainer.getElementsByTagName("div"),0<a.length&&mxEvent.addListener(a[0],
"click",mxUtils.bind(this,function(){this.ui.actions.get(null==this.ui.mode?"saveAs":"save").funct()}))))};
DrawioFile.prototype.autosave=function(a,c,f,d){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());a=(new Date).getTime()-this.lastAutosave<c?a:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=f&&f(a)}),
mxUtils.bind(this,function(a){null!=d&&d(a)}))}else null!=f&&f(null)}),a)};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};
DrawioFile.prototype.close=function(a){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,c){if(null!=a&&null!=c){var f=a.lastIndexOf("."),d=0<f?a.substring(f):"",f=c.lastIndexOf(".");return d===(0<f?c.substring(f):"")}return a==c};
DrawioFile.prototype.destroy=function(){this.clearAutosave();null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};LocalFile=function(a,c,f){DrawioFile.call(this,a,c);this.title=f};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return App.MODE_DEVICE};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,c,f){this.saveAs(this.title,c,f)};LocalFile.prototype.saveAs=function(a,c,f){this.saveFile(a,!1,c,f)};
LocalFile.prototype.saveFile=function(a,c,f,d){this.title=a;this.updateFileData();var b=this.getData();this.ui.isOfflineApp()||this.ui.isLocalFileSave()?this.ui.doSaveLocalFile(b,a,"text/xml"):b.length<MAX_REQUEST_SIZE?(c=a.lastIndexOf("."),c=0<c?a.substring(c+1):"xml",(new mxXmlRequest(SAVE_URL,"format\x3d"+c+"\x26filename\x3d"+encodeURIComponent(a)+"\x26xml\x3d"+encodeURIComponent(b))).simulate(document,"_blank")):this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),
mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=f&&f()};LocalFile.prototype.rename=function(a,c,f){this.title=a;this.descriptorChanged();null!=c&&c()};LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,c){this.setModified(!0);this.addUnsavedStatus()});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener)};LocalLibrary=function(a,c,f){LocalFile.call(this,a,c,f)};mxUtils.extend(LocalLibrary,LocalFile);LocalLibrary.prototype.getHash=function(){return"F"+this.getTitle()};LocalLibrary.prototype.isAutosave=function(){return!1};LocalLibrary.prototype.saveAs=function(a,c,f){this.saveFile(a,!1,c,f)};LocalLibrary.prototype.updateFileData=function(){};LocalLibrary.prototype.open=function(){};StorageFile=function(a,c,f){DrawioFile.call(this,a,c);this.title=f};mxUtils.extend(StorageFile,DrawioFile);StorageFile.prototype.autosaveDelay=2E3;StorageFile.prototype.maxAutosaveDelay=2E4;StorageFile.prototype.getMode=function(){return App.MODE_BROWSER};StorageFile.prototype.isAutosaveOptional=function(){return!0};StorageFile.prototype.getHash=function(){return"L"+encodeURIComponent(this.getTitle())};StorageFile.prototype.getTitle=function(){return this.title};
StorageFile.prototype.isRenamable=function(){return!0};StorageFile.prototype.save=function(a,c,f){this.saveAs(this.getTitle(),c,f)};StorageFile.prototype.saveAs=function(a,c,f){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(a,!1,c,f)};
StorageFile.prototype.saveFile=function(a,c,f,d){this.isEditable()?(c=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=a);try{localStorage.setItem(this.title,this.getData()),this.setModified(!1),this.contentChanged(),null!=f&&f()}catch(b){null!=d&&d(b)}}),this.isRenamable()&&"."==a.charAt(0)&&null!=d?d({message:mxResources.get("invalidName")}):!this.isRenamable()||this.getTitle()==a||null==localStorage.getItem(a)?c():this.ui.confirm(mxResources.get("replaceIt",[a]),c,d)):null!=f&&f()};
StorageFile.prototype.rename=function(a,c,f){var d=this.getTitle();this.title=a;this.hasSameExtension(d,a)||this.setData(this.ui.getFileData());this.saveFile(a,!1,function(){d!=a&&localStorage.removeItem(d);c()},f)};StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};
StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(a,c,f){StorageFile.call(this,a,c,f)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!1};StorageLibrary.prototype.saveAs=function(a,c,f){this.saveFile(a,!1,c,f)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title};
StorageLibrary.prototype.isRenamable=function(a,c,f){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};var StorageDialog=function(a,c){function f(b,d,e,f){function l(){mxEvent.addListener(q,"click",function(){e==App.MODE_GOOGLE&&!a.isDriveDomain()?window.location.hostname=DriveClient.prototype.newAppHostname:e==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(e,k.checked);c()})):(a.setMode(e,k.checked),c())})}var q=document.createElement("a");q.style.overflow="hidden";var u=document.createElement("img");
u.setAttribute("src",b);u.setAttribute("border","0");u.setAttribute("align","absmiddle");u.style.width="60px";u.style.height="60px";u.style.paddingBottom="6px";q.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";q.className="geBaseButton";q.style.position="relative";q.style.margin="4px";q.style.padding="8px 10px 12px 10px";q.style.whiteSpace="nowrap";mxClient.IS_QUIRKS&&(q.style.cssFloat="left",q.style.zoom="1");q.appendChild(u);var t=document.createElement("div");q.appendChild(t);mxUtils.write(t,
d);if(null!=f&&null==a[f]){u.style.visibility="hidden";mxUtils.setOpacity(t,10);var v=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});v.spin(q);var z=window.setTimeout(function(){null==a[f]&&(v.stop(),q.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[f]&&(window.clearTimeout(z),mxUtils.setOpacity(t,100),u.style.visibility="",v.stop(),l())}))}else l();g.appendChild(q)}
var d=document.createElement("div");d.style.textAlign="center";d.style.whiteSpace="nowrap";var b=a.addLanguageMenu(d);null!=b&&(b.style.bottom="28px");a.isOffline()||(b=document.createElement("a"),b.setAttribute("href","https://support.draw.io/display/DO/Selecting+Storage"),b.setAttribute("title",mxResources.get("help")),b.setAttribute("target","_blank"),b.style.position="absolute",b.style.textDecoration="none",b.style.cursor="pointer",b.style.fontSize="12px",b.style.bottom="28px",b.style.left="26px",
b.style.color="gray",mxUtils.write(b,mxResources.get("help")),d.appendChild(b));var e=document.createElement("div");e.style.position="absolute";e.style.cursor="pointer";e.style.fontSize="12px";e.style.bottom="28px";e.style.color="gray";mxUtils.write(e,mxResources.get("decideLater"));a.isOfflineApp()?e.style.right="20px":(mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,0)"),e.style.left="50%");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)e.style.marginLeft=-Math.round(e.clientWidth/
2)+"px"};d.appendChild(e);mxEvent.addListener(e,"click",function(){a.hideDialog();var b=Editor.useLocalStorage;a.createFile(a.defaultFilename,null,null,App.MODE_DEVICE);a.setMode(null);Editor.useLocalStorage=b});var g=document.createElement("div");mxClient.IS_QUIRKS&&(g.style.whiteSpace="nowrap",g.style.cssFloat="left");g.style.border="1px solid #d3d3d3";g.style.borderWidth="1px 0px 1px 0px";g.style.padding="26px 0px 12px 0px";var k=document.createElement("input");k.setAttribute("type","checkbox");
k.setAttribute("checked","checked");k.defaultChecked=!0;b=document.createElement("p");b.style.fontSize="16pt";b.style.padding="0px";b.style.paddingTop="4px";b.style.paddingBottom="20px";b.style.margin="0px";b.style.color="gray";mxUtils.write(b,mxResources.get("saveDiagramsTo")+":");d.appendChild(b);"function"===typeof window.DriveClient&&f(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive");"function"===typeof window.DropboxClient&&f(IMAGE_PATH+"/dropbox-logo.svg",
mxResources.get("dropbox"),App.MODE_DROPBOX,"dropbox");"function"===typeof window.OneDriveClient&&f(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive");(!mxClient.IS_IOS||"device"==urlParams.storage)&&f(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);isLocalStorage&&("1"==urlParams.browser||"1"==urlParams.offline)&&f(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);d.appendChild(g);b=document.createElement("p");
b.style.paddingTop="10px";b.appendChild(k);var l=document.createElement("span");l.style.color="gray";l.style.fontSize="12px";mxUtils.write(l," "+mxResources.get("rememberThisSetting"));b.appendChild(l);g.appendChild(b);mxEvent.addListener(l,"click",function(a){k.checked=!k.checked;mxEvent.consume(a)});mxClient.IS_SVG&&(isLocalStorage&&"0"!=urlParams.gapi&&(null==document.documentMode||10<=document.documentMode))&&window.setTimeout(function(){if(null==a.drive){var b=document.createElement("p");b.style.padding=
"8px";b.style.fontSize="9pt";b.style.marginTop="-14px";b.innerHTML='\x3ca style\x3d"background-color:#dcdcdc;padding:5px;color:black;text-decoration:none;" href\x3d"https://plus.google.com/u/0/+DrawIo1/posts/1HTrfsb5wDN" target\x3d"_blank"\x3e\x3cimg border\x3d"0" src\x3d"'+mxGraph.prototype.warningImage.src+'" align\x3d"top"\x3e '+mxResources.get("googleDriveMissing")+"\x3c/a\x3e";d.appendChild(b)}},5E3);this.container=d},SplashDialog=function(a){var c=document.createElement("div");c.style.textAlign=
"center";a.addLanguageMenu(c);var f=null;a.isOffline()||(f=document.createElement("a"),f.setAttribute("href","https://support.draw.io/display/DO/Selecting+Storage"),f.setAttribute("title",mxResources.get("help")),f.setAttribute("target","_blank"),f.style.position="absolute",f.style.fontSize="12px",f.style.textDecoration="none",f.style.cursor="pointer",f.style.bottom="22px",f.style.left="26px",f.style.color="gray",mxUtils.write(f,mxResources.get("help")),c.appendChild(f));var d=document.createElement("p");
d.style.fontSize="16pt";d.style.padding="0px";d.style.paddingTop="2px";d.style.margin="0px";d.style.color="gray";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("align","absmiddle");b.style.width="40px";b.style.height="40px";b.style.marginRight="12px";b.style.paddingBottom="4px";var e="";a.mode==App.MODE_GOOGLE?(b.src=IMAGE_PATH+"/google-drive-logo.svg",e=mxResources.get("googleDrive"),null!=f&&f.setAttribute("href","https://support.draw.io/display/DO/Using+draw.io+with+Google+Drive")):
a.mode==App.MODE_DROPBOX?(b.src=IMAGE_PATH+"/dropbox-logo.svg",e=mxResources.get("dropbox"),null!=f&&f.setAttribute("href","https://support.draw.io/display/DO/Using+draw.io+with+Dropbox")):a.mode==App.MODE_ONEDRIVE?(b.src=IMAGE_PATH+"/onedrive-logo.svg",e=mxResources.get("oneDrive"),null!=f&&f.setAttribute("href","https://support.draw.io/display/DO/Using+draw.io+with+OneDrive")):a.mode==App.MODE_BROWSER?(b.src=IMAGE_PATH+"/osa_database.png",e=mxResources.get("browser")):(b.src=IMAGE_PATH+"/osa_drive-harddisk.png",
e=mxResources.get("device"));d.appendChild(b);mxUtils.write(d,e);c.appendChild(d);var g=document.createElement("div");mxClient.IS_QUIRKS&&(g.style.whiteSpace="nowrap",g.style.cssFloat="left");g.style.border="1px solid #d3d3d3";g.style.borderWidth="1px 0px 1px 0px";g.style.padding="18px 0px 24px 0px";g.style.margin="4px 0px 0px 0px";var k=document.createElement("button");k.className="geBigButton";k.style.marginBottom="8px";k.style.overflow="hidden";k.style.width="340px";mxClient.IS_QUIRKS&&(k.style.width=
"340px");mxUtils.write(k,mxResources.get("createNewDiagram"));mxEvent.addListener(k,"click",function(){a.hideDialog();a.actions.get("new").funct()});g.appendChild(k);mxUtils.br(g);k=document.createElement("button");k.className="geBigButton";k.style.marginBottom="22px";k.style.overflow="hidden";k.style.width="340px";mxClient.IS_QUIRKS&&(k.style.width="340px");mxUtils.write(k,mxResources.get("openExistingDiagram"));mxEvent.addListener(k,"click",function(){a.actions.get("open").funct()});g.appendChild(k);
f="undefined";a.mode==App.MODE_GOOGLE?f=mxResources.get("googleDrive"):a.mode==App.MODE_DROPBOX?f=mxResources.get("dropbox"):a.mode==App.MODE_ONEDRIVE?f=mxResources.get("oneDrive"):a.mode==App.MODE_DEVICE?f=mxResources.get("device"):a.mode==App.MODE_BROWSER&&(f=mxResources.get("browser"));b=0;null!=a.drive&&b++;null!=a.dropbox&&b++;isLocalStorage&&b++;mxClient.IS_IOS||b++;1<b&&(b=document.createElement("a"),b.setAttribute("href","javascript:void(0)"),b.style.display="block",b.style.marginTop="6px",
mxUtils.write(b,mxResources.get("notUsingService",[f])),mxEvent.addListener(b,"click",function(){a.hideDialog();a.clearMode();a.showSplash(!0)}),g.appendChild(b),f=null!=a.drive?a.drive.getUser():null,a.mode==App.MODE_GOOGLE&&null!=f&&(k.style.marginBottom="24px",b=document.createElement("a"),b.setAttribute("href","javascript:void(0)"),b.style.display="block",b.style.marginTop="2px",mxUtils.write(b,mxResources.get("changeUser")+" ("+f.displayName+")"),k.style.marginBottom="16px",g.style.paddingBottom=
"18px",mxEvent.addListener(b,"click",function(){a.hideDialog();a.drive.clearUserId();a.drive.setUser(null);gapi.auth.signOut();a.setMode(App.MODE_GOOGLE);a.hideDialog();a.showSplash();a.drive.authorize(!1,mxUtils.bind(this,mxUtils.bind(this,function(){a.hideDialog();a.showSplash()})),mxUtils.bind(this,function(b){a.handleError(b,null,function(){a.hideDialog();a.showSplash()})}))}),g.appendChild(b)));c.appendChild(g);mxClient.IS_CHROMEAPP&&(d.style.paddingTop="12px",d.innerHTML="",mxUtils.write(d,
mxResources.get("chooseAnOption")+":"),g.style.border="none",g.style.padding="16px 0px 0px 0px",k.style.marginBottom="0px");this.init=function(){if(a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive){var b=function(){var c=a.oneDrive.getUser();if(null!=c){k.style.marginBottom="24px";var d=document.createElement("a");d.setAttribute("href","javascript:void(0)");d.style.display="block";d.style.marginTop="2px";mxUtils.write(d,mxResources.get("changeUser")+" ("+c.displayName+")");k.style.marginBottom="16px";
g.style.paddingBottom="18px";mxEvent.addListener(d,"click",function(){a.oneDrive.logout();d.parentNode.removeChild(d);a.oneDrive.execute(b)});g.appendChild(d)}};a.oneDrive.execute(b)}};this.container=c},ConfirmDialog=function(a,c,f,d){var b=document.createElement("div");b.style.textAlign="center";var e=document.createElement("div");e.style.padding="6px";e.style.overflow="auto";e.style.maxHeight="40px";mxClient.IS_QUIRKS&&(e.style.height="60px");mxUtils.write(e,c);b.appendChild(e);c=document.createElement("div");
c.style.marginTop="16px";c.style.textAlign="center";e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});e.className="geBtn";a.editor.cancelFirst&&c.appendChild(e);var g=mxUtils.button(mxResources.get("ok"),function(){a.hideDialog();null!=f&&f()});c.appendChild(g);g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(e);b.appendChild(c);this.container=b},ErrorDialog=function(a,c,f,d,b,e,g,k,l){l=null!=l?l:!0;var n=document.createElement("div");n.style.textAlign=
"center";if(null!=c){var m=document.createElement("div");m.style.padding="0px";m.style.margin="0px";m.style.fontSize="18px";m.style.paddingBottom="16px";m.style.marginBottom="16px";m.style.borderBottom="1px solid #c0c0c0";m.style.color="gray";mxUtils.write(m,c);n.appendChild(m)}c=document.createElement("div");c.style.padding="6px";c.innerHTML=f;n.appendChild(c);f=document.createElement("div");f.style.marginTop="16px";f.style.textAlign="right";null!=e&&(c=mxUtils.button(mxResources.get("tryAgain"),
function(){a.hideDialog();e()}),c.className="geBtn",f.appendChild(c),f.style.textAlign="center");var p=mxUtils.button(d,function(){l&&a.hideDialog();null!=b&&b()});p.className="geBtn";f.appendChild(p);null!=g&&(d=mxUtils.button(g,function(){l&&a.hideDialog();null!=k&&k()}),d.className="geBtn gePrimaryBtn",f.appendChild(d));this.init=function(){p.focus()};n.appendChild(f);this.container=n},EmbedHtmlDialog=function(a){function c(c){function f(a){if(null!=a){var b=a.lastIndexOf(".");0<b&&(a=a.substring(b+
1,a.length));null==n[a]&&(n[a]=!0,k.push(a))}}var k=[],n={};c=d.view.states.getValues();for(var t=0;t<c.length;t++){var A=c[t];f(mxStencilRegistry.getBasenameForStencil(A.style[mxConstants.STYLE_SHAPE]));A.view.graph.model.isEdge(A.cell)&&(f(mxMarker.getPackageForType(A.style[mxConstants.STYLE_STARTARROW])),f(mxMarker.getPackageForType(A.style[mxConstants.STYLE_ENDARROW])))}c={};""!=p.value&&p.value!=mxConstants.NONE&&(c.highlight=p.value);r.checked||(c.lightbox=!1);c.nav=d.foldingEnabled;t=parseInt(m.value);
!isNaN(t)&&100!=t&&(c.zoom=t/100);t=[];u.checked&&(t.push("zoom"),c.resize=!0);q.checked&&t.push("layers");0<t.length&&(r&&t.push("lightbox"),c.toolbar=t.join(" "));s.checked&&(c.edit=""!=g.value?g.value:"_blank");""!=g.value?c.url=g.value:c.xml=a.getFileData(!0);b.value='\x3cdiv class\x3d"mxgraph" style\x3d"'+(l.checked?"max-width:100%;":"")+(""!=t?"border:1px solid transparent;":"")+'" data-mxgraph\x3d"'+mxUtils.htmlEntities(JSON.stringify(c))+'"\x3e\x3c/div\x3e';c=0<k.length?("1"==urlParams.dev?
"https://test.draw.io/embed2.js?dev\x3d1\x26s\x3d":"https://www.draw.io/embed2.js?s\x3d")+k.join(";"):"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js";e.value='\x3cscript type\x3d"text/javascript" src\x3d"'+c+'"\x3e\x3c/script\x3e';b.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null)}a.getCurrentFile();var f=document.createElement("div"),d=a.editor.graph;d.getGraphBounds();mxUtils.write(f,
mxResources.get("mainEmbedNotice")+": ");mxUtils.br(f);var b=document.createElement("textarea");b.style.marginTop="6px";b.style.width="550px";b.style.height="160px";b.style.marginBottom="10px";b.style.resize="none";f.appendChild(b);mxUtils.br(f);mxUtils.write(f,mxResources.get("embedNotice")+": ");mxUtils.br(f);var e=document.createElement("textarea");e.style.marginTop="6px";e.style.width="550px";e.style.height="20px";e.style.resize="none";e.style.marginBottom="10px";f.appendChild(e);mxUtils.br(f);
mxUtils.write(f,mxResources.get("publicDiagramUrl")+": ");var g=document.createElement("input");g.setAttribute("type","text");g.setAttribute("size","28");g.style.width="340px";g.style.marginBottom="8px";f.appendChild(g);mxUtils.br(f);var k=document.createElement("div");k.style.paddingTop="10px";k.style.textAlign="center";var l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("checked","checked");l.defaultChecked=!0;k.appendChild(l);mxUtils.write(k,mxResources.get("fit"));
var n=document.createElement("span");n.style.marginLeft="10px";mxUtils.write(n,mxResources.get("zoom")+": ");k.appendChild(n);var m=document.createElement("input");m.setAttribute("type","text");m.setAttribute("size","4");m.style.width="40px";m.value="100%";k.appendChild(m);n=document.createElement("span");n.style.marginLeft="10px";mxUtils.write(n,mxResources.get("link")+": ");k.appendChild(n);var p=document.createElement("input");p.setAttribute("type","text");p.setAttribute("size","8");p.style.width=
"50px";p.value="#0000ff";k.appendChild(p);mxUtils.br(k);var r=document.createElement("input");r.setAttribute("type","checkbox");r.setAttribute("checked","checked");r.defaultChecked=!0;r.style.marginTop="14px";k.appendChild(r);mxUtils.write(k,mxResources.get("lightbox"));var s=document.createElement("input");s.setAttribute("type","checkbox");s.setAttribute("checked","checked");s.defaultChecked=!0;s.style.marginLeft="10px";var q=document.createElement("input");q.setAttribute("type","checkbox");q.style.marginLeft=
"10px";n=a.editor.graph.getModel();1<n.getChildCount(n.getRoot())?(q.setAttribute("checked","checked"),q.defaultChecked=!0):q.setAttribute("disabled","disabled");k.appendChild(q);mxUtils.write(k,mxResources.get("layers"));var u=document.createElement("input");u.setAttribute("type","checkbox");u.style.marginLeft="10px";k.appendChild(u);mxUtils.write(k,mxResources.get("zoom"));f.appendChild(k);this.init=function(){c()};mxEvent.addListener(g,"change",c);mxEvent.addListener(p,"change",c);mxEvent.addListener(m,
"change",c);mxEvent.addListener(q,"change",c);mxEvent.addListener(s,"change",c);mxEvent.addListener(l,"change",c);mxEvent.addListener(r,"change",c);mxEvent.addListener(u,"change",c);k=document.createElement("div");k.style.paddingTop="20px";k.style.textAlign="right";a.isOffline()||(n=mxUtils.button(mxResources.get("help"),function(){window.open("https://support.draw.io/pages/viewpage.action?pageId\x3d12878123")}),n.className="geBtn",k.appendChild(n));if(!mxClient.IS_CHROMEAPP&&!navigator.standalone&&
mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))n=mxUtils.button(mxResources.get("preview"),function(){var a=window.open(),c=a.document;"CSS1Compat"===document.compatMode&&c.writeln("\x3c!DOCTYPE html\x3e");c.writeln("\x3chtml\x3e");c.writeln("\x3chead\x3e\x3ctitle\x3e"+encodeURIComponent(mxResources.get("preview"))+'\x3c/title\x3e\x3cmeta charset\x3d"utf-8"\x3e\x3c/head\x3e');c.writeln("\x3cbody\x3e");c.writeln(b.value);var d=mxClient.IS_IE||mxClient.IS_EDGE||null!=document.documentMode;
d&&c.writeln(e.value);c.writeln("\x3c/body\x3e");c.writeln("\x3c/html\x3e");c.close();if(!d){var f=a.document.createElement("div");f.marginLeft="26px";f.marginTop="26px";mxUtils.write(f,mxResources.get("updatingDocument"));d=a.document.createElement("img");d.setAttribute("src",window.location.protocol+"//"+window.location.hostname+"/"+IMAGE_PATH+"/spin.gif");d.style.marginLeft="6px";f.appendChild(d);a.document.body.insertBefore(f,a.document.body.firstChild);window.setTimeout(function(){var a=document.createElement("script");
a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(e.value)[1];c.body.appendChild(a);f.parentNode.removeChild(f)},20)}}),n.className="geBtn",k.appendChild(n);var n=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()}),t=mxUtils.button(mxResources.get("copy"),function(){b.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});k.appendChild(n);
!mxClient.IS_SF&&null==document.documentMode?(k.appendChild(t),t.className="geBtn gePrimaryBtn",n.className="geBtn"):n.className="geBtn gePrimaryBtn";f.appendChild(k);this.container=f},EmbedSvgDialog=function(a,c){function f(b){if(c){var d=a.editor.graph.getGraphBounds(),f=function(a){var b=" ",c="";p.checked&&(b=" onclick\x3d\"(function(img){if(img.wnd!\x3dnull\x26\x26!img.wnd.closed){img.wnd.focus();}else{var r\x3dfunction(evt){if(evt.data\x3d\x3d'ready'\x26\x26evt.source\x3d\x3dimg.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd\x3dwindow.open('https://www.draw.io/?client\x3d1\x26lightbox\x3d1\x26chrome\x3d0\x26edit\x3d_blank"+
(r.checked?"\x26layers\x3d1":"")+"');}})(this);\"",c+="cursor:pointer;");k.checked&&(c+="max-width:100%;");var f="";m.checked&&(f=' width\x3d"'+Math.round(d.width)+'" height\x3d"'+Math.round(d.height)+'"');e.value='\x3cimg src\x3d"'+a+'"'+f+(""!=c?' style\x3d"'+c+'"':"")+b+"/\x3e";e.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null)};if(a.isExportToCanvas())e.value=mxResources.get("updatingDocument"),a.exportToCanvas(mxUtils.bind(this,
function(b){var c=p.checked?a.getFileData(!0):null;b=a.createPngDataUri(b,c);f(b)}),null,null,null,mxUtils.bind(this,function(b){e.value="";a.handleError({message:mxResources.get("unknownError")})}),null,!0,m.checked?2:1,null,l.checked);else if(b=a.getFileData(!0),d.width*d.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){e.value=mxResources.get("updatingDocument");var g="";m.checked&&(g="\x26w\x3d"+Math.round(2*d.width)+"\x26h\x3d"+Math.round(2*d.height));var z=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+
(p.checked?"1":"0")+g+"\x26xml\x3d"+encodeURIComponent(b));z.send(mxUtils.bind(this,function(){200==z.getStatus()?f("data:image/png;base64,"+z.getText()):(e.value="",a.handleError({message:mxResources.get("unknownError")}))}))}else e.value="",a.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}else{b=a.editor.graph.getSvg();g=b.getElementsByTagName("a");if(null!=g)for(var y=0;y<g.length;y++){var x=g[y].getAttribute("href");null!=x&&("#"==x.charAt(0)&&"_blank"==g[y].getAttribute("target"))&&
g[y].removeAttribute("target")}p.checked&&b.setAttribute("content",a.getFileData(!0));l.checked&&a.editor.addSvgShadow(b);if(n.checked){var s=" ",A="";p.checked&&(s="onclick\x3d\"(function(img){if(img.wnd!\x3dnull\x26\x26!img.wnd.closed){img.wnd.focus();}else{var r\x3dfunction(evt){if(evt.data\x3d\x3d'ready'\x26\x26evt.source\x3d\x3dimg.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd\x3dwindow.open('https://www.draw.io/?client\x3d1\x26lightbox\x3d1\x26chrome\x3d0\x26edit\x3d_blank"+
(r.checked?"\x26layers\x3d1":"")+"');}})(this);\"",A+="cursor:pointer;");k.checked&&(A+="max-width:100%;");a.convertImages(b,function(b){e.value='\x3cimg src\x3d"'+a.createSvgDataUri(mxUtils.getXml(b))+'"'+(""!=A?' style\x3d"'+A+'"':"")+s+"/\x3e"})}else A="",p.checked&&(b.setAttribute("onclick","(function(svg){var src\x3dwindow.event.target||window.event.srcElement;while (src!\x3dnull\x26\x26src.nodeName.toLowerCase()!\x3d'a'){src\x3dsrc.parentNode;}if(src\x3d\x3dnull){if(svg.wnd!\x3dnull\x26\x26!svg.wnd.closed){svg.wnd.focus();}else{var r\x3dfunction(evt){if(evt.data\x3d\x3d'ready'\x26\x26evt.source\x3d\x3dsvg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd\x3dwindow.open('https://www.draw.io/?client\x3d1\x26lightbox\x3d1\x26chrome\x3d0\x26edit\x3d_blank"+
(r.checked?"\x26layers\x3d1":"")+"');}}})(this);"),A+="cursor:pointer;"),k.checked&&(g=parseInt(b.getAttribute("width")),y=parseInt(b.getAttribute("height")),b.setAttribute("viewBox","0 0 "+g+" "+y),A+="max-width:100%;max-height:"+y+"px;",b.removeAttribute("height")),""!=A&&b.setAttribute("style",A),e.value=mxUtils.getXml(b);e.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null)}}a.getCurrentFile();var d=document.createElement("div"),
b=a.editor.graph;b.getGraphBounds();mxUtils.write(d,mxResources.get("mainEmbedNotice")+": ");mxUtils.br(d);var e=document.createElement("textarea");e.style.marginTop="6px";e.style.width="550px";e.style.height="280px";e.style.resize="none";d.appendChild(e);mxUtils.br(d);var g=document.createElement("div");g.style.paddingTop="16px";g.style.textAlign="center";var k=document.createElement("input");k.setAttribute("type","checkbox");k.setAttribute("checked","checked");k.defaultChecked=!0;g.appendChild(k);
mxUtils.write(g,mxResources.get("fit"));var l=document.createElement("input");l.setAttribute("type","checkbox");l.style.marginLeft="30px";b.shadowVisible&&(l.setAttribute("checked","checked"),l.defaultChecked=!0);if(!c||a.isExportToCanvas())g.appendChild(l),mxUtils.write(g,mxResources.get("shadow"));var n=document.createElement("input");n.setAttribute("type","checkbox");n.style.marginLeft="30px";c||(g.appendChild(n),mxUtils.write(g,mxResources.get("image")));var m=document.createElement("input");
m.setAttribute("type","checkbox");m.style.marginLeft="30px";c&&(g.appendChild(m),mxUtils.write(g,mxResources.get("retina")));var p=document.createElement("input");p.setAttribute("type","checkbox");p.setAttribute("checked","checked");p.defaultChecked=!0;p.style.marginLeft="30px";g.appendChild(p);mxUtils.write(g,mxResources.get("lightbox"));var r=document.createElement("input");r.setAttribute("type","checkbox");r.style.marginLeft="30px";b=a.editor.graph.getModel();1<b.getChildCount(b.getRoot())?(r.setAttribute("checked",
"checked"),r.defaultChecked=!0):r.setAttribute("disabled","disabled");g.appendChild(r);mxUtils.write(g,mxResources.get("layers"));d.appendChild(g);this.init=function(){f()};mxEvent.addListener(n,"change",f);mxEvent.addListener(m,"change",f);mxEvent.addListener(l,"change",f);mxEvent.addListener(k,"change",f);mxEvent.addListener(p,"change",f);mxEvent.addListener(r,"change",f);g=document.createElement("div");g.style.paddingTop="18px";g.style.textAlign="right";!a.isOffline()&&!c&&(b=mxUtils.button(mxResources.get("help"),
function(){window.open("https://support.draw.io/pages/viewpage.action?pageId\x3d12222606")}),b.className="geBtn",g.appendChild(b));if(!mxClient.IS_CHROMEAPP&&!navigator.standalone&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))b=mxUtils.button(mxResources.get("preview"),function(){var a=window.open().document;a.writeln("\x3chtml\x3e\x3chead\x3e\x3ctitle\x3e"+encodeURIComponent(mxResources.get("preview"))+'\x3c/title\x3e\x3cmeta charset\x3d"utf-8"\x3e\x3c/head\x3e\x3cbody\x3e'+
e.value+"\x3c/body\x3e\x3c/html\x3e");a.close()}),b.className="geBtn",g.appendChild(b);var b=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()}),s=mxUtils.button(mxResources.get("copy"),function(){e.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});g.appendChild(b);!mxClient.IS_SF&&null==document.documentMode?(g.appendChild(s),s.className=
"geBtn gePrimaryBtn",b.className="geBtn"):b.className="geBtn gePrimaryBtn";d.appendChild(g);this.container=d},GoogleSitesDialog=function(a){function c(){var a=null!=A.getTitle()?A.getTitle():this.defaultFilename;if(y.checked&&""!=p.value){var b="https://www.draw.io/gadget.xml?type\x3d4\x26diagram\x3d"+encodeURIComponent(mxUtils.htmlEntities(p.value));null!=a&&(b+="\x26title\x3d"+encodeURIComponent(a));0<x.length&&(b+="\x26s\x3d"+x);""!=r.value&&"0"!=r.value&&(b+="\x26border\x3d"+r.value);""!=m.value&&
(b+="\x26height\x3d"+m.value);b+="\x26pan\x3d"+(s.checked?"1":"0");b+="\x26zoom\x3d"+(q.checked?"1":"0");b+="\x26fit\x3d"+(z.checked?"1":"0");b+="\x26resize\x3d"+(v.checked?"1":"0");b+="\x26x0\x3d"+Number(n.value);b+="\x26y0\x3d"+k;d.mathEnabled&&(b+="\x26math\x3d1");t.checked?b+="\x26edit\x3d_blank":u.checked&&(b+="\x26edit\x3d"+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));l.value=b}else A.constructor==DriveFile||A.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed\x3d0\x26diagram\x3d",
""!=p.value?b+=encodeURIComponent(mxUtils.htmlEntities(p.value))+"\x26type\x3d3":(b+=A.getHash().substring(1),b=A.constructor==DropboxFile?b+"\x26type\x3d2":b+"\x26type\x3d1"),null!=a&&(b+="\x26title\x3d"+encodeURIComponent(a)),""!=m.value&&(a=parseInt(m.value)+parseInt(n.value),b+="\x26height\x3d"+a),l.value=b):l.value=""}var f=document.createElement("div"),d=a.editor.graph,b=d.getGraphBounds(),e=d.view.scale,g=Math.floor(b.x/e-d.view.translate.x),k=Math.floor(b.y/e-d.view.translate.y);mxUtils.write(f,
mxResources.get("googleGadget")+":");mxUtils.br(f);var l=document.createElement("input");l.setAttribute("type","text");l.style.marginBottom="8px";l.style.marginTop="2px";l.style.width="410px";f.appendChild(l);mxUtils.br(f);this.init=function(){l.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)};mxUtils.write(f,mxResources.get("top")+":");var n=document.createElement("input");n.setAttribute("type","text");n.setAttribute("size",
"4");n.style.marginRight="16px";n.style.marginLeft="4px";n.value=g;f.appendChild(n);mxUtils.write(f,mxResources.get("height")+":");var m=document.createElement("input");m.setAttribute("type","text");m.setAttribute("size","4");m.style.marginLeft="4px";m.value=Math.ceil(b.height/e);f.appendChild(m);mxUtils.br(f);b=document.createElement("hr");b.setAttribute("size","1");b.style.marginBottom="16px";b.style.marginTop="16px";f.appendChild(b);mxUtils.write(f,mxResources.get("publicDiagramUrl")+":");mxUtils.br(f);
var p=document.createElement("input");p.setAttribute("type","text");p.setAttribute("size","28");p.style.marginBottom="8px";p.style.marginTop="2px";p.style.width="410px";f.appendChild(p);mxUtils.br(f);mxUtils.write(f,mxResources.get("borderWidth")+":");var r=document.createElement("input");r.setAttribute("type","text");r.setAttribute("size","3");r.style.marginBottom="8px";r.style.marginLeft="4px";r.value="0";f.appendChild(r);mxUtils.br(f);var s=document.createElement("input");s.setAttribute("type",
"checkbox");s.setAttribute("checked","checked");s.defaultChecked=!0;s.style.marginLeft="16px";f.appendChild(s);mxUtils.write(f,mxResources.get("pan")+" ");var q=document.createElement("input");q.setAttribute("type","checkbox");q.setAttribute("checked","checked");q.defaultChecked=!0;q.style.marginLeft="8px";f.appendChild(q);mxUtils.write(f,mxResources.get("zoom")+" ");var u=document.createElement("input");u.setAttribute("type","checkbox");u.style.marginLeft="8px";u.setAttribute("title",window.location.href);
f.appendChild(u);mxUtils.write(f,mxResources.get("edit")+" ");var t=document.createElement("input");t.setAttribute("type","checkbox");t.style.marginLeft="8px";f.appendChild(t);mxUtils.write(f,mxResources.get("asNew")+" ");mxUtils.br(f);var v=document.createElement("input");v.setAttribute("type","checkbox");v.setAttribute("checked","checked");v.defaultChecked=!0;v.style.marginLeft="16px";f.appendChild(v);mxUtils.write(f,mxResources.get("resize")+" ");var z=document.createElement("input");z.setAttribute("type",
"checkbox");z.style.marginLeft="8px";f.appendChild(z);mxUtils.write(f,mxResources.get("fit")+" ");var y=document.createElement("input");y.setAttribute("type","checkbox");y.style.marginLeft="8px";f.appendChild(y);mxUtils.write(f,mxResources.get("embed")+" ");for(var x="",b={},e=d.view.states.getValues(),g=0;g<e.length;g++){var D=mxStencilRegistry.getBasenameForStencil(e[g].style[mxConstants.STYLE_SHAPE]);null!=D&&null==b[D]&&(b[D]=!0,x+=D+";")}var A=a.getCurrentFile();c();p.setAttribute("placeholder",
mxResources.get("loading")+"...");a.getPublicUrl(A,function(a){p.setAttribute("placeholder","");p.value=null!=a?a:"";c()});mxEvent.addListener(s,"change",c);mxEvent.addListener(q,"change",c);mxEvent.addListener(v,"change",c);mxEvent.addListener(z,"change",c);mxEvent.addListener(u,"change",c);mxEvent.addListener(t,"change",c);mxEvent.addListener(y,"change",c);mxEvent.addListener(m,"change",c);mxEvent.addListener(n,"change",c);mxEvent.addListener(r,"change",c);mxEvent.addListener(p,"change",c);mxEvent.addListener(l,
"click",function(){l.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)});b=document.createElement("div");b.style.paddingTop="12px";b.style.textAlign="right";e=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});e.className="geBtn gePrimaryBtn";b.appendChild(e);f.appendChild(b);this.container=f},IframeDialog=function(a,c,f){function d(){null!=y&&null!=y.getTitle()&&y.getTitle();if(f&&null!=y&&(""!=q.value||y.constructor==
DriveFile||y.constructor==DropboxFile||y.constructor==OneDriveFile)){v.removeAttribute("disabled");z.removeAttribute("disabled");var a="https://www.draw.io/?chrome\x3d0";p.checked&&(a+="\x26lightbox\x3d1");r.checked&&(a+="\x26edit\x3d"+encodeURIComponent(mxUtils.htmlEntities("https://www.draw.io/#"+y.getHash())));e.foldingEnabled&&(a+="\x26nav\x3d1");s.checked&&(a+="\x26layers\x3d1");a=""!=q.value?a+("\x26url\x3d"+encodeURIComponent(mxUtils.htmlEntities(q.value))):a+("#"+y.getHash());l.value=a;l.removeAttribute("disabled")}else if(""!=
q.value){v.removeAttribute("disabled");z.removeAttribute("disabled");var b=encodeURIComponent(mxUtils.htmlEntities(q.value));c?(a=EXPORT_URL+"?format\x3dpng\x26url\x3d"+b,l.value=a):(a="https://www.draw.io/?chrome\x3d0",p.checked&&(a+="\x26lightbox\x3d1"),r.checked&&(a+="\x26edit\x3d"+b),e.foldingEnabled&&(a+="\x26nav\x3d1"),s.checked&&(a+="\x26layers\x3d1"),l.value='\x3ciframe frameborder\x3d"0" style\x3d"width:'+n.value+";height:"+m.value+'" src\x3d"'+(a+("\x26url\x3d"+b))+'"\x3e\x3c/iframe\x3e');
l.removeAttribute("disabled")}else!c&&!f&&null!=y&&(y.constructor==DriveFile||y.constructor==DropboxFile||y.constructor==OneDriveFile)?(v.removeAttribute("disabled"),z.removeAttribute("disabled"),a="https://www.draw.io/?chrome\x3d0",p.checked&&(a+="\x26lightbox\x3d1"),r.checked&&(a+="\x26edit\x3d"+encodeURIComponent(mxUtils.htmlEntities("https://www.draw.io/#"+y.getHash()))),e.foldingEnabled&&(a+="\x26nav\x3d1"),s.checked&&(a+="\x26layers\x3d1"),a+="#"+y.getHash(),l.value='\x3ciframe frameborder\x3d"0" style\x3d"width:'+
n.value+";height:"+m.value+'" src\x3d"'+a+'"\x3e\x3c/iframe\x3e',l.removeAttribute("disabled")):(v.setAttribute("disabled","disabled"),z.setAttribute("disabled","disabled"),l.value=mxResources.get("invalidPublicUrl"),l.setAttribute("disabled","disabled"))}var b=document.createElement("div"),e=a.editor.graph,g=e.getGraphBounds(),k=e.view.scale;mxUtils.write(b,mxResources.get(f?"link":"mainEmbedNotice")+": ");mxUtils.br(b);var l=document.createElement("input");l.setAttribute("type","text");l.style.marginBottom=
"8px";l.style.marginTop="2px";l.style.width="410px";b.appendChild(l);mxUtils.br(b);this.init=function(){"disabled"!=l.getAttribute("disabled")&&(l.focus(),mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null))};var n=document.createElement("input");n.setAttribute("type","text");n.style.marginRight="16px";n.style.width="60px";n.style.marginBottom="8px";n.style.marginLeft="4px";n.value="100%";!c&&!f&&(mxUtils.write(b,mxResources.get("width")+
":"),b.appendChild(n));var m=document.createElement("input");m.setAttribute("type","text");m.style.width="60px";m.style.marginLeft="4px";m.value=Math.ceil((g.y+g.height-e.view.translate.y)/k)+2+"px";var p=document.createElement("input");p.setAttribute("type","checkbox");var r=document.createElement("input");r.setAttribute("type","checkbox");var s=document.createElement("input");s.setAttribute("type","checkbox");c||(f||(mxUtils.write(b,mxResources.get("height")+":"),b.appendChild(m),mxUtils.br(b)),
p.setAttribute("checked","checked"),p.defaultChecked=!0,b.appendChild(p),mxUtils.write(b,mxResources.get("lightbox")),s.style.marginLeft="16px",g=a.editor.graph.getModel(),1<g.getChildCount(g.getRoot())?(s.setAttribute("checked","checked"),s.defaultChecked=!0):s.setAttribute("disabled","disabled"),b.appendChild(s),mxUtils.write(b,mxResources.get("layers")),r.style.marginLeft="16px",r.setAttribute("checked","checked"),r.defaultChecked=!0,b.appendChild(r),mxUtils.write(b,mxResources.get("edit")),mxUtils.br(b));
g=document.createElement("hr");g.setAttribute("size","1");g.style.marginBottom="16px";g.style.marginTop="16px";b.appendChild(g);mxUtils.write(b,mxResources.get("publicDiagramUrl")+":");mxUtils.br(b);var q=document.createElement("input");q.setAttribute("type","text");q.setAttribute("size","28");q.style.marginBottom="8px";q.style.marginTop="2px";q.style.width="410px";b.appendChild(q);mxUtils.br(b);for(var g={},k=e.view.states.getValues(),u=0;u<k.length;u++){var t=mxStencilRegistry.getBasenameForStencil(k[u].style[mxConstants.STYLE_SHAPE]);
null!=t&&null==g[t]&&(g[t]=!0)}var v=mxUtils.button(mxResources.get("preview"),function(){if(c||f)window.open(l.value);else{var a=window.open().document;"CSS1Compat"===document.compatMode&&a.writeln("\x3c!DOCTYPE html\x3e");a.writeln("\x3chead\x3e\x3ctitle\x3e"+encodeURIComponent(mxResources.get("preview"))+'\x3c/title\x3e\x3cmeta charset\x3d"utf-8"\x3e\x3c/head\x3e');a.writeln("\x3cbody\x3e");a.writeln(l.value);a.writeln("\x3c/body\x3e");a.writeln("\x3c/html\x3e");a.close()}});v.className="geBtn";
var z=mxUtils.button(mxResources.get("copy"),function(){l.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))}),y=a.getCurrentFile();d();q.setAttribute("placeholder",mxResources.get("loading")+"...");a.getPublicUrl(y,function(a){q.setAttribute("placeholder","");q.value=null!=a?a:"";d()});mxEvent.addListener(n,"change",d);mxEvent.addListener(m,"change",d);
mxEvent.addListener(s,"change",d);mxEvent.addListener(p,"change",d);mxEvent.addListener(r,"change",d);mxEvent.addListener(q,"change",d);mxEvent.addListener(l,"click",function(){l.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)});g=document.createElement("div");g.style.paddingTop="12px";g.style.textAlign="right";k=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});(c||!mxClient.IS_QUIRKS&&!navigator.standalone&&
(!window.chrome||!chrome.app||!chrome.app.runtime)&&(null==document.documentMode||9<=document.documentMode))&&g.appendChild(v);g.appendChild(k);!mxClient.IS_SF&&null==document.documentMode?(g.appendChild(z),z.className="geBtn gePrimaryBtn",k.className="geBtn"):k.className="geBtn gePrimaryBtn";b.appendChild(g);this.container=b},CreateGraphDialog=function(a,c,f){var d=document.createElement("div");d.style.textAlign="right";this.init=function(){var b=document.createElement("div");b.style.position="relative";
b.style.border="1px solid gray";b.style.width="100%";b.style.height="360px";b.style.overflow="hidden";b.style.marginBottom="16px";mxEvent.disableContextMenu(b);d.appendChild(b);var c=new Graph(b);c.setCellsCloneable(!0);c.setPanning(!0);c.setAllowDanglingEdges(!1);c.connectionHandler.select=!1;c.view.setTranslate(20,20);c.border=20;c.panningHandler.useLeftButtonForPanning=!0;var g="curved\x3d1;";c.cellRenderer.installCellOverlayListeners=function(a,b,c){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,
arguments);mxEvent.addListener(c.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(c.node,"touchstart",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))})};c.getAllConnectionConstraints=function(){return null};c.connectionHandler.marker.highlight.keepOnTop=!1;c.connectionHandler.createEdgeState=function(a){a=c.createEdge(null,null,
null,null,null,g);return new mxCellState(this.graph.view,a,this.graph.getCellStyle(a))};var k=c.getDefaultParent(),l=mxUtils.bind(this,function(a){var b=new mxCellOverlay(this.connectImage,"Add outgoing");b.cursor="hand";b.addListener(mxEvent.CLICK,function(b,d){c.connectionHandler.reset();c.clearSelection();var f=c.getCellGeometry(a),n;p(function(){n=c.insertVertex(k,null,"Entry",f.x,f.y,80,30,"rounded\x3d1;");l(n);c.view.refresh(n);c.insertEdge(k,null,"",a,n,g)},function(){c.scrollCellToVisible(n)})});
b.addListener("pointerdown",function(a,b){var d=b.getProperty("event"),f=b.getProperty("state");c.popupMenuHandler.hideMenu();c.stopEditing(!1);var g=mxUtils.convertPoint(c.container,mxEvent.getClientX(d),mxEvent.getClientY(d));c.connectionHandler.start(f,g.x,g.y);c.isMouseDown=!0;c.isMouseTrigger=mxEvent.isMouseEvent(d);mxEvent.consume(d)});c.addCellOverlay(a,b)});c.getModel().beginUpdate();var n;try{n=c.insertVertex(k,null,"Start",0,0,80,30,"ellipse"),l(n)}finally{c.getModel().endUpdate()}var m;
"horizontalTree"==f?(m=new mxCompactTreeLayout(c),m.edgeRouting=!1,m.levelDistance=30,g="edgeStyle\x3delbowEdgeStyle;elbow\x3dhorizontal;"):"verticalTree"==f?(m=new mxCompactTreeLayout(c,!1),m.edgeRouting=!1,m.levelDistance=30,g="edgeStyle\x3delbowEdgeStyle;elbow\x3dvertical;"):"verticalFlow"==f?m=new mxHierarchicalLayout(c,mxConstants.DIRECTION_NORTH):"horizontalFlow"==f?m=new mxHierarchicalLayout(c,mxConstants.DIRECTION_WEST):"organic"==f?(m=new mxFastOrganicLayout(c,!1),m.forceConstant=80):"circle"==
f&&(m=new mxCircleLayout(c));if(null!=m){var p=function(a,b){c.getModel().beginUpdate();try{null!=a&&a(),m.execute(c.getDefaultParent(),n)}catch(d){throw d;}finally{var f=new mxMorphing(c);f.addListener(mxEvent.DONE,mxUtils.bind(this,function(){c.getModel().endUpdate();null!=b&&b()}));f.startAnimation()}},r=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=function(a,b,c,d,e){r.apply(this,arguments);p()};c.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);p()};
c.connectionHandler.addListener(mxEvent.CONNECT,function(){p()})}var s=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){c.destroy();b.parentNode.removeChild(b);a.hideDialog()})});s.className="geBtn";a.editor.cancelFirst&&d.appendChild(s);var q=mxUtils.button(mxResources.get("insert"),function(){c.clearCellOverlays();var d=a.editor.graph.view,f=a.editor.graph.getGraphBounds(),g=a.editor.graph.getInsertPoint(),k=Math.max(g.x,f.x/d.scale-d.translate.x),
f=Math.max(g.y,a.editor.graph.snap((f.y+f.height)/d.scale-d.translate.y+4*c.gridSize)),k=a.editor.graph.importCells(c.getModel().getChildren(c.getDefaultParent()),k,f),f=d.getBounds(k);f.x-=d.translate.x;f.y-=d.translate.y;a.editor.graph.scrollRectToVisible(f);a.editor.graph.setSelectionCells(k);c.destroy();b.parentNode.removeChild(b);a.hideDialog()});d.appendChild(q);q.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(s)};this.container=d};
CreateGraphDialog.prototype.connectImage=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3OTk0QjMyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjQ3OTk0QjQyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjA0N0I2MjJENzExMUU1OEZBOEY0NUEyM0EyMUMzOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNDc5OTRCMjJENzIxMUU1OEZBOEY0NUEyM0EyMUMzOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjIf+MgAAATlSURBVHjanFZraFxFFD735u4ru3ls0yZG26ShgmJoKK1J2vhIYzBgRdtIURHyw1hQUH9IxIgI2h8iCEUF/1RRlNQYCsYfCTHVhiTtNolpZCEStqSC22xIsrs1bDfu7t37Gs/cO3Ozxs1DBw73zpk555vzmHNGgJ0NYatFgmNLYUHYUoHASMz5ijmgVLmxgfKCUiBxC4ACJAeSG8nb1dVVOTc3dyoSibwWDofPBIPBJzo7O8vpGtvjpDICGztxkciECpF2LS0tvZtOpwNkk5FKpcYXFxffwL1+JuPgllPj8nk1F6RoaGjoKCqZ5ApljZDZO4SMRA0SuG2QUJIQRV8HxMOM9vf3H0ZZH9Nhg20MMl2QkFwjIyNHWlpahtADnuUMwLcRHX5aNSBjCJYEsSSLUeLEbhGe3ytCmQtA1/XY+Pj46dbW1iDuyCJp9BC5ycBj4hoeHq5ra2sbw0Xn1ZgBZ+dVkA1Lc+6p0Ck2p0QS4Ox9EhwpEylYcmBg4LH29vYQLilIOt0u5FhDfevNZDI/u93uw6PLOrwTUtjxrbPYbhD42WgMrF8JmR894ICmCgnQjVe8Xu8pXEkzMJKbuo5oNPomBbm1ZsD7s2kwFA1JZ6QBUXWT1nmGNc/qoMgavDcrQzxjQGFh4aOYIJ0sFAXcEtui4uLiVjr5KpSBVFYDDZVrWUaKRRWSAYeK0fmKykgDXbVoNaPChRuyqdDv97czL5nXxQbq6empQmsaklkDBiNpSwFVrmr2P6UyicD5piI4f8wHh0oEm8/p4h8pyGiEWvVQd3e3nxtjAzU1NR2jP7NRBWQ8GbdEzzJAmc0V3RR4cI8Dvmwuhc8fKUFA0d6/ltHg5p+Kuaejo6OeY0jcNJ/PV00ZS0nFUoZRvvFS1bZFsKHCCQ2Pl8H0chY+C96B6ZUsrCQ1qKtwQVFRURW/QhIXMAzDPAZ6BgOr8tTa8dDxCmiYGApaJbJMxSzV+brE8pdgWkcpY5dbMF1AR9XH8/xu2ilef48bvn92n82ZwHh+8ssqTEXS9p7dHisiiURikd8PbpExNTU1UVNTA3V3Y7lC16n0gpB/NwpNcZjfa7dScC4Qh0kOQCwnlEgi3F/hMVl9fX0zvKrzSk2lfXjRhj0eT/2rvWG4+Pta3oJY7XfC3hInXAv/ldeFLx8shQ+eqQL0UAAz7ylkpej5eNZRVBWL6BU6ef14OYiY1oqyTtmsavr/5koaRucT1pzx+ZpL1+GV5nLutksUgIcmtwTRiuuVZXnU5XId7A2swJkfFsymRWC91hHg1Viw6x23+7vn9sPJ+j20BE1hCXqSWaNSQ8ScbknRZWxub1PGCw/fBV+c3AeijlUbY5bBjEqr9GuYZP4jP41WudGSC6erTRCqdGZm5i1WvXWeDHnbBCZGc2Nj4wBl/hZOwrmBBfgmlID1HmGJutHaF+tKoevp/XCgstDkjo2NtWKLuc6AVN4mNjY+s1XQxoenOoFuDPHGtnRbJj9ej5GvL0dI7+giuRyMk1giazc+DP6vgUDgOJVlOv7R+PJ12QIeL6SyeDz+Kfp8ZrNWjgDTsVjsQ7qXyTjztXJhm9ePxFLfMTg4eG9tbe1RTP9KFFYQfHliYmIS69kCC7jKYmKwxxD5P88tkVkqbPPcIps9t4T/+HjcuJ/s5BFJgf4WYABCtxGuxIZ90gAAAABJRU5ErkJggg\x3d\x3d":
IMAGE_PATH+"/handle-connect.png",26,26);
var BackgroundImageDialog=function(a,c){var f=document.createElement("div");f.style.whiteSpace="nowrap";var d=document.createElement("h2");mxUtils.write(d,mxResources.get("backgroundImage"));d.style.marginTop="0px";f.appendChild(d);mxUtils.write(f,mxResources.get("image")+" "+mxResources.get("url")+":");mxUtils.br(f);var d=a.editor.graph.backgroundImage,b=document.createElement("input");b.setAttribute("type","text");b.style.marginTop="4px";b.style.marginBottom="4px";b.style.width="350px";b.value=
null!=d?d.src:"";var e=!1,g=function(){!e&&""!=b.value&&!a.isOffline()?a.loadImage(mxUtils.trim(b.value),function(a){k.value=a.width;l.value=a.height},function(){a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));b.value="";k.value="";l.value=""}):(k.value="",l.value="")};this.init=function(){b.focus();if(Graph.fileSupport){b.setAttribute("placeholder",mxResources.get("dragImagesHere"));var c=f.parentNode,d=null;mxEvent.addListener(c,"dragleave",function(a){null!=
d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(b){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=a.highlightElement(c);b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(c){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<c.dataTransfer.files.length)a.importFiles(c.dataTransfer.files,0,0,a.maxBackgroundSize,function(a,c,d,e,f,k){b.value=a;g()},function(){},
function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0,a.maxBackgroundBytes,a.maxBackgroundBytes);else if(0<=mxUtils.indexOf(c.dataTransfer.types,"text/uri-list")){var e=c.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(e)&&(b.value=decodeURIComponent(e),g())}c.stopPropagation();c.preventDefault()}),!1)}};f.appendChild(b);mxUtils.br(f);mxUtils.br(f);mxUtils.write(f,mxResources.get("width")+":");var k=document.createElement("input");
k.setAttribute("type","text");k.style.width="60px";k.style.marginLeft="4px";k.style.marginRight="16px";k.value=null!=d?d.width:"";f.appendChild(k);mxUtils.write(f,mxResources.get("height")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight="16px";l.value=null!=d?d.height:"";f.appendChild(l);d=mxUtils.button(mxResources.get("reset"),function(){b.value="";k.value="";l.value="";e=!1});mxEvent.addListener(d,"mousedown",
function(){e=!0});mxEvent.addListener(d,"touchstart",function(){e=!0});d.className="geBtn";d.width="100";f.appendChild(d);mxUtils.br(f);mxEvent.addListener(b,"change",g);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(b.value=a.url,g()));b.focus()};d=document.createElement("div");d.style.marginTop="40px";d.style.textAlign="right";var n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});
n.className="geBtn";a.editor.cancelFirst&&d.appendChild(n);if(!a.isOffline()&&"undefined"!=typeof google&&"undefined"!=typeof google.picker){var m=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);a.imageSearchPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.imageSearchPicker.setVisible(!0);a.movePickersToTop()});
m.className="geBtn";d.appendChild(m);null!=a.drive&&"1"==urlParams.photos&&(m=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0);a.movePickersToTop()}))}),m.className="geBtn",d.appendChild(m))}m=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c(""!=b.value?new mxImage(mxUtils.trim(b.value),k.value,l.value):null)});m.className="geBtn gePrimaryBtn";d.appendChild(m);a.editor.cancelFirst||d.appendChild(n);f.appendChild(d);this.container=f},ParseDialog=function(a,c){function f(b){function c(a){var b=e[a];null==
b&&(b=new mxCell(a,new mxGeometry(0,0,80,30)),b.vertex=!0,e[a]=b,f.push(b));return b}var d=b.split("\n"),e={},f=[];for(b=0;b<d.length;b++)if(";"!=d[b].charAt(0)){var g=d[b].split("-\x3e");if(2==g.length){var s=c(g[0]),g=c(g[1]),q=new mxCell("",new mxGeometry);q.edge=!0;s.insertEdge(q,!0);g.insertEdge(q,!1);f.push(q)}}if(0<f.length){d=document.createElement("div");d.style.visibility="hidden";document.body.appendChild(d);s=new Graph(d);s.getModel().beginUpdate();try{f=s.importCells(f);for(b=0;b<f.length;b++)if(s.getModel().isVertex(f[b])){var u=
s.getPreferredSizeForCell(f[b]);f[b].geometry.width=Math.max(f[b].geometry.width,u.width);f[b].geometry.height=Math.max(f[b].geometry.height,u.height)}var t=new mxFastOrganicLayout(s);t.disableEdgeStyle=!1;t.forceConstant=120;t.execute(s.getDefaultParent());s.moveCells(f,20,20)}finally{s.getModel().endUpdate()}s.clearCellOverlays();t=a.editor.graph.view;b=a.editor.graph.getGraphBounds();u=Math.max(0,b.x/t.scale-t.translate.x)+s.gridSize;t=Math.max(0,(b.y+b.height)/t.scale-t.translate.y)+4*s.gridSize;
a.editor.graph.setSelectionCells(a.editor.graph.importCells(s.getModel().getChildren(s.getDefaultParent()),u,t));s.destroy();d.parentNode.removeChild(d)}}var d=document.createElement("div");d.style.textAlign="right";var b=document.createElement("textarea");b.style.resize="none";b.style.width="100%";b.style.height="354px";b.style.marginBottom="16px";b.value=";example\na-\x3eb\nb-\x3ec\nc-\x3ea\n";d.appendChild(b);this.init=function(){b.focus()};Graph.fileSupport&&(b.addEventListener("dragover",function(a){a.stopPropagation();
a.preventDefault()},!1),b.addEventListener("drop",function(a){a.stopPropagation();a.preventDefault();if(0<a.dataTransfer.files.length){a=a.dataTransfer.files[0];var c=new FileReader;c.onload=function(a){b.value=a.target.result};c.readAsText(a)}},!1));var e=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});e.className="geBtn";a.editor.cancelFirst&&d.appendChild(e);var g=mxUtils.button(mxResources.get("insert"),function(){a.hideDialog();
f(b.value)});d.appendChild(g);g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(e);this.container=d},NewDialog=function(a,c,f,d){function b(){if(d)a.hideDialog(),d(s);else{var b=p.value;if(null!=b&&0<b.length){var c=a.mode==App.MODE_ONEDRIVE||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null;a.pickFolder(c,function(c){a.createFile(b,s,null!=r&&0<r.length?r:null,null,function(){a.hideDialog()},null,c)},c!=App.MODE_GOOGLE)}}}function e(a,b,c){null!=
q&&(q.style.backgroundColor="transparent",q.style.border="1px solid transparent");s=b;r=c;q=a;q.style.backgroundColor="#e6eff8";q.style.border="1px solid #ccd9ea"}function g(a,c,d,f,g){var k=document.createElement("div");k.className="geTemplate";k.style.height=z+"px";k.style.width=y+"px";null!=f&&0<f.length&&k.setAttribute("title",f);if(null!=a&&0<a.length){a.substring(0,a.length-4);k.style.backgroundImage="url("+TEMPLATE_PATH+"/"+a.substring(0,a.length-4)+".png)";k.style.backgroundPosition="center center";
k.style.backgroundRepeat="no-repeat";var l=!1;mxEvent.addListener(k,"click",function(d){u.setAttribute("disabled","disabled");k.style.backgroundColor="transparent";k.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+a,mxUtils.bind(this,function(a){200==a.getStatus()&&(u.removeAttribute("disabled"),e(k,a.getText(),c),l&&b())}))});mxEvent.addListener(k,"dblclick",function(a){l=!0})}else k.innerHTML='\x3ctable width\x3d"100%" height\x3d"100%"\x3e\x3ctr\x3e\x3ctd align\x3d"center" valign\x3d"middle"\x3e'+
mxResources.get(d)+"\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e",g&&e(k),mxEvent.addListener(k,"click",function(a){e(k)}),mxEvent.addListener(k,"dblclick",function(a){b()});t.appendChild(k)}function k(){function a(){for(var c=!0;b<A.length&&(c||0!=mxUtils.mod(b,30));)c=A[b++],g(c.url,c.libs,c.title,c.tooltip,c.select),c=!1}var b=0;mxEvent.addListener(t,"scroll",function(b){t.scrollTop+t.clientHeight>=t.scrollHeight&&(a(),mxEvent.consume(b))});var c=null,d;for(d in x){var e=document.createElement("div"),
f=mxResources.get(d),k=x[d];null==f&&(f=d.substring(0,1).toUpperCase()+d.substring(1));18<f.length&&(f=f.substring(0,18)+"\x26hellip;");e.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";e.setAttribute("title",f+" ("+k.length+")");mxUtils.write(e,e.getAttribute("title"));v.appendChild(e);null==c&&(c=e,c.style.backgroundColor="#ebf2f9");(function(d,f){mxEvent.addListener(e,"click",function(){c!=f&&(c.style.backgroundColor=
"",c=f,c.style.backgroundColor="#ebf2f9",t.scrollTop=0,t.innerHTML="",b=0,A=x[d],a())})})(d,e)}a()}f=null!=f?f:!0;var l=document.createElement("div");l.style.height="100%";var n=document.createElement("div");n.style.whiteSpace="nowrap";n.style.height="46px";l.appendChild(n);var m=document.createElement("img");m.setAttribute("border","0");m.setAttribute("align","absmiddle");m.style.width="40px";m.style.height="40px";m.style.marginRight="10px";m.style.paddingBottom="4px";m.src=a.mode==App.MODE_GOOGLE?
IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!c&&f&&n.appendChild(m);f&&mxUtils.write(n,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):mxResources.get("filename"))+":");m=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?m=a.drive.extension:a.mode==App.MODE_DROPBOX&&
null!=a.dropbox?m=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive&&(m=a.oneDrive.extension);var p=document.createElement("input");p.setAttribute("value",a.defaultFilename+m);p.style.marginRight="20px";p.style.marginLeft="10px";p.style.width=c?"220px":"450px";this.init=function(){f&&(p.focus(),mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null))};f&&n.appendChild(p);var r=null,s=null,q=null,u=mxUtils.button(mxResources.get("create"),
function(){b()});u.className="geBtn gePrimaryBtn";var t=document.createElement("div");t.style.border="1px solid #d3d3d3";t.style.position="absolute";t.style.left="160px";t.style.right="34px";t.style.top=f?"72px":"40px";t.style.bottom="76px";t.style.margin="6px 0 0 -1px";t.style.padding="6px";t.style.overflow="auto";var v=document.createElement("div");v.style.cssText="position:absolute;left:30px;width:128px;top:72px;bottom:76px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";f||(v.style.top=
"40px");var z=140,y=140,x={},D=1;x.basic=[{title:"blankDiagram",select:!0}];var A=x.basic;if(!c){l.appendChild(v);l.appendChild(t);var B=!1;mxUtils.get(TEMPLATE_PATH+"/index.xml",function(a){if(!B){B=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=x[b];null==c&&(D++,c=[],x[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),
tooltip:a.getAttribute("url")})}}a=a.nextSibling}k()}})}mxEvent.addListener(p,"keypress",function(c){13==c.keyCode&&(a.hideDialog(),b())});n=document.createElement("div");n.style.marginTop=c?"4px":"16px";n.style.textAlign="right";n.style.position="absolute";n.style.left="40px";n.style.bottom="30px";n.style.right="40px";m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});m.className="geBtn";a.editor.cancelFirst&&n.appendChild(m);if(!c&&!a.isOffline()&&f){var E=mxUtils.button(mxResources.get("help"),
function(){window.open("https://support.draw.io/display/DO/Creating+and+Opening+Files")});E.className="geBtn";n.appendChild(E)}c||(c=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode\x3d"+a.mode+"\x26title\x3d"+encodeURIComponent(p.value)+"\x26create\x3d"+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));
a.showDialog(b.container,300,80,!0,!0);b.init()}),c.className="geBtn",n.appendChild(c));n.appendChild(u);a.editor.cancelFirst||n.appendChild(m);l.appendChild(n);this.container=l},CreateDialog=function(a,c,f,d,b,e,g,k,l,n,m){function p(b,c,d,e){function f(){mxEvent.addListener(g,"click",function(){r(d);s(d)})}var g=document.createElement("a");g.style.overflow="hidden";var k=document.createElement("img");k.src=b;k.setAttribute("border","0");k.setAttribute("align","absmiddle");k.style.width="60px";k.style.height=
"60px";k.style.paddingBottom="6px";g.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";g.className="geBaseButton";g.style.position="relative";g.style.margin="4px";g.style.padding="8px 8px 10px 8px";g.style.whiteSpace="nowrap";g.appendChild(k);mxClient.IS_QUIRKS&&(g.style.cssFloat="left",g.style.zoom="1");g.style.color="gray";g.style.fontSize="11px";var l=document.createElement("div");g.appendChild(l);mxUtils.write(l,c);if(null!=e&&null==a[e]){k.style.visibility="hidden";mxUtils.setOpacity(l,
10);var n=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});n.spin(g);var m=window.setTimeout(function(){null==a[e]&&(n.stop(),g.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[e]&&(window.clearTimeout(m),mxUtils.setOpacity(l,100),k.style.visibility="",n.stop(),f())}))}else f();z.appendChild(g)}function r(b){if(g){var d=v.value,e=d.lastIndexOf(".");if(0>c.lastIndexOf(".")&&
(!u||0>e)){b=null!=b?b:y.value;var f="";b==App.MODE_GOOGLE?f=a.drive.extension:b==App.MODE_DROPBOX?f=a.dropbox.extension:b==App.MODE_ONEDRIVE?f=a.oneDrive.extension:b==App.MODE_DEVICE&&(f=".xml");0<=e&&(d=d.substring(0,e));v.value=d+f}}}function s(b){var c=v.value;if(null==b||null!=c&&0<c.length)a.hideDialog(),f(c,b)}g=null!=g?g:!0;k=null!=k?k:!0;var q=document.createElement("div"),u=!0;null==d&&a.addLanguageMenu(q);var t=document.createElement("h2");mxUtils.write(t,b||mxResources.get("create"));
t.style.marginTop="0px";t.style.marginBottom="24px";q.appendChild(t);mxUtils.write(q,mxResources.get("filename")+":");var v=document.createElement("input");v.setAttribute("value",c);v.style.width="280px";v.style.marginLeft="10px";v.style.marginBottom="20px";this.init=function(){v.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?v.select():document.execCommand("selectAll",!1,null)};q.appendChild(v);mxUtils.br(q);var z=document.createElement("div");z.style.textAlign="center";u?(z.style.marginTop=
"6px",q.appendChild(z)):mxUtils.write(q,mxResources.get("chooseAnOption")+":");var y=document.createElement("select");y.style.marginLeft="10px";"function"===typeof window.DriveClient&&(b=document.createElement("option"),b.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(b,mxResources.get("googleDrive")),y.appendChild(b),p(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive"));"function"===typeof window.DropboxClient&&(b=document.createElement("option"),b.setAttribute("value",
App.MODE_DROPBOX),mxUtils.write(b,mxResources.get("dropbox")),y.appendChild(b),a.mode==App.MODE_DROPBOX&&b.setAttribute("selected","selected"),p(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),App.MODE_DROPBOX,"dropbox"));"function"===typeof window.OneDriveClient&&(b=document.createElement("option"),b.setAttribute("value",App.MODE_ONEDRIVE),mxUtils.write(b,mxResources.get("oneDrive")),y.appendChild(b),a.mode==App.MODE_ONEDRIVE&&b.setAttribute("selected","selected"),p(IMAGE_PATH+"/onedrive-logo.svg",
mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive"));if(!Editor.useLocalStorage||"device"==urlParams.storage||null!=a.getCurrentFile()&&!mxClient.IS_IOS)b=document.createElement("option"),b.setAttribute("value",App.MODE_DEVICE),mxUtils.write(b,mxResources.get("device")),y.appendChild(b),(a.mode==App.MODE_DEVICE||!k)&&b.setAttribute("selected","selected"),m&&(mxUtils.br(z),p(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE));k&&isLocalStorage&&(k=document.createElement("option"),
k.setAttribute("value",App.MODE_BROWSER),mxUtils.write(k,mxResources.get("browser")),y.appendChild(k),a.mode==App.MODE_BROWSER&&k.setAttribute("selected","selected"),p(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));k=document.createElement("div");k.style.marginTop=u?"26px":"38px";k.style.textAlign=u?"center":"right";u||(q.appendChild(y),mxEvent.addListener(y,"change",r),r());null!=n&&(b=mxUtils.button(mxResources.get("help"),function(){window.open(n)}),b.className="geBtn",
k.appendChild(b));b=mxUtils.button(mxResources.get("cancel"),function(){null!=d?d():(a.fileLoaded(null),a.hideDialog(),window.close(),window.location.href=a.getUrl())});b.className="geBtn";a.editor.cancelFirst&&k.appendChild(b);null==d&&(t=mxUtils.button(mxResources.get("decideLater"),function(){s(null)}),t.className="geBtn",k.appendChild(t));l&&(l=mxUtils.button(mxResources.get("openInNewWindow"),function(){s("_blank")}),l.className="geBtn",k.appendChild(l));if(!mxClient.IS_IOS||!u)e=mxUtils.button(e||
mxResources.get("create"),function(){s(m?"download":u?App.MODE_DEVICE:y.value)}),e.className="geBtn gePrimaryBtn",k.appendChild(e);a.editor.cancelFirst||k.appendChild(b);mxEvent.addListener(v,"keypress",function(b){13==b.keyCode?s(u?App.MODE_DEVICE:y.value):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});q.appendChild(k);this.container=q},PopupDialog=function(a,c,f,d,b){b=null!=b?b:!0;var e=document.createElement("div");e.style.textAlign="left";mxUtils.write(e,mxResources.get("fileOpenLocation"));
mxUtils.br(e);mxUtils.br(e);var g=mxUtils.button(mxResources.get("openInThisWindow"),function(){b&&a.hideDialog();null!=d&&d()});g.className="geBtn";g.style.marginBottom="8px";g.style.width="280px";e.appendChild(g);mxUtils.br(e);var k=mxUtils.button(mxResources.get("openInNewWindow"),function(){b&&a.hideDialog();null!=f&&f();window.open(c)});k.className="geBtn gePrimaryBtn";k.style.width=g.style.width;e.appendChild(k);mxUtils.br(e);mxUtils.br(e);mxUtils.write(e,mxResources.get("allowPopups"));this.container=
e},ImageDialog=function(a,c,f,d,b,e){e=null!=e?e:!0;var g=a.editor.graph,k=document.createElement("div");mxUtils.write(k,c);c=document.createElement("div");c.className="geTitle";c.style.backgroundColor="transparent";c.style.borderColor="transparent";c.style.whiteSpace="nowrap";c.style.textOverflow="clip";c.style.cursor="default";mxClient.IS_VML||(c.style.paddingRight="20px");var l=document.createElement("input");l.setAttribute("value",f);l.setAttribute("type","text");l.style.marginTop="6px";l.style.width=
(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";l.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";l.style.backgroundRepeat="no-repeat";l.style.backgroundPosition="100% 50%";l.style.paddingRight="14px";f=document.createElement("div");f.setAttribute("title",mxResources.get("reset"));f.style.position="relative";f.style.left="-16px";f.style.width="12px";f.style.height="14px";f.style.cursor="pointer";f.style.display=mxClient.IS_VML?"inline":"inline-block";f.style.top=(mxClient.IS_VML?
0:3)+"px";f.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(f,"click",function(){l.value="";l.focus()});c.appendChild(l);c.appendChild(f);k.appendChild(c);var n=function(b,c,f){var g="data:"==b.substring(0,5);(!a.isOffline()||g&&"undefined"===typeof chrome)&&a.spinner.spin(document.body,mxResources.get("inserting"))?a.loadImage(b,function(g){a.spinner.stop();a.hideDialog();var k=null!=c&&null!=f?Math.max(c/g.width,f/g.height):Math.min(1,Math.min(520/g.width,520/g.height));
e&&(b=a.convertDataUri(b));d(b,Math.round(Number(g.width)*k),Math.round(Number(g.height)*k))},function(){a.spinner.stop();d(null);a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(b=a.convertDataUri(b),c=null==c?120:c,f=null==f?100:f,a.hideDialog(),d(b,c,f))},m=function(c){if(null!=c&&0<c.length){var e=b?null:g.getModel().getGeometry(g.getSelectionCell());null!=e?n(c,e.width,e.height):n(c)}else a.hideDialog(),d(null)};this.init=function(){l.focus();if(Graph.fileSupport){l.setAttribute("placeholder",
mxResources.get("dragImagesHere"));var b=k.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(d){if(null==c&&(!mxClient.IS_IE||10<document.documentMode))c=a.highlightElement(b);d.stopPropagation();d.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,
0,0,a.maxImageSize,function(a,b,c,d,e,f){m(a)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var d=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(d)&&m(decodeURIComponent(d))}b.stopPropagation();b.preventDefault()}),!1)}};f=document.createElement("div");f.style.marginTop=mxClient.IS_QUIRKS?"22px":"14px";f.style.textAlign=
"right";c=mxUtils.button(mxResources.get("cancel"),function(){a.spinner.stop();a.hideDialog()});c.className="geBtn";a.editor.cancelFirst&&f.appendChild(c);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(l.value=a.url));l.focus()};if("undefined"!=typeof google&&"undefined"!=typeof google.picker){if(Graph.fileSupport){var p=document.createElement("input");p.setAttribute("multiple",
"multiple");p.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(p,"change",function(b){a.importFiles(p.files,0,0,a.maxImageSize,function(a,b,c,d,e,f){m(a)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0)});var r=mxUtils.button(mxResources.get("open"),function(){p.click()});r.className="geBtn";f.appendChild(r)}}r=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);
a.imageSearchPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.imageSearchPicker.setVisible(!0);a.movePickersToTop()});r.className="geBtn";f.appendChild(r);null!=a.drive&&"1"==urlParams.photos&&(r=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0);a.movePickersToTop()}))}),r.className="geBtn",f.appendChild(r))}mxEvent.addListener(l,"keypress",function(a){13==a.keyCode&&m(l.value)});r=mxUtils.button(mxResources.get("apply"),function(){m(l.value)});r.className="geBtn gePrimaryBtn";f.appendChild(r);a.editor.cancelFirst||f.appendChild(c);Graph.fileSupport&&(f.style.marginTop="120px",k.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",
k.style.backgroundPosition="center 65%",k.style.backgroundRepeat="no-repeat",c=document.createElement("div"),c.style.position="absolute",c.style.width="420px",c.style.top="58%",c.style.textAlign="center",c.style.fontSize="18px",c.style.color="#a0c3ff",mxUtils.write(c,mxResources.get("dragImagesHere")),k.appendChild(c));k.appendChild(f);this.container=k};
PrintDialog.prototype.create=function(a){function c(){p.value=Math.min(g,Math.max(parseInt(p.value),parseInt(m.value)));m.value=Math.min(g,Math.min(parseInt(p.value),parseInt(m.value)))}function f(a){var b=parseInt(F.value)/100;isNaN(b)&&(b=1,F.value="100 %");var b=0.75*b,c=d.getGraphBounds(),e=0,f=0,g=d.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,k=1/d.pageScale,l=q.checked;if(l)var k=parseInt(E.value),n=parseInt(G.value),k=Math.min(g.height*n/(c.height/d.view.scale),g.width*k/(c.width/d.view.scale));
else k=parseInt(s.value)/100*d.pageScale,isNaN(k)&&(b=1/d.pageScale,s.value="100 %");g=mxRectangle.fromRectangle(g);g.width=Math.ceil(g.width*b);g.height=Math.ceil(g.height*b);k*=b;!l&&d.pageVisible?(b=d.getPageLayout(),e-=b.x*g.width,f-=b.y*g.height):l=!0;return PrintDialog.showPreview(PrintDialog.createPrintPreview(d,k,g,0,e,f,l,a),a)}var d=a.editor.graph,b=document.createElement("div"),e=document.createElement("h3");e.style.marginTop="0px";mxUtils.write(e,mxResources.get("print"));b.appendChild(e);
var g=1,k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var l=document.createElement("input");l.style.cssText="margin-right:8px;margin-bottom:8px;";l.setAttribute("value","all");l.setAttribute("type","radio");l.setAttribute("name","pages");k.appendChild(l);e=document.createElement("span");mxUtils.write(e,mxResources.get("printAllPages"));k.appendChild(e);mxUtils.br(k);var n=l.cloneNode(!0);n.setAttribute("value","range");
k.appendChild(n);l.setAttribute("checked","checked");e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");k.appendChild(e);var m=document.createElement("input");m.style.cssText="margin:0 8px 0 8px;";m.setAttribute("value","1");m.setAttribute("type","number");m.setAttribute("min","1");m.style.width="50px";k.appendChild(m);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));k.appendChild(e);var p=m.cloneNode(!0);k.appendChild(p);mxEvent.addListener(m,"focus",
function(){n.checked=!0});mxEvent.addListener(p,"focus",function(){n.checked=!0});mxEvent.addListener(m,"change",c);mxEvent.addListener(p,"change",c);m.setAttribute("max",g);p.setAttribute("max",g);1<g&&b.appendChild(k);l=document.createElement("div");l.style.marginBottom="10px";var r=document.createElement("input");r.style.marginRight="8px";r.setAttribute("value","adjust");r.setAttribute("type","radio");r.setAttribute("name","printZoom");l.appendChild(r);e=document.createElement("span");mxUtils.write(e,
mxResources.get("adjustTo"));l.appendChild(e);var s=document.createElement("input");s.style.cssText="margin:0 8px 0 8px;";s.setAttribute("value","100 %");s.style.width="50px";l.appendChild(s);mxEvent.addListener(s,"focus",function(){r.checked=!0});b.appendChild(l);var k=k.cloneNode(!1),q=r.cloneNode(!0);q.setAttribute("value","fit");r.setAttribute("checked","checked");e=document.createElement("div");e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(q);
k.appendChild(e);l=document.createElement("table");l.style.display="inline-block";var u=document.createElement("tbody"),t=document.createElement("tr"),v=t.cloneNode(!0),z=document.createElement("td"),y=z.cloneNode(!0),x=z.cloneNode(!0),D=z.cloneNode(!0),A=z.cloneNode(!0),B=z.cloneNode(!0);z.style.textAlign="right";D.style.textAlign="right";mxUtils.write(z,mxResources.get("fitTo"));var E=document.createElement("input");E.style.cssText="margin:0 8px 0 8px;";E.setAttribute("value","1");E.setAttribute("min",
"1");E.setAttribute("type","number");E.style.width="40px";y.appendChild(E);e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsAcross"));x.appendChild(e);mxUtils.write(D,mxResources.get("fitToBy"));var G=E.cloneNode(!0);A.appendChild(G);mxEvent.addListener(E,"focus",function(){q.checked=!0});mxEvent.addListener(G,"focus",function(){q.checked=!0});e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsDown"));B.appendChild(e);t.appendChild(z);t.appendChild(y);
t.appendChild(x);v.appendChild(D);v.appendChild(A);v.appendChild(B);u.appendChild(t);u.appendChild(v);l.appendChild(u);k.appendChild(l);b.appendChild(k);k=document.createElement("div");e=document.createElement("span");mxUtils.write(e,mxResources.get("paperSize"));k.appendChild(e);var F=document.createElement("input");F.style.cssText="margin:0 8px 0 8px;";F.setAttribute("value","100 %");F.style.width="60px";k.appendChild(F);b.appendChild(k);e=document.createElement("div");e.style.cssText="text-align:right;margin:36px 0 0 0;";
k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&e.appendChild(k);mxClient.IS_CHROMEAPP||(l=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();f(!1)}),l.className="geBtn",e.appendChild(l));l=mxUtils.button(mxResources.get(mxClient.IS_CHROMEAPP?"ok":"print"),function(){a.hideDialog();f(!0)});l.className="geBtn gePrimaryBtn";e.appendChild(l);a.editor.cancelFirst||e.appendChild(k);b.appendChild(e);this.container=b};
var LinkDialog=function(a,c,f,d){var b=document.createElement("div");mxUtils.write(b,mxResources.get("editLink")+":");var e=document.createElement("div");e.className="geTitle";e.style.backgroundColor="transparent";e.style.borderColor="transparent";e.style.whiteSpace="nowrap";e.style.textOverflow="clip";e.style.cursor="default";mxClient.IS_VML||(e.style.paddingRight="20px");var g=document.createElement("input");g.setAttribute("value",c);g.setAttribute("placeholder",mxResources.get("dragUrlsHere"));
g.setAttribute("type","text");g.style.marginTop="6px";g.style.width="400px";g.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";g.style.backgroundRepeat="no-repeat";g.style.backgroundPosition="100% 50%";g.style.paddingRight="14px";c=document.createElement("div");c.setAttribute("title",mxResources.get("reset"));c.style.position="relative";c.style.left="-16px";c.style.width="12px";c.style.height="14px";c.style.cursor="pointer";c.style.display=mxClient.IS_VML?"inline":"inline-block";c.style.top=
(mxClient.IS_VML?0:3)+"px";c.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(c,"click",function(){g.value="";g.focus()});e.appendChild(g);e.appendChild(c);b.appendChild(e);var k=mxUtils.button(f,function(){a.hideDialog();d(g.value,LinkDialog.selectedDocs)});k.className="geBtn gePrimaryBtn";this.init=function(){g.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?g.select():document.execCommand("selectAll",!1,null);if(Graph.fileSupport){var c=b.parentNode,
d=null;mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(b){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=a.highlightElement(c);b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(g.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),
k.click());a.stopPropagation();a.preventDefault()}),!1)}};f=document.createElement("div");f.style.marginTop="14px";f.style.textAlign="right";e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";a.editor.cancelFirst&&f.appendChild(e);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(a){if(a.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=a.docs;var b=a.docs[0].url;"application/mxe"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile"==a.docs[0].mimeType?
(b=DriveClient.prototype.oldAppHostname,b="https://"+b+"/#G"+a.docs[0].id):"application/mxr"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile.realtime"==a.docs[0].mimeType?(b=DriveClient.prototype.newAppHostname,b="https://"+b+"/#G"+a.docs[0].id):"application/vnd.google-apps.folder"==a.docs[0].mimeType&&(b="https://drive.google.com/#folders/"+a.docs[0].id);g.value=b}else LinkDialog.selectedDocs=null;g.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(c=mxUtils.button(mxResources.get("googlePlus"),
function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.linkPicker){var b=gapi.auth.getToken().access_token,c=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(c).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS);
"1"==urlParams.photos&&b.addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);a.linkPicker=b.setCallback(function(a){LinkDialog.filePicked(a)}).build()}a.linkPicker.setVisible(!0);a.movePickersToTop()}))}),c.className="geBtn",f.appendChild(c));"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&(c=mxUtils.button(mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(a){g.value=
a[0].link}})}),c.className="geBtn",f.appendChild(c));"undefined"!=typeof WL&&("undefined"!=typeof WL.fileDialog&&null!=a.oneDrive)&&(c=mxUtils.button(mxResources.get("oneDrive"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.oneDrive.execute(mxUtils.bind(this,function(b){null!=b&&(a.spinner.stop(),WL.fileDialog({mode:"open",select:"single"}).then(function(a){null!=a&&(null!=a.data&&null!=a.data.files&&0<a.data.files.length)&&(g.value=a.data.files[0].link)},function(a){}))}))}),
c.className="geBtn",f.appendChild(c));mxEvent.addListener(g,"keypress",function(b){13==b.keyCode&&(a.hideDialog(),d(g.value,LinkDialog.selectedDocs))});f.appendChild(k);a.editor.cancelFirst||f.appendChild(e);b.appendChild(f);this.container=b},AboutDialog=function(a){var c=document.createElement("div");c.style.marginTop="6px";c.setAttribute("align","center");var f=document.createElement("img");f.style.border="0px";f.setAttribute("width","176");f.setAttribute("width","151");f.style.width="170px";f.style.height=
"219px";f.setAttribute("src",IMAGE_PATH+"/logo-flat.png");c.appendChild(f);mxUtils.br(c);f=document.createElement("small");f.innerHTML="v "+EditorUi.VERSION;f.style.color="#505050";c.appendChild(f);mxUtils.br(c);mxUtils.br(c);f=document.createElement("small");f.style.color="#505050";f.innerHTML='\x26copy; 2005-2016 \x3ca href\x3d"https://www.jgraph.com/" style\x3d"color:inherit;" target\x3d"_blank"\x3eJGraph Ltd\x3c/a\x3e.\x3cbr\x3eAll Rights Reserved.';c.appendChild(f);mxEvent.addListener(c,"click",
function(c){"A"!=mxEvent.getSource(c).nodeName&&a.hideDialog()});this.container=c},FeedbackDialog=function(a){var c=document.createElement("div"),f=document.createElement("div");mxUtils.write(f,mxResources.get("sendYourFeedbackToDrawIo"));f.style.fontSize="18px";f.style.marginBottom="18px";c.appendChild(f);f=document.createElement("div");mxUtils.write(f,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");c.appendChild(f);var d=document.createElement("input");d.setAttribute("type",
"text");d.style.marginTop="6px";d.style.width="600px";var b=mxUtils.button(mxResources.get("sendMessage"),function(){var b=(g.checked?"\nDiagram:\n"+a.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;b.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post("/email","email\x3d"+encodeURIComponent(d.value)+"\x26version\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26url\x3d"+encodeURIComponent(window.location.href)+
"\x26body\x3d"+encodeURIComponent("Feedback:\n"+l.value+b),function(b){a.spinner.stop();200==b.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))});b.className="geBtn gePrimaryBtn";b.setAttribute("disabled","disabled");var e=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
mxEvent.addListener(d,"change",function(){0<d.value.length&&0<e.test(d.value)?b.removeAttribute("disabled"):b.setAttribute("disabled","disabled")});mxEvent.addListener(d,"keyup",function(){0<d.value.length&&e.test(d.value)?b.removeAttribute("disabled"):b.setAttribute("disabled","disabled")});c.appendChild(d);this.init=function(){d.focus()};var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;f=document.createElement("p");f.style.marginTop=
"14px";f.appendChild(g);var k=document.createElement("span");mxUtils.write(k," "+mxResources.get("includeCopyOfMyDiagram"));f.appendChild(k);mxEvent.addListener(k,"click",function(a){g.checked=!g.checked;mxEvent.consume(a)});c.appendChild(f);f=document.createElement("div");mxUtils.write(f,mxResources.get("feedback"));c.appendChild(f);var l=document.createElement("textarea");l.style.resize="none";l.style.width="600px";l.style.height="140px";l.style.marginTop="6px";l.setAttribute("placeholder",mxResources.get("commentsNotes"));
c.appendChild(l);f=document.createElement("div");f.style.marginTop="26px";f.style.textAlign="right";k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst?(f.appendChild(k),f.appendChild(b)):(f.appendChild(b),f.appendChild(k));c.appendChild(f);this.container=c};FeedbackDialog.maxAttachmentSize=1E6;
var RevisionDialog=function(a,c){var f=document.createElement("div"),d=document.createElement("h3");d.style.marginTop="0px";mxUtils.write(d,mxResources.get("revisionHistory"));f.appendChild(d);var b=document.createElement("div");b.style.position="absolute";b.style.overflow="auto";b.style.width="170px";b.style.height="378px";f.appendChild(b);var e=document.createElement("div");e.style.position="absolute";e.style.border="1px solid lightGray";e.style.left="199px";e.style.width="470px";e.style.height=
"376px";e.style.overflow="hidden";mxEvent.disableContextMenu(e);f.appendChild(e);var g=new Graph(e);g.setEnabled(!1);g.setPanning(!0);g.panningHandler.ignoreCell=!0;g.panningHandler.useLeftButtonForPanning=!0;g.minFitScale=null;g.maxFitScale=null;g.centerZoom=!0;g.getLinkForCell=function(){return null};Editor.MathJaxRender&&g.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(g.container)}));var k=new Spinner({lines:11,length:15,width:6,radius:10,
corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),l=a.getCurrentFile(),n=null,m=null,p=null,r=mxUtils.button("",function(){null!=p&&g.zoomIn()});r.className="geSprite geSprite-zoomin";r.setAttribute("title",mxResources.get("zoomIn"));r.style.outline="none";r.style.border="none";r.style.margin="2px";r.setAttribute("disabled","disabled");mxUtils.setOpacity(r,20);var s=mxUtils.button("",function(){null!=p&&g.zoomOut()});
s.className="geSprite geSprite-zoomout";s.setAttribute("title",mxResources.get("zoomOut"));s.style.outline="none";s.style.border="none";s.style.margin="2px";s.setAttribute("disabled","disabled");mxUtils.setOpacity(s,20);var q=mxUtils.button("",function(){null!=p&&(g.maxFitScale=8,g.fit(8,!1),g.center())});q.className="geSprite geSprite-fit";q.setAttribute("title",mxResources.get("fit"));q.style.outline="none";q.style.border="none";q.style.margin="2px";q.setAttribute("disabled","disabled");mxUtils.setOpacity(q,
20);var u=mxUtils.button("",function(){null!=p&&(g.zoomActual(),g.center())});u.className="geSprite geSprite-actualsize";u.setAttribute("title",mxResources.get("actualSize"));u.style.outline="none";u.style.border="none";u.style.margin="2px";u.setAttribute("disabled","disabled");mxUtils.setOpacity(u,20);var t=document.createElement("div");t.style.position="absolute";t.style.textAlign="right";t.style.color="gray";t.style.marginTop="10px";t.style.backgroundColor="transparent";t.style.top="440px";t.style.right=
"32px";t.style.maxWidth="380px";t.style.cursor="default";var v=mxUtils.button(mxResources.get("download"),function(){if(null!=p){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,c=mxUtils.getXml(p.documentElement);a.isLocalFileSave()?a.saveLocalFile(c,b,"text/xml"):(c="undefined"===typeof pako?"\x26xml\x3d"+encodeURIComponent(c):"\x26data\x3d"+encodeURIComponent(a.editor.graph.compress(c)),(new mxXmlRequest(SAVE_URL,"filename\x3d"+encodeURIComponent(b)+"\x26format\x3dxml"+
c)).simulate(document,"_blank"))}});v.className="geBtn";v.setAttribute("disabled","disabled");var z=mxUtils.button(mxResources.get("restore"),function(){null!=p&&a.confirm(mxResources.get("areYouSure"),function(){a.spinner.spin(document.body,mxResources.get("restoring"))&&l.save(!0,function(b){a.spinner.stop();a.editor.setGraphXml(p.documentElement);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});z.className=
"geBtn";z.setAttribute("disabled","disabled");var y=document.createElement("select");y.setAttribute("disabled","disabled");y.style.maxWidth="80px";y.style.position="relative";y.style.top="-3px";y.style.marginRight="6px";y.style.display="none";var x=null;mxEvent.addListener(y,"change",function(a){null!=x&&x(a)});var D=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=p&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(p.documentElement)),
window.openWindow(a.getUrl()))});D.className="geBtn";D.setAttribute("disabled","disabled");var A=mxUtils.button(mxResources.get("show"),function(){null!=m&&window.open(m.getUrl())});A.className="geBtn gePrimaryBtn";A.setAttribute("disabled","disabled");d=document.createElement("div");d.style.position="absolute";d.style.top="482px";d.style.width="640px";d.style.textAlign="right";var B=document.createElement("div");B.className="geToolbarContainer";B.style.backgroundColor="transparent";B.style.padding=
"2px";B.style.border="none";B.style.left="199px";B.style.top="442px";var E=null;if(null==l||null==a.drive&&l.constructor==DriveFile||null==a.dropbox&&l.constructor==DropboxFile)e.style.display="none",B.style.display="none",mxUtils.write(b,mxResources.get("notAvailable"));else if(null!=c&&0<c.length){e.style.cursor="move";var G=document.createElement("table");G.style.border="1px solid lightGray";G.style.borderCollapse="collapse";G.style.borderSpacing="0px";G.style.width="100%";var F=document.createElement("tbody"),
H=(new Date).toDateString(),I=0;null!=a.currentPage&&null!=a.pages&&(I=mxUtils.indexOf(a.pages,a.currentPage));for(var L=c.length-1;0<=L;L--){var O=function(b){var d=new Date(b.modifiedDate),f=null;if(0<=d.getTime()){f=document.createElement("tr");f.style.borderBottom="1px solid lightGray";f.style.fontSize="12px";f.style.cursor="pointer";var B=document.createElement("td");B.style.padding="6px";B.style.whiteSpace="nowrap";b==c[c.length-1]?mxUtils.write(B,mxResources.get("current")):d.toDateString()===
H?mxUtils.write(B,d.toLocaleTimeString()):mxUtils.write(B,d.toLocaleDateString()+" "+d.toLocaleTimeString());f.appendChild(B);f.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString()+" "+a.formatFileSize(parseInt(b.fileSize))+(null!=b.lastModifyingUserName?" "+b.lastModifyingUserName:""));var E=function(b){k.stop();b=mxUtils.parseXml(b);var c=a.editor.extractGraphModel(b.documentElement,!0);if(null!=c){y.style.display="none";y.innerHTML="";p=b;parseSelectFunction=null;var m=function(a){var b=
a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";e.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,g.getModel());g.maxFitScale=1;g.fit(8,!1);g.center();return a},n=function(b){null!=b&&(b=m(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b};if("mxfile"==c.nodeName){var B=c.getElementsByTagName("diagram");0<B.length&&n(B[Math.min(I,B.length-1)]);if(1<B.length){y.removeAttribute("disabled");y.style.display=
"";for(b=0;b<B.length;b++)c=document.createElement("option"),mxUtils.write(c,B[b].getAttribute("name")||mxResources.get("pageWithNumber",[b+1])),c.setAttribute("value",b),b==I&&c.setAttribute("selected","selected"),y.appendChild(c)}x=function(){I=y.value;n(B[I])}}else m(c);t.innerHTML="";mxUtils.write(t,d.toLocaleDateString()+" "+d.toLocaleTimeString());t.setAttribute("title",f.getAttribute("title"));r.removeAttribute("disabled");s.removeAttribute("disabled");q.removeAttribute("disabled");u.removeAttribute("disabled");
if(null==l||!l.isRestricted())a.editor.graph.isEnabled()&&z.removeAttribute("disabled"),v.removeAttribute("disabled"),A.removeAttribute("disabled"),D.removeAttribute("disabled");mxUtils.setOpacity(r,60);mxUtils.setOpacity(s,60);mxUtils.setOpacity(q,60);mxUtils.setOpacity(u,60)}else y.style.display="none",y.innerHTML="",t.innerHTML="",mxUtils.write(t,mxResources.get("errorLoadingFile"))};mxEvent.addListener(f,"click",function(a){m!=b&&(k.stop(),null!=n&&(n.style.backgroundColor=""),m=b,n=f,n.style.backgroundColor=
"#ebf2f9",p=null,t.removeAttribute("title"),t.innerHTML=mxResources.get("loading")+"...",e.style.backgroundColor="#ffffff",g.getModel().clear(),z.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"),r.setAttribute("disabled","disabled"),s.setAttribute("disabled","disabled"),u.setAttribute("disabled","disabled"),q.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"),y.setAttribute("disabled","disabled"),mxUtils.setOpacity(r,
20),mxUtils.setOpacity(s,20),mxUtils.setOpacity(q,20),mxUtils.setOpacity(u,20),k.spin(e),b.getXml(function(a){m==b&&E(a)},function(a){k.stop();y.style.display="none";y.innerHTML="";t.innerHTML="";mxUtils.write(t,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(f,"dblclick",function(a){A.click();window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);F.appendChild(f)}return f}(c[L]);null!=O&&
L==c.length-1&&(E=O)}G.appendChild(F);b.appendChild(G)}else e.style.display="none",B.style.display="none",mxUtils.write(b,mxResources.get("noRevisions"));this.init=function(){null!=E&&E.click()};b=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});b.className="geBtn";B.appendChild(y);B.appendChild(r);B.appendChild(s);B.appendChild(u);B.appendChild(q);a.editor.cancelFirst?(d.appendChild(b),d.appendChild(v),d.appendChild(D),d.appendChild(z),d.appendChild(A)):(d.appendChild(v),d.appendChild(D),
d.appendChild(z),d.appendChild(A),d.appendChild(b));f.appendChild(d);f.appendChild(B);f.appendChild(t);this.container=f},AnimationWindow=function(a,c,f,d,b){function e(a){for(var b=[],c=0;c<a.length;c++){var d=B.view.getState(a[c]);if(null!=d){for(var e=B.cellRenderer.getShapesForState(d),f=0;f<e.length;f++)null!=e[f]&&null!=e[f].node&&b.push(e[f].node);null!=d.control&&null!=d.control.node&&b.push(d.control.node)}}return b}function g(a){if(null!=a){for(var b=0;b<a.length;b++)mxUtils.setPrefixedStyle(a[b].style,
"transition",null),a[b].style.opacity="0";window.setTimeout(function(){for(var b=0;b<a.length;b++)mxUtils.setPrefixedStyle(a[b].style,"transition","all 1s ease-in-out"),a[b].style.opacity="1"},0)}}function k(a){if(null!=a){for(var b=0;b<a.length;b++)mxUtils.setPrefixedStyle(a[b].style,"transition",null),a[b].style.opacity="1";window.setTimeout(function(){for(var b=0;b<a.length;b++)mxUtils.setPrefixedStyle(a[b].style,"transition","all 1s ease-in-out"),a[b].style.opacity="0"},0)}}function l(a){var b=
a.absolutePoints.slice(),c=a.segments,d=a.length,e=b.length;return{execute:function(f,g){if(null!=a.shape){for(var k=[b[0]],l=d*f/g,m=1;m<e;m++)if(l<=c[m-1]){k.push(new mxPoint(b[m-1].x+(b[m].x-b[m-1].x)*l/c[m-1],b[m-1].y+(b[m].y-b[m-1].y)*l/c[m-1]));break}else l-=c[m-1],k.push(b[m]);a.shape.points=k;a.shape.redraw()}},stop:function(){null!=a.shape&&(a.shape.points=b,a.shape.redraw())}}}function n(a){var b=new mxRectangle.fromRectangle(a.shape.bounds),c=null;null!=a.text&&(null!=a.text.node&&null!=
a.text.node.firstChild)&&(c=a.text.node.firstChild.getAttribute("transform"));return{execute:function(d,e){if(null!=a.shape){var f=d/e;a.shape.bounds=new mxRectangle(b.x,b.y,b.width*f,b.height);a.shape.redraw();null!=c&&a.text.node.firstChild.setAttribute("transform",c+" scale("+f+",1)")}},stop:function(){null!=a.shape&&(a.shape.bounds=b,a.shape.redraw(),null!=c&&a.text.node.firstChild.setAttribute("transform",c))}}}function m(a,b,c){function d(){if(k==b){window.clearInterval(m);for(var a=0;a<e.length;a++)e[a].stop()}else{for(a=
0;a<e.length;a++)e[a].execute(k,b);k++}}b=null!=b?b:30;c=null!=c?c:30;for(var e=[],f=0;f<a.length;f++){var g=B.view.getState(a[f]);null!=g&&null!=g.shape&&B.model.isEdge(g.cell)&&null!=g.absolutePoints&&1<g.absolutePoints.length?e.push(l(g)):null!=g&&(B.model.isVertex(g.cell)&&null!=g.shape&&null!=g.shape.bounds)&&e.push(n(g))}var k=0,m=window.setInterval(d,c);d()}function p(a,b,c){c=null!=c?c:{};c[a.id]=b;for(var d=a.getChildCount(),e=0;e<d;e++)p(a.getChildAt(e),b.getChildAt(e),c);return c}function r(){if(!G){G=
E=!0;B.getModel().clear();B.getModel().setRoot(B.cloneCells([a.editor.graph.getModel().getRoot()])[0]);B.maxFitScale=1;B.fit(8,!1);B.center();B.getModel().beginUpdate();try{for(var b in B.getModel().cells){var c=B.getModel().cells[b];if(B.getModel().isVertex(c)||B.getModel().isEdge(c))B.setCellStyles("opacity","0",[c]),B.setCellStyles("noLabel","1",[c])}}finally{B.getModel().endUpdate()}var d=p(a.editor.graph.getModel().getRoot(),B.getModel().getRoot()),f=x.value.split("\n"),l=0,n=function(){if(E&&
l<f.length){var a=f[l].split(" ");if(0<a.length)if("wait"==a[0]&&1<a.length)window.setTimeout(function(){l++;n()},parseFloat(a[1]));else{if(1<a.length){var c=d[a[1]];null!=c?"show"==a[0]?(B.setCellStyles("opacity","100",[c]),B.setCellStyles("noLabel",null,[c]),2<a.length&&"fade"==a[2]?g(e([c])):m([c])):"hide"==a[0]&&k(e([c])):console.log("cell not found",b,f[l])}l++;n()}}else G=!1};n()}}var s=document.createElement("table");s.style.width="100%";s.style.height="100%";var q=document.createElement("tbody"),
u=document.createElement("tr"),t=document.createElement("td");t.style.width="140px";var v=document.createElement("td"),z=document.createElement("tr");z.style.height="40px";var y=document.createElement("td");y.setAttribute("colspan","2");var x=document.createElement("textarea");x.style.overflow="auto";x.style.width="100%";x.style.height="100%";t.appendChild(x);var D=a.editor.graph.getModel().getRoot();null!=D.value&&"object"==typeof D.value&&(x.value=D.value.getAttribute("animation"));var A=document.createElement("div");
A.style.border="1px solid lightGray";A.style.background="#ffffff";A.style.width="100%";A.style.height="100%";A.style.overflow="auto";mxEvent.disableContextMenu(A);v.appendChild(A);var B=new Graph(A);B.setEnabled(!1);B.setPanning(!0);B.foldingEnabled=!1;B.panningHandler.ignoreCell=!0;B.panningHandler.useLeftButtonForPanning=!0;B.minFitScale=null;B.maxFitScale=null;B.centerZoom=!0;var E=!1,G=!1,A=mxUtils.button("Fade In",function(){var b=a.editor.graph.getSelectionCells();if(0<b.length){for(var c=0;c<
b.length;c++)x.value=x.value+"show "+b[c].id+" fade\n";x.value+="wait 1000\n"}});y.appendChild(A);A=mxUtils.button("Wipe In",function(){var b=a.editor.graph.getSelectionCells();if(0<b.length){for(var c=0;c<b.length;c++)x.value=x.value+"show "+b[c].id+"\n";x.value+="wait 1000\n"}});y.appendChild(A);A=mxUtils.button("Fade Out",function(){var b=a.editor.graph.getSelectionCells();if(0<b.length){for(var c=0;c<b.length;c++)x.value=x.value+"hide "+b[c].id+"\n";x.value+="wait 1000\n"}});y.appendChild(A);
A=mxUtils.button("Wait",function(){x.value+="wait 1000\n"});y.appendChild(A);A=mxUtils.button("Preview",function(){r()});y.appendChild(A);A=mxUtils.button("Stop",function(){E=!1;B.getModel().clear()});y.appendChild(A);A=mxUtils.button("Apply",function(){a.editor.graph.setAttributeForCell(D,"animation",x.value)});y.appendChild(A);D=a.editor.graph.getModel().getRoot();u.appendChild(t);u.appendChild(v);q.appendChild(u);z.appendChild(y);q.appendChild(z);s.appendChild(q);this.window=new mxWindow("Animation",
s,c,f,d,b,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0)},AuthDialog=function(a,c,f,d){var b=document.createElement("div");b.style.textAlign="center";var e=document.createElement("p");e.style.fontSize="16pt";e.style.padding="0px";e.style.margin="0px";e.style.color="gray";mxUtils.write(e,mxResources.get("authorizationRequired"));var g="Unknown",k=document.createElement("img");k.setAttribute("border",
"0");k.setAttribute("align","absmiddle");k.style.marginRight="10px";c==a.drive?(g=mxResources.get("googleDrive"),k.src=IMAGE_PATH+"/google-drive-logo-white.svg"):c==a.dropbox?(g=mxResources.get("dropbox"),k.src=IMAGE_PATH+"/dropbox-logo-white.svg"):c==a.oneDrive&&(g=mxResources.get("oneDrive"),k.src=IMAGE_PATH+"/onedrive-logo-white.svg");c=document.createElement("p");mxUtils.write(c,mxResources.get("authorizeThisAppIn",[g]));var l=document.createElement("input");l.setAttribute("type","checkbox");
g=mxUtils.button(mxResources.get("authorize"),function(){a.hideDialog(!1);d(l.checked)});g.insertBefore(k,g.firstChild);g.style.marginTop="6px";g.className="geBigButton";b.appendChild(e);b.appendChild(c);b.appendChild(g);f&&(f=document.createElement("p"),f.style.marginTop="20px",f.appendChild(l),e=document.createElement("span"),mxUtils.write(e," "+mxResources.get("rememberMe")),f.appendChild(e),b.appendChild(f),l.checked=!0,l.defaultChecked=!0,mxEvent.addListener(e,"click",function(a){l.checked=!l.checked;
mxEvent.consume(a)}));this.container=b},MoreShapesDialog=function(a,c,f){f=null!=f?f:a.sidebar.entries;var d=document.createElement("div");if(c){c=document.createElement("div");c.className="geDialogTitle";mxUtils.write(c,mxResources.get("shapes"));c.style.position="absolute";c.style.top="0px";c.style.left="0px";c.style.lineHeight="40px";c.style.height="40px";c.style.right="0px";mxClient.IS_QUIRKS&&(c.style.width="718px");var b=document.createElement("div"),e=document.createElement("div");b.style.position=
"absolute";b.style.top="40px";b.style.left="0px";b.style.width="202px";b.style.bottom="60px";b.style.overflow="auto";mxClient.IS_QUIRKS&&(b.style.height="437px",b.style.marginTop="1px");e.style.position="absolute";e.style.left="202px";e.style.right="0px";e.style.top="40px";e.style.bottom="60px";e.style.overflow="auto";e.style.borderLeft="1px solid rgb(211, 211, 211)";e.style.textAlign="center";mxClient.IS_QUIRKS&&(e.style.width=parseInt(c.style.width)-202+"px",e.style.height=b.style.height,e.style.marginTop=
b.style.marginTop);var g=null,k=[],l=document.createElement("div");l.style.position="relative";l.style.left="0px";l.style.right="0px";for(var n=0;n<f.length;n++)(function(c){var d=l.cloneNode(!1);d.style.fontWeight="bold";d.style.backgroundColor="#e5e5e5";d.style.padding="6px 0px 6px 20px";mxUtils.write(d,c.title);b.appendChild(d);for(var f=0;f<c.entries.length;f++)(function(c){var d=l.cloneNode(!1);d.style.cursor="pointer";d.style.padding="4px 0px 4px 20px";var m=document.createElement("input");
m.setAttribute("type","checkbox");m.checked=a.sidebar.isEntryVisible(c.id);m.defaultChecked=m.checked;d.appendChild(m);mxUtils.write(d," "+c.title);b.appendChild(d);var t=function(a){if(null==a||"INPUT"!=mxEvent.getSource(a).nodeName)null!=c.imageCallback?c.imageCallback(e):null!=c.image?e.innerHTML='\x3cimg border\x3d"0" src\x3d"'+c.image+'"/\x3e':(e.innerHTML="\x3cbr\x3e",mxUtils.write(e,mxResources.get("noPreview"))),null!=g&&(g.style.backgroundColor=""),g=d,g.style.backgroundColor="#ebf2f9",null!=
a&&mxEvent.consume(a)};mxEvent.addListener(d,"click",t);mxEvent.addListener(d,"dblclick",function(a){m.checked=!m.checked;mxEvent.consume(a)});k.push(function(){return m.checked?c.id:null});0==n&&0==f&&t()})(c.entries[f])})(f[n]);d.style.padding="30px";d.appendChild(c);d.appendChild(b);d.appendChild(e);f=document.createElement("div");f.className="geDialogFooter";f.style.position="absolute";f.style.paddingRight="16px";f.style.color="gray";f.style.left="0px";f.style.right="0px";f.style.bottom="0px";
f.style.height="60px";f.style.lineHeight="52px";mxClient.IS_QUIRKS&&(f.style.width=c.style.width,f.style.paddingTop="12px");var m=document.createElement("input");m.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)c=document.createElement("span"),c.style.paddingRight="20px",c.appendChild(m),mxUtils.write(c," "+mxResources.get("rememberThisSetting")),m.checked=!0,m.defaultChecked=!0,mxEvent.addListener(c,"click",function(a){mxEvent.getSource(a)!=m&&(m.checked=!m.checked,mxEvent.consume(a))}),
mxClient.IS_QUIRKS&&(c.style.position="relative",c.style.top="-6px"),f.appendChild(c);c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";var p=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();for(var b=[],c=0;c<k.length;c++){var d=k[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(b.join(";"),m.checked,!0)});p.className="geBtn gePrimaryBtn"}else{var r=document.createElement("table"),s=document.createElement("tbody");d.style.height=
"100%";d.style.overflow="auto";var q=document.createElement("tr");r.style.width="100%";c=document.createElement("td");var p=document.createElement("td"),u=document.createElement("td"),t=mxUtils.bind(this,function(b,c,d){var e=document.createElement("input");e.type="checkbox";r.appendChild(e);e.checked=a.sidebar.isEntryVisible(d);var f=document.createElement("span");mxUtils.write(f,c);c=document.createElement("div");c.style.display="block";c.appendChild(e);c.appendChild(f);mxEvent.addListener(f,"click",
function(a){e.checked=!e.checked;mxEvent.consume(a)});b.appendChild(c);return function(){return e.checked?d:null}});q.appendChild(c);q.appendChild(p);q.appendChild(u);s.appendChild(q);r.appendChild(s);for(var k=[],v=0,n=0;n<f.length;n++)for(s=0;s<f[n].entries.length;s++)v++;for(var z=[c,p,u],y=0,n=0;n<f.length;n++)(function(a){for(var b=0;b<a.entries.length;b++){var c=a.entries[b];k.push(t(z[Math.floor(y/(v/3))],c.title,c.id));y++}})(f[n]);d.appendChild(r);f=document.createElement("div");f.style.marginTop=
"18px";f.style.textAlign="center";m=document.createElement("input");isLocalStorage&&(m.setAttribute("type","checkbox"),m.checked=!0,m.defaultChecked=!0,f.appendChild(m),c=document.createElement("span"),mxUtils.write(c," "+mxResources.get("rememberThisSetting")),f.appendChild(c),mxEvent.addListener(c,"click",function(a){m.checked=!m.checked;mxEvent.consume(a)}));d.appendChild(f);c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";p=mxUtils.button(mxResources.get("apply"),
function(){for(var b=["search"],c=0;c<k.length;c++){var d=k[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(0<b.length?b.join(";"):"",m.checked);a.hideDialog()});p.className="geBtn gePrimaryBtn";f=document.createElement("div");f.style.marginTop="26px";f.style.textAlign="right"}a.editor.cancelFirst?(f.appendChild(c),f.appendChild(p)):(f.appendChild(p),f.appendChild(c));d.appendChild(f);this.container=d},PluginsDialog=function(a){function c(){if(0==b.length)d.innerHTML=mxResources.get("noPlugins");
else{d.innerHTML="";for(var e=0;e<b.length;e++){var f=document.createElement("span");f.style.whiteSpace="nowrap";var g=document.createElement("span");g.className="geSprite geSprite-delete";g.style.position="relative";g.style.cursor="pointer";g.style.top="5px";g.style.marginRight="4px";g.style.display="inline-block";f.appendChild(g);mxUtils.write(f,b[e]);d.appendChild(f);mxUtils.br(d);mxEvent.addListener(g,"click",function(d){return function(){a.confirm(window.parent.mxResources.get("delete")+' "'+
b[d]+'"?',function(){b.splice(d,1);c()})}}(e))}}}var f=document.createElement("div"),d=document.createElement("div");d.style.height="120px";d.style.overflow="auto";var b=mxSettings.getPlugins().slice();f.appendChild(d);c();var e=mxUtils.button(mxResources.get("add"),function(){var d="",e=urlParams.p;if(null!=e&&0<e.length){for(var f=e.split(";"),e=0;e<f.length;e++){var g=App.pluginRegistry[f[e]];null!=g&&(d+=g+";")}";"==d.charAt(d.length-1)&&(d=d.substring(0,d.length-1))}d=new FilenameDialog(a,d,
mxResources.get("add"),function(a){if(null!=a&&0<a.length){f=a.split(";");for(a=0;a<f.length;a++)0<f[a].length&&0>mxUtils.indexOf(b,f[a])&&b.push(f[a]);c()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");a.showDialog(d.container,300,80,!0,!0);d.init()});e.className="geBtn";var g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});g.className="geBtn";var k=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(b);mxSettings.save();a.hideDialog();
a.alert(mxResources.get("restartForChangeRequired"))});k.className="geBtn gePrimaryBtn";var l=document.createElement("div");l.style.marginTop="14px";l.style.textAlign="right";a.editor.cancelFirst?(l.appendChild(g),l.appendChild(e),l.appendChild(k)):(l.appendChild(e),l.appendChild(k),l.appendChild(g));f.appendChild(l);this.container=f},EditGeometryDialog=function(a,c){var f=a.editor.graph,d=1==c.length?f.getCellGeometry(c[0]):null,b=document.createElement("div"),e=document.createElement("table"),g=
document.createElement("tbody"),k=document.createElement("tr"),l=document.createElement("td"),n=document.createElement("td");e.style.paddingLeft="6px";mxUtils.write(l,mxResources.get("left")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="100px";m.value=null!=d?d.x:"";this.init=function(){m.focus();m.select()};n.appendChild(m);k.appendChild(l);k.appendChild(n);g.appendChild(k);k=document.createElement("tr");l=document.createElement("td");n=document.createElement("td");
mxUtils.write(l,mxResources.get("top")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="100px";p.value=null!=d?d.y:"";n.appendChild(p);k.appendChild(l);k.appendChild(n);g.appendChild(k);k=document.createElement("tr");l=document.createElement("td");n=document.createElement("td");mxUtils.write(l,mxResources.get("width")+":");var r=document.createElement("input");r.setAttribute("type","text");r.style.width="100px";r.value=null!=d?d.width:"";n.appendChild(r);k.appendChild(l);
k.appendChild(n);g.appendChild(k);k=document.createElement("tr");l=document.createElement("td");n=document.createElement("td");mxUtils.write(l,mxResources.get("height")+":");var s=document.createElement("input");s.setAttribute("type","text");s.style.width="100px";s.value=null!=d?d.height:"";n.appendChild(s);k.appendChild(l);k.appendChild(n);g.appendChild(k);k=document.createElement("tr");l=document.createElement("td");n=document.createElement("td");mxUtils.write(l,mxResources.get("rotation")+":");
var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=1==c.length?mxUtils.getValue(f.getCellStyle(c[0]),mxConstants.STYLE_ROTATION,0):"";n.appendChild(q);k.appendChild(l);k.appendChild(n);g.appendChild(k);e.appendChild(g);b.appendChild(e);var d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),u=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();f.getModel().beginUpdate();try{for(var b=0;b<c.length;b++){var d=f.getCellGeometry(c[b]);
null!=d&&(d=d.clone(),f.isCellMovable(c[b])&&(0<mxUtils.trim(m.value).length&&(d.x=Number(m.value)),0<mxUtils.trim(p.value).length&&(d.y=Number(p.value))),f.isCellResizable(c[b])&&(0<mxUtils.trim(r.value).length&&(d.width=Number(r.value)),0<mxUtils.trim(s.value).length&&(d.height=Number(s.value))),f.getModel().setGeometry(c[b],d));0<mxUtils.trim(q.value).length&&f.setCellStyles(mxConstants.STYLE_ROTATION,Number(q.value),[c[b]])}}finally{f.getModel().endUpdate()}});mxEvent.addListener(b,"keypress",
function(a){13==a.keyCode&&u.click()});e=document.createElement("div");e.style.marginTop="20px";e.style.textAlign="right";a.editor.cancelFirst?(e.appendChild(d),e.appendChild(u)):(e.appendChild(u),e.appendChild(d));b.appendChild(e);this.container=b},LibraryDialog=function(a,c,f,d,b,e){function g(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=s;)a=a.parentNode;var b=null;if(null!=a)for(var c=s.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function k(b,c,
d,e,f,l,n,p,y){try{if(null==c||"image/"==c.substring(0,6))if(null==b&&null!=n||null==u[b]){s.style.backgroundImage="";q.style.display="none";var r=f,A=l;if(f>a.maxImageSize||l>a.maxImageSize){var C=Math.min(1,Math.min(a.maxImageSize/Math.max(1,f)),a.maxImageSize/Math.max(1,l));f*=C;l*=C}r>A?(A=Math.round(A*t/r),r=t):(r=Math.round(r*v/A),A=v);var N=document.createElement("div");N.setAttribute("draggable","true");N.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";N.style.position="relative";
N.style.cursor="move";mxUtils.setPrefixedStyle(N.style,"transition","transform .1s ease-in-out");if(null!=b){var P=document.createElement("img");P.setAttribute("src",D.convert(b));P.style.width=r+"px";P.style.height=A+"px";P.style.margin="10px";P.style.paddingBottom=Math.floor((v-A)/2)+"px";P.style.paddingLeft=Math.floor((t-r)/2)+"px";N.appendChild(P)}else if(null!=n){var M=a.stringToCells(a.editor.graph.decompress(n.xml));0<M.length&&(a.sidebar.createThumb(M,t,v,N,null,!0,!1),N.firstChild.style.display=
mxClient.IS_QUIRKS?"inline":"inline-block",N.firstChild.style.cursor="")}var U=document.createElement("img");U.setAttribute("src",Editor.closeImage);U.setAttribute("border","0");U.setAttribute("title",mxResources.get("delete"));U.setAttribute("align","top");U.style.paddingTop="4px";U.style.marginLeft="-22px";U.style.cursor="pointer";mxEvent.addListener(U,"dragstart",function(a){mxEvent.consume(a)});null==b&&null!=n&&(U.style.position="relative");(function(a,c){mxEvent.addListener(U,"click",function(d){u[b]=
null;for(var e=0;e<m.length;e++)if(null!=b&&m[e].data==c||null!=n&&m[e].xml==n.xml){m.splice(e,1);break}N.parentNode.removeChild(a);0==m.length&&(s.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",q.style.display="");mxEvent.consume(d)});mxEvent.addListener(U,"dblclick",function(a){mxEvent.consume(a)})})(N,b,n);N.appendChild(U);N.style.marginBottom="30px";var J=document.createElement("div");J.style.position="absolute";J.style.boxSizing="border-box";J.style.bottom="-18px";J.style.left=
"10px";J.style.right="10px";J.style.backgroundColor="#ffffff";J.style.overflow="hidden";J.style.textAlign="center";var K=null;null!=b?(K={data:b,w:f,h:l,title:y},null!=p&&(K.aspect=p),u[b]=P,m.push(K)):null!=n&&(n.aspect="fixed",m.push(n),K=n);var S=function(){J.innerHTML="";J.style.cursor="pointer";J.style.whiteSpace="nowrap";J.style.textOverflow="ellipsis";mxUtils.write(J,null!=K.title&&0<K.title.length?K.title:mxResources.get("untitled"));J.style.color=null==K.title||0==K.title.length?"#d0d0d0":
""};mxEvent.addListener(J,"keydown",function(a){13==a.keyCode&&null!=x&&(x(),x=null,mxEvent.consume(a))});S();N.appendChild(J);mxEvent.addListener(J,"mousedown",function(a){mxEvent.consume(a)});f=function(b){if(!mxClient.IS_IOS&&!mxClient.IS_QUIRKS&&!mxClient.IS_FF&&(null==document.documentMode||9<document.documentMode)){if("true"!=J.getAttribute("contentEditable")){null!=x&&(x(),x=null);if(null==K.title||0==K.title.length)J.innerHTML="";J.style.textOverflow="";J.style.whiteSpace="";J.style.cursor=
"text";J.style.color="";J.setAttribute("contentEditable","true");J.focus();document.execCommand("selectAll",!1,null);x=function(){J.removeAttribute("contentEditable");J.style.cursor="pointer";K.title=J.innerHTML;S()}}}else{var c=new FilenameDialog(a,K.title||"",mxResources.get("ok"),function(a){null!=a&&(K.title=a,S())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init()}mxEvent.consume(b)};mxEvent.addListener(J,"click",f);mxEvent.addListener(N,"dblclick",f);s.appendChild(N);
mxEvent.addListener(N,"dragstart",function(a){null==b&&null!=n&&(U.style.visibility="hidden",J.style.visibility="hidden");mxClient.IS_FF&&null!=n.xml&&a.dataTransfer.setData("Text",n.xml);z=g(a);mxClient.IS_GC&&(N.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(N.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(N,30);U.style.visibility="";J.style.visibility=""},0)});mxEvent.addListener(N,"dragend",function(a){"hidden"==U.style.visibility&&(U.style.visibility="",J.style.visibility=
"");z=null;mxUtils.setOpacity(N,100);mxUtils.setPrefixedStyle(N.style,"transform",null)})}else a.handleError({message:mxResources.get("fileExists")});else{f=!1;try{if(null!=b&&"\x3cmxlibrary"==b.substring(0,10)){A=mxUtils.parseXml(b);r=JSON.parse(mxUtils.getTextContent(A.documentElement));if(null!=r&&0<r.length)for(l=0;l<r.length;l++)null!=r[l].xml?k(null,null,0,0,0,0,r[l]):k(r[l].data,null,0,0,r[l].w,r[l].h,null,"fixed",r[l].title);a.spinner.stop();f=!0}}catch(Z){}f||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ea){console.log("e",
ea)}return null}function l(a){a.dataTransfer.dropEffect=null!=z?"move":"copy";a.stopPropagation();a.preventDefault()}function n(b){b.stopPropagation();b.preventDefault();y=g(b);if(null!=z)null!=y&&y<s.children.length?(m.splice(y>z?y-1:y,0,m.splice(z,1)[0]),s.insertBefore(s.children[z],s.children[y])):(m.push(m.splice(z,1)[0]),s.appendChild(s.children[z]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,function(a,c,d,e,f,g,l){k(a,c,d,e,f,g,l,"fixed",mxEvent.isAltDown(b)?
null:l.substring(0,l.lastIndexOf(".")).replace(/_/g," "))});else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)||/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(a){k(c,null,0,0,a.width,a.height)})}b.stopPropagation();b.preventDefault()}var m=[];f=document.createElement("div");f.style.height="100%";var p=document.createElement("div");p.style.whiteSpace=
"nowrap";p.style.height="40px";f.appendChild(p);mxUtils.write(p,mxResources.get("filename")+":");null==c&&(c=a.defaultLibraryName+".xml");var r=document.createElement("input");r.setAttribute("value",c);r.style.marginRight="20px";r.style.marginLeft="10px";r.style.width="500px";null!=b&&!b.isRenamable()&&r.setAttribute("disabled","true");this.init=function(){if(null==b||b.isRenamable())r.focus(),mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?r.select():document.execCommand("selectAll",
!1,null)};p.appendChild(r);var s=document.createElement("div");s.style.borderWidth="1px 0px 1px 0px";s.style.borderColor="#d3d3d3";s.style.borderStyle="solid";s.style.marginTop="6px";s.style.overflow="auto";s.style.height="340px";s.style.backgroundPosition="center center";s.style.backgroundRepeat="no-repeat";0==m.length&&Graph.fileSupport&&(s.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var q=document.createElement("div");q.style.position="absolute";q.style.width="640px";q.style.top=
"260px";q.style.textAlign="center";q.style.fontSize="22px";q.style.color="#a0c3ff";mxUtils.write(q,mxResources.get("dragImagesHere"));f.appendChild(q);var u={},t=100,v=100,z=null,y=null,x=null;c=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=x&&(x(),x=null,mxEvent.consume(a))};mxEvent.addListener(s,"mousedown",c);mxEvent.addListener(s,"pointerdown",c);mxEvent.addListener(s,"touchstart",c);var D=new mxUrlConverter;if(null!=d)for(c=0;c<d.length;c++)p=d[c],k(p.data,null,
0,0,p.w,p.h,p);mxEvent.addListener(s,"dragleave",function(a){q.style.cursor="";for(var b=mxEvent.getSource(a);null!=b;){if(b==s||b==q){a.stopPropagation();a.preventDefault();break}b=b.parentNode}});mxEvent.addListener(s,"dragover",l);mxEvent.addListener(s,"drop",n);mxEvent.addListener(q,"dragover",l);mxEvent.addListener(q,"drop",n);f.appendChild(s);d=document.createElement("div");d.style.textAlign="right";d.style.marginTop="20px";c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});
c.setAttribute("id","btnCancel");c.className="geBtn";a.editor.cancelFirst&&d.appendChild(c);!window.chrome||!chrome.app||!chrome.app.runtime?(p=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(m),c=r.value;/(\.xml)$/i.test(c)||(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml"):(new mxXmlRequest(SAVE_URL,"filename\x3d"+encodeURIComponent(c)+"\x26format\x3dxml\x26xml\x3d"+encodeURIComponent(b))).simulate(document,"_blank")}),p.setAttribute("id","btnDownload"),
p.className="geBtn",d.appendChild(p)):r.setAttribute("disabled","disabled");var A=document.createElement("input");A.setAttribute("multiple","multiple");A.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(A,"change",function(b){a.importFiles(A.files,0,0,a.maxImageSize,function(a,b,c,d,e,f,g){k(a,b,c,d,e,f,g,"fixed");A.value=""})}),p=mxUtils.button(mxResources.get("import"),function(){null!=x&&(x(),x=null);A.click()}),p.setAttribute("id","btnAddImage"),p.className="geBtn",
d.appendChild(p));p=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=x&&(x(),x=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){if(null!=a){if("data:image/"==a.substring(0,11)){var d=a.indexOf(",");0<d&&(a=a.substring(0,d)+";base64,"+a.substring(d+1))}k(a,null,0,0,b,c)}})});p.setAttribute("id","btnAddImageUrl");p.className="geBtn";d.appendChild(p);this.saveBtnClickHandler=function(b,c,d,e){a.saveLibrary(b,c,d,e)};p=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,
function(){null!=x&&(x(),x=null);this.saveBtnClickHandler(r.value,m,b,e)}));p.setAttribute("id","btnSave");p.className="geBtn gePrimaryBtn";d.appendChild(p);a.editor.cancelFirst||d.appendChild(c);f.appendChild(d);this.container=f},EditShapeDialog=function(a,c,f,d,b){d=null!=d?d:300;b=null!=b?b:120;var e,g,k=document.createElement("table"),l=document.createElement("tbody");k.style.cellPadding="4px";e=document.createElement("tr");g=document.createElement("td");g.setAttribute("colspan","2");g.style.fontSize=
"10pt";mxUtils.write(g,f);e.appendChild(g);l.appendChild(e);e=document.createElement("tr");g=document.createElement("td");var n=document.createElement("textarea");n.style.outline="none";n.style.resize="none";n.style.width=d-200+"px";n.style.height=b+"px";this.textarea=n;this.init=function(){n.focus();n.scrollTop=0};g.appendChild(n);e.appendChild(g);g=document.createElement("td");f=document.createElement("div");f.style.position="relative";f.style.border="1px solid gray";f.style.top="6px";f.style.width=
"200px";f.style.height=b+4+"px";f.style.overflow="hidden";f.style.marginBottom="16px";mxEvent.disableContextMenu(f);g.appendChild(f);var m=new Graph(f);m.setEnabled(!1);var p=a.editor.graph.cloneCells([c])[0];m.addCells([p]);f=m.view.getState(p);var r="";null!=f.shape&&null!=f.shape.stencil&&(r=mxUtils.getPrettyXml(f.shape.stencil.desc));mxUtils.write(n,r||"");f=m.getGraphBounds();b=Math.min(160/f.width,(b-40)/f.height);m.view.scaleAndTranslate(b,20/b-f.x,20/b-f.y);e.appendChild(g);l.appendChild(e);
e=document.createElement("tr");g=document.createElement("td");g.setAttribute("colspan","2");g.style.paddingTop="2px";g.style.whiteSpace="nowrap";g.setAttribute("align","right");b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";a.editor.cancelFirst&&g.appendChild(b);a.isOffline()||(f=mxUtils.button(mxResources.get("help"),function(){window.open("https://support.draw.io/display/DO/Editing+Shapes")}),f.className="geBtn",g.appendChild(f));var s=function(b,c,d){var e=
n.value,f=mxUtils.parseXml(e),e=mxUtils.getPrettyXml(f.documentElement),f=f.documentElement.getElementsByTagName("parsererror");if(null!=f&&0<f.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(d&&a.hideDialog(),f=!b.model.contains(c),!d||f||e!=r){e=a.editor.graph.compress(e);b.getModel().beginUpdate();try{if(f){var g=a.editor.graph.getInsertPoint();c.geometry.x=g.x;c.geometry.y=g.y;b.addCell(c)}b.setCellStyles(mxConstants.STYLE_SHAPE,
"stencil("+e+")",[c])}catch(k){throw k;}finally{b.getModel().endUpdate()}f&&b.setSelectionCell(c)}};f=mxUtils.button(mxResources.get("preview"),function(){s(m,p,!1)});f.className="geBtn";g.appendChild(f);f=mxUtils.button(mxResources.get("apply"),function(){s(a.editor.graph,c,!0)});f.className="geBtn gePrimaryBtn";g.appendChild(f);a.editor.cancelFirst||g.appendChild(b);e.appendChild(g);l.appendChild(e);k.appendChild(l);this.container=k},CustomDialog=function(a,c,f,d,b,e){var g=document.createElement("div");
g.appendChild(c);c=document.createElement("div");c.style.marginTop="16px";c.style.textAlign="center";var k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});k.className="geBtn";a.editor.cancelFirst&&c.appendChild(k);if(!a.isOffline()&&null!=e){var l=mxUtils.button(mxResources.get("help"),function(){window.open(e)});l.className="geBtn";c.appendChild(l)}b=mxUtils.button(b||mxResources.get("ok"),function(){a.hideDialog();null!=f&&f()});c.appendChild(b);b.className="geBtn gePrimaryBtn";
a.editor.cancelFirst||c.appendChild(k);g.appendChild(c);this.container=g};(function(){EditorUi.VERSION="5.6.0.3";EditorUi.compactUi="atlas"!=uiTheme;"1"==urlParams.dev&&(Editor.prototype.editBlankUrl+="\x26dev\x3d1",Editor.prototype.editBlankFallbackUrl+="\x26dev\x3d1");(function(){EditorUi.prototype.useCanvasForExport=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=c&&6<c.length}catch(d){}};b.src="data:image/svg+xml;base64,"+
btoa(unescape(encodeURIComponent('\x3csvg xmlns\x3d"http://www.w3.org/2000/svg" xmlns:xlink\x3d"http://www.w3.org/1999/xlink" width\x3d"1px" height\x3d"1px" version\x3d"1.1"\x3e\x3cforeignObject pointer-events\x3d"all" width\x3d"1" height\x3d"1"\x3e\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e\x3c/div\x3e\x3c/foreignObject\x3e\x3c/svg\x3e')))}catch(c){}})();Editor.initMath=function(a,b){a=null!=a?a:"https://cdn.mathjax.org/mathjax/2.6-latest/MathJax.js?config\x3dTeX-MML-AM_HTMLorMML";Editor.mathJaxQueue=
[];Editor.doMathJaxRender=function(a){MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(b||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",
function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};Editor.prototype.init=function(){this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,b){this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var c=document.getElementsByTagName("script");
if(null!=c&&0<c.length){var d=document.createElement("script");d.type="text/javascript";d.src=a;c[0].parentNode.appendChild(d)}};Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC":
IMAGE_PATH+"/delete.png";Editor.prototype.addSvgShadow=function(a,b,c){c=null!=c?c:!1;var d=a.ownerDocument,e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"filter"):d.createElement("filter");e.setAttribute("id","dropShadow");var f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):d.createElement("feGaussianBlur");f.setAttribute("in","SourceAlpha");f.setAttribute("stdDeviation","1.7");f.setAttribute("result","blur");e.appendChild(f);f=null!=d.createElementNS?
d.createElementNS(mxConstants.NS_SVG,"feOffset"):d.createElement("feOffset");f.setAttribute("in","blur");f.setAttribute("dx","3");f.setAttribute("dy","3");f.setAttribute("result","offsetBlur");e.appendChild(f);f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feFlood"):d.createElement("feFlood");f.setAttribute("flood-color","#3D4574");f.setAttribute("flood-opacity","0.4");f.setAttribute("result","offsetColor");e.appendChild(f);f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,
"feComposite"):d.createElement("feComposite");f.setAttribute("in","offsetColor");f.setAttribute("in2","offsetBlur");f.setAttribute("operator","in");f.setAttribute("result","offsetBlur");e.appendChild(f);f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feBlend"):d.createElement("feBlend");f.setAttribute("in","SourceGraphic");f.setAttribute("in2","offsetBlur");e.appendChild(f);var f=a.getElementsByTagName("defs"),g=null;0==f.length?(g=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,
"defs"):d.createElement("defs"),null!=a.firstChild?a.insertBefore(g,a.firstChild):a.appendChild(g)):g=f[0];g.appendChild(e);c||((b||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#dropShadow)"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return e};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var a=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=
function(){a.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh();this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.movePickersToTop=function(){for(var a=document.getElementsByTagName("div"),
b=0;b<a.length;b++)"picker modal-dialog picker-dialog"==a[b].className&&(a[b].style.zIndex=mxPopupMenu.prototype.zIndex+1)};if(window.PrintDialog){var c=PrintDialog.showPreview;PrintDialog.showPreview=function(a,b){"undefined"!==typeof MathJax&&a.graph.mathEnabled&&(b=!1);return c.apply(this,arguments)};var f=PrintDialog.createPrintPreview;PrintDialog.createPrintPreview=function(a,b,c,d,e,g,k,l){var m=f.apply(this,arguments);if("undefined"!==typeof MathJax&&a.mathEnabled){var n=m.writePostfix;m.writePostfix=
function(a,b){n.apply(this,arguments);a.writeln('\x3cscript type\x3d"text/x-mathjax-config"\x3e');a.writeln("MathJax.Hub.Config({");a.writeln('messageStyle: "none",');a.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],');a.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],');a.writeln("TeX: {");a.writeln('\textensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]');a.writeln("}");a.writeln("});");l&&(a.writeln("MathJax.Hub.Queue(function () {"),
a.writeln("window.print();"),a.writeln("});"));a.writeln("\x3c/script\x3e");a.writeln('\x3cscript type\x3d"text/javascript" src\x3d"https://cdn.mathjax.org/mathjax/2.6-latest/MathJax.js"\x3e\x3c/script\x3e')}}return m}}window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.getExportParameter=function(a,b){return function(){return"xml\x3d"+encodeURIComponent(a.getFileData(!0))}});Editor.prototype.appName="draw.io";EditorUi.prototype.isOfflineApp=function(){return"1"==
urlParams.offline};EditorUi.prototype.isOffline=function(){return mxClient.IS_FF&&this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12,length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),e=d.spin;d.spin=function(c,f){var g=!1;if(!this.active){e.call(this,c);this.active=!0;if(null!=f&&(g=document.createElement("div"),g.style.position=
"absolute",g.style.whiteSpace="nowrap",g.style.background="#4B4243",g.style.color="white",g.style.fontFamily="Helvetica, Arial",g.style.fontSize="9pt",g.style.padding="6px",g.style.paddingLeft="10px",g.style.paddingRight="10px",g.style.zIndex=2E9,g.style.left=Math.max(0,a)+"px",g.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(g.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(g.style,"boxShadow","2px 2px 3px 0px #ddd"),mxUtils.setPrefixedStyle(g.style,"transform","translate(-50%,-50%)"),
g.innerHTML=f+"...",c.appendChild(g),d.status=g,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)))g.style.left=Math.round(Math.max(0,a-g.offsetWidth/2))+"px",g.style.top=Math.round(Math.max(0,b+70-g.offsetHeight/2))+"px";this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,f)}));this.stop();return a});g=!0}return g};var f=d.stop;d.stop=function(){f.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),
d.status=null)};return d};EditorUi.parsePng=function(a,b,c){function d(a,b){var c=f;f+=b;return a.substring(c,f)}function e(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var f=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a,4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=e(a);var g=d(a,4);if(null!=b&&b(f-8,g,c))break;value=d(a,c);d(a,4);if("IEND"==g)break}while(c)}};Editor.prototype.extractGraphModel=
function(a,b){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"),d=[];if(null!=c&&0<c.length)for(var e=0;e<c.length;e++)if("mxgraph"==c[e].getAttribute("class")){d.push(c[e]);break}0<d.length&&(c=d[0].getAttribute("data-mxgraph"),null!=c?(d=JSON.parse(c),null!=d&&null!=d.xml&&(d=mxUtils.parseXml(d.xml),a=d.documentElement)):(d=d[0].getElementsByTagName("div"),0<d.length&&(c=mxUtils.getTextContent(d[0]),c=this.graph.decompress(c),0<c.length&&(d=mxUtils.parseXml(c),
a=d.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(c=a.getAttribute("content"),null!=c&&("\x3c"!=c.charAt(0)&&"%"!=c.charAt(0))&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)a=mxUtils.parseXml(c).documentElement;else throw{message:mxResources.get("notADiagramFile")};null!=a&&!b&&(d=null,"diagram"==a.nodeName?d=a:"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),0<c.length&&(d=c[Math.max(0,Math.min(c.length-
1,urlParams.page||0))])),null!=d&&(a=mxUtils.parseXml(this.graph.decompress(mxUtils.getTextContent(d))).documentElement));if(null!=a&&"mxGraphModel"!=a.nodeName&&(!b||"mxfile"!=a.nodeName))a=null;return a};var d=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=d.apply(this,arguments);if(null==b)try{var c=a.indexOf("\x26lt;mxfile ");if(0<=c){var e=a.lastIndexOf("\x26lt;/mxfile\x26gt;");e>c&&(b=a.substring(c,e+15).replace(/&gt;/g,"\x3e").replace(/&lt;/g,
"\x3c").replace(/\n/g,""))}else var f=mxUtils.parseXml(a),g=this.editor.extractGraphModel(f.documentElement),b=null!=g?mxUtils.getXml(g):""}catch(k){}return b};EditorUi.prototype.setFileData=function(a){this.pages=this.fileNode=this.currentPage=null;if(null!=a&&0<a.length){var b=a.indexOf('\x3cmeta charset\x3d"utf-8"\x3e');0<=b&&(a=a.slice(0,b)+'\x3cmeta charset\x3d"utf-8"/\x3e'+a.slice(b+23-1,a.length))}b=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;a=null!=b?this.editor.extractGraphModel(b,
!0):null;null!=a&&(b=a);if(null!=b&&"mxfile"==b.nodeName&&(a=b.getElementsByTagName("diagram"),1<a.length||"1"==urlParams.pages)){this.fileNode=b;this.pages=[];for(b=0;b<a.length;b++){var c=new DiagramPage(a[b]);null==c.getName()&&c.setName(mxResources.get("pageWithNumber",[b+1]));this.pages.push(c)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];b=this.currentPage.node}"1"==urlParams.pages&&null==this.fileNode&&(this.fileNode=b.ownerDocument.createElement("mxfile"),
this.currentPage=new DiagramPage(b.ownerDocument.createElement("diagram")),this.pages=[this.currentPage],null==this.currentPage.getName()&&this.currentPage.setName(mxResources.get("pageWithNumber",[1])));this.editor.setGraphXml(b);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};var b=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(a){a=null!=a&&"mxlibrary"!=a.nodeName?this.extractGraphModel(a):null;if(null!=a){var c=a.getElementsByTagName("parsererror");
if(null!=c&&0<c.length){var c=c[0],d=c.getElementsByTagName("div");null!=d&&0<d.length&&(c=d[0]);throw{message:mxUtils.getTextContent(c)};}if("mxGraphModel"==a.nodeName){c=a.getAttribute("style")||"default-style2";if("1"!=urlParams.embed&&(null==c||""==c)){if(d=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=d){var e=new mxCodec(d.ownerDocument);e.decode(d,this.graph.getStylesheet())}}else c!=this.graph.currentStyle&&
(d=null!=this.graph.themes?this.graph.themes[c]:mxUtils.load(STYLE_PATH+"/"+c+".xml").getDocumentElement(),null!=d&&(e=new mxCodec(d.ownerDocument),e.decode(d,this.graph.getStylesheet())));this.graph.currentStyle=c;this.graph.mathEnabled="1"==urlParams.math||"1"==a.getAttribute("math");c=a.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src,c.width,c.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;
this.graph.setShadowVisible("1"==a.getAttribute("shadow"),!1)}b.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var e=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var b=e.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&b.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&b.setAttribute("backgroundImage",
JSON.stringify(this.graph.backgroundImage));b.setAttribute("math",this.graph.mathEnabled?"1":"0");b.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return b};var g=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;g.apply(this,arguments)};"1"==urlParams.offline?EditorUi.prototype.footerHeight=4:("atlas"==uiTheme?("undefined"!==
typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=
2):"1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=740>=screen.height?5:46,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",
b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display="none",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,d,e){a=new ImageDialog(this,a,b,c,d,e);this.showDialog(a.container,Graph.fileSupport?420:340,Graph.fileSupport?200:
90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.setBackgroundImage(a)});var b=new BackgroundImageDialog(this,mxUtils.bind(this,function(b){a(b)}));this.showDialog(b.container,360,200,!0,!0);b.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,d,e){a=new LibraryDialog(this,a,b,c,d,e);this.showDialog(a.container,620,440,!0,!0,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()}));a.init()};
EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape\x3dstencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE\x3d);whiteSpace\x3dwrap;html\x3d1;";EditorUi.prototype.createSidebarFooterContainer=function(){var a=
this.createDiv("geSidebarContainer");a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.maxBackgroundSize=1600;
EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))};EditorUi.prototype.isExportToCanvas=
function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createPngDataUri=function(a,b){var c=a.toDataURL("image/png");if(6>=c.length||c==a.cloneNode(!1).toDataURL("image/png"))throw{message:"Invalid image"};null!=b&&(c=this.writeGraphModelToPng(c,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return c};EditorUi.prototype.saveCanvas=
function(a,b){var c=this.getCurrentFile(),c=null!=c&&null!=c.getTitle()?c.getTitle():this.defaultFilename,d=c.lastIndexOf(".");0<d&&(c=c.substring(0,d));c+=".png";d=this.createPngDataUri(a,b);this.saveLocalFile(d.substring(d.lastIndexOf(",")+1),c,"image/png",!0)};EditorUi.prototype.showRemoteExportDialog=function(a,b,c){var d=this.editor.graph,e=document.createElement("div");e.style.padding="6px";var f=document.createElement("input");f.style.marginRight="8px";f.setAttribute("type","checkbox");d.isSelectionEmpty()?
f.setAttribute("disabled","disabled"):(f.setAttribute("checked","checked"),f.defaultChecked=!0);e.appendChild(f);mxUtils.write(e,mxResources.get("selectionOnly"));mxUtils.br(e);var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";e.appendChild(g);mxUtils.write(e,mxResources.get("includeCopyOfMyDiagram"));a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!f.checked,g.checked)}),
null,a,b);this.showDialog(a.container,300,120,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d){var e=this.editor.graph,f=document.createElement("div");f.style.paddingTop="20px";f.style.paddingRight="8px";var g=document.createElement("input");g.style.marginRight="8px";g.setAttribute("type","checkbox");if(e.background==mxConstants.NONE||null==e.background)g.setAttribute("checked","checked"),g.defaultChecked=!0;f.appendChild(g);mxUtils.write(f,mxResources.get("transparentBackground"));mxUtils.br(f);
var k=document.createElement("input");k.style.marginTop="16px";k.style.marginRight="8px";k.setAttribute("type","checkbox");e.isSelectionEmpty()?k.setAttribute("disabled","disabled"):(k.setAttribute("checked","checked"),k.defaultChecked=!0);f.appendChild(k);mxUtils.write(f,mxResources.get("selectionOnly"));mxUtils.br(f);var l=document.createElement("input");l.style.marginTop="16px";l.style.marginRight="8px";l.setAttribute("type","checkbox");f.appendChild(l);mxUtils.write(f,mxResources.get("shadow"));
mxUtils.br(f);e.shadowVisible&&(l.setAttribute("checked","checked"),l.defaultChecked=!0);var m=document.createElement("input");m.style.marginTop="16px";m.style.marginRight="8px";m.setAttribute("type","checkbox");(this.isOffline()||!this.canvasSupported)&&m.setAttribute("disabled","disabled");a&&(f.appendChild(m),mxUtils.write(f,mxResources.get("embedImages")),mxUtils.br(f));var n=document.createElement("input");n.style.marginTop="16px";n.style.marginRight="8px";n.setAttribute("type","checkbox");n.style.marginBottom=
"8px";n.setAttribute("checked","checked");n.defaultChecked=!0;f.appendChild(n);mxUtils.write(f,mxResources.get("includeCopyOfMyDiagram"));b=new FilenameDialog(this,100,b,mxUtils.bind(this,function(a){d(a,g.checked,!k.checked,l.checked,n.checked,m.checked)}),mxResources.get("zoom")+" (%)",null,f,!this.isOffline()?c:null);this.showDialog(b.container,320,a?266:240,!0,!0);b.init()};EditorUi.prototype.uploadToGithub=function(a,b,c){var d=this.spinner.pause();c=document.createElement("div");c.style.paddingTop=
"20px";c.style.paddingRight="8px";var e=document.createElement("table"),f=document.createElement("tbody"),g=document.createElement("tr"),k=document.createElement("td"),l=document.createElement("input");l.setAttribute("type","text");mxUtils.write(k,"Username:");g.appendChild(k);k=k.cloneNode(!1);k.appendChild(l);g.appendChild(k);f.appendChild(g);var k=k.cloneNode(!1),m=document.createElement("input");m.setAttribute("type","password");mxUtils.write(k,"Password:");g=g.cloneNode(!1);g.appendChild(k);
k=k.cloneNode(!1);k.appendChild(m);g.appendChild(k);f.appendChild(g);var k=k.cloneNode(!1),n=document.createElement("input");n.setAttribute("type","text");mxUtils.write(k,"Organisation:");g=g.cloneNode(!1);g.appendChild(k);k=k.cloneNode(!1);k.appendChild(n);g.appendChild(k);f.appendChild(g);var k=k.cloneNode(!1),p=document.createElement("input");p.setAttribute("type","text");mxUtils.write(k,"Repository:");g=g.cloneNode(!1);g.appendChild(k);k=k.cloneNode(!1);k.appendChild(p);g.appendChild(k);f.appendChild(g);
var k=k.cloneNode(!1),r=document.createElement("input");r.setAttribute("type","text");mxUtils.write(k,"Path:");g=g.cloneNode(!1);g.appendChild(k);k=k.cloneNode(!1);k.appendChild(r);g.appendChild(k);f.appendChild(g);k=k.cloneNode(!1);a=this.getCurrentFile();a=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;var s=a.lastIndexOf(".");0<s&&(a=a.substring(0,s));r.value=a+".png";var I=document.createElement("input");I.setAttribute("type","text");mxUtils.write(k,"Branch/Tag:");I.value="master";
g=g.cloneNode(!1);g.appendChild(k);k=k.cloneNode(!1);k.appendChild(I);g.appendChild(k);f.appendChild(g);var k=k.cloneNode(!1),L=document.createElement("input");L.setAttribute("type","text");mxUtils.write(k,"Message:");L.value="Updated "+a+".png";g=g.cloneNode(!1);g.appendChild(k);k=k.cloneNode(!1);k.appendChild(L);g.appendChild(k);f.appendChild(g);k=k.cloneNode(!1);e.appendChild(f);c.appendChild(e);c=new FilenameDialog(this,null,mxResources.get("publish"),mxUtils.bind(this,function(){var a="https://api.github.com/repos/"+
n.value+"/"+p.value+"/contents/"+r.value+"?ref\x3d"+encodeURIComponent(I.value);d();mxUtils.get(a,mxUtils.bind(this,function(c){if(200==c.getStatus()||404==c.getStatus()){c=JSON.parse(c.getText());var e={path:r.value,message:L.value,content:b};null!=c.sha&&(e.sha=c.sha);var f=new XMLHttpRequest;f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&300>f.status){this.spinner.stop();this.hideDialog();a="https://github.com/"+n.value+"/"+p.value+"/blob/"+I.value+"/"+r.value;
var b=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open(a)}),!1);this.showDialog(b.container,340,170,!0,!1);b.init()}else d=this.spinner.pause(),this.handleError(JSON.parse(f.responseText))});f.open("PUT",a,!0);f.setRequestHeader("Authorization","Basic "+
btoa(l.value+":"+m.value));f.send(JSON.stringify(e))}else this.hideDialog(),this.spinner.stop(),this.handleError(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){this.hideDialog();this.spinner.stop();this.handleError({message:mxResources.get("unknownError")})}))}),null,null,c,null,!1);this.showDialog(c.container,260,260,!0,!1);c.init()};EditorUi.prototype.uploadToImgur=function(a,b,c){var d=this.spinner.pause(),e=new ErrorDialog(this,mxResources.get("warning"),'\x3cimg style\x3d"max-width:300px;max-height:80px;margin-bottom:20px;padding:6px;border:1px solid gray;" src\x3d"data:image/png;base64,'+
b+'"/\x3e\x3cbr\x3e'+mxResources.get("publishConfirmation"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("publish"),mxUtils.bind(this,function(){d();var e=null!=a.getTitle()?a.getTitle():this.defaultFilename,f=e.lastIndexOf("."),g=e;0<f&&(g=e=g.substring(0,f));var f=new mxXmlRequest("/imgur",JSON.stringify({type:"base64",image:b,name:g+".png",title:e,description:"Made with https://www.draw.io"}),"POST"),k=mxUtils.bind(this,function(a){var b={message:mxResources.get("unknownError")};
try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});f.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText());try{(new Image).src="images/log.png?published\x3d"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(d){}var f=mxUtils.bind(this,function(){this.spinner.stop();var a="http://i.imgur.com/"+b.data.id+".png",c="https://www.draw.io/imgur?delete\x3d"+b.data.deletehash,
a=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"])+"\x3cbr\x3e"+mxResources.get("deleteUrl",[c]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open("http://imgur.com/"+b.data.id)}),!1);this.showDialog(a.container,340,170,!0,!1);a.init()});if(c){var g=new mxXmlRequest("/imgur?"+b.data.deletehash,JSON.stringify({title:e,
description:"Edit a copy of this diagram at https://www.draw.io/i/"+b.data.id}),"POST");g.send(mxUtils.bind(this,function(){200==g.getStatus()?f():k(g)}),mxUtils.bind(this,function(){k(g)}))}else f()}catch(l){this.handleError(l)}else k(a)}),mxUtils.bind(this,function(a){k(a)}))}));this.showDialog(e.container,320,250,!0,!1);e.init()};EditorUi.prototype.publishImage=function(a){var b=this.getCurrentFile();null!=b&&(this.isExportToCanvas()?this.showExportDialog(!1,mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",
mxUtils.bind(this,function(c,d,e,f,g){c=parseInt(c);if(!isNaN(c)&&0<c){c/=100;var k=this.editor.graph.isSelectionEmpty();e=null!=e?e:k;if(this.spinner.spin(document.body,mxResources.get("publishing")))try{this.exportToCanvas(mxUtils.bind(this,function(c){try{var d=g?mxUtils.getXml(this.editor.getGraphXml(e)):null,f=this.createPngDataUri(c,d);a(b,f.substring(f.lastIndexOf(",")+1),g)}catch(k){this.handleError(k)}}),null,null,null,mxUtils.bind(this,function(a){this.handleError(a)}),null,e,c||1,d,f)}catch(l){this.handleError(l)}}})):
this.showRemoteExportDialog(mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(c,d){if(this.spinner.spin(document.body,mxResources.get("publishing"))){var e=this.editor.graph.getGraphBounds(),f=this.getFileData(!0,null,null,null,c);if(e.width*e.height<=MAX_AREA&&f.length<=MAX_REQUEST_SIZE)try{var g=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+(d?"1":"0")+"\x26xml\x3d"+encodeURIComponent(f));g.send(mxUtils.bind(this,
function(){200==g.getStatus()?a(b,g.getText(),d):this.handleError(g)}))}catch(k){this.handleError(k)}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}})))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);
if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&&(g=null));b=this.editor.graph.getSvg(g,null,null,null,null,f);b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,
function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(b)};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,k,l,m,n){f=null!=f?f:!0;var p=l?null:this.editor.graph.background;
p==mxConstants.NONE&&(p=null);null==p&&(p=d);null==p&&!1==l&&(p="#ffffff");this.convertImages(this.editor.graph.getSvg(p,null,null,null,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),l=parseInt(c.getAttribute("height"));k=null!=k?k:1;null!=b&&(k=!f?b/g:Math.min(1,Math.min(3*b/(4*l),b/g)));e.setAttribute("width",Math.ceil(k*g));e.setAttribute("height",Math.ceil(k*l));g=
e.getContext("2d");g.scale(k,k);g.drawImage(d,0,0);a(e)});d.onerror=function(a){null!=e&&e(a)};try{m&&this.editor.addSvgShadow(c),this.convertMath(this.editor.graph,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,n)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"==c.substring(0,8))&&c.substring(0,
a.baseUrl.length)!=a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var k=a.getElementsByTagName(c),l=0;l<k.length;l++)mxUtils.bind(this,function(c){var k=d.convert(c.getAttribute(g));if(null!=k&&"data:"!=k.substring(0,5)){var l=f[k];null==l?(e++,this.convertImageToDataUri(k,
function(d){null!=d&&(f[k]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,l)}})(k[l])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b()});else{var c=new Image;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width=c.width;d.drawImage(c,0,0);b(a.toDataURL())};
c.onerror=function(){b()};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),k=this.editor.extractGraphModel(g.documentElement);if(null!=k){var l=new mxGraphModel;(new mxCodec(k.ownerDocument)).decode(k,l);var m=this.editor.graph,n=l.getChildCount(l.getRoot());m.model.getChildCount(m.model.getRoot());m.model.beginUpdate();try{a={};for(g=0;g<n;g++){var p=l.getChildAt(l.getRoot(),g);if(1==n&&!m.isCellLocked(m.getDefaultParent()))var r=
l.getChildren(p),f=f.concat(m.importCells(r,b,c,m.getDefaultParent(),null,a));else p=m.importCells([p],0,0,m.model.getRoot(),null,a)[0],r=m.model.getChildren(p),m.moveCells(r,b,c),f=f.concat(r)}if(d){m.isGridEnabled()&&(b=m.snap(b),c=m.snap(c));var s=m.getBoundingBoxFromGeometry(f,!0);m.moveCells(f,b-s.x,c-s.y)}}finally{m.model.endUpdate()}}}}catch(I){throw e||this.handleError(I,mxResources.get("invalidOrMissingFile")),I;}return f};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f){f=null!=f?f:
!0;if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))return this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200==a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,b,c,!0))})),[];if(!this.isOffline()&&(e||"data:"==a.substring(0,5)||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var g=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var k=
this.extractGraphModelFromPng(a),l=this.importXml(k,b,c,f,!0);if(0<l.length)return l}if("data:image/svg+xml;"==a.substring(0,19))try{if(k=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(k=a.substring(a.indexOf(",")+1),k=window.atob&&!mxClient.IS_SF?atob(k):Base64.decode(k,!0)):k=decodeURIComponent(a.substring(a.indexOf(",")+1)),l=this.importXml(k,b,c,f,!0),0<l.length)return l}catch(m){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,
function(a,d,e){g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),d,e,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;image\x3d"+this.convertDataUri(a)+";"))}),!0,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/d.height)),f=Math.round(d.width*e);d=Math.round(d.height*e);g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),f,d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;image\x3d"+
a+";"))}}),mxUtils.bind(this,function(){var e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,a,g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.updateCellSize(e),g.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{g.getModel().endUpdate()}g.setSelectionCell(e)}));return[]}a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,f);if(0<a.length){g=this.editor.graph;e=null;g.getModel().beginUpdate();
try{e=g.insertVertex(g.getDefaultParent(),null,"",g.snap(b),g.snap(c),1,1,"text;"+(d?"html\x3d1;":"")),g.fireEvent(new mxEventObject("textInserted","cells",[e])),e.value=a,g.updateCellSize(e),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i.test(e.value)&&g.setLinkForCell(e,e.value),e.geometry.width+=g.gridSize,e.geometry.height+=
g.gridSize}finally{g.getModel().endUpdate()}return[e]}};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\.*<graphml xmlns=\".*)/.test(a)||/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)||
null!=b&&/(\.vsdx)($|\?)/i.test(b)};EditorUi.prototype.importFile=function(a,b,c,d,e,f,g,k,l,m){m=null!=m?m:!0;var n=!1,p=null;"image"==b.substring(0,5)?(g=!1,"image/png"==b.substring(0,9)&&(b=this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(p=this.importXml(b,c,d,m),g=!0)),g||(p=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),m&&p.isGridEnabled()&&(c=p.snap(c),d=p.snap(d)),p=[p.insertVertex(null,null,"",c,d,e,f,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;image\x3d"+
a+";")])):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,g)?(n=!0,this.parseFile(null!=l?l:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){if(4==a.readyState){var b=null;200==a.status&&(b=this.importXml(a.responseText,c,d,m));null!=k&&k(b)}}),g)):/(\.vsdx)($|\?)/i.test(g)?(new mxVsdxModel).decode(l):(null!=a&&0<a.length&&(e=a.indexOf('\x3cmeta charset\x3d"utf-8"\x3e'),0<=e&&(a=a.slice(0,e)+'\x3cmeta charset\x3d"utf-8"/\x3e'+a.slice(e+23-1,a.length))),
p=this.insertTextAt(a,c,d,!0));!n&&null!=k&&k(p);return p};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="\x3d\x3d";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&
3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2);b+="\x3d";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&
63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,g,k,l,m,n){var p=null!=b&&null!=c;b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;m=null!=m?m:this.maxImageBytes;l=null!=l?l:!0;var r=this.editor.graph,s=r.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){return null!=a&&"\x3cmxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,g)),null):this.importFile(a,b,c,d,e,f,g,k,l,p)});f=null!=f?f:mxUtils.bind(this,function(a){r.setSelectionCells(a)});
if(this.spinner.spin(document.body,mxResources.get("loading")))for(var I=a.length,L=I,O=[],T=mxUtils.bind(this,function(a,b){O[a]=b;if(0==--L){this.spinner.stop();if(null!=k)k(O);else{var c=[];r.getModel().beginUpdate();try{for(var d=0;d<O.length;d++){var e=O[d]();null!=e&&(c=c.concat(e))}}finally{r.getModel().endUpdate()}}f(c)}}),X=0;X<I;X++)mxUtils.bind(this,function(f){var k=a[f],p=new FileReader;p.onload=mxUtils.bind(this,function(a){if(null==g||g(k))if("image/"==k.type.substring(0,6))if("image/svg"==
k.type.substring(0,9)){var q=a.target.result,p=q.indexOf(","),y=atob(q.substring(p+1)),r=mxUtils.parseXml(y),y=r.getElementsByTagName("svg");if(0<y.length){var D=y[0].getAttribute("content");null!=D&&("\x3c"!=D.charAt(0)&&"%"!=D.charAt(0))&&(D=unescape(window.atob?atob(D):Base64.decode(D,!0)));null!=D&&"%"==D.charAt(0)&&(D=decodeURIComponent(D));null!=D&&("\x3cmxfile "===D.substring(0,8)||"\x3cmxGraphModel "===D.substring(0,14))?T(f,mxUtils.bind(this,function(){return e(D,"text/xml",b+f*s,c+f*s,0,
0,k.name)})):T(f,mxUtils.bind(this,function(){try{if(q.substring(0,p+1),null!=r){var a=r.getElementsByTagName("svg");if(0<a.length){var g=a[0],l=parseFloat(g.getAttribute("width")),m=parseFloat(g.getAttribute("height")),n=g.getAttribute("viewBox");if(null==n||0==n.length)g.setAttribute("viewBox","0 0 "+l+" "+m);else if(isNaN(l)||isNaN(m)){var y=n.split(" ");3<y.length&&(l=parseFloat(y[2]),m=parseFloat(y[3]))}q=this.createSvgDataUri(mxUtils.getXml(a[0]));var x=Math.min(1,Math.min(d/Math.max(1,l)),
d/Math.max(1,m));return e(q,k.type,b+f*s,c+f*s,Math.max(1,Math.round(l*x)),Math.max(1,Math.round(m*x)),k.name)}}}catch(A){}return null}))}}else{y=!1;if("image/png"==k.type){var G=this.extractGraphModelFromPng(a.target.result);if(null!=G&&0<G.length){var F=new Image;F.src=a.target.result;T(f,mxUtils.bind(this,function(){return e(G,"text/xml",b+f*s,c+f*s,F.width,F.height,k.name)}));y=!0}}y||(null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime?(this.spinner.stop(),this.showError(mxResources.get("error"),
mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,n,q){T(f,mxUtils.bind(this,function(){if(null!=g&&g.length<m){var p=!l||!this.isResampleImage(a.target.result)?1:Math.min(1,Math.min(d/n,d/q));return e(g,k.type,b+f*s,c+f*s,Math.round(n*
p),Math.round(q*p),k.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),l,d,n)})))}else e(a.target.result,k.type,b+f*s,c+f*s,240,160,k.name,function(a){T(f,function(){return a})})});/(\.vsdx)($|\?)/i.test(k.name)?e(null,k.type,b+f*s,c+f*s,240,160,k.name,function(a){T(f,function(){return a})},k):"image"==k.type.substring(0,5)?p.readAsDataURL(k):p.readAsText(k)})(X)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");
d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),k=Math.max(1,a.height);if(d&&this.isResampleImage(b,f))try{var l=Math.max(g/e,k/e);if(1<l){var m=Math.round(g/l),n=Math.round(k/l),p=document.createElement("canvas");p.width=
m;p.height=n;p.getContext("2d").drawImage(a,0,0,m,n);var r=p.toDataURL();if(r.length<b.length){var s=document.createElement("canvas");s.width=m;s.height=n;var I=s.toDataURL();r!==I&&(b=r,g=m,k=n)}}}catch(L){}c(b,g,k)};(function(){EditorUi.prototype.crcTable=[];for(var a=0;256>a;a++)for(var b=a,c=0;8>c;c++)b=1==(b&1)?3988292384^b>>>1:b>>>1,EditorUi.prototype.crcTable[a]=b;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a}})();
EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=k;k+=b;return a.substring(c,k)}function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var k=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,k);do{var l=g(a);if("IDAT"==f(a,4)){e=
a.substring(0,k-8);l=4294967295;l=this.updateCRC(l,b,0,4);l=this.updateCRC(l,d,0,d.length);e+=String.fromCharCode(c.length+d.length+1+("zTXt"==b?1:0)>>24&255,c.length+d.length+1+("zTXt"==b?1:0)>>16&255,c.length+d.length+1+("zTXt"==b?1:0)>>8&255,c.length+d.length+1+("zTXt"==b?1:0)&255)+b+c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d+String.fromCharCode((l^4294967295)>>24&255,(l^4294967295)>>16&255,(l^4294967295)>>8&255,(l^4294967295)&255);e+=a.substring(k-8,a.length);break}e+=a.substring(k-
8,k-4+l);d=f(a,l);f(a,4)}while(l);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g,
" "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(e){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var k=EditorUi.prototype.init;EditorUi.prototype.init=function(){k.apply(this,arguments);var a=this.editor.graph,
b=this;mxClient.IS_SVG&&this.editor.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);this.defaultFilename=mxResources.get("untitledDiagram");var c=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a&&null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:c.apply(this,arguments)};this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,c=b.getCurrentFile();null!=c&&(a=null!=c.getTitle()?c.getTitle():
a);return a};var d=this.actions.get("print");d.setEnabled(!mxClient.IS_IOS||!navigator.standalone);d.visible=d.isEnabled();if(!this.editor.chromeless){this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",
mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a)&&!b.isEditing())try{for(var c=a.clipboardData||a.originalEvent.clipboardData,b=!1,d=0;d<c.types.length;d++)if("text/"===c.types[d].substring(0,5)){b=!0;break}if(!b){var e=c.items;for(index in e){var f=e[index];if("file"===f.kind){var g=this.editor.graph.getInsertPoint();this.importFiles([f.getAsFile()],g.x,g.y,this.maxImageSize);mxEvent.consume(a);break}}}}catch(k){}}),!1);var e=document.createElement("div");e.style.position=
"absolute";e.style.whiteSpace="nowrap";e.style.overflow="hidden";e.style.display="block";e.contentEditable=!0;mxUtils.setOpacity(e,0);e.style.width="1px";e.style.height="1px";e.innerHTML="\x26nbsp;";var f=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);if(null!=a.container&&a.isEnabled()&&!a.isMouseDown&&!a.isEditing()&&null==this.dialog&&
"INPUT"!=c.nodeName&&"TEXTAREA"!=c.nodeName&&(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)&&!f)e.style.left=a.container.scrollLeft+10+"px",e.style.top=a.container.scrollTop+10+"px",a.container.appendChild(e),f=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){e.focus();document.execCommand("selectAll",!1,null)},0):(e.focus(),document.execCommand("selectAll",!1,null))}));var g=function(){window.setTimeout(function(){e.innerHTML="\x26nbsp;";e.focus();document.execCommand("selectAll",
!1,null)},0)};mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this,function(){if(f&&(224==c||17==c||91==c))f=!1,!a.isEditing()&&(null==this.dialog&&null!=a.container)&&a.container.focus(),e.parentNode.removeChild(e)}),0)}));mxEvent.addListener(e,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(e),g())}));mxEvent.addListener(e,"cut",mxUtils.bind(this,function(b){a.isEnabled()&&(this.copyCells(e,
!0),g())}));mxEvent.addListener(e,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(e.innerHTML="\x26nbsp;",e.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,e);e.innerHTML="\x26nbsp;"}),0))}),!0);var l=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==e?!0:l.apply(this,arguments)}}d=Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2;this.spinner=this.createSpinner(document.body.clientWidth/
2-2,d,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){if(null==d&&(!mxClient.IS_IE||10<document.documentMode))d=this.highlightElement(c);a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,
"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?
this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&
document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.test){d=document.getElementById("geFooter");null!=d&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",
mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),d.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility=
"hidden"})));var m=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:m.apply(this,arguments)}}d=document.getElementById("geInfo");null!=d&&d.parentNode.removeChild(d);if(Graph.fileSupport){var n=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=n&&(n.parentNode.removeChild(n),n=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){if(null==n&&
(!mxClient.IS_IE||10<document.documentMode))n=this.highlightElement(a.container);null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container,"drop",mxUtils.bind(this,function(b){null!=n&&(n.parentNode.removeChild(n),n=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),d=a.view.translate,e=a.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(b)&&(g=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,
f,g,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b)&&!mxEvent.isShiftDown(b));else{var k=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")?b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b);if(null!=c)a.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")){c=b.dataTransfer.getData("text/html");e=document.createElement("div");e.innerHTML=c;var d=null,l=e.getElementsByTagName("img");null!=l&&1==
l.length?(c=l[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)||(d=!0)):(e=e.getElementsByTagName("a"),null!=e&&1==e.length&&(c=e[0].getAttribute("href")));a.setSelectionCells(this.insertTextAt(c,f,g,!0,d))}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,b));a.setSelectionCell(a.insertVertex(null,
null,"",f,g,c*d,b*d,"shape\x3dimage;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;aspect\x3dfixed;image\x3d"+k+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(k,f,g,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&a.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),f,g,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode()};EditorUi.prototype.copyCells=
function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=this.editor.graph,d=mxUtils.trim(mxClient.IS_QUIRKS||
8==document.documentMode?mxUtils.getTextContent(b):b.textContent),e=!1;try{var f=d.lastIndexOf("%3E");f<d.length-3&&(d=d.substring(0,f+3))}catch(g){}try{var k=b.getElementsByTagName("span"),l=null!=k&&0<k.length?mxUtils.trim(decodeURIComponent(k[0].textContent)):decodeURIComponent(d);this.isCompatibleString(l)&&(e=!0,d=l)}catch(m){}c.lastPasteXml==d?c.pasteCounter++:(c.lastPasteXml=d,c.pasteCounter=0);f=c.pasteCounter*c.gridSize;if(null!=d&&0<d.length&&(e||this.isCompatibleString(d)?c.setSelectionCells(this.importXml(d,
f,f)):(e=c.getInsertPoint(),c.setSelectionCells(this.insertTextAt(d,e.x+f,e.y+f,!0))),!c.isSelectionEmpty())){c.scrollCellToVisible(c.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(c.view.getState(c.getSelectionCell()));try{mxEvent.consume(a)}catch(n){}}}};var l=EditorUi.prototype.createFormat;EditorUi.prototype.createFormat=function(a){var b=Format.prototype.init;Format.prototype.init=function(){b.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};
var c=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed?c.apply(this,arguments):this.clear()};var d=DiagramFormatPanel.prototype.addOptions;DiagramFormatPanel.prototype.addOptions=function(a){a=d.apply(this,arguments);var b=this.editorUi;if(b.editor.graph.isEnabled()){var c=b.getCurrentFile();null!=c&&c.isAutosaveOptional()&&(c=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},
{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),a.appendChild(c))}return a};var e=StyleFormatPanel.prototype.init;StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));e.apply(this,arguments)};var f=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=
function(a){var b=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));b.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+")");b.style.marginBottom="2px";b.style.width="100px";b.style.marginRight="2px";a.appendChild(b);b=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("pasteStyle").funct()}));b.setAttribute("title",mxResources.get("pasteStyle")+
" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");b.style.marginBottom="2px";b.style.width="100px";a.appendChild(b);mxUtils.br(a);return f.apply(this,arguments)};StyleFormatPanel.prototype.addStyles=function(a){function b(e){var f=mxUtils.button("",function(a){c.getModel().beginUpdate();try{var b=c.getSelectionCells();for(a=0;a<b.length;a++){for(var f=c.getModel().getStyle(b[a]),g=0;g<d.length;g++)f=mxUtils.removeStylename(f,d[g]);null!=e?(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,
e.fill),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,e.stroke),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,e.gradient)):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,"#000000"),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,null));c.getModel().setStyle(b[a],f)}}finally{c.getModel().endUpdate()}});f.style.width="44px";f.style.height="30px";f.style.margin="1px 8px 6px 0px";null!=e?(f.style.backgroundColor=e.fill,
f.style.border="1px solid "+e.stroke):(f.style.backgroundColor="#ffffff",f.style.border="1px solid #000000");a.appendChild(f)}var c=this.editorUi.editor.graph;a.style.paddingBottom="4px";for(var d=["plain-gray","plain-blue","plain-green","plain-orange","plain-yellow","plain-red","plain-purple",null],e=[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},
{fill:"#e1d5e7",stroke:"#9673a6"}],f=0;f<e.length;f++)0<f&&0==mxUtils.mod(f,4)&&mxUtils.br(a),b(e[f]);return a};return l.apply(this,arguments)};null!=window.StyleFormatPanel&&(StyleFormatPanel.prototype.addEditOps=function(a){var b=this.format.getSelectionState(),c=null;1==this.editorUi.editor.graph.getSelectionCount()&&(c=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),c.setAttribute("title",mxResources.get("editStyle")+
" ("+this.editorUi.actions.get("editStyle").shortcut+")"),c.style.width="202px",c.style.marginBottom="2px",a.appendChild(c));var d=this.editorUi.editor.graph,e=d.view.getState(d.getSelectionCell());1==d.getSelectionCount()&&null!=e&&null!=e.shape&&null!=e.shape.stencil?(b=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editShape").funct()})),b.setAttribute("title",mxResources.get("editShape")),b.style.marginBottom="2px",null==c?b.style.width="202px":
(c.style.width="100px",b.style.width="100px",b.style.marginLeft="2px"),a.appendChild(b)):b.image&&(b=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),b.setAttribute("title",mxResources.get("editImage")),b.style.marginBottom="2px",null==c?b.style.width="202px":(c.style.width="100px",b.style.width="100px",b.style.marginLeft="2px"),a.appendChild(b));return a});EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=
null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){if(null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode))b=this.highlightElement();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(0<a.dataTransfer.files.length)this.hideDialog(),
this.openFiles(a.dataTransfer.files);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c=null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&
(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)&&(d=this.extractGraphModelFromPng(c),null!=d&&0<d.length&&this.openLocalFile(d)),!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format\x3dxml\x26data\x3d"+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200==a.getStatus()&&this.openLocalFile(a.getText())})):/^https?:\/\//.test(c)&&(c=this.getUrl(window.location.pathname+
"?url\x3d"+encodeURIComponent(c)),null==this.getCurrentFile()?window.location.href=c:window.openWindow(c))))}else this.openLocalFile(c)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d=0,e=0;if(null==a)var e=document.body,f=document.documentElement,d=(e.clientWidth||f.clientWidth)-3,e=Math.max(e.clientHeight||0,f.clientHeight)-3;else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;f=document.createElement("div");f.style.zIndex=
mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left=c+"px";f.style.width=Math.max(0,d-3)+"px";f.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=
[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=function(a){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var c=b.target.result,d=a.name;if(null!=d&&0<d.length)if(/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-
4)+".xml"),Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,d))d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+".xml":d+".xml",this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200==a.status?this.openLocalFile(a.responseText,d):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if("\x3cmxlibrary"==b.target.result.substring(0,
10)){this.spinner.stop();try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,d)});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=
function(a,b){var c=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a);null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename))});null!=a&&0<a.length&&(null!=this.getCurrentFile()&&!this.isDiagramEmpty()?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),
null,c)):c())};EditorUi.prototype.initializeEmbedMode=function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";this.editor.graph.setEnabled(!1);if((window.opener||window.parent)!=window)("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.diagramContainer.style.visibility="";this.formatContainer.style.visibility=
"";this.editor.graph.setEnabled(!0);null!=a&&0<a.length?(a=mxUtils.parseXml(a),this.editor.setGraphXml(a.documentElement),this.showLayersDialog()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==
this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=!1,c=mxUtils.bind(this,function(a,b){null!=urlParams.modified&&("0"==urlParams.modified?this.editor.setStatus(""):
this.editor.setStatus(mxResources.get(urlParams.modified)))});this.editor.graph.model.addListener(mxEvent.CHANGE,c);mxEvent.addListener(window,"message",mxUtils.bind(this,function(c){var e=c.data;if("json"==urlParams.proto){e=JSON.parse(e);if("dialog"==e.action){this.showError(null!=e.titleKey?mxResources.get(e.titleKey):e.title,null!=e.messageKey?mxResources.get(e.messageKey):e.message,null!=e.buttonKey?mxResources.get(e.buttonKey):e.button);null!=e.modified&&(this.editor.modified=e.modified);return}if("template"==
e.action){this.spinner.stop();var f=new NewDialog(this,!1,!1,mxUtils.bind(this,function(b){a(b||"",c,null!=b)}));this.showDialog(f.container,620,440,!0,!0,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));f.init();return}if("status"==e.action){null!=e.messageKey?this.editor.setStatus(mxResources.get(e.messageKey)):null!=e.message&&this.editor.setStatus(e.message);null!=e.modified&&(this.editor.modified=e.modified);return}if("spinner"==e.action){var g=null!=e.messageKey?mxResources.get(e.messageKey):
e.message;null!=e.show&&!e.show?this.spinner.stop():this.spinner.spin(document.body,g);return}if("export"==e.action){if("png"==e.format||"xmlpng"==e.format){if(null==e.spin&&null==e.spinKey||this.spinner.spin(document.body,null!=e.spinKey?mxResources.get(e.spinKey):e.spin)){var k=null!=e.xml?e.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var l=mxUtils.bind(this,function(a){var b=this.createLoadMessage("export");b.format=e.format;b.xml=encodeURIComponent(k);b.data="data:image/png;base64,"+
a;d.postMessage(JSON.stringify(b),"*");this.editor.graph.setEnabled(!0)});this.isExportToCanvas()?this.exportToCanvas(mxUtils.bind(this,function(a){a=a.toDataURL("image/png");"xmlpng"==e.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(k))));l(a.substring(a.lastIndexOf(",")+1))})):(new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26embedXml\x3d"+("xmlpng"==e.format?"1":"0")+"\x26base64\x3d1\x26xml\x3d"+encodeURIComponent(encodeURIComponent(k)))).send(mxUtils.bind(this,
function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();200==a.getStatus()&&l(a.getText())}),mxUtils.bind(this,function(){this.spinner.stop()}))}}else{null!=e.xml&&0<e.xml.length&&(f=mxUtils.parseXml(e.xml),this.editor.setGraphXml(f.documentElement));g=this.createLoadMessage("export");if("html"==e.format||"html2"==e.format)k=this.editor.getGraphXml(),g.data="html2"==e.format?this.getHtml2(k,this.editor.graph):this.getHtml(k,this.editor.graph),g.xml=mxUtils.getXml(k),g.format=e.format;else{mxSvgCanvas2D.prototype.foAltText=
null;f=this.editor.graph.background;f==mxConstants.NONE&&(f=null);g.xml=mxUtils.getXml(this.editor.getGraphXml());g.format="svg";if(e.embedImages||null==e.embedImages){if(null==e.spin&&null==e.spinKey||this.spinner.spin(document.body,null!=e.spinKey?mxResources.get(e.spinKey):e.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==e.format?this.getEmbeddedSvg(g.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();g.data=this.createSvgDataUri(a);
d.postMessage(JSON.stringify(g),"*")})):this.convertImages(this.editor.graph.getSvg(f),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();g.data=this.createSvgDataUri(mxUtils.getXml(a));d.postMessage(JSON.stringify(g),"*")}));return}f="xmlsvg"==e.format?this.getEmbeddedSvg(mxUtils.getXml(this.editor.getGraphXml()),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(f));g.data=this.createSvgDataUri(f)}d.postMessage(JSON.stringify(g),"*")}return}"load"==
e.action?(b=1==e.autosave,null!=e.modified&&null==urlParams.modified&&(urlParams.modified=e.modified),null!=e.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=e.saveAndExit),e=null!=e.xmlpng?this.extractGraphModelFromPng(e.xmlpng):e.xml):e=null}if(null!=e&&"\x3c"!=e.charAt(0))try{"data:image/svg+xml;base64,"==e.substring(0,26)?e=atob(e.substring(26)):"data:image/svg+xml;utf8,"==e.substring(0,24)&&(e=e.substring(24)),null!=e&&("%"==e.charAt(0)?e=decodeURIComponent(e):"\x3c"!=e.charAt(0)&&
(e=this.editor.graph.decompress(e)))}catch(m){}a(e,c);null!=urlParams.modified&&this.editor.setStatus("");b&&(f=mxUtils.bind(this,function(a,b){var c=mxUtils.getXml(this.editor.getGraphXml()),d=this.createLoadMessage("autosave");d.xml=c;c=JSON.stringify(d);(window.opener||window.parent).postMessage(c,"*")}),this.editor.graph.model.addListener(mxEvent.CHANGE,f),this.addListener("pageFormatChanged",f),this.addListener("backgroundColorChanged",f),this.addListener("backgroundImageChanged",f),this.addListener("foldingEnabledChanged",
f),this.addListener("mathEnabledChanged",f),this.addListener("gridEnabledChanged",f),this.addListener("guidesEnabledChanged",f),this.addListener("pageViewChanged",f));("1"==urlParams.returnbounds||"json"==urlParams.proto)&&d.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}));var d=window.opener||window.parent,c="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";d.postMessage(c,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=
document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme?"2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&
(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight="20px";b.style.padding="4px";b.style.cursor="pointer";mxEvent.addListener(b,
"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="42px"}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"\x3d"+urlParams[d],c="\x26")}else b=window.location.search;return b};EditorUi.prototype.getUrl=
function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"\x26",null!=urlParams[d]&&(a+=d+"\x3d"+urlParams[d],b++))}return a};var n=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=n.apply(this,arguments),c=this.editor.graph,d=
b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=
this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding(),e=Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2),f=Math.max(0,(b.outline.container.clientHeight/
a-(this.source.minimumGraphSize.height-2*d.y))/2);return new mxPoint(Math.round(e-d.x),Math.round(f-d.y-5/a))}return new mxPoint(8/a,8/a)};var f=b.init;b.init=function(){f.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",
function(a,c){var d=c.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat=e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=e.background;var g=mxUtils.getCurrentStyle(e.container);f.container.style.backgroundColor=g.backgroundColor;null!=e.view.backgroundPageShape&&null!=f.view.backgroundPageShape&&(f.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(d.previousPage.root,!0);b.outline.view.validate()});return b};
var m=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){m.apply(this,arguments);var a=this.editor.graph,b=this.getCurrentFile(),c=null!=b&&b.isEditable()||"1"==urlParams.embed;this.actions.get("pageSetup").setEnabled(c);this.actions.get("autosave").setEnabled(null!=b&&b.isEditable()&&b.isAutosaveOptional());this.actions.get("guides").setEnabled(c);this.actions.get("shadowVisible").setEnabled(c);this.actions.get("connectionArrows").setEnabled(c);this.actions.get("connectionPoints").setEnabled(c);
this.actions.get("copyStyle").setEnabled(c&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(c&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(c);this.actions.get("createRevision").setEnabled(c);this.actions.get("moveToFolder").setEnabled(null!=b);this.actions.get("makeCopy").setEnabled(null!=b&&!b.isRestricted());this.actions.get("editDiagram").setEnabled("1"==urlParams.embed||
null!=b&&!b.isRestricted());this.actions.get("imgur").setEnabled(null!=b&&!b.isRestricted());this.actions.get("github").setEnabled(null!=b&&!b.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(c&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.edgeMode="move"!=urlParams.edge;var p=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=
function(){p.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.setShadowVisible=function(a,b){mxClient.IS_SVG&&(b=null!=b?b:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#dropShadow)"):this.view.getDrawPane().removeAttribute("filter"),b&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};var r=Graph.prototype.init;Graph.prototype.init=
function(){function a(c){b=c;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)b=mxUtils.clone(c)}r.apply(this,arguments);var b=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){b=null});this.isMouseInsertPoint=function(){return null!=b};var c=this.getInsertPoint;this.getInsertPoint=function(){return null!=b?this.getPointForEvent(b):c.apply(this,arguments)};var d=
this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var b=this.graph.view.getState(a),b=null!=b?b.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==b.childLayout){var c=new mxStackLayout(this.graph,!1);c.setChildGeometry=function(a,b){b.height=Math.max(b.height,20);if(1<b.height/20){var c=b.height%20;b.height+=10<c?20-c:-c}this.graph.getModel().setGeometry(a,b)};c.fill=!0;c.unitSize=mxRackContainer.unitSize|20;c.marginLeft=b.marginLeft||0;c.marginRight=
b.marginRight||0;c.marginTop=b.marginTop||0;c.marginBottom=b.marginBottom||0;c.resizeParent=!1;return c}return d.apply(this,arguments)}};mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+
"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",
STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries.eeLogicGates=[STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries.eeResistors=[STENCIL_PATH+"/electrical/resistors.xml"];mxStencilRegistry.libraries.eeCapacitors=[STENCIL_PATH+"/electrical/capacitors.xml"];mxStencilRegistry.libraries.eeInductors=[STENCIL_PATH+"/electrical/inductors.xml"];mxStencilRegistry.libraries.eeSwitchesRelays=[STENCIL_PATH+"/electrical/switchesRelays.xml",STENCIL_PATH+"/electrical/electro-mechanical.xml"];
mxStencilRegistry.libraries.eeDiodes=[STENCIL_PATH+"/electrical/diodes.xml"];mxStencilRegistry.libraries.eeSources=[STENCIL_PATH+"/electrical/signal_sources.xml"];mxStencilRegistry.libraries.eeTransistors=[STENCIL_PATH+"/electrical/mosfets1.xml",STENCIL_PATH+"/electrical/mosfets2.xml",STENCIL_PATH+"/electrical/transistors.xml"];mxStencilRegistry.libraries.eeMisc=[STENCIL_PATH+"/electrical/electro-mechanical.xml",STENCIL_PATH+"/electrical/miscellaneous.xml"];mxStencilRegistry.libraries.eeAudio=[STENCIL_PATH+
"/electrical/radio.xml"];mxStencilRegistry.libraries.eePlcLadder=[STENCIL_PATH+"/electrical/plc_ladder.xml"];mxStencilRegistry.libraries.eeAbstract=[STENCIL_PATH+"/electrical/abstract.xml",STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries.eeOptical=[STENCIL_PATH+"/electrical/opto_electronics.xml"];mxStencilRegistry.libraries.eeVacuumTubes=[STENCIL_PATH+"/electrical/vacuum_tubes.xml"];mxStencilRegistry.libraries.eeWaveforms=[STENCIL_PATH+"/electrical/waveforms.xml"];mxStencilRegistry.libraries.eeInstruments=
[STENCIL_PATH+"/electrical/instruments.xml"];mxStencilRegistry.libraries["mscae/cloud"]=[STENCIL_PATH+"/mscae/cloud.xml"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];
mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.pid2inst=
[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];
mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.citrix=[STENCIL_PATH+"/citrix.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",
STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var s=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,e,f,g,k,l,m){if(null!=c&&null==mxMarker.markers[c]){var n=
this.getPackageForType(c);null!=n&&mxStencilRegistry.getStencil(n)}return s.apply(this,arguments)}})();var mxSettings={key:".drawio-config",settings:{language:"",libraries:Sidebar.prototype.defaultEntries,customLibraries:[],plugins:[],formatWidth:"240",currentEdgeStyle:Graph.prototype.defaultEdgeStyle,currentVertexStyle:{},createTarget:!1,pageFormat:mxGraph.prototype.pageFormat,search:!0,showStartScreen:!0,gridColor:mxGraphView.prototype.gridColor,autosave:!0,version:12,isNew:!0},getLanguage:function(){return this.settings.language},setLanguage:function(a){this.settings.language=a},getUi:function(){return this.settings.ui},
setUi:function(a){this.settings.ui=a},getShowStartScreen:function(){return this.settings.showStartScreen},setShowStartScreen:function(a){this.settings.showStartScreen=a},getGridColor:function(){return this.settings.gridColor},setGridColor:function(a){this.settings.gridColor=a},getAutosave:function(){return this.settings.autosave},setAutosave:function(a){this.settings.autosave=a},getLibraries:function(){return this.settings.libraries},setLibraries:function(a){this.settings.libraries=a},addCustomLibrary:function(a){mxSettings.load();
0>mxUtils.indexOf(this.settings.customLibraries,a)&&this.settings.customLibraries.push(a);mxSettings.save()},removeCustomLibrary:function(a){mxSettings.load();mxUtils.remove(a,this.settings.customLibraries);mxSettings.save()},getCustomLibraries:function(){return this.settings.customLibraries},getPlugins:function(){return this.settings.plugins},setPlugins:function(a){this.settings.plugins=a},getFormatWidth:function(){return parseInt(this.settings.formatWidth)},setFormatWidth:function(a){this.settings.formatWidth=
a},getCurrentEdgeStyle:function(){return this.settings.currentEdgeStyle},setCurrentEdgeStyle:function(a){this.settings.currentEdgeStyle=a},getCurrentVertexStyle:function(){return this.settings.currentVertexStyle},setCurrentVertexStyle:function(a){this.settings.currentVertexStyle=a},isCreateTarget:function(){return this.settings.createTarget},setCreateTarget:function(a){this.settings.createTarget=a},getPageFormat:function(){return this.settings.pageFormat},setPageFormat:function(a){this.settings.pageFormat=
a},save:function(){if(isLocalStorage&&"undefined"!==typeof JSON)try{delete this.settings.isNew,this.settings.version=12,localStorage.setItem(mxSettings.key,JSON.stringify(this.settings))}catch(a){}},load:function(){isLocalStorage&&"undefined"!==typeof JSON&&mxSettings.parse(localStorage.getItem(mxSettings.key))},parse:function(a){null!=a&&(this.settings=JSON.parse(a),null==this.settings.plugins&&(this.settings.plugins=[]),null==this.settings.libraries&&(this.settings.libraries=Sidebar.prototype.defaultEntries),
null==this.settings.customLibraries&&(this.settings.customLibraries=[]),null==this.settings.ui&&(this.settings.ui=""),null==this.settings.formatWidth&&(this.settings.formatWidth="240"),null!=this.settings.lastAlert&&delete this.settings.lastAlert,null==this.settings.currentEdgeStyle?this.settings.currentEdgeStyle=Graph.prototype.defaultEdgeStyle:10>=this.settings.version&&(this.settings.currentEdgeStyle.orthogonalLoop=1,this.settings.currentEdgeStyle.jettySize="auto"),null==this.settings.currentVertexStyle&&
(this.settings.currentVertexStyle={}),null==this.settings.createTarget&&(this.settings.createTarget=!1),null==this.settings.pageFormat&&(this.settings.pageFormat=mxGraph.prototype.pageFormat),null==this.settings.search&&(this.settings.search=!0),null==this.settings.showStartScreen&&(this.settings.showStartScreen=!0),null==this.settings.gridColor&&(this.settings.gridColor=mxGraphView.prototype.gridColor),null==this.settings.autosave&&(this.settings.autosave=!0),null!=this.settings.scratchpadSeen&&
delete this.settings.scratchpadSeen)},clear:function(){isLocalStorage&&localStorage.removeItem(mxSettings.key)}};("undefined"==typeof mxLoadSettings||mxLoadSettings)&&mxSettings.load();Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('\x3cmxStylesheet\x3e\x3cadd as\x3d"defaultVertex"\x3e\x3cadd as\x3d"shape" value\x3d"label"/\x3e\x3cadd as\x3d"perimeter" value\x3d"rectanglePerimeter"/\x3e\x3cadd as\x3d"fontSize" value\x3d"12"/\x3e\x3cadd as\x3d"fontFamily" value\x3d"Helvetica"/\x3e\x3cadd as\x3d"align" value\x3d"center"/\x3e\x3cadd as\x3d"verticalAlign" value\x3d"middle"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#ffffff"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#000000"/\x3e\x3cadd as\x3d"fontColor" value\x3d"#000000"/\x3e\x3c/add\x3e\x3cadd as\x3d"defaultEdge"\x3e\x3cadd as\x3d"shape" value\x3d"connector"/\x3e\x3cadd as\x3d"labelBackgroundColor" value\x3d"#ffffff"/\x3e\x3cadd as\x3d"endArrow" value\x3d"classic"/\x3e\x3cadd as\x3d"fontSize" value\x3d"11"/\x3e\x3cadd as\x3d"fontFamily" value\x3d"Helvetica"/\x3e\x3cadd as\x3d"align" value\x3d"center"/\x3e\x3cadd as\x3d"verticalAlign" value\x3d"middle"/\x3e\x3cadd as\x3d"rounded" value\x3d"1"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#000000"/\x3e\x3cadd as\x3d"fontColor" value\x3d"#000000"/\x3e\x3c/add\x3e\x3cadd as\x3d"fancy"\x3e\x3cadd as\x3d"shadow" value\x3d"1"/\x3e\x3cadd as\x3d"glass" value\x3d"1"/\x3e\x3c/add\x3e\x3cadd as\x3d"gray" extend\x3d"fancy"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#B3B3B3"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#F5F5F5"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#666666"/\x3e\x3c/add\x3e\x3cadd as\x3d"blue" extend\x3d"fancy"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#7EA6E0"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#DAE8FC"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#6C8EBF"/\x3e\x3c/add\x3e\x3cadd as\x3d"green" extend\x3d"fancy"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#97D077"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#D5E8D4"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#82B366"/\x3e\x3c/add\x3e\x3cadd as\x3d"turquoise" extend\x3d"fancy"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#67AB9F"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#D5E8D4"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#6A9153"/\x3e\x3c/add\x3e\x3cadd as\x3d"yellow" extend\x3d"fancy"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#FFD966"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#FFF2CC"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#D6B656"/\x3e\x3c/add\x3e\x3cadd as\x3d"orange" extend\x3d"fancy"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#FFA500"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#FFCD28"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#D79B00"/\x3e\x3c/add\x3e\x3cadd as\x3d"red" extend\x3d"fancy"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#EA6B66"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#F8CECC"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#B85450"/\x3e\x3c/add\x3e\x3cadd as\x3d"pink" extend\x3d"fancy"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#B5739D"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#E6D0DE"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#996185"/\x3e\x3c/add\x3e\x3cadd as\x3d"purple" extend\x3d"fancy"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#8C6C9C"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#E1D5E7"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#9673A6"/\x3e\x3c/add\x3e\x3cadd as\x3d"plain-gray"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#B3B3B3"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#F5F5F5"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#666666"/\x3e\x3c/add\x3e\x3cadd as\x3d"plain-blue"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#7EA6E0"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#DAE8FC"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#6C8EBF"/\x3e\x3c/add\x3e\x3cadd as\x3d"plain-green"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#97D077"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#D5E8D4"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#82B366"/\x3e\x3c/add\x3e\x3cadd as\x3d"plain-turquoise"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#67AB9F"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#D5E8D4"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#6A9153"/\x3e\x3c/add\x3e\x3cadd as\x3d"plain-yellow"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#FFD966"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#FFF2CC"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#D6B656"/\x3e\x3c/add\x3e\x3cadd as\x3d"plain-orange"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#FFA500"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#FFCD28"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#D79B00"/\x3e\x3c/add\x3e\x3cadd as\x3d"plain-red"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#EA6B66"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#F8CECC"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#B85450"/\x3e\x3c/add\x3e\x3cadd as\x3d"plain-pink"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#B5739D"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#E6D0DE"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#996185"/\x3e\x3c/add\x3e\x3cadd as\x3d"plain-purple"\x3e\x3cadd as\x3d"gradientColor" value\x3d"#8C6C9C"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#E1D5E7"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"#9673A6"/\x3e\x3c/add\x3e\x3cadd as\x3d"text"\x3e\x3cadd as\x3d"fillColor" value\x3d"none"/\x3e\x3cadd as\x3d"gradientColor" value\x3d"none"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"none"/\x3e\x3cadd as\x3d"align" value\x3d"left"/\x3e\x3cadd as\x3d"verticalAlign" value\x3d"top"/\x3e\x3c/add\x3e\x3cadd as\x3d"label"\x3e\x3cadd as\x3d"fontStyle" value\x3d"1"/\x3e\x3cadd as\x3d"align" value\x3d"left"/\x3e\x3cadd as\x3d"verticalAlign" value\x3d"middle"/\x3e\x3cadd as\x3d"spacing" value\x3d"2"/\x3e\x3cadd as\x3d"spacingLeft" value\x3d"52"/\x3e\x3cadd as\x3d"imageWidth" value\x3d"42"/\x3e\x3cadd as\x3d"imageHeight" value\x3d"42"/\x3e\x3cadd as\x3d"rounded" value\x3d"1"/\x3e\x3c/add\x3e\x3cadd as\x3d"icon" extend\x3d"label"\x3e\x3cadd as\x3d"align" value\x3d"center"/\x3e\x3cadd as\x3d"imageAlign" value\x3d"center"/\x3e\x3cadd as\x3d"verticalLabelPosition" value\x3d"bottom"/\x3e\x3cadd as\x3d"verticalAlign" value\x3d"top"/\x3e\x3cadd as\x3d"spacingTop" value\x3d"4"/\x3e\x3cadd as\x3d"labelBackgroundColor" value\x3d"#ffffff"/\x3e\x3cadd as\x3d"spacing" value\x3d"0"/\x3e\x3cadd as\x3d"spacingLeft" value\x3d"0"/\x3e\x3cadd as\x3d"spacingTop" value\x3d"6"/\x3e\x3cadd as\x3d"fontStyle" value\x3d"0"/\x3e\x3cadd as\x3d"imageWidth" value\x3d"48"/\x3e\x3cadd as\x3d"imageHeight" value\x3d"48"/\x3e\x3c/add\x3e\x3cadd as\x3d"swimlane"\x3e\x3cadd as\x3d"shape" value\x3d"swimlane"/\x3e\x3cadd as\x3d"fontSize" value\x3d"12"/\x3e\x3cadd as\x3d"fontStyle" value\x3d"1"/\x3e\x3cadd as\x3d"startSize" value\x3d"23"/\x3e\x3c/add\x3e\x3cadd as\x3d"group"\x3e\x3cadd as\x3d"verticalAlign" value\x3d"top"/\x3e\x3cadd as\x3d"fillColor" value\x3d"none"/\x3e\x3cadd as\x3d"strokeColor" value\x3d"none"/\x3e\x3cadd as\x3d"gradientColor" value\x3d"none"/\x3e\x3cadd as\x3d"pointerEvents" value\x3d"0"/\x3e\x3c/add\x3e\x3cadd as\x3d"ellipse"\x3e\x3cadd as\x3d"shape" value\x3d"ellipse"/\x3e\x3cadd as\x3d"perimeter" value\x3d"ellipsePerimeter"/\x3e\x3c/add\x3e\x3cadd as\x3d"rhombus"\x3e\x3cadd as\x3d"shape" value\x3d"rhombus"/\x3e\x3cadd as\x3d"perimeter" value\x3d"rhombusPerimeter"/\x3e\x3c/add\x3e\x3cadd as\x3d"triangle"\x3e\x3cadd as\x3d"shape" value\x3d"triangle"/\x3e\x3cadd as\x3d"perimeter" value\x3d"trianglePerimeter"/\x3e\x3c/add\x3e\x3cadd as\x3d"line"\x3e\x3cadd as\x3d"shape" value\x3d"line"/\x3e\x3cadd as\x3d"strokeWidth" value\x3d"4"/\x3e\x3cadd as\x3d"labelBackgroundColor" value\x3d"#ffffff"/\x3e\x3cadd as\x3d"verticalAlign" value\x3d"top"/\x3e\x3cadd as\x3d"spacingTop" value\x3d"8"/\x3e\x3c/add\x3e\x3cadd as\x3d"image"\x3e\x3cadd as\x3d"shape" value\x3d"image"/\x3e\x3cadd as\x3d"labelBackgroundColor" value\x3d"white"/\x3e\x3cadd as\x3d"verticalAlign" value\x3d"top"/\x3e\x3cadd as\x3d"verticalLabelPosition" value\x3d"bottom"/\x3e\x3c/add\x3e\x3cadd as\x3d"roundImage" extend\x3d"image"\x3e\x3cadd as\x3d"perimeter" value\x3d"ellipsePerimeter"/\x3e\x3c/add\x3e\x3cadd as\x3d"rhombusImage" extend\x3d"image"\x3e\x3cadd as\x3d"perimeter" value\x3d"rhombusPerimeter"/\x3e\x3c/add\x3e\x3cadd as\x3d"arrow"\x3e\x3cadd as\x3d"shape" value\x3d"arrow"/\x3e\x3cadd as\x3d"edgeStyle" value\x3d"none"/\x3e\x3cadd as\x3d"fillColor" value\x3d"#ffffff"/\x3e\x3c/add\x3e\x3c/mxStylesheet\x3e').documentElement;(!/\bMSIE 6/.test(navigator.userAgent)||window.opera)&&function(){var a,c,f,d,b,e,g,k,l,n,m,p={}.hasOwnProperty,r=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1},s=function(a,b){function c(){this.constructor=a}for(var d in b)p.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};if(m=function(){return function(){throw Error("Not implemented. Did you mean to use Dropbox.Client?");}}(),m.Util=function(){return function(){}}(),
m.Http=function(){return function(){}}(),m.File=function(){return function(){}}(),"undefined"!=typeof global&&"undefined"!=typeof module&&"exports"in module)c=global,f=module.require.bind(module),module.exports=m;else if("undefined"!=typeof window&&"undefined"!=typeof navigator)c=window,f=null,window.Dropbox&&!function(){var a,b,c,d;c=window.Dropbox;d=[];for(a in c)p.call(c,a)&&(b=c[a],d.push(m[a]=b));return d}(),window.Dropbox=m;else{if("undefined"==typeof self||"undefined"==typeof navigator)throw Error("dropbox.js loaded in an unsupported JavaScript environment.");
c=self;f=self.importScripts.bind(self);self.Dropbox=m}if(m.Env=function(){function a(){}return a.global=c,a.require=f,a}(),m.Util.EventSource=function(){function a(b){this._cancelable=b&&b.cancelable;this._listeners=[]}return a.prototype.addListener=function(a){if("function"!=typeof a)throw new TypeError("Invalid listener type; expected function");return 0>r.call(this._listeners,a)&&this._listeners.push(a),this},a.prototype.removeListener=function(a){var b,c,d,e,f;if(this._listeners.indexOf)a=this._listeners.indexOf(a),
-1!==a&&this._listeners.splice(a,1);else{f=this._listeners;b=d=0;for(e=f.length;e>d;b=++d)if(c=f[b],c===a){this._listeners.splice(b,1);break}}return this},a.prototype.dispatch=function(a){var b,c,d,e,f;f=this._listeners;d=0;for(e=f.length;e>d;d++)if(b=f[d],c=b(a),this._cancelable&&!1===c)return!1;return!0},a}(),m.AccountInfo=function(){function a(b){var c;this._json=b;this.name=b.display_name;this.email=b.email;this.countryCode=b.country||null;this.uid=b.uid.toString();b.public_app_url?(this.publicAppUrl=
b.public_app_url,c=this.publicAppUrl.length-1,0<=c&&"/"===this.publicAppUrl.substring(c)&&(this.publicAppUrl=this.publicAppUrl.substring(0,c))):this.publicAppUrl=null;this.referralUrl=b.referral_link;this.quota=b.quota_info.quota;this.privateBytes=b.quota_info.normal||0;this.sharedBytes=b.quota_info.shared||0;this.usedQuota=this.privateBytes+this.sharedBytes}return a.parse=function(a){return a&&"object"==typeof a?new m.AccountInfo(a):a},a.prototype.name=null,a.prototype.email=null,a.prototype.countryCode=
null,a.prototype.uid=null,a.prototype.referralUrl=null,a.prototype.publicAppUrl=null,a.prototype.quota=null,a.prototype.usedQuota=null,a.prototype.privateBytes=null,a.prototype.sharedBytes=null,a.prototype.json=function(){return this._json},a}(),m.ApiError=function(){function a(b,c,d){var e;if(this.method=c,this.url=d,this.status=b.status,b.responseType)try{e=b.response||b.responseText}catch(f){try{e=b.responseText}catch(g){e=null}}else try{e=b.responseText}catch(k){e=null}if(e)try{this.responseText=
e.toString(),this.response=JSON.parse(e)}catch(l){this.response=null}else this.responseText="(no response)",this.response=null}return a.prototype.status=null,a.prototype.method=null,a.prototype.url=null,a.prototype.responseText=null,a.prototype.response=null,a.NETWORK_ERROR=0,a.NO_CONTENT=304,a.INVALID_PARAM=400,a.INVALID_TOKEN=401,a.OAUTH_ERROR=403,a.NOT_FOUND=404,a.INVALID_METHOD=405,a.NOT_ACCEPTABLE=406,a.CONFLICT=409,a.RATE_LIMITED=429,a.SERVER_ERROR=503,a.OVER_QUOTA=507,a.prototype.toString=
function(){return"Dropbox API error "+this.status+" from "+this.method+" "+this.url+" :: "+this.responseText},a.prototype.inspect=function(){return this.toString()},a}(),m.AuthDriver=function(){function a(){}return a.prototype.authType=function(){return"code"},a.prototype.url=function(){return"https://some.url"},a.prototype.doAuthorize=function(a,b,c,d){return d({code:"access-code"})},a.prototype.getStateParam=function(a,b){return b(m.Util.Oauth.randomAuthStateParam())},a.prototype.resumeAuthorize=
function(a,b,c){return c({code:"access-code"})},a.prototype.onAuthStepChange=function(a,b){return b()},a.oauthQueryParams="access_token expires_in scope token_type code error error_description error_uri mac_key mac_algorithm".split(" ").sort(),a}(),m.AuthDriver.autoConfigure=function(a){if("undefined"!=typeof chrome&&chrome.runtime&&chrome.runtime.id)return void a.authDriver(chrome.tabs&&chrome.tabs.create?new m.AuthDriver.ChromeExtension:new m.AuthDriver.ChromeApp);if("undefined"!=typeof window){if(window.cordova)return void a.authDriver(new m.AuthDriver.Cordova);
window&&window.navigator&&a.authDriver(new m.AuthDriver.Redirect)}},m.AuthDriver.BrowserBase=function(){function a(b){b?(this.rememberUser="rememberUser"in b?b.rememberUser:!0,this.scope=b.scope||"default"):(this.rememberUser=!0,this.scope="default");this.storageKey=null;this.storage=m.AuthDriver.BrowserBase.localStorage();this.stateRe=/^[^#]+\#(.*&)?state=([^&]+)(&|$)/}return a.prototype.authType=function(){return"token"},a.prototype.onAuthStepChange=function(a,b){switch(this.setStorageKey(a),a.authStep){case m.Client.RESET:return this.loadCredentials(function(c){return function(d){return d?
(a.setCredentials(d),a.authStep!==m.Client.DONE?b():c.rememberUser?(a.setCredentials(d),b()):c.forgetCredentials(b)):b()}}(this));case m.Client.DONE:return this.rememberUser?this.storeCredentials(a.credentials(),b):this.forgetCredentials(b);case m.Client.SIGNED_OUT:return this.forgetCredentials(b);case m.Client.ERROR:return this.forgetCredentials(b);default:return b(),this}},a.prototype.setStorageKey=function(a){return this.storageKey="dropbox-auth:"+this.scope+":"+a.appHash(),this},a.prototype.storeCredentials=
function(a,b){var c,d;c=JSON.stringify(a);try{this.storage.setItem(this.storageKey,c)}catch(e){d=encodeURIComponent(this.storageKey),c=encodeURIComponent(c),document.cookie=""+d+"\x3d"+c+"; path\x3d/"}return b(),this},a.prototype.loadCredentials=function(a){var b,c,d,e;try{c=this.storage.getItem(this.storageKey)}catch(f){c=null}if(null===c&&(e=encodeURIComponent(this.storageKey),e.replace(/[.*+()]/g,"\\$\x26"),b=RegExp("(^|(;\\s*))"+e+"\x3d([^;]*)(;|$)"),(d=b.exec(document.cookie))&&(c=decodeURIComponent(d[3]))),
!c)return a(null),this;try{a(JSON.parse(c))}catch(g){a(null)}return this},a.prototype.forgetCredentials=function(a){var b,c;try{this.storage.removeItem(this.storageKey)}catch(d){c=encodeURIComponent(this.storageKey),b=(new Date(0)).toGMTString(),document.cookie=""+c+"\x3d{}; expires\x3d"+b+"; path\x3d/"}return a(),this},a.prototype.locationStateParam=function(a){var b,c;return b=a||m.AuthDriver.BrowserBase.currentLocation(),c=this.stateRe.exec(b),c?decodeURIComponent(c[2]):null},a.prototype.replaceUrlBasename=
function(a,b){var c,d,e;return d=a.indexOf("#"),-1!==d&&(a=a.substring(0,d)),e=a.indexOf("?"),-1!==e&&(a=a.substring(0,e)),c=a.split("/"),c[c.length-1]=b,c.join("/")},a.localStorage=function(){if("undefined"==typeof window)return null;try{return window.localStorage}catch(a){return null}},a.currentLocation=function(){return window.location.href},a.cleanupLocation=function(){var a,b;window.history&&window.history.replaceState?(b=this.currentLocation(),a=b.indexOf("#"),window.history.replaceState({},
document.title,b.substring(0,a))):window.location.hash=""},a}(),m.AuthDriver.Redirect=function(a){function b(a){b.__super__.constructor.call(this,a);this.receiverUrl=this.baseUrl(a)}return s(b,a),b.prototype.baseUrl=function(a){var b,c;if(c=m.AuthDriver.BrowserBase.currentLocation(),a){if(a.redirectUrl)return a.redirectUrl;if(a.redirectFile)return this.replaceUrlBasename(c,a.redirectFile)}return b=c.indexOf("#"),-1!==b&&(c=c.substring(0,b)),c},b.prototype.url=function(){return this.receiverUrl},b.prototype.doAuthorize=
function(a,b,c){return this.storeCredentials(c.credentials(),function(){return window.location.assign(a)})},b.prototype.resumeAuthorize=function(a,b,c){var d;return this.locationStateParam()===a?(d=m.AuthDriver.BrowserBase.currentLocation(),m.AuthDriver.BrowserBase.cleanupLocation(),c(m.Util.Oauth.queryParamsFromUrl(d))):this.forgetCredentials(function(){return c({error:"Authorization error"})})},b}(m.AuthDriver.BrowserBase),m.AuthDriver.Popup=function(a){function b(a){b.__super__.constructor.call(this,
a);this.receiverUrl=this.baseUrl(a)}return s(b,a),b.prototype.url=function(){return this.receiverUrl},b.prototype.doAuthorize=function(a,b,c,d){return this.listenForMessage(b,d),this.openWindow(a)},b.prototype.baseUrl=function(a){var b;if(b=m.AuthDriver.BrowserBase.currentLocation(),a){if(a.receiverUrl)return a.receiverUrl;if(a.receiverFile)return this.replaceUrlBasename(b,a.receiverFile)}return b},b.prototype.openWindow=function(a){return window.open(a,"_dropboxOauthSigninWindow",this.popupWindowSpec(980,
700))},b.prototype.popupWindowSpec=function(a,b){var c,d,e,f,g,k,l,m,n,t;return g=null!=(l=window.screenX)?l:window.screenLeft,k=null!=(m=window.screenY)?m:window.screenTop,f=null!=(n=window.outerWidth)?n:document.documentElement.clientWidth,c=null!=(t=window.outerHeight)?t:document.documentElement.clientHeight,d=Math.round(g+(f-a)/2),e=Math.round(k+(c-b)/2.5),g>d&&(d=g),k>e&&(e=k),"width\x3d"+a+",height\x3d"+b+","+("left\x3d"+d+",top\x3d"+e)+"dialog\x3dyes,dependent\x3dyes,scrollbars\x3dyes,location\x3dyes"},
b.prototype.listenForMessage=function(a,b){var c;return c=function(d){return function(e){var f;e=e.data?e.data:e;try{f=JSON.parse(e)._dropboxjs_oauth_info}catch(g){return}if(f)return d.locationStateParam(f)===a?(a=!1,window.removeEventListener("message",c),m.AuthDriver.Popup.onMessage.removeListener(c),b(m.Util.Oauth.queryParamsFromUrl(e))):void 0}}(this),window.addEventListener("message",c,!1),m.AuthDriver.Popup.onMessage.addListener(c)},b.locationOrigin=function(a){var b;return(b=/^(file:\/\/[^\?\#]*)(\?|\#|$)/.exec(a))?
b[1]:(b=/^([^\:]+\:\/\/[^\/\?\#]*)(\/|\?|\#|$)/.exec(a),b?b[1]:a)},b.oauthReceiver=function(){window.addEventListener("load",function(){var a,b,c,d;if(d=window.location.href,a=JSON.stringify({_dropboxjs_oauth_info:d}),m.AuthDriver.BrowserBase.cleanupLocation(),b=window.opener,window.parent!==window.top&&(b||(b=window.parent)),b){try{c=window.location.origin||locationOrigin(d),b.postMessage(a,c),window.close()}catch(e){}try{return b.Dropbox.AuthDriver.Popup.onMessage.dispatch(a),window.close()}catch(f){}}})},
b.onMessage=new m.Util.EventSource,b}(m.AuthDriver.BrowserBase),m.AuthDriver.ChromeBase=function(a){function b(a){b.__super__.constructor.call(this,a);this.storageKey="dropbox_js_"+this.scope+"_credentials"}return s(b,a),b.prototype.onAuthStepChange=function(a,b){switch(a.authStep){case m.Client.RESET:return this.loadCredentials(function(c){return c&&a.setCredentials(c),b()});case m.Client.DONE:return this.storeCredentials(a.credentials(),b);case m.Client.SIGNED_OUT:return this.forgetCredentials(b);
case m.Client.ERROR:return this.forgetCredentials(b);default:return b()}},b.prototype.url=function(){return this.receiverUrl},b.prototype.storeCredentials=function(a,b){var c;return c={},c[this.storageKey]=a,chrome.storage.local.set(c,b),this},b.prototype.loadCredentials=function(a){return chrome.storage.local.get(this.storageKey,function(b){return function(c){return a(c[b.storageKey]||null)}}(this)),this},b.prototype.forgetCredentials=function(a){return chrome.storage.local.remove(this.storageKey,
a),this},b}(m.AuthDriver.BrowserBase),m.AuthDriver.ChromeApp=function(a){function b(a){b.__super__.constructor.call(this,a);this.receiverUrl="https://"+chrome.runtime.id+".chromiumapp.org/"}return s(b,a),b.prototype.doAuthorize=function(a,b,c,d){return chrome.identity.launchWebAuthFlow({url:a,interactive:!0},function(a){return function(c){return a.locationStateParam(c)===b?(b=!1,d(m.Util.Oauth.queryParamsFromUrl(c))):void 0}}(this))},b}(m.AuthDriver.ChromeBase),m.AuthDriver.ChromeExtension=function(a){function b(a){b.__super__.constructor.call(this,
a);this.receiverUrl=chrome.runtime.getURL(a&&a.receiverPath||"chrome_oauth_receiver.html")}return s(b,a),b.prototype.doAuthorize=function(a,b,c,d){var e,f;return f=null,e=function(a){return function(c,g){var k;if((!g||!g.tab||g.tab.url.substring(0,a.receiverUrl.length)===a.receiverUrl)&&c.dropbox_oauth_receiver_href)return k=c.dropbox_oauth_receiver_href,a.locationStateParam(k)===b?(b=!1,f&&chrome.tabs.remove(f.id),chrome.runtime.onMessage.removeListener(e),d(m.Util.Oauth.queryParamsFromUrl(k))):
void 0}}(this),chrome.runtime.onMessage.addListener(e),chrome.tabs.create({url:a,active:!0,pinned:!1},function(a){return f=a})},b.oauthReceiver=function(){return window.addEventListener("load",function(){var a;return a=window.location.href,window.location.hash="",chrome.runtime.sendMessage({dropbox_oauth_receiver_href:a}),window.close?window.close():void 0})},b}(m.AuthDriver.ChromeBase),m.AuthDriver.Cordova=function(a){function b(a){b.__super__.constructor.call(this,a)}return s(b,a),b.prototype.url=
function(){return"https://www.dropbox.com/1/oauth2/redirect_receiver"},b.prototype.doAuthorize=function(a,b,c,d){var e,f,g;return e=window.open(a,"_blank","location\x3dyes,closebuttoncaption\x3dCancel"),/^[^/]*\/\/[^/]*\//.exec(a),g=!1,f=function(a){return function(c){if(c.url&&a.locationStateParam(c.url)===b)return g?void 0:(e.removeEventListener("loadstart",f),e.removeEventListener("loaderror",f),e.removeEventListener("loadstop",f),e.removeEventListener("exit",f),g=!0,window.setTimeout(function(){return e.close()},
10),void d(m.Util.Oauth.queryParamsFromUrl(c.url)));"exit"===c.type&&!g&&(e.removeEventListener("loadstart",f),e.removeEventListener("loaderror",f),e.removeEventListener("loadstop",f),e.removeEventListener("exit",f),g=!0,d(new AuthError("error\x3daccess_denied\x26error_description\x3dUser+closed+browser+window")))}}(this),e.addEventListener("loadstart",f),e.addEventListener("loaderror",f),e.addEventListener("loadstop",f),e.addEventListener("exit",f)},b}(m.AuthDriver.BrowserBase),m.AuthDriver.NodeServer=
function(){function a(b){this._port=(null!=b?b.port:void 0)||8912;null!=b&&b.tls?(this._tlsOptions=b.tls,("string"==typeof this._tlsOptions||this._tlsOptions instanceof Buffer)&&(this._tlsOptions={key:this._tlsOptions,cert:this._tlsOptions})):this._tlsOptions=null;this._fs=m.Env.require("fs");this._http=m.Env.require("http");this._https=m.Env.require("https");this._open=m.Env.require("open");this._callbacks={};this._nodeUrl=m.Env.require("url");this.createApp()}return a.prototype.authType=function(){return"code"},
a.prototype.url=function(){var a;return a=null===this._tlsOptions?"http":"https",""+a+"://localhost:"+this._port+"/oauth_callback"},a.prototype.doAuthorize=function(a,b,c,d){return this._callbacks[b]=d,this.openBrowser(a)},a.prototype.openBrowser=function(a){if(!a.match(/^https?:\/\//))throw Error("Not a http/https URL: "+a);return"BROWSER"in process.env?this._open(a,process.env.BROWSER):this._open(a)},a.prototype.createApp=function(){return this._app=this._tlsOptions?this._https.createServer(this._tlsOptions,
function(a){return function(b,c){return a.doRequest(b,c)}}(this)):this._http.createServer(function(a){return function(b,c){return a.doRequest(b,c)}}(this)),this._app.listen(this._port)},a.prototype.closeServer=function(){return this._app.close()},a.prototype.doRequest=function(a,b){var c,d,e;return e=this._nodeUrl.parse(a.url,!0),"/oauth_callback"===e.pathname&&(d=e.query.state,this._callbacks[d]&&(this._callbacks[d](e.query),delete this._callbacks[d])),c="",a.on("data",function(a){return c+=a}),
a.on("end",function(a){return function(){return a.closeBrowser(b)}}(this))},a.prototype.closeBrowser=function(a){return a.writeHead(200,{"Content-Length":104,"Content-Type":"text/html"}),a.write('\x3c!doctype html\x3e\n\x3cscript type\x3d"text/javascript"\x3ewindow.close();\x3c/script\x3e\n\x3cp\x3ePlease close this window.\x3c/p\x3e'),a.end()},a}(),m.AuthError=function(){function a(b){if(!b.error)throw Error("Not an OAuth 2.0 error: "+JSON.stringify(b));b="object"==typeof b.error&&b.error.error?
b.error:b;this.code=b.error;this.description=b.error_description||null;this.uri=b.error_uri||null}return a.prototype.code=null,a.prototype.description=null,a.prototype.uri=null,a.ACCESS_DENIED="access_denied",a.INVALID_REQUEST="invalid_request",a.UNAUTHORIZED_CLIENT="unauthorized_client",a.INVALID_GRANT="invalid_grant",a.INVALID_SCOPE="invalid_scope",a.UNSUPPORTED_GRANT_TYPE="unsupported_grant_type",a.UNSUPPORTED_RESPONSE_TYPE="unsupported_response_type",a.SERVER_ERROR="server_error",a.TEMPORARILY_UNAVAILABLE=
"temporarily_unavailable",a.prototype.toString=function(){return"Dropbox OAuth error "+this.code+" :: "+this.description},a.prototype.inspect=function(){return this.toString()},a}(),m.Client=function(){function b(a){this._serverRoot=a.server||this._defaultServerRoot();this._maxApiServer="maxApiServer"in a?a.maxApiServer:this._defaultMaxApiServer();this._authServer=a.authServer||this._defaultAuthServer();this._fileServer=a.fileServer||this._defaultFileServer();this._downloadServer=a.downloadServer||
this._defaultDownloadServer();this._notifyServer=a.notifyServer||this._defaultNotifyServer();this.onXhr=new m.Util.EventSource({cancelable:!0});this.onError=new m.Util.EventSource;this.onAuthStepChange=new m.Util.EventSource;this._xhrOnErrorHandler=function(a){return function(b,c){return a._handleXhrError(b,c)}}(this);this._oauth=new m.Util.Oauth(a);this._uid=a.uid||null;this.authStep=this._oauth.step();this._credentials=this.authError=this._driver=null;this.setupUrls()}return b.prototype.onXhr=null,
b.prototype.onError=null,b.prototype.onAuthStepChange=null,b.prototype.authDriver=function(a){return this._driver=a,this},b.prototype.dropboxUid=function(){return this._uid},b.prototype.credentials=function(){return this._credentials||this._computeCredentials(),this._credentials},b.prototype.authenticate=function(b,c){var d,e,f,g,k;if(c||"function"!=typeof b||(c=b,b=null),d=b&&"interactive"in b?b.interactive:!0,!this._driver&&this.authStep!==a.DONE&&(m.AuthDriver.autoConfigure(this),!this._driver))throw Error("OAuth driver auto-configuration failed. Call authDriver.");
if(this.authStep===a.ERROR)throw Error("Client got in an error state. Call reset() to reuse it!");return g=function(b){return function(){return b.authStep=b._oauth.step(),b.authStep===a.ERROR&&(b.authError=b._oauth.error()),b._credentials=null,b.onAuthStepChange.dispatch(b),k()}}(this),f=function(b){return function(){return b.authStep=a.ERROR,b._credentials=null,b.onAuthStepChange.dispatch(b),k()}}(this),e=null,k=function(b){return function(){var l;if(e!==b.authStep&&(e=b.authStep,b._driver&&b._driver.onAuthStepChange))return void b._driver.onAuthStepChange(b,
k);switch(b.authStep){case a.RESET:return d?(b._driver.getStateParam&&b._driver.getStateParam(function(c){return b.client.authStep===a.RESET&&b._oauth.setAuthStateParam(c),g()}),b._oauth.setAuthStateParam(m.Util.Oauth.randomAuthStateParam()),g()):void(c&&c(null,b));case a.PARAM_SET:return d?(l=b.authorizeUrl(),b._driver.doAuthorize(l,b._oauth.authStateParam(),b,function(a){return b._oauth.processRedirectParams(a),a.uid&&(b._uid=a.uid),g()})):void(c&&c(null,b));case a.PARAM_LOADED:return b._driver.resumeAuthorize?
b._driver.resumeAuthorize(b._oauth.authStateParam(),b,function(a){return b._oauth.processRedirectParams(a),a.uid&&(b._uid=a.uid),g()}):(b._oauth.setAuthStateParam(b._oauth.authStateParam()),void g());case a.AUTHORIZED:return b.getAccessToken(function(a,c){return a?(b.authError=a,f()):(b._oauth.processRedirectParams(c),b._uid=c.uid,g())});case a.DONE:c&&c(null,b);break;case a.SIGNED_OUT:return b.authStep=a.RESET,b.reset(),k();case a.ERROR:c&&c(b.authError,b)}}}(this),k(),this},b.prototype.isAuthenticated=
function(){return this.authStep===a.DONE},b.prototype.signOut=function(b,c){var d,e;if(c||"function"!=typeof b||(c=b,b=null),d=b&&b.mustInvalidate,this.authStep!==a.DONE)throw Error("This client doesn't have a user's token");return e=new m.Util.Xhr("POST",this._urls.signOut),e.signWithOauth(this._oauth),this._dispatchXhr(e,function(b){return function(e){if(e)if(e.status===m.ApiError.INVALID_TOKEN)e=null;else if(d)return void(c&&c(e));return b.authStep=a.RESET,b.reset(),b.authStep=a.SIGNED_OUT,b.onAuthStepChange.dispatch(b),
b._driver&&b._driver.onAuthStepChange?b._driver.onAuthStepChange(b,function(){return c?c(null):void 0}):c?c(null):void 0}}(this))},b.prototype.signOff=function(a,b){return this.signOut(a,b)},b.prototype.getAccountInfo=function(a,b){var c,d;return b||"function"!=typeof a||(b=a,a=null),c=!1,a&&a.httpCache&&(c=!0),d=new m.Util.Xhr("GET",this._urls.accountInfo),d.signWithOauth(this._oauth,c),this._dispatchXhr(d,function(a,c){return b(a,m.AccountInfo.parse(c),c)})},b.prototype.getUserInfo=function(a,b){return this.getAccountInfo(a,
b)},b.prototype.readFile=function(a,b,c){var d,e,f,g,k,l,n;return c||"function"!=typeof b||(c=b,b=null),e={},l="text",g=null,d=!1,b&&(b.versionTag?e.rev=b.versionTag:b.rev&&(e.rev=b.rev),b.arrayBuffer?l="arraybuffer":b.blob?l="blob":b.buffer?l="buffer":b.binary&&(l="b"),b.length?(null!=b.start?(k=b.start,f=b.start+b.length-1):(k="",f=b.length),g="bytes\x3d"+k+"-"+f):null!=b.start&&(g="bytes\x3d"+b.start+"-"),b.httpCache&&(d=!0)),n=new m.Util.Xhr("GET",""+this._urls.getFile+"/"+this._urlEncodePath(a)),
n.setParams(e).signWithOauth(this._oauth,d),n.setResponseType(l),g&&(g&&n.setHeader("Range",g),n.reportResponseHeaders()),this._dispatchXhr(n,function(a,b,d,e){var f;return f=e?m.Http.RangeInfo.parse(e["content-range"]):null,c(a,b,m.File.Stat.parse(d),f)})},b.prototype.writeFile=function(a,b,c,d){var e;return d||"function"!=typeof c||(d=c,c=null),e=m.Util.Xhr.canSendForms&&"object"==typeof b,e?this._writeFileUsingForm(a,b,c,d):this._writeFileUsingPut(a,b,c,d)},b.prototype._writeFileUsingForm=function(a,
b,c,d){var e,f,g,k;return g=a.lastIndexOf("/"),-1===g?(e=a,a=""):(e=a.substring(g),a=a.substring(0,g)),f={file:e},c&&(c.noOverwrite&&(f.overwrite="false"),c.lastVersionTag?f.parent_rev=c.lastVersionTag:(c.parentRev||c.parent_rev)&&(f.parent_rev=c.parentRev||c.parent_rev)),k=new m.Util.Xhr("POST",""+this._urls.postFile+"/"+this._urlEncodePath(a)),k.setParams(f).signWithOauth(this._oauth).setFileField("file",e,b,"application/octet-stream"),delete f.file,this._dispatchXhr(k,function(a,b){return d?d(a,
m.File.Stat.parse(b)):void 0})},b.prototype._writeFileUsingPut=function(a,b,c,d){var e,f;return e={},c&&(c.noOverwrite&&(e.overwrite="false"),c.lastVersionTag?e.parent_rev=c.lastVersionTag:(c.parentRev||c.parent_rev)&&(e.parent_rev=c.parentRev||c.parent_rev)),f=new m.Util.Xhr("POST",""+this._urls.putFile+"/"+this._urlEncodePath(a)),f.setBody(b).setParams(e).signWithOauth(this._oauth),this._dispatchXhr(f,function(a,b){return d?d(a,m.File.Stat.parse(b)):void 0})},b.prototype.resumableUploadStep=function(a,
b,c){var d,e;return b?(d={offset:b.offset},b.tag&&(d.upload_id=b.tag)):d={offset:0},e=new m.Util.Xhr("POST",this._urls.chunkedUpload),e.setBody(a).setParams(d).signWithOauth(this._oauth),this._dispatchXhr(e,function(a,b){return a&&a.status===m.ApiError.INVALID_PARAM&&a.response&&a.response.upload_id&&a.response.offset?c(null,m.Http.UploadCursor.parse(a.response)):c(a,m.Http.UploadCursor.parse(b))})},b.prototype.resumableUploadFinish=function(a,b,c,d){var e,f;return d||"function"!=typeof c||(d=c,c=
null),e={upload_id:b.tag},c&&(c.lastVersionTag?e.parent_rev=c.lastVersionTag:(c.parentRev||c.parent_rev)&&(e.parent_rev=c.parentRev||c.parent_rev),c.noOverwrite&&(e.overwrite="false")),f=new m.Util.Xhr("POST",""+this._urls.commitChunkedUpload+"/"+this._urlEncodePath(a)),f.setParams(e).signWithOauth(this._oauth),this._dispatchXhr(f,function(a,b){return d?d(a,m.File.Stat.parse(b)):void 0})},b.prototype.stat=function(a,b,c){var d,e,f;return c||"function"!=typeof b||(c=b,b=null),e={},d=!1,b&&(b.versionTag?
e.rev=b.versionTag:b.rev&&(e.rev=b.rev),b.contentHash?e.hash=b.contentHash:b.hash&&(e.hash=b.hash),(b.removed||b.deleted)&&(e.include_deleted="true"),b.readDir&&(e.list="true",!0!==b.readDir&&(e.file_limit=b.readDir.toString())),b.cacheHash&&(e.hash=b.cacheHash),b.httpCache&&(d=!0)),e.include_deleted||(e.include_deleted="false"),e.list||(e.list="false"),f=new m.Util.Xhr("GET",""+this._urls.metadata+"/"+this._urlEncodePath(a)),f.setParams(e).signWithOauth(this._oauth,d),this._dispatchXhr(f,function(a,
b){var d,e,f;f=m.File.Stat.parse(b);if(null!=b&&b.contents){var g,k,l,n;l=b.contents;n=[];g=0;for(k=l.length;k>g;g++)e=l[g],n.push(m.File.Stat.parse(e));e=n}else e=void 0;return d=e,c(a,f,d)})},b.prototype.readdir=function(a,b,c){var d;return c||"function"!=typeof b||(c=b,b=null),d={readDir:!0},b&&(null!=b.limit&&(d.readDir=b.limit),b.versionTag?d.versionTag=b.versionTag:b.rev&&(d.versionTag=b.rev),b.contentHash?d.contentHash=b.contentHash:b.hash&&(d.contentHash=b.hash),(b.removed||b.deleted)&&(d.removed=
b.removed||b.deleted),b.httpCache&&(d.httpCache=b.httpCache)),this.stat(a,d,function(a,b,d){var e,f;if(d){var g,k,l;l=[];g=0;for(k=d.length;k>g;g++)f=d[g],l.push(f.name);f=l}else f=null;return e=f,c(a,e,b,d)})},b.prototype.metadata=function(a,b,c){return this.stat(a,b,c)},b.prototype.makeUrl=function(a,b,c){var d,e,f,g,k;return c||"function"!=typeof b||(c=b,b=null),e=b&&(b["long"]||b.longUrl||b.downloadHack)?{short_url:"false"}:{},a=this._urlEncodePath(a),f=""+this._urls.shares+"/"+a,d=!1,g=!1,b&&
(b.downloadHack?(d=!0,g=!0):b.download&&(d=!0,f=""+this._urls.media+"/"+a)),k=(new m.Util.Xhr("POST",f)).setParams(e).signWithOauth(this._oauth),this._dispatchXhr(k,function(a){return function(b,e){return g&&(null!=e?e.url:void 0)&&(e.url=e.url.replace(a._authServer,a._downloadServer)),c(b,m.File.ShareUrl.parse(e,d))}}(this))},b.prototype.history=function(a,b,c){var d,e,f;return c||"function"!=typeof b||(c=b,b=null),e={},d=!1,b&&(null!=b.limit&&(e.rev_limit=b.limit),b.httpCache&&(d=!0)),f=new m.Util.Xhr("GET",
""+this._urls.revisions+"/"+this._urlEncodePath(a)),f.setParams(e).signWithOauth(this._oauth,d),this._dispatchXhr(f,function(a,b){var d,e;if(b){var f,g,k;k=[];f=0;for(g=b.length;g>f;f++)d=b[f],k.push(m.File.Stat.parse(d));d=k}else d=void 0;return e=d,c(a,e)})},b.prototype.revisions=function(a,b,c){return this.history(a,b,c)},b.prototype.thumbnailUrl=function(a,b){var c;return c=this.thumbnailXhr(a,b),c.addOauthParams(this._oauth).paramsToUrl().url},b.prototype.readThumbnail=function(a,b,c){var d,
e;return c||"function"!=typeof b||(c=b,b=null),d="b",b&&(b.blob&&(d="blob"),b.arrayBuffer&&(d="arraybuffer"),b.buffer&&(d="buffer")),e=this.thumbnailXhr(a,b),e.setResponseType(d).signWithOauth(this._oauth),this._dispatchXhr(e,function(a,b,d){return c(a,b,m.File.Stat.parse(d))})},b.prototype.thumbnailXhr=function(a,b){var c,d;return c={},b&&(b.format?c.format=b.format:b.png&&(c.format="png"),b.size&&(c.size=b.size)),d=new m.Util.Xhr("GET",""+this._urls.thumbnails+"/"+this._urlEncodePath(a)),d.setParams(c)},
b.prototype.revertFile=function(a,b,c){var d;return d=new m.Util.Xhr("POST",""+this._urls.restore+"/"+this._urlEncodePath(a)),d.setParams({rev:b}).signWithOauth(this._oauth),this._dispatchXhr(d,function(a,b){return c?c(a,m.File.Stat.parse(b)):void 0})},b.prototype.restore=function(a,b,c){return this.revertFile(a,b,c)},b.prototype.findByName=function(a,b,c,d){var e,f,g;return d||"function"!=typeof c||(d=c,c=null),f={query:b},e=!1,c&&(null!=c.limit&&(f.file_limit=c.limit),(c.removed||c.deleted)&&(f.include_deleted=
!0),c.httpCache&&(e=!0)),g=new m.Util.Xhr("GET",""+this._urls.search+"/"+this._urlEncodePath(a)),g.setParams(f).signWithOauth(this._oauth,e),this._dispatchXhr(g,function(a,b){var c,e;if(b){var f,g,k;k=[];f=0;for(g=b.length;g>f;f++)c=b[f],k.push(m.File.Stat.parse(c));c=k}else c=void 0;return e=c,d(a,e)})},b.prototype.search=function(a,b,c,d){return this.findByName(a,b,c,d)},b.prototype.makeCopyReference=function(a,b){var c;return c=new m.Util.Xhr("GET",""+this._urls.copyRef+"/"+this._urlEncodePath(a)),
c.signWithOauth(this._oauth),this._dispatchXhr(c,function(a,c){return b(a,m.File.CopyReference.parse(c))})},b.prototype.copyRef=function(a,b){return this.makeCopyReference(a,b)},b.prototype.pullChanges=function(a,b){var c,d;return b||"function"!=typeof a||(b=a,a=null),c=a?a.cursorTag?{cursor:a.cursorTag}:{cursor:a}:{},d=new m.Util.Xhr("POST",this._urls.delta),d.setParams(c).signWithOauth(this._oauth),this._dispatchXhr(d,function(a,c){return b(a,m.Http.PulledChanges.parse(c))})},b.prototype.delta=
function(a,b){return this.pullChanges(a,b)},b.prototype.pollForChanges=function(a,b,c){var d,e;return c||"function"!=typeof b||(c=b,b=null),d=a.cursorTag?{cursor:a.cursorTag}:{cursor:a},b&&"timeout"in b&&(d.timeout=b.timeout),e=new m.Util.Xhr("GET",this._urls.longpollDelta),e.setParams(d),this._dispatchXhr(e,function(a,b){if("string"==typeof b)try{b=JSON.parse(b)}catch(d){b=null}return c(a,m.Http.PollResult.parse(b))})},b.prototype.mkdir=function(a,b){var c;return c=new m.Util.Xhr("POST",this._urls.fileopsCreateFolder),
c.setParams({root:"auto",path:this._normalizePath(a)}).signWithOauth(this._oauth),this._dispatchXhr(c,function(a,c){return b?b(a,m.File.Stat.parse(c)):void 0})},b.prototype.remove=function(a,b){var c;return c=new m.Util.Xhr("POST",this._urls.fileopsDelete),c.setParams({root:"auto",path:this._normalizePath(a)}).signWithOauth(this._oauth),this._dispatchXhr(c,function(a,c){return b?b(a,m.File.Stat.parse(c)):void 0})},b.prototype.unlink=function(a,b){return this.remove(a,b)},b.prototype["delete"]=function(a,
b){return this.remove(a,b)},b.prototype.copy=function(a,b,c){var d,e,f;return c||"function"!=typeof d||(c=d,d=null),e={root:"auto",to_path:this._normalizePath(b)},a instanceof m.File.CopyReference?e.from_copy_ref=a.tag:e.from_path=this._normalizePath(a),f=new m.Util.Xhr("POST",this._urls.fileopsCopy),f.setParams(e).signWithOauth(this._oauth),this._dispatchXhr(f,function(a,b){return c?c(a,m.File.Stat.parse(b)):void 0})},b.prototype.move=function(a,b,c){var d,e;return c||"function"!=typeof d||(c=d,
d=null),e=new m.Util.Xhr("POST",this._urls.fileopsMove),e.setParams({root:"auto",from_path:this._normalizePath(a),to_path:this._normalizePath(b)}).signWithOauth(this._oauth),this._dispatchXhr(e,function(a,b){return c?c(a,m.File.Stat.parse(b)):void 0})},b.prototype.appInfo=function(a,b){var c;return b||"function"!=typeof a||(b=a,a=this._oauth.credentials().key),c=new m.Util.Xhr("GET",this._urls.appsInfo),c.setParams({app_key:a}),this._dispatchXhr(c,function(c,d){return b(c,m.Http.AppInfo.parse(d,a))})},
b.prototype.isAppDeveloper=function(a,b,c){var d;return"object"==typeof a&&"uid"in a&&(a=a.uid),c||"function"!=typeof b?"object"==typeof b&&"key"in b&&(b=b.key):(c=b,b=this._oauth.credentials().key),d=new m.Util.Xhr("GET",this._urls.appsCheckDeveloper),d.setParams({app_key:b,uid:a}),this._dispatchXhr(d,function(a,b){return b?c(a,b.is_developer):c(a)})},b.prototype.hasOauthRedirectUri=function(a,b,c){var d;return c||"function"!=typeof b?"object"==typeof b&&"key"in b&&(b=b.key):(c=b,b=this._oauth.credentials().key),
d=new m.Util.Xhr("GET",this._urls.appsCheckRedirectUri),d.setParams({app_key:b,redirect_uri:a}),this._dispatchXhr(d,function(a,b){return b?c(a,b.has_redirect_uri):c(a)})},b.prototype.reset=function(){var a;return this._uid=null,this._oauth.reset(),a=this.authStep,this.authStep=this._oauth.step(),a!==this.authStep&&this.onAuthStepChange.dispatch(this),this.authError=null,this._credentials=null,this},b.prototype.setCredentials=function(a){var b;return b=this.authStep,this._oauth.setCredentials(a),this.authStep=
this._oauth.step(),this._uid=a.uid||null,this.authError=null,this._credentials=null,b!==this.authStep&&this.onAuthStepChange.dispatch(this),this},b.prototype.appHash=function(){return this._oauth.appHash()},b.prototype.setupUrls=function(){return this._apiServer=this._chooseApiServer(),this._urls={authorize:""+this._authServer+"/1/oauth2/authorize",token:""+this._apiServer+"/1/oauth2/token",signOut:""+this._apiServer+"/1/unlink_access_token",accountInfo:""+this._apiServer+"/1/account/info",getFile:""+
this._fileServer+"/1/files/auto",postFile:""+this._fileServer+"/1/files/auto",putFile:""+this._fileServer+"/1/files_put/auto",metadata:""+this._apiServer+"/1/metadata/auto",delta:""+this._apiServer+"/1/delta",longpollDelta:""+this._notifyServer+"/1/longpoll_delta",revisions:""+this._apiServer+"/1/revisions/auto",restore:""+this._apiServer+"/1/restore/auto",search:""+this._apiServer+"/1/search/auto",shares:""+this._apiServer+"/1/shares/auto",media:""+this._apiServer+"/1/media/auto",copyRef:""+this._apiServer+
"/1/copy_ref/auto",thumbnails:""+this._fileServer+"/1/thumbnails/auto",chunkedUpload:""+this._fileServer+"/1/chunked_upload",commitChunkedUpload:""+this._fileServer+"/1/commit_chunked_upload/auto",fileopsCopy:""+this._apiServer+"/1/fileops/copy",fileopsCreateFolder:""+this._apiServer+"/1/fileops/create_folder",fileopsDelete:""+this._apiServer+"/1/fileops/delete",fileopsMove:""+this._apiServer+"/1/fileops/move",appsInfo:""+this._apiServer+"/1/apps/info",appsCheckDeveloper:""+this._apiServer+"/1/apps/check_developer",
appsCheckRedirectUri:""+this._apiServer+"/1/apps/check_redirect_uri"}},b.prototype._chooseApiServer=function(){var a,b;return b=Math.floor(Math.random()*(this._maxApiServer+1)),a=0===b?"":b.toString(),this._serverRoot.replace("$",a)},b.prototype.authStep=null,b.ERROR=0,b.RESET=1,b.PARAM_SET=2,b.PARAM_LOADED=3,b.AUTHORIZED=4,b.DONE=5,b.SIGNED_OUT=6,b.prototype._urlEncodePath=function(a){return m.Util.Xhr.urlEncodeValue(this._normalizePath(a)).replace(/%2F/gi,"/")},b.prototype._normalizePath=function(a){var b;
if("/"===a.substring(0,1)){for(b=1;"/"===a.substring(b,b+1);)b+=1;return a.substring(b)}return a},b.prototype.authorizeUrl=function(){var a;return a=this._oauth.authorizeUrlParams(this._driver.authType(),this._driver.url()),this._urls.authorize+"?"+m.Util.Xhr.urlEncode(a)},b.prototype.getAccessToken=function(a){var b,c;return b=this._oauth.accessTokenParams(this._driver.url()),c=(new m.Util.Xhr("POST",this._urls.token)).setParams(b).addOauthParams(this._oauth),this._dispatchXhr(c,function(b,c){return b&&
b.status===m.ApiError.INVALID_PARAM&&b.response&&b.response.error&&(b=new m.AuthError(b.response)),a(b,c)})},b.prototype._dispatchXhr=function(a,b){var c;return a.setCallback(b),a.onError=this._xhrOnErrorHandler,a.prepare(),c=a.xhr,this.onXhr.dispatch(a)&&a.send(),c},b.prototype._handleXhrError=function(b,c){return b.status===m.ApiError.INVALID_TOKEN&&this.authStep===a.DONE&&(this.authError=b,this.authStep=a.ERROR,this.onAuthStepChange.dispatch(this),this._driver&&this._driver.onAuthStepChange)?(this._driver.onAuthStepChange(this,
function(a){return function(){return a.onError.dispatch(b),c(b)}}(this)),null):(this.onError.dispatch(b),void c(b))},b.prototype._defaultServerRoot=function(){return"https://api$.dropbox.com"},b.prototype._defaultAuthServer=function(){return this._serverRoot.replace("api$","www")},b.prototype._defaultFileServer=function(){return this._serverRoot.replace("api$","api-content")},b.prototype._defaultDownloadServer=function(){return"https://dl.dropboxusercontent.com"},b.prototype._defaultNotifyServer=
function(){return this._serverRoot.replace("api$","api-notify")},b.prototype._defaultMaxApiServer=function(){return 30},b.prototype._computeCredentials=function(){var a;a=this._oauth.credentials();this._uid&&(a.uid=this._uid);this._serverRoot!==this._defaultServerRoot()&&(a.server=this._serverRoot);this._maxApiServer!==this._defaultMaxApiServer()&&(a.maxApiServer=this._maxApiServer);this._authServer!==this._defaultAuthServer()&&(a.authServer=this._authServer);this._fileServer!==this._defaultFileServer()&&
(a.fileServer=this._fileServer);this._downloadServer!==this._defaultDownloadServer()&&(a.downloadServer=this._downloadServer);this._notifyServer!==this._defaultNotifyServer()&&(a.notifyServer=this._notifyServer);this._credentials=a},b}(),a=m.Client,m.File.ShareUrl=function(){function a(b,c){this.url=b.url;this.expiresAt=m.Util.parseDate(b.expires);this.isDirect=!0===c?!0:!1===c?!1:"direct"in b?b.direct:864E5>=Date.now()-this.expiresAt;this.isPreview=!this.isDirect;this._json=null}return a.parse=function(a,
b){return a&&"object"==typeof a?new m.File.ShareUrl(a,b):a},a.prototype.url=null,a.prototype.expiresAt=null,a.prototype.isDirect=null,a.prototype.isPreview=null,a.prototype.toJSON=function(){return this._json||(this._json={url:this.url,expires:this.expiresAt.toUTCString(),direct:this.isDirect})},a.prototype.json=function(){return this.toJSON()},a}(),m.File.CopyReference=function(){function a(b){"object"==typeof b?(this.tag=b.copy_ref,this.expiresAt=m.Util.parseDate(b.expires),this._json=b):(this.tag=
b,this.expiresAt=new Date(1E3*Math.ceil(Date.now()/1E3)),this._json=null)}return a.parse=function(a){return!a||"object"!=typeof a&&"string"!=typeof a?a:new m.File.CopyReference(a)},a.prototype.tag=null,a.prototype.expiresAt=null,a.prototype.toJSON=function(){return this._json||(this._json={copy_ref:this.tag,expires:this.expiresAt.toUTCString()})},a.prototype.json=function(){return this.toJSON()},a}(),m.File.Stat=function(){function a(b){var c,d,e,f;switch(this._json=b,this.path=b.path,"/"!==this.path.substring(0,
1)&&(this.path="/"+this.path),c=this.path.length-1,0<=c&&"/"===this.path.substring(c)&&(this.path=this.path.substring(0,c)),d=this.path.lastIndexOf("/"),this.name=this.path.substring(d+1),this.isFolder=b.is_dir||!1,this.isFile=!this.isFolder,this.isRemoved=b.is_deleted||!1,this.typeIcon=b.icon,this.modifiedAt=null!=(e=b.modified)&&e.length?m.Util.parseDate(b.modified):null,this.clientModifiedAt=null!=(f=b.client_mtime)&&f.length?m.Util.parseDate(b.client_mtime):null,b.root){case "dropbox":this.inAppFolder=
!1;break;case "app_folder":this.inAppFolder=!0;break;default:this.inAppFolder=null}this.size=b.bytes||0;this.humanSize=b.size||"";this.hasThumbnail=b.thumb_exists||!1;this.versionTag=b.rev;this.contentHash=b.hash||null;this.mimeType=this.isFolder?b.mime_type||"inode/directory":b.mime_type||"application/octet-stream"}return a.parse=function(a){return a&&"object"==typeof a?new m.File.Stat(a):a},a.prototype.path=null,a.prototype.name=null,a.prototype.inAppFolder=null,a.prototype.isFolder=null,a.prototype.isFile=
null,a.prototype.isRemoved=null,a.prototype.typeIcon=null,a.prototype.versionTag=null,a.prototype.contentHash=null,a.prototype.mimeType=null,a.prototype.size=null,a.prototype.humanSize=null,a.prototype.hasThumbnail=null,a.prototype.modifiedAt=null,a.prototype.clientModifiedAt=null,a.prototype.toJSON=function(){return this._json},a.prototype.json=function(){return this.toJSON()},a}(),m.Http.AppInfo=function(){function a(b,c){var d;this.name=b.name;this._icons=b.icons;d=b.permissions||{};this.canUseDatastores=
!!d.datastores;this.canUseFiles=!!d.files;this.canUseFullDropbox="full_dropbox"===d.files;this.hasAppFolder="app_folder"===d.files;this.key=c?c:b.key||null}return a.parse=function(a,b){return a?new m.Http.AppInfo(a,b):a},a.prototype.name=void 0,a.prototype.key=void 0,a.prototype.canUseDatastores=void 0,a.prototype.canUseFiles=void 0,a.prototype.hasAppFolder=void 0,a.prototype.canUseFullDropbox=void 0,a.prototype.icon=function(a,b){return b||(b=a),this._icons[""+a+"x"+b]||null},a.ICON_SMALL=64,a.ICON_LARGE=
256,a}(),m.Http.PollResult=function(){function a(b){this.hasChanges=b.changes;this.retryAfter=b.backoff||0}return a.parse=function(a){return a?new m.Http.PollResult(a):a},a.prototype.hasChanges=void 0,a.prototype.retryAfter=void 0,a}(),m.Http.PulledChanges=function(){function a(b){this.blankSlate=b.reset||!1;this.cursorTag=b.cursor;this.shouldPullAgain=b.has_more;this.shouldBackOff=!this.shouldPullAgain;if(b.cursor&&b.cursor.length){var c,d,e,f;e=b.entries;f=[];c=0;for(d=e.length;d>c;c++)b=e[c],f.push(m.Http.PulledChange.parse(b));
b=f}else b=[];this.changes=b}return a.parse=function(a){return a&&"object"==typeof a?new m.Http.PulledChanges(a):a},a.prototype.blankSlate=void 0,a.prototype.cursorTag=void 0,a.prototype.changes=void 0,a.prototype.shouldPullAgain=void 0,a.prototype.shouldBackOff=void 0,a.prototype.cursor=function(){return this.cursorTag},a}(),m.Http.PulledChange=function(){function a(b){this.path=b[0];(this.stat=m.File.Stat.parse(b[1]))?this.wasRemoved=!1:(this.stat=null,this.wasRemoved=!0)}return a.parse=function(a){return a&&
"object"==typeof a?new m.Http.PulledChange(a):a},a.prototype.path=void 0,a.prototype.wasRemoved=void 0,a.prototype.stat=void 0,a}(),m.Http.RangeInfo=function(){function a(b){var c;(c=/^bytes (\d*)-(\d*)\/(.*)$/.exec(b))?(this.start=parseInt(c[1]),this.end=parseInt(c[2]),this.size="*"===c[3]?null:parseInt(c[3])):(this.start=0,this.end=0,this.size=null)}return a.parse=function(a){return"string"==typeof a?new m.Http.RangeInfo(a):a},a.prototype.start=null,a.prototype.size=null,a.prototype.end=null,a}(),
m.Http.UploadCursor=function(){function a(b){this.replace(b)}return a.parse=function(a){return!a||"object"!=typeof a&&"string"!=typeof a?a:new m.Http.UploadCursor(a)},a.prototype.tag=null,a.prototype.offset=null,a.prototype.expiresAt=null,a.prototype.toJSON=function(){return this._json||(this._json={upload_id:this.tag,offset:this.offset,expires:this.expiresAt.toUTCString()})},a.prototype.json=function(){return this.toJSON()},a.prototype.replace=function(a){return"object"==typeof a?(this.tag=a.upload_id||
null,this.offset=a.offset||0,this.expiresAt=m.Util.parseDate(a.expires)||Date.now(),this._json=a):(this.tag=a||null,this.offset=0,this.expiresAt=new Date(1E3*Math.floor(Date.now()/1E3)),this._json=null),this},a}(),"function"==typeof m.Env.global.atob&&"function"==typeof m.Env.global.btoa?(m.Util.atob=function(a){return m.Env.global.atob(a)},m.Util.btoa=function(a){return m.Env.global.btoa(a)}):m.Env.global.require&&m.Env.global.Buffer?(m.Util.atob=function(a){var b;a=new Buffer(a,"base64");var c,
d,e;e=[];b=c=0;for(d=a.length;0<=d?d>c:c>d;b=0<=d?++c:--c)e.push(String.fromCharCode(a[b]));return e.join("")},m.Util.btoa=function(a){var b,c,d=Buffer,e,f,g;g=[];c=e=0;for(f=a.length;0<=f?f>e:e>f;c=0<=f?++e:--e)g.push(a.charCodeAt(c));return b=new d(g),b.toString("base64")}):!function(){var a,b;return b=function(a,b,c){var d,e;e=3-b;a<<=8*e;for(d=3;d>=e;)c.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(a>>6*d&63)),d-=1;for(d=b;3>d;)c.push("\x3d"),d+=1;return null},
a=function(a,b,c){var d;d=4-b;a<<=6*d;for(b=2;b>=d;)c.push(String.fromCharCode(a>>8*b&255)),b-=1;return null},m.Util.btoa=function(a){var c,d,e,f,g,k;f=[];e=g=d=c=0;for(k=a.length;0<=k?k>g:g>k;e=0<=k?++g:--g)c=c<<8|a.charCodeAt(e),d+=1,3===d&&(b(c,d,f),c=d=0);return 0<d&&b(c,d,f),f.join("")},m.Util.atob=function(b){var c,d,e,f,g,k,l;g=[];f=k=e=c=0;for(l=b.length;(0<=l?l>k:k>l)&&(d=b.charAt(f),"\x3d"!==d);f=0<=l?++k:--k)c=c<<6|"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(d),
e+=1,4===e&&(a(c,e,g),c=e=0);return 0<e&&a(c,e,g),g.join("")}}(),function(){var a,b,c,d,e,f,g,k,l;if(m.Util.hmac=function(b,d){return a(c(k(b),k(d),b.length,d.length))},m.Util.sha1=function(b){return a(d(k(b),b.length))},m.Util.sha256=function(b){return a(e(k(b),b.length))},m.Env.require)try{b=m.Env.require("crypto"),b.createHmac&&b.createHash&&(m.Util.hmac=function(a,c){var d;return d=b.createHmac("sha1",c),d.update(a),d.digest("base64")},m.Util.sha1=function(a){var c;return c=b.createHash("sha1"),
c.update(a),c.digest("base64")},m.Util.sha256=function(a){var c;return c=b.createHash("sha256"),c.update(a),c.digest("base64")})}catch(n){}return c=function(a,b,c,e){var f,g,k,l;return 16<b.length&&(b=d(b,e)),k=function(){var a,c;c=[];for(g=a=0;16>a;g=++a)c.push(909522486^b[g]);return c}(),l=function(){var a,c;c=[];for(g=a=0;16>a;g=++a)c.push(1549556828^b[g]);return c}(),f=d(k.concat(a),64+c),d(l.concat(f),84)},d=function(a,b){var c,d,e,f,g,k,l,m,n,p,q,t,u,r,s,v,z;a[b>>2]|=1<<31-((3&b)<<3);a[(b+8>>
6<<4)+15]=b<<3;s=Array(80);c=1732584193;e=4023233417;g=2562383102;l=271733878;n=3285377520;q=0;for(u=a.length;u>q;){d=c;f=e;k=g;m=l;p=n;for(t=z=0;80>z;t=++z)16>t?s[t]=0|a[q+t<<2>>2]:(r=(0|s[t-3<<2>>2])^(0|s[t-8<<2>>2])^(0|s[t-14<<2>>2])^(0|s[t-16<<2>>2]),s[t]=r<<1|r>>>31),v=((c<<5|c>>>27)+n|0)+s[t<<2>>2]|0,v=20>t?v+((e&g|~e&l)+1518500249|0)|0:40>t?v+((e^g^l)+1859775393|0)|0:60>t?v+((e&g|e&l|g&l)-1894007588)|0:v+((e^g^l)-899497514|0)|0,n=l,l=g,g=e<<30|e>>>2,e=c,c=v;c=d+c|0;e=f+e|0;g=k+g|0;l=m+l|0;
n=p+n|0;q=q+16|0}return[c,e,g,l,n]},e=function(a,b){var c,d,e,k,l,m,n,p,q,t,u,r,s,v,z,y,A,B,E,Y,aa,W,Q,ga,ca,$,fa,ia,ba,ka;a[b>>2]|=1<<31-((3&b)<<3);a[(b+8>>6<<4)+15]=b<<3;ba=Array(80);c=f[0];e=f[1];l=f[2];p=f[3];t=f[4];r=f[5];v=f[6];Y=f[7];W=0;for(ga=a.length;ga>W;){d=c;k=e;m=l;q=p;u=t;s=r;z=v;aa=Y;for(Q=ka=0;64>ka;Q=++ka)16>Q?ia=ba[Q]=0|a[W+Q<<2>>2]:(A=0|ba[Q-15<<2>>2],y=(A<<25|A>>>7)^(A<<14|A>>>18)^A>>>3,E=0|ba[Q-2<<2>>2],B=(E<<15|E>>>17)^(E<<13|E>>>19)^E>>>10,ia=ba[Q]=(y+(0|ba[Q-7<<2>>2])|0)+
(B+(0|ba[Q-16<<2>>2])|0)|0),n=t&r^~t&v,ca=c&e^c&l^e&l,$=(c<<30|c>>>2)^(c<<19|c>>>13)^(c<<10|c>>>22),fa=(t<<26|t>>>6)^(t<<21|t>>>11)^(t<<7|t>>>25),n=((Y+fa|0)+(n+ia|0)|0)+(0|g[Q<<2>>2])|0,ca=$+ca|0,Y=v,v=r,r=t,t=p+n|0,p=l,l=e,e=c,c=n+ca|0;c=d+c|0;e=k+e|0;l=m+l|0;p=q+p|0;t=u+t|0;r=s+r|0;v=z+v|0;Y=aa+Y|0;W+=16}return[c,e,l,p,t,r,v,Y]},f=[],g=[],function(){var a,b,c,d,e,k,l;b=function(a){return 4294967296*(a-Math.floor(a))|0};e=2;l=[];for(c=k=0;64>k;c=++k){for(;;){d=!0;for(a=2;e>=a*a;){if(0===e%a){d=
!1;break}a+=1}if(d)break;e+=1}8>c&&(f[c]=b(Math.pow(e,0.5)));g[c]=b(Math.pow(e,1/3));l.push(e+=1)}return l}(),a=function(a){var b,c,d,e,f;e="";b=0;for(d=4*a.length;d>b;)c=b,f=(a[c>>2]>>(3-(3&c)<<3)&255)<<16,c+=1,f|=(a[c>>2]>>(3-(3&c)<<3)&255)<<8,c+=1,f|=a[c>>2]>>(3-(3&c)<<3)&255,e+=l[f>>18&63],e+=l[f>>12&63],b+=1,e+=b>=d?"\x3d":l[f>>6&63],b+=1,e+=b>=d?"\x3d":l[63&f],b+=1;return e},l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",k=function(a){var b,c,d,e;b=[];c=d=0;for(e=a.length;0<=
e?e>d:d>e;c=0<=e?++d:--d)b[c>>2]|=(a.charCodeAt(c)&255)<<(3-(3&c)<<3);return b}}(),m.Util.Oauth=function(){function a(b){this._loaded=this._appHash=this._error=this._tokenKid=this._tokenKey=this._token=this._authCode=this._stateParam=this._secret=this._id=null;this.setCredentials(b)}return a.prototype.setCredentials=function(a){if(a.key)this._id=a.key;else{if(!a.token)throw Error("No API key supplied");this._id=null}return this._secret=a.secret||null,this._appHash=null,this._error=null,this._loaded=
!0,this.reset(),a.token?(this._token=a.token,a.tokenKey&&(this._tokenKey=a.tokenKey,this._tokenKid=a.tokenKid)):a.oauthCode?this._authCode=a.oauthCode:a.oauthStateParam&&(this._stateParam=a.oauthStateParam),this},a.prototype.credentials=function(){var a;return a={},this._id&&(a.key=this._id),this._secret&&(a.secret=this._secret),null!==this._token?(a.token=this._token,this._tokenKey&&(a.tokenKey=this._tokenKey,a.tokenKid=this._tokenKid)):null!==this._authCode?a.oauthCode=this._authCode:null!==this._stateParam&&
(a.oauthStateParam=this._stateParam),a},a.prototype.step=function(){return null!==this._token?m.Client.DONE:null!==this._authCode?m.Client.AUTHORIZED:null!==this._stateParam?this._loaded?m.Client.PARAM_LOADED:m.Client.PARAM_SET:null!==this._error?m.Client.ERROR:m.Client.RESET},a.prototype.setAuthStateParam=function(a){if(null===this._id)throw Error("No API key supplied, cannot do authorization");return this.reset(),this._loaded=!1,this._stateParam=a,this},a.prototype.checkAuthStateParam=function(a){return this._stateParam===
a&&null!==this._stateParam},a.prototype.authStateParam=function(){return this._stateParam},a.prototype.error=function(){return this._error},a.prototype.processRedirectParams=function(a){var b;if(a.error){if(null===this._id)throw Error("No API key supplied, cannot process errors");return this.reset(),this._error=new m.AuthError(a),!0}if(a.code){if(null===this._id)throw Error("No API key supplied, cannot do Authorization Codes");return this.reset(),this._loaded=!1,this._authCode=a.code,!0}if(b=a.token_type){if(b=
b.toLowerCase(),"bearer"!==b&&"mac"!==b)throw Error("Unimplemented token type "+b);if(this.reset(),this._loaded=!1,"mac"===b){if("hmac-sha-1"!==a.mac_algorithm)throw Error("Unimplemented MAC algorithms "+a.mac_algorithm);this._tokenKey=a.mac_key;this._tokenKid=a.kid}return this._token=a.access_token,!0}return!1},a.prototype.authHeader=function(a,b,c){var d,e;return null===this._token?(e=m.Util.btoa(null===this._secret?""+this._id+":":""+this._id+":"+this._secret),"Basic "+e):null===this._tokenKey?
"Bearer "+this._token:(d=this.macParams(a,b,c),"MAC kid\x3d"+d.kid+" ts\x3d"+d.ts+" "+("access_token\x3d"+this._token+" mac\x3d"+d.mac))},a.prototype.addAuthParams=function(a,b,c){var d;return null===this._token?(c.client_id=this._id,null!==this._secret&&(c.client_secret=this._secret)):(null!==this._tokenKey&&(d=this.macParams(a,b,c),c.kid=d.kid,c.ts=d.ts,c.mac=d.mac),c.access_token=this._token),c},a.prototype.authorizeUrlParams=function(a,b){var c;if("token"!==a&&"code"!==a)throw Error("Unimplemented /authorize response type "+
a);return c={client_id:this._id,state:this._stateParam,response_type:a},b&&(c.redirect_uri=b),c},a.prototype.accessTokenParams=function(a){var b;return b={grant_type:"authorization_code",code:this._authCode},a&&(b.redirect_uri=a),b},a.queryParamsFromUrl=function(a){var b,c,d,e,f;if(c=/^[^?#]+(\?([^\#]*))?(\#(.*))?$/.exec(a),!c)return{};a=c[2]||"";"/"===a.substring(0,1)&&(a=a.substring(1));b=c[4]||"";c=b.indexOf("?");-1!==c&&(b=b.substring(c+1));"/"===b.substring(0,1)&&(b=b.substring(1));c={};f=a.split("\x26").concat(b.split("\x26"));
d=0;for(e=f.length;e>d;d++)a=f[d],b=a.indexOf("\x3d"),-1!==b&&(c[decodeURIComponent(a.substring(0,b))]=decodeURIComponent(a.substring(b+1)));return c},a.prototype.macParams=function(a,b,c){var d,e;return d={kid:this._tokenKid,ts:m.Util.Oauth.timestamp()},e=a.toUpperCase()+"\x26"+m.Util.Xhr.urlEncodeValue(b)+"\x26"+m.Util.Xhr.urlEncodeValue(m.Util.Xhr.urlEncode(c)),d.mac=m.Util.hmac(e,this._tokenKey),d},a.prototype.appHash=function(){return this._appHash?this._appHash:this._appHash=m.Util.sha1("oauth2-"+
this._id).replace(/[\/+=]/g,"")},a.prototype.reset=function(){return this._stateParam=null,this._authCode=null,this._token=null,this._tokenKey=null,this._tokenKid=null,this._error=null,this},a.timestamp=function(){return Math.floor(Date.now()/1E3)},a.randomAuthStateParam=function(){return["oas",Date.now().toString(36),Math.random().toString(36)].join("_")},a}(),null==Date.now&&(m.Util.Oauth.timestamp=function(){return Math.floor((new Date).getTime()/1E3)}),2274814865E3===(new Date("Fri, 31 Jan 2042 21:01:05 +0000")).valueOf()?
m.Util.parseDate=function(a){return new Date(a)}:2274814865E3===Date.parse("Fri, 31 Jan 2042 21:01:05 +0000")?m.Util.parseDate=function(a){return new Date(Date.parse(a))}:!function(){var a,b;return b=/^\w+\, (\d+) (\w+) (\d+) (\d+)\:(\d+)\:(\d+) (\+\d+|UTC|GMT)$/,a={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},m.Util.parseDate=function(c){var d;return(d=b.exec(c))?new Date(Date.UTC(parseInt(d[3]),a[d[2]],parseInt(d[1]),parseInt(d[4]),parseInt(d[5]),parseInt(d[6]),0)):
0/0}}(),m.Env.global.XMLHttpRequest?(!m.Env.global.XDomainRequest||"withCredentials"in new XMLHttpRequest?(k=XMLHttpRequest,g=!1,b="undefined"!=typeof FormData&&-1===navigator.userAgent.indexOf("Firefox")):(k=XDomainRequest,g=!0,b=!1),e=!0):(k=m.Env.require("xhr2"),g=!1,b=!1,e=!1),m.Env.global.Uint8Array)if(Object.getPrototypeOf?d=Object.getPrototypeOf(Object.getPrototypeOf(new Uint8Array(0))).constructor:Object.__proto__&&(d=(new Uint8Array(0)).__proto__.__proto__.constructor),m.Env.global.Blob){try{!(2===
(new Blob([new Uint8Array(2)])).size?(n=!0,l=!0):(l=!1,n=2===(new Blob([new ArrayBuffer(2)])).size))}catch(q){n=l=!1,m.Env.global.WebKitBlobBuilder&&-1!==navigator.userAgent.indexOf("Android")&&(b=!1)}d===Object&&(l=!1)}else n=!1,l=!0;else d=null,l=n=!1;m.Util.Xhr=function(){function a(b,c){this.method=b;this.isGet="GET"===this.method;this.url=c;this.wantHeaders=!1;this.headers={};this.body=this.params=null;this.preflight=!(this.isGet||"POST"===this.method);this.completed=this.signed=!1;this.onError=
this.xhr=this.callback=this.responseType=null}return a.Request=k,a.ieXdr=g,a.canSendForms=b,a.doesPreflight=e,a.ArrayBufferView=d,a.sendArrayBufferView=l,a.wrapBlob=n,a.prototype.xhr=null,a.prototype.onError=null,a.prototype.setParams=function(a){if(this.signed)throw Error("setParams called after addOauthParams or addOauthHeader");if(this.params)throw Error("setParams cannot be called twice");return this.params=a,this},a.prototype.setCallback=function(a){return this.callback=a,this},a.prototype.signWithOauth=
function(a,b){return m.Util.Xhr.ieXdr?this.addOauthParams(a):this.preflight||!m.Util.Xhr.doesPreflight?this.addOauthHeader(a):this.isGet&&b?this.addOauthHeader(a):this.addOauthParams(a)},a.prototype.addOauthParams=function(a){if(this.signed)throw Error("Request already has an OAuth signature");return this.params||(this.params={}),a.addAuthParams(this.method,this.url,this.params),this.signed=!0,this},a.prototype.addOauthHeader=function(a){if(this.signed)throw Error("Request already has an OAuth signature");
return this.params||(this.params={}),this.signed=!0,this.setHeader("Authorization",a.authHeader(this.method,this.url,this.params))},a.prototype.setBody=function(a){if(this.isGet)throw Error("setBody cannot be called on GET requests");if(null!==this.body)throw Error("Request already has a body");return"string"==typeof a||"undefined"!=typeof FormData&&a instanceof FormData||(this.headers["Content-Type"]="application/octet-stream",this.preflight=!0),this.body=a,this},a.prototype.setResponseType=function(a){return this.responseType=
a,this},a.prototype.setHeader=function(a,b){var c;if(this.headers[a])throw c=this.headers[a],Error("HTTP header "+a+" already set to "+c);if("Content-Type"===a)throw Error("Content-Type is automatically computed based on setBody");return this.preflight=!0,this.headers[a]=b,this},a.prototype.reportResponseHeaders=function(){return this.wantHeaders=!0},a.prototype.setFileField=function(a,b,c,d){var e,f,g;if(null!==this.body)throw Error("Request already has a body");if(this.isGet)throw Error("setFileField cannot be called on GET requests");
if("object"==typeof c){"undefined"!=typeof ArrayBuffer&&(c instanceof ArrayBuffer?m.Util.Xhr.sendArrayBufferView&&(c=new Uint8Array(c)):!m.Util.Xhr.sendArrayBufferView&&0===c.byteOffset&&c.buffer instanceof ArrayBuffer&&(c=c.buffer));d||(d="application/octet-stream");try{c=new Blob([c],{type:d})}catch(k){window.WebKitBlobBuilder&&(g=new WebKitBlobBuilder,g.append(c),(e=g.getBlob(d))&&(c=e))}"undefined"!=typeof File&&c instanceof File&&(c=new Blob([c],{type:c.type}));e=c instanceof Blob}else e=!1;
return e?(this.body=new FormData,this.body.append(a,c,b)):(d||(d="application/octet-stream"),f=this.multipartBoundary(),this.headers["Content-Type"]="multipart/form-data; boundary\x3d"+f,this.body=["--",f,'\r\nContent-Disposition: form-data; name\x3d"',a,'"; filename\x3d"',b,'"\r\nContent-Type: ',d,"\r\nContent-Transfer-Encoding: binary\r\n\r\n",c,"\r\n--",f,"--\r\n"].join(""))},a.prototype.multipartBoundary=function(){return[Date.now().toString(36),Math.random().toString(36)].join("----")},a.prototype.paramsToUrl=
function(){var a;return this.params&&(a=m.Util.Xhr.urlEncode(this.params),0!==a.length&&(this.url=[this.url,"?",a].join("")),this.params=null),this},a.prototype.paramsToBody=function(){if(this.params){if(null!==this.body)throw Error("Request already has a body");if(this.isGet)throw Error("paramsToBody cannot be called on GET requests");this.headers["Content-Type"]="application/x-www-form-urlencoded";this.body=m.Util.Xhr.urlEncode(this.params);this.params=null}return this},a.prototype.prepare=function(){var a,
b,c;if(b=m.Util.Xhr.ieXdr,this.isGet||null!==this.body||b?(this.paramsToUrl(),null!==this.body&&"string"==typeof this.body&&(this.headers["Content-Type"]="text/plain; charset\x3dutf8")):this.paramsToBody(),this.xhr=new m.Util.Xhr.Request,b?(this.xhr.onload=function(a){return function(){return a.onXdrLoad()}}(this),this.xhr.onerror=function(a){return function(){return a.onXdrError()}}(this),this.xhr.ontimeout=function(a){return function(){return a.onXdrError()}}(this),this.xhr.onprogress=function(){}):
this.xhr.onreadystatechange=function(a){return function(){return a.onReadyStateChange()}}(this),this.xhr.open(this.method,this.url,!0),!b)for(a in b=this.headers,b)p.call(b,a)&&(c=b[a],this.xhr.setRequestHeader(a,c));return this.responseType&&("b"===this.responseType?this.xhr.overrideMimeType&&this.xhr.overrideMimeType("text/plain; charset\x3dx-user-defined"):this.xhr.responseType=this.responseType),this},a.prototype.send=function(a){if(this.callback=a||this.callback,null!==this.body){a=this.body;
m.Util.Xhr.sendArrayBufferView?a instanceof ArrayBuffer&&(a=new Uint8Array(a)):0===a.byteOffset&&a.buffer instanceof ArrayBuffer&&(a=a.buffer);try{this.xhr.send(a)}catch(b){if(m.Util.Xhr.sendArrayBufferView||!m.Util.Xhr.wrapBlob)throw b;a=new Blob([a],{type:"application/octet-stream"});this.xhr.send(a)}}else this.xhr.send();return this},a.urlEncode=function(a){var b,c,d;b=[];for(c in a)d=a[c],b.push(this.urlEncodeValue(c)+"\x3d"+this.urlEncodeValue(d));return b.sort().join("\x26")},a.urlEncodeValue=
function(a){return encodeURIComponent(a.toString()).replace(/\!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A")},a.urlDecode=function(a){var b,c,d,e;c={};e=a.split("\x26");a=0;for(d=e.length;d>a;a++)b=e[a],b=b.split("\x3d"),c[decodeURIComponent(b[0])]=decodeURIComponent(b[1]);return c},a.prototype.onReadyStateChange=function(){var a,b,c,d,e,f,g,k;if(4!==this.xhr.readyState||this.completed)return!0;if(this.completed=!0,200>this.xhr.status||300<=this.xhr.status)return b=
new m.ApiError(this.xhr,this.method,this.url),this.onError?this.onError(b,this.callback):this.callback(b),!0;if(this.wantHeaders?(a=this.xhr.getAllResponseHeaders(),f=a?m.Util.Xhr.parseResponseHeaders(a):this.guessResponseHeaders(),k=f["x-dropbox-metadata"]):(f=void 0,k=this.xhr.getResponseHeader("x-dropbox-metadata")),null!=k?k.length:void 0)try{g=JSON.parse(k)}catch(l){if(e=k.search(/\}\,\s*\{/),-1!==e)try{k=k.substring(0,e+1),g=JSON.parse(k)}catch(n){g=void 0}else g=void 0}else g=void 0;if(this.responseType){if("b"===
this.responseType){d=null!=this.xhr.responseText?this.xhr.responseText:this.xhr.response;c=[];a=b=0;for(e=d.length;0<=e?e>b:b>e;a=0<=e?++b:--b)c.push(String.fromCharCode(255&d.charCodeAt(a)));a=c.join("");this.callback(null,a,g,f)}else this.callback(null,this.xhr.response,g,f);return!0}switch(a=null!=this.xhr.responseText?this.xhr.responseText:this.xhr.response,c=this.xhr.getResponseHeader("Content-Type"),c&&(d=c.indexOf(";"),-1!==d&&(c=c.substring(0,d))),c){case "application/x-www-form-urlencoded":this.callback(null,
m.Util.Xhr.urlDecode(a),g,f);break;case "application/json":case "text/javascript":this.callback(null,JSON.parse(a),g,f);break;default:this.callback(null,a,g,f)}return!0},a.parseResponseHeaders=function(a){var b,c,d,e,f,g;c={};a=a.split("\n");f=0;for(g=a.length;g>f;f++)d=a[f],b=d.indexOf(":"),e=d.substring(0,b).trim().toLowerCase(),b=d.substring(b+1).trim(),c[e]=b;return c},a.prototype.guessResponseHeaders=function(){var a,b,c,d,e,f;a={};f="cache-control content-language content-range content-type expires last-modified pragma x-dropbox-metadata".split(" ");
d=0;for(e=f.length;e>d;d++)b=f[d],(c=this.xhr.getResponseHeader(b))&&(a[b]=c);return a},a.prototype.onXdrLoad=function(){var a,b;if(this.completed)return!0;if(this.completed=!0,b=this.xhr.responseText,a=this.wantHeaders?{"content-type":this.xhr.contentType}:void 0,this.responseType)return this.callback(null,b,void 0,a),!0;switch(this.xhr.contentType){case "application/x-www-form-urlencoded":this.callback(null,m.Util.Xhr.urlDecode(b),void 0,a);break;case "application/json":case "text/javascript":this.callback(null,
JSON.parse(b),void 0,a);break;default:this.callback(null,b,void 0,a)}return!0},a.prototype.onXdrError=function(){var a;return this.completed?!0:(this.completed=!0,a=new m.ApiError(this.xhr,this.method,this.url),this.onError?this.onError(a,this.callback):this.callback(a),!0)},a}()}.call(this);function mxAsyncCanvas(a){mxAbstractCanvas2D.call(this);this.htmlCanvas=a;a.images=a.images||[];a.subCanvas=a.subCanvas||[]}mxUtils.extend(mxAsyncCanvas,mxAbstractCanvas2D);mxAsyncCanvas.prototype.htmlCanvas=null;mxAsyncCanvas.prototype.canvasIndex=0;mxAsyncCanvas.prototype.waitCounter=0;mxAsyncCanvas.prototype.onComplete=null;mxAsyncCanvas.prototype.incWaitCounter=function(){this.waitCounter++};
mxAsyncCanvas.prototype.decWaitCounter=function(){this.waitCounter--;0==this.waitCounter&&null!=this.onComplete&&(this.onComplete(),this.onComplete=null)};mxAsyncCanvas.prototype.updateFont=function(){var a="";(this.state.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a+="bold ");(this.state.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a+="italic ");this.ctx.font=a+this.state.fontSize+"px "+this.state.fontFamily};mxAsyncCanvas.prototype.rotate=function(a,c,f,d,b){};
mxAsyncCanvas.prototype.setAlpha=function(a){this.state.alpha=a};mxAsyncCanvas.prototype.setFontColor=function(a){this.state.fontColor=a};mxAsyncCanvas.prototype.setFontBackgroundColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBackgroundColor=a};mxAsyncCanvas.prototype.setFontBorderColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBorderColor=a};mxAsyncCanvas.prototype.setFontSize=function(a){this.state.fontSize=a};
mxAsyncCanvas.prototype.setFontFamily=function(a){this.state.fontFamily=a};mxAsyncCanvas.prototype.setFontStyle=function(a){this.state.fontStyle=a};mxAsyncCanvas.prototype.rect=function(a,c,f,d){};mxAsyncCanvas.prototype.roundrect=function(a,c,f,d,b,e){};mxAsyncCanvas.prototype.ellipse=function(a,c,f,d){};mxAsyncCanvas.prototype.rewriteImageSource=function(a){if("http://"==a.substring(0,7)||"https://"==a.substring(0,8))a="/proxy?url\x3d"+encodeURIComponent(a);return a};
mxAsyncCanvas.prototype.image=function(a,c,f,d,b,e,g,k){b=this.rewriteImageSource(b);a=this.htmlCanvas.images[b];null==a&&(a=new Image,a.onload=mxUtils.bind(this,function(){this.decWaitCounter()}),a.onerror=mxUtils.bind(this,function(){this.decWaitCounter()}),this.incWaitCounter(),this.htmlCanvas.images[b]=a,a.src=b)};mxAsyncCanvas.prototype.fill=function(){};mxAsyncCanvas.prototype.stroke=function(){};mxAsyncCanvas.prototype.fillAndStroke=function(){};
mxAsyncCanvas.prototype.text=function(a,c,f,d,b,e,g,k,l,n,m,p){if(!(null==b||0==b.length))if(a=this.state.scale,"html"==l&&"function"===typeof html2canvas){this.incWaitCounter();var r=this.canvasIndex++;html2canvas(b,{onrendered:mxUtils.bind(this,function(a){this.htmlCanvas.subCanvas[r]=a;this.decWaitCounter()}),scale:a,logging:!0})}};mxAsyncCanvas.prototype.finish=function(a){0==this.waitCounter?a():this.onComplete=a};function mxJsCanvas(a){mxAbstractCanvas2D.call(this);this.ctx=a.getContext("2d");this.ctx.textBaseline="top";this.ctx.fillStyle="rgba(255,255,255,0)";this.ctx.strokeStyle="rgba(0, 0, 0, 0)";this.M_RAD_PER_DEG=Math.PI/180;this.images=null==this.images?[]:this.images;this.subCanvas=null==this.subCanvas?[]:this.subCanvas}mxUtils.extend(mxJsCanvas,mxAbstractCanvas2D);mxJsCanvas.prototype.ctx=null;mxJsCanvas.prototype.waitCounter=0;mxJsCanvas.prototype.onComplete=null;mxJsCanvas.prototype.images=null;
mxJsCanvas.prototype.subCanvas=null;mxJsCanvas.prototype.canvasIndex=0;mxJsCanvas.prototype.hexToRgb=function(a){a=a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,f,d,b){return f+f+d+d+b+b});return(a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a))?{r:parseInt(a[1],16),g:parseInt(a[2],16),b:parseInt(a[3],16)}:null};mxJsCanvas.prototype.incWaitCounter=function(){this.waitCounter++};
mxJsCanvas.prototype.decWaitCounter=function(){this.waitCounter--;0==this.waitCounter&&null!=this.onComplete&&(this.onComplete(),this.onComplete=null)};mxJsCanvas.prototype.updateFont=function(){var a="";(this.state.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a+="bold ");(this.state.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a+="italic ");this.ctx.font=a+this.state.fontSize+"px "+this.state.fontFamily};
mxJsCanvas.prototype.save=function(){this.states.push(this.state);this.state=mxUtils.clone(this.state);this.ctx.save()};mxJsCanvas.prototype.restore=function(){this.state=this.states.pop();this.ctx.restore()};mxJsCanvas.prototype.scale=function(a){this.state.scale*=a;this.state.strokeWidth*=a;this.ctx.scale(a,a)};mxJsCanvas.prototype.translate=function(a,c){this.state.dx+=a;this.state.dy+=c;this.ctx.translate(a,c)};
mxJsCanvas.prototype.rotate=function(a,c,f,d,b){d-=this.state.dx;b-=this.state.dy;this.ctx.translate(d,b);if(c||f)this.ctx.scale(c?-1:1,f?-1:1);this.ctx.rotate(a*this.M_RAD_PER_DEG);this.ctx.translate(-d,-b)};mxJsCanvas.prototype.setAlpha=function(a){this.state.alpha=a;this.ctx.globalAlpha=a};mxJsCanvas.prototype.setFillColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fillColor=a;this.state.gradientColor=null;this.ctx.fillStyle=a};
mxJsCanvas.prototype.setGradient=function(a,c,f,d,b,e,g,k,l){f=this.ctx.createLinearGradient(0,d,0,d+e);d=this.state;d.fillColor=a;d.fillAlpha=null!=k?k:1;d.gradientColor=c;d.gradientAlpha=null!=l?l:1;d.gradientDirection=g;a=this.hexToRgb(a);c=this.hexToRgb(c);null!=a&&f.addColorStop(0,"rgba("+a.r+","+a.g+","+a.b+","+d.fillAlpha+")");null!=c&&f.addColorStop(1,"rgba("+c.r+","+c.g+","+c.b+","+d.gradientAlpha+")");this.ctx.fillStyle=f};
mxJsCanvas.prototype.setStrokeColor=function(a){null!=a&&(a==mxConstants.NONE?(this.state.strokeColor=null,this.ctx.strokeStyle="rgba(0, 0, 0, 0)"):(this.ctx.strokeStyle=a,this.state.strokeColor=a))};mxJsCanvas.prototype.setStrokeWidth=function(a){this.ctx.lineWidth=a};mxJsCanvas.prototype.setDashed=function(a){if(this.state.dashed=a){a=this.state.dashPattern.split(" ");for(var c=0;c<a.length;c++)a[c]=parseInt(a[c],10);this.setLineDash(a)}else this.setLineDash([0])};
mxJsCanvas.prototype.setLineDash=function(a){try{"function"===typeof this.ctx.setLineDash&&this.ctx.setLineDash(a)}catch(c){}};mxJsCanvas.prototype.setDashPattern=function(a){this.state.dashPattern=a;if(this.state.dashed){a=a.split(" ");for(var c=0;c<a.length;c++)a[c]=parseInt(a[c],10);this.ctx.setLineDash(a)}};mxJsCanvas.prototype.setLineCap=function(a){this.ctx.lineCap=a};mxJsCanvas.prototype.setLineJoin=function(a){this.ctx.lineJoin=a};
mxJsCanvas.prototype.setMiterLimit=function(a){this.ctx.lineJoin=a};mxJsCanvas.prototype.setFontColor=function(a){this.ctx.fillStyle=a};mxJsCanvas.prototype.setFontBackgroundColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBackgroundColor=a};mxJsCanvas.prototype.setFontBorderColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBorderColor=a};mxJsCanvas.prototype.setFontSize=function(a){this.state.fontSize=a};
mxJsCanvas.prototype.setFontFamily=function(a){this.state.fontFamily=a};mxJsCanvas.prototype.setFontStyle=function(a){this.state.fontStyle=a};mxJsCanvas.prototype.setShadow=function(a){(this.state.shadow=a)?(this.setShadowOffset(this.state.shadowDx,this.state.shadowDy),this.setShadowAlpha(this.state.shadowAlpha)):(this.ctx.shadowColor="transparent",this.ctx.shadowBlur=0,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0)};
mxJsCanvas.prototype.setShadowColor=function(a){if(null==a||a==mxConstants.NONE)a=null,this.ctx.shadowColor="transparent";this.state.shadowColor=a;if(this.state.shadow&&null!=a){var c=null!=this.state.shadowAlpha?this.state.shadowAlpha:1;a=this.hexToRgb(a);this.ctx.shadowColor="rgba("+a.r+","+a.g+","+a.b+","+c+")"}};mxJsCanvas.prototype.setShadowAlpha=function(a){this.state.shadowAlpha=a;this.setShadowColor(this.state.shadowColor)};
mxJsCanvas.prototype.setShadowOffset=function(a,c){this.state.shadowDx=a;this.state.shadowDy=c;this.state.shadow&&(this.ctx.shadowOffsetX=a,this.ctx.shadowOffsetY=c)};mxJsCanvas.prototype.moveTo=function(a,c){this.ctx.moveTo(a,c);this.lastMoveX=a;this.lastMoveY=c};mxJsCanvas.prototype.lineTo=function(a,c){this.ctx.lineTo(a,c);this.lastMoveX=a;this.lastMoveY=c};mxJsCanvas.prototype.quadTo=function(a,c,f,d){this.ctx.quadraticCurveTo(a,c,f,d);this.lastMoveX=f;this.lastMoveY=d};
mxJsCanvas.prototype.arcTo=function(a,c,f,d,b,e,g){a=mxUtils.arcToCurves(this.lastMoveX,this.lastMoveY,a,c,f,d,b,e,g);if(null!=a)for(c=0;c<a.length;c+=6)this.curveTo(a[c],a[c+1],a[c+2],a[c+3],a[c+4],a[c+5])};mxJsCanvas.prototype.curveTo=function(a,c,f,d,b,e){this.ctx.bezierCurveTo(a,c,f,d,b,e);this.lastMoveX=b;this.lastMoveY=e};mxJsCanvas.prototype.rect=function(a,c,f,d){this.begin();this.moveTo(a,c);this.lineTo(a+f,c);this.lineTo(a+f,c+d);this.lineTo(a,c+d);this.close()};
mxJsCanvas.prototype.roundrect=function(a,c,f,d,b,e){this.begin();this.moveTo(a+b,c);this.lineTo(a+f-b,c);this.quadTo(a+f,c,a+f,c+e);this.lineTo(a+f,c+d-e);this.quadTo(a+f,c+d,a+f-b,c+d);this.lineTo(a+b,c+d);this.quadTo(a,c+d,a,c+d-e);this.lineTo(a,c+e);this.quadTo(a,c,a+b,c)};mxJsCanvas.prototype.ellipse=function(a,c,f,d){this.ctx.save();this.ctx.translate(a+f/2,c+d/2);this.ctx.scale(f/2,d/2);this.ctx.beginPath();this.ctx.arc(0,0,1,0,2*Math.PI,!1);this.ctx.restore()};
mxJsCanvas.prototype.rewriteImageSource=function(a){if("http://"==a.substring(0,7)||"https://"==a.substring(0,8))a="/proxy?url\x3d"+encodeURIComponent(a);return a};
mxJsCanvas.prototype.image=function(a,c,f,d,b,e,g,k){b=this.rewriteImageSource(b);b=this.images[b];if(null!=b&&0<b.height&&0<b.width){var l=this.ctx;l.save();if(e){e=b.width;var n=b.height,m=Math.min(f/e,d/n);a+=(f-e*m)/2;c+=(d-n*m)/2;f=e*m;d=n*m}g&&(l.translate(2*a+f,0),l.scale(-1,1));k&&(l.translate(0,2*c+d),l.scale(1,-1));l.drawImage(b,a,c,f,d);l.restore()}};mxJsCanvas.prototype.begin=function(){this.ctx.beginPath()};mxJsCanvas.prototype.close=function(){this.ctx.closePath()};
mxJsCanvas.prototype.fill=function(){this.ctx.fill()};mxJsCanvas.prototype.stroke=function(){this.ctx.stroke()};mxJsCanvas.prototype.fillAndStroke=function(){if(this.state.shadow){this.ctx.stroke();this.ctx.fill();var a=this.ctx.shadowColor,c=this.ctx.shadowOffsetX,f=this.ctx.shadowOffsetY;this.ctx.shadowColor="transparent";this.ctx.shadowOffsetX=0;this.ctx.shadowOffsetY=0;this.ctx.stroke();this.ctx.shadowColor=a;this.ctx.shadowOffsetX=c;this.ctx.shadowOffsetY=f}else this.ctx.fill(),this.ctx.stroke()};
mxJsCanvas.prototype.text=function(a,c,f,d,b,e,g,k,l,n,m,p){if(!(null==b||0==b.length)){f=this.state.scale;0!=p&&(this.ctx.translate(Math.round(a),Math.round(c)),this.ctx.rotate(p*Math.PI/180),this.ctx.translate(Math.round(-a),Math.round(-c)));if("html"==l){b=this.subCanvas[this.canvasIndex++];l=b.height;p=b.width;switch(g){case mxConstants.ALIGN_MIDDLE:c-=l/2/f;break;case mxConstants.ALIGN_BOTTOM:c-=l/f}switch(e){case mxConstants.ALIGN_CENTER:a-=p/2/f;break;case mxConstants.ALIGN_RIGHT:a-=p/f}this.ctx.save();
if(null!=this.state.fontBackgroundColor||null!=this.state.fontBorderColor)null!=this.state.fontBackgroundColor&&(this.ctx.fillStyle=this.state.fontBackgroundColor,this.ctx.fillRect(Math.round(a)-0.5,Math.round(c)-0.5,Math.round(b.width/f),Math.round(b.height/f))),null!=this.state.fontBorderColor&&(this.ctx.strokeStyle=this.state.fontBorderColor,this.ctx.lineWidth=1,this.ctx.strokeRect(Math.round(a)-0.5,Math.round(c)-0.5,Math.round(b.width/f),Math.round(b.height/f)));this.ctx.scale(1/f,1/f);this.ctx.drawImage(b,
Math.round(a*f),Math.round(c*f))}else{this.ctx.save();this.updateFont();p=document.createElement("div");p.innerHTML=b;p.style.position="absolute";p.style.top="-9999px";p.style.left="-9999px";p.style.fontFamily=this.state.fontFamily;p.style.fontWeight="bold";p.style.fontSize=this.state.fontSize+"pt";document.body.appendChild(p);l=[p.offsetWidth,p.offsetHeight];document.body.removeChild(p);b=b.split("\n");p=l[1];this.ctx.textBaseline="top";l=c;switch(g){case mxConstants.ALIGN_MIDDLE:this.ctx.textBaseline=
"middle";c-=(b.length-1)*p/2;l=c-this.state.fontSize/2;break;case mxConstants.ALIGN_BOTTOM:this.ctx.textBaseline="alphabetic",c-=p*(b.length-1),l=c-this.state.fontSize}g=[];p=[];for(f=0;f<b.length;f++)p[f]=a,g[f]=this.ctx.measureText(b[f]).width,null!=e&&e!=mxConstants.ALIGN_LEFT&&(p[f]-=g[f],e==mxConstants.ALIGN_CENTER&&(p[f]+=g[f]/2));if(null!=this.state.fontBackgroundColor||null!=this.state.fontBorderColor){a=p[0];e=g[0];for(f=1;f<b.length;f++)a=Math.min(a,p[f]),e=Math.max(e,g[f]);this.ctx.save();
a=Math.round(a)-0.5;l=Math.round(l)-0.5;null!=this.state.fontBackgroundColor&&(this.ctx.fillStyle=this.state.fontBackgroundColor,this.ctx.fillRect(a,l,e,this.state.fontSize*mxConstants.LINE_HEIGHT*b.length));null!=this.state.fontBorderColor&&(this.ctx.strokeStyle=this.state.fontBorderColor,this.ctx.lineWidth=1,this.ctx.strokeRect(a,l,e,this.state.fontSize*mxConstants.LINE_HEIGHT*b.length));this.ctx.restore()}for(f=0;f<b.length;f++)this.ctx.fillText(b[f],p[f],c),c+=this.state.fontSize*mxConstants.LINE_HEIGHT}this.ctx.restore()}};
mxJsCanvas.prototype.getCanvas=function(){return canvas};mxJsCanvas.prototype.finish=function(a){0==this.waitCounter?a():this.onComplete=a};DrawioUser=function(a,c,f,d){this.id=a;this.email=c;this.displayName=f;this.pictureUrl=d};UrlLibrary=function(a,c,f){StorageFile.call(this,a,c,f);a=f;c=a.lastIndexOf("/");0<=c&&(a=a.substring(c+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,c,f){return!1};UrlLibrary.prototype.saveAs=function(a,c,f){};UrlLibrary.prototype.open=function(){};function DriveRealtime(a,c){this.realtimeAutosaveDelay=this.defaultRealtimeAutosaveDelay;this.realtimeMaxAutosaveDelay=this.defaultRealtimeMaxAutosaveDelay;this.file=a;this.doc=c;this.rtModel=this.doc.getModel();this.root=this.rtModel.getRoot();this.ui=a.getUi();this.graph=this.ui.editor.graph;this.model=this.graph.model;this.userId=this.ui.drive.user.id;this.ui.allowAnimation=!1;this.codec=new mxCodec;this.disconnectListener=mxUtils.bind(this,function(){this.sessionExpiredError()});this.ui.drive.addListener("disconnected",
this.disconnectListener);this.autosaveChangeListener=mxUtils.bind(this,function(){var a=this.ui.drive.enableThumbnails;this.ui.drive.enableThumbnails=this.ui.editor.autosave;this.ui.editor.setStatus(mxResources.get("saving")+"...");this.file.save(!0,mxUtils.bind(this,function(){this.ui.editor.setStatus(mxResources.get("allChangesSaved"))}));this.ui.drive.enableThumbnails=a});this.ui.editor.addListener("autosaveChanged",this.autosaveChangeListener)}DriveRealtime.prototype.logLevel=2;
DriveRealtime.prototype.updateStatusInterval=2E4;DriveRealtime.prototype.diagramsKey="diagrams";DriveRealtime.prototype.diagrams=null;DriveRealtime.prototype.rootKey="root";DriveRealtime.prototype.diagramMap=null;DriveRealtime.prototype.chatHistory=null;DriveRealtime.prototype.saving=!1;DriveRealtime.prototype.defaultRealtimeAutosaveDelay=5E3;DriveRealtime.prototype.defaultRealtimeMaxAutosaveDelay=6E4;DriveRealtime.prototype.realtimeHeartbeat=3E4;DriveRealtime.prototype.ignoreChange=!1;
DriveRealtime.prototype.ignorePageFormatChanged=!1;DriveRealtime.prototype.ignoreScaleChanged=!1;DriveRealtime.prototype.ignoreBackgroundColorChanged=!1;DriveRealtime.prototype.ignoreShadowVisibleChanged=!1;DriveRealtime.prototype.ignoreBackgroundImageChanged=!1;DriveRealtime.prototype.ignoreMathEnabledChanged=!1;DriveRealtime.prototype.getDiagramMap=function(){return null!=this.ui.currentPage?this.ui.currentPage.mapping.diagramMap:this.diagramMap};
DriveRealtime.prototype.getCurrentPage=function(){return null!=this.page?this.page:this.ui.currentPage};
DriveRealtime.prototype.start=function(){"1"==urlParams.reset&&(this.root.clear(),this.log("reset realtime"));var a=this.createPrefix();this.model.prefix=a+"-";this.ui.editor.resetGraph();this.diagrams=this.root.get(this.diagramsKey);a=!1;null==this.diagrams&&(this.diagrams=this.rtModel.createList(),this.root.set(this.diagramsKey,this.diagrams),a=!0,this.log("realtime model initialized"));var c=!1;if(""!=this.file.getData()){this.ui.fileNode=null;this.ui.pages=null;this.ui.setFileData(this.file.getData());
this.log("xml converted");if(this.root.has("cells")&&a)try{(new Image).src="images/log.png?converted\x3doldrt\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(f){}if(null!=this.ui.pages)for(a=0;a<this.ui.pages.length;a++){var d=this.ui.pages[a],b=this.rtModel.createMap();this.diagrams.push(b);this.ui.updatePageRoot(d);d.mapping=new RealtimeMapping(this,b,d);this.file.isEditable()&&(""!=d.getName()?b.set("name",d.getName()):b.has("name")||b.set("name",mxResources.get("pageWithNumber",
[a+1])));d.setName(b.get("name")||mxResources.get("pageWithNumber",[a+1]));d.mapping.init()}else"1"!=urlParams.pages?(this.diagramMap=this.rtModel.createMap(),this.diagrams.push(this.diagramMap),this.page=new DiagramPage(document.createElement("diagram")),this.page.mapping=new RealtimeMapping(this,this.diagramMap,this.page),this.page.mapping.init()):(this.ui.fileNode=mxUtils.createXmlDocument().createElement("mxfile"),this.ui.pages=[],b=this.rtModel.createMap(),this.diagrams.push(b),d=new DiagramPage(this.ui.fileNode.ownerDocument.createElement("diagram")),
d.mapping=new RealtimeMapping(this,b,d),this.ui.currentPage=d,this.file.isEditable()&&!d.mapping.diagramMap.has("name")&&d.mapping.diagramMap.set("name",mxResources.get("pageWithNumber",[1])),d.setName(d.mapping.diagramMap.get("name")||mxResources.get("pageWithNumber",[1])),this.ui.pages.push(d),d.mapping.init());c=!0}else if(2>this.diagrams.length&&"1"!=urlParams.pages)this.ui.fileNode=null,this.ui.pages=null,0==this.diagrams.length?(this.diagramMap=this.rtModel.createMap(),this.diagrams.push(this.diagramMap)):
this.diagramMap=this.diagrams.get(0),this.page=new DiagramPage(document.createElement("diagram")),this.page.mapping=new RealtimeMapping(this,this.diagramMap,this.page),this.page.mapping.init(),this.ui.editor.fireEvent(new mxEventObject("resetGraphView"));else{this.ui.fileNode=mxUtils.createXmlDocument().createElement("mxfile");this.ui.pages=[];0==this.diagrams.length&&this.diagrams.push(this.rtModel.createMap());Math.max(0,Math.min(this.diagrams.length-1,urlParams.page||0));for(a=0;a<this.diagrams.length;a++)d=
new DiagramPage(this.ui.fileNode.ownerDocument.createElement("diagram")),d.mapping=new RealtimeMapping(this,this.diagrams.get(a),d),this.file.isEditable()&&!d.mapping.diagramMap.has("name")&&d.mapping.diagramMap.set("name",mxResources.get("pageWithNumber",[a+1])),d.setName(d.mapping.diagramMap.get("name")||mxResources.get("pageWithNumber",[a+1])),this.ui.pages.push(d);this.ui.currentPage=this.ui.pages[Math.max(0,Math.min(this.ui.pages.length-1,urlParams.page||0))];for(a=0;a<this.ui.pages.length;a++)this.ui.pages[a].mapping.init()}this.installReadOnlyListener();
this.installUiChangeListeners();this.installGraphModelListener();this.installPageSelectListener();this.chatHistory=this.root.get("chatHistory");null==this.chatHistory&&this.initializeChat();this.installSelectionModelListener();this.installCollaboratorListener();this.updateCollaborators();this.doc.addEventListener(gapi.drive.realtime.EventType.DOCUMENT_SAVE_STATE_CHANGED,mxUtils.bind(this,function(a){this.saving&&(!a.isPending&&!a.isSaving&&!c)&&(this.ui.isLegacyDriveDomain()&&"1"!=urlParams.ignoremime&&
this.ui.drive.verifyMimeType(this.file.getId()),this.file.isAutosave()?this.triggerAutosave():this.ui.editor.setStatus(mxResources.get("allChangesSaved")),this.saving=!1,this.resetUpdateStatusThread(),this.realtimeHeartbeat=DriveRealtime.prototype.realtimeHeartbeat,null!=this.isAliveThread&&(window.clearTimeout(this.isAliveThread),this.isAliveThread=null))}));a=mxUtils.bind(this,function(){this.resetUpdateStatusThread();this.ui.resetScrollbars();this.updateStatus();c=!1});c?(this.ui.editor.setStatus(mxResources.get("saving")+
"..."),this.file.save(!1,a,a)):a();null==this.previousUndoListener&&(this.previousUndoListener=this.ui.editor.undoListener,this.ui.editor.undoListener=mxUtils.bind(this,function(a,b){this.ignoreChange||this.previousUndoListener.apply(this,arguments)}))};
DriveRealtime.prototype.triggerAutosave=function(){this.ui.editor.setStatus(mxResources.get("updatingPreview"));this.file.autosave(this.realtimeAutosaveDelay,this.realtimeMaxAutosaveDelay,mxUtils.bind(this,function(a){this.realtimeAutosaveDelay=this.defaultRealtimeAutosaveDelay+Math.min(1E4,this.file.saveDelay);this.ui.getCurrentFile()==this.file&&!this.saving&&this.ui.editor.setStatus(mxResources.get("allChangesSaved"))}),mxUtils.bind(this,function(a){this.ui.editor.setStatus(mxResources.get("errorUpdatingPreview"));
this.ui.isLegacyDriveDomain()&&("1"!=urlParams.ignoremime&&null!=a&&null!=a.error&&(400==a.error.code||403==a.error.code))&&this.ui.drive.verifyMimeType(this.file.getId(),null,!0)}))};
DriveRealtime.prototype.triggerAutosave=function(){this.ui.editor.setStatus(mxResources.get("updatingPreview"));this.file.autosave(this.realtimeAutosaveDelay,this.realtimeMaxAutosaveDelay,mxUtils.bind(this,function(a){this.realtimeAutosaveDelay=this.defaultRealtimeAutosaveDelay+Math.min(1E4,this.file.saveDelay);this.ui.getCurrentFile()==this.file&&!this.saving&&this.ui.editor.setStatus(mxResources.get("allChangesSaved"))}),mxUtils.bind(this,function(a){this.ui.editor.setStatus(mxResources.get("errorUpdatingPreview"));
this.ui.isLegacyDriveDomain()&&("1"!=urlParams.ignoremime&&null!=a&&null!=a.error&&(400==a.error.code||403==a.error.code))&&this.ui.drive.verifyMimeType(this.file.getId(),null,!0)}))};DriveRealtime.prototype.installReadOnlyListener=function(){this.doc.addEventListener(gapi.drive.realtime.EventType.ATTRIBUTE_CHANGED,mxUtils.bind(this,function(a){"is_read_only"==a.attribute&&(this.file.descriptorChanged(),this.file.isEditable()?this.ui.editor.setStatus(""):(this.ui.editor.graph.reset(),this.ui.editor.setStatus(mxResources.get("readOnly"))))}))};
DriveRealtime.prototype.installUiChangeListeners=function(){this.pageFormatListener=mxUtils.bind(this,function(a,c){if(!this.ignorePageFormatChanged)try{this.setFileModified(),this.getDiagramMap().set("pageFormat",this.graph.pageFormat.width+","+this.graph.pageFormat.height)}catch(f){this.ui.handleError(f)}});this.ui.addListener("pageFormatChanged",this.pageFormatListener);this.pageScaleListener=mxUtils.bind(this,function(a,c){if(!this.ignorePageScaleChanged)try{this.setFileModified(),this.getDiagramMap().set("pageScale",
this.graph.pageScale)}catch(f){this.ui.handleError(f)}});this.ui.addListener("pageScaleChanged",this.pageScaleListener);this.backgroundColorListener=mxUtils.bind(this,function(a,c){if(!this.ignoreBackgroundColorChanged)try{this.setFileModified(),this.getDiagramMap().set("backgroundColor",null!=this.graph.background?this.graph.background:"")}catch(f){this.ui.handleError(f)}});this.ui.addListener("backgroundColorChanged",this.backgroundColorListener);this.shadowVisibleListener=mxUtils.bind(this,function(a,
c){if(!this.ignoreShadowVisibleChanged&&this.getDiagramMap().get("shadowVisible")!=(this.graph.shadowVisible?"1":"0"))try{this.setFileModified(),this.getDiagramMap().set("shadowVisible",this.graph.shadowVisible?"1":"0")}catch(f){this.ui.handleError(f)}});this.graph.addListener("shadowVisibleChanged",this.shadowVisibleListener);this.foldingEnabledListener=mxUtils.bind(this,function(a,c){if(!this.ignoreFoldingEnabledChanged)try{this.setFileModified(),this.getDiagramMap().set("foldingEnabled",this.graph.foldingEnabled?
"1":"0")}catch(f){this.ui.handleError(f)}});this.ui.addListener("foldingEnabledChanged",this.foldingEnabledListener);this.backgroundImageListener=mxUtils.bind(this,function(a,c){if(!this.ignoreBackgroundImageChanged)try{this.setFileModified(),this.getDiagramMap().set("backgroundImage",null!=this.graph.backgroundImage?JSON.stringify(this.graph.backgroundImage):"")}catch(f){this.ui.handleError(f)}});this.ui.addListener("backgroundImageChanged",this.backgroundImageListener);this.mathEnabledListener=
mxUtils.bind(this,function(a,c){if(!this.ignoreMathEnabledChanged)try{this.setFileModified(),this.getDiagramMap().set("mathEnabled",this.graph.mathEnabled?"1":"0")}catch(f){this.ui.handleError(f)}});this.ui.addListener("mathEnabledChanged",this.mathEnabledListener)};DriveRealtime.prototype.isLocalEvent=function(a){return a.isLocal};
DriveRealtime.prototype.resetUpdateStatusThread=function(){null!=this.updateStatusThread&&window.clearInterval(this.updateStatusThread);this.updateStatusThread=window.setInterval(mxUtils.bind(this,function(){this.ui.drive.checkToken(mxUtils.bind(this,function(){this.updateStatus()}))}),this.updateStatusInterval)};
DriveRealtime.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var c=Math.floor(a/31536E3);if(1<c)return c+" "+mxResources.get("years");c=Math.floor(a/2592E3);if(1<c)return c+" "+mxResources.get("months");c=Math.floor(a/86400);if(1<c)return c+" "+mxResources.get("days");c=Math.floor(a/3600);if(1<c)return c+" "+mxResources.get("hours");c=Math.floor(a/60);return 1<c?c+" "+mxResources.get("minutes"):1==c?c+" "+mxResources.get("minute"):null};
DriveRealtime.prototype.updateStatus=function(){if(!this.saving){var a=this.root.get("modifiedDate");""!=a&&(a=this.ui.timeSince(new Date(a)),null==a&&(a=mxResources.get("lessThanAMinute")),this.ui.editor.setStatus(mxResources.get("lastChange",[a])+(this.file.isEditable()?"":" ("+mxResources.get("readOnly")+")")))}};DriveRealtime.prototype.getPageIndexForMap=function(a){for(var c=0;c<this.ui.pages.length;c++)if(this.ui.pages[c].mapping.diagramMap==a)return c;return null};
DriveRealtime.prototype.installPageSelectListener=function(){this.viewStateListener=mxUtils.bind(this,function(a,c){var f=this.getCurrentPage();null==f.mapping&&(f.mapping=new RealtimeMapping(this,this.rtModel.createMap(),f),f.mapping.init(),this.file.isEditable()&&f.mapping.diagramMap.set("name",f.getName()));if(null==f.viewState){var d=this.ui.editor.graph;d.view.scale=1;d.gridEnabled=!this.ui.editor.chromeless||"1"==urlParams.grid;d.gridSize=mxGraph.prototype.gridSize;d.pageScale=mxGraph.prototype.pageScale;
d.pageVisible=this.ui.editor.graph.defaultPageVisible;d.scrollbars=this.ui.editor.graph.defaultScrollbars;d.graphHandler.guidesEnabled=!0;d.defaultParent=null;d.setTooltips(!0);d.setConnectable(!0);d.setTooltips(!0);f.mapping.activate(!0);this.ui.resetScrollbars()}});this.ui.editor.addListener("setViewState",this.viewStateListener);this.diagrams.addEventListener(gapi.drive.realtime.EventType.VALUES_ADDED,mxUtils.bind(this,function(a){if(!this.isLocalEvent(a))if(null==a.movedFromList){this.ignoreChange=
!0;for(var c=0;c<a.values.length;c++){var f=new DiagramPage(document.createElement("diagram"));f.mapping=new RealtimeMapping(this,a.values[c],f);f.setName(f.mapping.diagramMap.get("name")||mxResources.get("pageWithNumber",[this.ui.pages.length+1]));this.ui.pages.splice(a.index+c,0,f);f.mapping.init()}this.ignoreChange=!1;this.ui.updateTabContainer()}else if(a.movedFromList==this.diagrams&&null!=a.movedFromIndex){this.ignoreChange=!0;for(c=0;c<a.values.length;c++)f=this.getPageIndexForMap(a.values[c]),
null!=f&&this.ui.movePage(f+c,a.index+c);this.ignoreChange=!1;this.ui.updateTabContainer()}}));this.diagrams.addEventListener(gapi.drive.realtime.EventType.VALUES_REMOVED,mxUtils.bind(this,function(a){if(!this.isLocalEvent(a)&&null==a.movedToList){this.ignoreChange=!0;for(var c=0;c<a.values.length;c++){var f=this.getPageIndexForMap(a.values[c]);null!=f&&this.ui.removePage(this.ui.pages[f])}this.ignoreChange=!1}}))};
DriveRealtime.prototype.processChange=function(a){if(a instanceof RenamePage)a.page.mapping.diagramMap.set("name",a.page.getName());else if(a instanceof ChangePage)null==a.previousIndex?this.diagrams.removeValue(a.relatedPage.mapping.diagramMap):this.diagrams.insert(a.previousIndex,a.relatedPage.mapping.diagramMap);else if(a instanceof MovePage)this.diagrams.move(a.newIndex,a.oldIndex+(a.newIndex<a.oldIndex?1:0));else if(a instanceof mxRootChange)a.root==this.model.root&&this.getCurrentPage().mapping.initRealtime();
else if(a instanceof mxChildChange){if(a.parent!=a.previous||a.index!=a.previousIndex){var c=a.child.rtCell;null==c&&(c=this.getCurrentPage().mapping.createRealtimeCell(a.child),this.getCurrentPage().mapping.saveRealtimeCell(c.cell));var f=null!=a.parent?a.parent.rtCell:null;if(null!=a.previous){var d=a.previous.rtCell;null!=d&&d.children.removeValue(c)}null!=f&&f.children.insert(Math.min(f.children.length,a.index),c);c.parent=f}}else null!=a.cell&&null!=a.cell.id&&(c=a.cell.rtCell,null!=c&&(a instanceof
mxTerminalChange?c[a.source?"source":"target"]=null!=a.terminal?a.terminal.rtCell:null:a instanceof mxGeometryChange?c.geometry=null!=a.geometry?mxUtils.getXml(this.codec.encode(a.geometry)):null:a instanceof mxStyleChange?c.style=a.style:a instanceof mxValueChange?mxUtils.isNode(a.value)?(c.value=null,c.xmlValue=mxUtils.getXml(a.value)):(c.xmlValue=null,c.value=a.value):a instanceof mxCollapseChange?c.collapsed=a.collapsed?"1":"0":a instanceof mxVisibleChange&&(c.visible=a.visible?"1":"0")))};
DriveRealtime.prototype.setFileModified=function(){this.root.set("modifiedDate",(new Date).getTime());this.file.setModified(!0);this.saving||(this.ui.editor.setStatus(mxResources.get("saving")+"..."),this.saving=!0)};
DriveRealtime.prototype.installGraphModelListener=function(){this.graphModelChangeListener=mxUtils.bind(this,function(a,c){!this.ignoreChange&&this.file.isEditable()&&this.ui.drive.checkToken(mxUtils.bind(this,function(){this.rtModel.beginCompoundOperation();this.setFileModified();try{var a=c.getProperty("edit"),d=a.changes;if(a.undone)for(var b=d.length-1;0<=b;b--)this.processChange(d[b]);else for(b=0;b<d.length;b++)this.processChange(d[b]);this.rtModel.endCompoundOperation()}catch(e){this.rtModel.endCompoundOperation(),
this.ui.handleError(e)}null==this.isAliveThread&&(this.isAliveThread=window.setTimeout(mxUtils.bind(this,function(){this.ui.editor.setStatus('\x3cdiv class\x3d"geStatusAlert geBlink" style\x3d"cursor:pointer;"\x3e'+mxResources.get("noResponse")+"\x3c/div\x3e");this.isAliveThread=window.setTimeout(mxUtils.bind(this,function(){this.isAliveThread=null;this.timeoutError()}),this.realtimeHeartbeat)}),this.realtimeHeartbeat))}))});this.model.addListener(mxEvent.CHANGE,this.graphModelChangeListener)};
DriveRealtime.prototype.sessionExpiredError=function(){this.ui.showError(mxResources.get("error"),mxResources.get("sessionExpired"),mxResources.get("refresh"),mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("connecting"));this.file.setModified(!1);window.location.reload()}))};
DriveRealtime.prototype.timeoutError=function(){this.ui.showError(mxResources.get("timeout"),mxResources.get("realtimeTimeout"),mxResources.get("discardChangesAndReconnect"),mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("connecting"));this.file.setModified(!1);window.location.reload()}),null,mxResources.get("ignore"),mxUtils.bind(this,function(){this.ui.editor.setStatus('\x3cdiv class\x3d"geStatusAlert geBlink" style\x3d"cursor:pointer;"\x3e'+mxResources.get("disconnected")+
"\x3c/div\x3e");this.realtimeHeartbeat*=2}))};DriveRealtime.prototype.initializeChat=function(){this.chatHistory=this.rtModel.createList();this.root.set("chatHistory",this.chatHistory)};
DriveRealtime.prototype.installSelectionModelListener=function(){this.graphSelectionModelChangeListener=mxUtils.bind(this,function(a,c){this.ui.drive.checkToken(mxUtils.bind(this,function(){if(this.file.isEditable()&&!this.graph.isSelectionEmpty())try{for(var a=this.graph.getSelectionCells(),c="",b=0;b<a.length;b++)c+=a[b].id+",";this.getCurrentPage().mapping.selectionMap.set(this.userId,c)}catch(e){this.ui.handleError(e)}}))});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.graphSelectionModelChangeListener)};
DriveRealtime.prototype.installCollaboratorListener=function(){this.doc.addEventListener(gapi.drive.realtime.EventType.COLLABORATOR_JOINED,mxUtils.bind(this,this.updateCollaborators));this.doc.addEventListener(gapi.drive.realtime.EventType.COLLABORATOR_LEFT,mxUtils.bind(this,this.updateCollaborators))};
DriveRealtime.prototype.updateCollaborators=function(){var a=this.doc.getCollaborators().length-1;null==this.collaboratorsElement&&(this.collaboratorsElement=document.createElement("a"),this.collaboratorsElement.setAttribute("href","javascript:void(0);"),this.collaboratorsElement.className="geItem",this.collaboratorsElement.style.position="absolute",this.collaboratorsElement.style.display="inline-block",this.collaboratorsElement.style.verticalAlign="bottom",this.collaboratorsElement.style.color="#666",
this.collaboratorsElement.style.top="10px",this.collaboratorsElement.style.right="atlas"==uiTheme?"42px":"68px",this.collaboratorsElement.style.padding="2px",this.collaboratorsElement.style.fontSize="8pt",this.collaboratorsElement.style.verticalAlign="middle",this.collaboratorsElement.style.backgroundPosition="100% 60%",this.collaboratorsElement.style.backgroundRepeat="no-repeat",this.ui.toolbarContainer.appendChild(this.collaboratorsElement),mxEvent.addListener(this.collaboratorsElement,"click",
mxUtils.bind(this,function(a){if(null==this.collabPanel){var b=document.createElement("div");b.className="geDialog";b.style.position="absolute";b.style.maxHeight="400px";b.style.maxWidth="300px";b.style.right="38px";b.style.padding="14px";b.style.paddingRight="30px";this.collabPanel=b}if(null==this.collabPanel.parentNode)if(this.collabPanel.style.top=this.collaboratorsElement.clientTop+this.collaboratorsElement.clientHeight+this.ui.menubarHeight+8+"px",document.body.appendChild(this.collabPanel),
this.collabPanel.innerHTML="",b=document.createElement("img"),b.setAttribute("src",Dialog.prototype.closeImage),b.setAttribute("title",mxResources.get("close")),b.className="geDialogClose",b.style.top="8px",b.style.right="8px",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){null!=this.collabPanel.parentNode&&this.collabPanel.parentNode.removeChild(this.collabPanel)})),this.collabPanel.appendChild(b),1<this.doc.getCollaborators().length)for(var c=0;c<this.doc.getCollaborators().length;c+=
1){var d=this.doc.getCollaborators()[c];if(!d.isMe){var e=document.createElement("div");e.style.cursor="pointer";e.style.whiteSpace="nowrap";b=document.createElement("img");b.src=d.photoUrl;b.style.backgroundColor=d.color;b.style.paddingBottom="8px";b.style.marginRight="10px";b.style.marginTop="2px";b.style.marginBottom="2px";b.style.height="25px";b.style.width="25px";b.setAttribute("align","absmiddle");e.appendChild(b);mxUtils.write(e,d.displayName);this.collabPanel.appendChild(e);mxEvent.addListener(e,
"click",mxUtils.bind(this,function(){var a=this.getCurrentPage().mapping.selectionMap.get(d.userId);if(null!=a)for(var a=a.split(","),b=0;b<a.length;b++){var c=this.model.getCell(a[b]);this.highlight(c,d.sessionId);null!=c&&0==b&&this.graph.scrollCellToVisible(c)}}))}}else mxUtils.write(this.collabPanel,mxResources.get("noOtherViewers"));else null!=this.collabPanel.parentNode&&this.collabPanel.parentNode.removeChild(this.collabPanel);mxEvent.consume(a)})),mxEvent.addListener(document.body,"click",
mxUtils.bind(this,function(a){!mxEvent.isConsumed(a)&&(null!=this.collabPanel&&null!=this.collabPanel.parentNode)&&this.collabPanel.parentNode.removeChild(this.collabPanel)})));var c=mxResources.get(0==a?"noOtherViewers":1==a?"otherViewer":"otherViewers");0<a?(c=a+" "+c,this.collaboratorsElement.style.paddingRight="16px",this.collaboratorsElement.style.backgroundImage="url("+IMAGE_PATH+"/expanded.gif)",this.collaboratorsElement.style.cursor="pointer"):(this.collaboratorsElement.style.paddingRight=
"0px",this.collaboratorsElement.style.backgroundImage="",this.collaboratorsElement.style.cursor="default");for(var a='\x3cdiv title\x3d"'+c+'" style\x3d"display:inline-block;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis;"\x3e'+c+"\x3c/div\x3e",c={},f=0,d=0;d<this.doc.getCollaborators().length&&6>f;d+=1){var b=this.doc.getCollaborators()[d];!b.isMe&&null==c[b.color]&&(c[b.color]=b.displayName,f++)}for(var e in c)a+='\x3cdiv title\x3d"'+mxUtils.htmlEntities(c[e])+'" style\x3d"display:inline-block;background-color:'+
e+';width:13px;height:13px;margin-left:4px;margin-top:-1px;"\x3e\x3c/div\x3e';this.collaboratorsElement.innerHTML=a};DriveRealtime.prototype.createPrefix=function(){for(var a=this.doc.getCollaborators(),c=0;c<a.length;c++)if(a[c].isMe)return a[c].sessionId;return""};
DriveRealtime.prototype.highlight=function(a,c){var f=this.graph.view.getState(a);if(null!=f){for(var d="red",b=0;b<this.doc.getCollaborators().length;b+=1){var e=this.doc.getCollaborators()[b];if(e.sessionId==c){d=e.color;break}}var b=Math.max(5,mxUtils.getValue(f.style,mxConstants.STYLE_STROKEWIDTH,1)+4),g=new mxCellHighlight(this.graph,d,b,!1);g.highlight(f);window.setTimeout(function(){null!=g.shape&&(mxUtils.setPrefixedStyle(g.shape.node.style,"transition","all 1200ms ease-in-out"),g.shape.node.style.opacity=
0);window.setTimeout(function(){g.destroy()},2E3)},1E3)}};DriveRealtime.prototype.dumpRoot=function(){return this.dump(this.root)};
DriveRealtime.prototype.dump=function(a){var c="";if(null!=a){if(a.constructor==mxCell)return a.id;if(a.constructor==mxRootChange)c+="mxRootChange[root\x3d"+this.dump(a.root)+"]";else if(a.constructor==mxChildChange)c+="mxChildChange[parent\x3d"+this.dump(a.parent)+", child\x3d"+this.dump(a.child.id)+", index\x3d"+a.index+"]";else if(a.constructor==mxTerminalChange)c+="mxTerminalChange[cell\x3d"+this.dump(a.cell)+", terminal\x3d"+this.dump(a.terminal)+", source\x3d"+a.source+"]";else if(a.constructor==
mxValueChange)c+="mxValueChange[cell\x3d"+this.dump(a.cell)+", value\x3d"+a.value+"]";else if(a.constructor==mxGeometryChange)c+="mxGeometryChange[cell\x3d"+this.dump(a.cell)+", geometry\x3d"+(null!=a.cell.geometry?mxUtils.getXml(this.codec.encode(a.cell.geometry)):"[null]")+"]";else if(a.constructor==mxStyleChange)c+="mxStyleChange[cell\x3d"+this.dump(a.cell)+", style\x3d"+a.style+"]";else if(a.constructor==mxVisibleChange)c+="mxVisibleChange[cell\x3d"+this.dump(a.cell)+", visible\x3d"+a.visible+
"]";else if(a.constructor==mxCollapseChange)c+="mxCollapseChange[cell\x3d"+this.dump(a.cell)+", collapsed\x3d"+a.collapsed+"]";else if(a.constructor==mxRtCell){c+="[id\x3d"+a.cellId+",parent\x3d"+(null!=a.parent?a.parent.cellId:"[null]");if(0<a.children.length){for(var c=c+(",\n"+a.children.length+" children\x3d["+this.dump(a.children.get(0))),f=1;f<a.children.length;f++)c+=","+this.dump(a.children.get(f));c+="]"}c+="]\n"}else if(null!=a.keys){for(var d=a.keys(),c=c+"{\n",f=0;f<d.length;f++)c+=d[f]+
"\x3d"+this.dump(a.get(d[f]))+";\n";c+="}"}else if(null!=a.asArray){a=a.asArray();c+="[";for(f=0;f<a.length;f++)c+=a[f]+";";c+="]"}else c=a}else c="null";return c};DriveRealtime.prototype.check=function(){console.log("checking consistency");this.checkChildren(this.model.getRoot());console.log("checking consistency done")};
DriveRealtime.prototype.checkChildren=function(a){if(null==a.rtCell)console.log("no realtime cell","cell",a.id);else{null!=a.getTerminal(!0)&&(null==a.rtCell.source||a.rtCell.source!=a.getTerminal(!0).rtCell)&&console.log("invalid source","edge",a.id,"source",a.getTerminal(!0).id,"rtSource",a.rtCell.source);null!=a.getTerminal(!1)&&(null==a.rtCell.target||a.rtCell.target!=a.getTerminal(!1).rtCell)&&console.log("invalid target","edge",a.id,"target",a.getTerminal(!1).id,"rtTarget",a.rtCell.target);
var c=this.model.getChildCount(a),f=a.rtCell.children.asArray();c!=a.rtCell.children.length&&console.log("invalid child count","cell",a.id,"children",f.length,"childCount",c);for(f=0;f<a.rtCell.children.length;f++){var d=this.model.getChildAt(a,f);null==d?console.log("no child","index",f,"child",a.rtCell.children.get(f)):a.rtCell.children.get(f)!=d.rtCell&&console.log("invalid child","index",f,"child",a.rtCell.children.get(f),"graphChild",d)}}for(f=0;f<c;f++)d=this.model.getChildAt(a,f),this.checkChildren(d)};
DriveRealtime.prototype.log=function(a){};DriveRealtime.prototype.warn=function(a){};
DriveRealtime.prototype.destroy=function(a){a=null!=a?a:!1;null!=this.pageFormatListener&&(this.ui.removeListener(this.pageFormatListener),this.pageFormatListener=null);null!=this.pageScaleListener&&(this.ui.removeListener(this.pageScaleListener),this.pageScaleListener=null);null!=this.backgroundColorListener&&(this.ui.removeListener(this.backgroundColorListener),this.backgroundColorListener=null);null!=this.shadowVisibleListener&&(this.graph.removeListener(this.shadowVisibleListener),this.shadowVisibleListener=
null);null!=this.foldingEnabledListener&&(this.ui.removeListener(this.foldingEnabledListener),this.foldingEnabledListener=null);null!=this.backgroundImageListener&&(this.ui.removeListener(this.backgroundImageListener),this.backgroundImageListener=null);null!=this.mathEnabledListener&&(this.ui.removeListener(this.mathEnabledListener),this.mathEnabledListener=null);null!=this.previousUndoListener&&(this.ui.editor.undoListener=this.previousUndoListener,this.previousUndoListener=null);null!=this.graphSelectionModelChangeListener&&
(this.graph.selectionModel.removeListener(this.graphSelectionModelChangeListener),this.graphSelectionModelChangeListener=null);null!=this.disconnectListener&&(this.ui.drive.removeListener(this.disconnectListener),this.disconnectListener=null);null!=this.autosaveChangeListener&&(this.ui.editor.removeListener(this.autosaveChangeListener),this.autosaveChangeListener=null);null!=this.graphModelChangeListener&&(this.model.removeListener(this.graphModelChangeListener),this.graphModelChangeListener=null);
null!=this.viewStateListener&&(this.ui.editor.removeListener(this.viewStateListener),this.viewStateListener=null);null!=this.collaboratorsElement&&(this.collaboratorsElement.parentNode.removeChild(this.collaboratorsElement),this.collaboratorsElement=null);null!=this.updateStatusThread&&(window.clearInterval(this.updateStatusThread),this.updateStatusThread=null);this.ui.allowAnimation=!0;try{!a&&!this.doc.isClosed&&this.doc.close()}catch(c){}};function RealtimeMapping(a,c,f){this.driveRealtime=a;this.diagramMap=c;this.page=f;this.graphModel=new mxGraphModel;null!=f.root&&this.graphModel.setRoot(f.root);this.ui=this.driveRealtime.ui;this.root=this.driveRealtime.root;this.graph=this.driveRealtime.graph;this.rtModel=this.driveRealtime.rtModel}RealtimeMapping.prototype.driveRealtime=null;RealtimeMapping.prototype.diagramMap=null;RealtimeMapping.prototype.page=null;RealtimeMapping.prototype.graphModel=null;
RealtimeMapping.prototype.needsUpdate=!0;RealtimeMapping.prototype.selectionMap=null;
RealtimeMapping.prototype.init=function(){this.diagramMap.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,mxUtils.bind(this,function(a){if(!this.driveRealtime.isLocalEvent(a)&&(a.property==this.driveRealtime.rootKey&&null!=a.newValue?(this.beginUpdate(),this.initGraph(),this.needsUpdate=!0):"name"==a.property&&null!=a.newValue?(this.driveRealtime.ignoreChange=!0,this.graph.model.execute(new RenamePage(this.ui,this.page,a.newValue)),this.driveRealtime.ignoreChange=!1):this.isActive()&&
null!=a.newValue&&("pageFormat"==a.property?this.realtimePageFormatChanged(a.newValue):"pageScale"==a.property?this.realtimePageScaleChanged(a.newValue):"backgroundColor"==a.property?this.realtimeBackgroundColorChanged(a.newValue):"shadowVisible"==a.property?this.realtimeShadowVisibleChanged(a.newValue):"foldingEnabled"==a.property?this.realtimeFoldingEnabledChanged(a.newValue):"backgroundImage"==a.property?this.realtimeBackgroundImageChanged(a.newValue):"mathEnabled"==a.property&&this.realtimeMathEnabledChanged(a.newValue)),
null!=a.newValue&&("pageFormat"==a.property||"pageScale"==a.property||"shadowVisible"==a.property||"backgroundColor"==a.property||"foldingEnabled"==a.property||"backgroundImage"==a.property||"mathEnabled"==a.property)))this.needsUpdate=!0}));this.diagramMap.has(this.driveRealtime.rootKey)?this.initGraph():this.initRealtime();this.page.root=this.graphModel.getRoot();this.selectionMap=this.diagramMap.get("select");null==this.selectionMap&&this.initializeSelection();this.driveRealtime.file.isEditable()&&
this.selectionMap.set(this.driveRealtime.userId,"");this.installRemoteSelectionListener()};RealtimeMapping.prototype.initializeSelection=function(){this.selectionMap=this.rtModel.createMap();this.driveRealtime.file.isEditable()&&this.diagramMap.set("select",this.selectionMap)};
RealtimeMapping.prototype.installRemoteSelectionListener=function(){this.selectionMap.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,mxUtils.bind(this,function(a){if(!this.driveRealtime.isLocalEvent(a)&&null!=a.newValue&&(null==this.ui.currentPage||this.ui.currentPage==this.page))for(var c=a.newValue.split(","),f=0;f<c.length;f++)this.driveRealtime.highlight(this.driveRealtime.model.getCell(c[f]),a.sessionId)}))};
RealtimeMapping.prototype.isActive=function(){return null==this.ui.currentPage||this.ui.currentPage.mapping==this};RealtimeMapping.prototype.getGraphModel=function(){return this.isActive()?this.driveRealtime.model:this.graphModel};
RealtimeMapping.prototype.initGraph=function(){this.isActive()&&(this.activate(!0),mxClient.NO_FO=this.graph.mathEnabled?!0:Editor.prototype.originalNoForeignObject,this.ui.editor.graph.sizeDidChange());var a=this.diagramMap.get(this.driveRealtime.rootKey);this.createCell(a);this.restoreCell(a);var c=this.getGraphModel();c.setRoot(a.cell);c!=this.graphModel&&this.graphModel.setRoot(c.getRoot())};
RealtimeMapping.prototype.writeRealtimeToNode=function(a){a.setAttribute("shadow",this.diagramMap.get("shadowVisible"));a.setAttribute("fold",this.diagramMap.get("foldingEnabled"));a.setAttribute("math",this.diagramMap.get("mathEnabled"));a.setAttribute("pageScale",this.diagramMap.get("pageScale"));var c=this.diagramMap.get("backgroundImage");null!=c&&0<c.length&&a.setAttribute("backgroundImage",c);c=this.diagramMap.get("backgroundColor");null!=c&&a.setAttribute("background",c);c=this.diagramMap.get("pageFormat");
null!=c&&(c=c.split(","),1<c.length&&(a.setAttribute("pageWidth",parseInt(c[0])),a.setAttribute("pageHeight",parseInt(c[1]))))};
RealtimeMapping.prototype.writeNodeToRealtime=function(a){this.diagramMap.set("shadowVisible",a.getAttribute("shadow"));this.diagramMap.set("foldingEnabled",a.getAttribute("fold"));this.diagramMap.set("mathEnabled",a.getAttribute("math"));this.diagramMap.set("pageScale",a.getAttribute("pageScale"));var c=a.getAttribute("backgroundImage");null!=c&&0<c.length&&this.diagramMap.set("backgroundImage",c);c=a.getAttribute("background");null!=c&&this.diagramMap.set("backgroundColor",c);this.diagramMap.set("pageFormat",
a.getAttribute("pageWidth")+","+a.getAttribute("pageHeight"))};
RealtimeMapping.prototype.activate=function(a){this.realtimePageFormatChanged(this.diagramMap.get("pageFormat"),a);this.realtimePageScaleChanged(this.diagramMap.get("pageScale"),a);this.realtimeMathEnabledChanged(this.diagramMap.get("mathEnabled"),a);this.realtimeBackgroundColorChanged(this.diagramMap.get("backgroundColor"),a);this.realtimeShadowVisibleChanged(this.diagramMap.get("shadowVisible"),a);this.realtimeFoldingEnabledChanged(this.diagramMap.get("foldingEnabled"),a);this.realtimeBackgroundImageChanged(this.diagramMap.get("backgroundImage"),
a)};
RealtimeMapping.prototype.initRealtime=function(){this.rtModel.beginCompoundOperation();try{var a=this.createRealtimeCell(this.getGraphModel().getRoot());this.saveRealtimeCell(a.cell);this.diagramMap.set(this.driveRealtime.rootKey,a);null!=this.page.graphModelNode?this.writeNodeToRealtime(this.page.graphModelNode):(this.diagramMap.set("shadowVisible",this.graph.shadowVisible?"1":"0"),this.diagramMap.set("foldingEnabled",this.graph.foldingEnabled?"1":"0"),this.diagramMap.set("mathEnabled",this.graph.mathEnabled?"1":
"0"),this.diagramMap.set("pageScale",this.graph.pageScale),this.diagramMap.set("backgroundImage",null!=this.graph.backgroundImage?JSON.stringify(this.graph.backgroundImage):""),this.diagramMap.set("backgroundColor",null!=this.graph.background?this.graph.background:""),this.diagramMap.set("pageFormat",this.graph.pageFormat.width+","+this.graph.pageFormat.height));this.root.set("modifiedDate",(new Date).getTime());this.rtModel.endCompoundOperation()}catch(c){this.rtModel.endCompoundOperation(),this.ui.handleError(c)}};
RealtimeMapping.prototype.createRealtimeCell=function(a){var c=a.rtCell;if(null==c){c=this.rtModel.create("Cell");c.children=this.rtModel.createList();c.cell=a;a.rtCell=c;c.cellId=a.id;c.type=a.vertex?"vertex":a.edge?"edge":"";c.connectable=null==a.connectable||a.connectable?"1":"0";mxUtils.isNode(a.value)?c.xmlValue=mxUtils.getXml(a.value):null!=a.value&&(c.value=a.value);c.style=null!=a.style?a.style:null;c.geometry=null!=a.geometry?mxUtils.getXml(this.driveRealtime.codec.encode(a.geometry)):null;
c.visible=null==a.visible||a.visible?"1":"0";c.collapsed=null!=a.collapsed&&a.collapsed?"1":"0";for(var f=0;f<this.graphModel.getChildCount(a);f++){var d=this.graphModel.getChildAt(a,f);this.createRealtimeCell(d);null==d.rtCell.parent&&(d.rtCell.parent=c,c.children.push(d.rtCell))}this.installRealtimeCellListeners(c)}return c};
RealtimeMapping.prototype.saveRealtimeCell=function(a){null!=a.source?(null==a.source.rtCell&&this.createRealtimeCell(a.source),a.rtCell.source=a.source.rtCell):a.rtCell.source=null;null!=a.target?(null==a.target.rtCell&&this.createRealtimeCell(a.target),a.rtCell.target=a.target.rtCell):a.rtCell.target=null;for(var c=0;c<this.graphModel.getChildCount(a);c++)this.saveRealtimeCell(this.graphModel.getChildAt(a,c))};
RealtimeMapping.prototype.createCell=function(a){var c=a.cell;if(null==c){c=new mxCell;a.cell=c;c.rtCell=a;c.id=a.cellId;c.vertex="vertex"==a.type;c.edge="edge"==a.type;c.connectable="0"!=a.connectable;c.value=null!=a.xmlValue?mxUtils.parseXml(a.xmlValue).documentElement:a.value;c.style=a.style;c.geometry=null!=a.geometry?this.driveRealtime.codec.decode(mxUtils.parseXml(a.geometry).documentElement):null;c.visible="0"!=a.visible;c.collapsed="1"==a.collapsed;for(var f=0;f<a.children.length;f++){var d=
a.children.get(f);this.createCell(d);null==d.cell.parent&&c.insert(d.cell)}this.installRealtimeCellListeners(a)}return c};
RealtimeMapping.prototype.restoreCell=function(a){var c=!0;null!=a.cell&&(null!=a.source&&(null==a.source.parent?(a.source=null,c=!1):(null==a.source.cell&&this.createCell(a.source),a.source.cell.insertEdge(a.cell,!0))),c&&null!=a.target&&(null==a.target.parent?(a.target=null,c=!1):(null==a.target.cell&&this.createCell(a.target),a.target.cell.insertEdge(a.cell,!1))),c&&this.graphModel.isEdge(a.cell)&&(c=this.graphModel.getGeometry(a.cell),c=null!=c&&(null!=this.graphModel.getTerminal(a.cell,!0)||
null!=c.getTerminalPoint(!0))&&(null!=this.graphModel.getTerminal(a.cell,!1)||null!=c.getTerminalPoint(!1))));if(c)for(c=0;c<a.children.length;c++)this.restoreCell(a.children.get(c));else null!=a.parent&&(a.parent.children.removeValue(a),a.parent=null),null!=a.cell&&this.getGraphModel().remove(a.cell)};RealtimeMapping.prototype.containsRealtimeCell=function(a){for(;null!=a.parent;)a=a.parent;return a==this.diagramMap.get(this.driveRealtime.rootKey)};
RealtimeMapping.prototype.beginUpdate=function(){var a=this.getGraphModel();this.driveRealtime.ignoreChange||(this.driveRealtime.ignoreChange=!0,a.beginUpdate(),window.setTimeout(mxUtils.bind(this,function(){a.endUpdate();this.driveRealtime.ignoreChange=!1}),0));return a};
RealtimeMapping.prototype.installRealtimeCellListeners=function(a){a.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,mxUtils.bind(this,function(c){this.handleValueChanged(a,c);this.needsUpdate=!0}));a.children.addEventListener(gapi.drive.realtime.EventType.VALUES_ADDED,mxUtils.bind(this,function(c){this.handleValuesAdded(a,c);this.needsUpdate=!0}));a.children.addEventListener(gapi.drive.realtime.EventType.VALUES_REMOVED,mxUtils.bind(this,function(c){this.handleValuesRemoved(a,c);this.needsUpdate=
!0}))};
RealtimeMapping.prototype.handleValueChanged=function(a,c){var f=a.cell;if(!this.driveRealtime.isLocalEvent(c)&&null!=f){var d=c.newValue,b=c.property,e=this.beginUpdate();"type"==b?(f.vertex="vertex"==d,f.edge="edge"==d):"connectable"==b?f.connectable="1"==d:"source"==b||"target"==b?null==d?null!=c.oldValue&&e.setTerminal(f,null,"source"==b):null==d.cell||!this.containsRealtimeCell(d)||null==e.getCell(d.cellId)?(null!=a.parent&&(a.parent.children.removeValue(a),a.parent=null),e.setTerminal(f,null,
"source"==b),e.remove(a.cell),a[b]=null):e.setTerminal(f,d.cell,"source"==b):"value"==b?e.setValue(f,d):"xmlValue"==b?e.setValue(f,mxUtils.parseXml(d).documentElement):"style"==b?e.setStyle(f,d):"geometry"==b?(d=null!=d?this.driveRealtime.codec.decode(mxUtils.parseXml(d).documentElement):null,e.setGeometry(f,d)):"collapsed"==b?e.setCollapsed(f,"1"==d):"visible"==b?e.setVisible(f,"1"==d):"parent"==b&&(null!=c.oldValue?c.oldValue.children.removeValue(a):(this.createCell(a),this.restoreCell(a)),null==
d?e.remove(f):(f=d.children.indexOf(a),0<=f&&e.add(d.cell,a.cell,f)))}};
RealtimeMapping.prototype.handleValuesAdded=function(a,c){if(!this.driveRealtime.isLocalEvent(c))for(var f=this.beginUpdate(),d=0;d<c.values.length;d++){var b=c.values[d];if(null!=b.parent)if(b.parent!=a)a.children.removeValue(b);else{if(null==b.cell||null==b.cell.parent)this.createCell(b),this.restoreCell(b);for(var e=a.children.indexOf(b),g=a.children.lastIndexOf(b);e!=g;)a.children.remove(g),g=a.children.lastIndexOf(b);b.parent==a&&f.add(a.cell,b.cell,Math.min(e,c.index+d))}}};
RealtimeMapping.prototype.handleValuesRemoved=function(a,c){if(!this.driveRealtime.isLocalEvent(c))for(var f=this.beginUpdate(),d=0;d<c.values.length;d++){var b=c.values[d];if(null!=b.cell)if(null!=b.parent&&b.parent!=a&&b.cell.parent!=b.parent.cell){var e=b.parent.children.indexOf(b);f.add(b.parent.cell,b.cell,e)}else e=a.children.indexOf(b),0<=e&&f.add(a.cell,b.cell,e)}};
RealtimeMapping.prototype.realtimePageFormatChanged=function(a,c){if(null!=a){var f=a.split(",");1<f.length&&(c?this.graph.pageFormat=new mxRectangle(0,0,parseInt(f[0]),parseInt(f[1])):(this.driveRealtime.ignorePageFormatChanged=!0,this.ui.setPageFormat(new mxRectangle(0,0,parseInt(f[0]),parseInt(f[1]))),this.driveRealtime.ignorePageFormatChanged=!1))}};
RealtimeMapping.prototype.realtimePageScaleChanged=function(a,c){null!=a&&(c?this.graph.pageScale=parseFloat(a):(this.driveRealtime.ignorePageScaleChanged=!0,this.ui.setPageScale(parseFloat(a)),this.driveRealtime.ignorePageScaleChanged=!1))};RealtimeMapping.prototype.realtimeBackgroundColorChanged=function(a,c){c?this.graph.background=""==a?null:a:(this.driveRealtime.ignoreBackgroundColorChanged=!0,this.ui.setBackgroundColor(""==a?null:a),this.driveRealtime.ignoreBackgroundColorChanged=!1)};
RealtimeMapping.prototype.realtimeFoldingEnabledChanged=function(a,c){c?this.graph.foldingEnabled="1"==a:(this.driveRealtime.ignoreFoldingEnabledChanged=!0,this.ui.setFoldingEnabled("1"==a),this.driveRealtime.ignoreFoldingEnabledChanged=!1)};RealtimeMapping.prototype.realtimeShadowVisibleChanged=function(a,c){this.driveRealtime.ignoreShadowVisibleChanged=!0;this.ui.editor.graph.setShadowVisible("1"==a);this.driveRealtime.ignoreShadowVisibleChanged=!1};
RealtimeMapping.prototype.realtimeBackgroundImageChanged=function(a,c){var f=null!=a&&0<a.length?JSON.parse(a):null;c?this.graph.setBackgroundImage(null!=f?new mxImage(f.src,f.width,f.height):null):(this.driveRealtime.ignoreBackgroundImageChanged=!0,this.ui.setBackgroundImage(null!=f?new mxImage(f.src,f.width,f.height):null),this.driveRealtime.ignoreBackgroundImageChanged=!1)};
RealtimeMapping.prototype.realtimeMathEnabledChanged=function(a,c){c?this.graph.mathEnabled="1"==urlParams.math||"1"==a:(this.driveRealtime.ignoreMathEnabledChanged=!0,this.ui.setMathEnabled("1"==urlParams.math||"1"==a),this.driveRealtime.ignoreMathEnabledChanged=!1)};DriveFile=function(a,c,f,d){DrawioFile.call(this,a,c);this.desc=f;null!=d&&(null!=d.getModel()&&null!=d.getModel().getRoot())&&(this.realtime=new DriveRealtime(this,d))};mxUtils.extend(DriveFile,DrawioFile);DriveFile.prototype.isRestricted=function(){return null!=this.desc.userPermission&&null!=this.desc.labels&&"reader"==this.desc.userPermission.role&&this.desc.labels.restricted};DriveFile.prototype.saveDelay=0;DriveFile.prototype.getMode=function(){return App.MODE_GOOGLE};
DriveFile.prototype.isAutosaveOptional=function(){return!0};DriveFile.prototype.isAutosave=function(){return this.ui.editor.autosave||this.isAutosaveRevision()};DriveFile.prototype.isAutosaveNow=function(){if(null!=this.realtime&&null!=this.realtime.root){var a=parseInt(this.realtime.root.get("backupDate")),c=parseInt(this.realtime.root.get("modifiedDate"));return isNaN(a)||isNaN(c)||a<c}return!0};
DriveFile.prototype.autosaveCompleted=function(){null!=this.realtime&&null!=this.realtime.root&&this.realtime.root.set("backupDate",(new Date).getTime())};DriveFile.prototype.isRenamable=function(){return this.isEditable()&&DrawioFile.prototype.isEditable.apply(this,arguments)};DriveFile.prototype.isMovable=function(){return this.isEditable()};DriveFile.prototype.save=function(a,c,f,d){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(null,a,c,f,d)};
DriveFile.prototype.saveFile=function(a,c,f,d,b){if(this.isEditable()){if(!this.savingFile){this.savingFile=!0;var e=this.isModified,g=this.isModified();this.setModified(!1);this.ui.drive.saveFile(this,c,mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;!1!=a?(c&&(this.lastAutosaveRevision=(new Date).getTime()),this.desc=a,this.contentChanged(),null!=f&&f(a)):(this.setModified(g||this.isModified()),null!=d&&d())}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;
this.setModified(g||this.isModified());null!=d&&d(a)}),b,b)}}else null!=f&&f()};DriveFile.prototype.saveAs=function(a,c,f){this.ui.drive.copyFile(this.getId(),a,c,f)};DriveFile.prototype.rename=function(a,c,f){this.ui.drive.renameFile(this.getId(),a,mxUtils.bind(this,function(d){this.hasSameExtension(a,this.getTitle())?(this.desc=d,this.descriptorChanged(),null!=c&&c(d)):(this.desc=d,this.save(!0,c,f))}),f)};
DriveFile.prototype.move=function(a,c,f){this.ui.drive.moveFile(this.getId(),a,mxUtils.bind(this,function(a){this.desc=a;this.descriptorChanged();null!=c&&c(a)}),f)};DriveFile.prototype.getTitle=function(){return this.desc.title};DriveFile.prototype.getHash=function(){return"G"+this.getId()};DriveFile.prototype.getId=function(){return this.desc.id};
DriveFile.prototype.isEditable=function(){var a=DrawioFile.prototype.isEditable.apply(this,arguments);return null!=this.realtime?a&&!this.realtime.rtModel.isReadOnly:a&&this.desc.editable};DriveFile.prototype.open=function(){null!=this.realtime?this.realtime.start():DrawioFile.prototype.open.apply(this,arguments)};DriveFile.prototype.close=function(a){a=null!=a?a:!1;DrawioFile.prototype.close.apply(this,arguments);null!=this.realtime&&(this.realtime.destroy(a),this.realtime=null)};DriveLibrary=function(a,c,f){DriveFile.call(this,a,c);this.desc=f};mxUtils.extend(DriveLibrary,DriveFile);DriveLibrary.prototype.isAutosave=function(){return!1};DriveLibrary.prototype.save=function(a,c,f){this.ui.drive.saveFile(this,a,mxUtils.bind(this,function(a){this.desc=a;null!=c&&c(a)}),f)};DriveLibrary.prototype.open=function(){};DriveClient=function(a){mxEventSource.call(this);this.ui=a;this.ui.editor.chromeless&&"1"!=urlParams.rt?(this.appId="850530949725",this.clientId="850530949725.apps.googleusercontent.com",this.scopes=["https://www.googleapis.com/auth/drive.readonly","openid"],this.mimeType="all_types_supported"):this.ui.isDriveDomain()?(this.appId="671128082532",this.clientId="671128082532.apps.googleusercontent.com",this.mimeType="application/vnd.jgraph.mxfile.realtime"):(this.appId="420247213240",this.clientId="420247213240-hnbju1pt13seqrc1hhd5htpotk4g9q7u.apps.googleusercontent.com",
this.mimeType="application/vnd.jgraph.mxfile.rtlegacy");this.mimeTypes="application/mxe,application/vnd.jgraph.mxfile,application/mxr,application/vnd.jgraph.mxfile.realtime,application/vnd.jgraph.mxfile.rtlegacy"};mxUtils.extend(DriveClient,mxEventSource);
DriveClient.prototype.scopes="1"==urlParams.photos?["https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive.install","https://www.googleapis.com/auth/photos","https://www.googleapis.com/auth/photos.upload","https://www.googleapis.com/auth/userinfo.profile"]:["https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive.install","https://www.googleapis.com/auth/userinfo.profile"];DriveClient.prototype.enableThumbnails=!0;
DriveClient.prototype.thumbnailWidth=480;DriveClient.prototype.maxThumbnailSize=2E6;
DriveClient.prototype.placeholderThumbnail="iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAMAAAAL34HQAAACN1BMVEXwhwXvhgX4iwXzhwXgbQzvhgXhbAzocgzqcwzldAoAAADhbgvjcQnmdgrlbgDwhgXsfwXufgjwhgXwgQfziAXxgADibgz4iwX4jAX3iwTpcwr1igXoewjsfgj3igX4iwXqcQv4jAX3iwXtfQnndQrvhAbibArwhwXgbQz//////v39jwX6jQX+/v7fagHfawzdVQDwhADgbhPgbhXwhwPocQ3uvKvwiA/faQDscgzxiAT97+XgciTgcSP6jAXgbQ3gcCHwiRfpcQzwhwfeXQD77ef74NLvhgTvegD66uPgbAf66+TvfADwjCzgcCfwiSD67ObhcjjwiBHhczvwiyrgbxj///777ujgcSHgcB/xiRzgbhveWgDeVwDhdEDgbRDqfgffYgDfXwD97+bvfQDxiz7//vvwiRr118rrcgztggbfZgDfZAD++PT98+3gbBPsgAb99vD33tPgcB7icAvuhAX//Pn66N/00sTyy7vuuqbjekLwhwzkcgr88er449n++vfutp/kh1vgcBvhbwvmdwnwgwDwgADeWQD87eLxxrTssJjqpIf0roHmjWTkhFP759n63czvvanomnjnlHDhczD22cr4y6/wwa/3xKX2wJ3rqpH0tY7qp4vpnoDymlbjf0vxjjntcwzldAroegj/kgX12s7518PzqnnnkWfynmLieUjpewjrdAD40Lj1uZTzpm3idTbiciLydQzzfwnyiQTsfgD3xqnzp3TxlkzgbCrdTwDdSwBLKUlNAAAAJ3RSTlP8/b2X/YH8wb+FAIuIggJbQin5opAM9+a/ubaubyD78NjSyr2WgRp4sjN4AAAI70lEQVR42u2cZ38SQRDGT8WGvfde4E4BxVMRRaKiUURRlJhQRDCCSgQVO/bee++9994+nMt5ywoezFJd/fm8uITi3p9n5mbYkcCpO6rVnVu2YEXd+3dRIySuo7pLv4GjGNKg7j3UHTl1l14PajmG9OFBnx7Ird4PumpYEtf1QXc112l0M7OGKXEfeg3guo3iNIyJG92Jaz61mYYxcaNacs1H/8f6j6X5j1WI/mMVIsawRFEzI49SjwOqAJa43emclk8Rp2c7AFZ+LDGyvXE2kmO2Q1Lq17RSd6ND48QIwFVuLNHTOPbEpTOz8ujMpccHGz0AV5mxIo4TpwUeUPj0YwfAVVYs0Tn7VZjnBUA8v+n6CyfERY8FR/DEJj7MQ6oL85vOvfDUAsuVC8s19s5yXuAppOPnvPk4EeSCsehCeBVTwVzHfE6RcFUQa4an8Qw91kpbw2oz4aoc1sSxniO0WAI/J24wriabmEpizZtM79bc+fr4/tUarEpiLabGElJYRsOGjbJfjGDpJCxtmosRLOEnVpqLESzZLYlLg65H1rAkLo2GESwcROwXI1jELcS1Y6OGQSzEVaupZQJLDiLhYtCtFBcbbslYhOueqKllDwtzwVhTq4RFuBh0C3EdEBl0C3OBWNUrEISLvSD+5GLQLYmLoSqfwcUiFuaqzhYDxiJc981lxqqdVsCGbHPcQLBgrtK3rwLt9tWqhblKxxI9hW3267U5ZHhuBrCKzXl4NIJTS5FrmbmMWGIEDZIouOp0/O6boYQ2jxBXWcdu13fzRILuF/2Ku+aGr96uBbhALHo5Z38+XcfXyVRZVx/+Ed513ldDCCCu0rFE0Xlo2mu5TAj8ki0XV0q6ePHilhi+d/15b9ACQGGusg3AFzc+XSMBCPzu89+CNlnB7zfD8t1z4iaLXUvDVT6sGdMOnv5pi47f6r9Qk9YF3xZ0l8S11UfMArlgLMpZM6bamYy6rWnta9q7TrZrzZPgPgoqg3atubY8WK6D8lQXHfb4p/wSK7vFfxmxSsAPQ96AlZ4LxoLNeompdkUDGQVznL5mLr4ar5ESD3PBWHA9fbpbjlT4pq1Bm6H6w9dwfOd69ePouNDYt3S3ULPGZ96S3YqtAW/Tepz1E8bgAANc+xEXhAX36ut1cslcd6rJq81SIvgEe7lmL3kY5iqxVYvOI9isswp22KeMOcrriJlWai5giwHl+yec73Ma9Mbfz+qOJndKz6hLpR5V1uPxavFuTTt0K1XfpbNeO0wKeUaR2IPBN5sMRlqu1eY8bsFmPeIFUpi0CjIGTLvSZY2EGeYSi3VL9Dgeb0I+SQl9MlcZT4TObZKzfmfS5NZSx1GsLQ5r+8Sxp7ERR/1TtDlUn2qNuGXCrZGM5URlLDiEVzDVkje5fdjXdDsm27XpXChBz4XG0UpYcDOMYaxjGc3wtyJxFtu1PohaI71f2K2imqEONcN4nrMZ9TWbMf81wg9z3VNwC26Gr3enY4ObobLqbccFefuz5AKONpVfzQp2y3NoVvrN32GLNl9orA22lTiM+Nqg5CJY1DueOjkwsdtNgAP7gidR2SWVhFqt3o9QwoKHIuiwDcwX+xT/UWztSlvCaqXGmtQBY1GadQmfh6anuE0XlkhhRFs3tGGkd+tuIVhiJN0M+brj0mlAu46lX0bcbizVLbgZrgwl4JhYA+NQa9TJQUetsSJYHscJvAVct7eJKoUbQudxPYmdirqzsYsIojhjoitD01yadH287J+vpZF1/uGt2K4ttinjshQo2C2XMzI2U64X6WY4tyZq99a7wZS3eA3BpNyrUPn1x00Z0uM1ACzilOfg7EN3VmRo8dN16WYYerYw6G9qCOSDCjQ0jQkufRbalt65LVyapaA/2mClxhK3Rxy3rsyavDxDR/DL5sMLFiyYu/7sXps7z8VldPv2Xl6PnjlTwOOuJQuytH7CXpvXCOQWoZrYeHWd4nw2Q+v22OLGnFSG0Nk1PCi0xjgjpVvTGi8hht9F+ARBGq8dtXmtOSLoDm1FhUSHnihkTecESalHkPAaWVhtFbA8jqvQGBmbt8fWkKtNn0Xw9GvAWK6DX9bBVHjzqtyvvcG9a+jXyC5oKoKV/a4YFG7Yij2ofszlgtaA3ZoRwW+pIOH3w0qZFURNh3oNtKsDsAr9LNvMC0pj93H6hTPpX9ocg8FIgTVvcgFYC03jFLBMi6ix0MDAoi8/lh7Cgt2q0VfNrSX0ayhjTa2IW0tKdotNrMq4NbPkILKZW+xdiSoGgshogfh7Ul7FcIEoFevfrPLC3+XWf6y/CEvHZoFQqlts9sQigqjLxFpQCJauakFcsqhKPXH79rGb6bE2B5Qmu0b91zn0WJtN8Wys9tgtIqfjEf2SWw7XKI8gHuKQ0X0eDsQSI44TaGBN6dYN5dlI/eFj9I7f8GWtoUJYOIgkiq6Ds/gw5T7dZDUqTrfscbLbB9eIB7JmEKsUgiii/4uO8ToBfJlhfif5tEGWEsGTMT4Mr6HDa0BBlP5Y88lcnkdkCtLhnyjMM0+Gcn2WzW6xnd/J8zn+LZq4SUeEvUBaA8LCs6Tk1p1AetXt3JoMWexWZSyr3RK6vSUGrRHbmkRUVgCLpP1HW/L4tgl5tO140mdKKFFhrkTUdxta4xleA8DCXC6n/vCYvPJFa9zAWL4m6qNaA8IiqjW73lreWnJrSj0AJYFZpvwq6RZRzjVUGEtB5tX7DdoqCXaL+PXHuEjdYsuvVqva4Sqv6NdabdW4YLeIKsoFYzHGhYPIGBd2izGuVpPaSVgAV7VEsOQgsuUXdosxLuwWxLVMW0WRK5ExLiiIpN4vq2YYVTiIbPmFgii5xRiXimCBqmIcVSS3WMqvdMqz5VcKqzdKeca4UrnVT/ryR6bi2Opuf64TwYJlfl4FLqu2Zxeux5BRXZnisvZ8103NqTtzoziuGa24+wZVRdVK9W7wyNSX1nYeOmrU6JSmjp6KhH5BR+kGvk++Ld0c/X66rPH4SEQeGl+kpq8a33eAumPqK347durWpzm9hrWhUevi1Hd4ZzVC+gGMHY0TYnDOYwAAAABJRU5ErkJggg\x3d\x3d".replace(/\+/g,"-").replace(/\//g,
"_");DriveClient.prototype.placeholderMimeType="image/png";DriveClient.prototype.libraryMimeType="application/vnd.jgraph.mxlibrary";DriveClient.prototype.newAppHostname="www.draw.io";DriveClient.prototype.oldAppHostname="legacy.draw.io";DriveClient.prototype.extension=".html";DriveClient.prototype.tokenRefreshInterval=0;DriveClient.prototype.lastTokenRefresh=0;DriveClient.prototype.maxRetries=4;DriveClient.prototype.mimeTypeCheckCoolOff=6E4;DriveClient.prototype.user=null;
DriveClient.prototype.setUser=function(a){this.user=a;null==this.user&&null!=this.tokenRefreshThread&&(window.clearTimeout(this.tokenRefreshThread),this.tokenRefreshThread=null);this.fireEvent(new mxEventObject("userChanged"))};DriveClient.prototype.getUser=function(){return this.user};DriveClient.prototype.setUserId=function(a,c){if("undefined"!=typeof Storage)try{if(sessionStorage.setItem("GUID",a),c){var f=new Date;f.setYear(f.getFullYear()+1);document.cookie="GUID\x3d"+a+"; expires\x3d"+f.toUTCString()}}catch(d){}};
DriveClient.prototype.clearUserId=function(){if("undefined"!=typeof Storage){sessionStorage.removeItem("GUID");var a=new Date;a.setYear(a.getFullYear()-1);document.cookie="GUID\x3d; expires\x3d"+a.toUTCString()}};
DriveClient.prototype.getUserId=function(){var a=null;null!=this.user&&(a=this.user.id);if("undefined"!=typeof Storage&&(null==a&&(a=sessionStorage.getItem("GUID")),null==a))for(var c=document.cookie.split(";"),f=0;f<c.length;f++){var d=mxUtils.trim(c[f]);if("GUID\x3d"==d.substring(0,5)){a=d.substring(5);break}}return a};
DriveClient.prototype.execute=function(a){var c=mxUtils.bind(this,function(c){this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(c,b){this.authorize(!1,function(){null!=b&&b();a()},mxUtils.bind(this,function(a){var b=mxResources.get("cannotLogin");null!=a&&(null!=a.error&&403==a.error.code&&null!=a.error.data&&"domainPolicy"==a.error.data[0].reason)&&(b=a.error.message);this.ui.drive.clearUserId();this.ui.drive.setUser(null);gapi.auth.signOut();this.ui.showError(mxResources.get("error"),b,
mxResources.get("ok"))}),c)}))});this.authorize(!0,a,c)};
DriveClient.prototype.executeRequest=function(a,c,f){var d=!0,b=null,e=0;null!=this.requestThread&&window.clearTimeout(this.requestThread);var g=mxUtils.bind(this,function(){this.requestThread=null;this.currentRequest=a;null!=b&&window.clearTimeout(b);b=window.setTimeout(mxUtils.bind(this,function(){d=!1;null!=f&&f({code:App.ERROR_TIMEOUT,retry:g})}),this.ui.timeout);a.execute(mxUtils.bind(this,function(k){window.clearTimeout(b);d&&(null!=k&&null==k.error?null!=c&&c(k):null!=f&&null!=k&&null!=k.error&&
403==k.error.code&&("The requested mime type change is forbidden."==k.error.message||null!=k.error.errors&&"domainPolicy"==k.error.errors[0].reason)?f(k):null!=k&&null!=k.error&&(401==k.error.code||403==k.error.code)?403==k.error.code&&null!=this.user?null!=f&&f(k):this.execute(g):null!=k&&null!=k.error&&404!=k.error.code&&this.currentRequest==a&&e<this.maxRetries?(e++,k=1+0.1*(Math.random()-0.5),this.requestThread=window.setTimeout(g,Math.round(1E3*Math.pow(2,e)*k))):null!=f&&f(k))}))});g()};
DriveClient.prototype.authorize=function(a,c,f,d){var b=this.getUserId();if(a&&null==b)null!=f&&f();else{var e={scope:this.scopes,client_id:this.clientId};a&&null!=b?(e.immediate=!0,e.user_id=b):(e.immediate=!1,e.authuser=-1);gapi.auth.authorize(e,mxUtils.bind(this,function(e){null!=e&&null==e.error?null==this.user||!a||this.user.id!=b?this.updateUser(c,f,d):null!=c&&c():null!=f&&f(e);this.resetTokenRefresh(e)}))}};
DriveClient.prototype.resetTokenRefresh=function(a){null!=this.tokenRefreshThread&&(window.clearTimeout(this.tokenRefreshThread),this.tokenRefreshThread=null);null!=a&&(null==a.error&&0<a.expires_in)&&(this.tokenRefreshInterval=1E3*parseInt(a.expires_in),this.lastTokenRefresh=(new Date).getTime(),this.tokenRefreshThread=window.setTimeout(mxUtils.bind(this,function(){this.authorize(!0,mxUtils.bind(this,function(){}),mxUtils.bind(this,function(){}))}),900*a.expires_in))};
DriveClient.prototype.checkToken=function(a){var c=0<this.lastTokenRefresh;(new Date).getTime()-this.lastTokenRefresh>this.tokenRefreshInterval||null==this.tokenRefreshThread?this.execute(mxUtils.bind(this,function(){a();c&&this.fireEvent(new mxEventObject("disconnected"))})):a()};
DriveClient.prototype.updateUser=function(a,c,f){var d="https://www.googleapis.com/oauth2/v2/userinfo?alt\x3djson\x26access_token\x3d"+gapi.auth.getToken().access_token;this.ui.loadUrl(d,mxUtils.bind(this,function(b){var d=JSON.parse(b);this.executeRequest(gapi.client.drive.about.get(),mxUtils.bind(this,function(b){this.setUser(new DrawioUser(d.id,b.user.emailAddress,b.user.displayName,null!=b.user.picture?b.user.picture.url:null));this.setUserId(d.id,f);null!=a&&a()}),c)}),c)};
DriveClient.prototype.copyFile=function(a,c,f,d){null!=a&&null!=c&&this.executeRequest(gapi.client.drive.files.copy({fileId:a,resource:{title:c}}),f,d)};DriveClient.prototype.renameFile=function(a,c,f,d){null!=a&&null!=c&&this.executeRequest(this.createDriveRequest(a,{title:c}),f,d)};DriveClient.prototype.moveFile=function(a,c,f,d){null!=a&&null!=c&&this.executeRequest(this.createDriveRequest(a,{parents:[{kind:"drive#fileLink",id:c}]}),f,d)};
DriveClient.prototype.createDriveRequest=function(a,c){return gapi.client.request({path:"/drive/v2/files/"+a,method:"PUT",params:{uploadType:"multipart"},headers:{"Content-Type":"application/json; charset\x3dUTF-8"},body:JSON.stringify(c)})};DriveClient.prototype.getLibrary=function(a,c,f){return this.getFile(a,c,f,!0,!0)};
DriveClient.prototype.convertFile=function(a,c,f){var d=a.title,d=d.substring(0,d.lastIndexOf("."))+this.extension,b=gapi.auth.getToken().access_token;this.ui.loadUrl(a.downloadUrl+"\x26access_token\x3d"+b,mxUtils.bind(this,function(b){this.ui.parseFile(new Blob([b],{type:"application/octet-stream"}),mxUtils.bind(this,function(b){4==b.readyState&&(200==b.status&&"\x3cmxGraphModel"==b.responseText.substring(0,13)?this.insertFile(d,b.responseText,null!=a.parents&&0<a.parents.length?a.parents[0].id:
null,c,f):null!=f&&f({message:mxResources.get("errorLoadingFile")}))}),a.title)}))};
DriveClient.prototype.getFile=function(a,c,f,d,b){d=null!=d?d:!1;b=null!=b?b:!1;null!=urlParams.rev?this.executeRequest(gapi.client.drive.revisions.get({fileId:a,revisionId:urlParams.rev}),mxUtils.bind(this,function(a){this.getXmlFile(a,null,c,f)}),f):this.executeRequest(gapi.client.drive.files.get({fileId:a}),mxUtils.bind(this,function(a){null!=this.user?!b&&!d&&Graph.fileSupport&&(new XMLHttpRequest).upload&&(/(\.vsdx)$/i.test(a.title)||/(\.gliffy)$/i.test(a.title))?this.convertFile(a,c,f):d||b||
a.mimeType==this.libraryMimeType?this.getXmlFile(a,null,c,f,!0,b):this.loadRealtime(a,mxUtils.bind(this,function(b){try{null==b||null==b.getModel()||null==b.getModel().getRoot()||b.getModel().getRoot().isEmpty()||b.getModel().getRoot().has("cells")&&!b.getModel().getRoot().has(DriveRealtime.prototype.diagramsKey)?this.getXmlFile(a,b,c,f):c(new DriveFile(this.ui,null,a,b))}catch(d){f(d)}}),f):f({message:mxResources.get("loggedOut")})}),f)};
DriveClient.prototype.loadRealtime=function(a,c,f){if("1"!=urlParams.ignoremime&&"420247213240"==this.appId&&("application/mxr"==a.mimeType||"application/vnd.jgraph.mxfile.realtime"==a.mimeType))this.redirectToNewApp(f,a.id);else if("850530949725"!=this.appId&&(a.editable||"application/mxe"!=a.mimeType&&"application/vnd.jgraph.mxfile"!=a.mimeType)){var d=mxUtils.bind(this,function(){var b=!0,e=window.setTimeout(mxUtils.bind(this,function(){b=!1;f({code:App.ERROR_TIMEOUT,retry:d})}),this.ui.timeout);
gapi.drive.realtime.load(a.id,mxUtils.bind(this,function(a){window.clearTimeout(e);b&&c(a)}))});d()}else c()};
DriveClient.prototype.getXmlFile=function(a,c,f,d,b,e){var g=gapi.auth.getToken().access_token;this.ui.loadUrl(a.downloadUrl+"\x26access_token\x3d"+g,mxUtils.bind(this,function(g){if(null==g)d({message:mxResources.get("invalidOrMissingFile")});else if(a.mimeType==this.libraryMimeType||e)a.mimeType==this.libraryMimeType&&!e?d({message:mxResources.get("notADiagramFile")}):f(new DriveLibrary(this.ui,g,a));else{var l=new DriveFile(this.ui,g,a,c);!b&&"850530949725"!=this.appId&&l.isEditable()&&a.mimeType!=
this.mimeType?this.saveFile(l,!0,mxUtils.bind(this,function(a){l.desc=a;f(l)}),d,!0):f(l)}}),d,"image/png"==a.mimeType)};
DriveClient.prototype.saveFile=function(a,c,f,d,b,e){if(a.isEditable()){var g=(new Date).getTime();b=null!=b?b:!this.ui.isLegacyDriveDomain()||"1"==urlParams.ignoremime;e=null!=e?e:!1;var k=mxUtils.bind(this,function(b,k,l){var r={mimeType:a.constructor==DriveLibrary?this.libraryMimeType:this.mimeType,title:a.getTitle()};l||(null==b&&!e&&(b=this.placeholderThumbnail,k=this.placeholderMimeType),null!=b&&null!=k&&(r.thumbnail={image:b,mimeType:k}));this.executeRequest(this.createUploadRequest(a.getId(),
r,a.getData(),c||a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType),function(){a.saveDelay=(new Date).getTime()-g;f.apply(this,arguments)},d)}),l=mxUtils.bind(this,function(){var b=null!=this.ui.currentPage&&this.ui.currentPage!=this.ui.pages[0];(e||a.constructor==DriveLibrary||!this.enableThumbnails||"0"==urlParams.thumb||b||!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(a){var b=null;if(null!=a)try{b=a.toDataURL("image/png")}catch(c){}b=null==b||b.length>
this.maxThumbnailSize?null:b.substring(b.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");k(b,"image/png")})))&&k(null,null,a.constructor!=DriveLibrary&&b)});b||!c?l():this.verifyMimeType(a.getId(),l,!0)}else this.ui.editor.graph.reset(),null!=d&&d({message:mxResources.get("readOnly")})};
DriveClient.prototype.verifyMimeType=function(a,c,f,d){null==this.lastMimeCheck&&(this.lastMimeCheck=0);var b=(new Date).getTime();if(f||b-this.lastMimeCheck>this.mimeTypeCheckCoolOff)this.lastMimeCheck=b,this.checkingMimeType||(this.checkingMimeType=!0,this.executeRequest(gapi.client.drive.files.get({fileId:a,fields:"mimeType"}),mxUtils.bind(this,function(b){this.checkingMimeType=!1;null!=b&&"application/vnd.jgraph.mxfile.realtime"==b.mimeType?this.redirectToNewApp(d,a):null!=c&&c()})))};
DriveClient.prototype.redirectToNewApp=function(a,c){this.ui.spinner.stop();if(!this.redirectDialogShowing){this.redirectDialogShowing=!0;var f=window.location.protocol+"//"+this.newAppHostname+"/"+this.ui.getSearch("create title mode url drive splash".split(" "))+"#G"+c;null!=a?this.ui.confirm(mxResources.get("redirectToNewApp"),mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href=f}),mxUtils.bind(this,function(){this.redirectDialogShowing=!1;null!=a&&a()})):this.ui.alert(mxResources.get("redirectToNewApp"),
mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href=f}))}};
DriveClient.prototype.insertFile=function(a,c,f,d,b,e,g,k){e=null!=e?e:this.mimeType;k=null!=k?k:!0;a={mimeType:e,title:a};null!=f&&(a.parents=[{kind:"drive#fileLink",id:f}]);this.executeRequest(this.createUploadRequest(null,a,c,!1,g),mxUtils.bind(this,function(a){e==this.libraryMimeType?d(new DriveLibrary(this.ui,c,a)):!1==a?null!=b&&b({message:mxResources.get("errorSavingFile")}):k?this.loadRealtime(a,mxUtils.bind(this,function(e){null!=this.user?(e=new DriveFile(this.ui,c,a,e),e.lastAutosaveRevision=
(new Date).getTime(),d(e)):null!=b&&b({message:mxResources.get("loggedOut")})}),b):d(a)}),b)};
DriveClient.prototype.createUploadRequest=function(a,c,f,d,b){b=null!=b?b:!1;a={path:"/upload/drive/v2/files"+(null!=a?"/"+a:""),method:null!=a?"PUT":"POST",params:{uploadType:"multipart"},headers:{"Content-Type":'multipart/mixed; boundary\x3d"-------314159265358979323846"'},body:"\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!=
f?b?f:Base64.encode(f):"")+"\r\n---------314159265358979323846--"};d||(a.params.newRevision=!1);return gapi.client.request(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(){this.ui.spinner.stop();var a=gapi.auth.getToken().access_token,d=c?"genericPicker":"filePicker",b=mxUtils.bind(this,function(a){"picker modal-dialog-bg picker-dialog-bg"==
mxEvent.getSource(a).className&&(mxEvent.removeListener(document,"click",b),this[d].setVisible(!1))});if(null==this[d]||this[d+"Token"]!=a){this[d+"Token"]=a;var a=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0),e=new google.picker.DocsView,g=(new google.picker.DocsUploadView).setIncludeFolders(!0);c||(a.setMimeTypes(this.mimeTypes),e.setMimeTypes(this.mimeTypes));this[d]=(new google.picker.PickerBuilder).setOAuthToken(this[d+"Token"]).setLocale(mxLanguage).setAppId(this.appId).addView(a).addView(e).addView(google.picker.ViewId.RECENTLY_PICKED).addView(g).setCallback(mxUtils.bind(this,
function(a){(a.action==google.picker.Action.PICKED||a.action==google.picker.Action.CANCEL)&&mxEvent.removeListener(document,"click",b);a.action==google.picker.Action.PICKED&&this.filePicked(a)})).build()}mxEvent.addListener(document,"click",b);this[d].setVisible(!0);this.ui.movePickersToTop()}))};
DriveClient.prototype.pickFolder=function(a){this.folderPickerCallback=a;this.ui.spinner.spin(document.body,mxResources.get("authorizing"))&&this.execute(mxUtils.bind(this,function(){this.ui.spinner.stop();var a=gapi.auth.getToken().access_token,f=mxUtils.bind(this,function(a){"picker modal-dialog-bg picker-dialog-bg"==mxEvent.getSource(a).className&&(mxEvent.removeListener(document,"click",f),this.folderPicker.setVisible(!1))});if(null==this.folderPicker||this.folderPickerToken!=a){this.folderPickerToken=
a;var a=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0).setMimeTypes("application/vnd.google-apps.folder"),d=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0).setMimeTypes("application/vnd.google-apps.folder");this.folderPicker=(new google.picker.PickerBuilder).setSelectableMimeTypes("application/vnd.google-apps.folder").setOAuthToken(this.folderPickerToken).setLocale(mxLanguage).setAppId(this.appId).addView(a).addView(d).addView(google.picker.ViewId.RECENTLY_PICKED).setTitle(mxResources.get("pickFolder")).setCallback(mxUtils.bind(this,
function(a){(a.action==google.picker.Action.PICKED||a.action==google.picker.Action.CANCEL)&&mxEvent.removeListener(document,"click",f);this.folderPickerCallback(a)})).build()}mxEvent.addListener(document,"click",f);this.folderPicker.setVisible(!0);this.ui.movePickersToTop()}))};
DriveClient.prototype.pickLibrary=function(a){this.filePickerCallback=a;this.filePicked=mxUtils.bind(this,function(a){a.action==google.picker.Action.PICKED?this.filePickerCallback(a.docs[0].id):a.action==google.picker.Action.CANCEL&&null==this.ui.getCurrentFile()&&this.ui.showSplash()});this.ui.spinner.spin(document.body,mxResources.get("authorizing"))&&this.execute(mxUtils.bind(this,function(){this.ui.spinner.stop();var a=mxUtils.bind(this,function(b){"picker modal-dialog-bg picker-dialog-bg"==mxEvent.getSource(b).className&&
(mxEvent.removeListener(document,"click",a),this.libraryPicker.setVisible(!1))}),f=gapi.auth.getToken().access_token;if(null==this.libraryPicker||this.libraryPickerToken!=f){this.libraryPickerToken=f;var f=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setMimeTypes(this.libraryMimeType+",application/xml,text/plain,application/octet-stream"),d=(new google.picker.DocsView).setMimeTypes(this.libraryMimeType+",application/xml,text/plain,application/octet-stream"),
b=(new google.picker.DocsUploadView).setIncludeFolders(!0);this.libraryPicker=(new google.picker.PickerBuilder).setOAuthToken(this.libraryPickerToken).setLocale(mxLanguage).setAppId(this.appId).addView(f).addView(d).addView(google.picker.ViewId.RECENTLY_PICKED).addView(b).setCallback(mxUtils.bind(this,function(b){(b.action==google.picker.Action.PICKED||b.action==google.picker.Action.CANCEL)&&mxEvent.removeListener(document,"click",a);b.action==google.picker.Action.PICKED&&this.filePicked(b)})).build()}mxEvent.addListener(document,
"click",a);this.libraryPicker.setVisible(!0);this.ui.movePickersToTop()}))};DriveClient.prototype.showPermissions=function(a){this.checkToken(mxUtils.bind(this,function(){var c=new gapi.drive.share.ShareClient(this.appId);c.setOAuthToken(gapi.auth.getToken().access_token);c.setItemIds([a]);c.showSettingsDialog()}))};DropboxClient=function(a){mxEventSource.call(this);this.ui=a;this.client=new Dropbox.Client({key:App.DROPBOX_APPKEY,sandbox:!0});this.client.authDriver(new Dropbox.AuthDriver.Popup({rememberUser:!0,receiverUrl:"https://"+window.location.host+"/dropbox.html"}))};mxUtils.extend(DropboxClient,mxEventSource);DropboxClient.prototype.appPath="/drawio/";DropboxClient.prototype.extension=".html";DriveClient.prototype.maxRetries=4;DropboxClient.prototype.user=null;DropboxClient.prototype.writingFile=!1;
DropboxClient.prototype.logout=function(){this.client.signOut(mxUtils.bind(this,function(){this.setUser(null)}))};DropboxClient.prototype.setUser=function(a){this.user=a;this.fireEvent(new mxEventObject("userChanged"))};DropboxClient.prototype.getUser=function(){return this.user};DropboxClient.prototype.updateUser=function(a,c,f){this.client.getUserInfo(null,mxUtils.bind(this,function(a,b){null==a?this.setUser(new DrawioUser(b.uid,b.email,b.name)):this.setUser(null)}))};
DropboxClient.prototype.execute=function(a){this.client.isAuthenticated()?a():this.authorize(!1,mxUtils.bind(this,function(c,f){null!=c?this.ui.handleError(c):this.client.isAuthenticated()?(this.updateUser(),a()):this.ui.showAuthDialog(this,!1,mxUtils.bind(this,function(c,b){this.authorize(!0,mxUtils.bind(this,function(c,d){null!=c?this.ui.handleError(c):this.client.isAuthenticated()&&(this.updateUser(),null!=b&&b(),a())}))}))}))};
DropboxClient.prototype.authorize=function(a,c){this.client.authenticate({interactive:a},mxUtils.bind(this,function(a,d){null!=a?null!=window.console&&console.log(a):c()}))};DropboxClient.prototype.getLibrary=function(a,c,f){this.getFile(a,c,f,!1,!0)};
DropboxClient.prototype.getFile=function(a,c,f,d,b){b=null!=b?b:!1;var e=mxUtils.bind(this,function(){this.execute(mxUtils.bind(this,function(){var d=!0,k=window.setTimeout(mxUtils.bind(this,function(){d=!1;f({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout),l=null;null!=urlParams.rev&&(l={versionTag:urlParams.rev});this.client.readFile("/"+a,l,mxUtils.bind(this,function(a,e,l){try{window.clearTimeout(k),d&&(null!=a?f(a):b?c(new DropboxLibrary(this.ui,e,l)):c(new DropboxFile(this.ui,e,l)))}catch(r){f(r)}}))}))});
e()};DropboxClient.prototype.checkExists=function(a,c){this.client.stat(a,mxUtils.bind(this,function(f,d){null!=f&&404==f.status||null!=d&&d.isRemoved?c(!0):this.ui.confirm(mxResources.get("replaceIt",[a]),function(){c(!0)},function(){c(!1)})}))};
DropboxClient.prototype.renameFile=function(a,c,f,d){null!=a&&null!=c&&this.execute(mxUtils.bind(this,function(){this.checkExists(c,mxUtils.bind(this,function(b){b?this.writeFile(c,a.getData(),mxUtils.bind(this,function(b){this.client.remove(a.getTitle(),function(a,c){null!=a?d(a):f(b)})}),d):d()}))}))};DropboxClient.prototype.insertLibrary=function(a,c,f,d){this.insertFile(a,c,f,d,!0)};
DropboxClient.prototype.insertFile=function(a,c,f,d,b){b=null!=b?b:!1;this.execute(mxUtils.bind(this,function(){this.checkExists(a,mxUtils.bind(this,function(e){e?this.writeFile(a,c,mxUtils.bind(this,function(a){b?f(new DropboxLibrary(this.ui,c,a)):f(new DropboxFile(this.ui,c,a))}),d):d()}))}))};DropboxClient.prototype.saveFile=function(a,c,f,d){this.execute(mxUtils.bind(this,function(){this.writeFile(a,c,f,d)}))};
DropboxClient.prototype.writeFile=function(a,c,f,d){if(/[\\\/:\?\*"\|]/.test(a))null!=d&&d({message:mxResources.get("dropboxCharsNotAllowed")});else if(this.writingFile)null!=d&&d({code:App.ERROR_BUSY});else{var b=!0,e=null;this.writingFile=!0;var g=0;null!=this.requestThread&&window.clearTimeout(this.requestThread);var k=mxUtils.bind(this,function(){null!=e&&window.clearTimeout(e);e=window.setTimeout(mxUtils.bind(this,function(){b=this.writingFile=!1;null!=d&&d({code:App.ERROR_TIMEOUT,retry:k})}),
this.ui.timeout);this.client.writeFile(a,c,mxUtils.bind(this,function(a,c){window.clearTimeout(e);if(b)if(null!=a)if(g<this.maxRetries){g++;var m=1+0.1*(Math.random()-0.5);this.requestThread=window.setTimeout(k,Math.round(1E3*Math.pow(2,g)*m))}else null!=d&&(this.writingFile=!1,d(a));else this.writingFile=!1,null!=f&&f(c)}))});k()}};
DropboxClient.prototype.pickLibrary=function(a){Dropbox.choose({linkType:"direct",cancel:mxUtils.bind(this,function(){}),success:mxUtils.bind(this,function(c){if(this.ui.spinner.spin(document.body,mxResources.get("loading"))){var f=mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError(a)}),d=c[0].link.indexOf(this.appPath);0<d?this.execute(mxUtils.bind(this,function(){var b=decodeURIComponent(c[0].link.substring(d+this.appPath.length-1));this.client.readFile(b,null,mxUtils.bind(this,
function(d,g,k){if(null!=k&&parseInt(c[0].bytes)===parseInt(k.size)&&b===k.path)try{this.ui.spinner.stop(),a(b.substring(1),new DropboxLibrary(this.ui,g,k))}catch(l){this.ui.handleError(l)}else this.createLibrary(c[0],a,f)}))})):this.execute(mxUtils.bind(this,function(){this.createLibrary(c[0],a,f)}))}})})};
DropboxClient.prototype.createLibrary=function(a,c,f){this.ui.confirm(mxResources.get("note")+": "+mxResources.get("fileWillBeSavedInAppFolder",[a.name]),mxUtils.bind(this,function(){this.ui.loadUrl(a.link,mxUtils.bind(this,function(d){this.insertFile(a.name,d,mxUtils.bind(this,function(a){try{this.ui.spinner.stop(),c(a.getHash().substring(1),a)}catch(d){f(d)}}),f,!0)}),f)}),mxUtils.bind(this,function(){this.ui.spinner.stop()}))};
DropboxClient.prototype.pickFile=function(a,c){null!=Dropbox.choose?(a=null!=a?a:mxUtils.bind(this,function(a,c){this.ui.loadFile("D"+encodeURIComponent(a),null,c)}),Dropbox.choose({linkType:"direct",cancel:mxUtils.bind(this,function(){}),success:mxUtils.bind(this,function(f){if(this.ui.spinner.spin(document.body,mxResources.get("loading")))if(c)this.ui.spinner.stop(),a(f[0].link);else{var d=mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError(a)}),b=mxUtils.bind(this,function(b,
c){this.ui.spinner.stop();a(b,c)}),e=f[0].link.indexOf(this.appPath);0<e&&!/(\.png)$/i.test(f[0].name)&&!/(\.vs?dx)$/i.test(f[0].name)&&!/(\.gliffy)$/i.test(f[0].name)?this.execute(mxUtils.bind(this,function(){var c=decodeURIComponent(f[0].link.substring(e+this.appPath.length-1));this.client.readFile(c,null,mxUtils.bind(this,function(e,l,n){null!=n&&parseInt(f[0].bytes)===parseInt(n.size)&&c===n.path?(this.ui.spinner.stop(),a(c.substring(1),new DropboxFile(this.ui,l,n))):this.createFile(f[0],b,d)}))})):
this.execute(mxUtils.bind(this,function(){this.createFile(f[0],b,d)}))}})})):this.ui.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})};
DropboxClient.prototype.createFile=function(a,c,f){var d=a.name;if(/(\.png)$/i.test(d)||/(\.vs?dx)$/i.test(d)||/(\.gliffy)$/i.test(d))d=d.substring(0,d.lastIndexOf("."))+this.extension;var b=mxUtils.bind(this,function(a,b){this.ui.confirm(mxResources.get("note")+": "+mxResources.get("fileWillBeSavedInAppFolder",[a]),mxUtils.bind(this,function(){this.insertFile(a,b,mxUtils.bind(this,function(b){c(a,b)}),f)}),mxUtils.bind(this,function(){this.ui.spinner.stop()}))});this.ui.loadUrl(a.link,mxUtils.bind(this,
function(c){/(\.vs?dx)$/i.test(a.name)||/(\.gliffy)$/i.test(a.name)?this.ui.parseFile(new Blob([c],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200==a.status&&"\x3cmxGraphModel"==a.responseText.substring(0,13)?b(d,a.responseText):(this.ui.spinner.stop(),null!=f&&f({message:mxResources.get("errorLoadingFile")})))}),a.name):(/(\.png)$/i.test(a.name)&&(c=this.ui.extractGraphModelFromPng(c)),null!=c&&0<c.length?b(d,c):(this.ui.spinner.stop(),null!=f&&f({message:mxResources.get("errorLoadingFile")})))}),
f,/(\.png)$/i.test(a.name))};DropboxFile=function(a,c,f){DrawioFile.call(this,a,c);this.stat=f};mxUtils.extend(DropboxFile,DrawioFile);DropboxFile.prototype.getHash=function(){return"D"+encodeURIComponent(this.stat.path.substring(1))};DropboxFile.prototype.getMode=function(){return App.MODE_DROPBOX};DropboxFile.prototype.isAutosaveOptional=function(){return!0};DropboxFile.prototype.getTitle=function(){return this.stat.name};DropboxFile.prototype.isRenamable=function(){return!0};
DropboxFile.prototype.save=function(a,c,f){this.doSave(this.getTitle(),c,f)};DropboxFile.prototype.saveAs=function(a,c,f){this.doSave(a,c,f)};DropboxFile.prototype.doSave=function(a,c,f){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(a,!1,c,f)};
DropboxFile.prototype.saveFile=function(a,c,f,d){this.isEditable()?this.savingFile?null!=d&&d({code:App.ERROR_BUSY}):(c=mxUtils.bind(this,function(b){if(b){this.savingFile=!0;var c=this.isModified,g=this.isModified();this.setModified(!1);this.isModified=function(){return g};this.ui.dropbox.saveFile(a,this.getData(),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=c;this.stat=a;this.contentChanged();null!=f&&f()}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=c;this.setModified(g||
this.isModified());null!=d&&d(a)}))}else null!=d&&d()}),this.getTitle()==a?c(!0):this.ui.dropbox.checkExists(a,c)):null!=f&&f()};DropboxFile.prototype.rename=function(a,c,f){this.ui.dropbox.renameFile(this,a,mxUtils.bind(this,function(d){this.hasSameExtension(a,this.getTitle())?(this.stat=d,this.descriptorChanged(),null!=c&&c()):(this.stat=d,this.descriptorChanged(),this.save(!0,c,f))}),f)};DropboxLibrary=function(a,c,f){DropboxFile.call(this,a,c,f)};mxUtils.extend(DropboxLibrary,DropboxFile);DropboxLibrary.prototype.isAutosave=function(){return!1};DropboxLibrary.prototype.doSave=function(a,c,f){this.saveFile(a,!1,c,f)};DropboxLibrary.prototype.open=function(){};OneDriveFile=function(a,c,f){DrawioFile.call(this,a,c);this.meta=f};mxUtils.extend(OneDriveFile,DrawioFile);OneDriveFile.prototype.getHash=function(){return"W"+encodeURIComponent(this.meta.id)};OneDriveFile.prototype.getMode=function(){return App.MODE_ONEDRIVE};OneDriveFile.prototype.isAutosaveOptional=function(){return!0};OneDriveFile.prototype.getTitle=function(){return this.meta.name};OneDriveFile.prototype.isRenamable=function(){return!0};
OneDriveFile.prototype.save=function(a,c,f){this.doSave(this.getTitle(),c,f)};OneDriveFile.prototype.saveAs=function(a,c,f){this.doSave(a,c,f)};OneDriveFile.prototype.doSave=function(a,c,f){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(a,!1,c,f)};
OneDriveFile.prototype.saveFile=function(a,c,f,d){if(this.isEditable())if(this.savingFile)null!=d&&d({code:App.ERROR_BUSY});else if(this.savingFile=!0,this.getTitle()==a){var b=this.isModified,e=this.isModified();this.setModified(!1);this.ui.oneDrive.saveFile(this,mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=b;this.meta=a;this.contentChanged();null!=f&&f()}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=b;this.setModified(e||this.isModified());null!=d&&d(a)}))}else this.ui.oneDrive.insertFile(a,
this.getData(),mxUtils.bind(this,function(a){this.savingFile=!1;null!=f&&f();this.ui.fileLoaded(a)}),function(){this.savingFile=!1;null!=d&&d()});else null!=f&&f()};OneDriveFile.prototype.rename=function(a,c,f){this.ui.oneDrive.renameFile(this,a,mxUtils.bind(this,function(d){this.hasSameExtension(a,this.getTitle())?(this.meta=d,this.descriptorChanged(),null!=c&&c()):(this.meta=d,this.save(!0,c,f))}),f)};
OneDriveFile.prototype.move=function(a,c,f){this.ui.oneDrive.moveFile(this.meta.id,a,mxUtils.bind(this,function(a){this.meta=a;this.descriptorChanged();null!=c&&c(a)}),f)};OneDriveLibrary=function(a,c,f){OneDriveFile.call(this,a,c,f)};mxUtils.extend(OneDriveLibrary,OneDriveFile);OneDriveLibrary.prototype.isAutosave=function(){return!1};OneDriveLibrary.prototype.doSave=function(a,c,f){this.saveFile(a,!1,c,f)};OneDriveLibrary.prototype.open=function(){};OneDriveClient=function(a){mxEventSource.call(this);this.ui=a};mxUtils.extend(OneDriveClient,mxEventSource);OneDriveClient.prototype.clientId="test.draw.io"==window.location.hostname?"0000000048148130":"drive.draw.io"==window.location.hostname?"000000004413EC37":"0000000040145A19";OneDriveClient.prototype.scopes="wl.skydrive_update wl.signin";OneDriveClient.prototype.redirectUri="https://"+window.location.hostname+"/onedrive.html";OneDriveClient.prototype.extension=".html";
OneDriveClient.prototype.baseUrl="https://api.onedrive.com/v1.0";OneDriveClient.prototype.setUser=function(a){this.user=a;this.fireEvent(new mxEventObject("userChanged"))};OneDriveClient.prototype.clearCookie=function(){var a=new Date;a.setYear(a.getFullYear()-1);document.cookie="odauth\x3d; expires\x3d"+a.toUTCString()};OneDriveClient.prototype.getUser=function(){return this.user};
OneDriveClient.prototype.getTokenFromCookie=function(){var a=document.cookie,c=a.indexOf("odauth\x3d");if(0<=c){var c=c+7,f=a.indexOf(";",c);0>f?f=a.length:postCookie=a.substring(f);return a.substring(c,f)}return""};
OneDriveClient.prototype.execute=function(a,c){c=null!=c?c:!1;var f=this.getTokenFromCookie();if(null!=this.getUser()&&null!=f&&0<f.length)a(f);else{var d=mxUtils.bind(this,function(b){if(null!=b&&0<b.length)try{WL.init({client_id:this.clientId,redirect_uri:this.redirectUri}),mxUtils.get(this.baseUrl+"/drive?access_token\x3d"+b,mxUtils.bind(this,function(c){200==c.getStatus()?(c=JSON.parse(c.getText()),this.setUser(new DrawioUser(c.owner.user.id,null,c.owner.user.displayName)),a(b)):a(null)}))}catch(c){a(null)}else a(null)});
if(null!=f&&0<f.length)d(f);else{var b=mxUtils.bind(this,function(){var a="https://login.live.com/oauth20_authorize.srf?client_id\x3d"+this.clientId+"\x26scope\x3d"+encodeURIComponent(this.scopes)+"\x26response_type\x3dtoken\x26redirect_uri\x3d"+encodeURIComponent(this.redirectUri),b=window.screenY,c=window.outerHeight,f=window.screenX+Math.max(window.outerWidth-525,0)/2,b=["width\x3d525","height\x3d525","top\x3d"+(b+Math.max(c-525,0)/2),"left\x3d"+f,"status\x3dno","resizable\x3dyes","toolbar\x3dno",
"menubar\x3dno","scrollbars\x3dyes"],a=window.open(a,"oauth",b.join(","));null!=a&&(window.onAuthenticated=mxUtils.bind(this,function(a,b){window.onAuthenticated=null;null!=b&&b.close();d(a)}),a.focus())});c?b():this.ui.showAuthDialog(this,!1,mxUtils.bind(this,function(a,c){null!=c&&c();b()}))}}};OneDriveClient.prototype.getLibrary=function(a,c,f){this.getFile(a,c,f,!1,!0)};
OneDriveClient.prototype.getFile=function(a,c,f,d,b){b=null!=b?b:!1;var e=mxUtils.bind(this,function(){this.execute(mxUtils.bind(this,function(g){if(null!=g){var k=!0,l=window.setTimeout(mxUtils.bind(this,function(){k=!1;f({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout),n=mxUtils.bind(this,function(a){window.clearTimeout(l);k&&null!=f&&f(this.parseRequestText(a))});mxUtils.get(this.baseUrl+"/drive/items/"+a+"?access_token\x3d"+g,mxUtils.bind(this,function(a){window.clearTimeout(l);if(k)if(200==
a.getStatus()){var e=JSON.parse(a.getText());!d&&Graph.fileSupport&&(new XMLHttpRequest).upload&&(/(\.png)$/i.test(e.name)||/(\.vs?dx)$/i.test(e.name)||/(\.gliffy)$/i.test(e.name))?this.convertFile(e,c,f):this.ui.loadUrl(e["@content.downloadUrl"],mxUtils.bind(this,function(a){b?c(new OneDriveLibrary(this.ui,a,e)):c(new OneDriveFile(this.ui,a,e))}),n,"image/png"==e.file.mimeType)}else null!=f&&f(this.parseRequestText(a))}),n)}else f()}))});e()};
OneDriveClient.prototype.convertFile=function(a,c,f){var d=a.name,d=d.substring(0,d.lastIndexOf("."))+this.extension;this.ui.loadUrl(a["@content.downloadUrl"],mxUtils.bind(this,function(b){"image/png"==a.file.mimeType?(b=this.ui.extractGraphModelFromPng(b),null!=b?this.insertFile(d,b,c,f):null!=f&&f({message:mxResources.get("errorLoadingFile")})):this.ui.parseFile(new Blob([b],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200==a.status&&"\x3cmxGraphModel"==a.responseText.substring(0,
13)?this.insertFile(d,a.responseText,c,f):null!=f&&f({message:mxResources.get("errorLoadingFile")}))}),a.name)}),f,"image/png"==a.file.mimeType)};OneDriveClient.prototype.renameFile=function(a,c,f,d){null!=a&&null!=c&&this.checkExists(a.meta.parentReference.id,c,!1,mxUtils.bind(this,function(b,e){b?this.writeFile(this.baseUrl+"/drive/items/"+a.meta.id+"?access_token\x3d"+e,JSON.stringify({name:c}),"PATCH","application/json",f,d):d()}))};
OneDriveClient.prototype.moveFile=function(a,c,f,d){this.execute(mxUtils.bind(this,function(b){this.writeFile(this.baseUrl+"/drive/items/"+a+"?access_token\x3d"+b,JSON.stringify({parentReference:{id:c}}),"PATCH","application/json",f,d)}))};OneDriveClient.prototype.insertLibrary=function(a,c,f,d,b){this.insertFile(a,c,f,d,!0,b)};
OneDriveClient.prototype.insertFile=function(a,c,f,d,b,e){b=null!=b?b:!1;this.checkExists(e,a,!0,mxUtils.bind(this,function(g,k){g?this.writeFile(this.baseUrl+"/drive/"+(null!=e?"items/"+e:"special/documents")+"/children/"+a+"/content?access_token\x3d"+k,c,"PUT",null,mxUtils.bind(this,function(a){b?f(new OneDriveLibrary(this.ui,c,a)):f(new OneDriveFile(this.ui,c,a))}),d):null!=d&&d()}))};
OneDriveClient.prototype.checkExists=function(a,c,f,d){this.execute(mxUtils.bind(this,function(b){mxUtils.get(this.baseUrl+"/drive/"+(null!=a?"items/"+a:"special/documents")+"/children/"+c+"?access_token\x3d"+b,mxUtils.bind(this,function(a){404==a.getStatus()?d(!0,b):f?(this.ui.spinner.stop(),this.ui.confirm(mxResources.get("replaceIt",[c]),function(){d(!0,b)},function(){d(!1,b)})):(this.ui.spinner.stop(),this.ui.showError(mxResources.get("error"),mxResources.get("fileExists"),mxResources.get("ok"),
function(){d(!1,b)}))}),function(a){d(!1,b)})}))};OneDriveClient.prototype.saveFile=function(a,c,f){this.execute(mxUtils.bind(this,function(d){this.writeFile(this.baseUrl+"/drive/items/"+a.meta.id+"/content/?access_token\x3d"+d,a.getData(),"PUT",null,c,f)}))};
OneDriveClient.prototype.writeFile=function(a,c,f,d,b,e){if(this.writingFile)null!=e&&e({code:App.ERROR_BUSY});else if(null!=a&&null!=c){var g=!0,k=null;this.writingFile=!0;null!=this.requestThread&&window.clearTimeout(this.requestThread);var l=mxUtils.bind(this,function(){null!=k&&window.clearTimeout(k);k=window.setTimeout(mxUtils.bind(this,function(){g=this.writingFile=!1;null!=e&&e({code:App.ERROR_TIMEOUT,retry:l})}),this.ui.timeout);var n=new mxXmlRequest(a,c,f);n.setRequestHeaders=function(a,
b){a.setRequestHeader("Content-Type",d||" ")};n.send(mxUtils.bind(this,function(a){window.clearTimeout(k);g&&(this.writingFile=!1,200==a.getStatus()||201==a.getStatus()?null!=b&&b(JSON.parse(a.getText())):null!=e&&e(this.parseRequestText(a)))}),mxUtils.bind(this,function(a){window.clearTimeout(k);g&&(this.writingFile=!1,null!=e&&e(this.parseRequestText(a)))}))});l()}else null!=e&&e()};OneDriveClient.prototype.parseRequestText=function(a){var c={message:mxResources.get("unknownError")};try{c=JSON.parse(a.getText())}catch(f){}return c};
OneDriveClient.prototype.pickLibrary=function(a){this.pickFile(a)};OneDriveClient.prototype.pickFolder=function(a){this.ui.spinner.spin(document.body,mxResources.get("loading"))&&this.execute(mxUtils.bind(this,function(c){this.ui.spinner.stop();null!=c&&WL.fileDialog({mode:"save"}).then(function(c){a(c)},function(c){a(null)})}))};
OneDriveClient.prototype.pickFile=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("W"+encodeURIComponent(a))});this.ui.spinner.spin(document.body,mxResources.get("loading"))&&this.execute(mxUtils.bind(this,function(c){this.ui.spinner.stop();null!=c&&WL.fileDialog({mode:"open",select:"multi"}).then(function(c){if(null!=c&&null!=c.data&&null!=c.data.files)for(var d=0;d<c.data.files.length;d++){var b=c.data.files[d].id,b=b.substring(b.lastIndexOf(".")+1);a(b)}},function(a){})}))};
OneDriveClient.prototype.logout=function(){this.setUser(null);this.clearCookie();WL.logout()};function ChatWindow(a,c,f,d,b,e,g,k){this.editorUi=a;this.doc=k.doc;this.rtModel=k.rt;this.chatHistory=k.chatHistory;this.chatMap=k.chatMap;this.configCollabInfo();f=document.createElement("div");f.id="mainDiv";k=document.createElement("div");k.style.padding="3px";f.appendChild(k);var l=document.createElement("div");l.style.paddingLeft="3px";l.style.paddingRight="15px";a.editor.graph.isEnabled()&&f.appendChild(l);this.chatArea=document.createElement("div");this.chatArea.style.backgroundColor="white";
this.chatArea.style.overflowX="hidden";this.chatArea.style.overflowY="auto";this.chatArea.style.width="98%";this.chatArea.style.resize="none";k.appendChild(this.chatArea);this.chatLineArea=document.createElement("textarea");this.chatLineArea.style.resize="none";this.chatLineArea.rows=1;this.chatLineArea.onkeydown=mxUtils.bind(this,function(a){13==(a.keyCode||window.event.keyCode)&&""!=this.chatLineArea.value&&this.sendMessage()});this.sendBtn=document.createElement("button");this.sendBtn.style.cssFloat=
"right";this.sendBtn.style.styleFloat="right";mxUtils.write(this.sendBtn,mxResources.get("sendMessage"));mxEvent.addListener(this.sendBtn,"click",mxUtils.bind(this,function(a){""!=this.chatLineArea.value&&this.sendMessage()}));l.appendChild(this.chatLineArea);l.appendChild(this.sendBtn);this.window=new mxWindow(c,f,d,b,e,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!0);this.window.setScrollable(!0);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);
this.handleResize();this.window.addListener(mxEvent.RESIZE,mxUtils.bind(this,this.handleResize));this.window.addListener(mxEvent.MAXIMIZE,mxUtils.bind(this,this.handleResize));this.window.addListener(mxEvent.NORMALIZE,mxUtils.bind(this,this.handleResize));if(null!=this.chatHistory){for(a=Math.max(0,this.chatHistory.length-this.chatHistoryShow);a<this.chatHistory.length;a++)this.updateChatArea(this.chatHistory.get(a));this.chatHistory.addEventListener(gapi.drive.realtime.EventType.VALUES_ADDED,mxUtils.bind(this,
function(a){this.updateChatArea(a.target.get(a.index))}))}this.doc.addEventListener(gapi.drive.realtime.EventType.COLLABORATOR_JOINED,mxUtils.bind(this,this.collaboratorListener));this.doc.addEventListener(gapi.drive.realtime.EventType.COLLABORATOR_LEFT,mxUtils.bind(this,this.collaboratorListener));null!=this.chatMap&&this.chatMap.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,mxUtils.bind(this,function(a){this.updateChatArea(a.target.get(a.property))}))}
ChatWindow.prototype.window=null;ChatWindow.prototype.doc=null;ChatWindow.prototype.chatHistory=null;ChatWindow.prototype.chatMap=null;ChatWindow.prototype.chatHistoryShow=10;ChatWindow.prototype.chatHistorySize=0;ChatWindow.prototype.setChatMap=function(a){this.chatMap=a};
ChatWindow.prototype.sendMessage=function(){try{var a={timestamp:(new Date).getTime(),collaboratorColor:this.collabColor,collaboratorName:this.displayName,text:this.chatLineArea.value,version:1};this.chatHistory.push(a);this.chatLineArea.value=""}catch(c){this.editorUi.handleError(c)}};
ChatWindow.prototype.updateChatArea=function(a){a='\x3cspan style\x3d"color : '+a.collaboratorColor+';"\x3e\x26#x25BA;\x3c/span\x3e\x3cb\x3e'+a.collaboratorName+"\x3c/b\x3e: "+this.htmlEscape(a.text)+"\x3cbr\x3e";this.chatArea.innerHTML+=a;this.chatArea.scrollTop=this.chatArea.scrollHeight};
ChatWindow.prototype.handleResize=function(){var a=this.window.getElement(),c=this.editorUi.editor.graph.isEnabled()?70:40;this.chatArea.style.height=Math.max(0,a.offsetHeight-c)+"px";this.chatLineArea.style.width=a.offsetWidth-this.sendBtn.offsetWidth-40+"px"};
ChatWindow.prototype.collaboratorListener=function(a){var c=null;if(!a.collaborator.isMe){if(a.type==gapi.drive.realtime.EventType.COLLABORATOR_JOINED)c='\x3cspan style\x3d"color : '+a.collaborator.color+';"\x3e\x26#x25B2\x3c/span\x3e\x3ci\x3e'+mxResources.get("chatJoined",[a.collaborator.displayName])+"\x3c/i\x3e";else if(a.type==gapi.drive.realtime.EventType.COLLABORATOR_LEFT)c='\x3cspan style\x3d"color : '+a.collaborator.color+';"\x3e\x26#x25BC\x3c/span\x3e\x3ci\x3e'+mxResources.get("chatLeft",
[a.collaborator.displayName])+"\x3c/i\x3e";else return;this.chatArea.innerHTML=this.chatArea.innerHTML+c+"\x3cbr\x3e";this.chatArea.scrollTop=this.chatArea.scrollHeight}};ChatWindow.prototype.configCollabInfo=function(){for(var a=this.doc.getCollaborators(),c=0;c<a.length;c++){var f=a[c];f.isMe&&(this.collabColor=f.color,this.displayName=f.displayName)}};ChatWindow.prototype.destroy=function(){this.window.destroy()};
ChatWindow.prototype.htmlEscape=function(a){return a.replace(/&/g,"\x26amp;").replace(/</g,"\x26lt;").replace(/>/g,"\x26gt;").replace(/"/g,"\x26quot;").replace(/'/g,"\x26#039;")};App=function(a,c,f){EditorUi.call(this,a,c,null!=f?f:"1"==urlParams.lightbox);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII\x3d":
(new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(a,b,c){var f=window.open(a);null==f||void 0===f?this.showDialog((new PopupDialog(this,a,b,c)).container,320,140,!0,!0):null!=b&&b()});this.updateUi();a=document.createElement("canvas");this.canvasSupported=!(!a.getContext||!a.getContext("2d"));window.showOpenAlert=mxUtils.bind(this,function(a){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(a)});this.isOffline()||(EditDataDialog.placeholderHelpLink=
"https://support.draw.io/questions/9338941");this.addFileDropHandler([document]);if(null!=App.DrawPlugins){for(a=0;a<App.DrawPlugins.length;a++)App.DrawPlugins[a](this);window.Draw.loadPlugin=function(a){a(this)}}this.load()};App.ERROR_TIMEOUT="timeout";App.ERROR_BUSY="busy";App.ERROR_UNKNOWN="unknown";App.MODE_GOOGLE="google";App.MODE_DROPBOX="dropbox";App.MODE_ONEDRIVE="onedrive";App.MODE_DEVICE="device";App.MODE_BROWSER="browser";App.DROPBOX_APPKEY="libwls2fa9szdji";
App.pluginRegistry={"4xAKTrabTpTzahoLthkwPNUn":"/plugins/explore.js",ex:"/plugins/explore.js",p1:"/plugins/p1.js",ac:"/plugins/connect.js",acj:"/plugins/connectJira.js",voice:"/plugins/voice.js",tips:"/plugins/tooltips.js",svgdata:"/plugins/svgdata.js",doors:"/plugins/doors.js"};App.getStoredMode=function(){var a=null;if("undefined"!=typeof Storage)for(var c=document.cookie.split(";"),f=0;f<c.length;f++){var d=mxUtils.trim(c[f]);if("MODE\x3d"==d.substring(0,5)){a=d.substring(5);break}}return a};
(function(){window.isSvgBrowser=window.isSvgBrowser||0>navigator.userAgent.indexOf("MSIE")||9<=document.documentMode;if(!mxClient.IS_CHROMEAPP&&("1"!=urlParams.offline&&("db.draw.io"==window.location.hostname&&null==urlParams.mode&&(urlParams.mode="dropbox"),App.mode=urlParams.mode,null==App.mode&&(App.mode=App.getStoredMode())),null!=window.mxscript&&("function"===typeof window.DriveClient&&("0"!=urlParams.gapi&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_GOOGLE||
null!=urlParams.state&&""==window.location.hash||null!=window.location.hash&&"#G"==window.location.hash.substring(0,2)?mxscript("https://apis.google.com/js/api.js"):"0"==urlParams.chrome&&(window.DriveClient=null):window.DriveClient=null),"function"===typeof window.DropboxClient&&("0"!=urlParams.db&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode)?App.mode==App.MODE_DROPBOX||null!=window.location.hash&&"#D"==window.location.hash.substring(0,2)?mxscript("https://www.dropbox.com/static/api/1/dropins.js",
null,"dropboxjs",App.DROPBOX_APPKEY):"0"==urlParams.chrome&&(window.DropboxClient=null):window.DropboxClient=null),"function"===typeof window.OneDriveClient&&("0"!=urlParams.od&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?App.mode==App.MODE_ONEDRIVE||null!=window.location.hash&&"#W"==window.location.hash.substring(0,2)?mxscript("https://js.live.net/v5.0/wl.js"):"0"==urlParams.chrome&&(window.OneDriveClient=null):window.OneDriveClient=
null),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")),"0"!=urlParams.plugins&&"1"!=urlParams.offline)){var a=mxSettings.getPlugins(),c=urlParams.p;if(null!=c||null!=a&&0<a.length)App.DrawPlugins=[],window.Draw={},window.Draw.loadPlugin=function(a){App.DrawPlugins.push(a)};if(null!=c)for(var c=c.split(";"),f=0;f<c.length;f++){var d=App.pluginRegistry[c[f]];null!=d?mxscript(d):null!=window.console&&console.log("Unknown plugin:",c[f])}if(null!=a&&0<a.length&&"0"!=urlParams.plugins)if(1==
a.length&&("/"==a[0].charAt(0)||0==a[0].indexOf(window.location.protocol+"//"+window.location.host)))mxscript(a[0]);else if(mxUtils.confirm(mxResources.replacePlaceholders("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",[a.join("\n")]).replace(/\\n/g,"\n")))for(f=0;f<a.length;f++)try{mxscript(a[f])}catch(b){}}})();
App.main=function(){var a=null;window.onerror=function(c,d,b,e,g){try{if(!(c==a||null!=c&&null!=d&&(-1!=c.indexOf("Script error")||-1!=c.indexOf("extension")))&&null!=c&&0>c.indexOf("DocumentClosedError")){a=c;var k=new Image;d=0<=c.indexOf("NetworkError")||0<=c.indexOf("SecurityError")||0<=c.indexOf("NS_ERROR_FAILURE")||0<=c.indexOf("out of memory")?"images/3x3.png":"images/2x2.png";k.src=d+"?msg\x3d"+encodeURIComponent(c)+"\x26url\x3d"+encodeURIComponent(window.location.href)+"\x26lnum\x3d"+encodeURIComponent(b)+
"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+(null!=e?"\x26colno\x3d"+encodeURIComponent(e):"")+(null!=g&&null!=g.stack?"\x26stack\x3d"+encodeURIComponent(g.stack):"")}}catch(l){}};"atlas"==uiTheme&&mxClient.link("stylesheet","styles/atlas.css");if(null!=window.mxscript){"0"!=urlParams.chrome&&mxscript("js/jscolor/jscolor.js");if("1"==urlParams.offline){mxscript("js/shapes.min.js");var c=document.createElement("iframe");c.setAttribute("width","0");c.setAttribute("height","0");c.setAttribute("src",
"offline.html");document.body.appendChild(c);mxStencilRegistry.stencilSet={};mxStencilRegistry.getStencil=function(a){return mxStencilRegistry.stencils[a]};mxStencilRegistry.loadStencilSet=function(a,c,b){a=a.substring(a.indexOf("/")+1);a="mxgraph."+a.substring(0,a.length-4).replace(/\//g,".");a=mxStencilRegistry.stencilSet[a];null!=a&&mxStencilRegistry.parseStencilSet(a,c,!1)};for(c=mxUtils.load("stencils.xml").getXml().documentElement.firstChild;null!=c;)"shapes"==c.nodeName&&null!=c.getAttribute("name")&&
(mxStencilRegistry.stencilSet[c.getAttribute("name").toLowerCase()]=c,mxStencilRegistry.parseStencilSet(c)),c=c.nextSibling}"0"!=urlParams.picker&&(!mxClient.IS_QUIRKS&&8!=document.documentMode)&&mxscript(document.location.protocol+"//www.google.com/jsapi?autoload\x3d%7B%22modules%22%3A%5B%7B%22name%22%3A%22picker%22%2C%22version%22%3A%221%22%2C%22language%22%3A%22"+mxClient.language+"%22%7D%5D%7D");"function"===typeof window.DriveClient&&("undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||
"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode))&&mxscript("https://apis.google.com/js/api.js?onload\x3dDrawGapiClientCallback")}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;c=mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage);mxUtils.getAll("1"!=urlParams.dev?[c]:[c,STYLE_PATH+"/default.xml"],function(a){mxResources.parse(a[0].getText());
1<a.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=a[1].getDocumentElement());new App(new Editor("0"==urlParams.chrome));null!=window.mxscript&&("function"===typeof window.DropboxClient&&(null!=window.Dropbox&&"undefined"===typeof Dropbox.choose&&null!=window.DrawDropboxClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode))&&mxscript("https://www.dropbox.com/static/api/1/dropins.js",
window.DrawDropboxClientCallback,"dropboxjs",App.DROPBOX_APPKEY),"function"===typeof window.OneDriveClient&&("undefined"===typeof WL&&null!=window.DrawOneDriveClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode))&&mxscript("https://js.live.net/v5.0/wl.js",window.DrawOneDriveClientCallback));"0"!=urlParams.chrome&&"1"==urlParams.test&&
(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:","1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:","1"==urlParams.test?"active":"inactive"))},function(){document.getElementById("geStatus").innerHTML='Error loading page. \x3ca href\x3d"javascript:void(0);" onclick\x3d"location.reload();"\x3ePlease try refreshing.\x3c/a\x3e'})};mxUtils.extend(App,EditorUi);
App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz\x3d30";App.prototype.micImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA5UlEQVR4Xr3SMYrCQBTGcSfIQiAgRIS9hOANBCurPUAuIAp7A7FVsFkIbLGYA9gKtoKNYG3jll5AFNKG518YMD6SISD4wY9J4MvkMYwRkZqOMSZkifGFe1b4pnvW3TqK8oMo14twxUgXPRSlDxU7TcUNPqATlG7wCi93cA2Iq2x7l7IJsgofB6UTiEjKklFqsabQSdFA5jqDAzrYQGeNNv5d9yDBEAME6NreFmP8Yuma4A8hFpiLSFNAYYYYn0jwCIUnxMcER4h1whS+7hseXKcu9ifGeQ+qeO8GjN7DPve+Q6+oewPhmE63Qfsb6AAAAABJRU5ErkJggg\x3d\x3d";
App.prototype.emptyDiagramXml='\x3cmxGraphModel\x3e\x3croot\x3e\x3cmxCell id\x3d"0"/\x3e\x3cmxCell id\x3d"1" parent\x3d"0"/\x3e\x3c/root\x3e\x3c/mxGraphModel\x3e';App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg\x3d\x3d";
App.prototype.chevronUpImage=!mxClient.IS_SVG?IMAGE_PATH+"/chevron-up.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUY1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NjA1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1RDUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1RTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg+qUokAAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAAL0lEQVR42mJgRgMMRAswMKAKMDDARBjg8lARBoR6KImkH0wTbygT6YaS4DmAAAMAYPkClOEDDD0AAAAASUVORK5CYII\x3d";
App.prototype.chevronDownImage=!mxClient.IS_SVG?IMAGE_PATH+"/chevron-down.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUI1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NUM1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1OTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1QTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsCtve8AAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAALUlEQVR42mJgRgMMRAkwQEXBNAOcBSPhclB1cNVwfcxI+vEZykSpoSR6DiDAAF23ApT99bZ+AAAAAElFTkSuQmCC";
App.prototype.formatShowImage=!mxClient.IS_SVG?IMAGE_PATH+"/format-show.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODdCREY5REY1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODdCREY5RTA1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4N0JERjlERDU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4N0JERjlERTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlnMQ/8AAAAJUExURQAAAP///3FxcTfTiAsAAAACdFJOU/8A5bcwSgAAACFJREFUeNpiYEQDDEQJMMABTAAixcQ00ALoDiPRcwABBgB6DADly9Yx8wAAAABJRU5ErkJggg\x3d\x3d";
App.prototype.formatHideImage=!mxClient.IS_SVG?IMAGE_PATH+"/format-hide.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODdCREY5REI1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODdCREY5REM1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4N0JERjlEOTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4N0JERjlEQTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqjT9SMAAAAGUExURQAAAP///6XZn90AAAACdFJOU/8A5bcwSgAAAB9JREFUeNpiYEQDDEQJMMABTAAmNdAC6A4j0XMAAQYAcbwA1Xvj1CgAAAAASUVORK5CYII\x3d";
App.prototype.fullscreenImage=!mxClient.IS_SVG?IMAGE_PATH+"/fullscreen.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMAQMAAABsu86kAAAABlBMVEUAAABEREQ3UJNbAAAAAXRSTlMAQObYZgAAABxJREFUCNdj+PkBhA4YgNB5AwZ+BiACMiAiEFkA9QQNgW8IGoYAAAAASUVORK5CYII\x3d";App.prototype.plusImage=!mxClient.IS_SVG?IMAGE_PATH+"/plus.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII\x3d";
App.prototype.spinImage=!mxClient.IS_SVG?IMAGE_PATH+"/spin.gif":"data:image/gif;base64,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw\x3d\x3d";
App.prototype.emptyLibraryXml="\x3cmxlibrary\x3e[]\x3c/mxlibrary\x3e";App.prototype.mode=null;App.prototype.timeout=25E3;App.prototype.enableLogging=!0;App.prototype.formatEnabled="0"!=urlParams.format;App.prototype.formatWidth=600>screen.width?0:mxSettings.getFormatWidth();"1"!=urlParams.embed&&(App.prototype.menubarHeight=60);Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;
App.prototype.init=function(){EditorUi.prototype.init.apply(this,arguments);if(this.isLocalFileSave()){var a=this;ExportDialog.saveLocalFile=function(b,c,d){var e="text/xml";"svg"===d&&(e="image/svg+xml");a.saveLocalFile(b,c,e)};ExportDialog.saveRequest=function(b,c,d,e){a.saveRequest(b,c,d,e)}}this.defaultLibraryName=mxResources.get("untitledLibrary");this.descriptorChangedListener=mxUtils.bind(this,this.descriptorChanged);if("1"!=urlParams.embed){this.bg=this.createBackground();document.body.appendChild(this.bg);
this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";var c=mxUtils.bind(this,function(){"undefined"!==typeof WL?(this.oneDrive=new OneDriveClient(this),this.oneDrive.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.oneDrive))):null==window.DrawOneDriveClientCallback&&(window.DrawOneDriveClientCallback=c)});c();var f=mxUtils.bind(this,function(){if("undefined"!==
typeof gapi){var a=mxUtils.bind(this,function(){this.drive=new DriveClient(this);"420247213240"==this.drive.appId&&this.editor.addListener("fileLoaded",mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile&&(a=document.getElementById("geFooterItem2"),null!=a&&(a.innerHTML='\x3ca href\x3d"https://support.draw.io/display/DO/2014/11/27/Switching+application+in+Google+Drive" target\x3d"_blank" title\x3d"IMPORTANT NOTICE" \x3eIMPORTANT NOTICE\x3c/a\x3e'))}));this.drive.addListener("userChanged",
mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries();this.checkLicense()}));this.fireEvent(new mxEventObject("clientLoaded","client",this.drive))});null!=window.DrawGapiClientCallback?(gapi.load("auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(b){null!=gapi.drive&&null!=gapi.drive.realtime&&gapi.client.load("drive","v2",mxUtils.bind(this,function(){this.defineCustomObjects();gapi.auth.init(mxUtils.bind(this,function(){null!=gapi.client.drive&&a()}))}))})),
window.DrawGapiClientCallback=null):a()}else null==window.DrawGapiClientCallback&&(window.DrawGapiClientCallback=f)});f();var d=mxUtils.bind(this,function(){null!=window.Dropbox&&"undefined"!==typeof Dropbox.choose?(window.DrawDropboxClientCallback=null,this.dropbox=new DropboxClient(this),this.dropbox.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.dropbox))):null==window.DrawDropboxClientCallback&&
(window.DrawDropboxClientCallback=d)});d();"1"==urlParams.local?this.setMode(App.MODE_DEVICE):this.mode=App.mode}else null!=this.menubar&&(this.menubar.container.style.paddingTop="0px");this.updateHeader();var b=document.getElementById("geFooterItem2");if(null!=b){this.adsHtml=['\x3ca title\x3d"Quick start video" href\x3d"https://www.youtube.com/watch?v\x3d8OaMWa4R1SE\x26t\x3d1" target\x3d"_blank"\x3e\x3cimg border\x3d"0" align\x3d"absmiddle" style\x3d"margin-top:-4px;" src\x3d"images/glyphicons_star.png"/\x3e\x26nbsp;\x26nbsp;Quick start video\x3c/a\x3e'];
this.adsHtml.push(b.innerHTML);mxUtils.setPrefixedStyle(b.style,"transition","all 1s ease");var e=this.adsHtml.length-1;this.updateAd=function(a){a==e&&(a=this.adsHtml.length-1);a!=e&&(mxUtils.setPrefixedStyle(b.style,"transform","scale(0)"),b.style.opacity="0",e=a,window.setTimeout(mxUtils.bind(this,function(){b.innerHTML=this.adsHtml[a];mxUtils.setPrefixedStyle(b.style,"transform","scale(1)");b.style.opacity="1"}),1E3))};window.setInterval(mxUtils.bind(this,function(){if(3==this.adsHtml.length)this.updateAd(mxUtils.mod(e+
1,3));else{var a=Math.random();this.updateAd(Math.round(a*(this.adsHtml.length-1)))}}),3E5)}null!=this.menubar&&(this.buttonContainer=document.createElement("div"),this.buttonContainer.style.display="inline-block",this.buttonContainer.style.paddingRight="48px",this.buttonContainer.style.position="absolute",this.buttonContainer.style.right="0px",this.menubar.container.appendChild(this.buttonContainer));"atlas"==uiTheme&&null!=this.menubar&&(null!=this.toggleElement&&(this.toggleElement.click(),this.toggleElement.style.display=
"none"),this.icon=document.createElement("img"),this.icon.setAttribute("src",IMAGE_PATH+"/logo-flat-small.png"),this.icon.setAttribute("title",mxResources.get("draw.io")),this.icon.style.paddingTop="11px",this.icon.style.marginLeft="4px",this.icon.style.marginRight="6px",mxClient.IS_QUIRKS&&(this.icon.style.marginTop="12px"),this.menubar.container.insertBefore(this.icon,this.menubar.container.firstChild));if(isLocalStorage||mxClient.IS_CHROMEAPP){this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();
this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));
this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor();this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor);
mxSettings.save()}));mxClient.IS_CHROMEAPP&&(this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave());null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);if(!this.editor.chromeless&&null!=this.sidebar&&(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0)))this.toggleScratchpad(),mxSettings.save();this.addListener("formatWidthChanged",
function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};App.prototype.isDriveDomain=function(){return"0"!=urlParams.drive&&("test.draw.io"==window.location.hostname||"cdn.draw.io"==window.location.hostname||"www.draw.io"==window.location.hostname||"drive.draw.io"==window.location.hostname||"jgraph.github.io"==window.location.hostname)};App.prototype.isLegacyDriveDomain=function(){return 0==urlParams.drive||"legacy.draw.io"==window.location.hostname};
App.prototype.checkLicense=function(){var a=this.drive.getUser(),a=("1"==urlParams.dev?urlParams.lic:null)||(null!=a?a.email:null);if(!this.isOffline()&&!this.editor.chromeless&&null!=a){var c=a.lastIndexOf("@"),f=a;0<=c&&(f=a.substring(c+1));mxUtils.post("/license","domain\x3d"+encodeURIComponent(f)+"\x26ts\x3d"+(new Date).getTime(),mxUtils.bind(this,function(a){try{if(200==a.getStatus()){var b=a.getText();if(0<b.length){var c=JSON.parse(b);null!=c&&this.handleLicense(c,f)}}}catch(g){}}))}};
App.prototype.handleLicense=function(a,c){var f=document.getElementById("geFooter"),d=null;if(null!=f&&null!=a)if(d=a.expiry,null!=a.footer)f.innerHTML=decodeURIComponent(a.footer);else if(this.hideFooter(),null!=d&&"never"!=d){var b=new Date(Date.parse(d)),e=Math.round((b-Date.now())/864E5);if(90>e){var g="https://support.draw.io/display/DKB/draw.io+footer+state+that+license+is+expiring+on+Google+For+Work+account?domain\x3d"+encodeURIComponent(c);f.style.height="100%";f.style.margin="0px";f.style.display=
"";0>e?(this.footerHeight=80,f.innerHTML='\x3ctable height\x3d"100%"\x3e\x3ctr\x3e\x3ctd valign\x3d"middle" align\x3d"center" class\x3d"geStatusAlert geBlink"\x3e\x3ca href\x3d"'+g+'" style\x3d"padding-top:16px;" target\x3d"_blank"\x3e\x3cimg border\x3d"0" src\x3d"'+mxGraph.prototype.warningImage.src+'" align\x3d"top" style\x3d"margin-right:6px"\x3e'+mxResources.get("licenseHasExpired",[c,b.toLocaleDateString()])+"\x3c/a\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e"):(this.footerHeight=46,f.innerHTML=
'\x3ctable height\x3d"100%"\x3e\x3ctr\x3e\x3ctd valign\x3d"middle" align\x3d"center" class\x3d"geStatusAlert"\x3e\x3ca href\x3d"'+g+'" target\x3d"_blank"\x3e\x3cimg border\x3d"0" src\x3d"'+mxGraph.prototype.warningImage.src+'" align\x3d"top" style\x3d"margin-right:6px"\x3e'+mxResources.get("licenseWillExpire",[c,b.toLocaleDateString()])+"\x3c/a\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e");this.refresh()}}return d};
App.prototype.getEditBlankXml=function(){var a=this.getCurrentFile();return null!=a&&this.editor.chromeless&&this.editor.graph.lightbox&&null==a.realtime?a.getData():this.getFileData(!0)};App.prototype.updateActionStates=function(){EditorUi.prototype.updateActionStates.apply(this,arguments);var a=this.getCurrentFile();this.actions.get("revisionHistory").setEnabled(null!=a&&(a.constructor==DriveFile&&a.isEditable()||a.constructor==DropboxFile))};
App.prototype.updateDraft=function(){isLocalStorage&&null!=localStorage&&localStorage.setItem(".draft",JSON.stringify({modified:(new Date).getTime(),data:this.getFileData()}))};App.prototype.getDraft=function(){return null};App.prototype.addRecent=function(a){if(isLocalStorage&&null!=localStorage){var c=this.getRecent();if(null==c)c=[];else for(var f=0;f<c.length;f++)c[f].id==a.id&&c.splice(f,1);null!=c&&(c.unshift(a),c=c.slice(0,5),localStorage.setItem(".recent",JSON.stringify(c)))}};
App.prototype.getRecent=function(){if(isLocalStorage&&null!=localStorage){try{var a=localStorage.getItem(".recent");if(null!=a)return JSON.parse(a)}catch(c){}return null}};App.prototype.resetRecent=function(a){if(isLocalStorage&&null!=localStorage)try{localStorage.removeItem(".recent")}catch(c){}};App.prototype.removeDraft=function(){if(isLocalStorage&&null!=localStorage&&"0"==urlParams.splash)try{localStorage.removeItem(".draft")}catch(a){}};
App.prototype.onBeforeUnload=function(){var a=this.getCurrentFile();if(null!=a){if(a.constructor==LocalFile&&!a.isModified()&&"1"!=urlParams.nowarn&&!this.isDiagramEmpty()&&null==urlParams.url&&!this.editor.chromeless)return mxResources.get("ensureDataSaved");if(a.constructor!=DriveFile&&a.isModified())return mxResources.get("allChangesLost");a.close(!0)}};
App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.lightbox){var a=this.editor.appName,c=this.getCurrentFile();null!=c&&(a=(null!=c.getTitle()?c.getTitle():this.defaultFilename)+" - "+a);this.isOfflineApp()&&(a+=" ["+mxResources.get("offline")+"]");document.title=a}};App.prototype.createCrcTable=function(){for(var a=[],c,f=0;256>f;f++){c=f;for(var d=0;8>d;d++)c=c&1?3988292384^c>>>1:c>>>1;a[f]=c}return a};
App.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var c=-1,f=0;f<a.length;f++)c=c>>>8^this.crcTable[(c^a.charCodeAt(f))&255];return(c^-1)>>>0};
App.prototype.getThumbnail=function(a,c){var f=!1;try{if(null==this.thumbImageCache&&(this.thumbImageCache={}),this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){c(a)}),a,this.thumbImageCache,"#ffffff",function(){c()}),f=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var d=this.editor.graph,b=document.createElement("canvas"),e=d.getGraphBounds(),g=a/e.width,g=Math.min(1,Math.min(3*a/(4*e.height),g)),k=Math.floor(e.x),l=Math.floor(e.y);b.setAttribute("width",Math.ceil(g*
(e.width+4)));b.setAttribute("height",Math.ceil(g*(e.height+4)));var n=b.getContext("2d");n.scale(g,g);n.translate(-k,-l);var m=d.background;if(null==m||""==m||m==mxConstants.NONE)m="#ffffff";n.save();n.fillStyle=m;n.fillRect(k,l,Math.ceil(e.width+4),Math.ceil(e.height+4));n.restore();var p=new mxJsCanvas(b),r=new mxAsyncCanvas(this.thumbImageCache);p.images=this.thumbImageCache.images;var s=new mxImageExport;s.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(0.5,
0.5),a.shape.paint(b),b.translate(-0.5,-0.5),b.restore())};s.drawText=function(a,b){};s.drawState(d.getView().getState(d.model.root),r);r.finish(function(){s.drawState(d.getView().getState(d.model.root),p);c(b)});f=!0}}catch(q){}return f};App.prototype.getPublicUrl=function(a,c){c(null)};
App.prototype.createFileData=function(a,c,f,d,b,e,g,k,l){b=null!=b?b:!1;l=null!=l?l:!0;var n=null,m=null;null==f||f.getMode()==App.MODE_DEVICE||f.getMode()==App.MODE_BROWSER?n="_blank":m=n=d;if(!e&&!b&&(g||null!=f&&/(\.html)$/i.test(f.getTitle())))return this.getHtml2(a,c,f.getTitle(),n,m,l);if(null==a)return"";g=a;if("mxfile"!=g.nodeName.toLowerCase()){n=this.editor.graph.zapGremlins(mxUtils.getXml(a));g=this.editor.graph.compress(n);if(this.editor.graph.decompress(g)!=n)return n;n=a.ownerDocument.createElement("diagram");
mxUtils.setTextContent(n,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(n)}g.setAttribute("userAgent",navigator.userAgent);g.setAttribute("version",EditorUi.VERSION);g.setAttribute("editor","www.draw.io");a=null!=f?f.getMode():this.mode;null!=a&&g.setAttribute("type",a);a=mxUtils.getXml(g);if(e||!b&&null!=f&&/(\.svg)$/i.test(f.getTitle())){if(null!=f&&(f.getMode()==App.MODE_DEVICE||f.getMode()==App.MODE_BROWSER))d=null;a=this.getEmbeddedSvg(a,c,d,null,k,l,m)}return a};
App.prototype.getFileData=function(a,c,f,d,b){b=null!=b?b:!0;var e=this.editor.getGraphXml(b);if(b&&null!=this.fileNode&&null!=this.currentPage){var g=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(e)));mxUtils.setTextContent(this.currentPage.node,g);for(var e=this.fileNode.cloneNode(!1),k=0;k<this.pages.length;k++){var l=this.pages[k].mapping;this.currentPage!=this.pages[k]&&(null!=l&&l.needsUpdate)&&(g=(new mxCodec(mxUtils.createXmlDocument())).encode(l.graphModel),l.writeRealtimeToNode(g),
g=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(g))),mxUtils.setTextContent(this.pages[k].node,g),l.needsUpdate=!1);e.appendChild(this.pages[k].node)}}return this.createFileData(e,this.editor.graph,this.getCurrentFile(),window.location.href,a,c,f,d,b)};
App.prototype.createBackground=function(){var a=this.createDiv("background");a.style.position="absolute";a.style.background="white";a.style.left="0px";a.style.top="0px";a.style.bottom="0px";a.style.right="0px";mxUtils.setOpacity(a,100);mxClient.IS_QUIRKS&&new mxDivResizer(a);return a};
App.prototype.setMode=function(a,c){this.mode=a;null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if("undefined"!=typeof Storage&&c){var f=new Date;f.setYear(f.getFullYear()+1);document.cookie="MODE\x3d"+a+"; expires\x3d"+f.toUTCString()}null!=this.appIcon&&(f=this.getCurrentFile(),a=null!=f?f.getMode():null,a==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):a==App.MODE_DROPBOX?
(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])),this.appIcon.style.cursor="pointer"):a==App.MODE_ONEDRIVE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("oneDrive")])),this.appIcon.style.cursor="pointer"):(this.appIcon.removeAttribute("title"),this.appIcon.style.cursor="default"))};
App.prototype.appIconClicked=function(a){if(mxEvent.isAltDown(a))this.showSplash(!0);else{var c=this.getCurrentFile(),f=null!=c?c.getMode():null;f==App.MODE_GOOGLE?0<c.desc.parents.length?window.open("https://drive.google.com/drive/folders/"+c.desc.parents[0].id):window.open("https://drive.google.com/?authuser\x3d0"):f==App.MODE_DROPBOX?window.open("https://www.dropbox.com/"):f==App.MODE_ONEDRIVE&&window.open("https://onedrive.live.com/")}mxEvent.consume(a)};
App.prototype.clearMode=function(){if("undefined"!=typeof Storage){var a=new Date;a.setYear(a.getFullYear()-1);document.cookie="MODE\x3d; expires\x3d"+a.toUTCString()}};App.prototype.getDiagramId=function(){var a=window.location.hash;null!=a&&0<a.length&&(a=a.substring(1));return a};
App.prototype.open=function(){try{if(null!=window.opener){var a=urlParams.create;null!=a&&(a=decodeURIComponent(a));if(null!=a&&0<a.length&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)){var c=mxUtils.parseXml(window.opener[a]);this.editor.setGraphXml(c.documentElement)}else null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,b){this.spinner.stop();if(null==b){var c=urlParams.title,c=null!=c?decodeURIComponent(c):this.defaultFilename;this.fileLoaded(new LocalFile(this,
a,c));this.setMode(null)}else 0<(".png"==b.substring(b.length-4))&&(b=b.substring(0,b.length-4)+".xml"),this.fileLoaded(mxClient.IS_IOS?new StorageFile(this,a,b):new LocalFile(this,a,b))}))}}catch(f){}};
App.prototype.load=function(){if("1"!=urlParams.embed){if(this.spinner.spin(document.body,mxResources.get("starting"))){try{this.stateArg=null!=urlParams.state&&null!=this.drive?JSON.parse(decodeURIComponent(urlParams.state)):null}catch(a){}this.editor.graph.setEnabled(null!=this.getCurrentFile());(null==window.location.hash||0==window.location.hash.length)&&(null!=this.drive&&null!=this.stateArg&&null!=this.stateArg.userId)&&this.drive.setUserId(this.stateArg.userId);null!=urlParams.fileId?(window.location.hash=
"G"+urlParams.fileId,window.location.search=this.getSearch(["fileId"])):null==this.drive?(this.mode==App.MODE_GOOGLE&&(this.mode=null),this.start()):gapi.load("auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(a){null==gapi.drive||null==gapi.drive.realtime?(this.drive=this.mode=null,this.start()):gapi.client.load("drive","v2",mxUtils.bind(this,function(){gapi.auth.init(mxUtils.bind(this,function(){null==gapi.client.drive&&(this.drive=this.mode=null);this.start()}))}))}))}}else this.restoreLibraries()};
App.prototype.showAlert=function(a){if(null!=a&&0<a.length){var c=document.createElement("div");c.className="geAlert";c.style.zIndex=2E9;c.style.left="50%";c.style.top="-100%";mxUtils.setPrefixedStyle(c.style,"transform","translate(-50%,0%)");mxUtils.setPrefixedStyle(c.style,"transition","all 1s ease");c.innerHTML=a;a=document.createElement("a");a.className="geAlertLink";a.style.textAlign="right";a.style.marginTop="20px";a.style.display="block";a.setAttribute("href","javascript:void(0);");a.setAttribute("title",
mxResources.get("close"));a.innerHTML=mxResources.get("close");c.appendChild(a);mxEvent.addListener(a,"click",function(a){null!=c.parentNode&&(c.parentNode.removeChild(c),mxEvent.consume(a))});document.body.appendChild(c);window.setTimeout(function(){c.style.top="30px"},10);window.setTimeout(function(){mxUtils.setPrefixedStyle(c.style,"transition","all 2s ease");c.style.opacity="0";window.setTimeout(function(){null!=c.parentNode&&c.parentNode.removeChild(c)},2E3)},15E3)}};
App.prototype.start=function(){this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();var a=mxUtils.bind(this,function(a,b,c){this.loadUrl(PROXY_URL+"?url\x3d"+encodeURIComponent(a),mxUtils.bind(this,function(c){!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,a)?this.parseFile(new Blob([c],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200==a.status&&"\x3cmxGraphModel"==a.responseText.substring(0,13))&&b(a.responseText)}),
a):(/(\.png)($|\?)/i.test(a)&&(c=this.extractGraphModelFromPng(c)),b(c))}),c,/(\.png)($|\?)/i.test(a))});if(null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("loading")))try{var c=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["url"]))});a(decodeURIComponent(urlParams.url),mxUtils.bind(this,function(a){this.spinner.stop();if(null!=a&&0<a.length){var b=urlParams.title;if(null==b&&"1"!=urlParams.notitle){var b=
decodeURIComponent(urlParams.url),c=b.lastIndexOf("/");0<=c&&(b=b.substring(c+1));0<(".png"==b.substring(b.length-4))&&(b=b.substring(0,b.length-4)+".xml")}a=new LocalFile(this,a,b||this.defaultFilename);this.fileLoaded(a);this.setMode(null)}}),mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"),c)}))}catch(f){this.spinner.stop();try{(new Image).src="images/2x2.png?msg\x3derrorLoadingFile\x26url\x3d"+encodeURIComponent(window.location.href)+
"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+(null!=f&&null!=f.message?"\x26err\x3d"+encodeURIComponent(f.message):"")+(null!=f&&null!=f.stack?"\x26stack\x3d"+encodeURIComponent(f.stack):"")}catch(d){}this.handleError(f,mxResources.get("errorLoadingFile"),c)}else if(null==this.getCurrentFile()){var b=mxUtils.bind(this,function(){if("1"==urlParams.client&&(null==window.location.hash||0==window.location.hash.length)){var a=window.opener||window.parent;a!=window&&this.installMessageHandler(mxUtils.bind(this,
function(b,c){if(c.source==a){"data:image/png;base64,"==b.substring(0,22)&&(b=this.extractGraphModelFromPng(b));var d=urlParams.title,d=null!=d?decodeURIComponent(d):this.defaultFilename;this.fileLoaded(new LocalFile(this,b,d));this.getCurrentFile().setModified(!this.editor.chromeless);this.setMode(null)}}))}else if(null==this.dialog)if("1"==urlParams.demo){var b=Editor.useLocalStorage;this.createFile(this.defaultFilename,null,null,App.MODE_DEVICE);this.setMode(null);Editor.useLocalStorage=b}else{b=
!1;try{b=null!=window.opener&&null!=window.opener.openFile}catch(c){}if(b)this.spinner.spin(document.body,mxResources.get("loading"));else if(b=this.getDiagramId(),"0"==urlParams.splash&&(null==b||0==b.length)){var d=this.getDraft(),e=null!=d?d.data:this.getFileData(),b=Editor.useLocalStorage;this.createFile(this.defaultFilename,e,null,App.MODE_DEVICE);this.setMode(null);Editor.useLocalStorage=b;null!=d&&(b=this.getCurrentFile(),null!=b&&b.addUnsavedStatus())}else this.loadFile(this.getDiagramId())}});
null!=this.drive&&this.defineCustomObjects();var e=decodeURIComponent(urlParams.create||"");if(null!=e&&0<e.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var c=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create","title"]))}),g=mxUtils.bind(this,function(a){this.spinner.stop();"0"!=urlParams.splash&&(this.fileLoaded(new LocalFile(this,a,null)),this.editor.graph.setEnabled(!1),this.mode=
urlParams.mode,a=urlParams.title,a=null!=a?decodeURIComponent(a):this.defaultFilename,a=new CreateDialog(this,a,mxUtils.bind(this,function(a,b){if(null==b){this.hideDialog();var c=Editor.useLocalStorage;this.createFile(0<a.length?a:this.defaultFilename,this.getFileData(),null,App.MODE_DEVICE);this.setMode(null);Editor.useLocalStorage=c}else this.createFile(a,this.getFileData(!0),null,b)})),this.showDialog(a.container,380,270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()})),
a.init())}),e=decodeURIComponent(e);if("http://"!=e.substring(0,7)&&"https://"!=e.substring(0,8))try{null!=window.opener&&null!=window.opener[e]?g(window.opener[e]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(k){this.handleError(k,mxResources.get("errorLoadingFile"))}else a(e,function(a){g(a)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),c)}))}else{if((null==window.location.hash||1>=window.location.hash.length)&&(null!=urlParams.state&&
null!=this.stateArg&&"open"==this.stateArg.action)&&null!=this.stateArg.ids)window.location.hash="G"+this.stateArg.ids[0];(null==window.location.hash||1>=window.location.hash.length)&&null!=this.drive&&null!=this.stateArg&&"create"==this.stateArg.action?(this.setMode(App.MODE_GOOGLE),this.actions.get("new").funct()):(mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(a){a=this.getDiagramId();var b=this.getCurrentFile();(null==b||b.getHash()!=a)&&this.loadFile(a,!0)})),b())}}};
App.prototype.showSplash=function(a){this.editor.chromeless?this.handleError({message:mxResources.get("noFileSelected")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){this.showSplash()})):null==this.mode||a?(a=new StorageDialog(this,mxUtils.bind(this,function(){this.hideDialog();var a=new SplashDialog(this);this.showDialog(a.container,340,260,!0,!0);a.init()})),this.showDialog(a.container,isLocalStorage&&"1"==urlParams.browser?480:380,300,!0,!1),a.init()):null==urlParams.create&&
(a=new SplashDialog(this),this.showDialog(a.container,340,mxClient.IS_CHROMEAPP?180:260,!0,!0),a.init())};
App.prototype.addLanguageMenu=function(a){var c=null;if((!this.isOfflineApp()||mxClient.IS_CHROMEAPP)&&null!=this.menus.get("language"))c=document.createElement("div"),c.setAttribute("title",mxResources.get("language")),c.className="geIcon geSprite geSprite-globe",c.style.position="absolute",c.style.cursor="pointer",c.style.bottom="20px",c.style.right="20px",mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var d=new mxPopupMenu(this.menus.get("language").funct);
d.div.className+=" geMenubarMenu";d.smartSeparators=!0;d.showDisabled=!0;d.autoExpand=!0;d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d,arguments);d.destroy()});var b=mxUtils.getOffset(c);d.popup(b.x,b.y+c.offsetHeight,null,a);this.setCurrentMenu(d)})),a.appendChild(c);return c};
App.prototype.defineCustomObjects=function(){null!=gapi.drive.realtime&&null!=gapi.drive.realtime.custom&&(gapi.drive.realtime.custom.registerType(mxRtCell,"Cell"),mxRtCell.prototype.cellId=gapi.drive.realtime.custom.collaborativeField("cellId"),mxRtCell.prototype.type=gapi.drive.realtime.custom.collaborativeField("type"),mxRtCell.prototype.value=gapi.drive.realtime.custom.collaborativeField("value"),mxRtCell.prototype.xmlValue=gapi.drive.realtime.custom.collaborativeField("xmlValue"),mxRtCell.prototype.style=
gapi.drive.realtime.custom.collaborativeField("style"),mxRtCell.prototype.geometry=gapi.drive.realtime.custom.collaborativeField("geometry"),mxRtCell.prototype.visible=gapi.drive.realtime.custom.collaborativeField("visible"),mxRtCell.prototype.collapsed=gapi.drive.realtime.custom.collaborativeField("collapsed"),mxRtCell.prototype.connectable=gapi.drive.realtime.custom.collaborativeField("connectable"),mxRtCell.prototype.parent=gapi.drive.realtime.custom.collaborativeField("parent"),mxRtCell.prototype.children=
gapi.drive.realtime.custom.collaborativeField("children"),mxRtCell.prototype.source=gapi.drive.realtime.custom.collaborativeField("source"),mxRtCell.prototype.target=gapi.drive.realtime.custom.collaborativeField("target"))};mxRtCell=function(){};mxCodecRegistry.getCodec(mxCell).exclude.push("rtCell");mxCell.prototype.mxTransient.push("rtCell");
App.prototype.pickFile=function(a){a=null!=a?a:this.mode;if(a==App.MODE_DROPBOX)null!=this.dropbox&&this.dropbox.pickFile();else if(a==App.MODE_ONEDRIVE)null!=this.oneDrive&&this.oneDrive.pickFile();else if(a==App.MODE_GOOGLE)null!=this.drive&&"undefined"!=typeof google&&"undefined"!=typeof google.picker?this.drive.pickFile():window.open("https://drive.google.com");else if(a==App.MODE_DEVICE&&Graph.fileSupport&&!mxClient.IS_IE&&!mxClient.IS_IE11){var c=document.createElement("input");c.setAttribute("type",
"file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&this.openFiles(c.files)}));c.click()}else{this.hideDialog();window.openNew=null!=this.getCurrentFile()&&!this.isDiagramEmpty();window.baseUrl=this.getUrl();window.openKey="open";var f=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;this.openFile();window.openFile.setConsumer(mxUtils.bind(this,function(b,c){0<(".png"==c.substring(c.length-4))&&(c=c.substring(0,c.length-4)+".xml");this.fileLoaded(a==
App.MODE_BROWSER?new StorageFile(this,b,c):new LocalFile(this,b,c))}));var d=this.dialog,b=d.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=f;b.apply(d,arguments);null==this.getCurrentFile()&&this.showSplash()})}};
App.prototype.pickLibrary=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE||a==App.MODE_DROPBOX||a==App.MODE_ONEDRIVE){var c=a==App.MODE_GOOGLE?this.drive:a==App.MODE_ONEDRIVE?this.oneDrive:this.dropbox;null!=c&&c.pickLibrary(mxUtils.bind(this,function(a,d){null!=d?this.loadLibrary(d):this.spinner.spin(document.body,mxResources.get("loading"))&&c.getLibrary(a,mxUtils.bind(this,function(a){this.spinner.stop();try{this.loadLibrary(a)}catch(b){this.handleError(b,mxResources.get("errorLoadingFile"))}}),
mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)}))}))}else if(a==App.MODE_DEVICE&&Graph.fileSupport&&!mxClient.IS_IE&&!mxClient.IS_IE11){var f=document.createElement("input");f.setAttribute("type","file");mxEvent.addListener(f,"change",mxUtils.bind(this,function(){if(null!=f.files)for(var a=0;a<f.files.length;a++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){try{this.loadLibrary(new LocalLibrary(this,b.target.result,
a.name))}catch(c){this.handleError(c,mxResources.get("errorLoadingFile"))}});b.readAsText(a)})(f.files[a])}));f.click()}else{window.openNew=!1;window.openKey="open";var d=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(b,c){try{this.loadLibrary(a==App.MODE_BROWSER?new StorageLibrary(this,b,c):new LocalLibrary(this,b,c))}catch(d){this.handleError(d,
mxResources.get("errorLoadingFile"))}}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){Editor.useLocalStorage=d;window.openFile=null})}};App.prototype.createLibraryDataFromImages=function(a){var c=mxUtils.createXmlDocument(),f=c.createElement("mxlibrary");mxUtils.setTextContent(f,JSON.stringify(a));c.appendChild(f);return mxUtils.getXml(c)};
App.prototype.saveLibrary=function(a,c,f,d,b,e,g){d=null!=d?d:this.mode;b=null!=b?b:!1;e=null!=e?e:!1;var k=this.createLibraryDataFromImages(c),l=mxUtils.bind(this,function(a){this.spinner.stop();null!=g&&g();this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});null==f&&d==App.MODE_DEVICE&&(f=new LocalLibrary(this,k,a));if(null==f)this.pickFolder(d,mxUtils.bind(this,function(b){d==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(a,
k,b,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,c)}),l,this.drive.libraryMimeType):d==App.MODE_DROPBOX&&null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.dropbox.insertLibrary(a,k,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,c)}),l,b):d==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.oneDrive.insertLibrary(a,k,
mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,c)}),l,b):d==App.MODE_BROWSER?(b=mxUtils.bind(this,function(){var b=new StorageLibrary(this,k,a);b.saveFile(a,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(b,c)}),l)}),null==localStorage.getItem(a)?b():this.confirm(mxResources.get("replaceIt",[a]),b)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(b||this.spinner.spin(document.body,mxResources.get("saving"))){f.setData(k);
var n=mxUtils.bind(this,function(){f.save(!0,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);e||this.libraryLoaded(f,c);null!=g&&g()}),l)});if(a!=f.getTitle()){var m=f.getHash();f.rename(a,mxUtils.bind(this,function(a){f.constructor!=LocalLibrary&&m!=f.getHash()&&(mxSettings.removeCustomLibrary(m),mxSettings.addCustomLibrary(f.getHash()));this.removeLibrarySidebar(m);n()}),l)}else n()}};
App.prototype.saveFile=function(a){var c=this.getCurrentFile();if(null!=c){var f=mxUtils.bind(this,function(){this.removeDraft();this.editor.setStatus(mxResources.get("allChangesSaved"))});if(!a&&null!=c.getTitle()&&null!=this.mode)this.save(c.getTitle(),f);else{a=null!=c.getTitle()?c.getTitle():this.defaultFilename;var c=!mxClient.IS_IOS||!navigator.standalone,d=this.mode;a=new CreateDialog(this,a,mxUtils.bind(this,function(a,c){null!=a&&0<a.length&&(null==d&&c==App.MODE_DEVICE?(this.setMode(App.MODE_DEVICE),
this.save(a,f)):"download"==c?(new LocalFile(this,null,a)).save():"_blank"==c?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(this.getFileData(!0)),window.open(this.getUrl(window.location.pathname))):d!=c?this.pickFolder(c,mxUtils.bind(this,function(d){this.createFile(a,this.getFileData(/(\.xml)$/i.test(a)||0>a.indexOf("."),/(\.svg)$/i.test(a),/(\.html)$/i.test(a)),null,c,f,null==this.mode,d)})):null!=c&&this.save(a,f))}),mxUtils.bind(this,function(){this.hideDialog()}),
mxResources.get("saveAs"),mxResources.get("download"),null,null,c,this.isOffline()?null:"https://support.draw.io/questions/9338901",!0);this.showDialog(a.container,440,380,!0,!0);a.init()}}};
App.prototype.createFile=function(a,c,f,d,b,e,g){d=null!=d?d:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){c=null!=c?c:this.emptyDiagramXml;var k=mxUtils.bind(this,function(a){this.spinner.stop();null==a&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=a&&this.handleError(a)});d==App.MODE_GOOGLE&&null!=this.drive?(g=null!=this.stateArg?this.stateArg.folderId:g,this.drive.insertFile(a,c,g,mxUtils.bind(this,function(a){this.spinner.stop();
this.fileCreated(a,f,e,b)}),k)):d==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(a,c,mxUtils.bind(this,function(a){this.spinner.stop();this.fileCreated(a,f,e,b)}),k):d==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(a,c,mxUtils.bind(this,function(a){this.spinner.stop();this.fileCreated(a,f,e,b)}),k,!1,g):d==App.MODE_BROWSER?(this.spinner.stop(),d=mxUtils.bind(this,function(){var d=new StorageFile(this,c,a);d.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(d,
f,e,b)}),k)}),null==localStorage.getItem(a)?d():this.confirm(mxResources.get("replaceIt",[a]),d,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(this.spinner.stop(),this.fileCreated(new LocalFile(this,c,a),f,e,b))}};
App.prototype.fileCreated=function(a,c,f,d){var b=window.location.pathname;null!=c&&0<c.length&&(b+="?libs\x3d"+c);b=this.getUrl(b);a.getMode()!=App.MODE_DEVICE&&(b+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var e=a.getData();a.setData(this.createFileData(0<e.length?this.editor.extractGraphModel(mxUtils.parseXml(e).documentElement,!0):null,null,a,window.location.protocol+"//"+window.location.hostname+b));var g=mxUtils.bind(this,function(){this.spinner.stop();
if(null==this.mode&&(null!=urlParams.create||null!=urlParams.url))a.constructor==LocalFile?this.fileLoaded(a):this.spinner.spin(document.body,mxResources.get("inserting"))&&(this.setCurrentFile(a),window.location.hash=a.getHash(),window.location.search=this.getSearch(["create","title","notitle","mode","url"]));else{var e=mxUtils.bind(this,function(){a.constructor!=LocalFile&&(null!=urlParams.create||null!=urlParams.url)?(this.setCurrentFile(a),window.location.hash=a.getHash(),window.location.search=
this.getSearch(["create","title","notitle","mode","url"])):(window.openFile=null,this.fileLoaded(a),null!=c&&this.sidebar.showEntries(c));null!=d&&d()});!f&&null!=this.getCurrentFile()&&(decodeURIComponent(this.getDiagramId())!=decodeURIComponent(a.getHash())||a.constructor==LocalFile)?(a.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a.getData(),a.getTitle())),window.openWindow(b,null,e)):e()}});a.constructor==LocalFile?g():a.saveFile(a.getTitle(),
!1,mxUtils.bind(this,function(){g()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}))}};
App.prototype.loadFile=function(a,c,f){this.hideDialog();var d=mxUtils.bind(this,function(){if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==a.charAt(0))if(this.spinner.stop(),isLocalStorage)try{a=decodeURIComponent(a.substring(1));var b=localStorage.getItem(a);if(null!=b)this.fileLoaded(new StorageFile(this,b,a));else throw{message:mxResources.get("fileNotFound")};}catch(c){this.handleError(c,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();
window.location.hash=null!=a?a.getHash():""}))}else this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}));else null!=f?(this.spinner.stop(),this.fileLoaded(f)):(b=null,"G"==a.charAt(0)?b=this.drive:"D"==a.charAt(0)?b=this.dropbox:"W"==a.charAt(0)&&(b=this.oneDrive),a=decodeURIComponent(a.substring(1)),null==b?this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},
mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""})):b.getFile(a,mxUtils.bind(this,function(a){this.spinner.stop();this.fileLoaded(a)}),mxUtils.bind(this,function(b){null!=window.console&&null!=b&&console.log("error in loadFile:",a,b);this.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null,mxUtils.bind(this,function(){var a=this.getCurrentFile();null==a?(window.location.hash="",this.showSplash()):window.location.hash=
a.getHash()}))})))});null==a||0==a.length?(this.editor.setStatus(""),this.fileLoaded(null)):null!=this.getCurrentFile()&&!this.isDiagramEmpty()&&!c?window.openWindow(this.getUrl()+"#"+a,null,d):d()};App.prototype.loadLibrary=function(a){var c=mxUtils.parseXml(a.getData());if("mxlibrary"==c.documentElement.nodeName)c=JSON.parse(mxUtils.getTextContent(c.documentElement)),this.libraryLoaded(a,c);else throw{message:mxResources.get("notALibraryFile")};};
App.prototype.removeLibrarySidebar=function(a){var c=this.sidebar.palettes[a];if(null!=c){for(var f=0;f<c.length;f++)c[f].parentNode.removeChild(c[f]);delete this.sidebar.palettes[a]}};
App.prototype.getLibraryStorageHint=function(a){var c="";a.constructor!=LocalLibrary&&(c+=a.getHash());a.constructor==DriveLibrary?c+=" ("+mxResources.get("googleDrive")+")":a.constructor==DropboxLibrary?c+=" ("+mxResources.get("dropbox")+")":a.constructor==OneDriveLibrary?c+=" ("+mxResources.get("oneDrive")+")":a.constructor==StorageLibrary?c+=" ("+mxResources.get("browser")+")":a.constructor==LocalLibrary&&(c+=" ("+mxResources.get("device")+")");return c};
App.prototype.closeLibrary=function(a){null!=a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};App.prototype.repositionLibrary=function(a){var c=this.sidebar.container;a=null!=a?a:c.firstChild.nextSibling.nextSibling;var f=c.lastChild,d=f.previousSibling;c.insertBefore(f,a);c.insertBefore(d,f)};
App.prototype.toggleScratchpad=function(){if(isLocalStorage)if(null==this.scratchpad){var a=localStorage.getItem(".scratchpad");null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))}else this.closeLibrary(this.scratchpad)};
App.prototype.libraryLoaded=function(a,c){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var f=this.sidebar.palettes[a.getHash()],f=null!=f?f[f.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var d=null,b=mxUtils.bind(this,function(b,c){if(0==b.length&&a.isEditable())null==d&&(d=document.createElement("div"),mxUtils.setPrefixedStyle(d.style,"borderRadius","6px"),d.style.border="3px dotted lightGray",d.style.textAlign=
"center",d.style.padding="8px",d.style.color="#B3B3B3",mxUtils.write(d,mxResources.get("dragElementsHere"))),c.appendChild(d);else for(var e=0;e<b.length;e++){var f=b[e],g=f.data;if(null!=g){var g=this.convertDataUri(g),k="shape\x3dimage;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;",k="fixed"==f.aspect?k+"aspect\x3dfixed;":k+"imageAspect\x3d0;";c.appendChild(this.sidebar.createVertexTemplate(k+"image\x3d"+g,f.w,f.h,"",f.title||"",!1,!1,!1))}else null!=f.xml&&(g=this.stringToCells(this.editor.graph.decompress(f.xml)),
0<g.length&&c.appendChild(this.sidebar.createVertexTemplateFromCells(g,f.w,f.h,f.title||"",!0,!1,!1)))}}),e=this.sidebar.addPalette(a.getHash(),a.getTitle(),!0,mxUtils.bind(this,function(a){b(c,a)}));this.repositionLibrary(f);var f=e.parentNode.previousSibling,g=f.getAttribute("title");null!=g&&(0<g.length&&".scratchpad"!=a.title)&&f.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+g);var k=document.createElement("div");k.style.position="absolute";k.style.right="0px";k.style.top="5px";f.style.position=
"relative";var l=document.createElement("img");l.setAttribute("src",Dialog.prototype.closeImage);l.setAttribute("title",mxResources.get("close"));l.setAttribute("align","top");l.setAttribute("border","0");l.style.cursor="pointer";l.style.marginRight="8px";l.style.marginTop="3px";k.appendChild(l);var n=null;mxEvent.addListener(l,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=n?this.confirm(mxResources.get("allChangesLost"),
c):c();mxEvent.consume(b)}}));mxEvent.addListener(e,"mousemove",mxUtils.bind(this,function(a){mxEvent.getSource(a)==e?e.setAttribute("title",mxResources.get("libraryTooltip")):e.removeAttribute("title")}));if(a.isEditable()){var m=this.editor.graph,p=mxUtils.bind(this,function(b){this.showLibraryDialog(a.getTitle(),e,c,a,a.getMode());mxEvent.consume(b)}),r=mxUtils.bind(this,function(b){a.constructor!=LocalLibrary||a.isAutosave()?(null!=u&&null!=u.parentNode&&u.parentNode.removeChild(u),u=l.cloneNode(!1),
u.setAttribute("src",App.prototype.spinImage),u.setAttribute("title",mxResources.get("saving")),u.style.cursor="default",u.style.marginRight="6px",u.style.marginTop="2px",k.insertBefore(u,k.firstChild),this.saveLibrary(a.getTitle(),c,a,a.getMode(),!0,!0,function(){null!=u&&null!=u.parentNode&&u.parentNode.removeChild(u)})):null==n&&(n=l.cloneNode(!1),n.setAttribute("src",IMAGE_PATH+"/download.png"),n.setAttribute("title",mxResources.get("save")),k.insertBefore(n,k.firstChild),mxEvent.addListener(n,
"click",mxUtils.bind(this,function(b){this.saveLibrary(a.getTitle(),c,a,a.getMode(),!0,!0);n.parentNode.removeChild(n);n=null;mxEvent.consume(b)})))}),s=mxUtils.bind(this,function(a,b,f,g){a=m.cloneCells(m.model.getTopmostCells(a));for(var k=0;k<a.length;k++){var l=m.getCellGeometry(a[k]);null!=l&&l.translate(-b.x,-b.y)}e.appendChild(this.sidebar.createVertexTemplateFromCells(a,b.width,b.height,g||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:b.width,
h:b.height};null!=g&&(a.title=g);c.push(a);r(f);null!=d&&(null!=d.parentNode&&0<c.length)&&(d.parentNode.removeChild(d),d=null)}),q=mxUtils.bind(this,function(a){if(m.isSelectionEmpty())this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=m.getSelectionCells(),c=m.view.getBounds(b),d=m.view.scale;c.x/=d;c.y/=d;c.width/=d;c.height/=d;c.x-=m.view.translate.x;c.y-=m.view.translate.y;s(b,c)}mxEvent.consume(a)});e.style.border="3px solid transparent";
mxEvent.addGestureListeners(e,function(){},mxUtils.bind(this,function(a){m.isMouseDown&&(null!=m.panningManager&&null!=m.graphHandler.shape)&&(m.graphHandler.shape.node.style.visibility="hidden",null!=d?d.style.border="3px dotted rgb(254, 137, 12)":e.style.border="3px dotted rgb(254, 137, 12)",e.style.cursor="copy",m.panningManager.stop(),m.autoScroll=!1,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!1),null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),
mxUtils.bind(this,function(a){m.isMouseDown&&(null!=m.panningManager&&null!=m.graphHandler)&&(e.style.border="3px solid transparent",null!=d&&(d.style.border="3px dotted lightGray"),e.style.cursor="default",this.sidebar.showTooltips=!0,m.panningManager.stop(),m.graphHandler.reset(),m.isMouseDown=!1,m.autoScroll=!0,q(a),mxEvent.consume(a))}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility="visible",
e.style.border="3px solid transparent",e.style.cursor="",m.autoScroll=!0,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!0),null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="visible"),null!=d&&(d.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(e,"dragover",mxUtils.bind(this,function(a){null!=d?d.style.border="3px dotted rgb(254, 137, 12)":e.style.border="3px dotted rgb(254, 137, 12)";a.dataTransfer.dropEffect="copy";e.style.cursor="copy";
this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(e,"drop",mxUtils.bind(this,function(a){e.style.border="3px solid transparent";e.style.cursor="";null!=d&&(d.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(f,g,k,l,m,n,p){if(null!=f&&"image/"==g.substring(0,6)){var q="shape\x3dimage;verticalLabelPosition\x3dbottom;verticalAlign\x3dtop;aspect\x3dfixed;image\x3d"+
this.convertDataUri(f),q=[new mxCell("",new mxGeometry(0,0,m,n),q)];q[0].vertex=!0;s(q,new mxRectangle(0,0,m,n),a,mxEvent.isAltDown(a)?null:p.substring(0,p.lastIndexOf(".")).replace(/_/g," "))}else{p=!1;if(null!=f&&"text/xml"==g)if(f=mxUtils.parseXml(f),"mxlibrary"==f.documentElement.nodeName)try{var u=JSON.parse(mxUtils.getTextContent(f.documentElement));b(u,e);c=c.concat(u);r(a);this.spinner.stop();p=!0}catch(F){}else if("mxfile"==f.documentElement.nodeName)try{u=mxUtils.getTextContent(f.documentElement.getElementsByTagName("diagram")[0]),
q=this.stringToCells(this.editor.graph.decompress(u)),s(q,new mxRectangle(0,0,m,n),a),p=!0}catch(H){}p||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}))}null!=d&&(null!=d.parentNode&&0<c.length)&&(d.parentNode.removeChild(d),d=null)}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(e,"dragleave",function(a){null!=d?d.style.border="3px dotted lightGray":(e.style.border="3px solid transparent",e.style.cursor="");a.stopPropagation();a.preventDefault()}));
l=l.cloneNode(!1);l.setAttribute("src",IMAGE_PATH+"/edit.gif");l.setAttribute("title",mxResources.get("edit"));k.insertBefore(l,k.firstChild);mxEvent.addListener(l,"click",p);mxEvent.addListener(e,"dblclick",function(a){mxEvent.getSource(a)==e&&p(a)});l=l.cloneNode(!1);l.setAttribute("src",App.prototype.plusImage);l.setAttribute("title",mxResources.get("add"));k.insertBefore(l,k.firstChild);this.isOffline()||(g=document.createElement("span"),g.setAttribute("title",mxResources.get("help")),g.style.cssText=
"color:gray;text-decoration:none;margin-right:8px;",mxUtils.write(g,"?"),mxEvent.addGestureListeners(g,mxUtils.bind(this,function(a){window.open("https://support.draw.io/questions/10420280");mxEvent.consume(a)})),k.insertBefore(g,k.firstChild));var u=null;mxEvent.addListener(l,"click",q)}f.appendChild(k)};
App.prototype.fileLoaded=function(a){this.hideDialog();var c=this.getCurrentFile();this.setCurrentFile(null);null!=c&&(c.removeListener(this.descriptorChangedListener),c.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var f=mxUtils.bind(this,function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";this.editor.graph.setEnabled(!1);null!=c&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();
null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.updateUi();this.showSplash()});if(null!=a)try{a.open();this.setCurrentFile(a);this.diagramContainer.style.visibility="";this.formatContainer.style.visibility="";a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);
this.descriptorChanged();this.editor.undoManager.clear();this.setMode(a.getMode());this.updateUi();null==a.realtime&&(a.isEditable()?this.editor.setStatus(""):this.editor.setStatus(mxResources.get("readOnly")));this.editor.chromeless?this.editor.graph.lightbox&&this.lightboxFit():(this.showLayersDialog(),this.restoreLibraries());this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));if(this.enableLogging)try{this.isOffline()||((new Image).src="images/log.png?mode\x3d"+
encodeURIComponent(a.getMode())+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION))}catch(d){}if(this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE)try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(b){}}catch(e){null!=window.console&&console.log("error in fileLoaded:",a,e),this.handleError(e,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):
null!=c?this.fileLoaded(c):f()}))}else f()};
App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a){mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),c=mxUtils.bind(this,function(c){if(null!=c)for(var d=0;d<c.length;d++){var b=encodeURIComponent(decodeURIComponent(c[d]));mxUtils.bind(this,function(b){if(null==this.pendingLibraries[b]&&null==this.sidebar.palettes[b]){this.pendingLibraries[b]=!0;var c=b.substring(0,1);if("L"==
c){if(isLocalStorage)try{var d=decodeURIComponent(b.substring(1)),f=localStorage.getItem(d);".scratchpad"==d&&null==f&&(f=this.emptyLibraryXml);null!=f?this.loadLibrary(new StorageLibrary(this,f,d)):a(b)}catch(n){a(b)}}else if("U"==c){var m=decodeURIComponent(b.substring(1));this.isOffline()||mxUtils.get(PROXY_URL+"?url\x3d"+encodeURIComponent(m),mxUtils.bind(this,function(c){if(200==c.getStatus())try{this.loadLibrary(new UrlLibrary(this,c.getText(),m)),delete this.pendingLibraries[b]}catch(d){a(b)}else a(b)}),
function(){a(b)})}else d=null,"G"==c?null!=this.drive&&null!=this.drive.user&&(d=this.drive):"D"==c?null!=this.dropbox&&null!=this.dropbox.getUser()&&(d=this.dropbox):"W"==c&&(null!=this.oneDrive&&null!=this.oneDrive.getUser())&&(d=this.oneDrive),null!=d&&d.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(c){try{this.loadLibrary(c),delete this.pendingLibraries[b]}catch(d){a(b)}}),function(c){a(b)})}})(b)}});c(mxSettings.getCustomLibraries());c((urlParams.clibs||"").split(";"))}};
App.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),c=null!=a||"1"==urlParams.embed;this.menus.get("viewPanels").setEnabled(c);this.menus.get("viewZoom").setEnabled(c);var f="1"!=urlParams.embed&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!f);this.actions.get("print").setEnabled(!f);this.menus.get("exportAs").setEnabled(!f);this.menus.get("embed").setEnabled(!f);a="1"==urlParams.embed||null!=a&&a.isEditable();
this.actions.get("image").setEnabled(c);this.actions.get("zoomIn").setEnabled(c);this.actions.get("zoomOut").setEnabled(c);this.actions.get("resetView").setEnabled(c);this.menus.get("edit").setEnabled(c);this.menus.get("view").setEnabled(c);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&this.toolbar.edgeShapeMenu.setEnabled(a),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(a));if(this.isOfflineApp()){if((mxClient.IS_GC||
mxClient.IS_IOS&&mxClient.IS_SF)&&null!=applicationCache){var d=applicationCache;if(null==this.offlineStatus){this.offlineStatus=document.createElement("div");this.offlineStatus.className="geItem";this.offlineStatus.style.position="absolute";this.offlineStatus.style.fontSize="8pt";this.offlineStatus.style.top="2px";this.offlineStatus.style.right="12px";this.offlineStatus.style.color="#666";this.offlineStatus.style.margin="4px";this.offlineStatus.style.padding="2px";this.offlineStatus.style.verticalAlign=
"middle";this.offlineStatus.innerHTML="";this.menubarContainer.appendChild(this.offlineStatus);var b=window.setTimeout(mxUtils.bind(this,function(){d.status==d.IDLE&&(this.offlineStatus.innerHTML='[\x3cimg title\x3d"Cached" border\x3d"0" src\x3d"'+IMAGE_PATH+'/checkmark.gif"/\x3e]',window.clearTimeout(b))}),5E3)}}}else this.updateUserElement()};
App.prototype.exportImage=function(a,c,f,d,b){if(this.spinner.spin(document.body,mxResources.get("exporting"))){var e=this.editor.graph.isSelectionEmpty();f=null!=f?f:e;try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,b?this.getFileData(!0,null,null,null,f):null)}catch(c){"Invalid image"==c.message?this.downloadFile("png"):this.handleError(c)}}),null,null,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,f,a||1,c,d)}catch(g){this.spinner.stop(),
this.handleError(g)}}};
EditorUi.prototype.exportSvg=function(a,c,f,d,b,e){var g=this.editor.graph.isSelectionEmpty();f=null!=f?f:g;g=c?null:this.editor.graph.background;g==mxConstants.NONE&&(g=null);null==g&&!1==c&&(g="#ffffff");var k=this.editor.graph.getSvg(g,a,null,null,null,f);d&&this.editor.addSvgShadow(k);a=this.getCurrentFile();var l=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;a=l.lastIndexOf(".");0<a&&(l=l.substring(0,a));l+=".svg";if(this.spinner.spin(document.body,mxResources.get("export"))){var n=mxUtils.bind(this,
function(a){this.spinner.stop();b&&a.setAttribute("content",this.getFileData(!0,null,null,null,f));var c='\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a);this.isLocalFileSave()||c.length<=MAX_REQUEST_SIZE?this.saveData(l,"svg",c,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(c)}))});this.convertMath(this.editor.graph,k,!1,
mxUtils.bind(this,function(){e?this.convertImages(k,n):n(k)}))}};
App.prototype.getOrCreateVoiceButton=function(){null==this.voiceButton&&(this.voiceButton=document.createElement("div"),this.voiceButton.className="geBtn",this.voiceButton.style.width="140px",this.voiceButton.style.minWidth="140px",this.voiceButton.style.textOverflow="ellipsis",this.voiceButton.style.overflowX="hidden",this.voiceButton.style.fontWeight="bold",this.voiceButton.style.textAlign="center",this.voiceButton.style.display="inline-block",this.voiceButton.style.padding="0 10px 0 10px",this.voiceButton.style.marginTop=
"-4px",this.voiceButton.style.height="28px",this.voiceButton.style.lineHeight="28px",this.voiceButton.style.color="#235695",null!=this.buttonContainer.firstChild?this.buttonContainer.insertBefore(this.voiceButton,this.buttonContainer.firstChild):this.buttonContainer.appendChild(this.voiceButton));return this.voiceButton};
App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.padding="0 10px 0 10px",this.shareButton.style.marginTop="-4px",this.shareButton.style.height="28px",this.shareButton.style.lineHeight="28px",this.shareButton.style.minWidth=
"0px",this.shareButton.style.cssFloat="right",a=document.createElement("img"),a.setAttribute("src",this.shareImage),a.setAttribute("align","absmiddle"),a.style.marginRight="4px",a.style.marginTop="-3px",this.shareButton.appendChild(a),mxUtils.write(this.shareButton,mxResources.get("share")),mxEvent.addListener(this.shareButton,"click",mxUtils.bind(this,function(){this.actions.get("share").funct()})),this.buttonContainer.appendChild(this.shareButton)):null!=this.shareButton&&(this.shareButton.parentNode.removeChild(this.shareButton),
this.shareButton=null)}};
App.prototype.save=function(a,c){var f=this.getCurrentFile(),d=mxResources.get("saving");null!=f&&f.constructor==DriveFile&&(d=mxResources.get("createRevision"));if(null!=f&&this.spinner.spin(document.body,d)){this.editor.setStatus("");this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var d=mxUtils.bind(this,function(a){this.spinner.stop();this.getCurrentFile()==f&&(f.isModified()?f.isAutosave()||f.addUnsavedStatus():this.editor.setStatus(mxResources.get("allChangesSaved")));null!=c&&
c()}),b=mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});a==f.getTitle()?f.save(!0,d,b):f.saveAs(a,d,b)}};App.prototype.base64ToBlob=function(a,c){c=c||"";for(var f=atob(a),d=f.length,b=Math.ceil(d/1024),e=Array(b),g=0;g<b;++g){for(var k=1024*g,l=Math.min(k+1024,d),n=Array(l-k),m=0;k<l;++m,++k)n[m]=f[k].charCodeAt(0);e[g]=new Uint8Array(n)}return new Blob(e,{type:c})};
App.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};
App.prototype.saveRequest=function(a,c,f,d){a=!mxClient.IS_IOS||!navigator.standalone;c=new CreateDialog(this,c,mxUtils.bind(this,function(a,c){if("_blank"==c||null!=a&&0<a.length){var g=d("_blank"==c?null:a,c==App.MODE_DEVICE||null==c||"_blank"==c?"0":"1");c==App.MODE_DEVICE||"_blank"==c?g.simulate(document,"_blank"):this.pickFolder(c,mxUtils.bind(this,function(d){this.spinner.spin(document.body,mxResources.get("saving"))&&g.send(mxUtils.bind(this,function(){this.spinner.stop();if(200>g.getStatus()||
299<g.getStatus())this.handleError({message:mxResources.get("errorSavingFile")});else try{var l="pdf"==f?"application/pdf":"image/"+f;this.exportFile(g.getText(),a,l,!0,c,d)}catch(n){this.handleError(n)}}),function(a){this.spinner.stop();this.handleError(a)})}))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,a);this.showDialog(c.container,380,270,!0,!0);c.init()};
App.prototype.pickFolder=function(a,c,f){(f=null!=f?f:!0)&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){if(a.action==google.picker.Action.PICKED){var b=null;null!=a.docs&&(0<a.docs.length&&"folder"==a.docs[0].type)&&(b=a.docs[0].id);c(b)}})):f&&a==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(a){var b=null;null!=a&&(null!=a.data&&null!=a.data.folders&&0<a.data.folders.length)&&(b=a.data.folders[0].id,b=b.substring(b.lastIndexOf(".")+
1),c(b))})):c(null)};
App.prototype.exportFile=function(a,c,f,d,b,e){b==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(c,d?this.base64ToBlob(a,f):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)})):b==App.MODE_GOOGLE?null!=this.drive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.drive.insertFile(c,a,e,mxUtils.bind(this,function(a){this.spinner.stop()}),mxUtils.bind(this,
function(a){this.spinner.stop();this.handleError(a)}),f,d,!1):b==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.oneDrive.insertFile(c,d?this.base64ToBlob(a,f):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,e)};
App.prototype.doSaveLocalFile=function(a,c,f,d){if(window.MSBlobBuilder&&navigator.msSaveOrOpenBlob)d=new MSBlobBuilder,d.append(a),a=d.getBlob(f),navigator.msSaveOrOpenBlob(a,c);else if(mxClient.IS_IE)f=window.open("about:blank","_blank"),null==f?mxUtils.popup(a,!0):(f.document.write(a),f.document.close(),f.document.execCommand("SaveAs",!0,c),f.close());else if(mxClient.IS_IOS)c=new TextareaDialog(this,c+":",a,null,null,mxResources.get("close")),c.textarea.style.width="600px",c.textarea.style.height=
"380px",this.showDialog(c.container,620,460,!0,!0),c.init(),document.execCommand("selectall",!1,null);else if(!this.isOffline()&&mxClient.IS_SF)a="undefined"===typeof pako?"\x26xml\x3d"+encodeURIComponent(a):"\x26data\x3d"+encodeURIComponent(this.editor.graph.compress(a)),(new mxXmlRequest(SAVE_URL,"mime\x3d"+f+"\x26filename\x3d"+encodeURIComponent(c)+a)).simulate(document,"_blank");else{var b=document.createElement("a");b.href=URL.createObjectURL(d?this.base64ToBlob(a,f):new Blob([a],{type:f}));
b.download=c;document.body.appendChild(b);mxClient.IS_SF&&b.setAttribute("target","_blank");try{b.click(),window.setTimeout(function(){URL.revokeObjectURL(b.href)},0),b.parentNode.removeChild(b)}catch(e){}}};
App.prototype.saveLocalFile=function(a,c,f,d){if(this.isOfflineApp()||this.isOffline())this.doSaveLocalFile(a,c,f,d);else{var b=!mxClient.IS_IOS||!navigator.standalone;c=new CreateDialog(this,c,mxUtils.bind(this,function(b,c){try{if("_blank"==c)if(mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var k="undefined"===typeof pako?"\x26xml\x3d"+encodeURIComponent(a):"\x26data\x3d"+encodeURIComponent(this.editor.graph.compress(a));(new mxXmlRequest(SAVE_URL,"mime\x3d"+f+k)).simulate(document,
"_blank")}else window.open("data:"+f+(d?";base64,"+a:";charset\x3dutf8,"+encodeURIComponent(a)));else c==App.MODE_DEVICE?this.doSaveLocalFile(a,b,f,d):null!=b&&0<b.length&&this.pickFolder(c,mxUtils.bind(this,function(k){this.exportFile(a,b,f,d,c,k)}))}catch(l){this.handleError(l)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,b);this.showDialog(c.container,380,280,!0,!0);c.init()}};
App.prototype.getHtml=function(a,c,f,d,b,e){e=null!=e?e:!0;var g=null,k="https://www.draw.io/js/embed-static.min.js",l="";if(null!=c){var g=e?c.getGraphBounds():c.getBoundingBox(c.getSelectionCells()),n=c.view.scale;e=Math.floor(g.x/n-c.view.translate.x);n=Math.floor(g.y/n-c.view.translate.y);g=c.background;if(null==b){c={};for(var m=this.editor.graph.view.states.getValues(),p=0;p<m.length;p++){var r=mxStencilRegistry.getBasenameForStencil(m[p].style[mxConstants.STYLE_SHAPE]);null!=r&&null==c[r]&&
(c[r]=!0,l+=r+";")}0<l.length&&(k="https://www.draw.io/embed.js?s\x3d"+l.substring(0,l.length-1))}a.setAttribute("x0",e);a.setAttribute("y0",n)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom","1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=d&&a.setAttribute("edit",d));null!=b&&(b=b.replace(/&/g,"\x26amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";d=this.editor.graph.compress(a);this.editor.graph.decompress(d)!=
a&&(d=encodeURIComponent(a));return(null==b?'\x3c!--[if IE]\x3e\x3cmeta http-equiv\x3d"X-UA-Compatible" content\x3d"IE\x3d5,IE\x3d9" \x3e\x3c![endif]--\x3e\n':"")+"\x3c!DOCTYPE html\x3e\n\x3chtml"+(null!=b?' xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e':"\x3e")+"\n\x3chead\x3e\n"+(null==b?null!=f?"\x3ctitle\x3e"+mxUtils.htmlEntities(f)+"\x3c/title\x3e\n":"":"\x3ctitle\x3eDraw.io Diagram\x3c/title\x3e\n")+(null!=b?'\x3cmeta http-equiv\x3d"refresh" content\x3d"0;URL\x3d\''+b+"'\"/\x3e\n":"")+"\x3c/head\x3e\n\x3cbody"+
(null==b&&null!=g&&g!=mxConstants.NONE?' style\x3d"background-color:'+g+';"\x3e':"\x3e")+'\n\x3cdiv class\x3d"mxgraph" style\x3d"position:relative;overflow:auto;width:100%;"\x3e\n\x3cdiv style\x3d"width:1px;height:1px;overflow:hidden;"\x3e'+d+"\x3c/div\x3e\n\x3c/div\x3e\n"+(null==b?'\x3cscript type\x3d"text/javascript" src\x3d"'+k+'"\x3e\x3c/script\x3e':'\x3ca style\x3d"position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href\x3d"'+b+'" target\x3d"_blank"\x3e\x3cimg border\x3d"0" src\x3d"https://www.draw.io/images/drawlogo128.png"/\x3e\x3c/a\x3e')+
"\n\x3c/body\x3e\n\x3c/html\x3e\n"};
App.prototype.getHtml2=function(a,c,f,d,b,e){d="https://www.draw.io/js/viewer.min.js";var g="";if(null!=c&&null==b){var g=[],k={};c=c.view.states.getValues();e=function(a){if(null!=a){var b=a.lastIndexOf(".");0<b&&(a=a.substring(b+1,a.length));null==k[a]&&(k[a]=!0,g.push(a))}};for(var l=0;l<c.length;l++){var n=c[l];e(mxStencilRegistry.getBasenameForStencil(n.style[mxConstants.STYLE_SHAPE]));n.view.graph.model.isEdge(n.cell)&&(e(mxMarker.getPackageForType(n.style[mxConstants.STYLE_STARTARROW])),e(mxMarker.getPackageForType(n.style[mxConstants.STYLE_ENDARROW])))}0<
g.length&&(d="https://www.draw.io/embed2.js?s\x3d"+g.join(";"))}null!=b&&(b=b.replace(/&/g,"\x26amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(mxUtils.getXml(a)),toolbar:"zoom layers lightbox"};return(null==b?'\x3c!--[if IE]\x3e\x3cmeta http-equiv\x3d"X-UA-Compatible" content\x3d"IE\x3d5,IE\x3d9" \x3e\x3c![endif]--\x3e\n':"")+"\x3c!DOCTYPE html\x3e\n\x3chtml"+(null!=b?' xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e':"\x3e")+"\n\x3chead\x3e\n"+
(null==b?null!=f?"\x3ctitle\x3e"+mxUtils.htmlEntities(f)+"\x3c/title\x3e\n":"":"\x3ctitle\x3eDraw.io Diagram\x3c/title\x3e\n")+(null!=b?'\x3cmeta http-equiv\x3d"refresh" content\x3d"0;URL\x3d\''+b+"'\"/\x3e\n":"")+'\x3cmeta charset\x3d"utf-8"/\x3e\n\x3c/head\x3e\n\x3cbody\x3e\n\x3cdiv class\x3d"mxgraph" style\x3d"max-width:100%;border:1px solid transparent;" data-mxgraph\x3d"'+mxUtils.htmlEntities(JSON.stringify(a))+'"\x3e\x3c/div\x3e\n'+(null==b?'\x3cscript type\x3d"text/javascript" src\x3d"'+d+
'"\x3e\x3c/script\x3e':'\x3ca style\x3d"position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href\x3d"'+b+'" target\x3d"_blank"\x3e\x3cimg border\x3d"0" src\x3d"https://www.draw.io/images/drawlogo128.png"/\x3e\x3c/a\x3e')+"\n\x3c/body\x3e\n\x3c/html\x3e\n"};
App.prototype.saveData=function(a,c,f,d){this.isLocalFileSave()?this.saveLocalFile(f,a,d):this.saveRequest(f,a,c,mxUtils.bind(this,function(a,d){var g="undefined"===typeof pako?"\x26xml\x3d"+encodeURIComponent(f):"\x26data\x3d"+encodeURIComponent(this.editor.graph.compress(f));return new mxXmlRequest(SAVE_URL,"format\x3d"+c+(null!=a?"\x26filename\x3d"+encodeURIComponent(a):"")+g)}))};
App.prototype.downloadFile=function(a,c,f,d){try{var b=this.getCurrentFile();d=null!=d?d:this.editor.graph.isSelectionEmpty();var e=null!=b&&null!=b.getTitle()?b.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(e)||/(\.html)$/i.test(e)||/(\.svg)$/i.test(e))e=e.substring(0,e.lastIndexOf("."));var g=e+"."+a;if("xml"==a){var k='\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n'+(c?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d));this.saveData(g,a,k,"text/xml")}else if("html"==
a)k=this.getHtml2(this.editor.getGraphXml(d),this.editor.graph,e,null,null,d),this.saveData(g,a,k,"text/html");else if(("svg"==a||"xmlsvg"==a)&&this.spinner.spin(document.body,mxResources.get("export"))){var l=null,n=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(l)}))});if("svg"==a){var m=this.editor.graph.background;
m==mxConstants.NONE&&(m=null);var p=this.editor.graph.getSvg(m,null,null,!1,null,d);f&&this.editor.addSvgShadow(p);this.convertImages(p,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();n('\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a))})))}else g=e+".svg",l=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();n(a)}),d)}else{var r=
this.editor.graph.getGraphBounds(),k=this.getFileData(!0,null,null,null,d);if(r.width*r.height<=MAX_AREA&&k.length<=MAX_REQUEST_SIZE){var s="0";"xmlpng"==a&&(s="1",a="png",g=e+"."+a);this.saveRequest(k,g,a,function(b,c){return new mxXmlRequest(EXPORT_URL,"format\x3d"+a+"\x26base64\x3d"+c+"\x26embedXml\x3d"+s+"\x26xml\x3d"+encodeURIComponent(k)+(null!=b?"\x26filename\x3d"+encodeURIComponent(b):""))})}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}}catch(q){this.handleError(q)}};
App.prototype.formatFileSize=function(a){var c=-1;do a/=1024,c++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[c]};
App.prototype.descriptorChanged=function(){var a=this.getCurrentFile();if(null!=a){if(null!=this.fname){this.fnameWrapper.style.display="block";this.fname.innerHTML="";var c=null!=a.getTitle()?a.getTitle():this.defaultFilename;mxUtils.write(this.fname,c);this.fname.setAttribute("title",c+" - "+mxResources.get("rename"))}this.editor.graph.setEnabled(a.isEditable());null==urlParams.rev&&(this.updateDocumentTitle(),a=a.getHash(),0<a.length?window.location.hash=a:0<window.location.hash.length&&(window.location.hash=
""))}};
App.prototype.handleError=function(a,c,f){var d=this.spinner.pause(),b=null!=a&&null!=a.error?a.error:a;if(null!=b||null!=c){a=mxResources.get("unknownError");var e=mxResources.get("ok"),g=null;c=null!=c?c:mxResources.get("error");if(null!=b)if("undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&b.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxResources.get("forbidden");else if(404==b.code||404==b.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&
"undefined"!=typeof gapi.drive.realtime&&b.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxResources.get("fileNotFoundOrDenied");var k=window.location.hash;null!=k&&"#G"==k.substring(0,2)&&(k=k.substring(2),a+=' \x3ca href\x3d"https://drive.google.com/open?id\x3d'+k+'" target\x3d"_blank"\x3e'+mxResources.get("tryOpeningViaThisPage")+"\x3c/a\x3e")}else b.code==App.ERROR_TIMEOUT?(a=mxResources.get("timeout"),null!=b.retry&&(e=mxResources.get("cancel"),g=function(){d();b.retry()})):b.code==App.ERROR_BUSY?
a=mxResources.get("busy"):null!=b.message?a=b.message:null!=b.response&&null!=b.response.error&&(a=b.response.error);this.showError(c,a,e,f,g)}else null!=f&&f()};App.prototype.showError=function(a,c,f,d,b,e,g){a=new ErrorDialog(this,a,c,f,d,b,e,g);this.showDialog(a.container,340,150,!0,!1);a.init()};App.prototype.alert=function(a,c){var f=new ErrorDialog(this,null,a,mxResources.get("ok"),c);this.showDialog(f.container,340,100,!0,!1);f.init()};
App.prototype.confirm=function(a,c,f){var d=null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=c&&c()},function(){d();null!=f&&f()})).container,340,90,!0,!1)};App.prototype.toggleChat=function(){var a=this.getCurrentFile();if(null!=a){if(null==a.chatWindow){var c=document.body.offsetWidth-300;a.chatWindow=new ChatWindow(this,mxResources.get("chatWindowTitle"),document.getElementById("geChat"),c,80,250,350,a.realtime);a.chatWindow.window.setVisible(!1)}a.chatWindow.window.setVisible(!a.chatWindow.window.isVisible())}};
App.prototype.status=function(a){this.editor.setStatus(a)};App.prototype.showAuthDialog=function(a,c,f){var d=this.spinner.pause();this.showDialog((new AuthDialog(this,a,c,mxUtils.bind(this,function(a){try{null!=f&&f(a,function(){d()})}catch(c){this.editor.setStatus(c.message)}}))).container,300,c?180:140,!0,!0,mxUtils.bind(this,function(a){a&&(null==this.getCurrentFile()&&null==this.dialog)&&this.showSplash()}))};
App.prototype.loadUrl=function(a,c,f,d,b){try{var e=d||/(\.png)($|\?)/i.test(a);b=null!=b?b:!0;var g=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200==a.getStatus()){if(null!=c){var b=a.getText();if(e){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var b=Array(a.length),d=0;d<a.length;d++)b[d]=String.fromCharCode(a[d]);b=b.join("")}b="data:image/png;base64,"+
this.base64Encode(b)}c(b)}}else null!=f&&f({code:App.ERROR_UNKNOWN})}),function(){null!=f&&f({code:App.ERROR_UNKNOWN})},e,this.timeout,function(){b&&null!=f&&f({code:App.ERROR_TIMEOUT,retry:g})})});g()}catch(k){null!=f&&f(k)}};
App.prototype.updateHeader=function(){if(null!=this.menubar){this.appIcon=document.createElement("a");this.appIcon.style.display="block";this.appIcon.style.position="absolute";this.appIcon.style.width="40px";this.appIcon.style.backgroundColor="#f18808";this.appIcon.style.height=this.menubarHeight+"px";mxEvent.disableContextMenu(this.appIcon);mxEvent.addListener(this.appIcon,"click",mxUtils.bind(this,function(a){this.appIconClicked(a)}));var a=!mxClient.IS_SVG?"url('"+IMAGE_PATH+"/logo-white.png')":
"url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzA2LjE4NSAxMjAuMjk2IgogICB2aWV3Qm94PSIyNCAyNiA2OCA2OCIKICAgeT0iMHB4IgogICB4PSIwcHgiCiAgIHZlcnNpb249IjEuMSI+CiAgIAkgPGc+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNDEuMDYxIgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjkiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTUyOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNzUuMDc2IgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjgiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTAwOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGc+PHBhdGgKICAgICAgICAgZD0iTTUyLjc3Myw3Ny4wODRjMCwxLjk1NC0xLjU5OSwzLjU1My0zLjU1MywzLjU1M0gzNi45OTljLTEuOTU0LDAtMy41NTMtMS41OTktMy41NTMtMy41NTN2LTkuMzc5ICAgIGMwLTEuOTU0LDEuNTk5LTMuNTUzLDMuNTUzLTMuNTUzaDEyLjIyMmMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjc3LjA4NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnCiAgICAgICBpZD0iZzM0MTkiPjxwYXRoCiAgICAgICAgIGQ9Ik02Ny43NjIsNDguMDc0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINTEuOTg4Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M0g2NC4yMWMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjQ4LjA3NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnPjxwYXRoCiAgICAgICAgIGQ9Ik04Mi43NTIsNzcuMDg0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINjYuOTc3Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M2gxMi4yMjJjMS45NTQsMCwzLjU1MywxLjU5OSwzLjU1MywzLjU1M1Y3Ny4wODR6IgogICAgICAgICBmaWxsPSIjRkZGRkZGIiAvPjwvZz48L2c+PC9zdmc+)";
this.appIcon.style.backgroundImage=a;this.appIcon.style.backgroundPosition="center center";this.appIcon.style.backgroundRepeat="no-repeat";mxUtils.setPrefixedStyle(this.appIcon.style,"transition","all 125ms linear");mxEvent.addListener(this.appIcon,"mouseover",mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&(a=a.getMode(),a==App.MODE_GOOGLE?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/google-drive-logo-white.svg)":a==App.MODE_DROPBOX?this.appIcon.style.backgroundImage=
"url("+IMAGE_PATH+"/dropbox-logo-white.svg)":a==App.MODE_ONEDRIVE&&(this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/onedrive-logo-white.svg)"))}));mxEvent.addListener(this.appIcon,"mouseout",mxUtils.bind(this,function(){this.appIcon.style.backgroundImage=a}));"1"!=urlParams.embed&&this.menubarContainer.appendChild(this.appIcon);this.fnameWrapper=document.createElement("div");this.fnameWrapper.style.position="absolute";this.fnameWrapper.style.right="120px";this.fnameWrapper.style.left="50px";
this.fnameWrapper.style.top="6px";this.fnameWrapper.style.height="26px";this.fnameWrapper.style.display="none";this.fnameWrapper.style.overflow="hidden";this.fnameWrapper.style.textOverflow="ellipsis";this.fname=document.createElement("a");this.fname.setAttribute("href","javascript:void(0);");this.fname.setAttribute("title",mxResources.get("rename"));this.fname.className="geItem";this.fname.style.padding="2px 8px 2px 8px";this.fname.style.display="inline";this.fname.style.fontSize="18px";this.fname.style.whiteSpace=
"nowrap";mxEvent.addListener(this.fname,"click",mxUtils.bind(this,function(a){var c=this.getCurrentFile();null!=c&&c.isRenamable()&&this.actions.get("rename").funct();mxEvent.consume(a)}));this.fnameWrapper.appendChild(this.fname);"1"!=urlParams.embed&&(this.menubarContainer.appendChild(this.fnameWrapper),this.menubar.container.style.position="absolute",this.menubar.container.style.paddingLeft="52px",this.menubar.container.style.boxSizing="border-box",this.menubar.container.style.top="29px",this.toolbar.container.style.paddingLeft=
"56px");this.toggleFormatElement=document.createElement("a");this.toggleFormatElement.setAttribute("href","javascript:void(0);");this.toggleFormatElement.setAttribute("title",mxResources.get("formatPanel")+" (Ctrl+Shift+P)");this.toggleFormatElement.style.position="absolute";this.toggleFormatElement.style.display="inline-block";this.toggleFormatElement.style.top="5px";this.toggleFormatElement.style.right="26px";this.toggleFormatElement.style.padding="2px";this.toggleFormatElement.style.fontSize="14px";
this.toggleFormatElement.className="atlas"!=uiTheme?"geButton":"";this.toggleFormatElement.style.width="16px";this.toggleFormatElement.style.height="16px";this.toggleFormatElement.style.backgroundPosition="50% 50%";this.toggleFormatElement.style.backgroundRepeat="no-repeat";this.toolbarContainer.appendChild(this.toggleFormatElement);mxEvent.addListener(this.toggleFormatElement,"click",this.actions.get("formatPanel").funct);var c=mxUtils.bind(this,function(){this.toggleFormatElement.style.backgroundImage=
0<this.formatWidth?"url('"+this.formatShowImage+"')":"url('"+this.formatHideImage+"')"});this.addListener("formatWidthChanged",c);c();this.fullscreenElement=document.createElement("a");this.fullscreenElement.setAttribute("href","javascript:void(0);");this.fullscreenElement.setAttribute("title",mxResources.get("fullscreen"));this.fullscreenElement.style.position="absolute";this.fullscreenElement.style.display="inline-block";this.fullscreenElement.style.top="5px";this.fullscreenElement.style.right=
"42px";this.fullscreenElement.style.padding="2px";this.fullscreenElement.style.fontSize="14px";this.fullscreenElement.className="atlas"!=uiTheme?"geButton":"";this.fullscreenElement.style.width="16px";this.fullscreenElement.style.height="16px";this.fullscreenElement.style.backgroundPosition="50% 50%";this.fullscreenElement.style.backgroundRepeat="no-repeat";this.fullscreenElement.style.backgroundImage="url('"+this.fullscreenImage+"')";this.toolbarContainer.appendChild(this.fullscreenElement);var f=
this.hsplitPosition,d=!1;mxEvent.addListener(this.fullscreenElement,"click",mxUtils.bind(this,function(a){"atlas"!=uiTheme&&this.toggleCompactMode(!d);this.toggleFormatPanel(!d);this.hsplitPosition=!d?0:f;this.hideFooter();d=!d;mxEvent.consume(a)}));"atlas"==uiTheme&&(mxUtils.setOpacity(this.toggleFormatElement,70),mxUtils.setOpacity(this.fullscreenElement,70),this.toggleFormatElement.style.right="6px",this.fullscreenElement.style.right="22px",this.toggleFormatElement.style.top="8px",this.fullscreenElement.style.top=
"8px");"1"!=urlParams.embed&&""!=urlParams.url&&(this.toggleElement=document.createElement("a"),this.toggleElement.setAttribute("href","javascript:void(0);"),this.toggleElement.setAttribute("title",mxResources.get("collapseExpand")),this.toggleElement.className="geButton",this.toggleElement.style.position="absolute",this.toggleElement.style.display="inline-block",this.toggleElement.style.width="16px",this.toggleElement.style.height="16px",this.toggleElement.style.color="#666",this.toggleElement.style.top=
"5px",this.toggleElement.style.right="10px",this.toggleElement.style.padding="2px",this.toggleElement.style.fontSize="14px",this.toggleElement.style.textDecoration="none",this.toggleElement.style.backgroundImage="url('"+this.chevronUpImage+"')",this.toggleElement.style.backgroundPosition="50% 50%",this.toggleElement.style.backgroundRepeat="no-repeat",mxEvent.addListener(this.toggleElement,"click",mxUtils.bind(this,function(a){this.toggleCompactMode();mxEvent.consume(a)})),"atlas"!=uiTheme&&this.toolbarContainer.appendChild(this.toggleElement));
740>=screen.height&&"undefined"!==typeof this.toggleElement.click&&window.setTimeout(mxUtils.bind(this,function(){this.toggleElement.click()}),0)}};
App.prototype.toggleCompactMode=function(a){!a&&"none"==this.appIcon.style.display?(this.menubar.container.style.position="absolute",this.menubar.container.style.paddingLeft="52px",this.menubar.container.style.paddingTop="",this.menubar.container.style.paddingBottom="",this.menubar.container.style.top="29px",this.toolbar.container.style.paddingLeft="56px",this.buttonContainer.style.visibility="visible",this.appIcon.style.display="block",this.fnameWrapper.style.display="block",this.fnameWrapper.style.visibility=
"visible",this.menubarHeight=App.prototype.menubarHeight,this.refresh(),this.toggleElement.style.backgroundImage="url('"+this.chevronUpImage+"')"):(this.menubar.container.style.position="relative",this.menubar.container.style.paddingLeft="4px",this.menubar.container.style.paddingTop="0px",this.menubar.container.style.paddingBottom="0px",this.menubar.container.style.top="0px",this.toolbar.container.style.paddingLeft="4px",this.buttonContainer.style.visibility="hidden",this.appIcon.style.display="none",
this.fnameWrapper.style.display="none",this.fnameWrapper.style.visibility="hidden",this.menubarHeight=EditorUi.prototype.menubarHeight,this.refresh(),this.toggleElement.style.backgroundImage="url('"+this.chevronDownImage+"')")};
App.prototype.updateUserElement=function(){if((null==this.drive||null==this.drive.getUser())&&(null==this.oneDrive||null==this.oneDrive.getUser())&&(null==this.dropbox||null==this.dropbox.getUser()))null!=this.userElement&&(this.userElement.parentNode.removeChild(this.userElement),this.userElement=null);else{null==this.userElement&&(this.userElement=document.createElement("a"),this.userElement.setAttribute("href","javascript:void(0);"),this.userElement.className="geItem",this.userElement.style.position=
"absolute",this.userElement.style.fontSize="8pt",this.userElement.style.top="4px",this.userElement.style.right="30px",this.userElement.style.color="#666",this.userElement.style.margin="4px",this.userElement.style.padding="2px",this.userElement.style.paddingRight="16px",this.userElement.style.verticalAlign="middle",this.userElement.style.backgroundImage="url("+IMAGE_PATH+"/expanded.gif)",this.userElement.style.backgroundPosition="100% 60%",this.userElement.style.backgroundRepeat="no-repeat",this.menubarContainer.appendChild(this.userElement),
mxEvent.addListener(this.userElement,"click",mxUtils.bind(this,function(a){if(null==this.userPanel){var f=document.createElement("div");f.className="geDialog";f.style.position="absolute";f.style.top=this.userElement.clientTop+this.userElement.clientHeight+6+"px";f.style.right="36px";f.style.padding="0px";this.userPanel=f}if(null!=this.userPanel.parentNode)this.userPanel.parentNode.removeChild(this.userPanel);else{var d=!1;this.userPanel.innerHTML="";f=document.createElement("img");f.setAttribute("src",
Dialog.prototype.closeImage);f.setAttribute("title",mxResources.get("close"));f.className="geDialogClose";f.style.top="8px";f.style.right="8px";mxEvent.addListener(f,"click",mxUtils.bind(this,function(){null!=this.userPanel.parentNode&&this.userPanel.parentNode.removeChild(this.userPanel)}));this.userPanel.appendChild(f);null!=this.drive&&(f=this.drive.getUser(),null!=f&&(d=!0,this.userPanel.innerHTML+='\x3ctable title\x3d"User ID: '+f.id+'" style\x3d"font-size:10pt;padding:20px 20px 10px 10px;"\x3e\x3ctr\x3e\x3ctd valign\x3d"top"\x3e'+
(null!=f.pictureUrl?'\x3cimg style\x3d"margin-right:10px;border-radius:50%;" src\x3d"'+f.pictureUrl+'"/\x3e':'\x3cimg style\x3d"margin-right:4px;margin-top:2px;" src\x3d"'+this.defaultUserPicture+'"/\x3e')+'\x3c/td\x3e\x3ctd valign\x3d"top" style\x3d"white-space:nowrap;'+(null!=f.pictureUrl?"padding-top:14px;":"")+'"\x3e\x3cb\x3e'+mxUtils.htmlEntities(f.displayName)+"\x3c/b\x3e\x3cbr\x3e\x3csmall\x3e"+mxUtils.htmlEntities(f.email)+"\x3c/small\x3e\x3c/tr\x3e\x3c/table\x3e",f=document.createElement("div"),
f.style.textAlign="center",f.style.padding="12px",f.style.background="whiteSmoke",f.style.borderTop="1px solid #e0e0e0",f.style.whiteSpace="nowrap",f.appendChild(mxUtils.button(mxResources.get("signOut"),mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile?this.confirm(mxResources.get("areYouSure"),mxUtils.bind(this,function(){this.diagramContainer.style.visibility="hidden";this.formatContainer.style.visibility="hidden";a.close();window.setTimeout(mxUtils.bind(this,
function(){this.showDialog=function(){};window.location.hash="";this.drive.clearUserId();gapi.auth.signOut();window.location.reload()}),null!=a&&a.constructor==DriveFile?2E3:0)})):(this.drive.clearUserId(),this.drive.setUser(null),gapi.auth.signOut())}))),this.userPanel.appendChild(f)));f=mxUtils.bind(this,function(a,c,f){null!=a&&(d&&this.userPanel.appendChild(document.createElement("hr")),d=!0,this.userPanel.innerHTML+='\x3ctable style\x3d"font-size:10pt;padding:20px 20px 10px 10px;"\x3e\x3ctr\x3e\x3ctd valign\x3d"top"\x3e'+
(null!=c?'\x3cimg style\x3d"margin-right:10px;" src\x3d"'+c+'" width\x3d"40" height\x3d"40"/\x3e\x3c/td\x3e':"")+'\x3ctd valign\x3d"middle" style\x3d"white-space:nowrap;"\x3e\x3cb\x3e'+mxUtils.htmlEntities(a.displayName)+"\x3c/b\x3e"+(null!=a.email?'\x3cbr\x3e\x3cfont color\x3d"gray"\x3e'+mxUtils.htmlEntities(a.email)+"\x3c/font\x3e\x3c/td\x3e":"")+"\x3c/tr\x3e\x3c/table\x3e",a=document.createElement("div"),a.style.textAlign="center",a.style.padding="12px",a.style.background="whiteSmoke",a.style.borderTop=
"1px solid #e0e0e0",a.style.whiteSpace="nowrap",null!=f&&a.appendChild(mxUtils.button(mxResources.get("signOut"),f)),this.userPanel.appendChild(a))});null!=this.dropbox&&f(this.dropbox.getUser(),IMAGE_PATH+"/dropbox-logo.svg",mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!=a&&a.constructor==DropboxFile){var c=mxUtils.bind(this,function(){this.dropbox.logout();window.location.hash=""});a.isModified()?this.confirm(mxResources.get("allChangesLost"),c):c()}else this.dropbox.logout()}));
null!=this.oneDrive&&f(this.oneDrive.getUser(),IMAGE_PATH+"/onedrive-logo.svg",mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!=a&&a.constructor==OneDriveFile){var c=mxUtils.bind(this,function(){this.oneDrive.logout();window.location.hash=""});a.isModified()?this.confirm(mxResources.get("allChangesLost"),c):c()}else this.oneDrive.logout()}));d||(f=document.createElement("div"),f.style.textAlign="center",f.style.padding="20px 20px 10px 10px",f.innerHTML=mxResources.get("notConnected"),
this.userPanel.appendChild(f));document.body.appendChild(this.userPanel)}mxEvent.consume(a)})),mxEvent.addListener(document.body,"click",mxUtils.bind(this,function(a){!mxEvent.isConsumed(a)&&(null!=this.userPanel&&null!=this.userPanel.parentNode)&&this.userPanel.parentNode.removeChild(this.userPanel)})));var a=null;null!=this.drive&&null!=this.drive.getUser()?a=this.drive.getUser():null!=this.oneDrive&&null!=this.oneDrive.getUser()?a=this.oneDrive.getUser():null!=this.dropbox&&null!=this.dropbox.getUser()&&
(a=this.dropbox.getUser());null!=a?(this.userElement.innerHTML="",mxUtils.write(this.userElement,a.displayName),this.userElement.style.display="block"):this.userElement.style.display="none"}};
(function(){var a=!1,c=EditorUi.prototype.pasteCells;EditorUi.prototype.pasteCells=function(f,d){var b=d.getElementsByTagName("span");if(null!=b&&0<b.length&&"application/vnd.lucid.chart.objects"===b[0].getAttribute("data-lucid-type")){var e=b[0].getAttribute("data-lucid-content");null!=e&&0<e.length&&(b=mxUtils.bind(this,function(){if(this.pasteLucidChart)try{this.pasteLucidChart(JSON.parse(e)),mxEvent.consume(f)}catch(a){}}),!this.pasteLucidChart&&!a&&!this.isOffline()?(a=!0,"1"==urlParams.dev?
mxscript("/js/diagramly/Extensions.js",b):mxscript("/js/extensions.min.js",b)):b())}c.apply(this,arguments)}})();(function(){var a=mxPopupMenu.prototype.showMenu;mxPopupMenu.prototype.showMenu=function(){a.apply(this,arguments);this.div.style.overflowY="auto";this.div.style.overflowX="hidden";var c=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.div.style.maxHeight=c-10+"px"};Menus.prototype.addLinkToItem=function(a,c){if(null!=a){var b=document.createElement("span");b.setAttribute("title",mxResources.get("help"));b.style.cssText="color:blue;text-decoration:underline;margin-left:12px;cursor:help;";
var e=document.createElement("img");e.setAttribute("border","0");e.setAttribute("valign","bottom");e.setAttribute("src",Editor.helpImage);b.appendChild(e);mxEvent.addGestureListeners(b,mxUtils.bind(this,function(a){this.editorUi.menubar.hideMenu();window.open(c);mxEvent.consume(a)}));a.firstChild.nextSibling.appendChild(b)}};var c=Menus.prototype.init;Menus.prototype.init=function(){c.apply(this,arguments);var a=this.editorUi,d=a.editor.graph,b=mxUtils.bind(d,d.isEnabled),e=("1"!=urlParams.embed&&
"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),g=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),k=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname||"drive.draw.io"==window.location.hostname||"legacy.draw.io"==window.location.hostname)&&("1"!=urlParams.embed&&
"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode);a.isOffline()||((new Image).src=IMAGE_PATH+"/help.png");a.actions.addAction("new...",function(){var b=a.isOffline(),c=new NewDialog(a,b);a.showDialog(c.container,b?350:620,b?70:440,!0,!0,function(b){b&&null==a.getCurrentFile()&&a.showSplash()});c.init()});a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,
320,220,!0,!0)};a.actions.addAction("open...",function(){a.pickFile()});a.actions.addAction("close",function(){a.fileLoaded(null)});a.actions.addAction("editShape...",mxUtils.bind(this,function(){d.getSelectionCells();if(1==d.getSelectionCount()){var b=d.getSelectionCell(),c=d.view.getState(b);null!=c&&(null!=c.shape&&null!=c.shape.stencil)&&(b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400),a.showDialog(b.container,640,480,!0,!1),b.init())}}));a.actions.addAction("revisionHistory...",
function(){var b=a.getCurrentFile();null==b||b.constructor!=DriveFile&&b.constructor!=DropboxFile||null==a.drive&&b.constructor==DriveFile||null==a.dropbox&&b.constructor==DropboxFile?a.showError(mxResources.get("error"),mxResources.get("notAvailable"),mxResources.get("ok")):a.spinner.spin(document.body,mxResources.get("loading"))&&(b.constructor==DropboxFile?a.dropbox.client.revisions(b.stat.path,{limit:100},function(c,d){a.spinner.stop();if(null==c){for(var e=[],g=d.length-1;0<=g;g--)(function(c){e.push({modifiedDate:c.clientModifiedAt,
fileSize:c.size,getXml:function(d,e){a.dropbox.client.readFile("/"+b.stat.path,{versionTag:c.versionTag},mxUtils.bind(this,function(a,b){null==a?d(b):e(a)}))},getUrl:function(){return a.getUrl(window.location.pathname+"?rev\x3d"+c.versionTag+"\x26chrome\x3d0\x26edit\x3d_blank")+window.location.hash}})})(d[g]);g=new RevisionDialog(a,e);a.showDialog(g.container,640,480,!0,!0);g.init()}else a.handleError(c)}):a.drive.executeRequest(gapi.client.drive.revisions.list({fileId:b.getId()}),function(c){a.spinner.stop();
for(var d=0;d<c.items.length;d++)(function(c){c.getXml=function(d,e){a.drive.executeRequest(gapi.client.drive.revisions.get({fileId:b.getId(),revisionId:c.id}),function(b){a.drive.getXmlFile(b,null,function(a){d(a.getData())},function(a){e(a)})},function(a){e(a)})};c.getUrl=function(){return a.getUrl(window.location.pathname+"?rev\x3d"+c.id+"\x26chrome\x3d0\x26edit\x3d_blank")+window.location.hash}})(c.items[d]);c=new RevisionDialog(a,c.items);a.showDialog(c.container,640,480,!0,!0);c.init()},function(b){a.spinner.stop();
a.handleError(b)}))});a.actions.addAction("createRevision",function(){a.actions.get("save").funct()},null,null,"Ctrl+S");a.actions.addAction("upload...",function(){var b=a.getCurrentFile();null!=b&&(window.drawdata=a.getFileData(),b=null!=b.getTitle()?b.getTitle():a.defaultFilename,window.open(window.location.protocol+"//"+window.location.host+"/?create\x3ddrawdata\x26"+(a.mode==App.MODE_DROPBOX?"mode\x3ddropbox\x26":"")+"title\x3d"+encodeURIComponent(b)))});if("undefined"!==typeof MathJax){var l=
a.actions.addAction("mathematicalTypesetting",function(){a.setMathEnabled(!a.isMathEnabled())});l.setToggleAction(!0);l.setSelectedCallback(function(){return a.isMathEnabled()});l.isEnabled=b}isLocalStorage&&(l=a.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),l.setToggleAction(!0),l.setSelectedCallback(function(){return mxSettings.getShowStartScreen()}));var n=a.actions.addAction("autosave",function(){a.editor.setAutosave(!a.editor.autosave)});
n.setToggleAction(!0);n.setSelectedCallback(function(){return n.isEnabled()&&a.editor.autosave});a.actions.addAction("editGeometry...",function(){for(var b=d.getSelectionCells(),c=[],e=0;e<b.length;e++)d.getModel().isVertex(b[e])&&c.push(b[e]);0<c.length&&(b=new EditGeometryDialog(a,c),a.showDialog(b.container,180,180,!0,!0),b.init())},null,null,"Ctrl+Shift+M");var m="rounded shadow dashed dashPattern fontFamily fontSize fontColor fontStyle align verticalAlign strokeColor strokeWidth fillColor gradientColor swimlaneFillColor textOpacity gradientDirection glass labelBackgroundColor labelBorderColor opacity spacing spacingTop spacingLeft spacingBottom spacingRight".split(" ");
a.actions.addAction("copyStyle",function(){var b=d.view.getState(d.getSelectionCell());if(d.isEnabled()&&null!=b){a.copiedStyle=mxUtils.clone(b.style);for(var b=d.getModel().getStyle(b.cell),b=null!=b?b.split(";"):[],c=0;c<b.length;c++){var e=b[c],g=e.indexOf("\x3d");if(0<=g){var k=e.substring(0,g),e=e.substring(g+1);null==a.copiedStyle[k]&&"none"==e&&(a.copiedStyle[k]="none")}}a.copiedEdgeStyle=null}},null,null,"Ctrl+Shift+C");a.actions.addAction("pasteStyle",function(){if(d.isEnabled()&&!d.isSelectionEmpty()&&
null!=a.copiedStyle){d.getModel().beginUpdate();try{for(var b=d.getSelectionCells(),c=0;c<b.length;c++)for(var e=d.view.getState(b[c]),g=0;g<m.length;g++){var k=m[g],l=a.copiedStyle[k];e.style[k]!=l&&d.setCellStyles(k,l,[b[c]])}}finally{d.getModel().endUpdate()}}},null,null,"Ctrl+Shift+V");a.actions.put("pageBackgroundImage",new Action(mxResources.get("backgroundImage")+"...",function(){if(!a.isOffline()){var b=new BackgroundImageDialog(a,function(b){a.setBackgroundImage(b)});a.showDialog(b.container,
320,170,!0,!0);b.init()}}));l=a.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){d.setShadowVisible(!d.shadowVisible)}));l.setToggleAction(!0);l.setSelectedCallback(function(){return d.shadowVisible});a.actions.put("about",new Action(mxResources.get("aboutDrawio")+"...",function(){a.showDialog((new AboutDialog(a)).container,220,300,!0,!0)},null,null,"F1"));a.actions.addAction("userManual...",function(){window.open("https://support.draw.io/display/DO/Draw.io+Online+User+Manual")});
a.actions.addAction("support...",function(){window.open("https://support.draw.io/display/DO/draw.io+Online+Support")});a.actions.addAction("exportOptionsDisabled...",function(){a.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});a.actions.addAction("keyboardShortcuts...",function(){mxClient.IS_CHROMEAPP?window.open("https://www.draw.io/shortcuts.svg"):mxClient.IS_SVG?window.open("shortcuts.svg"):window.open("https://www.draw.io/?chrome\x3d0\x26url\x3dhttps%3A%2F%2Fwww.draw.io%2Fshortcuts.svg")});
a.actions.addAction("feedback...",function(){var b=new FeedbackDialog(a);a.showDialog(b.container,610,360,!0,!0);b.init()});a.actions.addAction("quickStart...",function(){window.open("https://www.youtube.com/watch?v\x3d8OaMWa4R1SE\x26t\x3d1")});if(mxClient.IS_CHROMEAPP||isLocalStorage&&"1"!=urlParams.offline)if(this.put("language",new Menu(mxUtils.bind(this,function(b,c){var d=mxUtils.bind(this,function(d){var e=""==d?mxResources.get("automatic"):mxLanguageMap[d],g=null;""!=e&&(g=b.addItem(e,null,
mxUtils.bind(this,function(){mxSettings.setLanguage(d);mxSettings.save();mxClient.language=d;mxResources.loadDefaultBundle=!1;mxResources.add(RESOURCE_BASE);a.alert(mxResources.get("restartForChangeRequired"))}),c),(d==mxLanguage||""==d&&null==mxLanguage)&&b.addCheckmark(g,Editor.checkmarkImage));return g});d("");b.addSeparator(c);for(var e in mxLanguageMap)d(e)}))),"atlas"!=uiTheme){var p=Menus.prototype.createMenubar;Menus.prototype.createMenubar=function(a){var b=p.apply(this,arguments);if(null!=
b){var c=this.get("language");null!=c&&(c=b.addMenu("",c.funct),c.setAttribute("title",mxResources.get("language")),c.style.width="16px",c.style.paddingTop="2px",c.style.paddingLeft="4px",c.innerHTML='\x3cdiv class\x3d"geIcon geSprite geSprite-globe"/\x3e',c.style.zIndex="1",c.style.position="absolute",c.style.top="2px",c.style.right="17px",c.style.display="block",mxClient.IS_VML||mxUtils.setOpacity(c,60),document.body.appendChild(c))}return b}}this.put("help",new Menu(mxUtils.bind(this,function(b,
c){if(!mxClient.IS_CHROMEAPP&&a.isOffline())this.addMenuItems(b,["about"]);else{var e=b.addItem("Search",null,null,c,null,null,!1),g=document.createElement("div");g.style.display="inline";g.innerHTML=':\x3cform style\x3d"display:inline;margin-left:8px;" id\x3d"rw_search_form"target\x3d"_blank" method\x3d"get" action\x3d"https://support.draw.io/dosearchsite.action"\x3e\x3cinput id\x3d"rw_search_query" type\x3d"text" name\x3d"queryString" size\x3d"25"\x3e\x3c/form\x3e';e.firstChild.nextSibling.appendChild(g);
e.style.backgroundColor="whiteSmoke";e.style.cursor="default";var k=g.getElementsByTagName("form")[0],l=g.getElementsByTagName("input")[0];null!=l&&null!=k&&(mxEvent.addListener(k,"submit",function(){a.enableLogging&&((new Image).src="images/log.png?help\x3d"+encodeURIComponent(l.value)+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION));window.setTimeout(function(){a.menubar.hideMenu()},0)}),mxEvent.addGestureListeners(e,function(a){document.activeElement!=l&&l.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},
function(a){mxEvent.consume(a)}),window.setTimeout(function(){l.focus()},0));this.addMenuItems(b,["-","quickStart","userManual","keyboardShortcuts","-"]);mxClient.IS_CHROMEAPP||this.addMenuItems(b,["feedback"]);this.addMenuItems(b,["support","-","about"])}"1"==urlParams.test&&(mxResources.parse("showBoundingBox\x3dShow bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=d.getGraphBounds(),b=d.view.translate,e=d.view.scale;d.insertVertex(c,null,"",a.x/
e-b.x,a.y/e-b.y,a.width/e,a.height/e,"fillColor\x3dnone;strokeColor\x3dred;")})),this.addMenuItems(b,["-","showBoundingBox"],c),mxResources.parse("testXmlImageExport\x3dXML Image Export"),this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=d.getGraphBounds(),c=d.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-b.x)/c),Math.floor((1-b.y)/c));e.scale(1/c);var g=
0,k=e.save;e.save=function(){g++;k.apply(this,arguments)};var l=e.restore;e.restore=function(){g--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",a,g);m.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(d.getView().getState(d.model.root),e);Math.ceil(1*b.width/c+2);Math.ceil(1*b.height/c+2);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(b,["testXmlImageExport"],c),mxResources.parse("animation\x3dAnimation"),
this.editorUi.actions.addAction("animation",mxUtils.bind(this,function(){null==this.animationWindow?(this.animationWindow=new AnimationWindow(this.editorUi,(document.body.offsetWidth-480)/2,120,640,480),this.animationWindow.window.setVisible(!0)):this.animationWindow.window.setVisible(!this.animationWindow.window.isVisible())})),this.addMenuItems(b,["animation"],c),mxResources.parse("testShowRtModel\x3dShow RT model"),mxResources.parse("testDebugRtModel\x3dDebug RT model"),mxResources.parse("testDownloadRtModel\x3dDownload RT model"),
this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&&null!=this.editorUi.getCurrentFile().realtime&&(console.log("bytesUsed",this.editorUi.getCurrentFile().realtime.rtModel.bytesUsed),console.log("root",this.editorUi.getCurrentFile().realtime.dumpRoot()),this.editorUi.getCurrentFile().realtime.check())})),this.editorUi.actions.addAction("testDebugRtModel",mxUtils.bind(this,function(){gapi.drive.realtime.debug()})),this.editorUi.actions.addAction("testDownloadRtModel",
mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();null!=b&&(null!=b.realtime&&a.spinner.spin(document.body,mxResources.get("export")))&&(b=new mxXmlRequest("https://www.googleapis.com/drive/v2/files/"+b.getHash().substring(1)+"/realtime",null,"GET"),b.setRequestHeaders=function(a){mxXmlRequest.prototype.setRequestHeaders.apply(this,arguments);var b=gapi.auth.getToken().access_token;a.setRequestHeader("authorization","Bearer "+b)},b.send(function(b){a.spinner.stop();200==b.getStatus()&&
a.saveLocalFile(b.getText(),"realtime.txt","text/plain")}))})),null!=this.editorUi.getCurrentFile()&&null!=this.editorUi.getCurrentFile().realtime&&this.addMenuItems(b,["-","testShowRtModel","testDebugRtModel","testDownloadRtModel"],c),mxResources.parse("testShowConsole\x3dShow Console"),this.editorUi.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.addMenuItems(b,["-","testShowConsole"]))})));
a.actions.addAction("shapes...",function(){mxClient.IS_CHROMEAPP||!a.isOffline()?a.showDialog((new MoreShapesDialog(a,!0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):a.showDialog((new MoreShapesDialog(a,!1)).container,360,isLocalStorage?mxClient.IS_IOS?300:280:260,!0,!0)});a.actions.addAction("createShape...",function(){var b=a.getCurrentFile();if("1"==urlParams.embed||null!=b&&b.isEditable())b=new mxCell("",new mxGeometry(0,0,120,120),a.defaultCustomShapeStyle),b.vertex=!0,b=
new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400),a.showDialog(b.container,640,480,!0,!1),b.init()});a.actions.put("embedHtml",new Action(mxResources.get("html")+"...",function(){var b=new EmbedHtmlDialog(a);a.showDialog(b.container,550,400,!0,!0);b.init()}));a.actions.put("embedSvg",new Action(mxResources.get("formatSvg")+"...",function(){var b=new EmbedSvgDialog(a);a.showDialog(b.container,550,400,!0,!0);b.init()}));a.actions.put("embedIframe",new Action(mxResources.get("iframe")+
"...",function(){var b=new IframeDialog(a);a.showDialog(b.container,420,210,!0,!0);b.init()}));a.actions.put("publishLink",new Action(mxResources.get("link")+"...",function(){var b=new IframeDialog(a,!1,!0);a.showDialog(b.container,420,210,!0,!0);b.init()}));a.actions.put("embedImage",new Action(mxResources.get("image")+"...",function(){var b=new EmbedSvgDialog(a,!0);a.showDialog(b.container,550,400,!0,!0);b.init()}));a.actions.put("liveImage",new Action("Live image...",function(){var b=new IframeDialog(a,
!0);a.showDialog(b.container,420,180,!0,!0);b.init()}));a.actions.addAction("googleDocs...",function(){window.open("http://docsaddon.draw.io")});a.actions.addAction("googleSites...",function(){var b=new GoogleSitesDialog(a);a.showDialog(b.container,420,256,!0,!0);b.init()});isLocalStorage&&(l=a.actions.addAction("scratchpad",function(){a.toggleScratchpad()}),l.setToggleAction(!0),l.setSelectedCallback(function(){return null!=a.scratchpad}),a.actions.addAction("plugins...",function(){a.showDialog((new PluginsDialog(a)).container,
360,156,!0,!1)}));l=a.actions.addAction("search",function(){var b=a.sidebar.isEntryVisible("search");a.sidebar.showPalette("search",!b);isLocalStorage&&(mxSettings.settings.search=!b,mxSettings.save())});l.setToggleAction(!0);l.setSelectedCallback(function(){return a.sidebar.isEntryVisible("search")});"1"==urlParams.embed&&(a.actions.get("save").funct=function(b){d.isEditing()&&d.stopEditing();var c=mxUtils.getXml(a.editor.getGraphXml());if("json"==urlParams.proto){var e=a.createLoadMessage("save");
e.xml=c;b&&(e.exit=!0);c=JSON.stringify(e)}(window.opener||window.parent).postMessage(c,"*");"0"!=urlParams.modified&&(a.editor.modified=!1)},a.actions.addAction("saveAndExit",function(){a.actions.get("save").funct(!0)}),a.actions.addAction("exit",function(){var b=function(){var b="json"==urlParams.proto?JSON.stringify({event:"exit",modified:a.editor.modified}):"";(window.opener||window.parent).postMessage(b,"*")};a.editor.modified?a.confirm(mxResources.get("allChangesLost"),b):b()}));this.put("exportAs",
new Menu(mxUtils.bind(this,function(b,c){a.isExportToCanvas()?b.addItem(mxResources.get("image")+"...",null,mxUtils.bind(this,function(){a.showExportDialog(!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,b,c,d,e){a=parseInt(a);!isNaN(a)&&0<a&&this.editorUi.exportImage(a/100,b,c,d,e)}))}),c):!a.isOffline()&&(!mxClient.IS_IOS||!navigator.standalone)&&b.addItem(mxResources.get("image")+"...",null,mxUtils.bind(this,function(){a.showRemoteExportDialog(mxResources.get("export"),
null,mxUtils.bind(this,function(a,b){this.editorUi.downloadFile(b?"xmlpng":"png",null,null,a)}))}),c);b.addItem(mxResources.get("formatSvg")+"...",null,mxUtils.bind(this,function(){a.showExportDialog(!0,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,b,c,d,e,f){a=parseInt(a);!isNaN(a)&&0<a&&this.editorUi.exportSvg(a/100,b,c,d,e,f)}))}),c);b.addSeparator(c);b.addItem(mxResources.get("formatHtmlEmbedded")+"...",null,mxUtils.bind(this,function(){this.editorUi.downloadFile("html")}),
c);mxClient.IS_CHROMEAPP?b.addItem(mxResources.get("formatPdf")+"...",null,this.editorUi.actions.get("print").funct,c):!a.isOffline()&&(!mxClient.IS_IOS||!navigator.standalone)&&b.addItem(mxResources.get("formatPdf")+"...",null,mxUtils.bind(this,function(){var b=document.createElement("div");b.style.padding="6px";var c=document.createElement("input");c.style.marginRight="8px";c.setAttribute("type","checkbox");d.isSelectionEmpty()?c.setAttribute("disabled","disabled"):(c.setAttribute("checked","checked"),
c.defaultChecked=!0);b.appendChild(c);mxUtils.write(b,mxResources.get("selectionOnly"));mxUtils.br(b);var e=document.createElement("input");e.setAttribute("type","checkbox");e.style.marginTop="16px";e.style.marginRight="8px";d.pageVisible||(e.setAttribute("checked","checked"),e.defaultChecked=!0);b.appendChild(e);mxUtils.write(b,mxResources.get("crop"));b=new CustomDialog(a,b,mxUtils.bind(this,function(){var a=d.pageVisible;d.pageVisible=!e.checked;this.editorUi.downloadFile("pdf",null,null,!c.checked);
d.pageVisible=a}),null,mxResources.get("export"));this.editorUi.showDialog(b.container,300,120,!0,!0)}),c);b.addSeparator(c);b.addItem(mxResources.get("formatXml")+"...",null,mxUtils.bind(this,function(){var b=null==a.pages||1>=a.pages.length,c=document.createElement("div");c.style.padding="6px";var e=document.createElement("input");e.style.marginRight="8px";e.setAttribute("type","checkbox");d.isSelectionEmpty()?e.setAttribute("disabled","disabled"):(e.setAttribute("checked","checked"),e.defaultChecked=
!0);c.appendChild(e);mxUtils.write(c,mxResources.get("selectionOnly"));var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";b&&(mxUtils.br(c),c.appendChild(g),mxUtils.write(c,mxResources.get("compressed")));c=new CustomDialog(a,c,mxUtils.bind(this,function(){a.downloadFile("xml",!g.checked,null,!e.checked)}),null,mxResources.get("export"));a.showDialog(c.container,300,b?120:
80,!0,!0)}),c);a.isOffline()||(b.addSeparator(c),this.addMenuItem(b,"export",c).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.editorUi.actions.addAction("chatWindowTitle...",mxUtils.bind(this.editorUi,this.editorUi.toggleChat));this.put("importFrom",new Menu(function(b,c){function l(b){if(b&&Graph.fileSupport&&!mxClient.IS_IE&&!mxClient.IS_IE11){var c=document.createElement("input");c.setAttribute("type","file");mxEvent.addListener(c,"change",function(){null!=c.files&&
a.importFiles(c.files,null,null,a.maxImageSize)});c.click()}else{window.openNew=!1;window.openKey="import";var e=Editor.useLocalStorage;Editor.useLocalStorage=!b;window.openFile=new OpenFile(function(b){a.hideDialog(b)});window.openFile.setConsumer(function(b,c){d.setSelectionCells(a.importXml(b))});a.showDialog((new OpenDialog(a)).container,360,220,!0,!0,function(){window.openFile=null});var g=a.dialog,k=g.close;a.dialog.close=function(b){Editor.useLocalStorage=e;k.apply(g,arguments);b&&(null==a.getCurrentFile()&&
"1"!=urlParams.embed)&&a.showSplash()}}}function m(b){b.pickFile(function(c){if(a.spinner.spin(document.body,mxResources.get("loading")))if(b==a.dropbox){var d=/(\.png)$/i.test(c)?"image/png":"text/xml";a.loadUrl(c,function(a){n(a,d,c)},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},"image/png"==d)}else b.getFile(c,function(a){var b=/(\.png)$/i.test(a.getTitle())?"image/png":"text/xml";n(a.getData(),b,a.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):
null)},!0)},!0)}var n=mxUtils.bind(this,function(b,c,e){"image/png"==c?a.loadImage(b,mxUtils.bind(this,function(g){a.resizeImage(g,b,mxUtils.bind(this,function(g,k,l){g=Math.min(1,Math.min(a.maxImageSize/k,a.maxImageSize/l));a.importFile(b,c,0,0,Math.round(k*g),Math.round(l*g),e,function(b){a.spinner.stop();d.setSelectionCells(b)})}),!0)})):a.importFile(b,c,0,0,0,0,e,function(b){a.spinner.stop();d.setSelectionCells(b)})});null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){m(a.drive)},
c):e&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){m(a.dropbox)},c):g&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){m(a.oneDrive)},c):k&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},
c,null,!1);b.addSeparator(c);b.addItem(mxResources.get("browser")+"...",null,function(){l(!1)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){l(!0)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":"text/xml";a.loadUrl(PROXY_URL+"?url\x3d"+
encodeURIComponent(b),function(a){n(a,c,b)},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))})).isEnabled=b;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"),null,function(){mxSettings.setUi("");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"!=uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);
d=b.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage)})));this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():this.editorUi.defaultFilename,c=new FilenameDialog(this.editorUi,c,mxResources.get("rename"),mxUtils.bind(this,function(a){null!=
a&&(0<a.length&&null!=b&&this.editorUi.spinner.spin(document.body,mxResources.get("renaming")))&&b.rename(a,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),b.constructor==DriveFile||b.constructor==StorageFile?mxResources.get("diagramName"):null,function(b){if(null!=b&&0<b.length)return!0;a.showError(mxResources.get("error"),mxResources.get("invalidName"),mxResources.get("ok"));
return!1});this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}})).isEnabled=b;a.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var b=a.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():a.defaultFilename,d="",e=c.lastIndexOf(".");0<=e&&(d=c.substring(e),c=c.substring(0,e));c=mxResources.get("copyOf",[c])+d;b.constructor==DriveFile?(c=new CreateDialog(a,c,mxUtils.bind(this,function(c,d){"download"==d&&(d=App.MODE_GOOGLE);null!=c&&0<c.length&&(d==App.MODE_GOOGLE?
a.spinner.spin(document.body,mxResources.get("saving"))&&b.save(!1,mxUtils.bind(this,function(){b.saveAs(c,mxUtils.bind(this,function(b){a.spinner.stop();var c=a.getUrl();window.openWindow(c+"#G"+b.id,null,mxUtils.bind(this,function(){window.location.hash="G"+b.id}))}),mxUtils.bind(this,function(b){a.handleError(b)}))}),mxUtils.bind(this,function(b){a.handleError(b)})):this.editorUi.createFile(c,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){a.hideDialog()}),mxResources.get("makeCopy"),
mxResources.get("create"),null,null,null,null,!0),a.showDialog(c.container,420,380,!0,!0),c.init()):a.editor.editAsNew(a.getEditBlankXml(),c)}}));a.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var b=a.getCurrentFile();(b.getMode()==App.MODE_GOOGLE||b.getMode()==App.MODE_ONEDRIVE)&&a.pickFolder(b.getMode(),mxUtils.bind(this,function(c){a.spinner.spin(document.body,mxResources.get("moving"))&&b.move(c,mxUtils.bind(this,function(b){a.spinner.stop()}),mxUtils.bind(this,function(b){a.handleError(b)}))}))}));
a.actions.addAction("imgur...",mxUtils.bind(this,function(){a.publishImage(mxUtils.bind(a,a.uploadToImgur))}));a.actions.addAction("github...",mxUtils.bind(this,function(){a.publishImage(mxUtils.bind(a,a.uploadToGithub))}));this.put("publish",new Menu(mxUtils.bind(this,function(b,c){if(null==document.documentMode||10<=document.documentMode)"undefined"!==typeof XMLHttpRequest&&this.addMenuItems(b,["github"],c),this.addMenuItems(b,["imgur"],c);!navigator.standalone&&!a.isOffline()&&this.addMenuItems(b,
["publishLink"],c)})));a.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){window.open("http://www.draw.io/app")}));a.actions.put("chromeApp",new Action(mxResources.get("chromeApp")+"...",function(){window.open("https://chrome.google.com/webstore/detail/drawio-desktop/pebppomjfocnoigkeepgbmcifnnlndla")}));this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();null!=a&&this.editorUi.drive.showPermissions(a.getId())}));
this.put("embed",new Menu(mxUtils.bind(this,function(b,c){"1"==urlParams.test&&this.addMenuItems(b,["liveImage","-"],c);this.addMenuItems(b,["embedImage","embedSvg","-","embedHtml"],c);!navigator.standalone&&!a.isOffline()&&this.addMenuItems(b,["embedIframe"],c);a.isOffline()||this.addMenuItems(b,["-","googleSites","googleDocs"],c)})));this.put("arrange",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["toFront","toBack","-"],b);this.addSubmenu("direction",a,b);this.addMenuItems(a,["turn",
"-"],b);this.addSubmenu("align",a,b);this.addSubmenu("distribute",a,b);a.addSeparator(b);this.addSubmenu("navigation",a,b);this.addSubmenu("insert",a,b);this.addSubmenu("layout",a,b);this.addMenuItems(a,"- group ungroup removeFromGroup - editGeometry clearWaypoints autosize".split(" "),b)})));var r="horizontalFlow verticalFlow - horizontalTree verticalTree - organic circle - fromText".split(" "),s=function(b,c,d,e){b.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e){var b=new ParseDialog(a,
d);a.showDialog(b.container,620,420,!0,!1);a.dialog.container.style.overflow="auto"}else b=new CreateGraphDialog(a,d,e),a.showDialog(b.container,620,420,!0,!1);b.init()}),c)};a.actions.addAction("insertText",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var a=d.getInsertPoint(),a=new mxCell("Text",new mxGeometry(a.x,a.y,40,20),"text;html\x3d1;resizable\x3d0;autosize\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d-4;points\x3d[];");a.vertex=!0;d.startEditingAtCell(d.addCell(a))}},
null,null,"Ctrl+Shift+X").isEnabled=b;a.actions.addAction("insertRectangle",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var a=d.getInsertPoint(),a=new mxCell("",new mxGeometry(a.x,a.y,120,60),"whiteSpace\x3dwrap;html\x3d1;");a.vertex=!0;d.setSelectionCell(d.addCell(a))}},null,null,"Ctrl+K").isEnabled=b;a.actions.addAction("insertEllipse",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var a=d.getInsertPoint(),a=new mxCell("",new mxGeometry(a.x,a.y,80,80),
"ellipse;whiteSpace\x3dwrap;html\x3d1;");a.vertex=!0;d.setSelectionCell(d.addCell(a))}},null,null,"Ctrl+Shift+K").isEnabled=b;this.put("insert",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"insertText insertRectangle insertEllipse - insertLink insertImage".split(" "),b);a.addSeparator(b);for(var c=0;c<r.length;c++)"-"==r[c]?a.addSeparator(b):s(a,b,mxResources.get(r[c]),r[c])})));this.put("openRecent",new Menu(function(b,c){var d=a.getRecent(),e=0;if(null!=d){for(var g=0;g<d.length;g++)(function(d){e++;
var g=d.mode;g==App.MODE_GOOGLE?g="googleDrive":g==App.MODE_ONEDRIVE&&(g="oneDrive");b.addItem(d.title+" ("+mxResources.get(g)+")",null,function(){a.loadFile(d.id)},c)})(d[g]);b.addSeparator(c)}b.addItem(mxResources.get("reset"),null,function(){a.resetRecent()},c)}));this.put("openFrom",new Menu(function(b,c){null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickFile(App.MODE_GOOGLE)},c):e&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",
null,function(){},c,null,!1);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickFile(App.MODE_DROPBOX)},c):g&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickFile(App.MODE_ONEDRIVE)},c):k&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&b.addItem(mxResources.get("browser")+
"...",null,function(){a.pickFile(App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.pickFile(App.MODE_DEVICE)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?url\x3d"+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));
a.showDialog(b.container,300,80,!0,!0);b.init()},c))}));this.put("newLibrary",new Menu(function(b,c){null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},c):e&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DROPBOX)},c):g&&b.addItem(mxResources.get("dropbox")+
" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},c):k&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&b.addItem(mxResources.get("browser")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+
"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},c)}));this.put("openLibraryFrom",new Menu(function(b,c){null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickLibrary(App.MODE_GOOGLE)},c):e&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickLibrary(App.MODE_DROPBOX)},c):g&&b.addItem(mxResources.get("dropbox")+
" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickLibrary(App.MODE_ONEDRIVE)},c):k&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&b.addItem(mxResources.get("browser")+"...",null,function(){a.pickLibrary(App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.pickLibrary(App.MODE_DEVICE)},
c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){null!=b&&(0<b.length&&a.spinner.spin(document.body,mxResources.get("loading")))&&mxUtils.get(PROXY_URL+"?url\x3d"+encodeURIComponent(b),function(c){if(200==c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(d){a.handleError(d,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),a.handleError(null,
mxResources.get("errorLoadingFile"))},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))})},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))}));this.put("view",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(b,["-","search"],c);if(isLocalStorage){var d=this.addMenuItem(b,"scratchpad",c);a.isOffline()||this.addLinkToItem(d,"https://support.draw.io/questions/10420280")}this.addMenuItems(b,
"shapes - pageView pageScale - scrollbars tooltips - grid guides".split(" "),c);mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(b,"shadowVisible",c);this.addMenuItems(b,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),c)})));this.put("extras",new Menu(mxUtils.bind(this,function(b,c){"1"!=urlParams.embed&&(this.addSubmenu("theme",b,c),b.addSeparator(c));this.addMenuItems(b,["copyConnect","collapseExpand","-"],c);if("undefined"!==
typeof MathJax){var d=this.addMenuItem(b,"mathematicalTypesetting",c);this.addLinkToItem(d,"https://desk.draw.io/solution/articles/16000032875-how-to-use-mathematical-typesetting-")}this.addMenuItems(b,["autosave","-","createShape","editDiagram"],c);b.addSeparator(c);"1"!=urlParams.embed&&isLocalStorage&&this.addMenuItems(b,["showStartScreen"],c);!a.isOfflineApp()&&"1"!=urlParams.embed?this.addMenuItems(b,["plugins","-","offline"],c):b.addSeparator(c);!a.isOffline()&&(!navigator.standalone&&"1"!=
urlParams.embed)&&this.addMenuItems(b,["chromeApp"],c)})));this.put("file",new Menu(mxUtils.bind(this,function(b,c){if("1"==urlParams.embed)this.addSubmenu("importFrom",b,c),this.addSubmenu("exportAs",b,c),this.addSubmenu("embed",b,c),"1"==urlParams.libraries&&(this.addMenuItems(b,["-"],c),this.addSubmenu("newLibrary",b,c),this.addSubmenu("openLibraryFrom",b,c)),this.addMenuItems(b,["-","pageSetup","print","-","save"],c),"1"==urlParams.saveAndExit&&this.addMenuItems(b,["saveAndExit"],c),this.addMenuItems(b,
["exit"],c);else{var d=this.editorUi.getCurrentFile();null!=d&&d.constructor==DriveFile?(d.isRestricted()&&this.addMenuItems(b,["exportOptionsDisabled"],c),null==d.realtime?this.addMenuItems(b,["save","share","-"],c):(d.isAutosave()||this.addMenuItems(b,["save"],c),this.addMenuItems(b,["share","chatWindowTitle","-"],c))):this.addMenuItems(b,["new"],c);this.addSubmenu("openFrom",b,c);isLocalStorage&&this.addSubmenu("openRecent",b,c);null!=d&&d.constructor==DriveFile?this.addMenuItems(b,["new","-",
"rename","makeCopy","moveToFolder"],c):(this.addMenuItems(b,["-","save","saveAs","-","rename"],c),a.isOfflineApp()?a.isOffline()||this.addMenuItems(b,["upload"],c):(this.addMenuItems(b,["makeCopy"],c),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(b,["moveToFolder"],c)));b.addSeparator(c);this.addSubmenu("importFrom",b,c);this.addSubmenu("exportAs",b,c);b.addSeparator(c);this.addSubmenu("embed",b,c);this.addSubmenu("publish",b,c);b.addSeparator(c);this.addSubmenu("newLibrary",b,c);this.addSubmenu("openLibraryFrom",
b,c);null!=d&&(d.constructor==DriveFile||d.constructor==DropboxFile)&&this.addMenuItems(b,["-","revisionHistory"],c);null!=d&&d.constructor==DriveFile&&this.addMenuItems(b,["createRevision"],c);this.addMenuItems(b,["-","pageSetup"],c);(!mxClient.IS_IOS||!navigator.standalone)&&this.addMenuItems(b,["print"],c);this.addMenuItems(b,["-","close"])}})))}})();function DiagramPage(a){this.node=a}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")};DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,c,f){this.ui=a;this.page=c;this.previous=f}
RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))};function MovePage(a,c,f){this.ui=a;this.oldIndex=c;this.newIndex=f}
MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))};function SelectPage(a,c){this.ui=a;this.previousPage=this.page=c;this.ui.updatePageRoot(c)}
SelectPage.prototype.execute=function(){var a=this.ui.currentPage,c=this.ui.editor,f=c.graph,d=c.graph.compress(f.zapGremlins(mxUtils.getXml(c.getGraphXml(!0))));mxUtils.setTextContent(a.node,d);a.viewState=f.getViewState();a.root=f.model.root;f.view.clear(a.root,!0);f.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;f.model.rootChanged(a.root);f.setViewState(a.viewState);f.gridEnabled=f.gridEnabled&&(!this.ui.editor.chromeless||"1"==urlParams.grid);
c.fireEvent(new mxEventObject("setViewState","change",this));c.updateGraphComponents();f.view.validate();f.sizeDidChange();c.graph.fireEvent(new mxEventObject(mxEvent.ROOT));c.fireEvent(new mxEventObject("pageSelected","change",this))};function ChangePage(a,c,f,d){SelectPage.call(this,a,f);this.relatedPage=c;this.index=d;this.previousIndex=null}mxUtils.extend(ChangePage,SelectPage);
ChangePage.prototype.execute=function(){this.previousIndex=this.index;if(null==this.index){var a=mxUtils.indexOf(this.ui.pages,this.relatedPage);this.ui.pages.splice(a,1);this.index=a}else this.ui.pages.splice(this.index,0,this.relatedPage),this.index=null;SelectPage.prototype.execute.apply(this,arguments)};
EditorUi.prototype.initPages=function(){var a=null;this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage");this.keyHandler.bindAction(34,!0,"nextPage");var c=this.editor.graph,f=c.view.validateBackground;c.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var a=this.tabContainer.style.height;
this.tabContainer.style.height=null==this.fileNode||null==this.pages||1==this.pages.length&&"1"!=urlParams.pages?"0px":"30px";a!=this.tabContainer.style.height&&this.refresh(!1)}f.apply(c.view,arguments)});this.editor.addListener("fileLoaded",mxUtils.bind(this,function(){this.updateTabContainer()}));var d=!1;this.editor.addListener("pageSelected",mxUtils.bind(this,function(b,e){this.updateTabContainer();var f=this.currentPage;if(null!=f&&f!=a){if(null==f.viewState||null==f.viewState.scrollLeft)this.resetScrollbars(),
this.editor.graph.lightbox&&this.lightboxFit(),null!=this.chromelessResize&&(c.container.scrollLeft=0,c.container.scrollTop=0,this.chromelessResize());else{var k=null!=f.viewState.translate?f.viewState.translate.y-c.view.translate.y:0;c.container.scrollLeft=f.viewState.scrollLeft-(null!=f.viewState.translate?f.viewState.translate.x-c.view.translate.x:0)*c.view.scale;c.container.scrollTop=f.viewState.scrollTop-k*c.view.scale}a=f}null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();
"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?d||(1==MathJax.Hub.queue.pending&&!this.editor.graph.mathEnabled&&MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})),MathJax.Hub.Queue(mxUtils.bind(this,function(){d=!0}))):"undefined"!==typeof Editor.MathJaxClear&&!this.editor.graph.mathEnabled&&(d=!0,Editor.MathJaxClear())}));this.editor.addListener("pageMoved",mxUtils.bind(this,function(a,c){this.updateTabContainer()}));this.editor.addListener("pageRenamed",
mxUtils.bind(this,function(a,c){this.updateTabContainer()}))};
Graph.prototype.createViewState=function(a){var c=a.getAttribute("page"),f=a.getAttribute("pageScale"),d=a.getAttribute("pageWidth"),b=a.getAttribute("pageHeight"),e=a.getAttribute("background"),g=a.getAttribute("backgroundImage"),g=null!=g&&0<g.length?JSON.parse(g):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==
a.getAttribute("shadow"),pageVisible:this.lightbox?!1:null!=c?"0"!=c:this.defaultPageVisible,background:null!=e&&0<e.length?e:this.defaultGraphBackground,backgroundImage:null!=g?new mxImage(g.src,g.width,g.height):null,pageScale:null!=f?f:mxGraph.prototype.pageScale,pageFormat:null!=d&&null!=b?new mxRectangle(0,0,parseFloat(d),parseFloat(b)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),mathEnabled:"0"!=a.getAttribute("math"),selectionCells:null,defaultParent:null,
scrollbars:this.defaultScrollbars,scale:1}};
Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled()?"1":"0",
connect:this.connectionHandler.isEnabled()?"1":"0",scale:this.view.scale,scrollLeft:this.container.scrollLeft,scrollTop:this.container.scrollTop,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}};
Graph.prototype.setViewState=function(a){null!=a?(this.lastPasteXml=a.lastPasteXml,this.pasteCounter=a.pasteCounter||0,this.mathEnabled=a.mathEnabled,this.gridEnabled=a.gridEnabled,this.gridSize=a.gridSize,this.graphHandler.guidesEnabled=a.guidesEnabled,this.foldingEnabled=a.foldingEnabled,this.setShadowVisible(a.shadowVisible,!1),this.scrollbars=a.scrollbars,this.pageVisible=a.pageVisible,this.background=a.background,this.backgroundImage=a.backgroundImage,this.pageScale=a.pageScale,this.pageFormat=
a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.setTooltips(a.tooltips),this.setConnectable(a.connect),null!=a.translate&&(this.view.translate=a.translate),this.preferPageSize=this.pageBreaksVisible=this.pageVisible):(this.lastPasteXml=this.view.currentRoot=null,this.pasteCounter=0,this.mathEnabled=!1)};
EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var c=this.editor.extractGraphModel(a.node);if(null!=c){a.graphModelNode=c;a.viewState=this.editor.graph.createViewState(c);var f=new mxCodec(c.ownerDocument);a.root=f.decode(c).root}else a.root=this.editor.graph.model.createRoot()}};
EditorUi.prototype.selectPage=function(a){this.editor.graph.stopEditing();a=new SelectPage(this,a);a.execute();var c=new mxUndoableEdit(this,!0);c.add(a);this.editor.graph.view.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",c))};EditorUi.prototype.selectNextPage=function(a){var c=this.currentPage;null!=c&&null!=this.pages&&(c=mxUtils.indexOf(this.pages,c),a&&c<this.pages.length-1?this.selectPage(this.pages[c+1]):!a&&0<c&&this.selectPage(this.pages[c-1]))};
EditorUi.prototype.insertPage=function(a,c){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();c=null!=c?c:this.pages.length;var f=new ChangePage(this,a,a,c);this.editor.graph.model.execute(f)}return a};EditorUi.prototype.createPage=function(a){var c=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));c.setName(null!=a?a:this.createPageName());return c};
EditorUi.prototype.createPageName=function(){for(var a={},c=0;c<this.pages.length;c++){var f=this.pages[c].getName();null!=f&&0<f.length&&(a[f]=f)}c=this.pages.length;f=null;do f=mxResources.get("pageWithNumber",[++c]);while(null!=a[f]);return f};
EditorUi.prototype.removePage=function(a){var c=this.editor.graph;if(c.isEnabled()){c.model.beginUpdate();try{var f=this.currentPage;if(f==a)if(1<this.pages.length){var d=mxUtils.indexOf(this.pages,a);d==this.pages.length-1?d--:d++;f=this.pages[d]}else f=this.insertPage(),c.model.execute(new RenamePage(this,f,mxResources.get("pageWithNumber",[1])));c.model.execute(new ChangePage(this,a,f))}finally{c.model.endUpdate()}}return a};
EditorUi.prototype.duplicatePage=function(a,c){var f=this.editor.graph,d=null;f.isEnabled()&&(d=new DiagramPage(a.node.cloneNode(!1)),d.root=f.cloneCells([f.model.root])[0],d.setName(c),d=this.insertPage(d,mxUtils.indexOf(this.pages,a)+1));return d};
EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var c=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(c){null!=c&&0<c.length&&this.editor.graph.model.execute(new RenamePage(this,a,c))}),mxResources.get("rename"));this.showDialog(c.container,300,80,!0,!0);c.init()}return a};EditorUi.prototype.movePage=function(a,c){this.editor.graph.model.execute(new MovePage(this,a,c))};
EditorUi.prototype.createTabContainer=function(){var a=document.createElement("div");a.style.backgroundColor="#dcdcdc";a.style.position="absolute";a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.height="0px";return a};
EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,c=document.createElement("div");c.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";c.style.height=this.tabContainer.style.height;c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.fontSize="12px";c.style.marginLeft="30px";for(var f=this.editor.chromeless?29:59,d=Math.min(140,Math.max(20,(this.tabContainer.clientWidth-f)/this.pages.length)+1),b=null,e=0;e<this.pages.length;e++)mxUtils.bind(this,
function(d,e){this.pages[d]==this.currentPage&&(e.style.backgroundColor="#eeeeee",e.style.fontWeight="bold",e.style.borderTopStyle="none");e.setAttribute("draggable","true");mxEvent.addListener(e,"dragstart",mxUtils.bind(this,function(c){a.isEnabled()?b=d:mxEvent.consume(c)}));mxEvent.addListener(e,"dragend",mxUtils.bind(this,function(a){b=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(e,"dragover",mxUtils.bind(this,function(a){null!=b&&(a.dataTransfer.dropEffect="move");a.stopPropagation();
a.preventDefault()}));mxEvent.addListener(e,"drop",mxUtils.bind(this,function(a){null!=b&&d!=b&&this.movePage(b,d);a.stopPropagation();a.preventDefault()}));c.appendChild(e)})(e,this.createTabForPage(this.pages[e],d,this.pages[e]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(c);d=this.createPageMenuTab();this.tabContainer.appendChild(d);d=null;a.isEnabled()&&(d=this.createPageInsertTab(),this.tabContainer.appendChild(d));if(c.clientWidth>this.tabContainer.clientWidth-
f){null!=d&&(d.style.position="absolute",d.style.right="0px",c.style.marginRight="30px");var g=this.createControlTab(4,"\x26nbsp;\x26#10094;\x26nbsp;");g.style.position="absolute";g.style.right=this.editor.chromeless?"29px":"55px";g.style.fontSize="13pt";this.tabContainer.appendChild(g);var k=this.createControlTab(4,"\x26nbsp;\x26#10095;");k.style.position="absolute";k.style.right=this.editor.chromeless?"0px":"29px";k.style.fontSize="13pt";this.tabContainer.appendChild(k);var l=Math.max(0,this.tabContainer.clientWidth-
(this.editor.chromeless?86:116));c.style.width=l+"px";mxEvent.addListener(g,"click",mxUtils.bind(this,function(a){c.scrollLeft-=Math.max(20,l-20);mxUtils.setOpacity(g,0<c.scrollLeft?100:50);mxUtils.setOpacity(k,c.scrollLeft<c.scrollWidth-c.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(g,0<c.scrollLeft?100:50);mxUtils.setOpacity(k,c.scrollLeft<c.scrollWidth-c.clientWidth?100:50);mxEvent.addListener(k,"click",mxUtils.bind(this,function(a){c.scrollLeft+=Math.max(20,l-20);mxUtils.setOpacity(g,
0<c.scrollLeft?100:50);mxUtils.setOpacity(k,c.scrollLeft<c.scrollWidth-c.clientWidth?100:50);mxEvent.consume(a)}))}}};
EditorUi.prototype.createTab=function(a){var c=document.createElement("div");c.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";c.style.whiteSpace="nowrap";c.style.boxSizing="border-box";c.style.position="relative";c.style.overflow="hidden";c.style.marginLeft="-1px";c.style.height=this.tabContainer.clientHeight+"px";c.style.padding="8px";c.style.border="1px solid #c0c0c0";c.style.borderBottomStyle="solid";c.style.backgroundColor=this.tabContainer.style.backgroundColor;c.style.cursor="default";
c.style.color="gray";a&&(mxEvent.addListener(c,"mouseenter",mxUtils.bind(this,function(a){this.editor.graph.isMouseDown||(c.style.backgroundColor="#d3d3d3",mxEvent.consume(a))})),mxEvent.addListener(c,"mouseleave",mxUtils.bind(this,function(a){c.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(a)})));return c};
EditorUi.prototype.createControlTab=function(a,c){var f=this.createTab(!0);f.style.paddingTop=a+"px";f.style.cursor="pointer";f.style.padding="4px";f.style.width="30px";f.innerHTML=c;null!=f.firstChild&&null!=f.firstChild.style&&mxUtils.setOpacity(f.firstChild,40);return f};
EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'\x3cdiv class\x3d"geSprite geSprite-dots" style\x3d"display:inline-block;width:21px;height:21px;"\x3e\x3c/div\x3e');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var f=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var c=0;c<this.pages.length;c++)mxUtils.bind(this,
function(c){var d=a.addItem(this.pages[c].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[c])}),b);this.pages[c]==this.currentPage&&a.addCheckmark(d,Editor.checkmarkImage)})(c);this.editor.graph.isEnabled()&&(a.addSeparator(b),a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),b))}));f.div.className+=" geMenubarMenu";f.smartSeparators=!0;f.showDisabled=!0;f.autoExpand=!0;f.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(f,
arguments);f.destroy()});var d=mxEvent.getClientX(a),b=mxEvent.getClientY(a);f.popup(d,b,null,a);this.setCurrentMenu(f);mxEvent.consume(a)}));return a};
EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'\x3cdiv class\x3d"geSprite geSprite-plus" style\x3d"display:inline-block;width:21px;height:21px;"\x3e\x3c/div\x3e');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a};
EditorUi.prototype.createTabForPage=function(a,c,f){f=this.createTab(f);var d=a.getName();f.setAttribute("title",d);mxUtils.write(f,d);f.style.maxWidth=c+"px";f.style.width=c+"px";this.addTabListeners(a,f);42<c&&(f.style.textOverflow="ellipsis");return f};
EditorUi.prototype.addTabListeners=function(a,c){mxEvent.disableContextMenu(c);var f=this.editor.graph;mxEvent.addListener(c,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var d=!1,b=!1;mxEvent.addGestureListeners(c,mxUtils.bind(this,function(c){d=null!=this.currentMenu;b=a==this.currentPage;!f.isMouseDown&&!b&&this.selectPage(a)}),null,mxUtils.bind(this,function(e){if(f.isEnabled()&&!f.isMouseDown&&(mxEvent.isTouchEvent(e)&&b||mxEvent.isPopupTrigger(e))){f.popupMenuHandler.hideMenu();
this.hideCurrentMenu();if(!mxEvent.isTouchEvent(e)||!d){var g=new mxPopupMenu(this.createPageMenu(a));g.div.className+=" geMenubarMenu";g.smartSeparators=!0;g.showDisabled=!0;g.autoExpand=!0;g.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(g,arguments);this.resetCurrentMenu();g.destroy()});var k=mxEvent.getClientX(e),l=mxEvent.getClientY(e);g.popup(k,l,null,e);this.setCurrentMenu(g,c)}mxEvent.consume(e)}}))};
EditorUi.prototype.createPageMenu=function(a,c){return mxUtils.bind(this,function(f,d){f.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),d);f.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),d);f.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,c)}),d);f.addSeparator(d);f.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a,
mxResources.get("copyOf",[a.getName()]))}),d)})};