{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Analysis of Levelling Table/Book" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Surveyors will traditionaly only calculate the reduce level and plot the result in the for of a profile drawing.\n", "\n", "I this exercise, I will take the calculation further by making some useful statistical calculations and analysis.\n", "\n", "Am going to use three main packages called numpy, pandas and matplotlib.\n", "\n", "The Data (in .csv format) used is available for download here. Download it and save it at thesame location with this notebook.\n", "\n", "
\n", "Author: Umar Yusuf
\n", "http://umar-yusuf.blogspot.com.ng/2016/08/Analyzing-Surveyors-Level-Field-Table-Book-with-Python.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Tasks to be completed\n", "\n", "We are going to run through the following tasks:-
\n", "1) Clean the data
\n", "2) Descriptive Statistical Analysis
\n", "3) Check Levelling Error
\n", "4) Visualise the Profile (Distance Vs Reduce level)
" ] }, { "cell_type": "code", "execution_count": 433, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Lets import the packages\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "\n", "# Lets enable our plot to display inline within notebook\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Loading the Levelling table in .csv format" ] }, { "cell_type": "code", "execution_count": 434, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PointBack SightIntermediate SightFore SightRiseFallReduce LevelDistance
0Datum2.395NaNNaNNaNNaN10.000NaN
1ANaN2.050NaN0.345NaN10.3455.0
2BNaN1.970NaN0.080NaN10.42515.0
3CNaN1.888NaN0.082NaN10.50725.0
4DNaN1.808NaN0.080NaN10.58735.0
5ENaN1.722NaN0.086NaN10.67345.0
6FNaN1.664NaN0.058NaN10.73155.0
7GNaN1.609NaN0.055NaN10.78665.0
8HNaN1.534NaN0.075NaN10.86175.0
9I1.732NaN1.4930.041NaN10.90285.0
10JNaN1.795NaNNaN0.06310.83995.0
11KNaN1.859NaNNaN0.06410.775105.0
12LNaN1.936NaNNaN0.07710.698115.0
13MNaN2.012NaNNaN0.07610.622125.0
14NNaN2.052NaNNaN0.04010.582135.0
15ONaN2.133NaNNaN0.08110.501145.0
16PNaN2.216NaNNaN0.08310.418155.0
17QNaN2.289NaNNaN0.07310.345165.0
18DatumNaNNaN2.634NaN0.34510.000175.0
\n", "
" ], "text/plain": [ " Point Back Sight Intermediate Sight Fore Sight Rise Fall \\\n", "0 Datum 2.395 NaN NaN NaN NaN \n", "1 A NaN 2.050 NaN 0.345 NaN \n", "2 B NaN 1.970 NaN 0.080 NaN \n", "3 C NaN 1.888 NaN 0.082 NaN \n", "4 D NaN 1.808 NaN 0.080 NaN \n", "5 E NaN 1.722 NaN 0.086 NaN \n", "6 F NaN 1.664 NaN 0.058 NaN \n", "7 G NaN 1.609 NaN 0.055 NaN \n", "8 H NaN 1.534 NaN 0.075 NaN \n", "9 I 1.732 NaN 1.493 0.041 NaN \n", "10 J NaN 1.795 NaN NaN 0.063 \n", "11 K NaN 1.859 NaN NaN 0.064 \n", "12 L NaN 1.936 NaN NaN 0.077 \n", "13 M NaN 2.012 NaN NaN 0.076 \n", "14 N NaN 2.052 NaN NaN 0.040 \n", "15 O NaN 2.133 NaN NaN 0.081 \n", "16 P NaN 2.216 NaN NaN 0.083 \n", "17 Q NaN 2.289 NaN NaN 0.073 \n", "18 Datum NaN NaN 2.634 NaN 0.345 \n", "\n", " Reduce Level Distance \n", "0 10.000 NaN \n", "1 10.345 5.0 \n", "2 10.425 15.0 \n", "3 10.507 25.0 \n", "4 10.587 35.0 \n", "5 10.673 45.0 \n", "6 10.731 55.0 \n", "7 10.786 65.0 \n", "8 10.861 75.0 \n", "9 10.902 85.0 \n", "10 10.839 95.0 \n", "11 10.775 105.0 \n", "12 10.698 115.0 \n", "13 10.622 125.0 \n", "14 10.582 135.0 \n", "15 10.501 145.0 \n", "16 10.418 155.0 \n", "17 10.345 165.0 \n", "18 10.000 175.0 " ] }, "execution_count": 434, "metadata": {}, "output_type": "execute_result" } ], "source": [ "level_table = pd.read_csv(\"Level_Book.csv\")\n", "level_table.round(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Compare Original table and the imported table\n", "##### Our imported data will look slightly different in the sense that, all enpty cells will read as \"NaN\" as seen above. NaN statnds for \"Not A Number\".\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1) Clean the data\n", "Now, lets perform some cleaning to the data." ] }, { "cell_type": "code", "execution_count": 435, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Index(['Point', 'Back Sight', 'Intermediate Sight', 'Fore Sight', 'Rise',\n", " 'Fall', 'Reduce Level', 'Distance'],\n", " dtype='object')" ] }, "execution_count": 435, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# lets replace the NaN with 0.000. But first let see the titles of the colums\n", "\n", "level_table.columns" ] }, { "cell_type": "code", "execution_count": 436, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PointBack SightIntermediate SightFore SightRiseFallReduce LevelDistance
0Datum2.39510.000
1A2.050.34510.3455
2B1.970.0810.42515
3C1.8880.08210.50725
4D1.8080.0810.58735
5E1.7220.08610.67345
6F1.6640.05810.73155
7G1.6090.05510.78665
8H1.5340.07510.86175
9I1.7321.4930.04110.90285
10J1.7950.06310.83995
11K1.8590.06410.775105
12L1.9360.07710.698115
13M2.0120.07610.622125
14N2.0520.0410.582135
15O2.1330.08110.501145
16P2.2160.08310.418155
17Q2.2890.07310.345165
18Datum2.6340.34510.000175
\n", "
" ], "text/plain": [ " Point Back Sight Intermediate Sight Fore Sight Rise Fall \\\n", "0 Datum 2.395 \n", "1 A 2.05 0.345 \n", "2 B 1.97 0.08 \n", "3 C 1.888 0.082 \n", "4 D 1.808 0.08 \n", "5 E 1.722 0.086 \n", "6 F 1.664 0.058 \n", "7 G 1.609 0.055 \n", "8 H 1.534 0.075 \n", "9 I 1.732 1.493 0.041 \n", "10 J 1.795 0.063 \n", "11 K 1.859 0.064 \n", "12 L 1.936 0.077 \n", "13 M 2.012 0.076 \n", "14 N 2.052 0.04 \n", "15 O 2.133 0.081 \n", "16 P 2.216 0.083 \n", "17 Q 2.289 0.073 \n", "18 Datum 2.634 0.345 \n", "\n", " Reduce Level Distance \n", "0 10.000 \n", "1 10.345 5 \n", "2 10.425 15 \n", "3 10.507 25 \n", "4 10.587 35 \n", "5 10.673 45 \n", "6 10.731 55 \n", "7 10.786 65 \n", "8 10.861 75 \n", "9 10.902 85 \n", "10 10.839 95 \n", "11 10.775 105 \n", "12 10.698 115 \n", "13 10.622 125 \n", "14 10.582 135 \n", "15 10.501 145 \n", "16 10.418 155 \n", "17 10.345 165 \n", "18 10.000 175 " ] }, "execution_count": 436, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Replace NaN with empty space for all columns\n", "\n", "level_table_cleaned = level_table.fillna('')\n", "# level_table_cleaned = level_table.replace(np.nan, '')\n", "\n", "level_table_cleaned" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Now the table looks cleaner an just as it looks in the original csv file.
\n", "However, this will not allow numerical analysis performed on any colum with white space or NaN value. So instead, I will replace that with 0.000

" ] }, { "cell_type": "code", "execution_count": 437, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PointBack SightIntermediate SightFore SightRiseFallReduce LevelDistance
0Datum2.3950.0000.0000.0000.00010.0000.0
1A0.0002.0500.0000.3450.00010.3455.0
2B0.0001.9700.0000.0800.00010.42515.0
3C0.0001.8880.0000.0820.00010.50725.0
4D0.0001.8080.0000.0800.00010.58735.0
5E0.0001.7220.0000.0860.00010.67345.0
6F0.0001.6640.0000.0580.00010.73155.0
7G0.0001.6090.0000.0550.00010.78665.0
8H0.0001.5340.0000.0750.00010.86175.0
9I1.7320.0001.4930.0410.00010.90285.0
10J0.0001.7950.0000.0000.06310.83995.0
11K0.0001.8590.0000.0000.06410.775105.0
12L0.0001.9360.0000.0000.07710.698115.0
13M0.0002.0120.0000.0000.07610.622125.0
14N0.0002.0520.0000.0000.04010.582135.0
15O0.0002.1330.0000.0000.08110.501145.0
16P0.0002.2160.0000.0000.08310.418155.0
17Q0.0002.2890.0000.0000.07310.345165.0
18Datum0.0000.0002.6340.0000.34510.000175.0
\n", "
" ], "text/plain": [ " Point Back Sight Intermediate Sight Fore Sight Rise Fall \\\n", "0 Datum 2.395 0.000 0.000 0.000 0.000 \n", "1 A 0.000 2.050 0.000 0.345 0.000 \n", "2 B 0.000 1.970 0.000 0.080 0.000 \n", "3 C 0.000 1.888 0.000 0.082 0.000 \n", "4 D 0.000 1.808 0.000 0.080 0.000 \n", "5 E 0.000 1.722 0.000 0.086 0.000 \n", "6 F 0.000 1.664 0.000 0.058 0.000 \n", "7 G 0.000 1.609 0.000 0.055 0.000 \n", "8 H 0.000 1.534 0.000 0.075 0.000 \n", "9 I 1.732 0.000 1.493 0.041 0.000 \n", "10 J 0.000 1.795 0.000 0.000 0.063 \n", "11 K 0.000 1.859 0.000 0.000 0.064 \n", "12 L 0.000 1.936 0.000 0.000 0.077 \n", "13 M 0.000 2.012 0.000 0.000 0.076 \n", "14 N 0.000 2.052 0.000 0.000 0.040 \n", "15 O 0.000 2.133 0.000 0.000 0.081 \n", "16 P 0.000 2.216 0.000 0.000 0.083 \n", "17 Q 0.000 2.289 0.000 0.000 0.073 \n", "18 Datum 0.000 0.000 2.634 0.000 0.345 \n", "\n", " Reduce Level Distance \n", "0 10.000 0.0 \n", "1 10.345 5.0 \n", "2 10.425 15.0 \n", "3 10.507 25.0 \n", "4 10.587 35.0 \n", "5 10.673 45.0 \n", "6 10.731 55.0 \n", "7 10.786 65.0 \n", "8 10.861 75.0 \n", "9 10.902 85.0 \n", "10 10.839 95.0 \n", "11 10.775 105.0 \n", "12 10.698 115.0 \n", "13 10.622 125.0 \n", "14 10.582 135.0 \n", "15 10.501 145.0 \n", "16 10.418 155.0 \n", "17 10.345 165.0 \n", "18 10.000 175.0 " ] }, "execution_count": 437, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Replace white space with 0.000 for all columns\n", "\n", "level_table_zeros = level_table.fillna(0.000)\n", "level_table_zeros" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 2) Descriptive statistical analysis\n", "\n", "Lets see Descriptive statistical values for the table" ] }, { "cell_type": "code", "execution_count": 438, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Back SightIntermediate SightFore SightRiseFallReduce LevelDistance
count19.00000019.00000019.00000019.00000019.00000019.00000019.000000
mean0.2172111.6072110.2172110.0474740.04747410.55773785.263158
std0.6599420.7415580.6778470.0805600.0803990.25959955.838897
min0.0000000.0000000.0000000.0000000.00000010.0000000.000000
25%0.0000001.6365000.0000000.0000000.00000010.42150040.000000
50%0.0000001.8590000.0000000.0000000.00000010.58700085.000000
75%0.0000002.0310000.0000000.0775000.07450010.753000130.000000
max2.3950002.2890002.6340000.3450000.34500010.902000175.000000
\n", "
" ], "text/plain": [ " Back Sight Intermediate Sight Fore Sight Rise Fall \\\n", "count 19.000000 19.000000 19.000000 19.000000 19.000000 \n", "mean 0.217211 1.607211 0.217211 0.047474 0.047474 \n", "std 0.659942 0.741558 0.677847 0.080560 0.080399 \n", "min 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "25% 0.000000 1.636500 0.000000 0.000000 0.000000 \n", "50% 0.000000 1.859000 0.000000 0.000000 0.000000 \n", "75% 0.000000 2.031000 0.000000 0.077500 0.074500 \n", "max 2.395000 2.289000 2.634000 0.345000 0.345000 \n", "\n", " Reduce Level Distance \n", "count 19.000000 19.000000 \n", "mean 10.557737 85.263158 \n", "std 0.259599 55.838897 \n", "min 10.000000 0.000000 \n", "25% 10.421500 40.000000 \n", "50% 10.587000 85.000000 \n", "75% 10.753000 130.000000 \n", "max 10.902000 175.000000 " ] }, "execution_count": 438, "metadata": {}, "output_type": "execute_result" } ], "source": [ "level_table_zeros.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The result above may only be meaningfull to the \"Reduce Level\" column. But never mind this is just for sake of demonstration.

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3) Checking Level Error\n", "\n", "Remember that in other to check a level table computation for errors, we have to compare the defference in the sum of \"Back-sight and Fore-sight\", Rise and Fall and Last and First reduce level. And if the defferences are thesame, then we say our table arithmetics and observations are correct.\n", "\n", "Let do that..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lets redefine the columns of interest to give then shorter name as follow;-
\n", "$Back Sight = BS$
\n", "$Fore Sight = FS$
\n", "$Rise = Rise$
\n", "$Fall = Fall$
\n", "$First Reduce Level = FRL$
\n", "$Last Reduce Level = LRL$" ] }, { "cell_type": "code", "execution_count": 439, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(4.127, 4.127, 0.902, 0.902, 10.0, 10.0)" ] }, "execution_count": 439, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Sum each column and save it in redefine column name as variable\n", "BS = level_table[\"Back Sight\"].sum()\n", "FS = level_table[\"Fore Sight\"].sum()\n", "Rise = level_table[\"Rise\"].sum()\n", "Fall = level_table[\"Fall\"].sum()\n", "\n", "# Use round() method to round Rise to 3 decimals\n", "Rise = round(Rise, 3)\n", "\n", "# Getting the values of the FRL and LRL\n", "FRL = level_table[\"Reduce Level\"][0]\n", "LRL = level_table[\"Reduce Level\"][18]\n", "\n", "BS, FS, Rise, Fall, FRL, LRL" ] }, { "cell_type": "code", "execution_count": 440, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0.0, 0.0, 0.0)" ] }, "execution_count": 440, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Checking the arithmetic for error\n", "# the result should be turple of thesame number.\n", "BS - FS, Rise - Fall, LRL - FRL" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 4) Visualise the Profile (Distance Vs Reduce level)\n", "\n", "This is probably the common use of a levelling data table (plotting of profile).\n", "\n", "Let Visualise the relationship that exist between these two columns - Reduce level and Distance using the matplotlib package.\n", "\n", "x-axis will be Distance column while y-axis will be the Reduce level column." ] }, { "cell_type": "code", "execution_count": 441, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\npUqSlBTx6TW/3qZnTmX3hQ7t4L2llV9/txjapcF+/Wr+ung8npRHbm5u0r53Mh/mjtbD3NF6mDta\nD3NH62Hu6o/58+czadIkTjrpJPbff3923313OnXqRO/evTn88MO5/vrrWbx4cdIzeL3NbW5zm9vc\nyXjUpU03pzq2h1EHwH2vVn79nplw5D7QdZfk1FWbxYsXJ7uEpDB3tJg7WswdLeaOFnNHi7mjxdzR\nYu5oSdXcKbGtb9MWeGxO2IZfvBrWb4IHZoX3zhgGnTvC64WweAV8tDK8XvAurFgPe/WGw7LCa397\nAb76J1j0a9izV3gt51wY9RP4zt/h3C/Ao2/CE2/Bk99v+ZySJEmSJEmqrN2kLzEp2UUsXQVH/wju\nnwXFq0LT6b5Xw+Nro6D7rnDjvfDD++Cpt8Md+J5/N7y/pRTOOSycZ04R/Gc2XH1q+BqAgbvDwQPh\nLwVw65OwYh3cNh7OPLTmWvL+BZMmTUp86Br06NGDvfbaKynfO5nMHS3mjhZzR4u5o8Xc0WLuaDF3\ntJg7WpKZOy8vj0lfqvm9WHw6dW/8i5jYWOrdCylJkiRJkqSGi8Vi0RyI3toUFBQku4SkMHe0mDta\nzB0t5o4Wc0eLuaPF3NFi7mhJ1dw2pyRJkiRJkpQ0buurwm19kiRJkiRJzcttfZIkSZIkSUpJNqdS\nSKru/Uw0c0eLuaPF3NFi7mgxd7SYO1rMHS3mjpZUzW1zSpIkSZIkSUnjzKkqnDklSZIkSZLUvJw5\nJUmSJEmSpJRkcyqFpOrez0Qzd7SYO1rMHS3mjhZzR4u5o8Xc0WLuaEnV3DanJEmSJEmSlDTOnKrC\nmVOSJEmSJEnNy5lTkiRJkiRJSkk2p1JIqu79TDRzR4u5o8Xc0WLuaDF3tJg7WswdLeaOllTNbXNK\nkiRJkiRJSePMqSqcOSVJkiRJktS8nDklSZIkSZKklGRzKoWk6t7PRDN3tJg7WswdLeaOFnNHi7mj\nxdzRYu5oSdXcNqckSZIkSZKUNM6cqsKZU5IkSZIkSc3LmVOSJEmSJElKSTanUkiq7v1MNHNHi7mj\nxdzRYu5oMXe0mDtazB0t5o6WVM1tc0qSJEmSJElJ48ypKpw5JUmSJEmS1LzqmjnVvmVLkSRJahsK\nC4vIyZlKcXEZGRlp5OePJysrM9llSZIktTpu60shqbr3M9HMHS3mjhZzR0uUchcWFjF69BSmT59I\n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\nRDN3tJg7Wlpz7o4d4eijw6qpefNCo+r44+u+01dWVibTpuVy002jmDYtN3KNqdZ8vZvC3G1fRkYa\nULL9WcFEG6m8AAAgAElEQVT2jyXMnp3Gz38Oy5cnp66WFKXrXZG5o8Xc0WLu1GJzSpIUSWvXwv33\nww9+UPP7++8PV14JmdHqL0mqQX7+eLKzcylvUIVtu3/723g++CA0sktLk1igJEmtnDOnqnDmlCS1\nXfPmlc+Oev11OOaYsF3vW9+CNH9dI6kOhYVF5ORMrbBtd/z/Vkdu2wbtHZYhSVKd6po5ZXOqCptT\nktR2nX46ZGWFj6NGwa67JrsiSW1ZQUHYCnzUUTXf5VOSpCipqznl74lTSKru/Uw0c0eLuaOlpXPH\n4/D++1BcXPP7jz0Wbg1/xhmJbUx5vaPF3NHSmNzLlsHll8PQoTBlCqxZk7i6Es3rHS3mjhZzR0uq\n5rY5JUlq1TZtgscfhwkTYJ994MQTwxBzSUq2Cy+E994LjamXXoK99grNqrVrk12ZJEmpxW19Vbit\nT5Jaj/vvD//QGzYsbNU7/fSwQsHtM5JS0fLlcM89zrmTJEWTM6caweaUJKWeeLzmhtOOLTI9erRs\nPZLU3EpLoV27ZFchSVLiOHOqlUjVvZ+JZu5oMXe0NCX3kiXwxz/CuefCwQeHBlVVPXqkZmPK6x0t\n5o6WROW+7TYYMQLuvBM2bkzIt2gSr3e0mDtazB0tqZrb5pQkKWXE43DDDXDQQXDIIfD88zBmDDz7\nrFv1JLVtV10FN90E//oX7LknfPvb8M47ya5KkqSW4ba+KtzWJ0nJ9Yc/hMbU8OFucZEUTR99BH/+\nM/zlL/D00zB4cLIrkiSp6Zw51Qg2pySp6QoLi8jJmUpxcRkZGWnk548nKyuT0lKYNQseewzOOgsO\nPzzZlUpS6tq2Ddq3T3YVkiQ1D2dOtRKpuvcz0cwdLeZu+woLixg9egrTp0+koGAU06dP5IgjpnDO\nOUX07QtXXglbt0LPnsmuNHGidL0rMne0mDvxamtMFRaGu/5t2dJipXi9I8bc0WLuaEnV3DanJEnN\nKidnKgsX5gHp219JZ/nyPD79dCpz5sDcufCzn8G++yazSklqvdasgTvuCLOpfvADWLQo2RVJktQ0\nbuurwm19ktR4W7fCggVhLsqoUbkUFORVO2bUqFyefbb665KknfP+++Gupn/7Gxx6KEyeDEOHJrsq\nSZJq5rY+SVKzW7MG7r4bLr4Y+vaFiRPD6xkZaUBJlaNLGDDA/+VIUnPaf3+45RZYsgQuuQS6dUt2\nRZIk7Rz/pZBCUnXvZ6KZO1rM3fqVlcFpp8HAgTBtGowaFW53/uij4f38/PFkZ+cSGlQFQAnZ2bnk\n549PUsUtry1d78Ywd7SYO3V07gzjxkFmZvX34nEoLW3690jF3C3B3NFi7mgxd2rx/h+SpEZJS4Mb\nbghbSNLTq7+flZXJjBkTyMmZzDvvLGLIkOfJz59AVlYN/2qSJCXUW2/B2WfD174Gl18OAwYkuyJJ\nkqpz5lQVzpySFHUbN8Izz8BDD8FFF8GJJya7IklSU7z5Zhigfu+9MHJkuGvqSSeFXzZIktRSnDkl\nSarTihXw17/COedAv37wq1/BAQfAoEHJrkyS1FSHHAK33w5FRXDKKfD974dmlSRJqcLmVApJ1b2f\niWbuaDF3anr+eXjqKbjgAli8GJ57Dr7zHcjIaNp5Uz13opg7WswdLa05d9eu8I1vwBtvhG1+jdGa\nczeFuaPF3NFi7tRic0qSImLrVpg3r+b3zj8/3Hlv7FjYbbeWrUuS1LJiMWhfw+TZ0lL4/e9h5cqW\nr0mSFG3OnKrCmVOS2pI1a+CJJ8L8qCeegGHDwjypWCzZlUmSUs3q1XD11eH/GWedFWZT9e9fxE03\nTaW4uIyMjDTy88d7gwtJ0k6pa+aUzakqbE5Jagvi8TA/qqAAjjsu3KnpzDO9S5MkqX4rV8Lf/ga3\n3lpEcfEUtm7NA9KBErKzc5kxwzuwSpIaz4HorUSq7v1MNHNHi7lbRiwG118Pn3wCjzwCX/96chpT\nXu9oMXe0mLvt6tUrzB086qipFRpTBUA6CxfmkZMzNan1taQoXO+amDtazB0tqZrb5pQktUKbNpU3\nnR55pOZjjjwS0tNbti5JUtuxdGkZoTFVUfr218MsQ0mSmoPb+qpwW5+kVPXZZ2EOyEMPwbPPwqGH\nhu16Y8bAnnsmuzpJUlszblwe06dPpHKDqoSxYyczdWou++0Xto5//evhFyLOM5Qk1cVtfZLUBrz6\nahhqfv75UFgY5klde62NKUlSYuTnjyc7Oxco2f5KmDmVnz+e9u3D/5cOPBDGj4eDDoIpU8JQdUmS\nGsvmVApJ1b2fiWbuaDF33bZtg7feqvm9M86Ae++FcePCPJDWwOsdLeaOFnO3fVlZmcyYMYGxYycz\nbNiljB07udIw9N69YeJEeP/90Jh6+WX45jeTXHQzi9L1rsjc0WLuaEnV3O2TXYAkRd3atWFF1MMP\nw+OPw+DB8N//Qpq/PpAkJVlWVibTpuVSUFDAyJEjazwmFoORI8PD6RiSpJ3hzKkqnDklqTkVFhaR\nkzOV4uIyMjLSyM8fX+n222PGwJNPwrHHhvlRZ54JGRnJq1eSpES4/XYYMgSOOcbZVJIUVXXNnHLl\nlCQlSGFhEaNHT2Hhwh234S5h5szcSlsirrsO7rwTunRJaqmSJCVUaWkYnB6LhY+XXNJ6tqhLkhLP\nTSMpJFX3fiaauaMlSrlzcqZWaEwVAOksXJhHTs7U/x0zfHjbbkxF6XpXZO5oMXe0mHvnfOtbMH9+\nWEE1ezZkZ4cmVarzekeLuaPF3KnFlVOSlAALFsBzz5VR+fbbAOksXVqWjJIkSUqqWAyOOy48Vq4M\nTSpJksCZU9U4c0pSU6xaBVdcAS+8AH375vHOOxOp3KAqYezYyUyblpusEiVJSmmrV0OPHs6mkqS2\npq6ZU27rk6Rm1L17GGq+eDE8/PB4srNzgZLt75aQnZ1Lfv74pNUnSVKq+8EPwp1rf/Ur+OyzZFcj\nSWoJjW9OdRsM+3wDDv4JHH4HHPYbGHIDDDgd2rfhwSktIFX3fiaauaOlredu1w4uvxzS08Ptt2fM\nmMDYsZMZNuxSxo6dXGkYehS09etdG3NHi7mjxdyJd/vt8Je/wNy5sM8+cPHFUFAAydjc4PWOFnNH\ni7lTS8NmTu2SAft8HbIvh879w2tV19nG4xAvhWVPw4d/gOJHmrlUSUoNn3wCt90Ge+4JV15Z97FZ\nWZlMm5ZLQUEBI0eObJH6JElqzWIxOPro8Fi9GqZNg9xceOop6NQp2dVJkhKh7plTHXvC0ElhpVRa\nByhZDCtegpWvweefwuZV0H4X6NgLug2C3Y+EXsMhrROsfx/e+C588kSLhWkOzpySVJt33oFbboH/\n/Cf8Fvc73wl3G5IkSZIk1a2umVN1r5w6awG06wQL/wyFd4WmVH3ad4XMi8JKq+MfgTe+Ax9M2Ymy\nJSk1bNgAF1wAb74JV10FH34IvXoluypJkvTAA7BoEVx6KfTpk+xqJEk7q+6ZU4v/Dg/tDbOvalhj\nCmDbelj4J3hyOLz4Jdi8vBnKjIZU3fuZaOaOltaYu0sX+NrXoLAQbrxx5xpTrTF3czB3tJg7Wswd\nLamaOzsb5s+H/faDCy+EZ56BsrLmO3+q5k40c0eLuaMlVXPX3Zx6/Rr4vAnNpY8fhKJ7dv7rJSlF\nnHcedO6c7CokSVJFw4bBnXeGu+Qed1zYcr/ffvDRR8muTJLUGHXPnIogZ05J0fTRR/Db30K3bmHo\nqiRJan3icZg9Gw47DNIaf19ySVIC1TVzyv9kS4q0118Pw80POSTcHeiyy5JdkSRJ2lmxGAwfXnNj\navVq+PTTlq9JklS/xjendsmAQybDCU/Dme/B2QurP85akIBS275U3fuZaOaOllTJvXUrnHginHtu\n+O3qokUweTIMHJiY75cquVuauaPF3NFi7mhpC7lffhkGD4bzz4cZMxo2m6ot5N4Z5o4Wc0dLquau\n+259VfU5HkY+Bu06Q9k2+HwZxLdVPy4Wa6byJCkxOnSAnBw4+ujwuSRJatvOOAOKiuAf/4DrroO1\na8MNT664Anr3TnZ1khRtjZs5dcqr0ONgePWrsPgf0AbHVTlzSpIkSWrb4vGwtf+Pf4RvfjMMVq+o\nsLCInJypFBeXkZGRRn7+eLKyMpNSqyS1FXXNnGrcyqnuQ6Hon7C4lrNJUgr58EP49a/Dsv3bb092\nNZIkKVXEYvCFL4RHVYWFRYwePYWFC/OAdKCEmTNzmTFjgg0qSUqQxs2c2rIatqxKUClK1b2fiWbu\naEl07ngcXnoJzjsPjjoKdtsNJk1K6LdsEK93tJg7WswdLeZu+3JyplZoTBUA6SxcmEdOztSk1tWS\nonS9KzJ3tJg7tTRu5dTSR8LcKUlKQWVlcNJJYZ7EtdfCtGmQnp7sqiRJUmtSXFxGaExVlM7TT5fx\n4INwzjnJqEqS2rbGzZzq1AtOngmfPAlvXgelGxNYWnI4c0pq3d58Ew46CNq1S3YlkiSpNRo3Lo/p\n0ydSuUFVwogRk/nBD3I599zqX7NhA+y6K6Q1/l7okhQZdc2calxzCqBLdhiMntYR1n8AW9bWcFAc\nnj2p8ZWmAJtTUutQVuZfACVJUvOraeZUdnbdM6d+9CO45RY47DA4/HAYPjx83GMPb2QuSTvU1Zxq\n3D/tuh8AJ78MHXtC+3ToeQj0HVn90WdkkwqOqlTd+5lo5o6WpuaeNw8uuwzGjGmeelqK1ztazB0t\n5o4Wc7d9WVmZzJgxgbFjJzNs2KWMHTu53mHoN90EixbBddeFkQJTp4Zh63ff3XJ1N6coXe+KzB0t\n5k4tjZs5deivoGMveOsmKLwLNi2FeFmCSpOkIB6HZ54Jv5GcMweuugquvDLZVUmSpLYqKyuTadNy\nKSgoYOTIkQ36ml694NRTwwPC31/Kavmn0i9+AZ06hdVVw4bBLrs0T92S1Fo1blvfmLVh3tSLFySw\npORyW5+Uek4+GYqL4bvfhYsvhs6dk12RJEnSzrvnHigogFmz4N13YdCg0Ki6+eZwp2FJaovq2tbX\nuJVTpVtgw+KmVyRJjfCHP0BWljOmJElS23DhheEBsGlTWBk+axZ06VLz8UuWOL9KUtvWuH/qLS+A\nXocnphKl7N7PRDN3tNSVe+vWml/Pzm79jSmvd7SYO1rMHS3mjpaWyL3LLnDkkXD11dCxY/X316+H\nESOgb18480zIy4PHH4fPPktcTV7vaDF3tKRq7sb9c+/N68JQ9AO+n6ByJEXR7Nnw5S+H7XuSJEkq\n17VrGG/wxhtw+eXw+ecweTKccUayK5Ok5tO4mVMj/gJdsqD3cVCyGFbPga1razgwDq9e0WxFtiRn\nTkmJUVhYRE7OVIqLy8jISCMvbzzvvpvJLbfAwoVwzTVwxRXQrVuyK5UkSWq9Xn8dbr89zLA6/HAY\nMgTaN26YiyQlRF0zpxrXnPpyacOOi8fh7tb5X0CbU1LzKywsYvToKSxcmAekAyXsumsuWVkTuOGG\nTMaMgQ4dkl2lJElS61dcDP/+N7z2WphjtWQJHHIIfPWrMH583V9b9ZeJ+fnjycrKbImyJUVAXc2p\nxm3rezCrYY+H9m6GsqMnVfd+Jpq5276cnKkVGlMFQDobN+Zx8MFTufjiaDSmonS9KzJ3tJg7Wswd\nLeZuPTIy4Kqr4K67wp0Ai4vDnKr996/5+CVLYPny8l8mTp8+kYKCUUyfPpHRo6dQWFjUsgGSqDVe\n7+Zg7mhJ1dyNW9608aMElSGpLYrH4eOPobi4jNCYqiidTz4pS0ZZkiRJkdG9O5xwQu3v33sv/PjH\nsHXrVEpKdvwyESCdhQvzyMmZzLRpuS1RqqQIa9y2vghwW5/UdOvXw9//Dr/7Xbjtce/eeUyfPpHK\nDaoSxo71LzuSJEnJVlYGRx6Zy6xZedXeGzUql2efrf66JDXWzm/r22VA0797535NP4ekVuHdd8My\n8sxMePbZ0Jx64gnIzx9PdnYuULL9yBKys3PJzx+ftFolSZIUpKXBvvumUf53tR1KGDCgcZNgJGln\n1P1fmrMWwKG/gl36N/7MGWfDqW/APl/bydKiJ1X3fiaauduOnBzo2RPeegvuvx9GjoRYDLKyMpkx\nYwJjx05m2LBLGTt2MjNmTIjUgM22eL0bwtzRYu5oMXe0mLvtq/zLxAJq+mXimjXw2GNhpVVbFKXr\nXZG5oyVVc9c9c+rdX8DgibDfVfDp0/DRvbDiRVi/oIYzpUOvw6H/KbDXWOjcH1bNgiX/SlDpklLN\n/ffX/l5WVibTpuVSUFDAyJEjW6wmSZIk1W/HLxNzcibzzjuLGDLkefLzK/8ysbg4/DLy6qvhW9+C\nyy4LM60kqanqnzm1SwYMvQkyL4Z2u4TXtq2DTctg62pI6wydem1fXZUWlkmsnhMaW0X3JD5BM3Pm\nlFS7eDzckvjDD2HcuGRXI0mSpJYWj8Mrr8CUKWF8w0UXwfe+B3t7w3ZJ9ahr5lT9d+vbVAyzvgFv\nTIS9LoZ+J0Hvo6HbfuXHlG0JDallBbDkAVj5avNULiklbNoE99wDt90Gq1fDxInJrkiSJEnJEIvB\nUUeFx9Kl8Mc/wooVNqckNU3Dp9ttWw8L7oAXx8C/B8DdncLH+3vCPbvAk4fDnOtsTDVBqu79TDRz\np654HG64AQYODLcZzsuDDz6A//u/nT9na8idCOaOFnNHi7mjxdzRYu66DRgAkybBiBEJLafFeL2j\nxdypZedvvRDfBp8vg63rmrEcSakkFoN99glLtx97DM44A9q1S3ZVkiRJSnUffQRXXAFz5iS7Ekmt\nQf0zpyLGmVOSJEmS1DSrV8Mf/hAee+0FEybAeedBhw7JrkxSstQ1c2rnV05JahPefhuuvBK+/vVk\nVyJJkqS2omfPMB6isDDc3e93vwtNqiefTHZlklKRzakUkqp7PxPN3C1v69YwQ+r44+HUU8O8gLy8\nlvneXu9oMXe0mDtazB0t5o6W5szdvj2cfz48/3wYEzF4cLOdutl5vaPF3Kml/rv1SWpTSkthyBDo\n3x+uugrOPdfl1ZIkSUq8gw+u/b2tW/07qRRlzpyqwplTioJPP4V+/ZJdhSRJkgQLFsAxx4QxE1de\nGVb1S2p7nDklRVBJSdjjXxMbU5IkSUoV++wDzz0HK1fCgQfCRRfBSy+Bawak6LA5lUJSde9nopm7\neS1YANdeCwMHwl13JeRbNInXO1rMHS3mjhZzR4u5oyUZuQcPDkPTCwvhqKPgssvg9ttbtgavd7SY\nO7U4c0pqA8rK4PHH4bbb4PXX4atfhTfegMzMZFcmSZIkNVz37vDtb4fZqFu2JLsaSS2l7plTZy/c\nubPG4/DwPjtZUnI5c0qt0ZYtYbD5hReGR+fOya5IkiRJan5lZfDyy3D00RCLJbsaSY1R18ypelZO\npcHOzEv3vxJSi+rYMdyaV5IkSWrLPv0UvvENSEsLq6vGjYP09GRXJamp6p459VAWPLT3zj3UaKm6\n9zPRzN0wmzfD9Onw0EOJqaeleL2jxdzRYu5oMXe0mDtaUjn3gAEwbx789rfwxBNhjMW118KiRU0/\ndyrnTiRzR0uq5k6JgegLl8E3/gIHXw/tL4ETflLzcTc/CAO/DbteBsfnw9yi+s992R2QNq7yo904\n+OCT5s0gJcqSJfDDH4b/8U6dCl27JrsiSZIkKXliMTjhBPj3v8O81Y4d4ZVXkl2VpKaoe+ZUfTr0\ngA5dYOPHTSrioddhwl1wxD4w72Po2x2evbHyMT99EH78IEy+GPbvD7c8BrMWwjs/hz7daz/3ZXeE\n46Z+o/IGxWGZ0LGGTY3OnFKqWLMmDDZ/7rmwXPmb34RBg5JdlSRJkiRJjVfXzKnGr5xqnw6HTIbz\nPoEvfQZnF5a/1+twGPko9DykUac8+zAouhXu+TYckFH9/c1b4eePwA1nw/+dBCcMgfu+HTrmt82o\n//zpnWB4Nhxe4VFTY0pKJd26wVlnQVER3HqrjSlJkiSpMTZvhu99D957L9mVSKpP45pTHbrBya/A\noO/ApqWw7l2gwvDzNW9D72Mh88vNWuTLH8D6TTBmRPlru3aCsw6Bx+c267dKqlTd+5loUctdWFjE\nuHF5DBt2KePG5VFYWERNi/XS0mD8+La3jS9q13sHc0eLuaPF3NFi7mgxd+u2ZUu4i/XIkXDyyfDw\nw1BaWvvxbSV3Y5k7WlI1d+OaU0NuhO5DYOZ4eOIw+Oi+yu+XboLlz0O/E5uvQuC9T6BdGuzbr/Lr\ngzPgvaX1f/38Yuh+BXQeD8f+CP77brOWJzVYYWERo0dPYfr0icydexnTp09kyJAp/OAHDRigJkmS\nJKnBunaF/PywE+GSS8Ln++4LDzyQ7MokVdW4mVNnfQjrP4SC08PzA28Kj7sr7JH7wm2w5/nw7341\nn6MeY34LKzdUnjl184Mw+VFY9cfKx/6lAL7+Z9h8F7RvV/P5pjwZtvAdkAEr1sMtj8LsQngpF75Q\nw00FnTmlRBo3Lo/p0ycCFe93W8JFF03mn//MTVZZkiRJUiS8+mrYoTB8ePlrhYVF5ORMpbi4jIyM\nNPLzx5OVlZm0GqW2qq6ZU42bvLTrHrCknjbztg3QsY4J5S1swimVn592MAy5Dn76EDxwTXJqUnQt\nWlRG5cYUQDrLlpUloxxJkiQpUkaMqPx8x86GhQvzCH9PL2HmzFxmzJhgg0pqQY3b1rd1PXTqU/cx\n6Vmw+bMmlFRdz3TY8DnV5vKsLgmzp2pbNVWTXTrC6cPgjcXNWmKzSNW9n4kWpdx7750GlGx/VrD9\nYwkDBjT+3gStVZSud0XmjhZzR4u5o8Xc0WLuti8nZ2qFxlQBkM7ChXnk5ExNal0tKUrXuyJzp5bG\n/Yt41WuQcSa071Lz+537wYDTYcWLzVBauUH9obQMFiyr/Pp7S2HQgMafLxar+/3x48czadIkJk2a\nxG9+85tKF6+goMDnzfx8zpw5KVVPczxfvRqWL6/+/hln7M+AAZdT3qB6nAEDLic/f3xK1Z/I523x\nevu89ude72g993pH67nXO1rPvd7Reh6l6z1v3iLgNcoVAK/x3HNlzJ+f/Pq83j5vzdf7N7/5TaX+\nSl0aN3Oq/8kw8nFY8RLM+joMvKB85lS3QXD4n2D3I+Dp4+CzVxp82opqmjm1eSv0/SZcdybccE54\nbeNmyLoGrjwR8s5v+Pk3bQnb+g7Lgvuurv6+M6fUFPPnw623wj33wG9/C1/5SvVjduxpX7q0jAED\n3NMuSZIkJUttM2GHDp3M8uW5XH01XH99sqqT2pbmmzn1yVPwdh4MzYXT50F8a3j9iyugY8+wJGnO\n9xvdmNq0BR6bE7btFa+G9ZvggVnhvTOGQeeO8IOz4Mf/gR67htVStzwGceCqk8vP87cX4Kt/gkW/\nhj17wbqNcNYtcOmxkNUblq+DXz8On6wpb3JJTVVaCo89FppS8+bBlVfCu+9Cv1ruCZCVlcm0aQ4/\nlyRJkpItP388M2fmVpo5lZ2dy4MPTmDAAFizJskFShHR+EE3834Ez5wIxQ/BltUQLwXi8Mlj8OxJ\n8O7kRp9y+VoYcytcOAVeXQDzi+GCW8Nj+bpwzA/OhhvPgZ89HBpOJZvh6euhd7fy88TjUFZWPpuq\nUwfo3RXy/gWn/xKu/Cv06gr/zYFD9mp0mQlXcflblLT23EuXwk9/CuPHh9vU5ubW3piqqLXn3lnm\njhZzR4u5o8Xc0WLuaIlS7qysTGbMmMDYsZMZNuxSxo6d/L9h6J06Qd++NX/dypUtW2ciRel6V2Tu\n1NK4lVM7LC8Ij2aS2RvKptV/3PXnhEdtLj0uPHbo1AHu9458SrA994SXX052FZIkSZJ2xo6dDQUF\nBYwcObLe49evhwMOgGOPhWuugaOPrn+usaS6NW7mVIfusHVtAstJPmdOqSZlZfDkk5CRAQcdlOxq\nJEmSJCXThg1w111hzmzXrnD11XDhhdCpU7Irk1JXXTOnGret77xP4Oi7YcBpgK1htX3r1sGUKTBo\nENx4I6xaleyKJEmSJCVbly7wrW/Be+/Bj34E06ZBPTcjk1SHxjWnShbDwDFw3MNwXjEM+wV0PzAx\nlUVQqu79TLRUzL1iRfjtx157wQsvwJ13wuuvQwNW+TZYKuZuCeaOFnNHi7mjxdzRYu5oMXfDpaXB\nGWfAU0/Bj3/c/DW1BK93tKRq7sY1px49AJ4cAQtuh1gHGPxdOG0OnDob9psAnXolqEypZXXoEH4b\nMncu3Huv+8glSZIk1a1du5pff+65cIdvSbVr3MypSl/ZHvY4G7Iuhf6nQlp7KNsKSx+Hwqnw8YPN\nW2kLceaUJEmSJKk5rF8PJ58My5bBVVfBV78K3bsnuyopOZpv5lRF8W2w5F/w33PgPxnwxrWwdl5o\nWB1z/06fVmopixbBtdfCo48muxJJkiRJbVHXrvDKK/CPf8Brr0FWFkyYAB9+mOzKpNSy882pijZ/\nBmvfgbXvhtVTDkvfKam69zPRWjJ3PA7PPAPnnAOHHw7t2yfv7nte72gxd7SYO1rMHS3mjhZzR0si\ncx9xBPzzn/D229CtW5hRlSq83tGSqrnbN+mru+0ftvXtNQ52GRCG8qxfAIV3NVN5UvNZuDA0pQC+\n/e3w24v09OTWJEmSJCk6MjLgJz9JdhVS6mn8zKkOPWCvL4em1G5fCA2prevgo3th0VT47JXEVNpC\nnDnVdm3ZEu68d8IJDjeXJEmSlFrKymDyZBg7NjSxpLamrplTjVs5dcz9MOB0SOsIxGHZ06EhteTf\nULa5yYVKzSEeD/9hr3q3jI4d4cQTk1OTJEmSJNVl0yb4+GMYOhROPRWuvhpGjEh2VVLLaNzMqT3P\ng5LF8NaN8GAmPHcqFN1tY6qZpOrez0RrrtybNsFf/gLDhsH0WrqxqcTrHS3mjhZzR4u5o8Xc0WLu\naEl27vR0uPVWKCyE4cPhoovgyCPhyScT+32TnTtZzJ1aGrdy6qkjYeWsBJUi7ZwlS+APf4A//zkM\nOZKehusAACAASURBVP/lL+Gkk5JdlSRJkiQ1Xvfu8J3vhDm5Dz8MpaXJrkhKvMbPnGrjnDnVurz1\nFowaBZdcAt/6Fuy7b7IrkiRJkiRJVTXfzKkdMs6EvcZCt8HQPh0e3t4R6DYIMs6CxdNh09KdLFdq\nuKFDYfFi6No12ZVIkiRJUsv4/PPwC/rx4+G00yCtcQN7pJTT+B/hI6bCsf+BPcdAl2xIzyp/b8tq\nOPhm2Gtc81UYIam69zPRGpJ76VJYtar667FY621Meb2jxdzRYu5oMXe0mDtazB0trSl3u3Zw9tlw\n000waBDcdhts2LBz52pNuZuTuVNL45pT+34Tsi6BRXfCA7vBe5Mrv//5MljxEmSc0YwlKqricZg5\nEy6+GA48MHwuSZIkSVHXoUNYOTV7Nvz1r1BQAJmZYQ6v1Bo1bubUqa8DMXji0PD8wJvC4+4KuwMP\n/xP0PwUeHNi8lbYQZ061nMLCInJyplJcXEZGRhr5+ePJyspk82a4775wp4qVK2HCBLjssjAYUJIk\nSZJUXVERrF8ffrEvpaLmmznVbX9YcEfdx2xeDp17N+q0ip7CwiJGj57CwoV5QDpQwsyZucyYMYH1\n6zOZOhVycuD008OSVUmSJElS7TIza3+vrMy5VEptjfvxLNsGaZ3rPmaXDNi6k5tdIy5V934mQk7O\n1AqNqQIgnYUL88jJmcpBB8HTT8NZZ7XtxlSUrndF5o4Wc0eLuaPF3NFi7mgxd9uyYQPssw9MmgSf\nflr9/baauz7mTi2Na06tmw99R9Zxtk7Q9wRY/WbTqlKbt2RJGaExVVE6S5eWJaMcSZIkSWqTunSB\nRx4JjanBg+HSS+GNN8JulnHj8rjmmjsZNy6PwsKiZJeqCGvczKl9/w++cBu8fyu8cS0cmFM+cyqW\nBodNgX2+ATO/Aov/kcCyE8eZU4lVVAS33w6//nUemzdPpHKDqoSxYyczbVpussqTJEmSpDZr1Sr4\n05/g178uYuvWKaxaVT5mJTs7jFnJyqpjf6DUBHXNnGrcyqkFd8AnT8H+34Zzl0Dml8Prx9wH5xTB\nvldC8UOttjGlxPngAzjvPDj0UNi0CR59dDzZ2blAyfYjwn8M8/PHJ69ISZIkSWrDdtsNvv99OOGE\nqRUaU1BxzIqUDI1rTsXL4PkzYd6Pwha+bvtBLPb/7d13mFTl3f/x99KLCEhRQAREBTt2Y9SgxBYU\njVGjgv1JYpLHaIyxBpHYozFqYhJ9EnshGhPRRI1YUCOCFRUUFQSUKkoR6bD7++Nmf9sbzOw5c+73\n67r22t1zzpy5PwwMM9+57++BnsdC0zYw6Ur47/F5Gmr2pXXtZy60aQOHHx5mTt18Mwwa1IsxY85h\n6NAbGTDgNIYOvTG6Kn2WH+/amDsu5o6LueNi7riYOy7mzr65c8u3WRm7/ntos/LCC7ByZTLjakwx\nPd7lpTV3w67WB1CyDt4bGb7abQctO8GaJfDVlFC8kqqx5Zbwox9V3NanTy/uv38EY8eOZeDAgYmM\nS5IkSZJi06NHE8IqloptVrbYognXXw9vvAEnnghnnQW77ZbQIBWVhvWcqo9eJ0KnveCtX+T0tI3F\nnlMbZu1aGD0abrsNRo6EAw5IekSSJEmSpOpMnz6TQw75fbkrqFfsOTVjBtxzD9x1F3TsCOeeC6ef\nnuyYVfhq6zmV++LUPndCn1NDk/QCZHGqYebPDw31br8deveGn/4Ujj0WWrRIemSSJEmSpJpMnz6T\n4cPvZs6cYrp3b8KVV55epc1KcTG88ALMmQOnnJLMOJUduWuIrrxK69rPmjz9NPTvD59+Gi5N+vLL\nYepnQwtThZY7V8wdF3PHxdxxMXdczB0Xc8clttylbVYuv/wg7r9/RLX9f5s0gUGDai5MFXJvqtge\n71JpzV2Y05uUCgccAJ98EqZ5SpIkSZLicuyx4WrsZ54J3/teuBCWtCFc1leJy/qqmj4devaEZoX5\nkEqSJEmS8mD1anjiCfjrX2H8eDjhhFCo2msvKCpKenRKG5f1qcGKi+Gpp+DII8MTywcfJD0iSZIk\nSVKatGgRZkw9+SS8+y5stRVccgk430MNZXEqRdKw9nPRIrjpJujXDy67LEzT/PRT2Hnn/N1nGnIn\nwdxxMXdczB0Xc8fF3HExd1zMvXG23BIuvRSeey70qko7H+90qXuh1k7DG3bGjgM2cChKg+efh7fe\ngnvvhX33dSqmJEmSJGnj3XFHaBlzxhmw3XZJj0ZpU3fPqZPWhTl59alSlB5XUmLPKUmSJEmSBMCH\nH8Jf/gL33Qfbbht6Ux1/PGyySdIjU2OpredU3cWpnS7fsHud9OsNu13CYihOzZ4dGtb9/OfQrl3S\no5EkSZIkxWLNmtCj6s474aWXQq+qnj2THpUaw8Y1RJ/06w37UoPlc+1nSUn4h3/CCbDTTjB/Pqxc\nmbe7a5C0rnnNN3PHxdxxMXdczB0Xc8fF3HExd+No3hyOPhpGj4aPPgq9qpLg450uBdCmTBvrmWdg\nl13gRz+CAw+EmTPhttugS5ekRyZJkiRJilWXLtV3EJoxAx57LMyyUhzqXtYXmSwu63v7bVi4EA4+\n2AbnkiRJkqR0e+MNOP/80KfqlFNCf6oddkh6VNpYG7esTwWjpprabrvBoEEWpiRJkiRJ6bfnnqEt\nzcsvQ4sWcMgh4Wryr7+e9MiULxanUmRD135+8QVcfz306wcLFuR2TI0hrWte883ccTF3XMwdF3PH\nxdxxMXdczJ0+220H11wTWtMMHw6bb567c6c5dz6lNbfFqQL2+utw+unhMpxTpsCDD9pHSpIkSZKU\nLc2aweDBsNVWVfeVlMCcOY0/JuWWPacqKZSeU9dcA3fcAT/5SVh/27lz0iOSJEmSJKlxffopDBgA\n++wT3hsPGQItWyY9KlWntp5TFqcqKZTi1JIlsMkm0LRp0iORJEmSJCk5y5fDP/8Jd94J774LJ58c\nrlZvE/V0sSF6yk2fPpNhw0YyYMBpDBs2kunTZwJhemJNDd/at89OYSqta17zzdxxMXdczB0Xc8fF\n3HExd1zMXbjatIGhQ+G55+C116BDB5gwofpja3r/HYu0Pt7NGn6TItjup9B7KGy6PTRrC6Oah10d\nB0DfH8CHN8PSj3M70oyaPn0mhxzye6ZNGwm8zjvv7MW4cSM45ZRzePjhXjRvDuPGhVlSkiRJkiSp\nZn36wMiR1e+r7v33+PEjGDPmHPr06dWo41RFDVvW16Q5DHwKug6E1QuheBW06gaj1te4mreHY+fB\n+9fDe1fkZcD51tjL+oYNG8kDD1wAtC23dRlbbXUj9903ggMOgKKiRhuOJEmSJEmZNHToSB58sOr7\n76FDb+T++0ckNaxo5G5Z3/a/hM0Pgkkj4R+bw7S/VNy/Zgl8/hJ0O2wDhxqf2bOLqfgPA6AtffsW\nc+CBFqYkSZIkScqFOXOqf/8dtitJDStO9R4KC16BSVcCJaEpUmVfT4c21VzfUdXq0aMJsGz9b2PX\nf19G9+7xtANL65rXfDN3XMwdF3PHxdxxMXdczB0Xc2ef77/T+3g37BFo2we+GF/7MasXQsvNNmJI\ncbnyytPp23cEZf9AltG37wiuvPL0xMYkSZIkSVLWVPf+e8stff+dBg3rOXXcQvj07/DaD8PvO10e\nvkaV66u+3/2w+SD4Z7ccD7VxNHbPKQhN2YYPv5s5c4rp3r0JV155us3YJEmSJEnKsfLvv9eubcL5\n55/OMcf4/rsx1NZzqmFX61s0EbodGhqjF6+pur/5prDFYfDFuA0YZrz69Oll8zVJkiRJkvLM99/p\n1LBlfVPvgDY9Yb8HoFm7ivuat4d974YWHWHqn3M3woikde1nvpk7LuaOi7njYu64mDsu5o6LueNi\n7rikNXfDZk7NHAVbHAJbnw49hsDqRWH7Ya9D+x2haUv46DaY81TuRypJkiRJkqTMaVjPqVJ9ToN+\n50KHXaCoKGxbMhmm3ASf3J3bETayJHpOSZIkSZIkZVnuek6Vmn5P+GraKizjW70E1i3fiCFKkiRJ\nkiQlY/FieP11OOSQpEcSp4b1nKps3UpYMdfCVI6kde1nvpk7LuaOi7njYu64mDsu5o6LueNi7mDR\nIjjxRJg3L5nxNJa0Pt4NK0513B12Gg6tula/v9XmYX+HXXMwNEmSJEmSpPzr0wfOOAOuuCLpkcSp\nYT2n9nsAuuwPo3vVfMzRM+DzF+HV0zZ+dAmw55QkSZIkSfFZtAj69YOxY2GHHZIeTfbU1nOqYTOn\nOn8D5r9Q+zHznofO32zQaSVJkiRJkpLUsSNcfDFcdFHSI4lPw4pTrbaA5bNqP2bFHGjdbSOGFK+0\nrv3MN3PHxdxxMXdczB0Xc8fF3HExd1zMXdFPfwrvvw+TJzfueBpLWh/vhl2tb91yaNWl9mNadYHi\nVRsxJEmSJEmSpMbXsiVMnAjt2iU9krg0rOfUwc9C+53gib6wdlnV/c3awVEfw1fvw3MH53CYjcee\nU5IkSZIkSbmVu55TU+8IM6MOHgMddq64r8MucPAz0LJzOE6SJEmSJEmqQ8OKU58+DNPvhU77wOFv\nwzGz4bDXwvfD34JOe8OM+2DmqDwNN9vSuvYz38wdF3PHxdxxMXdczB0Xc8fF3HExd1zSmrthPacA\nxp8BC8ZBv3Og/Y7QeouwffEk+OhWmPbXHA9RkiRJkiQpGSUlUFSU9CiyrWE9pypr2hpadIDVi2Hd\nihwOKzn2nJIkSZIkSQAPPQRvvAG//W3SIyl8ues5Vdm6FbBibmYKU5IkSZIkSaUGDYJ77oGpU5Me\nSbZtXHFKOZXWtZ/5Zu64mDsu5o6LueNi7riYOy7mjou5a9e1K5x/PlxySX7H01jS+ng3rOfUkGn1\nO66kBJ7YZgOGI0mSJEmSlB7nnQf9+sGrr8I3vpH0aLKpYT2nhkyH6g5v0QGatw8/r5gDxWvg8a1z\nM8JGZs8pSZIkSZJU3j33wO23wyuv2Bx9Q9XWc6phM6ce71Pzvk36wp63QtO28MJhDTqtJEmSJElS\nWg0bBjNmwMqV0Lp10qPJntz1nPp6Grx0LLTpATuPyNlpY5LWtZ/5Zu64mDsu5o6LueNi7riYOy7m\njou566dpUxgxovALU2l9vHPbEL14FcwbA71OyulpJUmSJEmSlE0N6zlVH3vcCtv8AP5WmOVEe05J\nkiRJkiTlVm09p3I7c6plJ+j5XVj+WU5PK0mSJEmSpGxqWHFqp+HVf+08Eva5E478CFp1g6n/l6fh\nZlta137mm7njYu64mDsu5o6LueNi7riYOy7m3jCvvw6fFeC8nLQ+3g27Wt/OV9S+f81XMPkq+OCG\nDR+RJEmSJElSij3xBEyfDvfdl/RIsqFhPae6Hlj99pJiWL0IvpoCJetyNLRk2HNKkiRJkiTVZulS\n2G47+Pe/Yffdkx5NYait51TDZk59/lIOhiNJkiRJklS42rWDK66ACy6A556DoqKkR1TYctsQXRsl\nrWs/883ccTF3XMwdF3PHxdxxMXdczB0Xc2+4s86CefPgySc3fjyNJa2Pd+0zp9r03PAze8U+SZIk\nSZKUUc2awW9+A9deC4MHJz2awlZ7z6mT1sEG9V8qgVHNN3xUCbLnlCRJkiRJqo+SEvjqK2jfPumR\npN+G95yafm/V4tQmfUJj9DVLYNFEWDEPWm8BHQdA8/ahL9XX03M0dEmSJEmSpHQqKrIwlQu195wa\nfwZMOLPs6/3roMMuMOV38FgveO5gGHdy+P5YL/jwFuiwM7x/bSMNP1vSuvYz38wdF3PHxdxxMXdc\nzB0Xc8fF3HExd1zSmrthDdEHXAeL34O3L4C1SyvuW7sU3joflkwOx0mSJEmSJEl1qL3nVGXf+wI+\n/jO8+6uaj9n1atjmR/Bo5xwMr/HZc0qSJEmSJG2IkpKw1E9V1dZzqmEzp5q0DP2latOqWzhOkiRJ\nkiQpIoMHw6RJSY+i8DSsOLXobeh1Ymh+Xp2Ou0Ov78Oit3IwtPikde1nvpk7LuaOi7njYu64mDsu\n5o6LueNi7tw67DC48MK8nDon0vp4N6w49d7IMCvq0PGwz1+hz2nQ7fDwfZ874dBx0KR5OE6SJEmS\nJCkiP/4xfPQRPPts0iMpLA3rOQXQ83uw9+3QomNYTPn/z1QEqxfBaz+Ez/6R42E2HntOSZIkSZKk\nDfXII3DNNfDmm9CkYVOCMq22nlMNL04BNG0DWx4Nm+0OzdvDmiWw8C2YNRrWLd/I4SbL4pQkSZIk\nSdpQJSWw335hFtWppyY9mvTIXUP0UuuWw8yH4O1fhplSb/8y/F7ghamkpXXtZ76ZOy7mjou542Lu\nuJg7LuaOi7njYu7cKyqC3/0OWrXK211ssLQ+3s026tbNO0DzTWD5rBwNR5IkSZIkqbDtu2/4Uv00\nfFlfs7aw80joPRRadgFKYFTzsK/T3rDzCHjnV+HKfgXIZX2SJEmSJEm5lbtlfc03hUNfhf4/hxVz\n4KsPgKKy/Yvfgy4HQK+TNny0kiRJkiRJikbDilM7Xgbtd4Txp8PTe8Cnj1Tcv24FfP4ibDEodyOM\nSFrXfuabueNi7riYOy7mjou542LuuJg7LuaOS1pzN6w41fNYmPsfmH5fzccsmwmte2zksCRJkiRJ\nkgrfmjXw5JNJjyLdGtZz6vsr4MNbYOLF4fedLg9fo8r1VR9wHfQ7F/7WOsdDbRz2nJIkSZIkSbmy\nYgX07w8PPAD775/0aJKTu55Ta5ZCy661H9O2D6z6okGnlSRJkiRJyqLWreGqq+CCC8C5MNVrWHFq\n4evQ40hotkn1+1ttAd2/Awv+m4OhxSetaz/zzdxxMXdczB0Xc8fF3HExd1zMHRdzN46hQ2H1anjk\nkbqPzae0Pt4NK059eAu07AQDn4RN+1fct2l/2P8RaNoKPrw1h0OUJEmSJEkqXE2awI03wiWXwKpV\nSY8mfRrWcwpCj6mdR4S5aCVroKg5rF4ELTpCURFMvAg+uDFPw80/e05JkiRJkqR8GDwYTjwRTjkl\n6ZE0vtp6TjW8OAXQdSD0+xl03hdadII1S+DL8TDldzD/hY0bbcIsTkmSJEmSpHxYsgQ23TTM7YlN\n7hqil/p8LLx8LPyzO/ytJfyjK7w4pOALU0lL69rPfDN3XMwdF3PHxdxxMXdczB0Xc8fF3I2rfftk\nC1Npfbw3rDhVl5ad83JaSZIkSZIkZcuGLeurSfNNYYeLYLv/hUfa5+y0jcllfZIkSZIkSblV27K+\nZvU+S5utYLM9QhP0L1+DlZ+X7WvSEvr/HLa/IDRGX7t8I4csSZIkSZKUbSUlcfafqqx+y/r2uAWG\nTIP9H4EDHoMhM2DbH4d9Xb8FR30Iu1wFTdvAh7fA41vnb8QZlta1n/lm7riYOy7mjou542LuuJg7\nLuaOi7mT8+67cMwxoUDVWNKQuzp1z5zqc2pYpldSDF99ELZt2h/2uBXWLoO9b4eipjD1dph8FayY\nm+chS5IkSZIkFbYdd4Rp0+CJJ2DIkKRHk6y6e04Neh46fwOeOwi+GB+2dTkADh4TilLLZ8GLR8GS\nSY0w3Pyz55QkSZIkSWoMTz4J558P770HzZsnPZr8qq3nVN3L+jrsAp/9s6wwBbDgZZj1GFAEE87M\nTGFKkiRJkiSpsRxxBGy5JfzlL0mPJFl1F6eat4evp1bdvvTj8P2LV3M8pHilde1nvpk7LuaOi7nj\nYu64mDsu5o6LueNi7mQVFcENN8Cvfw1Ll+b//tKSu7K6i1NFTaB4TdXtpdvWrczxkCRJkiRJkuKw\n225wwQWwaFHSI0lO3T2nTloH742ASVdV3L7T5eFrVN091QuJPackSZIkSZJyq7aeU/UrTjW4WFMC\nowqzk5fFKUmSJEmSpNzauIbo4QwN/KrfaVVRWtd+5pu542LuuJg7LuaOi7njYu64mDsu5o5LWnPX\nvSbvoaaNMAxJkiRJkiTFqO5lfZFxWZ8kSZIkSUrKrFnwxRcwYEDSI8mtjV/WJ0mSJEmSpLx77TU4\n9VRYty7pkTQei1Mpkta1n/lm7riYOy7mjou542LuuJg7LuaOi7nT57vfhU03hXvvzf2505rb4pQk\nSZIkSVJKFBXBjTfC8OGwfHnSo2kc9pyqxJ5TkiRJkiQpaSecALvsAr/6VdIjyQ17TkmSJEmSJBWQ\na6+F226LY/aUxakUSevaz3wzd1zMHRdzx8XccTF3XMwdF3PHxdzp1bcvTJ4Mbdrk7pxpzW1xSpIk\nSZIkKYU22yzpETQOe05VYs8pSZIkSZKk3LLnlCRJkiRJklLJ4lSKpHXtZ76ZOy7mjou542LuuJg7\nLuaOi7njYu64pDW3xSlJkiRJkqSU+9WvYNSopEeRH/acqsSeU5IkSZIkKW3GjoUzzoApU6Bly6RH\n03D2nJIkSZIkSSpgAwfCzjvDH/6Q9Ehyz+JUiqR17We+mTsu5o6LueNi7riYOy7mjou542LuwnL9\n9XDddbBw4YbdPq25LU5JkiRJkiQVgO23h+OOg6uuSnokuWXPqUrsOSVJkiRJktJq/ny44w4YPjzp\nkTRMbT2nLE5VYnFKkiRJkiQpt2yIXiDSuvYz38wdF3PHxdxxMXdczB0Xc8fF3HExd1zSmtvilCRJ\nkiRJkhLjsr5KXNYnSZIkSZKUWy7rkyRJkiRJyqBnn4U1a5IexcaxOJUiaV37mW/mjou542LuuJg7\nLuaOi7njYu64mLvw/eY3cPvt9Ts2rbktTkmSJEmSJBWoG26Aq66CJUuSHsmGs+dUJfackiRJkiRJ\nheSMM6BbN7jmmqRHUjN7TkmSJEmSJGXUlVeGpX2ffZb0SDaMxakUSevaz3wzd1zMHRdzx8XccTF3\nXMwdF3PHxdzZsOWWcPbZcOONtR+X1tzNkh6AJEmSJEmSNs6ll0KTAp2CZM+pSuw5JUmSJEmSlFv2\nnJIkSZIkSVIqWZxKkbSu/cw3c8fF3HExd1zMHRdzx8XccTF3XMwdl7TmtjglSZIkSZKkxNhzqhJ7\nTkmSJEmSpEK2dCkMHgxPPQVt2yY9msCeU5IkSZIkSZFo1w569IDf/jbpkdRPKopT0+bDj/4Ku14C\nzU6Bg6+u/rhrRsNWP4M2Z8C3roR3Ztbv/KPfgF0uhtanw44XwsPjczb0nErr2s98M3dczB0Xc8fF\n3HExd1zMHRdzx8Xc2XXNNXDrrTBvXtm2tOZORXFq8ix4+h3o3w36dav+mGtHw9Wj4ZIh8K8LYJNW\n8O1r4fMltZ/7vx/CcbfCoB3h6YvgyN3gpD/As5Nyn0OSJEmSJCkN+vSB00+HESOSHkndUtdz6vhb\n4Muv4fnLyratWgOb/wR+ORguOyZsW74Kep8HZw+CXx9X8/kOuw7WFcOzl5ZtG3wDLF0BL11e9Xh7\nTkmSJEmSpCxYtAj69YOxY2GHHZIdS8H3nBr3USgmHb9P2bY2LeGo3eCpd2q+3eq1MPYDOGHfittP\n3BdenRrOKUmSJEmSlEUdO8JNN8HixUmPpHYFUZyaMheaNoFtt6i4ffseMGVOzbebNh/WrAvLBSvf\nrrgYPppX/e2Skta1n/lm7riYOy7mjou542LuuJg7LuaOi7mzb9gw2G+/8HNacxdEcWrRstBjqqio\n4vaObcPyvrXrar5dEdCh0mUTO7aFkvX7JUmSJEmSsmz69JkMGzaS8867i2HDRjJ9ej2vMNdICqLn\n1DWj4cZ/w8I7Kh7717Hww7/AqnugWdOq5xr3ERzwa3j7Gthlq7Lt0+bDtr+AZy6Gb+9U8Tb2nJIk\nSZIkSVkxffpMDjnk90ybNhJoCyyjb98RjBlzDn369Gq0cRR8z6mObeHrlVC5ZrRoWeg9VV1hqvR2\nJcCS5VVvV7pfkiRJkiQpq4YPv7tcYQqgLdOmjWT48LsTHFVFzZIeQH307xauuDd1fsW+U1PmQP/u\nNd+u7+bQvGk47oD+Zds/mB16WG23RfW3O/300+nduzcAHTp0YMCAAQwcOBAoW5+Zj9/Lr/1sjPtL\ny+8TJ07kvPPOS814Gut3H+90jKexfvfxTsd4Gut3H+90jKexfvfxTsd4Gut3H+90jKexfvfxTsd4\nGut3H+90jKexfo/p8Z49u5hQmBoLTATOA9oyefInjB07Nm/3f/PNNzNx4sT/X1+pTUEs61u1Bjb/\nCVx4JFx6dNi2fBX0OQ/OHgQjj6v5fIdfH5qfP3NJ2bYjb4CvVsBLl1c9PsllfeX/UsTE3HExd1zM\nHRdzx8XccTF3XMwdF3Nn37BhI3nggQsoK1ANBJYxdOiN3H//iEYbR23L+lJRnFqxGp6cGJbt3fQU\nLF0BV3wv7Bs8AFq1gOseh6seg9+cFGZL/fZJeP0TmHw9dNk0HHvvy3DW/8Env4OencK2Vz6Eg66G\nnx4Cx+wJ/3473Md/LoJBO1Udiz2nJEmSJElSVhRCz6lULOv7fAkcf2u4sl6pE24N36ffDFt1houH\nhOLVdU+EmVV7bQ3PXlJWmIKwv7i4Ym+qb/aDv58Lv3oE/vwc9OkCD/1v9YUpSZIkSZKkLOnTpxdj\nxpzD8OE3MmdOMd27N+HKKxu3MFWXJkkPAKBXFyi+H9ZV87VV57LjLjkaPr0Vlt0JY39V8Qp8AKcd\nWPU2AEP2gHevgxV3w/s3wPH75D3SBim/5jUm5o6LueNi7riYOy7mjou542LuuJg7Dn369OL++0dw\n+eUHcf/9I1JVmIKUFKckSZIkSZIUp1T0nEoTe05JkiRJkiTlVm09p5w5JUmSJEmSpMRYnEqR2Na8\nljJ3XMwdF3PHxdxxMXdczB0Xc8fF3HFJa26LU5IkSZIkSUqMPacqseeUJEmSJElSbtlzSpIkSZIk\nSalkcSpF0rr2M9/MHRdzx8XccTF3XMwdF3PHxdxxMXdc0prb4pQkSZIkSZISY8+pSuw5JUmSJEmS\nlFv2nJIkSZIkSVIqWZxKkbSu/cw3c8fF3HExd1zMHRdzx8XccTF3XMwdl7TmtjglSZIkSZKk/QLj\noAAAG4hJREFUxNhzqhJ7TkmSJEmSJOWWPackSZIkSZKUShanUiStaz/zzdxxMXdczB0Xc8fF3HEx\nd1zMHRdzxyWtuS1OSZIkSZIkKTH2nKrEnlOSJEmSJEm5Zc8pSZIkSZIkpZLFqRRJ69rPfDN3XMwd\nF3PHxdxxMXdczB0Xc8fF3HFJa26LU5IkSZIkSUqMPacqseeUJEmSJElSbtlzSpIkSZIkSalkcSpF\n0rr2M9/MHRdzx8XccTF3XMwdF3PHxdxxMXdc0prb4pQkSZIkSZISY8+pSuw5JUmSJEmSlFv2nJIk\nSZIkSVIqWZxKkbSu/cw3c8fF3HExd1zMHRdzx8XccTF3XMwdl7TmtjglSZIkSZKkxNhzqhJ7TkmS\nJEmSJOWWPackSZIkSZKUShanUiStaz/zzdxxMXdczB0Xc8fF3HExd1zMHRdzxyWtuS1OSZIkSZIk\nKTH2nKrEnlOSJEmSJEm5Zc8pSZIkSZIkpZLFqRRJ69rPfDN3XMwdF3PHxdxxMXdczB0Xc8fF3HFJ\na26LU5IkSZIkSUqMPacqseeUJEmSJElSbtlzSpIkSZIkSalkcSpF0rr2M9/MHRdzx8XccTF3XMwd\nF3PHxdxxMXdc0prb4pQkSZIkSZISY8+pSuw5JUmSJEmSlFv2nJIkSZIkSVIqWZxKkbSu/cw3c8fF\n3HExd1zMHRdzx8XccTF3XMwdl7TmtjglSZIkSZKkxNhzqhJ7TkmSJEmSJOWWPackSZIkSZKUShan\nUiStaz/zzdxxMXdczB0Xc8fF3HExd1zMHRdzxyWtuS1OSZIkSZIkKTH2nKrEnlOSJEmSJEm5Zc8p\nSZIkSZIkpZLFqRRJ69rPfDN3XMwdF3PHxdxxMXdczB0Xc8fF3HFJa26LU5IkSZIkSUqMPacqseeU\nJEmSJElSbtlzSpIkSZIkSalkcSpF0rr2M9/MHRdzx8XccTF3XMwdF3PHxdxxMXdc0prb4lSKTJw4\nMekhJMLccTF3XMwdF3PHxdxxMXdczB0Xc8clrbktTqXI4sWLkx5CIswdF3PHxdxxMXdczB0Xc8fF\n3HExd1zSmtvilCRJkiRJkhJjcSpFZsyYkfQQEmHuuJg7LuaOi7njYu64mDsu5o6LueOS1txFJQ9Q\nkvQg0qRoaNIjkCRJkiRJyp6SB6rf3qxxh5F+Nf1BSZIkSZIkKfdc1idJkiRJkqTEWJySJEmSJElS\nYlzWl7B7XoIz7qi4rQj405nww4MTGVJeTJsPv/kXjJ8Kk2fBgf3h+csqHtP7XPj0y4rbtmgPc25r\nvHHm0sPj4d6X4a0ZsHQl9OsGFwyGE79RdkzWMgM8+hrc9CR8OBeWrYJeneGU/eHCI6H5+mecLOau\nbM4i2O4XsGI1LP0rtGkZtmcte32ew7KWudS6YrjhX3DniyFfl3Zwwj7w22Flx2Qt+0FXwYtTqt/3\n6hWwzzbZy1xq1Kvh8f5oHrRvDYN2guu+D906lh2TxeyPvQEjHg3P6d07wDmHwc+PqHhMoeeuz2sU\ngGtGw5+fgy+Wwl5bw62nwq69yvYX2mu6+uT+4xh4cmI4ZuEyGHsZHLh9xWOylnvuIrjx3/DMezB9\nAWy2CRy8A1xb6d971nKvWQtD/whvToe5i2GTVrBnH7jqeNi9T9lxWctd2c/vg1v+Axd8B35zctn2\nLOauz3N3FnMDvPcpXPowvPwhFBfDDj1Cpt16h/1Zy/3iB3DQ1dXf9rCd4amLws9J57Y4lQJFwAuX\nQasWZdu27prYcPJi8ix4+h3YdxtYu676Y4qKYOh+4YVvqRZNG2d8+XDz0+FxvPVU6NwuvLg7+Tb4\ncin89NBwTNYyA3z5dXjTduGR0KEtvDYtvLGZvwRuPS0ck8XclV3wAGzaOhSnysti9rqew7KYGeC0\nP8PY9+GK74Xi82dfwvuzKx6Ttex/OhO+WlFx2/BHYOLM8GYdspcZ4PE3w/P3OYfCjSeHN26XPQJH\n3ghvlnuxl7Xsr3wI37sZ/ucg+O1QmDAVLnoImhbBzw4vO67Qc9fnNcq1o+Hq0eHx79cNfvskfPta\nmHw9dG1fdlwhvaarT+77/gtNiuDwXeGhcTWfK0u535oBT7wNPzgI9u4bXr+MeBS+ORImXV/2YRNk\nK/e6YmjaBC49Gvp2Dc/1Nz0FB18DE6+B3l3Kjs1S7vLenxU+cGrfuvr9Wctd3+furOWeOAMOvBK+\nuxc8fE7Y9von1bxmJzu59+gD40dW3DbzC/j+7+E7AypuTzK3xamU2HPriv/ZZc2QPcIXwPG3hAJG\ndbp1CC8EsuBfF4RP20oN3AFmLwr/0ZcWpyBbmaFqVf1b28OS5fDHZ8uKU5C93OW99EH4xPXSo+GX\nD1bdn8XsdT2HZS3z0+/AIxPg3WuhX/faj81S9v6Vsq5ZC29Mh5O+AU3KNQrIUmaAh14NL+xuObVs\nW7vWcMxN8OGcin8HspT9ysdg/35w+1nh92/vBIuWwa//CT85BJqVexNTyLnreo2yag1c/y+4dAj8\n+Nth277bQO/z4A9j4NfHVTy+UF7T1ee12avr38xMngUP1lKcguzkPqAfTLmh4nPabr2h3wVhdvgp\nB1Q8Piu5W7WAh/634rZBO0Kns8MMyvMqzZjMSu7yfnYvnHc43Pvfmo/JWu76PndnKfeP74Kj94B7\nzi7bdugu1Z8vK7k3aVX1cX7xg1CQPn6fqudLKrc9p6Q8KV+YKrVb77DcKzabbQKr1yY9isZRXBxe\n3Iw4FjpV83dA2XDXi2GZR12Fqax76h1YvKzicuUsWrO26ifppb+XNP5wGs3EmXDIThW3HbpzKFC9\n+nEyY0rCuI9g6YqKL+DbtISjdgv/BpQtm7apWJgC2HYLaNMC5ixOZkxJadMSWjWP4zXc3yeE5csX\nD0l6JMqnD2bDhGkVZ4vFatSr8K3+sEWHpEdSxuJUCpQAW/8cmp8K/S+AO55PekTJ+euL0PI06PCD\nUPX99IukR5Rb4z6C7bpV3JbVzMXFYXrsfz+E3z8DP/l2xf1Zzf2nZ8OLuJ8cUvMxWcten+ewrGWe\nMC38Wz7nHmj/P9D2zLD8aW41xeesZS9v1Kuw5WZhdk15Wct85sDQl+K+l0OR4qO5MPzvYVZB5dlk\nWcq+cg20qDTHvkWz8G/+gzkVt2cpd2VT5oZPl7fdouL27XvAlEp/DrG+pst67nc/heWrw5LO8rKa\ne11xWM544UPQrAmctF/F/VnLvXI1XPAgXH8itG5R83FZyw31e+7OUu4JU8OytS+XwoBLQqZtzoc7\nx1Y9Nku5K/t4Hrw9E07er+q+JHO7rC9h3TqERoN79w3/EYx6Fc6+M7ypP/fwum+fJcfsEabJb7lZ\neNF7xaNhPfB714XlE4XuuUkw+k24+0dl27Kcue2ZsGr9J22nHVCxqWRWc3+5FC5/FB78aXgjU52s\nZa/Pc1jWMgPMWxJmTw3oBQ//LPTm+OWDcOzNZctgIJvZS61YHfqy/HhQxe1ZzPydAXDXD+Gs/4PT\nbg/bvrkd/P3cisdlLfs2m4dlm+VNmBa+Lyy3ZCBruStbtCwsiSgqqri9Y1tYvir092jWNN7XdFnP\nXVIC594bClNH7V62Pau5r38CLvlb+LnrpvDkhdCzU9n+LOa+5nHo3hFO/mbNx2Qxd32eu7OWe96S\nUHw57Xa46MiwfO3vr8H//CX8HTh813Bc1nJX9tC48GHTsXtV3J50botTCTt0l4prXA/bJTz4V4/O\nxl/8hvjdKWU/f7MffGNbGHAp3P1S4U+9nLEgXAHlu3tW7FWQ5cyvXhE+ZXxtGoz8R5gOf9sZYV9W\nc1/2MOy3bfh3XJOsZa/Pc1jWMkN4swLw+C9C438IV7j51lWhSfrAHcK2LGYv9fib4Y155SV9Wcz8\nwuTw4uznR8Dhu8D8r8KL+GN+B89dWla0yFr2sweF3hx/eQGO2zsUpn73VPjUuUm5Qk3Wcm+oWF/T\nZT33xaPC3/2Xhlf84Cmruc84MCznnbs49AsdfAO8fHnZLNGs5Z7+ebjAwYu/qv24rOWG+j13Zy13\n6eu3HxwEvxgcfv7W9uGCNtc9UVacylruyv42PizTL30NWyrp3C7rS6Hj9g4zMGYuSHokydpxy/Ap\n1Vszkh7Jxlm0DI74DfTpAvf/pPZjs5IZYEBv2G+70EDz1lPD5benf179sVnI/f4suOslGP7d0AB+\nyXJYtirsW7w8TBmvThayV1bXc1gWMndsCzv3rPif+v79wqdQk2fVfLssZC81ajxss0XFS4xXJwuZ\nL3gQjtkTrvk+HLh96D30z5/D2A/CjNiaFHr2M78VZsb95C7Y7Edw3C1w+XfDp8619ago9NyVdWwL\nX68se1NTatGy0JOnfGP4ymJ9TZeV3H8cEwoX954dZljUJQu5u7YPz+uDdwsfwHTaBK57vPbbFHLu\ni0fBd3YNy3aXLA99FIuLw+z/Jctrv20h565OfZ+7Czl3x7bhA5aB21fcfvAOtb9+g8LOXd47M8NM\nueqW9FWnMXM7cyqFKk8bj1mh/1GsWB0+cVpXHK7e16qWdeylCj1zdXbvE97MTF8AfWq4FGmh5/54\nXljase+Iqvt6ngNnDYQ7/qf62xZ69srq8xxW6Jm37162bLW8kpK68xd6doCvlocrFl58VP2OL/TM\nU+ZW7bmyXbfQm2Ta/NpvW8jZmzQJV1m98niYtTB8yPLBnJBp321qv20h566sf7fw//jU+RX7Tk2Z\nU7XnWGWxvqbLQu5HXwsXOLnhZDiumqtZVScLuctr2iR8EPNJDR8ulirk3B/NCz3FHn29bFsRoV/q\nH56Bz34flntVp5Bz16Q+kQo59/Y9wnuSyh821Ov1WwHnLm/Uq2FFy5Dd6z4WGje3M6dS6JEJ0Kkd\n9OqS9EiSNemz8IZgzzo+lU+rdcXhU+Zp8+Hpi8JjWpdCz1yT/34Y/rPrU8Pf6SzkPqA/vHAZjC33\nddGRIfdTF8Ivj6z+dlnIXlldz2FZyHzkbvDeZxX77rz4QShQDuhV8+2ykB3gH6+Hxv/1uUpfFjL3\n6gRvz6i47YPZ4QOI3rX8X52F7ADt24RP1Nu0hNvGhFmxlS/uUV5Wcpfab7vQf+WRCWXblq+CJ94K\nMy5qE+trukLPPfZ9GPZHOPewsJy3vgo9d2UrV4dZNFvX8MFiqULO/dcfVH391rU9fH9fGPsr6FLL\n6/dCzl2d+j53F3Lu/bYNs6eef7/i9ucmw4Ctar9tIecu72/jQ2GqTcv6Hd+YuZ05lbDjbwmfPu7U\nM7ypGfVq+Avw+9OSHllurVgNT04MVenZi8LVjh59Lez7zgB44X14cFy4LPMWHcK636sfg96d4bQD\nkx37hvrxneES07eeCgu+Cl+ldusNz07KXmaAI66Hb+8U3sg0bRIKUzc9Fd7E9uka/h5kMfdmm4Tl\nPuVNXz/9df9+4T+ALGav6zksi5kBfnhw+FT1yBvh0iGhIfrFf4NDdg5vZCG72SEs6du1F/SrNGsk\nq5nPHgTnPxAahR6xa2ioeuU/wxu27wwIx2Qx+4Sp4Tl8QK/wd/zBcTBmErxSboZoFnLX9hpl8IAw\n6/nio+Cqx6BDmzBb6rdPhk/f//fQsvMU2mu6+uR+c3rom/npl2H72A9gwdJQlN1j/RvYrOWe8UXo\nJ7d9j7CEd8LUstt22bSsUJOl3N8ZEJYoP/VO6KvXveP6nlNjwvNd+QJdlnIPHlD90vRWzaHnZuGD\nx1JZyt2Q915Zyl36vHb5d+GiUdC+NezVF/4+IVyR96XhZefJYm6A8R+H57hbTq3+PEnntjiVsH7d\n4C9j4bMvw4ucHXrAfT+u/WoRhejzJXD8rRWnip5wa/g+/ebwH8D8JWH69OLlYX37EbvC1SeEK+QU\nojGTQt5z7626L6uZIVzd4Z6Xw4vZZk3Di7jrT4Qfrb+iV1Zz10cWs9f1HJbFzBBmUTx/GfzsHjjp\nttBr6pg94KZhZcdkNfuXS8OL2quOr7ovq5l/dji0bA5/ehZufz4UKA7oF3pQlV52PIvZmzcNn7CO\n/EdY4ndAPxg3AnbYsuyYLOSu6zXKVp3h4iHhRf91T8CXX8NeW8Ozl4RiRalCe01Xn9x/eAbufTls\nKyL8XYDw5vXOH4afs5Z7wtTwxu6dmfDNkRVvm+Xc/bvBA6/ALx4I/dS6dYB9toHbzwqFulJZy71V\n56q3qW4VU9Zy1/e5O2u5t+ocGnuXlIQPGUf+M2R89NyyDxchm7kh/J/esW0oQlcn6dxFJQ9QUvdh\nkiRJkiRJUu7Zc0qSJEmSJEmJsTglSZIkSZKkxFickiRJkiRJUmIsTkmSJEmSJCkxFqckSZIkSZKU\nGItTkiRJkiRJSozFKUmSJEmSJCXG4pQkSYrboBfgpHVJj6Kw7Xs3fHcuNG2Vv/s48DE46mMoapq/\n+5AkSYlolvQAJEmSNlrl4lLxaljzFSz/DBa+BZ89CnOfAUqquXEJlBRv+H0PmQ4Uw+N9N/wchWyz\nPaH3MHj7fFi3Mn/38+7lcPhb0O9nMOV3+bsfSZLU6CxOSZKkbCgpgUlXAEVhdk2LDtB+x1A46XsW\nLHwDxg2FpVMr3m7cKdCszcbc8UbcNgN2vRrWLIGP/5zf+1n8Lsx9Gna8DD76IxSvyu/9SZKkRmNx\nSpIkZcekq6pua9kZ9vw9bHUCHDQG/rMnrPqybP+K2Y03vqxptw1sPgim3RFmq+Xb9Hug+xHQ+2T4\n5K78358kSWoUFqckSVK2rfoCXjkJWnaFrt+CHS+Ft35Rtn/QC9D1QHioUi+jPqfCNj+EdttCs3aw\nagEseR8+uRM+fSTcZtALYcZWUVHFpYWf3A0Tzgo/b3k09PwedNobWvcI276aEgotH/2h6nj3vSvc\n9+jeoRCz7U/DGNYsgVmj4e1fwtqlVW/XujvscBF0OxzabAnrVoRZYrOfgMlXVz12x0ug2xHQpges\n+Rq+eAUmXQkL36z/n+3W6zPOfLjqvtI/n/eugNn/DjOsOu8bllDOfx7ePC8UBtv2gQHXwOYHQ7NN\n4Ivx8NZ5sPi9quecNTosHex7lsUpSZIyxIbokiQpDpOvCkWkXidV2lESCkzl7Xp1KBK12hxm/g2m\n/BbmjQlFnZ7HhWO+nhEKL2u/gtWL4b0R4ff3roBZj5U717XQcbdQdPno1lCUatYW9rglNBKvrGT9\neHa7AQZcB4snhiLW8lmwzQ/gwH9Uvc1me8B33g2FrBWz4cNbYMb9oe/WziMqHttxNzjiHdjm7FAk\n+/BWmP04dDkADvkvdDus/n+mWwyCknXw5fiaj+m0NxzyMlAMU++ALydAz2Ph4DHQbjs4bEL4c/3k\nHpj9r1BAPOgZaNq66rmKV4fi2WZ7hUKWJEnKBGdOSZKkOCz4LxSvDTOo2mwFyz+t+di+PwzFoH/v\nWHW5WouO4fvyT8NMo63PAEqqX1IIMPY7sGxG1e373gW9TwmFp4VvVNxXVASd9oF/7wQr5pRuXD/L\n66BQjCqd4VTUDPZ/BJp3gHEnw6eVZjG17lbuvE1g/4dDj63nBsKCV8r2vXMpHP4G7PPXMGurZG2N\nfzxAKB51HBBmk9XWCL3bEfDq0FDkK7X3/0HfM+HQcfDBDfD+9WX7drwMdh4ZZkdVN7Ns4evQeT/o\n8k2Y+5/axyhJkgqCM6ckSVIcitfA6vW9plp1qd/x1TU7X72oYfdbXWEKwoyloqLqZyqVlMCkkeUK\nU4SxfHLX+sLV3mWbexwFbXvB7NFVC1MAK+aW/dx9MGyyNXz0+4qFKYCV8+H930CrLcKMqLq06REa\nz5c/f3UWvFyxMAVh9hiEGWflC1MA0+8NGTsOqP58K+atv/+t6h6jJEkqCM6ckiRJESkK3yov46ts\n5gOw7f/C4PdDwefzF2HBq9X3eqpLi46w/YWhf9QmW4clfaVKSkKRpzrV9X5a/lnZOUt13jecZ87T\ndY+l8zfC97a9YafLq+5vt20oDG26fd2zklp0Ct/rKtZVl6O06LZoYjX71jeob7Nl9edbvTCMsWXn\n2u9XkiQVDItTkiQpDk1aQIvNws+rFtR+7JvnwdJpYcne9hfBDheHJYFznoS3fwFff1K/+2y+aVgq\n16YXLHwtzBhatTAsmWvRAfqdB01aVn/b1YurbitdaldUrnl7iw7he32uOthyfUGp53HQs4ZjSkqg\neT36Oa1bEb43bVX7cWuWVN1WvLbmfSXF4XtR8+rPV9qLqvT+JUlSwbM4JUmS4tDlAGjSLCwLK52B\nVJuPfh++WnaCLvtDrxNhqxOg/Q6hF1VdPZkA+v4gzFJ6b0TVnlSd9gnFqY1VWsRqXcMMrArHLgnF\np5eGhELbxlj5efheWvBqLC07hQyrPm/c+5UkSXljzylJkhSHnS4LRY0ZDzTsdqu+hFmj4ZWTYP7z\nsElf6LBT2f6SdRVnMpXXrm+4z8+qucLe5gMbNo6afDE+LHPrfkTdx365/tiuB278/a6cBysXQLt+\nG3+uhti0f/he3ZJASZJUkCxOSZKkbGvZBb75N+j6LVg+E96/tvbjmzQv681UXlGzsj5La5eXbV/1\nZbiPJi2q3ubrGeuLQQMrbu84ICwVrKv3VX3MfiI0Xe8xBHp9v+r+1t3Lfp41Gr6eBtv+FLodXv35\nOu1T81LDyha8FHo/te3T4GFvsE77wqovwlUCJUlSJrisT5IkZUdpk++iJqEXU/sdw5K8ouZhhtG4\nYXU38G7aGg75LyydGpp5L5sZ+iptcUiYtTN7NCz9qOz4+c/BZnvCQf+Bz1+C4lWw6B2Y8+9w5bnt\nfwl73AKbHwxLPw5Nx3scCZ89GpYKbqyStfDy8eH+93sQtvlRyNq0VViC2PUg+Nv6YlPJOnjpWDjo\naRj4b1gwDhZPDMW2Nj2h016h0PTPbnX35YKQoef3whUHp/5547PUpd220HYr+LgR7kuSJDUai1OS\nJKnwlc5AKi1OFa8OV9ZbNhM+uQc++zvMe7a2E5T9uHYZvH0hbH5QmEG15dGwZmmYcfT62fDJXRVv\nOukqaN4eehwFnfcLS/ym3xOKUyvnwbP7w67XQZdvQrdD4asp4Tzznoetvl/xvqsbT7VZK+1f9BY8\nNQB2vBi6HQH9v7F+zFPh3eEVj10yCZ7aFfqfD92PhD6nA8WwYi4sfCscv+qLWv6syvn0Udj9c9j6\n1OqLU9WNdWP2bX162Pfxn+o3PkmSVBCKSh6o7dWPJEmSVIsdLoJdroand4fF7+bvfpo0hyGfwJLJ\n8EINSxIlSVJBsueUJEmSNtyU34WrH+7y6/zez7Y/gVabw1u/yO/9SJKkRmdxSpIkSRuueDW8OgwW\nvhH6XOXLuhUw4awwc0qSJGWKy/okSZIkSZKUGGdOSZIkSZIkKTEWpyRJkiRJkpQYi1OSJEmSJElK\njMUpSZIkSZIkJcbilCRJkiRJkhJjcUqSJEmSJEmJsTglSZIkSZKkxPw/LFD8XUpGe6YAAAAASUVO\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = level_table[\"Distance\"]\n", "y = level_table[\"Reduce Level\"]\n", "\n", "plt.figure(figsize=(20, 7), facecolor='orange')\n", "\n", "plt.plot(x, y, linestyle=\"dashed\", marker=\"o\", color=\"blue\")\n", "\n", "plt.title(\"Profile Drawing\", size=30, color=\"white\")\n", "plt.xlabel(\"Distance (m)\", size=20, color=\"white\")\n", "plt.ylabel(\"Reduce Level (m)\", size=20, color=\"white\")\n", "\n", "plt.xticks([5, 15, 25, 35, 45, 55, 65, 75, 85, 95, 105, 115, 125, 135, 145, 155, 165, 175], size=15)\n", "plt.yticks([10, 10.5, 11], size=15)\n", "\n", "plt.grid()\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That is it! Now you got some analysis to perform on your level observations.\n", "\n", "Author: Umar Yusuf
\n", "http://umar-yusuf.blogspot.com.ng/2016/08/Analyzing-Surveyors-Level-Field-Table-Book-with-Python.html" ] } ], "metadata": { "kernelspec": { "display_name": "Python [Root]", "language": "python", "name": "Python [Root]" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }