1(function()
2{
3	// Adds Cisco Safe stencils
4	Sidebar.prototype.addCisco19Palette = function()
5	{
6		var sc = "sketch=0;points=[[0.015,0.015,0],[0.985,0.015,0],[0.985,0.985,0],[0.015,0.985,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];";
7		var s = sc + mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
8			'pointerEvents=1;shape=mxgraph.cisco19.';
9		var s2 = "sketch=0;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0],[0.145,0.145,0],[0.8555,0.145,0],[0.855,0.8555,0],[0.145,0.855,0]];" +
10			mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
11			'pointerEvents=1;shape=mxgraph.cisco19.';
12		var s3 = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;sketch=0;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
13			'pointerEvents=1;shape=mxgraph.cisco19.';
14
15		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19LAN Switching');
16		this.addCisco19LANSwitchingPalette(s, s2, s3);
17		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19Routing WAN');
18		this.addCisco19RoutingWANPalette(s, s2, s3);
19		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19Network Management');
20		this.addCisco19NetworkManagementPalette(s, s2, s3);
21		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19Data Center');
22		this.addCisco19DataCenterPalette(s, s2, s3);
23		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19Wireless LAN');
24		this.addCisco19WirelessLANPalette(s, s2, s3);
25		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19Collaboration');
26		this.addCisco19CollaborationPalette(s, s2, s3);
27		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19Security Clouds Connectors');
28		this.addCisco19SecurityCloudsAndConnectorsPalette(s, s2, s3);
29		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19Endpoint Client Device Icons');
30		this.addCisco19EndpointClientDeviceIconsPalette(s, s2, s3);
31		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19DNA SD Access');
32		this.addCisco19DNASDAccessPalette(s, s2, s3);
33		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19SD WAN Viptela');
34		this.addCisco19SDWANViptelaPalette(s, s2, s3);
35		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19ETA Stealthwatch');
36		this.addCisco19StealthwatchPalette(s, s2, s3);
37		this.setCurrentSearchEntryLibrary('cisco19', 'cisco19SAFE');
38		this.addCisco19SafePalette(s, s2, s3);
39		this.setCurrentSearchEntryLibrary();
40	};
41
42	Sidebar.prototype.addCisco19LANSwitchingPalette = function(s, s2, s3)
43	{
44		var w = 50;
45		var h = 50;
46		var gn = 'mxgraph.cisco19';
47		var dt = 'cisco lan switching local area network';
48
49		this.addPaletteFunctions('cisco19LAN Switching', 'Cisco 19 / LAN Switching', false,
50		[
51			this.createVertexTemplateEntry(s + 'rect;prIcon=l2_switch;fillColor=#FAFAFA;strokeColor=#005073;',
52					w, h, '', 'L2 Switch', null, null, this.getTagsForStencil(gn, 'l2 switch', dt).join(' ')),
53			this.createVertexTemplateEntry(s + 'rect;prIcon=l3_switch;fillColor=#FAFAFA;strokeColor=#005073;',
54					w, h, '', 'L3 Switch', null, null, this.getTagsForStencil(gn, 'l3 switch', dt).join(' ')),
55			this.createVertexTemplateEntry(s + 'rect;prIcon=l2_modular;fillColor=#FAFAFA;strokeColor=#005073;',
56					w, h * 1.46, '', 'L2 Modular', null, null, this.getTagsForStencil(gn, 'l2 modular', dt).join(' ')),
57			this.createVertexTemplateEntry(s + 'rect;prIcon=l3_modular;fillColor=#FAFAFA;strokeColor=#005073;',
58					w, h * 1.46, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')),
59			this.createVertexTemplateEntry(s + 'rect;prIcon=6500_vss;fillColor=#FAFAFA;strokeColor=#005073;',
60					w, h * 1.46, '', '6500 VSS', null, null, this.getTagsForStencil(gn, '6500 vss', dt).join(' ')),
61			this.createVertexTemplateEntry(s + 'rect;prIcon=l2_switch_with_dual_supervisor;fillColor=#FAFAFA;strokeColor=#005073;',
62					w, h * 1.9, '', 'L2 Switch with Dual Supervisor', null, null, this.getTagsForStencil(gn, 'l2 switch with dual supervisor', dt).join(' ')),
63			this.createVertexTemplateEntry(s + 'rect;prIcon=l3_switch_with_dual_supervisor;fillColor=#FAFAFA;strokeColor=#005073;',
64					w, h * 1.9, '', 'L3 Switch with Dual Supervisor', null, null, this.getTagsForStencil(gn, 'l3 switch with dual supervisor', dt).join(' ')),
65			this.createVertexTemplateEntry(s + 'rect;prIcon=l2_modular2;fillColor=#FAFAFA;strokeColor=#005073;',
66					w, h * 2.05, '', 'L2 Modular', null, null, this.getTagsForStencil(gn, 'l2 modular', dt).join(' ')),
67			this.createVertexTemplateEntry(s + 'rect;prIcon=l3_modular2;fillColor=#FAFAFA;strokeColor=#005073;',
68					w, h * 1.3, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')),
69			this.createVertexTemplateEntry(s + 'rect;prIcon=6500_vss2;fillColor=#FAFAFA;strokeColor=#005073;',
70					w, h * 1.3, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')),
71			this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_color;fillColor=#FAFAFA;strokeColor=#005073;',
72					w, h, '', 'Secure Catalyst Switch (color)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch color', dt).join(' ')),
73			this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_subdued;fillColor=#FAFAFA;strokeColor=#6696AB;',
74					w, h, '', 'Secure Catalyst Switch (subdued)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch subdued', dt).join(' ')),
75			this.createVertexTemplateEntry(s + 'rect;prIcon=secure_switch;fillColor=#FAFAFA;strokeColor=#005073;',
76					w, h, '', 'Secure Switch (color)', null, null, this.getTagsForStencil(gn, 'secure switch color', dt).join(' ')),
77			this.createVertexTemplateEntry(s + 'rect;prIcon=secure_switch;fillColor=#FAFAFA;strokeColor=#6696AB;',
78					w, h, '', 'Secure Switch (subdued)', null, null, this.getTagsForStencil(gn, 'secure switch subdued', dt).join(' ')),
79			this.createVertexTemplateEntry(s + 'rect;prIcon=workgroup_switch;fillColor=#FAFAFA;strokeColor=#005073;',
80					w, h, '', 'Workgroup Switch (color)', null, null, this.getTagsForStencil(gn, 'workgroup switch color', dt).join(' ')),
81			this.createVertexTemplateEntry(s + 'rect;prIcon=workgroup_switch;fillColor=#FAFAFA;strokeColor=#6696AB;',
82					w, h, '', 'Workgroup Switch (subdued)', null, null, this.getTagsForStencil(gn, 'workgroup switch subdued', dt).join(' ')),
83			this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_color3;fillColor=#FAFAFA;strokeColor=#005073;',
84					w, h, '', 'Secure Catalyst Switch (color)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch color', dt).join(' ')),
85			this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_color2;fillColor=#FAFAFA;strokeColor=#005073;',
86					w, h, '', 'Secure Catalyst Switch (color)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch color', dt).join(' ')),
87			this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_subdued2;fillColor=#FAFAFA;strokeColor=#6696AB;',
88					w, h, '', 'Secure Catalyst Switch (subdued)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch subdued', dt).join(' '))
89		]);
90	};
91
92	Sidebar.prototype.addCisco19RoutingWANPalette = function(s, s2, s3)
93	{
94		var w = 50;
95		var h = 50;
96		var gn = 'mxgraph.cisco19';
97		var dt = 'cisco routing wan wide area network';
98
99		this.addPaletteFunctions('cisco19Routing WAN', 'Cisco 19 / Routing WAN', false,
100		[
101			this.createVertexTemplateEntry(s2 + 'rect;prIcon=router;fillColor=#FAFAFA;strokeColor=#005073;',
102					w, h, '', 'Router', null, null, this.getTagsForStencil(gn, 'router', dt).join(' ')),
103			this.createVertexTemplateEntry(s2 + 'rect;prIcon=csr_1000v;fillColor=#FAFAFA;strokeColor=#005073;',
104					w, h, '', 'CSR1000v', null, null, this.getTagsForStencil(gn, 'csr1000v', dt).join(' ')),
105			this.createVertexTemplateEntry(s2 + 'rect;prIcon=wireless_router;fillColor=#FAFAFA;strokeColor=#005073;',
106					w, h * 1.2, '', 'Wireless Router', null, null, this.getTagsForStencil(gn, 'wireless router', dt).join(' ')),
107			this.createVertexTemplateEntry(s2 + 'rect;prIcon=l3_modular3;fillColor=#FAFAFA;strokeColor=#C1272D;',
108					w, h, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')),
109			this.createVertexTemplateEntry(s2 + 'rect;prIcon=ucs_express;fillColor=#FAFAFA;strokeColor=#005073;',
110					w, h, '', 'UCS Express', null, null, this.getTagsForStencil(gn, 'ucs express', dt).join(' ')),
111			this.createVertexTemplateEntry(s2 + 'rect;prIcon=router_with_voice;fillColor=#FAFAFA;strokeColor=#005073;',
112					w, h, '', 'Router with Voice', null, null, this.getTagsForStencil(gn, 'router with voice', dt).join(' ')),
113			this.createVertexTemplateEntry(s2 + 'rect;prIcon=router_with_firewall;fillColor=#FAFAFA;strokeColor=#005073;',
114					w, h, '', 'Router with Firewall', null, null, this.getTagsForStencil(gn, 'router with firewall', dt).join(' ')),
115			this.createVertexTemplateEntry(s2 + 'rect;prIcon=netflow_router;fillColor=#FAFAFA;strokeColor=#005073;',
116					w, h, '', 'NetFlow Router', null, null, this.getTagsForStencil(gn, 'netflow router', dt).join(' ')),
117			this.createVertexTemplateEntry(s2 + 'rect;prIcon=secure_router;fillColor=#FAFAFA;strokeColor=#005073;',
118					w, h, '', 'Secure Router (color)', null, null, this.getTagsForStencil(gn, 'secure router color', dt).join(' ')),
119			this.createVertexTemplateEntry(s2 + 'rect;prIcon=secure_router;fillColor=#FAFAFA;strokeColor=#6696AB;',
120					w, h, '', 'Secure Router (subdued)', null, null, this.getTagsForStencil(gn, 'secure router subdued', dt).join(' ')),
121			this.createVertexTemplateEntry(s2 + 'rect;prIcon=ip_telephone_router;fillColor=#FAFAFA;strokeColor=#005073;',
122					w, h, '', 'IP Telephone Router', null, null, this.getTagsForStencil(gn, 'ip telephone router internet protocol', dt).join(' ')),
123			this.createVertexTemplateEntry(s + 'rect;prIcon=content_router;fillColor=#FAFAFA;strokeColor=#005073;',
124					w * 1.28, h, '', 'Content Router', null, null, this.getTagsForStencil(gn, 'content router', dt).join(' ')),
125			this.createVertexTemplateEntry(s + 'rect;prIcon=service_ready_engine;fillColor=#FAFAFA;strokeColor=#005073;',
126					w, h, '', 'Cisco Service Ready Engine', null, null, this.getTagsForStencil(gn, 'service ready engine', dt).join(' ')),
127			this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_15800;fillColor=#FAFAFA;strokeColor=#005073;',
128					w, h, '', 'Cisco 15800', null, null, this.getTagsForStencil(gn, '15800', dt).join(' ')),
129			this.createVertexTemplateEntry(s + 'rect;prIcon=appnav;fillColor=#FAFAFA;strokeColor=#005073;',
130					w, h, '', 'AppNav', null, null, this.getTagsForStencil(gn, 'appnav', dt).join(' ')),
131			this.createVertexTemplateEntry(s + 'rect;prIcon=router_with_firewall2;fillColor=#FAFAFA;strokeColor=#005073;',
132					w * 1.28, h, '', 'Router with Firewall', null, null, this.getTagsForStencil(gn, 'router with firewall', dt).join(' ')),
133			this.createVertexTemplateEntry(s + 'rect;prIcon=netflow_router2;fillColor=#FAFAFA;strokeColor=#005073;',
134					w * 1.28, h, '', 'NetFlow Router', null, null, this.getTagsForStencil(gn, 'netflow router', dt).join(' ')),
135			this.createVertexTemplateEntry('points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0],[0.25,0,0],[0.75,0,0],[0.25,1,0],[0.75,1,0],[0.125,0.25,0],[0.875,0.25,0],[0.875,0.75,0],[0.125,0.75,0]];' + s3 + 'rect;prIcon=asr_1000;fillColor=#FAFAFA;strokeColor=#005073;',
136					w * 1.14, h, '', 'ASR 1000', null, null, this.getTagsForStencil(gn, 'asr 1000', dt).join(' ')),
137			this.createVertexTemplateEntry(s2 + 'rect;prIcon=asr_9000;fillColor=#FAFAFA;strokeColor=#005073;',
138					w, h, '', 'ASR 9000', null, null, this.getTagsForStencil(gn, 'asr 9000', dt).join(' '))
139		]);
140	};
141
142	Sidebar.prototype.addCisco19NetworkManagementPalette = function(s, s2, s3)
143	{
144		var w = 50;
145		var h = 50;
146		var gn = 'mxgraph.cisco19';
147		var dt = 'cisco network management';
148
149		this.addPaletteFunctions('cisco19Network Management', 'Cisco 19 / Network Management', false,
150		[
151			this.createVertexTemplateEntry(s + 'rect;prIcon=net_mgmt_appliance;fillColor=#FAFAFA;strokeColor=#005073;',
152					w, h, '', 'Net Mgmt. Appliance', null, null, this.getTagsForStencil(gn, 'net management appliance mgmt', dt).join(' ')),
153			this.createVertexTemplateEntry(s + 'rect;prIcon=nam_virtual_service_blade;fillColor=#FAFAFA;strokeColor=#005073;',
154					w * 1.28, h, '', 'NAM Virtual Service Blade', null, null, this.getTagsForStencil(gn, 'nam virtual service blade', dt).join(' '))
155		]);
156	};
157
158	Sidebar.prototype.addCisco19DataCenterPalette = function(s, s2, s3)
159	{
160		var w = 50;
161		var h = 50;
162		var gn = 'mxgraph.cisco19';
163		var dt = 'cisco data center';
164
165		this.addPaletteFunctions('cisco19Data Center', 'Cisco 19 / Data Center', false,
166		[
167			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_9300;fillColor=#FAFAFA;strokeColor=#005073;',
168					w, h, '', 'Nexus 9300', null, null, this.getTagsForStencil(gn, 'nexus 9300', dt).join(' ')),
169			this.createVertexTemplateEntry('points=[[0.015,0.015,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[0.985,0.015,0],[1,0.22,0],[1,0.44,0],[1,0.67,0],[0.985,0.89,0],[0,0.22,0],[0,0.44,0],[0,0.67,0],[0.015,0.89,0],[0.25,0.91,0],[0.5,0.91,0],[0.785,0.955,0]];' + s3 + 'x509_certificate;fillColor=#005073;strokeColor=none;',
170					w, h * 0.95, '', 'x.509 Certificate', null, null, this.getTagsForStencil(gn, 'x509 certificate', dt).join(' ')),
171			this.createVertexTemplateEntry(s + 'rect;prIcon=hypervisor;fillColor=#FAFAFA;strokeColor=#005073;',
172					w, h * 1.3, '', 'Hypervisor', null, null, this.getTagsForStencil(gn, 'hypervisor', dt).join(' ')),
173			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_9500;fillColor=#FAFAFA;strokeColor=#005073;',
174					w, h * 1.46, '', 'Nexus 9500', null, null, this.getTagsForStencil(gn, 'nexus 9500', dt).join(' ')),
175			this.createVertexTemplateEntry(s + 'rect;prIcon=fabric_interconnect;fillColor=#FAFAFA;strokeColor=#005073;',
176					w, h, '', 'Fabric Interconnect', null, null, this.getTagsForStencil(gn, 'fabric interconnect', dt).join(' ')),
177			this.createVertexTemplateEntry(s + 'rect;prIcon=fibre_channel_director_mds_9000;fillColor=#FAFAFA;strokeColor=#005073;',
178					w, h * 1.46, '', 'Fibre Channel Director MDS 9000', null, null, this.getTagsForStencil(gn, 'fibre channel director mds 9000', dt).join(' ')),
179			this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_matrix_switch;fillColor=#FAFAFA;strokeColor=#005073;',
180					w, h, '', 'Virtual Matrix Switch', null, null, this.getTagsForStencil(gn, 'virtual matrix switch', dt).join(' ')),
181			this.createVertexTemplateEntry(s + 'rect;prIcon=ucs_c_series_server;fillColor=#FAFAFA;strokeColor=#005073;',
182					w * 1.2, h * 0.5, '', 'UCS C-Series Server', null, null, this.getTagsForStencil(gn, 'ucs c series server', dt).join(' ')),
183			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_5k_with_integrated_vsm;fillColor=#FAFAFA;strokeColor=#005073;',
184					w, h, '', 'Nexus 5K with Integrated VSM', null, null, this.getTagsForStencil(gn, 'nexus 5k with integrated vsm', dt).join(' ')),
185			this.createVertexTemplateEntry('points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0],[0.305,0.305,0],[0.695,0.305,0],[0.7,0.7,0],[0.3,0.7,0]];' + s3 + 'rect;prIcon=aci;fillColor=#FAFAFA;strokeColor=#005073;',
186					w, h, '', 'ACI', null, null, this.getTagsForStencil(gn, 'aci', dt).join(' ')),
187			this.createVertexTemplateEntry(s2 + 'vts;fillColor=#005073;strokeColor=none;',
188					w, h, '', 'VTS', null, null, this.getTagsForStencil(gn, 'vts', dt).join(' ')),
189			this.createVertexTemplateEntry(s + 'rect;prIcon=ucs_5108_blade_chassis;fillColor=#FAFAFA;strokeColor=#005073;',
190					w * 1.28, h, '', 'UCS 5108 Blade Chassis', null, null, this.getTagsForStencil(gn, 'ucs 5108 blade chassis', dt).join(' ')),
191			this.createVertexTemplateEntry(s + 'rect;prIcon=storage;fillColor=#FAFAFA;strokeColor=#005073;',
192					w * 1.28, h, '', 'Storage', null, null, this.getTagsForStencil(gn, 'storage', dt).join(' ')),
193			this.createVertexTemplateEntry(s + 'rect;prIcon=ups;fillColor=#FAFAFA;strokeColor=#005073;',
194					w, h, '', 'UPS', null, null, this.getTagsForStencil(gn, 'ups', dt).join(' ')),
195			this.createVertexTemplateEntry(s + 'rect;prIcon=rps;fillColor=#FAFAFA;strokeColor=#005073;',
196					w, h, '', 'RPS', null, null, this.getTagsForStencil(gn, 'rps', dt).join(' ')),
197			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_2000_10ge;fillColor=#FAFAFA;strokeColor=#005073;',
198					w, h, '', 'Nexus 2000 10GE', null, null, this.getTagsForStencil(gn, 'nexus 2000 10ge', dt).join(' ')),
199			this.createVertexTemplateEntry(s + 'rect;prIcon=blade_server;fillColor=#FAFAFA;strokeColor=#005073;',
200					w, h, '', 'Blade Server (color)', null, null, this.getTagsForStencil(gn, 'blade server color', dt).join(' ')),
201			this.createVertexTemplateEntry(s + 'rect;prIcon=blade_server;fillColor=#FAFAFA;strokeColor=#6696AB;',
202					w, h, '', 'Blade Server (subdued)', null, null, this.getTagsForStencil(gn, 'blade server subdued', dt).join(' ')),
203			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_5k;fillColor=#FAFAFA;strokeColor=#005073;',
204					w, h, '', 'Nexus 5k', null, null, this.getTagsForStencil(gn, 'nexus 5k', dt).join(' ')),
205			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_4k;fillColor=#FAFAFA;strokeColor=#005073;',
206					w, h, '', 'Nexus 4k', null, null, this.getTagsForStencil(gn, 'nexus 4k', dt).join(' ')),
207			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_3k;fillColor=#FAFAFA;strokeColor=#005073;',
208					w, h, '', 'Nexus 3k', null, null, this.getTagsForStencil(gn, 'nexus 3k', dt).join(' ')),
209			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_2k;fillColor=#FAFAFA;strokeColor=#005073;',
210					w, h, '', 'Nexus 2k', null, null, this.getTagsForStencil(gn, 'nexus 2k', dt).join(' ')),
211			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_1kv_vsm;fillColor=#FAFAFA;strokeColor=#005073;',
212					w * 1.28, h, '', 'Nexus 1KV VSM', null, null, this.getTagsForStencil(gn, 'nexus 1kv vsm', dt).join(' ')),
213			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_1k;fillColor=#FAFAFA;strokeColor=#005073;',
214					w * 1.28, h, '', 'Nexus 1k', null, null, this.getTagsForStencil(gn, 'nexus 1k', dt).join(' ')),
215			this.createVertexTemplateEntry(s + 'rect;prIcon=layer3_nexus_5k_switch;fillColor=#FAFAFA;strokeColor=#005073;',
216					w, h, '', 'Layer 3 Nexus 5k Switch', null, null, this.getTagsForStencil(gn, 'layer3 nexus 5k switch', dt).join(' ')),
217			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_1010;fillColor=#FAFAFA;strokeColor=#005073;',
218					w * 1.28, h, '', 'Nexus 1010', null, null, this.getTagsForStencil(gn, 'nexus 1010', dt).join(' ')),
219			this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_7k;fillColor=#FAFAFA;strokeColor=#005073;',
220					w, h * 1.46, '', 'Nexus 7k', null, null, this.getTagsForStencil(gn, 'nexus 7k', dt).join(' ')),
221			this.createVertexTemplateEntry(s + 'rect;prIcon=fibre_channel_fabric_switch;fillColor=#FAFAFA;strokeColor=#005073;',
222					w, h * 1.46, '', 'Fibre Channel Fabric Switch', null, null, this.getTagsForStencil(gn, 'fibre channel fabric switch', dt).join(' ')),
223			this.createVertexTemplateEntry(s + 'rect;prIcon=database_relational;fillColor=#FAFAFA;strokeColor=#005073;',
224					w, h, '', 'Database Relational', null, null, this.getTagsForStencil(gn, 'database relational', dt).join(' ')),
225			this.createVertexTemplateEntry(s + 'server;fillColor=#005073;strokeColor=none;',
226					w * 0.55, h, '', 'Server', null, null, this.getTagsForStencil(gn, 'server', dt).join(' ')),
227			this.createVertexTemplateEntry(s + 'dns_server;fillColor=#005073;strokeColor=none;',
228					w * 0.55, h, '', 'DNS Server', null, null, this.getTagsForStencil(gn, 'dns domain name server', dt).join(' ')),
229			this.createVertexTemplateEntry(s + 'secure_server;fillColor=#005073;strokeColor=none;',
230					w * 0.55, h, '', 'Secure Server', null, null, this.getTagsForStencil(gn, 'secure server', dt).join(' '))
231		]);
232	};
233
234	Sidebar.prototype.addCisco19WirelessLANPalette = function(s, s2, s3)
235	{
236		var w = 50;
237		var h = 50;
238		var gn = 'mxgraph.cisco19';
239		var dt = 'cisco wireless lan local area network';
240
241		this.addPaletteFunctions('cisco19Wireless LAN', 'Cisco 19 / Wireless LAN', false,
242		[
243			this.createVertexTemplateEntry('points=[[0,0.58,0],[0.09,0.58,0],[0.36,0.39,0],[0.64,0.195,0],[0.91,0,0],[1,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[1,1,0],[0,1,0],[0.09,1,0],[0.36,1,0],[0.64,1,0],[0.91,1,0],[0,0.79,0]];' + s3 + 'wifi_indicator;fillColor=#005073;strokeColor=none;',
244					w, h, '', 'WiFi Indicator', null, null, this.getTagsForStencil(gn, 'wifi indicator', dt).join(' ')),
245			this.createVertexTemplateEntry('points=[[0.005,0.09,0],[0.08,0,0],[0.76,0.25,0],[1,0.92,0],[0.91,0.995,0],[0.57,0.995,0],[0.045,0.955,0],[0.005,0.43,0]];' + s3 + '3g_4g_indicator;fillColor=#005073;strokeColor=none;',
246					w, h, '', '3G/4G Indicator', null, null, this.getTagsForStencil(gn, '3g 4g indicator', dt).join(' ')),
247			this.createVertexTemplateEntry(s + 'rect;prIcon=dual_mode_access_point;fillColor=#FAFAFA;strokeColor=#005073;',
248					w * 1.28, h, '', 'Dual Mode Access Point', null, null, this.getTagsForStencil(gn, 'dual mode access point', dt).join(' ')),
249			this.createVertexTemplateEntry('points=[[0.03,0.36,0],[0.18,0,0],[0.5,0.34,0],[0.82,0,0],[0.97,0.36,0],[1,0.67,0],[0.975,0.975,0],[0.5,1,0],[0.025,0.975,0],[0,0.67,0]];' + s3 + 'wireless_access_point;fillColor=#005073;strokeColor=none;',
250					w, h, '', 'Wireless Acess Point', null, null, this.getTagsForStencil(gn, 'access point', dt).join(' ')),
251			this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_location_appliance;fillColor=#FAFAFA;strokeColor=#005073;',
252					w, h, '', 'Wireless Location Appliance', null, null, this.getTagsForStencil(gn, 'location appliance', dt).join(' ')),
253			this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_lan_controller;fillColor=#FAFAFA;strokeColor=#005073;',
254					w * 1.28, h, '', 'Wireless LAN Controller', null, null, this.getTagsForStencil(gn, 'controller', dt).join(' ')),
255			this.createVertexTemplateEntry(s + 'wireless_bridge;fillColor=#005073;strokeColor=none;',
256					w * 1.28, h, '', 'Wireless Bridge', null, null, this.getTagsForStencil(gn, 'bridge', dt).join(' ')),
257			this.createVertexTemplateEntry(s + 'rect;prIcon=mesh_access_point;fillColor=#FAFAFA;strokeColor=#005073;',
258					w * 1.28, h, '', 'Mesh Access Point', null, null, this.getTagsForStencil(gn, 'mesh access point', dt).join(' '))
259		]);
260	};
261
262	Sidebar.prototype.addCisco19CollaborationPalette = function(s, s2, s3)
263	{
264		var w = 50;
265		var h = 50;
266		var gn = 'mxgraph.cisco19';
267		var dt = 'cisco collaboration';
268
269		this.addPaletteFunctions('cisco19Collaboration', 'Cisco 19 / Collaboration', false,
270		[
271			this.createVertexTemplateEntry(s + 'rect;prIcon=video_call_server;fillColor=#FAFAFA;strokeColor=#005073;',
272					w, h, '', 'Video Call Server', null, null, this.getTagsForStencil(gn, 'video call server', dt).join(' ')),
273			this.createVertexTemplateEntry(s + 'rect;prIcon=primary_codec;fillColor=#FAFAFA;strokeColor=#005073;',
274					w * 1.28, h, '', 'Primary Codec', null, null, this.getTagsForStencil(gn, 'primary codec', dt).join(' ')),
275			this.createVertexTemplateEntry(s + 'rect;prIcon=secondary_codec;fillColor=#FAFAFA;strokeColor=#005073;',
276					w * 1.28, h, '', 'Secondary Codec', null, null, this.getTagsForStencil(gn, 'secondary codec', dt).join(' ')),
277			this.createVertexTemplateEntry('points=[[0.13,0.225,0],[0.5,0,0],[0.87,0.225,0],[0.885,0.5,0],[0.985,0.99,0],[0.5,1,0],[0.015,0.99,0],[0.115,0.5,0]];' + s3 + 'laptop_video_client;fillColor=#005073;strokeColor=none;',
278					w, h * 0.85, '', 'Laptop Video Client', null, null, this.getTagsForStencil(gn, 'laptop video client', dt).join(' ')),
279			this.createVertexTemplateEntry(s + 'rect;prIcon=immersive_telepresence_endpoint;fillColor=#FAFAFA;strokeColor=#005073;',
280					w * 2.3, h, '', 'Immersive Telepresence Endpoint', null, null, this.getTagsForStencil(gn, 'immersive telepresence endpoint', dt).join(' ')),
281			this.createVertexTemplateEntry('points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[1,0.4,0],[1,0.8,0],[0.815,1,0],[0.5,1,0],[0.185,1,0],[0,0.8,0],[0,0.4,0]];' + s3 + 'hdtv;fillColor=#005073;strokeColor=none;',
282					w * 1.2, h, '', 'HDTV', null, null, this.getTagsForStencil(gn, 'hdtv', dt).join(' ')),
283			this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_desktop_service;fillColor=#FAFAFA;strokeColor=#005073;',
284					w * 1.28, h, '', 'Virtual Desktop Service', null, null, this.getTagsForStencil(gn, 'virtual desktop service', dt).join(' ')),
285			this.createVertexTemplateEntry(s + 'rect;prIcon=video_gateway;fillColor=#FAFAFA;strokeColor=#005073;',
286					w * 1.28, h, '', 'Video Gateway', null, null, this.getTagsForStencil(gn, 'video gateway', dt).join(' ')),
287			this.createVertexTemplateEntry(s + 'rect;prIcon=telepresence_endpoint;fillColor=#FAFAFA;strokeColor=#005073;',
288					w, h, '', 'Telepresence Endpoint', null, null, this.getTagsForStencil(gn, 'telepresence endpoint', dt).join(' ')),
289			this.createVertexTemplateEntry(s + 'rect;prIcon=collab1;fillColor=#FAFAFA;strokeColor=#005073;',
290					w, h * 1.3, '', 'Collaboration', null, null, this.getTagsForStencil(gn, '', dt).join(' ')),
291			this.createVertexTemplateEntry(s + 'rect;prIcon=video_analytics;fillColor=#FAFAFA;strokeColor=#005073;',
292					w * 1.28, h, '', 'Video Analytics', null, null, this.getTagsForStencil(gn, 'video analytics', dt).join(' ')),
293			this.createVertexTemplateEntry(s + 'rect;prIcon=telepresence_exchange;fillColor=#FAFAFA;strokeColor=#005073;',
294					w * 1.28, h, '', 'Telepresence Exchange', null, null, this.getTagsForStencil(gn, 'telepresence exchange', dt).join(' ')),
295			this.createVertexTemplateEntry(s + 'rect;prIcon=meeting_scheduling_and_management_server;fillColor=#FAFAFA;strokeColor=#005073;',
296					w * 1.28, h, '', 'Meeting Scheduling and Management Server', null, null, this.getTagsForStencil(gn, 'meeting scheduling and management server', dt).join(' ')),
297			this.createVertexTemplateEntry(s + 'rect;prIcon=multipoint_meeting_server;fillColor=#FAFAFA;strokeColor=#005073;',
298					w, h, '', 'Multipoint Meeting Server', null, null, this.getTagsForStencil(gn, 'multipoint meeting server', dt).join(' ')),
299			this.createVertexTemplateEntry(s + 'rect;prIcon=content_recording_streaming_server;fillColor=#FAFAFA;strokeColor=#005073;',
300					w * 1.28, h, '', 'Content Recording / Streaming Server', null, null, this.getTagsForStencil(gn, 'content recording streaming server', dt).join(' ')),
301			this.createVertexTemplateEntry(s + 'rect;prIcon=communications_manager;fillColor=#FAFAFA;strokeColor=#005073;',
302					w * 1.28, h, '', 'Communications Manager', null, null, this.getTagsForStencil(gn, 'communications manager', dt).join(' ')),
303			this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_unified_presence_service;fillColor=#FAFAFA;strokeColor=#005073;',
304					w * 1.28, h, '', 'Cisco Unified Presence Service', null, null, this.getTagsForStencil(gn, 'cisco unified presence service', dt).join(' ')),
305			this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_unified_contact_center_enterprise_and_hosted;fillColor=#FAFAFA;strokeColor=#005073;',
306					w * 1.28, h, '', 'Cisco Unified Contact Center Enterprise and Hosted', null, null, this.getTagsForStencil(gn, 'cisco unified contact center enterprise and hosted', dt).join(' ')),
307			this.createVertexTemplateEntry(s + 'rect;prIcon=h323;fillColor=#FAFAFA;strokeColor=#005073;',
308					w * 1.28, h, '', 'H.323', null, null, this.getTagsForStencil(gn, 'h323', dt).join(' ')),
309			this.createVertexTemplateEntry('points=[[0.015,0.015,0],[0.5,0,0],[0.985,0.015,0],[1,0.22,0],[0.985,0.43,0],[0.73,0.85,0],[0.5,1,0],[0.285,0.85,0],[0.015,0.43,0],[0,0.22,0]];' + s3 + 'surveillance_camera;fillColor=#005073;strokeColor=none;',
310					w * 1.28, h, '', 'Surveillance Camera', null, null, this.getTagsForStencil(gn, 'surveillance camera', dt).join(' ')),
311			this.createVertexTemplateEntry(s + 'rect;prIcon=monitor;fillColor=#FAFAFA;strokeColor=#005073;',
312					w * 1.28, h, '', 'Monitor', null, null, this.getTagsForStencil(gn, 'monitor', dt).join(' ')),
313			this.createVertexTemplateEntry('points=[[0.13,0.225,0],[0.5,0,0],[0.87,0.225,0],[0.885,0.5,0],[0.985,0.99,0],[0.5,1,0],[0.015,0.99,0],[0.115,0.5,0]];' + s3 + 'upc_unified_personal_communicator;fillColor=#005073;strokeColor=none;',
314					w, h * 0.85, '', 'UPC Unified Personal Communicator', null, null, this.getTagsForStencil(gn, 'upc unified personal communicator', dt).join(' ')),
315			this.createVertexTemplateEntry(s + 'rect;prIcon=telepresence_endpoint_twin_data_display;fillColor=#FAFAFA;strokeColor=#005073;',
316					w * 1.28, h, '', 'Telepresence Endpoint (twin data display)', null, null, this.getTagsForStencil(gn, 'telepresence endpoint twin data display', dt).join(' ')),
317			this.createVertexTemplateEntry(s + 'rect;prIcon=operations_manager;fillColor=#FAFAFA;strokeColor=#005073;',
318					w * 1.28, h, '', 'Operations Manager', null, null, this.getTagsForStencil(gn, 'operations manager', dt).join(' ')),
319			this.createVertexTemplateEntry(s + 'rect;prIcon=transcoder;fillColor=#FAFAFA;strokeColor=#005073;',
320					w * 1.28, h, '', 'Transcoder', null, null, this.getTagsForStencil(gn, 'transcoder', dt).join(' ')),
321			this.createVertexTemplateEntry(s + 'rect;prIcon=contact_center_express;fillColor=#FAFAFA;strokeColor=#005073;',
322					w * 1.28, h, '', 'Contact Center Express', null, null, this.getTagsForStencil(gn, 'contact center express', dt).join(' ')),
323			this.createVertexTemplateEntry(s + 'rect;prIcon=media_server;fillColor=#FAFAFA;strokeColor=#005073;',
324					w * 1.28, h, '', 'Media Server', null, null, this.getTagsForStencil(gn, 'media server', dt).join(' ')),
325			this.createVertexTemplateEntry(s + 'rect;prIcon=ip_ip_gateway;fillColor=#FAFAFA;strokeColor=#005073;',
326					w * 1.28, h, '', 'IP IP Gateway', null, null, this.getTagsForStencil(gn, 'ip gateway', dt).join(' ')),
327			this.createVertexTemplateEntry(s2 + 'webex',
328					w, h, '', 'WebEx', null, null, this.getTagsForStencil(gn, 'webex', dt).join(' ')),
329			this.createVertexTemplateEntry(s2 + 'rect;prIcon=clock;fillColor=#FAFAFA;strokeColor=#005073;',
330					w, h, '', 'Clock', null, null, this.getTagsForStencil(gn, 'clock', dt).join(' ')),
331			this.createVertexTemplateEntry('points=[[0.5,0,0],[0.75,0.37,0],[0.96,0.735,0],[0.5,1,0],[0.045,0.73,0],[0.25,0.37,0]];' + s3 + 'phone_polycom;fillColor=#005073;strokeColor=none;',
332					w * 0.95, h, '', 'Phone Polycom', null, null, this.getTagsForStencil(gn, 'phone polycom', dt).join(' ')),
333			this.createVertexTemplateEntry(s + 'rect;prIcon=unity;fillColor=#FAFAFA;strokeColor=#005073;',
334					w, h, '', 'Unity', null, null, this.getTagsForStencil(gn, 'unity', dt).join(' ')),
335			this.createVertexTemplateEntry(s + 'rect;prIcon=shield;fillColor=#FAFAFA;strokeColor=#005073;',
336					w * 1.28, h, '', 'Shield', null, null, this.getTagsForStencil(gn, 'shield', dt).join(' ')),
337			this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_meetingplace_express;fillColor=#FAFAFA;strokeColor=#005073;',
338					w * 1.28, h, '', 'Cisco MeetingPlace Express', null, null, this.getTagsForStencil(gn, 'meetingplace express', dt).join(' ')),
339			this.createVertexTemplateEntry(s + 'rect;prIcon=set_top;fillColor=#FAFAFA;strokeColor=#005073;',
340					w * 1.28, h, '', 'Set Top', null, null, this.getTagsForStencil(gn, 'set top', dt).join(' ')),
341			this.createVertexTemplateEntry('points=[[0.59,0,0],[0.87,0.015,0],[0.88,0.3,0],[0.99,0.99,0],[0.5,1,0],[0.01,0.99,0],[0.075,0.5,0],[0.17,0.115,0]];' + s3 + 'ip_phone;fillColor=#005073;strokeColor=none;',
342					w * 1.15, h, '', 'IP Phone', null, null, this.getTagsForStencil(gn, 'ip phone internet protocol', dt).join(' ')),
343			this.createVertexTemplateEntry('points=[[0,0.5,0],[0.19,0.02,0],[0.59,0,0],[0.985,0.02,0],[1,0.5,0],[0.985,0.98,0],[0.59,1,0],[0.19,0.98,0]];' + s3 + 'camera;fillColor=#005073;strokeColor=none;',
344					w * 1.8, h, '', 'Camera', null, null, this.getTagsForStencil(gn, 'camera', dt).join(' ')),
345			this.createVertexTemplateEntry(s + 'rect;prIcon=da_encoder;fillColor=#FAFAFA;strokeColor=#005073;',
346					w * 1.28, h, '', 'DA Encoder', null, null, this.getTagsForStencil(gn, 'da encoder analog digital', dt).join(' ')),
347			this.createVertexTemplateEntry(s + 'rect;prIcon=ad_encoder;fillColor=#FAFAFA;strokeColor=#005073;',
348					w * 1.28, h, '', 'AD Encoder', null, null, this.getTagsForStencil(gn, 'ad encoder analog digital', dt).join(' ')),
349			this.createVertexTemplateEntry(s + 'rect;prIcon=da_decoder;fillColor=#FAFAFA;strokeColor=#005073;',
350					w * 1.28, h, '', 'DA Decoder', null, null, this.getTagsForStencil(gn, 'da decoder analog digital', dt).join(' ')),
351			this.createVertexTemplateEntry(s + 'rect;prIcon=ad_decoder;fillColor=#FAFAFA;strokeColor=#005073;',
352					w * 1.28, h, '', 'AD Decoder', null, null, this.getTagsForStencil(gn, 'ad decoder analog digital', dt).join(' ')),
353			this.createVertexTemplateEntry('points=[[0.13,0.24,0],[0.5,0.2,0],[0.62,0,0],[0.87,0.24,0],[0.95,0.55,0],[0.96,0.95,0],[0.5,1,0],[0.04,0.95,0],[0.05,0.55,0]];' + s3 + 'joystick_keyboard;fillColor=#005073;strokeColor=none;',
354					w * 1.8, h, '', 'Joystick Keyboard', null, null, this.getTagsForStencil(gn, 'joystick keyboard', dt).join(' ')),
355			this.createVertexTemplateEntry(s + 'rect;prIcon=collab2;fillColor=#FAFAFA;strokeColor=#005073;',
356					w * 1.28, h, '', 'Collaboration', null, null, this.getTagsForStencil(gn, 'collaboration', dt).join(' ')),
357			this.createVertexTemplateEntry(s + 'rect;prIcon=collab3;fillColor=#FAFAFA;strokeColor=#005073;',
358					w * 1.28, h, '', 'Collaboration', null, null, this.getTagsForStencil(gn, 'collaboration', dt).join(' ')),
359			this.createVertexTemplateEntry(s + 'rect;prIcon=collab4;fillColor=#FAFAFA;strokeColor=#005073;',
360					w * 1.28, h, '', 'Collaboration', null, null, this.getTagsForStencil(gn, 'collaboration', dt).join(' '))
361		]);
362	};
363
364	Sidebar.prototype.addCisco19SecurityCloudsAndConnectorsPalette = function(s, s2, s3)
365	{
366		var w = 50;
367		var h = 50;
368		var gn = 'mxgraph.cisco19';
369		var dt = 'cisco security clouds connectors';
370		var sCloud = 'points=[[0,0.64,0],[0.2,0.15,0],[0.4,0.01,0],[0.79,0.25,0],[1,0.65,0],[0.8,0.86,0],[0.41,1,0],[0.16,0.86,0]];';
371
372		this.addPaletteFunctions('cisco19Security Clouds Connectors', 'Cisco 19 / Security, Clouds and Connectors', false,
373		[
374			this.createVertexTemplateEntry(s + 'rect;prIcon=acs;fillColor=#FAFAFA;strokeColor=#005073;',
375					w * 1.28, h, '', 'ACS', null, null, this.getTagsForStencil(gn, 'acs', dt).join(' ')),
376			this.createVertexTemplateEntry(s + 'rect;prIcon=ise;fillColor=#FAFAFA;strokeColor=#005073;',
377					w, h, '', 'ISE', null, null, this.getTagsForStencil(gn, 'ise', dt).join(' ')),
378			this.createVertexTemplateEntry(s + 'rect;prIcon=email_security;fillColor=#FAFAFA;strokeColor=#005073;',
379					w * 1.28, h, '', 'Email Security', null, null, this.getTagsForStencil(gn, 'email security', dt).join(' ')),
380			this.createVertexTemplateEntry(s + 'rect;prIcon=vpn_concentrator;fillColor=#FAFAFA;strokeColor=#005073;',
381					w * 1.28, h, '', 'VPN Concentrator', null, null, this.getTagsForStencil(gn, 'vpn concentrator virtual private network', dt).join(' ')),
382			this.createVertexTemplateEntry(s + 'rect;prIcon=ssl_terminator;fillColor=#FAFAFA;strokeColor=#005073;',
383					w * 1.28, h, '', 'SSL Terminator', null, null, this.getTagsForStencil(gn, 'ssl terminator', dt).join(' ')),
384			this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_security_manager;fillColor=#FAFAFA;strokeColor=#005073;',
385					w * 1.28, h, '', 'Cisco Security Manager', null, null, this.getTagsForStencil(gn, 'cisco security manager', dt).join(' ')),
386			this.createVertexTemplateEntry(s + 'rect;prIcon=web_security;fillColor=#FAFAFA;strokeColor=#005073;',
387					w * 1.28, h, '', 'Web Security', null, null, this.getTagsForStencil(gn, 'web security', dt).join(' ')),
388			this.createVertexTemplateEntry(s + 'rect;prIcon=nac_appliance;fillColor=#FAFAFA;strokeColor=#005073;',
389					w * 1.28, h, '', 'NAC Appliance', null, null, this.getTagsForStencil(gn, 'nac appliance', dt).join(' ')),
390			this.createVertexTemplateEntry(s + 'rect;prIcon=ironport;fillColor=#FAFAFA;strokeColor=#005073;',
391					w * 1.28, h, '', 'Ironport', null, null, this.getTagsForStencil(gn, 'ironport', dt).join(' ')),
392			this.createVertexTemplateEntry(s + 'rect;prIcon=ips_ids;fillColor=#FAFAFA;strokeColor=#005073;',
393					w * 1.28, h, '', 'IPS/IDS', null, null, this.getTagsForStencil(gn, 'ips ids', dt).join(' ')),
394			this.createVertexTemplateEntry(s + 'rect;prIcon=firewall;fillColor=#FAFAFA;strokeColor=#005073;',
395					w * 1.28, h, '', 'Firewall', null, null, this.getTagsForStencil(gn, 'firewall', dt).join(' ')),
396			this.createVertexTemplateEntry(s + 'rect;prIcon=asa_5500;fillColor=#FAFAFA;strokeColor=#005073;',
397					w * 1.28, h, '', 'ASA 5500', null, null, this.getTagsForStencil(gn, 'asa 5500', dt).join(' ')),
398			this.createVertexTemplateEntry('points=[[0.5,0,0],[0.765,0.48,0],[0.99,0.98,0],[0.5,1,0],[0.01,0.98,0],[0.235,0.48,0]];' + s3 + 'ldap;fillColor=#005073;strokeColor=none;',
399					w, h * 0.85, '', 'LDAP', null, null, this.getTagsForStencil(gn, 'ldap', dt).join(' ')),
400			this.createVertexTemplateEntry('points=[[0,0.5,0],[0.24,0,0],[0.5,0.28,0],[0.995,0.475,0],[0.5,0.72,0],[0.24,1,0]];' + s3 + 'key;fillColor=#005073;strokeColor=none;',
401					w, h * 0.45, '', 'Key', null, null, this.getTagsForStencil(gn, 'key', dt).join(' ')),
402			this.createVertexTemplateEntry(s2 + 'lock;fillColor=#005073;strokeColor=none;',
403					w, h, '', 'Lock', null, null, this.getTagsForStencil(gn, 'lock', dt).join(' ')),
404			this.createVertexTemplateEntry(sCloud + s3 + 'cloud;fillColor=#6B6B6B;strokeColor=none;',
405					w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
406			this.createVertexTemplateEntry(sCloud + s3 + 'cloud;fillColor=#A6A6A6;strokeColor=none;',
407					w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
408			this.createVertexTemplateEntry(sCloud + s3 + 'cloud;fillColor=#FABD66;strokeColor=none;',
409					w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
410			this.createVertexTemplateEntry(sCloud + s3 + 'cloud;fillColor=#186180;strokeColor=none;',
411					w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
412			this.createVertexTemplateEntry(sCloud + s3 + 'cloud2;fillColor=#FFE9AA;strokeColor=none;',
413					w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
414			this.createVertexTemplateEntry(s + 'rect;prIcon=security_management;fillColor=#FAFAFA;strokeColor=#005073;',
415					w, h, '', 'Security Management (color)', null, null, this.getTagsForStencil(gn, 'security management color', dt).join(' ')),
416			this.createVertexTemplateEntry(s + 'rect;prIcon=security_management;fillColor=#FAFAFA;strokeColor=#6696AB;',
417					w, h, '', 'Security Management (subdued)', null, null, this.getTagsForStencil(gn, 'security management subdued', dt).join(' ')),
418			this.createVertexTemplateEntry('points=[[0.13,0.02,0],[0.5,0,0],[0.87,0.02,0],[0.885,0.4,0],[0.985,0.985,0],[0.5,1,0],[0.015,0.985,0],[0.115,0.4,0]];' + s3 + 'secure_endpoints;fillColor=#005073;strokeColor=none;',
419					w, h * 0.7, '', 'Secure Endpoint (laptop)', null, null, this.getTagsForStencil(gn, 'secure endpoints laptop', dt).join(' '))
420		]);
421	};
422
423	Sidebar.prototype.addCisco19EndpointClientDeviceIconsPalette = function(s, s2, s3)
424	{
425		var w = 50;
426		var h = 50;
427		var gn = 'mxgraph.cisco19';
428		var dt = 'cisco endpoint client device icons';
429
430		this.addPaletteFunctions('cisco19Endpoint Client Device Icons', 'Cisco 19 / Endpoint Client and Device Icons', false,
431		[
432			this.createVertexTemplateEntry('points=[[0.03,0.03,0],[0.5,0,0],[0.97,0.03,0],[1,0.4,0],[0.97,0.745,0],[0.5,1,0],[0.03,0.745,0],[0,0.4,0]];' + s3 + 'workstation;fillColor=#005073;strokeColor=none;',
433					w, h * 0.8, '', 'Workstation', null, null, this.getTagsForStencil(gn, 'workstation', dt).join(' ')),
434			this.createVertexTemplateEntry('points=[[0.13,0.02,0],[0.5,0,0],[0.87,0.02,0],[0.885,0.4,0],[0.985,0.985,0],[0.5,1,0],[0.015,0.985,0],[0.115,0.4,0]];' + s3 + 'laptop;fillColor=#005073;strokeColor=none;',
435					w, h * 0.7, '', 'Laptop', null, null, this.getTagsForStencil(gn, 'laptop', dt).join(' ')),
436			this.createVertexTemplateEntry(s + 'handheld;fillColor=#005073;strokeColor=none;',
437					w * 0.75, h, '', 'Handheld', null, null, this.getTagsForStencil(gn, 'handheld', dt).join(' ')),
438			this.createVertexTemplateEntry(s + 'cell_phone;fillColor=#005073;strokeColor=none;',
439					w * 0.5, h, '', 'Cell Phone', null, null, this.getTagsForStencil(gn, 'cell phone', dt).join(' ')),
440			this.createVertexTemplateEntry('points=[[0.015,0.14,0],[0.5,0,0],[0.985,0.14,0],[1,0.57,0],[0.99,0.98,0],[0.5,1,0],[0.01,0.98,0],[0,0.57,0]];' + s3 + 'tablet;fillColor=#005073;strokeColor=none;',
441					w, h * 0.8, '', 'Tablet', null, null, this.getTagsForStencil(gn, 'tablet', dt).join(' ')),
442			this.createVertexTemplateEntry('points=[[0.22,0.185,0],[0.5,0,0],[0.78,0.185,0],[0.975,0.49,0],[1,0.73,0],[0.975,0.97,0],[0.5,1,0],[0.025,0.97,0],[0,0.73,0],[0.025,0.49,0]];' + s3 + 'printer;fillColor=#005073;strokeColor=none;',
443					w, h * 0.9, '', 'Printer', null, null, this.getTagsForStencil(gn, 'printer', dt).join(' ')),
444			this.createVertexTemplateEntry(s + 'pos;fillColor=#005073;strokeColor=none;',
445					w * 1.28, h, '', 'POS', null, null, this.getTagsForStencil(gn, 'pos', dt).join(' ')),
446			this.createVertexTemplateEntry('points=[[0.115,0.05,0],[0.335,0,0],[0.98,0.52,0],[1,0.71,0],[0.68,1,0],[0.065,0.76,0],[0,0.33,0],[0.68,0.33,0]];' + s3 + 'home_office;fillColor=#005073;strokeColor=none;',
447					w, h, '', 'Home Office', null, null, this.getTagsForStencil(gn, 'home office', dt).join(' ')),
448			this.createVertexTemplateEntry('points=[[0.35,0,0],[0.98,0.51,0],[1,0.71,0],[0.67,1,0],[0,0.795,0],[0,0.65,0]];' + s3 + 'user;fillColor=#005073;strokeColor=none;',
449					w, h, '', 'User', null, null, this.getTagsForStencil(gn, 'user', dt).join(' ')),
450			this.createVertexTemplateEntry('points=[[0.02,0.015,0],[0.5,0,0],[0.98,0.015,0],[1,0.38,0],[0.895,0.98,0],[0.5,1,0],[0.105,0.98,0],[0,0.38,0]];' + s3 + 'secure_endpoint_pc;fillColor=#005073;strokeColor=none;',
451					w, h * 0.8, '', 'Secure Endpoint (PC)', null, null, this.getTagsForStencil(gn, 'secure endpoints pc', dt).join(' ')),
452			this.createVertexTemplateEntry('points=[[0.13,0.02,0],[0.5,0,0],[0.87,0.02,0],[0.885,0.4,0],[0.985,0.985,0],[0.5,1,0],[0.015,0.985,0],[0.115,0.4,0]];' + s3 + 'secure_endpoints;fillColor=#005073;strokeColor=none;',
453					w, h * 0.7, '', 'Secure Endpoint (laptop)', null, null, this.getTagsForStencil(gn, 'secure endpoints laptop', dt).join(' ')),
454			this.createVertexTemplateEntry('points=[[0.5,0,0],[1,0.34,0],[1,1],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,1,0],[0,0.34,0],[1,0.67,0],[0,0.67,0],[0.325,0,0],[0.675,0,0]];' + s3 + 'data_center;fillColor=#005073;strokeColor=none;',
455					w * 2, h * 1.4, '', 'Data Center', null, null, this.getTagsForStencil(gn, 'data center', dt).join(' ')),
456			this.createVertexTemplateEntry('points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[1,1,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];' + s3 + 'branch;fillColor=#005073;strokeColor=none;',
457					w, h, '', 'Branch', null, null, this.getTagsForStencil(gn, 'branch', dt).join(' '))
458		]);
459	};
460
461	Sidebar.prototype.addCisco19DNASDAccessPalette = function(s, s2, s3)
462	{
463		var w = 50;
464		var h = 50;
465		var gn = 'mxgraph.cisco19';
466		var dt = 'cisco dna sd access';
467
468		this.addPaletteFunctions('cisco19DNA SD Access', 'Cisco 19 / DNA/SD-Access', false,
469		[
470			this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_dna_center;fillColor=#FAFAFA;strokeColor=#005073;',
471					w, h, '', 'Cisco DNA Center', null, null, this.getTagsForStencil(gn, 'dna center', dt).join(' ')),
472			this.createVertexTemplateEntry('points=[[0.5,0.37,0],[1,0.09,0],[1,0.9,0],[0,0.08,0],[0,0.91,0],[0.5,0.61,0],[0.045,0.5,0],[0.96,0.5,0]];' + s3 + 'cisco_dna;fillColor=#005073;strokeColor=none;',
473					w, h * 0.6, '', 'Cisco DNA', null, null, this.getTagsForStencil(gn, 'dna', dt).join(' '))
474		]);
475	};
476
477	Sidebar.prototype.addCisco19SDWANViptelaPalette = function(s, s2, s3)
478	{
479		var w = 50;
480		var h = 50;
481		var gn = 'mxgraph.cisco19';
482		var dt = 'cisco sd wan viptela wide area network';
483
484		this.addPaletteFunctions('cisco19SD WAN Viptela', 'Cisco 19 / SD-WAN and Viptela', false,
485		[
486			this.createVertexTemplateEntry(s2 + 'rect;prIcon=vbond;fillColor=#FAFAFA;strokeColor=#005073;',
487					w, h, '', 'vBond', null, null, this.getTagsForStencil(gn, 'vbond', dt).join(' ')),
488			this.createVertexTemplateEntry(s2 + 'rect;prIcon=vmanage;fillColor=#FAFAFA;strokeColor=#005073;',
489					w, h, '', 'vManage', null, null, this.getTagsForStencil(gn, 'vmanage', dt).join(' ')),
490			this.createVertexTemplateEntry(s2 + 'rect;prIcon=vsmart;fillColor=#FAFAFA;strokeColor=#005073;',
491					w, h, '', 'vSmart', null, null, this.getTagsForStencil(gn, 'vsmart', dt).join(' '))
492		]);
493	};
494
495	Sidebar.prototype.addCisco19StealthwatchPalette = function(s, s2, s3)
496	{
497		var w = 50;
498		var h = 50;
499		var gn = 'mxgraph.cisco19';
500		var dt = 'cisco stealthwatch';
501
502		this.addPaletteFunctions('cisco19ETA Stealthwatch', 'Cisco 19 / ETA/Stealthwatch', false,
503		[
504			this.createVertexTemplateEntry(s + 'rect;prIcon=flow_collector;fillColor=#FAFAFA;strokeColor=#005073;',
505					w * 1.28, h, '', 'Flow Collector', null, null, this.getTagsForStencil(gn, 'flow collector', dt).join(' ')),
506			this.createVertexTemplateEntry('points=[[0.03,0.03,0],[0.5,0,0],[0.97,0.03,0],[1,0.4,0],[0.97,0.745,0],[0.5,1,0],[0.03,0.745,0],[0,0.4,0]];' + s3 + 'stealthwatch_management_console_smc;fillColor=#005073;strokeColor=none;',
507					w, h * 0.8, '', 'Stealthwatch Management Console (SMC)', null, null, this.getTagsForStencil(gn, 'stealthwatch management console smc', dt).join(' ')),
508			this.createVertexTemplateEntry(s + 'rect;prIcon=cognitive;fillColor=#FAFAFA;strokeColor=#005073;',
509					w * 1.28, h, '', 'Cognitive', null, null, this.getTagsForStencil(gn, 'cognitive', dt).join(' '))
510		]);
511	};
512
513	Sidebar.prototype.addCisco19SafePalette = function(s, s2, s3)
514	{
515		var w = 50;
516		var h = 50;
517		var gn = 'mxgraph.cisco19';
518		var dt = 'cisco stealthwatch';
519
520		this.addPaletteFunctions('cisco19SAFE', 'Cisco 19 / SAFE', false,
521		[
522			this.createVertexTemplateEntry(s + 'rect;prIcon=next_generation_intrusion_prevention_system;fillColor=#FAFAFA;strokeColor=#005073;',
523					w, h, '', 'Next Generation Intrusion Prevention System', null, null, this.getTagsForStencil(gn, 'next generation prevention system', dt).join(' ')),
524			this.createVertexTemplateEntry(s + 'rect;prIcon=access_control_and_trustsec;fillColor=#FAFAFA;strokeColor=#005073;',
525					w, h, '', 'Access Control and TrustSec', null, null, this.getTagsForStencil(gn, 'access control and trustsec', dt).join(' ')),
526			this.createVertexTemplateEntry(s + 'rect;prIcon=load_balancer;fillColor=#FAFAFA;strokeColor=#005073;',
527					w * 1.28, h, '', 'Load Balancer', null, null, this.getTagsForStencil(gn, 'load balancer', dt).join(' ')),
528			this.createVertexTemplateEntry(s + 'rect;prIcon=anomaly_detection;fillColor=#FAFAFA;strokeColor=#005073;',
529					w, h, '', 'Anomaly Detection', null, null, this.getTagsForStencil(gn, 'anomaly detection', dt).join(' ')),
530			this.createVertexTemplateEntry(s + 'rect;prIcon=web_reputation_filtering;fillColor=#FAFAFA;strokeColor=#005073;',
531					w, h, '', 'Web Reputation / Filtering', null, null, this.getTagsForStencil(gn, 'web reputation filtering', dt).join(' ')),
532			this.createVertexTemplateEntry(s + 'rect;prIcon=avc_application_visibility_control;fillColor=#FAFAFA;strokeColor=#005073;',
533					w, h, '', 'AVC-Application Visibility Control', null, null, this.getTagsForStencil(gn, 'avc application visibility control', dt).join(' ')),
534			this.createVertexTemplateEntry(s + 'rect;prIcon=anti_malware2;fillColor=#FAFAFA;strokeColor=#005073;',
535					w, h, '', 'Anti-Malware', null, null, this.getTagsForStencil(gn, 'anti malware', dt).join(' ')),
536			this.createVertexTemplateEntry(s + 'rect;prIcon=web_application_firewall;fillColor=#FAFAFA;strokeColor=#005073;',
537					w * 1.28, h, '', 'Web Application Firewall', null, null, this.getTagsForStencil(gn, 'web application firewall', dt).join(' ')),
538			this.createVertexTemplateEntry(s + 'rect;prIcon=policy_configuration;fillColor=#FAFAFA;strokeColor=#005073;',
539					w, h, '', 'Policy / Configuration', null, null, this.getTagsForStencil(gn, 'policy configuration', dt).join(' ')),
540			this.createVertexTemplateEntry(s + 'rect;prIcon=analysis_correlation;fillColor=#FAFAFA;strokeColor=#005073;',
541					w * 1.28, h, '', 'Analysis / Correlation', null, null, this.getTagsForStencil(gn, 'analysis correlation', dt).join(' ')),
542			this.createVertexTemplateEntry(s + 'rect;prIcon=flow_analytics;fillColor=#FAFAFA;strokeColor=#005073;',
543					w * 1.28, h, '', 'Flow Analytics', null, null, this.getTagsForStencil(gn, 'flow analytics', dt).join(' ')),
544			this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_private_network;fillColor=#FAFAFA;strokeColor=#005073;',
545					w, h, '', 'Virtual Private Network', null, null, this.getTagsForStencil(gn, 'virtual private network vpn', dt).join(' ')),
546			this.createVertexTemplateEntry(s + 'rect;prIcon=web_reputation_filtering_2;fillColor=#FAFAFA;strokeColor=#005073;',
547					w, h, '', 'Web Reputation / Filtering', null, null, this.getTagsForStencil(gn, 'web reputation filtering', dt).join(' ')),
548			this.createVertexTemplateEntry(s + 'rect;prIcon=avc_application_visibility_control2;fillColor=#FAFAFA;strokeColor=#005073;',
549					w, h, '', 'AVC-Application Visibility Control', null, null, this.getTagsForStencil(gn, 'avc application visibility control', dt).join(' ')),
550			this.createVertexTemplateEntry(s + 'rect;prIcon=flow_analytics2;fillColor=#FAFAFA;strokeColor=#005073;',
551					w, h, '', 'Flow Analytics', null, null, this.getTagsForStencil(gn, 'flow analytics', dt).join(' ')),
552			this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_private_network2;fillColor=#FAFAFA;strokeColor=#005073;',
553					w * 1.28, h, '', 'Virtual Private Network', null, null, this.getTagsForStencil(gn, 'virtual private network', dt).join(' ')),
554			this.createVertexTemplateEntry(s + 'rect;prIcon=web_security_services;fillColor=#FAFAFA;strokeColor=#005073;',
555					w * 1.28, h, '', 'Web Security Services', null, null, this.getTagsForStencil(gn, 'web security services', dt).join(' ')),
556			this.createVertexTemplateEntry(s + 'rect;prIcon=web_security_services2;fillColor=#FAFAFA;strokeColor=#005073;',
557					w * 1.28, h, '', 'Web Security Services', null, null, this.getTagsForStencil(gn, 'web security services', dt).join(' ')),
558			this.createVertexTemplateEntry(s + 'rect;prIcon=posture_assessment;fillColor=#FAFAFA;strokeColor=#005073;',
559					w, h, '', 'Posture Assessment', null, null, this.getTagsForStencil(gn, 'posture assessment', dt).join(' ')),
560			this.createVertexTemplateEntry(s + 'rect;prIcon=anti_malware;fillColor=#FAFAFA;strokeColor=#005073;',
561					w, h, '', 'Anti-Malware', null, null, this.getTagsForStencil(gn, 'anti malware', dt).join(' ')),
562			this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_intrusion_prevention;fillColor=#FAFAFA;strokeColor=#005073;',
563					w, h, '', 'Wireless Intrusion Prevention', null, null, this.getTagsForStencil(gn, 'wireless intrusion prevention', dt).join(' ')),
564			this.createVertexTemplateEntry(s + 'rect;prIcon=host_based_security;fillColor=#FAFAFA;strokeColor=#005073;',
565					w, h, '', 'Host Based Security', null, null, this.getTagsForStencil(gn, 'host based security', dt).join(' ')),
566			this.createVertexTemplateEntry(s + 'rect;prIcon=monitoring;fillColor=#FAFAFA;strokeColor=#005073;',
567					w, h, '', 'Monitoring', null, null, this.getTagsForStencil(gn, 'monitoring', dt).join(' ')),
568			this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_private_network_connector;fillColor=#FAFAFA;strokeColor=#005073;',
569					w * 1.28, h, '', 'Virtual Private Network Connector', null, null, this.getTagsForStencil(gn, 'connector', dt).join(' ')),
570			this.createVertexTemplateEntry(s + 'rect;prIcon=threat_intelligence;fillColor=#FAFAFA;strokeColor=#005073;',
571					w, h, '', 'Monitoring', null, null, this.getTagsForStencil(gn, 'monitoring', dt).join(' '))
572		]);
573	};
574
575})();
576