Merge lp:~eduardo-mucelli/cairo-dock-plug-ins-extras/Twitter into lp:~cairo-dock-team/cairo-dock-plug-ins-extras/third-party

Proposed by Eduardo Mucelli Rezende Oliveira
Status: Merged
Merged at revision: 238
Proposed branch: lp:~eduardo-mucelli/cairo-dock-plug-ins-extras/Twitter
Merge into: lp:~cairo-dock-team/cairo-dock-plug-ins-extras/third-party
Diff against target: 628 lines (+441/-34)
6 files modified
Twitter/ChangeLog (+1/-0)
Twitter/Twitter (+34/-32)
Twitter/Twitter.conf (+1/-1)
Twitter/auto-load.conf (+1/-1)
Twitter/emblem.py (+214/-0)
Twitter/emblem.svg (+190/-0)
To merge this branch: bzr merge lp:~eduardo-mucelli/cairo-dock-plug-ins-extras/Twitter
Reviewer Review Type Date Requested Status
Cairo-Dock Devs Pending
Review via email: mp+96895@code.launchpad.net

Description of the change

Adding the emblem maker to inform the number of new tweets from the stream. Ps.: Fixing a problem I've inserted on the previous commmit.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Twitter/ChangeLog'
2--- Twitter/ChangeLog 2012-03-06 15:51:05 +0000
3+++ Twitter/ChangeLog 2012-03-10 20:33:17 +0000
4@@ -1,3 +1,4 @@
5+0.1.2: (March/8/2012): Adding the emblem maker to inform the number of new tweets from the stream.
6 0.1.1: (March/6/2012): Using callback instead of a thread to check for the new tweet from the stream, faster, better, and cleaner. Fixed new tweets count that was not being updated. Increased modularization.
7 0.1: (March/5/2012): Finally, after long work, compatible with Twitter Stream, and using it to show the tweets that just arrived. Changed the "received" icon for direct messages, and added the "new" for new tweets, both are from the icon pack Basic made by Pixel Maker, http://pixel-mixer.com
8 0.0.3: (January/14/2012): Possible to see user's info. Translation directives were added on the strings.
9
10=== modified file 'Twitter/Twitter'
11--- Twitter/Twitter 2012-03-07 09:49:53 +0000
12+++ Twitter/Twitter 2012-03-10 20:33:17 +0000
13@@ -31,6 +31,7 @@
14 from oauth import oauth
15 from http import post, get #, stream
16 from util import *
17+import emblem
18 from CDApplet import CDApplet, _
19 # TODO import ConfigParser later conver files to config syntax
20
21@@ -38,7 +39,7 @@
22 def __init__(self):
23 self.request_token_url = 'https://twitter.com/oauth/request_token'
24 self.access_token_url = 'https://twitter.com/oauth/access_token'
25- self.authorize_url = 'http://twitter.com/oauth/authorize'
26+ self.authorize_url = 'https://twitter.com/oauth/authorize'
27
28 consumer_key, consumer_secret = read_consumer_key_and_secret()
29 self.consumer = oauth.OAuthConsumer(consumer_key, consumer_secret)
30@@ -71,7 +72,7 @@
31 oauth_request.sign_request(self.signature_method, self.consumer, self.request_token)
32 url = oauth_request.to_url()
33 response = get(url)
34- self.access_token = oauth.OAuthToken.from_string(response) # create both .key and .secret attributes
35+ self.access_token = oauth.OAuthToken.from_string(response) # create both .key and .secret attributes
36 return self.access_token.key, self.access_token.secret
37
38 # TODO: Check also the possible inheritance with TwitterOauth
39@@ -87,9 +88,9 @@
40 API.__init__(self, access_key, access_secret)
41
42 self.user_stream_url = "https://userstream.twitter.com/2/user.json"
43- self.callback = callback # this method is going to be called as soon as a new entry on the stream appears
44- thread = threading.Thread(target=self.tweet_streaming) # keep checking for new entries on the stream
45- thread.start() # run, forrest run
46+ self.callback = callback # called as soon as a new entry on the stream appears
47+ thread = threading.Thread(target=self.tweet_streaming) # keep checking for new entries on the stream
48+ thread.start() # run, forrest run
49
50 def tweet_streaming(self):
51 oauth_request = oauth.OAuthRequest.from_consumer_and_token(self.consumer,
52@@ -99,21 +100,21 @@
53
54 url = oauth_request.to_url()
55 req = urllib2.urlopen(url)
56-
57+
58 buffer = ''
59 while True:
60- chunk = req.read(1)
61+ chunk = req.read(1) # read character per character from the connection ...
62 if not chunk:
63 break
64
65 buffer += chunk
66- tweets = buffer.split("\n",1)
67+ tweets = buffer.split("\n",1) # ... until find the end of a tweet marked with a '\n'
68 if len(tweets) > 1:
69 content = tweets[0]
70 if "text" in content:
71 content = simplejson.loads(content)
72 logp("Received from Twitter Stream: %s" % content)
73- self.callback(content) # at the moment this method is called 'on_receive_new_tweet_callback'
74+ self.callback(content) # at the moment this method is called 'on_receive_new_tweet_callback'
75 buffer = tweets[1]
76
77 class TwitterAPI(API):
78@@ -125,7 +126,7 @@
79 self.direct_messages_url = 'https://api.twitter.com/1/direct_messages.json'
80 self.verify_credentials_url = 'https://api.twitter.com/1/account/verify_credentials.json'
81
82- def tweet(self, message): # popularly "send a tweet"
83+ def tweet(self, message): # popularly "send a tweet"
84 oauth_request = oauth.OAuthRequest.from_consumer_and_token(self.consumer,
85 token = self.access_token,
86 http_url = self.update_url,
87@@ -188,17 +189,20 @@
88 # TODO: Make available an "Animation" option upon a new tweet arrival
89 def on_receive_new_tweet_callback(self, tweet):
90 if not tweet['user']['screen_name'] == self.user.screen_name:
91- logp("Inserting new tweet on the stream Queue: %s" % tweet) # not sent by the own user
92- self.stream.put(tweet) # put the new tweet on the stream queue
93- self.icon.SetQuickInfo(str(self.stream.qsize())) # update the new tweets counter on the icon
94+ logp("Inserting new tweet on the stream Queue: %s" % tweet) # not sent by the own user
95+ self.stream.put(tweet) # put the new tweet on the stream queue
96+ self.emblem.update(self.stream.qsize()) # create the emblem with the counter
97+ self.icon.SetEmblem(self.emblem.emblem, CDApplet.EMBLEM_TOP_RIGHT + CDApplet.EMBLEM_PERSISTENT) # add emblem
98+ #self.icon.SetQuickInfo(str(self.stream.qsize())) # update the new tweets counter on the icon
99
100 def show_new_tweets(self):
101 self.inform_start_of_waiting_process()
102 message = ''
103- while not self.stream.empty(): # iterate on the stream composing the message
104+ while not self.stream.empty(): # iterate on the stream composing the message
105 tweet = self.stream.get()
106 message += "[<b>%s</b>] %s\n" % (tweet['user']['name'], tweet['text'])
107 dialog = {'use-markup':True}
108+ self.icon.SetEmblem("", CDApplet.EMBLEM_TOP_RIGHT) # erase emblem
109 self.inform_end_of_waiting_process()
110 self.show_popup_message(message, dialog)
111
112@@ -224,7 +228,7 @@
113 self.inform_end_of_waiting_process()
114 self.show_popup_message(message, dialog)
115
116- def tweet(self, message): # popularly "send a tweet"
117+ def tweet(self, message): # popularly "send a tweet"
118 self.inform_start_of_waiting_process()
119 self.api.update_status(message)
120 self.inform_end_of_waiting_process()
121@@ -241,7 +245,7 @@
122
123 def ask_for_tweet(self):
124 dialog = {'buttons':'ok;cancel'}
125- widget = {'widget-type':'text-entry', 'nb-chars':140} # 140 characters max, a tweet :)
126+ widget = {'widget-type':'text-entry', 'nb-chars':140} # 140 characters max, a tweet :)
127 self.show_popup_message((_("%s, send a tweet")) % self.user.screen_name, dialog, widget)
128 self.dialog_type = self.responding_tweet
129
130@@ -340,13 +344,14 @@
131
132 def __init__(self):
133 self.user = User()
134- self.user_file = os.path.abspath(os.path.join(os.getcwd(), '..','..','..','.twitter_users')) # ~/.config/.twitter_users
135+ self.user_file = os.path.abspath(os.path.join(os.getcwd(), '..','..','..','.twitter_users')) # ~/.config/.twitter_users
136 self.twitter_auth = TwitterOauth()
137 self.api = None
138 self.stream_api = None
139 (self.responding_screen_name, self.responding_authorization, self.responding_pin,
140 self.responding_success, self.responding_tweet, self.responding_initial_informations) = range(6)
141 self.dialog_type = None
142+ self.emblem = emblem.Emblem() # emblem maker, see emblem.py
143
144 self.direct_messages_menu_id = 1000
145 self.credentials_menu_id = 2000
146@@ -354,32 +359,29 @@
147
148 self.stream = Queue.Queue()
149
150- CDApplet.__init__(self) # call CDApplet interface init
151+ CDApplet.__init__(self) # call CDApplet interface init
152
153 # Inherited methods from CDApplet
154 def begin(self):
155 logp("Looking for user ...")
156- if not self.read_user_data(): # first time for the user
157+ if not self.read_user_data(): # first time for the user
158 logm("User not found")
159- self.show_initial_informations() # start the wizard
160- else: # user not found
161+ self.show_initial_informations() # start the wizard
162+ else: # user not found
163 logp("User '%s' found" % self.user.screen_name)
164- self.api = TwitterAPI(self.user.access_key, self.user.access_secret) # getting control over the api
165- self.stream_api = TwitterStreamAPI(self.user.access_key, self.user.access_secret, self.on_receive_new_tweet_callback) # setting the callback to receive the data of every entry on the stream
166-
167- #def end(self):
168- # TODO: Iterate over the array of threads and join them here
169-
170- # TODO: Fix it!
171- def reload(self):
172- self.read_user_data()
173+ self.api = TwitterAPI(self.user.access_key, self.user.access_secret) # getting control over the api
174+ # setting the callback to receive the data of every entry on the stream
175+ self.stream_api = TwitterStreamAPI(self.user.access_key, self.user.access_secret, self.on_receive_new_tweet_callback)
176+
177+ #def reload(self):
178+ #self.read_user_data()
179
180 # Callbacks
181 def on_answer_dialog(self, key, content):
182- if (key == 0 or key == -1): # ... and pressed Ok or Enter
183+ if (key == 0 or key == -1): # ... and pressed Ok or Enter
184 if self.dialog_type == self.responding_initial_informations:
185 self.ask_for_screen_name()
186- elif self.dialog_type == self.responding_screen_name: # user typed screen name ...
187+ elif self.dialog_type == self.responding_screen_name: # user typed screen name ...
188 logp("Receiving screen name '%s'" % content)
189 self.user.screen_name = content
190 self.ask_for_authorization()
191
192=== modified file 'Twitter/Twitter.conf'
193--- Twitter/Twitter.conf 2012-03-06 15:51:05 +0000
194+++ Twitter/Twitter.conf 2012-03-10 20:33:17 +0000
195@@ -1,4 +1,4 @@
196-#!en;0.1.1
197+#!en;0.1.2
198
199 #[gtk-about]
200 [Icon]
201
202=== modified file 'Twitter/auto-load.conf'
203--- Twitter/auto-load.conf 2012-03-06 15:51:05 +0000
204+++ Twitter/auto-load.conf 2012-03-10 20:33:17 +0000
205@@ -10,7 +10,7 @@
206 category = 3
207
208 # Version of the applet; change it everytime you change something in the config file. Don't forget to update the version both in this file and in the config file.
209-version = 0.1.1
210+version = 0.1.2
211
212 # Whether the applet can be instanciated several times or not.
213 multi-instance = true
214
215=== added file 'Twitter/emblem.py'
216--- Twitter/emblem.py 1970-01-01 00:00:00 +0000
217+++ Twitter/emblem.py 2012-03-10 20:33:17 +0000
218@@ -0,0 +1,214 @@
219+#!/usr/bin/env python
220+# -*- coding: utf-8 -*-
221+# This module is based on the svg_mod by benjamin <benjamin@vidya>
222+# This is a part of the external Twitter applet for Cairo-Dock
223+#
224+# Author: Eduardo Mucelli Rezende Oliveira
225+# E-mail: edumucelli@gmail.com or eduardom@dcc.ufmg.br
226+
227+import os
228+
229+class Emblem:
230+ def __init__(self):
231+ self.emblem = os.path.abspath(os.path.join(os.getcwd(), './emblem.svg'))
232+ self.counter = 0
233+
234+ def update(self, counter):
235+ self.counter = counter
236+ svg = open(self.emblem, 'w')
237+ svg.write(self.draw())
238+ svg.close()
239+
240+ def draw(self):
241+ emblem_string = """<?xml version="1.0" encoding="UTF-8" standalone="no"?>
242+<!-- Created with Inkscape (http://www.inkscape.org/) -->
243+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.0" width="39.983284" height="39.945618" id="svg2408" inkscape:version="0.48.0 r9654" sodipodi:docname="emblem.svg">
244+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1280" inkscape:window-height="748" id="namedview94" showgrid="false" inkscape:zoom="3.4546968" inkscape:cx="-27.204217" inkscape:cy="-10.241983" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer4" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:snap-bbox="true" inkscape:snap-page="true"/>
245+ <defs id="defs2410">
246+ <linearGradient id="linearGradient3942">
247+ <stop id="stop3944" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
248+ <stop id="stop3946" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
249+ </linearGradient>
250+ <linearGradient id="linearGradient3727">
251+ <stop id="stop3729" style="stop-color:#d5d5d5;stop-opacity:1" offset="0"/>
252+ <stop id="stop3731" style="stop-color:#f1f1f1;stop-opacity:1" offset="1"/>
253+ </linearGradient>
254+ <linearGradient id="linearGradient3641">
255+ <stop id="stop3643" style="stop-color:#000000;stop-opacity:1" offset="0"/>
256+ <stop id="stop3645" style="stop-color:#000000;stop-opacity:0" offset="1"/>
257+ </linearGradient>
258+ <linearGradient x1="45.447727" y1="92.539597" x2="45.447727" y2="7.0165396" id="ButtonShadow" gradientUnits="userSpaceOnUse" gradientTransform="scale(1.0058652,0.994169)">
259+ <stop id="stop3750" style="stop-color:#000000;stop-opacity:1" offset="0"/>
260+ <stop id="stop3752" style="stop-color:#000000;stop-opacity:0.58823532" offset="1"/>
261+ </linearGradient>
262+ <linearGradient id="linearGradient3737">
263+ <stop id="stop3739" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
264+ <stop id="stop3741" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
265+ </linearGradient>
266+ <linearGradient id="linearGradient3700">
267+ <stop id="stop3702" style="stop-color:#dcdcdc;stop-opacity:1" offset="0"/>
268+ <stop id="stop3704" style="stop-color:#f0f0f0;stop-opacity:1" offset="1"/>
269+ </linearGradient>
270+ <filter color-interpolation-filters="sRGB" id="filter3174">
271+ <feGaussianBlur id="feGaussianBlur3176" stdDeviation="1.71"/>
272+ </filter>
273+ <filter x="-0.192" y="-0.192" width="1.3839999" height="1.3839999" color-interpolation-filters="sRGB" id="filter3794">
274+ <feGaussianBlur id="feGaussianBlur3796" stdDeviation="5.28"/>
275+ </filter>
276+ <linearGradient x1="48" y1="20.220806" x2="48" y2="138.66119" id="linearGradient3613" xlink:href="#linearGradient3737" gradientUnits="userSpaceOnUse"/>
277+ <radialGradient cx="48" cy="90.171875" r="42" fx="48" fy="90.171875" id="radialGradient3619" xlink:href="#linearGradient3737" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1573129,0,0,0.99590774,-7.5510206,0.19713193)"/>
278+ <clipPath id="clipPath3613">
279+ <rect width="84" height="84" rx="6" ry="6" x="6" y="6" id="rect3615" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
280+ </clipPath>
281+ <linearGradient x1="48" y1="88" x2="48" y2="32" id="linearGradient3627" xlink:href="#linearGradient3700" gradientUnits="userSpaceOnUse"/>
282+ <linearGradient x1="48" y1="88" x2="48" y2="36" id="linearGradient3635" xlink:href="#linearGradient3727" gradientUnits="userSpaceOnUse"/>
283+ <filter color-interpolation-filters="sRGB" id="filter3649">
284+ <feGaussianBlur id="feGaussianBlur3651" stdDeviation="1.38"/>
285+ </filter>
286+ <filter color-interpolation-filters="sRGB" id="filter3665">
287+ <feGaussianBlur id="feGaussianBlur3667" stdDeviation="0.69"/>
288+ </filter>
289+ <linearGradient x1="36.357143" y1="6" x2="36.357143" y2="63.893143" id="linearGradient3687" xlink:href="#linearGradient3737" gradientUnits="userSpaceOnUse"/>
290+ <linearGradient x1="48" y1="90" x2="48" y2="5.9877172" id="linearGradient3689" xlink:href="#linearGradient3700" gradientUnits="userSpaceOnUse"/>
291+ <clipPath id="clipPath3696">
292+ <rect width="84" height="84" rx="6" ry="6" x="106" y="6" id="rect3698" style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
293+ </clipPath>
294+ <linearGradient x1="48" y1="32" x2="48" y2="80" id="linearGradient3701" xlink:href="#linearGradient3641" gradientUnits="userSpaceOnUse" gradientTransform="translate(100,0)"/>
295+ <clipPath id="clipPath3703">
296+ <rect width="84" height="84" rx="6" ry="6" x="106" y="6" id="rect3705" style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
297+ </clipPath>
298+ <linearGradient x1="51" y1="62" x2="51" y2="21" id="linearGradient3707" xlink:href="#linearGradient3641" gradientUnits="userSpaceOnUse" gradientTransform="translate(100,-1)"/>
299+ <linearGradient id="linearGradient3737-3">
300+ <stop id="stop3739-5" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
301+ <stop id="stop3741-7" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
302+ </linearGradient>
303+ <radialGradient cx="48" cy="90.171875" r="42" fx="48" fy="90.171875" id="radialGradient2858" xlink:href="#linearGradient3737-3" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1573129,0,0,0.99590774,-7.551021,0.1971319)"/>
304+ <linearGradient x1="45.447727" y1="92.539597" x2="45.447727" y2="7.0165396" id="ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0058652,0,0,0.994169,100,0)">
305+ <stop id="stop3750-8" style="stop-color:#000000;stop-opacity:1" offset="0"/>
306+ <stop id="stop3752-5" style="stop-color:#000000;stop-opacity:0.58823532" offset="1"/>
307+ </linearGradient>
308+ <linearGradient x1="32.251034" y1="6.1317081" x2="32.251034" y2="90.238609" id="linearGradient3780" xlink:href="#ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)"/>
309+ <linearGradient x1="32.251034" y1="6.1317081" x2="32.251034" y2="90.238609" id="linearGradient3772" xlink:href="#ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)"/>
310+ <linearGradient x1="32.251034" y1="6.1317081" x2="32.251034" y2="90.238609" id="linearGradient3725" xlink:href="#ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)"/>
311+ <linearGradient x1="32.251034" y1="6.1317081" x2="32.251034" y2="90.238609" id="linearGradient3721" xlink:href="#ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="translate(0,-97)"/>
312+ <linearGradient x1="32.251034" y1="6.1317081" x2="32.251034" y2="90.238609" id="linearGradient2918" xlink:href="#ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)"/>
313+ <linearGradient id="linearGradient3801">
314+ <stop id="stop3803" style="stop-color:#a4d620;stop-opacity:1" offset="0"/>
315+ <stop id="stop3805" style="stop-color:#62a915;stop-opacity:1" offset="1"/>
316+ </linearGradient>
317+ <linearGradient x1="45.298355" y1="72.618279" x2="79.622185" y2="72.618279" id="linearGradient3915" xlink:href="#linearGradient3801" gradientUnits="userSpaceOnUse"/>
318+ <linearGradient x1="68" y1="52" x2="68" y2="84" id="linearGradient3948" xlink:href="#linearGradient3942" gradientUnits="userSpaceOnUse"/>
319+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3942-7" id="linearGradient3948-1" y2="84" x2="68" y1="52" x1="68"/>
320+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3801-9" id="linearGradient3915-7" y2="72.618279" x2="79.622185" y1="72.618279" x1="45.298355"/>
321+ <linearGradient id="linearGradient3801-9">
322+ <stop offset="0" style="stop-color:#a4d620;stop-opacity:1" id="stop3803-1"/>
323+ <stop offset="1" style="stop-color:#62a915;stop-opacity:1" id="stop3805-7"/>
324+ </linearGradient>
325+ <linearGradient gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" gradientUnits="userSpaceOnUse" xlink:href="#ButtonShadow-0-0" id="linearGradient2918-0" y2="90.238609" x2="32.251034" y1="6.1317081" x1="32.251034"/>
326+ <linearGradient gradientTransform="translate(0,-97)" gradientUnits="userSpaceOnUse" xlink:href="#ButtonShadow-0-0" id="linearGradient3721-9" y2="90.238609" x2="32.251034" y1="6.1317081" x1="32.251034"/>
327+ <linearGradient gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" gradientUnits="userSpaceOnUse" xlink:href="#ButtonShadow-0-0" id="linearGradient3725-4" y2="90.238609" x2="32.251034" y1="6.1317081" x1="32.251034"/>
328+ <linearGradient gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" gradientUnits="userSpaceOnUse" xlink:href="#ButtonShadow-0-0" id="linearGradient3772-9" y2="90.238609" x2="32.251034" y1="6.1317081" x1="32.251034"/>
329+ <linearGradient gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" gradientUnits="userSpaceOnUse" xlink:href="#ButtonShadow-0-0" id="linearGradient3780-5" y2="90.238609" x2="32.251034" y1="6.1317081" x1="32.251034"/>
330+ <linearGradient gradientTransform="matrix(1.0058652,0,0,0.994169,100,0)" gradientUnits="userSpaceOnUse" id="ButtonShadow-0-0" y2="7.0165396" x2="45.447727" y1="92.539597" x1="45.447727">
331+ <stop offset="0" style="stop-color:#000000;stop-opacity:1" id="stop3750-8-6"/>
332+ <stop offset="1" style="stop-color:#000000;stop-opacity:0.58823532" id="stop3752-5-1"/>
333+ </linearGradient>
334+ <radialGradient gradientTransform="matrix(1.1573129,0,0,0.99590774,-7.551021,0.1971319)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3737-3-2" id="radialGradient2858-1" fy="90.171875" fx="48" r="42" cy="90.171875" cx="48"/>
335+ <linearGradient id="linearGradient3737-3-2">
336+ <stop offset="0" style="stop-color:#ffffff;stop-opacity:1" id="stop3739-5-2"/>
337+ <stop offset="1" style="stop-color:#ffffff;stop-opacity:0" id="stop3741-7-6"/>
338+ </linearGradient>
339+ <linearGradient gradientTransform="translate(100,-1)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3641-7" id="linearGradient3707-7" y2="21" x2="51" y1="62" x1="51"/>
340+ <clipPath id="clipPath3703-7">
341+ <rect style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="rect3705-2" y="6" x="106" ry="6" rx="6" height="84" width="84"/>
342+ </clipPath>
343+ <linearGradient gradientTransform="translate(100,0)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3641-7" id="linearGradient3701-1" y2="80" x2="48" y1="32" x1="48"/>
344+ <clipPath id="clipPath3696-8">
345+ <rect style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="rect3698-7" y="6" x="106" ry="6" rx="6" height="84" width="84"/>
346+ </clipPath>
347+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3700-8" id="linearGradient3689-4" y2="5.9877172" x2="48" y1="90" x1="48"/>
348+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3737-8" id="linearGradient3687-0" y2="63.893143" x2="36.357143" y1="6" x1="36.357143"/>
349+ <filter id="filter3665-9" color-interpolation-filters="sRGB">
350+ <feGaussianBlur stdDeviation="0.69" id="feGaussianBlur3667-5"/>
351+ </filter>
352+ <filter id="filter3649-6" color-interpolation-filters="sRGB">
353+ <feGaussianBlur stdDeviation="1.38" id="feGaussianBlur3651-4"/>
354+ </filter>
355+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3727-2" id="linearGradient3635-6" y2="36" x2="48" y1="88" x1="48"/>
356+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3700-8" id="linearGradient3627-2" y2="32" x2="48" y1="88" x1="48"/>
357+ <clipPath id="clipPath3613-8">
358+ <rect style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="rect3615-9" y="6" x="6" ry="6" rx="6" height="84" width="84"/>
359+ </clipPath>
360+ <radialGradient gradientTransform="matrix(1.1573129,0,0,0.99590774,-7.5510206,0.19713193)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3737-8" id="radialGradient3619-6" fy="90.171875" fx="48" r="42" cy="90.171875" cx="48"/>
361+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3737-8" id="linearGradient3613-0" y2="138.66119" x2="48" y1="20.220806" x1="48"/>
362+ <filter id="filter3794-9" color-interpolation-filters="sRGB" height="1.3839999" width="1.3839999" y="-0.192" x="-0.192">
363+ <feGaussianBlur stdDeviation="5.28" id="feGaussianBlur3796-2"/>
364+ </filter>
365+ <filter id="filter3174-1" color-interpolation-filters="sRGB">
366+ <feGaussianBlur stdDeviation="1.71" id="feGaussianBlur3176-4"/>
367+ </filter>
368+ <linearGradient id="linearGradient3700-8">
369+ <stop offset="0" style="stop-color:#dcdcdc;stop-opacity:1" id="stop3702-4"/>
370+ <stop offset="1" style="stop-color:#f0f0f0;stop-opacity:1" id="stop3704-3"/>
371+ </linearGradient>
372+ <linearGradient id="linearGradient3737-8">
373+ <stop offset="0" style="stop-color:#ffffff;stop-opacity:1" id="stop3739-6"/>
374+ <stop offset="1" style="stop-color:#ffffff;stop-opacity:0" id="stop3741-8"/>
375+ </linearGradient>
376+ <linearGradient gradientTransform="scale(1.0058652,0.994169)" gradientUnits="userSpaceOnUse" id="ButtonShadow-3" y2="7.0165396" x2="45.447727" y1="92.539597" x1="45.447727">
377+ <stop offset="0" style="stop-color:#000000;stop-opacity:1" id="stop3750-0"/>
378+ <stop offset="1" style="stop-color:#000000;stop-opacity:0.58823532" id="stop3752-7"/>
379+ </linearGradient>
380+ <linearGradient id="linearGradient3641-7">
381+ <stop offset="0" style="stop-color:#000000;stop-opacity:1" id="stop3643-4"/>
382+ <stop offset="1" style="stop-color:#000000;stop-opacity:0" id="stop3645-4"/>
383+ </linearGradient>
384+ <linearGradient id="linearGradient3727-2">
385+ <stop offset="0" style="stop-color:#d5d5d5;stop-opacity:1" id="stop3729-5"/>
386+ <stop offset="1" style="stop-color:#f1f1f1;stop-opacity:1" id="stop3731-4"/>
387+ </linearGradient>
388+ <linearGradient id="linearGradient3942-7">
389+ <stop offset="0" style="stop-color:#ffffff;stop-opacity:1" id="stop3944-4"/>
390+ <stop offset="1" style="stop-color:#ffffff;stop-opacity:0" id="stop3946-5"/>
391+ </linearGradient>
392+ <linearGradient inkscape:collect="always" xlink:href="#ButtonShadow-3" id="linearGradient3250" gradientUnits="userSpaceOnUse" gradientTransform="scale(1.0058652,0.994169)" x1="45.447727" y1="92.539597" x2="45.447727" y2="7.0165396"/>
393+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient3801-9" id="linearGradient3252" gradientUnits="userSpaceOnUse" x1="45.298355" y1="72.618279" x2="79.622185" y2="72.618279"/>
394+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient3942-7" id="linearGradient3254" gradientUnits="userSpaceOnUse" x1="68" y1="52" x2="68" y2="84"/>
395+ </defs>
396+ <metadata id="metadata2413">
397+ <rdf:RDF>
398+ <cc:Work rdf:about="">
399+ <dc:format>image/svg+xml</dc:format>
400+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
401+ <dc:title/>
402+ </cc:Work>
403+ </rdf:RDF>
404+ </metadata>
405+ <g id="layer2" style="display:none" transform="translate(-176.03343,-51.028478)">
406+ <rect width="86" height="85" rx="6" ry="6" x="5" y="7" id="rect3745" style="opacity:0.9;fill:url(#ButtonShadow);fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3174)"/>
407+ </g>
408+ <g id="layer4" transform="translate(-50.007625,-51.028478)">
409+ <g id="g3234" transform="matrix(0.68115941,0,0,0.68115941,28.692755,16.26995)">
410+ <path style="opacity:0.1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3960" inkscape:connector-curvature="0" d="m 89.986349,69.238985 c -0.21488,-1.561093 -1.973583,-1.971086 -3.08095,-2.785965 0.452305,-1.002477 1.307299,-1.880744 1.442147,-2.982622 0.09844,-1.212445 -1.013508,-2.114893 -2.161243,-2.135756 -0.574938,-0.191984 -1.529962,-0.121132 -1.883184,-0.466436 0.105461,-1.303923 0.927598,-2.804937 -0.05258,-3.95302 -0.907896,-1.060888 -2.339545,-0.509432 -3.503632,-0.325674 -0.950635,0.504422 -0.81239,-0.565783 -0.973216,-1.2035 -0.130627,-1.071533 -0.401383,-2.422333 -1.652276,-2.666162 -1.269606,-0.351715 -2.257329,0.785416 -3.345553,1.248885 -0.564682,0.197811 -0.761585,-1.032508 -1.178359,-1.409042 -0.426005,-1.011804 -1.521655,-1.848863 -2.654045,-1.413094 -1.095119,0.436651 -1.63445,1.627605 -2.458205,2.425428 -0.973647,-0.65486 -1.72467,-1.7847 -2.91707,-1.99934 -1.243767,-0.181639 -2.134633,0.905175 -2.372989,2.019516 -0.345055,0.444832 -0.243497,1.842522 -1.003052,1.403006 -1.213096,-0.355405 -2.631658,-1.302577 -3.801916,-0.341572 -1.164288,0.944179 -0.641361,2.603822 -0.785903,3.912444 -1.186176,0.269467 -2.880347,-0.340038 -3.868298,0.741757 -1.026659,1.143887 -0.143349,2.597452 0.237559,3.813095 0.487992,0.76899 -0.891072,0.672735 -1.319748,1.016916 -1.098052,0.268634 -2.195073,1.121664 -2.064313,2.380723 0.249354,1.192288 1.335753,1.97237 1.99934,2.949845 -0.871859,0.915157 -2.269562,1.493314 -2.556533,2.818742 -0.186067,1.142981 0.709312,1.986005 1.663193,2.403037 0.374257,0.418594 1.762649,0.565214 1.196802,1.235928 -0.585967,1.153839 -1.765734,2.450576 -0.926208,3.768425 0.810341,1.207354 2.476744,0.956157 3.736472,1.311043 -0.08576,1.227497 -0.781478,2.521328 -0.229433,3.703695 0.526899,1.071756 1.844115,1.213477 2.87647,0.879241 0.560732,0.07218 1.729076,-0.722239 1.724808,0.155757 0.28962,1.207178 0.140911,2.908592 1.527846,3.422546 1.38487,0.596205 2.576146,-0.697698 3.773565,-1.225564 0.454783,0.276534 0.742145,1.177337 1.132089,1.695641 0.455828,1.285443 2.259105,1.820804 3.255585,0.80819 0.610876,-0.645848 1.17573,-1.360459 1.769908,-2.032116 1.070537,0.696774 1.92142,2.036743 3.310382,1.999339 1.284689,-0.0939 1.81764,-1.335721 2.151522,-2.404812 0.206115,-0.763429 0.45194,-1.441171 1.291319,-0.838121 1.079697,0.400421 2.40691,1.016712 3.407356,0.09643 1.036768,-1.007403 0.54752,-2.574581 0.688297,-3.867575 1.24572,-0.135375 2.670869,0.29881 3.736472,-0.524417 0.936001,-0.804307 0.694064,-2.129136 0.219537,-3.122161 -0.129526,-0.619425 -0.912001,-1.544893 0.15361,-1.604149 1.111548,-0.448238 2.718145,-0.69704 2.904459,-2.123887 0.293747,-1.438242 -1.158981,-2.317711 -1.863365,-3.381883 -0.0012,-0.497479 0.978512,-0.910082 1.354831,-1.374896 0.68176,-0.486375 1.154931,-1.160958 1.098503,-2.027866 z"/>
411+ <path inkscape:connector-curvature="0" style="opacity:0.15;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3956" transform="matrix(0,1.048834,-1.048834,0,146.16452,5.4895435)" d="m 60.9375,54.59375 a 0.86264402,0.86264402 0 0 0 -0.71875,0.4375 L 58.5,57.875 55.625,56.25 a 0.86264402,0.86264402 0 0 0 -1.28125,0.59375 l -0.625,3.3125 -3.28125,-0.5625 a 0.86264402,0.86264402 0 0 0 -1,1 L 50,63.875 46.6875,64.5 a 0.86264402,0.86264402 0 0 0 -0.59375,1.28125 l 1.625,2.875 L 44.875,70.375 A 0.86264402,0.86264402 0 0 0 44.75,71.78125 L 47.25,73.9375 45.15625,76.5 A 0.86264402,0.86264402 0 0 0 45.5,77.875 l 3.15625,1.1875 -1.125,3.15625 a 0.86264402,0.86264402 0 0 0 0.8125,1.15625 l 3.3125,0.03125 0.0625,3.3125 a 0.86264402,0.86264402 0 0 0 1.15625,0.8125 L 56,86.4375 l 1.1875,3.125 a 0.86264402,0.86264402 0 0 0 1.34375,0.34375 l 2.59375,-2.125 2.1875,2.5625 a 0.86264402,0.86264402 0 0 0 1.40625,-0.125 l 1.6875,-2.875 2.9375,1.625 a 0.86264402,0.86264402 0 0 0 1.25,-0.59375 l 0.59375,-3.28125 3.3125,0.5625 a 0.86264402,0.86264402 0 0 0 1,-1 L 74.9375,81.34375 78.21875,80.75 A 0.86264402,0.86264402 0 0 0 78.8125,79.5 l -1.625,-2.9375 2.875,-1.6875 a 0.86264402,0.86264402 0 0 0 0.125,-1.40625 L 77.625,71.28125 79.75,68.6875 a 0.86264402,0.86264402 0 0 0 -0.34375,-1.34375 l -3.125,-1.1875 1.09375,-3.125 A 0.86264402,0.86264402 0 0 0 76.5625,61.875 L 73.25,61.8125 73.21875,58.5 A 0.86264402,0.86264402 0 0 0 72.0625,57.6875 l -3.15625,1.125 -1.1875,-3.15625 a 0.86264402,0.86264402 0 0 0 -1.375,-0.34375 l -2.5625,2.09375 -2.15625,-2.5 a 0.86264402,0.86264402 0 0 0 -0.6875,-0.3125 z"/>
412+ <path inkscape:connector-curvature="0" style="opacity:0.3;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3950" transform="matrix(0,1.048834,-1.048834,0,146.16452,5.4895435)" d="m 74.641931,84.79994 -4.128425,-0.680449 -0.772592,4.112178 -3.646724,-2.051417 -2.132447,3.599941 -2.725174,-3.174954 -3.235096,2.653498 -1.474928,-3.915545 -3.947546,1.387004 -0.04678,-4.183864 -4.183864,-0.04678 1.387005,-3.947547 -3.915546,-1.474927 2.653499,-3.235097 -3.174955,-2.725173 3.599941,-2.132447 -2.051417,-3.646724 4.112178,-0.772592 -0.680448,-4.128426 4.128425,0.680449 0.772592,-4.112178 3.646724,2.051417 2.132447,-3.599941 2.725173,3.174954 3.235097,-2.653498 1.474927,3.915545 3.947547,-1.387004 0.04678,4.183864 4.183863,0.04678 -1.387004,3.947547 3.915545,1.474927 -2.653498,3.235097 3.174955,2.725173 -3.599942,2.132447 2.051418,3.646724 -4.112178,0.772592 z"/>
413+ <path transform="matrix(0,1.048834,-1.048834,0,146.16452,4.4895435)" inkscape:connector-curvature="0" style="color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3139" d="m 74.641931,84.79994 -4.128425,-0.680449 -0.772592,4.112178 -3.646724,-2.051417 -2.132447,3.599941 -2.725174,-3.174954 -3.235096,2.653498 -1.474928,-3.915545 -3.947546,1.387004 -0.04678,-4.183864 -4.183864,-0.04678 1.387005,-3.947547 -3.915546,-1.474927 2.653499,-3.235097 -3.174955,-2.725173 3.599941,-2.132447 -2.051417,-3.646724 4.112178,-0.772592 -0.680448,-4.128426 4.128425,0.680449 0.772592,-4.112178 3.646724,2.051417 2.132447,-3.599941 2.725173,3.174954 3.235097,-2.653498 1.474927,3.915545 3.947547,-1.387004 0.04678,4.183864 4.183863,0.04678 -1.387004,3.947547 3.915545,1.474927 -2.653498,3.235097 3.174955,2.725173 -3.599942,2.132447 2.051418,3.646724 -4.112178,0.772592 z"/>
414+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:-1.32000005px;writing-mode:lr-tb;text-anchor:start;opacity:0.15;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" x="59.530632" y="77.325226" id="text3856" sodipodi:linespacing="125%" transform="scale(0.9999961,1.0000039)">
415+ <tspan sodipodi:role="line" id="tspan3858" x="59.530632" y="77.325226" style="font-size:16px;font-weight:bold;letter-spacing:-1.32000005px;fill:#000000;-inkscape-font-specification:Sans Bold">{0}</tspan>
416+ </text>
417+ <path style="opacity:0;fill:#000000;stroke:none;display:inline" id="path3919" inkscape:connector-curvature="0" d="m 60,72 4,-4 4,4 8,-8 4,4 -12,12 -8,-8 z"/>
418+ <path style="opacity:0.6;color:#000000;fill:url(#linearGradient3948);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3933" inkscape:connector-curvature="0" d="M 71.5625,52 68.71875,55.34375 65.3125,52.5625 63.78125,56.65625 59.625,55.1875 l 0,1 4.15625,1.46875 1.53125,-4.09375 3.40625,2.78125 L 71.5625,53 73.8125,56.78125 77.625,54.625 78.4375,58.9375 82.625,58.25 82.78125,57.21875 78.4375,57.9375 77.625,53.625 73.8125,55.78125 71.5625,52 z m -11.96875,7.59375 -4.40625,0.03125 0.34375,1 4.0625,-0.03125 0,-1 z m 22.625,2 -0.15625,0.96875 3.8125,0.71875 0.5,-0.90625 -4.15625,-0.78125 z m -25.875,2.3125 -3.78125,1.40625 0.625,0.78125 3.46875,-1.3125 -0.3125,-0.875 z m 28.3125,2.53125 -0.4375,0.75 3.09375,1.84375 L 88,68.4375 l -3.34375,-2 z M 54.875,69.125 52,71.5625 l 0.6875,0.40625 2.65625,-2.25 L 54.875,69.125 z m 30.25,2.75 -0.46875,0.40625 2.15625,2.625 0.625,-0.21875 -2.3125,-2.8125 z m -29.78125,2.6875 -1.71875,3.0625 0.5,0.09375 1.65625,-2.90625 -0.4375,-0.25 z m 28.3125,2.53125 -0.3125,0.125 1.125,3.15625 0.34375,0 -1.15625,-3.28125 z m -25.875,2.3125 -0.5625,3.375 L 57.375,82.75 57.9375,79.4375 57.78125,79.40625 z"/>
419+ <text xml:space="preserve" style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.3;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" x="60.261475" y="76.597481" id="text3074" sodipodi:linespacing="125%">
420+ <tspan sodipodi:role="line" id="tspan3076" x="60.261475" y="76.597481" style="font-size:14px;fill:#000000">{0}</tspan>
421+ </text>
422+ <text transform="scale(0.9999961,1.0000039)" sodipodi:linespacing="125%" id="text3852" y="78.053253" x="58.71452" style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:-1.32000005px;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" xml:space="preserve">
423+ <tspan style="font-size:18px;font-weight:bold;letter-spacing:-2.47000003px;fill:#000000;-inkscape-font-specification:Sans Bold" y="78.053253" x="58.71452" id="tspan3854" sodipodi:role="line">{0}</tspan>
424+ </text>
425+ <text sodipodi:linespacing="125%" id="text3070" y="76.097481" x="60.261475" style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" xml:space="preserve">
426+ <tspan style="font-size:14px;fill:#ffffff" y="76.097481" x="60.261475" id="tspan3072" sodipodi:role="line">{0}</tspan>
427+ </text>
428+ </g>
429+ </g>
430+</svg>"""
431+ formated_counter = str('%02d' % self.counter)
432+ return emblem_string.format(formated_counter) # replaces the '{0}' on the triple-quoted http://stackoverflow.com/questions/3877623/in-python-can-you-have-variables-within-triple-quotes-if-so-how
433
434=== added file 'Twitter/emblem.svg'
435--- Twitter/emblem.svg 1970-01-01 00:00:00 +0000
436+++ Twitter/emblem.svg 2012-03-10 20:33:17 +0000
437@@ -0,0 +1,190 @@
438+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
439+<!-- Created with Inkscape (http://www.inkscape.org/) -->
440+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.0" width="39.983284" height="39.945618" id="svg2408" inkscape:version="0.48.0 r9654" sodipodi:docname="emblem.svg">
441+ <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1280" inkscape:window-height="748" id="namedview94" showgrid="false" inkscape:zoom="3.4546968" inkscape:cx="-27.204217" inkscape:cy="-10.241983" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer4" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:snap-bbox="true" inkscape:snap-page="true"/>
442+ <defs id="defs2410">
443+ <linearGradient id="linearGradient3942">
444+ <stop id="stop3944" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
445+ <stop id="stop3946" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
446+ </linearGradient>
447+ <linearGradient id="linearGradient3727">
448+ <stop id="stop3729" style="stop-color:#d5d5d5;stop-opacity:1" offset="0"/>
449+ <stop id="stop3731" style="stop-color:#f1f1f1;stop-opacity:1" offset="1"/>
450+ </linearGradient>
451+ <linearGradient id="linearGradient3641">
452+ <stop id="stop3643" style="stop-color:#000000;stop-opacity:1" offset="0"/>
453+ <stop id="stop3645" style="stop-color:#000000;stop-opacity:0" offset="1"/>
454+ </linearGradient>
455+ <linearGradient x1="45.447727" y1="92.539597" x2="45.447727" y2="7.0165396" id="ButtonShadow" gradientUnits="userSpaceOnUse" gradientTransform="scale(1.0058652,0.994169)">
456+ <stop id="stop3750" style="stop-color:#000000;stop-opacity:1" offset="0"/>
457+ <stop id="stop3752" style="stop-color:#000000;stop-opacity:0.58823532" offset="1"/>
458+ </linearGradient>
459+ <linearGradient id="linearGradient3737">
460+ <stop id="stop3739" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
461+ <stop id="stop3741" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
462+ </linearGradient>
463+ <linearGradient id="linearGradient3700">
464+ <stop id="stop3702" style="stop-color:#dcdcdc;stop-opacity:1" offset="0"/>
465+ <stop id="stop3704" style="stop-color:#f0f0f0;stop-opacity:1" offset="1"/>
466+ </linearGradient>
467+ <filter color-interpolation-filters="sRGB" id="filter3174">
468+ <feGaussianBlur id="feGaussianBlur3176" stdDeviation="1.71"/>
469+ </filter>
470+ <filter x="-0.192" y="-0.192" width="1.3839999" height="1.3839999" color-interpolation-filters="sRGB" id="filter3794">
471+ <feGaussianBlur id="feGaussianBlur3796" stdDeviation="5.28"/>
472+ </filter>
473+ <linearGradient x1="48" y1="20.220806" x2="48" y2="138.66119" id="linearGradient3613" xlink:href="#linearGradient3737" gradientUnits="userSpaceOnUse"/>
474+ <radialGradient cx="48" cy="90.171875" r="42" fx="48" fy="90.171875" id="radialGradient3619" xlink:href="#linearGradient3737" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1573129,0,0,0.99590774,-7.5510206,0.19713193)"/>
475+ <clipPath id="clipPath3613">
476+ <rect width="84" height="84" rx="6" ry="6" x="6" y="6" id="rect3615" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
477+ </clipPath>
478+ <linearGradient x1="48" y1="88" x2="48" y2="32" id="linearGradient3627" xlink:href="#linearGradient3700" gradientUnits="userSpaceOnUse"/>
479+ <linearGradient x1="48" y1="88" x2="48" y2="36" id="linearGradient3635" xlink:href="#linearGradient3727" gradientUnits="userSpaceOnUse"/>
480+ <filter color-interpolation-filters="sRGB" id="filter3649">
481+ <feGaussianBlur id="feGaussianBlur3651" stdDeviation="1.38"/>
482+ </filter>
483+ <filter color-interpolation-filters="sRGB" id="filter3665">
484+ <feGaussianBlur id="feGaussianBlur3667" stdDeviation="0.69"/>
485+ </filter>
486+ <linearGradient x1="36.357143" y1="6" x2="36.357143" y2="63.893143" id="linearGradient3687" xlink:href="#linearGradient3737" gradientUnits="userSpaceOnUse"/>
487+ <linearGradient x1="48" y1="90" x2="48" y2="5.9877172" id="linearGradient3689" xlink:href="#linearGradient3700" gradientUnits="userSpaceOnUse"/>
488+ <clipPath id="clipPath3696">
489+ <rect width="84" height="84" rx="6" ry="6" x="106" y="6" id="rect3698" style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
490+ </clipPath>
491+ <linearGradient x1="48" y1="32" x2="48" y2="80" id="linearGradient3701" xlink:href="#linearGradient3641" gradientUnits="userSpaceOnUse" gradientTransform="translate(100,0)"/>
492+ <clipPath id="clipPath3703">
493+ <rect width="84" height="84" rx="6" ry="6" x="106" y="6" id="rect3705" style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
494+ </clipPath>
495+ <linearGradient x1="51" y1="62" x2="51" y2="21" id="linearGradient3707" xlink:href="#linearGradient3641" gradientUnits="userSpaceOnUse" gradientTransform="translate(100,-1)"/>
496+ <linearGradient id="linearGradient3737-3">
497+ <stop id="stop3739-5" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
498+ <stop id="stop3741-7" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
499+ </linearGradient>
500+ <radialGradient cx="48" cy="90.171875" r="42" fx="48" fy="90.171875" id="radialGradient2858" xlink:href="#linearGradient3737-3" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1573129,0,0,0.99590774,-7.551021,0.1971319)"/>
501+ <linearGradient x1="45.447727" y1="92.539597" x2="45.447727" y2="7.0165396" id="ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0058652,0,0,0.994169,100,0)">
502+ <stop id="stop3750-8" style="stop-color:#000000;stop-opacity:1" offset="0"/>
503+ <stop id="stop3752-5" style="stop-color:#000000;stop-opacity:0.58823532" offset="1"/>
504+ </linearGradient>
505+ <linearGradient x1="32.251034" y1="6.1317081" x2="32.251034" y2="90.238609" id="linearGradient3780" xlink:href="#ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)"/>
506+ <linearGradient x1="32.251034" y1="6.1317081" x2="32.251034" y2="90.238609" id="linearGradient3772" xlink:href="#ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)"/>
507+ <linearGradient x1="32.251034" y1="6.1317081" x2="32.251034" y2="90.238609" id="linearGradient3725" xlink:href="#ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)"/>
508+ <linearGradient x1="32.251034" y1="6.1317081" x2="32.251034" y2="90.238609" id="linearGradient3721" xlink:href="#ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="translate(0,-97)"/>
509+ <linearGradient x1="32.251034" y1="6.1317081" x2="32.251034" y2="90.238609" id="linearGradient2918" xlink:href="#ButtonShadow-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)"/>
510+ <linearGradient id="linearGradient3801">
511+ <stop id="stop3803" style="stop-color:#a4d620;stop-opacity:1" offset="0"/>
512+ <stop id="stop3805" style="stop-color:#62a915;stop-opacity:1" offset="1"/>
513+ </linearGradient>
514+ <linearGradient x1="45.298355" y1="72.618279" x2="79.622185" y2="72.618279" id="linearGradient3915" xlink:href="#linearGradient3801" gradientUnits="userSpaceOnUse"/>
515+ <linearGradient x1="68" y1="52" x2="68" y2="84" id="linearGradient3948" xlink:href="#linearGradient3942" gradientUnits="userSpaceOnUse"/>
516+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3942-7" id="linearGradient3948-1" y2="84" x2="68" y1="52" x1="68"/>
517+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3801-9" id="linearGradient3915-7" y2="72.618279" x2="79.622185" y1="72.618279" x1="45.298355"/>
518+ <linearGradient id="linearGradient3801-9">
519+ <stop offset="0" style="stop-color:#a4d620;stop-opacity:1" id="stop3803-1"/>
520+ <stop offset="1" style="stop-color:#62a915;stop-opacity:1" id="stop3805-7"/>
521+ </linearGradient>
522+ <linearGradient gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" gradientUnits="userSpaceOnUse" xlink:href="#ButtonShadow-0-0" id="linearGradient2918-0" y2="90.238609" x2="32.251034" y1="6.1317081" x1="32.251034"/>
523+ <linearGradient gradientTransform="translate(0,-97)" gradientUnits="userSpaceOnUse" xlink:href="#ButtonShadow-0-0" id="linearGradient3721-9" y2="90.238609" x2="32.251034" y1="6.1317081" x1="32.251034"/>
524+ <linearGradient gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" gradientUnits="userSpaceOnUse" xlink:href="#ButtonShadow-0-0" id="linearGradient3725-4" y2="90.238609" x2="32.251034" y1="6.1317081" x1="32.251034"/>
525+ <linearGradient gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" gradientUnits="userSpaceOnUse" xlink:href="#ButtonShadow-0-0" id="linearGradient3772-9" y2="90.238609" x2="32.251034" y1="6.1317081" x1="32.251034"/>
526+ <linearGradient gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" gradientUnits="userSpaceOnUse" xlink:href="#ButtonShadow-0-0" id="linearGradient3780-5" y2="90.238609" x2="32.251034" y1="6.1317081" x1="32.251034"/>
527+ <linearGradient gradientTransform="matrix(1.0058652,0,0,0.994169,100,0)" gradientUnits="userSpaceOnUse" id="ButtonShadow-0-0" y2="7.0165396" x2="45.447727" y1="92.539597" x1="45.447727">
528+ <stop offset="0" style="stop-color:#000000;stop-opacity:1" id="stop3750-8-6"/>
529+ <stop offset="1" style="stop-color:#000000;stop-opacity:0.58823532" id="stop3752-5-1"/>
530+ </linearGradient>
531+ <radialGradient gradientTransform="matrix(1.1573129,0,0,0.99590774,-7.551021,0.1971319)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3737-3-2" id="radialGradient2858-1" fy="90.171875" fx="48" r="42" cy="90.171875" cx="48"/>
532+ <linearGradient id="linearGradient3737-3-2">
533+ <stop offset="0" style="stop-color:#ffffff;stop-opacity:1" id="stop3739-5-2"/>
534+ <stop offset="1" style="stop-color:#ffffff;stop-opacity:0" id="stop3741-7-6"/>
535+ </linearGradient>
536+ <linearGradient gradientTransform="translate(100,-1)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3641-7" id="linearGradient3707-7" y2="21" x2="51" y1="62" x1="51"/>
537+ <clipPath id="clipPath3703-7">
538+ <rect style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="rect3705-2" y="6" x="106" ry="6" rx="6" height="84" width="84"/>
539+ </clipPath>
540+ <linearGradient gradientTransform="translate(100,0)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3641-7" id="linearGradient3701-1" y2="80" x2="48" y1="32" x1="48"/>
541+ <clipPath id="clipPath3696-8">
542+ <rect style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="rect3698-7" y="6" x="106" ry="6" rx="6" height="84" width="84"/>
543+ </clipPath>
544+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3700-8" id="linearGradient3689-4" y2="5.9877172" x2="48" y1="90" x1="48"/>
545+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3737-8" id="linearGradient3687-0" y2="63.893143" x2="36.357143" y1="6" x1="36.357143"/>
546+ <filter id="filter3665-9" color-interpolation-filters="sRGB">
547+ <feGaussianBlur stdDeviation="0.69" id="feGaussianBlur3667-5"/>
548+ </filter>
549+ <filter id="filter3649-6" color-interpolation-filters="sRGB">
550+ <feGaussianBlur stdDeviation="1.38" id="feGaussianBlur3651-4"/>
551+ </filter>
552+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3727-2" id="linearGradient3635-6" y2="36" x2="48" y1="88" x1="48"/>
553+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3700-8" id="linearGradient3627-2" y2="32" x2="48" y1="88" x1="48"/>
554+ <clipPath id="clipPath3613-8">
555+ <rect style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="rect3615-9" y="6" x="6" ry="6" rx="6" height="84" width="84"/>
556+ </clipPath>
557+ <radialGradient gradientTransform="matrix(1.1573129,0,0,0.99590774,-7.5510206,0.19713193)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3737-8" id="radialGradient3619-6" fy="90.171875" fx="48" r="42" cy="90.171875" cx="48"/>
558+ <linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3737-8" id="linearGradient3613-0" y2="138.66119" x2="48" y1="20.220806" x1="48"/>
559+ <filter id="filter3794-9" color-interpolation-filters="sRGB" height="1.3839999" width="1.3839999" y="-0.192" x="-0.192">
560+ <feGaussianBlur stdDeviation="5.28" id="feGaussianBlur3796-2"/>
561+ </filter>
562+ <filter id="filter3174-1" color-interpolation-filters="sRGB">
563+ <feGaussianBlur stdDeviation="1.71" id="feGaussianBlur3176-4"/>
564+ </filter>
565+ <linearGradient id="linearGradient3700-8">
566+ <stop offset="0" style="stop-color:#dcdcdc;stop-opacity:1" id="stop3702-4"/>
567+ <stop offset="1" style="stop-color:#f0f0f0;stop-opacity:1" id="stop3704-3"/>
568+ </linearGradient>
569+ <linearGradient id="linearGradient3737-8">
570+ <stop offset="0" style="stop-color:#ffffff;stop-opacity:1" id="stop3739-6"/>
571+ <stop offset="1" style="stop-color:#ffffff;stop-opacity:0" id="stop3741-8"/>
572+ </linearGradient>
573+ <linearGradient gradientTransform="scale(1.0058652,0.994169)" gradientUnits="userSpaceOnUse" id="ButtonShadow-3" y2="7.0165396" x2="45.447727" y1="92.539597" x1="45.447727">
574+ <stop offset="0" style="stop-color:#000000;stop-opacity:1" id="stop3750-0"/>
575+ <stop offset="1" style="stop-color:#000000;stop-opacity:0.58823532" id="stop3752-7"/>
576+ </linearGradient>
577+ <linearGradient id="linearGradient3641-7">
578+ <stop offset="0" style="stop-color:#000000;stop-opacity:1" id="stop3643-4"/>
579+ <stop offset="1" style="stop-color:#000000;stop-opacity:0" id="stop3645-4"/>
580+ </linearGradient>
581+ <linearGradient id="linearGradient3727-2">
582+ <stop offset="0" style="stop-color:#d5d5d5;stop-opacity:1" id="stop3729-5"/>
583+ <stop offset="1" style="stop-color:#f1f1f1;stop-opacity:1" id="stop3731-4"/>
584+ </linearGradient>
585+ <linearGradient id="linearGradient3942-7">
586+ <stop offset="0" style="stop-color:#ffffff;stop-opacity:1" id="stop3944-4"/>
587+ <stop offset="1" style="stop-color:#ffffff;stop-opacity:0" id="stop3946-5"/>
588+ </linearGradient>
589+ <linearGradient inkscape:collect="always" xlink:href="#ButtonShadow-3" id="linearGradient3250" gradientUnits="userSpaceOnUse" gradientTransform="scale(1.0058652,0.994169)" x1="45.447727" y1="92.539597" x2="45.447727" y2="7.0165396"/>
590+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient3801-9" id="linearGradient3252" gradientUnits="userSpaceOnUse" x1="45.298355" y1="72.618279" x2="79.622185" y2="72.618279"/>
591+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient3942-7" id="linearGradient3254" gradientUnits="userSpaceOnUse" x1="68" y1="52" x2="68" y2="84"/>
592+ </defs>
593+ <metadata id="metadata2413">
594+ <rdf:RDF>
595+ <cc:Work rdf:about="">
596+ <dc:format>image/svg+xml</dc:format>
597+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
598+ <dc:title/>
599+ </cc:Work>
600+ </rdf:RDF>
601+ </metadata>
602+ <g id="layer2" style="display:none" transform="translate(-176.03343,-51.028478)">
603+ <rect width="86" height="85" rx="6" ry="6" x="5" y="7" id="rect3745" style="opacity:0.9;fill:url(#ButtonShadow);fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3174)"/>
604+ </g>
605+ <g id="layer4" transform="translate(-50.007625,-51.028478)">
606+ <g id="g3234" transform="matrix(0.68115941,0,0,0.68115941,28.692755,16.26995)">
607+ <path style="opacity:0.1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3960" inkscape:connector-curvature="0" d="m 89.986349,69.238985 c -0.21488,-1.561093 -1.973583,-1.971086 -3.08095,-2.785965 0.452305,-1.002477 1.307299,-1.880744 1.442147,-2.982622 0.09844,-1.212445 -1.013508,-2.114893 -2.161243,-2.135756 -0.574938,-0.191984 -1.529962,-0.121132 -1.883184,-0.466436 0.105461,-1.303923 0.927598,-2.804937 -0.05258,-3.95302 -0.907896,-1.060888 -2.339545,-0.509432 -3.503632,-0.325674 -0.950635,0.504422 -0.81239,-0.565783 -0.973216,-1.2035 -0.130627,-1.071533 -0.401383,-2.422333 -1.652276,-2.666162 -1.269606,-0.351715 -2.257329,0.785416 -3.345553,1.248885 -0.564682,0.197811 -0.761585,-1.032508 -1.178359,-1.409042 -0.426005,-1.011804 -1.521655,-1.848863 -2.654045,-1.413094 -1.095119,0.436651 -1.63445,1.627605 -2.458205,2.425428 -0.973647,-0.65486 -1.72467,-1.7847 -2.91707,-1.99934 -1.243767,-0.181639 -2.134633,0.905175 -2.372989,2.019516 -0.345055,0.444832 -0.243497,1.842522 -1.003052,1.403006 -1.213096,-0.355405 -2.631658,-1.302577 -3.801916,-0.341572 -1.164288,0.944179 -0.641361,2.603822 -0.785903,3.912444 -1.186176,0.269467 -2.880347,-0.340038 -3.868298,0.741757 -1.026659,1.143887 -0.143349,2.597452 0.237559,3.813095 0.487992,0.76899 -0.891072,0.672735 -1.319748,1.016916 -1.098052,0.268634 -2.195073,1.121664 -2.064313,2.380723 0.249354,1.192288 1.335753,1.97237 1.99934,2.949845 -0.871859,0.915157 -2.269562,1.493314 -2.556533,2.818742 -0.186067,1.142981 0.709312,1.986005 1.663193,2.403037 0.374257,0.418594 1.762649,0.565214 1.196802,1.235928 -0.585967,1.153839 -1.765734,2.450576 -0.926208,3.768425 0.810341,1.207354 2.476744,0.956157 3.736472,1.311043 -0.08576,1.227497 -0.781478,2.521328 -0.229433,3.703695 0.526899,1.071756 1.844115,1.213477 2.87647,0.879241 0.560732,0.07218 1.729076,-0.722239 1.724808,0.155757 0.28962,1.207178 0.140911,2.908592 1.527846,3.422546 1.38487,0.596205 2.576146,-0.697698 3.773565,-1.225564 0.454783,0.276534 0.742145,1.177337 1.132089,1.695641 0.455828,1.285443 2.259105,1.820804 3.255585,0.80819 0.610876,-0.645848 1.17573,-1.360459 1.769908,-2.032116 1.070537,0.696774 1.92142,2.036743 3.310382,1.999339 1.284689,-0.0939 1.81764,-1.335721 2.151522,-2.404812 0.206115,-0.763429 0.45194,-1.441171 1.291319,-0.838121 1.079697,0.400421 2.40691,1.016712 3.407356,0.09643 1.036768,-1.007403 0.54752,-2.574581 0.688297,-3.867575 1.24572,-0.135375 2.670869,0.29881 3.736472,-0.524417 0.936001,-0.804307 0.694064,-2.129136 0.219537,-3.122161 -0.129526,-0.619425 -0.912001,-1.544893 0.15361,-1.604149 1.111548,-0.448238 2.718145,-0.69704 2.904459,-2.123887 0.293747,-1.438242 -1.158981,-2.317711 -1.863365,-3.381883 -0.0012,-0.497479 0.978512,-0.910082 1.354831,-1.374896 0.68176,-0.486375 1.154931,-1.160958 1.098503,-2.027866 z"/>
608+ <path inkscape:connector-curvature="0" style="opacity:0.15;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3956" transform="matrix(0,1.048834,-1.048834,0,146.16452,5.4895435)" d="m 60.9375,54.59375 a 0.86264402,0.86264402 0 0 0 -0.71875,0.4375 L 58.5,57.875 55.625,56.25 a 0.86264402,0.86264402 0 0 0 -1.28125,0.59375 l -0.625,3.3125 -3.28125,-0.5625 a 0.86264402,0.86264402 0 0 0 -1,1 L 50,63.875 46.6875,64.5 a 0.86264402,0.86264402 0 0 0 -0.59375,1.28125 l 1.625,2.875 L 44.875,70.375 A 0.86264402,0.86264402 0 0 0 44.75,71.78125 L 47.25,73.9375 45.15625,76.5 A 0.86264402,0.86264402 0 0 0 45.5,77.875 l 3.15625,1.1875 -1.125,3.15625 a 0.86264402,0.86264402 0 0 0 0.8125,1.15625 l 3.3125,0.03125 0.0625,3.3125 a 0.86264402,0.86264402 0 0 0 1.15625,0.8125 L 56,86.4375 l 1.1875,3.125 a 0.86264402,0.86264402 0 0 0 1.34375,0.34375 l 2.59375,-2.125 2.1875,2.5625 a 0.86264402,0.86264402 0 0 0 1.40625,-0.125 l 1.6875,-2.875 2.9375,1.625 a 0.86264402,0.86264402 0 0 0 1.25,-0.59375 l 0.59375,-3.28125 3.3125,0.5625 a 0.86264402,0.86264402 0 0 0 1,-1 L 74.9375,81.34375 78.21875,80.75 A 0.86264402,0.86264402 0 0 0 78.8125,79.5 l -1.625,-2.9375 2.875,-1.6875 a 0.86264402,0.86264402 0 0 0 0.125,-1.40625 L 77.625,71.28125 79.75,68.6875 a 0.86264402,0.86264402 0 0 0 -0.34375,-1.34375 l -3.125,-1.1875 1.09375,-3.125 A 0.86264402,0.86264402 0 0 0 76.5625,61.875 L 73.25,61.8125 73.21875,58.5 A 0.86264402,0.86264402 0 0 0 72.0625,57.6875 l -3.15625,1.125 -1.1875,-3.15625 a 0.86264402,0.86264402 0 0 0 -1.375,-0.34375 l -2.5625,2.09375 -2.15625,-2.5 a 0.86264402,0.86264402 0 0 0 -0.6875,-0.3125 z"/>
609+ <path inkscape:connector-curvature="0" style="opacity:0.3;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3950" transform="matrix(0,1.048834,-1.048834,0,146.16452,5.4895435)" d="m 74.641931,84.79994 -4.128425,-0.680449 -0.772592,4.112178 -3.646724,-2.051417 -2.132447,3.599941 -2.725174,-3.174954 -3.235096,2.653498 -1.474928,-3.915545 -3.947546,1.387004 -0.04678,-4.183864 -4.183864,-0.04678 1.387005,-3.947547 -3.915546,-1.474927 2.653499,-3.235097 -3.174955,-2.725173 3.599941,-2.132447 -2.051417,-3.646724 4.112178,-0.772592 -0.680448,-4.128426 4.128425,0.680449 0.772592,-4.112178 3.646724,2.051417 2.132447,-3.599941 2.725173,3.174954 3.235097,-2.653498 1.474927,3.915545 3.947547,-1.387004 0.04678,4.183864 4.183863,0.04678 -1.387004,3.947547 3.915545,1.474927 -2.653498,3.235097 3.174955,2.725173 -3.599942,2.132447 2.051418,3.646724 -4.112178,0.772592 z"/>
610+ <path transform="matrix(0,1.048834,-1.048834,0,146.16452,4.4895435)" inkscape:connector-curvature="0" style="color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3139" d="m 74.641931,84.79994 -4.128425,-0.680449 -0.772592,4.112178 -3.646724,-2.051417 -2.132447,3.599941 -2.725174,-3.174954 -3.235096,2.653498 -1.474928,-3.915545 -3.947546,1.387004 -0.04678,-4.183864 -4.183864,-0.04678 1.387005,-3.947547 -3.915546,-1.474927 2.653499,-3.235097 -3.174955,-2.725173 3.599941,-2.132447 -2.051417,-3.646724 4.112178,-0.772592 -0.680448,-4.128426 4.128425,0.680449 0.772592,-4.112178 3.646724,2.051417 2.132447,-3.599941 2.725173,3.174954 3.235097,-2.653498 1.474927,3.915545 3.947547,-1.387004 0.04678,4.183864 4.183863,0.04678 -1.387004,3.947547 3.915545,1.474927 -2.653498,3.235097 3.174955,2.725173 -3.599942,2.132447 2.051418,3.646724 -4.112178,0.772592 z"/>
611+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:-1.32000005px;writing-mode:lr-tb;text-anchor:start;opacity:0.15;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" x="59.530632" y="77.325226" id="text3856" sodipodi:linespacing="125%" transform="scale(0.9999961,1.0000039)">
612+ <tspan sodipodi:role="line" id="tspan3858" x="59.530632" y="77.325226" style="font-size:16px;font-weight:bold;letter-spacing:-1.32000005px;fill:#000000;-inkscape-font-specification:Sans Bold">01</tspan>
613+ </text>
614+ <path style="opacity:0;fill:#000000;stroke:none;display:inline" id="path3919" inkscape:connector-curvature="0" d="m 60,72 4,-4 4,4 8,-8 4,4 -12,12 -8,-8 z"/>
615+ <path style="opacity:0.6;color:#000000;fill:url(#linearGradient3948);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3933" inkscape:connector-curvature="0" d="M 71.5625,52 68.71875,55.34375 65.3125,52.5625 63.78125,56.65625 59.625,55.1875 l 0,1 4.15625,1.46875 1.53125,-4.09375 3.40625,2.78125 L 71.5625,53 73.8125,56.78125 77.625,54.625 78.4375,58.9375 82.625,58.25 82.78125,57.21875 78.4375,57.9375 77.625,53.625 73.8125,55.78125 71.5625,52 z m -11.96875,7.59375 -4.40625,0.03125 0.34375,1 4.0625,-0.03125 0,-1 z m 22.625,2 -0.15625,0.96875 3.8125,0.71875 0.5,-0.90625 -4.15625,-0.78125 z m -25.875,2.3125 -3.78125,1.40625 0.625,0.78125 3.46875,-1.3125 -0.3125,-0.875 z m 28.3125,2.53125 -0.4375,0.75 3.09375,1.84375 L 88,68.4375 l -3.34375,-2 z M 54.875,69.125 52,71.5625 l 0.6875,0.40625 2.65625,-2.25 L 54.875,69.125 z m 30.25,2.75 -0.46875,0.40625 2.15625,2.625 0.625,-0.21875 -2.3125,-2.8125 z m -29.78125,2.6875 -1.71875,3.0625 0.5,0.09375 1.65625,-2.90625 -0.4375,-0.25 z m 28.3125,2.53125 -0.3125,0.125 1.125,3.15625 0.34375,0 -1.15625,-3.28125 z m -25.875,2.3125 -0.5625,3.375 L 57.375,82.75 57.9375,79.4375 57.78125,79.40625 z"/>
616+ <text xml:space="preserve" style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.3;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" x="60.261475" y="76.597481" id="text3074" sodipodi:linespacing="125%">
617+ <tspan sodipodi:role="line" id="tspan3076" x="60.261475" y="76.597481" style="font-size:14px;fill:#000000">01</tspan>
618+ </text>
619+ <text transform="scale(0.9999961,1.0000039)" sodipodi:linespacing="125%" id="text3852" y="78.053253" x="58.71452" style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:-1.32000005px;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" xml:space="preserve">
620+ <tspan style="font-size:18px;font-weight:bold;letter-spacing:-2.47000003px;fill:#000000;-inkscape-font-specification:Sans Bold" y="78.053253" x="58.71452" id="tspan3854" sodipodi:role="line">01</tspan>
621+ </text>
622+ <text sodipodi:linespacing="125%" id="text3070" y="76.097481" x="60.261475" style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" xml:space="preserve">
623+ <tspan style="font-size:14px;fill:#ffffff" y="76.097481" x="60.261475" id="tspan3072" sodipodi:role="line">01</tspan>
624+ </text>
625+ </g>
626+ </g>
627+</svg>
628\ No newline at end of file

Subscribers

People subscribed via source and target branches