changeset 0:661e6ef8f8e4 draft default tip

Initial commit
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Sat, 14 Jan 2017 13:22:10 +0100
parents
children
files README browser.py glade.py loader.py pixmaps/racoon-large.svg racoon-icon.png racoon-large.svg racoon-shot.png racoon.glade racoon.gladep racoon.py szop-kask.svg view.py window.py
diffstat 14 files changed, 3292 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,9 @@
+This release is much more broken than 0.1
+
+Basically I experiment here with various things:
+ * popup menus
+ * mouse gestures
+ * image loading in background
+
+Feel free to drop me a line to racoon@sheep.art.pl
+if you know a good solution to any of these problems.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/browser.py	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,52 @@
+import loader, view
+
+class Browser:
+    def __init__(self, window):
+        self.win = window
+        self.loader = loader.Loader()
+        self.view = view.View(self)
+
+        self.current_url = ''
+        self.base_url = ''
+        self.history = []
+
+    def set_current_url(self, url):
+        self.current_url = url
+        self.loader.base_url = url
+        self.win.set_location(url)
+
+    def open_url(self, link):
+        self.win.start_loading(link)
+        if link:
+            print 'opened %s' % link
+            f = self.loader.open_uri(link)
+            print 'fetching headers'
+            headers = f.info()
+            mime = headers.getheader('Content-type').split(';')[0]
+            print mime
+            print repr(headers.__dict__)
+            new_url = f.geturl()
+            self.history.append(self.current_url)
+            self.set_current_url(new_url)
+            self.loader.queue_clear()
+            self.loader.load_uri(self.view.open_stream(mime), link, f)
+            self.loader.queue_load()
+        else:
+            self.document.clear()
+        self.win.finish_loading()
+
+    def history_back(self):
+        url = self.history.pop()
+        if url:
+            self.open_url(url)
+
+    def load_url(self, uri, stream):
+        self.loader.queue_add_uri(stream, uri)
+
+    def set_title(self, title):
+        self.title = title
+        self.win.set_title(title)
+
+    def set_base_url(self, base_url):
+        self.base_url = self.loader.resolve_uri(base_url, self.base_url)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/glade.py	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+import sys
+
+import pygtk
+pygtk.require("1.2")
+import gtk
+import libglade
+
+if len(sys.argv) > 1:
+	fname = sys.argv[1]
+else:
+	fname = 'test.glade'
+
+# create widget tree ...
+xml = libglade.GladeXML(fname)
+
+# if there is anything that needs to be added to the UI, we can access all
+# the widgets like this:
+win = xml.get_widget('window1')
+
+# we can connect to any of the signals named in the template:
+xml.signal_connect('close_window', gtk.mainquit)
+
+gtk.mainloop()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/loader.py	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,74 @@
+import urllib, urlparse
+import gobject
+
+class Loader:
+    '''
+    Resolves and loads specified URLs.
+    '''
+
+    def __init__(self):
+        self.opener = urllib.FancyURLopener()
+        self.queue = []
+        self.base_url = ''
+        self.stream = None
+        self.remote = None
+
+    def open_uri(self, uri):
+        url = self.resolve_uri(uri)
+        try:
+            return self.opener.open(url)
+        except OSError:
+            print 'failed to load %s' % url
+            return None
+
+    def load_uri(self, stream, uri, f=None):
+        if f is None:
+            f = self.open_uri(uri)
+            if f is None:
+                stream.close()
+                return
+        stream.write(f.read())
+        stream.close()
+
+    def queue_clear(self):
+        self.queue = []
+
+    def queue_add_uri(self, stream, uri):
+        self.queue.append((stream, uri))
+
+    def queue_load(self):
+#        for (stream, uri) in q:
+#            gobject.timeout_add(1, self.load_uri, stream, uri)
+#            self.load_uri(stream, uri)
+#        self.queue_clear()
+#        return False
+        gobject.idle_add(self.pop_queue)
+
+    def pop_queue(self):
+        if not self.queue:
+            return False
+        if self.stream is None:
+            (self.stream, uri) = self.queue.pop(0)
+            self.remote = self.open_uri(uri)
+        else:
+            buff = self.remote.read(1024)
+            if buff:
+                self.stream.write(buff)
+            else:
+                self.stream.close()
+                self.stream = None
+                self.remote.close()
+                self.remote = None
+        return True
+        
+
+    def resolve_uri(self, uri):
+        parts = urlparse.urlsplit(uri, 'http:', False)
+        print repr(parts)
+        if parts[1] != '':
+            print 'absolute: ', uri
+            url = urlparse.urlunsplit(parts)
+        else:
+            url = urlparse.urljoin(self.base_url, uri)
+            print 'relative to ', self.base_url,': ', url
+        return url
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pixmaps/racoon-large.svg	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,832 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   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"
+   width="320"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44"
+   sodipodi:docbase="/home/sheep/Desktop/racoon/copy of racoon-0.4"
+   sodipodi:docname="racoon-large.svg"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient8366">
+      <stop
+         style="stop-color:#ffe612;stop-opacity:1;"
+         offset="0"
+         id="stop8368" />
+      <stop
+         style="stop-color:#c49900;stop-opacity:1;"
+         offset="1"
+         id="stop8370" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8358">
+      <stop
+         style="stop-color:#ffe92c;stop-opacity:1;"
+         offset="0"
+         id="stop8360" />
+      <stop
+         style="stop-color:#cfa900;stop-opacity:1;"
+         offset="1"
+         id="stop8362" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7374">
+      <stop
+         style="stop-color:#57d216;stop-opacity:1;"
+         offset="0"
+         id="stop7376" />
+      <stop
+         style="stop-color:#609a06;stop-opacity:1;"
+         offset="1"
+         id="stop7378" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7358">
+      <stop
+         style="stop-color:#4e9a06;stop-opacity:1;"
+         offset="0"
+         id="stop7360" />
+      <stop
+         style="stop-color:#4e9a06;stop-opacity:1;"
+         offset="1"
+         id="stop7362" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5541">
+      <stop
+         id="stop5543"
+         offset="0"
+         style="stop-color:#9ca492;stop-opacity:1;" />
+      <stop
+         id="stop5545"
+         offset="1"
+         style="stop-color:#2e2f2d;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5524">
+      <stop
+         style="stop-color:#c3c8bd;stop-opacity:1;"
+         offset="0"
+         id="stop5526" />
+      <stop
+         style="stop-color:#666764;stop-opacity:1;"
+         offset="1"
+         id="stop5528" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5512">
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0"
+         id="stop5514" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop5516" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4615">
+      <stop
+         style="stop-color:#888a85;stop-opacity:1;"
+         offset="0"
+         id="stop4617" />
+      <stop
+         style="stop-color:#888a85;stop-opacity:0;"
+         offset="1"
+         id="stop4619" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3722">
+      <stop
+         style="stop-color:#555753;stop-opacity:1;"
+         offset="0"
+         id="stop3724" />
+      <stop
+         style="stop-color:#555753;stop-opacity:0;"
+         offset="1"
+         id="stop3726" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2829">
+      <stop
+         style="stop-color:#555753;stop-opacity:1;"
+         offset="0"
+         id="stop2831" />
+      <stop
+         style="stop-color:#555753;stop-opacity:0;"
+         offset="1"
+         id="stop2833" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7437"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.960392e-2,-0.999215,0.686449,2.720741e-2,-272.4647,120.929)"
+       cx="-112.35813"
+       cy="239.72122"
+       fx="-112.35813"
+       fy="239.72122"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="radialGradient7439"
+       gradientUnits="userSpaceOnUse"
+       cx="121.95625"
+       cy="389.80618"
+       fx="121.95625"
+       fy="389.80618"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7441"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.84906e-2,-0.968356,0.747899,2.972778e-2,-287.2571,123.5615)"
+       cx="-104.57357"
+       cy="238.00775"
+       fx="-104.57357"
+       fy="238.00775"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7443"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.960392e-2,-0.999215,0.686449,2.720741e-2,-272.4647,120.929)"
+       cx="-112.35813"
+       cy="239.72122"
+       fx="-112.35813"
+       fy="239.72122"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7445"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3722"
+       id="linearGradient7447"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.568349,-28.23028)"
+       x1="366.94894"
+       y1="681.04279"
+       x2="287.00629"
+       y2="659.08594" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2829"
+       id="linearGradient7449"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-25.09358)"
+       x1="516.1203"
+       y1="681.97015"
+       x2="581.71008"
+       y2="658.44495" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4615"
+       id="radialGradient7451"
+       gradientUnits="userSpaceOnUse"
+       cx="319.15903"
+       cy="475.99393"
+       fx="319.15903"
+       fy="475.99393"
+       r="13.330967" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient7453"
+       gradientUnits="userSpaceOnUse"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8358"
+       id="radialGradient9314"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.999951,-9.895197e-3,9.010218e-3,0.91052,-2.398157,50.74841)"
+       cx="-195.56299"
+       cy="265.09708"
+       fx="-195.56299"
+       fy="265.09708"
+       r="174.06339" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8358"
+       id="radialGradient9316"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.992929,0.118709,-0.228785,1.913643,83.048,-301.3943)"
+       cx="-256.47952"
+       cy="370.92242"
+       fx="-256.47952"
+       fy="370.92242"
+       r="47.985809" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8366"
+       id="radialGradient9318"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,4.376814e-8,-8.520013e-8,1.946625,3.107526e-5,-338.2986)"
+       cx="-146.64085"
+       cy="364.73257"
+       fx="-146.64085"
+       fy="364.73257"
+       r="45.561386" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8366"
+       id="radialGradient9320"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.995573,-9.399514e-2,0.200921,2.128108,-72.42641,-406.9471)"
+       cx="-44.873184"
+       cy="359.48273"
+       fx="-44.873184"
+       fy="359.48273"
+       r="46.834721" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8366"
+       id="radialGradient9322"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.209524,0,0,0.400282,3.121746,239.3745)"
+       cx="-130.17296"
+       cy="399.14441"
+       fx="-130.17296"
+       fy="399.14441"
+       r="168.67665" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient11102"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,14.51106,-17.25184)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient13790"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3722"
+       id="linearGradient13792"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.568349,-28.23028)"
+       x1="366.94894"
+       y1="681.04279"
+       x2="287.00629"
+       y2="659.08594" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2829"
+       id="linearGradient13794"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-25.09358)"
+       x1="516.1203"
+       y1="681.97015"
+       x2="581.71008"
+       y2="658.44495" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4615"
+       id="radialGradient13796"
+       gradientUnits="userSpaceOnUse"
+       cx="319.15903"
+       cy="475.99393"
+       fx="319.15903"
+       fy="475.99393"
+       r="13.330967" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient13803"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13807"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13810"
+       gradientUnits="userSpaceOnUse"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782"
+       gradientTransform="translate(-123.8996,-48.61881)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13854"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13856"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13858"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13860"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13862"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13864"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13976"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13978"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13980"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13982"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13984"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13986"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13988"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13990"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13992"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-125.4679,-51.75551)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="linearGradient14889"
+       x1="414.31613"
+       y1="393.74982"
+       x2="206.42796"
+       y2="344.09711"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="linearGradient15782"
+       x1="561.04761"
+       y1="307.40967"
+       x2="674.03357"
+       y2="340.345"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3722"
+       id="linearGradient15784"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-10.97844,-7.841743)"
+       x1="366.94894"
+       y1="681.04279"
+       x2="287.00629"
+       y2="659.08594" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2829"
+       id="linearGradient15786"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.766691,0,0,1,142.6787,4.016172e-6)"
+       x1="516.1203"
+       y1="681.97015"
+       x2="581.71008"
+       y2="658.44495" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="radialGradient15788"
+       gradientUnits="userSpaceOnUse"
+       cx="121.95625"
+       cy="389.80618"
+       fx="121.95625"
+       fy="389.80618"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient15790"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.84906e-2,-0.968356,0.747899,2.972778e-2,-287.2571,123.5615)"
+       cx="-104.57357"
+       cy="238.00775"
+       fx="-104.57357"
+       fy="238.00775"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient15792"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.960392e-2,-0.999215,0.686449,2.720741e-2,-272.4647,120.929)"
+       cx="-112.35813"
+       cy="239.72122"
+       fx="-112.35813"
+       fy="239.72122"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient15818"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4615"
+       id="radialGradient15820"
+       gradientUnits="userSpaceOnUse"
+       cx="319.15903"
+       cy="475.99393"
+       fx="319.15903"
+       fy="475.99393"
+       r="13.330967" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.7226562"
+     inkscape:cx="160"
+     inkscape:cy="128"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1278"
+     inkscape:window-height="944"
+     inkscape:window-x="1"
+     inkscape:window-y="0"
+     width="320px"
+     height="256px" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g7393"
+       transform="translate(25.09359,-148.9931)">
+      <g
+         id="g7383" />
+    </g>
+    <g
+       id="g1993"
+       transform="matrix(0.397602,0,0,0.397602,21.7721,-10.37325)">
+      <g
+         transform="matrix(-0.866025,-0.5,-0.5,0.866025,557.8357,-95.70587)"
+         id="g1919">
+        <path
+           sodipodi:type="arc"
+           style="fill:#555753;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path1921"
+           sodipodi:cx="227.4106"
+           sodipodi:cy="370.91455"
+           sodipodi:rx="56.460564"
+           sodipodi:ry="82.338326"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           transform="translate(-390.5189,-101.9427)" />
+        <path
+           transform="matrix(0.649863,0,0,0.657143,-310.8939,25.228)"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           sodipodi:ry="82.338326"
+           sodipodi:rx="56.460564"
+           sodipodi:cy="370.91455"
+           sodipodi:cx="227.4106"
+           id="path1923"
+           style="fill:#babdb6;fill-opacity:1;stroke:black;stroke-width:12.24191475;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+      </g>
+      <g
+         id="g1906"
+         transform="matrix(0.866026,-0.5,0.5,0.866026,84.87638,94.5841)"
+         style="fill:url(#radialGradient7437);fill-opacity:1">
+        <path
+           transform="translate(-243.0941,-144.2881)"
+           d="M 321.51154 449.332 A 156.05072 156.05072 0 1 1  9.4100952,449.332 A 156.05072 156.05072 0 1 1  321.51154 449.332 z"
+           sodipodi:ry="156.05072"
+           sodipodi:rx="156.05072"
+           sodipodi:cy="449.332"
+           sodipodi:cx="165.46082"
+           id="path1882"
+           style="fill:url(#radialGradient15788);fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           id="path1900"
+           d="M -199,207.03125 C -215.52507,227.46333 -227.01199,252.12781 -231.53125,279.15625 L 76.25,279.15625 C 71.730477,252.12872 60.274599,227.46275 43.75,207.03125 L -199,207.03125 z "
+           style="fill:url(#radialGradient15790);fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+        <path
+           id="rect1898"
+           d="M -224.59375,357.59375 C -214.81407,384.91394 -197.63703,408.72403 -175.46875,426.59375 L 20.1875,426.59375 C 42.359642,408.7238 59.531217,384.91666 69.3125,357.59375 L -224.59375,357.59375 z "
+           style="fill:url(#radialGradient15792);fill-opacity:1;stroke:black;stroke-width:7.99999666;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      </g>
+      <g
+         id="g1915"
+         transform="matrix(0.866025,-0.5,0.5,0.866025,307.893,-108.2527)">
+        <path
+           transform="translate(-390.5189,-101.9427)"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           sodipodi:ry="82.338326"
+           sodipodi:rx="56.460564"
+           sodipodi:cy="370.91455"
+           sodipodi:cx="227.4106"
+           id="path1911"
+           style="fill:#555753;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#babdb6;fill-opacity:1;stroke:black;stroke-width:12.24191475;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path1913"
+           sodipodi:cx="227.4106"
+           sodipodi:cy="370.91455"
+           sodipodi:rx="56.460564"
+           sodipodi:ry="82.338326"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           transform="matrix(0.649863,0,0,0.657143,-310.8939,25.228)" />
+      </g>
+      <path
+         sodipodi:nodetypes="csccsc"
+         id="path1872"
+         d="M 403.0625,316.8125 C 275.70861,316.8125 184.28469,411.10971 170.96875,548.9375 C 162.61147,635.44028 184.97596,697.7629 216.96858,758.32035 C 362.0454,714.40658 453.79835,717.54328 589.46507,759.8887 C 621.89336,705.56752 643.45441,626.1775 635.1875,551.28125 C 621.98621,431.68065 531.19034,316.8125 403.0625,316.8125 z "
+         style="fill:url(#radialGradient15818);fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         transform="translate(25.09359,-148.9931)" />
+      <path
+         sodipodi:type="arc"
+         style="fill:url(#linearGradient14889);fill-opacity:1;stroke:black;stroke-width:8.48528099;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path12879"
+         sodipodi:cx="321.51154"
+         sodipodi:cy="360.72028"
+         sodipodi:rx="73.712402"
+         sodipodi:ry="70.575706"
+         d="M 395.22394 360.72028 A 73.712402 70.575706 0 1 1  247.79913,360.72028 A 73.712402 70.575706 0 1 1  395.22394 360.72028 z"
+         transform="matrix(0.796017,-0.605275,0.538022,0.707571,-114.3773,295.3831)" />
+      <path
+         transform="translate(25.0936,-133.3096)"
+         d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z"
+         sodipodi:ry="13.330967"
+         sodipodi:rx="13.330967"
+         sodipodi:cy="475.99393"
+         sodipodi:cx="319.15903"
+         id="path1874"
+         style="fill:#2e3436;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <path
+         style="fill:url(#linearGradient15782);fill-opacity:1;stroke:black;stroke-width:8.48528099;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M 622.625,292.21875 C 604.32991,292.68356 587.3942,300.20392 576.5,314.53125 C 555.53983,342.09665 564.82942,384.46557 597.21875,409.09375 C 616.23902,423.55638 639.00122,428.7031 658.8125,424.90625 C 658.5632,416.89958 658.05229,408.83663 657.15625,400.71875 C 652.98387,362.91802 641.02847,325.59681 622.625,292.21875 z "
+         transform="translate(3.1367,1.5684)"
+         id="path13766" />
+      <path
+         transform="translate(285.4395,-134.878)"
+         sodipodi:type="arc"
+         style="fill:#2e3436;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path1876"
+         sodipodi:cx="319.15903"
+         sodipodi:cy="475.99393"
+         sodipodi:rx="13.330967"
+         sodipodi:ry="13.330967"
+         d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z" />
+      <path
+         sodipodi:nodetypes="ccs"
+         id="path1931"
+         d="M 289.21497,603.10708 C 323.2822,612.96807 373.05399,632.50261 363.32196,670.29904 C 354.97233,699.58499 295.23177,704.64767 261.16455,694.78668"
+         style="fill:url(#linearGradient15784);fill-opacity:1;stroke:black;stroke-width:7.99999428;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+         transform="translate(25.09359,-148.9931)" />
+      <path
+         style="fill:url(#linearGradient15786);fill-opacity:1;stroke:black;stroke-width:7.99999714;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+         d="M 583.05909,611.87625 C 560.98374,621.41595 528.73192,640.31402 535.03822,676.87898 C 540.44873,705.21075 579.16024,710.10848 601.2356,700.56878"
+         id="path1934"
+         sodipodi:nodetypes="ccs"
+         transform="translate(25.09359,-148.9931)" />
+      <g
+         transform="matrix(1.418369,0,0,1.750494,-193.5555,-508.7891)"
+         id="g1938">
+        <path
+           transform="matrix(3.941177,0,0,2,-761.4796,-442.2743)"
+           d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z"
+           sodipodi:ry="13.330967"
+           sodipodi:rx="13.330967"
+           sodipodi:cy="475.99393"
+           sodipodi:cx="319.15903"
+           id="path1880"
+           style="fill:#2e3436;fill-opacity:1;stroke:black;stroke-width:1.80836964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:url(#radialGradient15820);fill-opacity:1;stroke:none;stroke-width:3.27866769;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path1936"
+           sodipodi:cx="319.15903"
+           sodipodi:cy="475.99393"
+           sodipodi:rx="13.330967"
+           sodipodi:ry="13.330967"
+           d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z"
+           transform="matrix(1.941177,0,0,1.235294,-137.2767,-86.90488)" />
+      </g>
+      <g
+         inkscape:transform-center-x="-20.925502"
+         inkscape:transform-center-y="-44.890346"
+         transform="matrix(0.73157,-6.888214e-2,2.240181e-2,0.764038,506.3128,-126.5984)"
+         id="g9297">
+        <path
+           style="fill:url(#radialGradient9314);fill-opacity:1;stroke:black;stroke-width:10.68578434;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+           d="M 12.546799,415.61249 L -316.8065,415.61249 C -334.05834,316.86923 -285.36443,237.2755 -148.99315,238.38905 C -11.016299,239.52882 40.777081,313.73254 12.546799,415.61249 z "
+           id="path7455"
+           sodipodi:nodetypes="ccsc" />
+        <path
+           sodipodi:nodetypes="ccsc"
+           id="path7467"
+           d="M -226.75266,415.61259 L -309.87542,415.61259 C -298.4817,346.35427 -270.61512,290.14462 -247.67324,290.14462 C -224.73135,290.14462 -215.35894,346.35427 -226.75266,415.61259 z "
+           style="fill:url(#radialGradient9316);fill-opacity:1;stroke:black;stroke-width:10.68580246;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+        <path
+           style="fill:url(#radialGradient9318);fill-opacity:1;stroke:black;stroke-width:10.68580246;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+           d="M -105.07947,412.47589 L -188.20223,412.47589 C -188.20223,343.21757 -169.58273,287.00792 -146.64085,287.00792 C -123.69896,287.00792 -105.07947,343.21757 -105.07947,412.47589 z "
+           id="path7469"
+           sodipodi:nodetypes="ccsc" />
+        <path
+           sodipodi:nodetypes="ccsc"
+           id="path7471"
+           d="M 5.8032716,415.61259 L -77.319489,415.61259 C -85.457861,346.35427 -73.443417,290.14462 -50.501537,290.14462 C -27.559647,290.14462 -2.3351009,346.35427 5.8032716,415.61259 z "
+           style="fill:url(#radialGradient9320);fill-opacity:1;stroke:black;stroke-width:10.68580246;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="ccsc"
+           id="path7465"
+           d="M 84.690852,417.18084 L -313.66986,417.18084 C -313.66986,397.26907 -224.43706,381.1088 -114.4895,381.1088 C -4.5419464,381.1088 84.690852,397.26907 84.690852,417.18084 z "
+           style="fill:url(#radialGradient9322);fill-opacity:1;stroke:black;stroke-width:10.68578529;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+      </g>
+    </g>
+  </g>
+</svg>
Binary file racoon-icon.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/racoon-large.svg	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,832 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   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"
+   width="320"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44"
+   sodipodi:docbase="/home/sheep/Desktop/racoon/copy of racoon-0.4"
+   sodipodi:docname="racoon-large.svg"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient8366">
+      <stop
+         style="stop-color:#ffe612;stop-opacity:1;"
+         offset="0"
+         id="stop8368" />
+      <stop
+         style="stop-color:#c49900;stop-opacity:1;"
+         offset="1"
+         id="stop8370" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8358">
+      <stop
+         style="stop-color:#ffe92c;stop-opacity:1;"
+         offset="0"
+         id="stop8360" />
+      <stop
+         style="stop-color:#cfa900;stop-opacity:1;"
+         offset="1"
+         id="stop8362" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7374">
+      <stop
+         style="stop-color:#57d216;stop-opacity:1;"
+         offset="0"
+         id="stop7376" />
+      <stop
+         style="stop-color:#609a06;stop-opacity:1;"
+         offset="1"
+         id="stop7378" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7358">
+      <stop
+         style="stop-color:#4e9a06;stop-opacity:1;"
+         offset="0"
+         id="stop7360" />
+      <stop
+         style="stop-color:#4e9a06;stop-opacity:1;"
+         offset="1"
+         id="stop7362" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5541">
+      <stop
+         id="stop5543"
+         offset="0"
+         style="stop-color:#9ca492;stop-opacity:1;" />
+      <stop
+         id="stop5545"
+         offset="1"
+         style="stop-color:#2e2f2d;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5524">
+      <stop
+         style="stop-color:#c3c8bd;stop-opacity:1;"
+         offset="0"
+         id="stop5526" />
+      <stop
+         style="stop-color:#666764;stop-opacity:1;"
+         offset="1"
+         id="stop5528" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5512">
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0"
+         id="stop5514" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop5516" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4615">
+      <stop
+         style="stop-color:#888a85;stop-opacity:1;"
+         offset="0"
+         id="stop4617" />
+      <stop
+         style="stop-color:#888a85;stop-opacity:0;"
+         offset="1"
+         id="stop4619" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3722">
+      <stop
+         style="stop-color:#555753;stop-opacity:1;"
+         offset="0"
+         id="stop3724" />
+      <stop
+         style="stop-color:#555753;stop-opacity:0;"
+         offset="1"
+         id="stop3726" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2829">
+      <stop
+         style="stop-color:#555753;stop-opacity:1;"
+         offset="0"
+         id="stop2831" />
+      <stop
+         style="stop-color:#555753;stop-opacity:0;"
+         offset="1"
+         id="stop2833" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7437"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.960392e-2,-0.999215,0.686449,2.720741e-2,-272.4647,120.929)"
+       cx="-112.35813"
+       cy="239.72122"
+       fx="-112.35813"
+       fy="239.72122"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="radialGradient7439"
+       gradientUnits="userSpaceOnUse"
+       cx="121.95625"
+       cy="389.80618"
+       fx="121.95625"
+       fy="389.80618"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7441"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.84906e-2,-0.968356,0.747899,2.972778e-2,-287.2571,123.5615)"
+       cx="-104.57357"
+       cy="238.00775"
+       fx="-104.57357"
+       fy="238.00775"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7443"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.960392e-2,-0.999215,0.686449,2.720741e-2,-272.4647,120.929)"
+       cx="-112.35813"
+       cy="239.72122"
+       fx="-112.35813"
+       fy="239.72122"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7445"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3722"
+       id="linearGradient7447"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.568349,-28.23028)"
+       x1="366.94894"
+       y1="681.04279"
+       x2="287.00629"
+       y2="659.08594" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2829"
+       id="linearGradient7449"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-25.09358)"
+       x1="516.1203"
+       y1="681.97015"
+       x2="581.71008"
+       y2="658.44495" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4615"
+       id="radialGradient7451"
+       gradientUnits="userSpaceOnUse"
+       cx="319.15903"
+       cy="475.99393"
+       fx="319.15903"
+       fy="475.99393"
+       r="13.330967" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient7453"
+       gradientUnits="userSpaceOnUse"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8358"
+       id="radialGradient9314"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.999951,-9.895197e-3,9.010218e-3,0.91052,-2.398157,50.74841)"
+       cx="-195.56299"
+       cy="265.09708"
+       fx="-195.56299"
+       fy="265.09708"
+       r="174.06339" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8358"
+       id="radialGradient9316"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.992929,0.118709,-0.228785,1.913643,83.048,-301.3943)"
+       cx="-256.47952"
+       cy="370.92242"
+       fx="-256.47952"
+       fy="370.92242"
+       r="47.985809" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8366"
+       id="radialGradient9318"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,4.376814e-8,-8.520013e-8,1.946625,3.107526e-5,-338.2986)"
+       cx="-146.64085"
+       cy="364.73257"
+       fx="-146.64085"
+       fy="364.73257"
+       r="45.561386" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8366"
+       id="radialGradient9320"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.995573,-9.399514e-2,0.200921,2.128108,-72.42641,-406.9471)"
+       cx="-44.873184"
+       cy="359.48273"
+       fx="-44.873184"
+       fy="359.48273"
+       r="46.834721" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8366"
+       id="radialGradient9322"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.209524,0,0,0.400282,3.121746,239.3745)"
+       cx="-130.17296"
+       cy="399.14441"
+       fx="-130.17296"
+       fy="399.14441"
+       r="168.67665" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient11102"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,14.51106,-17.25184)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient13790"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3722"
+       id="linearGradient13792"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.568349,-28.23028)"
+       x1="366.94894"
+       y1="681.04279"
+       x2="287.00629"
+       y2="659.08594" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2829"
+       id="linearGradient13794"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-25.09358)"
+       x1="516.1203"
+       y1="681.97015"
+       x2="581.71008"
+       y2="658.44495" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4615"
+       id="radialGradient13796"
+       gradientUnits="userSpaceOnUse"
+       cx="319.15903"
+       cy="475.99393"
+       fx="319.15903"
+       fy="475.99393"
+       r="13.330967" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient13803"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13807"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13810"
+       gradientUnits="userSpaceOnUse"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782"
+       gradientTransform="translate(-123.8996,-48.61881)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13854"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13856"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13858"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13860"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13862"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13864"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13976"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13978"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13980"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13982"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13984"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13986"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13988"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13990"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13992"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-125.4679,-51.75551)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="linearGradient14889"
+       x1="414.31613"
+       y1="393.74982"
+       x2="206.42796"
+       y2="344.09711"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="linearGradient15782"
+       x1="561.04761"
+       y1="307.40967"
+       x2="674.03357"
+       y2="340.345"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3722"
+       id="linearGradient15784"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-10.97844,-7.841743)"
+       x1="366.94894"
+       y1="681.04279"
+       x2="287.00629"
+       y2="659.08594" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2829"
+       id="linearGradient15786"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.766691,0,0,1,142.6787,4.016172e-6)"
+       x1="516.1203"
+       y1="681.97015"
+       x2="581.71008"
+       y2="658.44495" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="radialGradient15788"
+       gradientUnits="userSpaceOnUse"
+       cx="121.95625"
+       cy="389.80618"
+       fx="121.95625"
+       fy="389.80618"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient15790"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.84906e-2,-0.968356,0.747899,2.972778e-2,-287.2571,123.5615)"
+       cx="-104.57357"
+       cy="238.00775"
+       fx="-104.57357"
+       fy="238.00775"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient15792"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.960392e-2,-0.999215,0.686449,2.720741e-2,-272.4647,120.929)"
+       cx="-112.35813"
+       cy="239.72122"
+       fx="-112.35813"
+       fy="239.72122"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient15818"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4615"
+       id="radialGradient15820"
+       gradientUnits="userSpaceOnUse"
+       cx="319.15903"
+       cy="475.99393"
+       fx="319.15903"
+       fy="475.99393"
+       r="13.330967" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.7226562"
+     inkscape:cx="160"
+     inkscape:cy="128"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1278"
+     inkscape:window-height="944"
+     inkscape:window-x="1"
+     inkscape:window-y="0"
+     width="320px"
+     height="256px" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g7393"
+       transform="translate(25.09359,-148.9931)">
+      <g
+         id="g7383" />
+    </g>
+    <g
+       id="g1993"
+       transform="matrix(0.397602,0,0,0.397602,21.7721,-10.37325)">
+      <g
+         transform="matrix(-0.866025,-0.5,-0.5,0.866025,557.8357,-95.70587)"
+         id="g1919">
+        <path
+           sodipodi:type="arc"
+           style="fill:#555753;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path1921"
+           sodipodi:cx="227.4106"
+           sodipodi:cy="370.91455"
+           sodipodi:rx="56.460564"
+           sodipodi:ry="82.338326"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           transform="translate(-390.5189,-101.9427)" />
+        <path
+           transform="matrix(0.649863,0,0,0.657143,-310.8939,25.228)"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           sodipodi:ry="82.338326"
+           sodipodi:rx="56.460564"
+           sodipodi:cy="370.91455"
+           sodipodi:cx="227.4106"
+           id="path1923"
+           style="fill:#babdb6;fill-opacity:1;stroke:black;stroke-width:12.24191475;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+      </g>
+      <g
+         id="g1906"
+         transform="matrix(0.866026,-0.5,0.5,0.866026,84.87638,94.5841)"
+         style="fill:url(#radialGradient7437);fill-opacity:1">
+        <path
+           transform="translate(-243.0941,-144.2881)"
+           d="M 321.51154 449.332 A 156.05072 156.05072 0 1 1  9.4100952,449.332 A 156.05072 156.05072 0 1 1  321.51154 449.332 z"
+           sodipodi:ry="156.05072"
+           sodipodi:rx="156.05072"
+           sodipodi:cy="449.332"
+           sodipodi:cx="165.46082"
+           id="path1882"
+           style="fill:url(#radialGradient15788);fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           id="path1900"
+           d="M -199,207.03125 C -215.52507,227.46333 -227.01199,252.12781 -231.53125,279.15625 L 76.25,279.15625 C 71.730477,252.12872 60.274599,227.46275 43.75,207.03125 L -199,207.03125 z "
+           style="fill:url(#radialGradient15790);fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+        <path
+           id="rect1898"
+           d="M -224.59375,357.59375 C -214.81407,384.91394 -197.63703,408.72403 -175.46875,426.59375 L 20.1875,426.59375 C 42.359642,408.7238 59.531217,384.91666 69.3125,357.59375 L -224.59375,357.59375 z "
+           style="fill:url(#radialGradient15792);fill-opacity:1;stroke:black;stroke-width:7.99999666;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      </g>
+      <g
+         id="g1915"
+         transform="matrix(0.866025,-0.5,0.5,0.866025,307.893,-108.2527)">
+        <path
+           transform="translate(-390.5189,-101.9427)"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           sodipodi:ry="82.338326"
+           sodipodi:rx="56.460564"
+           sodipodi:cy="370.91455"
+           sodipodi:cx="227.4106"
+           id="path1911"
+           style="fill:#555753;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#babdb6;fill-opacity:1;stroke:black;stroke-width:12.24191475;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path1913"
+           sodipodi:cx="227.4106"
+           sodipodi:cy="370.91455"
+           sodipodi:rx="56.460564"
+           sodipodi:ry="82.338326"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           transform="matrix(0.649863,0,0,0.657143,-310.8939,25.228)" />
+      </g>
+      <path
+         sodipodi:nodetypes="csccsc"
+         id="path1872"
+         d="M 403.0625,316.8125 C 275.70861,316.8125 184.28469,411.10971 170.96875,548.9375 C 162.61147,635.44028 184.97596,697.7629 216.96858,758.32035 C 362.0454,714.40658 453.79835,717.54328 589.46507,759.8887 C 621.89336,705.56752 643.45441,626.1775 635.1875,551.28125 C 621.98621,431.68065 531.19034,316.8125 403.0625,316.8125 z "
+         style="fill:url(#radialGradient15818);fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         transform="translate(25.09359,-148.9931)" />
+      <path
+         sodipodi:type="arc"
+         style="fill:url(#linearGradient14889);fill-opacity:1;stroke:black;stroke-width:8.48528099;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path12879"
+         sodipodi:cx="321.51154"
+         sodipodi:cy="360.72028"
+         sodipodi:rx="73.712402"
+         sodipodi:ry="70.575706"
+         d="M 395.22394 360.72028 A 73.712402 70.575706 0 1 1  247.79913,360.72028 A 73.712402 70.575706 0 1 1  395.22394 360.72028 z"
+         transform="matrix(0.796017,-0.605275,0.538022,0.707571,-114.3773,295.3831)" />
+      <path
+         transform="translate(25.0936,-133.3096)"
+         d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z"
+         sodipodi:ry="13.330967"
+         sodipodi:rx="13.330967"
+         sodipodi:cy="475.99393"
+         sodipodi:cx="319.15903"
+         id="path1874"
+         style="fill:#2e3436;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <path
+         style="fill:url(#linearGradient15782);fill-opacity:1;stroke:black;stroke-width:8.48528099;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M 622.625,292.21875 C 604.32991,292.68356 587.3942,300.20392 576.5,314.53125 C 555.53983,342.09665 564.82942,384.46557 597.21875,409.09375 C 616.23902,423.55638 639.00122,428.7031 658.8125,424.90625 C 658.5632,416.89958 658.05229,408.83663 657.15625,400.71875 C 652.98387,362.91802 641.02847,325.59681 622.625,292.21875 z "
+         transform="translate(3.1367,1.5684)"
+         id="path13766" />
+      <path
+         transform="translate(285.4395,-134.878)"
+         sodipodi:type="arc"
+         style="fill:#2e3436;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path1876"
+         sodipodi:cx="319.15903"
+         sodipodi:cy="475.99393"
+         sodipodi:rx="13.330967"
+         sodipodi:ry="13.330967"
+         d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z" />
+      <path
+         sodipodi:nodetypes="ccs"
+         id="path1931"
+         d="M 289.21497,603.10708 C 323.2822,612.96807 373.05399,632.50261 363.32196,670.29904 C 354.97233,699.58499 295.23177,704.64767 261.16455,694.78668"
+         style="fill:url(#linearGradient15784);fill-opacity:1;stroke:black;stroke-width:7.99999428;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+         transform="translate(25.09359,-148.9931)" />
+      <path
+         style="fill:url(#linearGradient15786);fill-opacity:1;stroke:black;stroke-width:7.99999714;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+         d="M 583.05909,611.87625 C 560.98374,621.41595 528.73192,640.31402 535.03822,676.87898 C 540.44873,705.21075 579.16024,710.10848 601.2356,700.56878"
+         id="path1934"
+         sodipodi:nodetypes="ccs"
+         transform="translate(25.09359,-148.9931)" />
+      <g
+         transform="matrix(1.418369,0,0,1.750494,-193.5555,-508.7891)"
+         id="g1938">
+        <path
+           transform="matrix(3.941177,0,0,2,-761.4796,-442.2743)"
+           d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z"
+           sodipodi:ry="13.330967"
+           sodipodi:rx="13.330967"
+           sodipodi:cy="475.99393"
+           sodipodi:cx="319.15903"
+           id="path1880"
+           style="fill:#2e3436;fill-opacity:1;stroke:black;stroke-width:1.80836964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:url(#radialGradient15820);fill-opacity:1;stroke:none;stroke-width:3.27866769;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path1936"
+           sodipodi:cx="319.15903"
+           sodipodi:cy="475.99393"
+           sodipodi:rx="13.330967"
+           sodipodi:ry="13.330967"
+           d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z"
+           transform="matrix(1.941177,0,0,1.235294,-137.2767,-86.90488)" />
+      </g>
+      <g
+         inkscape:transform-center-x="-20.925502"
+         inkscape:transform-center-y="-44.890346"
+         transform="matrix(0.73157,-6.888214e-2,2.240181e-2,0.764038,506.3128,-126.5984)"
+         id="g9297">
+        <path
+           style="fill:url(#radialGradient9314);fill-opacity:1;stroke:black;stroke-width:10.68578434;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+           d="M 12.546799,415.61249 L -316.8065,415.61249 C -334.05834,316.86923 -285.36443,237.2755 -148.99315,238.38905 C -11.016299,239.52882 40.777081,313.73254 12.546799,415.61249 z "
+           id="path7455"
+           sodipodi:nodetypes="ccsc" />
+        <path
+           sodipodi:nodetypes="ccsc"
+           id="path7467"
+           d="M -226.75266,415.61259 L -309.87542,415.61259 C -298.4817,346.35427 -270.61512,290.14462 -247.67324,290.14462 C -224.73135,290.14462 -215.35894,346.35427 -226.75266,415.61259 z "
+           style="fill:url(#radialGradient9316);fill-opacity:1;stroke:black;stroke-width:10.68580246;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+        <path
+           style="fill:url(#radialGradient9318);fill-opacity:1;stroke:black;stroke-width:10.68580246;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+           d="M -105.07947,412.47589 L -188.20223,412.47589 C -188.20223,343.21757 -169.58273,287.00792 -146.64085,287.00792 C -123.69896,287.00792 -105.07947,343.21757 -105.07947,412.47589 z "
+           id="path7469"
+           sodipodi:nodetypes="ccsc" />
+        <path
+           sodipodi:nodetypes="ccsc"
+           id="path7471"
+           d="M 5.8032716,415.61259 L -77.319489,415.61259 C -85.457861,346.35427 -73.443417,290.14462 -50.501537,290.14462 C -27.559647,290.14462 -2.3351009,346.35427 5.8032716,415.61259 z "
+           style="fill:url(#radialGradient9320);fill-opacity:1;stroke:black;stroke-width:10.68580246;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="ccsc"
+           id="path7465"
+           d="M 84.690852,417.18084 L -313.66986,417.18084 C -313.66986,397.26907 -224.43706,381.1088 -114.4895,381.1088 C -4.5419464,381.1088 84.690852,397.26907 84.690852,417.18084 z "
+           style="fill:url(#radialGradient9322);fill-opacity:1;stroke:black;stroke-width:10.68578529;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+      </g>
+    </g>
+  </g>
+</svg>
Binary file racoon-shot.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/racoon.glade	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,456 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
+<glade-interface>
+  <widget class="GtkWindow" id="main_window">
+    <property name="visible">True</property>
+    <property name="can_default">True</property>
+    <property name="has_default">True</property>
+    <property name="title" translatable="yes">Racoon Web Browser</property>
+    <property name="role">Racoon Web Browser</property>
+    <property name="default_width">640</property>
+    <property name="default_height">640</property>
+    <property name="destroy_with_parent">True</property>
+    <property name="icon_name">web-browser</property>
+    <property name="gravity">GDK_GRAVITY_NORTH_EAST</property>
+    <signal name="activate_default" handler="on_main_window_activate_default"/>
+    <signal name="destroy" handler="on_main_window_destroy"/>
+    <child>
+      <widget class="GtkVBox" id="vbox1">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkMenuBar" id="menubar1">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkMenuItem" id="file_menuitem">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_File</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menuitem1_menu">
+                    <child>
+                      <widget class="GtkImageMenuItem" id="new_window_menuitem">
+                        <property name="visible">True</property>
+                        <property name="label">Open _New Window</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_new1_activate"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="menu-item-image4">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-new</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="close_menuitem">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-close</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_quit1_activate"/>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="edit_menuitem">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Edit</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menuitem2_menu">
+                    <child>
+                      <widget class="GtkImageMenuItem" id="copy1">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-copy</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_copy1_activate"/>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separatormenuitem2">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="block">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Blacklist</property>
+                        <property name="use_underline">True</property>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="menu-item-image3">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-dialog-error</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="view_menuitem">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_View</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menuitem3_menu">
+                    <child>
+                      <widget class="GtkImageMenuItem" id="refresh1">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-refresh</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_refresh1_activate"/>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separator2">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkMenuItem" id="style">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Style</property>
+                        <property name="use_underline">True</property>
+                        <child>
+                          <widget class="GtkMenu" id="style_menu">
+                            <child>
+                              <widget class="GtkRadioMenuItem" id="no_style">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">No style</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_no_style_activate"/>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separator3">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="normal_size1">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-zoom-100</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_normal_size1_activate"/>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="zoom_in1">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-zoom-in</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_zoom_in1_activate"/>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="zoom_out1">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-zoom-out</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_zoom_out1_activate"/>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="go_menuitem">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Go</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="go_menu">
+                    <child>
+                      <widget class="GtkImageMenuItem" id="back1">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-go-back</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_back1_activate"/>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="forward1">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-go-forward</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_forward1_activate"/>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separator1">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkMenuItem" id="history1">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_History</property>
+                        <property name="use_underline">True</property>
+                        <child>
+                          <widget class="GtkMenu" id="history1_menu">
+                            <child>
+                              <widget class="GtkMenuItem" id="item4">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">item4</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_item4_activate"/>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="help_menuitem">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Help</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menuitem4_menu">
+                    <child>
+                      <widget class="GtkImageMenuItem" id="about">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-about</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_about_activate"/>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHBox" id="hbox2">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkToolbar" id="toolbar1">
+                <property name="visible">True</property>
+                <property name="show_arrow">False</property>
+                <child>
+                  <widget class="GtkMenuToolButton" id="back_button">
+                    <property name="visible">True</property>
+                    <property name="is_important">True</property>
+                    <property name="stock_id">gtk-go-back</property>
+                    <property name="tooltip" translatable="yes">Go back to previous page</property>
+                    <signal name="clicked" handler="on_back_button_clicked"/>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="refresh_button">
+                    <property name="visible">True</property>
+                    <property name="is_important">True</property>
+                    <property name="stock_id">gtk-refresh</property>
+                    <property name="tooltip" translatable="yes">Reload the curent page</property>
+                    <signal name="clicked" handler="on_refresh_button_clicked"/>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkToolButton" id="stop_button">
+                    <property name="is_important">True</property>
+                    <property name="stock_id">gtk-stop</property>
+                    <property name="tooltip" translatable="yes">Stop loading</property>
+                    <signal name="clicked" handler="on_stop_button_clicked"/>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkEntry" id="location_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_focus">True</property>
+                <property name="activates_default">True</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkProgressBar" id="load_progress">
+                <property name="sensitive">False</property>
+                <property name="activity_mode">True</property>
+                <property name="show_text">True</property>
+                <property name="text_xalign">0</property>
+                <property name="pulse_step">0.10000000149011612</property>
+                <property name="text" translatable="yes">Loading...</property>
+                <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
+              </widget>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkScrolledWindow" id="html_window">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+            <property name="shadow_type">GTK_SHADOW_IN</property>
+            <child>
+              <placeholder/>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkStatusbar" id="status_bar">
+            <property name="visible">True</property>
+            <property name="sensitive">False</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkMenu" id="link_menu">
+    <child>
+      <widget class="GtkImageMenuItem" id="open_link">
+        <property name="visible">True</property>
+        <property name="label">gtk-jump-to</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+        <signal name="activate" handler="on_open_link_activate"/>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkImageMenuItem" id="copy_link_location">
+        <property name="visible">True</property>
+        <property name="label">gtk-copy</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+        <signal name="activate" handler="on_copy_link_location_activate"/>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkMenu" id="page_menu">
+    <child>
+      <widget class="GtkImageMenuItem" id="zoom_in">
+        <property name="visible">True</property>
+        <property name="label">gtk-zoom-in</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+        <signal name="activate" handler="on_zoom_in_activate"/>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkImageMenuItem" id="zoom_out">
+        <property name="visible">True</property>
+        <property name="label">gtk-zoom-out</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+        <signal name="activate" handler="on_zoom_out_activate"/>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkAboutDialog" id="aboutdialog">
+    <property name="copyright" translatable="yes">Copyright (c) 2006, Radomir Dopieralski
+All rights reserved.</property>
+    <property name="comments" translatable="yes">This is a development version of a lightweight, simple web browser.</property>
+    <property name="website">http://sheep.art.pl/projects/racoon/</property>
+    <property name="license" translatable="yes" comments="BSD licence">Copyright (c) 2006, Radomir Dopieralski
+All rights reserved.
+
+Redistribution and use in source and binary forms, 
+with or without modification, are permitted provided 
+that the following conditions are met:
+
+Redistributions of source code must retain the above
+copyright notice, this list of conditions and the following 
+disclaimer.
+
+Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials
+provided with the distribution.
+
+The names of its contributors may not be used to
+endorse or promote products derived from this software
+without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
+NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGE.</property>
+    <property name="authors">Radomir Dopieralski</property>
+    <property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">translator-credits</property>
+    <property name="logo">racoon-large.svg</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/racoon.gladep	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,8 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
+
+<glade-project>
+  <name></name>
+  <program_name></program_name>
+  <gnome_support>FALSE</gnome_support>
+</glade-project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/racoon.py	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,8 @@
+#!/usr/bin/env python
+
+import gtk
+import window
+
+window = window.MainWindow()
+
+gtk.main()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/szop-kask.svg	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,832 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   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"
+   width="320"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44"
+   sodipodi:docbase="/home/sheep/Desktop/racoon/copy of racoon-0.4"
+   sodipodi:docname="szop-kask.svg"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient8366">
+      <stop
+         style="stop-color:#ffe612;stop-opacity:1;"
+         offset="0"
+         id="stop8368" />
+      <stop
+         style="stop-color:#c49900;stop-opacity:1;"
+         offset="1"
+         id="stop8370" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8358">
+      <stop
+         style="stop-color:#ffe92c;stop-opacity:1;"
+         offset="0"
+         id="stop8360" />
+      <stop
+         style="stop-color:#cfa900;stop-opacity:1;"
+         offset="1"
+         id="stop8362" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7374">
+      <stop
+         style="stop-color:#57d216;stop-opacity:1;"
+         offset="0"
+         id="stop7376" />
+      <stop
+         style="stop-color:#609a06;stop-opacity:1;"
+         offset="1"
+         id="stop7378" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7358">
+      <stop
+         style="stop-color:#4e9a06;stop-opacity:1;"
+         offset="0"
+         id="stop7360" />
+      <stop
+         style="stop-color:#4e9a06;stop-opacity:1;"
+         offset="1"
+         id="stop7362" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5541">
+      <stop
+         id="stop5543"
+         offset="0"
+         style="stop-color:#9ca492;stop-opacity:1;" />
+      <stop
+         id="stop5545"
+         offset="1"
+         style="stop-color:#2e2f2d;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5524">
+      <stop
+         style="stop-color:#c3c8bd;stop-opacity:1;"
+         offset="0"
+         id="stop5526" />
+      <stop
+         style="stop-color:#666764;stop-opacity:1;"
+         offset="1"
+         id="stop5528" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5512">
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0"
+         id="stop5514" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop5516" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4615">
+      <stop
+         style="stop-color:#888a85;stop-opacity:1;"
+         offset="0"
+         id="stop4617" />
+      <stop
+         style="stop-color:#888a85;stop-opacity:0;"
+         offset="1"
+         id="stop4619" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3722">
+      <stop
+         style="stop-color:#555753;stop-opacity:1;"
+         offset="0"
+         id="stop3724" />
+      <stop
+         style="stop-color:#555753;stop-opacity:0;"
+         offset="1"
+         id="stop3726" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2829">
+      <stop
+         style="stop-color:#555753;stop-opacity:1;"
+         offset="0"
+         id="stop2831" />
+      <stop
+         style="stop-color:#555753;stop-opacity:0;"
+         offset="1"
+         id="stop2833" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7437"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.960392e-2,-0.999215,0.686449,2.720741e-2,-272.4647,120.929)"
+       cx="-112.35813"
+       cy="239.72122"
+       fx="-112.35813"
+       fy="239.72122"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="radialGradient7439"
+       gradientUnits="userSpaceOnUse"
+       cx="121.95625"
+       cy="389.80618"
+       fx="121.95625"
+       fy="389.80618"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7441"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.84906e-2,-0.968356,0.747899,2.972778e-2,-287.2571,123.5615)"
+       cx="-104.57357"
+       cy="238.00775"
+       fx="-104.57357"
+       fy="238.00775"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7443"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.960392e-2,-0.999215,0.686449,2.720741e-2,-272.4647,120.929)"
+       cx="-112.35813"
+       cy="239.72122"
+       fx="-112.35813"
+       fy="239.72122"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient7445"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3722"
+       id="linearGradient7447"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.568349,-28.23028)"
+       x1="366.94894"
+       y1="681.04279"
+       x2="287.00629"
+       y2="659.08594" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2829"
+       id="linearGradient7449"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-25.09358)"
+       x1="516.1203"
+       y1="681.97015"
+       x2="581.71008"
+       y2="658.44495" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4615"
+       id="radialGradient7451"
+       gradientUnits="userSpaceOnUse"
+       cx="319.15903"
+       cy="475.99393"
+       fx="319.15903"
+       fy="475.99393"
+       r="13.330967" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient7453"
+       gradientUnits="userSpaceOnUse"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8358"
+       id="radialGradient9314"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.999951,-9.895197e-3,9.010218e-3,0.91052,-2.398157,50.74841)"
+       cx="-195.56299"
+       cy="265.09708"
+       fx="-195.56299"
+       fy="265.09708"
+       r="174.06339" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8358"
+       id="radialGradient9316"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.992929,0.118709,-0.228785,1.913643,83.048,-301.3943)"
+       cx="-256.47952"
+       cy="370.92242"
+       fx="-256.47952"
+       fy="370.92242"
+       r="47.985809" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8366"
+       id="radialGradient9318"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,4.376814e-8,-8.520013e-8,1.946625,3.107526e-5,-338.2986)"
+       cx="-146.64085"
+       cy="364.73257"
+       fx="-146.64085"
+       fy="364.73257"
+       r="45.561386" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8366"
+       id="radialGradient9320"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.995573,-9.399514e-2,0.200921,2.128108,-72.42641,-406.9471)"
+       cx="-44.873184"
+       cy="359.48273"
+       fx="-44.873184"
+       fy="359.48273"
+       r="46.834721" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8366"
+       id="radialGradient9322"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.209524,0,0,0.400282,3.121746,239.3745)"
+       cx="-130.17296"
+       cy="399.14441"
+       fx="-130.17296"
+       fy="399.14441"
+       r="168.67665" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient11102"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,14.51106,-17.25184)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient13790"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3722"
+       id="linearGradient13792"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.568349,-28.23028)"
+       x1="366.94894"
+       y1="681.04279"
+       x2="287.00629"
+       y2="659.08594" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2829"
+       id="linearGradient13794"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-25.09358)"
+       x1="516.1203"
+       y1="681.97015"
+       x2="581.71008"
+       y2="658.44495" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4615"
+       id="radialGradient13796"
+       gradientUnits="userSpaceOnUse"
+       cx="319.15903"
+       cy="475.99393"
+       fx="319.15903"
+       fy="475.99393"
+       r="13.330967" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient13803"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13807"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13810"
+       gradientUnits="userSpaceOnUse"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782"
+       gradientTransform="translate(-123.8996,-48.61881)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13854"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13856"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13858"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13860"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13862"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13864"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13976"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13978"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13980"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13982"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13984"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13986"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13988"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-123.8996,-48.61881)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13990"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.959634,0,0,1,-131.3454,84.69085)"
+       x1="35.404572"
+       y1="724.46252"
+       x2="589.97729"
+       y2="846.79376" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7374"
+       id="linearGradient13992"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-125.4679,-51.75551)"
+       x1="222.74315"
+       y1="667.21783"
+       x2="681.80481"
+       y2="999.70782" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="linearGradient14889"
+       x1="414.31613"
+       y1="393.74982"
+       x2="206.42796"
+       y2="344.09711"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="linearGradient15782"
+       x1="561.04761"
+       y1="307.40967"
+       x2="674.03357"
+       y2="340.345"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3722"
+       id="linearGradient15784"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-10.97844,-7.841743)"
+       x1="366.94894"
+       y1="681.04279"
+       x2="287.00629"
+       y2="659.08594" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2829"
+       id="linearGradient15786"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.766691,0,0,1,142.6787,4.016172e-6)"
+       x1="516.1203"
+       y1="681.97015"
+       x2="581.71008"
+       y2="658.44495" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5541"
+       id="radialGradient15788"
+       gradientUnits="userSpaceOnUse"
+       cx="121.95625"
+       cy="389.80618"
+       fx="121.95625"
+       fy="389.80618"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient15790"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.84906e-2,-0.968356,0.747899,2.972778e-2,-287.2571,123.5615)"
+       cx="-104.57357"
+       cy="238.00775"
+       fx="-104.57357"
+       fy="238.00775"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient15792"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.960392e-2,-0.999215,0.686449,2.720741e-2,-272.4647,120.929)"
+       cx="-112.35813"
+       cy="239.72122"
+       fx="-112.35813"
+       fy="239.72122"
+       r="160.05072" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5524"
+       id="radialGradient15818"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.433771,-4.888221e-2,7.347119e-2,2.154996,-164.8079,-629.9984)"
+       cx="293.9061"
+       cy="581.9389"
+       fx="293.9061"
+       fy="581.9389"
+       r="238.1875" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4615"
+       id="radialGradient15820"
+       gradientUnits="userSpaceOnUse"
+       cx="319.15903"
+       cy="475.99393"
+       fx="319.15903"
+       fy="475.99393"
+       r="13.330967" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.7226562"
+     inkscape:cx="160"
+     inkscape:cy="128"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1278"
+     inkscape:window-height="944"
+     inkscape:window-x="1"
+     inkscape:window-y="0"
+     width="320px"
+     height="256px" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g7393"
+       transform="translate(25.09359,-148.9931)">
+      <g
+         id="g7383" />
+    </g>
+    <g
+       id="g1993"
+       transform="matrix(0.397602,0,0,0.397602,21.7721,-10.37325)">
+      <g
+         transform="matrix(-0.866025,-0.5,-0.5,0.866025,557.8357,-95.70587)"
+         id="g1919">
+        <path
+           sodipodi:type="arc"
+           style="fill:#555753;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path1921"
+           sodipodi:cx="227.4106"
+           sodipodi:cy="370.91455"
+           sodipodi:rx="56.460564"
+           sodipodi:ry="82.338326"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           transform="translate(-390.5189,-101.9427)" />
+        <path
+           transform="matrix(0.649863,0,0,0.657143,-310.8939,25.228)"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           sodipodi:ry="82.338326"
+           sodipodi:rx="56.460564"
+           sodipodi:cy="370.91455"
+           sodipodi:cx="227.4106"
+           id="path1923"
+           style="fill:#babdb6;fill-opacity:1;stroke:black;stroke-width:12.24191475;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+      </g>
+      <g
+         id="g1906"
+         transform="matrix(0.866026,-0.5,0.5,0.866026,84.87638,94.5841)"
+         style="fill:url(#radialGradient7437);fill-opacity:1">
+        <path
+           transform="translate(-243.0941,-144.2881)"
+           d="M 321.51154 449.332 A 156.05072 156.05072 0 1 1  9.4100952,449.332 A 156.05072 156.05072 0 1 1  321.51154 449.332 z"
+           sodipodi:ry="156.05072"
+           sodipodi:rx="156.05072"
+           sodipodi:cy="449.332"
+           sodipodi:cx="165.46082"
+           id="path1882"
+           style="fill:url(#radialGradient15788);fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           id="path1900"
+           d="M -199,207.03125 C -215.52507,227.46333 -227.01199,252.12781 -231.53125,279.15625 L 76.25,279.15625 C 71.730477,252.12872 60.274599,227.46275 43.75,207.03125 L -199,207.03125 z "
+           style="fill:url(#radialGradient15790);fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+        <path
+           id="rect1898"
+           d="M -224.59375,357.59375 C -214.81407,384.91394 -197.63703,408.72403 -175.46875,426.59375 L 20.1875,426.59375 C 42.359642,408.7238 59.531217,384.91666 69.3125,357.59375 L -224.59375,357.59375 z "
+           style="fill:url(#radialGradient15792);fill-opacity:1;stroke:black;stroke-width:7.99999666;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      </g>
+      <g
+         id="g1915"
+         transform="matrix(0.866025,-0.5,0.5,0.866025,307.893,-108.2527)">
+        <path
+           transform="translate(-390.5189,-101.9427)"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           sodipodi:ry="82.338326"
+           sodipodi:rx="56.460564"
+           sodipodi:cy="370.91455"
+           sodipodi:cx="227.4106"
+           id="path1911"
+           style="fill:#555753;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#babdb6;fill-opacity:1;stroke:black;stroke-width:12.24191475;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path1913"
+           sodipodi:cx="227.4106"
+           sodipodi:cy="370.91455"
+           sodipodi:rx="56.460564"
+           sodipodi:ry="82.338326"
+           d="M 283.87116 370.91455 A 56.460564 82.338326 0 1 1  170.95004,370.91455 A 56.460564 82.338326 0 1 1  283.87116 370.91455 z"
+           transform="matrix(0.649863,0,0,0.657143,-310.8939,25.228)" />
+      </g>
+      <path
+         sodipodi:nodetypes="csccsc"
+         id="path1872"
+         d="M 403.0625,316.8125 C 275.70861,316.8125 184.28469,411.10971 170.96875,548.9375 C 162.61147,635.44028 184.97596,697.7629 216.96858,758.32035 C 362.0454,714.40658 453.79835,717.54328 589.46507,759.8887 C 621.89336,705.56752 643.45441,626.1775 635.1875,551.28125 C 621.98621,431.68065 531.19034,316.8125 403.0625,316.8125 z "
+         style="fill:url(#radialGradient15818);fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         transform="translate(25.09359,-148.9931)" />
+      <path
+         sodipodi:type="arc"
+         style="fill:url(#linearGradient14889);fill-opacity:1;stroke:black;stroke-width:8.48528099;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path12879"
+         sodipodi:cx="321.51154"
+         sodipodi:cy="360.72028"
+         sodipodi:rx="73.712402"
+         sodipodi:ry="70.575706"
+         d="M 395.22394 360.72028 A 73.712402 70.575706 0 1 1  247.79913,360.72028 A 73.712402 70.575706 0 1 1  395.22394 360.72028 z"
+         transform="matrix(0.796017,-0.605275,0.538022,0.707571,-114.3773,295.3831)" />
+      <path
+         transform="translate(25.0936,-133.3096)"
+         d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z"
+         sodipodi:ry="13.330967"
+         sodipodi:rx="13.330967"
+         sodipodi:cy="475.99393"
+         sodipodi:cx="319.15903"
+         id="path1874"
+         style="fill:#2e3436;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <path
+         style="fill:url(#linearGradient15782);fill-opacity:1;stroke:black;stroke-width:8.48528099;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M 622.625,292.21875 C 604.32991,292.68356 587.3942,300.20392 576.5,314.53125 C 555.53983,342.09665 564.82942,384.46557 597.21875,409.09375 C 616.23902,423.55638 639.00122,428.7031 658.8125,424.90625 C 658.5632,416.89958 658.05229,408.83663 657.15625,400.71875 C 652.98387,362.91802 641.02847,325.59681 622.625,292.21875 z "
+         transform="translate(3.1367,1.5684)"
+         id="path13766" />
+      <path
+         transform="translate(285.4395,-134.878)"
+         sodipodi:type="arc"
+         style="fill:#2e3436;fill-opacity:1;stroke:black;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path1876"
+         sodipodi:cx="319.15903"
+         sodipodi:cy="475.99393"
+         sodipodi:rx="13.330967"
+         sodipodi:ry="13.330967"
+         d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z" />
+      <path
+         sodipodi:nodetypes="ccs"
+         id="path1931"
+         d="M 289.21497,603.10708 C 323.2822,612.96807 373.05399,632.50261 363.32196,670.29904 C 354.97233,699.58499 295.23177,704.64767 261.16455,694.78668"
+         style="fill:url(#linearGradient15784);fill-opacity:1;stroke:black;stroke-width:7.99999428;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+         transform="translate(25.09359,-148.9931)" />
+      <path
+         style="fill:url(#linearGradient15786);fill-opacity:1;stroke:black;stroke-width:7.99999714;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+         d="M 583.05909,611.87625 C 560.98374,621.41595 528.73192,640.31402 535.03822,676.87898 C 540.44873,705.21075 579.16024,710.10848 601.2356,700.56878"
+         id="path1934"
+         sodipodi:nodetypes="ccs"
+         transform="translate(25.09359,-148.9931)" />
+      <g
+         transform="matrix(1.418369,0,0,1.750494,-193.5555,-508.7891)"
+         id="g1938">
+        <path
+           transform="matrix(3.941177,0,0,2,-761.4796,-442.2743)"
+           d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z"
+           sodipodi:ry="13.330967"
+           sodipodi:rx="13.330967"
+           sodipodi:cy="475.99393"
+           sodipodi:cx="319.15903"
+           id="path1880"
+           style="fill:#2e3436;fill-opacity:1;stroke:black;stroke-width:1.80836964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:url(#radialGradient15820);fill-opacity:1;stroke:none;stroke-width:3.27866769;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path1936"
+           sodipodi:cx="319.15903"
+           sodipodi:cy="475.99393"
+           sodipodi:rx="13.330967"
+           sodipodi:ry="13.330967"
+           d="M 332.48999 475.99393 A 13.330967 13.330967 0 1 1  305.82806,475.99393 A 13.330967 13.330967 0 1 1  332.48999 475.99393 z"
+           transform="matrix(1.941177,0,0,1.235294,-137.2767,-86.90488)" />
+      </g>
+      <g
+         inkscape:transform-center-x="-20.925502"
+         inkscape:transform-center-y="-44.890346"
+         transform="matrix(0.73157,-6.888214e-2,2.240181e-2,0.764038,506.3128,-126.5984)"
+         id="g9297">
+        <path
+           style="fill:url(#radialGradient9314);fill-opacity:1;stroke:black;stroke-width:10.68578434;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+           d="M 12.546799,415.61249 L -316.8065,415.61249 C -334.05834,316.86923 -285.36443,237.2755 -148.99315,238.38905 C -11.016299,239.52882 40.777081,313.73254 12.546799,415.61249 z "
+           id="path7455"
+           sodipodi:nodetypes="ccsc" />
+        <path
+           sodipodi:nodetypes="ccsc"
+           id="path7467"
+           d="M -226.75266,415.61259 L -309.87542,415.61259 C -298.4817,346.35427 -270.61512,290.14462 -247.67324,290.14462 C -224.73135,290.14462 -215.35894,346.35427 -226.75266,415.61259 z "
+           style="fill:url(#radialGradient9316);fill-opacity:1;stroke:black;stroke-width:10.68580246;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+        <path
+           style="fill:url(#radialGradient9318);fill-opacity:1;stroke:black;stroke-width:10.68580246;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+           d="M -105.07947,412.47589 L -188.20223,412.47589 C -188.20223,343.21757 -169.58273,287.00792 -146.64085,287.00792 C -123.69896,287.00792 -105.07947,343.21757 -105.07947,412.47589 z "
+           id="path7469"
+           sodipodi:nodetypes="ccsc" />
+        <path
+           sodipodi:nodetypes="ccsc"
+           id="path7471"
+           d="M 5.8032716,415.61259 L -77.319489,415.61259 C -85.457861,346.35427 -73.443417,290.14462 -50.501537,290.14462 C -27.559647,290.14462 -2.3351009,346.35427 5.8032716,415.61259 z "
+           style="fill:url(#radialGradient9320);fill-opacity:1;stroke:black;stroke-width:10.68580246;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="ccsc"
+           id="path7465"
+           d="M 84.690852,417.18084 L -313.66986,417.18084 C -313.66986,397.26907 -224.43706,381.1088 -114.4895,381.1088 C -4.5419464,381.1088 84.690852,397.26907 84.690852,417.18084 z "
+           style="fill:url(#radialGradient9322);fill-opacity:1;stroke:black;stroke-width:10.68578529;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+      </g>
+    </g>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/view.py	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,97 @@
+import gtk
+import gtkhtml2
+
+class DummyStream:
+    def __init__(self, doc, mime):
+        self.doc = doc
+        doc.open_stream(mime)
+    
+    def write(self, buff):
+        return self.doc.write_stream(buff)
+
+    def close(self):
+        return self.doc.close_stream()
+
+
+class View:
+    def __init__(self, browser):
+        self.browser = browser
+        # Prepare the gtkhtml2 widgets
+        self.document = gtkhtml2.Document()
+        self.document.connect('request_url', self.on_document_request_url)
+        self.document.connect('link_clicked', self.on_document_link_clicked)
+        self.document.connect('title_changed', self.on_document_title_changed)
+        self.document.connect('set_base', self.on_document_set_base)
+        self.view = gtkhtml2.View()
+        self.view.connect('on_url', self.on_view_on_url)
+        self.view.connect('button_press_event', self.on_view_button_press_event)
+        self.view.connect_after('button_press_event', self.after_view_button_press_event)
+
+        gesture =[('gesture', gtk.TARGET_SAME_WIDGET, 0)]
+        self.view.drag_source_set(gtk.gdk.BUTTON2_MASK, gesture, gtk.gdk.ACTION_DEFAULT)
+        self.view.drag_dest_set(gtk.DEST_DEFAULT_MOTION, gesture, gtk.gdk.ACTION_DEFAULT)
+        self.view.connect('drag_begin', self.on_view_drag_begin)
+        self.view.connect('drag_motion', self.on_view_drag_motion)
+
+        scrolled_window = self.browser.win.xml.get_widget('html_window')
+        scrolled_window.set_hadjustment(self.view.get_hadjustment())
+        scrolled_window.set_vadjustment(self.view.get_vadjustment())
+        self.view.set_document(self.document)
+        scrolled_window.add(self.view)
+        scrolled_window.show_all()
+        self.mouse_button = None
+        self.mouse_time = None
+        self.selected_link = None
+        self.drag_start_x = None
+        self.drag_start_y = None
+        
+    def open_stream(self, mime='text/plain'):
+        return DummyStream(self.document, mime)
+
+# ------- Event handlers -------------
+    def on_view_button_press_event(self, view, event):
+        self.mouse_button = event.button
+        self.mouse_time = event.time
+    
+    def after_view_button_press_event(self, view, event):
+        if self.mouse_button==3:
+            if self.selected_link is None:
+                self.browser.win.page_menu.popup(None, None, None, self.mouse_button, self.mouse_time)
+            else:
+                self.selected_link = None
+
+    def on_view_drag_begin(self, widget, context):
+        self.view.drag_source_set_icon_stock(gtk.STOCK_GO_BACK)
+
+    def on_view_drag_motion(self, widget, context, x, y, time):
+        if self.drag_start_x is None:
+            self.drag_start_x = x
+            self.drag_start_y = y
+        if self.drag_start_x>x:
+            self.view.drag_source_set_icon_stock(gtk.STOCK_GO_BACK)
+        else:
+            self.view.drag_source_set_icon_stock(gtk.STOCK_GO_FORWARD)
+        print x, y
+        return False
+
+    def on_document_link_clicked(self, document, link):
+        self.selected_link = link
+        if self.mouse_button==3:
+            self.browser.win.link_menu.popup(None, None, None, self.mouse_button, self.mouse_time)
+        else:
+            self.browser.open_url(link)
+
+    def on_document_request_url(self, document, link, stream):
+        self.browser.load_url(link, stream)
+
+    def on_document_title_changed(self, document, title):
+        self.browser.set_title(title)
+
+    def on_document_set_base(self, document, base_url):
+        self.browser.set_base_url(base_url)
+
+    def on_view_on_url(self, html_view, link):
+        if link:
+            self.browser.win.status_push('link hover', link )
+        else:
+            self.browser.win.status_pop('link hover')
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/window.py	Sat Jan 14 13:22:10 2017 +0100
@@ -0,0 +1,68 @@
+import pygtk
+pygtk.require("2.0")
+import gtk
+import gtk.glade
+
+import browser
+
+class MainWindow:
+    def __init__(self):
+        self.xml = gtk.glade.XML('racoon.glade')
+        self.xml.signal_autoconnect(self)
+        self.location_entry =  self.xml.get_widget('location_entry')
+        self.location_entry.connect('activate', self.on_location_entry_activate)
+        self.status_bar = self.xml.get_widget('status_bar')
+        self.load_progress = self.xml.get_widget('load_progress')
+        self.stop_button = self.xml.get_widget('stop_button')
+        self.refresh_button = self.xml.get_widget('refresh_button')
+        self.main_window = self.xml.get_widget('main_window')
+        self.link_menu = self.xml.get_widget('link_menu')
+        self.page_menu = self.xml.get_widget('page_menu')
+        self.browser = browser.Browser(self)
+
+    def status_push(self, context, text):
+        context_id = self.status_bar.get_context_id(context)
+        self.status_bar.push(context_id, text)
+
+    def status_pop(self, context):
+        context_id = self.status_bar.get_context_id(context)
+        self.status_bar.pop(context_id)
+
+    def set_title(self, text):
+        self.main_window.set_title(text)
+
+    def set_location(self, url):
+        self.location_entry.set_text(url)
+
+
+    def start_loading(self, url):
+        self.load_progress.set_text(url)
+        self.load_progress.set_property('visible',  True)
+        self.location_entry.set_property('visible', False)
+        self.stop_button.set_property('visible',  True)
+        self.refresh_button.set_property('visible', False)
+
+    def finish_loading(self):
+        self.load_progress.set_property('visible',  False)
+        self.location_entry.set_property('visible', True)
+        self.stop_button.set_property('visible',  False)
+        self.refresh_button.set_property('visible', True)
+        
+
+# ----- The event handlers -----------
+
+    def on_location_entry_activate(self, entry):
+        self.browser.open_url(self.location_entry.get_text())
+
+    def on_back_button_clicked(self, button):
+        self.browser.history_back()
+
+    def on_refresh_button_clicked(self, button):
+        self.browser.open_url(self.browser.current_url)
+
+    def on_main_window_destroy(self, window):
+        gtk.main_quit()
+
+    def on_location_dropdown_change(self, dropdown):
+        if self.location_entry.get_text()=='clear':
+            self.location_entry.set_text('')