blob: b6f5b38e52991c0a805f9c204f6da19e5e2d1119 [file] [log] [blame]
Simon Hunt4afa61d2016-02-23 09:31:43 -08001/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2016-present Open Networking Laboratory
Simon Hunt4afa61d2016-02-23 09:31:43 -08003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/*
18 ONOS GUI -- SVG -- Glyph Data Service
19 */
20(function () {
21 'use strict';
22
23 // --- ONOS logo glyph ------------------------------------
24
Simon Hunt0f8c5052016-02-26 18:17:04 -080025 var logos = {
Simon Hunte6e09842016-06-07 11:11:26 -070026 _bird: '352 224 113 112',
27 bird: 'M427.7,300.4 c-6.9,0.6-13.1,5-19.2,7.1c-18.1,6.2-33.9,' +
28 '9.1-56.5,4.7c24.6,17.2,36.6,13,63.7,0.1c-0.5,0.6-0.7,1.3-1.3,' +
29 '1.9c1.4-0.4,2.4-1.7,3.4-2.2c-0.4,0.7-0.9,1.5-1.4,1.9c2.2-0.6,' +
30 '3.7-2.3,5.9-3.9c-2.4,2.1-4.2,5-6,8c-1.5,2.5-3.1,4.8-5.1,6.9c-1,' +
31 '1-1.9,1.9-2.9,2.9c-1.4,1.3-2.9,2.5-5.1,2.9c1.7,0.1,3.6-0.3,6.5' +
32 '-1.9c-1.6,2.4-7.1,6.2-9.9,7.2c10.5-2.6,19.2-15.9,25.7-18c18.3' +
33 '-5.9,13.8-3.4,27-14.2c1.6-1.3,3-1,5.1-0.8c1.1,0.1,2.1,0.3,3.2,' +
34 '0.5c0.8,0.2,1.4,0.4,2.2,0.8l1.8,0.9c-1.9-4.5-2.3-4.1-5.9-6c-2.3' +
35 '-1.3-3.3-3.8-6.2-4.9c-7.1-2.6-11.9,11.7-11.7-5c0.1-8,4.2-14.4,' +
36 '6.4-22c1.1-3.8,2.3-7.6,2.4-11.5c0.1-2.3,0-4.7-0.4-7c-2-11.2-8.4' +
37 '-21.5-19.7-24.8c-1-0.3-1.1-0.3-0.9,0c9.6,17.1,7.2,38.3,3.1,54.2' +
38 'C429.9,285.5,426.7,293.2,427.7,300.4z',
Simon Hunt0f8c5052016-02-26 18:17:04 -080039
Simon Hunte6e09842016-06-07 11:11:26 -070040 _cord: '0 0 110 110',
41 cord: 'M92.5,62.3l-33,33,2.5,2.5c4.1,4.1,7.4,3.6,11.2-.1L95.9,75' +
42 'l-4.5-4.5,4.7-4.7-3.6-3.6Z' +
43 'm2.6,7L98.4,66l3.3,3.3-3.3,3.3-3.3-3.3Z' +
44 'M94.5,60l4.9-4.9,4.9,4.9-4.9,4.9Z' +
45 'M36.2,36.1L18.6,53.8c-7.8,7.8-5.8,17.4-2.4,22l-2.2-2.2' +
46 'c-10.6-10.6-11.2-20,0-31.2L28.2,28.1L31.3,25l8,8-3.1,3.1Z' +
47 'M55.5,55.4l3.6-3.6L66.9,44l-8-8l-2.5,2.5-5.2,5.2l-3.6,3.6' +
48 'L33.2,61.6C22,72.7,22.5,82.2,33.2,92.8L35.4,95' +
49 'c-3.4-4.5-5.4-14.1,2.4-22L55.5,55.4Z' +
50 'M50.7,21.7l-8-8L35,21.2l8,8,7.6-7.6Z' +
51 'M62.8,9.6L55.4,17l-8-8,7.4-7.4,8,8Z' +
52 'm0.7,18.3-7.6,7.6-8-8,7.6-7.6,8,8Z' +
53 'm26.1-6.6-8.1,8.1-8-8,8.1-8.1,8,8Z' +
54 'M79.3,31.5l-7.4,7.4-8-8,7.4-7.4,8,8Z' +
55 'M45.7,45.6L54.3,37l-8-8-8.6,8.6L23.4,51.8' +
56 'C12.2,63,12.8,72.4,23.4,83l2.2,2.2c-3.4-4.5-5.4-14.1,2.4-22Z' +
57 'M34.9,80.7l20.6,20.5c2,2,4.6,4.1,7.9,3.2-2.9,2.9-8.9,1.7-11.9-1.3' +
58 'L35.1,86.8,35,86.6H34.9l-0.8-.8' +
59 'a15,15,0,0,1,.1-1.9,14.7,14.7,0,0,1,.7-3.2Z' +
60 'm-0.6,7.4a21.3,21.3,0,0,0,5.9,11.7l5.7,5.7' +
61 'c3,3,9,4.1,11.9,1.3-3.3.9-5.9-1.2-7.9-3.2L34.3,88.1Z' +
62 'm3.5-12.4a16.6,16.6,0,0,0-2.3,3.6L57,100.8' +
63 'c3,3,9,4.1,11.9,1.3-3.3.9-5.9-1.2-7.9-3.2Z'
Simon Hunt4afa61d2016-02-23 09:31:43 -080064 },
65
66
67 // --- Core glyphs ------------------------------------
68
69 // TODO: ONOS-2566 glyphs for device types:
Simon Hunt707a2ac2016-02-25 20:14:23 -080070 // firewall, balancer, ips, ids,
71 // controller, virtual, other
Simon Hunt4afa61d2016-02-23 09:31:43 -080072
73 // NOTE: when adding glyphs, please also update TopoConstants.Glyphs class.
74
75 tableFrame = 'M6.3,5.3h8.5v14.2h-8.5z' +
76 'M95.3,5.3h8.5v14.2h-8.5z' +
77 'M18.5,5.3h15.6v14.2h-15.6z' +
78 'M37.9,5.3h15.6v14.2h-15.6z' +
79 'M57,5.3h15.6v14.2h-15.6z' +
80 'M76.1,5.3h15.6v14.2h-15.6z' +
81 'M6.3,23.9h97.5v80.75h-97.5z',
82
Simon Hunte6e09842016-06-07 11:11:26 -070083 rSquare = 'M10,20a10,10,0,0,1,10-10h70a10,10,0,0,1,10,10v70a10,10,' +
84 '0,0,1-10,10h-70a10,10,0,0,1-10-10z',
Simon Hunt707a2ac2016-02-25 20:14:23 -080085
Simon Hunte6e09842016-06-07 11:11:26 -070086 octagon = 'M10,35l25-25h40l25,25v40l-25,25h-40l-25-25z',
Simon Hunt707a2ac2016-02-25 20:14:23 -080087
Simon Hunte6e09842016-06-07 11:11:26 -070088 circle = 'M10,55A45,45,0,0,1,100,55A45,45,0,0,1,10,55',
Simon Hunt707a2ac2016-02-25 20:14:23 -080089
Simon Hunte6e09842016-06-07 11:11:26 -070090 arrowsLR = 'M58,26l12,0,0-8,18,13-18,13,0-8-12,0z' +
91 'M58,60l12,0,0-8,18,13-18,13,0-8-12,0z' +
92 'M52,40l-12,0,0-8-18,13,18,13,0-8,12,0z' +
93 'M52,74l-12,0,0-8-18,13,18,13,0-8,12,0z',
Simon Hunt707a2ac2016-02-25 20:14:23 -080094
Simon Hunte6e09842016-06-07 11:11:26 -070095 arrowsInHOutV = 'M20,50l12,0,0-8,18,13-18,13,0-8-12,0z' +
96 'M90,50l-12,0,0-8-18,13,18,13,0-8,12,0z' +
97 'M50,47l0-12-8,0,13-18,13,18-8,0,0,12z' +
98 'M50,63l0,12-8,0,13,18,13-18-8,0,0-12z',
Simon Hunt707a2ac2016-02-25 20:14:23 -080099
Simon Hunte6e09842016-06-07 11:11:26 -0700100 laser = 'M47.2,68.4L31.1,84.5,25.6,79,41.7,62.9Z' +
101 'M76.3,30.6A3.4,3.4,0,0,0,72.9,34a3.3,3.3,0,0,0,.3,1.3L44.7,63.7' +
102 'l1.7,1.7L74.8,37a3.2,3.2,0,0,0,1.5.4A3.4,3.4,0,1,0,76.3,30.6Z' +
103 'm0.9-2.9V23.8a0.8,0.8,0,0,0-.8-0.8H76.1a0.8,0.8,0,0,0-.8.8v3.9' +
104 'a0.8,0.8,0,0,0,.8.8h0.3A0.8,0.8,0,0,0,77.2,27.7Z' +
105 'm3.5,3.2,3.6-3.6a0.9,0.9,0,0,0,0-1.2H84.3a0.9,0.9,0,0,0-1.2,0' +
106 'l-3.6,3.6a0.9,0.9,0,0,0,0,1.2h0.1A0.9,0.9,0,0,0,80.7,30.9Z' +
107 'm1.8,4h3.9a0.8,0.8,0,0,0,.8-0.8V33.7a0.8,0.8,0,0,0-.8-0.8H82.6' +
108 'a0.8,0.8,0,0,0-.8.8V34A0.8,0.8,0,0,0,82.6,34.8Z' +
109 'm-16.3.1h3.9a0.8,0.8,0,0,0,.8-0.8V33.8a0.8,0.8,0,0,0-.8-0.8' +
110 'H66.2a0.8,0.8,0,0,0-.8.8v0.3A0.8,0.8,0,0,0,66.2,34.9Z' +
111 'm6.8-5.2-3.8-3.8a0.9,0.9,0,0,0-1.3,0a0.9,0.9,0,0,0,0,1.3' +
112 'L71.8,31A0.9,0.9,0,0,0,73,31A0.9,0.9,0,0,0,73.1,29.7Z' +
113 'M84.8,40.9L80.9,37a0.9,0.9,0,0,0-1.3,0a0.9,0.9,0,0,0,0,1.3' +
114 'l3.9,3.9a0.9,0.9,0,0,0,1.3,0A0.9,0.9,0,0,0,84.8,40.9Z' +
115 'm-7.6,3.2V40.2a0.8,0.8,0,0,0-.8-0.8H76.2a0.8,0.8,0,0,0-.8.8' +
116 'v3.9a0.8,0.8,0,0,0,.8.8h0.3A0.8,0.8,0,0,0,77.3,44.1Z',
Simon Hunt707a2ac2016-02-25 20:14:23 -0800117
Simon Hunte6e09842016-06-07 11:11:26 -0700118 fiberStar = 'M89,60V57H70.6a15,15,0,0,1-3.2,7.6l13,12.9L82.8,75v7.5' +
119 'H75.2l2.2-2.2-12.8-13A14.9,14.9,0,0,1,57,70.6V89h3.1l-5.3,5.4' +
120 'L49.4,89H53V70.6a13.2,13.2,0,0,1-8-3.2l-13.1,13,2.3,2.3H26.5' +
121 'V75.1l2.3,2.3,13-12.8A15,15,0,0,1,38.7,57H21v3l-5.4-5.4L21,49.3' +
122 'V53H38.7a13.1,13.1,0,0,1,3.2-8l-13-13.1-2.2,2.1V26.4h7.5l-2.4,2.4' +
123 'L45,41.8a13.2,13.2,0,0,1,8-3.2V21H49.4l5.4-5.4L60.1,21H57V38.6' +
124 'a14.9,14.9,0,0,1,7.6,3.2l12.9-13-2.4-2.3h7.5v7.6l-2.3-2.3L67.4,45' +
125 'a13.1,13.1,0,0,1,3.2,8H89V49.3l5.4,5.3Z',
Simon Hunt707a2ac2016-02-25 20:14:23 -0800126
Simon Hunt4afa61d2016-02-23 09:31:43 -0800127 glyphDataSet = {
Simon Hunte6e09842016-06-07 11:11:26 -0700128 _viewbox: '0 0 110 110',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800129
Simon Hunta9761342016-06-10 18:02:53 -0700130 uiAttached: 'M91.9,16.7H18.1A5.3,5.3,0,0,0,12.8,22V68' +
131 'a5.3,5.3,0,0,0,5.3,5.3H91.9A5.3,5.3,0,0,0,97.2,68V22' +
132 'A5.3,5.3,0,0,0,91.9,16.7ZM91.6,65.2H18.4V22.3H91.6V65.2Z' +
133 'M71.5,87.5h3.8v5.9h-40.6v-5.9h3.8v-1.7h5.4v-9.7h22.3v9.7h5.3v1.7z',
134
Simon Huntd0949d22016-02-23 13:47:05 -0800135 // Small dot
Simon Hunte6e09842016-06-07 11:11:26 -0700136 unknown: 'M35,40a5,5,0,0,1,5-5h30a5,5,0,0,1,5,5v30a5,5,0,0,1-5,5' +
137 'h-30a5,5,0,0,1-5-5z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800138
Simon Huntd0949d22016-02-23 13:47:05 -0800139 // Question mark for unknown device types
Simon Hunte6e09842016-06-07 11:11:26 -0700140 query: 'M51.4,69.9c0-0.9,0-1.6,0-2.1c0-2.7,0.4-5.1,1.2-7.1' +
141 'c0.6-1.5,1.5-3,2.8-4.5c0.9-1.1,2.6-2.7,5.1-4.8c2.4-2.1,4-3.8,' +
142 '4.8-5.1 c0.7-1.3,1.1-2.6,1.1-4.1c0-2.7-1.1-5.1-3.2-7.1c-2.1-2' +
143 '-4.8-3.1-7.9-3.1c-3,0-5.5,0.9-7.5,2.8c-2,1.9-3.3,4.8-4,8.7l-7.2' +
144 '-0.8 c0.7-5.3,2.6-9.3,5.8-12.1c3.2-2.8,7.5-4.2,12.8-4.2c5.6,0,' +
145 '10.1,1.5,13.4,4.5c3.3,3,5,6.7,5,10.9c0,2.5-0.6,4.8-1.8,6.8 ' +
146 's-3.5,4.6-6.9,7.6c-2.3,2-3.8,3.5-4.5,4.4c-0.7,1-1.2,2-1.6,3.3' +
147 'c-0.3,1.2-0.5,3.2-0.6,6H51.4z M51,83.8v-7.9h8v7.9H51z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800148
Simon Huntd0949d22016-02-23 13:47:05 -0800149
150 // --- ONOS cluster node ---
Simon Hunte6e09842016-06-07 11:11:26 -0700151 node: 'M15,100a5,5,0,0,1-5-5v-65a5,5,0,0,1,5-5h80a5,5,0,0,1,5,5' +
152 'v65a5,5,0,0,1-5,5zM14,22.5l11-11a10,3,0,0,1,10-2h40a10,3,0,0,1,' +
153 '10,2l11,11zM16,35a5,5,0,0,1,10,0a5,5,0,0,1-10,0z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800154
Simon Huntd0949d22016-02-23 13:47:05 -0800155
156 // --- DEVICES ---
157 // See Device.DeviceType enum for the following...
158
Simon Hunte6e09842016-06-07 11:11:26 -0700159 // NOTE: 'other' should map to 'unknown' (.) above
Simon Huntd0949d22016-02-23 13:47:05 -0800160
Simon Hunt707a2ac2016-02-25 20:14:23 -0800161 switch: rSquare + arrowsLR,
Simon Hunt4afa61d2016-02-23 09:31:43 -0800162
Simon Hunt707a2ac2016-02-25 20:14:23 -0800163 router: circle + arrowsInHOutV,
Simon Hunt4afa61d2016-02-23 09:31:43 -0800164
Simon Hunt707a2ac2016-02-25 20:14:23 -0800165 roadm: octagon + arrowsLR,
Simon Hunt4afa61d2016-02-23 09:31:43 -0800166
Simon Huntb07f6b52016-02-26 10:42:34 -0800167 otn: rSquare + laser,
Simon Huntd0949d22016-02-23 13:47:05 -0800168
Simon Huntb07f6b52016-02-26 10:42:34 -0800169 roadm_otn: octagon + laser,
Simon Huntd0949d22016-02-23 13:47:05 -0800170
171 // TODO: firewall
172
173 // TODO: balancer
174
175 // TODO: ips
176
177 // TODO: ids
178
179 // TODO: controller
180
181 // TODO: virtual
182
Simon Hunt707a2ac2016-02-25 20:14:23 -0800183 fiber_switch: rSquare + fiberStar,
Simon Huntd0949d22016-02-23 13:47:05 -0800184
Simon Hunte6e09842016-06-07 11:11:26 -0700185 microwave: 'M85,71.2c-8.9,10.5-29.6,8.7-45.3-3.5C23.9,55.4,19.8,' +
186 '37,28.6,26.5C29.9,38.6,71.5,69.9,85,71.2z M92.7,76.2M16.2,15 ' +
187 'M69.5,100.7v-4c0-1.4-1.2-2.2-2.6-2.2H19.3c-1.4,0-2.8,0.7-2.8,2.2' +
188 'v3.9c0,0.7,0.8,1,1.5,1h50.3C69,101.5,69.5,101.3,69.5,100.7z ' +
189 'M77.3,7.5l0,3.7c9,0.1,16.3,7.1,16.2,15.7l3.9,0C97.5,16.3,88.5,' +
190 '7.6,77.3,7.5z M77.6,14.7l0,2.5c5.3,0,9.7,4.2,9.6,9.3l2.6,0C89.9' +
191 ',20,84.4,14.7,77.6,14.7z M82.3,22.2c-1.3-1.2-2.9-1.9-4.7-1.9' +
192 'l0,1.2c1.4,0,2.8,0.6,3.8,1.5c1,1,1.6,2.3,1.6,3.7l1.3,0C84.3,25.1,' +
193 '83.6,23.4,82.3,22.2z M38.9,69.5l-5.1,23h16.5l-2.5-17.2C44.1,73.3,' +
194 '38.9,69.5,38.9,69.5zM58.1,54.1c13.7,10.1,26.5,16.8,29.2,13.7' +
195 'c2.7-3.1-5.6-13-19.3-24.4 M62.9,34.2 M62,37.9C47.7,27.3,33.7,20,' +
196 '31,23.1c-2.7,3.2,7,14.2,20.6,26 M73.9,25.7c-2.9,0.1-5.2,2.3-5.1,' +
197 '4.8c0,0.7,0.2,1.4,0.6,2l0,0L53.8,49.7l3.3,2.5L72.7,35l-0.4-0.3' +
198 'c0.6,0.2,1.3,0.3,1.9,0.3c2.9-0.1,5.2-2.3,5.1-4.9C79.3,27.6,76.8,' +
199 '25.6,73.9,25.7z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800200
Simon Hunte6e09842016-06-07 11:11:26 -0700201 // NOTE: 'unrecognized' should map to 'query' (?) above
Simon Huntd0949d22016-02-23 13:47:05 -0800202
203
204 // --- HOSTS ---
205
206 // default glyph for a host
Simon Hunte6e09842016-06-07 11:11:26 -0700207 endstation: 'M10,15a5,5,0,0,1,5-5h65a5,5,0,0,1,5,5v80a5,5,0,0,1' +
208 '-5,5h-65a5,5,0,0,1-5-5zM87.5,14l11,11a3,10,0,0,1,2,10v40a3,10,' +
209 '0,0,1,-2,10l-11,11zM17,19a2,2,0,0,1,2-2h56a2,2,0,0,1,2,2v26a2,' +
210 '2,0,0,1-2,2h-56a2,2,0,0,1-2-2zM20,20h54v10h-54zM20,33h54v10h' +
211 '-54zM42,70a5,5,0,0,1,10,0a5,5,0,0,1-10,0z',
Simon Huntd0949d22016-02-23 13:47:05 -0800212
Simon Hunte6e09842016-06-07 11:11:26 -0700213 bgpSpeaker: 'M10,40a45,35,0,0,1,90,0Q100,77,55,100Q10,77,10,40z' +
214 'M50,29l12,0,0-8,18,13-18,13,0-8-12,0zM60,57l-12,0,0-8-18,13,' +
215 '18,13,0-8,12,0z',
Simon Huntd0949d22016-02-23 13:47:05 -0800216
217
218 // --- Miscellaneous glyphs ---------------------------------
219
Simon Hunte6e09842016-06-07 11:11:26 -0700220 chain: 'M60.4,77.6c-4.9,5.2-9.6,11.3-15.3,16.3c-8.6,7.5-20.4,6.8' +
221 '-28-0.8c-7.7-7.7-8.4-19.6-0.8-28.4c6.5-7.4,13.5-14.4,20.9-20.9' +
222 'c7.5-6.7,19.2-6.7,26.5-0.8c3.5,2.8,4.4,6.1,2.2,8.7c-2.7,3.1' +
223 '-5.5,2.5-8.5,0.3c-4.7-3.4-9.7-3.2-14,0.9C37.1,58.7,31,64.8,' +
224 '25.2,71c-4.2,4.4-4.2,10.6-0.6,14.3c3.7,3.7,9.7,3.7,14.3-0.4' +
225 'c2.9-2.5,5.3-5.5,8.3-8c1-0.9,3-1.1,4.4-0.9C54.8,76.3,57.9,77.1,' +
226 '60.4,77.6zM49.2,32.2c5-5.2,9.7-10.9,15.2-15.7c12.8-11,31.2' +
227 '-4.9,34.3,11.2C100,34.2,98.3,40.2,94,45c-6.7,7.4-13.7,14.6' +
228 '-21.2,21.2C65.1,73,53.2,72.7,46,66.5c-3.2-2.8-3.9-5.8-1.6-8.4' +
229 'c2.6-2.9,5.3-2.4,8.2-0.3c5.2,3.7,10,3.3,14.7-1.1c5.8-5.6,11.6' +
230 '-11.3,17.2-17.2c4.6-4.8,4.9-11.1,0.9-15c-3.9-3.9-10.1-3.4-15,' +
231 '1.2c-3.1,2.9-5.7,7.4-9.3,8.5C57.6,35.3,53,33,49.2,32.2z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800232
Simon Hunte6e09842016-06-07 11:11:26 -0700233 crown: 'M99.5,21.6c0,3-2.3,5.4-5.1,5.4c-0.3,0-0.7,0-1-0.1c-1.8,' +
234 '4-4.8,10-7.2,17.3c-3.4,10.6-0.9,26.2,2.7,27.3C90.4,72,91.3,' +
235 '75,88,75H22.7c-3.3,0-2.4-3-0.9-3.5c3.6-1.1,6.1-16.7,2.7-27.3' +
236 'c-2.4-7.4-5.4-13.5-7.2-17.5c-0.5,0.2-1,0.3-1.6,0.3c-2.8,0' +
237 '-5.1-2.4-5.1-5.4c0-3,2.3-5.4,5.1-5.4c2.8,0,5.1,2.4,5.1,5.4c0,' +
238 '1-0.2,1.9-0.7,2.7c0.7,0.8,1.4,1.6,2.4,2.6c8.8,8.9,11.9,12.7,' +
239 '18.1,11.7c6.5-1,11-8.2,13.3-14.1c-2-0.8-3.3-2.7-3.3-5.1c0-3,' +
240 '2.3-5.4,5.1-5.4c2.8,0,5.1,2.4,5.1,5.4c0,2.5-1.6,4.5-3.7,5.2' +
241 'c2.3,5.9,6.8,13,13.2,14c6.2,1,9.3-2.7,18.1-11.7c0.7-0.7,1.4' +
242 '-1.5,2-2.1c-0.6-0.9-1-2-1-3.1c0-3,2.3-5.4,5.1-5.4C97.2,16.2,' +
243 '99.5,18.6,99.5,21.6zM92,87.9c0,2.2-1.7,4.1-3.8,4.1H22.4c' +
244 '-2.1,0-4.4-1.9-4.4-4.1v-3.3c0-2.2,2.3-4.5,4.4-4.5h65.8c2.1,' +
245 '0,3.8,2.3,3.8,4.5V87.9z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800246
Simon Hunte6e09842016-06-07 11:11:26 -0700247 lock: 'M79.4,48.6h-2.7c0.2-5.7-0.2-20.4-7.9-28.8c-3.6-3.9-8.3' +
248 '-5.9-13.7-5.9c-5.4,0-10.2,2-13.8,5.9c-7.8,8.4-8.3,23.2-8.1,28.8' +
249 'h-2.7c-4.4,0-8,2.6-8,5.9v35.7c0,3.3,3.6,5.9,8,5.9h48.9c4.4,0,' +
250 '8-2.6,8-5.9V54.5C87.5,51.3,83.9,48.6,79.4,48.6z M48.1,26.1c1.9' +
251 '-2,4.1-2.9,7-2.9c2.9,0,5.1,0.9,6.9,2.9c5,5.4,5.6,17.1,5.4,22.6' +
252 'h-25C42.3,43.1,43.1,31.5,48.1,26.1z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800253
254 topo: 'M97.2,76.3H86.6l-7.7-21.9H82c1,0,1.9-0.8,1.9-1.9V35.7c' +
255 '0-1-0.8-1.9-1.9-1.9H65.2c-1,0-1.9,0.8-1.9,1.9v2.6L33.4,26.1v-11' +
256 'c0-1-0.8-1.9-1.9-1.9H14.7c-1,0-1.9,0.8-1.9,1.9v16.8c0,1,0.8,' +
257 '1.9,1.9,1.9h16.8c1,0,1.9-0.8,1.9-1.9v-2.6l29.9,12.2v9L30.5,76.9' +
258 'c-0.3-0.3-0.8-0.5-1.3-0.5H12.4c-1,0-1.9,0.8-1.9,1.9V95c0,1,0.8,' +
259 '1.9,1.9,1.9h16.8c1,0,1.9-0.8,1.9-1.9v-6.9h47.4V95c0,1,0.8,1.9,' +
260 '1.9,1.9h16.8c1,0,1.9-0.8,1.9-1.9V78.2C99.1,77.2,98.2,76.3,97.2,' +
261 '76.3z M31.1,85.1v-4.9l32.8-26.4c0.3,0.3,0.8,0.5,1.3,0.5h10.5l' +
262 '7.7,21.9h-3c-1,0-1.9,0.8-1.9,1.9v6.9H31.1z',
263
Simon Hunt5fdba202016-06-02 20:01:14 -0700264 refresh:
265 'M99.7,53.8l-10,13.3L85,73.5,78,64,70.4,53.7h9' +
266 'A28.5,28.5,0,1,0,68.3,77.6l10.6,6.9A40.7,40.7,0,1,1,91.6,53.8h8.2Z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800267
Simon Hunt5fdba202016-06-02 20:01:14 -0700268 garbage: 'M55.1,31.1c9.4,0,18.7.1,28.1-.1,3.2-.1,4.2,1,3.7,4.1' +
269 'q-4.1,28.6-8,57.3c-0.3,2.3-1.3,3.4-3.5,3.4h-41' +
270 'c-2.2,0-2.9-1.2-3.2-3.2Q27,63.5,22.7,34.4c-0.4-2.8.6-3.4,3.1-3.4' +
271 'H55.1Z' +
272 'M44.3,81.9c0.4-1.1-2.5-27.4-3.8-40.5a3.2,3.2,0,0,0-3.7-3.2' +
273 'c-2.5.1-2.5,1.9-2.4,3.7,0.5,4.9,1,9.8,1.5,14.7,0.8,8.1,1.6,16.2,' +
274 '2.4,24.2,0.2,2.2,1.1,4.1,3.6,3.4A3.6,3.6,0,0,0,44.3,81.9Z' +
275 'm21.2,0a2.8,2.8,0,0,0,2.2,2.3' +
276 'c2.3,0.8,3.7-.7,4-3.1,1.3-12.9,2.6-25.7,3.8-38.6,0.2-2,.3-4.1-2.6-4.4' +
277 's-3.3,1.7-3.5,3.7C68.1,54.8,65.5,81.1,65.5,81.9Z' +
278 'M57.9,61.3q0-9.8,0-19.6c0-2.2-.8-3.6-3.2-3.5s-2.6,1.7-2.6,3.6' +
279 'q0,19.4,0,38.8c0,1.9,0,3.8,2.8,3.9s3-1.8,3-3.9Q57.9,70.9,57.9,61.3Z' +
280 'M19,24.7c0.3-2,.5-5.7,1.5-8a5.1,5.1,0,0,1,3.6-2.3' +
281 'c5.5-.5,17.3-0.8,17.3-0.8l4.3-3.3H62.9l5.6,3.5S84.5,14.6,87,15' +
282 's2.5,0.7,3.2,1.9,0.9,7.4.9,7.4Z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800283
Simon Hunte6e09842016-06-07 11:11:26 -0700284 cog: 'M100.2,46.4L87.1,44.8l-2.1-5L93.1,29a2.3,2.3,0,0,0-.2-3' +
285 'l-8.7-8.8a2.4,2.4,0,0,0-3.1-.2l-11,7.9L66,23.1,63.1,9.5' +
286 'A2.1,2.1,0,0,0,60.8,8H49.3A2.1,2.1,0,0,0,47,9.5L44.2,22.7l-5,2.2' +
287 'L28.8,16.8a2.3,2.3,0,0,0-3.1.2l-9.2,9.2a2.4,2.4,0,0,0-.2,3.2' +
288 'l8.1,10.4-1.7,4.1L9.8,46.4A2.3,2.3,0,0,0,8,48.7V61.9' +
289 'a2.3,2.3,0,0,0,2,2.4L22.6,66l1.7,5.2-7.7,10a2.4,2.4,0,0,0,.2,3.2' +
290 'l9.1,9a2.4,2.4,0,0,0,3.3.1l9-8.2,4.8,2.2,2.6,12.7' +
291 'a2.3,2.3,0,0,0,2.4,1.9l13.9-.2a2.5,2.5,0,0,0,2.3-2.4' +
292 'l0.7-11.4,5.5-2.3,9.8,8.1a2.4,2.4,0,0,0,3.2-.1L93,83.9' +
293 'a2.4,2.4,0,0,0,.1-3.3L84.7,71,87,66l13.2-2.5a2.3,2.3,0,0,0,1.9-2.3' +
294 'l0.2-12.5A2.4,2.4,0,0,0,100.2,46.4ZM54.4,73' +
295 'A18.2,18.2,0,1,1,72.6,54.8,18.2,18.2,0,0,1,54.4,73Z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800296
297 // --- Navigation glyphs ------------------------------------
298
299 flowTable: tableFrame +
300 'M86,63.2c0,3.3-2.7,6-6,6c-2.8,0-5.1-1.9-5.8-' +
301 '4.5H63.3v5.1c0,0.9-0.7,1.5-1.5,1.5h-5.2v10.6c2.6,0.7,4.5,3,4.5,' +
302 '5.8c0,3.3-2.7,6-6,6c-3.3,0-6-2.7-6-6c0-2.8,1.9-5.1,4.4-5.8V71.3' +
303 'H48c-0.9,0-1.5-0.7-1.5-1.5v-5.1H36c-0.7,2.6-3,4.4-5.8,4.4c-3.3,' +
304 '0-6-2.7-6-6s2.7-6,6-6c2.8,0,5.2,1.9,5.8,4.5h10.5V56c0-0.9,0.7-' +
305 '1.5,1.5-1.5h5.5V43.8c-2.6-0.7-4.5-3-4.5-5.8c0-3.3,2.7-6,6-6s6,' +
306 '2.7,6,6c0,2.8-1.9,5.1-4.5,5.8v10.6h5.2c0.9,0,1.5,0.7,1.5,1.5v' +
307 '5.6h10.8c0.7-2.6,3-4.5,5.8-4.5C83.3,57.1,86,59.8,86,63.2z ' +
308 'M55.1,42.3c2.3,0,4.3-1.9,4.3-4.3c0-2.3-1.9-4.3-4.3-4.3' +
309 's-4.3,1.9-4.3,4.3C50.8,40.4,52.7,42.3,55.1,42.3z ' +
310 'M34.4,63.1c0-2.3-1.9-4.3-4.3-4.3s-4.3,1.9-4.3,4.3' +
311 's1.9,4.3,4.3,4.3S34.4,65.5,34.4,63.1z ' +
312 'M55.1,83.5c-2.3,0-4.3,1.9-4.3,4.3s1.9,4.3,4.3,4.3' +
313 's4.3-1.9,4.3-4.3S57.5,83.5,55.1,83.5z' +
314 'M84.2,63.2c0-2.3-1.9-4.3-4.3-4.3s-4.3,' +
315 '1.9-4.3,4.3s1.9,4.3,4.3,4.3S84.2,65.5,84.2,63.2z',
316
317 portTable: tableFrame +
318 'M85.5,37.7c0-0.7-0.4-1.3-0.9-1.3H26.2c-0.5,0-' +
319 '0.9,0.6-0.9,1.3v34.6c0,0.7,0.4,1.3,0.9,1.3h11v9.6c0,1.1,0.5,2,' +
320 '1.2,2h9.1c0,0.2,0,0.3,0,0.5v3c0,1.1,0.5,2,1.2,2h13.5c0.6,0,1.2-' +
321 '0.9,1.2-2v-3c0-0.2,0-0.3,0-0.5h9.1c0.6,0,1.2-0.9,1.2-2v-9.6h11' +
322 'c0.5,0,0.9-0.6,0.9-1.3V37.7z M30.2,40h-1v8h1V40zM75.2,40h-2.1v8' +
323 'h2.1V40z M67.7,40h-2.1v8h2.1V40z M60.2,40h-2.1v8h2.1V40z M52.7,' +
324 '40h-2.1v8h2.1V40z M45.2,40h-2.1v8h2.1V40zM37.7,40h-2.1v8h2.1V40' +
325 'z M81.6,40h-1v8h1V40z',
326
327 groupTable: tableFrame +
328 'M45.7,52.7c0.2-5.6,2.6-10.7,6.2-14.4c-2.6-1.5-5.7-2.5-8.9-2.5' +
329 'c-9.8,0-17.7,7.9-17.7,17.7c0,6.3,3.3,11.9,8.3,15' +
330 'C34.8,61.5,39.4,55.6,45.7,52.7z ' +
331 'M51.9,68.8c-3.1-3.1-5.2-7.2-6-11.7c-4.7,2.8-7.9,7.6-8.6,13.2' +
332 'c1.8,0.6,3.6,0.9,5.6,0.9C46.2,71.2,49.3,70.3,51.9,68.8z ' +
333 'M55.2,71.5c-3.5,2.4-7.7,3.7-12.2,3.7c-1.9,0-3.8-0.3-5.6-0.7' +
334 'C38.5,83.2,45.9,90,54.9,90c9,0,16.4-6.7,17.5-15.4' +
335 'c-1.6,0.4-3.4,0.6-5.1,0.6C62.8,75.2,58.6,73.8,55.2,71.5z ' +
336 'M54.9,50.6c1.9,0,3.8,0.3,5.6,0.7c-0.5-4.1-2.5-7.9-5.4-10.6' +
337 'c-2.9,2.7-4.8,6.4-5.3,10.5C51.5,50.8,53.2,50.6,54.9,50.6z ' +
338 'M49.7,55.4c0.5,4.3,2.4,8.1,5.4,10.9c2.9-2.8,4.9-6.6,5.4-10.8' +
339 'c-1.8-0.6-3.6-0.9-5.6-0.9C53.1,54.6,51.4,54.9,49.7,55.4z ' +
340 'M89,53.5c0-12-9.7-21.7-21.7-21.7c-4.5,0-8.7,1.4-12.2,3.7' +
341 'c-3.5-2.4-7.7-3.7-12.2-3.7c-12,0-21.7,9.7-21.7,21.7' +
342 'c0,8.5,4.9,15.9,12,19.4C33.6,84.6,43.2,94,54.9,94' +
343 'c11.7,0,21.2-9.3,21.7-20.9C84,69.7,89,62.2,89,53.5z ' +
344 'M64.3,57.3c-0.8,4.4-2.9,8.4-5.9,11.5c2.6,1.5,5.7,2.5,8.9,2.5' +
345 'c1.8,0,3.6-0.3,5.2-0.8C72,64.9,68.8,60.1,64.3,57.3z ' +
346 'M67.3,35.8c-3.3,0-6.3,0.9-8.9,2.5c3.7,3.8,6.1,8.9,6.2,14.6' +
347 'c6.1,3.1,10.6,8.9,11.7,15.8C81.5,65.6,85,60,85,53.5' +
348 'C85,43.8,77.1,35.8,67.3,35.8z',
349
350 meterTable: tableFrame +
351 'M96.3,79.2c0-19.1-22.1-34.6-41.3-34.6S13.7,60.1,13.7,79.2' +
352 'H39.4c0-7.2,8.4-13.1,15.7-13.1S70.6,72,70.6,79.2H96.3z' +
353 'M48,65.6L36.8,53c0-.5-1.5.5-1.4,0.7l5.3,16.6z',
354
355 // --- Topology toolbar specific glyphs ----------------------
356
Simon Hunte6e09842016-06-07 11:11:26 -0700357 summary: 'M95.8,9.2H14.2c-2.8,0-5,2.2-5,5v81.5c0,2.8,2.2,5,5,' +
358 '5h81.5c2.8,0,5-2.2,5-5V14.2C100.8,11.5,98.5,9.2,95.8,9.2z ' +
359 'M16.7,22.2c0-1.1,0.9-2,2-2h20.1c1.1,0,2,0.9,2,2v20.1c0,1.1-0.9,' +
360 '2-2,2H18.7c-1.1,0-2-0.9-2-2V22.2z M93,87c0,1.1-0.9,2-2,2H18.9' +
361 'c-1.1,0-2-0.9-2-2v-7c0-1.1,0.9-2,2-2H91c1.1,0,2,0.9,2,2V87z ' +
362 'M93,65c0,1.1-0.9,2-2,2H18.9c-1.1,0-2-0.9-2-2v-7c0-1.1,0.9-2,' +
363 '2-2H91c1.1,0,2,0.9,2,2V65z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800364
Simon Hunte6e09842016-06-07 11:11:26 -0700365 details: 'M95.8,9.2H14.2c-2.8,0-5,2.2-5,5v81.5c0,2.8,2.2,5,5,' +
366 '5h81.5c2.8,0,5-2.2,5-5V14.2C100.8,11.5,98.5,9.2,95.8,9.2z M16.9,' +
367 '22.2c0-1.1,0.9-2,2-2H91c1.1,0,2,0.9,2,2v7c0,1.1-0.9,2-2,2H18.9c' +
368 '-1.1,0-2-0.9-2-2V22.2z M93,87.8c0,1.1-0.9,2-2,2H18.9c-1.1,' +
369 '0-2-0.9-2-2v-7c0-1.1,0.9-2,2-2H91c1.1,0,2,0.9,2,2V87.8z M93,68.2' +
370 'c0,1.1-0.9,2-2,2H18.9c-1.1,0-2-0.9-2-2v-7c0-1.1,0.9-2,2-2H91' +
371 'c1.1,0,2,0.9,2,2V68.2z M93,48.8c0,1.1-0.9,2-2,2H19c-1.1,0-2-' +
372 '0.9-2-2v-7c0-1.1,0.9-2,2-2H91c1.1,0,2,0.9,2,2V48.8z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800373
Simon Hunte6e09842016-06-07 11:11:26 -0700374 ports: 'M98,9.2H79.6c-1.1,0-2.1,0.9-2.1,2.1v17.6l-5.4,5.4c-1.7' +
375 '-1.1-3.8-1.8-6-1.8c-6,0-10.9,4.9-10.9,10.9c0,2.2,0.7,4.3,1.8,6' +
376 'l-7.5,7.5c-1.8-1.2-3.9-1.9-6.2-1.9c-6,0-10.9,4.9-10.9,10.9c0,' +
377 '2.3,0.7,4.4,1.9,6.2l-6.2,6.2H11.3c-1.1,0-2.1,0.9-2.1,2.1v18.4' +
378 'c0,1.1,0.9,2.1,2.1,2.1h18.4c1.1,0,2.1-0.9,2.1-2.1v-16l7-6.9' +
379 'c1.4,0.7,3,1.1,4.7,1.1c6,0,10.9-4.9,10.9-10.9c0-1.7-0.4-3.3-' +
380 '1.1-4.7l8-8c1.5,0.7,3.1,1.1,4.8,1.1c6,0,10.9-4.9,10.9-10.9c0' +
381 '-1.7-0.4-3.4-1.1-4.8l6.9-6.9H98c1.1,0,2.1-0.9,2.1-2.1V11.3' +
382 'C100.1,10.2,99.2,9.2,98,9.2z M43.4,72c-3.3,0-6-2.7-6-6s2.7-6,' +
383 '6-6s6,2.7,6,6S46.7,72,43.4,72z M66.1,49.5c-3.3,0-6-2.7-6-6' +
384 'c0-3.3,2.7-6,6-6s6,2.7,6,6C72.2,46.8,69.5,49.5,66.1,49.5z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800385
Simon Hunte6e09842016-06-07 11:11:26 -0700386 map: 'M95.8,9.2H14.2c-2.8,0-5,2.2-5,5v66c0.3-1.4,0.7-2.8,' +
387 '1.1-4.1l1.6,0.5c-0.9,2.4-1.6,4.8-2.2,7.3l-0.5-0.1v12c0,2.8,2.2,' +
388 '5,5,5h81.5c2.8,0,5-2.2,5-5V14.2C100.8,11.5,98.5,9.2,95.8,9.2z ' +
389 'M16.5,67.5c-0.4,0.5-0.7,1-1,1.5c-0.3,0.5-0.6,1-0.9,1.6l-1.9-0.9' +
390 'c0.3-0.6,0.6-1.2,0.9-1.8c0.3-0.6,0.6-1.2,1-1.7c0.7-1.1,1.5-2.2,' +
391 '2.5-3.2l1.8,1.8C18,65.6,17.2,66.5,16.5,67.5z M29.7,64.1' +
392 'c-0.4-0.4-0.8-0.8-1.2-1.1c-0.1-0.1-0.2-0.1-0.2-0.1c0,0-0.1,' +
393 '0-0.1-0.1l-0.1,0l0,0l-0.1,0c-0.3-0.1-0.5-0.2-0.8-0.2c-0.5-0.1' +
394 '-1.1-0.2-1.6-0.3c-0.6,0-1.1,0-1.6,0l-0.4-2.8c0.7-0.1,1.5-0.2,2.2' +
395 '-0.1c0.7,0,1.4,0.1,2.2,0.3c0.4,0.1,0.7,0.2,1,0.3l0.1,0l0,0l0.1,' +
396 '0l0.1,0c0.1,0,0.1,0,0.3,0.1c0.3,0.1,0.5,0.2,0.7,0.4c0.7,0.5,' +
397 '1.2,0.9,1.7,1.4L29.7,64.1z M39.4,74.7c-1.8-1.8-3.6-3.8-5.3-5.7' +
398 'l2.6-2.4c0.9,0.9,1.8,1.8,2.7,2.7c0.9,0.9,1.8,1.7,2.7,2.6L39.4,' +
399 '74.7z M50.8,84.2c-1.1-0.7-2.2-1.5-3.3-2.3c-0.5-0.4-1.1-0.8-1.6' +
400 '-1.2c-0.5-0.4-1-0.8-1.5-1.2l2.7-3.4c0.5,0.4,1,0.8,1.5,1.1c0.5,' +
401 '0.3,1,0.7,1.5,1c1,0.7,2.1,1.3,3.1,1.9L50.8,84.2z M61.3,' +
402 '88.7c-0.7-0.1-1.4-0.3-2.1-0.5c-0.7-0.2-1.4-0.5-2-0.7l1.8' +
403 '-4.8c0.6,0.2,1.1,0.4,1.6,0.5c0.5,0.2,1.1,0.3,1.6,0.4c1,0.2,2.1,' +
404 '0.2,3,0.1l0.7,5.1C64.3,89.1,62.7,88.9,61.3,88.7z M75.1,80.4c' +
405 '-0.2,0.7-0.5,1.4-0.9,2c-0.2,0.3-0.3,0.7-0.5,1l-0.3,0.5l-0.3,' +
406 '0.4l-3.9-2.8l0.3-0.4l0.2-0.3c0.1-0.2,0.3-0.4,0.4-0.7c0.3-0.5,' +
407 '0.5-0.9,0.7-1.5c0.4-1,0.8-2.1,1.1-3.3l4.2,0.9C75.9,77.7,75.6,' +
408 '79,75.1,80.4z M73,69.2l0.2-1.9l0.1-1.9c0.1-1.2,0.1-2.5,0.1-' +
409 '3.8l2.5-0.2c0.2,1.3,0.4,2.6,0.5,3.9l0.1,2l0.1,2L73,69.2z ' +
410 'M73,51l0.5-0.1c0.4,1.3,0.8,2.6,1.1,3.9L73.2,55C73.1,53.7,73.1,' +
411 '52.3,73,51z M91.9,20.4c-0.7,1.4-3.6,3.6-4.2,3.9c-1.5,0.8-5,' +
412 '2.8-10.1,7.7c3,2.9,5.8,5.4,7.3,6.4c2.6,1.8,3.4,4.3,3.6,6.1c0.1,' +
413 '1.1-0.1,2.5-0.4,3c-0.5,0.9-1.6,2-3,1.4c-2-0.8-11.5-9.6-13-11c' +
414 '-3.5,3.9-7.4,8.9-11.7,15.1c0,0-3.1,3.4-5.2,0.9C52.9,51.5,61,' +
415 '39.3,61,39.3s2.2-3.1,5.6-7c-2.9-3-5.9-6.3-6.6-7.3c0,0-3.7-5-1.3' +
416 '-6.6c3.2-2.1,6.3,0.8,6.3,0.8s3.1,3.3,7,7.2c4.7-4.7,10.1-9.2,' +
417 '14.7-10c0,0,3.3-1,5.2,1.7C92.5,18.8,92.4,19.6,91.9,20.4z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800418
Simon Hunte6e09842016-06-07 11:11:26 -0700419 cycleLabels: 'M72.5,33.9c0,0.6-0.2,1-0.5,1H40c-0.3,0-0.5-0.4' +
420 '-0.5-1V20.7c0-0.6,0.2-1,0.5-1h32c0.3,0,0.5,0.4,0.5,1V33.9z ' +
421 'M41.2,61.8c0-0.6-0.2-1-0.5-1h-32c-0.3,0-0.5,0.4-0.5,1V75c0,0.6,' +
422 '0.2,1,0.5,1h32c0.3,0,0.5-0.4,0.5-1V61.8z M101.8,61.8c0-0.6-0.2' +
423 '-1-0.5-1h-32c-0.3,0-0.5,0.4-0.5,1V75c0,0.6,0.2,1,0.5,1h32c0.3,' +
424 '0,0.5-0.4,0.5-1V61.8z M17.2,52.9c0-0.1-0.3-7.1,4.6-13.6l-2.4-1.8' +
425 'c-5.4,7.3-5.2,15.2-5.1,15.5L17.2,52.9z M12.7,36.8l7.4,2.5l1.5,' +
426 '7.6L29.5,31L12.7,36.8z M94.2,42.3c-2.1-8.9-8.3-13.7-8.6-13.9l' +
427 '-1.8,2.4c0.1,0,5.6,4.3,7.5,12.2L94.2,42.3z M99,37.8l-6.6,4.1l' +
428 '-6.8-3.7l7.1,16.2L99,37.8z M69,90.2l-1.2-2.8c-0.1,0-6.6,2.8' +
429 '-14.3,0.6l-0.8,2.9c2.5,0.7,4.9,1,7,1C65,91.8,68.7,90.2,69,90.2z ' +
430 'M54.3,97.3L54,89.5l6.6-4.1l-17.6-1.7L54.3,97.3z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800431
Simon Hunte6e09842016-06-07 11:11:26 -0700432 oblique: 'M80.9,30.2h4.3l15-16.9H24.8l-15,16.9h19v48.5h-4l-15,' +
433 '16.9h75.3l15-16.9H80.9V30.2z M78.6,78.7H56.1V30.2h22.5V78.7z' +
434 'M79.7,17.4c2.4,0,4.3,1.9,4.3,4.3c0,2.4-1.9,4.3-4.3,4.3s-4.3' +
435 '-1.9-4.3-4.3C75.4,19.3,77.4,17.4,79.7,17.4z M55,17.4c2.4,0,' +
436 '4.3,1.9,4.3,4.3c0,2.4-1.9,4.3-4.3,4.3s-4.3-1.9-4.3-4.3C50.7,' +
437 '19.3,52.6,17.4,55,17.4z M26.1,21.7c0-2.4,1.9-4.3,4.3-4.3c2.4,' +
438 '0,4.3,1.9,4.3,4.3c0,2.4-1.9,4.3-4.3,4.3C28,26,26.1,24.1,26.1,' +
439 '21.7z M31.1,30.2h22.6v48.5H31.1V30.2z M30.3,91.4c-2.4,0-4.3' +
440 '-1.9-4.3-4.3c0-2.4,1.9-4.3,4.3-4.3c2.4,0,4.3,1.9,4.3,4.3C34.6,' +
441 '89.5,32.7,91.4,30.3,91.4z M54.9,91.4c-2.4,0-4.3-1.9-4.3-4.3c0' +
442 '-2.4,1.9-4.3,4.3-4.3c2.4,0,4.3,1.9,4.3,4.3C59.2,89.5,57.3,' +
443 '91.4,54.9,91.4z M84,87.1c0,2.4-1.9,4.3-4.3,4.3c-2.4,0-4.3-1.9' +
444 '-4.3-4.3c0-2.4,1.9-4.3,4.3-4.3C82.1,82.8,84,84.7,84,87.1z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800445
Simon Hunte6e09842016-06-07 11:11:26 -0700446 filters: 'M24.8,13.3L9.8,40.5h75.3l15.0-27.2H24.8z M72.8,32.1l-' +
447 '9.7-8.9l-19.3,8.9l-6.0-7.4L24.1,30.9l-1.2-2.7l15.7-7.1l6.0,7.4' +
448 'l19.0-8.8l9.7,8.8l11.5-5.6l1.3,2.7L72.8,32.1zM24.3,68.3L9.3,' +
449 '95.5h75.3l15.0-27.2H24.3z M84.3,85.9L70.7,79.8l-6.0,7.4l-19.3' +
450 '-8.9l-9.7,8.9l-13.3-6.5l1.3-2.7l11.5,5.6l9.7-8.8l19.0,8.8l6.0' +
451 '-7.4l15.7,7.1L84.3,85.9z M15.3,57h-6v-4h6V57zM88.1,57H76.0v-4h' +
452 '12.1V57z M69.9,57H57.8v-4h12.1V57z M51.7,57H39.6v-4H51.7V57z ' +
453 'M33.5,57H21.4v-4h12.1V57zM100.2,57h-6v-4h6V57z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800454
Simon Hunte6e09842016-06-07 11:11:26 -0700455 resetZoom: 'M86,79.8L61.7,54.3c1.8-2.9,2.8-6.3,2.9-10c0.3-11.2' +
456 '-8.6-20.5-19.8-20.8C33.7,23.2,24.3,32,24.1,43.2c-0.3,11.2,8.6,' +
457 '20.5,19.8,20.8c4,0.1,8.9-0.8,11.9-3.6l23.7,25c1.5,1.6,4,2.3,' +
458 '5.3,1l1.6-1.6C87.7,83.7,87.5,81.4,86,79.8z M31.4,43.4c0.2-7.1,' +
459 '6.1-12.8,13.2-12.6C51.8,31,57.5,37,57.3,44.1c-0.2,7.1-6.1,12.8' +
460 '-13.2,12.6C36.9,56.5,31.3,50.6,31.4,43.4zM22.6,104H6V86.4c0' +
461 '-1.7,1.4-3.1,3.1-3.1s3.1,1.4,3.1,3.1v11.4h10.4c1.7,0,3.1,1.4,' +
462 '3.1,3.1S24.3,104,22.6,104z M25.7,9.1c0,1.7-1.4,3.1-3.1,3.1' +
463 'H12.2v11.4c0,1.7-1.4,3.1-3.1,3.1S6,25.3,6,23.6V6h16.6C24.3,6,' +
464 '25.7,7.4,25.7,9.1z M84.3,100.9c0-1.7,1.4-3.1,3.1-3.1h10.4V86.4' +
465 'c0-1.7,1.4-3.1,3.1-3.1s3.1,1.4,3.1,3.1V104H87.4C85.7,104,84.3,' +
466 '102.6,84.3,100.9z M87.4,6H104v17.6c0,1.7-1.4,3.1-3.1,3.1s-3.1' +
467 '-1.4-3.1-3.1V12.2H87.4c-1.7,0-3.1-1.4-3.1-3.1S85.7,6,87.4,6z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800468
Simon Hunte6e09842016-06-07 11:11:26 -0700469 relatedIntents: 'M99.9,43.7v22.6c0,1.9-1.5,3.4-3.4,3.4H73.9c' +
470 '-1.9,0-3.4-1.5-3.4-3.4V43.7c0-1.9,1.5-3.4,3.4-3.4h22.6C98.4,' +
471 '40.3,99.9,41.8,99.9,43.7z M48.4,46.3l6.2,6.7h-4.6L38.5,38v9.7' +
472 'l4.7,5.3H10.1V57h33.2l-4.8,5.3v9.5L49.8,57h5.1v0l-6.5,7v11.5' +
473 'L64.1,55L48.4,34.4V46.3z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800474
Simon Hunte6e09842016-06-07 11:11:26 -0700475 nextIntent: 'M88.1,55.7L34.6,13.1c0,0-1.6-0.5-2.1-0.2c-1.9,1.2' +
476 '-6.5,13.8-3.1,17.2c7,6.9,30.6,24.5,32.4,25.9c-1.8,1.4-25.4,19' +
477 '-32.4,25.9c-3.4,3.4,1.2,16,3.1,17.2c0.6,0.4,2.1-0.2,2.1-0.2' +
478 's53.1-42.4,53.5-42.7C88.5,56,88.1,55.7,88.1,55.7z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800479
Simon Hunte6e09842016-06-07 11:11:26 -0700480 prevIntent: 'M22.5,55.6L76,12.9c0,0,1.6-0.5,2.2-0.2c1.9,1.2,' +
481 '6.5,13.8,3.1,17.2c-7,6.9-30.6,24.5-32.4,25.9c1.8,1.4,25.4,19,' +
482 '32.4,25.9c3.4,3.4-1.2,16-3.1,17.2c-0.6,0.4-2.2-0.2-2.2-0.2' +
483 'S22.9,56.3,22.5,56C22.2,55.8,22.5,55.6,22.5,55.6z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800484
Simon Hunte6e09842016-06-07 11:11:26 -0700485 intentTraffic: 'M14.7,71.5h-6v-33h6V71.5z M88.5,38.5H76.9v33' +
486 'h11.7V38.5z M70.1,38.5H58.4v33h11.7V38.5z M51.6,38.5H39.9v33' +
487 'h11.7V38.5z M33.1,38.5H21.5v33h11.7V38.5z M101.3,38.5h-6v33h6' +
488 'V38.5z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800489
Simon Hunte6e09842016-06-07 11:11:26 -0700490 allTraffic: 'M15.7,64.5h-7v-19h7V64.5z M78.6,45.5H62.9v19h15.7' +
491 'V45.5z M47.1,45.5H31.4v19h15.7V45.5z M101.3,45.5h-7v19h7V45.5z' +
492 'M14.7,14.1h-6v19h6V14.1z M88.5,14.1H76.9v19h11.7V14.1z M70.1,' +
493 '14.1H58.4v19h11.7V14.1z M51.6,14.1H39.9v19h11.7V14.1z M33.1,14.1' +
494 'H21.5v19h11.7V14.1z M101.3,14.1h-6v19h6V14.1z M14.7,76.9h-6v19' +
495 'h6V76.9z M88.5,76.9H76.9v19h11.7V76.9z M70.1,76.9H58.4v19h11.7' +
496 'V76.9z M51.6,76.9H39.9v19h11.7V76.9z M33.1,76.9H21.5v19h11.7' +
497 'V76.9z M101.3,76.9h-6v19h6V76.9z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800498
Simon Hunte6e09842016-06-07 11:11:26 -0700499 flows: 'M93.8,46.1c-4.3,0-8,3-9,7H67.9v-8.8c0-1.3-1.1-2.4-2.4' +
500 '-2.4h-8.1V25.3c4-1,7-4.7,7-9.1c0-5.2-4.2-9.4-9.4-9.4c-5.2,0' +
501 '-9.4,4.2-9.4,9.4c0,4.3,3,8,7,9v16.5H44c-1.3,0-2.4,1.1-2.4,2.4' +
502 'v8.8H25.3c-1-4.1-4.7-7.1-9.1-7.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,' +
503 '9.4,9.4,9.4c4.3,0,8-2.9,9-6.9h16.4v7.9c0,1.3,1.1,2.4,2.4,2.4' +
504 'h8.6v16.6c-4,1.1-6.9,4.7-6.9,9c0,5.2,4.2,9.4,9.4,9.4c5.2,0,' +
505 '9.4-4.2,9.4-9.4c0-4.4-3-8-7.1-9.1V68.2h8.1c1.3,0,2.4-1.1,2.4' +
506 '-2.4v-7.9h16.8c1.1,4,4.7,7,9,7c5.2,0,9.4-4.2,9.4-9.4S99,46.1,' +
507 '93.8,46.1z M48.7,16.3c0-3.5,2.9-6.4,6.4-6.4c3.5,0,6.4,2.9,6.4,' +
508 '6.4s-2.9,6.4-6.4,6.4C51.5,22.6,48.7,19.8,48.7,16.3zM16.2,61.7c' +
509 '-3.5,0-6.4-2.9-6.4-6.4c0-3.5,2.9-6.4,6.4-6.4s6.4,2.9,6.4,6.4' +
510 'C22.6,58.9,19.7,61.7,16.2,61.7z M61.4,93.7c0,3.5-2.9,6.4-6.4,' +
511 '6.4c-3.5,0-6.4-2.9-6.4-6.4c0-3.5,2.9-6.4,6.4-6.4C58.6,87.4,' +
512 '61.4,90.2,61.4,93.7z M93.8,61.8c-3.5,0-6.4-2.9-6.4-6.4c0-3.5,' +
513 '2.9-6.4,6.4-6.4s6.4,2.9,6.4,6.4C100.1,58.9,97.3,61.8,93.8,61.8z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800514
Simon Hunte6e09842016-06-07 11:11:26 -0700515 eqMaster: 'M100.1,46.9l-10.8-25h0.2c0.5,0,0.8-0.5,0.8-1.1v-3.2' +
516 'c0-0.6-0.4-1.1-0.8-1.1H59.2v-5.1c0-0.5-0.8-1-1.7-1h-5.1c-0.9,0' +
517 '-1.7,0.4-1.7,1v5.1l-30.2,0c-0.5,0-0.8,0.5-0.8,1.1v3.2c0,0.6,' +
518 '0.4,1.1,0.8,1.1h0.1l-10.8,25C9,47.3,8.4,48,8.4,48.8v1.6l0,0h0' +
519 'v6.4c0,1.3,1.4,2.3,3.2,2.3h21.7c1.8,0,3.2-1,3.2-2.3v-8c0-0.9' +
520 '-0.7-1.6-1.7-2L22.9,21.9h27.9v59.6l-29,15.9c0,1.2,1.8,2.2,4.1,' +
521 '2.2h58.3c2.3,0,4.1-1,4.1-2.2l-29-15.9V21.9h27.8L75.2,46.8c-1,' +
522 '0.4-1.7,1.1-1.7,2v8c0,1.3,1.4,2.3,3.2,2.3h21.7c1.8,0,3.2-1,3.2' +
523 '-2.3v-8C101.6,48,101,47.3,100.1,46.9z M22,23.7l10.8,22.8H12.1' +
524 'L22,23.7z M97.9,46.5H77.2L88,23.7L97.9,46.5z',
525
526 xClose: 'M20,8l35,35,35-35,12,12-35,35,35,35-12,12-35-35-35,35' +
527 '-12-12,35-35-35-35,12-12Z'
Simon Hunt4afa61d2016-02-23 09:31:43 -0800528 },
529
530 badgeDataSet = {
Simon Hunte6e09842016-06-07 11:11:26 -0700531 _viewbox: '0 0 10 10',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800532
Simon Hunt5fdba202016-06-02 20:01:14 -0700533 checkMark: 'M8.6,3.4L4.4,7.7L1.4,4.7L2.5,3.6L4.4,5.5L7.5,2.3L8.6,3.4Z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800534
Simon Hunte6e09842016-06-07 11:11:26 -0700535 xMark: 'M7.8,6.7L6.7,7.8,5,6.1,3.3,7.8,2.2,6.7,3.9,5,2.2,3.3,3.3,' +
536 '2.2,5,3.9,6.7,2.2,7.8,3.3,6.1,5Z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800537
Simon Hunte6e09842016-06-07 11:11:26 -0700538 triangleUp: 'M0.5,6.2c0,0,3.8-3.8,4.2-4.2C5,1.7,5.3,2,5.3,2l4.3,' +
539 '4.3c0,0,0.4,0.4-0.1,0.4c-1.7,0-8.2,0-8.8,0C0,6.6,0.5,6.2,0.5,6.2z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800540
Simon Hunte6e09842016-06-07 11:11:26 -0700541 triangleDown: 'M9.5,4.2c0,0-3.8,3.8-4.2,4.2c-0.3,0.3-0.5,0-0.5,' +
542 '0L0.5,4.2c0,0-0.4-0.4,0.1-0.4c1.7,0,8.2,0,8.8,0C10,3.8,9.5,4.2,' +
543 '9.5,4.2z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800544
Simon Hunte6e09842016-06-07 11:11:26 -0700545 plus: 'M4,2h2v2h2v2h-2v2h-2v-2h-2v-2h2z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800546
Simon Hunte6e09842016-06-07 11:11:26 -0700547 minus: 'M2,4h6v2h-6z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800548
Simon Hunte6e09842016-06-07 11:11:26 -0700549 play: 'M3,1.5l3.5,3.5l-3.5,3.5z',
Simon Hunt4afa61d2016-02-23 09:31:43 -0800550
Simon Hunte6e09842016-06-07 11:11:26 -0700551 stop: 'M2.5,2.5h5v5h-5z'
Simon Hunt4afa61d2016-02-23 09:31:43 -0800552 },
553
554 spriteData = {
555 _cloud: '0 0 110 110',
Simon Hunte6e09842016-06-07 11:11:26 -0700556 cloud: 'M37.6,79.5c-6.9,8.7-20.4,8.6-22.2-2.7' +
557 'M16.3,41.2c-0.8-13.9,19.4-19.2,23.5-7.8' +
558 'M38.9,30.9c5.1-9.4,15.1-8.5,16.9-1.3' +
559 'M54.4,32.9c4-12.9,14.8-9.6,18.6-3.8' +
560 'M95.8,58.5c10-4.1,11.7-17.8-0.9-19.8' +
561 'M18.1,76.4C5.6,80.3,3.8,66,13.8,61.5' +
562 'M16.2,62.4C2.1,58.4,3.5,36,16.8,36.6' +
563 'M93.6,74.7c10.2-2,10.7-14,5.8-18.3' +
564 'M71.1,79.3c11.2,7.6,24.6,6.4,22.1-11.7' +
565 'M36.4,76.8c3.4,13.3,35.4,11.6,36.1-1.4' +
566 'M70.4,31c11.8-10.4,26.2-5.2,24.7,10.1'
Simon Hunt5a6c60c2016-08-26 17:15:18 -0700567 },
568
569 mojoDataSet = {
570 _viewbox: '0 0 100 100',
571
572 mojo_cloud: 'M50.5,70.2H29.9a20.6,20.6,0,0,1-5.3-.6' +
573 'C14,66.6,10.2,53.6,17.1,45' +
574 'c5.3-6.6,15-6.7,20.6-2.5,1.5,1.2,2,2.3,1,3.3s-2.2.8-3.4,0' +
575 'A11.6,11.6,0,0,0,22,45.7' +
576 'c-3.7,2.4-5.2,8.9-3.9,12.5,1.8,5.2,5.4,7.9,11,8H72.1' +
577 'A11.5,11.5,0,0,0,83.7,55.8c0.6-5.2-3.3-10.6-8.9-11.8' +
578 'a15.2,15.2,0,0,0-5.1,0c-2,.3-3,0-3.2-1.4s1-2.3,2.4-2.6' +
579 'c6.2-1.2,11.5.5,15.5,5.4' +
580 'a14.2,14.2,0,0,1,2,15.7,14.8,14.8,0,0,1-13.8,9.1' +
581 'c-7.4.2-14.7,0.1-22.1,0.1h0Z' +
582 'M50.6,30a11.5,11.5,0,0,0-10.9,7l-0.3.9a2,2,0,0,1-2.7,1.6' +
583 'c-1.5-.5-1.5-1.7-1.1-3A15.8,15.8,0,0,1,48.4,26' +
584 'C58.6,24.8,67.3,34.4,65,44.5' +
585 'a4.9,4.9,0,0,1-1.7,2.4,1.9,1.9,0,0,1-1.7-.5,5.3,5.3,0,0,' +
Simon Hunt9a4b96d2016-08-26 17:59:20 -0700586 '1-.4-2.9,11,11,0,0,0-2.1-9C56.8,31.7,54,29.8,50.6,30Z',
587
588 mojo_map: 'M83.4,50.8A33.2,33.2,0,1,1,50.3,17.6,33.3,33.3,0,' +
589 '0,1,83.4,50.8Zm-62.6-.1A29.4,29.4,0,1,0,50.4,21.4,29.4,29.4,0,' +
590 '0,0,20.8,50.7ZM65.5,47.6h9.2' +
591 'a1.9,1.9,0,0,1,1.8,2.7,2,2,0,0,1-2,1.2H65.6c0,0.5-.1.9-0.1,1.4' +
592 'a38.6,38.6,0,0,1-8.3,21.8,1.9,1.9,0,0,1-2.8.5,1.9,1.9,' +
593 '0,0,1-.3-2.8,34.4,34.4,0,0,0,5.4-9.7A33.8,33.8,0,0,0,61.6,52' +
594 'c0-.2,0-0.3,0-0.5H39c0.2,1.8.3,3.5,0.6,5.2a34.6,34.6,0,0,0,' +
595 '7.2,15.8,1.9,1.9,0,1,1-3,2.4,37.4,37.4,0,0,1-6.8-12.7,41.6,41.6,' +
596 '0,0,1-1.8-10.3V51.4H26a2,2,0,0,1-2.1-1.7,2,2,0,0,1,2-2.2h9.4' +
597 'c0.3-1.9.6-3.8,0.9-5.6a37.8,37.8,0,0,1,7.8-16.5,1.9,1.9,0,0,' +
598 '1,2.8-.3,2,2,0,0,1,.1,2.9,64.5,64.5,0,0,0-3.7,5.6,34.8,34.8,0,0,' +
599 '0-3.9,13.3c0,0.2,0,.4,0,0.6H61.7c-0.3-1.9-.6-3.7-1-5.6' +
600 'a34.1,34.1,0,0,0-7.2-14.5,1.9,1.9,0,0,1-.3-2.3,1.7,1.7,0,0,' +
601 '1,1.9-.9,2.9,2.9,0,0,1,1.4.9,37.4,37.4,0,0,1,8.1,16.9' +
602 'c0.3,1.6.5,3.2,0.7,4.7v0.7Z',
603
604 mojo_selectMap: 'M30.8,61.9l8.5-6.3c-0.7-2.6-1.5-5.1-2-7.6' +
605 'a49.4,49.4,0,0,1-.7-5.6c0-.5-0.2-0.7-0.7-0.7H27.1' +
606 'a1.9,1.9,0,0,1-1.9-2.6,1.9,1.9,0,0,1,1.9-1.2h9.4' +
607 'c0.2-1.5.4-2.9,0.6-4.4a38.7,38.7,0,0,1,8-17.8,1.9,1.9,0,1,1,3,2.4' +
608 'c-1,1.5-2.1,2.9-3,4.4a34.9,34.9,0,0,0-4.7,14.4,8.2,8.2,0,0,0,0,.9' +
609 'H63.1c-0.3-2-.6-3.9-1-5.8a33.4,33.4,0,0,0-7.1-14.3' +
610 'A2,2,0,0,1,56,14.5a1.8,1.8,0,0,1,1.8.7,37.7,37.7,0,0,1,7.9,15.7' +
611 'c0.5,2.2.8,4.5,1.3,6.9h9.2a1.9,1.9,0,0,1,1,3.5,2.9,2.9,0,0,1-1.3.3' +
612 'H67c-0.1,1.2-.2,2.3-0.4,3.5a38.4,38.4,0,0,1-8.1,19.7,1.9,1.9,' +
613 '0,0,1-2.9.5,2,2,0,0,1-.1-3,34.9,34.9,0,0,0,7-15.8' +
614 'c0.3-1.6.4-3.2,0.6-4.9H40.5c-0.3,2.4,1.1,9.4,2.2,11.3l5.5-4.1' +
615 'a2.1,2.1,0,0,1,3.5,1.9L50.3,71.2,49.1,88.6c0,0.7-.1,1.3-0.1,2' +
616 'a2,2,0,0,1-1.4,1.8,1.9,1.9,0,0,1-2.2-.9l-3.9-5.6-5.9-8.6' +
617 'a1,1,0,0,0-.9-0.5l-14.8-.5H17.4a1.9,1.9,0,0,1-1.9-1.3,1.9,1.9,' +
618 '0,0,1,.7-2.2l5.2-3.8,5.8-4.3,0.3-.3-2.4-2.8' +
619 'A33.2,33.2,0,0,1,44.8,8.5a32.8,32.8,0,0,1,37,19' +
620 'c5.4,12.5,3.7,24.4-4.9,35A31.9,31.9,0,0,1,55.9,74H54.8' +
621 'a1.8,1.8,0,0,1-2-1.7,2,2,0,0,1,1.8-2.1l3.5-.6' +
622 'A29.6,29.6,0,0,0,78.5,52.5a29.4,29.4,0,1,0-56.3-8.3,29,29,0,0,' +
623 '0,6.5,15.5Zm14.7,23,1.7-25.6c-2.9,5-5.7,10.1-8.5,15.2' +
624 'a0.9,0.9,0,0,0,.1.8l3.5,5.1Zm-2.2-27-0.2-.2' +
625 'C36.4,62.4,29.8,67.5,23,72.4h0.5l11.2,0.4a1,1,0,0,0,.7-0.5l5.3-9.5Z'
Simon Hunt4afa61d2016-02-23 09:31:43 -0800626 };
627
628
629 // ----------------------------------------------------------------------
630 // === API functions ===
631
632 function registerCoreGlyphs(gsApi) {
Simon Hunt0f8c5052016-02-26 18:17:04 -0800633 gsApi.registerGlyphs(logos);
Simon Hunt4afa61d2016-02-23 09:31:43 -0800634 gsApi.registerGlyphSet(glyphDataSet);
635 gsApi.registerGlyphSet(badgeDataSet);
636 gsApi.registerGlyphs(spriteData);
Simon Hunt5a6c60c2016-08-26 17:15:18 -0700637 gsApi.registerGlyphSet(mojoDataSet);
Simon Hunt4afa61d2016-02-23 09:31:43 -0800638 }
639
640 // ----------------------------------------------------------------------
641
642 angular.module('onosSvg')
643 .factory('GlyphDataService',
644 [function () {
645 return {
646 registerCoreGlyphs: registerCoreGlyphs
647 };
648 }]
649 );
650
651}());