1(function()
2{
3	// Adds mockup shapes
4	Sidebar.prototype.addAWS3Palette = function()
5	{
6		this.setCurrentSearchEntryLibrary('aws3', 'aws3Analytics');
7		this.addAWS3AnalyticsPalette();
8		this.setCurrentSearchEntryLibrary('aws3', 'aws3Application Services');
9		this.addAWS3ApplicationServicesPalette();
10		this.setCurrentSearchEntryLibrary('aws3', 'aws3Artificial Intelligence');
11		this.addAWS3ArtificialIntelligencePalette();
12		this.setCurrentSearchEntryLibrary('aws3', 'aws3Business Productivity');
13		this.addAWS3BusinessProductivityPalette();
14		this.setCurrentSearchEntryLibrary('aws3', 'aws3Compute');
15		this.addAWS3ComputePalette();
16		this.setCurrentSearchEntryLibrary('aws3', 'aws3Contact Center');
17		this.addAWS3ContactCenterPalette();
18		this.setCurrentSearchEntryLibrary('aws3', 'aws3Database');
19		this.addAWS3DatabasePalette();
20		this.setCurrentSearchEntryLibrary('aws3', 'aws3Desktop and App Streaming');
21		this.addAWS3DesktopAndAppStreamingPalette();
22		this.setCurrentSearchEntryLibrary('aws3', 'aws3Developer Tools');
23		this.addAWS3DeveloperToolsPalette();
24		this.setCurrentSearchEntryLibrary('aws3', 'aws3Game Development');
25		this.addAWS3GameDevelopmentPalette();
26		this.setCurrentSearchEntryLibrary('aws3', 'aws3General');
27		this.addAWS3GeneralPalette();
28		this.setCurrentSearchEntryLibrary('aws3', 'aws3Groups');
29		this.addAWS3GroupsPalette();
30		this.setCurrentSearchEntryLibrary('aws3', 'aws3Internet of Things');
31		this.addAWS3InternetOfThingsPalette();
32		this.setCurrentSearchEntryLibrary('aws3', 'aws3Management Tools');
33		this.addAWS3ManagementToolsPalette();
34		this.setCurrentSearchEntryLibrary('aws3', 'aws3Messaging');
35		this.addAWS3MessagingPalette();
36		this.setCurrentSearchEntryLibrary('aws3', 'aws3Migration');
37		this.addAWS3MigrationPalette();
38		this.setCurrentSearchEntryLibrary('aws3', 'aws3Mobile Services');
39		this.addAWS3MobileServicesPalette();
40		this.setCurrentSearchEntryLibrary('aws3', 'aws3Networking and Content Delivery');
41		this.addAWS3NetworkAndContentDeliveryPalette();
42		this.setCurrentSearchEntryLibrary('aws3', 'aws3On Demand Workforce');
43		this.addAWS3OnDemandWorkforcePalette();
44		this.setCurrentSearchEntryLibrary('aws3', 'aws3SDKs');
45		this.addAWS3SDKPalette();
46		this.setCurrentSearchEntryLibrary('aws3', 'aws3Security Identity and Compliance');
47		this.addAWS3SecurityIdentityAndCompliancePalette();
48		this.setCurrentSearchEntryLibrary('aws3', 'aws3Storage');
49		this.addAWS3StoragePalette();
50		this.setCurrentSearchEntryLibrary();
51	};
52
53	Sidebar.prototype.addAWS3AnalyticsPalette = function()
54	{
55		var sb = this;
56		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
57		var gn = 'mxgraph.aws3';
58		var dt = 'aws amazon web service analytics';
59		var s = 1.5; //scale
60
61		this.addPaletteFunctions('aws3Analytics', 'AWS17 / Analytics', false,
62		[
63			 this.createVertexTemplateEntry(n + 'athena;fillColor=#F58534;gradientColor=none;',
64					 s * 51, s * 51, '', 'Athena', null, null, this.getTagsForStencil(gn, 'athena', dt).join(' ')),
65			 this.createVertexTemplateEntry(n + 'cloudsearch;fillColor=#F58534;gradientColor=none;',
66					 s * 51, s * 62, '', 'CloudSearch', null, null, this.getTagsForStencil(gn, 'cloudsearch cloud search', dt).join(' ')),
67			 this.createVertexTemplateEntry(n + 'elasticsearch_service;fillColor=#F58534;gradientColor=none;',
68					 s * 45, s * 54, '', 'ElasticSearch Service', null, null, this.getTagsForStencil(gn, 'elasticsearch elastic search service', dt).join(' ')),
69			 this.createVertexTemplateEntry(n + 'emr;fillColor=#F58534;gradientColor=none;',
70					 s * 45, s * 54, '', 'EMR', null, null, this.getTagsForStencil(gn, 'emr', dt).join(' ')),
71			 this.createVertexTemplateEntry(n + 'kinesis;fillColor=#F58534;gradientColor=none;',
72					 s * 45, s * 54, '', 'Kinesis', null, null, this.getTagsForStencil(gn, 'kinesis', dt).join(' ')),
73			 this.createVertexTemplateEntry(n + 'quicksight;fillColor=#00B7F4;gradientColor=none;',
74					 s * 40, s * 40, '', 'QuickSight', null, null, this.getTagsForStencil(gn, 'quicksight quick sight', dt).join(' ')),
75			 this.createVertexTemplateEntry(n + 'redshift;fillColor=#2E73B8;gradientColor=none;',
76					 s * 45, s * 50, '', 'Redshift', null, null, this.getTagsForStencil(gn, 'redshift', dt).join(' ')),
77			 this.createVertexTemplateEntry(n + 'data_pipeline;fillColor=#F58534;gradientColor=none;',
78					 s * 45, s * 54, '', 'Data Pipeline', null, null, this.getTagsForStencil(gn, 'data pipeline', dt).join(' ')),
79			 this.createVertexTemplateEntry(n + 'search_documents;fillColor=#F58534;gradientColor=none;',
80					 s * 40, s * 42, '', 'Search Documents', null, null, this.getTagsForStencil(gn, 'search documents', dt).join(' ')),
81			 this.createVertexTemplateEntry(n + 'emr_cluster;fillColor=#F58534;gradientColor=none;',
82					 s * 37, s * 42, '', 'Cluster', null, null, this.getTagsForStencil(gn, 'emr cluster', dt).join(' ')),
83			 this.createVertexTemplateEntry(n + 'emr_engine;fillColor=#F58534;gradientColor=none;',
84					 s * 55, s * 40, '', 'EMR engine', null, null, this.getTagsForStencil(gn, 'emr engine', dt).join(' ')),
85			 this.createVertexTemplateEntry(n + 'emr_engine_mapr_m3;fillColor=#F58534;gradientColor=none;',
86					 s * 55, s * 40, '', 'EMR engine MapR M3', null, null, this.getTagsForStencil(gn, 'emr engine MapR M3', dt).join(' ')),
87			 this.createVertexTemplateEntry(n + 'emr_engine_mapr_m5;fillColor=#F58534;gradientColor=none;',
88					 s * 55, s * 40, '', 'EMR engine MapR M5', null, null, this.getTagsForStencil(gn, 'emr engine MapR M5', dt).join(' ')),
89			 this.createVertexTemplateEntry(n + 'emr_engine_mapr_m7;fillColor=#F58534;gradientColor=none;',
90					 s * 55, s * 40, '', 'EMR engine MapR M7', null, null, this.getTagsForStencil(gn, 'emr engine MapR M7', dt).join(' ')),
91			 this.createVertexTemplateEntry(n + 'glue;fillColor=#F58534;gradientColor=none;',
92					 s * 55, s * 66, '', 'Glue', null, null, this.getTagsForStencil(gn, 'glue', dt).join(' ')),
93			 this.createVertexTemplateEntry(n + 'hdfs_cluster;fillColor=#F58534;gradientColor=none;',
94					 s * 41, s * 42, '', 'HDFS Cluster', null, null, this.getTagsForStencil(gn, 'hdfs Cluster', dt).join(' ')),
95			 this.createVertexTemplateEntry(n + 'kinesis_analytics;fillColor=#F58534;gradientColor=none;',
96					 s * 49, s * 50, '', 'Kinesis Analytics', null, null, this.getTagsForStencil(gn, 'kinesis analytics', dt).join(' ')),
97			 this.createVertexTemplateEntry(n + 'kinesis_enabled_app;fillColor=#F58534;gradientColor=none;',
98					 s * 43, s * 45, '', 'Kinesis-enabled app', null, null, this.getTagsForStencil(gn, 'kinesis enabled app', dt).join(' ')),
99			 this.createVertexTemplateEntry(n + 'kinesis_firehose;fillColor=#F58534;gradientColor=none;',
100					 s * 40, s * 43, '', 'Kinesis Firehose', null, null, this.getTagsForStencil(gn, 'kinesis firehose', dt).join(' ')),
101			 this.createVertexTemplateEntry(n + 'kinesis_streams;fillColor=#F58534;gradientColor=none;',
102					 s * 40, s * 42, '', 'Kinesis Streams', null, null, this.getTagsForStencil(gn, 'kinesis streams', dt).join(' ')),
103			 this.createVertexTemplateEntry(n + 'dense_compute_node;fillColor=#2E73B8;gradientColor=none;',
104					 s * 37, s * 42, '', 'Dense Compute Node', null, null, this.getTagsForStencil(gn, 'dense compute node', dt).join(' ')),
105			 this.createVertexTemplateEntry(n + 'dense_storage_node;fillColor=#2E73B8;gradientColor=none;',
106					 s * 37, s * 42, '', 'Dense Storage Node', null, null, this.getTagsForStencil(gn, 'dense storage node', dt).join(' '))
107		]);
108	};
109
110	Sidebar.prototype.addAWS3ApplicationServicesPalette = function()
111	{
112		var sb = this;
113		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
114		var gn = 'mxgraph.aws3';
115		var dt = 'aws amazon web service app application services';
116		var s = 1.5; //scale
117
118		this.addPaletteFunctions('aws3Application Services', 'AWS17 / Application Services', false,
119		[
120			 this.createVertexTemplateEntry(n + 'elastic_transcoder;fillColor=#D9A741;gradientColor=none;',
121					 s * 51, s * 62, '', 'Elastic Transcoder', null, null, this.getTagsForStencil(gn, 'elastic transcoder', dt).join(' ')),
122			 this.createVertexTemplateEntry(n + 'api_gateway;fillColor=#D9A741;gradientColor=none;',
123					 s * 51, s * 62, '', 'API Gateway', null, null, this.getTagsForStencil(gn, 'api gateway', dt).join(' ')),
124			 this.createVertexTemplateEntry(n + 'step_functions;fillColor=#D9A741;gradientColor=none;',
125					 s * 51, s * 62, '', 'Step Functions', null, null, this.getTagsForStencil(gn, 'step functions', dt).join(' ')),
126			 this.createVertexTemplateEntry(n + 'swf;fillColor=#D9A741;gradientColor=none;',
127					 s * 51, s * 62, '', 'SWF', null, null, this.getTagsForStencil(gn, 'swf', dt).join(' ')),
128			 this.createVertexTemplateEntry(n + 'decider;fillColor=#D9A741;gradientColor=none;',
129					 s * 41, s * 43, '', 'Decider', null, null, this.getTagsForStencil(gn, 'decider', dt).join(' ')),
130			 this.createVertexTemplateEntry(n + 'worker;fillColor=#D9A741;gradientColor=none;',
131					 s * 40, s * 42, '', 'Worker', null, null, this.getTagsForStencil(gn, 'worker', dt).join(' '))
132		]);
133	};
134
135	Sidebar.prototype.addAWS3ArtificialIntelligencePalette = function()
136	{
137		var sb = this;
138		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
139		var gn = 'mxgraph.aws3';
140		var dt = 'aws amazon web service ai artificial intelligence';
141		var s = 1.5; //scale
142
143		this.addPaletteFunctions('aws3Artificial Intelligence', 'AWS17 / Artificial Intelligence', false,
144		[
145			 this.createVertexTemplateEntry(n + 'lex;fillColor=#2E73B8;gradientColor=none;',
146					 s * 51, s * 54, '', 'Lex', null, null, this.getTagsForStencil(gn, 'lex', dt).join(' ')),
147			 this.createVertexTemplateEntry(n + 'machine_learning;fillColor=#2E73B8;gradientColor=none;',
148					 s * 51, s * 62, '', 'Machine Learning', null, null, this.getTagsForStencil(gn, 'machine learning', dt).join(' ')),
149			 this.createVertexTemplateEntry(n + 'polly;fillColor=#2E73B8;gradientColor=none;',
150					 s * 51, s * 62, '', 'Polly', null, null, this.getTagsForStencil(gn, 'polly', dt).join(' ')),
151			 this.createVertexTemplateEntry(n + 'rekognition;fillColor=#2E73B8;gradientColor=none;',
152					 s * 51, s * 62, '', 'Rekognition', null, null, this.getTagsForStencil(gn, 'rekognition', dt).join(' '))
153		]);
154	};
155
156	Sidebar.prototype.addAWS3BusinessProductivityPalette = function()
157	{
158		var sb = this;
159		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
160		var gn = 'mxgraph.aws3';
161		var dt = 'aws amazon web service business productivity';
162		var s = 1.5; //scale
163
164		this.addPaletteFunctions('aws3Business Productivity', 'AWS17 / Business Productivity', false,
165		[
166			 this.createVertexTemplateEntry(n + 'chime;fillColor=#03B5BB;gradientColor=none;',
167					 s * 66, s * 66, '', 'Chime', null, null, this.getTagsForStencil(gn, 'chime', dt).join(' ')),
168			 this.createVertexTemplateEntry(n + 'workdocs;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;',
169					 s * 55, s * 63, '', 'WorkDocs', null, null, this.getTagsForStencil(gn, 'workdocs work docs documents', dt).join(' ')),
170			 this.createVertexTemplateEntry(n + 'workmail;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;',
171					 s * 55, s * 63, '', 'WorkMail', null, null, this.getTagsForStencil(gn, 'workmail work mail', dt).join(' '))
172		]);
173	};
174
175	Sidebar.prototype.addAWS3ComputePalette = function()
176	{
177		var sb = this;
178		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
179		var gn = 'mxgraph.aws3';
180		var dt = 'aws amazon web service compute';
181		var s = 1.5; //scale
182
183		this.addPaletteFunctions('aws3Compute', 'AWS17 / Compute', false,
184		[
185
186	 		 this.createVertexTemplateEntry(n + 'ami;fillColor=#F58534;gradientColor=none;',
187	 				 s * 40, s * 42, '', 'AMI', null, null, this.getTagsForStencil(gn, 'ami', dt).join(' ')),
188			 this.createVertexTemplateEntry(n + 'ec2;fillColor=#F58534;gradientColor=none;',
189					 s * 51, s * 62, '', 'EC2', null, null, this.getTagsForStencil(gn, 'ec2', dt).join(' ')),
190			 this.createVertexTemplateEntry(n + 'elastic_load_balancing;fillColor=#F58534;gradientColor=none;',
191					 s * 51, s * 62, '', 'Elastic Load Balancing', null, null, this.getTagsForStencil(gn, 'elastic load balancing', dt).join(' ')),
192			 this.createVertexTemplateEntry(n + 'auto_scaling;fillColor=#F58534;gradientColor=none;',
193					 s * 53, s * 51, '', 'Auto Scaling', null, null, this.getTagsForStencil(gn, 'auto scaling', dt).join(' ')),
194			 this.createVertexTemplateEntry(n + 'elastic_ip;fillColor=#F58534;gradientColor=none;',
195					 s * 51, s * 14, '', 'Elastic IP', null, null, this.getTagsForStencil(gn, 'elastic ip', dt).join(' ')),
196			 this.createVertexTemplateEntry(n + 'elastic_beanstalk;fillColor=#F58534;gradientColor=none;',
197					 s * 45, s * 62, '', 'Elastic Beanstalk', null, null, this.getTagsForStencil(gn, 'elastic beanstalk', dt).join(' ')),
198			 this.createVertexTemplateEntry(n + 'lambda;fillColor=#F58534;gradientColor=none;',
199					 s * 51, s * 62, '', 'Lambda', null, null, this.getTagsForStencil(gn, 'lambda', dt).join(' ')),
200			 this.createVertexTemplateEntry(n + 'ecs;fillColor=#F58534;gradientColor=none;',
201					 s * 48, s * 45, '', 'ECS', null, null, this.getTagsForStencil(gn, 'ecs', dt).join(' ')),
202			 this.createVertexTemplateEntry(n + 'db_on_instance;fillColor=#F58534;gradientColor=none;',
203					 s * 40, s * 43, '', 'DB on Instance', null, null, this.getTagsForStencil(gn, 'db on instance database', dt).join(' ')),
204			 this.createVertexTemplateEntry(n + 'instance;fillColor=#F58534;gradientColor=none;',
205					 s * 40, s * 42, '', 'Instance', null, null, this.getTagsForStencil(gn, 'instance', dt).join(' ')),
206			 this.createVertexTemplateEntry(n + 'lightsail;fillColor=#F58534;gradientColor=none;',
207					 s * 51, s * 55, '', 'Lightsail', null, null, this.getTagsForStencil(gn, 'lightsail', dt).join(' ')),
208			 this.createVertexTemplateEntry(n + 'endpoints;fillColor=#F58534;gradientColor=none;',
209					 s * 46, s * 48, '', 'Endpoints', null, null, this.getTagsForStencil(gn, 'endpoints', dt).join(' ')),
210			 this.createVertexTemplateEntry(n + 'instances;fillColor=#F58534;gradientColor=none;',
211					 s * 40, s * 42, '', 'Instances', null, null, this.getTagsForStencil(gn, 'instances', dt).join(' ')),
212			 this.createVertexTemplateEntry(n + 'elastic_network_interface;fillColor=#F58534;gradientColor=none;',
213					 s * 46, s * 48, '', 'Elastic Network Interface', null, null, this.getTagsForStencil(gn, 'elastic network interface', dt).join(' ')),
214			 this.createVertexTemplateEntry(n + 'internet_gateway;fillColor=#F58534;gradientColor=none;',
215					 s * 46, s * 48, '', 'Internet Gateway', null, null, this.getTagsForStencil(gn, 'internet gateway', dt).join(' ')),
216			 this.createVertexTemplateEntry(n + 'flow_logs;fillColor=#F58534;gradientColor=none;',
217					 s * 46, s * 48, '', 'Flow Logs', null, null, this.getTagsForStencil(gn, 'flow logs', dt).join(' ')),
218			 this.createVertexTemplateEntry(n + 'customer_gateway;fillColor=#F58534;gradientColor=none;',
219					 s * 46, s * 48, '', 'Customer Gateway', null, null, this.getTagsForStencil(gn, 'customer gateway', dt).join(' ')),
220			 this.createVertexTemplateEntry(n + 'instance_with_cloudwatch;fillColor=#F58534;gradientColor=none;',
221					 s * 40, s * 42, '', 'Instance with CloudWatch', null, null, this.getTagsForStencil(gn, 'instance with cloudwatch', dt).join(' ')),
222			 this.createVertexTemplateEntry(n + 'elastic_network_adapter;fillColor=#F58534;gradientColor=none;',
223					 s * 50, s * 60, '', 'Elastic Network Adapter', null, null, this.getTagsForStencil(gn, 'elastic network adapter', dt).join(' ')),
224			 this.createVertexTemplateEntry(n + 'optimized_instance;fillColor=#F58534;gradientColor=none;',
225					 s * 40, s * 42, '', 'Optimized Instance', null, null, this.getTagsForStencil(gn, 'optimized instance', dt).join(' ')),
226			 this.createVertexTemplateEntry(n + 'rescue;fillColor=#F58534;gradientColor=none;',
227					 s * 42, s * 44, '', 'Rescue', null, null, this.getTagsForStencil(gn, 'rescue', dt).join(' ')),
228			 this.createVertexTemplateEntry(n + 'spot_instance;fillColor=#F58534;gradientColor=none;',
229					 s * 40, s * 42, '', 'Spot Instance', null, null, this.getTagsForStencil(gn, 'spot instance', dt).join(' ')),
230
231			 this.addEntry(dt + 'Spot Fleet', function()
232             {
233				var bg1 = new mxCell('', new mxGeometry(0, 30, 200, 200), 'rounded=1;fillColor=none;gradientColor=none;arcSize=10;dashed=1;');
234				bg1.vertex = true;
235				var bg2 = new mxCell('', new mxGeometry(20, 0, 43, 40), n + 'spot_instance;fillColor=#F58534;strokeColor=none;gradientColor=none;');
236				bg2.vertex = true;
237
238			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 230, 'Spot Fleet');
239			 }),
240
241			 this.createVertexTemplateEntry(n + 'ecr;fillColor=#F58534;gradientColor=none;',
242					 s * 46, s * 48, '', 'ECR', null, null, this.getTagsForStencil(gn, 'ecr', dt).join(' ')),
243			 this.createVertexTemplateEntry(n + 'vpn_gateway;fillColor=#F58534;gradientColor=none;',
244					 s * 46, s * 48, '', 'VPN Gateway', null, null, this.getTagsForStencil(gn, 'vpn gateway virtual private network', dt).join(' ')),
245			 this.createVertexTemplateEntry(n + 'deployment;fillColor=#F58534;gradientColor=none;',
246					 s * 37, s * 49, '', 'Deployment', null, null, this.getTagsForStencil(gn, 'deployment', dt).join(' ')),
247			 this.createVertexTemplateEntry(n + 'vpn_connection;fillColor=#F58534;gradientColor=none;',
248					 s * 39, s * 32, '', 'VPN Connection', null, null, this.getTagsForStencil(gn, 'vpn connection virtual private network', dt).join(' ')),
249			 this.createVertexTemplateEntry(n + 'vpc_peering;fillColor=#F58534;gradientColor=none;',
250					 s * 46, s * 48, '', 'VPC Peering', null, null, this.getTagsForStencil(gn, 'vpc peering virtual private cloud', dt).join(' ')),
251			 this.createVertexTemplateEntry(n + 'application;fillColor=#F58534;gradientColor=none;',
252					 s * 23, s * 43, '', 'Application', null, null, this.getTagsForStencil(gn, 'application', dt).join(' ')),
253			 this.createVertexTemplateEntry(n + 'ec2_compute_container;fillColor=#F58534;gradientColor=none;',
254					 s * 40, s * 23, '', 'EC2 Compute Container', null, null, this.getTagsForStencil(gn, 'ec2 compute container', dt).join(' ')),
255			 this.createVertexTemplateEntry(n + 'ec2_compute_container_2;fillColor=#F58534;gradientColor=none;',
256					 s * 40, s * 23, '', 'EC2 Compute Container', null, null, this.getTagsForStencil(gn, 'ec2 compute container', dt).join(' ')),
257			 this.createVertexTemplateEntry(n + 'ec2_compute_container_3;fillColor=#F58534;gradientColor=none;',
258					 s * 40, s * 23, '', 'EC2 Compute Container', null, null, this.getTagsForStencil(gn, 'ec2 compute container', dt).join(' ')),
259			 this.createVertexTemplateEntry(n + 'vpc_nat_gateway;fillColor=#F58534;gradientColor=none;',
260					 s * 46, s * 48, '', 'VPC NAT Gateway', null, null, this.getTagsForStencil(gn, 'vpc nat gateway virtual private cloud', dt).join(' ')),
261			 this.createVertexTemplateEntry(n + 'ecr_registry;fillColor=#F58534;gradientColor=none;',
262					 s * 38, s * 40, '', 'ECR Registry', null, null, this.getTagsForStencil(gn, 'ecr registry', dt).join(' ')),
263			 this.createVertexTemplateEntry(n + 'batch;fillColor=#F58534;gradientColor=none;',
264					 s * 51, s * 62, '', 'Batch', null, null, this.getTagsForStencil(gn, 'batch', dt).join(' ')),
265			 this.createVertexTemplateEntry(n + 'router;fillColor=#F58534;gradientColor=none;',
266					 s * 46, s * 48, '', 'Router', null, null, this.getTagsForStencil(gn, 'router', dt).join(' ')),
267			 this.createVertexTemplateEntry(n + 'vpc;fillColor=#F58534;gradientColor=none;',
268					 s * 45, s * 54, '', 'VPC', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud', dt).join(' ')),
269			 this.createVertexTemplateEntry(n + 'network_access_controllist;fillColor=#F58534;gradientColor=none;',
270					 s * 46, s * 48, '', 'Network Access Controllist', null, null, this.getTagsForStencil(gn, 'network access controllist', dt).join(' ')),
271			 this.createVertexTemplateEntry(n + 'lambda_function;fillColor=#F58534;gradientColor=none;',
272					 s * 46, s * 48, '', 'Lambda Function', null, null, this.getTagsForStencil(gn, 'lambda function', dt).join(' ')),
273			 this.createVertexTemplateEntry(n + 'classic_load_balancer;fillColor=#F58534;gradientColor=none;',
274					 s * 46, s * 48, '', 'Classic Load Balancer', null, null, this.getTagsForStencil(gn, 'classic load balancer', dt).join(' ')),
275			 this.createVertexTemplateEntry(n + 'application_load_balancer;fillColor=#F58534;gradientColor=none;',
276					 s * 46, s * 48, '', 'Application Load Balancer', null, null, this.getTagsForStencil(gn, 'application load balancer', dt).join(' ')),
277			 this.createVertexTemplateEntry(n + 'x1_instance;fillColor=#F58534;gradientColor=none;',
278					 s * 40, s * 42, '', 'X1 Instance', null, null, this.getTagsForStencil(gn, 'x1 instance', dt).join(' '))
279		]);
280	};
281
282	Sidebar.prototype.addAWS3ContactCenterPalette = function()
283	{
284		var sb = this;
285		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
286		var gn = 'mxgraph.aws3';
287		var dt = 'aws amazon web service contact center';
288		var s = 1.5; //scale
289
290		this.addPaletteFunctions('aws3Contact Center', 'AWS17 / Contact Center', false,
291		[
292			 this.createVertexTemplateEntry(n + 'connect;fillColor=#759C3E;gradientColor=none;',
293					 s * 60, s * 46, '', 'Connect', null, null, this.getTagsForStencil(gn, 'connect', dt).join(' '))
294		]);
295	};
296
297	Sidebar.prototype.addAWS3DatabasePalette = function()
298	{
299		var sb = this;
300		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
301		var gn = 'mxgraph.aws3';
302		var dt = 'aws amazon web service db database';
303		var s = 1.5; //scale
304
305		this.addPaletteFunctions('aws3Database', 'AWS17 / Database', false,
306		[
307			 this.createVertexTemplateEntry(n + 'dynamo_db;fillColor=#2E73B8;gradientColor=none;',
308					 s * 48, s * 54, '', 'Dynamo DB', null, null, this.getTagsForStencil(gn, 'dynamo', dt).join(' ')),
309			 this.createVertexTemplateEntry(n + 'elasticache;fillColor=#2E73B8;gradientColor=none;',
310					 s * 45, s * 54, '', 'ElastiCache', null, null, this.getTagsForStencil(gn, 'elasticache elastic cache', dt).join(' ')),
311			 this.createVertexTemplateEntry(n + 'rds;fillColor=#2E73B8;gradientColor=none;',
312					 s * 48, s * 54, '', 'RDS', null, null, this.getTagsForStencil(gn, 'rds', dt).join(' ')),
313			 this.createVertexTemplateEntry(n + 'redshift;fillColor=#2E73B8;gradientColor=none;',
314					 s * 45, s * 50, '', 'Redshift', null, null, this.getTagsForStencil(gn, 'redshift', dt).join(' ')),
315			 this.createVertexTemplateEntry(n + 'redis;fillColor=#2E73B8;gradientColor=none;',
316					 s * 40, s * 42, '', 'Redis', null, null, this.getTagsForStencil(gn, 'redis', dt).join(' ')),
317			 this.createVertexTemplateEntry(n + 'rds_db_instance;fillColor=#2E73B8;gradientColor=none;',
318					 s * 33, s * 44, '', 'RDS DB Instance', null, null, this.getTagsForStencil(gn, 'rds instance', dt).join(' ')),
319			 this.createVertexTemplateEntry(n + 'rds_db_instance_read_replica;fillColor=#2E73B8;gradientColor=none;',
320					 s * 33, s * 44, '', 'RDS DB Instance Read Replica', null, null, this.getTagsForStencil(gn, 'rds instance read replica', dt).join(' ')),
321			 this.createVertexTemplateEntry(n + 'oracle_db_instance;fillColor=#2E73B8;gradientColor=none;',
322					 s * 40, s * 43, '', 'Oracle DB Instance', null, null, this.getTagsForStencil(gn, 'oracle instance', dt).join(' ')),
323			 this.createVertexTemplateEntry(n + 'piop;fillColor=#2E73B8;gradientColor=none;',
324					 s * 40, s * 42, '', 'PIOP', null, null, this.getTagsForStencil(gn, 'piop', dt).join(' ')),
325			 this.createVertexTemplateEntry(n + 'attribute;fillColor=#2E73B8;gradientColor=none;',
326					 s * 42, s * 44, '', 'Attribute', null, null, this.getTagsForStencil(gn, 'attribute', dt).join(' ')),
327			 this.createVertexTemplateEntry(n + 'attributes;fillColor=#2E73B8;gradientColor=none;',
328					 s * 42, s * 44, '', 'Attributes', null, null, this.getTagsForStencil(gn, 'attributes', dt).join(' ')),
329			 this.createVertexTemplateEntry(n + 'item;fillColor=#2E73B8;gradientColor=none;',
330					 s * 42, s * 44, '', 'Item', null, null, this.getTagsForStencil(gn, 'item', dt).join(' ')),
331			 this.createVertexTemplateEntry(n + 'global_secondary_index;fillColor=#2E73B8;gradientColor=none;',
332					 s * 45, s * 44, '', 'Global Secondary Index', null, null, this.getTagsForStencil(gn, 'global secondary index', dt).join(' ')),
333			 this.createVertexTemplateEntry(n + 'items;fillColor=#2E73B8;gradientColor=none;',
334					 s * 42, s * 44, '', 'Items', null, null, this.getTagsForStencil(gn, 'items', dt).join(' ')),
335			 this.createVertexTemplateEntry(n + 'db_accelerator;fillColor=#2E73B8;gradientColor=none;',
336					 s * 48, s * 54, '', 'DB Accelerator', null, null, this.getTagsForStencil(gn, 'db database accelerator', dt).join(' ')),
337			 this.createVertexTemplateEntry(n + 'table;fillColor=#2E73B8;gradientColor=none;',
338					 s * 45, s * 44, '', 'Table', null, null, this.getTagsForStencil(gn, 'table', dt).join(' ')),
339			 this.createVertexTemplateEntry(n + 'memcached;fillColor=#2E73B8;gradientColor=none;',
340					 s * 40, s * 42, '', 'Memcached', null, null, this.getTagsForStencil(gn, 'memcached', dt).join(' ')),
341			 this.createVertexTemplateEntry(n + 'mysql_db_instance;fillColor=#2E73B8;gradientColor=none;',
342					 s * 40, s * 43, '', 'MySQL DB Instance', null, null, this.getTagsForStencil(gn, 'mysql instance my sql', dt).join(' ')),
343			 this.createVertexTemplateEntry(n + 'rds_db_instance_standby_multi_az;fillColor=#2E73B8;gradientColor=none;',
344					 s * 33, s * 44, '', 'RDS DB Instance standby (multi-AZ)', null, null, this.getTagsForStencil(gn, 'rds instance standby multi', dt).join(' ')),
345			 this.createVertexTemplateEntry(n + 'cache_node;fillColor=#2E73B8;gradientColor=none;',
346					 s * 40, s * 42, '', 'Cache Node', null, null, this.getTagsForStencil(gn, 'cache node', dt).join(' ')),
347			 this.createVertexTemplateEntry(n + 'sql_master;fillColor=#2E73B8;gradientColor=none;',
348					 s * 40, s * 43, '', 'SQL Master', null, null, this.getTagsForStencil(gn, 'sql master', dt).join(' ')),
349			 this.createVertexTemplateEntry(n + 'sql_slave;fillColor=#2E73B8;gradientColor=none;',
350					 s * 40, s * 43, '', 'SQL Slave', null, null, this.getTagsForStencil(gn, 'sql slave', dt).join(' ')),
351			 this.createVertexTemplateEntry(n + 'ms_sql_instance_2;fillColor=#2E73B8;gradientColor=none;',
352					 s * 40, s * 42, '', 'MS SQL Instance', null, null, this.getTagsForStencil(gn, 'ms sql instance', dt).join(' ')),
353			 this.createVertexTemplateEntry(n + 'mysql_db_instance_2;fillColor=#2E73B8;gradientColor=none;',
354					 s * 40, s * 42, '', 'MySQL DB Instance', null, null, this.getTagsForStencil(gn, 'mysql instance my sql', dt).join(' ')),
355			 this.createVertexTemplateEntry(n + 'ms_sql_instance;fillColor=#2E73B8;gradientColor=none;',
356					 s * 40, s * 43, '', 'MS SQL Instance', null, null, this.getTagsForStencil(gn, 'ms sql instance', dt).join(' ')),
357			 this.createVertexTemplateEntry(n + 'oracle_db_instance_2;fillColor=#2E73B8;gradientColor=none;',
358					 s * 40, s * 42, '', 'Oracle DB Instance', null, null, this.getTagsForStencil(gn, 'oracle instance', dt).join(' ')),
359			 this.createVertexTemplateEntry(n + 'postgre_sql_instance;fillColor=#2E73B8;gradientColor=none;',
360					 s * 40, s * 42, '', 'Postgre SQL Instance', null, null, this.getTagsForStencil(gn, 'postgre sql instance', dt).join(' ')),
361			 this.createVertexTemplateEntry(n + 'dense_compute_node;fillColor=#2E73B8;gradientColor=none;',
362					 s * 37, s * 42, '', 'Dense Compute Node', null, null, this.getTagsForStencil(gn, 'dense compute node', dt).join(' ')),
363			 this.createVertexTemplateEntry(n + 'dense_storage_node;fillColor=#2E73B8;gradientColor=none;',
364					 s * 37, s * 42, '', 'Dense Storage Node', null, null, this.getTagsForStencil(gn, 'dense storage node', dt).join(' ')),
365			 this.createVertexTemplateEntry(n + 'database_migration_workflow_job;fillColor=#2E73B8;gradientColor=none;pointerEvents=1',
366					 s * 31, s * 58, '', 'Database Migration Workflow/Job', null, null, this.getTagsForStencil(gn, 'database migration workflow job', dt).join(' ')),
367			 this.createVertexTemplateEntry(n + 'database_migration_service;fillColor=#2E73B8;gradientColor=none;',
368					 s * 48, s * 54, '', 'Database Migration Service', null, null, this.getTagsForStencil(gn, 'database migration service', dt).join(' '))
369		]);
370	};
371
372	Sidebar.prototype.addAWS3DesktopAndAppStreamingPalette = function()
373	{
374		var sb = this;
375		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
376		var gn = 'mxgraph.aws3';
377		var dt = 'aws amazon web service desktop app streaming application';
378		var s = 1.5; //scale
379
380		this.addPaletteFunctions('aws3Desktop and App Streaming', 'AWS17 / Desktop and App Streaming', false,
381		[
382			 this.createVertexTemplateEntry(n + 'appstream;fillColor=#D9A741;gradientColor=none;',
383					 s * 51, s * 62, '', 'AppStream', null, null, this.getTagsForStencil(gn, 'appstream', dt).join(' ')),
384			 this.createVertexTemplateEntry(n + 'workspaces;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;',
385					 s * 55, s * 63, '', 'WorkSpaces', null, null, this.getTagsForStencil(gn, 'workspaces work spaces', dt).join(' '))
386		]);
387	};
388
389	Sidebar.prototype.addAWS3DeveloperToolsPalette = function()
390	{
391		var sb = this;
392		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
393		var gn = 'mxgraph.aws3';
394		var dt = 'aws amazon web service dev developer tools';
395		var s = 1.5; //scale
396
397		this.addPaletteFunctions('aws3Developer Tools', 'AWS17 / Developer Tools', false,
398		[
399			 this.createVertexTemplateEntry(n + 'codecommit;fillColor=#759C3E;gradientColor=none;',
400					 s * 51, s * 62, '', 'CodeCommit', null, null, this.getTagsForStencil(gn, 'codecommit code commit', dt).join(' ')),
401			 this.createVertexTemplateEntry(n + 'codedeploy;fillColor=#759C3E;gradientColor=none;',
402					 s * 45, s * 54, '', 'CodeDeploy', null, null, this.getTagsForStencil(gn, 'codedeploy code deploy', dt).join(' ')),
403			 this.createVertexTemplateEntry(n + 'codepipeline;fillColor=#759C3E;gradientColor=none;',
404					 s * 45, s * 54, '', 'CodePipeline', null, null, this.getTagsForStencil(gn, 'codepipeline code pipeline', dt).join(' ')),
405			 this.createVertexTemplateEntry(n + 'codestar;fillColor=#759C3E;gradientColor=none;',
406					 s * 45, s * 54, '', 'CodeStar', null, null, this.getTagsForStencil(gn, 'codestar code star', dt).join(' ')),
407			 this.createVertexTemplateEntry(n + 'codebuild;fillColor=#759C3E;gradientColor=none;',
408					 s * 51, s * 62, '', 'CodeBuild', null, null, this.getTagsForStencil(gn, 'codebuild code build', dt).join(' ')),
409			 this.createVertexTemplateEntry(n + 'x_ray;fillColor=#759C3E;gradientColor=none;',
410					 s * 51, s * 57, '', 'X-Ray', null, null, this.getTagsForStencil(gn, 'x ray', dt).join(' '))
411		]);
412	};
413
414	Sidebar.prototype.addAWS3GameDevelopmentPalette = function()
415	{
416		var sb = this;
417		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
418		var gn = 'mxgraph.aws3';
419		var dt = 'aws amazon web service game development';
420		var s = 1.5; //scale
421
422		this.addPaletteFunctions('aws3Game Development', 'AWS17 / Game Development', false,
423		[
424			 this.createVertexTemplateEntry(n + 'gamelift;fillColor=#AD688B;gradientColor=none;',
425					 s * 47, s * 57, '', 'GameLift', null, null, this.getTagsForStencil(gn, 'gamelift game lift', dt).join(' '))
426		]);
427	};
428
429	Sidebar.prototype.addAWS3GeneralPalette = function()
430	{
431		var sb = this;
432		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
433		var gn = 'mxgraph.aws3';
434		var dt = 'aws amazon web service general';
435		var s = 1.5; //scale
436
437		this.addPaletteFunctions('aws3General', 'AWS17 / General', false,
438		[
439			 this.createVertexTemplateEntry(n + 'management_console;fillColor=#F58534;gradientColor=none;',
440					 s * 42, s * 42, '', 'Management Console', null, null, this.getTagsForStencil(gn, 'management console', dt).join(' ')),
441			 this.createVertexTemplateEntry(n + 'cloud_2;fillColor=#F58534;gradientColor=none;',
442					 s * 50, s * 50, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
443			 this.createVertexTemplateEntry(n + 'forums;fillColor=#F58534;gradientColor=none;',
444					 s * 57, s * 55, '', 'Forums', null, null, this.getTagsForStencil(gn, 'forums', dt).join(' ')),
445			 this.createVertexTemplateEntry(n + 'virtual_private_cloud;fillColor=#F58534;gradientColor=none;',
446					 s * 53, s * 36, '', 'Virtual Private Cloud', null, null, this.getTagsForStencil(gn, 'virtual private cloud vpc', dt).join(' ')),
447			 this.createVertexTemplateEntry(n + 'management_console;fillColor=#D2D3D3;gradientColor=none;',
448					 s * 42, s * 42, '', 'Client', null, null, this.getTagsForStencil(gn, 'client', dt).join(' ')),
449			 this.createVertexTemplateEntry(n + 'mobile_client;fillColor=#D2D3D3;gradientColor=none;',
450					 s * 27, s * 42, '', 'Mobile Client', null, null, this.getTagsForStencil(gn, 'mobile client', dt).join(' ')),
451			 this.createVertexTemplateEntry(n + 'multimedia;fillColor=#D2D3D3;gradientColor=none;',
452					 s * 44, s * 42, '', 'Multimedia', null, null, this.getTagsForStencil(gn, 'multimedia', dt).join(' ')),
453			 this.createVertexTemplateEntry(n + 'user;fillColor=#D2D3D3;gradientColor=none;',
454					 s * 30, s * 42, '', 'User', null, null, this.getTagsForStencil(gn, 'user', dt).join(' ')),
455			 this.createVertexTemplateEntry(n + 'users;fillColor=#D2D3D3;gradientColor=none;',
456					 s * 44, s * 42, '', 'Users', null, null, this.getTagsForStencil(gn, 'users', dt).join(' ')),
457			 this.createVertexTemplateEntry(n + 'tape_storage;fillColor=#7D7C7C;gradientColor=none;',
458					 s * 50, s * 26, '', 'Tape Storage', null, null, this.getTagsForStencil(gn, 'tape storage', dt).join(' ')),
459			 this.createVertexTemplateEntry(n + 'corporate_data_center;fillColor=#7D7C7C;gradientColor=none;',
460					 s * 31, s * 42, '', 'Corporate Data Center', null, null, this.getTagsForStencil(gn, 'corporate data center', dt).join(' ')),
461			 this.createVertexTemplateEntry(n + 'traditional_server;fillColor=#7D7C7C;gradientColor=none;',
462					 s * 31, s * 42, '', 'Traditional Server', null, null, this.getTagsForStencil(gn, 'traditional server', dt).join(' ')),
463			 this.createVertexTemplateEntry(n + 'disk;fillColor=#7D7C7C;gradientColor=none;',
464					 s * 41, s * 43, '', 'Disk', null, null, this.getTagsForStencil(gn, 'disk', dt).join(' ')),
465			 this.createVertexTemplateEntry(n + 'generic_database;fillColor=#7D7C7C;gradientColor=none;',
466					 s * 33, s * 43, '', 'Generic Database', null, null, this.getTagsForStencil(gn, 'generic database', dt).join(' ')),
467			 this.createVertexTemplateEntry(n + 'internet;fillColor=#D2D3D3;gradientColor=none;',
468					 s * 53, s * 53, '', 'Internet', null, null, this.getTagsForStencil(gn, 'internet', dt).join(' ')),
469			 this.createVertexTemplateEntry(n + 'internet_2;fillColor=#D2D3D3;gradientColor=none;',
470					 s * 53, s * 36, '', 'Internet', null, null, this.getTagsForStencil(gn, 'internet', dt).join(' ')),
471			 this.createVertexTemplateEntry(n + 'internet_3;fillColor=#D2D3D3;gradientColor=none;',
472					 s * 53, s * 36, '', 'Internet', null, null, this.getTagsForStencil(gn, 'internet', dt).join(' ')),
473			 this.createVertexTemplateEntry(n + 'office_building;fillColor=#7D7C7C;gradientColor=none;',
474					 s * 22, s * 53, '', 'Office Building', null, null, this.getTagsForStencil(gn, 'office building', dt).join(' ')),
475			 this.createVertexTemplateEntry(n + 'saml_token;fillColor=#D2D3D3;gradientColor=none;',
476					 s * 46, s * 48, '', 'SAML Token', null, null, this.getTagsForStencil(gn, 'saml token', dt).join(' ')),
477			 this.createVertexTemplateEntry(n + 'ssl_padlock;fillColor=#D2D3D3;gradientColor=none;',
478					 s * 42, s * 52, '', 'SSL Padlock', null, null, this.getTagsForStencil(gn, 'ssl padlock', dt).join(' '))
479		]);
480	};
481
482	Sidebar.prototype.addAWS3GroupsPalette = function()
483	{
484		var sb = this;
485		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
486		var gn = 'mxgraph.aws3';
487		var dt = 'aws group amazon web service group groups';
488		var s = 1.5; //scale
489
490		this.addPaletteFunctions('aws3Groups', 'AWS17 / Groups', false,
491		[
492			 this.createVertexTemplateEntry('rounded=1;arcSize=10;dashed=1;fillColor=none;gradientColor=none;dashPattern=8 3 1 3;strokeWidth=2;',
493					 s * 133, s * 133, '', 'Auto Scaling Group', null, null, this.getTagsForStencil(gn, 'auto scaling group', dt).join(' ')),
494			 this.createVertexTemplateEntry('rounded=1;arcSize=10;dashed=1;strokeColor=#F59D56;fillColor=none;gradientColor=none;dashPattern=8 4;strokeWidth=2;',
495					 s * 133, s * 133, '', 'Availability Zone', null, null, this.getTagsForStencil(gn, 'availability zone', dt).join(' ')),
496			 this.createVertexTemplateEntry('rounded=1;arcSize=10;dashed=1;fillColor=none;gradientColor=none;dashPattern=1 1;strokeWidth=2;',
497					 s * 133, s * 133, '', 'Region', null, null, this.getTagsForStencil(gn, 'region', dt).join(' ')),
498			 this.createVertexTemplateEntry('rounded=1;arcSize=10;dashed=1;strokeColor=#ff0000;fillColor=none;gradientColor=none;dashPattern=8 4;strokeWidth=2;',
499					 s * 133, s * 133, '', 'Security Group', null, null, this.getTagsForStencil(gn, 'security group', dt).join(' ')),
500
501				 this.addEntry(dt + 'elastic beanstalk container', function()
502			 {
503				var bg1 = new mxCell('', new mxGeometry(0, 20, 200, 200), 'rounded=1;arcSize=10;dashed=0;fillColor=none;gradientColor=none;strokeWidth=2;');
504				bg1.vertex = true;
505				var bg2 = new mxCell('', new mxGeometry(20, 0, 30, 41), n + 'elastic_beanstalk;fillColor=#F58536;gradientColor=none;dashed=0;');
506				bg2.vertex = true;
507
508			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 220, 'Elastic Beanstalk Container');
509			 }),
510
511				 this.addEntry(dt + 'ec2 instance container', function()
512			 {
513				var bg1 = new mxCell('', new mxGeometry(0, 20, 200, 200), 'rounded=1;arcSize=10;dashed=0;fillColor=none;gradientColor=none;strokeWidth=2;');
514				bg1.vertex = true;
515				var bg2 = new mxCell('', new mxGeometry(20, 0, 40, 41), n + 'instance;fillColor=#F58536;gradientColor=none;dashed=0;');
516				bg2.vertex = true;
517
518			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 220, 'EC2 Instance Container');
519			 }),
520
521				 this.addEntry(dt + 'vpc subnet', function()
522			 {
523				var bg1 = new mxCell('', new mxGeometry(0, 20, 200, 200), 'rounded=1;arcSize=10;dashed=0;fillColor=none;gradientColor=none;strokeWidth=2;');
524				bg1.vertex = true;
525				var bg2 = new mxCell('', new mxGeometry(20, 0, 30, 35), n + 'permissions;fillColor=#D9A741;gradientColor=none;dashed=0;');
526				bg2.vertex = true;
527
528			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 220, 'VPC Subnet');
529			 }),
530
531			 this.createVertexTemplateEntry('rounded=1;arcSize=10;strokeColor=none;fillColor=#DBDBDB;gradientColor=none;',
532					 s * 133, s * 133, '', 'Server Contents', null, null, this.getTagsForStencil(gn, 'server contents', dt).join(' ')),
533
534			 this.addEntry(dt + 'virtual private cloud', function()
535			 {
536				var bg1 = new mxCell('', new mxGeometry(0, 20, 200, 200), 'rounded=1;arcSize=10;dashed=0;fillColor=none;gradientColor=none;strokeWidth=2;');
537				bg1.vertex = true;
538				var bg2 = new mxCell('', new mxGeometry(20, 0, 52, 36), n + 'virtual_private_cloud;fillColor=#F58536;gradientColor=none;dashed=0;');
539				bg2.vertex = true;
540
541			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 220, 'Virtual Private Cloud');
542			 }),
543
544			 this.addEntry(dt + 'cloud', function()
545			 {
546				var bg1 = new mxCell('', new mxGeometry(0, 20, 200, 200), 'rounded=1;arcSize=10;dashed=0;fillColor=none;gradientColor=none;strokeWidth=2;');
547				bg1.vertex = true;
548				var bg2 = new mxCell('', new mxGeometry(20, 0, 52, 36), n + 'cloud;fillColor=#F58536;gradientColor=none;dashed=0;');
549				bg2.vertex = true;
550
551			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 220, 'AWS Cloud');
552			 }),
553
554			 this.addEntry(dt + 'corporate data center', function()
555			 {
556				var bg1 = new mxCell('', new mxGeometry(0, 20, 200, 200), 'rounded=1;arcSize=10;dashed=0;fillColor=none;gradientColor=none;strokeWidth=2;');
557				bg1.vertex = true;
558				var bg2 = new mxCell('', new mxGeometry(20, 0, 30, 42), n + 'corporate_data_center;fillColor=#7D7C7C;gradientColor=none;dashed=0;');
559				bg2.vertex = true;
560
561			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 220, 'Corporate Data Center');
562			 })
563		]);
564	};
565
566	Sidebar.prototype.addAWS3InternetOfThingsPalette = function()
567	{
568		var sb = this;
569		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
570		var gn = 'mxgraph.aws3';
571		var dt = 'aws amazon web service iot internet of things';
572		var s = 1.5; //scale
573
574		this.addPaletteFunctions('aws3Internet of Things', 'AWS17 / Internet of Things', false,
575		[
576			 this.createVertexTemplateEntry(n + 'aws_iot;fillColor=#5294CF;gradientColor=none;',
577					 s * 45, s * 54, '', 'AWS IoT', null, null, this.getTagsForStencil(gn, 'iot internet of things', dt).join(' ')),
578			 this.createVertexTemplateEntry(n + 'greengrass;fillColor=#5294CF;gradientColor=none;',
579					 s * 51, s * 62, '', 'Greengrass', null, null, this.getTagsForStencil(gn, 'greengrass', dt).join(' ')),
580			 this.createVertexTemplateEntry(n + 'action;fillColor=#5294CF;gradientColor=none;',
581					 s * 42, s * 43, '', 'Action', null, null, this.getTagsForStencil(gn, 'action', dt).join(' ')),
582			 this.createVertexTemplateEntry(n + 'actuator;fillColor=#5294CF;gradientColor=none;',
583					 s * 51, s * 60, '', 'Actuator', null, null, this.getTagsForStencil(gn, 'actuator', dt).join(' ')),
584			 this.createVertexTemplateEntry(n + 'certificate;fillColor=#5294CF;gradientColor=none;',
585					 s * 42, s * 57, '', 'Certificate', null, null, this.getTagsForStencil(gn, 'certificate', dt).join(' ')),
586			 this.createVertexTemplateEntry(n + 'desired_state;fillColor=#5294CF;gradientColor=none;',
587					 s * 40, s * 42, '', 'Desired State', null, null, this.getTagsForStencil(gn, 'desired state', dt).join(' ')),
588			 this.createVertexTemplateEntry(n + 'hardware_board;fillColor=#5294CF;gradientColor=none;',
589					 s * 56, s * 67, '', 'Hardware Board', null, null, this.getTagsForStencil(gn, 'hardware board', dt).join(' ')),
590			 this.createVertexTemplateEntry(n + 'http_protocol;fillColor=#5294CF;gradientColor=none;',
591					 s * 42, s * 44, '', 'HTTP Protocol', null, null, this.getTagsForStencil(gn, 'http protocol', dt).join(' ')),
592			 this.createVertexTemplateEntry(n + 'http_2_protocol;fillColor=#5294CF;gradientColor=none;',
593					 s * 42, s * 44, '', 'HTTP/2 Protocol', null, null, this.getTagsForStencil(gn, 'http 2 protocol', dt).join(' ')),
594			 this.createVertexTemplateEntry(n + 'lambda_function;fillColor=#5294CF;gradientColor=none;',
595					 s * 40, s * 42, '', 'Lambda Function', null, null, this.getTagsForStencil(gn, 'lambda function', dt).join(' ')),
596			 this.createVertexTemplateEntry(n + 'mqtt_protocol;fillColor=#5294CF;gradientColor=none;',
597					 s * 42, s * 44, '', 'MQTT Protocol', null, null, this.getTagsForStencil(gn, 'mqtt protocol', dt).join(' ')),
598			 this.createVertexTemplateEntry(n + 'policy;fillColor=#5294CF;gradientColor=none;',
599					 s * 37, s * 60, '', 'Policy', null, null, this.getTagsForStencil(gn, 'policy', dt).join(' ')),
600			 this.createVertexTemplateEntry(n + 'reported_state;fillColor=#5294CF;gradientColor=none;',
601					 s * 40, s * 42, '', 'Reported State', null, null, this.getTagsForStencil(gn, 'reported state', dt).join(' ')),
602			 this.createVertexTemplateEntry(n + 'rule;fillColor=#5294CF;gradientColor=none;',
603					 s * 33, s * 66, '', 'Rule', null, null, this.getTagsForStencil(gn, 'rule', dt).join(' ')),
604			 this.createVertexTemplateEntry(n + 'sensor;fillColor=#5294CF;gradientColor=none;',
605					 s * 51, s * 60, '', 'Sensor', null, null, this.getTagsForStencil(gn, 'sensor', dt).join(' ')),
606			 this.createVertexTemplateEntry(n + 'servo;fillColor=#5294CF;gradientColor=none;',
607					 s * 56, s * 40, '', 'Servo', null, null, this.getTagsForStencil(gn, 'servo', dt).join(' ')),
608			 this.createVertexTemplateEntry(n + 'shadow;fillColor=#5294CF;gradientColor=none;',
609					 s * 57, s * 61, '', 'Shadow', null, null, this.getTagsForStencil(gn, 'shadow', dt).join(' ')),
610			 this.createVertexTemplateEntry(n + 'simulator;fillColor=#5294CF;gradientColor=none;',
611					 s * 50, s * 52, '', 'Simulator', null, null, this.getTagsForStencil(gn, 'simulator', dt).join(' ')),
612			 this.createVertexTemplateEntry(n + 'topic;fillColor=#5294CF;gradientColor=none;',
613					 s * 33, s * 44, '', 'Topic', null, null, this.getTagsForStencil(gn, 'topic', dt).join(' ')),
614			 this.createVertexTemplateEntry(n + 'bank;fillColor=#5294CF;gradientColor=none;',
615					 s * 53, s * 53, '', 'Bank', null, null, this.getTagsForStencil(gn, 'bank', dt).join(' ')),
616			 this.createVertexTemplateEntry(n + 'bicycle;fillColor=#5294CF;gradientColor=none;',
617					 s * 53, s * 53, '', 'Bicycle', null, null, this.getTagsForStencil(gn, 'bicycle', dt).join(' ')),
618			 this.createVertexTemplateEntry(n + 'camera;fillColor=#5294CF;gradientColor=none;',
619					 s * 53, s * 53, '', 'Camera', null, null, this.getTagsForStencil(gn, 'camera', dt).join(' ')),
620			 this.createVertexTemplateEntry(n + 'utility;fillColor=#5294CF;gradientColor=none;',
621					 s * 53, s * 53, '', 'Utility', null, null, this.getTagsForStencil(gn, 'utility', dt).join(' ')),
622			 this.createVertexTemplateEntry(n + 'cart;fillColor=#5294CF;gradientColor=none;',
623					 s * 53, s * 53, '', 'Cart', null, null, this.getTagsForStencil(gn, 'cart', dt).join(' ')),
624			 this.createVertexTemplateEntry(n + 'car;fillColor=#5294CF;gradientColor=none;',
625					 s * 53, s * 53, '', 'Car', null, null, this.getTagsForStencil(gn, 'car', dt).join(' ')),
626			 this.createVertexTemplateEntry(n + 'windfarm;fillColor=#5294CF;gradientColor=none;',
627					 s * 53, s * 53, '', 'Windfarm', null, null, this.getTagsForStencil(gn, 'windfarm', dt).join(' ')),
628			 this.createVertexTemplateEntry(n + 'house;fillColor=#5294CF;gradientColor=none;',
629					 s * 53, s * 53, '', 'House', null, null, this.getTagsForStencil(gn, 'house', dt).join(' ')),
630			 this.createVertexTemplateEntry(n + 'generic;fillColor=#5294CF;gradientColor=none;',
631					 s * 53, s * 53, '', 'Generic', null, null, this.getTagsForStencil(gn, 'generic', dt).join(' ')),
632			 this.createVertexTemplateEntry(n + 'factory;fillColor=#5294CF;gradientColor=none;',
633					 s * 53, s * 53, '', 'Factory', null, null, this.getTagsForStencil(gn, 'factory', dt).join(' ')),
634			 this.createVertexTemplateEntry(n + 'coffee_pot;fillColor=#5294CF;gradientColor=none;',
635					 s * 53, s * 53, '', 'Coffee Pot', null, null, this.getTagsForStencil(gn, 'coffee pot', dt).join(' ')),
636			 this.createVertexTemplateEntry(n + 'door_lock;fillColor=#5294CF;gradientColor=none;',
637					 s * 53, s * 53, '', 'Door Lock', null, null, this.getTagsForStencil(gn, 'door lock', dt).join(' ')),
638			 this.createVertexTemplateEntry(n + 'lightbulb;fillColor=#5294CF;gradientColor=none;',
639					 s * 53, s * 53, '', 'Lightbulb', null, null, this.getTagsForStencil(gn, 'lightbulb', dt).join(' ')),
640			 this.createVertexTemplateEntry(n + 'medical_emergency;fillColor=#5294CF;gradientColor=none;',
641					 s * 53, s * 53, '', 'Medical Emergency', null, null, this.getTagsForStencil(gn, 'medical emergency', dt).join(' ')),
642			 this.createVertexTemplateEntry(n + 'police_emergency;fillColor=#5294CF;gradientColor=none;',
643					 s * 53, s * 53, '', 'Police Emergency', null, null, this.getTagsForStencil(gn, 'police emergency', dt).join(' ')),
644			 this.createVertexTemplateEntry(n + 'thermostat;fillColor=#5294CF;gradientColor=none;',
645					 s * 53, s * 53, '', 'Thermostat', null, null, this.getTagsForStencil(gn, 'thermostat', dt).join(' ')),
646			 this.createVertexTemplateEntry(n + 'travel;fillColor=#5294CF;gradientColor=none;',
647					 s * 53, s * 53, '', 'Travel', null, null, this.getTagsForStencil(gn, 'travel', dt).join(' ')),
648			 this.createVertexTemplateEntry(n + 'echo;fillColor=#205B99;gradientColor=none;',
649					 s * 27, s * 62, '', 'Echo', null, null, this.getTagsForStencil(gn, 'echo', dt).join(' ')),
650			 this.createVertexTemplateEntry(n + 'alexa_skill;fillColor=#5294CF;gradientColor=none;',
651					 s * 40, s * 42, '', 'Alexa Skill', null, null, this.getTagsForStencil(gn, 'alexa skill', dt).join(' ')),
652			 this.createVertexTemplateEntry(n + 'alexa_smart_home_skill;fillColor=#5294CF;gradientColor=none;',
653					 s * 60, s * 47, '', 'Alexa Smart Home Skill', null, null, this.getTagsForStencil(gn, 'alexa smart home skill', dt).join(' ')),
654			 this.createVertexTemplateEntry(n + 'alexa_voice_service;fillColor=#5294CF;gradientColor=none;',
655					 s * 40, s * 42, '', 'Alexa Voice Service', null, null, this.getTagsForStencil(gn, 'alexa voice service', dt).join(' ')),
656			 this.createVertexTemplateEntry(n + 'alexa_enabled_device;fillColor=#5294CF;gradientColor=none;',
657					 s * 53, s * 53, '', 'Alexa Enabled Device', null, null, this.getTagsForStencil(gn, 'alexa enabled device', dt).join(' ')),
658			 this.createVertexTemplateEntry(n + 'fire_tv;fillColor=#5294CF;gradientColor=none;',
659					 s * 50, s * 37, '', 'Fire TV', null, null, this.getTagsForStencil(gn, 'fire tv', dt).join(' ')),
660			 this.createVertexTemplateEntry(n + 'fire_tv_stick;fillColor=#5294CF;gradientColor=none;',
661					 s * 57, s * 22, '', 'Fire TV Stick', null, null, this.getTagsForStencil(gn, 'fire tv stick', dt).join(' '))
662		]);
663	};
664
665	Sidebar.prototype.addAWS3ManagementToolsPalette = function()
666	{
667		var sb = this;
668		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
669		var gn = 'mxgraph.aws3';
670		var dt = 'aws amazon web service management tools';
671		var s = 1.5; //scale
672
673		this.addPaletteFunctions('aws3Management Tools', 'AWS17 / Management Tools', false,
674		[
675			 this.createVertexTemplateEntry(n + 'cloudwatch;fillColor=#759C3E;gradientColor=none;',
676					 s * 55, s * 62, '', 'CloudWatch', null, null, this.getTagsForStencil(gn, 'cloudwatch cloud watch', dt).join(' ')),
677			 this.createVertexTemplateEntry(n + 'cloudformation;fillColor=#759C3E;gradientColor=none;',
678					 s * 51, s * 62, '', 'CloudFormation', null, null, this.getTagsForStencil(gn, 'cloudformation cloud formation', dt).join(' ')),
679			 this.createVertexTemplateEntry(n + 'cloudtrail;fillColor=#759C3E;gradientColor=none;',
680					 s * 51, s * 62, '', 'CloudTrail', null, null, this.getTagsForStencil(gn, 'cloudtrail cloud trail', dt).join(' ')),
681			 this.createVertexTemplateEntry(n + 'config;fillColor=#759C3E;gradientColor=none;',
682					 s * 51, s * 62, '', 'Config', null, null, this.getTagsForStencil(gn, 'config', dt).join(' ')),
683			 this.createVertexTemplateEntry(n + 'managed_services;fillColor=#759C3E;gradientColor=none;',
684					 s * 51, s * 62, '', 'Managed Services', null, null, this.getTagsForStencil(gn, 'managed services', dt).join(' ')),
685			 this.createVertexTemplateEntry(n + 'opsworks;fillColor=#759C3E;gradientColor=none;',
686					 s * 51, s * 62, '', 'OpsWorks', null, null, this.getTagsForStencil(gn, 'opsworks ops works', dt).join(' ')),
687			 this.createVertexTemplateEntry(n + 'service_catalog;fillColor=#759C3E;gradientColor=none;',
688					 s * 51, s * 62, '', 'Service Catalog', null, null, this.getTagsForStencil(gn, 'service catalog', dt).join(' ')),
689			 this.createVertexTemplateEntry(n + 'trusted_advisor;fillColor=#759C3E;gradientColor=none;',
690					 s * 45, s * 54, '', 'Trusted Advisor', null, null, this.getTagsForStencil(gn, 'trusted advisor', dt).join(' ')),
691			 this.createVertexTemplateEntry(n + 'alarm;fillColor=#759C3E;gradientColor=none;',
692					 s * 36, s * 44, '', 'Alarm', null, null, this.getTagsForStencil(gn, 'alarm', dt).join(' ')),
693			 this.createVertexTemplateEntry(n + 'event_time_based;fillColor=#759C3E;gradientColor=none;',
694					 s * 42, s * 55, '', 'Event (Time Based)', null, null, this.getTagsForStencil(gn, 'event time based', dt).join(' ')),
695			 this.createVertexTemplateEntry(n + 'event_event_based;fillColor=#759C3E;gradientColor=none;',
696					 s * 40, s * 55, '', 'Event (Event Based)', null, null, this.getTagsForStencil(gn, 'event based', dt).join(' ')),
697			 this.createVertexTemplateEntry(n + 'config_rule;fillColor=#759C3E;gradientColor=none;',
698					 s * 37, s * 48, '', 'Config Rule', null, null, this.getTagsForStencil(gn, 'config rule', dt).join(' ')),
699			 this.createVertexTemplateEntry(n + 'automation;fillColor=#759C3E;gradientColor=none;',
700					 s * 52, s * 54, '', 'Automation', null, null, this.getTagsForStencil(gn, 'automation', dt).join(' ')),
701			 this.createVertexTemplateEntry(n + 'documents;fillColor=#759C3E;gradientColor=none;',
702					 s * 60, s * 67, '', 'Documents', null, null, this.getTagsForStencil(gn, 'documents', dt).join(' ')),
703			 this.createVertexTemplateEntry(n + 'inventory;fillColor=#759C3E;gradientColor=none;',
704					 s * 60, s * 70, '', 'Inventory', null, null, this.getTagsForStencil(gn, 'inventory', dt).join(' ')),
705			 this.createVertexTemplateEntry(n + 'maintenance_window;fillColor=#759C3E;gradientColor=none;',
706					 s * 50, s * 52, '', 'Maintenance Window', null, null, this.getTagsForStencil(gn, 'maintenance window', dt).join(' ')),
707			 this.createVertexTemplateEntry(n + 'parameter_store;fillColor=#759C3E;gradientColor=none;',
708					 s * 50, s * 68, '', 'Parameter Store', null, null, this.getTagsForStencil(gn, 'parameter store', dt).join(' ')),
709			 this.createVertexTemplateEntry(n + 'patch_manager;fillColor=#759C3E;gradientColor=none;',
710					 s * 57, s * 60, '', 'Patch Manager', null, null, this.getTagsForStencil(gn, 'patch manager', dt).join(' ')),
711			 this.createVertexTemplateEntry(n + 'run_command;fillColor=#759C3E;gradientColor=none;',
712					 s * 76, s * 55, '', 'Run Command', null, null, this.getTagsForStencil(gn, 'run command', dt).join(' ')),
713			 this.createVertexTemplateEntry(n + 'state_manager;fillColor=#759C3E;gradientColor=none;',
714					 s * 53, s * 55, '', 'State Manager', null, null, this.getTagsForStencil(gn, 'state manager', dt).join(' ')),
715			 this.createVertexTemplateEntry(n + 'ec2_systems_manager;fillColor=#759C3E;gradientColor=none;',
716					 s * 53, s * 55, '', 'EC2 Systems Manager', null, null, this.getTagsForStencil(gn, 'ec2 systems manager', dt).join(' ')),
717			 this.createVertexTemplateEntry(n + 'stack_aws_cloudformation;fillColor=#759C3E;gradientColor=none;',
718					 s * 49, s * 39, '', 'Stack AWS CloudFormation', null, null, this.getTagsForStencil(gn, 'stack cloudformation cloud formation', dt).join(' ')),
719			 this.createVertexTemplateEntry(n + 'change_set;fillColor=#759C3E;gradientColor=none;',
720					 s * 37, s * 43, '', 'Change Set', null, null, this.getTagsForStencil(gn, 'change set', dt).join(' ')),
721			 this.createVertexTemplateEntry(n + 'template;fillColor=#759C3E;gradientColor=none;',
722					 s * 37, s * 43, '', 'Template', null, null, this.getTagsForStencil(gn, 'template', dt).join(' ')),
723			 this.createVertexTemplateEntry(n + 'apps;fillColor=#759C3E;gradientColor=none;',
724					 s * 54, s * 53, '', 'Apps', null, null, this.getTagsForStencil(gn, 'apps', dt).join(' ')),
725			 this.createVertexTemplateEntry(n + 'deployments;fillColor=#759C3E;gradientColor=none;',
726					 s * 54, s * 51, '', 'Deployments', null, null, this.getTagsForStencil(gn, 'deployments', dt).join(' ')),
727			 this.createVertexTemplateEntry(n + 'instances_2;fillColor=#759C3E;gradientColor=none;',
728					 s * 54, s * 54, '', 'Instances', null, null, this.getTagsForStencil(gn, 'instances', dt).join(' ')),
729			 this.createVertexTemplateEntry(n + 'layers;fillColor=#759C3E;gradientColor=none;',
730					 s * 54, s * 53, '', 'Layers', null, null, this.getTagsForStencil(gn, 'layers', dt).join(' ')),
731			 this.createVertexTemplateEntry(n + 'monitoring;fillColor=#759C3E;gradientColor=none;',
732					 s * 54, s * 45, '', 'Monitoring', null, null, this.getTagsForStencil(gn, 'monitoring', dt).join(' ')),
733			 this.createVertexTemplateEntry(n + 'permissions;fillColor=#759C3E;gradientColor=none;',
734					 s * 45, s * 53, '', 'Permissions', null, null, this.getTagsForStencil(gn, 'permissions', dt).join(' ')),
735			 this.createVertexTemplateEntry(n + 'resources;fillColor=#759C3E;gradientColor=none;',
736					 s * 45, s * 53, '', 'Resources', null, null, this.getTagsForStencil(gn, 'resources', dt).join(' ')),
737			 this.createVertexTemplateEntry(n + 'stack_aws_opsworks;fillColor=#759C3E;gradientColor=none;',
738					 s * 53, s * 53, '', 'Stack AWS OpsWorks', null, null, this.getTagsForStencil(gn, 'stack opsworks ops works', dt).join(' ')),
739			 this.createVertexTemplateEntry(n + 'checklist;fillColor=#759C3E;gradientColor=none;',
740					 s * 37, s * 43, '', 'Checklist', null, null, this.getTagsForStencil(gn, 'checklist', dt).join(' ')),
741			 this.createVertexTemplateEntry(n + 'checklist_cost;fillColor=#759C3E;gradientColor=none;',
742					 s * 45, s * 50, '', 'Checklist Cost', null, null, this.getTagsForStencil(gn, 'checklist cost', dt).join(' ')),
743			 this.createVertexTemplateEntry(n + 'checklist_fault_tolerance;fillColor=#759C3E;gradientColor=none;',
744					 s * 38, s * 48, '', 'Checklist Fault Tolerance', null, null, this.getTagsForStencil(gn, 'checklist fault tolerance', dt).join(' ')),
745			 this.createVertexTemplateEntry(n + 'checklist_performance;fillColor=#759C3E;gradientColor=none;',
746					 s * 41, s * 49, '', 'Checklist Performance', null, null, this.getTagsForStencil(gn, 'checklist performance', dt).join(' ')),
747			 this.createVertexTemplateEntry(n + 'checklist_security;fillColor=#759C3E;gradientColor=none;',
748					 s * 36, s * 46, '', 'Checklist Security', null, null, this.getTagsForStencil(gn, 'checklist security', dt).join(' '))
749		]);
750	};
751
752	Sidebar.prototype.addAWS3MessagingPalette = function()
753	{
754		var sb = this;
755		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
756		var gn = 'mxgraph.aws3';
757		var dt = 'aws amazon web service messaging';
758		var s = 1.5; //scale
759
760		this.addPaletteFunctions('aws3Messaging', 'AWS17 / Messaging', false,
761		[
762			 this.createVertexTemplateEntry(n + 'pinpoint;fillColor=#AD688B;gradientColor=none;',
763					 s * 51, s * 58, '', 'Pinpoint', null, null, this.getTagsForStencil(gn, 'pinpoint', dt).join(' ')),
764			 this.createVertexTemplateEntry(n + 'ses;fillColor=#D9A741;gradientColor=none;',
765					 s * 53, s * 62, '', 'SES', null, null, this.getTagsForStencil(gn, 'ses', dt).join(' ')),
766			 this.createVertexTemplateEntry(n + 'sns;fillColor=#D9A741;gradientColor=none;',
767					 s * 51, s * 51, '', 'SNS', null, null, this.getTagsForStencil(gn, 'sns', dt).join(' ')),
768			 this.createVertexTemplateEntry(n + 'sqs;fillColor=#D9A741;gradientColor=none;',
769					 s * 51, s * 62, '', 'SQS', null, null, this.getTagsForStencil(gn, 'sqs', dt).join(' ')),
770			 this.createVertexTemplateEntry(n + 'email;fillColor=#D9A741;gradientColor=none;',
771					 s * 54, s * 41, '', 'Email', null, null, this.getTagsForStencil(gn, 'email', dt).join(' ')),
772			 this.createVertexTemplateEntry(n + 'message;fillColor=#D9A741;gradientColor=none;',
773					 s * 28, s * 33, '', 'Message', null, null, this.getTagsForStencil(gn, 'message', dt).join(' ')),
774			 this.createVertexTemplateEntry(n + 'queue;fillColor=#D9A741;gradientColor=none;',
775					 s * 49, s * 32, '', 'Queue', null, null, this.getTagsForStencil(gn, 'queue', dt).join(' ')),
776			 this.createVertexTemplateEntry(n + 'email_notification;fillColor=#D9A741;gradientColor=none;',
777					 s * 67, s * 42, '', 'Email Notification', null, null, this.getTagsForStencil(gn, 'email notification', dt).join(' ')),
778			 this.createVertexTemplateEntry(n + 'http_notification;fillColor=#D9A741;gradientColor=none;',
779					 s * 67, s * 42, '', 'HTTP Notification', null, null, this.getTagsForStencil(gn, 'http notification', dt).join(' ')),
780			 this.createVertexTemplateEntry(n + 'topic_2;fillColor=#D9A741;gradientColor=none;',
781					 s * 62, s * 39, '', 'Topic', null, null, this.getTagsForStencil(gn, 'topic', dt).join(' '))
782		]);
783	};
784
785	Sidebar.prototype.addAWS3MigrationPalette = function()
786	{
787		var sb = this;
788		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
789		var gn = 'mxgraph.aws3';
790		var dt = 'aws amazon web service migration';
791		var s = 1.5; //scale
792
793		this.addPaletteFunctions('aws3Migration', 'AWS17 / Migration', false,
794		[
795			 this.createVertexTemplateEntry(n + 'snowball;fillColor=#E05243;gradientColor=none;',
796					 s * 45, s * 54, '', 'Snowball', null, null, this.getTagsForStencil(gn, 'snowball', dt).join(' ')),
797			 this.createVertexTemplateEntry(n + 'server_migration_service;fillColor=#5294CF;gradientColor=none;',
798					 s * 51, s * 62, '', 'Server Migration Service', null, null, this.getTagsForStencil(gn, 'server migration service', dt).join(' ')),
799			 this.createVertexTemplateEntry(n + 'import_export;fillColor=#E05243;gradientColor=none;',
800					 s * 43, s * 42, '', 'Import/Export', null, null, this.getTagsForStencil(gn, 'Import Export', dt).join(' ')),
801			 this.createVertexTemplateEntry(n + 'database_migration_service;fillColor=#5294CF;gradientColor=none;',
802					 s * 48, s * 54, '', 'Database Migration Service', null, null, this.getTagsForStencil(gn, 'database migration service', dt).join(' ')),
803			 this.createVertexTemplateEntry(n + 'database_migration_workflow_job;fillColor=#5294CF;gradientColor=none;pointerEvents=1',
804					 s * 31, s * 58, '', 'Database Migration Workflow Job', null, null, this.getTagsForStencil(gn, 'database migration workflow job', dt).join(' ')),
805			 this.createVertexTemplateEntry(n + 'application_discovery_service;fillColor=#5294CF;gradientColor=none;',
806					 s * 51, s * 62, '', 'Application Discovery Service', null, null, this.getTagsForStencil(gn, 'application discovery service', dt).join(' ')),
807			 this.createVertexTemplateEntry(n + 'migration_hub_2;fillColor=#ABABAB;gradientColor=none;pointerEvents=1',
808					 s * 76, s * 81, '', 'Migration Hub', null, null, this.getTagsForStencil(gn, 'migration hub', dt).join(' '))
809		]);
810	};
811
812	Sidebar.prototype.addAWS3MobileServicesPalette = function()
813	{
814		var sb = this;
815		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
816		var gn = 'mxgraph.aws3';
817		var dt = 'aws amazon web service mobile services';
818		var s = 1.5; //scale
819
820		this.addPaletteFunctions('aws3Mobile Services', 'AWS17 / Mobile Services', false,
821		[
822			 this.createVertexTemplateEntry(n + 'api_gateway;fillColor=#D9A741;gradientColor=none;',
823					 s * 51, s * 62, '', 'API Gateway', null, null, this.getTagsForStencil(gn, 'api gateway', dt).join(' ')),
824			 this.createVertexTemplateEntry(n + 'cognito;fillColor=#AD688B;gradientColor=none;',
825					 s * 51, s * 62, '', 'Cognito', null, null, this.getTagsForStencil(gn, 'cognito', dt).join(' ')),
826			 this.createVertexTemplateEntry(n + 'mobile_analytics;fillColor=#AD688B;gradientColor=none;',
827					 s * 60, s * 62, '', 'Mobile Analytics', null, null, this.getTagsForStencil(gn, 'mobile analytics', dt).join(' ')),
828			 this.createVertexTemplateEntry(n + 'pinpoint;fillColor=#AD688B;gradientColor=none;',
829					 s * 51, s * 58, '', 'Pinpoint', null, null, this.getTagsForStencil(gn, 'pinpoint', dt).join(' ')),
830			 this.createVertexTemplateEntry(n + 'device_farm;fillColor=#AD688B;gradientColor=none;',
831					 s * 51, s * 62, '', 'Device Farm', null, null, this.getTagsForStencil(gn, 'device farm', dt).join(' ')),
832			 this.createVertexTemplateEntry(n + 'mobile_hub;fillColor=#AD688A;gradientColor=#F58435;gradientDirection=west;pointerEvents=1',
833					 s * 50, s * 54, '', 'Mobile Hub', null, null, this.getTagsForStencil(gn, 'mobile hub', dt).join(' '))
834		]);
835	};
836
837	Sidebar.prototype.addAWS3NetworkAndContentDeliveryPalette = function()
838	{
839		var sb = this;
840		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
841		var gn = 'mxgraph.aws3';
842		var dt = 'aws amazon web service network and content delivery';
843		var s = 1.5; //scale
844
845		this.addPaletteFunctions('aws3Networking and Content Delivery', 'AWS17 / Network and Content Delivery', false,
846		[
847			 this.createVertexTemplateEntry(n + 'cloudfront;fillColor=#F58536;gradientColor=none;',
848					 s * 51, s * 62, '', 'CloudFront', null, null, this.getTagsForStencil(gn, 'cloudfront cloud front', dt).join(' ')),
849			 this.createVertexTemplateEntry(n + 'route_53;fillColor=#F58536;gradientColor=none;',
850					 s * 47, s * 57, '', 'Route 53', null, null, this.getTagsForStencil(gn, 'route 53', dt).join(' ')),
851			 this.createVertexTemplateEntry(n + 'vpc;fillColor=#F58536;gradientColor=none;',
852					 s * 45, s * 54, '', 'VPC', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud', dt).join(' ')),
853			 this.createVertexTemplateEntry(n + 'network_access_controllist;fillColor=#F58534;gradientColor=none;',
854					 s * 46, s * 48, '', 'Network Access Controllist', null, null, this.getTagsForStencil(gn, 'network access controllist', dt).join(' ')),
855			 this.createVertexTemplateEntry(n + 'elastic_load_balancing;fillColor=#F58536;gradientColor=none;',
856					 s * 51, s * 62, '', 'Elastic Load Balancing', null, null, this.getTagsForStencil(gn, 'elastic load balancing', dt).join(' ')),
857			 this.createVertexTemplateEntry(n + 'direct_connect;fillColor=#F58536;gradientColor=none;',
858					 s * 45, s * 54, '', 'Direct Connect', null, null, this.getTagsForStencil(gn, 'direct connect', dt).join(' ')),
859			 this.createVertexTemplateEntry(n + 'hosted_zone;fillColor=#F58536;gradientColor=none;',
860					 s * 42, s * 43, '', 'Hosted Zone', null, null, this.getTagsForStencil(gn, 'hosted zone', dt).join(' ')),
861			 this.createVertexTemplateEntry(n + 'route_table;fillColor=#F58536;gradientColor=none;',
862					 s * 50, s * 46, '', 'Route Table', null, null, this.getTagsForStencil(gn, 'route table', dt).join(' ')),
863			 this.createVertexTemplateEntry(n + 'customer_gateway;fillColor=#F58536;gradientColor=none;',
864					 s * 46, s * 48, '', 'Customer Gateway', null, null, this.getTagsForStencil(gn, 'customer gateway', dt).join(' ')),
865			 this.createVertexTemplateEntry(n + 'endpoints;fillColor=#F58536;gradientColor=none;',
866					 s * 46, s * 48, '', 'Endpoints', null, null, this.getTagsForStencil(gn, 'endpoints', dt).join(' ')),
867			 this.createVertexTemplateEntry(n + 'flow_logs;fillColor=#F58536;gradientColor=none;',
868					 s * 46, s * 48, '', 'Flow Logs', null, null, this.getTagsForStencil(gn, 'flow logs', dt).join(' ')),
869			 this.createVertexTemplateEntry(n + 'internet_gateway;fillColor=#F58536;gradientColor=none;',
870					 s * 46, s * 48, '', 'Internet Gateway', null, null, this.getTagsForStencil(gn, 'internet gateway', dt).join(' ')),
871			 this.createVertexTemplateEntry(n + 'router;fillColor=#F58536;gradientColor=none;',
872					 s * 46, s * 48, '', 'Router', null, null, this.getTagsForStencil(gn, 'router', dt).join(' ')),
873			 this.createVertexTemplateEntry(n + 'vpc_nat_gateway;fillColor=#F58536;gradientColor=none;',
874					 s * 46, s * 48, '', 'VPC NAT Gateway', null, null, this.getTagsForStencil(gn, 'vpc nat gateway virtual private cloud', dt).join(' ')),
875			 this.createVertexTemplateEntry(n + 'vpc_peering;fillColor=#F58536;gradientColor=none;',
876					 s * 46, s * 48, '', 'VPC Peering', null, null, this.getTagsForStencil(gn, 'vpc peering virtual private cloud', dt).join(' ')),
877			 this.createVertexTemplateEntry(n + 'vpn_connection;fillColor=#F58536;gradientColor=none;',
878					 s * 39, s * 32, '', 'VPN Connection', null, null, this.getTagsForStencil(gn, 'vpn connection', dt).join(' ')),
879			 this.createVertexTemplateEntry(n + 'vpn_gateway;fillColor=#F58536;gradientColor=none;',
880					 s * 46, s * 48, '', 'VPN Gateway', null, null, this.getTagsForStencil(gn, 'vpn gateway', dt).join(' ')),
881			 this.createVertexTemplateEntry(n + 'classic_load_balancer;fillColor=#F58536;gradientColor=none;',
882					 s * 46, s * 48, '', 'Classic Load Balancer', null, null, this.getTagsForStencil(gn, 'classic load balancer', dt).join(' ')),
883			 this.createVertexTemplateEntry(n + 'elastic_network_adapter;fillColor=#F58536;gradientColor=none;',
884					 s * 50, s * 60, '', 'Elastic Network Adapter', null, null, this.getTagsForStencil(gn, 'elastic network adapter', dt).join(' ')),
885			 this.createVertexTemplateEntry(n + 'elastic_network_interface;fillColor=#F58536;gradientColor=none;',
886					 s * 46, s * 48, '', 'Elastic Network Interface', null, null, this.getTagsForStencil(gn, 'elastic network interface', dt).join(' ')),
887			 this.createVertexTemplateEntry(n + 'application_load_balancer;fillColor=#F58536;gradientColor=none;',
888					 s * 46, s * 48, '', 'Application Load Balancer', null, null, this.getTagsForStencil(gn, 'application load balancer', dt).join(' ')),
889			 this.createVertexTemplateEntry(n + 'streaming_distribution;fillColor=#F58536;gradientColor=none;',
890					 s * 46, s * 48, '', 'Streaming Distribution', null, null, this.getTagsForStencil(gn, 'streaming distribution', dt).join(' ')),
891			 this.createVertexTemplateEntry(n + 'download_distribution;fillColor=#F58536;gradientColor=none;',
892					 s * 46, s * 48, '', 'Download Distribution', null, null, this.getTagsForStencil(gn, 'download distribution', dt).join(' ')),
893			 this.createVertexTemplateEntry(n + 'edge_location;fillColor=#F58536;gradientColor=none;',
894					 s * 39, s * 43, '', 'Edge Location', null, null, this.getTagsForStencil(gn, 'edge location', dt).join(' '))
895		]);
896	};
897
898	Sidebar.prototype.addAWS3OnDemandWorkforcePalette = function()
899	{
900		var sb = this;
901		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
902		var gn = 'mxgraph.aws3';
903		var dt = 'aws amazon web service on demand workforce';
904		var s = 1.5; //scale
905
906		this.addPaletteFunctions('aws3On Demand Workforce', 'AWS17 / On-Demand Workforce', false,
907		[
908			 this.createVertexTemplateEntry(n + 'mechanical_turk;fillColor=#ACACAC;gradientColor=none;',
909					 s * 45, s * 54, '', 'Mechanical Turk', null, null, this.getTagsForStencil(gn, 'mechanical turk', dt).join(' ')),
910			 this.createVertexTemplateEntry(n + 'human_intelligence_tasks_hit;fillColor=#ACACAC;gradientColor=none;',
911					 s * 35, s * 37, '', 'Human Intelligence Tasks HIT', null, null, this.getTagsForStencil(gn, 'human intelligence tasks hit', dt).join(' ')),
912			 this.createVertexTemplateEntry(n + 'requester;fillColor=#ACACAC;gradientColor=none;',
913					 s * 37, s * 43, '', 'Requester', null, null, this.getTagsForStencil(gn, 'requester', dt).join(' ')),
914			 this.createVertexTemplateEntry(n + 'users;fillColor=#ACACAC;gradientColor=none;',
915					 s * 44, s * 42, '', 'Workers', null, null, this.getTagsForStencil(gn, 'workers', dt).join(' ')),
916			 this.createVertexTemplateEntry(n + 'assignment_task;fillColor=#ACACAC;gradientColor=none;',
917					 s * 31, s * 42, '', 'Assignment/Task', null, null, this.getTagsForStencil(gn, 'assignment task', dt).join(' '))
918		]);
919	};
920
921	Sidebar.prototype.addAWS3SDKPalette = function()
922	{
923		var sb = this;
924		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
925		var gn = 'mxgraph.aws3';
926		var dt = 'aws amazon web service sdk software development kit';
927		var s = 1.5; //scale
928
929		this.addPaletteFunctions('aws3SDKs', 'AWS17 / SDK', false,
930		[
931			 this.createVertexTemplateEntry(n + 'android;fillColor=#96BF3D;gradientColor=none;',
932					 s * 49, s * 56, '', 'Android', null, null, this.getTagsForStencil(gn, 'android', dt).join(' ')),
933			 this.createVertexTemplateEntry(n + 'cli;fillColor=#444444;gradientColor=none;',
934					 s * 48, s * 55, '', 'CLI', null, null, this.getTagsForStencil(gn, 'cli', dt).join(' ')),
935			 this.createVertexTemplateEntry(n + 'toolkit_for_eclipse;fillColor=#342074;gradientColor=none;',
936					 s * 47, s * 52, '', 'Toolkit for Eclipse', null, null, this.getTagsForStencil(gn, 'toolkit for eclipse', dt).join(' ')),
937			 this.createVertexTemplateEntry(n + 'toolkit_for_visual_studio;fillColor=#53B1CB;gradientColor=none;',
938					 s * 47, s * 52, '', 'Toolkit for Visual Studio', null, null, this.getTagsForStencil(gn, 'toolkit for visual studio', dt).join(' ')),
939			 this.createVertexTemplateEntry(n + 'toolkit_for_windows_powershell;fillColor=#737373;gradientColor=none;',
940					 s * 47, s * 52, '', 'Toolkit for Windows PowerShell', null, null, this.getTagsForStencil(gn, 'toolkit for windows powershell', dt).join(' ')),
941			 this.createVertexTemplateEntry(n + 'android;fillColor=#CFCFCF;gradientColor=none;',
942					 s * 49, s * 56, '', 'iOS', null, null, this.getTagsForStencil(gn, 'ios', dt).join(' ')),
943			 this.createVertexTemplateEntry(n + 'android;fillColor=#AE1F23;gradientColor=none;',
944					 s * 49, s * 56, '', 'Ruby', null, null, this.getTagsForStencil(gn, 'ruby', dt).join(' ')),
945			 this.createVertexTemplateEntry(n + 'android;fillColor=#FFD44F;gradientColor=none;',
946					 s * 49, s * 56, '', 'Python (boto)', null, null, this.getTagsForStencil(gn, 'python boto', dt).join(' ')),
947			 this.createVertexTemplateEntry(n + 'android;fillColor=#5A69A4;gradientColor=none;',
948					 s * 49, s * 56, '', 'PHP', null, null, this.getTagsForStencil(gn, 'php', dt).join(' ')),
949			 this.createVertexTemplateEntry(n + 'android;fillColor=#115193;gradientColor=none;',
950					 s * 49, s * 56, '', '.NET', null, null, this.getTagsForStencil(gn, 'dot net dotnet', dt).join(' ')),
951			 this.createVertexTemplateEntry(n + 'android;fillColor=#205E00;gradientColor=none;',
952					 s * 49, s * 56, '', 'JavaScript', null, null, this.getTagsForStencil(gn, 'js javascript', dt).join(' ')),
953			 this.createVertexTemplateEntry(n + 'android;fillColor=#EE472A;gradientColor=none;',
954					 s * 49, s * 56, '', 'Java', null, null, this.getTagsForStencil(gn, 'java', dt).join(' ')),
955			 this.createVertexTemplateEntry(n + 'android;fillColor=#4090D7;gradientColor=none;',
956					 s * 49, s * 56, '', 'Xamarin', null, null, this.getTagsForStencil(gn, 'xamarin', dt).join(' ')),
957			 this.createVertexTemplateEntry(n + 'android;fillColor=#8CC64F;gradientColor=none;',
958					 s * 49, s * 56, '', 'Node.js', null, null, this.getTagsForStencil(gn, 'node js nodejs', dt).join(' '))
959		]);
960	};
961
962	Sidebar.prototype.addAWS3SecurityIdentityAndCompliancePalette = function()
963	{
964		var sb = this;
965		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
966		var gn = 'mxgraph.aws3';
967		var dt = 'aws amazon web service security and identity compliance';
968		var s = 1.5; //scale
969
970		this.addPaletteFunctions('aws3Security Identity and Compliance', 'AWS17 / Security Identity and Compliance', false,
971		[
972			 this.createVertexTemplateEntry(n + 'inspector;fillColor=#759C3E;gradientColor=none;',
973					 s * 45, s * 54, '', 'Inspector', null, null, this.getTagsForStencil(gn, 'inspector', dt).join(' ')),
974			 this.createVertexTemplateEntry(n + 'macie;fillColor=#34BBC9;gradientColor=none;pointerEvents=1',
975					 s * 89, s * 36, '', 'Macie', null, null, this.getTagsForStencil(gn, 'macie', dt).join(' ')),
976			 this.createVertexTemplateEntry(n + 'artifact;fillColor=#759C3E;gradientColor=none;',
977					 s * 50, s * 60, '', 'Artifact', null, null, this.getTagsForStencil(gn, 'artifact', dt).join(' ')),
978			 this.createVertexTemplateEntry(n + 'certificate_manager;fillColor=#759C3E;gradientColor=none;',
979					 s * 51, s * 41, '', 'Certificate Manager', null, null, this.getTagsForStencil(gn, 'certificate manager', dt).join(' ')),
980			 this.createVertexTemplateEntry(n + 'cloudhsm;fillColor=#759C3E;gradientColor=none;',
981					 s * 49, s * 56, '', 'CloudHSM', null, null, this.getTagsForStencil(gn, 'cloudhsm cloud hsm', dt).join(' ')),
982			 this.createVertexTemplateEntry(n + 'directory_service;fillColor=#759C3E;gradientColor=none;',
983					 s * 45, s * 54, '', 'Directory Service', null, null, this.getTagsForStencil(gn, 'directory service', dt).join(' ')),
984			 this.createVertexTemplateEntry(n + 'iam;fillColor=#759C3E;gradientColor=none;',
985					 s * 28, s * 54, '', 'IAM', null, null, this.getTagsForStencil(gn, 'iam', dt).join(' ')),
986			 this.createVertexTemplateEntry(n + 'kms;fillColor=#759C3E;gradientColor=none;',
987					 s * 51, s * 62, '', 'KMS', null, null, this.getTagsForStencil(gn, 'kms', dt).join(' ')),
988			 this.createVertexTemplateEntry(n + 'shield;fillColor=#759C3E;gradientColor=none;',
989					 s * 51, s * 47, '', 'Shield', null, null, this.getTagsForStencil(gn, 'shield', dt).join(' ')),
990			 this.createVertexTemplateEntry(n + 'organizations;fillColor=#759C3E;gradientColor=none;',
991					 s * 51, s * 62, '', 'Organizations', null, null, this.getTagsForStencil(gn, 'organizations', dt).join(' ')),
992			 this.createVertexTemplateEntry(n + 'waf;fillColor=#759C3E;gradientColor=none;',
993					 s * 51, s * 62, '', 'WAF', null, null, this.getTagsForStencil(gn, 'waf', dt).join(' ')),
994			 this.createVertexTemplateEntry(n + 'agent;fillColor=#759C3E;gradientColor=none;',
995					 s * 46, s * 48, '', 'Agent', null, null, this.getTagsForStencil(gn, 'agent', dt).join(' ')),
996			 this.createVertexTemplateEntry(n + 'certificate_manager_2;fillColor=#759C3E;gradientColor=none;',
997					 s * 49, s * 42, '', 'Certificate Manager', null, null, this.getTagsForStencil(gn, 'certificate manager', dt).join(' ')),
998			 this.createVertexTemplateEntry(n + 'clouddirectory;fillColor=#759C3E;gradientColor=none;',
999					 s * 68, s * 73, '', 'CloudDirectory', null, null, this.getTagsForStencil(gn, 'cloud directory', dt).join(' ')),
1000			 this.createVertexTemplateEntry(n + 'add_on;fillColor=#759C3E;gradientColor=none;',
1001					 s * 33, s * 18, '', 'Add-On', null, null, this.getTagsForStencil(gn, 'add on', dt).join(' ')),
1002			 this.createVertexTemplateEntry(n + 'sts;fillColor=#759C3E;gradientColor=none;',
1003					 s * 41, s * 23, '', 'STS', null, null, this.getTagsForStencil(gn, 'sts', dt).join(' ')),
1004			 this.createVertexTemplateEntry(n + 'sts_2;fillColor=#759C3E;gradientColor=none;',
1005					 s * 31, s * 40, '', 'STS', null, null, this.getTagsForStencil(gn, 'sts', dt).join(' ')),
1006			 this.createVertexTemplateEntry(n + 'data_encryption_key;fillColor=#7D7C7C;gradientColor=none;',
1007					 s * 31, s * 40, '', 'Data Encryption Key', null, null, this.getTagsForStencil(gn, 'data encryption key', dt).join(' ')),
1008			 this.createVertexTemplateEntry(n + 'encrypted_data;fillColor=#7D7C7C;gradientColor=none;',
1009					 s * 29, s * 37, '', 'Encrypted Data', null, null, this.getTagsForStencil(gn, 'encrypted data', dt).join(' ')),
1010			 this.createVertexTemplateEntry(n + 'long_term_security_credential;fillColor=#ffffff;gradientColor=none;',
1011					 s * 40, s * 32, '', 'Long Term Security Credential', null, null, this.getTagsForStencil(gn, 'long term security credential', dt).join(' ')),
1012			 this.createVertexTemplateEntry(n + 'mfa_token;fillColor=#7D7C7C;gradientColor=none;',
1013					 s * 41, s * 41, '', 'MFA Token', null, null, this.getTagsForStencil(gn, 'mfa token', dt).join(' ')),
1014			 this.createVertexTemplateEntry(n + 'permissions_2;fillColor=#D2D3D3;gradientColor=none;',
1015					 s * 31, s * 42, '', 'Permissions', null, null, this.getTagsForStencil(gn, 'permissions', dt).join(' ')),
1016			 this.createVertexTemplateEntry(n + 'role;fillColor=#759C3E;gradientColor=none;',
1017					 s * 63, s * 53, '', 'Role', null, null, this.getTagsForStencil(gn, 'role', dt).join(' ')),
1018			 this.createVertexTemplateEntry(n + 'temporary_security_credential;fillColor=#ffffff;gradientColor=none;',
1019					 s * 45, s * 40, '', 'Temporary Security Credential', null, null, this.getTagsForStencil(gn, 'temporary security credential', dt).join(' ')),
1020			 this.createVertexTemplateEntry(n + 'filtering_rule;fillColor=#759C3E;gradientColor=none;',
1021					 s * 46, s * 48, '', 'Filtering Rule', null, null, this.getTagsForStencil(gn, 'filtering rule', dt).join(' '))
1022		]);
1023	};
1024
1025	Sidebar.prototype.addAWS3StoragePalette = function()
1026	{
1027		var sb = this;
1028		var n = 'outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
1029		var gn = 'mxgraph.aws3';
1030		var dt = 'aws amazon web service storage';
1031		var s = 1.5; //scale
1032
1033		this.addPaletteFunctions('aws3Storage', 'AWS17 / Storage', false,
1034		[
1035			 this.createVertexTemplateEntry(n + 's3;fillColor=#E05243;gradientColor=none;',
1036					 s * 51, s * 62, '', 'S3', null, null, this.getTagsForStencil(gn, 's3', dt).join(' ')),
1037			 this.createVertexTemplateEntry(n + 'glacier;fillColor=#E05243;gradientColor=none;',
1038					 s * 51, s * 62, '', 'Glacier', null, null, this.getTagsForStencil(gn, 'glacier', dt).join(' ')),
1039			 this.createVertexTemplateEntry(n + 'storage_gateway;fillColor=#E05243;gradientColor=none;',
1040					 s * 51, s * 62, '', 'Storage Gateway', null, null, this.getTagsForStencil(gn, 'storage gateway', dt).join(' ')),
1041			 this.createVertexTemplateEntry(n + 'efs;fillColor=#E05243;gradientColor=none;',
1042					 s * 51, s * 62, '', 'EFS', null, null, this.getTagsForStencil(gn, 'efs', dt).join(' ')),
1043			 this.createVertexTemplateEntry(n + 'archive;fillColor=#E05243;gradientColor=none;',
1044					 s * 38, s * 50, '', 'Archive', null, null, this.getTagsForStencil(gn, 'archive', dt).join(' ')),
1045			 this.createVertexTemplateEntry(n + 'vault;fillColor=#E05243;gradientColor=none;',
1046					 s * 36, s * 50, '', 'Vault', null, null, this.getTagsForStencil(gn, 'vault', dt).join(' ')),
1047			 this.createVertexTemplateEntry(n + 'bucket;fillColor=#E05243;gradientColor=none;',
1048					 s * 40, s * 41, '', 'Bucket', null, null, this.getTagsForStencil(gn, 'bucket', dt).join(' ')),
1049			 this.createVertexTemplateEntry(n + 'bucket_with_objects;fillColor=#E05243;gradientColor=none;',
1050					 s * 40, s * 41, '', 'Bucket with Objects', null, null, this.getTagsForStencil(gn, 'bucket with objects', dt).join(' ')),
1051			 this.createVertexTemplateEntry(n + 'object;fillColor=#E05243;gradientColor=none;',
1052					 s * 28, s * 30, '', 'Object', null, null, this.getTagsForStencil(gn, 'object', dt).join(' ')),
1053			 this.createVertexTemplateEntry(n + 'virtual_tape_library;fillColor=#E05243;gradientColor=none;',
1054					 s * 40, s * 49, '', 'Virtual Tape Library', null, null, this.getTagsForStencil(gn, 'virtual tape library', dt).join(' ')),
1055			 this.createVertexTemplateEntry(n + 'cached_volume;fillColor=#E05243;gradientColor=none;',
1056					 s * 40, s * 49, '', 'Cached Volume', null, null, this.getTagsForStencil(gn, 'cached volume', dt).join(' ')),
1057			 this.createVertexTemplateEntry(n + 'non_cached_volume;fillColor=#E05243;gradientColor=none;',
1058					 s * 40, s * 49, '', 'Non-Cached Volume', null, null, this.getTagsForStencil(gn, 'non cached volume', dt).join(' ')),
1059			 this.createVertexTemplateEntry(n + 'snapshot;fillColor=#E05243;gradientColor=none;',
1060					 s * 40, s * 49, '', 'Snapshot', null, null, this.getTagsForStencil(gn, 'snapshot', dt).join(' ')),
1061			 this.createVertexTemplateEntry(n + 'volume;fillColor=#E05243;gradientColor=none;',
1062					 s * 35, s * 50, '', 'Volume', null, null, this.getTagsForStencil(gn, 'volume', dt).join(' ')),
1063			 this.createVertexTemplateEntry(n + 'snowball;fillColor=#E05243;gradientColor=none;',
1064					 s * 45, s * 54, '', 'Snowball', null, null, this.getTagsForStencil(gn, 'snowball', dt).join(' ')),
1065			 this.createVertexTemplateEntry(n + 'efs_share;fillColor=#E05243;gradientColor=none;',
1066					 s * 46, s * 42, '', 'EFS Share', null, null, this.getTagsForStencil(gn, 'efs share', dt).join(' ')),
1067			 this.createVertexTemplateEntry(n + 'import_export;fillColor=#E05243;gradientColor=none;',
1068					 s * 43, s * 42, '', 'Import/Export', null, null, this.getTagsForStencil(gn, 'import export', dt).join(' ')),
1069			 this.createVertexTemplateEntry(n + 'volume;fillColor=#E05243;gradientColor=none;',
1070					 s * 35, s * 50, '', 'EBS', null, null, this.getTagsForStencil(gn, 'ebs', dt).join(' '))
1071		]);
1072	};
1073})();
1074