Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorin <toz@thorin-kerrs-macbook-3.local>2012-06-11 15:03:02 (GMT)
committer Thorin <toz@thorin-kerrs-macbook-3.local>2012-06-11 15:03:02 (GMT)
commit454ad3c473b3ff5081b18f00b516402794f2741d (patch)
treec64c5a30231029b8fc21ec225e8a47f0827df38e
parent55755a29f64dba0168f1ce2900562c8468662cbc (diff)
version 4, new toolbar and fixesHEADmaster
-rwxr-xr-x[-rw-r--r--]COPYING0
-rwxr-xr-xCity/CsSched.py64
-rwxr-xr-xCity/Images/blues1.svg110
-rwxr-xr-xCity/Images/blues2.svg110
-rwxr-xr-xCity/Images/city1.svg156
-rwxr-xr-xCity/Images/city2.svg156
-rwxr-xr-xCity/Images/country1.svg33
-rwxr-xr-xCity/Images/country2.svg33
-rwxr-xr-xCity/Images/density1.svg19
-rwxr-xr-xCity/Images/density2.svg19
-rwxr-xr-x[-rw-r--r--]City/Images/jam2jamXO_2.pngbin37883 -> 37883 bytes
-rwxr-xr-xCity/Images/jam2jamXO_4.pngbin0 -> 78314 bytes
-rwxr-xr-xCity/Images/latin1.svg1330
-rwxr-xr-xCity/Images/latin2.svg1330
-rwxr-xr-xCity/Images/length1.svg15
-rwxr-xr-xCity/Images/length2.svg15
-rwxr-xr-xCity/Images/pitch1.svg14
-rwxr-xr-xCity/Images/pitch2.svg15
-rwxr-xr-xCity/Images/reggae1.svg56
-rwxr-xr-xCity/Images/reggae2.svg56
-rwxr-xr-xCity/Images/timbre1.svg14
-rwxr-xr-xCity/Images/timbre2.svg14
-rwxr-xr-xCity/Images/volume1.svg14
-rwxr-xr-xCity/Images/volume2.svg14
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/BassAudio/BassC2[41-48-50].aifbin101158 -> 101158 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/BassAudio/BassC3[59-60-62].aifbin103186 -> 103186 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/BassAudio/BassC4[70-72-78].aifbin100678 -> 100678 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/BassAudio/BassF#2[51-54-58].aifbin100048 -> 100048 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC4[70-72-73].aifbin72482 -> 72482 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC5[82-84-90].aifbin72654 -> 72654 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE3[63-64-65].aifbin72798 -> 72798 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE4[74-76-77].aifbin72236 -> 72236 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/DrumsAudio/C1_kick_drum.aifbin12670 -> 12670 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/DrumsAudio/D1_snare_drum.aifbin15168 -> 15168 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/DrumsAudio/F#1_closed_hi_hat.aifbin6302 -> 6302 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/DrumsAudio/Tamborine 22 16 Mono.aifbin21174 -> 21174 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/LeadAudio/B2_guitar.aifbin50070 -> 50070 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/LeadAudio/B3_guitar.aifbin50412 -> 50412 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/LeadAudio/E2_guitar.aifbin51016 -> 51016 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/LeadAudio/E3_guitar.aifbin50324 -> 50324 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/LeadAudio/E4_guitar.aifbin49942 -> 49942 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/AudioFiles/LeadAudio/E5_guitar.aifbin51070 -> 51070 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/Blues_Data.txt0
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/MidiFiles/Bass.midbin738 -> 738 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/MidiFiles/Chords.midbin990 -> 990 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/MidiFiles/Drums.midbin3593 -> 3593 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Blues/MidiFiles/Lead.midbin906 -> 906 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/City/City_Data.txt0
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/BassAudio/BassC2[41-48-50].aifbin101158 -> 101158 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/BassAudio/BassC3[59-60-62].aifbin103186 -> 103186 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/BassAudio/BassC4[70-72-78].aifbin100678 -> 100678 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/BassAudio/BassF#2[51-54-58].aifbin100048 -> 100048 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/ChordsAudio/epnoC4[70-72-73].aifbin72482 -> 72482 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/ChordsAudio/epnoC5[82-84-90].aifbin72654 -> 72654 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/ChordsAudio/epnoE3[63-64-65].aifbin72798 -> 72798 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/ChordsAudio/epnoE4[74-76-77].aifbin72236 -> 72236 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/DrumsAudio/C1_kick_drum.aifbin12739 -> 12739 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/LeadAudio/B2_guitar.aifbin50070 -> 50070 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/LeadAudio/B3_guitar.aifbin50412 -> 50412 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/LeadAudio/E2_guitar.aifbin51016 -> 51016 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/LeadAudio/E3_guitar.aifbin50324 -> 50324 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/LeadAudio/E4_guitar.aifbin49942 -> 49942 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/AudioFiles/LeadAudio/E5_guitar.aifbin51070 -> 51070 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Country/Country_Data.txt0
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/BassAudio/BassC2[41-48-50].aifbin101130 -> 101130 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/BassAudio/BassC3[59-60-62].aifbin103158 -> 103158 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/BassAudio/BassC4[70-72-78].aifbin100650 -> 100650 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/BassAudio/BassF#2[51-54-58].aifbin100020 -> 100020 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C4 22 16 mono.aifbin20982 -> 20982 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C5 22 16 mono.aifbin20364 -> 20364 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G3 22 16 mono.aifbin21540 -> 21540 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G4 22 16 mono.aifbin19980 -> 19980 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C#3 22 16 Mono.aifbin7190 -> 7190 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C3 22 16 Mono.aifbin5530 -> 5530 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo D3 22 16 Mono.aifbin4432 -> 4432 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/DrumsAudio/ClosedhatF#1.aifbin5096 -> 5096 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/DrumsAudio/Kick-C1.aifbin14366 -> 14366 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/DrumsAudio/Shaker 22 16 Mono.aifbin13018 -> 13018 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/DrumsAudio/Snare-D1.aifbin30086 -> 30086 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/DrumsAudio/TambF#2.aifbin27936 -> 27936 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets A4 22 16 mono.aifbin28164 -> 28164 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets C4 22 16 mono.aifbin31100 -> 31100 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets E3 22 16 mono.aifbin31846 -> 31846 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets F4 22 16 mono.aifbin31886 -> 31886 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets G3 22 16 mono.aifbin32132 -> 32132 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/Latin_Data.txt0
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/MidiFiles/Bass.midbin614 -> 614 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/MidiFiles/Chords.midbin764 -> 764 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/MidiFiles/Drums.midbin2919 -> 2919 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Latin/MidiFiles/Lead.midbin844 -> 844 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/BassAudio/BassC2[41-48-50].aifbin101158 -> 101158 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/BassAudio/BassC3[59-60-62].aifbin103186 -> 103186 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/BassAudio/BassC4[70-72-78].aifbin100678 -> 100678 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/BassAudio/BassF#2[51-54-58].aifbin100048 -> 100048 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC4[70-72-73].aifbin72482 -> 72482 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC5[82-84-90].aifbin72654 -> 72654 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE3[63-64-65].aifbin72798 -> 72798 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE4[74-76-77].aifbin72236 -> 72236 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/DrumsAudio/ClosedhatF#1.aifbin5096 -> 5096 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/DrumsAudio/Kick-C1.aifbin14366 -> 14366 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/DrumsAudio/OpenhatA#1.aifbin112568 -> 112568 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/DrumsAudio/Snare-D1.aifbin30086 -> 30086 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/DrumsAudio/TambF#2.aifbin27936 -> 27936 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/LeadAudio/B2_guitar.aifbin50070 -> 50070 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/LeadAudio/B3_guitar.aifbin50412 -> 50412 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/LeadAudio/E2_guitar.aifbin51016 -> 51016 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/LeadAudio/E3_guitar.aifbin50324 -> 50324 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/LeadAudio/E4_guitar.aifbin49942 -> 49942 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/AudioFiles/LeadAudio/E5_guitar.aifbin51070 -> 51070 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/MidiFiles/Bass.midbin484 -> 484 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/MidiFiles/Chords.midbin947 -> 947 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/MidiFiles/Drums.midbin1638 -> 1638 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/MidiFiles/Lead.midbin764 -> 764 bytes
-rwxr-xr-x[-rw-r--r--]City/Scenes/Reggae/Reggae_Data.txt0
-rwxr-xr-x[-rw-r--r--]InstrumentPanel.py0
-rwxr-xr-xJ2JToolbar.py325
-rwxr-xr-xJ2JToolbar.py~319
-rwxr-xr-xJ2JToolbars.py621
-rwxr-xr-x[-rw-r--r--]MANIFEST278
-rwxr-xr-xMANIFEST.in1
-rwxr-xr-x[-rw-r--r--]README0
-rwxr-xr-xactivity.py168
-rwxr-xr-xactivity/activity.info2
-rwxr-xr-xicons/Country-edit1.svg33
-rwxr-xr-xicons/Latin-edit1.svg1330
-rwxr-xr-xicons/Reggae-edit1.svg109
-rwxr-xr-xicons/city-edit1.svg158
-rwxr-xr-xicons/city-edit2.svg158
-rwxr-xr-xicons/horizontal5.svg20
-rwxr-xr-xicons/music.svg10
-rwxr-xr-xicons/music2.svg20
-rwxr-xr-xicons/vertical5.svg20
-rwxr-xr-xmybutton.py62
-rwxr-xr-xpo/Jam2Jam.pot59
-rwxr-xr-x[-rw-r--r--]po/POTFILES.in9
-rwxr-xr-x[-rw-r--r--]run.py14
-rw-r--r--run.py~576
137 files changed, 6466 insertions, 1413 deletions
diff --git a/COPYING b/COPYING
index 2070779..2070779 100644..100755
--- a/COPYING
+++ b/COPYING
diff --git a/City/CsSched.py b/City/CsSched.py
index d3288dc..c86e3dd 100755
--- a/City/CsSched.py
+++ b/City/CsSched.py
@@ -16,7 +16,8 @@
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-import csnd, heapq
+import csnd
+from heapq import heappush, heappop
from CsHelpers import *
class Csound:
@@ -28,12 +29,25 @@ class Csound:
def __repr__(self):
return "Precompiled Csound object"
-
-class Sched:
- def __init__(self):
- self.queue = []
+class Sched( object ):
+ queue = []
+ time = 0
+ def __init__(self, kr=172.265625, tempo=60):
+ self.kr = kr
+ self.tempo = 60
+ def _increment(self):
+ "return the time increment value"
+ return (1.0 / self.kr) * (60.0 / self.tempo)
+ def poll(self, inc):
+ "increments the time value, and evaluates items scheduled in the past"
+ self.time += (1.0 / self.kr) * (self.tempo / 60.0) #increment the time. The question is... should I let Csound store the time. No GIL that way. hmmm.
+ for i in self.queue:
+ if self.time >= i[0]:
+ obj = heappop(self.queue)
+ (obj[1] (*obj[2]))
+ else: break
def schedEvent(self, time, func, *args):
- heapq.heappush(self.queue, (time, func, args))
+ heappush(self.queue, (time, func, args))
def getTime(self):
if self:
return self.queue[0][0]
@@ -51,13 +65,24 @@ class Sched:
return self.queue[0][2]
def __len__(self):
return len(self.queue)
- def __repr__(self):
- return str(self.queue)
-
+ def __add__(self, integer):
+ "returns now + time value"
+ return self.now() + integer
+ def __rshift__(self, beat):
+ "returns the next nth beat time"
+ return ceil(self.now()) + beat
+ def __div__(self, barlength):
+ "where barlength is the number of beats in a bar, returns a tuple of the current time represented in the form (bar no. , beat no)"
+ return divmod(self.now(), barlength)
+ def now(self):
+ return self.time
+ def reset(self, reset=0):
+ self.time = reset
+
class CsoundChan:
- "a container for Csound channel data"
+ "an empty container for Csound channel data"
#type is either Audio, Control, or String
- #Dirction = INput or Output
+ #Direction = INput or Output
#subType = interger, linear or exponential
#default = default value
#minval = suggested minimum
@@ -98,7 +123,6 @@ def channels(csound):
return result
-
class CsoundPerformer:
def pollScheduler(self, schedObj):
st = schedObj.getTime()
@@ -107,10 +131,11 @@ class CsoundPerformer:
if t >= st:
obj = heapq.heappop(schedObj.queue)
(obj[1] (*obj[2]))
- def __init__(self, schedObj, orcObj, *cs):
+ def __init__(self, metro, orcObj, *cs):
"SchedObj is a Csound timer instance, orcObJ is a CsOrcConstructor Object"
- self.Timer = csnd.CsoundTimer()
- self.schedObj = schedObj
+ #self.Timer = csnd.CsoundTimer()
+ self.metro = metro
+ #self.schedObj = schedObj
self.orcObj = orcObj
if len(cs) == 0:
cs = Csound()
@@ -118,9 +143,9 @@ class CsoundPerformer:
else: self.csound = cs[0]
self.csound.setOrchestra(orcObj.exportOrc())
self.csound.setScore(orcObj.sco)
- self.time = 0
+
if platform == "Sugar":
- self.csound.setCommand("csound -b256 -B2048 -odac --expression-opt --sched=1 -d -m0 /tmp/tmp.orc /tmp/tmp.sco")
+ self.csound.setCommand("csound -b256 -B2048 -+rtaudio=alsa -odac --expression-opt --sched=1 -d -m0 /tmp/tmp.orc /tmp/tmp.sco")
else:
self.csound.setCommand("csound -b256 -B2048 -odac --expression-opt -d -m0 /tmp/tmp.orc /tmp/tmp.sco")
self.csound.exportForPerformance()
@@ -128,9 +153,10 @@ class CsoundPerformer:
self.Channels = channels(self.csound)
self.perf = csnd.CsoundPerformanceThread(self.csound)
self.perf.Play()
- self.perf.SetProcessCallback(self.pollScheduler, schedObj)
+ self.perf.SetProcessCallback(self.metro.poll, 0)
def perfTime(self):
- return self.Timer.GetRealTime()
+ return self.metro.now()
+ #return self.Timer.GetRealTime()
def Stop(self):
self.perf.Stop()
#self.perf.Join()
diff --git a/City/Images/blues1.svg b/City/Images/blues1.svg
new file mode 100755
index 0000000..961972d
--- /dev/null
+++ b/City/Images/blues1.svg
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#FFFFFF">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg
+ id="svg1"
+ width="55.00000"
+ height="55.00000"
+ viewBox="0 0 150.0 250.0"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs
+ id="defs3">
+ </defs>
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.4055344;stroke-linejoin:round;"
+ d="M 1170.0161,146.17771 C 1170.0161,219.36107 1109.3477,278.75629 1034.5957,278.75629 C 959.84339,278.75629 899.17496,219.36107 899.17496,146.17771 C 899.17496,72.994319 959.84339,13.599125 1034.5957,13.599125 C 1109.3477,13.599125 1170.0161,72.994319 1170.0161,146.17771 z "
+ id="path1237" />
+ <g
+ id="g890">
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 178.63447,119.29540 C 178.63447,119.29540 149.60285,71.391818 143.91892,69.970834 C 142.97159,69.970833 141.16049,69.585806 140.68683,71.480451 C 140.68683,76.690727 173.89785,123.55835 177.21348,125.92667 C 180.05545,125.45300 179.10813,122.61103 178.63447,119.29540 z "
+ id="path888" />
+ <path
+ style="fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 146.19396,71.527947 C 146.19396,71.527947 140.87563,61.005082 133.32475,57.586877 C 124.28372,52.957646 115.99309,54.845391 110.06625,59.001161 C 107.66238,61.690780 101.51188,65.119163 104.49538,69.620820 C 105.72663,71.450093 107.73803,72.179277 110.03931,71.280444 C 112.74111,69.190776 118.22444,54.906803 131.02388,63.551570 C 136.85612,67.012453 137.40015,70.069365 140.34953,72.560593 C 139.89652,73.907434 144.70424,68.528198 146.19396,71.527947 z "
+ id="path889" />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 23.209410,120.17531 C 23.209410,120.17531 52.241023,72.271724 57.924960,70.850740 C 58.872283,70.850739 60.683387,70.465712 61.157048,72.360357 C 61.157048,77.570633 27.946024,124.43826 24.630395,126.80658 C 21.788426,126.33291 22.735749,123.49094 23.209410,120.17531 z "
+ id="path869"
+ />
+ <path
+ style="fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 55.649920,72.407853 C 55.649920,72.407853 60.968244,61.884988 68.519123,58.466783 C 77.560160,53.837552 85.850786,55.725297 91.777632,59.881067 C 94.181501,62.570686 100.33200,65.999069 97.348496,70.500726 C 96.117247,72.329999 94.105844,73.059183 91.804570,72.160350 C 89.102764,70.070682 83.619439,55.786709 70.820002,64.431476 C 64.987761,67.892359 64.443724,70.949271 61.494352,73.440499 C 61.947362,74.787340 57.139638,69.408104 55.649920,72.407853 z "
+ id="path870"
+ />
+ <g
+ id="g1208"
+ transform="translate(165.6113,-33.13730)"
+ style="">
+ <g
+ id="g1194"
+ transform="translate(-285.0000,13.75000)">
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1.0000000;stroke-width:1.2500000;stroke-linejoin:round;stroke-linecap:butt;fill-opacity:1.0000000;stroke-dasharray:none;"
+ d="M 220.15625,134.09375 C 218.18661,134.07463 216.19714,134.29023 214.37500,134.93750 C 212.55286,135.58477 210.71531,136.74050 209.87500,138.78125 L 212.86772,140.95955 C 212.97957,140.68790 215.00540,139.98941 216.03125,139.62500 C 217.05710,139.26059 218.56078,139.07887 220.09375,139.09375 C 221.62672,139.10863 223.20403,139.31626 224.40625,139.65625 C 225.60847,139.99624 226.38470,140.62932 226.28125,140.50000 L 230.18750,137.37500 C 228.99586,135.88545 227.49503,135.32841 225.78125,134.84375 C 224.06747,134.35909 222.12589,134.11287 220.15625,134.09375 z "
+ id="path1193"
+ />
+ <g
+ id="g1184"
+ transform="translate(195.6018,16.32283)"
+ style="fill:&fill_color;;fill-opacity:1.0000000;">
+ <path
+ style="fill:#000000;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.80000001;"
+ d="M -39.400594,111.64150 C -26.040974,104.40213 -9.9205843,104.88459 4.8994457,106.14959 C 16.253796,106.94900 17.246626,114.92925 16.251556,125.29172 C 16.201536,132.37212 13.462146,140.32898 6.2822657,143.05030 C -4.0075343,146.42629 -15.195474,146.20886 -25.870394,145.18021 C -35.240424,144.04829 -42.472334,136.35541 -44.265164,127.91260 C -44.957864,122.81758 -45.901474,115.48637 -39.400594,111.64150 z "
+ id="path1182"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1.0000000;"
+ d="M -45.443144,122.32679 C -45.443144,117.42415 -50.961044,121.98998 -53.137424,123.57238 C -54.225614,124.53860 -54.778254,128.74086 -53.690064,129.88931 C -52.757874,131.52160 -48.252274,130.16136 -46.267834,130.16136 C -44.252134,128.14566 -45.679334,125.37907 -45.443144,122.32679 z "
+ id="path1181"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1.0000000;stroke-width:1.2500000;stroke-linejoin:round;stroke-linecap:butt;fill-opacity:1.0000000;stroke-dasharray:none;"
+ d="M -7.0371643,103.73776 C -18.664624,103.39048 -30.681274,104.49060 -41.287164,110.23776 C -41.308142,110.24788 -41.328978,110.25830 -41.349664,110.26901 C -45.244984,112.57285 -47.119944,116.22325 -47.693414,119.67526 C -48.266884,123.12727 -47.759664,126.49430 -47.412164,129.05026 C -47.403410,129.10266 -47.392988,129.15477 -47.380914,129.20651 C -45.368434,138.68372 -37.406574,147.18121 -26.849664,148.45651 C -26.828832,148.45677 -26.807997,148.45677 -26.787164,148.45651 C -15.979724,149.49793 -4.4609443,149.75975 6.3690857,146.20651 C 6.4110139,146.19716 6.4526944,146.18674 6.4940857,146.17526 C 10.740586,144.56575 13.691236,141.35449 15.494086,137.70651 C 17.263226,134.12673 17.972346,130.12411 18.025336,126.33151 L 18.056586,126.33151 C 18.063876,126.25560 18.049456,126.18852 18.056586,126.11276 C 18.549086,120.87850 18.674876,115.99872 16.806586,111.89401 C 14.911256,107.72989 10.653786,104.89679 4.4003357,104.45651 C 0.67047573,104.13814 -3.1613443,103.85352 -7.0371643,103.73776 z M -7.1309143,108.73776 C -3.4020143,108.84174 0.31392573,109.11113 3.9940857,109.42526 C 4.0149182,109.42552 4.0357532,109.42552 4.0565857,109.42526 C 9.1574857,109.78439 11.053176,111.34003 12.244086,113.95651 C 13.434996,116.57299 13.571976,120.78981 13.087836,125.83151 C 13.074200,125.90393 13.063774,125.97691 13.056586,126.05026 C 13.033806,129.27469 12.399656,132.70688 11.025336,135.48776 C 9.6551057,138.26037 7.6631857,140.37327 4.7440857,141.48776 C 4.7353757,141.49108 4.7215557,141.48445 4.7128357,141.48776 C -5.0124543,144.65480 -15.809784,144.50039 -26.318414,143.48776 C -34.487234,142.50095 -40.887254,135.60015 -42.474664,128.20651 C -42.477454,128.19353 -42.503154,128.18824 -42.505914,128.17526 C -42.842164,125.68161 -43.153014,122.90936 -42.755914,120.51901 C -42.353844,118.09873 -41.418134,116.17625 -38.880914,114.64401 C -29.447364,109.53212 -18.317614,108.42581 -7.1309143,108.73776 z "
+ id="path1183" />
+ </g>
+ <g
+ id="g1188"
+ transform="matrix(-1.000000,0.000000,0.000000,1.000000,244.5703,14.69236)"
+ style="fill:&fill_color;;fill-opacity:1.0000000;">
+ <path
+ style="fill:#000000;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.80000001;"
+ d="M -39.400594,111.64150 C -26.040974,104.40213 -9.9205843,104.88459 4.8994457,106.14959 C 16.253796,106.94900 17.246626,114.92925 16.251556,125.29172 C 16.201536,132.37212 13.462146,140.32898 6.2822657,143.05030 C -4.0075343,146.42629 -15.195474,146.20886 -25.870394,145.18021 C -35.240424,144.04829 -42.472334,136.35541 -44.265164,127.91260 C -44.957864,122.81758 -45.901474,115.48637 -39.400594,111.64150 z "
+ id="path1189"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1.0000000;"
+ d="M -45.443144,122.32679 C -45.443144,117.42415 -50.961044,121.98998 -53.137424,123.57238 C -54.225614,124.53860 -54.778254,128.74086 -53.690064,129.88931 C -52.757874,131.52160 -48.252274,130.16136 -46.267834,130.16136 C -44.252134,128.14566 -45.679334,125.37907 -45.443144,122.32679 z "
+ id="path1191"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1.0000000;stroke-width:1.2500000;stroke-linejoin:round;stroke-linecap:butt;fill-opacity:1.0000000;stroke-dasharray:none;"
+ d="M -7.0371643,103.73776 C -18.664624,103.39048 -30.681274,104.49060 -41.287164,110.23776 C -41.308142,110.24788 -41.328978,110.25830 -41.349664,110.26901 C -45.244984,112.57285 -47.119944,116.22325 -47.693414,119.67526 C -48.266884,123.12727 -47.759664,126.49430 -47.412164,129.05026 C -47.403410,129.10266 -47.392988,129.15477 -47.380914,129.20651 C -45.368434,138.68372 -37.406574,147.18121 -26.849664,148.45651 C -26.828832,148.45677 -26.807997,148.45677 -26.787164,148.45651 C -15.979724,149.49793 -4.4609443,149.75975 6.3690857,146.20651 C 6.4110139,146.19716 6.4526944,146.18674 6.4940857,146.17526 C 10.740586,144.56575 13.691236,141.35449 15.494086,137.70651 C 17.263226,134.12673 17.972346,130.12411 18.025336,126.33151 L 18.056586,126.33151 C 18.063876,126.25560 18.049456,126.18852 18.056586,126.11276 C 18.549086,120.87850 18.674876,115.99872 16.806586,111.89401 C 14.911256,107.72989 10.653786,104.89679 4.4003357,104.45651 C 0.67047573,104.13814 -3.1613443,103.85352 -7.0371643,103.73776 z M -7.1309143,108.73776 C -3.4020143,108.84174 0.31392573,109.11113 3.9940857,109.42526 C 4.0149182,109.42552 4.0357532,109.42552 4.0565857,109.42526 C 9.1574857,109.78439 11.053176,111.34003 12.244086,113.95651 C 13.434996,116.57299 13.571976,120.78981 13.087836,125.83151 C 13.074200,125.90393 13.063774,125.97691 13.056586,126.05026 C 13.033806,129.27469 12.399656,132.70688 11.025336,135.48776 C 9.6551057,138.26037 7.6631857,140.37327 4.7440857,141.48776 C 4.7353757,141.49108 4.7215557,141.48445 4.7128357,141.48776 C -5.0124543,144.65480 -15.809784,144.50039 -26.318414,143.48776 C -34.487234,142.50095 -40.887254,135.60015 -42.474664,128.20651 C -42.477454,128.19353 -42.503154,128.18824 -42.505914,128.17526 C -42.842164,125.68161 -43.153014,122.90936 -42.755914,120.51901 C -42.353844,118.09873 -41.418134,116.17625 -38.880914,114.64401 C -29.447364,109.53212 -18.317614,108.42581 -7.1309143,108.73776 z "
+ id="path1190" />
+ </g>
+ </g>
+ <path
+ style="fill:#AAAAAA;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;"
+ d="M -118.41536,142.08428 C -120.07317,142.55794 -125.75710,143.74209 -129.54640,146.82089 C -132.86203,150.37335 -131.44105,161.03074 -127.17810,165.29369 C -125.04661,168.84615 -121.49416,172.16178 -116.99437,172.39861 C -114.86290,171.45129 -123.38880,150.13652 -118.41536,142.08428 z "
+ id="path1204"
+ />
+ <path
+ style="fill:#AAAAAA;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;"
+ d="M -51.155434,141.37378 C -53.286910,145.39991 -54.234234,159.84658 -49.260788,165.53052 C -44.524174,170.74079 -41.445375,169.79348 -38.603406,170.26713 C -34.814115,168.13566 -43.340020,142.55794 -38.129745,139.24231 C -42.155867,137.82132 -49.734449,139.24231 -51.155434,141.37378 z "
+ id="path1206"
+ />
+ </g>
+ </g>
+</svg>
diff --git a/City/Images/blues2.svg b/City/Images/blues2.svg
new file mode 100755
index 0000000..a205ba5
--- /dev/null
+++ b/City/Images/blues2.svg
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#FFFFFF">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg
+ id="svg1"
+ width="55.00000"
+ height="55.00000"
+ viewBox="0 0 150.0 250.0"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs
+ id="defs3">
+ </defs>
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.4055344;stroke-linejoin:round;"
+ d="M 1170.0161,146.17771 C 1170.0161,219.36107 1109.3477,278.75629 1034.5957,278.75629 C 959.84339,278.75629 899.17496,219.36107 899.17496,146.17771 C 899.17496,72.994319 959.84339,13.599125 1034.5957,13.599125 C 1109.3477,13.599125 1170.0161,72.994319 1170.0161,146.17771 z "
+ id="path1237" />
+ <g
+ id="g890">
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 178.63447,119.29540 C 178.63447,119.29540 149.60285,71.391818 143.91892,69.970834 C 142.97159,69.970833 141.16049,69.585806 140.68683,71.480451 C 140.68683,76.690727 173.89785,123.55835 177.21348,125.92667 C 180.05545,125.45300 179.10813,122.61103 178.63447,119.29540 z "
+ id="path888" />
+ <path
+ style="fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 146.19396,71.527947 C 146.19396,71.527947 140.87563,61.005082 133.32475,57.586877 C 124.28372,52.957646 115.99309,54.845391 110.06625,59.001161 C 107.66238,61.690780 101.51188,65.119163 104.49538,69.620820 C 105.72663,71.450093 107.73803,72.179277 110.03931,71.280444 C 112.74111,69.190776 118.22444,54.906803 131.02388,63.551570 C 136.85612,67.012453 137.40015,70.069365 140.34953,72.560593 C 139.89652,73.907434 144.70424,68.528198 146.19396,71.527947 z "
+ id="path889" />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 23.209410,120.17531 C 23.209410,120.17531 52.241023,72.271724 57.924960,70.850740 C 58.872283,70.850739 60.683387,70.465712 61.157048,72.360357 C 61.157048,77.570633 27.946024,124.43826 24.630395,126.80658 C 21.788426,126.33291 22.735749,123.49094 23.209410,120.17531 z "
+ id="path869"
+ />
+ <path
+ style="fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 55.649920,72.407853 C 55.649920,72.407853 60.968244,61.884988 68.519123,58.466783 C 77.560160,53.837552 85.850786,55.725297 91.777632,59.881067 C 94.181501,62.570686 100.33200,65.999069 97.348496,70.500726 C 96.117247,72.329999 94.105844,73.059183 91.804570,72.160350 C 89.102764,70.070682 83.619439,55.786709 70.820002,64.431476 C 64.987761,67.892359 64.443724,70.949271 61.494352,73.440499 C 61.947362,74.787340 57.139638,69.408104 55.649920,72.407853 z "
+ id="path870"
+ />
+ <g
+ id="g1208"
+ transform="translate(165.6113,-33.13730)"
+ style="fill:&fill_color;">
+ <g
+ id="g1194"
+ transform="translate(-285.0000,13.75000)">
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1.0000000;stroke-width:1.2500000;stroke-linejoin:round;stroke-linecap:butt;fill-opacity:1.0000000;stroke-dasharray:none;"
+ d="M 220.15625,134.09375 C 218.18661,134.07463 216.19714,134.29023 214.37500,134.93750 C 212.55286,135.58477 210.71531,136.74050 209.87500,138.78125 L 212.86772,140.95955 C 212.97957,140.68790 215.00540,139.98941 216.03125,139.62500 C 217.05710,139.26059 218.56078,139.07887 220.09375,139.09375 C 221.62672,139.10863 223.20403,139.31626 224.40625,139.65625 C 225.60847,139.99624 226.38470,140.62932 226.28125,140.50000 L 230.18750,137.37500 C 228.99586,135.88545 227.49503,135.32841 225.78125,134.84375 C 224.06747,134.35909 222.12589,134.11287 220.15625,134.09375 z "
+ id="path1193"
+ />
+ <g
+ id="g1184"
+ transform="translate(195.6018,16.32283)"
+ style="fill:&fill_color;;fill-opacity:1.0000000;">
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.80000001;"
+ d="M -39.400594,111.64150 C -26.040974,104.40213 -9.9205843,104.88459 4.8994457,106.14959 C 16.253796,106.94900 17.246626,114.92925 16.251556,125.29172 C 16.201536,132.37212 13.462146,140.32898 6.2822657,143.05030 C -4.0075343,146.42629 -15.195474,146.20886 -25.870394,145.18021 C -35.240424,144.04829 -42.472334,136.35541 -44.265164,127.91260 C -44.957864,122.81758 -45.901474,115.48637 -39.400594,111.64150 z "
+ id="path1182"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1.0000000;"
+ d="M -45.443144,122.32679 C -45.443144,117.42415 -50.961044,121.98998 -53.137424,123.57238 C -54.225614,124.53860 -54.778254,128.74086 -53.690064,129.88931 C -52.757874,131.52160 -48.252274,130.16136 -46.267834,130.16136 C -44.252134,128.14566 -45.679334,125.37907 -45.443144,122.32679 z "
+ id="path1181"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1.0000000;stroke-width:1.2500000;stroke-linejoin:round;stroke-linecap:butt;fill-opacity:1.0000000;stroke-dasharray:none;"
+ d="M -7.0371643,103.73776 C -18.664624,103.39048 -30.681274,104.49060 -41.287164,110.23776 C -41.308142,110.24788 -41.328978,110.25830 -41.349664,110.26901 C -45.244984,112.57285 -47.119944,116.22325 -47.693414,119.67526 C -48.266884,123.12727 -47.759664,126.49430 -47.412164,129.05026 C -47.403410,129.10266 -47.392988,129.15477 -47.380914,129.20651 C -45.368434,138.68372 -37.406574,147.18121 -26.849664,148.45651 C -26.828832,148.45677 -26.807997,148.45677 -26.787164,148.45651 C -15.979724,149.49793 -4.4609443,149.75975 6.3690857,146.20651 C 6.4110139,146.19716 6.4526944,146.18674 6.4940857,146.17526 C 10.740586,144.56575 13.691236,141.35449 15.494086,137.70651 C 17.263226,134.12673 17.972346,130.12411 18.025336,126.33151 L 18.056586,126.33151 C 18.063876,126.25560 18.049456,126.18852 18.056586,126.11276 C 18.549086,120.87850 18.674876,115.99872 16.806586,111.89401 C 14.911256,107.72989 10.653786,104.89679 4.4003357,104.45651 C 0.67047573,104.13814 -3.1613443,103.85352 -7.0371643,103.73776 z M -7.1309143,108.73776 C -3.4020143,108.84174 0.31392573,109.11113 3.9940857,109.42526 C 4.0149182,109.42552 4.0357532,109.42552 4.0565857,109.42526 C 9.1574857,109.78439 11.053176,111.34003 12.244086,113.95651 C 13.434996,116.57299 13.571976,120.78981 13.087836,125.83151 C 13.074200,125.90393 13.063774,125.97691 13.056586,126.05026 C 13.033806,129.27469 12.399656,132.70688 11.025336,135.48776 C 9.6551057,138.26037 7.6631857,140.37327 4.7440857,141.48776 C 4.7353757,141.49108 4.7215557,141.48445 4.7128357,141.48776 C -5.0124543,144.65480 -15.809784,144.50039 -26.318414,143.48776 C -34.487234,142.50095 -40.887254,135.60015 -42.474664,128.20651 C -42.477454,128.19353 -42.503154,128.18824 -42.505914,128.17526 C -42.842164,125.68161 -43.153014,122.90936 -42.755914,120.51901 C -42.353844,118.09873 -41.418134,116.17625 -38.880914,114.64401 C -29.447364,109.53212 -18.317614,108.42581 -7.1309143,108.73776 z "
+ id="path1183" />
+ </g>
+ <g
+ id="g1188"
+ transform="matrix(-1.000000,0.000000,0.000000,1.000000,244.5703,14.69236)"
+ style="fill:&fill_color;;fill-opacity:1.0000000;">
+ <path
+ style="fill:fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.80000001;"
+ d="M -39.400594,111.64150 C -26.040974,104.40213 -9.9205843,104.88459 4.8994457,106.14959 C 16.253796,106.94900 17.246626,114.92925 16.251556,125.29172 C 16.201536,132.37212 13.462146,140.32898 6.2822657,143.05030 C -4.0075343,146.42629 -15.195474,146.20886 -25.870394,145.18021 C -35.240424,144.04829 -42.472334,136.35541 -44.265164,127.91260 C -44.957864,122.81758 -45.901474,115.48637 -39.400594,111.64150 z "
+ id="path1189"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1.0000000;"
+ d="M -45.443144,122.32679 C -45.443144,117.42415 -50.961044,121.98998 -53.137424,123.57238 C -54.225614,124.53860 -54.778254,128.74086 -53.690064,129.88931 C -52.757874,131.52160 -48.252274,130.16136 -46.267834,130.16136 C -44.252134,128.14566 -45.679334,125.37907 -45.443144,122.32679 z "
+ id="path1191"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1.0000000;stroke-width:1.2500000;stroke-linejoin:round;stroke-linecap:butt;fill-opacity:1.0000000;stroke-dasharray:none;"
+ d="M -7.0371643,103.73776 C -18.664624,103.39048 -30.681274,104.49060 -41.287164,110.23776 C -41.308142,110.24788 -41.328978,110.25830 -41.349664,110.26901 C -45.244984,112.57285 -47.119944,116.22325 -47.693414,119.67526 C -48.266884,123.12727 -47.759664,126.49430 -47.412164,129.05026 C -47.403410,129.10266 -47.392988,129.15477 -47.380914,129.20651 C -45.368434,138.68372 -37.406574,147.18121 -26.849664,148.45651 C -26.828832,148.45677 -26.807997,148.45677 -26.787164,148.45651 C -15.979724,149.49793 -4.4609443,149.75975 6.3690857,146.20651 C 6.4110139,146.19716 6.4526944,146.18674 6.4940857,146.17526 C 10.740586,144.56575 13.691236,141.35449 15.494086,137.70651 C 17.263226,134.12673 17.972346,130.12411 18.025336,126.33151 L 18.056586,126.33151 C 18.063876,126.25560 18.049456,126.18852 18.056586,126.11276 C 18.549086,120.87850 18.674876,115.99872 16.806586,111.89401 C 14.911256,107.72989 10.653786,104.89679 4.4003357,104.45651 C 0.67047573,104.13814 -3.1613443,103.85352 -7.0371643,103.73776 z M -7.1309143,108.73776 C -3.4020143,108.84174 0.31392573,109.11113 3.9940857,109.42526 C 4.0149182,109.42552 4.0357532,109.42552 4.0565857,109.42526 C 9.1574857,109.78439 11.053176,111.34003 12.244086,113.95651 C 13.434996,116.57299 13.571976,120.78981 13.087836,125.83151 C 13.074200,125.90393 13.063774,125.97691 13.056586,126.05026 C 13.033806,129.27469 12.399656,132.70688 11.025336,135.48776 C 9.6551057,138.26037 7.6631857,140.37327 4.7440857,141.48776 C 4.7353757,141.49108 4.7215557,141.48445 4.7128357,141.48776 C -5.0124543,144.65480 -15.809784,144.50039 -26.318414,143.48776 C -34.487234,142.50095 -40.887254,135.60015 -42.474664,128.20651 C -42.477454,128.19353 -42.503154,128.18824 -42.505914,128.17526 C -42.842164,125.68161 -43.153014,122.90936 -42.755914,120.51901 C -42.353844,118.09873 -41.418134,116.17625 -38.880914,114.64401 C -29.447364,109.53212 -18.317614,108.42581 -7.1309143,108.73776 z "
+ id="path1190" />
+ </g>
+ </g>
+ <path
+ style="fill:#AAAAAA;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;"
+ d="M -118.41536,142.08428 C -120.07317,142.55794 -125.75710,143.74209 -129.54640,146.82089 C -132.86203,150.37335 -131.44105,161.03074 -127.17810,165.29369 C -125.04661,168.84615 -121.49416,172.16178 -116.99437,172.39861 C -114.86290,171.45129 -123.38880,150.13652 -118.41536,142.08428 z "
+ id="path1204"
+ />
+ <path
+ style="fill:#AAAAAA;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;"
+ d="M -51.155434,141.37378 C -53.286910,145.39991 -54.234234,159.84658 -49.260788,165.53052 C -44.524174,170.74079 -41.445375,169.79348 -38.603406,170.26713 C -34.814115,168.13566 -43.340020,142.55794 -38.129745,139.24231 C -42.155867,137.82132 -49.734449,139.24231 -51.155434,141.37378 z "
+ id="path1206"
+ />
+ </g>
+ </g>
+</svg>
diff --git a/City/Images/city1.svg b/City/Images/city1.svg
new file mode 100755
index 0000000..4225c5c
--- /dev/null
+++ b/City/Images/city1.svg
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="55px"
+ height="55px"
+ id="svg4024">
+ <defs
+ id="defs4026" />
+ <g>
+ <path
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0.61767298;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ d="m 44.305952,8.860129 0,22.29659 -4.309243,0 0,-10.36156 -9.388742,0 0,-6.754252 -7.387943,0 0,15.762212 -1.848162,0 0,-10.358125 -10.774288,0 0,5.630833 -5.0795035,0 0,26.347083 c 20.8550565,1.001142 33.5029685,-0.0027 51.8729475,-0.0027 l 0,-23.643951 -6.772671,0 0,-18.9160275 z"/>
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4139"
+ width="0.94214189"
+ height="4.7288828"
+ x="12.598254"
+ y="22.372826" />
+ <rect
+ y="22.372826"
+ x="13.978119"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4141"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4143"
+ width="0.94214189"
+ height="4.7288828"
+ x="15.542002"
+ y="22.372826" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4153"
+ width="0.94214189"
+ height="4.7288828"
+ x="31.223223"
+ y="24.174307" />
+ <rect
+ y="24.174307"
+ x="32.603107"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4155"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4157"
+ width="0.94214189"
+ height="4.7288828"
+ x="34.166965"
+ y="24.174307" />
+ <rect
+ y="11.563953"
+ x="46.153984"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4159"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4161"
+ width="0.94214189"
+ height="4.7288828"
+ x="47.533863"
+ y="11.563953" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:%stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4165"
+ width="0.94214189"
+ height="4.7288828"
+ x="46.307907"
+ y="18.544683" />
+ <rect
+ y="18.544683"
+ x="47.687782"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4167"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="21.922453"
+ x="25.220116"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4169"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4171"
+ width="0.94214189"
+ height="4.7288828"
+ x="26.60001"
+ y="21.922453" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4173"
+ width="0.94214189"
+ height="4.7288828"
+ x="31.377136"
+ y="30.704676" />
+ <rect
+ y="30.704676"
+ x="32.757011"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4175"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="29.80393"
+ x="25.527973"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4177"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4181"
+ width="0.94214189"
+ height="4.7288828"
+ x="12.592784"
+ y="29.80393" />
+ <rect
+ y="29.80393"
+ x="14.156668"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4183"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="25.750603"
+ x="46.148544"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4185"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="opacity:0;fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4111"
+ width="64"
+ height="64"
+ x="0"
+ y="-1.013279e-006" />
+ </g>
+</svg>
diff --git a/City/Images/city2.svg b/City/Images/city2.svg
new file mode 100755
index 0000000..ecdf148
--- /dev/null
+++ b/City/Images/city2.svg
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="55px"
+ height="55px"
+ id="svg4024">
+ <defs
+ id="defs4026" />
+ <g>
+ <path
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0.61767298;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ d="m 44.305952,8.860129 0,22.29659 -4.309243,0 0,-10.36156 -9.388742,0 0,-6.754252 -7.387943,0 0,15.762212 -1.848162,0 0,-10.358125 -10.774288,0 0,5.630833 -5.0795035,0 0,26.347083 c 20.8550565,1.001142 33.5029685,-0.0027 51.8729475,-0.0027 l 0,-23.643951 -6.772671,0 0,-18.9160275 z"/>
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4139"
+ width="0.94214189"
+ height="4.7288828"
+ x="12.598254"
+ y="22.372826" />
+ <rect
+ y="22.372826"
+ x="13.978119"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4141"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4143"
+ width="0.94214189"
+ height="4.7288828"
+ x="15.542002"
+ y="22.372826" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4153"
+ width="0.94214189"
+ height="4.7288828"
+ x="31.223223"
+ y="24.174307" />
+ <rect
+ y="24.174307"
+ x="32.603107"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4155"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4157"
+ width="0.94214189"
+ height="4.7288828"
+ x="34.166965"
+ y="24.174307" />
+ <rect
+ y="11.563953"
+ x="46.153984"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4159"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4161"
+ width="0.94214189"
+ height="4.7288828"
+ x="47.533863"
+ y="11.563953" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:%stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4165"
+ width="0.94214189"
+ height="4.7288828"
+ x="46.307907"
+ y="18.544683" />
+ <rect
+ y="18.544683"
+ x="47.687782"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4167"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="21.922453"
+ x="25.220116"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4169"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4171"
+ width="0.94214189"
+ height="4.7288828"
+ x="26.60001"
+ y="21.922453" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4173"
+ width="0.94214189"
+ height="4.7288828"
+ x="31.377136"
+ y="30.704676" />
+ <rect
+ y="30.704676"
+ x="32.757011"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4175"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="29.80393"
+ x="25.527973"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4177"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4181"
+ width="0.94214189"
+ height="4.7288828"
+ x="12.592784"
+ y="29.80393" />
+ <rect
+ y="29.80393"
+ x="14.156668"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4183"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="25.750603"
+ x="46.148544"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4185"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="opacity:0;fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4111"
+ width="64"
+ height="64"
+ x="0"
+ y="-1.013279e-006" />
+ </g>
+</svg>
diff --git a/City/Images/country1.svg b/City/Images/country1.svg
new file mode 100755
index 0000000..78f5e8f
--- /dev/null
+++ b/City/Images/country1.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#FFFFFF">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="55"
+ height="55"
+ viewBox="0 0 785.89868 771.75653"
+ id="svg2"
+ version="1.1">
+ <defs
+ id="defs4">
+ </defs>
+ <g
+ id="layer1"
+ transform="translate(24.243662,-212.21985)">
+ <path
+ style="fill:&fill_color;;stroke:&stroke_color;;stroke-width:2.61240506px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 644.16953,950.54991 9.33002,1.86602 13.06203,-1.86602 9.33002,-5.59801 4.665,-4.665 -1.86602,-2.79901 -5.59799,-11.19601 -2.79901,-13.06203 7.46401,-7.46403 1.86601,-14.92801 -6.53101,-25.19105 -3.732,-28.92307 0,-34.52104 -1.86601,-24.25806 -13.06203,-15.86104 -13.06202,-25.19103 -3.73201,-11.19603 0,-15.86104 4.665,-19.59303 3.732,-23.32505 3.73203,-27.99004 0.933,-24.25806 -2.58234,-23.32505 -7.68068,-20.52602 -6.53101,-13.06202 1.86598,-0.93301 7.46404,5.598 5.598,8.39703 10.27272,16.46415 6.52131,25.52093 10.26303,33.58806 1.86599,9.33002 19.59304,0.933 15.86103,-0.933 13.99503,-4.66503 2.799,-7.464 -7.46401,-24.25803 -7.24736,-27.00046 -11.46929,-23.32504 -14.87141,-16.85064 -22.39204,-11.19601 -22.39205,-1.86603 -21.45904,5.59803 -13.99503,-3.732 -26.12405,-8.39703 -30.78904,-5.59802 -41.05209,-0.93299 -28.92306,4.66501 -29.85606,4.66501 -29.85605,3.73199 -23.32504,0.93301 -34.52108,-13.06203 -25.19106,-15.86101 -13.06202,-13.06202 -22.39202,-25.19106 -18.66004,-23.32504 -23.32505,-27.05707 -26.12405,-22.39201 -22.39204,-14.92805 -25.19105,-8.39703 -24.25804,-6.53101 -16.79403,-2.79898 -13.06202,-13.99505 -8.39703,-15.86104 -1.25801,9.49495 -1.54101,10.0981 -5.59801,-11.19602 -3.73201,-3.732 1.86603,12.12903 1.86598,10.26301 -14.92801,4.66501 -11.196036,8.39702 -4.665004,5.598 0.932993,5.59801 -7.463996,10.26301 4.664991,0 -2.798979,5.59803 -16.794055,20.52602 -12.129013,12.12904 -13.062019,14.92805 -13.062031,17.72702 -0.933019,6.531 0,9.79652 3.265508,5.13152 2.799018,6.99751 4.198526,5.13149 4.664991,4.19853 10.263014,1.3995 5.598023,0 5.598022,-0.46651 2.79898,-4.1985 2.332514,-4.66501 1.866012,-2.79901 9.330021,-4.1985 13.528521,-5.13152 8.863488,-7.46401 5.59803,-3.26551 11.19603,0 12.5955,-1.39949 8.39703,-6.99751 7.46401,0.46649 3.73201,2.33249 4.66502,10.26304 6.53101,20.05954 6.53102,23.32504 6.531,34.98757 8.86353,23.79155 4.1985,9.79651 0.46649,27.52355 -0.46649,33.12155 6.99751,23.79156 16.32754,23.32505 14.92803,13.06202 5.13149,30.78905 3.26551,33.12156 0.93299,55.98013 -0.93299,47.11658 -3.26551,9.79651 -5.13149,14.46152 -0.46652,9.79652 -8.8635,11.66254 -6.06452,6.06451 -0.4665,3.732 -6.9975,9.33003 -2.33252,3.732 3.26551,3.732 7.46401,0.4665 9.33002,-0.93299 9.79652,-1.3995 4.66499,-1.39952 1.39952,-2.3325 0.933,-1.3995 3.26551,-3.26551 -0.46651,-4.1985 -3.732,-5.13152 -0.4665,-4.66499 3.26551,-6.06452 4.665,-2.79901 6.1765,-3.02224 4.74059,-4.10469 1.60871,-10.08135 -0.11621,-23.39837 -0.74705,-32.63398 3.732,-18.19354 4.665,-16.32754 3.2655,-23.79153 3.73201,-34.05458 5.59802,-24.25803 7.94106,-13.59874 2.308,-2.24122 2.81301,-0.95407 18.66004,0.46649 28.45656,0 30.78904,-0.933 33.58806,0.933 24.72457,-2.33251 23.79154,-5.13149 24.25806,-12.12904 14.928,-7.46401 10.26302,-1.86601 14.46155,-7.46401 16.79403,-1.39951 4.1985,10.72953 12.12903,17.72703 13.06202,26.59055 13.06203,24.25806 8.86352,20.52603 4.665,9.79652 3.732,16.79403 5.59802,13.06202 1.3995,11.66254 -0.46651,28.92303 -0.46649,19.59303 -4.1985,13.06203 -0.4665,8.39703 -7.93053,12.59553 -6.99751,11.66251 -6.53101,9.79651 -1.39949,4.66503 5.13149,0.93299 14.46154,0 11.19601,-3.732 3.73201,-5.13153 -0.93299,-4.66499 -1.3995,-8.39703 2.79898,-6.06448 7.46403,-5.59803 5.598,-5.13152 0.46653,-11.196 0.46649,-20.05954 0,-34.05458 3.26551,-24.25803 2.799,-21.92555 -0.46651,-4.66501 -10.26303,-10.72953 -11.6625,-14.92801 -6.53101,-13.99503 -17.72705,-18.19354 -12.59553,-14.46151 -13.99502,-13.99505 20.99255,22.85854 17.72702,16.79403 7.93052,9.79652 6.99753,15.39454 13.99502,16.32752 9.79651,10.26302 4.66501,13.06203 4.66501,10.72954 9.33002,13.99501 3.73201,21.92555 3.732,15.86101 1.86599,22.85854 0.46653,13.06204 1.86598,6.99753 -0.93299,9.79652 -3.26551,7.9305 -2.33251,7.46401 -5.1315,12.59553 -2.799,2.799 0.93299,3.732 2e-5,0 -7e-5,0 z"
+ id="path2929" />
+ </g>
+</svg>
diff --git a/City/Images/country2.svg b/City/Images/country2.svg
new file mode 100755
index 0000000..f8fa346
--- /dev/null
+++ b/City/Images/country2.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="55"
+ height="55"
+ viewBox="0 0 785.89868 771.75653"
+ id="svg2"
+ version="1.1">
+ <defs
+ id="defs4">
+ </defs>
+ <g
+ id="layer1"
+ transform="translate(24.243662,-212.21985)">
+ <path
+ style="fill:&fill_color;;stroke:&stroke_color;;stroke-width:2.61240506px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 644.16953,950.54991 9.33002,1.86602 13.06203,-1.86602 9.33002,-5.59801 4.665,-4.665 -1.86602,-2.79901 -5.59799,-11.19601 -2.79901,-13.06203 7.46401,-7.46403 1.86601,-14.92801 -6.53101,-25.19105 -3.732,-28.92307 0,-34.52104 -1.86601,-24.25806 -13.06203,-15.86104 -13.06202,-25.19103 -3.73201,-11.19603 0,-15.86104 4.665,-19.59303 3.732,-23.32505 3.73203,-27.99004 0.933,-24.25806 -2.58234,-23.32505 -7.68068,-20.52602 -6.53101,-13.06202 1.86598,-0.93301 7.46404,5.598 5.598,8.39703 10.27272,16.46415 6.52131,25.52093 10.26303,33.58806 1.86599,9.33002 19.59304,0.933 15.86103,-0.933 13.99503,-4.66503 2.799,-7.464 -7.46401,-24.25803 -7.24736,-27.00046 -11.46929,-23.32504 -14.87141,-16.85064 -22.39204,-11.19601 -22.39205,-1.86603 -21.45904,5.59803 -13.99503,-3.732 -26.12405,-8.39703 -30.78904,-5.59802 -41.05209,-0.93299 -28.92306,4.66501 -29.85606,4.66501 -29.85605,3.73199 -23.32504,0.93301 -34.52108,-13.06203 -25.19106,-15.86101 -13.06202,-13.06202 -22.39202,-25.19106 -18.66004,-23.32504 -23.32505,-27.05707 -26.12405,-22.39201 -22.39204,-14.92805 -25.19105,-8.39703 -24.25804,-6.53101 -16.79403,-2.79898 -13.06202,-13.99505 -8.39703,-15.86104 -1.25801,9.49495 -1.54101,10.0981 -5.59801,-11.19602 -3.73201,-3.732 1.86603,12.12903 1.86598,10.26301 -14.92801,4.66501 -11.196036,8.39702 -4.665004,5.598 0.932993,5.59801 -7.463996,10.26301 4.664991,0 -2.798979,5.59803 -16.794055,20.52602 -12.129013,12.12904 -13.062019,14.92805 -13.062031,17.72702 -0.933019,6.531 0,9.79652 3.265508,5.13152 2.799018,6.99751 4.198526,5.13149 4.664991,4.19853 10.263014,1.3995 5.598023,0 5.598022,-0.46651 2.79898,-4.1985 2.332514,-4.66501 1.866012,-2.79901 9.330021,-4.1985 13.528521,-5.13152 8.863488,-7.46401 5.59803,-3.26551 11.19603,0 12.5955,-1.39949 8.39703,-6.99751 7.46401,0.46649 3.73201,2.33249 4.66502,10.26304 6.53101,20.05954 6.53102,23.32504 6.531,34.98757 8.86353,23.79155 4.1985,9.79651 0.46649,27.52355 -0.46649,33.12155 6.99751,23.79156 16.32754,23.32505 14.92803,13.06202 5.13149,30.78905 3.26551,33.12156 0.93299,55.98013 -0.93299,47.11658 -3.26551,9.79651 -5.13149,14.46152 -0.46652,9.79652 -8.8635,11.66254 -6.06452,6.06451 -0.4665,3.732 -6.9975,9.33003 -2.33252,3.732 3.26551,3.732 7.46401,0.4665 9.33002,-0.93299 9.79652,-1.3995 4.66499,-1.39952 1.39952,-2.3325 0.933,-1.3995 3.26551,-3.26551 -0.46651,-4.1985 -3.732,-5.13152 -0.4665,-4.66499 3.26551,-6.06452 4.665,-2.79901 6.1765,-3.02224 4.74059,-4.10469 1.60871,-10.08135 -0.11621,-23.39837 -0.74705,-32.63398 3.732,-18.19354 4.665,-16.32754 3.2655,-23.79153 3.73201,-34.05458 5.59802,-24.25803 7.94106,-13.59874 2.308,-2.24122 2.81301,-0.95407 18.66004,0.46649 28.45656,0 30.78904,-0.933 33.58806,0.933 24.72457,-2.33251 23.79154,-5.13149 24.25806,-12.12904 14.928,-7.46401 10.26302,-1.86601 14.46155,-7.46401 16.79403,-1.39951 4.1985,10.72953 12.12903,17.72703 13.06202,26.59055 13.06203,24.25806 8.86352,20.52603 4.665,9.79652 3.732,16.79403 5.59802,13.06202 1.3995,11.66254 -0.46651,28.92303 -0.46649,19.59303 -4.1985,13.06203 -0.4665,8.39703 -7.93053,12.59553 -6.99751,11.66251 -6.53101,9.79651 -1.39949,4.66503 5.13149,0.93299 14.46154,0 11.19601,-3.732 3.73201,-5.13153 -0.93299,-4.66499 -1.3995,-8.39703 2.79898,-6.06448 7.46403,-5.59803 5.598,-5.13152 0.46653,-11.196 0.46649,-20.05954 0,-34.05458 3.26551,-24.25803 2.799,-21.92555 -0.46651,-4.66501 -10.26303,-10.72953 -11.6625,-14.92801 -6.53101,-13.99503 -17.72705,-18.19354 -12.59553,-14.46151 -13.99502,-13.99505 20.99255,22.85854 17.72702,16.79403 7.93052,9.79652 6.99753,15.39454 13.99502,16.32752 9.79651,10.26302 4.66501,13.06203 4.66501,10.72954 9.33002,13.99501 3.73201,21.92555 3.732,15.86101 1.86599,22.85854 0.46653,13.06204 1.86598,6.99753 -0.93299,9.79652 -3.26551,7.9305 -2.33251,7.46401 -5.1315,12.59553 -2.799,2.799 0.93299,3.732 2e-5,0 -7e-5,0 z"
+ id="path2929" />
+ </g>
+</svg>
diff --git a/City/Images/density1.svg b/City/Images/density1.svg
new file mode 100755
index 0000000..ec23498
--- /dev/null
+++ b/City/Images/density1.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color1 "#AAAAAA">
+ <!ENTITY fill_color2 "#FFFFFF">
+]>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="55" width="55" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+<g transform="scale(0.07) translate(-3.576666,-80.89799) ">
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="429" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="264" x="117" stroke-width="1.2" fill="&fill_color1;"/>
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="60" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="405" x="117" stroke-width="1.2" fill="&fill_color2;"/>
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="44" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="532" x="117" stroke-width="1.2" fill="&fill_color2;"/>
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="22" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="613" x="117" stroke-width="1.06" fill="&fill_color2;"/>
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="9" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="656" x="117" stroke-width="1.2" fill="&fill_color2;"/>
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="3" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="678" x="117" stroke-width="1.2" fill="&fill_color2;"/>
+</g>
+</svg>
diff --git a/City/Images/density2.svg b/City/Images/density2.svg
new file mode 100755
index 0000000..0318f55
--- /dev/null
+++ b/City/Images/density2.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color1 "#FFFFFF">
+ <!ENTITY fill_color2 "#000000">
+]>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="55" width="55" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+<g transform="scale(0.07) translate(-3.576666,-80.89799) ">
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="429" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="264" x="117" stroke-width="1.2" fill="&fill_color1;"/>
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="60" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="405" x="117" stroke-width="1.2" fill="&fill_color2;"/>
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="44" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="532" x="117" stroke-width="1.2" fill="&fill_color2;"/>
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="22" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="613" x="117" stroke-width="1.06" fill="&fill_color2;"/>
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="9" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="656" x="117" stroke-width="1.2" fill="&fill_color2;"/>
+<rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="3" width="543" stroke="&stroke_color;" stroke-miterlimit="4" y="678" x="117" stroke-width="1.2" fill="&fill_color2;"/>
+</g>
+</svg>
diff --git a/City/Images/jam2jamXO_2.png b/City/Images/jam2jamXO_2.png
index 893b4c2..893b4c2 100644..100755
--- a/City/Images/jam2jamXO_2.png
+++ b/City/Images/jam2jamXO_2.png
Binary files differ
diff --git a/City/Images/jam2jamXO_4.png b/City/Images/jam2jamXO_4.png
new file mode 100755
index 0000000..52da4b8
--- /dev/null
+++ b/City/Images/jam2jamXO_4.png
Binary files differ
diff --git a/City/Images/latin1.svg b/City/Images/latin1.svg
new file mode 100755
index 0000000..1d1c4ff
--- /dev/null
+++ b/City/Images/latin1.svg
@@ -0,0 +1,1330 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="55"
+ height="55"
+ viewBox="0 0 353.963 218.583"
+ id="Layer_1"
+ xml:space="preserve">
+ <defs
+ id="defs530" />
+
+
+<g
+ id="g5">
+ style="fill:&fill_color;;fill:&fill_color;;
+ <polygon
+ points="216.001,98.991 251.754,98.991 251.754,117.056 216.001,117.056 216.001,98.991 "
+ style="fill:&fill_color;;fill-rule:evenodd;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon7" />
+
+ <polygon
+ points="216.001,109.616 251.754,109.616 251.754,112.264 216.001,112.264 216.001,109.616 "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon9" />
+
+ <polygon
+ points="216.001,114.251 251.754,114.251 251.754,116.016 216.001,116.016 216.001,114.251 "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon11" />
+
+ <path
+ d="M 251.754,98.991 C 290.218,99.117 299.141,123.645 299.141,149.151 C 299.141,174.626 288.83,198.176 251.754,198.115 L 251.754,198.115 L 251.754,180.081 L 251.754,180.081 C 276.786,179.45 282.525,165.798 282.525,148.521 C 282.525,131.244 276.504,117.781 251.754,117.055 L 251.754,117.055 L 251.754,98.991 L 251.754,98.991 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path13" />
+
+ <path
+ d="M 90.678,55.42 C 96.763,54.253 108.365,52.992 126.052,51.636 C 143.865,50.249 176.623,48.83 196.265,47.285 C 215.812,45.708 226.532,44.415 242.516,42.367 C 258.5,40.318 277.922,38.078 291.258,35.115 C 304.531,32.12 314.115,28.147 321.619,24.616 C 329.092,21.116 333.695,17.68 335.744,14.15 C 335.649,11.123 336.028,8.506 336.942,6.205 C 337.825,3.903 339.369,0.909 341.103,0.435 C 342.869,-0.006 345.517,-1.016 347.409,3.462 C 349.301,8.002 351.382,20.928 352.359,27.265 C 353.337,33.571 352.895,34.642 353.147,41.011 C 353.431,47.443 353.873,56.491 353.935,65.383 C 353.998,74.305 353.746,85.907 353.557,93.946 C 353.368,101.923 353.777,106.652 352.768,113.052 C 351.759,119.451 349.647,128.5 347.535,132.031 C 345.423,135.468 341.986,134.553 340.189,133.733 C 338.423,132.85 337.635,129.129 336.942,126.923 C 336.216,124.684 335.87,122.603 335.87,120.491 C 329.816,114.027 319.034,108.226 302.923,102.772 C 286.718,97.318 262.378,90.665 239.805,88.08 C 217.167,85.526 193.649,87.985 168.52,87.544 C 143.298,87.071 105.969,85.306 90.142,85.368 C 62.744,85.463 48.62,110.621 48.62,133.164 C 48.62,157.409 66.654,176.925 90.679,180.078 L 90.679,180.078 L 90.679,198.112 L 90.679,198.112 C 42.472,198.332 25.322,163.903 25.322,126.764 C 25.32,89.659 50.7,60.306 90.678,55.42 L 90.678,55.42 L 90.678,55.42 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path15" />
+
+ <path
+ d="M 90.678,190.674 C 87.84,190.674 84.782,190.233 81.377,189.476 C 77.909,188.594 73.779,187.364 70.311,185.788 C 66.717,184.181 63.47,182.163 60.443,179.734 C 57.322,176.992 53.538,171.631 52.025,170.465 C 50.449,169.393 50.007,171.095 51.3,173.271 C 52.561,175.352 56.218,180.049 59.844,182.982 C 63.501,185.851 68.64,188.594 72.833,190.359 C 76.932,191.935 81.251,192.408 84.341,192.881 C 87.273,193.354 89.385,193.512 90.678,193.354 L 90.678,193.354 L 90.678,190.674 L 90.678,190.674 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path17" />
+
+ <path
+ d="M 339.779,13.519 C 339.148,11.565 338.991,9.767 339.18,8.254 C 339.401,6.614 340.094,4.943 341.008,4.218 C 341.765,3.462 343.404,2.989 344.224,4.029 C 344.95,4.975 345.422,6.992 345.643,10.082 L 345.643,10.082 C 344.288,8.822 343.184,8.443 342.206,9.073 C 341.229,9.641 340.379,11.123 339.779,13.519 L 339.779,13.519 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path19" />
+
+ <path
+ d="M 340.6,119.168 C 340.411,122.069 340.568,124.244 341.199,125.821 C 341.766,127.366 343.185,128.785 344.225,128.249 C 345.203,127.555 346.149,125.506 347.063,121.975 L 347.063,121.975 C 345.928,123.772 344.887,124.497 343.816,124.024 C 342.712,123.52 341.64,121.942 340.6,119.168 L 340.6,119.168 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path21" />
+
+ <path
+ d="M 216.159,67.211 C 232.428,66.864 248.348,66.801 264.774,66.896 C 281.106,67.022 301.788,64.878 313.706,67.874 C 325.434,70.837 331.267,78.026 335.334,84.205 C 339.275,90.164 338.96,101.451 337.668,103.848 C 336.249,106.15 332.528,101.988 327.357,98.172 C 322.155,94.074 315.03,84.269 306.707,80.548 C 298.194,76.985 295.734,78.09 277.07,76.544 C 258.216,74.904 231.45,72.823 195.192,70.554 L 195.192,70.554 C 202.16,69.449 209.159,68.346 216.159,67.211 L 216.159,67.211 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path23" />
+
+ <path
+ d="M 287.064,52.582 C 295.766,53.118 304.373,52.046 313.358,49.24 C 322.25,46.403 331.203,42.052 340.346,35.936 L 340.346,35.936 C 335.807,43.849 329.312,49.051 320.358,51.889 C 311.31,54.663 300.496,54.852 287.064,52.582 L 287.064,52.582 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path25" />
+
+ <path
+ d="M 34.053,133.388 C 33.454,133.419 32.288,123.268 32.729,117.75 C 33.076,112.232 34.211,105.77 36.386,100.441 C 38.498,94.892 41.778,89.847 45.372,85.434 C 48.872,81.052 52.907,77.52 57.352,74.462 C 61.735,71.278 65.739,69.008 71.666,66.801 C 77.499,64.499 88.881,61.631 92.317,61.126 C 95.533,60.685 94.871,62.23 91.655,63.806 C 88.312,65.256 79.296,66.928 72.99,69.797 C 66.653,72.54 59.874,75.567 54.357,80.454 C 48.713,85.371 43.133,92.844 40.044,99.087 C 36.891,105.267 37.017,111.225 36.04,117.089 C 34.968,122.826 34.589,133.199 34.053,133.388 L 34.053,133.388 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path27" />
+
+ <polygon
+ points="90.678,180.081 251.754,180.081 251.754,198.115 90.678,198.115 90.678,180.081 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon29" />
+
+ <polygon
+ points="90.678,195.34 251.754,195.34 251.754,197.105 90.678,197.105 90.678,195.34 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon31" />
+
+ <path
+ d="M 124.854,98.36 L 123.499,98.328 L 123.499,98.328 C 97.299,98.298 89.638,115.764 89.638,137.266 C 89.638,158.799 104.803,176.235 123.499,176.235 L 123.499,176.235 L 124.854,176.203 L 124.854,158.706 L 124.854,158.706 C 109.311,158.517 106.694,148.554 106.694,136.856 C 106.694,125.158 110.257,115.733 124.854,115.828 L 124.854,115.828 L 124.854,98.36 L 124.854,98.36 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path33" />
+
+ <path
+ d="M 124.854,169.077 C 122.584,169.298 120.157,169.14 117.697,168.478 C 115.175,167.815 112.243,166.618 109.878,165.231 C 107.45,163.717 104.171,160.06 103.32,159.712 C 102.468,159.208 103.099,161.542 104.487,162.96 C 105.716,164.41 108.554,167.059 110.824,168.478 C 113.063,169.77 115.238,170.527 117.697,171.094 C 120.062,171.63 122.364,171.82 124.854,171.787 L 124.854,171.787 L 124.854,169.077 L 124.854,169.077 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path35" />
+
+ <path
+ d="M 189.455,67.558 C 194.53,69.134 199.858,69.954 205.219,69.954 C 210.547,69.954 215.875,69.134 220.951,67.558 L 220.951,67.558 L 220.951,211.546 L 220.951,211.546 C 215.875,213.122 210.547,213.942 205.219,213.942 C 199.859,213.942 194.531,213.123 189.455,211.546 L 189.455,211.546 L 189.455,67.558 L 189.455,67.558 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path37" />
+
+ <polygon
+ points="200.867,38.52 209.096,38.52 209.096,57.122 200.867,57.122 200.867,38.52 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon39" />
+
+ <path
+ d="M 193.994,39.056 C 197.746,39.971 201.246,40.38 205.155,40.38 C 209.033,40.38 212.532,39.97 216.284,39.056 L 216.284,39.056 L 216.284,31.647 L 216.284,31.647 C 212.532,32.529 209.033,32.971 205.155,32.971 C 201.246,32.971 197.746,32.53 193.994,31.647 L 193.994,31.647 L 193.994,39.056 L 193.994,39.056 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path41" />
+
+ <path
+ d="M 196.327,30.165 C 199.322,30.985 202.066,31.363 205.123,31.363 C 208.182,31.363 210.956,30.985 213.951,30.165 L 213.951,30.165 L 213.951,30.165 C 210.956,29.377 208.181,28.998 205.123,28.998 C 202.066,28.999 199.322,29.377 196.327,30.165 L 196.327,30.165 L 196.327,30.165 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path43" />
+
+ <path
+ d="M 196.359,29.976 L 196.356,29.986 C 199.228,30.671 202.171,31.017 205.123,31.017 C 208.077,31.017 211.019,30.671 213.892,29.986 L 213.952,30.039 L 216.285,31.647 L 216.253,31.663 C 212.607,32.532 208.872,32.971 205.124,32.971 C 201.377,32.971 197.643,32.533 193.997,31.663 L 193.995,31.647 L 196.328,30.039 L 196.359,29.976 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path45" />
+
+ <path
+ d="M 189.391,210.379 C 194.467,211.955 199.795,212.744 205.123,212.744 C 210.452,212.744 215.78,211.955 220.888,210.379 L 220.888,210.379 L 221.424,210.852 L 221.424,210.852 C 216.032,212.524 210.768,213.469 205.123,213.469 C 199.48,213.469 194.246,212.586 188.855,210.915 L 188.855,210.915 L 189.391,210.379 L 189.391,210.379 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path47" />
+
+ <path
+ d="M 188.887,210.946 C 188.887,210.946 196.895,213.468 205.03,213.468 C 213.165,213.437 221.456,210.851 221.456,210.851 L 221.456,210.851 L 221.456,214.792 L 221.456,214.792 C 221.456,214.792 213.165,217.377 205.03,217.409 C 196.895,217.439 188.887,214.886 188.887,214.886 L 188.887,214.886 L 188.887,210.946 L 188.887,210.946 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path49" />
+
+ <polygon
+ points="189.864,212.019 189.864,214.445 190.021,214.445 190.021,212.019 189.864,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon51" />
+
+ <polygon
+ points="190.369,212.176 190.369,214.604 190.526,214.604 190.526,212.176 190.369,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon53" />
+
+ <polygon
+ points="190.842,212.303 190.842,214.729 190.999,214.729 190.999,212.303 190.842,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon55" />
+
+ <polygon
+ points="191.346,212.46 191.346,214.887 191.504,214.887 191.504,212.46 191.346,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon57" />
+
+ <polygon
+ points="191.852,212.586 191.852,215.014 192.008,215.014 192.008,212.586 191.852,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon59" />
+
+ <polygon
+ points="192.354,212.712 192.354,215.14 192.481,215.14 192.481,212.712 192.354,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon61" />
+
+ <polygon
+ points="192.828,212.807 192.828,215.266 192.986,215.266 192.986,212.807 192.828,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon63" />
+
+ <polygon
+ points="193.332,212.933 193.332,215.36 193.49,215.36 193.49,212.933 193.332,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon65" />
+
+ <polygon
+ points="193.837,213.059 193.837,215.486 193.994,215.486 193.994,213.059 193.837,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon67" />
+
+ <polygon
+ points="194.342,213.153 194.342,215.581 194.498,215.581 194.498,213.153 194.342,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon69" />
+
+ <polygon
+ points="194.846,213.248 194.846,215.676 195.004,215.676 195.004,213.248 194.846,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon71" />
+
+ <polygon
+ points="195.35,213.343 195.35,215.771 195.508,215.771 195.508,213.343 195.35,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon73" />
+
+ <polygon
+ points="195.854,213.438 195.854,215.864 196.013,215.864 196.013,213.438 195.854,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon75" />
+
+ <polygon
+ points="196.359,213.531 196.359,215.96 196.516,215.96 196.516,213.531 196.359,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon77" />
+
+ <polygon
+ points="196.863,213.595 196.863,216.054 197.021,216.054 197.021,213.595 196.863,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon79" />
+
+ <polygon
+ points="197.368,213.689 197.368,216.117 197.525,216.117 197.525,213.689 197.368,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon81" />
+
+ <polygon
+ points="197.903,213.752 197.903,216.18 198.03,216.18 198.03,213.752 197.903,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon83" />
+
+ <polygon
+ points="198.408,213.815 198.408,216.243 198.535,216.243 198.535,213.815 198.408,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon85" />
+
+ <polygon
+ points="198.912,213.879 198.912,216.306 199.07,216.306 199.07,213.879 198.912,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon87" />
+
+ <polygon
+ points="199.418,213.941 199.418,216.369 199.574,216.369 199.574,213.941 199.418,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon89" />
+
+ <polygon
+ points="199.922,214.005 199.922,216.433 200.079,216.433 200.079,214.005 199.922,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon91" />
+
+ <polygon
+ points="200.457,214.036 200.457,216.464 200.584,216.464 200.584,214.036 200.457,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon93" />
+
+ <polygon
+ points="200.962,214.067 200.962,216.526 201.12,216.526 201.12,214.067 200.962,214.067 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon95" />
+
+ <polygon
+ points="201.467,214.131 201.467,216.559 201.624,216.559 201.624,214.131 201.467,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon97" />
+
+ <polygon
+ points="201.971,214.163 201.971,216.59 202.129,216.59 202.129,214.163 201.971,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon99" />
+
+ <polygon
+ points="202.476,214.163 202.476,216.621 202.633,216.621 202.633,214.163 202.476,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon101" />
+
+ <polygon
+ points="203.011,214.193 203.011,216.621 203.169,216.621 203.169,214.193 203.011,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon103" />
+
+ <polygon
+ points="203.516,214.225 203.516,216.653 203.674,216.653 203.674,214.225 203.516,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon105" />
+
+ <polygon
+ points="204.021,214.225 204.021,216.653 204.178,216.653 204.178,214.225 204.021,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon107" />
+
+ <polygon
+ points="204.557,214.225 204.557,216.685 204.683,216.685 204.683,214.225 204.557,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon109" />
+
+ <polygon
+ points="205.062,214.225 205.062,216.685 205.219,216.685 205.219,214.225 205.062,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon111" />
+
+ <polygon
+ points="205.564,214.225 205.564,216.685 205.723,216.685 205.723,214.225 205.564,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon113" />
+
+ <polygon
+ points="206.069,214.225 206.069,216.653 206.228,216.653 206.228,214.225 206.069,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon115" />
+
+ <polygon
+ points="206.605,214.225 206.605,216.653 206.763,216.653 206.763,214.225 206.605,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon117" />
+
+ <polygon
+ points="207.11,214.193 207.11,216.621 207.268,216.621 207.268,214.193 207.11,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon119" />
+
+ <polygon
+ points="207.615,214.193 207.615,216.621 207.772,216.621 207.772,214.193 207.615,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon121" />
+
+ <polygon
+ points="208.15,214.163 208.118,216.59 208.276,216.59 208.276,214.163 208.15,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon123" />
+
+ <polygon
+ points="208.655,214.131 208.655,216.559 208.813,216.559 208.813,214.131 208.655,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon125" />
+
+ <polygon
+ points="209.159,214.1 209.159,216.526 209.316,216.526 209.316,214.1 209.159,214.1 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon127" />
+
+ <polygon
+ points="209.664,214.036 209.664,216.464 209.821,216.464 209.821,214.036 209.664,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon129" />
+
+ <polygon
+ points="210.169,214.005 210.169,216.433 210.326,216.433 210.326,214.005 210.169,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon131" />
+
+ <polygon
+ points="210.704,213.941 210.704,216.369 210.831,216.369 210.831,213.941 210.704,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon133" />
+
+ <polygon
+ points="211.209,213.879 211.209,216.306 211.366,216.306 211.366,213.879 211.209,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon135" />
+
+ <polygon
+ points="211.713,213.815 211.713,216.243 211.87,216.243 211.87,213.815 211.713,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon137" />
+
+ <polygon
+ points="212.218,213.752 212.218,216.18 212.375,216.18 212.375,213.752 212.218,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon139" />
+
+ <polygon
+ points="212.723,213.689 212.723,216.117 212.88,216.117 212.88,213.689 212.723,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon141" />
+
+ <polygon
+ points="213.227,213.595 213.227,216.054 213.385,216.054 213.385,213.595 213.227,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon143" />
+
+ <polygon
+ points="213.73,213.531 213.73,215.96 213.889,215.96 213.889,213.531 213.73,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon145" />
+
+ <polygon
+ points="214.235,213.438 214.267,215.864 214.393,215.864 214.393,213.438 214.235,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon147" />
+
+ <polygon
+ points="214.771,213.343 214.74,215.771 214.897,215.771 214.897,213.343 214.771,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon149" />
+
+ <polygon
+ points="215.276,213.248 215.244,215.676 215.402,215.676 215.402,213.248 215.276,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon151" />
+
+ <polygon
+ points="215.748,213.153 215.748,215.581 215.906,215.581 215.906,213.153 215.748,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon153" />
+
+ <polygon
+ points="216.253,213.059 216.253,215.486 216.411,215.486 216.411,213.059 216.253,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon155" />
+
+ <polygon
+ points="216.758,212.933 216.758,215.36 216.915,215.36 216.915,212.933 216.758,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon157" />
+
+ <polygon
+ points="217.262,212.807 217.262,215.266 217.42,215.266 217.42,212.807 217.262,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon159" />
+
+ <polygon
+ points="217.767,212.712 217.767,215.14 217.924,215.14 217.924,212.712 217.767,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon161" />
+
+ <polygon
+ points="218.271,212.586 218.271,215.014 218.429,215.014 218.429,212.586 218.271,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon163" />
+
+ <polygon
+ points="218.775,212.46 218.775,214.887 218.901,214.887 218.901,212.46 218.775,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon165" />
+
+ <polygon
+ points="219.248,212.303 219.248,214.762 219.406,214.762 219.406,212.303 219.248,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon167" />
+
+ <polygon
+ points="219.753,212.176 219.753,214.604 219.911,214.604 219.911,212.176 219.753,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon169" />
+
+ <polygon
+ points="220.257,212.019 220.257,214.478 220.384,214.478 220.384,212.019 220.257,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon171" />
+
+ <path
+ d="M 152.851,67.558 C 157.958,69.134 163.287,69.954 168.616,69.954 C 173.944,69.954 179.272,69.134 184.38,67.558 L 184.38,67.558 L 184.38,211.546 L 184.38,211.546 C 179.273,213.122 173.944,213.942 168.616,213.942 C 163.287,213.942 157.959,213.123 152.851,211.546 L 152.851,211.546 L 152.851,67.558 L 152.851,67.558 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path173" />
+
+ <polygon
+ points="164.295,38.52 172.492,38.52 172.492,57.122 164.295,57.122 164.295,38.52 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon175" />
+
+ <path
+ d="M 157.39,39.056 C 161.174,39.971 164.674,40.38 168.551,40.38 C 172.43,40.38 175.929,39.97 179.713,39.056 L 179.713,39.056 L 179.713,31.647 L 179.713,31.647 C 175.929,32.529 172.43,32.971 168.551,32.971 C 164.674,32.971 161.174,32.53 157.39,31.647 L 157.39,31.647 L 157.39,39.056 L 157.39,39.056 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path177" />
+
+ <path
+ d="M 159.755,30.134 C 162.719,30.89 165.493,31.269 168.551,31.269 C 171.61,31.269 174.385,30.89 177.348,30.134 L 177.348,30.134 L 177.348,30.134 C 174.385,29.345 171.61,28.998 168.551,28.998 C 165.493,28.999 162.719,29.346 159.755,30.134 L 159.755,30.134 L 159.755,30.134 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path179" />
+
+ <path
+ d="M 159.787,29.976 L 159.777,29.986 C 162.652,30.671 165.597,31.017 168.551,31.017 C 171.507,31.017 174.451,30.671 177.326,29.986 L 177.347,30.039 L 179.712,31.647 L 179.686,31.663 C 176.039,32.532 172.301,32.971 168.55,32.971 C 164.801,32.971 161.063,32.533 157.416,31.663 L 157.39,31.647 L 159.755,30.039 L 159.787,29.976 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path181" />
+
+ <path
+ d="M 152.788,210.379 C 157.895,211.955 163.224,212.744 168.551,212.744 C 173.879,212.744 179.208,211.955 184.316,210.379 L 184.316,210.379 L 184.852,210.852 L 184.852,210.852 C 179.46,212.524 174.196,213.469 168.551,213.469 C 162.908,213.469 157.643,212.586 152.252,210.915 L 152.252,210.915 L 152.788,210.379 L 152.788,210.379 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path183" />
+
+ <path
+ d="M 152.283,210.946 C 152.283,210.946 160.323,213.468 168.457,213.468 C 176.592,213.437 184.852,210.851 184.852,210.851 L 184.852,210.851 L 184.852,214.792 L 184.852,214.792 C 184.852,214.792 176.592,217.377 168.457,217.409 C 160.323,217.439 152.283,214.886 152.283,214.886 L 152.283,214.886 L 152.283,210.946 L 152.283,210.946 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path185" />
+
+ <polygon
+ points="153.292,212.019 153.292,214.445 153.449,214.445 153.418,212.019 153.292,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon187" />
+
+ <polygon
+ points="153.765,212.176 153.765,214.604 153.922,214.604 153.922,212.176 153.765,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon189" />
+
+ <polygon
+ points="154.269,212.303 154.269,214.729 154.427,214.729 154.427,212.303 154.269,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon191" />
+
+ <polygon
+ points="154.774,212.46 154.774,214.887 154.9,214.887 154.932,212.46 154.774,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon193" />
+
+ <polygon
+ points="155.247,212.586 155.247,215.014 155.404,215.014 155.404,212.586 155.247,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon195" />
+
+ <polygon
+ points="155.751,212.712 155.751,215.14 155.909,215.14 155.909,212.712 155.751,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon197" />
+
+ <polygon
+ points="156.255,212.807 156.255,215.266 156.413,215.266 156.413,212.807 156.255,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon199" />
+
+ <polygon
+ points="156.76,212.933 156.76,215.36 156.917,215.36 156.917,212.933 156.76,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon201" />
+
+ <polygon
+ points="157.265,213.059 157.265,215.486 157.422,215.486 157.422,213.059 157.265,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon203" />
+
+ <polygon
+ points="157.769,213.153 157.769,215.581 157.927,215.581 157.927,213.153 157.769,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon205" />
+
+ <polygon
+ points="158.273,213.248 158.273,215.676 158.431,215.676 158.431,213.248 158.273,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon207" />
+
+ <polygon
+ points="158.777,213.343 158.777,215.771 158.936,215.771 158.936,213.343 158.777,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon209" />
+
+ <polygon
+ points="159.282,213.438 159.282,215.864 159.44,215.864 159.44,213.438 159.282,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon211" />
+
+ <polygon
+ points="159.787,213.531 159.787,215.96 159.944,215.96 159.944,213.531 159.787,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon213" />
+
+ <polygon
+ points="160.291,213.595 160.291,216.054 160.449,216.054 160.449,213.595 160.291,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon215" />
+
+ <polygon
+ points="160.795,213.689 160.795,216.117 160.953,216.117 160.953,213.689 160.795,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon217" />
+
+ <polygon
+ points="161.3,213.752 161.3,216.18 161.458,216.18 161.458,213.752 161.3,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon219" />
+
+ <polygon
+ points="161.804,213.815 161.804,216.243 161.962,216.243 161.962,213.815 161.804,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon221" />
+
+ <polygon
+ points="162.309,213.879 162.34,216.306 162.467,216.306 162.467,213.879 162.309,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon223" />
+
+ <polygon
+ points="162.845,213.941 162.845,216.369 162.971,216.369 163.002,213.941 162.845,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon225" />
+
+ <polygon
+ points="163.349,214.005 163.349,216.433 163.507,216.433 163.507,214.005 163.349,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon227" />
+
+ <polygon
+ points="163.854,214.036 163.854,216.464 164.011,216.464 164.011,214.036 163.854,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon229" />
+
+ <polygon
+ points="164.358,214.067 164.358,216.526 164.516,216.526 164.516,214.067 164.358,214.067 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon231" />
+
+ <polygon
+ points="164.895,214.131 164.895,216.559 165.021,216.559 165.021,214.131 164.895,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon233" />
+
+ <polygon
+ points="165.398,214.163 165.398,216.59 165.556,216.59 165.556,214.163 165.398,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon235" />
+
+ <polygon
+ points="165.903,214.163 165.903,216.621 166.061,216.621 166.061,214.163 165.903,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon237" />
+
+ <polygon
+ points="166.408,214.193 166.408,216.621 166.565,216.621 166.565,214.193 166.408,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon239" />
+
+ <polygon
+ points="166.943,214.225 166.943,216.653 167.07,216.653 167.07,214.225 166.943,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon241" />
+
+ <polygon
+ points="167.448,214.225 167.448,216.653 167.605,216.653 167.605,214.225 167.448,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon243" />
+
+ <polygon
+ points="167.952,214.225 167.952,216.685 168.109,216.685 168.109,214.225 167.952,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon245" />
+
+ <polygon
+ points="168.457,214.225 168.457,216.685 168.615,216.685 168.615,214.225 168.457,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon247" />
+
+ <polygon
+ points="168.992,214.225 168.992,216.685 169.119,216.685 169.15,214.225 168.992,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon249" />
+
+ <polygon
+ points="169.497,214.225 169.497,216.653 169.655,216.653 169.655,214.225 169.497,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon251" />
+
+ <polygon
+ points="170.002,214.225 170.002,216.653 170.159,216.653 170.159,214.225 170.002,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon253" />
+
+ <polygon
+ points="170.537,214.193 170.537,216.621 170.664,216.621 170.664,214.193 170.537,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon255" />
+
+ <polygon
+ points="171.043,214.193 171.043,216.621 171.199,216.621 171.199,214.193 171.043,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon257" />
+
+ <polygon
+ points="171.547,214.163 171.547,216.59 171.704,216.59 171.704,214.163 171.547,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon259" />
+
+ <polygon
+ points="172.051,214.131 172.051,216.559 172.209,216.559 172.209,214.131 172.051,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon261" />
+
+ <polygon
+ points="172.587,214.1 172.587,216.526 172.713,216.526 172.713,214.1 172.587,214.1 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon263" />
+
+ <polygon
+ points="173.092,214.036 173.092,216.464 173.249,216.464 173.249,214.036 173.092,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon265" />
+
+ <polygon
+ points="173.596,214.005 173.596,216.433 173.754,216.433 173.754,214.005 173.596,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon267" />
+
+ <polygon
+ points="174.1,213.941 174.1,216.369 174.258,216.369 174.258,213.941 174.1,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon269" />
+
+ <polygon
+ points="174.605,213.879 174.605,216.306 174.763,216.306 174.763,213.879 174.605,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon271" />
+
+ <polygon
+ points="175.141,213.815 175.141,216.243 175.267,216.243 175.267,213.815 175.141,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon273" />
+
+ <polygon
+ points="175.645,213.752 175.645,216.18 175.803,216.18 175.803,213.752 175.645,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon275" />
+
+ <polygon
+ points="176.15,213.689 176.15,216.117 176.307,216.117 176.307,213.689 176.15,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon277" />
+
+ <polygon
+ points="176.654,213.595 176.654,216.054 176.812,216.054 176.812,213.595 176.654,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon279" />
+
+ <polygon
+ points="177.158,213.531 177.158,215.96 177.316,215.96 177.316,213.531 177.158,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon281" />
+
+ <polygon
+ points="177.663,213.438 177.663,215.864 177.82,215.864 177.82,213.438 177.663,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon283" />
+
+ <polygon
+ points="178.168,213.343 178.168,215.771 178.325,215.771 178.325,213.343 178.168,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon285" />
+
+ <polygon
+ points="178.672,213.248 178.672,215.676 178.83,215.676 178.83,213.248 178.672,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon287" />
+
+ <polygon
+ points="179.176,213.153 179.176,215.581 179.334,215.581 179.334,213.153 179.176,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon289" />
+
+ <polygon
+ points="179.681,213.059 179.681,215.486 179.838,215.486 179.838,213.059 179.681,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon291" />
+
+ <polygon
+ points="180.186,212.933 180.186,215.36 180.343,215.36 180.343,212.933 180.186,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon293" />
+
+ <polygon
+ points="180.689,212.807 180.689,215.266 180.848,215.266 180.848,212.807 180.689,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon295" />
+
+ <polygon
+ points="181.194,212.712 181.194,215.14 181.32,215.14 181.32,212.712 181.194,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon297" />
+
+ <polygon
+ points="181.666,212.586 181.666,215.014 181.824,215.014 181.824,212.586 181.666,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon299" />
+
+ <polygon
+ points="182.172,212.46 182.172,214.887 182.33,214.887 182.33,212.46 182.172,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon301" />
+
+ <polygon
+ points="182.676,212.303 182.676,214.762 182.833,214.762 182.833,212.303 182.676,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon303" />
+
+ <polygon
+ points="183.148,212.176 183.18,214.604 183.307,214.604 183.307,212.176 183.148,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon305" />
+
+ <polygon
+ points="183.653,212.019 183.653,214.478 183.811,214.478 183.811,212.019 183.653,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon307" />
+
+ <path
+ d="M 116.278,67.558 C 121.385,69.134 126.714,69.954 132.042,69.954 C 137.37,69.954 142.698,69.134 147.774,67.558 L 147.774,67.558 L 147.774,211.546 L 147.774,211.546 C 142.698,213.122 137.37,213.942 132.042,213.942 C 126.714,213.942 121.386,213.123 116.278,211.546 L 116.278,211.546 L 116.278,67.558 L 116.278,67.558 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path309" />
+
+ <polygon
+ points="127.691,38.52 135.92,38.52 135.92,57.122 127.691,57.122 127.691,38.52 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon311" />
+
+ <path
+ d="M 120.818,39.056 C 124.601,39.971 128.101,40.38 131.979,40.38 C 135.857,40.38 139.356,39.97 143.14,39.056 L 143.14,39.056 L 143.14,31.647 L 143.14,31.647 C 139.357,32.529 135.857,32.971 131.979,32.971 C 128.101,32.971 124.602,32.53 120.818,31.647 L 120.818,31.647 L 120.818,39.056 L 120.818,39.056 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path313" />
+
+ <path
+ d="M 123.183,30.071 C 126.146,30.828 128.921,31.174 131.979,31.174 C 135.037,31.174 137.78,30.828 140.775,30.071 L 140.775,30.071 L 140.775,30.071 C 137.78,29.345 135.037,28.998 131.979,28.998 C 128.921,28.998 126.146,29.346 123.183,30.071 L 123.183,30.071 L 123.183,30.071 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path315" />
+
+ <path
+ d="M 123.183,29.976 L 123.18,29.986 C 126.053,30.671 128.995,31.017 131.948,31.017 C 134.901,31.017 137.843,30.671 140.716,29.986 L 140.776,30.039 L 143.14,31.647 L 143.115,31.663 C 139.467,32.532 135.73,32.971 131.98,32.971 C 128.23,32.971 124.493,32.533 120.845,31.663 L 120.82,31.647 L 123.185,30.039 L 123.185,29.976 L 123.183,29.976 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path317" />
+
+ <path
+ d="M 116.215,210.379 C 121.291,211.955 126.619,212.744 131.947,212.744 C 137.307,212.744 142.635,211.955 147.711,210.379 L 147.711,210.379 L 148.278,210.852 L 148.278,210.852 C 142.856,212.524 137.622,213.469 131.947,213.469 C 126.303,213.469 121.07,212.586 115.678,210.915 L 115.678,210.915 L 116.215,210.379 L 116.215,210.379 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path319" />
+
+ <path
+ d="M 115.71,210.946 C 115.71,210.946 123.718,213.468 131.853,213.468 C 139.987,213.437 148.279,210.851 148.279,210.851 L 148.279,210.851 L 148.279,214.792 L 148.279,214.792 C 148.279,214.792 139.987,217.377 131.853,217.409 C 123.719,217.439 115.71,214.886 115.71,214.886 L 115.71,214.886 L 115.71,210.946 L 115.71,210.946 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path321" />
+
+ <polygon
+ points="116.688,212.019 116.688,214.445 116.846,214.445 116.846,212.019 116.688,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon323" />
+
+ <polygon
+ points="117.192,212.176 117.192,214.604 117.35,214.604 117.35,212.176 117.192,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon325" />
+
+ <polygon
+ points="117.697,212.303 117.697,214.729 117.823,214.729 117.823,212.303 117.697,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon327" />
+
+ <polygon
+ points="118.17,212.46 118.17,214.887 118.327,214.887 118.327,212.46 118.17,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon329" />
+
+ <polygon
+ points="118.674,212.586 118.674,215.014 118.832,215.014 118.832,212.586 118.674,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon331" />
+
+ <polygon
+ points="119.179,212.712 119.179,215.14 119.336,215.14 119.336,212.712 119.179,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon333" />
+
+ <polygon
+ points="119.683,212.807 119.683,215.266 119.81,215.266 119.81,212.807 119.683,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon335" />
+
+ <polygon
+ points="120.188,212.933 120.188,215.36 120.313,215.36 120.313,212.933 120.188,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon337" />
+
+ <polygon
+ points="120.66,213.059 120.66,215.486 120.818,215.486 120.818,213.059 120.66,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon339" />
+
+ <polygon
+ points="121.165,213.153 121.165,215.581 121.323,215.581 121.323,213.153 121.165,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon341" />
+
+ <polygon
+ points="121.669,213.248 121.669,215.676 121.827,215.676 121.827,213.248 121.669,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon343" />
+
+ <polygon
+ points="122.174,213.343 122.174,215.771 122.332,215.771 122.332,213.343 122.174,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon345" />
+
+ <polygon
+ points="122.678,213.438 122.678,215.864 122.836,215.864 122.836,213.438 122.678,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon347" />
+
+ <polygon
+ points="123.183,213.531 123.183,215.96 123.34,215.96 123.34,213.531 123.183,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon349" />
+
+ <polygon
+ points="123.687,213.595 123.719,216.054 123.845,216.054 123.845,213.595 123.687,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon351" />
+
+ <polygon
+ points="124.223,213.689 124.223,216.117 124.35,216.117 124.35,213.689 124.223,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon353" />
+
+ <polygon
+ points="124.728,213.752 124.728,216.18 124.885,216.18 124.885,213.752 124.728,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon355" />
+
+ <polygon
+ points="125.232,213.815 125.232,216.243 125.39,216.243 125.39,213.815 125.232,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon357" />
+
+ <polygon
+ points="125.737,213.879 125.737,216.306 125.894,216.306 125.894,213.879 125.737,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon359" />
+
+ <polygon
+ points="126.241,213.941 126.241,216.369 126.398,216.369 126.398,213.941 126.241,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon361" />
+
+ <polygon
+ points="126.746,214.005 126.746,216.433 126.903,216.433 126.903,214.005 126.746,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon363" />
+
+ <polygon
+ points="127.281,214.036 127.281,216.464 127.439,216.464 127.439,214.036 127.281,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon365" />
+
+ <polygon
+ points="127.786,214.067 127.786,216.526 127.943,216.526 127.943,214.067 127.786,214.067 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon367" />
+
+ <polygon
+ points="128.291,214.131 128.291,216.559 128.448,216.559 128.448,214.131 128.291,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon369" />
+
+ <polygon
+ points="128.794,214.163 128.794,216.59 128.953,216.59 128.953,214.163 128.794,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon371" />
+
+ <polygon
+ points="129.331,214.163 129.331,216.621 129.457,216.621 129.457,214.163 129.331,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon373" />
+
+ <polygon
+ points="129.835,214.193 129.835,216.621 129.993,216.621 129.993,214.193 129.835,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon375" />
+
+ <polygon
+ points="130.34,214.225 130.34,216.653 130.497,216.653 130.497,214.225 130.34,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon377" />
+
+ <polygon
+ points="130.844,214.225 130.844,216.653 131.001,216.653 131.001,214.225 130.844,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon379" />
+
+ <polygon
+ points="131.38,214.225 131.38,216.685 131.538,216.685 131.538,214.225 131.38,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon381" />
+
+ <polygon
+ points="131.884,214.225 131.884,216.685 132.042,216.685 132.042,214.225 131.884,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon383" />
+
+ <polygon
+ points="132.389,214.225 132.389,216.685 132.547,216.685 132.547,214.225 132.389,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon385" />
+
+ <polygon
+ points="132.925,214.225 132.925,216.653 133.051,216.653 133.051,214.225 132.925,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon387" />
+
+ <polygon
+ points="133.429,214.225 133.429,216.653 133.587,216.653 133.587,214.225 133.429,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon389" />
+
+ <polygon
+ points="133.934,214.193 133.934,216.621 134.091,216.621 134.091,214.193 133.934,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon391" />
+
+ <polygon
+ points="134.438,214.193 134.438,216.621 134.596,216.621 134.596,214.193 134.438,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon393" />
+
+ <polygon
+ points="134.974,214.163 134.974,216.59 135.101,216.59 135.132,214.163 134.974,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon395" />
+
+ <polygon
+ points="135.479,214.131 135.479,216.559 135.636,216.559 135.636,214.131 135.479,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon397" />
+
+ <polygon
+ points="135.983,214.1 135.983,216.526 136.141,216.526 136.141,214.1 135.983,214.1 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon399" />
+
+ <polygon
+ points="136.488,214.036 136.488,216.464 136.645,216.464 136.645,214.036 136.488,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon401" />
+
+ <polygon
+ points="137.023,214.005 137.023,216.433 137.149,216.433 137.149,214.005 137.023,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon403" />
+
+ <polygon
+ points="137.528,213.941 137.528,216.369 137.686,216.369 137.686,213.941 137.528,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon405" />
+
+ <polygon
+ points="138.032,213.879 138.032,216.306 138.19,216.306 138.19,213.879 138.032,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon407" />
+
+ <polygon
+ points="138.537,213.815 138.537,216.243 138.695,216.243 138.695,213.815 138.537,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon409" />
+
+ <polygon
+ points="139.042,213.752 139.042,216.18 139.199,216.18 139.199,213.752 139.042,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon411" />
+
+ <polygon
+ points="139.545,213.689 139.577,216.117 139.703,216.117 139.703,213.689 139.545,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon413" />
+
+ <polygon
+ points="140.082,213.595 140.082,216.054 140.208,216.054 140.208,213.595 140.082,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon415" />
+
+ <polygon
+ points="140.586,213.531 140.586,215.96 140.712,215.96 140.712,213.531 140.586,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon417" />
+
+ <polygon
+ points="141.091,213.438 141.091,215.864 141.249,215.864 141.249,213.438 141.091,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon419" />
+
+ <polygon
+ points="141.595,213.343 141.595,215.771 141.752,215.771 141.752,213.343 141.595,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon421" />
+
+ <polygon
+ points="142.099,213.248 142.099,215.676 142.226,215.676 142.257,213.248 142.099,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon423" />
+
+ <polygon
+ points="142.604,213.153 142.604,215.581 142.73,215.581 142.73,213.153 142.604,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon425" />
+
+ <polygon
+ points="143.108,213.059 143.108,215.486 143.234,215.486 143.234,213.059 143.108,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon427" />
+
+ <polygon
+ points="143.582,212.933 143.613,215.36 143.739,215.36 143.739,212.933 143.582,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon429" />
+
+ <polygon
+ points="144.085,212.807 144.085,215.266 144.244,215.266 144.244,212.807 144.085,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon431" />
+
+ <polygon
+ points="144.59,212.712 144.59,215.14 144.748,215.14 144.748,212.712 144.59,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon433" />
+
+ <polygon
+ points="145.094,212.586 145.094,215.014 145.252,215.014 145.252,212.586 145.094,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon435" />
+
+ <polygon
+ points="145.599,212.46 145.599,214.887 145.757,214.887 145.757,212.46 145.599,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon437" />
+
+ <polygon
+ points="146.072,212.303 146.072,214.762 146.23,214.762 146.23,212.303 146.072,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon439" />
+
+ <polygon
+ points="146.577,212.176 146.577,214.604 146.734,214.604 146.734,212.176 146.577,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon441" />
+
+ <polygon
+ points="147.081,212.019 147.081,214.478 147.239,214.478 147.239,212.019 147.081,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon443" />
+
+ <polygon
+ points="101.807,159.556 136.771,159.556 136.771,174.753 101.807,174.753 101.807,159.556 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon445" />
+
+ <polygon
+ points="101.807,130.361 136.771,130.361 136.771,145.557 101.807,145.557 101.807,130.361 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon447" />
+
+ <path
+ d="M 144.59,130.329 C 164.705,130.613 169.75,139.914 169.781,152.557 C 169.812,161.385 164.358,175.004 144.149,175.131 L 144.433,159.525 C 149.855,159.84 154.301,157.413 154.396,152.085 C 154.49,147.23 150.077,145.464 144.654,145.558 L 144.59,130.329 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path449" />
+
+ <polygon
+ points="139.356,77.047 240.31,77.047 240.31,92.213 139.356,92.213 139.356,77.047 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon451" />
+
+ <polygon
+ points="109.689,188.594 240.31,188.594 240.31,203.789 109.689,203.789 109.689,188.594 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon453" />
+
+ <polygon
+ points="110.54,102.617 248.349,102.617 248.349,117.813 110.54,117.813 110.54,102.617 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon455" />
+
+ <path
+ d="M 92.916,102.774 C 53.38,102.711 41.116,131.18 41.147,152.556 C 41.116,187.804 57.889,203.821 92.632,203.788 L 92.506,188.75 C 65.96,188.75 56.628,172.954 56.628,153.501 C 56.659,129.887 69.397,118.064 92.444,117.56 L 92.916,102.774 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path457" />
+
+ <polygon
+ points="92.223,102.112 110.761,102.112 110.761,118.129 92.223,118.129 92.223,102.112 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon459" />
+
+ <polygon
+ points="92.223,102.112 92.223,118.129 93.042,118.129 93.042,102.112 92.223,102.112 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon461" />
+
+ <polygon
+ points="110.761,102.112 110.761,118.129 110.036,117.781 110.036,102.176 110.761,102.112 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon463" />
+
+ <polygon
+ points="92.223,188.184 110.761,188.184 110.761,204.2 92.223,204.2 92.223,188.184 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon465" />
+
+ <polygon
+ points="92.223,188.184 92.223,204.2 93.042,204.2 93.042,188.184 92.223,188.184 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon467" />
+
+ <polygon
+ points="110.761,188.184 110.761,204.2 110.036,203.884 110.036,188.277 110.761,188.184 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon469" />
+
+ <path
+ d="M 80.336,77.206 C 77.814,76.891 75.102,76.67 71.95,76.417 C 68.702,76.165 65.234,75.818 61.545,75.755 C 57.699,75.597 53.6,75.597 50.101,75.755 C 46.601,75.849 43.259,76.449 41.053,76.701 C 38.877,76.89 37.585,77.015 37.175,77.079 L 37.175,77.079 L 35.851,75.628 L 35.851,75.628 C 35.504,76.164 34.842,76.606 33.991,76.826 C 33.109,76.952 31.879,76.952 30.649,76.952 C 29.356,76.921 27.938,76.921 26.393,76.952 L 26.393,76.952 C 26.267,75.911 25.952,74.934 25.195,74.019 C 24.407,72.979 23.303,71.938 22.011,71.372 C 20.719,70.741 19.205,70.71 17.471,70.552 C 15.737,70.3 13.782,70.174 11.607,70.174 L 11.607,70.174 C 11.796,69.512 11.67,68.976 11.355,68.692 C 11.008,68.346 10.346,68.251 9.495,68.282 L 9.495,68.282 C 9.526,67.368 9.432,66.706 9.085,66.17 C 8.675,65.603 8.265,65.287 7.477,65.098 C 6.625,64.877 5.238,65.035 4.292,65.098 C 3.188,65.003 2.337,64.719 1.612,64.972 C 0.919,65.256 0.477,65.792 0.288,66.58 C 0.004,67.18 0.004,63.648 0.036,69.102 C 0.004,74.683 0.004,93.568 0.162,99.243 C 0.13,104.602 0.13,101.102 0.414,101.765 C 0.666,102.458 1.076,102.994 1.769,103.373 C 2.431,103.561 3.314,103.277 4.417,103.246 C 5.332,103.215 6.813,103.373 7.633,103.246 C 8.39,103.025 8.8,102.711 9.21,102.175 C 9.462,101.639 9.714,100.882 9.62,100.03 L 9.62,100.03 C 10.472,100.061 11.133,99.936 11.48,99.652 C 11.795,99.273 11.921,98.895 11.732,98.17 L 11.732,98.17 C 13.907,98.076 15.862,97.982 17.596,97.761 C 19.33,97.477 20.843,97.54 22.136,96.972 C 23.428,96.31 24.532,95.271 25.321,94.325 C 26.077,93.379 26.393,92.402 26.519,91.392 L 26.519,91.392 C 28.127,91.36 29.514,91.36 30.806,91.392 C 32.068,91.329 33.171,91.329 34.117,91.518 C 35,91.707 35.536,92.148 35.977,92.716 L 35.977,92.716 L 37.332,91.265 L 37.332,91.265 C 37.71,91.265 39.035,91.391 41.179,91.643 C 43.386,91.801 46.728,92.4 50.227,92.589 C 53.727,92.652 57.825,92.652 61.672,92.589 C 65.36,92.4 68.829,92.179 72.076,91.927 C 75.229,91.675 77.941,91.359 80.463,91.108 L 80.463,91.108 L 80.336,77.206 L 80.336,77.206 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path471" />
+
+ <path
+ d="M 24.059,87.767 L 2.841,87.767 L 2.841,87.767 C 2.62,89.375 2.62,90.573 2.841,91.487 C 2.936,92.306 3.156,92.779 3.85,93.032 C 4.543,93.19 5.994,93.095 6.971,92.748 C 7.791,92.338 7.759,91.267 8.957,90.889 C 10.092,90.385 11.7,90.478 13.655,90.321 C 15.578,90.069 18.542,90.164 20.371,89.753 C 22.104,89.312 23.334,88.65 24.059,87.767 L 24.059,87.767 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path473" />
+
+ <path
+ d="M 23.775,78.529 L 3.125,78.529 L 3.125,78.529 C 3.062,76.953 3.156,75.755 3.409,74.682 C 3.567,73.485 3.945,72.759 4.544,72.255 C 5.017,71.782 5.869,71.782 6.846,72.129 C 7.855,72.444 9.085,73.895 10.534,74.4 C 11.796,74.747 13.214,74.81 14.791,74.967 C 16.304,75.03 18.385,74.935 19.93,75.534 C 21.379,76.102 22.703,77.142 23.775,78.529 L 23.775,78.529 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path475" />
+
+ <polygon
+ points="79.989,76.574 139.545,76.574 139.545,92.622 79.989,92.622 79.989,76.574 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon477" />
+
+ <polygon
+ points="79.989,76.574 79.989,92.622 82.575,92.622 82.575,76.574 79.989,76.574 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon479" />
+
+ <polygon
+ points="139.545,76.574 139.545,92.622 138.568,92.402 138.568,76.922 139.545,76.574 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon481" />
+
+ <path
+ d="M 240.31,77.047 C 290.156,76.89 300.685,106.589 300.685,140.419 C 300.685,174.217 285.709,203.475 240.31,203.789 L 240.31,188.594 C 281.926,188.594 283.597,164.696 284.132,140.198 C 284.764,110.278 277.007,92.244 240.31,92.213 L 240.31,77.047 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path483" />
+
+ <polygon
+ points="292.739,140.449 295.987,140.324 297.658,143.54 294.694,144.201 292.739,140.45 292.739,140.449 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon485" />
+
+ <polygon
+ points="292.077,142.657 290.879,153.377 293.15,153.723 293.686,145.526 292.077,142.657 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon487" />
+
+ <polygon
+ points="296.523,136.604 290.376,137.14 288.925,150.287 289.682,152.21 291.447,139.505 296.366,139.031 296.523,136.604 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon489" />
+
+ <path
+ d="M 300.275,141.333 C 301.378,141.427 302.324,141.995 303.238,142.782 C 304.058,143.571 304.972,144.833 305.509,146.188 C 305.888,147.511 306.17,148.868 305.982,150.381 C 305.761,151.736 304.911,153.218 304.28,154.321 C 303.587,155.267 302.735,155.961 301.852,156.528 C 300.874,157.064 299.802,157.473 298.509,157.757 L 298.509,157.757 C 299.077,152.304 299.676,146.818 300.275,141.333 L 300.275,141.333 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path491" />
+
+ <path
+ d="M 298.646,143.687 C 301.587,143.687 303.974,146.244 303.974,149.394 C 303.974,152.544 301.587,155.1 298.646,155.1 C 295.706,155.1 293.318,152.544 293.318,149.394 C 293.318,146.244 295.705,143.687 298.646,143.687"
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path493" />
+
+ <path
+ d="M 264.238,83.448 C 262.472,81.714 260.297,80.358 257.586,79.002 C 254.748,77.647 250.618,76.574 248.001,75.534 C 245.385,74.399 243.967,74.147 242.169,72.476 C 240.246,70.679 238.007,67.873 237.03,65.256 C 236.084,62.545 235.895,59.392 236.337,56.649 C 236.715,53.843 237.598,50.785 239.111,48.578 C 240.435,46.277 242.484,44.385 244.533,43.155 C 246.457,41.863 248.759,41.326 251.186,41.074 C 253.676,40.76 256.892,41.295 259.257,41.358 C 261.432,41.326 263.071,41.39 264.522,41.074 C 265.941,40.664 267.012,39.341 267.99,39.152 C 269,38.9 270.071,39.12 270.355,39.687 C 270.386,40.223 269.881,41.516 269.093,42.336 C 268.337,43.029 267.801,43.628 266.035,44.007 C 264.048,44.259 261.021,44.354 258.279,44.417 C 255.536,44.449 252.477,43.881 250.081,44.417 C 247.685,44.89 245.604,45.868 244.091,47.349 C 242.451,48.736 241.632,50.912 240.907,53.024 C 240.087,55.073 239.803,57.406 239.929,59.55 C 240.086,61.473 240.78,63.459 242.01,65.383 C 243.176,67.305 244.721,69.986 247.023,71.373 C 249.198,72.697 251.563,72.54 255.346,73.454 C 259.098,74.273 265.592,75.376 269.25,76.513 C 272.78,77.616 274.42,78.783 276.47,80.138 C 278.456,81.399 279.938,83.07 281.041,84.426 C 282.113,85.751 282.681,86.917 282.87,88.052 L 282.87,88.052 L 281.892,88.998 L 281.892,88.998 C 279.999,87.295 277.635,86.003 274.671,85.119 C 271.711,84.204 268.274,83.605 264.238,83.448 L 264.238,83.448 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path495" />
+
+ <polygon
+ points="234.318,155.048 248.349,155.048 248.349,170.244 234.318,170.244 234.318,155.048 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon497" />
+
+ <path
+ d="M 248.349,102.617 L 249.704,102.585 L 249.704,102.585 C 275.904,102.554 283.565,117.75 283.565,136.414 C 283.565,155.11 268.4,170.275 249.704,170.275 L 249.704,170.275 L 248.349,170.244 L 248.349,155.047 L 248.349,155.048 C 263.892,154.859 266.509,146.22 266.509,136.068 C 266.509,125.884 262.978,117.719 248.349,117.813 L 248.349,117.813 L 248.349,102.617 L 248.349,102.617 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path499" />
+
+ <polygon
+ points="219.5,154.669 234.508,154.669 234.508,170.686 219.5,170.686 219.5,154.669 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon501" />
+
+ <polygon
+ points="234.508,154.669 234.508,170.686 233.94,170.339 233.94,154.732 234.508,154.669 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon503" />
+
+ <polygon
+ points="181.856,143.099 193.111,143.099 193.111,159.114 181.856,159.114 181.856,143.099 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon505" />
+
+ <polygon
+ points="252.636,202.34 253.172,204.861 265.468,202.245 264.932,199.723 252.636,202.34 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon507" />
+
+ <polygon
+ points="255.348,204.263 256.23,208.393 264.081,206.722 263.198,202.591 255.348,204.263 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon509" />
+
+ <path
+ d="M 260.455,216.874 C 260.455,217.599 260.959,217.977 261.969,218.261 C 262.789,218.418 264.081,218.86 266.225,218.261 C 268.432,217.599 271.238,216.495 274.99,214.446 C 278.711,212.271 284.417,209.15 288.326,205.681 C 292.11,202.245 294.632,198.304 297.596,193.859 C 300.434,189.319 303.681,183.265 305.762,178.852 C 307.811,174.342 309.419,168.92 309.862,167.186 C 310.082,165.358 308.978,166.335 307.875,168.541 C 306.771,170.874 305.385,176.297 303.336,180.68 C 301.065,184.967 297.976,190.548 295.17,194.143 C 292.363,197.642 290.441,199.408 286.972,201.868 C 283.315,204.264 277.199,207.1 274.235,208.552 C 271.336,209.875 269.821,210.38 269.696,210.065 L 269.696,210.065 C 269.128,209.309 268.624,208.898 268.182,208.71 C 267.678,208.489 267.363,208.584 266.984,208.994 L 266.984,208.994 C 266.448,209.781 265.691,210.538 264.713,211.138 C 263.673,211.705 262.412,212.115 261.057,212.493 C 259.669,212.808 257.588,212.998 256.517,212.934 C 255.35,212.746 254.593,212.241 254.246,211.42 L 254.246,211.42 C 253.772,213.816 254.12,215.487 255.16,216.434 C 256.23,217.378 257.87,217.41 260.455,216.874 L 260.455,216.874 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path511" />
+
+ <path
+ d="M 254.402,212.491 C 253.77,211.639 253.519,209.528 254.244,208.708 C 254.875,207.825 256.23,208.203 258.184,207.637 C 260.014,207.005 263.86,205.303 265.467,205.208 C 267.012,204.987 267.139,206.154 267.422,206.879 C 267.643,207.637 267.737,208.455 266.981,209.465 C 266.066,210.348 264.207,211.45 262.725,212.176 C 261.18,212.838 259.54,213.248 258.184,213.405 C 256.703,213.405 255.032,213.217 254.402,212.491 L 254.402,212.491 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path513" />
+
+ <polygon
+ points="279.246,191.872 280.728,193.605 284.669,190.295 283.188,188.562 279.246,191.872 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon515" />
+
+ <polygon
+ points="281.642,192.818 286.15,198.146 288.231,196.412 283.723,191.052 281.642,192.818 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon517" />
+
+ <path
+ d="M 286.561,200.889 C 287.539,202.056 289.303,202.213 290.501,201.236 C 291.699,200.228 291.825,198.462 290.849,197.263 C 289.84,196.097 288.074,195.94 286.876,196.917 C 285.709,197.926 285.551,199.691 286.561,200.889 L 286.561,200.889 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path519" />
+
+ <path
+ d="M 287.128,200.385 C 287.853,201.268 289.146,201.363 290.028,200.637 C 290.879,199.912 291.006,198.619 290.249,197.768 C 289.523,196.885 288.231,196.79 287.381,197.516 C 286.528,198.24 286.403,199.533 287.128,200.385 L 287.128,200.385 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path521" />
+
+ <path
+ d="M 119.305,131.118 C 119.557,129.604 119.4,128.437 118.864,127.555 C 118.297,126.672 117.383,126.105 116.027,125.822 C 108.334,125.822 103.29,125.791 100.768,125.822 C 94.998,125.885 89.354,128.943 89.354,135.437 C 89.354,141.144 93.832,145.527 101.808,145.557 L 101.808,145.557 L 101.808,130.362 L 119.306,130.362 L 119.306,131.118 L 119.305,131.118 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path523" />
+
+ <path
+ d="M 119.305,160.313 C 119.557,158.831 119.4,157.665 118.864,156.782 C 118.297,155.899 117.383,155.3 116.027,155.017 C 108.334,155.017 103.29,154.985 100.768,155.017 C 94.998,155.111 89.354,158.169 89.354,164.663 C 89.354,170.339 93.832,174.721 101.808,174.783 L 101.808,174.783 L 101.808,159.588 L 119.306,159.588 L 119.306,160.313 L 119.305,160.313 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path525" />
+
+ <path
+ d="M 289.503,195.393 C 292.149,195.393 294.295,197.526 294.295,200.154 C 294.295,202.782 292.149,204.915 289.503,204.915 C 286.858,204.915 284.711,202.782 284.711,200.154 C 284.711,197.526 286.858,195.393 289.503,195.393"
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path527" />
+</g>
+</svg> \ No newline at end of file
diff --git a/City/Images/latin2.svg b/City/Images/latin2.svg
new file mode 100755
index 0000000..7c243cc
--- /dev/null
+++ b/City/Images/latin2.svg
@@ -0,0 +1,1330 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="55"
+ height="55"
+ viewBox="0 0 353.963 218.583"
+ id="Layer_1"
+ xml:space="preserve">
+ <defs
+ id="defs530" />
+
+
+<g
+ id="g5">
+ style="fill:&fill_color;;fill:&fill_color;;
+ <polygon
+ points="216.001,98.991 251.754,98.991 251.754,117.056 216.001,117.056 216.001,98.991 "
+ style="fill:&fill_color;;fill-rule:evenodd;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon7" />
+
+ <polygon
+ points="216.001,109.616 251.754,109.616 251.754,112.264 216.001,112.264 216.001,109.616 "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon9" />
+
+ <polygon
+ points="216.001,114.251 251.754,114.251 251.754,116.016 216.001,116.016 216.001,114.251 "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon11" />
+
+ <path
+ d="M 251.754,98.991 C 290.218,99.117 299.141,123.645 299.141,149.151 C 299.141,174.626 288.83,198.176 251.754,198.115 L 251.754,198.115 L 251.754,180.081 L 251.754,180.081 C 276.786,179.45 282.525,165.798 282.525,148.521 C 282.525,131.244 276.504,117.781 251.754,117.055 L 251.754,117.055 L 251.754,98.991 L 251.754,98.991 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path13" />
+
+ <path
+ d="M 90.678,55.42 C 96.763,54.253 108.365,52.992 126.052,51.636 C 143.865,50.249 176.623,48.83 196.265,47.285 C 215.812,45.708 226.532,44.415 242.516,42.367 C 258.5,40.318 277.922,38.078 291.258,35.115 C 304.531,32.12 314.115,28.147 321.619,24.616 C 329.092,21.116 333.695,17.68 335.744,14.15 C 335.649,11.123 336.028,8.506 336.942,6.205 C 337.825,3.903 339.369,0.909 341.103,0.435 C 342.869,-0.006 345.517,-1.016 347.409,3.462 C 349.301,8.002 351.382,20.928 352.359,27.265 C 353.337,33.571 352.895,34.642 353.147,41.011 C 353.431,47.443 353.873,56.491 353.935,65.383 C 353.998,74.305 353.746,85.907 353.557,93.946 C 353.368,101.923 353.777,106.652 352.768,113.052 C 351.759,119.451 349.647,128.5 347.535,132.031 C 345.423,135.468 341.986,134.553 340.189,133.733 C 338.423,132.85 337.635,129.129 336.942,126.923 C 336.216,124.684 335.87,122.603 335.87,120.491 C 329.816,114.027 319.034,108.226 302.923,102.772 C 286.718,97.318 262.378,90.665 239.805,88.08 C 217.167,85.526 193.649,87.985 168.52,87.544 C 143.298,87.071 105.969,85.306 90.142,85.368 C 62.744,85.463 48.62,110.621 48.62,133.164 C 48.62,157.409 66.654,176.925 90.679,180.078 L 90.679,180.078 L 90.679,198.112 L 90.679,198.112 C 42.472,198.332 25.322,163.903 25.322,126.764 C 25.32,89.659 50.7,60.306 90.678,55.42 L 90.678,55.42 L 90.678,55.42 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path15" />
+
+ <path
+ d="M 90.678,190.674 C 87.84,190.674 84.782,190.233 81.377,189.476 C 77.909,188.594 73.779,187.364 70.311,185.788 C 66.717,184.181 63.47,182.163 60.443,179.734 C 57.322,176.992 53.538,171.631 52.025,170.465 C 50.449,169.393 50.007,171.095 51.3,173.271 C 52.561,175.352 56.218,180.049 59.844,182.982 C 63.501,185.851 68.64,188.594 72.833,190.359 C 76.932,191.935 81.251,192.408 84.341,192.881 C 87.273,193.354 89.385,193.512 90.678,193.354 L 90.678,193.354 L 90.678,190.674 L 90.678,190.674 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path17" />
+
+ <path
+ d="M 339.779,13.519 C 339.148,11.565 338.991,9.767 339.18,8.254 C 339.401,6.614 340.094,4.943 341.008,4.218 C 341.765,3.462 343.404,2.989 344.224,4.029 C 344.95,4.975 345.422,6.992 345.643,10.082 L 345.643,10.082 C 344.288,8.822 343.184,8.443 342.206,9.073 C 341.229,9.641 340.379,11.123 339.779,13.519 L 339.779,13.519 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path19" />
+
+ <path
+ d="M 340.6,119.168 C 340.411,122.069 340.568,124.244 341.199,125.821 C 341.766,127.366 343.185,128.785 344.225,128.249 C 345.203,127.555 346.149,125.506 347.063,121.975 L 347.063,121.975 C 345.928,123.772 344.887,124.497 343.816,124.024 C 342.712,123.52 341.64,121.942 340.6,119.168 L 340.6,119.168 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path21" />
+
+ <path
+ d="M 216.159,67.211 C 232.428,66.864 248.348,66.801 264.774,66.896 C 281.106,67.022 301.788,64.878 313.706,67.874 C 325.434,70.837 331.267,78.026 335.334,84.205 C 339.275,90.164 338.96,101.451 337.668,103.848 C 336.249,106.15 332.528,101.988 327.357,98.172 C 322.155,94.074 315.03,84.269 306.707,80.548 C 298.194,76.985 295.734,78.09 277.07,76.544 C 258.216,74.904 231.45,72.823 195.192,70.554 L 195.192,70.554 C 202.16,69.449 209.159,68.346 216.159,67.211 L 216.159,67.211 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path23" />
+
+ <path
+ d="M 287.064,52.582 C 295.766,53.118 304.373,52.046 313.358,49.24 C 322.25,46.403 331.203,42.052 340.346,35.936 L 340.346,35.936 C 335.807,43.849 329.312,49.051 320.358,51.889 C 311.31,54.663 300.496,54.852 287.064,52.582 L 287.064,52.582 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path25" />
+
+ <path
+ d="M 34.053,133.388 C 33.454,133.419 32.288,123.268 32.729,117.75 C 33.076,112.232 34.211,105.77 36.386,100.441 C 38.498,94.892 41.778,89.847 45.372,85.434 C 48.872,81.052 52.907,77.52 57.352,74.462 C 61.735,71.278 65.739,69.008 71.666,66.801 C 77.499,64.499 88.881,61.631 92.317,61.126 C 95.533,60.685 94.871,62.23 91.655,63.806 C 88.312,65.256 79.296,66.928 72.99,69.797 C 66.653,72.54 59.874,75.567 54.357,80.454 C 48.713,85.371 43.133,92.844 40.044,99.087 C 36.891,105.267 37.017,111.225 36.04,117.089 C 34.968,122.826 34.589,133.199 34.053,133.388 L 34.053,133.388 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path27" />
+
+ <polygon
+ points="90.678,180.081 251.754,180.081 251.754,198.115 90.678,198.115 90.678,180.081 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon29" />
+
+ <polygon
+ points="90.678,195.34 251.754,195.34 251.754,197.105 90.678,197.105 90.678,195.34 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon31" />
+
+ <path
+ d="M 124.854,98.36 L 123.499,98.328 L 123.499,98.328 C 97.299,98.298 89.638,115.764 89.638,137.266 C 89.638,158.799 104.803,176.235 123.499,176.235 L 123.499,176.235 L 124.854,176.203 L 124.854,158.706 L 124.854,158.706 C 109.311,158.517 106.694,148.554 106.694,136.856 C 106.694,125.158 110.257,115.733 124.854,115.828 L 124.854,115.828 L 124.854,98.36 L 124.854,98.36 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path33" />
+
+ <path
+ d="M 124.854,169.077 C 122.584,169.298 120.157,169.14 117.697,168.478 C 115.175,167.815 112.243,166.618 109.878,165.231 C 107.45,163.717 104.171,160.06 103.32,159.712 C 102.468,159.208 103.099,161.542 104.487,162.96 C 105.716,164.41 108.554,167.059 110.824,168.478 C 113.063,169.77 115.238,170.527 117.697,171.094 C 120.062,171.63 122.364,171.82 124.854,171.787 L 124.854,171.787 L 124.854,169.077 L 124.854,169.077 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path35" />
+
+ <path
+ d="M 189.455,67.558 C 194.53,69.134 199.858,69.954 205.219,69.954 C 210.547,69.954 215.875,69.134 220.951,67.558 L 220.951,67.558 L 220.951,211.546 L 220.951,211.546 C 215.875,213.122 210.547,213.942 205.219,213.942 C 199.859,213.942 194.531,213.123 189.455,211.546 L 189.455,211.546 L 189.455,67.558 L 189.455,67.558 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path37" />
+
+ <polygon
+ points="200.867,38.52 209.096,38.52 209.096,57.122 200.867,57.122 200.867,38.52 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon39" />
+
+ <path
+ d="M 193.994,39.056 C 197.746,39.971 201.246,40.38 205.155,40.38 C 209.033,40.38 212.532,39.97 216.284,39.056 L 216.284,39.056 L 216.284,31.647 L 216.284,31.647 C 212.532,32.529 209.033,32.971 205.155,32.971 C 201.246,32.971 197.746,32.53 193.994,31.647 L 193.994,31.647 L 193.994,39.056 L 193.994,39.056 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path41" />
+
+ <path
+ d="M 196.327,30.165 C 199.322,30.985 202.066,31.363 205.123,31.363 C 208.182,31.363 210.956,30.985 213.951,30.165 L 213.951,30.165 L 213.951,30.165 C 210.956,29.377 208.181,28.998 205.123,28.998 C 202.066,28.999 199.322,29.377 196.327,30.165 L 196.327,30.165 L 196.327,30.165 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path43" />
+
+ <path
+ d="M 196.359,29.976 L 196.356,29.986 C 199.228,30.671 202.171,31.017 205.123,31.017 C 208.077,31.017 211.019,30.671 213.892,29.986 L 213.952,30.039 L 216.285,31.647 L 216.253,31.663 C 212.607,32.532 208.872,32.971 205.124,32.971 C 201.377,32.971 197.643,32.533 193.997,31.663 L 193.995,31.647 L 196.328,30.039 L 196.359,29.976 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path45" />
+
+ <path
+ d="M 189.391,210.379 C 194.467,211.955 199.795,212.744 205.123,212.744 C 210.452,212.744 215.78,211.955 220.888,210.379 L 220.888,210.379 L 221.424,210.852 L 221.424,210.852 C 216.032,212.524 210.768,213.469 205.123,213.469 C 199.48,213.469 194.246,212.586 188.855,210.915 L 188.855,210.915 L 189.391,210.379 L 189.391,210.379 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path47" />
+
+ <path
+ d="M 188.887,210.946 C 188.887,210.946 196.895,213.468 205.03,213.468 C 213.165,213.437 221.456,210.851 221.456,210.851 L 221.456,210.851 L 221.456,214.792 L 221.456,214.792 C 221.456,214.792 213.165,217.377 205.03,217.409 C 196.895,217.439 188.887,214.886 188.887,214.886 L 188.887,214.886 L 188.887,210.946 L 188.887,210.946 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path49" />
+
+ <polygon
+ points="189.864,212.019 189.864,214.445 190.021,214.445 190.021,212.019 189.864,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon51" />
+
+ <polygon
+ points="190.369,212.176 190.369,214.604 190.526,214.604 190.526,212.176 190.369,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon53" />
+
+ <polygon
+ points="190.842,212.303 190.842,214.729 190.999,214.729 190.999,212.303 190.842,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon55" />
+
+ <polygon
+ points="191.346,212.46 191.346,214.887 191.504,214.887 191.504,212.46 191.346,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon57" />
+
+ <polygon
+ points="191.852,212.586 191.852,215.014 192.008,215.014 192.008,212.586 191.852,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon59" />
+
+ <polygon
+ points="192.354,212.712 192.354,215.14 192.481,215.14 192.481,212.712 192.354,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon61" />
+
+ <polygon
+ points="192.828,212.807 192.828,215.266 192.986,215.266 192.986,212.807 192.828,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon63" />
+
+ <polygon
+ points="193.332,212.933 193.332,215.36 193.49,215.36 193.49,212.933 193.332,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon65" />
+
+ <polygon
+ points="193.837,213.059 193.837,215.486 193.994,215.486 193.994,213.059 193.837,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon67" />
+
+ <polygon
+ points="194.342,213.153 194.342,215.581 194.498,215.581 194.498,213.153 194.342,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon69" />
+
+ <polygon
+ points="194.846,213.248 194.846,215.676 195.004,215.676 195.004,213.248 194.846,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon71" />
+
+ <polygon
+ points="195.35,213.343 195.35,215.771 195.508,215.771 195.508,213.343 195.35,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon73" />
+
+ <polygon
+ points="195.854,213.438 195.854,215.864 196.013,215.864 196.013,213.438 195.854,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon75" />
+
+ <polygon
+ points="196.359,213.531 196.359,215.96 196.516,215.96 196.516,213.531 196.359,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon77" />
+
+ <polygon
+ points="196.863,213.595 196.863,216.054 197.021,216.054 197.021,213.595 196.863,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon79" />
+
+ <polygon
+ points="197.368,213.689 197.368,216.117 197.525,216.117 197.525,213.689 197.368,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon81" />
+
+ <polygon
+ points="197.903,213.752 197.903,216.18 198.03,216.18 198.03,213.752 197.903,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon83" />
+
+ <polygon
+ points="198.408,213.815 198.408,216.243 198.535,216.243 198.535,213.815 198.408,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon85" />
+
+ <polygon
+ points="198.912,213.879 198.912,216.306 199.07,216.306 199.07,213.879 198.912,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon87" />
+
+ <polygon
+ points="199.418,213.941 199.418,216.369 199.574,216.369 199.574,213.941 199.418,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon89" />
+
+ <polygon
+ points="199.922,214.005 199.922,216.433 200.079,216.433 200.079,214.005 199.922,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon91" />
+
+ <polygon
+ points="200.457,214.036 200.457,216.464 200.584,216.464 200.584,214.036 200.457,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon93" />
+
+ <polygon
+ points="200.962,214.067 200.962,216.526 201.12,216.526 201.12,214.067 200.962,214.067 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon95" />
+
+ <polygon
+ points="201.467,214.131 201.467,216.559 201.624,216.559 201.624,214.131 201.467,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon97" />
+
+ <polygon
+ points="201.971,214.163 201.971,216.59 202.129,216.59 202.129,214.163 201.971,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon99" />
+
+ <polygon
+ points="202.476,214.163 202.476,216.621 202.633,216.621 202.633,214.163 202.476,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon101" />
+
+ <polygon
+ points="203.011,214.193 203.011,216.621 203.169,216.621 203.169,214.193 203.011,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon103" />
+
+ <polygon
+ points="203.516,214.225 203.516,216.653 203.674,216.653 203.674,214.225 203.516,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon105" />
+
+ <polygon
+ points="204.021,214.225 204.021,216.653 204.178,216.653 204.178,214.225 204.021,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon107" />
+
+ <polygon
+ points="204.557,214.225 204.557,216.685 204.683,216.685 204.683,214.225 204.557,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon109" />
+
+ <polygon
+ points="205.062,214.225 205.062,216.685 205.219,216.685 205.219,214.225 205.062,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon111" />
+
+ <polygon
+ points="205.564,214.225 205.564,216.685 205.723,216.685 205.723,214.225 205.564,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon113" />
+
+ <polygon
+ points="206.069,214.225 206.069,216.653 206.228,216.653 206.228,214.225 206.069,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon115" />
+
+ <polygon
+ points="206.605,214.225 206.605,216.653 206.763,216.653 206.763,214.225 206.605,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon117" />
+
+ <polygon
+ points="207.11,214.193 207.11,216.621 207.268,216.621 207.268,214.193 207.11,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon119" />
+
+ <polygon
+ points="207.615,214.193 207.615,216.621 207.772,216.621 207.772,214.193 207.615,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon121" />
+
+ <polygon
+ points="208.15,214.163 208.118,216.59 208.276,216.59 208.276,214.163 208.15,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon123" />
+
+ <polygon
+ points="208.655,214.131 208.655,216.559 208.813,216.559 208.813,214.131 208.655,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon125" />
+
+ <polygon
+ points="209.159,214.1 209.159,216.526 209.316,216.526 209.316,214.1 209.159,214.1 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon127" />
+
+ <polygon
+ points="209.664,214.036 209.664,216.464 209.821,216.464 209.821,214.036 209.664,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon129" />
+
+ <polygon
+ points="210.169,214.005 210.169,216.433 210.326,216.433 210.326,214.005 210.169,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon131" />
+
+ <polygon
+ points="210.704,213.941 210.704,216.369 210.831,216.369 210.831,213.941 210.704,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon133" />
+
+ <polygon
+ points="211.209,213.879 211.209,216.306 211.366,216.306 211.366,213.879 211.209,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon135" />
+
+ <polygon
+ points="211.713,213.815 211.713,216.243 211.87,216.243 211.87,213.815 211.713,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon137" />
+
+ <polygon
+ points="212.218,213.752 212.218,216.18 212.375,216.18 212.375,213.752 212.218,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon139" />
+
+ <polygon
+ points="212.723,213.689 212.723,216.117 212.88,216.117 212.88,213.689 212.723,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon141" />
+
+ <polygon
+ points="213.227,213.595 213.227,216.054 213.385,216.054 213.385,213.595 213.227,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon143" />
+
+ <polygon
+ points="213.73,213.531 213.73,215.96 213.889,215.96 213.889,213.531 213.73,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon145" />
+
+ <polygon
+ points="214.235,213.438 214.267,215.864 214.393,215.864 214.393,213.438 214.235,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon147" />
+
+ <polygon
+ points="214.771,213.343 214.74,215.771 214.897,215.771 214.897,213.343 214.771,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon149" />
+
+ <polygon
+ points="215.276,213.248 215.244,215.676 215.402,215.676 215.402,213.248 215.276,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon151" />
+
+ <polygon
+ points="215.748,213.153 215.748,215.581 215.906,215.581 215.906,213.153 215.748,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon153" />
+
+ <polygon
+ points="216.253,213.059 216.253,215.486 216.411,215.486 216.411,213.059 216.253,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon155" />
+
+ <polygon
+ points="216.758,212.933 216.758,215.36 216.915,215.36 216.915,212.933 216.758,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon157" />
+
+ <polygon
+ points="217.262,212.807 217.262,215.266 217.42,215.266 217.42,212.807 217.262,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon159" />
+
+ <polygon
+ points="217.767,212.712 217.767,215.14 217.924,215.14 217.924,212.712 217.767,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon161" />
+
+ <polygon
+ points="218.271,212.586 218.271,215.014 218.429,215.014 218.429,212.586 218.271,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon163" />
+
+ <polygon
+ points="218.775,212.46 218.775,214.887 218.901,214.887 218.901,212.46 218.775,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon165" />
+
+ <polygon
+ points="219.248,212.303 219.248,214.762 219.406,214.762 219.406,212.303 219.248,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon167" />
+
+ <polygon
+ points="219.753,212.176 219.753,214.604 219.911,214.604 219.911,212.176 219.753,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon169" />
+
+ <polygon
+ points="220.257,212.019 220.257,214.478 220.384,214.478 220.384,212.019 220.257,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon171" />
+
+ <path
+ d="M 152.851,67.558 C 157.958,69.134 163.287,69.954 168.616,69.954 C 173.944,69.954 179.272,69.134 184.38,67.558 L 184.38,67.558 L 184.38,211.546 L 184.38,211.546 C 179.273,213.122 173.944,213.942 168.616,213.942 C 163.287,213.942 157.959,213.123 152.851,211.546 L 152.851,211.546 L 152.851,67.558 L 152.851,67.558 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path173" />
+
+ <polygon
+ points="164.295,38.52 172.492,38.52 172.492,57.122 164.295,57.122 164.295,38.52 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon175" />
+
+ <path
+ d="M 157.39,39.056 C 161.174,39.971 164.674,40.38 168.551,40.38 C 172.43,40.38 175.929,39.97 179.713,39.056 L 179.713,39.056 L 179.713,31.647 L 179.713,31.647 C 175.929,32.529 172.43,32.971 168.551,32.971 C 164.674,32.971 161.174,32.53 157.39,31.647 L 157.39,31.647 L 157.39,39.056 L 157.39,39.056 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path177" />
+
+ <path
+ d="M 159.755,30.134 C 162.719,30.89 165.493,31.269 168.551,31.269 C 171.61,31.269 174.385,30.89 177.348,30.134 L 177.348,30.134 L 177.348,30.134 C 174.385,29.345 171.61,28.998 168.551,28.998 C 165.493,28.999 162.719,29.346 159.755,30.134 L 159.755,30.134 L 159.755,30.134 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path179" />
+
+ <path
+ d="M 159.787,29.976 L 159.777,29.986 C 162.652,30.671 165.597,31.017 168.551,31.017 C 171.507,31.017 174.451,30.671 177.326,29.986 L 177.347,30.039 L 179.712,31.647 L 179.686,31.663 C 176.039,32.532 172.301,32.971 168.55,32.971 C 164.801,32.971 161.063,32.533 157.416,31.663 L 157.39,31.647 L 159.755,30.039 L 159.787,29.976 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path181" />
+
+ <path
+ d="M 152.788,210.379 C 157.895,211.955 163.224,212.744 168.551,212.744 C 173.879,212.744 179.208,211.955 184.316,210.379 L 184.316,210.379 L 184.852,210.852 L 184.852,210.852 C 179.46,212.524 174.196,213.469 168.551,213.469 C 162.908,213.469 157.643,212.586 152.252,210.915 L 152.252,210.915 L 152.788,210.379 L 152.788,210.379 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path183" />
+
+ <path
+ d="M 152.283,210.946 C 152.283,210.946 160.323,213.468 168.457,213.468 C 176.592,213.437 184.852,210.851 184.852,210.851 L 184.852,210.851 L 184.852,214.792 L 184.852,214.792 C 184.852,214.792 176.592,217.377 168.457,217.409 C 160.323,217.439 152.283,214.886 152.283,214.886 L 152.283,214.886 L 152.283,210.946 L 152.283,210.946 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path185" />
+
+ <polygon
+ points="153.292,212.019 153.292,214.445 153.449,214.445 153.418,212.019 153.292,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon187" />
+
+ <polygon
+ points="153.765,212.176 153.765,214.604 153.922,214.604 153.922,212.176 153.765,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon189" />
+
+ <polygon
+ points="154.269,212.303 154.269,214.729 154.427,214.729 154.427,212.303 154.269,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon191" />
+
+ <polygon
+ points="154.774,212.46 154.774,214.887 154.9,214.887 154.932,212.46 154.774,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon193" />
+
+ <polygon
+ points="155.247,212.586 155.247,215.014 155.404,215.014 155.404,212.586 155.247,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon195" />
+
+ <polygon
+ points="155.751,212.712 155.751,215.14 155.909,215.14 155.909,212.712 155.751,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon197" />
+
+ <polygon
+ points="156.255,212.807 156.255,215.266 156.413,215.266 156.413,212.807 156.255,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon199" />
+
+ <polygon
+ points="156.76,212.933 156.76,215.36 156.917,215.36 156.917,212.933 156.76,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon201" />
+
+ <polygon
+ points="157.265,213.059 157.265,215.486 157.422,215.486 157.422,213.059 157.265,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon203" />
+
+ <polygon
+ points="157.769,213.153 157.769,215.581 157.927,215.581 157.927,213.153 157.769,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon205" />
+
+ <polygon
+ points="158.273,213.248 158.273,215.676 158.431,215.676 158.431,213.248 158.273,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon207" />
+
+ <polygon
+ points="158.777,213.343 158.777,215.771 158.936,215.771 158.936,213.343 158.777,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon209" />
+
+ <polygon
+ points="159.282,213.438 159.282,215.864 159.44,215.864 159.44,213.438 159.282,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon211" />
+
+ <polygon
+ points="159.787,213.531 159.787,215.96 159.944,215.96 159.944,213.531 159.787,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon213" />
+
+ <polygon
+ points="160.291,213.595 160.291,216.054 160.449,216.054 160.449,213.595 160.291,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon215" />
+
+ <polygon
+ points="160.795,213.689 160.795,216.117 160.953,216.117 160.953,213.689 160.795,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon217" />
+
+ <polygon
+ points="161.3,213.752 161.3,216.18 161.458,216.18 161.458,213.752 161.3,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon219" />
+
+ <polygon
+ points="161.804,213.815 161.804,216.243 161.962,216.243 161.962,213.815 161.804,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon221" />
+
+ <polygon
+ points="162.309,213.879 162.34,216.306 162.467,216.306 162.467,213.879 162.309,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon223" />
+
+ <polygon
+ points="162.845,213.941 162.845,216.369 162.971,216.369 163.002,213.941 162.845,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon225" />
+
+ <polygon
+ points="163.349,214.005 163.349,216.433 163.507,216.433 163.507,214.005 163.349,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon227" />
+
+ <polygon
+ points="163.854,214.036 163.854,216.464 164.011,216.464 164.011,214.036 163.854,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon229" />
+
+ <polygon
+ points="164.358,214.067 164.358,216.526 164.516,216.526 164.516,214.067 164.358,214.067 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon231" />
+
+ <polygon
+ points="164.895,214.131 164.895,216.559 165.021,216.559 165.021,214.131 164.895,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon233" />
+
+ <polygon
+ points="165.398,214.163 165.398,216.59 165.556,216.59 165.556,214.163 165.398,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon235" />
+
+ <polygon
+ points="165.903,214.163 165.903,216.621 166.061,216.621 166.061,214.163 165.903,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon237" />
+
+ <polygon
+ points="166.408,214.193 166.408,216.621 166.565,216.621 166.565,214.193 166.408,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon239" />
+
+ <polygon
+ points="166.943,214.225 166.943,216.653 167.07,216.653 167.07,214.225 166.943,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon241" />
+
+ <polygon
+ points="167.448,214.225 167.448,216.653 167.605,216.653 167.605,214.225 167.448,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon243" />
+
+ <polygon
+ points="167.952,214.225 167.952,216.685 168.109,216.685 168.109,214.225 167.952,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon245" />
+
+ <polygon
+ points="168.457,214.225 168.457,216.685 168.615,216.685 168.615,214.225 168.457,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon247" />
+
+ <polygon
+ points="168.992,214.225 168.992,216.685 169.119,216.685 169.15,214.225 168.992,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon249" />
+
+ <polygon
+ points="169.497,214.225 169.497,216.653 169.655,216.653 169.655,214.225 169.497,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon251" />
+
+ <polygon
+ points="170.002,214.225 170.002,216.653 170.159,216.653 170.159,214.225 170.002,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon253" />
+
+ <polygon
+ points="170.537,214.193 170.537,216.621 170.664,216.621 170.664,214.193 170.537,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon255" />
+
+ <polygon
+ points="171.043,214.193 171.043,216.621 171.199,216.621 171.199,214.193 171.043,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon257" />
+
+ <polygon
+ points="171.547,214.163 171.547,216.59 171.704,216.59 171.704,214.163 171.547,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon259" />
+
+ <polygon
+ points="172.051,214.131 172.051,216.559 172.209,216.559 172.209,214.131 172.051,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon261" />
+
+ <polygon
+ points="172.587,214.1 172.587,216.526 172.713,216.526 172.713,214.1 172.587,214.1 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon263" />
+
+ <polygon
+ points="173.092,214.036 173.092,216.464 173.249,216.464 173.249,214.036 173.092,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon265" />
+
+ <polygon
+ points="173.596,214.005 173.596,216.433 173.754,216.433 173.754,214.005 173.596,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon267" />
+
+ <polygon
+ points="174.1,213.941 174.1,216.369 174.258,216.369 174.258,213.941 174.1,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon269" />
+
+ <polygon
+ points="174.605,213.879 174.605,216.306 174.763,216.306 174.763,213.879 174.605,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon271" />
+
+ <polygon
+ points="175.141,213.815 175.141,216.243 175.267,216.243 175.267,213.815 175.141,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon273" />
+
+ <polygon
+ points="175.645,213.752 175.645,216.18 175.803,216.18 175.803,213.752 175.645,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon275" />
+
+ <polygon
+ points="176.15,213.689 176.15,216.117 176.307,216.117 176.307,213.689 176.15,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon277" />
+
+ <polygon
+ points="176.654,213.595 176.654,216.054 176.812,216.054 176.812,213.595 176.654,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon279" />
+
+ <polygon
+ points="177.158,213.531 177.158,215.96 177.316,215.96 177.316,213.531 177.158,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon281" />
+
+ <polygon
+ points="177.663,213.438 177.663,215.864 177.82,215.864 177.82,213.438 177.663,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon283" />
+
+ <polygon
+ points="178.168,213.343 178.168,215.771 178.325,215.771 178.325,213.343 178.168,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon285" />
+
+ <polygon
+ points="178.672,213.248 178.672,215.676 178.83,215.676 178.83,213.248 178.672,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon287" />
+
+ <polygon
+ points="179.176,213.153 179.176,215.581 179.334,215.581 179.334,213.153 179.176,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon289" />
+
+ <polygon
+ points="179.681,213.059 179.681,215.486 179.838,215.486 179.838,213.059 179.681,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon291" />
+
+ <polygon
+ points="180.186,212.933 180.186,215.36 180.343,215.36 180.343,212.933 180.186,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon293" />
+
+ <polygon
+ points="180.689,212.807 180.689,215.266 180.848,215.266 180.848,212.807 180.689,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon295" />
+
+ <polygon
+ points="181.194,212.712 181.194,215.14 181.32,215.14 181.32,212.712 181.194,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon297" />
+
+ <polygon
+ points="181.666,212.586 181.666,215.014 181.824,215.014 181.824,212.586 181.666,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon299" />
+
+ <polygon
+ points="182.172,212.46 182.172,214.887 182.33,214.887 182.33,212.46 182.172,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon301" />
+
+ <polygon
+ points="182.676,212.303 182.676,214.762 182.833,214.762 182.833,212.303 182.676,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon303" />
+
+ <polygon
+ points="183.148,212.176 183.18,214.604 183.307,214.604 183.307,212.176 183.148,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon305" />
+
+ <polygon
+ points="183.653,212.019 183.653,214.478 183.811,214.478 183.811,212.019 183.653,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon307" />
+
+ <path
+ d="M 116.278,67.558 C 121.385,69.134 126.714,69.954 132.042,69.954 C 137.37,69.954 142.698,69.134 147.774,67.558 L 147.774,67.558 L 147.774,211.546 L 147.774,211.546 C 142.698,213.122 137.37,213.942 132.042,213.942 C 126.714,213.942 121.386,213.123 116.278,211.546 L 116.278,211.546 L 116.278,67.558 L 116.278,67.558 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path309" />
+
+ <polygon
+ points="127.691,38.52 135.92,38.52 135.92,57.122 127.691,57.122 127.691,38.52 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon311" />
+
+ <path
+ d="M 120.818,39.056 C 124.601,39.971 128.101,40.38 131.979,40.38 C 135.857,40.38 139.356,39.97 143.14,39.056 L 143.14,39.056 L 143.14,31.647 L 143.14,31.647 C 139.357,32.529 135.857,32.971 131.979,32.971 C 128.101,32.971 124.602,32.53 120.818,31.647 L 120.818,31.647 L 120.818,39.056 L 120.818,39.056 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path313" />
+
+ <path
+ d="M 123.183,30.071 C 126.146,30.828 128.921,31.174 131.979,31.174 C 135.037,31.174 137.78,30.828 140.775,30.071 L 140.775,30.071 L 140.775,30.071 C 137.78,29.345 135.037,28.998 131.979,28.998 C 128.921,28.998 126.146,29.346 123.183,30.071 L 123.183,30.071 L 123.183,30.071 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path315" />
+
+ <path
+ d="M 123.183,29.976 L 123.18,29.986 C 126.053,30.671 128.995,31.017 131.948,31.017 C 134.901,31.017 137.843,30.671 140.716,29.986 L 140.776,30.039 L 143.14,31.647 L 143.115,31.663 C 139.467,32.532 135.73,32.971 131.98,32.971 C 128.23,32.971 124.493,32.533 120.845,31.663 L 120.82,31.647 L 123.185,30.039 L 123.185,29.976 L 123.183,29.976 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path317" />
+
+ <path
+ d="M 116.215,210.379 C 121.291,211.955 126.619,212.744 131.947,212.744 C 137.307,212.744 142.635,211.955 147.711,210.379 L 147.711,210.379 L 148.278,210.852 L 148.278,210.852 C 142.856,212.524 137.622,213.469 131.947,213.469 C 126.303,213.469 121.07,212.586 115.678,210.915 L 115.678,210.915 L 116.215,210.379 L 116.215,210.379 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path319" />
+
+ <path
+ d="M 115.71,210.946 C 115.71,210.946 123.718,213.468 131.853,213.468 C 139.987,213.437 148.279,210.851 148.279,210.851 L 148.279,210.851 L 148.279,214.792 L 148.279,214.792 C 148.279,214.792 139.987,217.377 131.853,217.409 C 123.719,217.439 115.71,214.886 115.71,214.886 L 115.71,214.886 L 115.71,210.946 L 115.71,210.946 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path321" />
+
+ <polygon
+ points="116.688,212.019 116.688,214.445 116.846,214.445 116.846,212.019 116.688,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon323" />
+
+ <polygon
+ points="117.192,212.176 117.192,214.604 117.35,214.604 117.35,212.176 117.192,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon325" />
+
+ <polygon
+ points="117.697,212.303 117.697,214.729 117.823,214.729 117.823,212.303 117.697,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon327" />
+
+ <polygon
+ points="118.17,212.46 118.17,214.887 118.327,214.887 118.327,212.46 118.17,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon329" />
+
+ <polygon
+ points="118.674,212.586 118.674,215.014 118.832,215.014 118.832,212.586 118.674,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon331" />
+
+ <polygon
+ points="119.179,212.712 119.179,215.14 119.336,215.14 119.336,212.712 119.179,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon333" />
+
+ <polygon
+ points="119.683,212.807 119.683,215.266 119.81,215.266 119.81,212.807 119.683,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon335" />
+
+ <polygon
+ points="120.188,212.933 120.188,215.36 120.313,215.36 120.313,212.933 120.188,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon337" />
+
+ <polygon
+ points="120.66,213.059 120.66,215.486 120.818,215.486 120.818,213.059 120.66,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon339" />
+
+ <polygon
+ points="121.165,213.153 121.165,215.581 121.323,215.581 121.323,213.153 121.165,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon341" />
+
+ <polygon
+ points="121.669,213.248 121.669,215.676 121.827,215.676 121.827,213.248 121.669,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon343" />
+
+ <polygon
+ points="122.174,213.343 122.174,215.771 122.332,215.771 122.332,213.343 122.174,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon345" />
+
+ <polygon
+ points="122.678,213.438 122.678,215.864 122.836,215.864 122.836,213.438 122.678,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon347" />
+
+ <polygon
+ points="123.183,213.531 123.183,215.96 123.34,215.96 123.34,213.531 123.183,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon349" />
+
+ <polygon
+ points="123.687,213.595 123.719,216.054 123.845,216.054 123.845,213.595 123.687,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon351" />
+
+ <polygon
+ points="124.223,213.689 124.223,216.117 124.35,216.117 124.35,213.689 124.223,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon353" />
+
+ <polygon
+ points="124.728,213.752 124.728,216.18 124.885,216.18 124.885,213.752 124.728,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon355" />
+
+ <polygon
+ points="125.232,213.815 125.232,216.243 125.39,216.243 125.39,213.815 125.232,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon357" />
+
+ <polygon
+ points="125.737,213.879 125.737,216.306 125.894,216.306 125.894,213.879 125.737,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon359" />
+
+ <polygon
+ points="126.241,213.941 126.241,216.369 126.398,216.369 126.398,213.941 126.241,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon361" />
+
+ <polygon
+ points="126.746,214.005 126.746,216.433 126.903,216.433 126.903,214.005 126.746,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon363" />
+
+ <polygon
+ points="127.281,214.036 127.281,216.464 127.439,216.464 127.439,214.036 127.281,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon365" />
+
+ <polygon
+ points="127.786,214.067 127.786,216.526 127.943,216.526 127.943,214.067 127.786,214.067 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon367" />
+
+ <polygon
+ points="128.291,214.131 128.291,216.559 128.448,216.559 128.448,214.131 128.291,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon369" />
+
+ <polygon
+ points="128.794,214.163 128.794,216.59 128.953,216.59 128.953,214.163 128.794,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon371" />
+
+ <polygon
+ points="129.331,214.163 129.331,216.621 129.457,216.621 129.457,214.163 129.331,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon373" />
+
+ <polygon
+ points="129.835,214.193 129.835,216.621 129.993,216.621 129.993,214.193 129.835,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon375" />
+
+ <polygon
+ points="130.34,214.225 130.34,216.653 130.497,216.653 130.497,214.225 130.34,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon377" />
+
+ <polygon
+ points="130.844,214.225 130.844,216.653 131.001,216.653 131.001,214.225 130.844,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon379" />
+
+ <polygon
+ points="131.38,214.225 131.38,216.685 131.538,216.685 131.538,214.225 131.38,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon381" />
+
+ <polygon
+ points="131.884,214.225 131.884,216.685 132.042,216.685 132.042,214.225 131.884,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon383" />
+
+ <polygon
+ points="132.389,214.225 132.389,216.685 132.547,216.685 132.547,214.225 132.389,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon385" />
+
+ <polygon
+ points="132.925,214.225 132.925,216.653 133.051,216.653 133.051,214.225 132.925,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon387" />
+
+ <polygon
+ points="133.429,214.225 133.429,216.653 133.587,216.653 133.587,214.225 133.429,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon389" />
+
+ <polygon
+ points="133.934,214.193 133.934,216.621 134.091,216.621 134.091,214.193 133.934,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon391" />
+
+ <polygon
+ points="134.438,214.193 134.438,216.621 134.596,216.621 134.596,214.193 134.438,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon393" />
+
+ <polygon
+ points="134.974,214.163 134.974,216.59 135.101,216.59 135.132,214.163 134.974,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon395" />
+
+ <polygon
+ points="135.479,214.131 135.479,216.559 135.636,216.559 135.636,214.131 135.479,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon397" />
+
+ <polygon
+ points="135.983,214.1 135.983,216.526 136.141,216.526 136.141,214.1 135.983,214.1 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon399" />
+
+ <polygon
+ points="136.488,214.036 136.488,216.464 136.645,216.464 136.645,214.036 136.488,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon401" />
+
+ <polygon
+ points="137.023,214.005 137.023,216.433 137.149,216.433 137.149,214.005 137.023,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon403" />
+
+ <polygon
+ points="137.528,213.941 137.528,216.369 137.686,216.369 137.686,213.941 137.528,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon405" />
+
+ <polygon
+ points="138.032,213.879 138.032,216.306 138.19,216.306 138.19,213.879 138.032,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon407" />
+
+ <polygon
+ points="138.537,213.815 138.537,216.243 138.695,216.243 138.695,213.815 138.537,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon409" />
+
+ <polygon
+ points="139.042,213.752 139.042,216.18 139.199,216.18 139.199,213.752 139.042,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon411" />
+
+ <polygon
+ points="139.545,213.689 139.577,216.117 139.703,216.117 139.703,213.689 139.545,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon413" />
+
+ <polygon
+ points="140.082,213.595 140.082,216.054 140.208,216.054 140.208,213.595 140.082,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon415" />
+
+ <polygon
+ points="140.586,213.531 140.586,215.96 140.712,215.96 140.712,213.531 140.586,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon417" />
+
+ <polygon
+ points="141.091,213.438 141.091,215.864 141.249,215.864 141.249,213.438 141.091,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon419" />
+
+ <polygon
+ points="141.595,213.343 141.595,215.771 141.752,215.771 141.752,213.343 141.595,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon421" />
+
+ <polygon
+ points="142.099,213.248 142.099,215.676 142.226,215.676 142.257,213.248 142.099,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon423" />
+
+ <polygon
+ points="142.604,213.153 142.604,215.581 142.73,215.581 142.73,213.153 142.604,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon425" />
+
+ <polygon
+ points="143.108,213.059 143.108,215.486 143.234,215.486 143.234,213.059 143.108,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon427" />
+
+ <polygon
+ points="143.582,212.933 143.613,215.36 143.739,215.36 143.739,212.933 143.582,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon429" />
+
+ <polygon
+ points="144.085,212.807 144.085,215.266 144.244,215.266 144.244,212.807 144.085,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon431" />
+
+ <polygon
+ points="144.59,212.712 144.59,215.14 144.748,215.14 144.748,212.712 144.59,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon433" />
+
+ <polygon
+ points="145.094,212.586 145.094,215.014 145.252,215.014 145.252,212.586 145.094,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon435" />
+
+ <polygon
+ points="145.599,212.46 145.599,214.887 145.757,214.887 145.757,212.46 145.599,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon437" />
+
+ <polygon
+ points="146.072,212.303 146.072,214.762 146.23,214.762 146.23,212.303 146.072,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon439" />
+
+ <polygon
+ points="146.577,212.176 146.577,214.604 146.734,214.604 146.734,212.176 146.577,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon441" />
+
+ <polygon
+ points="147.081,212.019 147.081,214.478 147.239,214.478 147.239,212.019 147.081,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon443" />
+
+ <polygon
+ points="101.807,159.556 136.771,159.556 136.771,174.753 101.807,174.753 101.807,159.556 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon445" />
+
+ <polygon
+ points="101.807,130.361 136.771,130.361 136.771,145.557 101.807,145.557 101.807,130.361 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon447" />
+
+ <path
+ d="M 144.59,130.329 C 164.705,130.613 169.75,139.914 169.781,152.557 C 169.812,161.385 164.358,175.004 144.149,175.131 L 144.433,159.525 C 149.855,159.84 154.301,157.413 154.396,152.085 C 154.49,147.23 150.077,145.464 144.654,145.558 L 144.59,130.329 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path449" />
+
+ <polygon
+ points="139.356,77.047 240.31,77.047 240.31,92.213 139.356,92.213 139.356,77.047 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon451" />
+
+ <polygon
+ points="109.689,188.594 240.31,188.594 240.31,203.789 109.689,203.789 109.689,188.594 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon453" />
+
+ <polygon
+ points="110.54,102.617 248.349,102.617 248.349,117.813 110.54,117.813 110.54,102.617 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon455" />
+
+ <path
+ d="M 92.916,102.774 C 53.38,102.711 41.116,131.18 41.147,152.556 C 41.116,187.804 57.889,203.821 92.632,203.788 L 92.506,188.75 C 65.96,188.75 56.628,172.954 56.628,153.501 C 56.659,129.887 69.397,118.064 92.444,117.56 L 92.916,102.774 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path457" />
+
+ <polygon
+ points="92.223,102.112 110.761,102.112 110.761,118.129 92.223,118.129 92.223,102.112 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon459" />
+
+ <polygon
+ points="92.223,102.112 92.223,118.129 93.042,118.129 93.042,102.112 92.223,102.112 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon461" />
+
+ <polygon
+ points="110.761,102.112 110.761,118.129 110.036,117.781 110.036,102.176 110.761,102.112 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon463" />
+
+ <polygon
+ points="92.223,188.184 110.761,188.184 110.761,204.2 92.223,204.2 92.223,188.184 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon465" />
+
+ <polygon
+ points="92.223,188.184 92.223,204.2 93.042,204.2 93.042,188.184 92.223,188.184 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon467" />
+
+ <polygon
+ points="110.761,188.184 110.761,204.2 110.036,203.884 110.036,188.277 110.761,188.184 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon469" />
+
+ <path
+ d="M 80.336,77.206 C 77.814,76.891 75.102,76.67 71.95,76.417 C 68.702,76.165 65.234,75.818 61.545,75.755 C 57.699,75.597 53.6,75.597 50.101,75.755 C 46.601,75.849 43.259,76.449 41.053,76.701 C 38.877,76.89 37.585,77.015 37.175,77.079 L 37.175,77.079 L 35.851,75.628 L 35.851,75.628 C 35.504,76.164 34.842,76.606 33.991,76.826 C 33.109,76.952 31.879,76.952 30.649,76.952 C 29.356,76.921 27.938,76.921 26.393,76.952 L 26.393,76.952 C 26.267,75.911 25.952,74.934 25.195,74.019 C 24.407,72.979 23.303,71.938 22.011,71.372 C 20.719,70.741 19.205,70.71 17.471,70.552 C 15.737,70.3 13.782,70.174 11.607,70.174 L 11.607,70.174 C 11.796,69.512 11.67,68.976 11.355,68.692 C 11.008,68.346 10.346,68.251 9.495,68.282 L 9.495,68.282 C 9.526,67.368 9.432,66.706 9.085,66.17 C 8.675,65.603 8.265,65.287 7.477,65.098 C 6.625,64.877 5.238,65.035 4.292,65.098 C 3.188,65.003 2.337,64.719 1.612,64.972 C 0.919,65.256 0.477,65.792 0.288,66.58 C 0.004,67.18 0.004,63.648 0.036,69.102 C 0.004,74.683 0.004,93.568 0.162,99.243 C 0.13,104.602 0.13,101.102 0.414,101.765 C 0.666,102.458 1.076,102.994 1.769,103.373 C 2.431,103.561 3.314,103.277 4.417,103.246 C 5.332,103.215 6.813,103.373 7.633,103.246 C 8.39,103.025 8.8,102.711 9.21,102.175 C 9.462,101.639 9.714,100.882 9.62,100.03 L 9.62,100.03 C 10.472,100.061 11.133,99.936 11.48,99.652 C 11.795,99.273 11.921,98.895 11.732,98.17 L 11.732,98.17 C 13.907,98.076 15.862,97.982 17.596,97.761 C 19.33,97.477 20.843,97.54 22.136,96.972 C 23.428,96.31 24.532,95.271 25.321,94.325 C 26.077,93.379 26.393,92.402 26.519,91.392 L 26.519,91.392 C 28.127,91.36 29.514,91.36 30.806,91.392 C 32.068,91.329 33.171,91.329 34.117,91.518 C 35,91.707 35.536,92.148 35.977,92.716 L 35.977,92.716 L 37.332,91.265 L 37.332,91.265 C 37.71,91.265 39.035,91.391 41.179,91.643 C 43.386,91.801 46.728,92.4 50.227,92.589 C 53.727,92.652 57.825,92.652 61.672,92.589 C 65.36,92.4 68.829,92.179 72.076,91.927 C 75.229,91.675 77.941,91.359 80.463,91.108 L 80.463,91.108 L 80.336,77.206 L 80.336,77.206 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path471" />
+
+ <path
+ d="M 24.059,87.767 L 2.841,87.767 L 2.841,87.767 C 2.62,89.375 2.62,90.573 2.841,91.487 C 2.936,92.306 3.156,92.779 3.85,93.032 C 4.543,93.19 5.994,93.095 6.971,92.748 C 7.791,92.338 7.759,91.267 8.957,90.889 C 10.092,90.385 11.7,90.478 13.655,90.321 C 15.578,90.069 18.542,90.164 20.371,89.753 C 22.104,89.312 23.334,88.65 24.059,87.767 L 24.059,87.767 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path473" />
+
+ <path
+ d="M 23.775,78.529 L 3.125,78.529 L 3.125,78.529 C 3.062,76.953 3.156,75.755 3.409,74.682 C 3.567,73.485 3.945,72.759 4.544,72.255 C 5.017,71.782 5.869,71.782 6.846,72.129 C 7.855,72.444 9.085,73.895 10.534,74.4 C 11.796,74.747 13.214,74.81 14.791,74.967 C 16.304,75.03 18.385,74.935 19.93,75.534 C 21.379,76.102 22.703,77.142 23.775,78.529 L 23.775,78.529 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path475" />
+
+ <polygon
+ points="79.989,76.574 139.545,76.574 139.545,92.622 79.989,92.622 79.989,76.574 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon477" />
+
+ <polygon
+ points="79.989,76.574 79.989,92.622 82.575,92.622 82.575,76.574 79.989,76.574 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon479" />
+
+ <polygon
+ points="139.545,76.574 139.545,92.622 138.568,92.402 138.568,76.922 139.545,76.574 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon481" />
+
+ <path
+ d="M 240.31,77.047 C 290.156,76.89 300.685,106.589 300.685,140.419 C 300.685,174.217 285.709,203.475 240.31,203.789 L 240.31,188.594 C 281.926,188.594 283.597,164.696 284.132,140.198 C 284.764,110.278 277.007,92.244 240.31,92.213 L 240.31,77.047 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path483" />
+
+ <polygon
+ points="292.739,140.449 295.987,140.324 297.658,143.54 294.694,144.201 292.739,140.45 292.739,140.449 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon485" />
+
+ <polygon
+ points="292.077,142.657 290.879,153.377 293.15,153.723 293.686,145.526 292.077,142.657 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon487" />
+
+ <polygon
+ points="296.523,136.604 290.376,137.14 288.925,150.287 289.682,152.21 291.447,139.505 296.366,139.031 296.523,136.604 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon489" />
+
+ <path
+ d="M 300.275,141.333 C 301.378,141.427 302.324,141.995 303.238,142.782 C 304.058,143.571 304.972,144.833 305.509,146.188 C 305.888,147.511 306.17,148.868 305.982,150.381 C 305.761,151.736 304.911,153.218 304.28,154.321 C 303.587,155.267 302.735,155.961 301.852,156.528 C 300.874,157.064 299.802,157.473 298.509,157.757 L 298.509,157.757 C 299.077,152.304 299.676,146.818 300.275,141.333 L 300.275,141.333 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path491" />
+
+ <path
+ d="M 298.646,143.687 C 301.587,143.687 303.974,146.244 303.974,149.394 C 303.974,152.544 301.587,155.1 298.646,155.1 C 295.706,155.1 293.318,152.544 293.318,149.394 C 293.318,146.244 295.705,143.687 298.646,143.687"
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path493" />
+
+ <path
+ d="M 264.238,83.448 C 262.472,81.714 260.297,80.358 257.586,79.002 C 254.748,77.647 250.618,76.574 248.001,75.534 C 245.385,74.399 243.967,74.147 242.169,72.476 C 240.246,70.679 238.007,67.873 237.03,65.256 C 236.084,62.545 235.895,59.392 236.337,56.649 C 236.715,53.843 237.598,50.785 239.111,48.578 C 240.435,46.277 242.484,44.385 244.533,43.155 C 246.457,41.863 248.759,41.326 251.186,41.074 C 253.676,40.76 256.892,41.295 259.257,41.358 C 261.432,41.326 263.071,41.39 264.522,41.074 C 265.941,40.664 267.012,39.341 267.99,39.152 C 269,38.9 270.071,39.12 270.355,39.687 C 270.386,40.223 269.881,41.516 269.093,42.336 C 268.337,43.029 267.801,43.628 266.035,44.007 C 264.048,44.259 261.021,44.354 258.279,44.417 C 255.536,44.449 252.477,43.881 250.081,44.417 C 247.685,44.89 245.604,45.868 244.091,47.349 C 242.451,48.736 241.632,50.912 240.907,53.024 C 240.087,55.073 239.803,57.406 239.929,59.55 C 240.086,61.473 240.78,63.459 242.01,65.383 C 243.176,67.305 244.721,69.986 247.023,71.373 C 249.198,72.697 251.563,72.54 255.346,73.454 C 259.098,74.273 265.592,75.376 269.25,76.513 C 272.78,77.616 274.42,78.783 276.47,80.138 C 278.456,81.399 279.938,83.07 281.041,84.426 C 282.113,85.751 282.681,86.917 282.87,88.052 L 282.87,88.052 L 281.892,88.998 L 281.892,88.998 C 279.999,87.295 277.635,86.003 274.671,85.119 C 271.711,84.204 268.274,83.605 264.238,83.448 L 264.238,83.448 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path495" />
+
+ <polygon
+ points="234.318,155.048 248.349,155.048 248.349,170.244 234.318,170.244 234.318,155.048 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon497" />
+
+ <path
+ d="M 248.349,102.617 L 249.704,102.585 L 249.704,102.585 C 275.904,102.554 283.565,117.75 283.565,136.414 C 283.565,155.11 268.4,170.275 249.704,170.275 L 249.704,170.275 L 248.349,170.244 L 248.349,155.047 L 248.349,155.048 C 263.892,154.859 266.509,146.22 266.509,136.068 C 266.509,125.884 262.978,117.719 248.349,117.813 L 248.349,117.813 L 248.349,102.617 L 248.349,102.617 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path499" />
+
+ <polygon
+ points="219.5,154.669 234.508,154.669 234.508,170.686 219.5,170.686 219.5,154.669 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon501" />
+
+ <polygon
+ points="234.508,154.669 234.508,170.686 233.94,170.339 233.94,154.732 234.508,154.669 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon503" />
+
+ <polygon
+ points="181.856,143.099 193.111,143.099 193.111,159.114 181.856,159.114 181.856,143.099 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon505" />
+
+ <polygon
+ points="252.636,202.34 253.172,204.861 265.468,202.245 264.932,199.723 252.636,202.34 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon507" />
+
+ <polygon
+ points="255.348,204.263 256.23,208.393 264.081,206.722 263.198,202.591 255.348,204.263 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon509" />
+
+ <path
+ d="M 260.455,216.874 C 260.455,217.599 260.959,217.977 261.969,218.261 C 262.789,218.418 264.081,218.86 266.225,218.261 C 268.432,217.599 271.238,216.495 274.99,214.446 C 278.711,212.271 284.417,209.15 288.326,205.681 C 292.11,202.245 294.632,198.304 297.596,193.859 C 300.434,189.319 303.681,183.265 305.762,178.852 C 307.811,174.342 309.419,168.92 309.862,167.186 C 310.082,165.358 308.978,166.335 307.875,168.541 C 306.771,170.874 305.385,176.297 303.336,180.68 C 301.065,184.967 297.976,190.548 295.17,194.143 C 292.363,197.642 290.441,199.408 286.972,201.868 C 283.315,204.264 277.199,207.1 274.235,208.552 C 271.336,209.875 269.821,210.38 269.696,210.065 L 269.696,210.065 C 269.128,209.309 268.624,208.898 268.182,208.71 C 267.678,208.489 267.363,208.584 266.984,208.994 L 266.984,208.994 C 266.448,209.781 265.691,210.538 264.713,211.138 C 263.673,211.705 262.412,212.115 261.057,212.493 C 259.669,212.808 257.588,212.998 256.517,212.934 C 255.35,212.746 254.593,212.241 254.246,211.42 L 254.246,211.42 C 253.772,213.816 254.12,215.487 255.16,216.434 C 256.23,217.378 257.87,217.41 260.455,216.874 L 260.455,216.874 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path511" />
+
+ <path
+ d="M 254.402,212.491 C 253.77,211.639 253.519,209.528 254.244,208.708 C 254.875,207.825 256.23,208.203 258.184,207.637 C 260.014,207.005 263.86,205.303 265.467,205.208 C 267.012,204.987 267.139,206.154 267.422,206.879 C 267.643,207.637 267.737,208.455 266.981,209.465 C 266.066,210.348 264.207,211.45 262.725,212.176 C 261.18,212.838 259.54,213.248 258.184,213.405 C 256.703,213.405 255.032,213.217 254.402,212.491 L 254.402,212.491 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path513" />
+
+ <polygon
+ points="279.246,191.872 280.728,193.605 284.669,190.295 283.188,188.562 279.246,191.872 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon515" />
+
+ <polygon
+ points="281.642,192.818 286.15,198.146 288.231,196.412 283.723,191.052 281.642,192.818 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon517" />
+
+ <path
+ d="M 286.561,200.889 C 287.539,202.056 289.303,202.213 290.501,201.236 C 291.699,200.228 291.825,198.462 290.849,197.263 C 289.84,196.097 288.074,195.94 286.876,196.917 C 285.709,197.926 285.551,199.691 286.561,200.889 L 286.561,200.889 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path519" />
+
+ <path
+ d="M 287.128,200.385 C 287.853,201.268 289.146,201.363 290.028,200.637 C 290.879,199.912 291.006,198.619 290.249,197.768 C 289.523,196.885 288.231,196.79 287.381,197.516 C 286.528,198.24 286.403,199.533 287.128,200.385 L 287.128,200.385 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path521" />
+
+ <path
+ d="M 119.305,131.118 C 119.557,129.604 119.4,128.437 118.864,127.555 C 118.297,126.672 117.383,126.105 116.027,125.822 C 108.334,125.822 103.29,125.791 100.768,125.822 C 94.998,125.885 89.354,128.943 89.354,135.437 C 89.354,141.144 93.832,145.527 101.808,145.557 L 101.808,145.557 L 101.808,130.362 L 119.306,130.362 L 119.306,131.118 L 119.305,131.118 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path523" />
+
+ <path
+ d="M 119.305,160.313 C 119.557,158.831 119.4,157.665 118.864,156.782 C 118.297,155.899 117.383,155.3 116.027,155.017 C 108.334,155.017 103.29,154.985 100.768,155.017 C 94.998,155.111 89.354,158.169 89.354,164.663 C 89.354,170.339 93.832,174.721 101.808,174.783 L 101.808,174.783 L 101.808,159.588 L 119.306,159.588 L 119.306,160.313 L 119.305,160.313 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path525" />
+
+ <path
+ d="M 289.503,195.393 C 292.149,195.393 294.295,197.526 294.295,200.154 C 294.295,202.782 292.149,204.915 289.503,204.915 C 286.858,204.915 284.711,202.782 284.711,200.154 C 284.711,197.526 286.858,195.393 289.503,195.393"
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path527" />
+</g>
+</svg> \ No newline at end of file
diff --git a/City/Images/length1.svg b/City/Images/length1.svg
new file mode 100755
index 0000000..466005d
--- /dev/null
+++ b/City/Images/length1.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="55" width="55" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" >
+<g transform="scale(0.07) translate(-3.576666,-80.89799) ">
+ <path d="m455,351a101,61.4,0,1,1,-202,0,101,61.4,0,1,1,202,0z" stroke-opacity="0.97965237" fill-opacity="0.99283902" transform="matrix(0.91706008,-0.39874906,0.39874906,0.91706008,-110.55003,170.37751)" stroke="&stroke_color;" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1.20000005" fill="&fill_color;"/>
+ <rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="543" width="20" stroke="&stroke_color;" stroke-miterlimit="4" y="367" x="263" stroke-width="1.2" fill="&fill_color;"/>
+ <path d="m303,127c20.6,9.71,41.7,18.1,62.7,26.7,22.3,8.81,44.9,17.1,68.4,22.4,13.8,2.82,27.8,3.61,41.8,3.75,29.7,0.727-10.3,27.1-30.8,27-10.2-0.219-20.4,1.13-30.5,2.08-11.2,1.43-22.3,3.35-33.4,5.63-3.62,0.979-7.91,2.03-11.4,3.41-14.2,5.59-45.1,24.5,15.7-10.2-23.5,15.2-47.9,29.2-73.1,41.5-16.5,6.86-62.2,33.4,5.29-4.82-15.4,12.4-33.5,20.9-50.8,30.3-0.899,0.384-3.54,1.64-2.7,1.15,11.2-6.54,44.9-26.1,33.8-19.3-12.6,7.69-25.6,14.7-38.4,22.1-11.4,6.57,22.7-13.2,34.1-19.6,0.264-0.15-1.47,1.06-3.63,2.58-2.15,1.87-1.08,0.972-3.2,2.69,0,0-39.1,16.2-39.1,16.2,1.87-2.23,0.82-1.25,3.13-2.95,1.76-1.87,1.3-1.64,3.53-2.97,12.7-7.52,25.9-14.1,38.1-22.5,10.7-7.4-45.4,25.7-33.8,19.6,102-54,21.3-13.4,41.2-23.4,14.2-7.14,3.07-1.6-31.1,18.2-0.804,0.466,1.6-0.941,2.42-1.38,2.75-1.46,5.42-2.88,7.6-5.19,21.7-12.9,42.6-26.3,65.7-36.3,2.34-1.18,4.69-2.33,7.01-3.54,2.42-1.25,4.8-2.56,7.2-3.84,28.9-15.4-41.2,25.7-16.5,9.63,1.56-1.02,3.1-2.08,4.65-3.12,21.8-12.7,42.4-27.9,67.4-33.2,11.3-2.31,22.6-4.14,34-5.45,10.3-0.877,20.6-1.84,30.9-2.28,17.1-2.62-2.37-0.0761-31.1,21.1-0.803,0.591,1.5,1.42,1.84,2.36,0.128,0.358-0.729-0.222-1.1-0.298-2.82-0.574-3.14-0.494-6.39-0.782-13.9-0.622-27.8-1.85-41.4-5.1-23.2-5.85-45.5-14.6-67.7-23.6-21.7-8.72-43.4-17.4-65.4-25.3,0,0,35.3-23.3,35.3-23.3z" stroke-opacity="0.97965232" fill-opacity="0.99283902" stroke="&stroke_color;" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1.20000005" fill="&fill_color;"/>
+ </g>
+</svg>
diff --git a/City/Images/length2.svg b/City/Images/length2.svg
new file mode 100755
index 0000000..70399d3
--- /dev/null
+++ b/City/Images/length2.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="55" width="55" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+<g transform="scale(0.07) translate(-3.576666,-80.89799) ">
+ <path d="m455,351a101,61.4,0,1,1,-202,0,101,61.4,0,1,1,202,0z" stroke-opacity="0.97965237" fill-opacity="0.99283902" transform="matrix(0.91706008,-0.39874906,0.39874906,0.91706008,-110.55003,170.37751)" stroke="&stroke_color;" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1.20000005" fill="&fill_color;" />
+ <rect stroke-dasharray="none" stroke-opacity="0.98" fill-opacity="0.993" height="543" width="20" stroke="&stroke_color;" stroke-miterlimit="4" y="367" x="263" stroke-width="1.2" fill="&fill_color;"/>
+ <path d="m303,127c20.6,9.71,41.7,18.1,62.7,26.7,22.3,8.81,44.9,17.1,68.4,22.4,13.8,2.82,27.8,3.61,41.8,3.75,29.7,0.727-10.3,27.1-30.8,27-10.2-0.219-20.4,1.13-30.5,2.08-11.2,1.43-22.3,3.35-33.4,5.63-3.62,0.979-7.91,2.03-11.4,3.41-14.2,5.59-45.1,24.5,15.7-10.2-23.5,15.2-47.9,29.2-73.1,41.5-16.5,6.86-62.2,33.4,5.29-4.82-15.4,12.4-33.5,20.9-50.8,30.3-0.899,0.384-3.54,1.64-2.7,1.15,11.2-6.54,44.9-26.1,33.8-19.3-12.6,7.69-25.6,14.7-38.4,22.1-11.4,6.57,22.7-13.2,34.1-19.6,0.264-0.15-1.47,1.06-3.63,2.58-2.15,1.87-1.08,0.972-3.2,2.69,0,0-39.1,16.2-39.1,16.2,1.87-2.23,0.82-1.25,3.13-2.95,1.76-1.87,1.3-1.64,3.53-2.97,12.7-7.52,25.9-14.1,38.1-22.5,10.7-7.4-45.4,25.7-33.8,19.6,102-54,21.3-13.4,41.2-23.4,14.2-7.14,3.07-1.6-31.1,18.2-0.804,0.466,1.6-0.941,2.42-1.38,2.75-1.46,5.42-2.88,7.6-5.19,21.7-12.9,42.6-26.3,65.7-36.3,2.34-1.18,4.69-2.33,7.01-3.54,2.42-1.25,4.8-2.56,7.2-3.84,28.9-15.4-41.2,25.7-16.5,9.63,1.56-1.02,3.1-2.08,4.65-3.12,21.8-12.7,42.4-27.9,67.4-33.2,11.3-2.31,22.6-4.14,34-5.45,10.3-0.877,20.6-1.84,30.9-2.28,17.1-2.62-2.37-0.0761-31.1,21.1-0.803,0.591,1.5,1.42,1.84,2.36,0.128,0.358-0.729-0.222-1.1-0.298-2.82-0.574-3.14-0.494-6.39-0.782-13.9-0.622-27.8-1.85-41.4-5.1-23.2-5.85-45.5-14.6-67.7-23.6-21.7-8.72-43.4-17.4-65.4-25.3,0,0,35.3-23.3,35.3-23.3z" stroke-opacity="0.97965232" fill-opacity="0.99283902" stroke="&stroke_color;" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1.20000005" fill="&fill_color;"/>
+ </g>
+</svg>
diff --git a/City/Images/pitch1.svg b/City/Images/pitch1.svg
new file mode 100755
index 0000000..34fd44d
--- /dev/null
+++ b/City/Images/pitch1.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="55" width="55" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+<defs id="defs3208" />
+<g stroke-linejoin="miter" transform="scale(0.07) translate(-3.576666,-80.89799) " stroke="&stroke_color;" stroke-linecap="butt" stroke-width="10px" fill="&fill_color;">
+<path d="m35.8,513c179-557,338-2.24,338-2.24s148,544,322-11.2"/>
+<path d="M38.1,511c656-12,656-12,656-12"/>
+</g>
+</svg>
diff --git a/City/Images/pitch2.svg b/City/Images/pitch2.svg
new file mode 100755
index 0000000..f7d34ed
--- /dev/null
+++ b/City/Images/pitch2.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#AAAAAA">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="55" width="55" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+<defs id="defs3208" />
+<g stroke-linejoin="miter" transform="scale(0.07) translate(-3.576666,-80.89799) " stroke="&stroke_color;" stroke-linecap="butt" stroke-width="10px" fill="&fill_color;">
+<path d="m35.8,513c179-557,338-2.24,338-2.24s148,544,322-11.2"/>
+<path d="M38.1,511c656-12,656-12,656-12"/>
+</g>
+</svg>
diff --git a/City/Images/reggae1.svg b/City/Images/reggae1.svg
new file mode 100755
index 0000000..609ba91
--- /dev/null
+++ b/City/Images/reggae1.svg
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#AAAAAA">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="55"
+ height="55"
+ viewBox="0 0 1052.3622 744.09448"
+ id="svg3645">
+ <defs id="defs3647">
+ <radialGradient cx="217.34978" cy="292.61118" r="75.814995" fx="217.34978" fy="292.61118" id="radialGradient4596" xlink:href="#linearGradient3083" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.034231,0,-10.016371)" />
+ <linearGradient id="linearGradient3083">
+ <stop id="stop3085" style="stop-color:#ffffff;stop-opacity:1" offset="0" />
+ <stop id="stop3087" style="stop-color:#c5c5c5;stop-opacity:1" offset="1" />
+ </linearGradient>
+ <radialGradient cx="217.34978" cy="292.61118" r="75.814995" fx="217.34978" fy="292.61118" id="radialGradient4598" xlink:href="#linearGradient3083" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.034231,0,-10.016371)" />
+ <linearGradient id="linearGradient3626">
+ <stop id="stop3628" style="stop-color:#ffffff;stop-opacity:1" offset="0" />
+ <stop id="stop3630" style="stop-color:#c5c5c5;stop-opacity:1" offset="1" />
+ </linearGradient>
+ </defs>
+ <metadata id="metadata3650">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g transform="translate(0,-308.26767)" id="layer1">
+ <g transform="matrix(3.1332501,0,0,3.1332501,98.18098,270.42833)" id="g3597">
+ <path d="m 130.41036,32.532296 c 0,0 6.32888,22.630465 7.6474,31.590755 1.31853,8.96029 7.38371,27.68499 -5.66962,28.37424 -13.05333,0.68925 -7.12,-19.413955 -7.25185,-29.063495 -0.13185,-9.64954 5.27407,-30.9015 5.27407,-30.9015 z" id="path3129" style="fill:&fill_color;;stroke:none" />
+ <path d="m 71.025155,39.183361 c 0,0 24.559767,7.02697 33.658515,19.413955 9.09875,12.386985 19.4893,33.737885 4.70989,36.5304 -14.779398,2.792515 -8.27103,-20.44783 -15.048678,-32.394885 -5.45165,-9.609685 -23.319727,-23.54947 -23.319727,-23.54947 z" id="path3127" style="fill:&fill_color;;stroke:none" />
+ <path d="m 19.31557,66.979316 c 0,0 29.9825,-5.28427 46.17994,1.83801 16.19744,7.12228 38.13866,29.9825 24.468472,38.023784 C 76.293805,114.88239 72.273165,87.427151 58.602985,78.926366 44.932805,70.425581 19.31557,66.979316 19.31557,66.979316 z" id="path3125" style="fill:&fill_color;;stroke:none" />
+ <path d="m 7.253645,115.8616 c 0,0 22.17097,-15.27843 41.814675,-11.83217 19.643705,3.44627 36.9899,16.42719 28.489115,26.53623 -8.500785,10.10904 -16.79235,-10.82087 -34.46264,-16.88669 -17.67029,-6.06582 -23.8941,1.45509 -35.84115,2.18263 z" id="path3123" style="fill:&fill_color;;stroke:none" />
+ <path d="m 290.66477,292.61118 a 73.314995,75.910217 0 1 1 -146.62999,0 73.314995,75.910217 0 1 1 146.62999,0 z" transform="matrix(0.26466205,0,0,0.28900027,101.20378,58.700366)" id="path3759" style="fill:url(#radialGradient4596);stroke:&stroke_color;;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path d="m 171.2846,498.28247 a 42.821148,42.821148 0 1 1 -85.642293,0 42.821148,42.821148 0 1 1 85.642293,0 z" transform="matrix(0.26466205,0,0,0.28900027,124.72861,6.9490115)" id="path3761" style="fill:&fill_color;;stroke:none" />
+ <path d="m 290.66477,292.61118 a 73.314995,75.910217 0 1 1 -146.62999,0 73.314995,75.910217 0 1 1 146.62999,0 z" transform="matrix(0.26466205,0,0,0.28900027,48.650555,58.700366)" id="path3797" style="fill:url(#radialGradient4598);stroke:&stroke_color;;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path d="m 171.2846,498.28247 a 42.821148,42.821148 0 1 1 -85.642293,0 42.821148,42.821148 0 1 1 85.642293,0 z" transform="matrix(0.26466205,0,0,0.28900027,72.175395,6.9490115)" id="path3799" style="fill:&fill_color;;stroke:none" />
+ <path d="m 89.954652,180.89578 c 0,0 23.356988,12.97611 42.172348,12.97611 18.81535,0 42.82115,-12.3273 42.82115,-12.3273" id="path3803" style="fill:none;stroke:&stroke_color;;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path d="m 195.61889,42.850501 c 0,0 -24.55976,7.02697 -33.65851,19.413955 -9.09875,12.386985 -19.4893,33.737885 -4.7099,36.5304 14.77941,2.792514 8.27104,-20.44783 15.04869,-32.394885 5.45165,-9.609685 23.31972,-23.54947 23.31972,-23.54947 z" id="path3127-3" style="fill:&fill_color;;stroke:none" />
+ <path d="m 248.23967,68.824066 c 0,0 -29.9825,-5.28427 -46.17994,1.83801 -16.19744,7.12228 -38.13866,29.982504 -24.46847,38.023784 13.67018,8.04128 17.69082,-19.413959 31.361,-27.914744 13.67018,-8.500785 39.28741,-11.94705 39.28741,-11.94705 z" id="path3125-4" style="fill:&fill_color;;stroke:none" />
+ <path d="m 262.57958,115.42836 c 0,0 -22.17097,-15.27843 -41.81467,-11.83217 -19.64371,3.44627 -36.9899,16.42719 -28.48912,26.53623 8.50079,10.10904 16.79235,-10.82087 34.46264,-16.88669 17.67029,-6.06582 23.8941,1.45509 35.84115,2.18263 z" id="path3123-0" style="fill:&fill_color;;stroke:none" />
+ </g>
+ </g>
+</svg>
diff --git a/City/Images/reggae2.svg b/City/Images/reggae2.svg
new file mode 100755
index 0000000..5b18353
--- /dev/null
+++ b/City/Images/reggae2.svg
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#FFFFFF">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="55"
+ height="55"
+ viewBox="0 0 1052.3622 744.09448"
+ id="svg3645">
+ <defs id="defs3647">
+ <radialGradient cx="217.34978" cy="292.61118" r="75.814995" fx="217.34978" fy="292.61118" id="radialGradient4596" xlink:href="#linearGradient3083" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.034231,0,-10.016371)" />
+ <linearGradient id="linearGradient3083">
+ <stop id="stop3085" style="stop-color:#ffffff;stop-opacity:1" offset="0" />
+ <stop id="stop3087" style="stop-color:#c5c5c5;stop-opacity:1" offset="1" />
+ </linearGradient>
+ <radialGradient cx="217.34978" cy="292.61118" r="75.814995" fx="217.34978" fy="292.61118" id="radialGradient4598" xlink:href="#linearGradient3083" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.034231,0,-10.016371)" />
+ <linearGradient id="linearGradient3626">
+ <stop id="stop3628" style="stop-color:#ffffff;stop-opacity:1" offset="0" />
+ <stop id="stop3630" style="stop-color:#c5c5c5;stop-opacity:1" offset="1" />
+ </linearGradient>
+ </defs>
+ <metadata id="metadata3650">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g transform="translate(0,-308.26767)" id="layer1">
+ <g transform="matrix(3.1332501,0,0,3.1332501,98.18098,270.42833)" id="g3597">
+ <path d="m 130.41036,32.532296 c 0,0 6.32888,22.630465 7.6474,31.590755 1.31853,8.96029 7.38371,27.68499 -5.66962,28.37424 -13.05333,0.68925 -7.12,-19.413955 -7.25185,-29.063495 -0.13185,-9.64954 5.27407,-30.9015 5.27407,-30.9015 z" id="path3129" style="fill:&fill_color;;stroke:none" />
+ <path d="m 71.025155,39.183361 c 0,0 24.559767,7.02697 33.658515,19.413955 9.09875,12.386985 19.4893,33.737885 4.70989,36.5304 -14.779398,2.792515 -8.27103,-20.44783 -15.048678,-32.394885 -5.45165,-9.609685 -23.319727,-23.54947 -23.319727,-23.54947 z" id="path3127" style="fill:&fill_color;;stroke:none" />
+ <path d="m 19.31557,66.979316 c 0,0 29.9825,-5.28427 46.17994,1.83801 16.19744,7.12228 38.13866,29.9825 24.468472,38.023784 C 76.293805,114.88239 72.273165,87.427151 58.602985,78.926366 44.932805,70.425581 19.31557,66.979316 19.31557,66.979316 z" id="path3125" style="fill:&fill_color;;stroke:none" />
+ <path d="m 7.253645,115.8616 c 0,0 22.17097,-15.27843 41.814675,-11.83217 19.643705,3.44627 36.9899,16.42719 28.489115,26.53623 -8.500785,10.10904 -16.79235,-10.82087 -34.46264,-16.88669 -17.67029,-6.06582 -23.8941,1.45509 -35.84115,2.18263 z" id="path3123" style="fill:&fill_color;;stroke:none" />
+ <path d="m 290.66477,292.61118 a 73.314995,75.910217 0 1 1 -146.62999,0 73.314995,75.910217 0 1 1 146.62999,0 z" transform="matrix(0.26466205,0,0,0.28900027,101.20378,58.700366)" id="path3759" style="fill:url(#radialGradient4596);stroke:&stroke_color;;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path d="m 171.2846,498.28247 a 42.821148,42.821148 0 1 1 -85.642293,0 42.821148,42.821148 0 1 1 85.642293,0 z" transform="matrix(0.26466205,0,0,0.28900027,124.72861,6.9490115)" id="path3761" style="fill:&fill_color;;stroke:none" />
+ <path d="m 290.66477,292.61118 a 73.314995,75.910217 0 1 1 -146.62999,0 73.314995,75.910217 0 1 1 146.62999,0 z" transform="matrix(0.26466205,0,0,0.28900027,48.650555,58.700366)" id="path3797" style="fill:url(#radialGradient4598);stroke:&stroke_color;;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path d="m 171.2846,498.28247 a 42.821148,42.821148 0 1 1 -85.642293,0 42.821148,42.821148 0 1 1 85.642293,0 z" transform="matrix(0.26466205,0,0,0.28900027,72.175395,6.9490115)" id="path3799" style="fill:&fill_color;;stroke:none" />
+ <path d="m 89.954652,180.89578 c 0,0 23.356988,12.97611 42.172348,12.97611 18.81535,0 42.82115,-12.3273 42.82115,-12.3273" id="path3803" style="fill:none;stroke:&stroke_color;;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path d="m 195.61889,42.850501 c 0,0 -24.55976,7.02697 -33.65851,19.413955 -9.09875,12.386985 -19.4893,33.737885 -4.7099,36.5304 14.77941,2.792514 8.27104,-20.44783 15.04869,-32.394885 5.45165,-9.609685 23.31972,-23.54947 23.31972,-23.54947 z" id="path3127-3" style="fill:&fill_color;;stroke:none" />
+ <path d="m 248.23967,68.824066 c 0,0 -29.9825,-5.28427 -46.17994,1.83801 -16.19744,7.12228 -38.13866,29.982504 -24.46847,38.023784 13.67018,8.04128 17.69082,-19.413959 31.361,-27.914744 13.67018,-8.500785 39.28741,-11.94705 39.28741,-11.94705 z" id="path3125-4" style="fill:&fill_color;;stroke:none" />
+ <path d="m 262.57958,115.42836 c 0,0 -22.17097,-15.27843 -41.81467,-11.83217 -19.64371,3.44627 -36.9899,16.42719 -28.48912,26.53623 8.50079,10.10904 16.79235,-10.82087 34.46264,-16.88669 17.67029,-6.06582 23.8941,1.45509 35.84115,2.18263 z" id="path3123-0" style="fill:&fill_color;;stroke:none" />
+ </g>
+ </g>
+</svg>
diff --git a/City/Images/timbre1.svg b/City/Images/timbre1.svg
new file mode 100755
index 0000000..c971d26
--- /dev/null
+++ b/City/Images/timbre1.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#FFFFFF">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="55" width="55" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+<g transform="scale(0.1)">
+<defs></defs>
+<path stroke-linejoin="miter" d="m35.9,302c14.5,60.3,37.3-176,55.9-133,18.6,42.9,32.8,154,68.4,72.3,35.2-80.4,76.7,450,97.4,275,20.7-176,29,81.7,43.5-61.6s47.7-465,62.2-414c14.5,50.9,20.7-25.5,33.2,25.5,12.4,50.9,35.2,425,53.9,303,18.6-122,47.7,145,47.7,145s16.6-580,37.3-367,47.7,271,58,167" stroke="&stroke_color;" stroke-linecap="butt" stroke-width="7.0px" fill="&fill_color;"/>
+</g>
+</svg>
diff --git a/City/Images/timbre2.svg b/City/Images/timbre2.svg
new file mode 100755
index 0000000..888a6e3
--- /dev/null
+++ b/City/Images/timbre2.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="55" width="55" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+<g transform="scale(0.1)">
+<defs></defs>
+<path stroke-linejoin="miter" d="m35.9,302c14.5,60.3,37.3-176,55.9-133,18.6,42.9,32.8,154,68.4,72.3,35.2-80.4,76.7,450,97.4,275,20.7-176,29,81.7,43.5-61.6s47.7-465,62.2-414c14.5,50.9,20.7-25.5,33.2,25.5,12.4,50.9,35.2,425,53.9,303,18.6-122,47.7,145,47.7,145s16.6-580,37.3-367,47.7,271,58,167" stroke="&stroke_color;" stroke-linecap="butt" stroke-width="7.0px" fill="&fill_color;"/>
+</g>
+</svg>
diff --git a/City/Images/volume1.svg b/City/Images/volume1.svg
new file mode 100755
index 0000000..a7120f2
--- /dev/null
+++ b/City/Images/volume1.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' [
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#AAAAAA">
+]><svg enable-background="new 0 0 55 55" height="55px" id="Layer_1" version="1.1" viewBox="0 0 55 55" width="55px" x="0px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px"><g display="block" id="speaker-066">
+ <g display="inline">
+ <g>
+ <polygon fill="&fill_color;" points="41.062,50.523 41.059,3.827 18.014,18.668 7.229,18.668 7.229,35.682 18.096,35.682 "/>
+ </g>
+ <g>
+ <polygon fill="&fill_color;" points="41.062,50.523 41.059,3.827 18.014,18.668 7.229,18.668 7.229,35.682 18.096,35.682 " stroke="&stroke_color;" stroke-linejoin="round" stroke-width="3.5"/>
+ </g>
+ </g>
+ <polygon display="inline" fill="&stroke_color;" points="41.059,3.827 32.867,9.103 32.867,45.227 41.062,50.523 "/>
+</g></svg> \ No newline at end of file
diff --git a/City/Images/volume2.svg b/City/Images/volume2.svg
new file mode 100755
index 0000000..2f7a052
--- /dev/null
+++ b/City/Images/volume2.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' [
+ <!ENTITY stroke_color "#FFFFFF">
+ <!ENTITY fill_color "#000000">
+]><svg enable-background="new 0 0 55 55" height="55px" id="Layer_1" version="1.1" viewBox="0 0 55 55" width="55px" x="0px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px"><g display="block" id="speaker-066">
+ <g display="inline">
+ <g>
+ <polygon fill="&fill_color;" points="41.062,50.523 41.059,3.827 18.014,18.668 7.229,18.668 7.229,35.682 18.096,35.682 "/>
+ </g>
+ <g>
+ <polygon fill="&fill_color;" points="41.062,50.523 41.059,3.827 18.014,18.668 7.229,18.668 7.229,35.682 18.096,35.682 " stroke="&stroke_color;" stroke-linejoin="round" stroke-width="3.5"/>
+ </g>
+ </g>
+ <polygon display="inline" fill="&stroke_color;" points="41.059,3.827 32.867,9.103 32.867,45.227 41.062,50.523 "/>
+</g></svg> \ No newline at end of file
diff --git a/City/Scenes/Blues/AudioFiles/BassAudio/BassC2[41-48-50].aif b/City/Scenes/Blues/AudioFiles/BassAudio/BassC2[41-48-50].aif
index 3e3fd98..3e3fd98 100644..100755
--- a/City/Scenes/Blues/AudioFiles/BassAudio/BassC2[41-48-50].aif
+++ b/City/Scenes/Blues/AudioFiles/BassAudio/BassC2[41-48-50].aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/BassAudio/BassC3[59-60-62].aif b/City/Scenes/Blues/AudioFiles/BassAudio/BassC3[59-60-62].aif
index bd3ab7f..bd3ab7f 100644..100755
--- a/City/Scenes/Blues/AudioFiles/BassAudio/BassC3[59-60-62].aif
+++ b/City/Scenes/Blues/AudioFiles/BassAudio/BassC3[59-60-62].aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/BassAudio/BassC4[70-72-78].aif b/City/Scenes/Blues/AudioFiles/BassAudio/BassC4[70-72-78].aif
index f9ec61b..f9ec61b 100644..100755
--- a/City/Scenes/Blues/AudioFiles/BassAudio/BassC4[70-72-78].aif
+++ b/City/Scenes/Blues/AudioFiles/BassAudio/BassC4[70-72-78].aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/BassAudio/BassF#2[51-54-58].aif b/City/Scenes/Blues/AudioFiles/BassAudio/BassF#2[51-54-58].aif
index c099d56..c099d56 100644..100755
--- a/City/Scenes/Blues/AudioFiles/BassAudio/BassF#2[51-54-58].aif
+++ b/City/Scenes/Blues/AudioFiles/BassAudio/BassF#2[51-54-58].aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif b/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
index 475ac71..475ac71 100644..100755
--- a/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
+++ b/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif b/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
index f89023c..f89023c 100644..100755
--- a/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
+++ b/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif b/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
index fd1a6c5..fd1a6c5 100644..100755
--- a/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
+++ b/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif b/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
index b4d5964..b4d5964 100644..100755
--- a/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
+++ b/City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/DrumsAudio/C1_kick_drum.aif b/City/Scenes/Blues/AudioFiles/DrumsAudio/C1_kick_drum.aif
index cedbae3..cedbae3 100644..100755
--- a/City/Scenes/Blues/AudioFiles/DrumsAudio/C1_kick_drum.aif
+++ b/City/Scenes/Blues/AudioFiles/DrumsAudio/C1_kick_drum.aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/DrumsAudio/D1_snare_drum.aif b/City/Scenes/Blues/AudioFiles/DrumsAudio/D1_snare_drum.aif
index 4ff68d0..4ff68d0 100644..100755
--- a/City/Scenes/Blues/AudioFiles/DrumsAudio/D1_snare_drum.aif
+++ b/City/Scenes/Blues/AudioFiles/DrumsAudio/D1_snare_drum.aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/DrumsAudio/F#1_closed_hi_hat.aif b/City/Scenes/Blues/AudioFiles/DrumsAudio/F#1_closed_hi_hat.aif
index ef60aac..ef60aac 100644..100755
--- a/City/Scenes/Blues/AudioFiles/DrumsAudio/F#1_closed_hi_hat.aif
+++ b/City/Scenes/Blues/AudioFiles/DrumsAudio/F#1_closed_hi_hat.aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/DrumsAudio/Tamborine 22 16 Mono.aif b/City/Scenes/Blues/AudioFiles/DrumsAudio/Tamborine 22 16 Mono.aif
index 6b6f85f..6b6f85f 100644..100755
--- a/City/Scenes/Blues/AudioFiles/DrumsAudio/Tamborine 22 16 Mono.aif
+++ b/City/Scenes/Blues/AudioFiles/DrumsAudio/Tamborine 22 16 Mono.aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/LeadAudio/B2_guitar.aif b/City/Scenes/Blues/AudioFiles/LeadAudio/B2_guitar.aif
index 9a06c2f..9a06c2f 100644..100755
--- a/City/Scenes/Blues/AudioFiles/LeadAudio/B2_guitar.aif
+++ b/City/Scenes/Blues/AudioFiles/LeadAudio/B2_guitar.aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/LeadAudio/B3_guitar.aif b/City/Scenes/Blues/AudioFiles/LeadAudio/B3_guitar.aif
index a229b76..a229b76 100644..100755
--- a/City/Scenes/Blues/AudioFiles/LeadAudio/B3_guitar.aif
+++ b/City/Scenes/Blues/AudioFiles/LeadAudio/B3_guitar.aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/LeadAudio/E2_guitar.aif b/City/Scenes/Blues/AudioFiles/LeadAudio/E2_guitar.aif
index 0df7f1e..0df7f1e 100644..100755
--- a/City/Scenes/Blues/AudioFiles/LeadAudio/E2_guitar.aif
+++ b/City/Scenes/Blues/AudioFiles/LeadAudio/E2_guitar.aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/LeadAudio/E3_guitar.aif b/City/Scenes/Blues/AudioFiles/LeadAudio/E3_guitar.aif
index e8f5be5..e8f5be5 100644..100755
--- a/City/Scenes/Blues/AudioFiles/LeadAudio/E3_guitar.aif
+++ b/City/Scenes/Blues/AudioFiles/LeadAudio/E3_guitar.aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/LeadAudio/E4_guitar.aif b/City/Scenes/Blues/AudioFiles/LeadAudio/E4_guitar.aif
index 9909889..9909889 100644..100755
--- a/City/Scenes/Blues/AudioFiles/LeadAudio/E4_guitar.aif
+++ b/City/Scenes/Blues/AudioFiles/LeadAudio/E4_guitar.aif
Binary files differ
diff --git a/City/Scenes/Blues/AudioFiles/LeadAudio/E5_guitar.aif b/City/Scenes/Blues/AudioFiles/LeadAudio/E5_guitar.aif
index f1f7076..f1f7076 100644..100755
--- a/City/Scenes/Blues/AudioFiles/LeadAudio/E5_guitar.aif
+++ b/City/Scenes/Blues/AudioFiles/LeadAudio/E5_guitar.aif
Binary files differ
diff --git a/City/Scenes/Blues/Blues_Data.txt b/City/Scenes/Blues/Blues_Data.txt
index 6542e85..6542e85 100644..100755
--- a/City/Scenes/Blues/Blues_Data.txt
+++ b/City/Scenes/Blues/Blues_Data.txt
diff --git a/City/Scenes/Blues/MidiFiles/Bass.mid b/City/Scenes/Blues/MidiFiles/Bass.mid
index 16967a5..16967a5 100644..100755
--- a/City/Scenes/Blues/MidiFiles/Bass.mid
+++ b/City/Scenes/Blues/MidiFiles/Bass.mid
Binary files differ
diff --git a/City/Scenes/Blues/MidiFiles/Chords.mid b/City/Scenes/Blues/MidiFiles/Chords.mid
index 139be9d..139be9d 100644..100755
--- a/City/Scenes/Blues/MidiFiles/Chords.mid
+++ b/City/Scenes/Blues/MidiFiles/Chords.mid
Binary files differ
diff --git a/City/Scenes/Blues/MidiFiles/Drums.mid b/City/Scenes/Blues/MidiFiles/Drums.mid
index 576167d..576167d 100644..100755
--- a/City/Scenes/Blues/MidiFiles/Drums.mid
+++ b/City/Scenes/Blues/MidiFiles/Drums.mid
Binary files differ
diff --git a/City/Scenes/Blues/MidiFiles/Lead.mid b/City/Scenes/Blues/MidiFiles/Lead.mid
index b7636d6..b7636d6 100644..100755
--- a/City/Scenes/Blues/MidiFiles/Lead.mid
+++ b/City/Scenes/Blues/MidiFiles/Lead.mid
Binary files differ
diff --git a/City/Scenes/City/City_Data.txt b/City/Scenes/City/City_Data.txt
index 525850e..525850e 100644..100755
--- a/City/Scenes/City/City_Data.txt
+++ b/City/Scenes/City/City_Data.txt
diff --git a/City/Scenes/Country/AudioFiles/BassAudio/BassC2[41-48-50].aif b/City/Scenes/Country/AudioFiles/BassAudio/BassC2[41-48-50].aif
index 3e3fd98..3e3fd98 100644..100755
--- a/City/Scenes/Country/AudioFiles/BassAudio/BassC2[41-48-50].aif
+++ b/City/Scenes/Country/AudioFiles/BassAudio/BassC2[41-48-50].aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/BassAudio/BassC3[59-60-62].aif b/City/Scenes/Country/AudioFiles/BassAudio/BassC3[59-60-62].aif
index bd3ab7f..bd3ab7f 100644..100755
--- a/City/Scenes/Country/AudioFiles/BassAudio/BassC3[59-60-62].aif
+++ b/City/Scenes/Country/AudioFiles/BassAudio/BassC3[59-60-62].aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/BassAudio/BassC4[70-72-78].aif b/City/Scenes/Country/AudioFiles/BassAudio/BassC4[70-72-78].aif
index f9ec61b..f9ec61b 100644..100755
--- a/City/Scenes/Country/AudioFiles/BassAudio/BassC4[70-72-78].aif
+++ b/City/Scenes/Country/AudioFiles/BassAudio/BassC4[70-72-78].aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/BassAudio/BassF#2[51-54-58].aif b/City/Scenes/Country/AudioFiles/BassAudio/BassF#2[51-54-58].aif
index c099d56..c099d56 100644..100755
--- a/City/Scenes/Country/AudioFiles/BassAudio/BassF#2[51-54-58].aif
+++ b/City/Scenes/Country/AudioFiles/BassAudio/BassF#2[51-54-58].aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif b/City/Scenes/Country/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
index 475ac71..475ac71 100644..100755
--- a/City/Scenes/Country/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
+++ b/City/Scenes/Country/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif b/City/Scenes/Country/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
index f89023c..f89023c 100644..100755
--- a/City/Scenes/Country/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
+++ b/City/Scenes/Country/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif b/City/Scenes/Country/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
index fd1a6c5..fd1a6c5 100644..100755
--- a/City/Scenes/Country/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
+++ b/City/Scenes/Country/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif b/City/Scenes/Country/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
index b4d5964..b4d5964 100644..100755
--- a/City/Scenes/Country/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
+++ b/City/Scenes/Country/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/DrumsAudio/C1_kick_drum.aif b/City/Scenes/Country/AudioFiles/DrumsAudio/C1_kick_drum.aif
index 2b00005..2b00005 100644..100755
--- a/City/Scenes/Country/AudioFiles/DrumsAudio/C1_kick_drum.aif
+++ b/City/Scenes/Country/AudioFiles/DrumsAudio/C1_kick_drum.aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/LeadAudio/B2_guitar.aif b/City/Scenes/Country/AudioFiles/LeadAudio/B2_guitar.aif
index 9a06c2f..9a06c2f 100644..100755
--- a/City/Scenes/Country/AudioFiles/LeadAudio/B2_guitar.aif
+++ b/City/Scenes/Country/AudioFiles/LeadAudio/B2_guitar.aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/LeadAudio/B3_guitar.aif b/City/Scenes/Country/AudioFiles/LeadAudio/B3_guitar.aif
index a229b76..a229b76 100644..100755
--- a/City/Scenes/Country/AudioFiles/LeadAudio/B3_guitar.aif
+++ b/City/Scenes/Country/AudioFiles/LeadAudio/B3_guitar.aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/LeadAudio/E2_guitar.aif b/City/Scenes/Country/AudioFiles/LeadAudio/E2_guitar.aif
index 0df7f1e..0df7f1e 100644..100755
--- a/City/Scenes/Country/AudioFiles/LeadAudio/E2_guitar.aif
+++ b/City/Scenes/Country/AudioFiles/LeadAudio/E2_guitar.aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/LeadAudio/E3_guitar.aif b/City/Scenes/Country/AudioFiles/LeadAudio/E3_guitar.aif
index e8f5be5..e8f5be5 100644..100755
--- a/City/Scenes/Country/AudioFiles/LeadAudio/E3_guitar.aif
+++ b/City/Scenes/Country/AudioFiles/LeadAudio/E3_guitar.aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/LeadAudio/E4_guitar.aif b/City/Scenes/Country/AudioFiles/LeadAudio/E4_guitar.aif
index 9909889..9909889 100644..100755
--- a/City/Scenes/Country/AudioFiles/LeadAudio/E4_guitar.aif
+++ b/City/Scenes/Country/AudioFiles/LeadAudio/E4_guitar.aif
Binary files differ
diff --git a/City/Scenes/Country/AudioFiles/LeadAudio/E5_guitar.aif b/City/Scenes/Country/AudioFiles/LeadAudio/E5_guitar.aif
index f1f7076..f1f7076 100644..100755
--- a/City/Scenes/Country/AudioFiles/LeadAudio/E5_guitar.aif
+++ b/City/Scenes/Country/AudioFiles/LeadAudio/E5_guitar.aif
Binary files differ
diff --git a/City/Scenes/Country/Country_Data.txt b/City/Scenes/Country/Country_Data.txt
index 4dcdc4e..4dcdc4e 100644..100755
--- a/City/Scenes/Country/Country_Data.txt
+++ b/City/Scenes/Country/Country_Data.txt
diff --git a/City/Scenes/Latin/AudioFiles/BassAudio/BassC2[41-48-50].aif b/City/Scenes/Latin/AudioFiles/BassAudio/BassC2[41-48-50].aif
index f510c60..f510c60 100644..100755
--- a/City/Scenes/Latin/AudioFiles/BassAudio/BassC2[41-48-50].aif
+++ b/City/Scenes/Latin/AudioFiles/BassAudio/BassC2[41-48-50].aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/BassAudio/BassC3[59-60-62].aif b/City/Scenes/Latin/AudioFiles/BassAudio/BassC3[59-60-62].aif
index e1c38ad..e1c38ad 100644..100755
--- a/City/Scenes/Latin/AudioFiles/BassAudio/BassC3[59-60-62].aif
+++ b/City/Scenes/Latin/AudioFiles/BassAudio/BassC3[59-60-62].aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/BassAudio/BassC4[70-72-78].aif b/City/Scenes/Latin/AudioFiles/BassAudio/BassC4[70-72-78].aif
index 1c3d78d..1c3d78d 100644..100755
--- a/City/Scenes/Latin/AudioFiles/BassAudio/BassC4[70-72-78].aif
+++ b/City/Scenes/Latin/AudioFiles/BassAudio/BassC4[70-72-78].aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/BassAudio/BassF#2[51-54-58].aif b/City/Scenes/Latin/AudioFiles/BassAudio/BassF#2[51-54-58].aif
index ab7abe4..ab7abe4 100644..100755
--- a/City/Scenes/Latin/AudioFiles/BassAudio/BassF#2[51-54-58].aif
+++ b/City/Scenes/Latin/AudioFiles/BassAudio/BassF#2[51-54-58].aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C4 22 16 mono.aif b/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C4 22 16 mono.aif
index 28f851c..28f851c 100644..100755
--- a/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C4 22 16 mono.aif
+++ b/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C4 22 16 mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C5 22 16 mono.aif b/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C5 22 16 mono.aif
index 58d58e2..58d58e2 100644..100755
--- a/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C5 22 16 mono.aif
+++ b/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C5 22 16 mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G3 22 16 mono.aif b/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G3 22 16 mono.aif
index d4a8320..d4a8320 100644..100755
--- a/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G3 22 16 mono.aif
+++ b/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G3 22 16 mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G4 22 16 mono.aif b/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G4 22 16 mono.aif
index 6aad12c..6aad12c 100644..100755
--- a/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G4 22 16 mono.aif
+++ b/City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G4 22 16 mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C#3 22 16 Mono.aif b/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C#3 22 16 Mono.aif
index d63f7c1..d63f7c1 100644..100755
--- a/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C#3 22 16 Mono.aif
+++ b/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C#3 22 16 Mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C3 22 16 Mono.aif b/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C3 22 16 Mono.aif
index 546e609..546e609 100644..100755
--- a/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C3 22 16 Mono.aif
+++ b/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C3 22 16 Mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo D3 22 16 Mono.aif b/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo D3 22 16 Mono.aif
index e947c9a..e947c9a 100644..100755
--- a/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo D3 22 16 Mono.aif
+++ b/City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo D3 22 16 Mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/DrumsAudio/ClosedhatF#1.aif b/City/Scenes/Latin/AudioFiles/DrumsAudio/ClosedhatF#1.aif
index f170804..f170804 100644..100755
--- a/City/Scenes/Latin/AudioFiles/DrumsAudio/ClosedhatF#1.aif
+++ b/City/Scenes/Latin/AudioFiles/DrumsAudio/ClosedhatF#1.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/DrumsAudio/Kick-C1.aif b/City/Scenes/Latin/AudioFiles/DrumsAudio/Kick-C1.aif
index 7204bf6..7204bf6 100644..100755
--- a/City/Scenes/Latin/AudioFiles/DrumsAudio/Kick-C1.aif
+++ b/City/Scenes/Latin/AudioFiles/DrumsAudio/Kick-C1.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/DrumsAudio/Shaker 22 16 Mono.aif b/City/Scenes/Latin/AudioFiles/DrumsAudio/Shaker 22 16 Mono.aif
index cb70adf..cb70adf 100644..100755
--- a/City/Scenes/Latin/AudioFiles/DrumsAudio/Shaker 22 16 Mono.aif
+++ b/City/Scenes/Latin/AudioFiles/DrumsAudio/Shaker 22 16 Mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/DrumsAudio/Snare-D1.aif b/City/Scenes/Latin/AudioFiles/DrumsAudio/Snare-D1.aif
index de03f64..de03f64 100644..100755
--- a/City/Scenes/Latin/AudioFiles/DrumsAudio/Snare-D1.aif
+++ b/City/Scenes/Latin/AudioFiles/DrumsAudio/Snare-D1.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/DrumsAudio/TambF#2.aif b/City/Scenes/Latin/AudioFiles/DrumsAudio/TambF#2.aif
index 0eb9de9..0eb9de9 100644..100755
--- a/City/Scenes/Latin/AudioFiles/DrumsAudio/TambF#2.aif
+++ b/City/Scenes/Latin/AudioFiles/DrumsAudio/TambF#2.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets A4 22 16 mono.aif b/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets A4 22 16 mono.aif
index df3c59a..df3c59a 100644..100755
--- a/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets A4 22 16 mono.aif
+++ b/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets A4 22 16 mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets C4 22 16 mono.aif b/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets C4 22 16 mono.aif
index 918da75..918da75 100644..100755
--- a/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets C4 22 16 mono.aif
+++ b/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets C4 22 16 mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets E3 22 16 mono.aif b/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets E3 22 16 mono.aif
index 7f8ffd9..7f8ffd9 100644..100755
--- a/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets E3 22 16 mono.aif
+++ b/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets E3 22 16 mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets F4 22 16 mono.aif b/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets F4 22 16 mono.aif
index 9e5bb5f..9e5bb5f 100644..100755
--- a/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets F4 22 16 mono.aif
+++ b/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets F4 22 16 mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets G3 22 16 mono.aif b/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets G3 22 16 mono.aif
index 15f0639..15f0639 100644..100755
--- a/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets G3 22 16 mono.aif
+++ b/City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets G3 22 16 mono.aif
Binary files differ
diff --git a/City/Scenes/Latin/Latin_Data.txt b/City/Scenes/Latin/Latin_Data.txt
index b9f739c..b9f739c 100644..100755
--- a/City/Scenes/Latin/Latin_Data.txt
+++ b/City/Scenes/Latin/Latin_Data.txt
diff --git a/City/Scenes/Latin/MidiFiles/Bass.mid b/City/Scenes/Latin/MidiFiles/Bass.mid
index cbc12a4..cbc12a4 100644..100755
--- a/City/Scenes/Latin/MidiFiles/Bass.mid
+++ b/City/Scenes/Latin/MidiFiles/Bass.mid
Binary files differ
diff --git a/City/Scenes/Latin/MidiFiles/Chords.mid b/City/Scenes/Latin/MidiFiles/Chords.mid
index d27fb73..d27fb73 100644..100755
--- a/City/Scenes/Latin/MidiFiles/Chords.mid
+++ b/City/Scenes/Latin/MidiFiles/Chords.mid
Binary files differ
diff --git a/City/Scenes/Latin/MidiFiles/Drums.mid b/City/Scenes/Latin/MidiFiles/Drums.mid
index 4ab7c9c..4ab7c9c 100644..100755
--- a/City/Scenes/Latin/MidiFiles/Drums.mid
+++ b/City/Scenes/Latin/MidiFiles/Drums.mid
Binary files differ
diff --git a/City/Scenes/Latin/MidiFiles/Lead.mid b/City/Scenes/Latin/MidiFiles/Lead.mid
index 407d400..407d400 100644..100755
--- a/City/Scenes/Latin/MidiFiles/Lead.mid
+++ b/City/Scenes/Latin/MidiFiles/Lead.mid
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/BassAudio/BassC2[41-48-50].aif b/City/Scenes/Reggae/AudioFiles/BassAudio/BassC2[41-48-50].aif
index 3e3fd98..3e3fd98 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/BassAudio/BassC2[41-48-50].aif
+++ b/City/Scenes/Reggae/AudioFiles/BassAudio/BassC2[41-48-50].aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/BassAudio/BassC3[59-60-62].aif b/City/Scenes/Reggae/AudioFiles/BassAudio/BassC3[59-60-62].aif
index bd3ab7f..bd3ab7f 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/BassAudio/BassC3[59-60-62].aif
+++ b/City/Scenes/Reggae/AudioFiles/BassAudio/BassC3[59-60-62].aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/BassAudio/BassC4[70-72-78].aif b/City/Scenes/Reggae/AudioFiles/BassAudio/BassC4[70-72-78].aif
index f9ec61b..f9ec61b 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/BassAudio/BassC4[70-72-78].aif
+++ b/City/Scenes/Reggae/AudioFiles/BassAudio/BassC4[70-72-78].aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/BassAudio/BassF#2[51-54-58].aif b/City/Scenes/Reggae/AudioFiles/BassAudio/BassF#2[51-54-58].aif
index c099d56..c099d56 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/BassAudio/BassF#2[51-54-58].aif
+++ b/City/Scenes/Reggae/AudioFiles/BassAudio/BassF#2[51-54-58].aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif b/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
index 475ac71..475ac71 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
+++ b/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif b/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
index f89023c..f89023c 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
+++ b/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif b/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
index fd1a6c5..fd1a6c5 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
+++ b/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif b/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
index b4d5964..b4d5964 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
+++ b/City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/DrumsAudio/ClosedhatF#1.aif b/City/Scenes/Reggae/AudioFiles/DrumsAudio/ClosedhatF#1.aif
index f170804..f170804 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/DrumsAudio/ClosedhatF#1.aif
+++ b/City/Scenes/Reggae/AudioFiles/DrumsAudio/ClosedhatF#1.aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/DrumsAudio/Kick-C1.aif b/City/Scenes/Reggae/AudioFiles/DrumsAudio/Kick-C1.aif
index 7204bf6..7204bf6 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/DrumsAudio/Kick-C1.aif
+++ b/City/Scenes/Reggae/AudioFiles/DrumsAudio/Kick-C1.aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/DrumsAudio/OpenhatA#1.aif b/City/Scenes/Reggae/AudioFiles/DrumsAudio/OpenhatA#1.aif
index 4f5f0b4..4f5f0b4 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/DrumsAudio/OpenhatA#1.aif
+++ b/City/Scenes/Reggae/AudioFiles/DrumsAudio/OpenhatA#1.aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/DrumsAudio/Snare-D1.aif b/City/Scenes/Reggae/AudioFiles/DrumsAudio/Snare-D1.aif
index de03f64..de03f64 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/DrumsAudio/Snare-D1.aif
+++ b/City/Scenes/Reggae/AudioFiles/DrumsAudio/Snare-D1.aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/DrumsAudio/TambF#2.aif b/City/Scenes/Reggae/AudioFiles/DrumsAudio/TambF#2.aif
index 0eb9de9..0eb9de9 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/DrumsAudio/TambF#2.aif
+++ b/City/Scenes/Reggae/AudioFiles/DrumsAudio/TambF#2.aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/LeadAudio/B2_guitar.aif b/City/Scenes/Reggae/AudioFiles/LeadAudio/B2_guitar.aif
index 9a06c2f..9a06c2f 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/LeadAudio/B2_guitar.aif
+++ b/City/Scenes/Reggae/AudioFiles/LeadAudio/B2_guitar.aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/LeadAudio/B3_guitar.aif b/City/Scenes/Reggae/AudioFiles/LeadAudio/B3_guitar.aif
index a229b76..a229b76 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/LeadAudio/B3_guitar.aif
+++ b/City/Scenes/Reggae/AudioFiles/LeadAudio/B3_guitar.aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/LeadAudio/E2_guitar.aif b/City/Scenes/Reggae/AudioFiles/LeadAudio/E2_guitar.aif
index 0df7f1e..0df7f1e 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/LeadAudio/E2_guitar.aif
+++ b/City/Scenes/Reggae/AudioFiles/LeadAudio/E2_guitar.aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/LeadAudio/E3_guitar.aif b/City/Scenes/Reggae/AudioFiles/LeadAudio/E3_guitar.aif
index e8f5be5..e8f5be5 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/LeadAudio/E3_guitar.aif
+++ b/City/Scenes/Reggae/AudioFiles/LeadAudio/E3_guitar.aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/LeadAudio/E4_guitar.aif b/City/Scenes/Reggae/AudioFiles/LeadAudio/E4_guitar.aif
index 9909889..9909889 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/LeadAudio/E4_guitar.aif
+++ b/City/Scenes/Reggae/AudioFiles/LeadAudio/E4_guitar.aif
Binary files differ
diff --git a/City/Scenes/Reggae/AudioFiles/LeadAudio/E5_guitar.aif b/City/Scenes/Reggae/AudioFiles/LeadAudio/E5_guitar.aif
index f1f7076..f1f7076 100644..100755
--- a/City/Scenes/Reggae/AudioFiles/LeadAudio/E5_guitar.aif
+++ b/City/Scenes/Reggae/AudioFiles/LeadAudio/E5_guitar.aif
Binary files differ
diff --git a/City/Scenes/Reggae/MidiFiles/Bass.mid b/City/Scenes/Reggae/MidiFiles/Bass.mid
index be414ec..be414ec 100644..100755
--- a/City/Scenes/Reggae/MidiFiles/Bass.mid
+++ b/City/Scenes/Reggae/MidiFiles/Bass.mid
Binary files differ
diff --git a/City/Scenes/Reggae/MidiFiles/Chords.mid b/City/Scenes/Reggae/MidiFiles/Chords.mid
index 1feebaa..1feebaa 100644..100755
--- a/City/Scenes/Reggae/MidiFiles/Chords.mid
+++ b/City/Scenes/Reggae/MidiFiles/Chords.mid
Binary files differ
diff --git a/City/Scenes/Reggae/MidiFiles/Drums.mid b/City/Scenes/Reggae/MidiFiles/Drums.mid
index bf2f5be..bf2f5be 100644..100755
--- a/City/Scenes/Reggae/MidiFiles/Drums.mid
+++ b/City/Scenes/Reggae/MidiFiles/Drums.mid
Binary files differ
diff --git a/City/Scenes/Reggae/MidiFiles/Lead.mid b/City/Scenes/Reggae/MidiFiles/Lead.mid
index 2a0d2be..2a0d2be 100644..100755
--- a/City/Scenes/Reggae/MidiFiles/Lead.mid
+++ b/City/Scenes/Reggae/MidiFiles/Lead.mid
Binary files differ
diff --git a/City/Scenes/Reggae/Reggae_Data.txt b/City/Scenes/Reggae/Reggae_Data.txt
index cc23d84..cc23d84 100644..100755
--- a/City/Scenes/Reggae/Reggae_Data.txt
+++ b/City/Scenes/Reggae/Reggae_Data.txt
diff --git a/InstrumentPanel.py b/InstrumentPanel.py
index 9cc303f..9cc303f 100644..100755
--- a/InstrumentPanel.py
+++ b/InstrumentPanel.py
diff --git a/J2JToolbar.py b/J2JToolbar.py
deleted file mode 100755
index 54b9b22..0000000
--- a/J2JToolbar.py
+++ /dev/null
@@ -1,325 +0,0 @@
-#This python module is part of the Jam2Jam XO Activity, March, 2010
-#
-#Copyright (C) 2010 Thorin Kerr & Andrew Brown
-#
-#This program is free software; you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation; either version 2 of the License, or any
-#later version.
-#
-#This program is distributed in the hope that it will be useful, but
-#WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-#
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-import gtk, gst, thread, tempfile, time, os
-import pygame
-import olpcgames
-from gettext import gettext as _
-from sugar.graphics.toolbutton import ToolButton
-
-import logging
-
-log = logging.getLogger('City run')
-log.setLevel(logging.DEBUG)
-
-ImagePath = os.path.dirname(os.path.abspath(__file__)) + "/City/Images"
-
-GST_PIPE = ['v4l2src', 'ffmpegcolorspace', 'pngenc']
-
-
-
-from sugar.graphics.toolcombobox import ToolComboBox
-
-
-
-class readScenes(object):
- def __init__(self, scpath):
- self.scpath = scpath
- self.scene_names = [dir for dir in os.listdir(self.scpath) if os.path.isdir(self.scpath + '/' + dir)]
- self.scene_data = []
- for n in self.scene_names:
- fp = self.scpath + "/" + n
- mdfile = [open(fp + '/' + f) for f in os.listdir(fp) if os.path.isfile(fp + "/" + f) and f.startswith(n)]
- if mdfile:
- result = {"Name":n}
- defaults = {}
- for line in mdfile[0]:
- if line.startswith('#') or line.startswith('\n'):
- pass
- else:
- keyvals = line.split('=')
- if len(keyvals) == 2:
- key = keyvals[0].upper()
- val = (keyvals[1][:-1] if keyvals[1][-1] == '\n' else keyvals[1])
- if key.startswith('TEMPO'):
- result['Tempo'] = val.replace(' ','')
- elif key.startswith('KEY'):
- result['Key'] = val.replace(' ','')
- elif key.startswith('MODE'):
- result['Mode'] = val.replace(' ','')
- else:
- pass
- else:
- raise IOError, "Bad Scene Meta Data file: %s" %keyvals
- result['Defaults'] = {}
- self.scene_data.append(result)
- else:
- raise IOError, "Can't find Meta Data file in %s Scene" %n
- def scene_instruct(self, name):
- "returns a list of strings suitable to give to a ScenePlayer object for creating a scene"
- for scd in self.scene_data:
- if scd['Name'] == name:
- collected = [name]
- for k in ['Key', 'Mode', 'Tempo', 'Defaults']:
- try:
- collected.append(str(scd[k]))
- except KeyError:
- collected.append('None')
- return collected
- def get_scene_list(self):
- "returns a list of scene strings for the toolbar, with City as the default"
- ordered_names = self.scene_names[:]
- if 'City' in ordered_names:
- ordered_names.insert(0,ordered_names.pop(ordered_names.index('City')))
- return [self.scene_instruct(s) for s in ordered_names]
-
-class CameraSnap(object):
- """A class representing the OLPC camera."""
- def __init__(self):
- log.info("CameraSnap init")
- snap_file, self.snap_path = tempfile.mkstemp(suffix = '.png')
- pipe = GST_PIPE + ['filesink location=%s' % self.snap_path]
- self.pipe = gst.parse_launch('!'.join(pipe))
- self.bus = self.pipe.get_bus()
- log.info("tempfile is %s " %self.snap_path)
- def Snap(self):
- """Take a snapshot."""
- log.info("about to set pipe state to PLAY")
- self.pipe.set_state(gst.STATE_PLAYING)
- log.info("about to poll")
- thread.start_new_thread(self.bus.poll, (gst.MESSAGE_EOS, -1))
- for i in xrange(60):
- time.sleep(0.18)
- if os.path.getsize(self.snap_path) > 0: break
- else: raise IOError, "Error writing camera snap to file"
- return self.snap_path
- def Stop(self):
- self.pipe.set_state(gst.STATE_NULL)
-
-
-class Jam2JamToolBar(gtk.Toolbar):
- def __init__(self, activity):
- gtk.Toolbar.__init__(self)
- self.activity = activity
- self.parameters = ['Density', 'Pitch', 'Length', 'Timbre', 'Volume'] # no tempo here.
- scene_stuff = readScenes(self.activity._ScenePath)
- self.scenes = scene_stuff.get_scene_list()
- print "SCENE DATA IS ", self.scenes
- #self.scenes = [['City', 'A', 'minor pentatonic'], ['City', 'G#', 'major']] #this data needs to be obtained from directories
- self.play_pause_state = 'Playing'
- self.scene_init = True
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- self.insert(separator, -1)
-
- #Horizontal Parameter control combobox
- self._add_widget(gtk.Label(_('Horizontal:')))
- self._Hparameter_combo = ToolComboBox()
- for i, f in enumerate(self.parameters):
- self._Hparameter_combo.combo.append_item(i, f)
- self._Hparameter_combo.combo.connect('changed', self._Hparameter_change_cb)
- self._add_widget(self._Hparameter_combo)
- self._Hparameter_combo.combo.set_active(0)
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.show()
- self.insert(separator, -1)
-
- #Vertical Parameter control combobox
- self._add_widget(gtk.Label(_('Vertical:')))
- self._Vparameter_combo = ToolComboBox()
- for j, k in enumerate(self.parameters):
- self._Vparameter_combo.combo.append_item(j, k)
- self._Vparameter_combo.combo.connect('changed', self._Vparameter_change_cb)
- self._add_widget(self._Vparameter_combo)
- self._Vparameter_combo.combo.set_active(1)
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.show()
- self.insert(separator, -1)
-
-
- #Scene Selection control combobox
- self._add_widget(gtk.Label(_('Scene:')))
- self._Scene_combo = ToolComboBox()
- for l, m in enumerate(self.scenes):
- self._Scene_combo.combo.append_item(l, m[0])
- self._Scene_combo.combo.connect('changed', self._Scene_change_cb)
- self._add_widget(self._Scene_combo)
- #ought to do this safely somehow.
- self._Scene_combo.combo.set_active(0)
- self.scene_init = False
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.show()
- self.insert(separator, -1)
-
-
- #Camera Button
- self.camera_ready = True
- camera_icon = ImagePath + "/camera-external.svg"
- camera_busy_icon = ImagePath + "/camera-busy.svg"
- self.camera_image, self.camera_busy_image = gtk.Image(), gtk.Image()
- self.camera_image.set_from_file(camera_icon)
- self.camera_busy_image.set_from_file(camera_busy_icon)
- self.camera_image.show()
- #camera_busy_image.show()
- self._cameraButton = ToolButton()
- self._cameraButton.set_icon_widget(self.camera_image)
- self._cameraButton.connect('clicked', self._cameraSnap_cb)
- self._cameraButton.set_tooltip(_('Snapshot'))
- self.insert(self._cameraButton, -1)
- self._cameraButton.show()
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.show()
- self.insert(separator, -1)
-
- #Play/Pause Button
- pause_icon = ImagePath + "/media-playback-pause.svg"
- play_icon = ImagePath + "/media-playback-start.svg"
- self.pause_image = gtk.Image()
- self.pause_image.set_from_file(pause_icon)
-
- self.play_image = gtk.Image()
- self.play_image.set_from_file(play_icon)
-
- self._pauseButton = ToolButton()
- self._pauseButton.connect('clicked', self._pause_cb)
- self.pause_image.show()
- self._pauseButton.set_icon_widget(self.pause_image)
- self._pauseButton.set_tooltip(_('Pause'))
- #self._toggleplay_pause()
- self.insert(self._pauseButton, -1)
- self._pauseButton.show()
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.show()
- self.insert(separator, -1)
-
-
- def _add_widget(self, widget, expand=False):
- tool_item = gtk.ToolItem()
- tool_item.set_expand(expand)
- tool_item.add(widget)
- widget.show()
- self.insert(tool_item, -1)
- tool_item.show()
-
- def _toggleplay_pause(self):
- if self.play_pause_state == "Playing":
- self.activity.jamScene.music_player.pause()
- self.play_image.show()
- self._pauseButton.set_icon_widget(self.play_image)
- self._pauseButton.set_tooltip(_('Play'))
- self.play_pause_state = "Paused"
- else:
- self.activity.jamScene.music_player.resume()
- self.pause_image.show()
- self._pauseButton.set_icon_widget(self.pause_image)
- self._pauseButton.set_tooltip(_('Pause'))
- self.play_pause_state = "Playing"
- try:
- self.activity._pgc.grab_focus()
- except AttributeError:
- pass
-
- def _show_busy_camera(self):
- self.camera_ready = False
- self.camera_busy_image.show()
- self._cameraButton.set_icon_widget(self.camera_busy_image)
- self._cameraButton.set_tooltip(_('Please wait...'))
-
- def _show_active_camera(self):
- self.camera_image.show()
- self._cameraButton.set_icon_widget(self.camera_image)
- self._cameraButton.set_tooltip(_('Snap'))
- self.camera_ready = True
-
- def _Hparameter_change_cb(self, widget):
- param = "Parameter|Horizontal|" + self.parameters[self._Hparameter_combo.combo.get_active()]
- olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=param))
- try:
- self.activity._pgc.grab_focus()
- except AttributeError:
- pass
-
- def _Vparameter_change_cb(self, widget):
- param = "Parameter|Vertical|" + self.parameters[self._Vparameter_combo.combo.get_active()]
- olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=param))
- try:
- self.activity._pgc.grab_focus()
- except AttributeError:
- pass
-
- def _Scene_change_cb(self, widget):
- if self.scene_init:
- pass
- else:
- selection = self.scenes[self._Scene_combo.combo.get_active()]
- scene = "Reload|" + '|'.join(map(lambda x: str(x), selection))
- olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=scene))
- try:
- self.activity._pgc.grab_focus()
- except AttributeError:
- pass
-
- ### functions to assist calls from pygame
- def deactivate_scene_change(self):
- self._Scene_combo.set_sensitive(False)
- def reactivate_scene_change(self):
- self._Scene_combo.set_sensitive(True)
- def set_horizontal_parameter(self, param):
- ndx = self.parameters.index(param)
- self._Hparameter_combo.combo.set_active(ndx)
- def set_vertical_parameter(self, param):
- ndx = self.parameters.index(param)
- self._Vparameter_combo.combo.set_active(ndx)
-
- def _cameraSnap_cb(self, widget):
- "Here I could wrap a camera event..."
- def snaptime():
- snap = CameraSnap()
- self.activity.cameras_loaded.append(snap)
- picpath = snap.Snap()
- self.activity.load_image(picpath)
- snap.Stop()
- self._show_active_camera()
- self.activity._pgc.grab_focus()
- if self.camera_ready:
- self._show_busy_camera()
- thread.start_new_thread(snaptime, ())
- else:
- log.info('Ignoring request to use camera, as camera is currently busy')
-
- def _pause_cb(self, widget):
- self._toggleplay_pause()
- log.info("Play/Pause Button pressed")
-
diff --git a/J2JToolbar.py~ b/J2JToolbar.py~
deleted file mode 100755
index 2e66eaa..0000000
--- a/J2JToolbar.py~
+++ /dev/null
@@ -1,319 +0,0 @@
-#This python module is part of the Jam2Jam XO Activity, March, 2010
-#
-#Copyright (C) 2010 Thorin Kerr & Andrew Brown
-#
-#This program is free software; you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation; either version 2 of the License, or any
-#later version.
-#
-#This program is distributed in the hope that it will be useful, but
-#WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-#
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-import gtk, gst, thread, tempfile, time, os
-import pygame
-import olpcgames
-from gettext import gettext as _
-from sugar.graphics.toolbutton import ToolButton
-from sugar.graphics.toolcombobox import ToolComboBox
-import logging
-
-log = logging.getLogger('City run')
-log.setLevel(logging.DEBUG)
-
-ImagePath = os.path.dirname(os.path.abspath(__file__)) + "/City/Images"
-
-GST_PIPE = ['v4l2src', 'ffmpegcolorspace', 'pngenc']
-
-class readScenes(object):
- def __init__(self, scpath):
- self.scpath = scpath
- self.scene_names = [dir for dir in os.listdir(self.scpath) if os.path.isdir(self.scpath + '/' + dir)]
- self.scene_data = []
- for n in self.scene_names:
- fp = self.scpath + "/" + n
- mdfile = [open(fp + '/' + f) for f in os.listdir(fp) if os.path.isfile(fp + "/" + f) and f.startswith(n)]
- if mdfile:
- result = {"Name":n}
- defaults = {}
- for line in mdfile[0]:
- if line.startswith('#') or line.startswith('\n'):
- pass
- else:
- keyvals = line.split('=')
- if len(keyvals) == 2:
- key = keyvals[0].upper()
- val = (keyvals[1][:-1] if keyvals[1][-1] == '\n' else keyvals[1])
- if key.startswith('TEMPO'):
- result['Tempo'] = val.replace(' ','')
- elif key.startswith('KEY'):
- result['Key'] = val.replace(' ','')
- elif key.startswith('MODE'):
- result['Mode'] = val.replace(' ','')
- else:
- pass
- else:
- raise IOError, "Bad Scene Meta Data file: %s" %keyvals
- result['Defaults'] = {}
- self.scene_data.append(result)
- else:
- raise IOError, "Can't find Meta Data file in %s Scene" %n
- def scene_instruct(self, name):
- "returns a list of strings suitable to give to a ScenePlayer object for creating a scene"
- for scd in self.scene_data:
- if scd['Name'] == name:
- collected = [name]
- for k in ['Key', 'Mode', 'Tempo', 'Defaults']:
- try:
- collected.append(str(scd[k]))
- except KeyError:
- collected.append('None')
- return collected
- def get_scene_list(self):
- "returns a list of scene strings for the toolbar, with City as the default"
- ordered_names = self.scene_names[:]
- if 'City' in ordered_names:
- ordered_names.insert(0,ordered_names.pop(ordered_names.index('City')))
- return [self.scene_instruct(s) for s in ordered_names]
-
-class CameraSnap(object):
- """A class representing the OLPC camera."""
- def __init__(self):
- log.info("CameraSnap init")
- snap_file, self.snap_path = tempfile.mkstemp(suffix = '.png')
- pipe = GST_PIPE + ['filesink location=%s' % self.snap_path]
- self.pipe = gst.parse_launch('!'.join(pipe))
- self.bus = self.pipe.get_bus()
- log.info("tempfile is %s " %self.snap_path)
- def Snap(self):
- """Take a snapshot."""
- log.info("about to set pipe state to PLAY")
- self.pipe.set_state(gst.STATE_PLAYING)
- log.info("about to poll")
- thread.start_new_thread(self.bus.poll, (gst.MESSAGE_EOS, -1))
- for i in xrange(60):
- time.sleep(0.18)
- if os.path.getsize(self.snap_path) > 0: break
- else: raise IOError, "Error writing camera snap to file"
- return self.snap_path
- def Stop(self):
- self.pipe.set_state(gst.STATE_NULL)
-
-
-class Jam2JamToolBar(gtk.Toolbar):
- def __init__(self, activity):
- gtk.Toolbar.__init__(self)
- self.activity = activity
- self.parameters = ['Density', 'Pitch', 'Length', 'Timbre', 'Volume'] # no tempo here.
- scene_stuff = readScenes(self.activity._ScenePath)
- self.scenes = scene_stuff.get_scene_list()
- print "SCENE DATA IS ", self.scenes
- #self.scenes = [['City', 'A', 'minor pentatonic'], ['City', 'G#', 'major']] #this data needs to be obtained from directories
- self.play_pause_state = 'Playing'
- self.scene_init = True
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- self.insert(separator, -1)
-
- #Horizontal Parameter control combobox
- self._add_widget(gtk.Label(_('Horizontal:')))
- self._Hparameter_combo = ToolComboBox()
- for i, f in enumerate(self.parameters):
- self._Hparameter_combo.combo.append_item(i, f)
- self._Hparameter_combo.combo.connect('changed', self._Hparameter_change_cb)
- self._add_widget(self._Hparameter_combo)
- self._Hparameter_combo.combo.set_active(0)
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.show()
- self.insert(separator, -1)
-
- #Vertical Parameter control combobox
- self._add_widget(gtk.Label(_('Vertical:')))
- self._Vparameter_combo = ToolComboBox()
- for j, k in enumerate(self.parameters):
- self._Vparameter_combo.combo.append_item(j, k)
- self._Vparameter_combo.combo.connect('changed', self._Vparameter_change_cb)
- self._add_widget(self._Vparameter_combo)
- self._Vparameter_combo.combo.set_active(1)
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.show()
- self.insert(separator, -1)
-
-
- #Scene Selection control combobox
- self._add_widget(gtk.Label(_('Scene:')))
- self._Scene_combo = ToolComboBox()
- for l, m in enumerate(self.scenes):
- self._Scene_combo.combo.append_item(l, m[0])
- self._Scene_combo.combo.connect('changed', self._Scene_change_cb)
- self._add_widget(self._Scene_combo)
- #ought to do this safely somehow.
- self._Scene_combo.combo.set_active(0)
- self.scene_init = False
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.show()
- self.insert(separator, -1)
-
-
- #Camera Button
- self.camera_ready = True
- camera_icon = ImagePath + "/camera-external.svg"
- camera_busy_icon = ImagePath + "/camera-busy.svg"
- self.camera_image, self.camera_busy_image = gtk.Image(), gtk.Image()
- self.camera_image.set_from_file(camera_icon)
- self.camera_busy_image.set_from_file(camera_busy_icon)
- self.camera_image.show()
- #camera_busy_image.show()
- self._cameraButton = ToolButton()
- self._cameraButton.set_icon_widget(self.camera_image)
- self._cameraButton.connect('clicked', self._cameraSnap_cb)
- self._cameraButton.set_tooltip(_('Snapshot'))
- self.insert(self._cameraButton, -1)
- self._cameraButton.show()
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.show()
- self.insert(separator, -1)
-
- #Play/Pause Button
- pause_icon = ImagePath + "/media-playback-pause.svg"
- play_icon = ImagePath + "/media-playback-start.svg"
- self.pause_image = gtk.Image()
- self.pause_image.set_from_file(pause_icon)
-
- self.play_image = gtk.Image()
- self.play_image.set_from_file(play_icon)
-
- self._pauseButton = ToolButton()
- self._pauseButton.connect('clicked', self._pause_cb)
- self.pause_image.show()
- self._pauseButton.set_icon_widget(self.pause_image)
- self._pauseButton.set_tooltip(_('Pause'))
- #self._toggleplay_pause()
- self.insert(self._pauseButton, -1)
- self._pauseButton.show()
-
- # Separator
- separator = gtk.SeparatorToolItem()
- separator.set_draw(True)
- separator.show()
- self.insert(separator, -1)
-
-
- def _add_widget(self, widget, expand=False):
- tool_item = gtk.ToolItem()
- tool_item.set_expand(expand)
- tool_item.add(widget)
- widget.show()
- self.insert(tool_item, -1)
- tool_item.show()
-
- def _toggleplay_pause(self):
- if self.play_pause_state == "Playing":
- self.activity.jamScene.music_player.pause()
- self.play_image.show()
- self._pauseButton.set_icon_widget(self.play_image)
- self._pauseButton.set_tooltip(_('Play'))
- self.play_pause_state = "Paused"
- else:
- self.activity.jamScene.music_player.resume()
- self.pause_image.show()
- self._pauseButton.set_icon_widget(self.pause_image)
- self._pauseButton.set_tooltip(_('Pause'))
- self.play_pause_state = "Playing"
- try:
- self.activity._pgc.grab_focus()
- except AttributeError:
- pass
-
- def _show_busy_camera(self):
- self.camera_ready = False
- self.camera_busy_image.show()
- self._cameraButton.set_icon_widget(self.camera_busy_image)
- self._cameraButton.set_tooltip(_('Please wait...'))
-
- def _show_active_camera(self):
- self.camera_image.show()
- self._cameraButton.set_icon_widget(self.camera_image)
- self._cameraButton.set_tooltip(_('Snap'))
- self.camera_ready = True
-
- def _Hparameter_change_cb(self, widget):
- param = "Parameter|Horizontal|" + self.parameters[self._Hparameter_combo.combo.get_active()]
- olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=param))
- try:
- self.activity._pgc.grab_focus()
- except AttributeError:
- pass
-
- def _Vparameter_change_cb(self, widget):
- param = "Parameter|Vertical|" + self.parameters[self._Vparameter_combo.combo.get_active()]
- olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=param))
- try:
- self.activity._pgc.grab_focus()
- except AttributeError:
- pass
-
- def _Scene_change_cb(self, widget):
- if self.scene_init:
- pass
- else:
- selection = self.scenes[self._Scene_combo.combo.get_active()]
- scene = "Reload|" + '|'.join(map(lambda x: str(x), selection))
- olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=scene))
- try:
- self.activity._pgc.grab_focus()
- except AttributeError:
- pass
-
- ### functions to assist calls from pygame
- def deactivate_scene_change(self):
- self._Scene_combo.set_sensitive(False)
- def reactivate_scene_change(self):
- self._Scene_combo.set_sensitive(True)
- def set_horizontal_parameter(self, param):
- ndx = self.parameters.index(param)
- self._Hparameter_combo.combo.set_active(ndx)
- def set_vertical_parameter(self, param):
- ndx = self.parameters.index(param)
- self._Vparameter_combo.combo.set_active(ndx)
-
- def _cameraSnap_cb(self, widget):
- "Here I could wrap a camera event..."
- def snaptime():
- snap = CameraSnap()
- self.activity.cameras_loaded.append(snap)
- picpath = snap.Snap()
- self.activity.load_image(picpath)
- snap.Stop()
- self._show_active_camera()
- self.activity._pgc.grab_focus()
- if self.camera_ready:
- self._show_busy_camera()
- thread.start_new_thread(snaptime, ())
- else:
- log.info('Ignoring request to use camera, as camera is currently busy')
-
- def _pause_cb(self, widget):
- self._toggleplay_pause()
- log.info("Play/Pause Button pressed")
-
diff --git a/J2JToolbars.py b/J2JToolbars.py
new file mode 100755
index 0000000..f5a739f
--- /dev/null
+++ b/J2JToolbars.py
@@ -0,0 +1,621 @@
+#This python module is part of the Jam2Jam XO Activity, March, 2010
+#
+#Copyright (C) 2010 Thorin Kerr & Andrew Brown
+#
+#This program is free software; you can redistribute it and/or modify
+#it under the terms of the GNU General Public License as published by
+#the Free Software Foundation; either version 2 of the License, or any
+#later version.
+#
+#This program is distributed in the hope that it will be useful, but
+#WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+#
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+import sugar.activity
+from sugar.activity.activity import get_bundle_path
+from olpcgames import activity
+import gtk, gst, thread, tempfile, time, os, types
+import pygame, olpcgames
+from gettext import gettext as _
+
+_NEW_TOOLBAR_SUPPORT = True
+
+from sugar.graphics.toolbutton import ToolButton #used in both old and new toolbars, but I suspect the new toolbar could use ToolbarButton instead.
+
+try:
+ from sugar.graphics.toolbarbox import ToolbarBox #new toolbar
+ from sugar.graphics.toolbarbox import ToolbarButton #new toolbar
+ from sugar.activity.widgets import StopButton #new toolbar
+ from mybutton import AltButton #new toolbar
+except:
+ _NEW_TOOLBAR_SUPPORT = True
+ from sugar.graphics.toolcombobox import ToolComboBox #only needs to be imported if using old toolbar
+
+import logging
+log = logging.getLogger('City run')
+log.setLevel(logging.DEBUG)
+log.info("imported AltButton, inherits from ToolbarButton\n")
+
+ImagePath = get_bundle_path() + "/City/Images"
+
+GST_PIPE = ['v4l2src', 'ffmpegcolorspace', 'pngenc']
+
+class readScenes(object):
+ def __init__(self, scpath):
+ self.scpath = scpath
+ self.scene_names = [dir for dir in os.listdir(self.scpath) if os.path.isdir(self.scpath + '/' + dir)]
+ self.scene_data = []
+ for n in self.scene_names:
+ fp = self.scpath + "/" + n
+ mdfile = [open(fp + '/' + f) for f in os.listdir(fp) if os.path.isfile(fp + "/" + f) and f.startswith(n)]
+ if mdfile:
+ result = {"Name":n}
+ defaults = {}
+ for line in mdfile[0]:
+ if line.startswith('#') or line.startswith('\n'):
+ pass
+ else:
+ keyvals = line.split('=')
+ if len(keyvals) == 2:
+ key = keyvals[0].upper()
+ val = (keyvals[1][:-1] if keyvals[1][-1] == '\n' else keyvals[1])
+ if key.startswith('TEMPO'):
+ result['Tempo'] = val.replace(' ','')
+ elif key.startswith('KEY'):
+ result['Key'] = val.replace(' ','')
+ elif key.startswith('MODE'):
+ result['Mode'] = val.replace(' ','')
+ else:
+ pass
+ else:
+ raise IOError, "Bad Scene Meta Data file: %s" %keyvals
+ result['Defaults'] = {}
+ self.scene_data.append(result)
+ else:
+ raise IOError, "Can't find Meta Data file in %s Scene" %n
+ def scene_instruct(self, name):
+ "returns a list of strings suitable to give to a ScenePlayer object for creating a scene"
+ for scd in self.scene_data:
+ if scd['Name'] == name:
+ collected = [name]
+ for k in ['Key', 'Mode', 'Tempo', 'Defaults']:
+ try:
+ collected.append(str(scd[k]))
+ except KeyError:
+ collected.append('None')
+ return collected
+ def get_scene_list(self):
+ "returns a list of scene strings for the toolbar, with City as the default"
+ ordered_names = self.scene_names[:]
+ if 'City' in ordered_names:
+ ordered_names.insert(0,ordered_names.pop(ordered_names.index('City')))
+ return [self.scene_instruct(s) for s in ordered_names]
+
+class CameraSnap(object):
+ """A class representing the OLPC camera."""
+ def __init__(self):
+ log.info("CameraSnap init")
+ snap_file, self.snap_path = tempfile.mkstemp(suffix = '.png')
+ pipe = GST_PIPE + ['filesink location=%s' % self.snap_path]
+ self.pipe = gst.parse_launch('!'.join(pipe))
+ self.bus = self.pipe.get_bus()
+ log.info("tempfile is %s " %self.snap_path)
+ def Snap(self):
+ """Take a snapshot."""
+ log.info("about to set pipe state to PLAY")
+ self.pipe.set_state(gst.STATE_PLAYING)
+ log.info("about to poll")
+ thread.start_new_thread(self.bus.poll, (gst.MESSAGE_EOS, -1))
+ for i in xrange(60):
+ time.sleep(0.18)
+ if os.path.getsize(self.snap_path) > 0: break
+ else: raise IOError, "Error writing camera snap to file"
+ return self.snap_path
+ def Stop(self):
+ self.pipe.set_state(gst.STATE_NULL)
+
+#old toolbar
+class Jam2JamToolBar(gtk.Toolbar):
+ def __init__(self, activity):
+ gtk.Toolbar.__init__(self)
+ self.activity = activity
+ self.parameters = ['Density', 'Pitch', 'Length', 'Timbre', 'Volume'] # no tempo here.
+ scene_stuff = readScenes(self.activity._ScenePath)
+ self.scenes = scene_stuff.get_scene_list()
+ #example of scene data. This gets read from file
+ #self.scenes = [['City', 'A', 'minor pentatonic'], ['City', 'G#', 'major']] #this data needs to be obtained from directories
+ self.play_pause_state = 'Playing'
+ self.scene_init = True
+
+ # Separator
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(True)
+ self.insert(separator, -1)
+
+ #Horizontal Parameter control combobox
+ self._add_widget(gtk.Label(_('Horizontal:')))
+ self._Hparameter_combo = ToolComboBox()
+ for i, f in enumerate(self.parameters):
+ self._Hparameter_combo.combo.append_item(i, f)
+ self._Hparameter_combo.combo.connect('changed', self._Hparameter_change_cb)
+ self._add_widget(self._Hparameter_combo)
+ self._Hparameter_combo.combo.set_active(0)
+
+ # Separator
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(True)
+ separator.show()
+ self.insert(separator, -1)
+
+ #Vertical Parameter control combobox
+ self._add_widget(gtk.Label(_('Vertical:')))
+ self._Vparameter_combo = ToolComboBox()
+ for j, k in enumerate(self.parameters):
+ self._Vparameter_combo.combo.append_item(j, k)
+ self._Vparameter_combo.combo.connect('changed', self._Vparameter_change_cb)
+ self._add_widget(self._Vparameter_combo)
+ self._Vparameter_combo.combo.set_active(1)
+
+ # Separator
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(True)
+ separator.show()
+ self.insert(separator, -1)
+
+ #Scene Selection control combobox
+ self._add_widget(gtk.Label(_('Scene:')))
+ self._Scene_combo = ToolComboBox()
+ for l, m in enumerate(self.scenes):
+ self._Scene_combo.combo.append_item(l, m[0])
+ self._Scene_combo.combo.connect('changed', self._Scene_change_cb)
+ self._add_widget(self._Scene_combo)
+ #ought to do this safely somehow.
+ self._Scene_combo.combo.set_active(0)
+ self.scene_init = False
+
+ # Separator
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(True)
+ separator.show()
+ self.insert(separator, -1)
+
+ #Camera Button
+ self.camera_ready = True
+ camera_icon = ImagePath + "/camera-external.svg"
+ camera_busy_icon = ImagePath + "/camera-busy.svg"
+ self.camera_image, self.camera_busy_image = gtk.Image(), gtk.Image()
+ self.camera_image.set_from_file(camera_icon)
+ self.camera_busy_image.set_from_file(camera_busy_icon)
+ self.camera_image.show()
+ #camera_busy_image.show()
+ self._cameraButton = ToolButton()
+ self._cameraButton.set_icon_widget(self.camera_image)
+ self._cameraButton.connect('clicked', self._cameraSnap_cb)
+ self._cameraButton.set_tooltip(_('Snapshot'))
+ self.insert(self._cameraButton, -1)
+ self._cameraButton.show()
+
+ # Separator
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(True)
+ separator.show()
+ self.insert(separator, -1)
+
+ #Play/Pause Button
+ pause_icon = ImagePath + "/media-playback-pause.svg"
+ play_icon = ImagePath + "/media-playback-start.svg"
+ self.pause_image = gtk.Image()
+ self.pause_image.set_from_file(pause_icon)
+
+ self.play_image = gtk.Image()
+ self.play_image.set_from_file(play_icon)
+
+ self._pauseButton = ToolButton()
+ self._pauseButton.connect('clicked', self._pause_cb)
+ self.pause_image.show()
+ self._pauseButton.set_icon_widget(self.pause_image)
+ self._pauseButton.set_tooltip(_('Pause'))
+ #self._toggleplay_pause()
+ self.insert(self._pauseButton, -1)
+ self._pauseButton.show()
+
+ # Separator
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(True)
+ separator.show()
+ self.insert(separator, -1)
+
+
+ def _add_widget(self, widget, expand=False):
+ tool_item = gtk.ToolItem()
+ tool_item.set_expand(expand)
+ tool_item.add(widget)
+ widget.show()
+ self.insert(tool_item, -1)
+ tool_item.show()
+
+ def _toggleplay_pause(self):
+ if self.play_pause_state == "Playing":
+ self.activity.jamScene.music_player.pause()
+ self.play_image.show()
+ self._pauseButton.set_icon_widget(self.play_image)
+ self._pauseButton.set_tooltip(_('Play'))
+ self.play_pause_state = "Paused"
+ else:
+ self.activity.jamScene.music_player.resume()
+ self.pause_image.show()
+ self._pauseButton.set_icon_widget(self.pause_image)
+ self._pauseButton.set_tooltip(_('Pause'))
+ self.play_pause_state = "Playing"
+ try:
+ self.activity._pgc.grab_focus()
+ except AttributeError:
+ pass
+
+ def _show_busy_camera(self):
+ self.camera_ready = False
+ self.camera_busy_image.show()
+ self._cameraButton.set_icon_widget(self.camera_busy_image)
+ self._cameraButton.set_tooltip(_('Please wait...'))
+
+ def _show_active_camera(self):
+ self.camera_image.show()
+ self._cameraButton.set_icon_widget(self.camera_image)
+ self._cameraButton.set_tooltip(_('Snap'))
+ self.camera_ready = True
+
+ def _Hparameter_change_cb(self, widget):
+ param = "Parameter|Horizontal|" + self.parameters[self._Hparameter_combo.combo.get_active()]
+ olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=param))
+ try:
+ self.activity._pgc.grab_focus()
+ except AttributeError:
+ pass
+
+ def _Vparameter_change_cb(self, widget):
+ param = "Parameter|Vertical|" + self.parameters[self._Vparameter_combo.combo.get_active()]
+ olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=param))
+ try:
+ self.activity._pgc.grab_focus()
+ except AttributeError:
+ pass
+
+ def _Scene_change_cb(self, widget):
+ if self.scene_init:
+ pass
+ else:
+ selection = self.scenes[self._Scene_combo.combo.get_active()]
+ scene = "Reload|" + '|'.join(map(lambda x: str(x), selection))
+ olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=scene))
+ try:
+ self.activity._pgc.grab_focus()
+ except AttributeError:
+ pass
+
+ ### functions to assist calls from pygame
+ def deactivate_scene_change(self):
+ self._Scene_combo.set_sensitive(False)
+ def reactivate_scene_change(self):
+ self._Scene_combo.set_sensitive(True)
+ def set_horizontal_parameter(self, param):
+ ndx = self.parameters.index(param)
+ self._Hparameter_combo.combo.set_active(ndx)
+ def set_vertical_parameter(self, param):
+ ndx = self.parameters.index(param)
+ self._Vparameter_combo.combo.set_active(ndx)
+
+ def _cameraSnap_cb(self, widget):
+ "Here I could wrap a camera event..."
+ def snaptime():
+ snap = CameraSnap()
+ self.activity.cameras_loaded.append(snap)
+ picpath = snap.Snap()
+ self.activity.load_image(picpath)
+ snap.Stop()
+ self._show_active_camera()
+ self.activity._pgc.grab_focus()
+ if self.camera_ready:
+ self._show_busy_camera()
+ thread.start_new_thread(snaptime, ())
+ else:
+ log.info('Ignoring request to use camera, as camera is currently busy')
+
+ def _pause_cb(self, widget):
+ self._toggleplay_pause()
+ log.info("Play/Pause Button pressed")
+
+
+class J2J_Toolbar_Redirect( object ):
+ "This object provides an API interface for pygame calls to the new toolbars"
+ def __init__(self, activity_toolbar, horizontal_toolbar, vertical_toolbar, scene_toolbar):
+ self.horizontal_toolbar = horizontal_toolbar
+ self.vertical_toolbar = vertical_toolbar
+ self.activity_toolbar = activity_toolbar
+ def deactivate_scene_change(self):
+ "The music style menu gets frozen when jamming on a network"
+ stb = self.activity_toolbar.nameID['Music']
+ stb.set_sensitive(False)
+ def reactivate_scene_change(self):
+ stb = self.activity_toolbar.nameID['Music']
+ stb.set_sensitive(True)
+ def set_horizontal_parameter(self, param):
+ log.info("set_horizontal_parameter received %s" %param)
+ self.horizontal_toolbar.set_horizontal_parameter(param)
+ def set_vertical_parameter(self, param):
+ log.info("set_vertical_parameter received %s" %param)
+ self.vertical_toolbar.set_vertical_parameter(param)
+
+
+#should probably tidy these toolbars up. Subclass them.
+class Jam2JamActivityToolbar( gtk.Toolbar ):
+ def __init__(self, activity):
+ log.info('entering __init__ in Jam2JamActivityToolbar')
+ self.toolbar_box = ToolbarBox()
+ log.info('made the activity toolbar_box')
+ self.activity = activity
+ activity_button = AltButton(activity)
+ log.info ('made the ALT BUTTON')
+ self.toolbar_box.toolbar.insert(activity_button, 0)
+ activity_button.show()
+ self.nameID = {}
+
+ def addCallback(self, func):
+ "used to add a callback function to buttons, make sure you do this before trying to add the button"
+ result = types.MethodType(func, self)
+ self.__setattr__(func.__name__, result)
+
+ def addToolBarButton(self, nameID, icon_name, toolbar=None):
+ "I wonder if this can be merged with the ad button below?"
+ button = ToolbarButton(
+ page=toolbar,
+ icon_name=icon_name)
+ self.toolbar_box.toolbar.insert(button, -1)
+ button.show()
+ toolbar.show()
+ self.nameID.update({nameID:button})
+
+ def addSeparator(self):
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(True)
+ separator.show()
+ self.toolbar_box.toolbar.insert(separator, -1)
+
+ def addButton(self, nameID, image1path, image2path, tooltip1, tooltip2, cb):
+ button = ToolButton()
+ log.info("addButtonIMAGE PATH ____ " + image1path )
+ button.image1 = gtk.Image()
+ button.image1.set_from_file(image1path)
+ button.image2 = gtk.Image()
+ button.image2.set_from_file(image2path)
+ button.image1.show()
+ button.tooltip1, button.tooltip2 = tooltip1, tooltip2
+ button.set_icon_widget(button.image1)
+ button.connect('clicked', cb)
+ button.set_tooltip(_(button.tooltip1))
+ button.nameID = nameID
+ self.toolbar_box.toolbar.insert(button, -1)
+ button.show()
+ self.nameID.update({nameID:button})
+
+ def addStopButton(self):
+ separator = gtk.SeparatorToolItem()
+ separator.props.draw = False
+ separator.set_expand(True)
+ separator.show()
+ self.toolbar_box.toolbar.insert(separator, -1)
+ stop_button = StopButton(self.activity)
+ stop_button.props.accelerator = '<Ctrl><Shift>Q'
+ self.toolbar_box.toolbar.insert(stop_button, -1)
+ stop_button.show()
+
+ def getToolItem(self, nameID):
+ return self.nameID[nameID]
+
+ def play_pause_cb(self, button):
+ if self.activity.play_pause_state == "Playing":
+ self.activity.jamScene.music_player.pause()
+ button.image2.show()
+ button.set_icon_widget(button.image2)
+ button.set_tooltip(_('Play'))
+ self.activity.play_pause_state = "Paused"
+ else:
+ self.activity.jamScene.music_player.resume()
+ button.image1.show()
+ button.set_icon_widget(button.image1)
+ button.set_tooltip(_('Pause'))
+ self.activity.play_pause_state = "Playing"
+ try:
+ self.activity._pgc.grab_focus()
+ except AttributeError:
+ pass
+
+ def camera_cb(self, button):
+ "Here I could wrap a camera event..."
+ if not hasattr(self, 'camera_ready'): self.camera_ready = True
+ def show_busy_camera(button):
+ self.camera_ready = False
+ button.image2.show()
+ button.set_icon_widget(button.image2)
+ button.set_tooltip(_('Please wait...'))
+ def show_active_camera(button):
+ button.image1.show()
+ button.set_icon_widget(button.image1)
+ button.set_tooltip(_('Snap'))
+ self.camera_ready = True
+ def snaptime(button):
+ snap = CameraSnap()
+ self.activity.cameras_loaded.append(snap)
+ picpath = snap.Snap()
+ self.activity.load_image(picpath)
+ snap.Stop()
+ show_active_camera(button)
+ self.activity._pgc.grab_focus()
+ if self.camera_ready:
+ show_busy_camera(button)
+ thread.start_new_thread(snaptime, (button,))
+ else:
+ log.info('Ignoring request to use camera, as camera is currently busy')
+
+
+class Jam2JamParameterToolbar(gtk.Toolbar):
+ def __init__(self, activity):
+ gtk.Toolbar.__init__(self)
+ self.activity = activity
+ self.parameters = ['Pitch', 'Timbre', 'Density', 'Volume', 'Length'] # no tempo here yet.
+ self.scene_init = True
+ self.activeButton = None
+
+ def addButton(self, nameID, image1path, image2path, tooltip1, tooltip2, cb):
+ button = ToolButton()
+ button.image1 = gtk.Image()
+ button.image1.set_from_file(image1path)
+ button.image2 = gtk.Image()
+ button.image2.set_from_file(image2path)
+ button.image1.show()
+ button.nameID = nameID
+ button.tooltip1, button.tooltip2 = tooltip1, tooltip2
+ button.set_icon_widget(button.image1)
+ button.connect('clicked', cb)
+ button.set_tooltip(_(button.tooltip1))
+ button.active = False
+ self.insert(button, -1)
+ button.show()
+ return button
+
+ def toggleButtonIcon(self, button):
+ if button.active:
+ button.image1.show()
+ button.set_icon_widget(button.image1)
+ button.set_tooltip(_(button.tooltip1))
+ button.active = False
+ else:
+ button.image2.show()
+ button.set_icon_widget(button.image2)
+ button.set_tooltip(_(button.tooltip2))
+ button.active = True
+
+
+ def addSeparator(self):
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(True)
+ separator.show()
+ self.insert(separator, -1)
+
+ def set_horizontal_parameter(self, param):
+ buttons = self.get_children()
+ for b in buttons:
+ if b.nameID == param:
+ self.set_horizontal_cb(b)
+ break
+ else:
+ raise TypeError('%s keystroke is not a recognised parameter' %param)
+
+ def set_horizontal_cb(self, button):
+ log.info('button pressed - %s' %button.nameID)
+ if self.activeButton: self.toggleButtonIcon(self.activeButton)
+ self.activeButton = button
+ self.toggleButtonIcon(self.activeButton)
+ param = "Parameter|Horizontal|" + button.nameID
+ olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=param))
+ try:
+ self.activity._pgc.grab_focus()
+ except AttributeError:
+ pass
+
+ def set_vertical_parameter(self, param):
+ buttons = self.get_children()
+ for b in buttons:
+ if b.nameID == param:
+ self.set_vertical_cb(b)
+ break
+ else:
+ raise TypeError('%s keystroke is not a recognised parameter' %param)
+
+ def set_vertical_cb(self, button):
+ log.info('button pressed - %s' %button.nameID)
+ if self.activeButton: self.toggleButtonIcon(self.activeButton)
+ self.activeButton = button
+ self.toggleButtonIcon(self.activeButton)
+ param = "Parameter|Vertical|" + button.nameID
+ olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=param))
+ try:
+ self.activity._pgc.grab_focus()
+ except AttributeError:
+ pass
+
+
+class Jam2JamSceneToolbar(gtk.Toolbar):
+ "Toolbar which sets musicl styles"
+ def __init__(self, activity):
+ gtk.Toolbar.__init__(self)
+ self.activity = activity
+ scene_stuff = readScenes(self.activity._ScenePath)
+ self.scenes = scene_stuff.get_scene_list()
+ log.info("SCENE DATA IS %s" %self.scenes)
+ #format of self.scenes
+ #self.scenes = [['City', 'A', 'minor pentatonic'], ['City', 'G#', 'major']] #this data is read from file
+ self.play_pause_state = 'Playing'
+ self.activeButton = None
+ #self.scene_init = True
+
+ def addButton(self, nameID, image1path, image2path, tooltip1, tooltip2, cb):
+ button = ToolButton()
+ button.image1 = gtk.Image()
+ button.image1.set_from_file(image1path)
+ button.image2 = gtk.Image()
+ button.image2.set_from_file(image2path)
+ button.image1.show()
+ button.nameID = nameID
+ button.tooltip1, button.tooltip2 = tooltip1, tooltip2
+ button.set_icon_widget(button.image1)
+ button.connect('clicked', cb)
+ button.set_tooltip(_(button.tooltip1))
+ button.active = False
+ self.insert(button, -1)
+ button.show()
+ return button
+
+ def toggleButtonIcon(self, button):
+ if button.active:
+ button.image1.show()
+ button.set_icon_widget(button.image1)
+ button.set_tooltip(_(button.tooltip1))
+ button.active = False
+ else:
+ button.image2.show()
+ button.set_icon_widget(button.image2)
+ button.set_tooltip(_(button.tooltip2))
+ button.active = True
+
+ def _get_scene_data(self, button):
+ button_name = button.nameID
+ for item in self.scenes:
+ if item[0] == button_name: return item
+ else:
+ raise IOError('could not match button name %s to scene data %s' %(button_name, self.scenes))
+
+ def scene_change_cb(self, button):
+ log.info("scene change requested: %s" %button.nameID)
+ if self.activeButton: self.toggleButtonIcon(self.activeButton)
+ self.activeButton = button
+ self.toggleButtonIcon(self.activeButton)
+ selection = self._get_scene_data(button)
+ #Scene message should look like this: "Reload|name|key:mode|tempo|defaults"
+ scene = "Reload|" + '|'.join(map(lambda x: str(x), selection))
+ olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=scene))
+ try:
+ self.activity._pgc.grab_focus()
+ except AttributeError:
+ pass
+
+ def addSeparator(self):
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(True)
+ separator.show()
+ self.insert(separator, -1)
+
diff --git a/MANIFEST b/MANIFEST
index c91c5a1..b84da94 100644..100755
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,175 +1,207 @@
-activity.py
InstrumentPanel.py
-J2JToolbar.py
-run.py
setup.py
+J2JToolbars.py
+mybutton.py
+activity.py
+run.py
arrow40b-mask.xbm
arrow40b.xbm
-MANIFEST.in
POTFILES.in
+MANIFEST.in
NEWS
README
COPYING
activity/activity.svg
activity/activity.info
-City/__init__.py
City/City.py
-City/CsHelpers.py
+City/Tracks.py
+City/OrcBuilder.py
City/CsSched.py
City/midiImport.py
-City/OrcBuilder.py
City/Parameters.py
City/setup.py
-City/Tracks.py
-City/Scenes/Reggae/AudioFiles/LeadAudio/B2_guitar.aif
-City/Scenes/Reggae/AudioFiles/LeadAudio/B3_guitar.aif
+City/CsHelpers.py
+City/__init__.py
+City/Scenes/City/AudioFiles/LeadAudio/keys-good[52-60-63]_001_001mn_000.aif
+City/Scenes/City/AudioFiles/LeadAudio/keys-good[88-96-99]_001_001mn_000.aif
+City/Scenes/City/AudioFiles/LeadAudio/keys-good[76-84-87]_001_001mn_000.aif
+City/Scenes/City/AudioFiles/LeadAudio/keys-good[28-36-39]_001_001mn_000.aif
+City/Scenes/City/AudioFiles/LeadAudio/keys-good[40-48-51]_001_001mn_000.aif
+City/Scenes/City/AudioFiles/LeadAudio/keys-good[64-72-75]_001_001mn_000.aif
+City/Scenes/City/AudioFiles/BassAudio/Dance1Bass[52-60-63]mn_000.aif
+City/Scenes/City/AudioFiles/BassAudio/Dance1Bass[28-36-39]mn_000.aif
+City/Scenes/City/AudioFiles/BassAudio/Dance1Bass[40-48-51]mn_000.aif
+City/Scenes/City/AudioFiles/DrumsAudio/Dance1openedhat4[42-42-42].aif
+City/Scenes/City/AudioFiles/DrumsAudio/Dance1909snare3[38-38-38].aif
+City/Scenes/City/AudioFiles/DrumsAudio/Dance1909kick7[36-36-36].aif
+City/Scenes/City/AudioFiles/DrumsAudio/Dance1closedhat11[39-39-39].aif
+City/Scenes/City/AudioFiles/DrumsAudio/Dance1SHAKER_1[46-46-46].aif
+City/Scenes/City/AudioFiles/ChordsAudio/Dance1Pad[64-72-75]mn_000.aif
+City/Scenes/City/AudioFiles/ChordsAudio/Dance1Pad[88-96-99]mn_000.aif
+City/Scenes/City/AudioFiles/ChordsAudio/Dance1Pad[76-84-87]mn_000.aif
+City/Scenes/City/AudioFiles/ChordsAudio/Dance1Pad[100-108-111]mn_000.aif
+City/Scenes/Country/AudioFiles/LeadAudio/E2_guitar.aif
+City/Scenes/Country/AudioFiles/LeadAudio/E5_guitar.aif
+City/Scenes/Country/AudioFiles/LeadAudio/E3_guitar.aif
+City/Scenes/Country/AudioFiles/LeadAudio/B2_guitar.aif
+City/Scenes/Country/AudioFiles/LeadAudio/E4_guitar.aif
+City/Scenes/Country/AudioFiles/LeadAudio/B3_guitar.aif
+City/Scenes/Country/AudioFiles/BassAudio/BassC4[70-72-78].aif
+City/Scenes/Country/AudioFiles/BassAudio/BassF#2[51-54-58].aif
+City/Scenes/Country/AudioFiles/BassAudio/BassC2[41-48-50].aif
+City/Scenes/Country/AudioFiles/BassAudio/BassC3[59-60-62].aif
+City/Scenes/Country/AudioFiles/DrumsAudio/F#1_closed_hi_hat.aif
+City/Scenes/Country/AudioFiles/DrumsAudio/D1_snare_drum.aif
+City/Scenes/Country/AudioFiles/DrumsAudio/C#1_rim_shot.aif
+City/Scenes/Country/AudioFiles/DrumsAudio/C1_kick_drum.aif
+City/Scenes/Country/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
+City/Scenes/Country/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
+City/Scenes/Country/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
+City/Scenes/Country/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
+City/Scenes/Blues/AudioFiles/LeadAudio/E2_guitar.aif
+City/Scenes/Blues/AudioFiles/LeadAudio/E5_guitar.aif
+City/Scenes/Blues/AudioFiles/LeadAudio/E3_guitar.aif
+City/Scenes/Blues/AudioFiles/LeadAudio/B2_guitar.aif
+City/Scenes/Blues/AudioFiles/LeadAudio/E4_guitar.aif
+City/Scenes/Blues/AudioFiles/LeadAudio/B3_guitar.aif
+City/Scenes/Blues/AudioFiles/BassAudio/BassC4[70-72-78].aif
+City/Scenes/Blues/AudioFiles/BassAudio/BassF#2[51-54-58].aif
+City/Scenes/Blues/AudioFiles/BassAudio/BassC2[41-48-50].aif
+City/Scenes/Blues/AudioFiles/BassAudio/BassC3[59-60-62].aif
+City/Scenes/Blues/AudioFiles/DrumsAudio/F#1_closed_hi_hat.aif
+City/Scenes/Blues/AudioFiles/DrumsAudio/Tamborine 22 16 Mono.aif
+City/Scenes/Blues/AudioFiles/DrumsAudio/D1_snare_drum.aif
+City/Scenes/Blues/AudioFiles/DrumsAudio/C1_kick_drum.aif
+City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
+City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
+City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
+City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
City/Scenes/Reggae/AudioFiles/LeadAudio/E2_guitar.aif
+City/Scenes/Reggae/AudioFiles/LeadAudio/E5_guitar.aif
City/Scenes/Reggae/AudioFiles/LeadAudio/E3_guitar.aif
+City/Scenes/Reggae/AudioFiles/LeadAudio/B2_guitar.aif
City/Scenes/Reggae/AudioFiles/LeadAudio/E4_guitar.aif
-City/Scenes/Reggae/AudioFiles/LeadAudio/E5_guitar.aif
+City/Scenes/Reggae/AudioFiles/LeadAudio/B3_guitar.aif
+City/Scenes/Reggae/AudioFiles/BassAudio/BassC4[70-72-78].aif
+City/Scenes/Reggae/AudioFiles/BassAudio/BassF#2[51-54-58].aif
+City/Scenes/Reggae/AudioFiles/BassAudio/BassC2[41-48-50].aif
+City/Scenes/Reggae/AudioFiles/BassAudio/BassC3[59-60-62].aif
City/Scenes/Reggae/AudioFiles/DrumsAudio/ClosedhatF#1.aif
-City/Scenes/Reggae/AudioFiles/DrumsAudio/Kick-C1.aif
City/Scenes/Reggae/AudioFiles/DrumsAudio/OpenhatA#1.aif
-City/Scenes/Reggae/AudioFiles/DrumsAudio/Snare-D1.aif
City/Scenes/Reggae/AudioFiles/DrumsAudio/TambF#2.aif
-City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
-City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
+City/Scenes/Reggae/AudioFiles/DrumsAudio/Kick-C1.aif
+City/Scenes/Reggae/AudioFiles/DrumsAudio/Snare-D1.aif
City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
-City/Scenes/Reggae/AudioFiles/BassAudio/BassC2[41-48-50].aif
-City/Scenes/Reggae/AudioFiles/BassAudio/BassC3[59-60-62].aif
-City/Scenes/Reggae/AudioFiles/BassAudio/BassC4[70-72-78].aif
-City/Scenes/Reggae/AudioFiles/BassAudio/BassF#2[51-54-58].aif
+City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
+City/Scenes/Reggae/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets A4 22 16 mono.aif
-City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets C4 22 16 mono.aif
City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets E3 22 16 mono.aif
City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets F4 22 16 mono.aif
City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets G3 22 16 mono.aif
-City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C#3 22 16 Mono.aif
-City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C3 22 16 Mono.aif
-City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo D3 22 16 Mono.aif
+City/Scenes/Latin/AudioFiles/LeadAudio/Trumpets C4 22 16 mono.aif
+City/Scenes/Latin/AudioFiles/BassAudio/BassC4[70-72-78].aif
+City/Scenes/Latin/AudioFiles/BassAudio/BassF#2[51-54-58].aif
+City/Scenes/Latin/AudioFiles/BassAudio/BassC2[41-48-50].aif
+City/Scenes/Latin/AudioFiles/BassAudio/BassC3[59-60-62].aif
City/Scenes/Latin/AudioFiles/DrumsAudio/ClosedhatF#1.aif
+City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C3 22 16 Mono.aif
+City/Scenes/Latin/AudioFiles/DrumsAudio/TambF#2.aif
City/Scenes/Latin/AudioFiles/DrumsAudio/Kick-C1.aif
+City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo D3 22 16 Mono.aif
City/Scenes/Latin/AudioFiles/DrumsAudio/Shaker 22 16 Mono.aif
+City/Scenes/Latin/AudioFiles/DrumsAudio/Bongo C#3 22 16 Mono.aif
City/Scenes/Latin/AudioFiles/DrumsAudio/Snare-D1.aif
-City/Scenes/Latin/AudioFiles/DrumsAudio/TambF#2.aif
City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C4 22 16 mono.aif
-City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C5 22 16 mono.aif
City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G3 22 16 mono.aif
City/Scenes/Latin/AudioFiles/ChordsAudio/Organ G4 22 16 mono.aif
-City/Scenes/Latin/AudioFiles/BassAudio/BassC2[41-48-50].aif
-City/Scenes/Latin/AudioFiles/BassAudio/BassC3[59-60-62].aif
-City/Scenes/Latin/AudioFiles/BassAudio/BassC4[70-72-78].aif
-City/Scenes/Latin/AudioFiles/BassAudio/BassF#2[51-54-58].aif
-City/Scenes/Country/AudioFiles/LeadAudio/B2_guitar.aif
-City/Scenes/Country/AudioFiles/LeadAudio/B3_guitar.aif
-City/Scenes/Country/AudioFiles/LeadAudio/E2_guitar.aif
-City/Scenes/Country/AudioFiles/LeadAudio/E3_guitar.aif
-City/Scenes/Country/AudioFiles/LeadAudio/E4_guitar.aif
-City/Scenes/Country/AudioFiles/LeadAudio/E5_guitar.aif
-City/Scenes/Country/AudioFiles/DrumsAudio/C#1_rim_shot.aif
-City/Scenes/Country/AudioFiles/DrumsAudio/C1_kick_drum.aif
-City/Scenes/Country/AudioFiles/DrumsAudio/D1_snare_drum.aif
-City/Scenes/Country/AudioFiles/DrumsAudio/F#1_closed_hi_hat.aif
-City/Scenes/Country/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
-City/Scenes/Country/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
-City/Scenes/Country/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
-City/Scenes/Country/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
-City/Scenes/Country/AudioFiles/BassAudio/BassC2[41-48-50].aif
-City/Scenes/Country/AudioFiles/BassAudio/BassC3[59-60-62].aif
-City/Scenes/Country/AudioFiles/BassAudio/BassC4[70-72-78].aif
-City/Scenes/Country/AudioFiles/BassAudio/BassF#2[51-54-58].aif
-City/Scenes/City/AudioFiles/LeadAudio/keys-good[28-36-39]_001_001mn_000.aif
-City/Scenes/City/AudioFiles/LeadAudio/keys-good[40-48-51]_001_001mn_000.aif
-City/Scenes/City/AudioFiles/LeadAudio/keys-good[52-60-63]_001_001mn_000.aif
-City/Scenes/City/AudioFiles/LeadAudio/keys-good[64-72-75]_001_001mn_000.aif
-City/Scenes/City/AudioFiles/LeadAudio/keys-good[76-84-87]_001_001mn_000.aif
-City/Scenes/City/AudioFiles/LeadAudio/keys-good[88-96-99]_001_001mn_000.aif
-City/Scenes/City/AudioFiles/DrumsAudio/Dance1909kick7[36-36-36].aif
-City/Scenes/City/AudioFiles/DrumsAudio/Dance1909snare3[38-38-38].aif
-City/Scenes/City/AudioFiles/DrumsAudio/Dance1closedhat11[39-39-39].aif
-City/Scenes/City/AudioFiles/DrumsAudio/Dance1openedhat4[42-42-42].aif
-City/Scenes/City/AudioFiles/DrumsAudio/Dance1SHAKER_1[46-46-46].aif
-City/Scenes/City/AudioFiles/ChordsAudio/Dance1Pad[100-108-111]mn_000.aif
-City/Scenes/City/AudioFiles/ChordsAudio/Dance1Pad[64-72-75]mn_000.aif
-City/Scenes/City/AudioFiles/ChordsAudio/Dance1Pad[76-84-87]mn_000.aif
-City/Scenes/City/AudioFiles/ChordsAudio/Dance1Pad[88-96-99]mn_000.aif
-City/Scenes/City/AudioFiles/BassAudio/Dance1Bass[28-36-39]mn_000.aif
-City/Scenes/City/AudioFiles/BassAudio/Dance1Bass[40-48-51]mn_000.aif
-City/Scenes/City/AudioFiles/BassAudio/Dance1Bass[52-60-63]mn_000.aif
-City/Scenes/Blues/AudioFiles/LeadAudio/B2_guitar.aif
-City/Scenes/Blues/AudioFiles/LeadAudio/B3_guitar.aif
-City/Scenes/Blues/AudioFiles/LeadAudio/E2_guitar.aif
-City/Scenes/Blues/AudioFiles/LeadAudio/E3_guitar.aif
-City/Scenes/Blues/AudioFiles/LeadAudio/E4_guitar.aif
-City/Scenes/Blues/AudioFiles/LeadAudio/E5_guitar.aif
-City/Scenes/Blues/AudioFiles/DrumsAudio/C1_kick_drum.aif
-City/Scenes/Blues/AudioFiles/DrumsAudio/D1_snare_drum.aif
-City/Scenes/Blues/AudioFiles/DrumsAudio/F#1_closed_hi_hat.aif
-City/Scenes/Blues/AudioFiles/DrumsAudio/Tamborine 22 16 Mono.aif
-City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC4[70-72-73].aif
-City/Scenes/Blues/AudioFiles/ChordsAudio/epnoC5[82-84-90].aif
-City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE3[63-64-65].aif
-City/Scenes/Blues/AudioFiles/ChordsAudio/epnoE4[74-76-77].aif
-City/Scenes/Blues/AudioFiles/BassAudio/BassC2[41-48-50].aif
-City/Scenes/Blues/AudioFiles/BassAudio/BassC3[59-60-62].aif
-City/Scenes/Blues/AudioFiles/BassAudio/BassC4[70-72-78].aif
-City/Scenes/Blues/AudioFiles/BassAudio/BassF#2[51-54-58].aif
-City/Scenes/Reggae/MidiFiles/Bass.mid
-City/Scenes/Reggae/MidiFiles/Chords.mid
-City/Scenes/Reggae/MidiFiles/Drums.mid
-City/Scenes/Reggae/MidiFiles/Lead.mid
-City/Scenes/Latin/MidiFiles/Bass.mid
-City/Scenes/Latin/MidiFiles/Chords.mid
-City/Scenes/Latin/MidiFiles/Drums.mid
-City/Scenes/Latin/MidiFiles/Lead.mid
-City/Scenes/Country/MidiFiles/Bass.mid
-City/Scenes/Country/MidiFiles/Chords.mid
-City/Scenes/Country/MidiFiles/Drums.mid
-City/Scenes/Country/MidiFiles/Lead.mid
-City/Scenes/City/MidiFiles/Bass.mid
+City/Scenes/Latin/AudioFiles/ChordsAudio/Organ C5 22 16 mono.aif
+City/Scenes/City/MidiFiles/Lead.mid
City/Scenes/City/MidiFiles/Chords.mid
+City/Scenes/City/MidiFiles/Bass.mid
City/Scenes/City/MidiFiles/Drums.mid
-City/Scenes/City/MidiFiles/Lead.mid
-City/Scenes/Blues/MidiFiles/Bass.mid
+City/Scenes/Country/MidiFiles/Lead.mid
+City/Scenes/Country/MidiFiles/Chords.mid
+City/Scenes/Country/MidiFiles/Bass.mid
+City/Scenes/Country/MidiFiles/Drums.mid
+City/Scenes/Blues/MidiFiles/Lead.mid
City/Scenes/Blues/MidiFiles/Chords.mid
+City/Scenes/Blues/MidiFiles/Bass.mid
City/Scenes/Blues/MidiFiles/Drums.mid
-City/Scenes/Blues/MidiFiles/Lead.mid
-City/Images/Bass.png
-City/Images/Chords.png
+City/Scenes/Reggae/MidiFiles/Lead.mid
+City/Scenes/Reggae/MidiFiles/Chords.mid
+City/Scenes/Reggae/MidiFiles/Bass.mid
+City/Scenes/Reggae/MidiFiles/Drums.mid
+City/Scenes/Latin/MidiFiles/Lead.mid
+City/Scenes/Latin/MidiFiles/Chords.mid
+City/Scenes/Latin/MidiFiles/Bass.mid
+City/Scenes/Latin/MidiFiles/Drums.mid
+City/Images/jam2jamXO_4.png
City/Images/Drums.png
-City/Images/jam2jamXO_2.png
+City/Images/Video.png
City/Images/Lead.png
+City/Images/Bass.png
City/Images/Mic.png
-City/Images/Video.png
-City/Images/camera-busy.svg
+City/Images/jam2jamXO_2.png
+City/Images/Chords.png
+City/Images/density1.svg
+City/Images/country1.svg
+City/Images/length1.svg
+City/Images/timbre1.svg
+City/Images/pitch1.svg
+City/Images/timbre2.svg
+City/Images/reggae1.svg
City/Images/camera-external.svg
-City/Images/media-playback-pause.svg
+City/Images/latin2.svg
+City/Images/city1.svg
+City/Images/city2.svg
+City/Images/blues1.svg
+City/Images/country2.svg
City/Images/media-playback-start.svg
-City/Scenes/Reggae/Reggae_Data.txt
-City/Scenes/Latin/Latin_Data.txt
-City/Scenes/Country/Country_Data.txt
+City/Images/camera-busy.svg
+City/Images/volume1.svg
+City/Images/density2.svg
+City/Images/pitch2.svg
+City/Images/reggae2.svg
+City/Images/length2.svg
+City/Images/latin1.svg
+City/Images/volume2.svg
+City/Images/media-playback-pause.svg
+City/Images/blues2.svg
City/Scenes/City/City_Data.txt
+City/Scenes/Country/Country_Data.txt
City/Scenes/Blues/Blues_Data.txt
+City/Scenes/Reggae/Reggae_Data.txt
+City/Scenes/Latin/Latin_Data.txt
+icons/music2.svg
+icons/Latin-edit1.svg
+icons/city-edit2.svg
+icons/vertical5.svg
+icons/Reggae-edit1.svg
+icons/music.svg
+icons/city-edit1.svg
+icons/Country-edit1.svg
+icons/horizontal5.svg
po/POTFILES.in
+po/Jam2Jam.pot
olpcgames/COPYING
-olpcgames/__init__.py
-olpcgames/_cairoimage.py
-olpcgames/_gtkmain.py
-olpcgames/_version.py
-olpcgames/activity.py
-olpcgames/buildmanifest.py
-olpcgames/camera.py
-olpcgames/canvas.py
-olpcgames/dbusproxy.py
-olpcgames/eventwrap.py
-olpcgames/gtkEvent.py
-olpcgames/mesh.py
-olpcgames/pangofont.py
-olpcgames/pausescreen.py
olpcgames/svgsprite.py
olpcgames/textsprite.py
olpcgames/util.py
+olpcgames/pausescreen.py
+olpcgames/dbusproxy.py
+olpcgames/_version.py
+olpcgames/_gtkmain.py
+olpcgames/canvas.py
olpcgames/video.py
+olpcgames/mesh.py
+olpcgames/pangofont.py
+olpcgames/camera.py
+olpcgames/gtkEvent.py
+olpcgames/_cairoimage.py
+olpcgames/eventwrap.py
+olpcgames/activity.py
+olpcgames/__init__.py
+olpcgames/buildmanifest.py
+olpcgames/data/sleeping_svg.py
olpcgames/data/__init__.py
-olpcgames/data/sleeping_svg.py \ No newline at end of file
diff --git a/MANIFEST.in b/MANIFEST.in
index 5b14813..986a838 100755
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,6 +1,7 @@
include *.py *.xbm *.in NEWS README COPYING
recursive-include activity *.svg *.info
recursive-include City *.py *.aif *.mid *.png *.svg *.txt
+recursive-include icons *.svg
include po/POTFILES.in
include olpcgames/COPYING
recursive-include olpcgames *.py
diff --git a/README b/README
index 840bff8..840bff8 100644..100755
--- a/README
+++ b/README
diff --git a/activity.py b/activity.py
index 63b031a..033c694 100755
--- a/activity.py
+++ b/activity.py
@@ -1,6 +1,6 @@
-#This python module is part of the Jam2Jam XO Activity, March, 2010
+#This python module is part of the Jam2Jam XO Activity, March, 2012
#
-#Copyright (C) 2010 Thorin Kerr & Andrew Brown
+#Copyright (C) 2012 Thorin Kerr & Andrew Brown
#
#This program is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
@@ -16,36 +16,51 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-import pygame
-import olpcgames
-from sugar.graphics.toolbutton import ToolButton
-import sugar.activity
-from sugar.activity.activity import Activity, ActivityToolbox
+
+import pygame, olpcgames
from olpcgames import activity
-from J2JToolbar import Jam2JamToolBar
+import sugar.activity
+from sugar.activity.activity import get_bundle_path
+ImagePath = get_bundle_path() + "/City/Images"
+
+
+import gtk.gdk
from gettext import gettext as _
import logging, os
log = logging.getLogger( 'City run' )
log.setLevel( logging.DEBUG )
-
log.info( """ LOG From activity.py!!""")
from olpcgames import mesh, util
+_NEW_TOOLBAR_SUPPORT = True
+
+try:
+ from sugar.graphics.toolbarbox import ToolbarBox #superfluous import here, but we need to detect sugar versions post 0.86
+ from J2JToolbars import J2J_Toolbar_Redirect
+ from J2JToolbars import Jam2JamActivityToolbar, Jam2JamParameterToolbar, Jam2JamSceneToolbar
+except:
+ _NEW_TOOLBAR_SUPPORT = False
+ from sugar.activity.activity import ActivityToolbox
+ from J2JToolbars import Jam2JamToolBar #NOW ONLY GETS IMPORTED WHEN OLD TOOLBARS ARE USED
+
+
class Activity(activity.PyGameActivity):
"""Your Sugar activity"""
game_name = 'run:main'
game_title = _('Jam2Jam')
game_size = None
- _ScenePath = (os.path.dirname(os.path.abspath(__file__)) + "/City/Scenes")
+ _ScenePath = (get_bundle_path() + "/City/Scenes")
def __init__(self, handle):
+ self.handle = handle
activity.PyGameActivity.__init__(self, handle)
self.snap_store = []
self.cameras_loaded = []
self.playArea = None
self.jamScene = None
+ self.play_pause_state = 'Playing'
def load_image(self, picpath):
picsurf = pygame.image.load(picpath)
@@ -53,52 +68,123 @@ class Activity(activity.PyGameActivity):
picsurfwidth = picsurf.get_width()
destwidth = self.playArea.width
scale = float(destwidth) / picsurfwidth
- newarea = (picsurfwidth * scale, picsurf.get_height() * scale)
+ newarea = (int(picsurfwidth * scale), int(picsurf.get_height() * scale))
picsurf = pygame.transform.scale(picsurf, newarea)
self.snap_store.append(picsurf)
-
def build_toolbar(self):
- log.info ("building toolbar")
+ if _NEW_TOOLBAR_SUPPORT:
+ log.info("building NEW toolbar\n")
+ return self.build_new_toolbar()
+ else:
+ log.info("buiding OLD toolbar \n")
+ return self.build_old_toolbar()
+ def build_old_toolbar(self):
toolbox = ActivityToolbox(self)
- #remove the 'keep' button. We've no need to save data at the moment.
activityToolbar = toolbox.get_activity_toolbar()
activityToolbar.keep.props.visible = False
self.J2JToolbar = Jam2JamToolBar(self)
+
toolbox.add_toolbar("Transform", self.J2JToolbar)
self.set_toolbox(toolbox)
self.J2JToolbar.show()
toolbox.show()
+
self.toolbox.set_current_toolbar(1)
- def shared_cb(*args, **kwargs):
- log.info( 'Shared CB: %s, %s', args, kwargs )
- try:
- mesh.activity_shared(self)
- except Exception, err:
- log.error( """Failure signaling activity sharing to mesh module: %s""", util.get_traceback(err) )
- else:
- log.info( 'mesh activity shared message sent, trying to grab focus' )
- try:
- self._pgc.grab_focus()
- except Exception, err:
- log.warn( 'Focus failed: %s', err )
- else:
- log.info( 'asserting focus' )
- assert self._pgc.is_focus(), """Did not successfully set pygame canvas focus"""
- sharermessage = "Shared:StartBeat"
- olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=sharermessage))
- log.info( 'callback finished' )
- def joined_cb(*args, **kwargs):
- log.info( 'joined CB: %s, %s', args, kwargs )
- mesh.activity_joined(self)
- self._pgc.grab_focus()
- joinedmessage = "Joined:CeasePlayer"
- olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=joinedmessage))
- self.connect("shared", shared_cb)
- self.connect("joined", joined_cb)
+
+ self.connect("shared", self.shared_cb)
+ self.connect("joined", self.joined_cb)
+
if self.get_shared():
- joined_cb()
+ self.joined_cb()
log.info ("FINISHED building toolbar")
return toolbox
+ def build_new_toolbar(self):
+ log.info ("building new toolbar")
+
+ activity_toolbar = Jam2JamActivityToolbar(self)
+ Horizontal_Toolbar = Jam2JamParameterToolbar(self)
+ Vertical_Toolbar = Jam2JamParameterToolbar(self)
+ Scene_Toolbar = Jam2JamSceneToolbar(self)
+ self.J2JToolbar = J2J_Toolbar_Redirect(activity_toolbar, Horizontal_Toolbar, Vertical_Toolbar, Scene_Toolbar) #the pygame interface
+
+
+ activity_toolbar.addToolBarButton("Horizontal", "horizontal5", Horizontal_Toolbar)
+
+ activity_toolbar.addToolBarButton("Vertical", "vertical5", Vertical_Toolbar)
+ activity_toolbar.addSeparator()
+ activity_toolbar.addToolBarButton("Music", "music2", Scene_Toolbar)
+ activity_toolbar.addSeparator()
+
+ activity_toolbar.addButton('Camera',
+ ImagePath + "/camera-external.svg",
+ ImagePath + "/camera-busy.svg",
+ "Take a picture", "processing, please wait",
+ activity_toolbar.camera_cb)
+
+ activity_toolbar.addButton('PlayPause',
+ ImagePath + "/media-playback-pause.svg",
+ ImagePath + "/media-playback-start.svg",
+ "Pause", "Play",
+ activity_toolbar.play_pause_cb)
+ activity_toolbar.addStopButton()
+ parameters = ['Pitch', 'Timbre', 'Density', 'Volume', 'Length']
+
+ for p in parameters:
+ h = Horizontal_Toolbar.addButton(p,
+ ImagePath + "/" + p.lower() + "1.svg",
+ ImagePath + "/" + p.lower() + "2.svg",
+ p, p + "-active",
+ Horizontal_Toolbar.set_horizontal_cb)
+ v = Vertical_Toolbar.addButton(p,
+ ImagePath + "/" + p.lower() + "1.svg",
+ ImagePath + "/" + p.lower() + "2.svg",
+ p, p + "-active",
+ Vertical_Toolbar.set_vertical_cb)
+ if p == 'Density': Horizontal_Toolbar.set_horizontal_cb(h)
+ if p == 'Pitch': Vertical_Toolbar.set_horizontal_cb(v)
+ Horizontal_Toolbar.show()
+ Vertical_Toolbar.show()
+
+ scenes = ['City', 'Country', 'Latin', 'Blues', 'Reggae']
+ for s in scenes:
+ bs = Scene_Toolbar.addButton(s, ImagePath + "/" + s.lower() + "1.svg",
+ ImagePath + "/" + s.lower() + "2.svg",
+ s, s + "-active",
+ Scene_Toolbar.scene_change_cb)
+ if s == 'City': Scene_Toolbar.scene_change_cb(bs)
+
+ self.connect("shared", self.shared_cb)
+ self.connect("joined", self.joined_cb)
+ if self.get_shared(): self.joined_cb()
+
+ self.set_toolbar_box(activity_toolbar.toolbar_box)
+ activity_toolbar.toolbar_box.show()
+ vpb = activity_toolbar.nameID['Horizontal']
+ vpb.set_expanded(True)
+ return activity_toolbar.toolbar_box
+
+ def shared_cb(self, *args, **kwargs):
+ log.info( 'Shared CB: %s, %s', args, kwargs )
+ try:
+ mesh.activity_shared(self)
+ except Exception, err:
+ log.error( """Failure signaling activity sharing to mesh module: %s""", util.get_traceback(err) )
+ else:
+ log.info( 'mesh activity shared message sent' )
+ try:
+ self._pgc.grab_focus()
+ except Exception, err:
+ log.warn( 'Focus failed: %s', err )
+ else:
+ assert self._pgc.is_focus(), """Did not successfully set pygame canvas focus"""
+ sharermessage = "Shared:StartBeat"
+ olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=sharermessage))
+ def joined_cb(self, *args, **kwargs):
+ log.info( 'joined CB: %s, %s', args, kwargs )
+ mesh.activity_joined(self)
+ self._pgc.grab_focus()
+ joinedmessage = "Joined:CeasePlayer"
+ olpcgames.eventwrap.post(olpcgames.eventwrap.Event(pygame.USEREVENT, action=joinedmessage))
diff --git a/activity/activity.info b/activity/activity.info
index db379ba..2e29860 100755
--- a/activity/activity.info
+++ b/activity/activity.info
@@ -1,6 +1,6 @@
[Activity]
name = Jam2Jam
-activity_version = 3
+activity_version = 4
host_version = 1
bundle_id = au.net.acid.Jam2Jam1
icon = activity
diff --git a/icons/Country-edit1.svg b/icons/Country-edit1.svg
new file mode 100755
index 0000000..1c98784
--- /dev/null
+++ b/icons/Country-edit1.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#FFFFFF">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="785.89868"
+ height="771.75653"
+ id="svg2"
+ version="1.1"
+ sodipodi:docname="New document 1">
+ <defs
+ id="defs4">
+ </defs>
+ <g
+ id="layer1"
+ transform="translate(24.243662,-312.21985)">
+ <path
+ style="fill:&fill_color;;stroke:&stroke_color;;stroke-width:2.61240506px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 644.16953,950.54991 9.33002,1.86602 13.06203,-1.86602 9.33002,-5.59801 4.665,-4.665 -1.86602,-2.79901 -5.59799,-11.19601 -2.79901,-13.06203 7.46401,-7.46403 1.86601,-14.92801 -6.53101,-25.19105 -3.732,-28.92307 0,-34.52104 -1.86601,-24.25806 -13.06203,-15.86104 -13.06202,-25.19103 -3.73201,-11.19603 0,-15.86104 4.665,-19.59303 3.732,-23.32505 3.73203,-27.99004 0.933,-24.25806 -2.58234,-23.32505 -7.68068,-20.52602 -6.53101,-13.06202 1.86598,-0.93301 7.46404,5.598 5.598,8.39703 10.27272,16.46415 6.52131,25.52093 10.26303,33.58806 1.86599,9.33002 19.59304,0.933 15.86103,-0.933 13.99503,-4.66503 2.799,-7.464 -7.46401,-24.25803 -7.24736,-27.00046 -11.46929,-23.32504 -14.87141,-16.85064 -22.39204,-11.19601 -22.39205,-1.86603 -21.45904,5.59803 -13.99503,-3.732 -26.12405,-8.39703 -30.78904,-5.59802 -41.05209,-0.93299 -28.92306,4.66501 -29.85606,4.66501 -29.85605,3.73199 -23.32504,0.93301 -34.52108,-13.06203 -25.19106,-15.86101 -13.06202,-13.06202 -22.39202,-25.19106 -18.66004,-23.32504 -23.32505,-27.05707 -26.12405,-22.39201 -22.39204,-14.92805 -25.19105,-8.39703 -24.25804,-6.53101 -16.79403,-2.79898 -13.06202,-13.99505 -8.39703,-15.86104 -1.25801,9.49495 -1.54101,10.0981 -5.59801,-11.19602 -3.73201,-3.732 1.86603,12.12903 1.86598,10.26301 -14.92801,4.66501 -11.196036,8.39702 -4.665004,5.598 0.932993,5.59801 -7.463996,10.26301 4.664991,0 -2.798979,5.59803 -16.794055,20.52602 -12.129013,12.12904 -13.062019,14.92805 -13.062031,17.72702 -0.933019,6.531 0,9.79652 3.265508,5.13152 2.799018,6.99751 4.198526,5.13149 4.664991,4.19853 10.263014,1.3995 5.598023,0 5.598022,-0.46651 2.79898,-4.1985 2.332514,-4.66501 1.866012,-2.79901 9.330021,-4.1985 13.528521,-5.13152 8.863488,-7.46401 5.59803,-3.26551 11.19603,0 12.5955,-1.39949 8.39703,-6.99751 7.46401,0.46649 3.73201,2.33249 4.66502,10.26304 6.53101,20.05954 6.53102,23.32504 6.531,34.98757 8.86353,23.79155 4.1985,9.79651 0.46649,27.52355 -0.46649,33.12155 6.99751,23.79156 16.32754,23.32505 14.92803,13.06202 5.13149,30.78905 3.26551,33.12156 0.93299,55.98013 -0.93299,47.11658 -3.26551,9.79651 -5.13149,14.46152 -0.46652,9.79652 -8.8635,11.66254 -6.06452,6.06451 -0.4665,3.732 -6.9975,9.33003 -2.33252,3.732 3.26551,3.732 7.46401,0.4665 9.33002,-0.93299 9.79652,-1.3995 4.66499,-1.39952 1.39952,-2.3325 0.933,-1.3995 3.26551,-3.26551 -0.46651,-4.1985 -3.732,-5.13152 -0.4665,-4.66499 3.26551,-6.06452 4.665,-2.79901 6.1765,-3.02224 4.74059,-4.10469 1.60871,-10.08135 -0.11621,-23.39837 -0.74705,-32.63398 3.732,-18.19354 4.665,-16.32754 3.2655,-23.79153 3.73201,-34.05458 5.59802,-24.25803 7.94106,-13.59874 2.308,-2.24122 2.81301,-0.95407 18.66004,0.46649 28.45656,0 30.78904,-0.933 33.58806,0.933 24.72457,-2.33251 23.79154,-5.13149 24.25806,-12.12904 14.928,-7.46401 10.26302,-1.86601 14.46155,-7.46401 16.79403,-1.39951 4.1985,10.72953 12.12903,17.72703 13.06202,26.59055 13.06203,24.25806 8.86352,20.52603 4.665,9.79652 3.732,16.79403 5.59802,13.06202 1.3995,11.66254 -0.46651,28.92303 -0.46649,19.59303 -4.1985,13.06203 -0.4665,8.39703 -7.93053,12.59553 -6.99751,11.66251 -6.53101,9.79651 -1.39949,4.66503 5.13149,0.93299 14.46154,0 11.19601,-3.732 3.73201,-5.13153 -0.93299,-4.66499 -1.3995,-8.39703 2.79898,-6.06448 7.46403,-5.59803 5.598,-5.13152 0.46653,-11.196 0.46649,-20.05954 0,-34.05458 3.26551,-24.25803 2.799,-21.92555 -0.46651,-4.66501 -10.26303,-10.72953 -11.6625,-14.92801 -6.53101,-13.99503 -17.72705,-18.19354 -12.59553,-14.46151 -13.99502,-13.99505 20.99255,22.85854 17.72702,16.79403 7.93052,9.79652 6.99753,15.39454 13.99502,16.32752 9.79651,10.26302 4.66501,13.06203 4.66501,10.72954 9.33002,13.99501 3.73201,21.92555 3.732,15.86101 1.86599,22.85854 0.46653,13.06204 1.86598,6.99753 -0.93299,9.79652 -3.26551,7.9305 -2.33251,7.46401 -5.1315,12.59553 -2.799,2.799 0.93299,3.732 2e-5,0 -7e-5,0 z"
+ id="path2929" />
+ </g>
+</svg>
diff --git a/icons/Latin-edit1.svg b/icons/Latin-edit1.svg
new file mode 100755
index 0000000..891929b
--- /dev/null
+++ b/icons/Latin-edit1.svg
@@ -0,0 +1,1330 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="353.96301"
+ height="218.58299"
+ viewBox="0 0 353.963 218.583"
+ id="Layer_1"
+ xml:space="preserve">
+ <defs
+ id="defs530" />
+
+
+<g
+ id="g5">
+ style="fill:&fill_color;;fill:&fill_color;;
+ <polygon
+ points="216.001,98.991 251.754,98.991 251.754,117.056 216.001,117.056 216.001,98.991 "
+ style="fill:&fill_color;;fill-rule:evenodd;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon7" />
+
+ <polygon
+ points="216.001,109.616 251.754,109.616 251.754,112.264 216.001,112.264 216.001,109.616 "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon9" />
+
+ <polygon
+ points="216.001,114.251 251.754,114.251 251.754,116.016 216.001,116.016 216.001,114.251 "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon11" />
+
+ <path
+ d="M 251.754,98.991 C 290.218,99.117 299.141,123.645 299.141,149.151 C 299.141,174.626 288.83,198.176 251.754,198.115 L 251.754,198.115 L 251.754,180.081 L 251.754,180.081 C 276.786,179.45 282.525,165.798 282.525,148.521 C 282.525,131.244 276.504,117.781 251.754,117.055 L 251.754,117.055 L 251.754,98.991 L 251.754,98.991 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path13" />
+
+ <path
+ d="M 90.678,55.42 C 96.763,54.253 108.365,52.992 126.052,51.636 C 143.865,50.249 176.623,48.83 196.265,47.285 C 215.812,45.708 226.532,44.415 242.516,42.367 C 258.5,40.318 277.922,38.078 291.258,35.115 C 304.531,32.12 314.115,28.147 321.619,24.616 C 329.092,21.116 333.695,17.68 335.744,14.15 C 335.649,11.123 336.028,8.506 336.942,6.205 C 337.825,3.903 339.369,0.909 341.103,0.435 C 342.869,-0.006 345.517,-1.016 347.409,3.462 C 349.301,8.002 351.382,20.928 352.359,27.265 C 353.337,33.571 352.895,34.642 353.147,41.011 C 353.431,47.443 353.873,56.491 353.935,65.383 C 353.998,74.305 353.746,85.907 353.557,93.946 C 353.368,101.923 353.777,106.652 352.768,113.052 C 351.759,119.451 349.647,128.5 347.535,132.031 C 345.423,135.468 341.986,134.553 340.189,133.733 C 338.423,132.85 337.635,129.129 336.942,126.923 C 336.216,124.684 335.87,122.603 335.87,120.491 C 329.816,114.027 319.034,108.226 302.923,102.772 C 286.718,97.318 262.378,90.665 239.805,88.08 C 217.167,85.526 193.649,87.985 168.52,87.544 C 143.298,87.071 105.969,85.306 90.142,85.368 C 62.744,85.463 48.62,110.621 48.62,133.164 C 48.62,157.409 66.654,176.925 90.679,180.078 L 90.679,180.078 L 90.679,198.112 L 90.679,198.112 C 42.472,198.332 25.322,163.903 25.322,126.764 C 25.32,89.659 50.7,60.306 90.678,55.42 L 90.678,55.42 L 90.678,55.42 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path15" />
+
+ <path
+ d="M 90.678,190.674 C 87.84,190.674 84.782,190.233 81.377,189.476 C 77.909,188.594 73.779,187.364 70.311,185.788 C 66.717,184.181 63.47,182.163 60.443,179.734 C 57.322,176.992 53.538,171.631 52.025,170.465 C 50.449,169.393 50.007,171.095 51.3,173.271 C 52.561,175.352 56.218,180.049 59.844,182.982 C 63.501,185.851 68.64,188.594 72.833,190.359 C 76.932,191.935 81.251,192.408 84.341,192.881 C 87.273,193.354 89.385,193.512 90.678,193.354 L 90.678,193.354 L 90.678,190.674 L 90.678,190.674 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path17" />
+
+ <path
+ d="M 339.779,13.519 C 339.148,11.565 338.991,9.767 339.18,8.254 C 339.401,6.614 340.094,4.943 341.008,4.218 C 341.765,3.462 343.404,2.989 344.224,4.029 C 344.95,4.975 345.422,6.992 345.643,10.082 L 345.643,10.082 C 344.288,8.822 343.184,8.443 342.206,9.073 C 341.229,9.641 340.379,11.123 339.779,13.519 L 339.779,13.519 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path19" />
+
+ <path
+ d="M 340.6,119.168 C 340.411,122.069 340.568,124.244 341.199,125.821 C 341.766,127.366 343.185,128.785 344.225,128.249 C 345.203,127.555 346.149,125.506 347.063,121.975 L 347.063,121.975 C 345.928,123.772 344.887,124.497 343.816,124.024 C 342.712,123.52 341.64,121.942 340.6,119.168 L 340.6,119.168 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path21" />
+
+ <path
+ d="M 216.159,67.211 C 232.428,66.864 248.348,66.801 264.774,66.896 C 281.106,67.022 301.788,64.878 313.706,67.874 C 325.434,70.837 331.267,78.026 335.334,84.205 C 339.275,90.164 338.96,101.451 337.668,103.848 C 336.249,106.15 332.528,101.988 327.357,98.172 C 322.155,94.074 315.03,84.269 306.707,80.548 C 298.194,76.985 295.734,78.09 277.07,76.544 C 258.216,74.904 231.45,72.823 195.192,70.554 L 195.192,70.554 C 202.16,69.449 209.159,68.346 216.159,67.211 L 216.159,67.211 z "
+ style="fill:&fill_color;;fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path23" />
+
+ <path
+ d="M 287.064,52.582 C 295.766,53.118 304.373,52.046 313.358,49.24 C 322.25,46.403 331.203,42.052 340.346,35.936 L 340.346,35.936 C 335.807,43.849 329.312,49.051 320.358,51.889 C 311.31,54.663 300.496,54.852 287.064,52.582 L 287.064,52.582 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path25" />
+
+ <path
+ d="M 34.053,133.388 C 33.454,133.419 32.288,123.268 32.729,117.75 C 33.076,112.232 34.211,105.77 36.386,100.441 C 38.498,94.892 41.778,89.847 45.372,85.434 C 48.872,81.052 52.907,77.52 57.352,74.462 C 61.735,71.278 65.739,69.008 71.666,66.801 C 77.499,64.499 88.881,61.631 92.317,61.126 C 95.533,60.685 94.871,62.23 91.655,63.806 C 88.312,65.256 79.296,66.928 72.99,69.797 C 66.653,72.54 59.874,75.567 54.357,80.454 C 48.713,85.371 43.133,92.844 40.044,99.087 C 36.891,105.267 37.017,111.225 36.04,117.089 C 34.968,122.826 34.589,133.199 34.053,133.388 L 34.053,133.388 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path27" />
+
+ <polygon
+ points="90.678,180.081 251.754,180.081 251.754,198.115 90.678,198.115 90.678,180.081 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon29" />
+
+ <polygon
+ points="90.678,195.34 251.754,195.34 251.754,197.105 90.678,197.105 90.678,195.34 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon31" />
+
+ <path
+ d="M 124.854,98.36 L 123.499,98.328 L 123.499,98.328 C 97.299,98.298 89.638,115.764 89.638,137.266 C 89.638,158.799 104.803,176.235 123.499,176.235 L 123.499,176.235 L 124.854,176.203 L 124.854,158.706 L 124.854,158.706 C 109.311,158.517 106.694,148.554 106.694,136.856 C 106.694,125.158 110.257,115.733 124.854,115.828 L 124.854,115.828 L 124.854,98.36 L 124.854,98.36 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path33" />
+
+ <path
+ d="M 124.854,169.077 C 122.584,169.298 120.157,169.14 117.697,168.478 C 115.175,167.815 112.243,166.618 109.878,165.231 C 107.45,163.717 104.171,160.06 103.32,159.712 C 102.468,159.208 103.099,161.542 104.487,162.96 C 105.716,164.41 108.554,167.059 110.824,168.478 C 113.063,169.77 115.238,170.527 117.697,171.094 C 120.062,171.63 122.364,171.82 124.854,171.787 L 124.854,171.787 L 124.854,169.077 L 124.854,169.077 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path35" />
+
+ <path
+ d="M 189.455,67.558 C 194.53,69.134 199.858,69.954 205.219,69.954 C 210.547,69.954 215.875,69.134 220.951,67.558 L 220.951,67.558 L 220.951,211.546 L 220.951,211.546 C 215.875,213.122 210.547,213.942 205.219,213.942 C 199.859,213.942 194.531,213.123 189.455,211.546 L 189.455,211.546 L 189.455,67.558 L 189.455,67.558 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path37" />
+
+ <polygon
+ points="200.867,38.52 209.096,38.52 209.096,57.122 200.867,57.122 200.867,38.52 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon39" />
+
+ <path
+ d="M 193.994,39.056 C 197.746,39.971 201.246,40.38 205.155,40.38 C 209.033,40.38 212.532,39.97 216.284,39.056 L 216.284,39.056 L 216.284,31.647 L 216.284,31.647 C 212.532,32.529 209.033,32.971 205.155,32.971 C 201.246,32.971 197.746,32.53 193.994,31.647 L 193.994,31.647 L 193.994,39.056 L 193.994,39.056 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path41" />
+
+ <path
+ d="M 196.327,30.165 C 199.322,30.985 202.066,31.363 205.123,31.363 C 208.182,31.363 210.956,30.985 213.951,30.165 L 213.951,30.165 L 213.951,30.165 C 210.956,29.377 208.181,28.998 205.123,28.998 C 202.066,28.999 199.322,29.377 196.327,30.165 L 196.327,30.165 L 196.327,30.165 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path43" />
+
+ <path
+ d="M 196.359,29.976 L 196.356,29.986 C 199.228,30.671 202.171,31.017 205.123,31.017 C 208.077,31.017 211.019,30.671 213.892,29.986 L 213.952,30.039 L 216.285,31.647 L 216.253,31.663 C 212.607,32.532 208.872,32.971 205.124,32.971 C 201.377,32.971 197.643,32.533 193.997,31.663 L 193.995,31.647 L 196.328,30.039 L 196.359,29.976 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path45" />
+
+ <path
+ d="M 189.391,210.379 C 194.467,211.955 199.795,212.744 205.123,212.744 C 210.452,212.744 215.78,211.955 220.888,210.379 L 220.888,210.379 L 221.424,210.852 L 221.424,210.852 C 216.032,212.524 210.768,213.469 205.123,213.469 C 199.48,213.469 194.246,212.586 188.855,210.915 L 188.855,210.915 L 189.391,210.379 L 189.391,210.379 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path47" />
+
+ <path
+ d="M 188.887,210.946 C 188.887,210.946 196.895,213.468 205.03,213.468 C 213.165,213.437 221.456,210.851 221.456,210.851 L 221.456,210.851 L 221.456,214.792 L 221.456,214.792 C 221.456,214.792 213.165,217.377 205.03,217.409 C 196.895,217.439 188.887,214.886 188.887,214.886 L 188.887,214.886 L 188.887,210.946 L 188.887,210.946 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path49" />
+
+ <polygon
+ points="189.864,212.019 189.864,214.445 190.021,214.445 190.021,212.019 189.864,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon51" />
+
+ <polygon
+ points="190.369,212.176 190.369,214.604 190.526,214.604 190.526,212.176 190.369,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon53" />
+
+ <polygon
+ points="190.842,212.303 190.842,214.729 190.999,214.729 190.999,212.303 190.842,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon55" />
+
+ <polygon
+ points="191.346,212.46 191.346,214.887 191.504,214.887 191.504,212.46 191.346,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon57" />
+
+ <polygon
+ points="191.852,212.586 191.852,215.014 192.008,215.014 192.008,212.586 191.852,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon59" />
+
+ <polygon
+ points="192.354,212.712 192.354,215.14 192.481,215.14 192.481,212.712 192.354,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon61" />
+
+ <polygon
+ points="192.828,212.807 192.828,215.266 192.986,215.266 192.986,212.807 192.828,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon63" />
+
+ <polygon
+ points="193.332,212.933 193.332,215.36 193.49,215.36 193.49,212.933 193.332,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon65" />
+
+ <polygon
+ points="193.837,213.059 193.837,215.486 193.994,215.486 193.994,213.059 193.837,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon67" />
+
+ <polygon
+ points="194.342,213.153 194.342,215.581 194.498,215.581 194.498,213.153 194.342,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon69" />
+
+ <polygon
+ points="194.846,213.248 194.846,215.676 195.004,215.676 195.004,213.248 194.846,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon71" />
+
+ <polygon
+ points="195.35,213.343 195.35,215.771 195.508,215.771 195.508,213.343 195.35,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon73" />
+
+ <polygon
+ points="195.854,213.438 195.854,215.864 196.013,215.864 196.013,213.438 195.854,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon75" />
+
+ <polygon
+ points="196.359,213.531 196.359,215.96 196.516,215.96 196.516,213.531 196.359,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon77" />
+
+ <polygon
+ points="196.863,213.595 196.863,216.054 197.021,216.054 197.021,213.595 196.863,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon79" />
+
+ <polygon
+ points="197.368,213.689 197.368,216.117 197.525,216.117 197.525,213.689 197.368,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon81" />
+
+ <polygon
+ points="197.903,213.752 197.903,216.18 198.03,216.18 198.03,213.752 197.903,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon83" />
+
+ <polygon
+ points="198.408,213.815 198.408,216.243 198.535,216.243 198.535,213.815 198.408,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon85" />
+
+ <polygon
+ points="198.912,213.879 198.912,216.306 199.07,216.306 199.07,213.879 198.912,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon87" />
+
+ <polygon
+ points="199.418,213.941 199.418,216.369 199.574,216.369 199.574,213.941 199.418,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon89" />
+
+ <polygon
+ points="199.922,214.005 199.922,216.433 200.079,216.433 200.079,214.005 199.922,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon91" />
+
+ <polygon
+ points="200.457,214.036 200.457,216.464 200.584,216.464 200.584,214.036 200.457,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon93" />
+
+ <polygon
+ points="200.962,214.067 200.962,216.526 201.12,216.526 201.12,214.067 200.962,214.067 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon95" />
+
+ <polygon
+ points="201.467,214.131 201.467,216.559 201.624,216.559 201.624,214.131 201.467,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon97" />
+
+ <polygon
+ points="201.971,214.163 201.971,216.59 202.129,216.59 202.129,214.163 201.971,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon99" />
+
+ <polygon
+ points="202.476,214.163 202.476,216.621 202.633,216.621 202.633,214.163 202.476,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon101" />
+
+ <polygon
+ points="203.011,214.193 203.011,216.621 203.169,216.621 203.169,214.193 203.011,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon103" />
+
+ <polygon
+ points="203.516,214.225 203.516,216.653 203.674,216.653 203.674,214.225 203.516,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon105" />
+
+ <polygon
+ points="204.021,214.225 204.021,216.653 204.178,216.653 204.178,214.225 204.021,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon107" />
+
+ <polygon
+ points="204.557,214.225 204.557,216.685 204.683,216.685 204.683,214.225 204.557,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon109" />
+
+ <polygon
+ points="205.062,214.225 205.062,216.685 205.219,216.685 205.219,214.225 205.062,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon111" />
+
+ <polygon
+ points="205.564,214.225 205.564,216.685 205.723,216.685 205.723,214.225 205.564,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon113" />
+
+ <polygon
+ points="206.069,214.225 206.069,216.653 206.228,216.653 206.228,214.225 206.069,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon115" />
+
+ <polygon
+ points="206.605,214.225 206.605,216.653 206.763,216.653 206.763,214.225 206.605,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon117" />
+
+ <polygon
+ points="207.11,214.193 207.11,216.621 207.268,216.621 207.268,214.193 207.11,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon119" />
+
+ <polygon
+ points="207.615,214.193 207.615,216.621 207.772,216.621 207.772,214.193 207.615,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon121" />
+
+ <polygon
+ points="208.15,214.163 208.118,216.59 208.276,216.59 208.276,214.163 208.15,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon123" />
+
+ <polygon
+ points="208.655,214.131 208.655,216.559 208.813,216.559 208.813,214.131 208.655,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon125" />
+
+ <polygon
+ points="209.159,214.1 209.159,216.526 209.316,216.526 209.316,214.1 209.159,214.1 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon127" />
+
+ <polygon
+ points="209.664,214.036 209.664,216.464 209.821,216.464 209.821,214.036 209.664,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon129" />
+
+ <polygon
+ points="210.169,214.005 210.169,216.433 210.326,216.433 210.326,214.005 210.169,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon131" />
+
+ <polygon
+ points="210.704,213.941 210.704,216.369 210.831,216.369 210.831,213.941 210.704,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon133" />
+
+ <polygon
+ points="211.209,213.879 211.209,216.306 211.366,216.306 211.366,213.879 211.209,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon135" />
+
+ <polygon
+ points="211.713,213.815 211.713,216.243 211.87,216.243 211.87,213.815 211.713,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon137" />
+
+ <polygon
+ points="212.218,213.752 212.218,216.18 212.375,216.18 212.375,213.752 212.218,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon139" />
+
+ <polygon
+ points="212.723,213.689 212.723,216.117 212.88,216.117 212.88,213.689 212.723,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon141" />
+
+ <polygon
+ points="213.227,213.595 213.227,216.054 213.385,216.054 213.385,213.595 213.227,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon143" />
+
+ <polygon
+ points="213.73,213.531 213.73,215.96 213.889,215.96 213.889,213.531 213.73,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon145" />
+
+ <polygon
+ points="214.235,213.438 214.267,215.864 214.393,215.864 214.393,213.438 214.235,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon147" />
+
+ <polygon
+ points="214.771,213.343 214.74,215.771 214.897,215.771 214.897,213.343 214.771,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon149" />
+
+ <polygon
+ points="215.276,213.248 215.244,215.676 215.402,215.676 215.402,213.248 215.276,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon151" />
+
+ <polygon
+ points="215.748,213.153 215.748,215.581 215.906,215.581 215.906,213.153 215.748,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon153" />
+
+ <polygon
+ points="216.253,213.059 216.253,215.486 216.411,215.486 216.411,213.059 216.253,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon155" />
+
+ <polygon
+ points="216.758,212.933 216.758,215.36 216.915,215.36 216.915,212.933 216.758,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon157" />
+
+ <polygon
+ points="217.262,212.807 217.262,215.266 217.42,215.266 217.42,212.807 217.262,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon159" />
+
+ <polygon
+ points="217.767,212.712 217.767,215.14 217.924,215.14 217.924,212.712 217.767,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon161" />
+
+ <polygon
+ points="218.271,212.586 218.271,215.014 218.429,215.014 218.429,212.586 218.271,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon163" />
+
+ <polygon
+ points="218.775,212.46 218.775,214.887 218.901,214.887 218.901,212.46 218.775,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon165" />
+
+ <polygon
+ points="219.248,212.303 219.248,214.762 219.406,214.762 219.406,212.303 219.248,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon167" />
+
+ <polygon
+ points="219.753,212.176 219.753,214.604 219.911,214.604 219.911,212.176 219.753,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon169" />
+
+ <polygon
+ points="220.257,212.019 220.257,214.478 220.384,214.478 220.384,212.019 220.257,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon171" />
+
+ <path
+ d="M 152.851,67.558 C 157.958,69.134 163.287,69.954 168.616,69.954 C 173.944,69.954 179.272,69.134 184.38,67.558 L 184.38,67.558 L 184.38,211.546 L 184.38,211.546 C 179.273,213.122 173.944,213.942 168.616,213.942 C 163.287,213.942 157.959,213.123 152.851,211.546 L 152.851,211.546 L 152.851,67.558 L 152.851,67.558 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path173" />
+
+ <polygon
+ points="164.295,38.52 172.492,38.52 172.492,57.122 164.295,57.122 164.295,38.52 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon175" />
+
+ <path
+ d="M 157.39,39.056 C 161.174,39.971 164.674,40.38 168.551,40.38 C 172.43,40.38 175.929,39.97 179.713,39.056 L 179.713,39.056 L 179.713,31.647 L 179.713,31.647 C 175.929,32.529 172.43,32.971 168.551,32.971 C 164.674,32.971 161.174,32.53 157.39,31.647 L 157.39,31.647 L 157.39,39.056 L 157.39,39.056 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path177" />
+
+ <path
+ d="M 159.755,30.134 C 162.719,30.89 165.493,31.269 168.551,31.269 C 171.61,31.269 174.385,30.89 177.348,30.134 L 177.348,30.134 L 177.348,30.134 C 174.385,29.345 171.61,28.998 168.551,28.998 C 165.493,28.999 162.719,29.346 159.755,30.134 L 159.755,30.134 L 159.755,30.134 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path179" />
+
+ <path
+ d="M 159.787,29.976 L 159.777,29.986 C 162.652,30.671 165.597,31.017 168.551,31.017 C 171.507,31.017 174.451,30.671 177.326,29.986 L 177.347,30.039 L 179.712,31.647 L 179.686,31.663 C 176.039,32.532 172.301,32.971 168.55,32.971 C 164.801,32.971 161.063,32.533 157.416,31.663 L 157.39,31.647 L 159.755,30.039 L 159.787,29.976 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path181" />
+
+ <path
+ d="M 152.788,210.379 C 157.895,211.955 163.224,212.744 168.551,212.744 C 173.879,212.744 179.208,211.955 184.316,210.379 L 184.316,210.379 L 184.852,210.852 L 184.852,210.852 C 179.46,212.524 174.196,213.469 168.551,213.469 C 162.908,213.469 157.643,212.586 152.252,210.915 L 152.252,210.915 L 152.788,210.379 L 152.788,210.379 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path183" />
+
+ <path
+ d="M 152.283,210.946 C 152.283,210.946 160.323,213.468 168.457,213.468 C 176.592,213.437 184.852,210.851 184.852,210.851 L 184.852,210.851 L 184.852,214.792 L 184.852,214.792 C 184.852,214.792 176.592,217.377 168.457,217.409 C 160.323,217.439 152.283,214.886 152.283,214.886 L 152.283,214.886 L 152.283,210.946 L 152.283,210.946 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path185" />
+
+ <polygon
+ points="153.292,212.019 153.292,214.445 153.449,214.445 153.418,212.019 153.292,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon187" />
+
+ <polygon
+ points="153.765,212.176 153.765,214.604 153.922,214.604 153.922,212.176 153.765,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon189" />
+
+ <polygon
+ points="154.269,212.303 154.269,214.729 154.427,214.729 154.427,212.303 154.269,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon191" />
+
+ <polygon
+ points="154.774,212.46 154.774,214.887 154.9,214.887 154.932,212.46 154.774,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon193" />
+
+ <polygon
+ points="155.247,212.586 155.247,215.014 155.404,215.014 155.404,212.586 155.247,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon195" />
+
+ <polygon
+ points="155.751,212.712 155.751,215.14 155.909,215.14 155.909,212.712 155.751,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon197" />
+
+ <polygon
+ points="156.255,212.807 156.255,215.266 156.413,215.266 156.413,212.807 156.255,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon199" />
+
+ <polygon
+ points="156.76,212.933 156.76,215.36 156.917,215.36 156.917,212.933 156.76,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon201" />
+
+ <polygon
+ points="157.265,213.059 157.265,215.486 157.422,215.486 157.422,213.059 157.265,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon203" />
+
+ <polygon
+ points="157.769,213.153 157.769,215.581 157.927,215.581 157.927,213.153 157.769,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon205" />
+
+ <polygon
+ points="158.273,213.248 158.273,215.676 158.431,215.676 158.431,213.248 158.273,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon207" />
+
+ <polygon
+ points="158.777,213.343 158.777,215.771 158.936,215.771 158.936,213.343 158.777,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon209" />
+
+ <polygon
+ points="159.282,213.438 159.282,215.864 159.44,215.864 159.44,213.438 159.282,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon211" />
+
+ <polygon
+ points="159.787,213.531 159.787,215.96 159.944,215.96 159.944,213.531 159.787,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon213" />
+
+ <polygon
+ points="160.291,213.595 160.291,216.054 160.449,216.054 160.449,213.595 160.291,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon215" />
+
+ <polygon
+ points="160.795,213.689 160.795,216.117 160.953,216.117 160.953,213.689 160.795,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon217" />
+
+ <polygon
+ points="161.3,213.752 161.3,216.18 161.458,216.18 161.458,213.752 161.3,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon219" />
+
+ <polygon
+ points="161.804,213.815 161.804,216.243 161.962,216.243 161.962,213.815 161.804,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon221" />
+
+ <polygon
+ points="162.309,213.879 162.34,216.306 162.467,216.306 162.467,213.879 162.309,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon223" />
+
+ <polygon
+ points="162.845,213.941 162.845,216.369 162.971,216.369 163.002,213.941 162.845,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon225" />
+
+ <polygon
+ points="163.349,214.005 163.349,216.433 163.507,216.433 163.507,214.005 163.349,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon227" />
+
+ <polygon
+ points="163.854,214.036 163.854,216.464 164.011,216.464 164.011,214.036 163.854,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon229" />
+
+ <polygon
+ points="164.358,214.067 164.358,216.526 164.516,216.526 164.516,214.067 164.358,214.067 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon231" />
+
+ <polygon
+ points="164.895,214.131 164.895,216.559 165.021,216.559 165.021,214.131 164.895,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon233" />
+
+ <polygon
+ points="165.398,214.163 165.398,216.59 165.556,216.59 165.556,214.163 165.398,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon235" />
+
+ <polygon
+ points="165.903,214.163 165.903,216.621 166.061,216.621 166.061,214.163 165.903,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon237" />
+
+ <polygon
+ points="166.408,214.193 166.408,216.621 166.565,216.621 166.565,214.193 166.408,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon239" />
+
+ <polygon
+ points="166.943,214.225 166.943,216.653 167.07,216.653 167.07,214.225 166.943,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon241" />
+
+ <polygon
+ points="167.448,214.225 167.448,216.653 167.605,216.653 167.605,214.225 167.448,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon243" />
+
+ <polygon
+ points="167.952,214.225 167.952,216.685 168.109,216.685 168.109,214.225 167.952,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon245" />
+
+ <polygon
+ points="168.457,214.225 168.457,216.685 168.615,216.685 168.615,214.225 168.457,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon247" />
+
+ <polygon
+ points="168.992,214.225 168.992,216.685 169.119,216.685 169.15,214.225 168.992,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon249" />
+
+ <polygon
+ points="169.497,214.225 169.497,216.653 169.655,216.653 169.655,214.225 169.497,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon251" />
+
+ <polygon
+ points="170.002,214.225 170.002,216.653 170.159,216.653 170.159,214.225 170.002,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon253" />
+
+ <polygon
+ points="170.537,214.193 170.537,216.621 170.664,216.621 170.664,214.193 170.537,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon255" />
+
+ <polygon
+ points="171.043,214.193 171.043,216.621 171.199,216.621 171.199,214.193 171.043,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon257" />
+
+ <polygon
+ points="171.547,214.163 171.547,216.59 171.704,216.59 171.704,214.163 171.547,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon259" />
+
+ <polygon
+ points="172.051,214.131 172.051,216.559 172.209,216.559 172.209,214.131 172.051,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon261" />
+
+ <polygon
+ points="172.587,214.1 172.587,216.526 172.713,216.526 172.713,214.1 172.587,214.1 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon263" />
+
+ <polygon
+ points="173.092,214.036 173.092,216.464 173.249,216.464 173.249,214.036 173.092,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon265" />
+
+ <polygon
+ points="173.596,214.005 173.596,216.433 173.754,216.433 173.754,214.005 173.596,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon267" />
+
+ <polygon
+ points="174.1,213.941 174.1,216.369 174.258,216.369 174.258,213.941 174.1,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon269" />
+
+ <polygon
+ points="174.605,213.879 174.605,216.306 174.763,216.306 174.763,213.879 174.605,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon271" />
+
+ <polygon
+ points="175.141,213.815 175.141,216.243 175.267,216.243 175.267,213.815 175.141,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon273" />
+
+ <polygon
+ points="175.645,213.752 175.645,216.18 175.803,216.18 175.803,213.752 175.645,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon275" />
+
+ <polygon
+ points="176.15,213.689 176.15,216.117 176.307,216.117 176.307,213.689 176.15,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon277" />
+
+ <polygon
+ points="176.654,213.595 176.654,216.054 176.812,216.054 176.812,213.595 176.654,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon279" />
+
+ <polygon
+ points="177.158,213.531 177.158,215.96 177.316,215.96 177.316,213.531 177.158,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon281" />
+
+ <polygon
+ points="177.663,213.438 177.663,215.864 177.82,215.864 177.82,213.438 177.663,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon283" />
+
+ <polygon
+ points="178.168,213.343 178.168,215.771 178.325,215.771 178.325,213.343 178.168,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon285" />
+
+ <polygon
+ points="178.672,213.248 178.672,215.676 178.83,215.676 178.83,213.248 178.672,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon287" />
+
+ <polygon
+ points="179.176,213.153 179.176,215.581 179.334,215.581 179.334,213.153 179.176,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon289" />
+
+ <polygon
+ points="179.681,213.059 179.681,215.486 179.838,215.486 179.838,213.059 179.681,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon291" />
+
+ <polygon
+ points="180.186,212.933 180.186,215.36 180.343,215.36 180.343,212.933 180.186,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon293" />
+
+ <polygon
+ points="180.689,212.807 180.689,215.266 180.848,215.266 180.848,212.807 180.689,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon295" />
+
+ <polygon
+ points="181.194,212.712 181.194,215.14 181.32,215.14 181.32,212.712 181.194,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon297" />
+
+ <polygon
+ points="181.666,212.586 181.666,215.014 181.824,215.014 181.824,212.586 181.666,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon299" />
+
+ <polygon
+ points="182.172,212.46 182.172,214.887 182.33,214.887 182.33,212.46 182.172,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon301" />
+
+ <polygon
+ points="182.676,212.303 182.676,214.762 182.833,214.762 182.833,212.303 182.676,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon303" />
+
+ <polygon
+ points="183.148,212.176 183.18,214.604 183.307,214.604 183.307,212.176 183.148,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon305" />
+
+ <polygon
+ points="183.653,212.019 183.653,214.478 183.811,214.478 183.811,212.019 183.653,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon307" />
+
+ <path
+ d="M 116.278,67.558 C 121.385,69.134 126.714,69.954 132.042,69.954 C 137.37,69.954 142.698,69.134 147.774,67.558 L 147.774,67.558 L 147.774,211.546 L 147.774,211.546 C 142.698,213.122 137.37,213.942 132.042,213.942 C 126.714,213.942 121.386,213.123 116.278,211.546 L 116.278,211.546 L 116.278,67.558 L 116.278,67.558 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path309" />
+
+ <polygon
+ points="127.691,38.52 135.92,38.52 135.92,57.122 127.691,57.122 127.691,38.52 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon311" />
+
+ <path
+ d="M 120.818,39.056 C 124.601,39.971 128.101,40.38 131.979,40.38 C 135.857,40.38 139.356,39.97 143.14,39.056 L 143.14,39.056 L 143.14,31.647 L 143.14,31.647 C 139.357,32.529 135.857,32.971 131.979,32.971 C 128.101,32.971 124.602,32.53 120.818,31.647 L 120.818,31.647 L 120.818,39.056 L 120.818,39.056 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path313" />
+
+ <path
+ d="M 123.183,30.071 C 126.146,30.828 128.921,31.174 131.979,31.174 C 135.037,31.174 137.78,30.828 140.775,30.071 L 140.775,30.071 L 140.775,30.071 C 137.78,29.345 135.037,28.998 131.979,28.998 C 128.921,28.998 126.146,29.346 123.183,30.071 L 123.183,30.071 L 123.183,30.071 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path315" />
+
+ <path
+ d="M 123.183,29.976 L 123.18,29.986 C 126.053,30.671 128.995,31.017 131.948,31.017 C 134.901,31.017 137.843,30.671 140.716,29.986 L 140.776,30.039 L 143.14,31.647 L 143.115,31.663 C 139.467,32.532 135.73,32.971 131.98,32.971 C 128.23,32.971 124.493,32.533 120.845,31.663 L 120.82,31.647 L 123.185,30.039 L 123.185,29.976 L 123.183,29.976 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path317" />
+
+ <path
+ d="M 116.215,210.379 C 121.291,211.955 126.619,212.744 131.947,212.744 C 137.307,212.744 142.635,211.955 147.711,210.379 L 147.711,210.379 L 148.278,210.852 L 148.278,210.852 C 142.856,212.524 137.622,213.469 131.947,213.469 C 126.303,213.469 121.07,212.586 115.678,210.915 L 115.678,210.915 L 116.215,210.379 L 116.215,210.379 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path319" />
+
+ <path
+ d="M 115.71,210.946 C 115.71,210.946 123.718,213.468 131.853,213.468 C 139.987,213.437 148.279,210.851 148.279,210.851 L 148.279,210.851 L 148.279,214.792 L 148.279,214.792 C 148.279,214.792 139.987,217.377 131.853,217.409 C 123.719,217.439 115.71,214.886 115.71,214.886 L 115.71,214.886 L 115.71,210.946 L 115.71,210.946 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path321" />
+
+ <polygon
+ points="116.688,212.019 116.688,214.445 116.846,214.445 116.846,212.019 116.688,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon323" />
+
+ <polygon
+ points="117.192,212.176 117.192,214.604 117.35,214.604 117.35,212.176 117.192,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon325" />
+
+ <polygon
+ points="117.697,212.303 117.697,214.729 117.823,214.729 117.823,212.303 117.697,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon327" />
+
+ <polygon
+ points="118.17,212.46 118.17,214.887 118.327,214.887 118.327,212.46 118.17,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon329" />
+
+ <polygon
+ points="118.674,212.586 118.674,215.014 118.832,215.014 118.832,212.586 118.674,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon331" />
+
+ <polygon
+ points="119.179,212.712 119.179,215.14 119.336,215.14 119.336,212.712 119.179,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon333" />
+
+ <polygon
+ points="119.683,212.807 119.683,215.266 119.81,215.266 119.81,212.807 119.683,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon335" />
+
+ <polygon
+ points="120.188,212.933 120.188,215.36 120.313,215.36 120.313,212.933 120.188,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon337" />
+
+ <polygon
+ points="120.66,213.059 120.66,215.486 120.818,215.486 120.818,213.059 120.66,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon339" />
+
+ <polygon
+ points="121.165,213.153 121.165,215.581 121.323,215.581 121.323,213.153 121.165,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon341" />
+
+ <polygon
+ points="121.669,213.248 121.669,215.676 121.827,215.676 121.827,213.248 121.669,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon343" />
+
+ <polygon
+ points="122.174,213.343 122.174,215.771 122.332,215.771 122.332,213.343 122.174,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon345" />
+
+ <polygon
+ points="122.678,213.438 122.678,215.864 122.836,215.864 122.836,213.438 122.678,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon347" />
+
+ <polygon
+ points="123.183,213.531 123.183,215.96 123.34,215.96 123.34,213.531 123.183,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon349" />
+
+ <polygon
+ points="123.687,213.595 123.719,216.054 123.845,216.054 123.845,213.595 123.687,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon351" />
+
+ <polygon
+ points="124.223,213.689 124.223,216.117 124.35,216.117 124.35,213.689 124.223,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon353" />
+
+ <polygon
+ points="124.728,213.752 124.728,216.18 124.885,216.18 124.885,213.752 124.728,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon355" />
+
+ <polygon
+ points="125.232,213.815 125.232,216.243 125.39,216.243 125.39,213.815 125.232,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon357" />
+
+ <polygon
+ points="125.737,213.879 125.737,216.306 125.894,216.306 125.894,213.879 125.737,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon359" />
+
+ <polygon
+ points="126.241,213.941 126.241,216.369 126.398,216.369 126.398,213.941 126.241,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon361" />
+
+ <polygon
+ points="126.746,214.005 126.746,216.433 126.903,216.433 126.903,214.005 126.746,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon363" />
+
+ <polygon
+ points="127.281,214.036 127.281,216.464 127.439,216.464 127.439,214.036 127.281,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon365" />
+
+ <polygon
+ points="127.786,214.067 127.786,216.526 127.943,216.526 127.943,214.067 127.786,214.067 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon367" />
+
+ <polygon
+ points="128.291,214.131 128.291,216.559 128.448,216.559 128.448,214.131 128.291,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon369" />
+
+ <polygon
+ points="128.794,214.163 128.794,216.59 128.953,216.59 128.953,214.163 128.794,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon371" />
+
+ <polygon
+ points="129.331,214.163 129.331,216.621 129.457,216.621 129.457,214.163 129.331,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon373" />
+
+ <polygon
+ points="129.835,214.193 129.835,216.621 129.993,216.621 129.993,214.193 129.835,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon375" />
+
+ <polygon
+ points="130.34,214.225 130.34,216.653 130.497,216.653 130.497,214.225 130.34,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon377" />
+
+ <polygon
+ points="130.844,214.225 130.844,216.653 131.001,216.653 131.001,214.225 130.844,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon379" />
+
+ <polygon
+ points="131.38,214.225 131.38,216.685 131.538,216.685 131.538,214.225 131.38,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon381" />
+
+ <polygon
+ points="131.884,214.225 131.884,216.685 132.042,216.685 132.042,214.225 131.884,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon383" />
+
+ <polygon
+ points="132.389,214.225 132.389,216.685 132.547,216.685 132.547,214.225 132.389,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon385" />
+
+ <polygon
+ points="132.925,214.225 132.925,216.653 133.051,216.653 133.051,214.225 132.925,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon387" />
+
+ <polygon
+ points="133.429,214.225 133.429,216.653 133.587,216.653 133.587,214.225 133.429,214.225 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon389" />
+
+ <polygon
+ points="133.934,214.193 133.934,216.621 134.091,216.621 134.091,214.193 133.934,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon391" />
+
+ <polygon
+ points="134.438,214.193 134.438,216.621 134.596,216.621 134.596,214.193 134.438,214.193 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon393" />
+
+ <polygon
+ points="134.974,214.163 134.974,216.59 135.101,216.59 135.132,214.163 134.974,214.163 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon395" />
+
+ <polygon
+ points="135.479,214.131 135.479,216.559 135.636,216.559 135.636,214.131 135.479,214.131 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon397" />
+
+ <polygon
+ points="135.983,214.1 135.983,216.526 136.141,216.526 136.141,214.1 135.983,214.1 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon399" />
+
+ <polygon
+ points="136.488,214.036 136.488,216.464 136.645,216.464 136.645,214.036 136.488,214.036 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon401" />
+
+ <polygon
+ points="137.023,214.005 137.023,216.433 137.149,216.433 137.149,214.005 137.023,214.005 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon403" />
+
+ <polygon
+ points="137.528,213.941 137.528,216.369 137.686,216.369 137.686,213.941 137.528,213.941 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon405" />
+
+ <polygon
+ points="138.032,213.879 138.032,216.306 138.19,216.306 138.19,213.879 138.032,213.879 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon407" />
+
+ <polygon
+ points="138.537,213.815 138.537,216.243 138.695,216.243 138.695,213.815 138.537,213.815 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon409" />
+
+ <polygon
+ points="139.042,213.752 139.042,216.18 139.199,216.18 139.199,213.752 139.042,213.752 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon411" />
+
+ <polygon
+ points="139.545,213.689 139.577,216.117 139.703,216.117 139.703,213.689 139.545,213.689 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon413" />
+
+ <polygon
+ points="140.082,213.595 140.082,216.054 140.208,216.054 140.208,213.595 140.082,213.595 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon415" />
+
+ <polygon
+ points="140.586,213.531 140.586,215.96 140.712,215.96 140.712,213.531 140.586,213.531 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon417" />
+
+ <polygon
+ points="141.091,213.438 141.091,215.864 141.249,215.864 141.249,213.438 141.091,213.438 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon419" />
+
+ <polygon
+ points="141.595,213.343 141.595,215.771 141.752,215.771 141.752,213.343 141.595,213.343 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon421" />
+
+ <polygon
+ points="142.099,213.248 142.099,215.676 142.226,215.676 142.257,213.248 142.099,213.248 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon423" />
+
+ <polygon
+ points="142.604,213.153 142.604,215.581 142.73,215.581 142.73,213.153 142.604,213.153 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon425" />
+
+ <polygon
+ points="143.108,213.059 143.108,215.486 143.234,215.486 143.234,213.059 143.108,213.059 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon427" />
+
+ <polygon
+ points="143.582,212.933 143.613,215.36 143.739,215.36 143.739,212.933 143.582,212.933 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon429" />
+
+ <polygon
+ points="144.085,212.807 144.085,215.266 144.244,215.266 144.244,212.807 144.085,212.807 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon431" />
+
+ <polygon
+ points="144.59,212.712 144.59,215.14 144.748,215.14 144.748,212.712 144.59,212.712 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon433" />
+
+ <polygon
+ points="145.094,212.586 145.094,215.014 145.252,215.014 145.252,212.586 145.094,212.586 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon435" />
+
+ <polygon
+ points="145.599,212.46 145.599,214.887 145.757,214.887 145.757,212.46 145.599,212.46 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon437" />
+
+ <polygon
+ points="146.072,212.303 146.072,214.762 146.23,214.762 146.23,212.303 146.072,212.303 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon439" />
+
+ <polygon
+ points="146.577,212.176 146.577,214.604 146.734,214.604 146.734,212.176 146.577,212.176 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon441" />
+
+ <polygon
+ points="147.081,212.019 147.081,214.478 147.239,214.478 147.239,212.019 147.081,212.019 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon443" />
+
+ <polygon
+ points="101.807,159.556 136.771,159.556 136.771,174.753 101.807,174.753 101.807,159.556 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon445" />
+
+ <polygon
+ points="101.807,130.361 136.771,130.361 136.771,145.557 101.807,145.557 101.807,130.361 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon447" />
+
+ <path
+ d="M 144.59,130.329 C 164.705,130.613 169.75,139.914 169.781,152.557 C 169.812,161.385 164.358,175.004 144.149,175.131 L 144.433,159.525 C 149.855,159.84 154.301,157.413 154.396,152.085 C 154.49,147.23 150.077,145.464 144.654,145.558 L 144.59,130.329 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path449" />
+
+ <polygon
+ points="139.356,77.047 240.31,77.047 240.31,92.213 139.356,92.213 139.356,77.047 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon451" />
+
+ <polygon
+ points="109.689,188.594 240.31,188.594 240.31,203.789 109.689,203.789 109.689,188.594 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon453" />
+
+ <polygon
+ points="110.54,102.617 248.349,102.617 248.349,117.813 110.54,117.813 110.54,102.617 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon455" />
+
+ <path
+ d="M 92.916,102.774 C 53.38,102.711 41.116,131.18 41.147,152.556 C 41.116,187.804 57.889,203.821 92.632,203.788 L 92.506,188.75 C 65.96,188.75 56.628,172.954 56.628,153.501 C 56.659,129.887 69.397,118.064 92.444,117.56 L 92.916,102.774 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path457" />
+
+ <polygon
+ points="92.223,102.112 110.761,102.112 110.761,118.129 92.223,118.129 92.223,102.112 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon459" />
+
+ <polygon
+ points="92.223,102.112 92.223,118.129 93.042,118.129 93.042,102.112 92.223,102.112 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon461" />
+
+ <polygon
+ points="110.761,102.112 110.761,118.129 110.036,117.781 110.036,102.176 110.761,102.112 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon463" />
+
+ <polygon
+ points="92.223,188.184 110.761,188.184 110.761,204.2 92.223,204.2 92.223,188.184 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon465" />
+
+ <polygon
+ points="92.223,188.184 92.223,204.2 93.042,204.2 93.042,188.184 92.223,188.184 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon467" />
+
+ <polygon
+ points="110.761,188.184 110.761,204.2 110.036,203.884 110.036,188.277 110.761,188.184 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon469" />
+
+ <path
+ d="M 80.336,77.206 C 77.814,76.891 75.102,76.67 71.95,76.417 C 68.702,76.165 65.234,75.818 61.545,75.755 C 57.699,75.597 53.6,75.597 50.101,75.755 C 46.601,75.849 43.259,76.449 41.053,76.701 C 38.877,76.89 37.585,77.015 37.175,77.079 L 37.175,77.079 L 35.851,75.628 L 35.851,75.628 C 35.504,76.164 34.842,76.606 33.991,76.826 C 33.109,76.952 31.879,76.952 30.649,76.952 C 29.356,76.921 27.938,76.921 26.393,76.952 L 26.393,76.952 C 26.267,75.911 25.952,74.934 25.195,74.019 C 24.407,72.979 23.303,71.938 22.011,71.372 C 20.719,70.741 19.205,70.71 17.471,70.552 C 15.737,70.3 13.782,70.174 11.607,70.174 L 11.607,70.174 C 11.796,69.512 11.67,68.976 11.355,68.692 C 11.008,68.346 10.346,68.251 9.495,68.282 L 9.495,68.282 C 9.526,67.368 9.432,66.706 9.085,66.17 C 8.675,65.603 8.265,65.287 7.477,65.098 C 6.625,64.877 5.238,65.035 4.292,65.098 C 3.188,65.003 2.337,64.719 1.612,64.972 C 0.919,65.256 0.477,65.792 0.288,66.58 C 0.004,67.18 0.004,63.648 0.036,69.102 C 0.004,74.683 0.004,93.568 0.162,99.243 C 0.13,104.602 0.13,101.102 0.414,101.765 C 0.666,102.458 1.076,102.994 1.769,103.373 C 2.431,103.561 3.314,103.277 4.417,103.246 C 5.332,103.215 6.813,103.373 7.633,103.246 C 8.39,103.025 8.8,102.711 9.21,102.175 C 9.462,101.639 9.714,100.882 9.62,100.03 L 9.62,100.03 C 10.472,100.061 11.133,99.936 11.48,99.652 C 11.795,99.273 11.921,98.895 11.732,98.17 L 11.732,98.17 C 13.907,98.076 15.862,97.982 17.596,97.761 C 19.33,97.477 20.843,97.54 22.136,96.972 C 23.428,96.31 24.532,95.271 25.321,94.325 C 26.077,93.379 26.393,92.402 26.519,91.392 L 26.519,91.392 C 28.127,91.36 29.514,91.36 30.806,91.392 C 32.068,91.329 33.171,91.329 34.117,91.518 C 35,91.707 35.536,92.148 35.977,92.716 L 35.977,92.716 L 37.332,91.265 L 37.332,91.265 C 37.71,91.265 39.035,91.391 41.179,91.643 C 43.386,91.801 46.728,92.4 50.227,92.589 C 53.727,92.652 57.825,92.652 61.672,92.589 C 65.36,92.4 68.829,92.179 72.076,91.927 C 75.229,91.675 77.941,91.359 80.463,91.108 L 80.463,91.108 L 80.336,77.206 L 80.336,77.206 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path471" />
+
+ <path
+ d="M 24.059,87.767 L 2.841,87.767 L 2.841,87.767 C 2.62,89.375 2.62,90.573 2.841,91.487 C 2.936,92.306 3.156,92.779 3.85,93.032 C 4.543,93.19 5.994,93.095 6.971,92.748 C 7.791,92.338 7.759,91.267 8.957,90.889 C 10.092,90.385 11.7,90.478 13.655,90.321 C 15.578,90.069 18.542,90.164 20.371,89.753 C 22.104,89.312 23.334,88.65 24.059,87.767 L 24.059,87.767 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path473" />
+
+ <path
+ d="M 23.775,78.529 L 3.125,78.529 L 3.125,78.529 C 3.062,76.953 3.156,75.755 3.409,74.682 C 3.567,73.485 3.945,72.759 4.544,72.255 C 5.017,71.782 5.869,71.782 6.846,72.129 C 7.855,72.444 9.085,73.895 10.534,74.4 C 11.796,74.747 13.214,74.81 14.791,74.967 C 16.304,75.03 18.385,74.935 19.93,75.534 C 21.379,76.102 22.703,77.142 23.775,78.529 L 23.775,78.529 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path475" />
+
+ <polygon
+ points="79.989,76.574 139.545,76.574 139.545,92.622 79.989,92.622 79.989,76.574 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon477" />
+
+ <polygon
+ points="79.989,76.574 79.989,92.622 82.575,92.622 82.575,76.574 79.989,76.574 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon479" />
+
+ <polygon
+ points="139.545,76.574 139.545,92.622 138.568,92.402 138.568,76.922 139.545,76.574 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon481" />
+
+ <path
+ d="M 240.31,77.047 C 290.156,76.89 300.685,106.589 300.685,140.419 C 300.685,174.217 285.709,203.475 240.31,203.789 L 240.31,188.594 C 281.926,188.594 283.597,164.696 284.132,140.198 C 284.764,110.278 277.007,92.244 240.31,92.213 L 240.31,77.047 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path483" />
+
+ <polygon
+ points="292.739,140.449 295.987,140.324 297.658,143.54 294.694,144.201 292.739,140.45 292.739,140.449 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon485" />
+
+ <polygon
+ points="292.077,142.657 290.879,153.377 293.15,153.723 293.686,145.526 292.077,142.657 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon487" />
+
+ <polygon
+ points="296.523,136.604 290.376,137.14 288.925,150.287 289.682,152.21 291.447,139.505 296.366,139.031 296.523,136.604 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon489" />
+
+ <path
+ d="M 300.275,141.333 C 301.378,141.427 302.324,141.995 303.238,142.782 C 304.058,143.571 304.972,144.833 305.509,146.188 C 305.888,147.511 306.17,148.868 305.982,150.381 C 305.761,151.736 304.911,153.218 304.28,154.321 C 303.587,155.267 302.735,155.961 301.852,156.528 C 300.874,157.064 299.802,157.473 298.509,157.757 L 298.509,157.757 C 299.077,152.304 299.676,146.818 300.275,141.333 L 300.275,141.333 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path491" />
+
+ <path
+ d="M 298.646,143.687 C 301.587,143.687 303.974,146.244 303.974,149.394 C 303.974,152.544 301.587,155.1 298.646,155.1 C 295.706,155.1 293.318,152.544 293.318,149.394 C 293.318,146.244 295.705,143.687 298.646,143.687"
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path493" />
+
+ <path
+ d="M 264.238,83.448 C 262.472,81.714 260.297,80.358 257.586,79.002 C 254.748,77.647 250.618,76.574 248.001,75.534 C 245.385,74.399 243.967,74.147 242.169,72.476 C 240.246,70.679 238.007,67.873 237.03,65.256 C 236.084,62.545 235.895,59.392 236.337,56.649 C 236.715,53.843 237.598,50.785 239.111,48.578 C 240.435,46.277 242.484,44.385 244.533,43.155 C 246.457,41.863 248.759,41.326 251.186,41.074 C 253.676,40.76 256.892,41.295 259.257,41.358 C 261.432,41.326 263.071,41.39 264.522,41.074 C 265.941,40.664 267.012,39.341 267.99,39.152 C 269,38.9 270.071,39.12 270.355,39.687 C 270.386,40.223 269.881,41.516 269.093,42.336 C 268.337,43.029 267.801,43.628 266.035,44.007 C 264.048,44.259 261.021,44.354 258.279,44.417 C 255.536,44.449 252.477,43.881 250.081,44.417 C 247.685,44.89 245.604,45.868 244.091,47.349 C 242.451,48.736 241.632,50.912 240.907,53.024 C 240.087,55.073 239.803,57.406 239.929,59.55 C 240.086,61.473 240.78,63.459 242.01,65.383 C 243.176,67.305 244.721,69.986 247.023,71.373 C 249.198,72.697 251.563,72.54 255.346,73.454 C 259.098,74.273 265.592,75.376 269.25,76.513 C 272.78,77.616 274.42,78.783 276.47,80.138 C 278.456,81.399 279.938,83.07 281.041,84.426 C 282.113,85.751 282.681,86.917 282.87,88.052 L 282.87,88.052 L 281.892,88.998 L 281.892,88.998 C 279.999,87.295 277.635,86.003 274.671,85.119 C 271.711,84.204 268.274,83.605 264.238,83.448 L 264.238,83.448 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path495" />
+
+ <polygon
+ points="234.318,155.048 248.349,155.048 248.349,170.244 234.318,170.244 234.318,155.048 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon497" />
+
+ <path
+ d="M 248.349,102.617 L 249.704,102.585 L 249.704,102.585 C 275.904,102.554 283.565,117.75 283.565,136.414 C 283.565,155.11 268.4,170.275 249.704,170.275 L 249.704,170.275 L 248.349,170.244 L 248.349,155.047 L 248.349,155.048 C 263.892,154.859 266.509,146.22 266.509,136.068 C 266.509,125.884 262.978,117.719 248.349,117.813 L 248.349,117.813 L 248.349,102.617 L 248.349,102.617 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path499" />
+
+ <polygon
+ points="219.5,154.669 234.508,154.669 234.508,170.686 219.5,170.686 219.5,154.669 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon501" />
+
+ <polygon
+ points="234.508,154.669 234.508,170.686 233.94,170.339 233.94,154.732 234.508,154.669 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon503" />
+
+ <polygon
+ points="181.856,143.099 193.111,143.099 193.111,159.114 181.856,159.114 181.856,143.099 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon505" />
+
+ <polygon
+ points="252.636,202.34 253.172,204.861 265.468,202.245 264.932,199.723 252.636,202.34 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon507" />
+
+ <polygon
+ points="255.348,204.263 256.23,208.393 264.081,206.722 263.198,202.591 255.348,204.263 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon509" />
+
+ <path
+ d="M 260.455,216.874 C 260.455,217.599 260.959,217.977 261.969,218.261 C 262.789,218.418 264.081,218.86 266.225,218.261 C 268.432,217.599 271.238,216.495 274.99,214.446 C 278.711,212.271 284.417,209.15 288.326,205.681 C 292.11,202.245 294.632,198.304 297.596,193.859 C 300.434,189.319 303.681,183.265 305.762,178.852 C 307.811,174.342 309.419,168.92 309.862,167.186 C 310.082,165.358 308.978,166.335 307.875,168.541 C 306.771,170.874 305.385,176.297 303.336,180.68 C 301.065,184.967 297.976,190.548 295.17,194.143 C 292.363,197.642 290.441,199.408 286.972,201.868 C 283.315,204.264 277.199,207.1 274.235,208.552 C 271.336,209.875 269.821,210.38 269.696,210.065 L 269.696,210.065 C 269.128,209.309 268.624,208.898 268.182,208.71 C 267.678,208.489 267.363,208.584 266.984,208.994 L 266.984,208.994 C 266.448,209.781 265.691,210.538 264.713,211.138 C 263.673,211.705 262.412,212.115 261.057,212.493 C 259.669,212.808 257.588,212.998 256.517,212.934 C 255.35,212.746 254.593,212.241 254.246,211.42 L 254.246,211.42 C 253.772,213.816 254.12,215.487 255.16,216.434 C 256.23,217.378 257.87,217.41 260.455,216.874 L 260.455,216.874 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path511" />
+
+ <path
+ d="M 254.402,212.491 C 253.77,211.639 253.519,209.528 254.244,208.708 C 254.875,207.825 256.23,208.203 258.184,207.637 C 260.014,207.005 263.86,205.303 265.467,205.208 C 267.012,204.987 267.139,206.154 267.422,206.879 C 267.643,207.637 267.737,208.455 266.981,209.465 C 266.066,210.348 264.207,211.45 262.725,212.176 C 261.18,212.838 259.54,213.248 258.184,213.405 C 256.703,213.405 255.032,213.217 254.402,212.491 L 254.402,212.491 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path513" />
+
+ <polygon
+ points="279.246,191.872 280.728,193.605 284.669,190.295 283.188,188.562 279.246,191.872 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon515" />
+
+ <polygon
+ points="281.642,192.818 286.15,198.146 288.231,196.412 283.723,191.052 281.642,192.818 "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="polygon517" />
+
+ <path
+ d="M 286.561,200.889 C 287.539,202.056 289.303,202.213 290.501,201.236 C 291.699,200.228 291.825,198.462 290.849,197.263 C 289.84,196.097 288.074,195.94 286.876,196.917 C 285.709,197.926 285.551,199.691 286.561,200.889 L 286.561,200.889 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path519" />
+
+ <path
+ d="M 287.128,200.385 C 287.853,201.268 289.146,201.363 290.028,200.637 C 290.879,199.912 291.006,198.619 290.249,197.768 C 289.523,196.885 288.231,196.79 287.381,197.516 C 286.528,198.24 286.403,199.533 287.128,200.385 L 287.128,200.385 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path521" />
+
+ <path
+ d="M 119.305,131.118 C 119.557,129.604 119.4,128.437 118.864,127.555 C 118.297,126.672 117.383,126.105 116.027,125.822 C 108.334,125.822 103.29,125.791 100.768,125.822 C 94.998,125.885 89.354,128.943 89.354,135.437 C 89.354,141.144 93.832,145.527 101.808,145.557 L 101.808,145.557 L 101.808,130.362 L 119.306,130.362 L 119.306,131.118 L 119.305,131.118 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path523" />
+
+ <path
+ d="M 119.305,160.313 C 119.557,158.831 119.4,157.665 118.864,156.782 C 118.297,155.899 117.383,155.3 116.027,155.017 C 108.334,155.017 103.29,154.985 100.768,155.017 C 94.998,155.111 89.354,158.169 89.354,164.663 C 89.354,170.339 93.832,174.721 101.808,174.783 L 101.808,174.783 L 101.808,159.588 L 119.306,159.588 L 119.306,160.313 L 119.305,160.313 z "
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.99779999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path525" />
+
+ <path
+ d="M 289.503,195.393 C 292.149,195.393 294.295,197.526 294.295,200.154 C 294.295,202.782 292.149,204.915 289.503,204.915 C 286.858,204.915 284.711,202.782 284.711,200.154 C 284.711,197.526 286.858,195.393 289.503,195.393"
+ style="fill:&fill_color;;fill-rule:evenodd;&stroke_color;;stroke-width:0.036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="path527" />
+</g>
+</svg> \ No newline at end of file
diff --git a/icons/Reggae-edit1.svg b/icons/Reggae-edit1.svg
new file mode 100755
index 0000000..c29d374
--- /dev/null
+++ b/icons/Reggae-edit1.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#FFFFFF">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg
+ id="svg1"
+ width="160.00000pt"
+ height="160.00000pt"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs
+ id="defs3">
+ </defs>
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.4055344;stroke-linejoin:round;"
+ d="M 1170.0161,146.17771 C 1170.0161,219.36107 1109.3477,278.75629 1034.5957,278.75629 C 959.84339,278.75629 899.17496,219.36107 899.17496,146.17771 C 899.17496,72.994319 959.84339,13.599125 1034.5957,13.599125 C 1109.3477,13.599125 1170.0161,72.994319 1170.0161,146.17771 z "
+ id="path1237" />
+ <g
+ id="g890">
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 178.63447,119.29540 C 178.63447,119.29540 149.60285,71.391818 143.91892,69.970834 C 142.97159,69.970833 141.16049,69.585806 140.68683,71.480451 C 140.68683,76.690727 173.89785,123.55835 177.21348,125.92667 C 180.05545,125.45300 179.10813,122.61103 178.63447,119.29540 z "
+ id="path888" />
+ <path
+ style="fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 146.19396,71.527947 C 146.19396,71.527947 140.87563,61.005082 133.32475,57.586877 C 124.28372,52.957646 115.99309,54.845391 110.06625,59.001161 C 107.66238,61.690780 101.51188,65.119163 104.49538,69.620820 C 105.72663,71.450093 107.73803,72.179277 110.03931,71.280444 C 112.74111,69.190776 118.22444,54.906803 131.02388,63.551570 C 136.85612,67.012453 137.40015,70.069365 140.34953,72.560593 C 139.89652,73.907434 144.70424,68.528198 146.19396,71.527947 z "
+ id="path889" />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 23.209410,120.17531 C 23.209410,120.17531 52.241023,72.271724 57.924960,70.850740 C 58.872283,70.850739 60.683387,70.465712 61.157048,72.360357 C 61.157048,77.570633 27.946024,124.43826 24.630395,126.80658 C 21.788426,126.33291 22.735749,123.49094 23.209410,120.17531 z "
+ id="path869"
+ />
+ <path
+ style="fill-rule:evenodd;stroke:&stroke_color;;stroke-width:1.0000000pt;"
+ d="M 55.649920,72.407853 C 55.649920,72.407853 60.968244,61.884988 68.519123,58.466783 C 77.560160,53.837552 85.850786,55.725297 91.777632,59.881067 C 94.181501,62.570686 100.33200,65.999069 97.348496,70.500726 C 96.117247,72.329999 94.105844,73.059183 91.804570,72.160350 C 89.102764,70.070682 83.619439,55.786709 70.820002,64.431476 C 64.987761,67.892359 64.443724,70.949271 61.494352,73.440499 C 61.947362,74.787340 57.139638,69.408104 55.649920,72.407853 z "
+ id="path870"
+ />
+ <g
+ id="g1208"
+ transform="translate(165.6113,-33.13730)"
+ style="">
+ <g
+ id="g1194"
+ transform="translate(-285.0000,13.75000)">
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1.0000000;stroke-width:1.2500000;stroke-linejoin:round;stroke-linecap:butt;fill-opacity:1.0000000;stroke-dasharray:none;"
+ d="M 220.15625,134.09375 C 218.18661,134.07463 216.19714,134.29023 214.37500,134.93750 C 212.55286,135.58477 210.71531,136.74050 209.87500,138.78125 L 212.86772,140.95955 C 212.97957,140.68790 215.00540,139.98941 216.03125,139.62500 C 217.05710,139.26059 218.56078,139.07887 220.09375,139.09375 C 221.62672,139.10863 223.20403,139.31626 224.40625,139.65625 C 225.60847,139.99624 226.38470,140.62932 226.28125,140.50000 L 230.18750,137.37500 C 228.99586,135.88545 227.49503,135.32841 225.78125,134.84375 C 224.06747,134.35909 222.12589,134.11287 220.15625,134.09375 z "
+ id="path1193"
+ />
+ <g
+ id="g1184"
+ transform="translate(195.6018,16.32283)"
+ style="fill:&fill_color;;fill-opacity:1.0000000;">
+ <path
+ style="fill:#000000;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.80000001;"
+ d="M -39.400594,111.64150 C -26.040974,104.40213 -9.9205843,104.88459 4.8994457,106.14959 C 16.253796,106.94900 17.246626,114.92925 16.251556,125.29172 C 16.201536,132.37212 13.462146,140.32898 6.2822657,143.05030 C -4.0075343,146.42629 -15.195474,146.20886 -25.870394,145.18021 C -35.240424,144.04829 -42.472334,136.35541 -44.265164,127.91260 C -44.957864,122.81758 -45.901474,115.48637 -39.400594,111.64150 z "
+ id="path1182"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1.0000000;"
+ d="M -45.443144,122.32679 C -45.443144,117.42415 -50.961044,121.98998 -53.137424,123.57238 C -54.225614,124.53860 -54.778254,128.74086 -53.690064,129.88931 C -52.757874,131.52160 -48.252274,130.16136 -46.267834,130.16136 C -44.252134,128.14566 -45.679334,125.37907 -45.443144,122.32679 z "
+ id="path1181"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1.0000000;stroke-width:1.2500000;stroke-linejoin:round;stroke-linecap:butt;fill-opacity:1.0000000;stroke-dasharray:none;"
+ d="M -7.0371643,103.73776 C -18.664624,103.39048 -30.681274,104.49060 -41.287164,110.23776 C -41.308142,110.24788 -41.328978,110.25830 -41.349664,110.26901 C -45.244984,112.57285 -47.119944,116.22325 -47.693414,119.67526 C -48.266884,123.12727 -47.759664,126.49430 -47.412164,129.05026 C -47.403410,129.10266 -47.392988,129.15477 -47.380914,129.20651 C -45.368434,138.68372 -37.406574,147.18121 -26.849664,148.45651 C -26.828832,148.45677 -26.807997,148.45677 -26.787164,148.45651 C -15.979724,149.49793 -4.4609443,149.75975 6.3690857,146.20651 C 6.4110139,146.19716 6.4526944,146.18674 6.4940857,146.17526 C 10.740586,144.56575 13.691236,141.35449 15.494086,137.70651 C 17.263226,134.12673 17.972346,130.12411 18.025336,126.33151 L 18.056586,126.33151 C 18.063876,126.25560 18.049456,126.18852 18.056586,126.11276 C 18.549086,120.87850 18.674876,115.99872 16.806586,111.89401 C 14.911256,107.72989 10.653786,104.89679 4.4003357,104.45651 C 0.67047573,104.13814 -3.1613443,103.85352 -7.0371643,103.73776 z M -7.1309143,108.73776 C -3.4020143,108.84174 0.31392573,109.11113 3.9940857,109.42526 C 4.0149182,109.42552 4.0357532,109.42552 4.0565857,109.42526 C 9.1574857,109.78439 11.053176,111.34003 12.244086,113.95651 C 13.434996,116.57299 13.571976,120.78981 13.087836,125.83151 C 13.074200,125.90393 13.063774,125.97691 13.056586,126.05026 C 13.033806,129.27469 12.399656,132.70688 11.025336,135.48776 C 9.6551057,138.26037 7.6631857,140.37327 4.7440857,141.48776 C 4.7353757,141.49108 4.7215557,141.48445 4.7128357,141.48776 C -5.0124543,144.65480 -15.809784,144.50039 -26.318414,143.48776 C -34.487234,142.50095 -40.887254,135.60015 -42.474664,128.20651 C -42.477454,128.19353 -42.503154,128.18824 -42.505914,128.17526 C -42.842164,125.68161 -43.153014,122.90936 -42.755914,120.51901 C -42.353844,118.09873 -41.418134,116.17625 -38.880914,114.64401 C -29.447364,109.53212 -18.317614,108.42581 -7.1309143,108.73776 z "
+ id="path1183" />
+ </g>
+ <g
+ id="g1188"
+ transform="matrix(-1.000000,0.000000,0.000000,1.000000,244.5703,14.69236)"
+ style="fill:&fill_color;;fill-opacity:1.0000000;">
+ <path
+ style="fill:#000000;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.80000001;"
+ d="M -39.400594,111.64150 C -26.040974,104.40213 -9.9205843,104.88459 4.8994457,106.14959 C 16.253796,106.94900 17.246626,114.92925 16.251556,125.29172 C 16.201536,132.37212 13.462146,140.32898 6.2822657,143.05030 C -4.0075343,146.42629 -15.195474,146.20886 -25.870394,145.18021 C -35.240424,144.04829 -42.472334,136.35541 -44.265164,127.91260 C -44.957864,122.81758 -45.901474,115.48637 -39.400594,111.64150 z "
+ id="path1189"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1.0000000;"
+ d="M -45.443144,122.32679 C -45.443144,117.42415 -50.961044,121.98998 -53.137424,123.57238 C -54.225614,124.53860 -54.778254,128.74086 -53.690064,129.88931 C -52.757874,131.52160 -48.252274,130.16136 -46.267834,130.16136 C -44.252134,128.14566 -45.679334,125.37907 -45.443144,122.32679 z "
+ id="path1191"
+ />
+ <path
+ style="fill:&fill_color;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1.0000000;stroke-width:1.2500000;stroke-linejoin:round;stroke-linecap:butt;fill-opacity:1.0000000;stroke-dasharray:none;"
+ d="M -7.0371643,103.73776 C -18.664624,103.39048 -30.681274,104.49060 -41.287164,110.23776 C -41.308142,110.24788 -41.328978,110.25830 -41.349664,110.26901 C -45.244984,112.57285 -47.119944,116.22325 -47.693414,119.67526 C -48.266884,123.12727 -47.759664,126.49430 -47.412164,129.05026 C -47.403410,129.10266 -47.392988,129.15477 -47.380914,129.20651 C -45.368434,138.68372 -37.406574,147.18121 -26.849664,148.45651 C -26.828832,148.45677 -26.807997,148.45677 -26.787164,148.45651 C -15.979724,149.49793 -4.4609443,149.75975 6.3690857,146.20651 C 6.4110139,146.19716 6.4526944,146.18674 6.4940857,146.17526 C 10.740586,144.56575 13.691236,141.35449 15.494086,137.70651 C 17.263226,134.12673 17.972346,130.12411 18.025336,126.33151 L 18.056586,126.33151 C 18.063876,126.25560 18.049456,126.18852 18.056586,126.11276 C 18.549086,120.87850 18.674876,115.99872 16.806586,111.89401 C 14.911256,107.72989 10.653786,104.89679 4.4003357,104.45651 C 0.67047573,104.13814 -3.1613443,103.85352 -7.0371643,103.73776 z M -7.1309143,108.73776 C -3.4020143,108.84174 0.31392573,109.11113 3.9940857,109.42526 C 4.0149182,109.42552 4.0357532,109.42552 4.0565857,109.42526 C 9.1574857,109.78439 11.053176,111.34003 12.244086,113.95651 C 13.434996,116.57299 13.571976,120.78981 13.087836,125.83151 C 13.074200,125.90393 13.063774,125.97691 13.056586,126.05026 C 13.033806,129.27469 12.399656,132.70688 11.025336,135.48776 C 9.6551057,138.26037 7.6631857,140.37327 4.7440857,141.48776 C 4.7353757,141.49108 4.7215557,141.48445 4.7128357,141.48776 C -5.0124543,144.65480 -15.809784,144.50039 -26.318414,143.48776 C -34.487234,142.50095 -40.887254,135.60015 -42.474664,128.20651 C -42.477454,128.19353 -42.503154,128.18824 -42.505914,128.17526 C -42.842164,125.68161 -43.153014,122.90936 -42.755914,120.51901 C -42.353844,118.09873 -41.418134,116.17625 -38.880914,114.64401 C -29.447364,109.53212 -18.317614,108.42581 -7.1309143,108.73776 z "
+ id="path1190" />
+ </g>
+ </g>
+ <path
+ style="fill:#AAAAAA;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;"
+ d="M -118.41536,142.08428 C -120.07317,142.55794 -125.75710,143.74209 -129.54640,146.82089 C -132.86203,150.37335 -131.44105,161.03074 -127.17810,165.29369 C -125.04661,168.84615 -121.49416,172.16178 -116.99437,172.39861 C -114.86290,171.45129 -123.38880,150.13652 -118.41536,142.08428 z "
+ id="path1204"
+ />
+ <path
+ style="fill:#AAAAAA;;fill-rule:evenodd;stroke:&stroke_color;;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;"
+ d="M -51.155434,141.37378 C -53.286910,145.39991 -54.234234,159.84658 -49.260788,165.53052 C -44.524174,170.74079 -41.445375,169.79348 -38.603406,170.26713 C -34.814115,168.13566 -43.340020,142.55794 -38.129745,139.24231 C -42.155867,137.82132 -49.734449,139.24231 -51.155434,141.37378 z "
+ id="path1206"
+ />
+ </g>
+ </g>
+</svg>
diff --git a/icons/city-edit1.svg b/icons/city-edit1.svg
new file mode 100755
index 0000000..ce9f220
--- /dev/null
+++ b/icons/city-edit1.svg
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="64px"
+ height="64px"
+ id="svg4024">
+ <title
+ id="title4113">Buildings icon</title>
+ <defs
+ id="defs4026" />
+ <g>
+ <path
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0.61767298;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ d="m 44.305952,8.860129 0,22.29659 -4.309243,0 0,-10.36156 -9.388742,0 0,-6.754252 -7.387943,0 0,15.762212 -1.848162,0 0,-10.358125 -10.774288,0 0,5.630833 -5.0795035,0 0,26.347083 c 20.8550565,1.001142 33.5029685,-0.0027 51.8729475,-0.0027 l 0,-23.643951 -6.772671,0 0,-18.9160275 z"/>
+ <rect
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4139"
+ width="0.94214189"
+ height="4.7288828"
+ x="12.598254"
+ y="22.372826" />
+ <rect
+ y="22.372826"
+ x="13.978119"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4141"
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4143"
+ width="0.94214189"
+ height="4.7288828"
+ x="15.542002"
+ y="22.372826" />
+ <rect
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4153"
+ width="0.94214189"
+ height="4.7288828"
+ x="31.223223"
+ y="24.174307" />
+ <rect
+ y="24.174307"
+ x="32.603107"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4155"
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4157"
+ width="0.94214189"
+ height="4.7288828"
+ x="34.166965"
+ y="24.174307" />
+ <rect
+ y="11.563953"
+ x="46.153984"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4159"
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4161"
+ width="0.94214189"
+ height="4.7288828"
+ x="47.533863"
+ y="11.563953" />
+ <rect
+ style="fill:&fill_color;fill-opacity:1;stroke:%stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4165"
+ width="0.94214189"
+ height="4.7288828"
+ x="46.307907"
+ y="18.544683" />
+ <rect
+ y="18.544683"
+ x="47.687782"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4167"
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="21.922453"
+ x="25.220116"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4169"
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4171"
+ width="0.94214189"
+ height="4.7288828"
+ x="26.60001"
+ y="21.922453" />
+ <rect
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4173"
+ width="0.94214189"
+ height="4.7288828"
+ x="31.377136"
+ y="30.704676" />
+ <rect
+ y="30.704676"
+ x="32.757011"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4175"
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="29.80393"
+ x="25.527973"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4177"
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4181"
+ width="0.94214189"
+ height="4.7288828"
+ x="12.592784"
+ y="29.80393" />
+ <rect
+ y="29.80393"
+ x="14.156668"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4183"
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="25.750603"
+ x="46.148544"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4185"
+ style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="opacity:0;fill:&fill_color;fill-opacity:1;stroke:&stroke_color;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4111"
+ width="64"
+ height="64"
+ x="0"
+ y="-1.013279e-006" />
+ </g>
+</svg>
diff --git a/icons/city-edit2.svg b/icons/city-edit2.svg
new file mode 100755
index 0000000..350fe42
--- /dev/null
+++ b/icons/city-edit2.svg
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="64px"
+ height="64px"
+ id="svg4024">
+ <title
+ id="title4113">Buildings icon</title>
+ <defs
+ id="defs4026" />
+ <g>
+ <path
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0.61767298;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ d="m 44.305952,8.860129 0,22.29659 -4.309243,0 0,-10.36156 -9.388742,0 0,-6.754252 -7.387943,0 0,15.762212 -1.848162,0 0,-10.358125 -10.774288,0 0,5.630833 -5.0795035,0 0,26.347083 c 20.8550565,1.001142 33.5029685,-0.0027 51.8729475,-0.0027 l 0,-23.643951 -6.772671,0 0,-18.9160275 z"/>
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4139"
+ width="0.94214189"
+ height="4.7288828"
+ x="12.598254"
+ y="22.372826" />
+ <rect
+ y="22.372826"
+ x="13.978119"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4141"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4143"
+ width="0.94214189"
+ height="4.7288828"
+ x="15.542002"
+ y="22.372826" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4153"
+ width="0.94214189"
+ height="4.7288828"
+ x="31.223223"
+ y="24.174307" />
+ <rect
+ y="24.174307"
+ x="32.603107"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4155"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4157"
+ width="0.94214189"
+ height="4.7288828"
+ x="34.166965"
+ y="24.174307" />
+ <rect
+ y="11.563953"
+ x="46.153984"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4159"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4161"
+ width="0.94214189"
+ height="4.7288828"
+ x="47.533863"
+ y="11.563953" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:%stroke_color;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4165"
+ width="0.94214189"
+ height="4.7288828"
+ x="46.307907"
+ y="18.544683" />
+ <rect
+ y="18.544683"
+ x="47.687782"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4167"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="21.922453"
+ x="25.220116"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4169"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4171"
+ width="0.94214189"
+ height="4.7288828"
+ x="26.60001"
+ y="21.922453" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4173"
+ width="0.94214189"
+ height="4.7288828"
+ x="31.377136"
+ y="30.704676" />
+ <rect
+ y="30.704676"
+ x="32.757011"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4175"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="29.80393"
+ x="25.527973"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4177"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4181"
+ width="0.94214189"
+ height="4.7288828"
+ x="12.592784"
+ y="29.80393" />
+ <rect
+ y="29.80393"
+ x="14.156668"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4183"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="25.750603"
+ x="46.148544"
+ height="4.7288828"
+ width="0.94214189"
+ id="rect4185"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ style="opacity:0;fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4111"
+ width="64"
+ height="64"
+ x="0"
+ y="-1.013279e-006" />
+ </g>
+</svg>
diff --git a/icons/horizontal5.svg b/icons/horizontal5.svg
new file mode 100755
index 0000000..0e9e93b
--- /dev/null
+++ b/icons/horizontal5.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1" width="302" height="224" id="svg2">
+
+ <defs id="defs8" />
+ <path style="fill:&fill_color;;stroke:&stroke_color;;stroke-opacity:1"
+ d="m 257.26822,48.179362 43.29096,38.869316 0,7.09365 0,7.093652 -42.69521,39.25801 c -34.75192,31.09545 -43.68813,38.86932 -46.66687,38.86932 h -3.60427 l 11.71636,-37.89759 11.71637,-37.89758 h -77.8443 -77.8443 l 11.716362,37.89758 11.716361,37.89759 h -3.604271 c -2.879444,0 -12.212817,-7.92934 -46.269697,-39.25801 L 6.2005,99.292512 v -7.09365 -7.09365 L 49.789335,45.069816 C 79.576694,17.861295 93.477462,6.2005 95.463286,6.2005 h 3.008523 L 86.457574,45.069816 74.44334,83.939133 h 77.8443 77.8443 L 218.1177,45.069816 206.10347,6.2005 l 3.31632,0.1346822 c 2.41278,0.098339 15.09226,10.9611468 46.56757,40.0353958 z"
+ id="path4" />
+</svg>
diff --git a/icons/music.svg b/icons/music.svg
new file mode 100755
index 0000000..40d90fb
--- /dev/null
+++ b/icons/music.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" ?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' [
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#AAAAAA">
+]><svg enable-background="new 0 0 55 55" height="55px" version="1.1" viewBox="0 0 55 55" width="55px" x="0px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g style="display:block">
+ <path d="m 30.375116,39.878197 c -0.70189,-1.731656 -4.409134,-1.275269 -6.057408,-0.0832 -3.296549,2.387712 -1.841933,6.484222 1.932616,5.154282 2.148251,-0.758268 4.825309,-3.337054 4.124792,-5.071082 z" id="path5" style="display:inline" />
+ <line display="inline" x1="28.941" x2="28.941" y1="39.806" y2="18.613293" id="line7" style="fill:none;stroke:&stroke_color;;stroke-width:2.89074731;display:inline" />
+
+</g><path d="m 30.175555,22.293519 c 0.116292,0.147138 0.196195,0.364174 0.275869,0.565048 0.132532,0.338202 0.296903,0.630905 0.467035,0.915973 0.248905,0.396581 0.45362,0.860223 0.656771,1.321572 0.148499,0.275196 0.265462,0.608999 0.451945,0.818809 0.110335,0.103401 0.234456,0.119286 0.358036,0.125511 0.122875,0.0025 0.245734,-0.0016 0.36859,-0.0038 0,0 -0.167979,0.204435 -0.167979,0.204435 l 0,0 c -0.123105,0.0018 -0.246225,0.0054 -0.369333,0.0027 -0.126282,-0.0092 -0.252115,-0.03204 -0.362849,-0.143827 -0.184324,-0.219463 -0.299696,-0.555934 -0.446624,-0.837439 -0.200647,-0.46356 -0.40863,-0.920301 -0.658841,-1.313613 -0.17055,-0.287321 -0.339167,-0.577813 -0.472244,-0.91831 -0.07785,-0.19207 -0.156714,-0.411233 -0.275618,-0.53829 0,0 0.175232,-0.198776 0.175232,-0.198776 z" id="path2994" style="fill:&stroke_color;;fill-opacity:1;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:4.08400822;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /></svg> \ No newline at end of file
diff --git a/icons/music2.svg b/icons/music2.svg
new file mode 100755
index 0000000..e42af64
--- /dev/null
+++ b/icons/music2.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#FFFFFF">
+ <!ENTITY fill_color "#AAAAAA">
+]>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" version="1.1" width="55" height="55" viewBox="0 0 55 55" id="svg2"
+ xml:space="preserve">
+
+<g transform="matrix(1.8421646,0,0,1.8380707,-25.647355,-30.762727)" id="g4" style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;;stroke-opacity:1;display:block">
+ <path d="m 29.839883,39.800078 c -0.656703,-1.654591 -4.125275,-1.218515 -5.667434,-0.0795 -3.084318,2.28145 -1.72335,6.19565 1.808195,4.924898 2.009947,-0.724523 4.514657,-3.188543 3.859239,-4.845401 z" id="path5" style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;;stroke-width:0.9455061;stroke-opacity:1;display:inline" />
+ <line display="inline" x1="28.941" x2="28.941" y1="39.806" y2="18.613293" id="line7" style="fill:&fill_color;fill-opacity:1;stroke:&stroke_color;;stroke-width:2.89074731;stroke-opacity:1;display:inline" />
+
+</g><path d="m 29.748122,10.137467 c 0.211458,0.268309 0.356749,0.664079 0.501623,1.030377 0.240988,0.61672 0.53987,1.150469 0.849227,1.670297 0.452593,0.723175 0.824834,1.568635 1.194231,2.409916 0.270021,0.501826 0.482699,1.110523 0.821788,1.493117 0.200626,0.188553 0.42632,0.21752 0.65103,0.228871 0.223428,0.0046 0.446828,-0.0029 0.670221,-0.0069 0,0 -0.305443,0.372792 -0.305443,0.372792 l 0,0 c -0.223846,0.0033 -0.447719,0.0099 -0.671571,0.0049 -0.229624,-0.01678 -0.458431,-0.05843 -0.659782,-0.262271 -0.335163,-0.400196 -0.544948,-1.013758 -0.812113,-1.527089 -0.364844,-0.845311 -0.743027,-1.678189 -1.197995,-2.395402 -0.310117,-0.523936 -0.61672,-1.053655 -0.858698,-1.674559 -0.141558,-0.350244 -0.28496,-0.749892 -0.501166,-0.981584 0,0 0.318631,-0.362472 0.318631,-0.362472 z" id="path2994" style="fill:&fill_color;fill-opacity:1;fill-rule:evenodd;stroke:&stroke_color;;stroke-width:7.43668318;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /></svg>
diff --git a/icons/vertical5.svg b/icons/vertical5.svg
new file mode 100755
index 0000000..f889c5f
--- /dev/null
+++ b/icons/vertical5.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink " http://www.w3.org/1999/xlink">
+ <!ENTITY stroke_color "#000000">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" version="1.1"
+ width="55"
+ height="55"
+ viewBox="0 0 184 302"
+ id="svg2">
+ <defs id="defs8" />
+ <path d="M 42.478865,43.79096 81.348175,0.5 l 7.09365,0 7.09366,0 39.258005,42.69521 c 31.09544,34.75192 38.86933,43.68813 38.86933,46.66687 l 0,3.60427 -37.89761,-11.71636 -37.897565,-11.71637 0,77.8443 -10e-6,77.84429 37.897575,-11.71636 37.89761,-11.71636 0,3.60427 c 0,2.87945 -7.92935,12.21282 -39.25802,46.2697 l -40.812785,42.69521 -7.09365,0 -7.09365,0 -40.0354,-43.58883 C 12.160795,221.48248 0.5,207.58171 0.5,205.59589 l 0,-3.00852 38.869315,12.01423 38.86932,12.01423 0,-77.84429 0,-77.8443 L 39.369315,82.94148 0.5,94.95571 0.634682,91.63939 C 0.733022,89.22661 11.595829,76.54713 40.670075,45.07182 z" id="path4" style="fill:&fill_color;;stroke:&stroke_color;;stroke-opacity:1" />
+</svg>
diff --git a/mybutton.py b/mybutton.py
new file mode 100755
index 0000000..cabe2ef
--- /dev/null
+++ b/mybutton.py
@@ -0,0 +1,62 @@
+print "HERE IS MYEDITEDBUTTON\n"
+import gtk
+import gconf
+
+from sugar.graphics.toolbarbox import ToolbarButton
+
+from sugar.activity.widgets import ActivityToolbar
+
+from sugar.graphics.xocolor import XoColor
+
+from sugar.graphics.icon import Icon
+
+from sugar.bundle.activitybundle import ActivityBundle
+
+
+def _create_activity_icon(metadata):
+ print "_create_activity_icon was called"
+ if metadata.get('icon-color', ''):
+ color = XoColor(metadata['icon-color'])
+ else:
+ client = gconf.client_get_default()
+ color = XoColor(client.get_string('/desktop/sugar/user/color'))
+ from sugar.activity.activity import get_bundle_path
+ print "Where is the bundle path? :", get_bundle_path()
+ bundle = ActivityBundle(get_bundle_path())
+ icon = Icon(file=bundle.get_icon(), xo_color=color)
+ return icon
+
+
+class AltButton(ToolbarButton):
+ def __init__(self, activity, **kwargs):
+ print "alternativeMY ACTIviTy tOOLbARbUTTON init\n"
+ toolbar = ActivityToolbar(activity, orientation_left=True)
+ toolbar.stop.hide()
+ toolbar.keep.hide()
+ ToolbarButton.__init__(self, page=toolbar,**kwargs)
+ icon = _create_activity_icon(activity.metadata)
+ self.set_icon_widget(icon)
+ icon.show()
+
+
+class test2:
+ def __init__(self):
+ print "passed test2, old style class"
+
+
+def test3(x):
+ print "passed test3, just a function"
+
+
+class MyAlternativeToolbarButton(ToolbarButton):
+ def __init__(self, activity, **kwargs):
+ print "MY Alternative tOOLbARbUTTON init\n"
+ toolbar = ActivityToolbar(activity, orientation_left=True)
+ toolbar.stop.hide()
+ toolbar.keep.hide()
+ ToolbarButton.__init__(self, page=toolbar,**kwargs)
+ icon = _create_activity_icon(activity.metadata)
+ self.set_icon_widget(icon)
+ icon.show()
+
+
diff --git a/po/Jam2Jam.pot b/po/Jam2Jam.pot
new file mode 100755
index 0000000..ea26853
--- /dev/null
+++ b/po/Jam2Jam.pot
@@ -0,0 +1,59 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-06-05 23:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: activity/activity.info:2 activity.py:52
+msgid "Jam2Jam"
+msgstr ""
+
+#: J2JToolbars.py:141
+msgid "Horizontal:"
+msgstr ""
+
+#: J2JToolbars.py:156
+msgid "Vertical:"
+msgstr ""
+
+#: J2JToolbars.py:171
+msgid "Scene:"
+msgstr ""
+
+#: J2JToolbars.py:199
+msgid "Snapshot"
+msgstr ""
+
+#: J2JToolbars.py:222 J2JToolbars.py:253 J2JToolbars.py:430
+msgid "Pause"
+msgstr ""
+
+#: J2JToolbars.py:247 J2JToolbars.py:424
+msgid "Play"
+msgstr ""
+
+#: J2JToolbars.py:264 J2JToolbars.py:444
+msgid "Please wait..."
+msgstr ""
+
+#: J2JToolbars.py:269 J2JToolbars.py:448
+msgid "Snap"
+msgstr ""
+
+#: olpcgames/canvas.py:151
+#, python-format
+msgid "%s Source"
+msgstr ""
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 79fe2d7..e1b394e 100644..100755
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,5 +1,6 @@
-activity.py
InstrumentPanel.py
-J2JToolbar.py
-run.py
-setup.py \ No newline at end of file
+setup.py
+J2JToolbars.py
+mybutton.py
+activity.py
+run.py \ No newline at end of file
diff --git a/run.py b/run.py
index 242ad90..9fc17bf 100644..100755
--- a/run.py
+++ b/run.py
@@ -35,11 +35,13 @@ import City.City as City
log = logging.getLogger( 'City run' )
log.setLevel( logging.DEBUG )
+
+log.info('PLATFORM = %s' %platform)
def buildInstruments(names, imgpath, screensize, scale):
"returns a list of Instrument objects, loaded with images"
Instruments = [Instrument(names[i]) for i in range(len(names))]
imagefiles = ResourceList(imgpath, '.png')
- startx = 0
+ startx = 30
for i in Instruments:
for f in imagefiles:
if i.name.startswith(f[:4]):
@@ -85,10 +87,12 @@ class jamScene( object ):
self._syncloop_running = 0
global schedEvent, now
schedEvent = self.scene.TimeQueue.schedEvent
- now = self.scene.cs.perfTime
- self.screen = screen
+ now = self.scene.cs.perfTime
+ self.screen = screen
screenRect = screen.get_rect()
+ print "SCREENRECT IS .........", screenRect
self.screenSize = screen.get_size()
+ print "SCREENSIZE IS ---------", self.screenSize
self.playArea = pygame.Rect(screenRect.left,screenRect.top, screenRect.width, screenRect.height * 0.8)
if olpcgames.ACTIVITY:
olpcgames.ACTIVITY.playArea = self.playArea
@@ -128,9 +132,9 @@ class jamScene( object ):
self.snap_store = (olpcgames.ACTIVITY.snap_store if platform == 'Sugar' else [])
self.feedbackgroundImage = None
if self.screenSize == (1200, 780):
- self.setbackgroundImage(pygame.image.load(ImagePath + "/jam2jamXO_2.png").convert())
+ self.setbackgroundImage(pygame.image.load(ImagePath + "/jam2jamXO_4.png").convert())
else:
- bgi = pygame.image.load(ImagePath + "/jam2jamXO_2.png").convert()
+ bgi = pygame.image.load(ImagePath + "/jam2jamXO_4.png").convert()
bgi_scaled = pygame.transform.scale(bgi, self.playArea.size)
self.setbackgroundImage(bgi_scaled)
self.panel = pygame.Surface((self.panelArea.width, self.panelArea.height))
diff --git a/run.py~ b/run.py~
deleted file mode 100644
index 242ad90..0000000
--- a/run.py~
+++ /dev/null
@@ -1,576 +0,0 @@
-#! /usr/bin/env python
-
-#This python module is part of the Jam2Jam XO Activity, March, 2010
-#
-#Copyright (C) 2010 Thorin Kerr & Andrew Brown
-#
-#This program is free software; you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation; either version 2 of the License, or any
-#later version.
-#
-#This program is distributed in the hope that it will be useful, but
-#WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-#
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-import subprocess
-import logging, olpcgames
-import olpcgames.pausescreen as pausescreen
-import olpcgames.mesh as mesh
-from olpcgames import camera
-from sugar.presence import presenceservice
-from threading import Timer
-from math import ceil, sqrt
-
-
-from City.CsHelpers import *
-from City.Parameters import Instrument
-import City.City as City
-
-log = logging.getLogger( 'City run' )
-log.setLevel( logging.DEBUG )
-
-def buildInstruments(names, imgpath, screensize, scale):
- "returns a list of Instrument objects, loaded with images"
- Instruments = [Instrument(names[i]) for i in range(len(names))]
- imagefiles = ResourceList(imgpath, '.png')
- startx = 0
- for i in Instruments:
- for f in imagefiles:
- if i.name.startswith(f[:4]):
- i.loadImage(ImagePath+'/'+f, scale)
- i.x = screensize[0] * 0.8 - startx
- i.y = (screensize[1] - i.image.get_size()[1]) * 0.5
- i.Touch = True
- startx = startx + (screensize[0] * 0.8) / len(Instruments)
- return Instruments
-
-def getInstrumentParameters(scene, inm):
- "return a list of parameters values for the instrument, in order of PNAMES"
- pobj = scene.Params
- result = []
- for pnm in PNAMES:
- result.append(pobj.getValue(pnm, inm))
- return result
-
-def setInstrumentParameters(scene, inm, vlst):
- "sets parameters for an instrument"
- pobj = scene.Params
- for pnm,val in zip(PNAMES, vlst):
- pobj.setValue(pnm, inm, val)
- return True
-
-KEYCODES = {276:"Nudge|Left", 275:"Nudge|Right", 274:"Nudge|Down", 273:"Nudge|Up",
- 260:"Nudge|Left", 262:"Nudge|Right", 258:"Nudge|Down", 264:"Nudge|Up",
- 263: "Instrument|Bass", 257:"Instrument|Chords", 265:"Instrument|Lead", 259:"Instrument|Drums",
- 49: "Instrument|Bass", 50:"Instrument|Chords", 51:"Instrument|Lead", 52:"Instrument|Drums",
- 112: "Parameter|Pitch", 118:"Parameter|Volume", 100:"Parameter|Density", 108:"Parameter|Length", 116:"Parameter|Timbre",
- 304: "Modifier|Shift"}
-
-
-class jamScene( object ):
- def __init__(self, screen, scene = 'City', key = 'A', mode = 'minor', tempo = 120, initial_parameters = {}):
- self.scene = City.ScenePlayer(scene, key, mode, tempo, initial_parameters)
- self.music_player = City.makePlayer(self.scene)
- self.beatEstimator = beatEstimator(self.music_player.tempoMult, 0.17, self.music_player.beatlimit)
- self.pending_instrument_assignment = []
- self.latency_counter = 0
- self.latency = [0.07]
- self.latency_time_ID = {}
- self._syncloop_running = 0
- global schedEvent, now
- schedEvent = self.scene.TimeQueue.schedEvent
- now = self.scene.cs.perfTime
- self.screen = screen
- screenRect = screen.get_rect()
- self.screenSize = screen.get_size()
- self.playArea = pygame.Rect(screenRect.left,screenRect.top, screenRect.width, screenRect.height * 0.8)
- if olpcgames.ACTIVITY:
- olpcgames.ACTIVITY.playArea = self.playArea
- olpcgames.ACTIVITY.jamScene = self
- self.panelArea = pygame.Rect(screenRect.left,screenRect.height * 0.8, screenRect.width, screenRect.height * 0.2)
- self.TemplateInstruments = buildInstruments(INAMES, ImagePath, self.playArea.size, 2)
- for oni in self.TemplateInstruments:
- oni.activate()
- self.PanelInstruments = buildInstruments(INAMES, ImagePath, self.panelArea.size, 1.5)
- for pnl in self.PanelInstruments:
- pnl.Touch = True
- pnl.activate()
- imagesize = self.TemplateInstruments[0].image.get_size()
- self.panelSize = (self.screenSize[0], imagesize[1] + 10)
- #movement limits
- self.xmin = self.playArea.left + imagesize[0] * 0.5
- self.xmax = self.playArea.right - imagesize[0] * 0.5
- self.ymax = self.playArea.bottom - imagesize[1] * 0.5
- self.ymin = self.playArea.top + imagesize[1] * 0.5
- #interface key codes
- self.keycode = KEYCODES
- #various states
- self.keyActions = []
- self.selectedInstrument = self.TemplateInstruments[0]
- self.occupiedInstruments = {self.selectedInstrument.name: None}
- self.myself = None
- self.sharer = False
- self.connected = False
- self.timeTally = []
- self.running = True
- self.Vparam = "Pitch"
- self.Hparam = "Density"
- #interface controls
- self.movingInstrument = False
- #initial draw
- panelColour = (0,0,0)
- self.snap_store = (olpcgames.ACTIVITY.snap_store if platform == 'Sugar' else [])
- self.feedbackgroundImage = None
- if self.screenSize == (1200, 780):
- self.setbackgroundImage(pygame.image.load(ImagePath + "/jam2jamXO_2.png").convert())
- else:
- bgi = pygame.image.load(ImagePath + "/jam2jamXO_2.png").convert()
- bgi_scaled = pygame.transform.scale(bgi, self.playArea.size)
- self.setbackgroundImage(bgi_scaled)
- self.panel = pygame.Surface((self.panelArea.width, self.panelArea.height))
- self.panel.fill(panelColour)
- self.screen.blit(self.panel, self.panelArea)
- pygame.display.flip()
- for pnl in self.PanelInstruments: pnl.y = pnl.y() + self.playArea.height
- def setbackgroundImage(self, img):
- self.backgroundImage = img
- self.screen.blit(self.backgroundImage, (0,0), self.playArea)
- self.selectedInstrument.Touch = True
- def updatePanel(self):
- "redraw panel icons"
- for pi in self.PanelInstruments:
- if not pi.Touch:
- pass
- else:
- if pi.name in self.occupiedInstruments:
- pi.deactivate()
- else:
- pi.activate()
- self.screen.blit(pi.image, pi.Rect)
- pi.Touch = False
- def runloop(self):
- "main game loop"
- clock = pygame.time.Clock()
- imgcnt = 0
- self.music_player.playLoop(now())
- while self.running:
- events = (pausescreen.get_events(sleep_timeout = 43200) if platform == 'Sugar' else pygame.event.get())
- for event in events:
- self.eventAction(event)
- for act in self.keyActions:
- self.interfaceAction(act)
- if self.feedbackgroundImage:
- self.setbackgroundImage(self.feedbackgroundImage)
- self.feedbackgroundImage = None
- self.updateInspos()
- self.updatePanel()
- if platform == 'Sugar': currentcnt = len(self.snap_store)
- else: currentcnt = 0
- if imgcnt == currentcnt:
- pass
- else:
- self.music_player.picture_cycle = [self, True]
- imgcnt = currentcnt
- pygame.display.flip()
- clock.tick(25)
- def updateInspos(self):
- "animate selected instrument."
- ins = self.selectedInstrument
- if ins.Touch:
- xval = self.scene.Params.getValue(self.Hparam, ins.name)
- yval = self.scene.Params.getValue(self.Vparam, ins.name)
- xpos = rescale(xval, 0,1,self.xmin, self.xmax)
- ypos = rescale(yval, 0,1,self.ymax, self.ymin)
- self.screen.blit(self.backgroundImage, ins.Rect, ins.Rect)
- ins.ctr = (xpos, ypos)
- ins.Touch = False
- self.screen.blit(ins.image, ins.Rect)
- def sendSync(self):
- "Tell audio loop to broadcast time and beat messages"
- if self._syncloop_running:
- self.music_player.sendSync = True
- log.info("sent sync")
- schedEvent(now() + 10.7, self.sendSync)
- def setselectedInstrument(self, ins):
- "select the instrument onscreen"
- self.selectedInstrument = ins
- if ins.name not in self.occupiedInstruments:
- self.occupiedInstruments.update({ins.name:str(self.myself)})
- self.selectedInstrument.Touch = True
- def eventAction(self, event):
- "detect events, and select action"
- if event.type == pygame.QUIT:
- self.music_player.freeze()
- self.running = False
- elif event.type == pygame.USEREVENT:
- if hasattr(event, "action"):
- if event.action.startswith("Parameter"):
- args = event.action.split('|')
- if args[1] == "Horizontal":
- self.Hparam = args[2]
- self.selectedInstrument.Touch = True
- elif args[1] == "Vertical":
- self.Vparam = args[2]
- self.selectedInstrument.Touch = True
- else:
- raise ValueError, 'Unknown Parameter Action %s' %args
- elif event.action.startswith('Reload'):
- #should look always like this: "Reload|name|key:mode|tempo|defaults"
- args = event.action.split('|')
- name = args[1]
- key = ('E' if args[2] == 'None' else args[2])
- mode = ('minor' if args[3] == 'None' else args[3])
- tempo = (117 if args[4] == 'None' else int(args[4]))
- d = eval(args[5])
- defaults = (d if d else {})
- self.load_scene(name, key, mode, tempo, defaults) #this call blocks
- if self.pending_instrument_assignment: #now check if we are waiting to assign instruments and params.
- self.receiveMessage("AuthorisedInstrument|%s|%s" %(self.pending_instrument_assignment[0], self.pending_instrument_assignment[1]), self.myself)
- elif event.action.startswith("Shared"):
- self.sharer = "Pending"
- log.info("Sharing activity")
- elif event.action.startswith("Joined"):
- log.info("Joined Activity")
- else:
- log.debug("unknown parameter change: %s", event.action)
- else: log.debug("ignoring USEREVENT %s", event)
- elif event.type == pygame.MOUSEBUTTONDOWN:
- x,y = event.pos
- Ins = self.selectedInstrument
- if Ins.Rect.collidepoint(x,y):
- self.movingInstrument = Ins
- else:
- for Panndx in range(len(self.PanelInstruments)):
- Pan = self.PanelInstruments[Panndx]
- if Pan.Rect.collidepoint(x,y):
- if Pan.active: self.requestInstrument(Pan.name)
- break
- elif event.type == pygame.MOUSEMOTION:
- if self.movingInstrument:
- insname = self.movingInstrument.name
- self.scene.Params.setValue(self.Hparam, insname, rescale(event.pos[0], self.playArea.left, self.playArea.right, 0, 1))
- self.scene.Params.setValue(self.Vparam, insname, limit(rescale(event.pos[1], self.playArea.bottom, self.playArea.top, 0, 1), 0,1))
- self.movingInstrument.Touch = True
- elif event.type == pygame.MOUSEBUTTONUP:
- self.movingInstrument = False
- elif platform == 'Sugar' and event.type == mesh.CONNECT:
- log.info( """Connected to the mesh!| %s""", event )
- self.connected = True
- self.music_player.resetBeat()
- elif event.type == pygame.KEYDOWN:
- try:
- iaction = self.keycode[event.key]
- self.keyActions.append(iaction)
- except KeyError:
- pass
- elif event.type == pygame.KEYUP:
- try:
- self.keyActions.remove(self.keycode[event.key])
- except ValueError: pass
- except KeyError: pass
- elif self.connected and event.type == mesh.PARTICIPANT_ADD:
- if not self.myself: self.myself = mesh.my_handle()
- if event.handle == self.myself:
- if self.sharer == "Pending": self.sharer = self.myself
- elif len(self.occupiedInstruments) == 4:
- pass
- else:
- if self.sharer == self.myself:
- giveupInstrument = [p for p in self.PanelInstruments if p.active][0].name
- giveupparameters = getInstrumentParameters(self.scene, giveupInstrument)
- mesh.send_to(event.handle, "Welcome|%s|%s|%s" %(self.scene.scene_name, giveupInstrument, giveupparameters))
- self.stealInstrument(giveupInstrument, handle = event.handle)
- if self.connected: mesh.broadcast('Occupied|%s' %self.occupiedInstruments)
- olpcgames.ACTIVITY.J2JToolbar.deactivate_scene_change()
- if len(self.occupiedInstruments) >= 2 and not self._syncloop_running:
- self._syncloop_running = True
- self.sendSync()
- else:
- self.latency_checker()
- log.info("Waiting to be assigned instrument from sharer")
- elif self.connected and event.type == mesh.PARTICIPANT_REMOVE:
- "return instrument to the sharer if a jammer leaves."
- try:
- relname = [n for n in self.occupiedInstruments if self.occupiedInstruments[n] == str(event.handle)][0]
- relpanel = [p for p in self.PanelInstruments if p.name == relname][0]
- del self.occupiedInstruments[relname]
- relpanel.Touch = True
- if self.sharer == self.myself:
- self.music_player.mutelist.remove(relname)
- if len(self.occupiedInstruments) == 1:
- olpcgames.ACTIVITY.J2JToolbar.reactivate_scene_change()
- if len(self.occupiedInstruments) <= 1:
- self._syncloop_running = False
- except IndexError: log.debug("Index error while removing jammer %s occ = %s" %(str(event.handle), self.occupiedInstruments))
- except KeyError: pass
- except ValueError: pass
- if self.sharer == self.myself: mesh.broadcast('Occupied|%s' %self.occupiedInstruments)
- log.info( """Removed jammer| %s""", event )
- elif self.connected and (event.type == mesh.MESSAGE_MULTI or event.type == mesh.MESSAGE_UNI):
- if event.handle == self.myself:
- pass
- else:
- self.receiveMessage(event.content, event.handle)
- def interfaceAction(self, iaction):
- if iaction.startswith("Nudge"):
- direction = iaction.split("|")[1]
- insname = self.selectedInstrument.name
- if direction == "Left" or direction == "Right":
- param = self.Hparam
- else:
- param = self.Vparam
- currentValue = self.scene.Params.getValue(param, insname)
- newvalue = limit((currentValue - 0.03 if direction == "Left" or direction == "Down" else currentValue + 0.03), 0, 1)
- self.scene.Params.setValue(param, insname, newvalue)
- self.selectedInstrument.Touch = True
- if newvalue == 0 or newvalue == 1:
- try:
- self.keyActions.remove(iaction)
- except ValueError: pass
- elif iaction.startswith("Instrument"):
- ins = iaction.split('|')[1]
- self.requestInstrument(ins)
- try:
- self.keyActions.remove(iaction)
- except ValueError: pass
- elif iaction.startswith("Parameter"):
- pm = iaction.split('|')[1]
- if "Modifier|Shift" in self.keyActions:
- print "shift key is on"
- if olpcgames.ACTIVITY:
- olpcgames.ACTIVITY.J2JToolbar.set_vertical_parameter(pm)
- else:
- self.Vparam = pm
- else:
- print "shift key is off"
- if olpcgames.ACTIVITY:
- olpcgames.ACTIVITY.J2JToolbar.set_horizontal_parameter(pm)
- else:
- self.Hparam = pm
- try:
- self.keyActions.remove(iaction)
- except ValueError: pass
- else: pass
- def stealInstrument(self, stealname, releasename = False, handle = False):
- "attempts to deactivate an instrument, and make it unavailable for selection"
- if not handle: handle = self.myself
- if stealname == self.selectedInstrument.name:
- log.info("ignoring request to steal %s: already active" %stealname)
- return False
- elif stealname in self.occupiedInstruments and not releasename:
- log.info ("ignoring request to steal %s: already occupied and no release instrument provided" %stealname)
- return False
- else:
- paneli = [pnli for pnli in self.PanelInstruments if pnli.name == stealname][0]
- self.occupiedInstruments.update({stealname:str(handle)})
- self.music_player.mutelist.append(stealname)
- if releasename:
- relname = releasename
- relpanel = [p for p in self.PanelInstruments if p.name == relname][0]
- try:
- del self.occupiedInstruments[relname]
- relpanel.Touch = True
- self.music_player.mutelist.remove(relname)
- except KeyError: pass
- except ValueError: pass
- paneli.Touch = True
- return True
- def requestInstrument(self, name):
- "instrument selections should go through this first. To request an instrument, you need to give one up"
- if name in self.occupiedInstruments:
- log.info('failed instrument selection, as instrument currently occupied')
- else:
- if self.connected and (self.sharer != self.myself):
- releasename = self.selectedInstrument.name
- iparams = getInstrumentParameters(self.scene, releasename)
- requestname = name
- mesh.send_to(self.sharer, 'JammerRequest|%s|%s|%s' %(releasename, requestname, iparams))
- else:
- self.reselectInstruments(name)
- if self.connected: mesh.broadcast('Occupied|%s' %self.occupiedInstruments)
- def receiveMessage(self, instruction, handle):
- if instruction.startswith("Welcome"):
- messages = instruction.split("|")
- self.sharer = handle
- jam_scene = messages[1]
- self.pending_instrument_assignment = [messages[2],messages[3]]
- self.select_activity_scene(jam_scene)
- if self.sharer != self.myself:
- olpcgames.ACTIVITY.J2JToolbar.deactivate_scene_change()
- elif instruction.startswith("Beat"):
- splitvals = instruction.split('|')
- receivedBeat = int(splitvals[1])
- time_now = now()
- self.beatEstimator.addBeat(receivedBeat, time_now)
- if abs(receivedBeat - self.beatEstimator.beat_match(time_now)) > 0.17:
- pass
- else:
- latency = (sum(self.latency) / len(self.latency))
- tmult = self.music_player.tempoMult
- latency = latency * 0.25 + 0.04 #this might be XO 1.0 specific
- beatadvance = int(ceil(latency * 1/tmult))
- scheduled_time = now() + ((beatadvance * tmult) - latency)
- self.music_player.Cease()
- self.music_player.playLoop(scheduled_time, (receivedBeat + beatadvance) % self.music_player.beatlimit)
- elif instruction.startswith("JammerRequest"):
- "In theory only the sharer ever gets this message"
- split = instruction.split('|')
- releasename = split[1]
- requestname = split[2]
- iparams = eval(split[3])
- stealresult = self.stealInstrument(requestname, releasename, handle)
- if stealresult:
- setInstrumentParameters(self.scene, releasename, iparams)
- rqparams = getInstrumentParameters(self.scene, requestname)
- mesh.send_to(handle, "AuthorisedInstrument|%s|%s" %(requestname, rqparams))
- mesh.broadcast('Occupied|%s' %self.occupiedInstruments)
- else:
- mesh.send_to(handle, "DeniedInstrument|%s")
- elif instruction.startswith("AuthorisedInstrument"):
- "In theory only a 'joiner' receives this message"
- msg = instruction.split('|')
- ai = msg[1]
- params = eval(msg[2])
- setInstrumentParameters(self.scene, ai, params)
- self.reselectInstruments(ai)
- elif instruction.startswith("DeniedInstrument"):
- di = instruction.split('|')[1]
- log.info("Instrument request for %s was denied by sharer." %di)
- elif instruction.startswith("Occupied"):
- insdict = eval(instruction.split('|')[1])
- self.occupiedInstruments = insdict
- for pni in self.PanelInstruments:
- if pni.name in insdict:
- pni.deactivate()
- else:
- pni.activate()
- elif instruction.startswith("LateReq"):
- id = instruction.split('|')[1]
- mesh.send_to(handle, "LateResp|%s" %id)
- elif instruction.startswith("LateResp"):
- id = int(instruction.split('|')[1])
- try:
- t = self.latency_time_ID[id]
- del self.latency_time_ID[id]
- result = (now() - t) / 2
- avglat = sum(self.latency) / len(self.latency)
- diffs = [(val - avglat) ** 2 for val in self.latency]
- stddev = sqrt(sum(diffs) / len(diffs))
- if id == 0:
- del self.latency[0]
- self.latency.append(result)
- elif result > (avglat + stddev):
- pass
- elif result < (avglat - stddev) and len(self.latency) > 6:
- pass
- elif len(self.latency) > 12:
- del self.latency[0]
- self.latency.append(result)
- else:
- self.latency.append(result)
- except KeyError:
- log.info('Unmatched time ID %s' %id)
- else:
- log.debug("UNKNOWN INSTRUCTION RECEIVED :%s", instruction)
- def reselectInstruments(self, name):
- "Swaps the instrument on screen and selects the active Panel Instruments available to this user"
- oldInstrument = self.selectedInstrument
- oldname = oldInstrument.name
- if (self.sharer == self.myself) or not self.connected:
- del self.occupiedInstruments[oldname]
- self.occupiedInstruments.update({name:str(self.myself)})
- self.screen.blit(self.backgroundImage, oldInstrument.Rect, oldInstrument.Rect)
- oldInstrument.Touch = False
- self.setselectedInstrument([i for i in self.TemplateInstruments if i.name == name][0])
- for w in self.PanelInstruments:
- if w.name == name or w.name == oldname:
- w.Touch = True
- if self.connected:
- if self.sharer == self.myself:
- self.music_player.mutelist = [j for j in self.occupiedInstruments if j != self.selectedInstrument.name]
- else:
- self.music_player.mutelist = [k.name for k in self.TemplateInstruments if k.name != self.selectedInstrument.name]
- def load_scene(self, name, key, mode, tempo, defaults = {}):
- self.music_player.freeze()
- self.music_player.cs.perf.Stop()
- self.music_player.cs.perf.Join()
- self.music_player.cs.csound.cleanup()
- sc = City.ScenePlayer(name, key, mode, tempo, defaults)
- mp = City.makePlayer(sc)
- global schedEvent, now
- schedEvent = sc.TimeQueue.schedEvent
- now = sc.cs.perfTime
- self.scene = sc
- self.music_player = mp
- self.music_player.playLoop(now())
- self.selectedInstrument.Touch = True
- self.music_player.picture_cycle = [self, True]
-
- def select_activity_scene(self, scene_name, key = None, mode = None, tempo = None, defaults = None):
- current_scene_name = self.scene.scene_name
- if scene_name == current_scene_name:
- if self.pending_instrument_assignment:
- self.receiveMessage("AuthorisedInstrument|%s|%s" %(self.pending_instrument_assignment[0], self.pending_instrument_assignment[1]), self.myself)
- elif not olpcgames.ACTIVITY:
- k = (key if key else 'G')
- m = (mode if mode else 'major')
- t = (int(tempo) if tempo else 164)
- d = (eval(defaults) if defaults else {})
- self.load_scene(scene_name, k,m,t,d)
- else:
- toolbar = olpcgames.ACTIVITY.J2JToolbar
- try:
- ndx = [n[0] for n in toolbar.scenes].index(scene_name)
- toolbar._Scene_combo.combo.set_active(ndx)
- except ValueError:
- log.info('request to change to unknown scene: %s', scene_name)
- def latency_checker(self):
- if self.sharer:
- self.latency_time_ID[self.latency_counter] = now()
- mesh.send_to(self.sharer, "LateReq|%s" %self.latency_counter)
- self.latency_counter += 1
- if self.latency_counter < 10:
- Timer(3.5, self.latency_checker, ()).start()
- elif self.latency_counter < 50:
- Timer(6.75, self.latency_checker, ()).start()
- else:
- log.info('turning off latency checking')
-
-#pygame main loop
-def main():
- # check automatic power management
- try:
- sugar_pm_check = subprocess.Popen("sugar-control-panel -g automatic_pm", shell=True, stdout=subprocess.PIPE)
- sugar_pm_result = sugar_pm_check.communicate()[0]
- if sugar_pm_result.startswith("on"):
- subprocess.Popen("sugar-control-panel -s automatic_pm off", shell=True)
- _spm_off = True
- else:
- _spm_off = False
- except OSError:
- _spm_off = False
- log.info("Failed to detect and set automatic power management")
- screenSize_X, screenSize_Y = (olpcgames.ACTIVITY.game_size if platform=="Sugar" else (1024,640))
- toolbarheight = 45
- screen = pygame.display.set_mode((screenSize_X, screenSize_Y - toolbarheight))
- a_,b_,c_,d_ = pygame.cursors.load_xbm("arrow40b.xbm", "arrow40b-mask.xbm")
- pygame.mouse.set_cursor(a_,b_,c_,d_)
- jam = jamScene(screen, tempo = 120)
- jam.runloop()
- pygame.quit()
- jam.music_player.freeze()
- jam.music_player.cs.perf.Stop()
- jam.music_player.cs.csound.cleanup()
- if _spm_off: subprocess.Popen("sugar-control-panel -s automatic_pm on", shell=True)
-
-if __name__ == '__main__':
- logging.basicConfig()
- print "running as main"
- main()
-