added debugging

master
Frederik Maaßen 2 years ago
parent 2ee01a668f
commit 492da978b1
  1. 1
      implementation/mininet_controller.py
  2. 65
      thesis/content/implementation/test_network.tex
  3. 66
      thesis/images/testing_4r3h.eps
  4. 62
      thesis/images/testing_4r3h.svg
  5. 306
      thesis/images/tests/minimal_bandwidth_link_usage/bandwidth_link_usage_concurrent_sc.eps
  6. 307
      thesis/images/tests/minimal_bandwidth_link_usage/bandwidth_link_usage_concurrent_wo_sc.eps

@ -173,6 +173,7 @@ def read_packet_counter(delay, length, net, device, table, counter, flag, test_p
packet_counter_output_lines[2].find("packets") + 7:packet_counter_output_lines[
2].find("bytes")].strip()
info(f"\nReading output on {device} in counter {counter}: {relevant_output}")
current_time = round(current_time + delay, 1)
log_output = int(relevant_output) - last_value
last_value = int(relevant_output)

@ -35,40 +35,73 @@ A test has two phases, the pre-execution phase and the execution phase. In the p
The execution phase contains the actual testing. A command can be executed and its results will be written to the Mininet console.
Additionally, failures can be introduced to the network. The key \textit{failures} contains a list of failures, defined by a type and a list of commands. The types of implemented failures are "intermediate" and "timer". Intermediate failures will be executed after a first run of the execute command, which will be repeated after the failure function was called. A failure that is of the type "timer" will start a timer in the beginning of the measurement, which will execute the defined command after a delay, which is provided through an attribute named "timing".
Additionally failures can be introduced to the network. The key \textit{failures} contains a list of failures, defined by a type and a list of commands. The types of implemented failures are "intermediate" and "timer". Intermediate failures will be executed after a first run of the execute command, which will be repeated after the failure function was called. A failure that is of the type "timer" will start a timer in the beginning of the measurement, which will execute the defined command after a delay, which is provided through an attribute named "timing".
\subsection{Implemented commands}
A command can either be a lambda which is only dependent on the net, which will be passed into the lambda by default, or a function definition which is a tuple of the name of the function and a second nested x-tuple, depending on the function to call, containing all arguments that need to be passed to the function.
The functions are defined in the \textit{mininet\_ controller.py} and can't be called directly, because the topologies are loaded dynamically and will not know existing function definitions until they are loaded. Because of this the \textit{mininet\_ controller.py} contains a dictionary called "functions" which has the function name as key and an attribute called "callable" containing a lambda with the function call using the provided arguments.
The functions are defined in the \textit{mininet\_controller} and can't be called directly, because the topologies are loaded dynamically and will not know existing function definitions until they are loaded. Because of this the \textit{mininet\_controller} contains a dictionary called "functions" which has the function name as key and an attribute called "callable" containing a lambda with the function call using the provided arguments. In the following we list the existing functions and explain their functionality, which files are created and which output can be used for further testing and evaluation.
\subsubsection{connection\_ shutdown}
\subsubsection{connection\_shutdown}
This function will use a connection which is by definition a list with 2 elements, containing the names of the hosts/nodes which are linked together, a list with 2 elements containing the names of both components for printing and a list with 2 elements containing the interfaces which should be shut down. It will then access the components in the network and use the cmd function provided by Mininet to execute an "ifconfig down *interface*" on the component, which will cause the interface to be deactivated. This is done on both sides of the connection to make sure that each router will be able to recognize the missing connection instantly.
\subsubsection{measure\_ bandwidth}
This function will use a 2-element list of hosts, a 2-element list of ips, a length parameter that defines how long the test will run in seconds, an interval parameter defining the interval between each log entry of \textit{iperf}, a unique test name for naming a created graph or log entry, a graph title in case a graph should be created, a flag that defines whether \textit{iperf} should use tcp or udp as transfer protocol and a bandwidth to limit the transfer rate of \textit{iperf}.
\subsubsection{measure\_bandwidth}
\label{measure_bandwidth}
This function will use a 2-element list of hosts, a 2-element list of IPs, a length parameter that defines how long the test will run in seconds, an interval parameter defining the interval between each log entry of \textit{iperf}, a unique test name for naming a created graph or log entry, a graph title in case a graph should be created, a flag that defines whether \textit{iperf} should use tcp or udp as transfer protocol and a bandwidth to limit the transfer rate of \textit{iperf}.
The command starts an \textit{iperf} server and client on the defined devices and logs their output. It will then parse this output for \textit{gnuplot}, which will in turn create a plot in the "/tmp/" directory of the virtual machine.
The command starts an \textit{iperf} server. While experimenting we sometimes experienced unexpected behaviour causing tests to fail. There seemed to be an issue with the timing of the \textit{iperf} server and client commands which were executed on the corresponding devices. Because the \textit{iperf} server and client were started detached and the python script executed both commands directly one after another, the client seemed to try to connect to the server while the server was still in its startup process, denying the connection. This is why we added an additional delay between server and client command execution.
\subsubsection{measure\_ latency}
This function will use a sender element in the network, a destination ip, a length parameter that defines how many pings should be performed, an interval parameter defining the delay between each ping, a unique test name and a graph title.
Both the client and server log their output. The function will then parse the output of the server, as results from the server seemed to be more consistent, for \textit{gnuplot}, which will in turn create a plot in the "/tmp/" directory of the virtual machine as described in section \ref{plotting}.
\subsubsection{measure\_ packet\_ flow}
\subsubsection{measure\_link\_usage\_bandwidth}
This function will use an two \textit{iperf} server-client pairs to start two separate bandwidth tests. The second \textit{iperf} measurement will use the port 5202 instead of the default port 5201 in case two servers are started on the same device.
The function reuses the \textit{measure\_bandwidth} function described in section \ref{measure_bandwidth}. We call the measurement done by the \textit{measure\_bandwidth} function the "main" measurement, the additional transfer used to evaluate the influence of another file transfer on the network the "additional" measurement.
Because we reuse the \textit{measure\_bandwidth} function, the additional measurement is started with a delay. The \textit{measure\_bandwidth} functions introduces a sleep time of one second between the execution of the \textit{iperf} server command and the client command, which would cause the additional measurement to be executed a second early to the main measurement. This is why we considered this additional second in the execution and the parsing process of the \textit{iperf} output, executing the additional measurement for a longer period of time, omitting the entry for the first second and shifting all time values one second ahead. Doing this we create a log output that is nearly synced only adding the delay created by the Mininet and python overhead.
Both results are then passed to the \textit{multiplotting} function referenced in section \ref{plotting}, to create a plot containing both bandwidth measurements. The original graph created by the \textit{measure\_bandwidth} function is also saved. The combined graph receives the subtitle "\_combined".
\subsubsection{measure\_latency}
This function will use a sender element in the network, a destination IP, a length parameter that defines how many ping packets should be sent, an interval parameter defining the delay between each ping, a unique test name, a list containing the range for the y-axis of a created graph and a graph title which will be used in naming the files of tests.
After creating a test name out of the components of the measurement, including sender and destination, which latency measurement function was used (currently only ping is used), the defined unique test name, e.g. containing information whether the test was started before or after introducing a failure, as well as whether or not ShortCut was used.
It will then start a ping from the defined sender to the destination IP and log the results to a file in the "/tmp/" directory. The ping command is started in detached mode using the bash target "\&". Output is directly written to a file using the ">" operator in the bash command. The python script will then wait for the corresponding time, adding some seconds to make sure all executions were fully run. After that, the produced ping output is parsed using bash tools, including \textit{more}, \textit{head} and \textit{awk}, to create a single line command which will create a file with time-value pairs, separated by line.
The output file will then be extended by a zero value. All files created are saved in the "/tmp/" and can be used to further inspect results. They are named according to the test name. Files containing console output or parsed versions of said output use the file extension ".out".
After successfully parsing the output files the information about the test, including information about the test name is passed to the plotting function further explained in section \ref{plotting}, which will create a plot in the "/tmp/" directory under the same test name using the file type ".eps", which can be implemented directly in a LaTex document for documentation.
\subsubsection{measure\_packet\_flow}
This function will use a client and server parameter to start an \textit{iperf} transfer and will implement packet counters using the filtering capabilities of \textit{nftables} on all devices referenced in the flow measurement targets provided in the parameters of this function. Depending on the "flag" parameter they will count all packets entering the device which belong to the specified protocol. As \textit{nftables} is normally used to create firewall rulings and is used in many professional linux networks it is safe to assume that the counters will have a minimal impact on performance.
When the packet counters are created information about them will be stored in a global packet counter memory, which will later be used to access information about the counters. After initialization this status is saved in a global variable in case the script is run again during the lifetime of the network to avoid the multiple implementation of the same counter and thus errors that could occur. If this variable is already true during execution, the existing counters are reset to a value of zero instead.
There are python libraries for reading \textit{nftables} entries but an implementation would take additional time because of the usage of network namespaces of Mininet. Each device lives in its own network namespace, which would have to be specifically accessed by the python library. Because of this concern we decided to manually check and parse the output of the command line tool of \textit{nftables}.
After starting a bandwidth test using \textit{iperf} on the client device, the packet counters are started which will start a python thread for each of the measurement targets. In each of these threads the bash command for displaying counters is used to access the current count. The output is saved in python, parsed and then saved to a log file which is named after the device that is being logged, including the current time of execution in a fitting format for \textit{gnuplot}.
After stopping the \textit{iperf} server on the server device the created log files are passed as a dictionary with the corresponding label for the data to the \textit{multiplotting} function explained in section \ref{plotting}.
\subsubsection{Plotting}
Plotting results helps with visualizing differences. But performing many tests and creating graphs can become tedious and will take a lot of time. This is why we used \textit{gnuplot} to automatically create graphs. Each function that produces a log output containing results will parse its own results to only contain a time-value and a value, separated by a space, with additional values listed line-by-line. For parsing e.g. \textit{iperf} results we use a combination of grep to limit output to results with times, head to limit the count of lines read according to the length parameter of the function, \textit{tr} to remove hyphens and pass the by this created space separated table of values to \textit{awk} to print relevant data to a separate file.
This data is then passed to \textit{gnuplot}, which will produce an eps file containing a simple plot of our data. A test run with \textit{iperf} would look like seen in figure \ref{fig:s_to_d_iperf_tcp_pre_failure_graph}. We use the "with linespoints" option, as well as the passed graph title for additional information on the plot.
\label{plotting}
Plotting results helps with visualizing differences. But performing many tests and creating graphs can become tedious and will take a lot of time. This is why we used \textit{gnuplot} to automatically create graphs. Each function that produces a log output containing results will parse its own results to only contain a time-value and a value, separated by a space, with additional values listed line-by-line.
This data is then passed to \textit{gnuplot}, which will produce an eps file containing a simple plot of our data. A test run with \textit{iperf} would look like seen in figure \ref{fig:example_plotting}. We use the "with linespoints" option, as well as the passed graph title for additional information on the plot.
\begin{figure}
\centering
\includegraphics[width=9cm]{s_to_d_iperf_tcp_pre_failure_graph}
\caption{Exemplary iperf run with automatic plotting}
\label{fig:s_to_d_iperf_tcp_pre_failure_graph}
\includegraphics[width=9cm]{latency_concurrent_wo_sc}
\caption{Exemplary latency test run with automatic plotting}
\label{fig:example_plotting}
\end{figure}
In addition to plotting a single line in a graph, we also implemented a function to plot multiple data files in \textit{gnuplot} automatically. The function will use a greyscale as line colors and different dash styles for differentiating plots. It will also add the monitored device to the legend.
In addition to plotting a single line in a graph, we also implemented a function to plot multiple data files in \textit{gnuplot} automatically. The function uses a greyscale as line colors and different dash styles for differentiating plots. It adds a defined label to each dataset. This can be used to e.g. plot the packet flow of multiple devices. A plot created with this method will look something like can be seen in figure \ref{fig:example_multiplotting}.
\begin{figure}
\centering
\includegraphics[width=9cm]{packet_flow_intermediate_wo_sc}
\caption{Exemplary latency test run with automatic plotting}
\label{fig:example_multiplotting}
\end{figure}

@ -1,10 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: cairo 1.17.4 (https://cairographics.org)
%%CreationDate: Tue May 10 16:10:56 2022
%%CreationDate: Wed May 11 19:20:55 2022
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%BoundingBox: 30 631 277 823
%%BoundingBox: 30 670 277 823
%%EndComments
%%BeginProlog
50 dict begin
@ -461,9 +461,9 @@ b808004b5458b001b0018e59b0084b5358b001b0018e59002b2b2b2b2b737473732b2b2b2b2b
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
%%PageBoundingBox: 30 631 277 823
%%PageBoundingBox: 30 670 277 823
%%EndPageSetup
q 30 631 247 192 rectclip
q 30 670 247 153 rectclip
1 0 0 -1 0 842 cm q
0 g
0.749999 w
@ -473,8 +473,6 @@ q 30 631 247 192 rectclip
4 M q 1 0 0 1 0 0 cm
56.426 115.387 m 89.77 115.387 l S Q
q 1 0 0 1 0 0 cm
149.578 194.523 m 149.578 161.176 l S Q
q 1 0 0 1 0 0 cm
150.785 69.109 m 150.785 44.223 l S Q
q 1 0 0 1 0 0 cm
217.48 115.508 m 256.387 115.508 l S Q
@ -653,7 +651,7 @@ q 1 0 0 0.926072 0 0 cm
83.843 l 155.613 81.282 l 156.699 80.7 l h
152.133 80.498 m S Q
BT
7.21612 0 0 -7.724187 144.658969 138.341355 Tm
7.21612 0 0 -7.724187 145.625547 171.20502 Tm
/f-0-0 1 Tf
(R3)Tj
ET
@ -930,60 +928,6 @@ q 1 0 0 1 0 0 cm
68.52 117.84 m 68.52 119.242 l 75.262 119.242 l 75.262 120.168 l 68.52
120.168 l 68.52 121.52 l 66.281 119.68 l h
68.52 117.84 m S Q
0.901961 g
139.105 194.441 20.98 15.734 re f
0 g
0.139884 w
q 1 0 0 1 0 0 cm
139.105 194.441 20.98 15.734 re S Q
BT
6.969866 0 0 -7.724195 144.55094 204.774528 Tm
/f-0-0 1 Tf
(H3)Tj
ET
0.6 g
140.863 171.691 18.016 13.969 re f
0 g
0.162664 w
q 1 0 0 1 0 0 cm
140.863 171.691 18.016 13.969 re S Q
1 g
155.188 172.754 m 155.188 174.156 l 148.445 174.156 l 148.445 175.082 l
155.188 175.082 l 155.188 176.434 l 157.426 174.594 l h
155.188 172.754 m f
0 g
0.161136 w
q 1 0 0 1 0 0 cm
155.188 172.754 m 155.188 174.156 l 148.445 174.156 l 148.445 175.082 l
155.188 175.082 l 155.188 176.434 l 157.426 174.594 l h
155.188 172.754 m S Q
1 g
155.086 178.293 m 155.086 179.695 l 148.344 179.695 l 148.344 180.621 l
155.086 180.621 l 155.086 181.973 l 157.324 180.133 l h
155.086 178.293 m f
0 g
q 1 0 0 1 0 0 cm
155.086 178.293 m 155.086 179.695 l 148.344 179.695 l 148.344 180.621 l
155.086 180.621 l 155.086 181.973 l 157.324 180.133 l h
155.086 178.293 m S Q
1 g
144.75 175.453 m 144.75 176.852 l 151.488 176.852 l 151.488 177.777 l 144.75
177.777 l 144.75 179.129 l 142.508 177.289 l h
144.75 175.453 m f
0 g
q 1 0 0 1 0 0 cm
144.75 175.453 m 144.75 176.852 l 151.488 176.852 l 151.488 177.777 l 144.75
177.777 l 144.75 179.129 l 142.508 177.289 l h
144.75 175.453 m S Q
1 g
144.75 181.008 m 144.75 182.41 l 151.488 182.41 l 151.488 183.336 l 144.75
183.336 l 144.75 184.688 l 142.508 182.848 l h
144.75 181.008 m f
0 g
q 1 0 0 1 0 0 cm
144.75 181.008 m 144.75 182.41 l 151.488 182.41 l 151.488 183.336 l 144.75
183.336 l 144.75 184.688 l 142.508 182.848 l h
144.75 181.008 m S Q
0.6 g
141.867 49.832 18.02 13.965 re f
0 g

@ -83,10 +83,6 @@
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 19.905137,40.705367 H 31.669201"
id="path84809" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 52.767795,68.623708 V 56.859644"
id="path84809-7" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 53.194029,24.380596 V 15.600172"
@ -294,15 +290,15 @@
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:2.63378px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0658444"
x="52.798443"
y="47.171394"
x="53.15123"
y="58.37719"
id="text15430-4"
transform="scale(0.96655255,1.0346049)"><tspan
sodipodi:role="line"
id="tspan15428-5"
style="stroke-width:0.0658444"
x="52.798443"
y="47.171394">R3</tspan></text>
x="53.15123"
y="58.37719">R3</tspan></text>
<g
id="g4878-4"
transform="matrix(0.41364843,0,0,0.38306843,9.5546973,45.152644)">
@ -507,56 +503,6 @@
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.155006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 68.735286,24.135577 v 1.347957 h 6.484085 v 0.89112 h -6.484085 v 1.2995 l -2.154251,-1.769289 z" />
</g>
<g
id="g32230-8"
transform="matrix(0.61685024,0,0,0.61685024,19.464002,50.088553)">
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.0799999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5591-0"
width="12"
height="9"
x="48"
y="30" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:4.19624px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.104906"
x="53.81007"
y="34.111912"
id="text2866-1"
transform="scale(0.94991686,1.0527237)"><tspan
sodipodi:role="line"
id="tspan2864-9"
style="stroke-width:0.104906"
x="53.81007"
y="34.111912">H3</tspan></text>
</g>
<g
id="g32802-4-78-0"
transform="matrix(0.36672827,0,0,0.36672827,25.856725,55.004433)">
<rect
style="fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.156476;stroke-miterlimit:4;stroke-dasharray:none"
id="rect32662-1-5-5"
width="17.330523"
height="13.435271"
x="64.998436"
y="15.174327" />
<path
id="rect4958-81-0-3-8"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.155006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 78.77708,16.195288 v 1.347957 h -6.484085 v 0.89112 h 6.484085 v 1.2995 l 2.154251,-1.769289 z" />
<path
id="rect4958-81-5-0-91-9"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.155006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 78.679575,21.524428 v 1.347957 H 72.19549 v 0.89112 h 6.484085 v 1.2995 l 2.154251,-1.769289 z" />
<path
id="rect4958-81-5-1-1-3-8"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.155006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 68.735286,18.790388 v 1.347957 h 6.484085 v 0.89112 h -6.484085 v 1.2995 l -2.154251,-1.769289 z" />
<path
id="rect4958-81-5-1-2-8-5-5"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.155006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 68.735286,24.135577 v 1.347957 h 6.484085 v 0.89112 h -6.484085 v 1.2995 l -2.154251,-1.769289 z" />
</g>
<g
id="g32802-4"
transform="matrix(0.36672827,0,0,0.36672827,26.211462,12.014239)">

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 26 KiB

@ -1,6 +1,6 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: cairo 1.16.0 (https://cairographics.org)
%%CreationDate: Wed May 11 18:32:18 2022
%%CreationDate: Thu May 12 14:53:16 2022
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
@ -417,7 +417,7 @@ fe030d0c16050dfe030c0110050c16030bfe030a100309fe0308022d0508fe03071403066403
%%BeginPageSetup
%%PageBoundingBox: 0 0 360 216
%%EndPageSetup
q 5 3 345 207 rectclip
q 5 3 345 204 rectclip
1 0 0 -1 0 216 cm q
0 g
0.25 w
@ -434,51 +434,60 @@ BT
( 0)Tj
ET
q 1 0 0 1 0 0 cm
42.949 150.551 m 46.648 150.551 l S Q
42.949 158.699 m 46.648 158.699 l S Q
q 1 0 0 1 0 0 cm
344.148 150.551 m 340.449 150.551 l S Q
344.148 158.699 m 340.449 158.699 l S Q
BT
8 0 0 -8 25.1 153.575781 Tm
8 0 0 -8 25.1 161.725781 Tm
/f-0-0 1 Tf
[( 20)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 115.398 m 46.648 115.398 l S Q
42.949 131.648 m 46.648 131.648 l S Q
q 1 0 0 1 0 0 cm
344.148 115.398 m 340.449 115.398 l S Q
344.148 131.648 m 340.449 131.648 l S Q
BT
8 0 0 -8 25.1 118.425781 Tm
8 0 0 -8 25.1 134.675781 Tm
/f-0-0 1 Tf
[( 40)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 80.199 m 46.648 80.199 l S Q
42.949 104.551 m 46.648 104.551 l S Q
q 1 0 0 1 0 0 cm
344.148 80.199 m 340.449 80.199 l S Q
344.148 104.551 m 340.449 104.551 l S Q
BT
8 0 0 -8 25.1 83.225781 Tm
8 0 0 -8 25.1 107.575781 Tm
/f-0-0 1 Tf
[( 60)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 45.051 m 46.648 45.051 l S Q
42.949 77.5 m 46.648 77.5 l S Q
q 1 0 0 1 0 0 cm
344.148 45.051 m 340.449 45.051 l S Q
344.148 77.5 m 340.449 77.5 l S Q
BT
8 0 0 -8 25.1 48.075781 Tm
8 0 0 -8 25.1 80.525781 Tm
/f-0-0 1 Tf
[( 80)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 9.852 m 46.648 9.852 l S Q
42.949 50.449 m 46.648 50.449 l S Q
q 1 0 0 1 0 0 cm
344.148 9.852 m 340.449 9.852 l S Q
344.148 50.449 m 340.449 50.449 l S Q
BT
8 0 0 -8 20 12.875781 Tm
8 0 0 -8 20 53.475781 Tm
/f-0-0 1 Tf
[( 10)-3(0)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 23.398 m 46.648 23.398 l S Q
q 1 0 0 1 0 0 cm
344.148 23.398 m 340.449 23.398 l S Q
BT
8 0 0 -8 20 26.425781 Tm
/f-0-0 1 Tf
[( 12)-3(0)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 185.75 m 42.949 182.051 l S Q
q 1 0 0 1 0 0 cm
42.949 9.852 m 42.949 13.551 l S Q
@ -559,137 +568,137 @@ ET
q 1 0 0 1 0 0 cm
309.852 18.199 m 333.949 18.199 l S Q
q 1 0 0 1 0 0 cm
42.949 185.75 m 53 19.898 l 63.051 18.801 l 73.051 18.449 l 83.102 17.949
l 93.148 18.449 l 103.199 17.949 l 113.25 18.301 l 123.25 17.949 l 133.301
18.449 l 143.352 17.949 l 153.398 23.051 l 163.449 18.648 l 173.449 18.102
l 183.5 19 l 193.551 18.648 l 203.602 18.648 l 213.648 18.449 l 223.648
18.801 l 233.699 18.449 l 243.75 18.301 l 253.801 18.449 l 263.852 18.801
l 273.852 18.449 l 283.898 17.949 l 293.949 18.449 l 304 17.949 l 314.051
18.449 l 324.051 18.449 l 334.102 18.301 l 344.148 18.449 l S Q
42.949 185.75 m 53 82.352 l 63.051 59.5 l 73.051 60.301 l 83.102 60.75
l 93.148 60.199 l 103.199 89.551 l 113.25 72.5 l 123.352 82.648 l 133.301
83.602 l 143.352 64.801 l 153.398 64.898 l 163.449 96.852 l 173.449 68.852
l 183.5 61.551 l 193.551 59.648 l 203.602 65.602 l 213.648 102.148 l 223.75
102.398 l 233.699 135.148 l 243.75 78.852 l 253.801 58.449 l 263.852 60.301
l 273.852 61.398 l 283.898 64.648 l 293.949 61.551 l 304 76.551 l 314.051
58.852 l 324.051 58.551 l 334.102 58.449 l 344.148 57.898 l S Q
q 1 0 0 1 0 0 cm
39.949 185.75 m 45.949 185.75 l S Q
q 1 0 0 1 0 0 cm
42.949 182.75 m 42.949 188.75 l S Q
q 1 0 0 1 0 0 cm
50 19.898 m 56 19.898 l S Q
50 82.352 m 56 82.352 l S Q
q 1 0 0 1 0 0 cm
53 16.898 m 53 22.898 l S Q
53 79.352 m 53 85.352 l S Q
q 1 0 0 1 0 0 cm
60.051 18.801 m 66.051 18.801 l S Q
60.051 59.5 m 66.051 59.5 l S Q
q 1 0 0 1 0 0 cm
63.051 15.801 m 63.051 21.801 l S Q
63.051 56.5 m 63.051 62.5 l S Q
q 1 0 0 1 0 0 cm
70.051 18.449 m 76.051 18.449 l S Q
70.051 60.301 m 76.051 60.301 l S Q
q 1 0 0 1 0 0 cm
73.051 15.449 m 73.051 21.449 l S Q
73.051 57.301 m 73.051 63.301 l S Q
q 1 0 0 1 0 0 cm
80.102 17.949 m 86.102 17.949 l S Q
80.102 60.75 m 86.102 60.75 l S Q
q 1 0 0 1 0 0 cm
83.102 14.949 m 83.102 20.949 l S Q
83.102 57.75 m 83.102 63.75 l S Q
q 1 0 0 1 0 0 cm
90.148 18.449 m 96.148 18.449 l S Q
90.148 60.199 m 96.148 60.199 l S Q
q 1 0 0 1 0 0 cm
93.148 15.449 m 93.148 21.449 l S Q
93.148 57.199 m 93.148 63.199 l S Q
q 1 0 0 1 0 0 cm
100.199 17.949 m 106.199 17.949 l S Q
100.199 89.551 m 106.199 89.551 l S Q
q 1 0 0 1 0 0 cm
103.199 14.949 m 103.199 20.949 l S Q
103.199 86.551 m 103.199 92.551 l S Q
q 1 0 0 1 0 0 cm
110.25 18.301 m 116.25 18.301 l S Q
110.25 72.5 m 116.25 72.5 l S Q
q 1 0 0 1 0 0 cm
113.25 15.301 m 113.25 21.301 l S Q
113.25 69.5 m 113.25 75.5 l S Q
q 1 0 0 1 0 0 cm
120.25 17.949 m 126.25 17.949 l S Q
120.352 82.648 m 126.352 82.648 l S Q
q 1 0 0 1 0 0 cm
123.25 14.949 m 123.25 20.949 l S Q
123.352 79.648 m 123.352 85.648 l S Q
q 1 0 0 1 0 0 cm
130.301 18.449 m 136.301 18.449 l S Q
130.301 83.602 m 136.301 83.602 l S Q
q 1 0 0 1 0 0 cm
133.301 15.449 m 133.301 21.449 l S Q
133.301 80.602 m 133.301 86.602 l S Q
q 1 0 0 1 0 0 cm
140.352 17.949 m 146.352 17.949 l S Q
140.352 64.801 m 146.352 64.801 l S Q
q 1 0 0 1 0 0 cm
143.352 14.949 m 143.352 20.949 l S Q
143.352 61.801 m 143.352 67.801 l S Q
q 1 0 0 1 0 0 cm
150.398 23.051 m 156.398 23.051 l S Q
150.398 64.898 m 156.398 64.898 l S Q
q 1 0 0 1 0 0 cm
153.398 20.051 m 153.398 26.051 l S Q
153.398 61.898 m 153.398 67.898 l S Q
q 1 0 0 1 0 0 cm
160.449 18.648 m 166.449 18.648 l S Q
160.449 96.852 m 166.449 96.852 l S Q
q 1 0 0 1 0 0 cm
163.449 15.648 m 163.449 21.648 l S Q
163.449 93.852 m 163.449 99.852 l S Q
q 1 0 0 1 0 0 cm
170.449 18.102 m 176.449 18.102 l S Q
170.449 68.852 m 176.449 68.852 l S Q
q 1 0 0 1 0 0 cm
173.449 15.102 m 173.449 21.102 l S Q
173.449 65.852 m 173.449 71.852 l S Q
q 1 0 0 1 0 0 cm
180.5 19 m 186.5 19 l S Q
180.5 61.551 m 186.5 61.551 l S Q
q 1 0 0 1 0 0 cm
183.5 16 m 183.5 22 l S Q
183.5 58.551 m 183.5 64.551 l S Q
q 1 0 0 1 0 0 cm
190.551 18.648 m 196.551 18.648 l S Q
190.551 59.648 m 196.551 59.648 l S Q
q 1 0 0 1 0 0 cm
193.551 15.648 m 193.551 21.648 l S Q
193.551 56.648 m 193.551 62.648 l S Q
q 1 0 0 1 0 0 cm
200.602 18.648 m 206.602 18.648 l S Q
200.602 65.602 m 206.602 65.602 l S Q
q 1 0 0 1 0 0 cm
203.602 15.648 m 203.602 21.648 l S Q
203.602 62.602 m 203.602 68.602 l S Q
q 1 0 0 1 0 0 cm
210.648 18.449 m 216.648 18.449 l S Q
210.648 102.148 m 216.648 102.148 l S Q
q 1 0 0 1 0 0 cm
213.648 15.449 m 213.648 21.449 l S Q
213.648 99.148 m 213.648 105.148 l S Q
q 1 0 0 1 0 0 cm
220.648 18.801 m 226.648 18.801 l S Q
220.75 102.398 m 226.75 102.398 l S Q
q 1 0 0 1 0 0 cm
223.648 15.801 m 223.648 21.801 l S Q
223.75 99.398 m 223.75 105.398 l S Q
q 1 0 0 1 0 0 cm
230.699 18.449 m 236.699 18.449 l S Q
230.699 135.148 m 236.699 135.148 l S Q
q 1 0 0 1 0 0 cm
233.699 15.449 m 233.699 21.449 l S Q
233.699 132.148 m 233.699 138.148 l S Q
q 1 0 0 1 0 0 cm
240.75 18.301 m 246.75 18.301 l S Q
240.75 78.852 m 246.75 78.852 l S Q
q 1 0 0 1 0 0 cm
243.75 15.301 m 243.75 21.301 l S Q
243.75 75.852 m 243.75 81.852 l S Q
q 1 0 0 1 0 0 cm
250.801 18.449 m 256.801 18.449 l S Q
250.801 58.449 m 256.801 58.449 l S Q
q 1 0 0 1 0 0 cm
253.801 15.449 m 253.801 21.449 l S Q
253.801 55.449 m 253.801 61.449 l S Q
q 1 0 0 1 0 0 cm
260.852 18.801 m 266.852 18.801 l S Q
260.852 60.301 m 266.852 60.301 l S Q
q 1 0 0 1 0 0 cm
263.852 15.801 m 263.852 21.801 l S Q
263.852 57.301 m 263.852 63.301 l S Q
q 1 0 0 1 0 0 cm
270.852 18.449 m 276.852 18.449 l S Q
270.852 61.398 m 276.852 61.398 l S Q
q 1 0 0 1 0 0 cm
273.852 15.449 m 273.852 21.449 l S Q
273.852 58.398 m 273.852 64.398 l S Q
q 1 0 0 1 0 0 cm
280.898 17.949 m 286.898 17.949 l S Q
280.898 64.648 m 286.898 64.648 l S Q
q 1 0 0 1 0 0 cm
283.898 14.949 m 283.898 20.949 l S Q
283.898 61.648 m 283.898 67.648 l S Q
q 1 0 0 1 0 0 cm
290.949 18.449 m 296.949 18.449 l S Q
290.949 61.551 m 296.949 61.551 l S Q
q 1 0 0 1 0 0 cm
293.949 15.449 m 293.949 21.449 l S Q
293.949 58.551 m 293.949 64.551 l S Q
q 1 0 0 1 0 0 cm
301 17.949 m 307 17.949 l S Q
301 76.551 m 307 76.551 l S Q
q 1 0 0 1 0 0 cm
304 14.949 m 304 20.949 l S Q
304 73.551 m 304 79.551 l S Q
q 1 0 0 1 0 0 cm
311.051 18.449 m 317.051 18.449 l S Q
311.051 58.852 m 317.051 58.852 l S Q
q 1 0 0 1 0 0 cm
314.051 15.449 m 314.051 21.449 l S Q
314.051 55.852 m 314.051 61.852 l S Q
q 1 0 0 1 0 0 cm
321.051 18.449 m 327.051 18.449 l S Q
321.051 58.551 m 327.051 58.551 l S Q
q 1 0 0 1 0 0 cm
324.051 15.449 m 324.051 21.449 l S Q
324.051 55.551 m 324.051 61.551 l S Q
q 1 0 0 1 0 0 cm
331.102 18.301 m 337.102 18.301 l S Q
331.102 58.449 m 337.102 58.449 l S Q
q 1 0 0 1 0 0 cm
334.102 15.301 m 334.102 21.301 l S Q
334.102 55.449 m 334.102 61.449 l S Q
q 1 0 0 1 0 0 cm
341.148 18.449 m 347.148 18.449 l S Q
341.148 57.898 m 347.148 57.898 l S Q
q 1 0 0 1 0 0 cm
344.148 15.449 m 344.148 21.449 l S Q
344.148 54.898 m 344.148 60.898 l S Q
q 1 0 0 1 0 0 cm
318.898 18.199 m 324.898 18.199 l S Q
q 1 0 0 1 0 0 cm
@ -707,12 +716,141 @@ ET
[ 2.5 4 2.5 4 2.5 4 2.5 4] 0 d
q 1 0 0 1 0 0 cm
309.852 27.5 m 333.949 27.5 l S Q
[ 2.5 4 2.5 4 2.5 4 2.5 4] 0 d
q 1 0 0 1 0 0 cm
42.949 185.75 m 53.301 67.352 l 63.051 74.801 l 73.051 59.801 l 83.102
60.852 l 93.148 61.25 l 103.199 61.949 l 113.25 89.301 l 123.25 70.75 l
133.301 83.051 l 143.352 84.25 l 153.398 65.602 l 163.449 65.352 l 173.449
100.801 l 183.5 65.449 l 193.551 62.602 l 203.602 61.25 l 213.648 65.852
l 223.949 108.75 l 233.699 98.199 l 243.75 135.301 l 253.801 80.199 l 263.852
58.699 l 273.852 59.898 l 283.898 61.25 l 293.949 64.25 l 304 61.648 l
314.051 76.148 l 324.051 59.801 l 334.102 58.449 l 344.148 58.148 l S Q
[] 0.0 d
q 1 0 0 1 0 0 cm
39.949 182.75 m 45.949 188.75 l S Q
q 1 0 0 1 0 0 cm
39.949 188.75 m 45.949 182.75 l S Q
q 1 0 0 1 0 0 cm
50.301 64.352 m 56.301 70.352 l S Q
q 1 0 0 1 0 0 cm
50.301 70.352 m 56.301 64.352 l S Q
q 1 0 0 1 0 0 cm
60.051 71.801 m 66.051 77.801 l S Q
q 1 0 0 1 0 0 cm
60.051 77.801 m 66.051 71.801 l S Q
q 1 0 0 1 0 0 cm
70.051 56.801 m 76.051 62.801 l S Q
q 1 0 0 1 0 0 cm
70.051 62.801 m 76.051 56.801 l S Q
q 1 0 0 1 0 0 cm
80.102 57.852 m 86.102 63.852 l S Q
q 1 0 0 1 0 0 cm
80.102 63.852 m 86.102 57.852 l S Q
q 1 0 0 1 0 0 cm
90.148 58.25 m 96.148 64.25 l S Q
q 1 0 0 1 0 0 cm
90.148 64.25 m 96.148 58.25 l S Q
q 1 0 0 1 0 0 cm
100.199 58.949 m 106.199 64.949 l S Q
q 1 0 0 1 0 0 cm
100.199 64.949 m 106.199 58.949 l S Q
q 1 0 0 1 0 0 cm
110.25 86.301 m 116.25 92.301 l S Q
q 1 0 0 1 0 0 cm
110.25 92.301 m 116.25 86.301 l S Q
q 1 0 0 1 0 0 cm
120.25 67.75 m 126.25 73.75 l S Q
q 1 0 0 1 0 0 cm
120.25 73.75 m 126.25 67.75 l S Q
q 1 0 0 1 0 0 cm
130.301 80.051 m 136.301 86.051 l S Q
q 1 0 0 1 0 0 cm
130.301 86.051 m 136.301 80.051 l S Q
q 1 0 0 1 0 0 cm
140.352 81.25 m 146.352 87.25 l S Q
q 1 0 0 1 0 0 cm
140.352 87.25 m 146.352 81.25 l S Q
q 1 0 0 1 0 0 cm
150.398 62.602 m 156.398 68.602 l S Q
q 1 0 0 1 0 0 cm
150.398 68.602 m 156.398 62.602 l S Q
q 1 0 0 1 0 0 cm
160.449 62.352 m 166.449 68.352 l S Q
q 1 0 0 1 0 0 cm
160.449 68.352 m 166.449 62.352 l S Q
q 1 0 0 1 0 0 cm
170.449 97.801 m 176.449 103.801 l S Q
q 1 0 0 1 0 0 cm
170.449 103.801 m 176.449 97.801 l S Q
q 1 0 0 1 0 0 cm
180.5 62.449 m 186.5 68.449 l S Q
q 1 0 0 1 0 0 cm
180.5 68.449 m 186.5 62.449 l S Q
q 1 0 0 1 0 0 cm
190.551 59.602 m 196.551 65.602 l S Q
q 1 0 0 1 0 0 cm
190.551 65.602 m 196.551 59.602 l S Q
q 1 0 0 1 0 0 cm
200.602 58.25 m 206.602 64.25 l S Q
q 1 0 0 1 0 0 cm
200.602 64.25 m 206.602 58.25 l S Q
q 1 0 0 1 0 0 cm
210.648 62.852 m 216.648 68.852 l S Q
q 1 0 0 1 0 0 cm
210.648 68.852 m 216.648 62.852 l S Q
q 1 0 0 1 0 0 cm
220.949 105.75 m 226.949 111.75 l S Q
q 1 0 0 1 0 0 cm
220.949 111.75 m 226.949 105.75 l S Q
q 1 0 0 1 0 0 cm
230.699 95.199 m 236.699 101.199 l S Q
q 1 0 0 1 0 0 cm
230.699 101.199 m 236.699 95.199 l S Q
q 1 0 0 1 0 0 cm
240.75 132.301 m 246.75 138.301 l S Q
q 1 0 0 1 0 0 cm
240.75 138.301 m 246.75 132.301 l S Q
q 1 0 0 1 0 0 cm
250.801 77.199 m 256.801 83.199 l S Q
q 1 0 0 1 0 0 cm
250.801 83.199 m 256.801 77.199 l S Q
q 1 0 0 1 0 0 cm
260.852 55.699 m 266.852 61.699 l S Q
q 1 0 0 1 0 0 cm
260.852 61.699 m 266.852 55.699 l S Q
q 1 0 0 1 0 0 cm
270.852 56.898 m 276.852 62.898 l S Q
q 1 0 0 1 0 0 cm
270.852 62.898 m 276.852 56.898 l S Q
q 1 0 0 1 0 0 cm
280.898 58.25 m 286.898 64.25 l S Q
q 1 0 0 1 0 0 cm
280.898 64.25 m 286.898 58.25 l S Q
q 1 0 0 1 0 0 cm
290.949 61.25 m 296.949 67.25 l S Q
q 1 0 0 1 0 0 cm
290.949 67.25 m 296.949 61.25 l S Q
q 1 0 0 1 0 0 cm
301 58.648 m 307 64.648 l S Q
q 1 0 0 1 0 0 cm
301 64.648 m 307 58.648 l S Q
q 1 0 0 1 0 0 cm
311.051 73.148 m 317.051 79.148 l S Q
q 1 0 0 1 0 0 cm
311.051 79.148 m 317.051 73.148 l S Q
q 1 0 0 1 0 0 cm
321.051 56.801 m 327.051 62.801 l S Q
q 1 0 0 1 0 0 cm
321.051 62.801 m 327.051 56.801 l S Q
q 1 0 0 1 0 0 cm
331.102 55.449 m 337.102 61.449 l S Q
q 1 0 0 1 0 0 cm
331.102 61.449 m 337.102 55.449 l S Q
q 1 0 0 1 0 0 cm
341.148 55.148 m 347.148 61.148 l S Q
q 1 0 0 1 0 0 cm
341.148 61.148 m 347.148 55.148 l S Q
q 1 0 0 1 0 0 cm
318.898 24.5 m 324.898 30.5 l S Q
q 1 0 0 1 0 0 cm
318.898 30.5 m 324.898 24.5 l S Q

@ -1,6 +1,6 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: cairo 1.16.0 (https://cairographics.org)
%%CreationDate: Wed May 11 18:34:41 2022
%%CreationDate: Thu May 12 14:51:27 2022
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
@ -417,7 +417,7 @@ fe030d0c16050dfe030c0110050c16030bfe030a100309fe0308022d0508fe03071403066403
%%BeginPageSetup
%%PageBoundingBox: 0 0 360 216
%%EndPageSetup
q 5 3 345 207 rectclip
q 5 3 345 204 rectclip
1 0 0 -1 0 216 cm q
0 g
0.25 w
@ -434,51 +434,60 @@ BT
( 0)Tj
ET
q 1 0 0 1 0 0 cm
42.949 150.551 m 46.648 150.551 l S Q
42.949 158.699 m 46.648 158.699 l S Q
q 1 0 0 1 0 0 cm
344.148 150.551 m 340.449 150.551 l S Q
344.148 158.699 m 340.449 158.699 l S Q
BT
8 0 0 -8 25.1 153.575781 Tm
8 0 0 -8 25.1 161.725781 Tm
/f-0-0 1 Tf
[( 20)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 115.398 m 46.648 115.398 l S Q
42.949 131.648 m 46.648 131.648 l S Q
q 1 0 0 1 0 0 cm
344.148 115.398 m 340.449 115.398 l S Q
344.148 131.648 m 340.449 131.648 l S Q
BT
8 0 0 -8 25.1 118.425781 Tm
8 0 0 -8 25.1 134.675781 Tm
/f-0-0 1 Tf
[( 40)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 80.199 m 46.648 80.199 l S Q
42.949 104.551 m 46.648 104.551 l S Q
q 1 0 0 1 0 0 cm
344.148 80.199 m 340.449 80.199 l S Q
344.148 104.551 m 340.449 104.551 l S Q
BT
8 0 0 -8 25.1 83.225781 Tm
8 0 0 -8 25.1 107.575781 Tm
/f-0-0 1 Tf
[( 60)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 45.051 m 46.648 45.051 l S Q
42.949 77.5 m 46.648 77.5 l S Q
q 1 0 0 1 0 0 cm
344.148 45.051 m 340.449 45.051 l S Q
344.148 77.5 m 340.449 77.5 l S Q
BT
8 0 0 -8 25.1 48.075781 Tm
8 0 0 -8 25.1 80.525781 Tm
/f-0-0 1 Tf
[( 80)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 9.852 m 46.648 9.852 l S Q
42.949 50.449 m 46.648 50.449 l S Q
q 1 0 0 1 0 0 cm
344.148 9.852 m 340.449 9.852 l S Q
344.148 50.449 m 340.449 50.449 l S Q
BT
8 0 0 -8 20 12.875781 Tm
8 0 0 -8 20 53.475781 Tm
/f-0-0 1 Tf
[( 10)-3(0)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 23.398 m 46.648 23.398 l S Q
q 1 0 0 1 0 0 cm
344.148 23.398 m 340.449 23.398 l S Q
BT
8 0 0 -8 20 26.425781 Tm
/f-0-0 1 Tf
[( 12)-3(0)]TJ
ET
q 1 0 0 1 0 0 cm
42.949 185.75 m 42.949 182.051 l S Q
q 1 0 0 1 0 0 cm
42.949 9.852 m 42.949 13.551 l S Q
@ -559,137 +568,138 @@ ET
q 1 0 0 1 0 0 cm
309.852 18.199 m 333.949 18.199 l S Q
q 1 0 0 1 0 0 cm
42.949 185.75 m 53 20.949 l 63.051 20.25 l 73.051 21.102 l 83.102 18.801
l 93.148 17.949 l 103.199 17.949 l 113.25 18.449 l 123.25 17.949 l 133.301
18.301 l 143.352 17.949 l 153.398 19.5 l 163.449 18.301 l 173.449 18.449
l 183.5 17.949 l 193.551 18.801 l 203.602 17.949 l 223.648 17.949 l 233.699
18.301 l 243.75 17.949 l 253.801 18.449 l 273.852 18.449 l 283.898 18.102
l 293.949 18.648 l 304 18.301 l 314.051 18.301 l 324.051 18.449 l 334.102
18.648 l 344.148 18.449 l S Q
42.949 185.75 m 53 63.148 l 63.051 57.602 l 73.051 57.75 l 83.102 57.352
l 93.148 58.449 l 103.199 57.5 l 113.25 58.551 l 123.25 58.301 l 133.301
58.148 l 143.352 57.898 l 153.398 64.898 l 163.449 152.852 l 173.449 162.199
l 183.5 165.199 l 193.551 168.148 l 203.602 170.301 l 213.648 172.102 l
223.648 174.051 l 233.699 174.5 l 243.75 176.051 l 253.801 176.551 l 263.852
177.148 l 273.852 177.352 l 283.898 177.25 l 293.949 177.551 l 304 176.449
l 314.051 174.699 l 324.051 173.449 l 334.102 176.852 l 344.148 142.602
l S Q
q 1 0 0 1 0 0 cm
39.949 185.75 m 45.949 185.75 l S Q
q 1 0 0 1 0 0 cm
42.949 182.75 m 42.949 188.75 l S Q
q 1 0 0 1 0 0 cm
50 20.949 m 56 20.949 l S Q
50 63.148 m 56 63.148 l S Q
q 1 0 0 1 0 0 cm
53 17.949 m 53 23.949 l S Q
53 60.148 m 53 66.148 l S Q
q 1 0 0 1 0 0 cm
60.051 20.25 m 66.051 20.25 l S Q
60.051 57.602 m 66.051 57.602 l S Q
q 1 0 0 1 0 0 cm
63.051 17.25 m 63.051 23.25 l S Q
63.051 54.602 m 63.051 60.602 l S Q
q 1 0 0 1 0 0 cm
70.051 21.102 m 76.051 21.102 l S Q
70.051 57.75 m 76.051 57.75 l S Q
q 1 0 0 1 0 0 cm
73.051 18.102 m 73.051 24.102 l S Q
73.051 54.75 m 73.051 60.75 l S Q
q 1 0 0 1 0 0 cm
80.102 18.801 m 86.102 18.801 l S Q
80.102 57.352 m 86.102 57.352 l S Q
q 1 0 0 1 0 0 cm
83.102 15.801 m 83.102 21.801 l S Q
83.102 54.352 m 83.102 60.352 l S Q
q 1 0 0 1 0 0 cm
90.148 17.949 m 96.148 17.949 l S Q
90.148 58.449 m 96.148 58.449 l S Q
q 1 0 0 1 0 0 cm
93.148 14.949 m 93.148 20.949 l S Q
93.148 55.449 m 93.148 61.449 l S Q
q 1 0 0 1 0 0 cm
100.199 17.949 m 106.199 17.949 l S Q
100.199 57.5 m 106.199 57.5 l S Q
q 1 0 0 1 0 0 cm
103.199 14.949 m 103.199 20.949 l S Q
103.199 54.5 m 103.199 60.5 l S Q
q 1 0 0 1 0 0 cm
110.25 18.449 m 116.25 18.449 l S Q
110.25 58.551 m 116.25 58.551 l S Q
q 1 0 0 1 0 0 cm
113.25 15.449 m 113.25 21.449 l S Q
113.25 55.551 m 113.25 61.551 l S Q
q 1 0 0 1 0 0 cm
120.25 17.949 m 126.25 17.949 l S Q
120.25 58.301 m 126.25 58.301 l S Q
q 1 0 0 1 0 0 cm
123.25 14.949 m 123.25 20.949 l S Q
123.25 55.301 m 123.25 61.301 l S Q
q 1 0 0 1 0 0 cm
130.301 18.301 m 136.301 18.301 l S Q
130.301 58.148 m 136.301 58.148 l S Q
q 1 0 0 1 0 0 cm
133.301 15.301 m 133.301 21.301 l S Q
133.301 55.148 m 133.301 61.148 l S Q
q 1 0 0 1 0 0 cm
140.352 17.949 m 146.352 17.949 l S Q
140.352 57.898 m 146.352 57.898 l S Q
q 1 0 0 1 0 0 cm
143.352 14.949 m 143.352 20.949 l S Q
143.352 54.898 m 143.352 60.898 l S Q
q 1 0 0 1 0 0 cm
150.398 19.5 m 156.398 19.5 l S Q
150.398 64.898 m 156.398 64.898 l S Q
q 1 0 0 1 0 0 cm
153.398 16.5 m 153.398 22.5 l S Q
153.398 61.898 m 153.398 67.898 l S Q
q 1 0 0 1 0 0 cm
160.449 18.301 m 166.449 18.301 l S Q
160.449 152.852 m 166.449 152.852 l S Q
q 1 0 0 1 0 0 cm
163.449 15.301 m 163.449 21.301 l S Q
163.449 149.852 m 163.449 155.852 l S Q
q 1 0 0 1 0 0 cm
170.449 18.449 m 176.449 18.449 l S Q
170.449 162.199 m 176.449 162.199 l S Q
q 1 0 0 1 0 0 cm
173.449 15.449 m 173.449 21.449 l S Q
173.449 159.199 m 173.449 165.199 l S Q
q 1 0 0 1 0 0 cm
180.5 17.949 m 186.5 17.949 l S Q
180.5 165.199 m 186.5 165.199 l S Q
q 1 0 0 1 0 0 cm
183.5 14.949 m 183.5 20.949 l S Q
183.5 162.199 m 183.5 168.199 l S Q
q 1 0 0 1 0 0 cm
190.551 18.801 m 196.551 18.801 l S Q
190.551 168.148 m 196.551 168.148 l S Q
q 1 0 0 1 0 0 cm
193.551 15.801 m 193.551 21.801 l S Q
193.551 165.148 m 193.551 171.148 l S Q
q 1 0 0 1 0 0 cm
200.602 17.949 m 206.602 17.949 l S Q
200.602 170.301 m 206.602 170.301 l S Q
q 1 0 0 1 0 0 cm
203.602 14.949 m 203.602 20.949 l S Q
203.602 167.301 m 203.602 173.301 l S Q
q 1 0 0 1 0 0 cm
210.648 17.949 m 216.648 17.949 l S Q
210.648 172.102 m 216.648 172.102 l S Q
q 1 0 0 1 0 0 cm
213.648 14.949 m 213.648 20.949 l S Q
213.648 169.102 m 213.648 175.102 l S Q
q 1 0 0 1 0 0 cm
220.648 17.949 m 226.648 17.949 l S Q
220.648 174.051 m 226.648 174.051 l S Q
q 1 0 0 1 0 0 cm
223.648 14.949 m 223.648 20.949 l S Q
223.648 171.051 m 223.648 177.051 l S Q
q 1 0 0 1 0 0 cm
230.699 18.301 m 236.699 18.301 l S Q
230.699 174.5 m 236.699 174.5 l S Q
q 1 0 0 1 0 0 cm
233.699 15.301 m 233.699 21.301 l S Q
233.699 171.5 m 233.699 177.5 l S Q
q 1 0 0 1 0 0 cm
240.75 17.949 m 246.75 17.949 l S Q
240.75 176.051 m 246.75 176.051 l S Q
q 1 0 0 1 0 0 cm
243.75 14.949 m 243.75 20.949 l S Q
243.75 173.051 m 243.75 179.051 l S Q
q 1 0 0 1 0 0 cm
250.801 18.449 m 256.801 18.449 l S Q
250.801 176.551 m 256.801 176.551 l S Q
q 1 0 0 1 0 0 cm
253.801 15.449 m 253.801 21.449 l S Q
253.801 173.551 m 253.801 179.551 l S Q
q 1 0 0 1 0 0 cm
260.852 18.449 m 266.852 18.449 l S Q
260.852 177.148 m 266.852 177.148 l S Q
q 1 0 0 1 0 0 cm
263.852 15.449 m 263.852 21.449 l S Q
263.852 174.148 m 263.852 180.148 l S Q
q 1 0 0 1 0 0 cm
270.852 18.449 m 276.852 18.449 l S Q
270.852 177.352 m 276.852 177.352 l S Q
q 1 0 0 1 0 0 cm
273.852 15.449 m 273.852 21.449 l S Q
273.852 174.352 m 273.852 180.352 l S Q
q 1 0 0 1 0 0 cm
280.898 18.102 m 286.898 18.102 l S Q
280.898 177.25 m 286.898 177.25 l S Q
q 1 0 0 1 0 0 cm
283.898 15.102 m 283.898 21.102 l S Q
283.898 174.25 m 283.898 180.25 l S Q
q 1 0 0 1 0 0 cm
290.949 18.648 m 296.949 18.648 l S Q
290.949 177.551 m 296.949 177.551 l S Q
q 1 0 0 1 0 0 cm
293.949 15.648 m 293.949 21.648 l S Q
293.949 174.551 m 293.949 180.551 l S Q
q 1 0 0 1 0 0 cm
301 18.301 m 307 18.301 l S Q
301 176.449 m 307 176.449 l S Q
q 1 0 0 1 0 0 cm
304 15.301 m 304 21.301 l S Q
304 173.449 m 304 179.449 l S Q
q 1 0 0 1 0 0 cm
311.051 18.301 m 317.051 18.301 l S Q
311.051 174.699 m 317.051 174.699 l S Q
q 1 0 0 1 0 0 cm
314.051 15.301 m 314.051 21.301 l S Q
314.051 171.699 m 314.051 177.699 l S Q
q 1 0 0 1 0 0 cm
321.051 18.449 m 327.051 18.449 l S Q
321.051 173.449 m 327.051 173.449 l S Q
q 1 0 0 1 0 0 cm
324.051 15.449 m 324.051 21.449 l S Q
324.051 170.449 m 324.051 176.449 l S Q
q 1 0 0 1 0 0 cm
331.102 18.648 m 337.102 18.648 l S Q
331.102 176.852 m 337.102 176.852 l S Q
q 1 0 0 1 0 0 cm
334.102 15.648 m 334.102 21.648 l S Q
334.102 173.852 m 334.102 179.852 l S Q
q 1 0 0 1 0 0 cm
341.148 18.449 m 347.148 18.449 l S Q
341.148 142.602 m 347.148 142.602 l S Q
q 1 0 0 1 0 0 cm
344.148 15.449 m 344.148 21.449 l S Q
344.148 139.602 m 344.148 145.602 l S Q
q 1 0 0 1 0 0 cm
318.898 18.199 m 324.898 18.199 l S Q
q 1 0 0 1 0 0 cm
@ -707,12 +717,141 @@ ET
[ 2.5 4 2.5 4 2.5 4 2.5 4] 0 d
q 1 0 0 1 0 0 cm
309.852 27.5 m 333.949 27.5 l S Q
[ 2.5 4 2.5 4 2.5 4 2.5 4] 0 d
q 1 0 0 1 0 0 cm
42.949 185.75 m 53.199 61 l 63.051 62.75 l 73.051 57.602 l 83.102 57.602
l 93.148 57.5 l 103.199 58 l 113.25 57.75 l 123.25 58.449 l 133.301 58.449
l 143.352 58 l 153.398 58.301 l 163.449 58.852 l 173.449 87.801 l 183.5
81 l 193.551 77.898 l 203.602 75.352 l 213.648 73.051 l 223.648 71.301
l 233.699 69.102 l 243.75 68.301 l 253.801 66.801 l 263.852 66.551 l 273.852
66 l 283.898 65.602 l 293.949 65.602 l 304 65.051 l 314.051 66 l 324.051
68.449 l 334.102 69.102 l 344.148 114.699 l S Q
[] 0.0 d
q 1 0 0 1 0 0 cm
39.949 182.75 m 45.949 188.75 l S Q
q 1 0 0 1 0 0 cm
39.949 188.75 m 45.949 182.75 l S Q
q 1 0 0 1 0 0 cm
50.199 58 m 56.199 64 l S Q
q 1 0 0 1 0 0 cm
50.199 64 m 56.199 58 l S Q
q 1 0 0 1 0 0 cm
60.051 59.75 m 66.051 65.75 l S Q
q 1 0 0 1 0 0 cm
60.051 65.75 m 66.051 59.75 l S Q
q 1 0 0 1 0 0 cm
70.051 54.602 m 76.051 60.602 l S Q
q 1 0 0 1 0 0 cm
70.051 60.602 m 76.051 54.602 l S Q
q 1 0 0 1 0 0 cm
80.102 54.602 m 86.102 60.602 l S Q
q 1 0 0 1 0 0 cm
80.102 60.602 m 86.102 54.602 l S Q
q 1 0 0 1 0 0 cm
90.148 54.5 m 96.148 60.5 l S Q
q 1 0 0 1 0 0 cm
90.148 60.5 m 96.148 54.5 l S Q
q 1 0 0 1 0 0 cm
100.199 55 m 106.199 61 l S Q
q 1 0 0 1 0 0 cm
100.199 61 m 106.199 55 l S Q
q 1 0 0 1 0 0 cm
110.25 54.75 m 116.25 60.75 l S Q
q 1 0 0 1 0 0 cm
110.25 60.75 m 116.25 54.75 l S Q
q 1 0 0 1 0 0 cm
120.25 55.449 m 126.25 61.449 l S Q
q 1 0 0 1 0 0 cm
120.25 61.449 m 126.25 55.449 l S Q
q 1 0 0 1 0 0 cm
130.301 55.449 m 136.301 61.449 l S Q
q 1 0 0 1 0 0 cm
130.301 61.449 m 136.301 55.449 l S Q
q 1 0 0 1 0 0 cm
140.352 55 m 146.352 61 l S Q
q 1 0 0 1 0 0 cm
140.352 61 m 146.352 55 l S Q
q 1 0 0 1 0 0 cm
150.398 55.301 m 156.398 61.301 l S Q
q 1 0 0 1 0 0 cm
150.398 61.301 m 156.398 55.301 l S Q
q 1 0 0 1 0 0 cm
160.449 55.852 m 166.449 61.852 l S Q
q 1 0 0 1 0 0 cm
160.449 61.852 m 166.449 55.852 l S Q
q 1 0 0 1 0 0 cm
170.449 84.801 m 176.449 90.801 l S Q
q 1 0 0 1 0 0 cm
170.449 90.801 m 176.449 84.801 l S Q
q 1 0 0 1 0 0 cm
180.5 78 m 186.5 84 l S Q
q 1 0 0 1 0 0 cm
180.5 84 m 186.5 78 l S Q
q 1 0 0 1 0 0 cm
190.551 74.898 m 196.551 80.898 l S Q
q 1 0 0 1 0 0 cm
190.551 80.898 m 196.551 74.898 l S Q
q 1 0 0 1 0 0 cm
200.602 72.352 m 206.602 78.352 l S Q
q 1 0 0 1 0 0 cm
200.602 78.352 m 206.602 72.352 l S Q
q 1 0 0 1 0 0 cm
210.648 70.051 m 216.648 76.051 l S Q
q 1 0 0 1 0 0 cm
210.648 76.051 m 216.648 70.051 l S Q
q 1 0 0 1 0 0 cm
220.648 68.301 m 226.648 74.301 l S Q
q 1 0 0 1 0 0 cm
220.648 74.301 m 226.648 68.301 l S Q
q 1 0 0 1 0 0 cm
230.699 66.102 m 236.699 72.102 l S Q
q 1 0 0 1 0 0 cm
230.699 72.102 m 236.699 66.102 l S Q
q 1 0 0 1 0 0 cm
240.75 65.301 m 246.75 71.301 l S Q
q 1 0 0 1 0 0 cm
240.75 71.301 m 246.75 65.301 l S Q
q 1 0 0 1 0 0 cm
250.801 63.801 m 256.801 69.801 l S Q
q 1 0 0 1 0 0 cm
250.801 69.801 m 256.801 63.801 l S Q
q 1 0 0 1 0 0 cm
260.852 63.551 m 266.852 69.551 l S Q
q 1 0 0 1 0 0 cm
260.852 69.551 m 266.852 63.551 l S Q
q 1 0 0 1 0 0 cm
270.852 63 m 276.852 69 l S Q
q 1 0 0 1 0 0 cm
270.852 69 m 276.852 63 l S Q
q 1 0 0 1 0 0 cm
280.898 62.602 m 286.898 68.602 l S Q
q 1 0 0 1 0 0 cm
280.898 68.602 m 286.898 62.602 l S Q
q 1 0 0 1 0 0 cm
290.949 62.602 m 296.949 68.602 l S Q
q 1 0 0 1 0 0 cm
290.949 68.602 m 296.949 62.602 l S Q
q 1 0 0 1 0 0 cm
301 62.051 m 307 68.051 l S Q
q 1 0 0 1 0 0 cm
301 68.051 m 307 62.051 l S Q
q 1 0 0 1 0 0 cm
311.051 63 m 317.051 69 l S Q
q 1 0 0 1 0 0 cm
311.051 69 m 317.051 63 l S Q
q 1 0 0 1 0 0 cm
321.051 65.449 m 327.051 71.449 l S Q
q 1 0 0 1 0 0 cm
321.051 71.449 m 327.051 65.449 l S Q
q 1 0 0 1 0 0 cm
331.102 66.102 m 337.102 72.102 l S Q
q 1 0 0 1 0 0 cm
331.102 72.102 m 337.102 66.102 l S Q
q 1 0 0 1 0 0 cm
341.148 111.699 m 347.148 117.699 l S Q
q 1 0 0 1 0 0 cm
341.148 117.699 m 347.148 111.699 l S Q
q 1 0 0 1 0 0 cm
318.898 24.5 m 324.898 30.5 l S Q
q 1 0 0 1 0 0 cm
318.898 30.5 m 324.898 24.5 l S Q