Merge pull request #261 from RobertGawron/feature/rev_5_0

Feature/rev 5 0
pull/263/head
Robert 2021-08-07 17:37:46 +02:00 zatwierdzone przez GitHub
commit f562f8569c
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
17 zmienionych plików z 398 dodań i 221 usunięć

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 88 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 94 KiB

Wyświetl plik

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="340pt" height="75pt" viewBox="0 0 340 75" version="1.1">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="407pt" height="75pt" viewBox="0 0 407 75" version="1.1">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
@ -15,95 +15,101 @@
<path style="stroke:none;" d="M 2.21875 -1.71875 C 1.34375 -1.71875 1.34375 -2.71875 1.34375 -2.9375 C 1.34375 -3.203125 1.359375 -3.53125 1.5 -3.78125 C 1.578125 -3.890625 1.8125 -4.171875 2.21875 -4.171875 C 3.078125 -4.171875 3.078125 -3.1875 3.078125 -2.953125 C 3.078125 -2.6875 3.078125 -2.359375 2.921875 -2.109375 C 2.84375 -2 2.609375 -1.71875 2.21875 -1.71875 Z M 1.0625 -1.328125 C 1.0625 -1.359375 1.0625 -1.59375 1.21875 -1.796875 C 1.609375 -1.515625 2.03125 -1.484375 2.21875 -1.484375 C 3.140625 -1.484375 3.828125 -2.171875 3.828125 -2.9375 C 3.828125 -3.3125 3.671875 -3.671875 3.421875 -3.90625 C 3.78125 -4.25 4.140625 -4.296875 4.3125 -4.296875 C 4.34375 -4.296875 4.390625 -4.296875 4.421875 -4.28125 C 4.3125 -4.25 4.25 -4.140625 4.25 -4.015625 C 4.25 -3.84375 4.390625 -3.734375 4.546875 -3.734375 C 4.640625 -3.734375 4.828125 -3.796875 4.828125 -4.03125 C 4.828125 -4.203125 4.71875 -4.515625 4.328125 -4.515625 C 4.125 -4.515625 3.6875 -4.453125 3.265625 -4.046875 C 2.84375 -4.375 2.4375 -4.40625 2.21875 -4.40625 C 1.28125 -4.40625 0.59375 -3.71875 0.59375 -2.953125 C 0.59375 -2.515625 0.8125 -2.140625 1.0625 -1.921875 C 0.9375 -1.78125 0.75 -1.453125 0.75 -1.09375 C 0.75 -0.78125 0.890625 -0.40625 1.203125 -0.203125 C 0.59375 -0.046875 0.28125 0.390625 0.28125 0.78125 C 0.28125 1.5 1.265625 2.046875 2.484375 2.046875 C 3.65625 2.046875 4.6875 1.546875 4.6875 0.765625 C 4.6875 0.421875 4.5625 -0.09375 4.046875 -0.375 C 3.515625 -0.640625 2.9375 -0.640625 2.328125 -0.640625 C 2.078125 -0.640625 1.65625 -0.640625 1.578125 -0.65625 C 1.265625 -0.703125 1.0625 -1 1.0625 -1.328125 Z M 2.5 1.828125 C 1.484375 1.828125 0.796875 1.3125 0.796875 0.78125 C 0.796875 0.328125 1.171875 -0.046875 1.609375 -0.0625 L 2.203125 -0.0625 C 3.0625 -0.0625 4.171875 -0.0625 4.171875 0.78125 C 4.171875 1.328125 3.46875 1.828125 2.5 1.828125 Z M 2.5 1.828125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 1.765625 -4.40625 L 0.375 -4.296875 L 0.375 -3.984375 C 1.015625 -3.984375 1.109375 -3.921875 1.109375 -3.4375 L 1.109375 -0.75 C 1.109375 -0.3125 1 -0.3125 0.328125 -0.3125 L 0.328125 0 C 0.640625 -0.015625 1.1875 -0.03125 1.421875 -0.03125 C 1.78125 -0.03125 2.125 -0.015625 2.46875 0 L 2.46875 -0.3125 C 1.796875 -0.3125 1.765625 -0.359375 1.765625 -0.75 Z M 1.796875 -6.140625 C 1.796875 -6.453125 1.5625 -6.671875 1.28125 -6.671875 C 0.96875 -6.671875 0.75 -6.40625 0.75 -6.140625 C 0.75 -5.875 0.96875 -5.609375 1.28125 -5.609375 C 1.5625 -5.609375 1.796875 -5.828125 1.796875 -6.140625 Z M 1.796875 -6.140625 "/>
<path style="stroke:none;" d="M 1.71875 -3.984375 L 3.15625 -3.984375 L 3.15625 -4.296875 L 1.71875 -4.296875 L 1.71875 -6.125 L 1.46875 -6.125 C 1.46875 -5.3125 1.171875 -4.25 0.1875 -4.203125 L 0.1875 -3.984375 L 1.03125 -3.984375 L 1.03125 -1.234375 C 1.03125 -0.015625 1.96875 0.109375 2.328125 0.109375 C 3.03125 0.109375 3.3125 -0.59375 3.3125 -1.234375 L 3.3125 -1.796875 L 3.0625 -1.796875 L 3.0625 -1.25 C 3.0625 -0.515625 2.765625 -0.140625 2.390625 -0.140625 C 1.71875 -0.140625 1.71875 -1.046875 1.71875 -1.21875 Z M 1.71875 -3.984375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 3.78125 -0.546875 L 3.78125 0.109375 L 5.25 0 L 5.25 -0.3125 C 4.5625 -0.3125 4.46875 -0.375 4.46875 -0.875 L 4.46875 -6.921875 L 3.046875 -6.8125 L 3.046875 -6.5 C 3.734375 -6.5 3.8125 -6.4375 3.8125 -5.9375 L 3.8125 -3.78125 C 3.53125 -4.140625 3.09375 -4.40625 2.5625 -4.40625 C 1.390625 -4.40625 0.34375 -3.421875 0.34375 -2.140625 C 0.34375 -0.875 1.3125 0.109375 2.453125 0.109375 C 3.09375 0.109375 3.53125 -0.234375 3.78125 -0.546875 Z M 3.78125 -3.21875 L 3.78125 -1.171875 C 3.78125 -1 3.78125 -0.984375 3.671875 -0.8125 C 3.375 -0.328125 2.9375 -0.109375 2.5 -0.109375 C 2.046875 -0.109375 1.6875 -0.375 1.453125 -0.75 C 1.203125 -1.15625 1.171875 -1.71875 1.171875 -2.140625 C 1.171875 -2.5 1.1875 -3.09375 1.46875 -3.546875 C 1.6875 -3.859375 2.0625 -4.1875 2.609375 -4.1875 C 2.953125 -4.1875 3.375 -4.03125 3.671875 -3.59375 C 3.78125 -3.421875 3.78125 -3.40625 3.78125 -3.21875 Z M 3.78125 -3.21875 "/>
<path style="stroke:none;" d="M 4.140625 -3.34375 C 4.390625 -3.984375 4.90625 -3.984375 5.0625 -3.984375 L 5.0625 -4.296875 C 4.828125 -4.28125 4.546875 -4.265625 4.3125 -4.265625 C 4.140625 -4.265625 3.671875 -4.28125 3.453125 -4.296875 L 3.453125 -3.984375 C 3.765625 -3.984375 3.921875 -3.8125 3.921875 -3.5625 C 3.921875 -3.453125 3.90625 -3.4375 3.859375 -3.3125 L 2.84375 -0.875 L 1.75 -3.546875 C 1.703125 -3.65625 1.6875 -3.6875 1.6875 -3.734375 C 1.6875 -3.984375 2.046875 -3.984375 2.25 -3.984375 L 2.25 -4.296875 C 1.984375 -4.28125 1.328125 -4.265625 1.15625 -4.265625 C 0.890625 -4.265625 0.484375 -4.28125 0.1875 -4.296875 L 0.1875 -3.984375 C 0.671875 -3.984375 0.859375 -3.984375 1 -3.640625 L 2.5 0 C 2.4375 0.125 2.296875 0.453125 2.25 0.59375 C 2.03125 1.140625 1.75 1.828125 1.109375 1.828125 C 1.0625 1.828125 0.828125 1.828125 0.640625 1.640625 C 0.953125 1.609375 1.03125 1.390625 1.03125 1.21875 C 1.03125 0.96875 0.84375 0.8125 0.609375 0.8125 C 0.40625 0.8125 0.1875 0.9375 0.1875 1.234375 C 0.1875 1.6875 0.609375 2.046875 1.109375 2.046875 C 1.734375 2.046875 2.140625 1.46875 2.375 0.90625 Z M 4.140625 -3.34375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 1.765625 -6.921875 L 0.328125 -6.8125 L 0.328125 -6.5 C 1.03125 -6.5 1.109375 -6.4375 1.109375 -5.9375 L 1.109375 -0.75 C 1.109375 -0.3125 1 -0.3125 0.328125 -0.3125 L 0.328125 0 C 0.65625 -0.015625 1.1875 -0.03125 1.4375 -0.03125 C 1.6875 -0.03125 2.171875 -0.015625 2.546875 0 L 2.546875 -0.3125 C 1.875 -0.3125 1.765625 -0.3125 1.765625 -0.75 Z M 1.765625 -6.921875 "/>
<path style="stroke:none;" d="M 1.71875 -3.75 L 1.71875 -4.40625 L 0.28125 -4.296875 L 0.28125 -3.984375 C 0.984375 -3.984375 1.0625 -3.921875 1.0625 -3.484375 L 1.0625 1.171875 C 1.0625 1.625 0.953125 1.625 0.28125 1.625 L 0.28125 1.9375 C 0.625 1.921875 1.140625 1.90625 1.390625 1.90625 C 1.671875 1.90625 2.171875 1.921875 2.515625 1.9375 L 2.515625 1.625 C 1.859375 1.625 1.75 1.625 1.75 1.171875 L 1.75 -0.59375 C 1.796875 -0.421875 2.21875 0.109375 2.96875 0.109375 C 4.15625 0.109375 5.1875 -0.875 5.1875 -2.15625 C 5.1875 -3.421875 4.234375 -4.40625 3.109375 -4.40625 C 2.328125 -4.40625 1.90625 -3.96875 1.71875 -3.75 Z M 1.75 -1.140625 L 1.75 -3.359375 C 2.03125 -3.875 2.515625 -4.15625 3.03125 -4.15625 C 3.765625 -4.15625 4.359375 -3.28125 4.359375 -2.15625 C 4.359375 -0.953125 3.671875 -0.109375 2.9375 -0.109375 C 2.53125 -0.109375 2.15625 -0.3125 1.890625 -0.71875 C 1.75 -0.921875 1.75 -0.9375 1.75 -1.140625 Z M 1.75 -1.140625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 1.109375 -2.515625 C 1.171875 -4 2.015625 -4.25 2.359375 -4.25 C 3.375 -4.25 3.484375 -2.90625 3.484375 -2.515625 Z M 1.109375 -2.296875 L 3.890625 -2.296875 C 4.109375 -2.296875 4.140625 -2.296875 4.140625 -2.515625 C 4.140625 -3.5 3.59375 -4.46875 2.359375 -4.46875 C 1.203125 -4.46875 0.28125 -3.4375 0.28125 -2.1875 C 0.28125 -0.859375 1.328125 0.109375 2.46875 0.109375 C 3.6875 0.109375 4.140625 -1 4.140625 -1.1875 C 4.140625 -1.28125 4.0625 -1.3125 4 -1.3125 C 3.921875 -1.3125 3.890625 -1.25 3.875 -1.171875 C 3.53125 -0.140625 2.625 -0.140625 2.53125 -0.140625 C 2.03125 -0.140625 1.640625 -0.4375 1.40625 -0.8125 C 1.109375 -1.28125 1.109375 -1.9375 1.109375 -2.296875 Z M 1.109375 -2.296875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 1.09375 -3.421875 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 C 0.671875 -0.015625 1.171875 -0.03125 1.453125 -0.03125 C 1.703125 -0.03125 2.21875 -0.015625 2.5625 0 L 2.5625 -0.3125 C 1.890625 -0.3125 1.78125 -0.3125 1.78125 -0.75 L 1.78125 -2.59375 C 1.78125 -3.625 2.5 -4.1875 3.125 -4.1875 C 3.765625 -4.1875 3.875 -3.65625 3.875 -3.078125 L 3.875 -0.75 C 3.875 -0.3125 3.765625 -0.3125 3.09375 -0.3125 L 3.09375 0 C 3.4375 -0.015625 3.953125 -0.03125 4.21875 -0.03125 C 4.46875 -0.03125 5 -0.015625 5.328125 0 L 5.328125 -0.3125 C 4.8125 -0.3125 4.5625 -0.3125 4.5625 -0.609375 L 4.5625 -2.515625 C 4.5625 -3.375 4.5625 -3.671875 4.25 -4.03125 C 4.109375 -4.203125 3.78125 -4.40625 3.203125 -4.40625 C 2.46875 -4.40625 2 -3.984375 1.71875 -3.359375 L 1.71875 -4.40625 L 0.3125 -4.296875 L 0.3125 -3.984375 C 1.015625 -3.984375 1.09375 -3.921875 1.09375 -3.421875 Z M 1.09375 -3.421875 "/>
<path style="stroke:none;" d="M 1.765625 -6.921875 L 0.328125 -6.8125 L 0.328125 -6.5 C 1.03125 -6.5 1.109375 -6.4375 1.109375 -5.9375 L 1.109375 -0.75 C 1.109375 -0.3125 1 -0.3125 0.328125 -0.3125 L 0.328125 0 C 0.65625 -0.015625 1.1875 -0.03125 1.4375 -0.03125 C 1.6875 -0.03125 2.171875 -0.015625 2.546875 0 L 2.546875 -0.3125 C 1.875 -0.3125 1.765625 -0.3125 1.765625 -0.75 Z M 1.765625 -6.921875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-9">
<path style="stroke:none;" d="M 1.71875 -3.984375 L 3.15625 -3.984375 L 3.15625 -4.296875 L 1.71875 -4.296875 L 1.71875 -6.125 L 1.46875 -6.125 C 1.46875 -5.3125 1.171875 -4.25 0.1875 -4.203125 L 0.1875 -3.984375 L 1.03125 -3.984375 L 1.03125 -1.234375 C 1.03125 -0.015625 1.96875 0.109375 2.328125 0.109375 C 3.03125 0.109375 3.3125 -0.59375 3.3125 -1.234375 L 3.3125 -1.796875 L 3.0625 -1.796875 L 3.0625 -1.25 C 3.0625 -0.515625 2.765625 -0.140625 2.390625 -0.140625 C 1.71875 -0.140625 1.71875 -1.046875 1.71875 -1.21875 Z M 1.71875 -3.984375 "/>
<path style="stroke:none;" d="M 1.09375 -3.421875 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 C 0.671875 -0.015625 1.171875 -0.03125 1.453125 -0.03125 C 1.703125 -0.03125 2.21875 -0.015625 2.5625 0 L 2.5625 -0.3125 C 1.890625 -0.3125 1.78125 -0.3125 1.78125 -0.75 L 1.78125 -2.59375 C 1.78125 -3.625 2.5 -4.1875 3.125 -4.1875 C 3.765625 -4.1875 3.875 -3.65625 3.875 -3.078125 L 3.875 -0.75 C 3.875 -0.3125 3.765625 -0.3125 3.09375 -0.3125 L 3.09375 0 C 3.4375 -0.015625 3.953125 -0.03125 4.21875 -0.03125 C 4.46875 -0.03125 5 -0.015625 5.328125 0 L 5.328125 -0.3125 C 4.8125 -0.3125 4.5625 -0.3125 4.5625 -0.609375 L 4.5625 -2.515625 C 4.5625 -3.375 4.5625 -3.671875 4.25 -4.03125 C 4.109375 -4.203125 3.78125 -4.40625 3.203125 -4.40625 C 2.46875 -4.40625 2 -3.984375 1.71875 -3.359375 L 1.71875 -4.40625 L 0.3125 -4.296875 L 0.3125 -3.984375 C 1.015625 -3.984375 1.09375 -3.921875 1.09375 -3.421875 Z M 1.09375 -3.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-10">
<path style="stroke:none;" d="M 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 C 0.671875 -0.015625 1.171875 -0.03125 1.453125 -0.03125 C 1.703125 -0.03125 2.21875 -0.015625 2.5625 0 L 2.5625 -0.3125 C 1.890625 -0.3125 1.78125 -0.3125 1.78125 -0.75 L 1.78125 -2.59375 C 1.78125 -3.625 2.5 -4.1875 3.125 -4.1875 C 3.765625 -4.1875 3.875 -3.65625 3.875 -3.078125 L 3.875 -0.75 C 3.875 -0.3125 3.765625 -0.3125 3.09375 -0.3125 L 3.09375 0 C 3.4375 -0.015625 3.953125 -0.03125 4.21875 -0.03125 C 4.46875 -0.03125 5 -0.015625 5.328125 0 L 5.328125 -0.3125 C 4.8125 -0.3125 4.5625 -0.3125 4.5625 -0.609375 L 4.5625 -2.515625 C 4.5625 -3.375 4.5625 -3.671875 4.25 -4.03125 C 4.109375 -4.203125 3.78125 -4.40625 3.203125 -4.40625 C 2.359375 -4.40625 1.921875 -3.8125 1.75 -3.421875 L 1.75 -6.921875 L 0.3125 -6.8125 L 0.3125 -6.5 C 1.015625 -6.5 1.09375 -6.4375 1.09375 -5.9375 Z M 1.09375 -0.75 "/>
</symbol>
<symbol overflow="visible" id="glyph0-11">
<path style="stroke:none;" d="M 3.96875 -6.9375 C 3.921875 -7.0625 3.890625 -7.140625 3.734375 -7.140625 C 3.578125 -7.140625 3.546875 -7.078125 3.5 -6.9375 L 1.4375 -0.984375 C 1.25 -0.46875 0.859375 -0.3125 0.3125 -0.3125 L 0.3125 0 C 0.546875 -0.015625 0.984375 -0.03125 1.328125 -0.03125 C 1.640625 -0.03125 2.15625 -0.015625 2.484375 0 L 2.484375 -0.3125 C 1.984375 -0.3125 1.734375 -0.5625 1.734375 -0.8125 C 1.734375 -0.84375 1.75 -0.953125 1.75 -0.96875 L 2.21875 -2.265625 L 4.671875 -2.265625 L 5.203125 -0.75 C 5.21875 -0.703125 5.234375 -0.640625 5.234375 -0.609375 C 5.234375 -0.3125 4.671875 -0.3125 4.40625 -0.3125 L 4.40625 0 C 4.765625 -0.03125 5.46875 -0.03125 5.84375 -0.03125 C 6.265625 -0.03125 6.734375 -0.015625 7.140625 0 L 7.140625 -0.3125 L 6.96875 -0.3125 C 6.375 -0.3125 6.234375 -0.375 6.125 -0.703125 Z M 3.4375 -5.828125 L 4.5625 -2.578125 L 2.328125 -2.578125 Z M 3.4375 -5.828125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-12">
<path style="stroke:none;" d="M 0.34375 -6.8125 L 0.34375 -6.5 L 0.59375 -6.5 C 1.359375 -6.5 1.375 -6.390625 1.375 -6.03125 L 1.375 -0.78125 C 1.375 -0.421875 1.359375 -0.3125 0.59375 -0.3125 L 0.34375 -0.3125 L 0.34375 0 L 4 0 C 5.671875 0 7.046875 -1.46875 7.046875 -3.34375 C 7.046875 -5.25 5.703125 -6.8125 4 -6.8125 Z M 2.71875 -0.3125 C 2.25 -0.3125 2.234375 -0.375 2.234375 -0.703125 L 2.234375 -6.09375 C 2.234375 -6.4375 2.25 -6.5 2.71875 -6.5 L 3.71875 -6.5 C 4.34375 -6.5 5.03125 -6.28125 5.53125 -5.578125 C 5.96875 -4.984375 6.046875 -4.125 6.046875 -3.34375 C 6.046875 -2.25 5.859375 -1.640625 5.5 -1.15625 C 5.296875 -0.890625 4.734375 -0.3125 3.734375 -0.3125 Z M 2.71875 -0.3125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-13">
<path style="stroke:none;" d="M 0.5625 -3.40625 C 0.5625 -1.34375 2.171875 0.21875 4.03125 0.21875 C 5.65625 0.21875 6.625 -1.171875 6.625 -2.328125 C 6.625 -2.421875 6.625 -2.5 6.5 -2.5 C 6.390625 -2.5 6.390625 -2.4375 6.375 -2.328125 C 6.296875 -0.90625 5.234375 -0.09375 4.140625 -0.09375 C 3.53125 -0.09375 1.578125 -0.421875 1.578125 -3.40625 C 1.578125 -6.375 3.53125 -6.71875 4.140625 -6.71875 C 5.21875 -6.71875 6.109375 -5.8125 6.3125 -4.359375 C 6.328125 -4.21875 6.328125 -4.1875 6.46875 -4.1875 C 6.625 -4.1875 6.625 -4.21875 6.625 -4.421875 L 6.625 -6.78125 C 6.625 -6.953125 6.625 -7.03125 6.515625 -7.03125 C 6.484375 -7.03125 6.4375 -7.03125 6.359375 -6.90625 L 5.859375 -6.171875 C 5.5 -6.53125 4.984375 -7.03125 4.03125 -7.03125 C 2.15625 -7.03125 0.5625 -5.4375 0.5625 -3.40625 Z M 0.5625 -3.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-14">
<path style="stroke:none;" d="M 1.171875 -2.171875 C 1.171875 -3.796875 1.984375 -4.21875 2.515625 -4.21875 C 2.609375 -4.21875 3.234375 -4.203125 3.578125 -3.84375 C 3.171875 -3.8125 3.109375 -3.515625 3.109375 -3.390625 C 3.109375 -3.125 3.296875 -2.9375 3.5625 -2.9375 C 3.828125 -2.9375 4.03125 -3.09375 4.03125 -3.40625 C 4.03125 -4.078125 3.265625 -4.46875 2.5 -4.46875 C 1.25 -4.46875 0.34375 -3.390625 0.34375 -2.15625 C 0.34375 -0.875 1.328125 0.109375 2.484375 0.109375 C 3.8125 0.109375 4.140625 -1.09375 4.140625 -1.1875 C 4.140625 -1.28125 4.03125 -1.28125 4 -1.28125 C 3.921875 -1.28125 3.890625 -1.25 3.875 -1.1875 C 3.59375 -0.265625 2.9375 -0.140625 2.578125 -0.140625 C 2.046875 -0.140625 1.171875 -0.5625 1.171875 -2.171875 Z M 1.171875 -2.171875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-15">
<symbol overflow="visible" id="glyph0-12">
<path style="stroke:none;" d="M 4.6875 -2.140625 C 4.6875 -3.40625 3.703125 -4.46875 2.5 -4.46875 C 1.25 -4.46875 0.28125 -3.375 0.28125 -2.140625 C 0.28125 -0.84375 1.3125 0.109375 2.484375 0.109375 C 3.6875 0.109375 4.6875 -0.875 4.6875 -2.140625 Z M 2.5 -0.140625 C 2.0625 -0.140625 1.625 -0.34375 1.359375 -0.8125 C 1.109375 -1.25 1.109375 -1.859375 1.109375 -2.21875 C 1.109375 -2.609375 1.109375 -3.140625 1.34375 -3.578125 C 1.609375 -4.03125 2.078125 -4.25 2.484375 -4.25 C 2.921875 -4.25 3.34375 -4.03125 3.609375 -3.59375 C 3.875 -3.171875 3.875 -2.59375 3.875 -2.21875 C 3.875 -1.859375 3.875 -1.3125 3.65625 -0.875 C 3.421875 -0.421875 2.984375 -0.140625 2.5 -0.140625 Z M 2.5 -0.140625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-16">
<path style="stroke:none;" d="M 3.296875 -3.984375 C 3.75 -3.984375 3.8125 -3.859375 3.8125 -3.453125 L 3.8125 -0.75 C 3.8125 -0.3125 3.703125 -0.3125 3.046875 -0.3125 L 3.046875 0 C 3.375 -0.015625 3.890625 -0.03125 4.140625 -0.03125 C 4.390625 -0.03125 4.890625 -0.015625 5.25 0 L 5.25 -0.3125 C 4.578125 -0.3125 4.46875 -0.3125 4.46875 -0.75 L 4.46875 -4.421875 L 3.21875 -4.328125 C 3.0625 -4.3125 3.046875 -4.3125 3.046875 -4.3125 C 3.015625 -4.296875 3 -4.296875 2.859375 -4.296875 L 1.6875 -4.296875 L 1.6875 -5.421875 C 1.6875 -6.40625 2.546875 -6.8125 3.15625 -6.8125 C 3.453125 -6.8125 3.8125 -6.703125 4.015625 -6.484375 C 3.609375 -6.453125 3.546875 -6.1875 3.546875 -6.015625 C 3.546875 -5.6875 3.8125 -5.5625 4 -5.5625 C 4.234375 -5.5625 4.453125 -5.71875 4.453125 -6.015625 C 4.453125 -6.609375 3.90625 -7.03125 3.171875 -7.03125 C 2.25 -7.03125 1.0625 -6.515625 1.0625 -5.4375 L 1.0625 -4.296875 L 0.265625 -4.296875 L 0.265625 -3.984375 L 1.0625 -3.984375 L 1.0625 -0.75 C 1.0625 -0.3125 0.953125 -0.3125 0.28125 -0.3125 L 0.28125 0 C 0.609375 -0.015625 1.140625 -0.03125 1.390625 -0.03125 C 1.640625 -0.03125 2.125 -0.015625 2.5 0 L 2.5 -0.3125 C 1.828125 -0.3125 1.71875 -0.3125 1.71875 -0.75 L 1.71875 -3.984375 Z M 3.296875 -3.984375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-17">
<symbol overflow="visible" id="glyph0-13">
<path style="stroke:none;" d="M 3.890625 -0.78125 L 3.890625 0.109375 L 5.328125 0 L 5.328125 -0.3125 C 4.640625 -0.3125 4.5625 -0.375 4.5625 -0.875 L 4.5625 -4.40625 L 3.09375 -4.296875 L 3.09375 -3.984375 C 3.78125 -3.984375 3.875 -3.921875 3.875 -3.421875 L 3.875 -1.65625 C 3.875 -0.78125 3.390625 -0.109375 2.65625 -0.109375 C 1.828125 -0.109375 1.78125 -0.578125 1.78125 -1.09375 L 1.78125 -4.40625 L 0.3125 -4.296875 L 0.3125 -3.984375 C 1.09375 -3.984375 1.09375 -3.953125 1.09375 -3.078125 L 1.09375 -1.578125 C 1.09375 -0.796875 1.09375 0.109375 2.609375 0.109375 C 3.171875 0.109375 3.609375 -0.171875 3.890625 -0.78125 Z M 3.890625 -0.78125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-18">
<symbol overflow="visible" id="glyph0-14">
<path style="stroke:none;" d="M 1.671875 -3.3125 L 1.671875 -4.40625 L 0.28125 -4.296875 L 0.28125 -3.984375 C 0.984375 -3.984375 1.0625 -3.921875 1.0625 -3.421875 L 1.0625 -0.75 C 1.0625 -0.3125 0.953125 -0.3125 0.28125 -0.3125 L 0.28125 0 C 0.671875 -0.015625 1.140625 -0.03125 1.421875 -0.03125 C 1.8125 -0.03125 2.28125 -0.03125 2.6875 0 L 2.6875 -0.3125 L 2.46875 -0.3125 C 1.734375 -0.3125 1.71875 -0.421875 1.71875 -0.78125 L 1.71875 -2.3125 C 1.71875 -3.296875 2.140625 -4.1875 2.890625 -4.1875 C 2.953125 -4.1875 2.984375 -4.1875 3 -4.171875 C 2.96875 -4.171875 2.765625 -4.046875 2.765625 -3.78125 C 2.765625 -3.515625 2.984375 -3.359375 3.203125 -3.359375 C 3.375 -3.359375 3.625 -3.484375 3.625 -3.796875 C 3.625 -4.109375 3.3125 -4.40625 2.890625 -4.40625 C 2.15625 -4.40625 1.796875 -3.734375 1.671875 -3.3125 Z M 1.671875 -3.3125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-15">
<path style="stroke:none;" d="M 3.96875 -6.9375 C 3.921875 -7.0625 3.890625 -7.140625 3.734375 -7.140625 C 3.578125 -7.140625 3.546875 -7.078125 3.5 -6.9375 L 1.4375 -0.984375 C 1.25 -0.46875 0.859375 -0.3125 0.3125 -0.3125 L 0.3125 0 C 0.546875 -0.015625 0.984375 -0.03125 1.328125 -0.03125 C 1.640625 -0.03125 2.15625 -0.015625 2.484375 0 L 2.484375 -0.3125 C 1.984375 -0.3125 1.734375 -0.5625 1.734375 -0.8125 C 1.734375 -0.84375 1.75 -0.953125 1.75 -0.96875 L 2.21875 -2.265625 L 4.671875 -2.265625 L 5.203125 -0.75 C 5.21875 -0.703125 5.234375 -0.640625 5.234375 -0.609375 C 5.234375 -0.3125 4.671875 -0.3125 4.40625 -0.3125 L 4.40625 0 C 4.765625 -0.03125 5.46875 -0.03125 5.84375 -0.03125 C 6.265625 -0.03125 6.734375 -0.015625 7.140625 0 L 7.140625 -0.3125 L 6.96875 -0.3125 C 6.375 -0.3125 6.234375 -0.375 6.125 -0.703125 Z M 3.4375 -5.828125 L 4.5625 -2.578125 L 2.328125 -2.578125 Z M 3.4375 -5.828125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-16">
<path style="stroke:none;" d="M 0.34375 -6.8125 L 0.34375 -6.5 L 0.59375 -6.5 C 1.359375 -6.5 1.375 -6.390625 1.375 -6.03125 L 1.375 -0.78125 C 1.375 -0.421875 1.359375 -0.3125 0.59375 -0.3125 L 0.34375 -0.3125 L 0.34375 0 L 4 0 C 5.671875 0 7.046875 -1.46875 7.046875 -3.34375 C 7.046875 -5.25 5.703125 -6.8125 4 -6.8125 Z M 2.71875 -0.3125 C 2.25 -0.3125 2.234375 -0.375 2.234375 -0.703125 L 2.234375 -6.09375 C 2.234375 -6.4375 2.25 -6.5 2.71875 -6.5 L 3.71875 -6.5 C 4.34375 -6.5 5.03125 -6.28125 5.53125 -5.578125 C 5.96875 -4.984375 6.046875 -4.125 6.046875 -3.34375 C 6.046875 -2.25 5.859375 -1.640625 5.5 -1.15625 C 5.296875 -0.890625 4.734375 -0.3125 3.734375 -0.3125 Z M 2.71875 -0.3125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-17">
<path style="stroke:none;" d="M 0.5625 -3.40625 C 0.5625 -1.34375 2.171875 0.21875 4.03125 0.21875 C 5.65625 0.21875 6.625 -1.171875 6.625 -2.328125 C 6.625 -2.421875 6.625 -2.5 6.5 -2.5 C 6.390625 -2.5 6.390625 -2.4375 6.375 -2.328125 C 6.296875 -0.90625 5.234375 -0.09375 4.140625 -0.09375 C 3.53125 -0.09375 1.578125 -0.421875 1.578125 -3.40625 C 1.578125 -6.375 3.53125 -6.71875 4.140625 -6.71875 C 5.21875 -6.71875 6.109375 -5.8125 6.3125 -4.359375 C 6.328125 -4.21875 6.328125 -4.1875 6.46875 -4.1875 C 6.625 -4.1875 6.625 -4.21875 6.625 -4.421875 L 6.625 -6.78125 C 6.625 -6.953125 6.625 -7.03125 6.515625 -7.03125 C 6.484375 -7.03125 6.4375 -7.03125 6.359375 -6.90625 L 5.859375 -6.171875 C 5.5 -6.53125 4.984375 -7.03125 4.03125 -7.03125 C 2.15625 -7.03125 0.5625 -5.4375 0.5625 -3.40625 Z M 0.5625 -3.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-18">
<path style="stroke:none;" d="M 3.296875 -3.984375 C 3.75 -3.984375 3.8125 -3.859375 3.8125 -3.453125 L 3.8125 -0.75 C 3.8125 -0.3125 3.703125 -0.3125 3.046875 -0.3125 L 3.046875 0 C 3.375 -0.015625 3.890625 -0.03125 4.140625 -0.03125 C 4.390625 -0.03125 4.890625 -0.015625 5.25 0 L 5.25 -0.3125 C 4.578125 -0.3125 4.46875 -0.3125 4.46875 -0.75 L 4.46875 -4.421875 L 3.21875 -4.328125 C 3.0625 -4.3125 3.046875 -4.3125 3.046875 -4.3125 C 3.015625 -4.296875 3 -4.296875 2.859375 -4.296875 L 1.6875 -4.296875 L 1.6875 -5.421875 C 1.6875 -6.40625 2.546875 -6.8125 3.15625 -6.8125 C 3.453125 -6.8125 3.8125 -6.703125 4.015625 -6.484375 C 3.609375 -6.453125 3.546875 -6.1875 3.546875 -6.015625 C 3.546875 -5.6875 3.8125 -5.5625 4 -5.5625 C 4.234375 -5.5625 4.453125 -5.71875 4.453125 -6.015625 C 4.453125 -6.609375 3.90625 -7.03125 3.171875 -7.03125 C 2.25 -7.03125 1.0625 -6.515625 1.0625 -5.4375 L 1.0625 -4.296875 L 0.265625 -4.296875 L 0.265625 -3.984375 L 1.0625 -3.984375 L 1.0625 -0.75 C 1.0625 -0.3125 0.953125 -0.3125 0.28125 -0.3125 L 0.28125 0 C 0.609375 -0.015625 1.140625 -0.03125 1.390625 -0.03125 C 1.640625 -0.03125 2.125 -0.015625 2.5 0 L 2.5 -0.3125 C 1.828125 -0.3125 1.71875 -0.3125 1.71875 -0.75 L 1.71875 -3.984375 Z M 3.296875 -3.984375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-19">
<path style="stroke:none;" d="M 3.3125 -0.75 C 3.359375 -0.359375 3.625 0.0625 4.09375 0.0625 C 4.3125 0.0625 4.921875 -0.078125 4.921875 -0.890625 L 4.921875 -1.453125 L 4.671875 -1.453125 L 4.671875 -0.890625 C 4.671875 -0.3125 4.421875 -0.25 4.3125 -0.25 C 3.984375 -0.25 3.9375 -0.703125 3.9375 -0.75 L 3.9375 -2.734375 C 3.9375 -3.15625 3.9375 -3.546875 3.578125 -3.921875 C 3.1875 -4.3125 2.6875 -4.46875 2.21875 -4.46875 C 1.390625 -4.46875 0.703125 -4 0.703125 -3.34375 C 0.703125 -3.046875 0.90625 -2.875 1.171875 -2.875 C 1.453125 -2.875 1.625 -3.078125 1.625 -3.328125 C 1.625 -3.453125 1.578125 -3.78125 1.109375 -3.78125 C 1.390625 -4.140625 1.875 -4.25 2.1875 -4.25 C 2.6875 -4.25 3.25 -3.859375 3.25 -2.96875 L 3.25 -2.609375 C 2.734375 -2.578125 2.046875 -2.546875 1.421875 -2.25 C 0.671875 -1.90625 0.421875 -1.390625 0.421875 -0.953125 C 0.421875 -0.140625 1.390625 0.109375 2.015625 0.109375 C 2.671875 0.109375 3.125 -0.296875 3.3125 -0.75 Z M 3.25 -2.390625 L 3.25 -1.390625 C 3.25 -0.453125 2.53125 -0.109375 2.078125 -0.109375 C 1.59375 -0.109375 1.1875 -0.453125 1.1875 -0.953125 C 1.1875 -1.5 1.609375 -2.328125 3.25 -2.390625 Z M 3.25 -2.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-20">
<path style="stroke:none;" d="M 2.40625 -6.59375 C 2.3125 -6.8125 2.28125 -6.8125 2.046875 -6.8125 L 0.375 -6.8125 L 0.375 -6.5 L 0.609375 -6.5 C 1.375 -6.5 1.390625 -6.390625 1.390625 -6.03125 L 1.390625 -1.046875 C 1.390625 -0.78125 1.390625 -0.3125 0.375 -0.3125 L 0.375 0 C 0.71875 -0.015625 1.203125 -0.03125 1.53125 -0.03125 C 1.859375 -0.03125 2.359375 -0.015625 2.703125 0 L 2.703125 -0.3125 C 1.671875 -0.3125 1.671875 -0.78125 1.671875 -1.046875 L 1.671875 -6.421875 L 1.6875 -6.421875 L 4.09375 -0.21875 C 4.140625 -0.09375 4.1875 0 4.28125 0 C 4.390625 0 4.421875 -0.078125 4.46875 -0.1875 L 6.921875 -6.5 L 6.921875 -0.78125 C 6.921875 -0.421875 6.90625 -0.3125 6.140625 -0.3125 L 5.90625 -0.3125 L 5.90625 0 C 6.265625 -0.03125 6.953125 -0.03125 7.34375 -0.03125 C 7.71875 -0.03125 8.390625 -0.03125 8.765625 0 L 8.765625 -0.3125 L 8.515625 -0.3125 C 7.75 -0.3125 7.734375 -0.421875 7.734375 -0.78125 L 7.734375 -6.03125 C 7.734375 -6.390625 7.75 -6.5 8.515625 -6.5 L 8.765625 -6.5 L 8.765625 -6.8125 L 7.078125 -6.8125 C 6.8125 -6.8125 6.8125 -6.796875 6.75 -6.625 L 4.5625 -1 Z M 2.40625 -6.59375 "/>
<path style="stroke:none;" d="M 1.765625 -4.40625 L 0.375 -4.296875 L 0.375 -3.984375 C 1.015625 -3.984375 1.109375 -3.921875 1.109375 -3.4375 L 1.109375 -0.75 C 1.109375 -0.3125 1 -0.3125 0.328125 -0.3125 L 0.328125 0 C 0.640625 -0.015625 1.1875 -0.03125 1.421875 -0.03125 C 1.78125 -0.03125 2.125 -0.015625 2.46875 0 L 2.46875 -0.3125 C 1.796875 -0.3125 1.765625 -0.359375 1.765625 -0.75 Z M 1.796875 -6.140625 C 1.796875 -6.453125 1.5625 -6.671875 1.28125 -6.671875 C 0.96875 -6.671875 0.75 -6.40625 0.75 -6.140625 C 0.75 -5.875 0.96875 -5.609375 1.28125 -5.609375 C 1.5625 -5.609375 1.796875 -5.828125 1.796875 -6.140625 Z M 1.796875 -6.140625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-21">
<path style="stroke:none;" d="M 3.484375 -3.875 L 2.203125 -4.171875 C 1.578125 -4.328125 1.203125 -4.859375 1.203125 -5.4375 C 1.203125 -6.140625 1.734375 -6.75 2.515625 -6.75 C 4.171875 -6.75 4.390625 -5.109375 4.453125 -4.671875 C 4.46875 -4.609375 4.46875 -4.546875 4.578125 -4.546875 C 4.703125 -4.546875 4.703125 -4.59375 4.703125 -4.78125 L 4.703125 -6.78125 C 4.703125 -6.953125 4.703125 -7.03125 4.59375 -7.03125 C 4.53125 -7.03125 4.515625 -7.015625 4.453125 -6.890625 L 4.09375 -6.328125 C 3.796875 -6.625 3.390625 -7.03125 2.5 -7.03125 C 1.390625 -7.03125 0.5625 -6.15625 0.5625 -5.09375 C 0.5625 -4.265625 1.09375 -3.53125 1.859375 -3.265625 C 1.96875 -3.234375 2.484375 -3.109375 3.1875 -2.9375 C 3.453125 -2.875 3.75 -2.796875 4.03125 -2.4375 C 4.234375 -2.171875 4.34375 -1.84375 4.34375 -1.515625 C 4.34375 -0.8125 3.84375 -0.09375 3 -0.09375 C 2.71875 -0.09375 1.953125 -0.140625 1.421875 -0.625 C 0.84375 -1.171875 0.8125 -1.796875 0.8125 -2.15625 C 0.796875 -2.265625 0.71875 -2.265625 0.6875 -2.265625 C 0.5625 -2.265625 0.5625 -2.1875 0.5625 -2.015625 L 0.5625 -0.015625 C 0.5625 0.15625 0.5625 0.21875 0.671875 0.21875 C 0.734375 0.21875 0.75 0.203125 0.8125 0.09375 C 0.8125 0.078125 0.84375 0.046875 1.171875 -0.484375 C 1.484375 -0.140625 2.125 0.21875 3.015625 0.21875 C 4.171875 0.21875 4.96875 -0.75 4.96875 -1.859375 C 4.96875 -2.84375 4.3125 -3.671875 3.484375 -3.875 Z M 3.484375 -3.875 "/>
<path style="stroke:none;" d="M 2.40625 -6.59375 C 2.3125 -6.8125 2.28125 -6.8125 2.046875 -6.8125 L 0.375 -6.8125 L 0.375 -6.5 L 0.609375 -6.5 C 1.375 -6.5 1.390625 -6.390625 1.390625 -6.03125 L 1.390625 -1.046875 C 1.390625 -0.78125 1.390625 -0.3125 0.375 -0.3125 L 0.375 0 C 0.71875 -0.015625 1.203125 -0.03125 1.53125 -0.03125 C 1.859375 -0.03125 2.359375 -0.015625 2.703125 0 L 2.703125 -0.3125 C 1.671875 -0.3125 1.671875 -0.78125 1.671875 -1.046875 L 1.671875 -6.421875 L 1.6875 -6.421875 L 4.09375 -0.21875 C 4.140625 -0.09375 4.1875 0 4.28125 0 C 4.390625 0 4.421875 -0.078125 4.46875 -0.1875 L 6.921875 -6.5 L 6.921875 -0.78125 C 6.921875 -0.421875 6.90625 -0.3125 6.140625 -0.3125 L 5.90625 -0.3125 L 5.90625 0 C 6.265625 -0.03125 6.953125 -0.03125 7.34375 -0.03125 C 7.71875 -0.03125 8.390625 -0.03125 8.765625 0 L 8.765625 -0.3125 L 8.515625 -0.3125 C 7.75 -0.3125 7.734375 -0.421875 7.734375 -0.78125 L 7.734375 -6.03125 C 7.734375 -6.390625 7.75 -6.5 8.515625 -6.5 L 8.765625 -6.5 L 8.765625 -6.8125 L 7.078125 -6.8125 C 6.8125 -6.8125 6.8125 -6.796875 6.75 -6.625 L 4.5625 -1 Z M 2.40625 -6.59375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-22">
<path style="stroke:none;" d="M 2.21875 -3.65625 L 2.21875 -6.09375 C 2.21875 -6.4375 2.234375 -6.5 2.703125 -6.5 L 3.9375 -6.5 C 4.90625 -6.5 5.25 -5.65625 5.25 -5.125 C 5.25 -4.484375 4.765625 -3.65625 3.65625 -3.65625 Z M 4.5625 -3.5625 C 5.53125 -3.75 6.21875 -4.390625 6.21875 -5.125 C 6.21875 -5.984375 5.296875 -6.8125 4 -6.8125 L 0.359375 -6.8125 L 0.359375 -6.5 L 0.59375 -6.5 C 1.359375 -6.5 1.390625 -6.390625 1.390625 -6.03125 L 1.390625 -0.78125 C 1.390625 -0.421875 1.359375 -0.3125 0.59375 -0.3125 L 0.359375 -0.3125 L 0.359375 0 L 4.265625 0 C 5.59375 0 6.484375 -0.890625 6.484375 -1.828125 C 6.484375 -2.6875 5.671875 -3.4375 4.5625 -3.5625 Z M 3.953125 -0.3125 L 2.703125 -0.3125 C 2.234375 -0.3125 2.21875 -0.375 2.21875 -0.703125 L 2.21875 -3.421875 L 4.09375 -3.421875 C 5.078125 -3.421875 5.5 -2.5 5.5 -1.828125 C 5.5 -1.125 4.96875 -0.3125 3.953125 -0.3125 Z M 3.953125 -0.3125 "/>
<path style="stroke:none;" d="M 3.484375 -3.875 L 2.203125 -4.171875 C 1.578125 -4.328125 1.203125 -4.859375 1.203125 -5.4375 C 1.203125 -6.140625 1.734375 -6.75 2.515625 -6.75 C 4.171875 -6.75 4.390625 -5.109375 4.453125 -4.671875 C 4.46875 -4.609375 4.46875 -4.546875 4.578125 -4.546875 C 4.703125 -4.546875 4.703125 -4.59375 4.703125 -4.78125 L 4.703125 -6.78125 C 4.703125 -6.953125 4.703125 -7.03125 4.59375 -7.03125 C 4.53125 -7.03125 4.515625 -7.015625 4.453125 -6.890625 L 4.09375 -6.328125 C 3.796875 -6.625 3.390625 -7.03125 2.5 -7.03125 C 1.390625 -7.03125 0.5625 -6.15625 0.5625 -5.09375 C 0.5625 -4.265625 1.09375 -3.53125 1.859375 -3.265625 C 1.96875 -3.234375 2.484375 -3.109375 3.1875 -2.9375 C 3.453125 -2.875 3.75 -2.796875 4.03125 -2.4375 C 4.234375 -2.171875 4.34375 -1.84375 4.34375 -1.515625 C 4.34375 -0.8125 3.84375 -0.09375 3 -0.09375 C 2.71875 -0.09375 1.953125 -0.140625 1.421875 -0.625 C 0.84375 -1.171875 0.8125 -1.796875 0.8125 -2.15625 C 0.796875 -2.265625 0.71875 -2.265625 0.6875 -2.265625 C 0.5625 -2.265625 0.5625 -2.1875 0.5625 -2.015625 L 0.5625 -0.015625 C 0.5625 0.15625 0.5625 0.21875 0.671875 0.21875 C 0.734375 0.21875 0.75 0.203125 0.8125 0.09375 C 0.8125 0.078125 0.84375 0.046875 1.171875 -0.484375 C 1.484375 -0.140625 2.125 0.21875 3.015625 0.21875 C 4.171875 0.21875 4.96875 -0.75 4.96875 -1.859375 C 4.96875 -2.84375 4.3125 -3.671875 3.484375 -3.875 Z M 3.484375 -3.875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-23">
<path style="stroke:none;" d="M 4.140625 -3.3125 C 4.234375 -3.546875 4.40625 -3.984375 5.0625 -3.984375 L 5.0625 -4.296875 C 4.828125 -4.28125 4.546875 -4.265625 4.3125 -4.265625 C 4.078125 -4.265625 3.625 -4.28125 3.453125 -4.296875 L 3.453125 -3.984375 C 3.8125 -3.984375 3.921875 -3.75 3.921875 -3.5625 C 3.921875 -3.46875 3.90625 -3.421875 3.875 -3.3125 L 2.84375 -0.78125 L 1.734375 -3.5625 C 1.671875 -3.6875 1.671875 -3.703125 1.671875 -3.734375 C 1.671875 -3.984375 2.0625 -3.984375 2.25 -3.984375 L 2.25 -4.296875 C 1.9375 -4.28125 1.390625 -4.265625 1.15625 -4.265625 C 0.890625 -4.265625 0.484375 -4.28125 0.1875 -4.296875 L 0.1875 -3.984375 C 0.8125 -3.984375 0.859375 -3.921875 0.984375 -3.625 L 2.421875 -0.078125 C 2.484375 0.0625 2.5 0.109375 2.625 0.109375 C 2.765625 0.109375 2.796875 0.015625 2.84375 -0.078125 Z M 4.140625 -3.3125 "/>
<path style="stroke:none;" d="M 2.21875 -3.65625 L 2.21875 -6.09375 C 2.21875 -6.4375 2.234375 -6.5 2.703125 -6.5 L 3.9375 -6.5 C 4.90625 -6.5 5.25 -5.65625 5.25 -5.125 C 5.25 -4.484375 4.765625 -3.65625 3.65625 -3.65625 Z M 4.5625 -3.5625 C 5.53125 -3.75 6.21875 -4.390625 6.21875 -5.125 C 6.21875 -5.984375 5.296875 -6.8125 4 -6.8125 L 0.359375 -6.8125 L 0.359375 -6.5 L 0.59375 -6.5 C 1.359375 -6.5 1.390625 -6.390625 1.390625 -6.03125 L 1.390625 -0.78125 C 1.390625 -0.421875 1.359375 -0.3125 0.59375 -0.3125 L 0.359375 -0.3125 L 0.359375 0 L 4.265625 0 C 5.59375 0 6.484375 -0.890625 6.484375 -1.828125 C 6.484375 -2.6875 5.671875 -3.4375 4.5625 -3.5625 Z M 3.953125 -0.3125 L 2.703125 -0.3125 C 2.234375 -0.3125 2.21875 -0.375 2.21875 -0.703125 L 2.21875 -3.421875 L 4.09375 -3.421875 C 5.078125 -3.421875 5.5 -2.5 5.5 -1.828125 C 5.5 -1.125 4.96875 -0.3125 3.953125 -0.3125 Z M 3.953125 -0.3125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-24">
<path style="stroke:none;" d="M 5.796875 -2.578125 L 5.546875 -2.578125 C 5.4375 -1.5625 5.296875 -0.3125 3.546875 -0.3125 L 2.734375 -0.3125 C 2.265625 -0.3125 2.25 -0.375 2.25 -0.703125 L 2.25 -6.015625 C 2.25 -6.359375 2.25 -6.5 3.1875 -6.5 L 3.515625 -6.5 L 3.515625 -6.8125 C 3.15625 -6.78125 2.25 -6.78125 1.84375 -6.78125 C 1.453125 -6.78125 0.671875 -6.78125 0.328125 -6.8125 L 0.328125 -6.5 L 0.5625 -6.5 C 1.328125 -6.5 1.359375 -6.390625 1.359375 -6.03125 L 1.359375 -0.78125 C 1.359375 -0.421875 1.328125 -0.3125 0.5625 -0.3125 L 0.328125 -0.3125 L 0.328125 0 L 5.515625 0 Z M 5.796875 -2.578125 "/>
<path style="stroke:none;" d="M 4.140625 -3.3125 C 4.234375 -3.546875 4.40625 -3.984375 5.0625 -3.984375 L 5.0625 -4.296875 C 4.828125 -4.28125 4.546875 -4.265625 4.3125 -4.265625 C 4.078125 -4.265625 3.625 -4.28125 3.453125 -4.296875 L 3.453125 -3.984375 C 3.8125 -3.984375 3.921875 -3.75 3.921875 -3.5625 C 3.921875 -3.46875 3.90625 -3.421875 3.875 -3.3125 L 2.84375 -0.78125 L 1.734375 -3.5625 C 1.671875 -3.6875 1.671875 -3.703125 1.671875 -3.734375 C 1.671875 -3.984375 2.0625 -3.984375 2.25 -3.984375 L 2.25 -4.296875 C 1.9375 -4.28125 1.390625 -4.265625 1.15625 -4.265625 C 0.890625 -4.265625 0.484375 -4.28125 0.1875 -4.296875 L 0.1875 -3.984375 C 0.8125 -3.984375 0.859375 -3.921875 0.984375 -3.625 L 2.421875 -0.078125 C 2.484375 0.0625 2.5 0.109375 2.625 0.109375 C 2.765625 0.109375 2.796875 0.015625 2.84375 -0.078125 Z M 4.140625 -3.3125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-25">
<path style="stroke:none;" d="M 2.234375 -3.515625 L 2.234375 -6.09375 C 2.234375 -6.328125 2.234375 -6.453125 2.453125 -6.484375 C 2.546875 -6.5 2.84375 -6.5 3.046875 -6.5 C 3.9375 -6.5 5.046875 -6.453125 5.046875 -5.015625 C 5.046875 -4.328125 4.8125 -3.515625 3.34375 -3.515625 Z M 4.34375 -3.390625 C 5.296875 -3.625 6.078125 -4.234375 6.078125 -5.015625 C 6.078125 -5.96875 4.9375 -6.8125 3.484375 -6.8125 L 0.34375 -6.8125 L 0.34375 -6.5 L 0.59375 -6.5 C 1.359375 -6.5 1.375 -6.390625 1.375 -6.03125 L 1.375 -0.78125 C 1.375 -0.421875 1.359375 -0.3125 0.59375 -0.3125 L 0.34375 -0.3125 L 0.34375 0 C 0.703125 -0.03125 1.421875 -0.03125 1.796875 -0.03125 C 2.1875 -0.03125 2.90625 -0.03125 3.265625 0 L 3.265625 -0.3125 L 3.015625 -0.3125 C 2.25 -0.3125 2.234375 -0.421875 2.234375 -0.78125 L 2.234375 -3.296875 L 3.375 -3.296875 C 3.53125 -3.296875 3.953125 -3.296875 4.3125 -2.953125 C 4.6875 -2.609375 4.6875 -2.296875 4.6875 -1.625 C 4.6875 -0.984375 4.6875 -0.578125 5.09375 -0.203125 C 5.5 0.15625 6.046875 0.21875 6.34375 0.21875 C 7.125 0.21875 7.296875 -0.59375 7.296875 -0.875 C 7.296875 -0.9375 7.296875 -1.046875 7.171875 -1.046875 C 7.0625 -1.046875 7.0625 -0.953125 7.046875 -0.890625 C 6.984375 -0.171875 6.640625 0 6.390625 0 C 5.90625 0 5.828125 -0.515625 5.6875 -1.4375 L 5.546875 -2.234375 C 5.375 -2.875 4.890625 -3.203125 4.34375 -3.390625 Z M 4.34375 -3.390625 "/>
<path style="stroke:none;" d="M 5.796875 -2.578125 L 5.546875 -2.578125 C 5.4375 -1.5625 5.296875 -0.3125 3.546875 -0.3125 L 2.734375 -0.3125 C 2.265625 -0.3125 2.25 -0.375 2.25 -0.703125 L 2.25 -6.015625 C 2.25 -6.359375 2.25 -6.5 3.1875 -6.5 L 3.515625 -6.5 L 3.515625 -6.8125 C 3.15625 -6.78125 2.25 -6.78125 1.84375 -6.78125 C 1.453125 -6.78125 0.671875 -6.78125 0.328125 -6.8125 L 0.328125 -6.5 L 0.5625 -6.5 C 1.328125 -6.5 1.359375 -6.390625 1.359375 -6.03125 L 1.359375 -0.78125 C 1.359375 -0.421875 1.328125 -0.3125 0.5625 -0.3125 L 0.328125 -0.3125 L 0.328125 0 L 5.515625 0 Z M 5.796875 -2.578125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-26">
<path style="stroke:none;" d="M 2.265625 -3.15625 L 3.953125 -3.15625 C 5.140625 -3.15625 6.21875 -3.953125 6.21875 -4.953125 C 6.21875 -5.9375 5.234375 -6.8125 3.875 -6.8125 L 0.34375 -6.8125 L 0.34375 -6.5 L 0.59375 -6.5 C 1.359375 -6.5 1.375 -6.390625 1.375 -6.03125 L 1.375 -0.78125 C 1.375 -0.421875 1.359375 -0.3125 0.59375 -0.3125 L 0.34375 -0.3125 L 0.34375 0 C 0.703125 -0.03125 1.4375 -0.03125 1.8125 -0.03125 C 2.1875 -0.03125 2.9375 -0.03125 3.296875 0 L 3.296875 -0.3125 L 3.046875 -0.3125 C 2.28125 -0.3125 2.265625 -0.421875 2.265625 -0.78125 Z M 2.234375 -3.40625 L 2.234375 -6.09375 C 2.234375 -6.4375 2.25 -6.5 2.71875 -6.5 L 3.609375 -6.5 C 5.1875 -6.5 5.1875 -5.4375 5.1875 -4.953125 C 5.1875 -4.484375 5.1875 -3.40625 3.609375 -3.40625 Z M 2.234375 -3.40625 "/>
<path style="stroke:none;" d="M 2.234375 -3.515625 L 2.234375 -6.09375 C 2.234375 -6.328125 2.234375 -6.453125 2.453125 -6.484375 C 2.546875 -6.5 2.84375 -6.5 3.046875 -6.5 C 3.9375 -6.5 5.046875 -6.453125 5.046875 -5.015625 C 5.046875 -4.328125 4.8125 -3.515625 3.34375 -3.515625 Z M 4.34375 -3.390625 C 5.296875 -3.625 6.078125 -4.234375 6.078125 -5.015625 C 6.078125 -5.96875 4.9375 -6.8125 3.484375 -6.8125 L 0.34375 -6.8125 L 0.34375 -6.5 L 0.59375 -6.5 C 1.359375 -6.5 1.375 -6.390625 1.375 -6.03125 L 1.375 -0.78125 C 1.375 -0.421875 1.359375 -0.3125 0.59375 -0.3125 L 0.34375 -0.3125 L 0.34375 0 C 0.703125 -0.03125 1.421875 -0.03125 1.796875 -0.03125 C 2.1875 -0.03125 2.90625 -0.03125 3.265625 0 L 3.265625 -0.3125 L 3.015625 -0.3125 C 2.25 -0.3125 2.234375 -0.421875 2.234375 -0.78125 L 2.234375 -3.296875 L 3.375 -3.296875 C 3.53125 -3.296875 3.953125 -3.296875 4.3125 -2.953125 C 4.6875 -2.609375 4.6875 -2.296875 4.6875 -1.625 C 4.6875 -0.984375 4.6875 -0.578125 5.09375 -0.203125 C 5.5 0.15625 6.046875 0.21875 6.34375 0.21875 C 7.125 0.21875 7.296875 -0.59375 7.296875 -0.875 C 7.296875 -0.9375 7.296875 -1.046875 7.171875 -1.046875 C 7.0625 -1.046875 7.0625 -0.953125 7.046875 -0.890625 C 6.984375 -0.171875 6.640625 0 6.390625 0 C 5.90625 0 5.828125 -0.515625 5.6875 -1.4375 L 5.546875 -2.234375 C 5.375 -2.875 4.890625 -3.203125 4.34375 -3.390625 Z M 4.34375 -3.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-27">
<path style="stroke:none;" d="M 1.71875 -3.765625 L 1.71875 -6.921875 L 0.28125 -6.8125 L 0.28125 -6.5 C 0.984375 -6.5 1.0625 -6.4375 1.0625 -5.9375 L 1.0625 0 L 1.3125 0 C 1.3125 -0.015625 1.390625 -0.15625 1.671875 -0.625 C 1.8125 -0.390625 2.234375 0.109375 2.96875 0.109375 C 4.15625 0.109375 5.1875 -0.875 5.1875 -2.15625 C 5.1875 -3.421875 4.21875 -4.40625 3.078125 -4.40625 C 2.296875 -4.40625 1.875 -3.9375 1.71875 -3.765625 Z M 1.75 -1.140625 L 1.75 -3.1875 C 1.75 -3.375 1.75 -3.390625 1.859375 -3.546875 C 2.25 -4.109375 2.796875 -4.1875 3.03125 -4.1875 C 3.484375 -4.1875 3.84375 -3.921875 4.078125 -3.546875 C 4.34375 -3.140625 4.359375 -2.578125 4.359375 -2.15625 C 4.359375 -1.796875 4.34375 -1.203125 4.0625 -0.75 C 3.84375 -0.4375 3.46875 -0.109375 2.9375 -0.109375 C 2.484375 -0.109375 2.125 -0.34375 1.890625 -0.71875 C 1.75 -0.921875 1.75 -0.953125 1.75 -1.140625 Z M 1.75 -1.140625 "/>
<path style="stroke:none;" d="M 2.265625 -3.15625 L 3.953125 -3.15625 C 5.140625 -3.15625 6.21875 -3.953125 6.21875 -4.953125 C 6.21875 -5.9375 5.234375 -6.8125 3.875 -6.8125 L 0.34375 -6.8125 L 0.34375 -6.5 L 0.59375 -6.5 C 1.359375 -6.5 1.375 -6.390625 1.375 -6.03125 L 1.375 -0.78125 C 1.375 -0.421875 1.359375 -0.3125 0.59375 -0.3125 L 0.34375 -0.3125 L 0.34375 0 C 0.703125 -0.03125 1.4375 -0.03125 1.8125 -0.03125 C 2.1875 -0.03125 2.9375 -0.03125 3.296875 0 L 3.296875 -0.3125 L 3.046875 -0.3125 C 2.28125 -0.3125 2.265625 -0.421875 2.265625 -0.78125 Z M 2.234375 -3.40625 L 2.234375 -6.09375 C 2.234375 -6.4375 2.25 -6.5 2.71875 -6.5 L 3.609375 -6.5 C 5.1875 -6.5 5.1875 -5.4375 5.1875 -4.953125 C 5.1875 -4.484375 5.1875 -3.40625 3.609375 -3.40625 Z M 2.234375 -3.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-28">
<path style="stroke:none;" d="M 2.9375 -6.375 C 2.9375 -6.625 2.9375 -6.640625 2.703125 -6.640625 C 2.078125 -6 1.203125 -6 0.890625 -6 L 0.890625 -5.6875 C 1.09375 -5.6875 1.671875 -5.6875 2.1875 -5.953125 L 2.1875 -0.78125 C 2.1875 -0.421875 2.15625 -0.3125 1.265625 -0.3125 L 0.953125 -0.3125 L 0.953125 0 C 1.296875 -0.03125 2.15625 -0.03125 2.5625 -0.03125 C 2.953125 -0.03125 3.828125 -0.03125 4.171875 0 L 4.171875 -0.3125 L 3.859375 -0.3125 C 2.953125 -0.3125 2.9375 -0.421875 2.9375 -0.78125 Z M 2.9375 -6.375 "/>
<path style="stroke:none;" d="M 1.71875 -3.765625 L 1.71875 -6.921875 L 0.28125 -6.8125 L 0.28125 -6.5 C 0.984375 -6.5 1.0625 -6.4375 1.0625 -5.9375 L 1.0625 0 L 1.3125 0 C 1.3125 -0.015625 1.390625 -0.15625 1.671875 -0.625 C 1.8125 -0.390625 2.234375 0.109375 2.96875 0.109375 C 4.15625 0.109375 5.1875 -0.875 5.1875 -2.15625 C 5.1875 -3.421875 4.21875 -4.40625 3.078125 -4.40625 C 2.296875 -4.40625 1.875 -3.9375 1.71875 -3.765625 Z M 1.75 -1.140625 L 1.75 -3.1875 C 1.75 -3.375 1.75 -3.390625 1.859375 -3.546875 C 2.25 -4.109375 2.796875 -4.1875 3.03125 -4.1875 C 3.484375 -4.1875 3.84375 -3.921875 4.078125 -3.546875 C 4.34375 -3.140625 4.359375 -2.578125 4.359375 -2.15625 C 4.359375 -1.796875 4.34375 -1.203125 4.0625 -0.75 C 3.84375 -0.4375 3.46875 -0.109375 2.9375 -0.109375 C 2.484375 -0.109375 2.125 -0.34375 1.890625 -0.71875 C 1.75 -0.921875 1.75 -0.953125 1.75 -1.140625 Z M 1.75 -1.140625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-29">
<path style="stroke:none;" d="M 4.140625 -3.34375 C 4.390625 -3.984375 4.90625 -3.984375 5.0625 -3.984375 L 5.0625 -4.296875 C 4.828125 -4.28125 4.546875 -4.265625 4.3125 -4.265625 C 4.140625 -4.265625 3.671875 -4.28125 3.453125 -4.296875 L 3.453125 -3.984375 C 3.765625 -3.984375 3.921875 -3.8125 3.921875 -3.5625 C 3.921875 -3.453125 3.90625 -3.4375 3.859375 -3.3125 L 2.84375 -0.875 L 1.75 -3.546875 C 1.703125 -3.65625 1.6875 -3.6875 1.6875 -3.734375 C 1.6875 -3.984375 2.046875 -3.984375 2.25 -3.984375 L 2.25 -4.296875 C 1.984375 -4.28125 1.328125 -4.265625 1.15625 -4.265625 C 0.890625 -4.265625 0.484375 -4.28125 0.1875 -4.296875 L 0.1875 -3.984375 C 0.671875 -3.984375 0.859375 -3.984375 1 -3.640625 L 2.5 0 C 2.4375 0.125 2.296875 0.453125 2.25 0.59375 C 2.03125 1.140625 1.75 1.828125 1.109375 1.828125 C 1.0625 1.828125 0.828125 1.828125 0.640625 1.640625 C 0.953125 1.609375 1.03125 1.390625 1.03125 1.21875 C 1.03125 0.96875 0.84375 0.8125 0.609375 0.8125 C 0.40625 0.8125 0.1875 0.9375 0.1875 1.234375 C 0.1875 1.6875 0.609375 2.046875 1.109375 2.046875 C 1.734375 2.046875 2.140625 1.46875 2.375 0.90625 Z M 4.140625 -3.34375 "/>
<path style="stroke:none;" d="M 2.9375 -6.375 C 2.9375 -6.625 2.9375 -6.640625 2.703125 -6.640625 C 2.078125 -6 1.203125 -6 0.890625 -6 L 0.890625 -5.6875 C 1.09375 -5.6875 1.671875 -5.6875 2.1875 -5.953125 L 2.1875 -0.78125 C 2.1875 -0.421875 2.15625 -0.3125 1.265625 -0.3125 L 0.953125 -0.3125 L 0.953125 0 C 1.296875 -0.03125 2.15625 -0.03125 2.5625 -0.03125 C 2.953125 -0.03125 3.828125 -0.03125 4.171875 0 L 4.171875 -0.3125 L 3.859375 -0.3125 C 2.953125 -0.3125 2.9375 -0.421875 2.9375 -0.78125 Z M 2.9375 -6.375 "/>
</symbol>
</g>
</defs>
<g id="surface1">
<path style="fill-rule:nonzero;fill:rgb(100%,98.469543%,70.001221%);fill-opacity:1;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3.322406 -12.786062 L 39.84975 -12.786062 L 39.84975 12.78425 L 3.322406 12.78425 Z M 3.322406 -12.786062 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="4.661" y="24.141"/>
<use xlink:href="#glyph0-2" x="12.962835" y="24.141"/>
<use xlink:href="#glyph0-3" x="16.892084" y="24.141"/>
<use xlink:href="#glyph0-1" x="10.472" y="24.141"/>
<use xlink:href="#glyph0-2" x="18.773835" y="24.141"/>
<use xlink:href="#glyph0-3" x="22.703084" y="24.141"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="25.19093" y="24.141"/>
<use xlink:href="#glyph0-5" x="27.95854" y="24.141"/>
<use xlink:href="#glyph0-4" x="9.531" y="36.096"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="13.126502" y="36.096"/>
<use xlink:href="#glyph0-6" x="18.384763" y="36.096"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="24.198936" y="36.096"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,98.469543%,70.001221%);fill-opacity:1;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.84975 -12.786062 L 76.381 -12.786062 L 76.381 12.78425 L 39.84975 12.78425 Z M 39.84975 -12.786062 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
@ -112,123 +118,144 @@
<use xlink:href="#glyph0-3" x="59.232084" y="24.141"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="42.047" y="36.096"/>
<use xlink:href="#glyph0-8" x="42.047" y="36.096"/>
<use xlink:href="#glyph0-7" x="44.81461" y="36.096"/>
<use xlink:href="#glyph0-8" x="49.24199" y="36.096"/>
<use xlink:href="#glyph0-9" x="49.24199" y="36.096"/>
<use xlink:href="#glyph0-3" x="54.77721" y="36.096"/>
<use xlink:href="#glyph0-9" x="59.75851" y="36.096"/>
<use xlink:href="#glyph0-4" x="59.75851" y="36.096"/>
<use xlink:href="#glyph0-10" x="63.632965" y="36.096"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,98.469543%,70.001221%);fill-opacity:1;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 76.381 -12.786062 L 142.798969 -12.786062 L 142.798969 12.78425 L 76.381 12.78425 Z M 76.381 -12.786062 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="95.942" y="24.141"/>
<use xlink:href="#glyph0-12" x="103.41395" y="24.141"/>
<use xlink:href="#glyph0-13" x="111.02438" y="24.141"/>
<use xlink:href="#glyph0-1" x="98.474" y="24.141"/>
<use xlink:href="#glyph0-2" x="106.775835" y="24.141"/>
<use xlink:href="#glyph0-3" x="110.705084" y="24.141"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-14" x="78.563" y="36.096"/>
<use xlink:href="#glyph0-15" x="82.990379" y="36.096"/>
<use xlink:href="#glyph0-8" x="87.971679" y="36.096"/>
<use xlink:href="#glyph0-16" x="93.5069" y="36.096"/>
<use xlink:href="#glyph0-3" x="99.042121" y="36.096"/>
<use xlink:href="#glyph0-17" x="104.023421" y="36.096"/>
<use xlink:href="#glyph0-18" x="109.558641" y="36.096"/>
<use xlink:href="#glyph0-19" x="113.460992" y="36.096"/>
<use xlink:href="#glyph0-9" x="118.442292" y="36.096"/>
<use xlink:href="#glyph0-4" x="122.316747" y="36.096"/>
<use xlink:href="#glyph0-15" x="125.084357" y="36.096"/>
<use xlink:href="#glyph0-8" x="130.065657" y="36.096"/>
<use xlink:href="#glyph0-11" x="90.878" y="36.096"/>
<use xlink:href="#glyph0-12" x="95.305379" y="36.096"/>
<use xlink:href="#glyph0-13" x="100.286679" y="36.096"/>
<use xlink:href="#glyph0-9" x="105.8219" y="36.096"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="111.078168" y="36.096"/>
<use xlink:href="#glyph0-7" x="114.952623" y="36.096"/>
<use xlink:href="#glyph0-14" x="119.380002" y="36.096"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,98.469543%,70.001221%);fill-opacity:1;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 142.798969 -12.786062 L 209.213031 -12.786062 L 209.213031 12.78425 L 142.798969 12.78425 Z M 142.798969 -12.786062 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-20" x="149.836" y="24.141"/>
<use xlink:href="#glyph0-21" x="158.968715" y="24.141"/>
<use xlink:href="#glyph0-22" x="164.503936" y="24.141"/>
<use xlink:href="#glyph0-15" x="162.359" y="24.141"/>
<use xlink:href="#glyph0-16" x="169.83095" y="24.141"/>
<use xlink:href="#glyph0-17" x="177.44138" y="24.141"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="174.877991" y="24.141"/>
<use xlink:href="#glyph0-12" x="182.349941" y="24.141"/>
<use xlink:href="#glyph0-13" x="189.960372" y="24.141"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-23" x="162.29" y="36.096"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-19" x="166.990355" y="36.096"/>
<use xlink:href="#glyph0-6" x="171.971655" y="36.096"/>
<use xlink:href="#glyph0-17" x="174.739265" y="36.096"/>
<use xlink:href="#glyph0-7" x="180.274486" y="36.096"/>
<use xlink:href="#glyph0-11" x="144.979" y="36.096"/>
<use xlink:href="#glyph0-12" x="149.406379" y="36.096"/>
<use xlink:href="#glyph0-9" x="154.387679" y="36.096"/>
<use xlink:href="#glyph0-18" x="159.9229" y="36.096"/>
<use xlink:href="#glyph0-3" x="165.458121" y="36.096"/>
<use xlink:href="#glyph0-13" x="170.439421" y="36.096"/>
<use xlink:href="#glyph0-14" x="175.974641" y="36.096"/>
<use xlink:href="#glyph0-19" x="179.876992" y="36.096"/>
<use xlink:href="#glyph0-4" x="184.858292" y="36.096"/>
<use xlink:href="#glyph0-20" x="188.732747" y="36.096"/>
<use xlink:href="#glyph0-12" x="191.500357" y="36.096"/>
<use xlink:href="#glyph0-9" x="196.481657" y="36.096"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,98.469543%,70.001221%);fill-opacity:1;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 209.213031 -12.786062 L 275.631 -12.786062 L 275.631 12.78425 L 209.213031 12.78425 Z M 209.213031 -12.786062 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-24" x="217.706" y="24.141"/>
<use xlink:href="#glyph0-21" x="223.932625" y="24.141"/>
<use xlink:href="#glyph0-22" x="229.467846" y="24.141"/>
<use xlink:href="#glyph0-21" x="216.253" y="24.141"/>
<use xlink:href="#glyph0-22" x="225.385715" y="24.141"/>
<use xlink:href="#glyph0-23" x="230.920936" y="24.141"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="239.841901" y="24.141"/>
<use xlink:href="#glyph0-12" x="247.313851" y="24.141"/>
<use xlink:href="#glyph0-13" x="254.924281" y="24.141"/>
<use xlink:href="#glyph0-15" x="241.294991" y="24.141"/>
<use xlink:href="#glyph0-16" x="248.766941" y="24.141"/>
<use xlink:href="#glyph0-17" x="256.377371" y="24.141"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-23" x="228.706" y="36.096"/>
<use xlink:href="#glyph0-24" x="228.706" y="36.096"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-19" x="233.406355" y="36.096"/>
<use xlink:href="#glyph0-6" x="238.387655" y="36.096"/>
<use xlink:href="#glyph0-17" x="241.155265" y="36.096"/>
<use xlink:href="#glyph0-8" x="238.387655" y="36.096"/>
<use xlink:href="#glyph0-13" x="241.155265" y="36.096"/>
<use xlink:href="#glyph0-7" x="246.690486" y="36.096"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,98.469543%,70.001221%);fill-opacity:1;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 275.631 -12.786062 L 342.048969 -12.786062 L 342.048969 12.78425 L 275.631 12.78425 Z M 275.631 -12.786062 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-13" x="295.608" y="24.141"/>
<use xlink:href="#glyph0-25" x="302.80299" y="24.141"/>
<use xlink:href="#glyph0-25" x="284.123" y="24.141"/>
<use xlink:href="#glyph0-22" x="290.349625" y="24.141"/>
<use xlink:href="#glyph0-23" x="295.884846" y="24.141"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-13" x="309.857507" y="24.141"/>
</g>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3.123188 15.97175 C 3.494281 16.72175 4.365375 17.217844 5.611469 17.217844 L 37.357563 17.217844 C 38.603656 17.217844 39.47475 17.717844 39.84975 18.463938 C 40.22475 17.717844 41.095844 17.217844 42.341938 17.217844 L 74.088031 17.217844 C 75.334125 17.217844 76.205219 16.72175 76.580219 15.97175 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-26" x="16.92" y="7.139"/>
<use xlink:href="#glyph0-18" x="23.700546" y="7.139"/>
<use xlink:href="#glyph0-7" x="27.602896" y="7.139"/>
<use xlink:href="#glyph0-19" x="32.030275" y="7.139"/>
<use xlink:href="#glyph0-1" x="37.011575" y="7.139"/>
<use xlink:href="#glyph0-15" x="306.258901" y="24.141"/>
<use xlink:href="#glyph0-16" x="313.730851" y="24.141"/>
<use xlink:href="#glyph0-17" x="321.341281" y="24.141"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-27" x="45.034457" y="7.139"/>
<use xlink:href="#glyph0-6" x="50.569678" y="7.139"/>
<use xlink:href="#glyph0-7" x="53.337288" y="7.139"/>
</g>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 76.181781 15.97175 C 76.552875 16.72175 77.423969 17.217844 78.670063 17.217844 L 173.513813 17.217844 C 174.759906 17.217844 175.631 17.717844 176.006 18.463938 C 176.381 17.717844 177.252094 17.217844 178.498188 17.217844 L 273.341937 17.217844 C 274.588031 17.217844 275.459125 16.72175 275.830219 15.97175 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-12" x="162.774" y="7.139"/>
<use xlink:href="#glyph0-19" x="170.38443" y="7.139"/>
<use xlink:href="#glyph0-9" x="175.36573" y="7.139"/>
<use xlink:href="#glyph0-19" x="179.240185" y="7.139"/>
</g>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 275.431781 15.97175 C 275.806781 16.72175 276.677875 17.217844 277.923969 17.217844 L 306.34975 17.217844 C 307.595844 17.217844 308.466937 17.717844 308.841937 18.463938 C 309.216937 17.717844 310.088031 17.217844 311.334125 17.217844 L 339.759906 17.217844 C 341.006 17.217844 341.877094 16.72175 342.248187 15.97175 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-13" x="295.608" y="7.139"/>
<use xlink:href="#glyph0-25" x="302.80299" y="7.139"/>
<use xlink:href="#glyph0-24" x="295.123" y="36.096"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-13" x="309.857507" y="7.139"/>
<use xlink:href="#glyph0-19" x="299.823355" y="36.096"/>
<use xlink:href="#glyph0-8" x="304.804655" y="36.096"/>
<use xlink:href="#glyph0-13" x="307.572265" y="36.096"/>
<use xlink:href="#glyph0-7" x="313.107486" y="36.096"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,98.469543%,70.001221%);fill-opacity:1;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 342.048969 -12.786062 L 408.466937 -12.786062 L 408.466937 12.78425 L 342.048969 12.78425 Z M 342.048969 -12.786062 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-17" x="362.025" y="24.141"/>
<use xlink:href="#glyph0-26" x="369.21999" y="24.141"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-17" x="376.274507" y="24.141"/>
</g>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3.123188 15.97175 C 3.494281 16.72175 4.365375 17.217844 5.611469 17.217844 L 70.5685 17.217844 C 71.814594 17.217844 72.685688 17.717844 73.060688 18.463938 C 73.431781 17.717844 74.302875 17.217844 75.548969 17.217844 L 140.506 17.217844 C 141.752094 17.217844 142.623188 16.72175 142.998188 15.97175 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-27" x="50.128" y="7.139"/>
<use xlink:href="#glyph0-14" x="56.908546" y="7.139"/>
<use xlink:href="#glyph0-7" x="60.810896" y="7.139"/>
<use xlink:href="#glyph0-19" x="65.238275" y="7.139"/>
<use xlink:href="#glyph0-1" x="70.219575" y="7.139"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-28" x="78.242457" y="7.139"/>
<use xlink:href="#glyph0-8" x="83.777678" y="7.139"/>
<use xlink:href="#glyph0-7" x="86.545288" y="7.139"/>
</g>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 142.59975 15.97175 C 142.970844 16.72175 143.841938 17.217844 145.088031 17.217844 L 239.931781 17.217844 C 241.177875 17.217844 242.048969 17.717844 242.423969 18.463938 C 242.798969 17.717844 243.670063 17.217844 244.916156 17.217844 L 339.759906 17.217844 C 341.006 17.217844 341.877094 16.72175 342.248187 15.97175 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-16" x="229.191" y="7.139"/>
<use xlink:href="#glyph0-19" x="236.80143" y="7.139"/>
<use xlink:href="#glyph0-4" x="241.78273" y="7.139"/>
<use xlink:href="#glyph0-19" x="245.657185" y="7.139"/>
</g>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.84975 15.97175 C 342.22475 16.72175 343.095844 17.217844 344.341937 17.217844 L 372.767719 17.217844 C 374.013812 17.217844 374.884906 17.717844 375.259906 18.463938 C 375.631 17.717844 376.506 17.217844 377.748187 17.217844 L 406.177875 17.217844 C 407.423969 17.217844 408.295062 16.72175 408.666156 15.97175 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-17" x="362.025" y="7.139"/>
<use xlink:href="#glyph0-26" x="369.21999" y="7.139"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-17" x="376.274507" y="7.139"/>
</g>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3.123188 -12.985281 L 3.123188 -47.000906 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 76.580219 -12.985281 L 76.580219 -47.000906 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3.521625 -29.993094 L 76.181781 -29.993094 " transform="matrix(1,0,0,-1,-2.506,27.628)"/>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -2.072159 2.391019 C -1.693253 0.957425 -0.849503 0.277738 -0.00184625 0.00039375 C -0.849503 -0.280856 -1.693253 -0.956637 -2.072159 -2.390231 " transform="matrix(-1,0,0,1,0.81456,57.6207)"/>
<path style="fill:none;stroke-width:0.3985;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -2.072659 2.390231 C -1.693752 0.956637 -0.850002 0.280856 0.00156 -0.00039375 C -0.850002 -0.277738 -1.693752 -0.957425 -2.072659 -2.391019 " transform="matrix(1,0,0,-1,73.87344,57.6207)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 19.5625 65.3125 L 55.125 65.3125 L 55.125 49.925781 L 19.5625 49.925781 Z M 19.5625 65.3125 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 20.464844 65.371094 L 54.226562 65.371094 L 54.226562 49.871094 L 20.464844 49.871094 Z M 20.464844 65.371094 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-28" x="22.884" y="60.055"/>
<use xlink:href="#glyph0-29" x="23.783" y="60.111"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-22" x="31.182846" y="60.055"/>
<use xlink:href="#glyph0-29" x="38.239355" y="60.055"/>
<use xlink:href="#glyph0-9" x="43.497616" y="60.055"/>
<use xlink:href="#glyph0-7" x="47.372071" y="60.055"/>
<use xlink:href="#glyph0-28" x="32.081846" y="60.111"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="37.348076" y="60.111"/>
<use xlink:href="#glyph0-4" x="42.606336" y="60.111"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="46.470829" y="60.111"/>
</g>
</g>
</svg>

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 39 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 40 KiB

Wyświetl plik

@ -25,20 +25,21 @@ long/.style={short,text width=60pt}
\node (StartPoint) [text depth=13pt, text height=6pt]{};
\shnode{StartPoint}{MsgId}{msg id};
\shnode{MsgId}{MsgLen}{msg length};
\lnode{MsgLen}{Configuration}{ADC configuration};
\shnode{StartPoint}{MsgType}{msg type};
\shnode{MsgType}{MsgLen}{msg length};
\lnode{MsgLen}{MsgCounter}{msg \\ counter};
\lnode{MsgCounter}{Configuration}{ADC configuration};
\lnode{Configuration}{MSBADC}{MSB ADC value};
\lnode{MSBADC}{LSBADC}{LSB ADC value};
\lnode{LSBADC}{CRC}{CRC};
\draw[decorate,decoration={brace,raise=3pt}] (MsgId.north west) -- node[above=4pt] {Preamble} (MsgLen.north east);
\draw[decorate,decoration={brace,raise=3pt}] (MsgType.north west) -- node[above=4pt] {Preamble} (MsgCounter.north east);
\draw[decorate,decoration={brace,raise=3pt}] (Configuration.north west) -- node[above=4pt] {Data} (LSBADC.north east);
\draw[decorate,decoration={brace,raise=3pt}] (CRC.north west) -- node[above=4pt] {CRC} (CRC.north east);
\draw (MsgId.south west) -- +(0,-1.2cm);
\draw (MsgType.south west) -- +(0,-1.2cm);
\draw (MsgLen.south east) -- +(0,-1.2cm);
\draw[<->] ( $ (MsgId.south west) +(0,-0.6cm) $ ) -- node[fill=white] {1 Byte} ( $ (MsgLen.south east) +(0,-0.6cm) $ );
\draw[<->] ( $ (MsgType.south west) +(0,-0.6cm) $ ) -- node[fill=white] {1 byte} ( $ (MsgLen.south east) +(0,-0.6cm) $ );
\end{tikzpicture}

Wyświetl plik

@ -1,11 +0,0 @@
class HardwareConnection:
def __init__(self, config):
pass
def connect(self):
pass
def getMeasurement(self):
return [1, 2, 3, 4, 5]

Wyświetl plik

@ -1,13 +1,13 @@
import sys
sys.path.append('../Software/DataAcquisition')
from hardware_connection import HardwareConnection # noqa: E402
from physical_layer import PhysicalLayer # noqa: E402
from state_machine import IonizationChamberStateMachine # noqa: E402
import config # noqa: E402
if __name__ == "__main__":
hardware = HardwareConnection(config)
machine = IonizationChamberStateMachine(hardware)
physicalLayer = PhysicalLayer(config)
machine = IonizationChamberStateMachine(physicalLayer)
while True:
machine.tick()

Wyświetl plik

@ -0,0 +1,11 @@
class PhysicalLayer:
def __init__(self, config):
pass
def connect(self):
pass
def getData(self):
return [1, 2, 3, 4, 5, 9]

Wyświetl plik

@ -1,15 +1,41 @@
# Firmware
## Setting up development environment on Linux
## Setup
1. Install tools via apt-get:
* [Setting up development environment on Linux
](https://github.com/RobertGawron/IonizationChamber/wiki/Setting-up-development-environment-on-Linux)
```console
apt-get install screen git sdcc doxygen uncrustify libusb-1.0-0-dev python3-pip texlive-latex-base texlive-latex-extra texlive-extra-utils poppler-utils cmake cppcheck r-base-core shellcheck
```
3. Install python libraries.
```console
pip3 install pyserial
pip3 install flake8 flake8-html
```
## Architecture
4. Install R libraries, run R in command line:
```console
pi@raspberrypi:~/IonizationChamber/software/DataAcquisitionFromDevice $ R
R version 3.5.2 (2018-12-20) -- "Eggshell Igloo"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: arm-unknown-linux-gnueabihf (32-bit)
```
Type (write yes on next prompts):
```
install.packages('latticeExtra')
```
```
install.packages('gridExtra')
```
```
install.packages('Hmisc')
```
<img src="../../Documentation/Diagrams/HostArchitecture.svg" width="100%">
## Collecting measurements
@ -17,9 +43,9 @@
2. **Run data acquisition script**, it will log Ionization Chamber output on the screen and also it will save it to data.csv for further processing.
```python main.py```
3. When all data is logged, terminate ```python main.py``.
```
python main.py
```
## Plotting signal value in domain time + plotting histogram
@ -27,7 +53,9 @@ This mode is useful to look on measurement changes over time.
After collecting data run script to post-process it and generate diagrams:
```Rscript main.R```
```
Rscript main.R
```
A new .png image with timestamp in its name will be created in directory where script is.
@ -42,7 +70,9 @@ Below is example of such generated plot.
2. Edit ```boxplot.R```, to match filenames of .cvs files and labels of measurements.
3. Run:
```Rscript boxplot.R```
```
Rscript boxplot.R
```
A new .png image with timestamp in its name will be created in directory where script is.

Wyświetl plik

@ -0,0 +1,45 @@
from transport_layer import TransportLayer
from enum import Enum
class ADC_RESOLUTION(Enum):
R12 = 1
R13 = 2
R14 = 3
def convert(upperByte, lowerByte, resolution):
"""
based on https://ww1.microchip.com/downloads/en/DeviceDoc/22072b.pdf
assumed that gain = 1
"""
def digitalToAnalog(value, lsb, pga):
return (value * (lsb / pga))
digitalOutput = (upperByte << 8) | lowerByte
if resolution == ADC_RESOLUTION.R12:
return digitalToAnalog(digitalOutput, (1 * 0.01), 1)
if resolution == ADC_RESOLUTION.R13:
return digitalToAnalog(digitalOutput, (250 * 0.0000001), 1)
if resolution == ADC_RESOLUTION.R14:
return digitalToAnalog(digitalOutput, (62.5 * 0.000001), 1)
class ApplicationLayer:
def __init__(self, physicalLayer):
self.transportLayer = TransportLayer(physicalLayer)
def connect(self):
self.transportLayer.connect()
def getMeasurement(self):
dataIn = self.transportLayer.getFrame()
(msb, lsb) = (dataIn[2], dataIn[3])
deviceMeasurement = convert(
msb, lsb, ADC_RESOLUTION.R14)
return deviceMeasurement

Wyświetl plik

@ -1,19 +0,0 @@
import mcp3425
class IonizationChamber:
def __init__(self, ionizationSensor):
self.ionizationSensor = ionizationSensor
def connect(self):
self.ionizationSensor.connect()
def getMeasurement(self):
dataIn = self.ionizationSensor.getMeasurement()
(msb, lsb) = (dataIn[2], dataIn[3])
deviceMeasurement = mcp3425.convert(
msb, lsb, mcp3425.MCP3425_RESOLUTION.R14)
return deviceMeasurement

Wyświetl plik

@ -1,11 +1,11 @@
from hardware_connection import HardwareConnection
from physical_layer import PhysicalLayer
from state_machine import IonizationChamberStateMachine
import config
if __name__ == "__main__":
hardware = HardwareConnection(config)
machine = IonizationChamberStateMachine(hardware)
physicalLayer = PhysicalLayer(config)
machine = IonizationChamberStateMachine(physicalLayer)
while True:
machine.tick()

Wyświetl plik

@ -1,27 +0,0 @@
"""
based on https://ww1.microchip.com/downloads/en/DeviceDoc/22072b.pdf
assumed that gain = 1
"""
from enum import Enum
class MCP3425_RESOLUTION(Enum):
R12 = 1
R13 = 2
R14 = 3
def convert(upperByte, lowerByte, resolution):
def digitalToAnalog(value, lsb, pga):
return (value * (lsb / pga))
digitalOutput = (upperByte << 8) | lowerByte
if resolution == MCP3425_RESOLUTION.R12:
return digitalToAnalog(digitalOutput, (1 * 0.01), 1)
if resolution == MCP3425_RESOLUTION.R13:
return digitalToAnalog(digitalOutput, (250 * 0.0000001), 1)
if resolution == MCP3425_RESOLUTION.R14:
return digitalToAnalog(digitalOutput, (62.5 * 0.000001), 1)

Wyświetl plik

@ -0,0 +1,15 @@
import csv
class MeasurementStorage:
def __init__(self):
self.CVS_FileName = "data.csv"
self.CVS_Header = ['Time', 'Counter']
def connect(self):
CVS_Handler = open(self.CVS_FileName, 'w', encoding='UTF8', newline='')
self.CVS_Writter = csv.writer(CVS_Handler)
self.CVS_Writter.writerow(self.CVS_Header)
def saveMeasurement(self, date, measurement):
self.CVS_Writter.writerow([date, measurement])

Wyświetl plik

@ -1,7 +1,7 @@
from serial import Serial
class HardwareConnection:
class PhysicalLayer:
def __init__(self, config):
self.config = config
@ -14,6 +14,7 @@ class HardwareConnection:
self.serialPort.isOpen()
self.serialPort.flushInput()
def getMeasurement(self):
dataIn = self.serialPort.read(5)
def getData(self):
msgLength = 6
dataIn = self.serialPort.read(msgLength)
return dataIn

Wyświetl plik

@ -1,39 +1,40 @@
import datetime
from ionization_chamber import IonizationChamber
from application_layer import ApplicationLayer
from measurement_storage import MeasurementStorage
class IonizationChamberStateMachine:
def __init__(self, hardware):
self.hardware = hardware
def __init__(self, physicalLayer):
self.applicationLayer = ApplicationLayer(physicalLayer)
self.deviceMeasurement = 0.0
self.measurementStorage = MeasurementStorage()
self.nextState = self.initIonizationChamber
def tick(self):
self.nextState()
def initIonizationChamber(self):
self.chamber = IonizationChamber(self.hardware)
self.chamber.connect()
self.nextState = self.initOutputFile
self.applicationLayer.connect()
self.nextState = self.initMeasurementStorage
def initMeasurementStorage(self):
self.measurementStorage.connect()
def initOutputFile(self):
self.logFile = open('data.csv', 'w')
self.logFile.write("Time,Counter,DMM\n")
self.nextState = self.getMeasurementFromIonizationChamber
def getMeasurementFromIonizationChamber(self):
self.deviceMeasurement = self.chamber.getMeasurement()
self.deviceMeasurement = self.applicationLayer.getMeasurement()
self.nextState = self.saveMeasurement
def saveMeasurement(self):
now = datetime.datetime.now()
self.logFile.write("{0},{1}\n".format(
now, self.deviceMeasurement))
self.logFile.flush()
self.measurementStorage.saveMeasurement(now, self.deviceMeasurement)
self.nextState = self.showMeasurementToUser
def showMeasurementToUser(self):
print("{0}".format(self.deviceMeasurement))
self.nextState = self.getMeasurementFromIonizationChamber

Wyświetl plik

@ -0,0 +1,23 @@
class InvalidCRC(Exception):
pass
class MissingFrame(Exception):
pass
class InvalidMsgLength(Exception):
pass
class TransportLayer:
def __init__(self, physicalLayer):
self.physicalLayer = physicalLayer
def connect(self):
self.physicalLayer.connect()
def getFrame(self):
return self.physicalLayer.getData()

Wyświetl plik

@ -1,9 +1,60 @@
# Firmware
# Setting up development environment on Linux
* ["Data processing and firmware flashing" node architecture
](https://github.com/RobertGawron/IonizationChamber/wiki/%22Data-processing-and-firmware-flashing%22-node-architecture
)
* [Setting up development environment on Linux
](https://github.com/RobertGawron/IonizationChamber/wiki/Setting-up-development-environment-on-Linux)
* [Firmware compilation and hardware flashing
](https://github.com/RobertGawron/IonizationChamber/wiki/Firmware-compilation-and-hardware-flashing)
1. Install tools via apt-get:
```console
apt-get install screen git sdcc doxygen uncrustify libusb-1.0-0-dev python3-pip texlive-latex-base texlive-latex-extra texlive-extra-utils poppler-utils cmake cppcheck r-base-core shellcheck pdf2svg
```
Note: libusb is needed by stm8flash.
2. Clone, build and install stm8flash:
```console
git clone https://github.com/vdudouyt/stm8flash.git
cd stm8flash/
make
make install
```
3. Stm8flash enumerates as USB device, add access to this device for non-root users (so that its possible to flash the chip without being root):
```console
chmod o+w /dev/bus/usb/001/004
```
In above example, _/dev/bus/usb/001/004_ is where the stm8flash enumerates, you will get id of your stm8flash from error message when trying to flash the board.
# Firmware compilation and hardware flashing
## Initial configuration
Configure project using cmake, this step is needed only once.
In Software directory create build directory and go into it:
```
mkdir build
cd build
```
Run cmake:
```
cmake -DCMAKE_SYSTEM_NAME=Generic -DCMAKE_C_COMPILER=sdcc ../
```
## Compilation
Compilation is done using make in the directory where cmake files were generated (Software/Build)
```
make
```
Binary will be stored directory where makefile is.
# Hardware flashing
```
stm8flash -c stlink -p stm8s003f3 -w IonizationChamber.ihx
```

Wyświetl plik

@ -1,5 +1,34 @@
# Software
## Architecture
* ["Data processing and firmware flashing" node architecture
](https://github.com/RobertGawron/IonizationChamber/wiki/%22Data-processing-and-firmware-flashing%22-node-architecture
)
Measurements are collected from COM port (tunneled over USB) by a python script and stored in .cvs file. This file can be later parsed using R scripts to to collect various diagrams (radioactivity changes over time, radioactivity histogram, box-plots for various samples).
<img src="../Documentation/Diagrams/HostArchitecture.svg" width="100%">
## Protocol for sending measurements via UART
## Purpose
To ensure data integrity sent from the ionization chamber device to computer, a simple protocol was added to encapsulate each data/command send.
## Protocol details
The field “msg length” describes amount of bytes the “data” section has.
Definition of the message:
<img src="../Documentation/Diagrams/UARTFrameFormat.svg" width="100%">
Content of data section in above message is an example and can be different depends on message id, but now only one message is supported and it is as shown above.
### Defined message ids and message content
* Msg id: 1 - data from last analog measurement of actual value.
* Msg data section:
* ADC configuration
* MSB (most significant byte) from ADC
* LSB (least significant byte) from ADC
### CRC
CRC is calculated xoring all bytes in "preamble" and "data" section.