{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## TESTS 20190410"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import serial\n",
    "import time\n",
    "import datetime\n",
    "import pandas as pd\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "plt.style.use('seaborn-deep')\n",
    "import numpy as np\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Test Notes\n",
    "\n",
    "### Configuration ###\n",
    "\n",
    "* NAL Power: `External 28VDC`\n",
    "* NAL Serial GND: `Connected to External B-`\n",
    "* CPF Power: `Off`\n",
    "* CPF Electronics: `In housing`\n",
    "\n",
    "\n",
    "\n",
    "### Log ###\n",
    "* `2019-04-10T13:39` Started test, just baselining repeat of tests A and B\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def print_msg(filename, in_msg):\n",
    "    if len(in_msg.decode('utf-8').rstrip()) is 0: \n",
    "        return\n",
    "    now = datetime.datetime.now()\n",
    "    line = f\"MSG {now.strftime('%Y%m%d')} {now.strftime('%H%M%S')} {in_msg.decode('utf-8').rstrip()}\\n\"\n",
    "    with open(filename, 'a') as f:\n",
    "        f.write(line)\n",
    "        print(line.rstrip())\n",
    "        \n",
    "\n",
    "def print_csq(filename, in_msg):\n",
    "    if len(in_msg.decode('utf-8').rstrip()) is 0: \n",
    "        return\n",
    "    now = datetime.datetime.now()\n",
    "    line = f\"CSQ {now.strftime('%Y%m%d')} {now.strftime('%H%M%S')} {in_msg[5:6].decode('utf-8').rstrip()}\\n\"\n",
    "    with open(filename,'a') as f:\n",
    "        f.write(line)\n",
    "        print(line.rstrip())\n",
    "\n",
    "def print_cier(filename, in_msg):\n",
    "    if len(in_msg.decode('utf-8').rstrip()) is 0: \n",
    "        return\n",
    "    now = datetime.datetime.now()\n",
    "    line = f\"CIEV {now.strftime('%Y%m%d')} {now.strftime('%H%M%S')} {in_msg[8:9].decode('utf-8').rstrip()}\\n\"\n",
    "    with open(filename,'a') as f:\n",
    "        f.write(line)\n",
    "        print(line.rstrip())\n",
    "        \n",
    "def serial_exchange(num_tries=10):\n",
    "    MAX_RETRIES = 1\n",
    "    with serial.Serial('COM4', \n",
    "                       baudrate=19200,\n",
    "                       bytesize=serial.EIGHTBITS, \n",
    "                       stopbits=serial.STOPBITS_ONE, \n",
    "                       parity=serial.PARITY_NONE, \n",
    "                       timeout=5) as ser:\n",
    "        \n",
    "        filename = datetime.datetime.now().strftime(\"%Y%m%dT%H%M%S_csqlog.txt\")  \n",
    "        out_message = ser.write(b'ATEN\\r')\n",
    "        in_message = ser.readline()\n",
    "        print_msg(filename, in_message)\n",
    "        in_message = ser.readline()\n",
    "        print_msg(filename, in_message)\n",
    "        \n",
    "        out_message = ser.write(b'AT+CIER=1,1,0\\r')\n",
    "        in_message = ser.readline()\n",
    "        print_msg(filename, in_message)\n",
    "        in_message = ser.readline()\n",
    "        print_msg(filename, in_message)\n",
    "        \n",
    "        #Get a bunch of CSQs\n",
    "        last_len = 0;\n",
    "        req_new_csq = True\n",
    "        df = pd.DataFrame(columns=['date','csq', 'cier'])\n",
    "        \n",
    "        \n",
    "        while True:\n",
    "          \n",
    "            if req_new_csq is True:\n",
    "                ser.write(b'AT+CSQ\\r')\n",
    "                req_new_csq = False\n",
    "                num_tries -= 1\n",
    "          \n",
    "            in_message = ser.readline()\n",
    "            print_msg(filename, in_message)\n",
    "          \n",
    "            if len(in_message) is 0: \n",
    "                last_len+=1\n",
    "            else:\n",
    "                last_len = 0\n",
    "            #figure out if its a CSQ or CIEV:0 message\n",
    "            if len(in_message) >= 4:\n",
    "                if in_message[0:5] == b'+CSQ:':\n",
    "                    print_csq(filename, in_message)\n",
    "                    now = datetime.datetime.now()\n",
    "                    row = {'date':now,'csq':int(in_message[5:6].decode('utf-8'))}\n",
    "                    df = df.append(row, ignore_index=True)\n",
    "                    df.to_csv(filename[:-3]+'csv',index=False)\n",
    "                    req_new_csq = True;\n",
    "                if in_message[0:8] == b'+CIEV:0,':\n",
    "                    print_cier(filename, in_message)\n",
    "                    now = datetime.datetime.now()\n",
    "                    row = {'date':now,'cier':int(in_message[8:9].decode('utf-8'))}\n",
    "                    df = df.append(row, ignore_index=True)\n",
    "                    df.to_csv(filename[:-3]+'csv',index=False)\n",
    "                    \n",
    "                    \n",
    "            if last_len > MAX_RETRIES:\n",
    "                break;\n",
    "            if num_tries < 0: \n",
    "                break;\n",
    "        \n",
    "        return df\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSG 20190410 132814 OK\n",
      "MSG 20190410 132814 OK\n",
      "MSG 20190410 132814 +CIEV:0,5\n",
      "CIEV 20190410 132814 5\n",
      "MSG 20190410 132819 +CSQ:5\n",
      "CSQ 20190410 132819 5\n",
      "MSG 20190410 132819 OK\n",
      "MSG 20190410 132823 +CSQ:4\n",
      "CSQ 20190410 132823 4\n",
      "MSG 20190410 132823 OK\n",
      "MSG 20190410 132823 +CIEV:0,4\n",
      "CIEV 20190410 132823 4\n",
      "MSG 20190410 132830 +CSQ:5\n",
      "CSQ 20190410 132830 5\n",
      "MSG 20190410 132830 OK\n",
      "MSG 20190410 132830 +CIEV:0,5\n",
      "CIEV 20190410 132830 5\n",
      "MSG 20190410 132833 +CSQ:5\n",
      "CSQ 20190410 132833 5\n",
      "MSG 20190410 132833 OK\n",
      "MSG 20190410 132839 +CSQ:5\n",
      "CSQ 20190410 132839 5\n",
      "MSG 20190410 132839 OK\n",
      "MSG 20190410 132841 +CSQ:5\n",
      "CSQ 20190410 132841 5\n",
      "MSG 20190410 132841 OK\n",
      "MSG 20190410 132848 +CSQ:5\n",
      "CSQ 20190410 132848 5\n",
      "MSG 20190410 132848 OK\n",
      "MSG 20190410 132850 +CSQ:5\n",
      "CSQ 20190410 132850 5\n",
      "MSG 20190410 132850 OK\n",
      "MSG 20190410 132856 +CSQ:5\n",
      "CSQ 20190410 132856 5\n",
      "MSG 20190410 132856 OK\n",
      "MSG 20190410 132859 +CSQ:5\n",
      "CSQ 20190410 132859 5\n",
      "MSG 20190410 132859 OK\n",
      "MSG 20190410 132905 +CSQ:4\n",
      "CSQ 20190410 132905 4\n",
      "MSG 20190410 132905 OK\n",
      "MSG 20190410 132905 +CIEV:0,4\n",
      "CIEV 20190410 132905 4\n",
      "MSG 20190410 132907 +CSQ:4\n",
      "CSQ 20190410 132907 4\n",
      "MSG 20190410 132907 OK\n",
      "MSG 20190410 132913 +CSQ:5\n",
      "CSQ 20190410 132913 5\n",
      "MSG 20190410 132913 OK\n",
      "MSG 20190410 132913 +CIEV:0,5\n",
      "CIEV 20190410 132913 5\n",
      "MSG 20190410 132916 +CSQ:5\n",
      "CSQ 20190410 132916 5\n",
      "MSG 20190410 132916 OK\n",
      "MSG 20190410 132922 +CSQ:5\n",
      "CSQ 20190410 132922 5\n",
      "MSG 20190410 132922 OK\n",
      "MSG 20190410 132924 +CSQ:5\n",
      "CSQ 20190410 132924 5\n",
      "MSG 20190410 132924 OK\n",
      "MSG 20190410 132931 +CSQ:5\n",
      "CSQ 20190410 132931 5\n",
      "MSG 20190410 132931 OK\n",
      "MSG 20190410 132940 +CSQ:5\n",
      "CSQ 20190410 132940 5\n",
      "MSG 20190410 132940 OK\n",
      "MSG 20190410 132941 +CSQ:5\n",
      "CSQ 20190410 132941 5\n",
      "MSG 20190410 132941 OK\n",
      "MSG 20190410 132948 +CSQ:5\n",
      "CSQ 20190410 132948 5\n",
      "MSG 20190410 132948 OK\n",
      "MSG 20190410 132951 +CSQ:5\n",
      "CSQ 20190410 132951 5\n",
      "MSG 20190410 132951 OK\n",
      "MSG 20190410 132956 +CSQ:5\n",
      "CSQ 20190410 132956 5\n",
      "MSG 20190410 132956 OK\n",
      "MSG 20190410 132959 +CSQ:5\n",
      "CSQ 20190410 132959 5\n",
      "MSG 20190410 132959 OK\n",
      "MSG 20190410 133005 +CSQ:5\n",
      "CSQ 20190410 133005 5\n",
      "MSG 20190410 133005 OK\n",
      "MSG 20190410 133007 +CSQ:5\n",
      "CSQ 20190410 133007 5\n",
      "MSG 20190410 133007 OK\n",
      "MSG 20190410 133014 +CSQ:5\n",
      "CSQ 20190410 133014 5\n",
      "MSG 20190410 133014 OK\n",
      "MSG 20190410 133016 +CSQ:5\n",
      "CSQ 20190410 133016 5\n",
      "MSG 20190410 133016 OK\n",
      "MSG 20190410 133023 +CSQ:5\n",
      "CSQ 20190410 133023 5\n",
      "MSG 20190410 133023 OK\n",
      "MSG 20190410 133025 +CSQ:5\n",
      "CSQ 20190410 133025 5\n",
      "MSG 20190410 133025 OK\n",
      "MSG 20190410 133031 +CSQ:5\n",
      "CSQ 20190410 133031 5\n",
      "MSG 20190410 133031 OK\n",
      "MSG 20190410 133033 +CSQ:5\n",
      "CSQ 20190410 133033 5\n",
      "MSG 20190410 133033 OK\n",
      "MSG 20190410 133040 +CSQ:5\n",
      "CSQ 20190410 133040 5\n",
      "MSG 20190410 133040 OK\n",
      "MSG 20190410 133042 +CSQ:5\n",
      "CSQ 20190410 133042 5\n",
      "MSG 20190410 133042 OK\n",
      "MSG 20190410 133049 +CSQ:5\n",
      "CSQ 20190410 133049 5\n",
      "MSG 20190410 133049 OK\n",
      "MSG 20190410 133051 +CSQ:5\n",
      "CSQ 20190410 133051 5\n",
      "MSG 20190410 133051 OK\n",
      "MSG 20190410 133057 +CSQ:5\n",
      "CSQ 20190410 133057 5\n",
      "MSG 20190410 133057 OK\n",
      "MSG 20190410 133059 +CSQ:5\n",
      "CSQ 20190410 133059 5\n",
      "MSG 20190410 133059 OK\n",
      "MSG 20190410 133106 +CSQ:5\n",
      "CSQ 20190410 133106 5\n",
      "MSG 20190410 133106 OK\n",
      "MSG 20190410 133108 +CSQ:5\n",
      "CSQ 20190410 133108 5\n",
      "MSG 20190410 133108 OK\n",
      "MSG 20190410 133114 +CSQ:5\n",
      "CSQ 20190410 133114 5\n",
      "MSG 20190410 133114 OK\n",
      "MSG 20190410 133117 +CSQ:5\n",
      "CSQ 20190410 133117 5\n",
      "MSG 20190410 133117 OK\n",
      "MSG 20190410 133123 +CSQ:5\n",
      "CSQ 20190410 133123 5\n",
      "MSG 20190410 133123 OK\n",
      "MSG 20190410 133125 +CSQ:5\n",
      "CSQ 20190410 133125 5\n",
      "MSG 20190410 133125 OK\n",
      "MSG 20190410 133132 +CSQ:5\n",
      "CSQ 20190410 133132 5\n",
      "MSG 20190410 133132 OK\n",
      "MSG 20190410 133134 +CSQ:5\n",
      "CSQ 20190410 133134 5\n",
      "MSG 20190410 133134 OK\n",
      "MSG 20190410 133140 +CSQ:5\n",
      "CSQ 20190410 133140 5\n",
      "MSG 20190410 133140 OK\n",
      "MSG 20190410 133142 +CSQ:5\n",
      "CSQ 20190410 133142 5\n",
      "MSG 20190410 133143 OK\n",
      "MSG 20190410 133149 +CSQ:5\n",
      "CSQ 20190410 133149 5\n",
      "MSG 20190410 133149 OK\n",
      "MSG 20190410 133151 +CSQ:5\n",
      "CSQ 20190410 133151 5\n",
      "MSG 20190410 133151 OK\n",
      "MSG 20190410 133157 +CSQ:5\n",
      "CSQ 20190410 133157 5\n",
      "MSG 20190410 133157 OK\n",
      "MSG 20190410 133159 +CSQ:5\n",
      "CSQ 20190410 133159 5\n",
      "MSG 20190410 133159 OK\n",
      "MSG 20190410 133206 +CSQ:5\n",
      "CSQ 20190410 133206 5\n",
      "MSG 20190410 133206 OK\n",
      "MSG 20190410 133208 +CSQ:5\n",
      "CSQ 20190410 133208 5\n",
      "MSG 20190410 133208 OK\n",
      "MSG 20190410 133215 +CSQ:5\n",
      "CSQ 20190410 133215 5\n",
      "MSG 20190410 133215 OK\n",
      "MSG 20190410 133217 +CSQ:5\n",
      "CSQ 20190410 133217 5\n",
      "MSG 20190410 133217 OK\n",
      "MSG 20190410 133223 +CSQ:5\n",
      "CSQ 20190410 133223 5\n",
      "MSG 20190410 133223 OK\n",
      "MSG 20190410 133226 +CSQ:5\n",
      "CSQ 20190410 133226 5\n",
      "MSG 20190410 133226 OK\n",
      "MSG 20190410 133232 +CSQ:5\n",
      "CSQ 20190410 133232 5\n",
      "MSG 20190410 133232 OK\n",
      "MSG 20190410 133235 +CSQ:5\n",
      "CSQ 20190410 133235 5\n",
      "MSG 20190410 133235 OK\n",
      "MSG 20190410 133240 +CSQ:5\n",
      "CSQ 20190410 133240 5\n",
      "MSG 20190410 133240 OK\n",
      "MSG 20190410 133243 +CSQ:5\n",
      "CSQ 20190410 133243 5\n",
      "MSG 20190410 133243 OK\n",
      "MSG 20190410 133249 +CSQ:5\n",
      "CSQ 20190410 133249 5\n",
      "MSG 20190410 133249 OK\n",
      "MSG 20190410 133252 +CSQ:5\n",
      "CSQ 20190410 133252 5\n",
      "MSG 20190410 133252 OK\n",
      "MSG 20190410 133301 +CSQ:5\n",
      "CSQ 20190410 133301 5\n",
      "MSG 20190410 133301 OK\n",
      "MSG 20190410 133309 +CSQ:5\n",
      "CSQ 20190410 133309 5\n",
      "MSG 20190410 133309 OK\n",
      "MSG 20190410 133318 +CSQ:5\n",
      "CSQ 20190410 133318 5\n",
      "MSG 20190410 133318 OK\n",
      "MSG 20190410 133318 +CSQ:5\n",
      "CSQ 20190410 133318 5\n",
      "MSG 20190410 133318 OK\n",
      "MSG 20190410 133327 +CSQ:5\n",
      "CSQ 20190410 133327 5\n",
      "MSG 20190410 133327 OK\n",
      "MSG 20190410 133335 +CSQ:5\n",
      "CSQ 20190410 133335 5\n",
      "MSG 20190410 133335 OK\n",
      "MSG 20190410 133344 +CSQ:5\n",
      "CSQ 20190410 133344 5\n",
      "MSG 20190410 133344 OK\n",
      "MSG 20190410 133349 +CSQ:5\n",
      "CSQ 20190410 133349 5\n",
      "MSG 20190410 133349 OK\n",
      "MSG 20190410 133352 +CSQ:5\n",
      "CSQ 20190410 133352 5\n",
      "MSG 20190410 133352 OK\n",
      "MSG 20190410 133358 +CSQ:5\n",
      "CSQ 20190410 133358 5\n",
      "MSG 20190410 133358 OK\n",
      "MSG 20190410 133402 +CSQ:5\n",
      "CSQ 20190410 133402 5\n",
      "MSG 20190410 133402 OK\n",
      "MSG 20190410 133406 +CSQ:4\n",
      "CSQ 20190410 133406 4\n",
      "MSG 20190410 133406 OK\n",
      "MSG 20190410 133406 +CIEV:0,4\n",
      "CIEV 20190410 133406 4\n",
      "MSG 20190410 133410 +CSQ:4\n",
      "CSQ 20190410 133410 4\n",
      "MSG 20190410 133410 OK\n",
      "MSG 20190410 133417 +CSQ:5\n",
      "CSQ 20190410 133417 5\n",
      "MSG 20190410 133417 OK\n",
      "MSG 20190410 133417 +CIEV:0,5\n",
      "CIEV 20190410 133417 5\n",
      "MSG 20190410 133419 +CSQ:5\n",
      "CSQ 20190410 133419 5\n",
      "MSG 20190410 133419 OK\n",
      "MSG 20190410 133424 +CSQ:4\n",
      "CSQ 20190410 133424 4\n",
      "MSG 20190410 133424 OK\n",
      "MSG 20190410 133424 +CIEV:0,4\n",
      "CIEV 20190410 133424 4\n",
      "MSG 20190410 133425 +CSQ:5\n",
      "CSQ 20190410 133425 5\n",
      "MSG 20190410 133425 OK\n",
      "MSG 20190410 133425 +CIEV:0,5\n",
      "CIEV 20190410 133425 5\n",
      "MSG 20190410 133433 +CSQ:4\n",
      "CSQ 20190410 133433 4\n",
      "MSG 20190410 133433 OK\n",
      "MSG 20190410 133433 +CIEV:0,4\n",
      "CIEV 20190410 133433 4\n",
      "MSG 20190410 133436 +CSQ:4\n",
      "CSQ 20190410 133436 4\n",
      "MSG 20190410 133436 OK\n",
      "MSG 20190410 133441 +CSQ:5\n",
      "CSQ 20190410 133441 5\n",
      "MSG 20190410 133441 OK\n",
      "MSG 20190410 133441 +CIEV:0,5\n",
      "CIEV 20190410 133441 5\n",
      "MSG 20190410 133445 +CSQ:5\n",
      "CSQ 20190410 133445 5\n",
      "MSG 20190410 133445 OK\n",
      "MSG 20190410 133450 +CSQ:5\n",
      "CSQ 20190410 133450 5\n",
      "MSG 20190410 133450 OK\n",
      "MSG 20190410 133453 +CSQ:5\n",
      "CSQ 20190410 133453 5\n",
      "MSG 20190410 133453 OK\n",
      "MSG 20190410 133459 +CSQ:5\n",
      "CSQ 20190410 133459 5\n",
      "MSG 20190410 133459 OK\n",
      "MSG 20190410 133502 +CSQ:5\n",
      "CSQ 20190410 133502 5\n",
      "MSG 20190410 133502 OK\n",
      "MSG 20190410 133507 +CSQ:5\n",
      "CSQ 20190410 133507 5\n",
      "MSG 20190410 133507 OK\n",
      "MSG 20190410 133511 +CSQ:5\n",
      "CSQ 20190410 133511 5\n",
      "MSG 20190410 133511 OK\n",
      "MSG 20190410 133516 +CSQ:5\n",
      "CSQ 20190410 133516 5\n",
      "MSG 20190410 133516 OK\n",
      "MSG 20190410 133519 +CSQ:5\n",
      "CSQ 20190410 133519 5\n",
      "MSG 20190410 133519 OK\n",
      "MSG 20190410 133524 +CSQ:4\n",
      "CSQ 20190410 133524 4\n",
      "MSG 20190410 133524 OK\n",
      "MSG 20190410 133524 +CIEV:0,4\n",
      "CIEV 20190410 133524 4\n",
      "MSG 20190410 133528 +CSQ:4\n",
      "CSQ 20190410 133528 4\n",
      "MSG 20190410 133528 OK\n",
      "MSG 20190410 133533 +CSQ:5\n",
      "CSQ 20190410 133533 5\n",
      "MSG 20190410 133533 OK\n",
      "MSG 20190410 133533 +CIEV:0,5\n",
      "CIEV 20190410 133533 5\n",
      "MSG 20190410 133537 +CSQ:5\n",
      "CSQ 20190410 133537 5\n",
      "MSG 20190410 133537 OK\n",
      "MSG 20190410 133542 +CSQ:4\n",
      "CSQ 20190410 133542 4\n",
      "MSG 20190410 133542 OK\n",
      "MSG 20190410 133542 +CIEV:0,4\n",
      "CIEV 20190410 133542 4\n",
      "MSG 20190410 133545 +CSQ:5\n",
      "CSQ 20190410 133545 5\n",
      "MSG 20190410 133545 OK\n",
      "MSG 20190410 133545 +CIEV:0,5\n",
      "CIEV 20190410 133545 5\n",
      "MSG 20190410 133551 +CSQ:5\n",
      "CSQ 20190410 133551 5\n",
      "MSG 20190410 133551 OK\n",
      "MSG 20190410 133554 +CSQ:5\n",
      "CSQ 20190410 133554 5\n",
      "MSG 20190410 133554 OK\n",
      "MSG 20190410 133600 +CSQ:5\n",
      "CSQ 20190410 133600 5\n",
      "MSG 20190410 133600 OK\n",
      "MSG 20190410 133603 +CSQ:5\n",
      "CSQ 20190410 133603 5\n",
      "MSG 20190410 133603 OK\n",
      "MSG 20190410 133609 +CSQ:5\n",
      "CSQ 20190410 133609 5\n",
      "MSG 20190410 133609 OK\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSG 20190410 133611 +CSQ:5\n",
      "CSQ 20190410 133611 5\n",
      "MSG 20190410 133611 OK\n",
      "MSG 20190410 133617 +CSQ:5\n",
      "CSQ 20190410 133617 5\n",
      "MSG 20190410 133617 OK\n",
      "MSG 20190410 133620 +CSQ:5\n",
      "CSQ 20190410 133620 5\n",
      "MSG 20190410 133620 OK\n",
      "MSG 20190410 133624 +CSQ:5\n",
      "CSQ 20190410 133624 5\n",
      "MSG 20190410 133624 OK\n",
      "MSG 20190410 133628 +CSQ:5\n",
      "CSQ 20190410 133628 5\n",
      "MSG 20190410 133628 OK\n",
      "MSG 20190410 133633 +CSQ:5\n",
      "CSQ 20190410 133633 5\n",
      "MSG 20190410 133633 OK\n",
      "MSG 20190410 133636 +CSQ:5\n",
      "CSQ 20190410 133636 5\n",
      "MSG 20190410 133636 OK\n",
      "MSG 20190410 133642 +CSQ:5\n",
      "CSQ 20190410 133642 5\n",
      "MSG 20190410 133642 OK\n",
      "MSG 20190410 133645 +CSQ:5\n",
      "CSQ 20190410 133645 5\n",
      "MSG 20190410 133645 OK\n",
      "MSG 20190410 133650 +CSQ:5\n",
      "CSQ 20190410 133650 5\n",
      "MSG 20190410 133650 OK\n",
      "MSG 20190410 133654 +CSQ:5\n",
      "CSQ 20190410 133654 5\n",
      "MSG 20190410 133654 OK\n",
      "MSG 20190410 133659 +CSQ:5\n",
      "CSQ 20190410 133659 5\n",
      "MSG 20190410 133659 OK\n",
      "MSG 20190410 133703 +CSQ:5\n",
      "CSQ 20190410 133703 5\n",
      "MSG 20190410 133703 OK\n",
      "MSG 20190410 133710 +CSQ:5\n",
      "CSQ 20190410 133710 5\n",
      "MSG 20190410 133710 OK\n",
      "MSG 20190410 133711 +CSQ:5\n",
      "CSQ 20190410 133711 5\n",
      "MSG 20190410 133711 OK\n",
      "MSG 20190410 133719 +CSQ:5\n",
      "CSQ 20190410 133719 5\n",
      "MSG 20190410 133719 OK\n",
      "MSG 20190410 133720 +CSQ:5\n",
      "CSQ 20190410 133720 5\n",
      "MSG 20190410 133720 OK\n",
      "MSG 20190410 133728 +CSQ:2\n",
      "CSQ 20190410 133728 2\n",
      "MSG 20190410 133728 OK\n",
      "MSG 20190410 133728 +CIEV:0,2\n",
      "CIEV 20190410 133728 2\n",
      "MSG 20190410 133730 +CSQ:5\n",
      "CSQ 20190410 133730 5\n",
      "MSG 20190410 133730 OK\n",
      "MSG 20190410 133730 +CIEV:0,5\n",
      "CIEV 20190410 133730 5\n",
      "MSG 20190410 133737 +CSQ:4\n",
      "CSQ 20190410 133737 4\n",
      "MSG 20190410 133737 OK\n",
      "MSG 20190410 133737 +CIEV:0,4\n",
      "CIEV 20190410 133737 4\n",
      "MSG 20190410 133739 +CSQ:4\n",
      "CSQ 20190410 133739 4\n",
      "MSG 20190410 133739 OK\n",
      "MSG 20190410 133746 +CSQ:5\n",
      "CSQ 20190410 133746 5\n",
      "MSG 20190410 133746 OK\n",
      "MSG 20190410 133746 +CIEV:0,5\n",
      "CIEV 20190410 133746 5\n",
      "MSG 20190410 133754 +CSQ:5\n",
      "CSQ 20190410 133754 5\n",
      "MSG 20190410 133754 OK\n",
      "MSG 20190410 133801 +CSQ:5\n",
      "CSQ 20190410 133801 5\n",
      "MSG 20190410 133801 OK\n",
      "MSG 20190410 133803 +CSQ:5\n",
      "CSQ 20190410 133803 5\n",
      "MSG 20190410 133803 OK\n",
      "MSG 20190410 133809 +CSQ:5\n",
      "CSQ 20190410 133809 5\n",
      "MSG 20190410 133809 OK\n",
      "MSG 20190410 133812 +CSQ:5\n",
      "CSQ 20190410 133812 5\n",
      "MSG 20190410 133812 OK\n",
      "MSG 20190410 133818 +CSQ:5\n",
      "CSQ 20190410 133818 5\n",
      "MSG 20190410 133818 OK\n",
      "MSG 20190410 133820 +CSQ:5\n",
      "CSQ 20190410 133820 5\n",
      "MSG 20190410 133820 OK\n",
      "MSG 20190410 133826 +CSQ:5\n",
      "CSQ 20190410 133826 5\n",
      "MSG 20190410 133826 OK\n",
      "MSG 20190410 133829 +CSQ:5\n",
      "CSQ 20190410 133829 5\n",
      "MSG 20190410 133829 OK\n",
      "MSG 20190410 133835 +CSQ:5\n",
      "CSQ 20190410 133835 5\n",
      "MSG 20190410 133835 OK\n",
      "MSG 20190410 133837 +CSQ:5\n",
      "CSQ 20190410 133837 5\n",
      "MSG 20190410 133837 OK\n",
      "MSG 20190410 133843 +CSQ:5\n",
      "CSQ 20190410 133843 5\n",
      "MSG 20190410 133843 OK\n",
      "MSG 20190410 133845 +CSQ:5\n",
      "CSQ 20190410 133845 5\n",
      "MSG 20190410 133845 OK\n",
      "MSG 20190410 133852 +CSQ:5\n",
      "CSQ 20190410 133852 5\n",
      "MSG 20190410 133852 OK\n",
      "MSG 20190410 133855 +CSQ:5\n",
      "CSQ 20190410 133855 5\n",
      "MSG 20190410 133855 OK\n",
      "MSG 20190410 133901 +CSQ:4\n",
      "CSQ 20190410 133901 4\n",
      "MSG 20190410 133901 OK\n",
      "MSG 20190410 133901 +CIEV:0,4\n",
      "CIEV 20190410 133901 4\n",
      "MSG 20190410 133904 +CSQ:4\n",
      "CSQ 20190410 133904 4\n",
      "MSG 20190410 133904 OK\n",
      "MSG 20190410 133909 +CSQ:5\n",
      "CSQ 20190410 133909 5\n",
      "MSG 20190410 133909 OK\n",
      "MSG 20190410 133909 +CIEV:0,5\n",
      "CIEV 20190410 133909 5\n",
      "MSG 20190410 133912 +CSQ:5\n",
      "CSQ 20190410 133912 5\n",
      "MSG 20190410 133912 OK\n",
      "MSG 20190410 133918 +CSQ:5\n",
      "CSQ 20190410 133918 5\n",
      "MSG 20190410 133918 OK\n",
      "MSG 20190410 133919 +CSQ:5\n",
      "CSQ 20190410 133919 5\n",
      "MSG 20190410 133919 OK\n",
      "MSG 20190410 133927 +CSQ:5\n",
      "CSQ 20190410 133927 5\n",
      "MSG 20190410 133927 OK\n",
      "MSG 20190410 133929 +CSQ:5\n",
      "CSQ 20190410 133929 5\n",
      "MSG 20190410 133929 OK\n",
      "MSG 20190410 133936 +CSQ:5\n",
      "CSQ 20190410 133936 5\n",
      "MSG 20190410 133936 OK\n",
      "MSG 20190410 133938 +CSQ:5\n",
      "CSQ 20190410 133938 5\n",
      "MSG 20190410 133938 OK\n",
      "MSG 20190410 133944 +CSQ:5\n",
      "CSQ 20190410 133944 5\n",
      "MSG 20190410 133944 OK\n",
      "MSG 20190410 133947 +CSQ:5\n",
      "CSQ 20190410 133947 5\n",
      "MSG 20190410 133947 OK\n",
      "MSG 20190410 133953 +CSQ:5\n",
      "CSQ 20190410 133953 5\n",
      "MSG 20190410 133953 OK\n",
      "MSG 20190410 133955 +CSQ:5\n",
      "CSQ 20190410 133955 5\n",
      "MSG 20190410 133955 OK\n",
      "MSG 20190410 134002 +CSQ:5\n",
      "CSQ 20190410 134002 5\n",
      "MSG 20190410 134002 OK\n",
      "MSG 20190410 134004 +CSQ:5\n",
      "CSQ 20190410 134004 5\n",
      "MSG 20190410 134004 OK\n",
      "MSG 20190410 134010 +CSQ:5\n",
      "CSQ 20190410 134010 5\n",
      "MSG 20190410 134010 OK\n",
      "MSG 20190410 134012 +CSQ:5\n",
      "CSQ 20190410 134012 5\n",
      "MSG 20190410 134012 OK\n",
      "MSG 20190410 134019 +CSQ:5\n",
      "CSQ 20190410 134019 5\n",
      "MSG 20190410 134019 OK\n",
      "MSG 20190410 134020 +CSQ:5\n",
      "CSQ 20190410 134020 5\n",
      "MSG 20190410 134020 OK\n",
      "MSG 20190410 134027 +CSQ:5\n",
      "CSQ 20190410 134027 5\n",
      "MSG 20190410 134027 OK\n",
      "MSG 20190410 134029 +CSQ:5\n",
      "CSQ 20190410 134029 5\n",
      "MSG 20190410 134029 OK\n",
      "MSG 20190410 134036 +CSQ:5\n",
      "CSQ 20190410 134036 5\n",
      "MSG 20190410 134036 OK\n",
      "MSG 20190410 134038 +CSQ:5\n",
      "CSQ 20190410 134038 5\n",
      "MSG 20190410 134038 OK\n",
      "MSG 20190410 134044 +CSQ:4\n",
      "CSQ 20190410 134044 4\n",
      "MSG 20190410 134045 OK\n",
      "MSG 20190410 134045 +CIEV:0,4\n",
      "CIEV 20190410 134045 4\n",
      "MSG 20190410 134047 +CSQ:4\n",
      "CSQ 20190410 134047 4\n",
      "MSG 20190410 134047 OK\n",
      "MSG 20190410 134053 +CSQ:4\n",
      "CSQ 20190410 134053 4\n",
      "MSG 20190410 134053 OK\n",
      "MSG 20190410 134056 +CSQ:5\n",
      "CSQ 20190410 134056 5\n",
      "MSG 20190410 134056 OK\n",
      "MSG 20190410 134056 +CIEV:0,5\n",
      "CIEV 20190410 134056 5\n",
      "MSG 20190410 134103 +CSQ:5\n",
      "CSQ 20190410 134103 5\n",
      "MSG 20190410 134104 OK\n",
      "MSG 20190410 134104 +CSQ:5\n",
      "CSQ 20190410 134104 5\n",
      "MSG 20190410 134104 OK\n",
      "MSG 20190410 134112 +CSQ:5\n",
      "CSQ 20190410 134112 5\n",
      "MSG 20190410 134112 OK\n",
      "MSG 20190410 134113 +CSQ:5\n",
      "CSQ 20190410 134113 5\n",
      "MSG 20190410 134113 OK\n",
      "MSG 20190410 134121 +CSQ:5\n",
      "CSQ 20190410 134121 5\n",
      "MSG 20190410 134121 OK\n",
      "MSG 20190410 134122 +CSQ:5\n",
      "CSQ 20190410 134122 5\n",
      "MSG 20190410 134122 OK\n",
      "MSG 20190410 134129 +CSQ:5\n",
      "CSQ 20190410 134129 5\n",
      "MSG 20190410 134129 OK\n",
      "MSG 20190410 134130 +CSQ:5\n",
      "CSQ 20190410 134130 5\n",
      "MSG 20190410 134130 OK\n",
      "MSG 20190410 134138 +CSQ:5\n",
      "CSQ 20190410 134138 5\n",
      "MSG 20190410 134138 OK\n",
      "MSG 20190410 134139 +CSQ:5\n",
      "CSQ 20190410 134139 5\n",
      "MSG 20190410 134139 OK\n",
      "MSG 20190410 134148 +CSQ:5\n",
      "CSQ 20190410 134148 5\n",
      "MSG 20190410 134148 OK\n",
      "MSG 20190410 134148 +CSQ:5\n",
      "CSQ 20190410 134148 5\n",
      "MSG 20190410 134148 OK\n",
      "MSG 20190410 134156 +CSQ:5\n",
      "CSQ 20190410 134156 5\n",
      "MSG 20190410 134156 OK\n",
      "MSG 20190410 134205 +CSQ:5\n",
      "CSQ 20190410 134205 5\n",
      "MSG 20190410 134205 OK\n",
      "MSG 20190410 134205 +CSQ:5\n",
      "CSQ 20190410 134205 5\n",
      "MSG 20190410 134205 OK\n",
      "MSG 20190410 134214 +CSQ:5\n",
      "CSQ 20190410 134214 5\n",
      "MSG 20190410 134214 OK\n",
      "MSG 20190410 134222 +CSQ:5\n",
      "CSQ 20190410 134222 5\n",
      "MSG 20190410 134222 OK\n",
      "MSG 20190410 134231 +CSQ:5\n",
      "CSQ 20190410 134231 5\n",
      "MSG 20190410 134231 OK\n",
      "MSG 20190410 134240 +CSQ:5\n",
      "CSQ 20190410 134240 5\n",
      "MSG 20190410 134240 OK\n",
      "MSG 20190410 134245 +CSQ:5\n",
      "CSQ 20190410 134245 5\n",
      "MSG 20190410 134245 OK\n",
      "MSG 20190410 134248 +CSQ:5\n",
      "CSQ 20190410 134248 5\n",
      "MSG 20190410 134248 OK\n",
      "MSG 20190410 134253 +CSQ:5\n",
      "CSQ 20190410 134253 5\n",
      "MSG 20190410 134253 OK\n",
      "MSG 20190410 134255 +CSQ:5\n",
      "CSQ 20190410 134255 5\n",
      "MSG 20190410 134255 OK\n",
      "MSG 20190410 134302 +CSQ:5\n",
      "CSQ 20190410 134302 5\n",
      "MSG 20190410 134302 OK\n",
      "MSG 20190410 134306 +CSQ:5\n",
      "CSQ 20190410 134306 5\n",
      "MSG 20190410 134306 OK\n",
      "MSG 20190410 134311 +CSQ:4\n",
      "CSQ 20190410 134311 4\n",
      "MSG 20190410 134311 OK\n",
      "MSG 20190410 134311 +CIEV:0,4\n",
      "CIEV 20190410 134311 4\n",
      "MSG 20190410 134315 +CSQ:4\n",
      "CSQ 20190410 134315 4\n",
      "MSG 20190410 134315 OK\n",
      "MSG 20190410 134321 +CSQ:5\n",
      "CSQ 20190410 134321 5\n",
      "MSG 20190410 134321 OK\n",
      "MSG 20190410 134321 +CIEV:0,5\n",
      "CIEV 20190410 134321 5\n",
      "MSG 20190410 134330 +CSQ:5\n",
      "CSQ 20190410 134330 5\n",
      "MSG 20190410 134330 OK\n",
      "MSG 20190410 134338 +CSQ:5\n",
      "CSQ 20190410 134338 5\n",
      "MSG 20190410 134338 OK\n",
      "MSG 20190410 134340 +CSQ:5\n",
      "CSQ 20190410 134340 5\n",
      "MSG 20190410 134340 OK\n",
      "MSG 20190410 134347 +CSQ:5\n",
      "CSQ 20190410 134347 5\n",
      "MSG 20190410 134347 OK\n",
      "MSG 20190410 134349 +CSQ:5\n",
      "CSQ 20190410 134349 5\n",
      "MSG 20190410 134349 OK\n",
      "MSG 20190410 134356 +CSQ:5\n",
      "CSQ 20190410 134356 5\n",
      "MSG 20190410 134356 OK\n",
      "MSG 20190410 134358 +CSQ:5\n",
      "CSQ 20190410 134358 5\n",
      "MSG 20190410 134358 OK\n",
      "MSG 20190410 134404 +CSQ:5\n",
      "CSQ 20190410 134404 5\n",
      "MSG 20190410 134404 OK\n",
      "MSG 20190410 134406 +CSQ:5\n",
      "CSQ 20190410 134406 5\n",
      "MSG 20190410 134406 OK\n",
      "MSG 20190410 134415 +CSQ:5\n",
      "CSQ 20190410 134415 5\n",
      "MSG 20190410 134415 OK\n",
      "MSG 20190410 134424 +CSQ:5\n",
      "CSQ 20190410 134424 5\n",
      "MSG 20190410 134424 OK\n",
      "MSG 20190410 134432 +CSQ:5\n",
      "CSQ 20190410 134432 5\n",
      "MSG 20190410 134432 OK\n",
      "MSG 20190410 134441 +CSQ:5\n",
      "CSQ 20190410 134441 5\n",
      "MSG 20190410 134441 OK\n",
      "MSG 20190410 134450 +CSQ:5\n",
      "CSQ 20190410 134450 5\n",
      "MSG 20190410 134450 OK\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSG 20190410 134456 +CSQ:5\n",
      "CSQ 20190410 134456 5\n",
      "MSG 20190410 134456 OK\n",
      "MSG 20190410 134458 +CSQ:5\n",
      "CSQ 20190410 134458 5\n",
      "MSG 20190410 134458 OK\n",
      "MSG 20190410 134504 +CSQ:5\n",
      "CSQ 20190410 134504 5\n",
      "MSG 20190410 134504 OK\n",
      "MSG 20190410 134507 +CSQ:5\n",
      "CSQ 20190410 134507 5\n",
      "MSG 20190410 134507 OK\n",
      "MSG 20190410 134513 +CSQ:5\n",
      "CSQ 20190410 134513 5\n",
      "MSG 20190410 134513 OK\n",
      "MSG 20190410 134515 +CSQ:5\n",
      "CSQ 20190410 134515 5\n",
      "MSG 20190410 134515 OK\n",
      "MSG 20190410 134522 +CSQ:5\n",
      "CSQ 20190410 134522 5\n",
      "MSG 20190410 134522 OK\n",
      "MSG 20190410 134524 +CSQ:5\n",
      "CSQ 20190410 134524 5\n",
      "MSG 20190410 134524 OK\n",
      "MSG 20190410 134530 +CSQ:5\n",
      "CSQ 20190410 134530 5\n",
      "MSG 20190410 134530 OK\n",
      "MSG 20190410 134533 +CSQ:5\n",
      "CSQ 20190410 134533 5\n",
      "MSG 20190410 134533 OK\n",
      "MSG 20190410 134539 +CSQ:5\n",
      "CSQ 20190410 134539 5\n",
      "MSG 20190410 134539 OK\n",
      "MSG 20190410 134541 +CSQ:5\n",
      "CSQ 20190410 134541 5\n",
      "MSG 20190410 134541 OK\n",
      "MSG 20190410 134546 +CSQ:5\n",
      "CSQ 20190410 134546 5\n",
      "MSG 20190410 134546 OK\n",
      "MSG 20190410 134550 +CSQ:5\n",
      "CSQ 20190410 134550 5\n",
      "MSG 20190410 134550 OK\n",
      "MSG 20190410 134555 +CSQ:5\n",
      "CSQ 20190410 134555 5\n",
      "MSG 20190410 134555 OK\n",
      "MSG 20190410 134559 +CSQ:5\n",
      "CSQ 20190410 134559 5\n",
      "MSG 20190410 134559 OK\n",
      "MSG 20190410 134603 +CSQ:5\n",
      "CSQ 20190410 134603 5\n",
      "MSG 20190410 134603 OK\n",
      "MSG 20190410 134607 +CSQ:5\n",
      "CSQ 20190410 134607 5\n",
      "MSG 20190410 134607 OK\n",
      "MSG 20190410 134612 +CSQ:5\n",
      "CSQ 20190410 134612 5\n",
      "MSG 20190410 134612 OK\n",
      "MSG 20190410 134616 +CSQ:5\n",
      "CSQ 20190410 134616 5\n",
      "MSG 20190410 134616 OK\n",
      "MSG 20190410 134621 +CSQ:5\n",
      "CSQ 20190410 134621 5\n",
      "MSG 20190410 134621 OK\n",
      "MSG 20190410 134624 +CSQ:5\n",
      "CSQ 20190410 134624 5\n",
      "MSG 20190410 134624 OK\n",
      "MSG 20190410 134629 +CSQ:5\n",
      "CSQ 20190410 134629 5\n",
      "MSG 20190410 134629 OK\n",
      "MSG 20190410 134633 +CSQ:5\n",
      "CSQ 20190410 134633 5\n",
      "MSG 20190410 134633 OK\n",
      "MSG 20190410 134638 +CSQ:2\n",
      "CSQ 20190410 134638 2\n",
      "MSG 20190410 134638 OK\n",
      "MSG 20190410 134638 +CIEV:0,2\n",
      "CIEV 20190410 134638 2\n",
      "MSG 20190410 134642 +CSQ:3\n",
      "CSQ 20190410 134642 3\n",
      "MSG 20190410 134642 OK\n",
      "MSG 20190410 134642 +CIEV:0,3\n",
      "CIEV 20190410 134642 3\n",
      "MSG 20190410 134650 +CSQ:4\n",
      "CSQ 20190410 134650 4\n",
      "MSG 20190410 134650 OK\n",
      "MSG 20190410 134650 +CIEV:0,4\n",
      "CIEV 20190410 134650 4\n",
      "MSG 20190410 134659 +CSQ:3\n",
      "CSQ 20190410 134659 3\n",
      "MSG 20190410 134659 OK\n",
      "MSG 20190410 134659 +CIEV:0,3\n",
      "CIEV 20190410 134659 3\n",
      "MSG 20190410 134707 +CSQ:5\n",
      "CSQ 20190410 134707 5\n",
      "MSG 20190410 134707 OK\n",
      "MSG 20190410 134707 +CIEV:0,5\n",
      "CIEV 20190410 134707 5\n",
      "MSG 20190410 134716 +CSQ:5\n",
      "CSQ 20190410 134716 5\n",
      "MSG 20190410 134716 OK\n",
      "MSG 20190410 134725 +CSQ:5\n",
      "CSQ 20190410 134725 5\n",
      "MSG 20190410 134725 OK\n",
      "MSG 20190410 134730 +CSQ:3\n",
      "CSQ 20190410 134730 3\n",
      "MSG 20190410 134730 OK\n",
      "MSG 20190410 134730 +CIEV:0,3\n",
      "CIEV 20190410 134730 3\n",
      "MSG 20190410 134733 +CSQ:5\n",
      "CSQ 20190410 134733 5\n",
      "MSG 20190410 134733 OK\n",
      "MSG 20190410 134733 +CIEV:0,5\n",
      "CIEV 20190410 134733 5\n",
      "MSG 20190410 134739 +CSQ:5\n",
      "CSQ 20190410 134739 5\n",
      "MSG 20190410 134739 OK\n",
      "MSG 20190410 134742 +CSQ:5\n",
      "CSQ 20190410 134742 5\n",
      "MSG 20190410 134742 OK\n",
      "MSG 20190410 134748 +CSQ:5\n",
      "CSQ 20190410 134748 5\n",
      "MSG 20190410 134748 OK\n",
      "MSG 20190410 134749 +CSQ:5\n",
      "CSQ 20190410 134749 5\n",
      "MSG 20190410 134749 OK\n",
      "MSG 20190410 134756 +CSQ:5\n",
      "CSQ 20190410 134756 5\n",
      "MSG 20190410 134756 OK\n",
      "MSG 20190410 134758 +CSQ:5\n",
      "CSQ 20190410 134758 5\n",
      "MSG 20190410 134758 OK\n",
      "MSG 20190410 134805 +CSQ:5\n",
      "CSQ 20190410 134805 5\n",
      "MSG 20190410 134805 OK\n",
      "MSG 20190410 134808 +CSQ:5\n",
      "CSQ 20190410 134808 5\n",
      "MSG 20190410 134808 OK\n",
      "MSG 20190410 134814 +CSQ:4\n",
      "CSQ 20190410 134814 4\n",
      "MSG 20190410 134814 OK\n",
      "MSG 20190410 134814 +CIEV:0,4\n",
      "CIEV 20190410 134814 4\n",
      "MSG 20190410 134817 +CSQ:4\n",
      "CSQ 20190410 134817 4\n",
      "MSG 20190410 134817 OK\n",
      "MSG 20190410 134822 +CSQ:5\n",
      "CSQ 20190410 134822 5\n",
      "MSG 20190410 134822 OK\n",
      "MSG 20190410 134822 +CIEV:0,5\n",
      "CIEV 20190410 134822 5\n",
      "MSG 20190410 134825 +CSQ:5\n",
      "CSQ 20190410 134825 5\n",
      "MSG 20190410 134825 OK\n",
      "MSG 20190410 134831 +CSQ:5\n",
      "CSQ 20190410 134831 5\n",
      "MSG 20190410 134831 OK\n",
      "MSG 20190410 134834 +CSQ:5\n",
      "CSQ 20190410 134834 5\n",
      "MSG 20190410 134834 OK\n",
      "MSG 20190410 134840 +CSQ:5\n",
      "CSQ 20190410 134840 5\n",
      "MSG 20190410 134840 OK\n",
      "MSG 20190410 134841 +CSQ:5\n",
      "CSQ 20190410 134841 5\n",
      "MSG 20190410 134841 OK\n",
      "MSG 20190410 134849 +CSQ:5\n",
      "CSQ 20190410 134849 5\n",
      "MSG 20190410 134849 OK\n",
      "MSG 20190410 134850 +CSQ:5\n",
      "CSQ 20190410 134850 5\n",
      "MSG 20190410 134850 OK\n",
      "MSG 20190410 134857 +CSQ:5\n",
      "CSQ 20190410 134857 5\n",
      "MSG 20190410 134857 OK\n",
      "MSG 20190410 134900 +CSQ:5\n",
      "CSQ 20190410 134900 5\n",
      "MSG 20190410 134900 OK\n",
      "MSG 20190410 134906 +CSQ:5\n",
      "CSQ 20190410 134906 5\n",
      "MSG 20190410 134906 OK\n",
      "MSG 20190410 134907 +CSQ:5\n",
      "CSQ 20190410 134907 5\n",
      "MSG 20190410 134907 OK\n",
      "MSG 20190410 134914 +CSQ:5\n",
      "CSQ 20190410 134914 5\n",
      "MSG 20190410 134914 OK\n",
      "MSG 20190410 134916 +CSQ:5\n",
      "CSQ 20190410 134916 5\n",
      "MSG 20190410 134916 OK\n",
      "MSG 20190410 134923 +CSQ:5\n",
      "CSQ 20190410 134923 5\n",
      "MSG 20190410 134923 OK\n",
      "MSG 20190410 134923 +CSQ:5\n",
      "CSQ 20190410 134923 5\n",
      "MSG 20190410 134923 OK\n",
      "MSG 20190410 134932 +CSQ:5\n",
      "CSQ 20190410 134932 5\n",
      "MSG 20190410 134932 OK\n",
      "MSG 20190410 134933 +CSQ:5\n",
      "CSQ 20190410 134933 5\n",
      "MSG 20190410 134933 OK\n",
      "MSG 20190410 134940 +CSQ:5\n",
      "CSQ 20190410 134940 5\n",
      "MSG 20190410 134940 OK\n",
      "MSG 20190410 134942 +CSQ:5\n",
      "CSQ 20190410 134942 5\n",
      "MSG 20190410 134942 OK\n",
      "MSG 20190410 134951 +CSQ:5\n",
      "CSQ 20190410 134951 5\n",
      "MSG 20190410 134951 OK\n",
      "MSG 20190410 134952 +CSQ:5\n",
      "CSQ 20190410 134952 5\n",
      "MSG 20190410 134952 OK\n",
      "MSG 20190410 134959 +CSQ:5\n",
      "CSQ 20190410 134959 5\n",
      "MSG 20190410 134959 OK\n",
      "MSG 20190410 135000 +CSQ:5\n",
      "CSQ 20190410 135000 5\n",
      "MSG 20190410 135000 OK\n",
      "MSG 20190410 135008 +CSQ:5\n",
      "CSQ 20190410 135008 5\n",
      "MSG 20190410 135008 OK\n",
      "MSG 20190410 135009 +CSQ:5\n",
      "CSQ 20190410 135009 5\n",
      "MSG 20190410 135009 OK\n",
      "MSG 20190410 135016 +CSQ:5\n",
      "CSQ 20190410 135016 5\n",
      "MSG 20190410 135016 OK\n",
      "MSG 20190410 135017 +CSQ:5\n",
      "CSQ 20190410 135017 5\n",
      "MSG 20190410 135017 OK\n",
      "MSG 20190410 135025 +CSQ:5\n",
      "CSQ 20190410 135025 5\n",
      "MSG 20190410 135025 OK\n",
      "MSG 20190410 135026 +CSQ:5\n",
      "CSQ 20190410 135026 5\n",
      "MSG 20190410 135026 OK\n",
      "MSG 20190410 135034 +CSQ:5\n",
      "CSQ 20190410 135034 5\n",
      "MSG 20190410 135034 OK\n",
      "MSG 20190410 135035 +CSQ:5\n",
      "CSQ 20190410 135035 5\n",
      "MSG 20190410 135035 OK\n",
      "MSG 20190410 135040 +CSQ:5\n",
      "CSQ 20190410 135040 5\n",
      "MSG 20190410 135040 OK\n",
      "MSG 20190410 135043 +CSQ:5\n",
      "CSQ 20190410 135043 5\n",
      "MSG 20190410 135043 OK\n",
      "MSG 20190410 135048 +CSQ:5\n",
      "CSQ 20190410 135048 5\n",
      "MSG 20190410 135048 OK\n",
      "MSG 20190410 135052 +CSQ:5\n",
      "CSQ 20190410 135052 5\n",
      "MSG 20190410 135052 OK\n",
      "MSG 20190410 135057 +CSQ:5\n",
      "CSQ 20190410 135057 5\n",
      "MSG 20190410 135057 OK\n",
      "MSG 20190410 135101 +CSQ:5\n",
      "CSQ 20190410 135101 5\n",
      "MSG 20190410 135101 OK\n",
      "MSG 20190410 135106 +CSQ:5\n",
      "CSQ 20190410 135106 5\n",
      "MSG 20190410 135106 OK\n",
      "MSG 20190410 135109 +CSQ:5\n",
      "CSQ 20190410 135109 5\n",
      "MSG 20190410 135109 OK\n",
      "MSG 20190410 135114 +CSQ:5\n",
      "CSQ 20190410 135114 5\n",
      "MSG 20190410 135114 OK\n",
      "MSG 20190410 135118 +CSQ:5\n",
      "CSQ 20190410 135118 5\n",
      "MSG 20190410 135118 OK\n",
      "MSG 20190410 135123 +CSQ:5\n",
      "CSQ 20190410 135123 5\n",
      "MSG 20190410 135123 OK\n",
      "MSG 20190410 135127 +CSQ:5\n",
      "CSQ 20190410 135127 5\n",
      "MSG 20190410 135127 OK\n",
      "MSG 20190410 135131 +CSQ:5\n",
      "CSQ 20190410 135131 5\n",
      "MSG 20190410 135131 OK\n",
      "MSG 20190410 135135 +CSQ:5\n",
      "CSQ 20190410 135135 5\n",
      "MSG 20190410 135135 OK\n",
      "MSG 20190410 135141 +CSQ:5\n",
      "CSQ 20190410 135141 5\n",
      "MSG 20190410 135141 OK\n",
      "MSG 20190410 135144 +CSQ:5\n",
      "CSQ 20190410 135144 5\n",
      "MSG 20190410 135144 OK\n",
      "MSG 20190410 135149 +CSQ:5\n",
      "CSQ 20190410 135149 5\n",
      "MSG 20190410 135149 OK\n",
      "MSG 20190410 135152 +CSQ:5\n",
      "CSQ 20190410 135152 5\n",
      "MSG 20190410 135153 OK\n",
      "MSG 20190410 135158 +CSQ:5\n",
      "CSQ 20190410 135158 5\n",
      "MSG 20190410 135158 OK\n",
      "MSG 20190410 135159 +CSQ:5\n",
      "CSQ 20190410 135159 5\n",
      "MSG 20190410 135159 OK\n",
      "MSG 20190410 135206 +CSQ:4\n",
      "CSQ 20190410 135206 4\n",
      "MSG 20190410 135206 OK\n",
      "MSG 20190410 135206 +CIEV:0,4\n",
      "CIEV 20190410 135206 4\n",
      "MSG 20190410 135210 +CSQ:4\n",
      "CSQ 20190410 135210 4\n",
      "MSG 20190410 135210 OK\n",
      "MSG 20190410 135215 +CSQ:5\n",
      "CSQ 20190410 135215 5\n",
      "MSG 20190410 135215 OK\n",
      "MSG 20190410 135215 +CIEV:0,5\n",
      "CIEV 20190410 135215 5\n",
      "MSG 20190410 135216 +CSQ:5\n",
      "CSQ 20190410 135216 5\n",
      "MSG 20190410 135216 OK\n",
      "MSG 20190410 135224 +CSQ:3\n",
      "CSQ 20190410 135224 3\n",
      "MSG 20190410 135224 OK\n",
      "MSG 20190410 135224 +CIEV:0,3\n",
      "CIEV 20190410 135224 3\n",
      "MSG 20190410 135227 +CSQ:5\n",
      "CSQ 20190410 135227 5\n",
      "MSG 20190410 135227 OK\n",
      "MSG 20190410 135227 +CIEV:0,5\n",
      "CIEV 20190410 135227 5\n",
      "MSG 20190410 135234 +CSQ:5\n",
      "CSQ 20190410 135234 5\n",
      "MSG 20190410 135234 OK\n",
      "MSG 20190410 135236 +CSQ:5\n",
      "CSQ 20190410 135236 5\n",
      "MSG 20190410 135236 OK\n",
      "MSG 20190410 135243 +CSQ:5\n",
      "CSQ 20190410 135243 5\n",
      "MSG 20190410 135243 OK\n",
      "MSG 20190410 135245 +CSQ:5\n",
      "CSQ 20190410 135245 5\n",
      "MSG 20190410 135245 OK\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSG 20190410 135251 +CSQ:2\n",
      "CSQ 20190410 135251 2\n",
      "MSG 20190410 135251 OK\n",
      "MSG 20190410 135251 +CIEV:0,2\n",
      "CIEV 20190410 135251 2\n",
      "MSG 20190410 135253 +CSQ:2\n",
      "CSQ 20190410 135253 2\n",
      "MSG 20190410 135253 OK\n",
      "MSG 20190410 135300 +CSQ:5\n",
      "CSQ 20190410 135300 5\n",
      "MSG 20190410 135300 OK\n",
      "MSG 20190410 135300 +CIEV:0,5\n",
      "CIEV 20190410 135300 5\n",
      "MSG 20190410 135302 +CSQ:5\n",
      "CSQ 20190410 135302 5\n",
      "MSG 20190410 135302 OK\n",
      "MSG 20190410 135309 +CSQ:5\n",
      "CSQ 20190410 135309 5\n",
      "MSG 20190410 135309 OK\n",
      "MSG 20190410 135311 +CSQ:5\n",
      "CSQ 20190410 135311 5\n",
      "MSG 20190410 135311 OK\n",
      "MSG 20190410 135317 +CSQ:4\n",
      "CSQ 20190410 135317 4\n",
      "MSG 20190410 135317 OK\n",
      "MSG 20190410 135317 +CIEV:0,4\n",
      "CIEV 20190410 135317 4\n",
      "MSG 20190410 135319 +CSQ:4\n",
      "CSQ 20190410 135319 4\n",
      "MSG 20190410 135319 OK\n",
      "MSG 20190410 135328 +CSQ:5\n",
      "CSQ 20190410 135328 5\n",
      "MSG 20190410 135328 OK\n",
      "MSG 20190410 135328 +CIEV:0,5\n",
      "CIEV 20190410 135328 5\n",
      "MSG 20190410 135337 +CSQ:5\n",
      "CSQ 20190410 135337 5\n",
      "MSG 20190410 135337 OK\n",
      "MSG 20190410 135345 +CSQ:5\n",
      "CSQ 20190410 135345 5\n",
      "MSG 20190410 135345 OK\n",
      "MSG 20190410 135354 +CSQ:5\n",
      "CSQ 20190410 135354 5\n",
      "MSG 20190410 135354 OK\n",
      "MSG 20190410 135403 +CSQ:5\n",
      "CSQ 20190410 135403 5\n",
      "MSG 20190410 135403 OK\n",
      "MSG 20190410 135411 +CSQ:5\n",
      "CSQ 20190410 135411 5\n",
      "MSG 20190410 135411 OK\n",
      "MSG 20190410 135417 +CSQ:5\n",
      "CSQ 20190410 135417 5\n",
      "MSG 20190410 135417 OK\n",
      "MSG 20190410 135420 +CSQ:5\n",
      "CSQ 20190410 135420 5\n",
      "MSG 20190410 135420 OK\n",
      "MSG 20190410 135426 +CSQ:5\n",
      "CSQ 20190410 135426 5\n",
      "MSG 20190410 135426 OK\n",
      "MSG 20190410 135428 +CSQ:5\n",
      "CSQ 20190410 135428 5\n",
      "MSG 20190410 135428 OK\n",
      "MSG 20190410 135435 +CSQ:5\n",
      "CSQ 20190410 135435 5\n",
      "MSG 20190410 135435 OK\n",
      "MSG 20190410 135437 +CSQ:5\n",
      "CSQ 20190410 135437 5\n",
      "MSG 20190410 135437 OK\n",
      "MSG 20190410 135443 +CSQ:3\n",
      "CSQ 20190410 135443 3\n",
      "MSG 20190410 135443 OK\n",
      "MSG 20190410 135443 +CIEV:0,3\n",
      "CIEV 20190410 135443 3\n",
      "MSG 20190410 135446 +CSQ:3\n",
      "CSQ 20190410 135446 3\n",
      "MSG 20190410 135446 OK\n",
      "MSG 20190410 135452 +CSQ:3\n",
      "CSQ 20190410 135452 3\n",
      "MSG 20190410 135452 OK\n",
      "MSG 20190410 135454 +CSQ:3\n",
      "CSQ 20190410 135454 3\n",
      "MSG 20190410 135454 OK\n",
      "MSG 20190410 135501 +CSQ:3\n",
      "CSQ 20190410 135501 3\n",
      "MSG 20190410 135501 OK\n",
      "MSG 20190410 135503 +CSQ:3\n",
      "CSQ 20190410 135503 3\n",
      "MSG 20190410 135503 OK\n",
      "MSG 20190410 135508 +CSQ:4\n",
      "CSQ 20190410 135508 4\n",
      "MSG 20190410 135508 OK\n",
      "MSG 20190410 135508 +CIEV:0,4\n",
      "CIEV 20190410 135508 4\n",
      "MSG 20190410 135512 +CSQ:4\n",
      "CSQ 20190410 135512 4\n",
      "MSG 20190410 135512 OK\n",
      "MSG 20190410 135516 +CSQ:3\n",
      "CSQ 20190410 135516 3\n",
      "MSG 20190410 135516 OK\n",
      "MSG 20190410 135516 +CIEV:0,3\n",
      "CIEV 20190410 135516 3\n",
      "MSG 20190410 135520 +CSQ:3\n",
      "CSQ 20190410 135520 3\n",
      "MSG 20190410 135520 OK\n",
      "MSG 20190410 135525 +CSQ:3\n",
      "CSQ 20190410 135525 3\n",
      "MSG 20190410 135525 OK\n",
      "MSG 20190410 135525 +CSQ:4\n",
      "CSQ 20190410 135525 4\n",
      "MSG 20190410 135525 OK\n",
      "MSG 20190410 135525 +CIEV:0,4\n",
      "CIEV 20190410 135525 4\n",
      "MSG 20190410 135534 +CSQ:5\n",
      "CSQ 20190410 135534 5\n",
      "MSG 20190410 135534 OK\n",
      "MSG 20190410 135534 +CIEV:0,5\n",
      "CIEV 20190410 135534 5\n",
      "MSG 20190410 135542 +CSQ:3\n",
      "CSQ 20190410 135542 3\n",
      "MSG 20190410 135542 OK\n",
      "MSG 20190410 135542 +CIEV:0,3\n",
      "CIEV 20190410 135542 3\n",
      "MSG 20190410 135546 +CSQ:3\n",
      "CSQ 20190410 135546 3\n",
      "MSG 20190410 135546 OK\n",
      "MSG 20190410 135551 +CSQ:1\n",
      "CSQ 20190410 135551 1\n",
      "MSG 20190410 135551 OK\n",
      "MSG 20190410 135551 +CIEV:0,1\n",
      "CIEV 20190410 135551 1\n",
      "MSG 20190410 135554 +CSQ:1\n",
      "CSQ 20190410 135555 1\n",
      "MSG 20190410 135555 OK\n",
      "MSG 20190410 135600 +CSQ:5\n",
      "CSQ 20190410 135600 5\n",
      "MSG 20190410 135600 OK\n",
      "MSG 20190410 135600 +CIEV:0,5\n",
      "CIEV 20190410 135600 5\n",
      "MSG 20190410 135603 +CSQ:5\n",
      "CSQ 20190410 135603 5\n",
      "MSG 20190410 135603 OK\n",
      "MSG 20190410 135612 +CSQ:1\n",
      "CSQ 20190410 135612 1\n",
      "MSG 20190410 135612 OK\n",
      "MSG 20190410 135612 +CIEV:0,1\n",
      "CIEV 20190410 135612 1\n",
      "MSG 20190410 135620 +CSQ:0\n",
      "CSQ 20190410 135620 0\n",
      "MSG 20190410 135620 OK\n",
      "MSG 20190410 135620 +CIEV:0,0\n",
      "CIEV 20190410 135620 0\n",
      "MSG 20190410 135629 +CSQ:5\n",
      "CSQ 20190410 135629 5\n",
      "MSG 20190410 135629 OK\n",
      "MSG 20190410 135629 +CIEV:0,5\n",
      "CIEV 20190410 135629 5\n",
      "MSG 20190410 135638 +CSQ:5\n",
      "CSQ 20190410 135638 5\n",
      "MSG 20190410 135638 OK\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-5-960cf35f5d7f>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdf\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mserial_exchange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m500\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32m<ipython-input-4-37c6cf7eaaf3>\u001b[0m in \u001b[0;36mserial_exchange\u001b[1;34m(num_tries)\u001b[0m\n\u001b[0;32m     62\u001b[0m                 \u001b[0mnum_tries\u001b[0m \u001b[1;33m-=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     63\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 64\u001b[1;33m             \u001b[0min_message\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mser\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreadline\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     65\u001b[0m             \u001b[0mprint_msg\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0min_message\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     66\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\program files (x86)\\python36-32\\lib\\site-packages\\serial\\serialwin32.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, size)\u001b[0m\n\u001b[0;32m    288\u001b[0m                     \u001b[0mctypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbyref\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_overlapped_read\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    289\u001b[0m                     \u001b[0mctypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbyref\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrc\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 290\u001b[1;33m                     True)\n\u001b[0m\u001b[0;32m    291\u001b[0m                 \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mresult_ok\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    292\u001b[0m                     \u001b[1;32mif\u001b[0m \u001b[0mwin32\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mGetLastError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[0mwin32\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mERROR_OPERATION_ABORTED\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "df = serial_exchange(500)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Load the CSV\n",
    "test_letter = 'L'\n",
    "filename = '20190410T132814_csqlog.csv'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2 = pd.read_csv(filename)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 411 entries, 0 to 410\n",
      "Data columns (total 3 columns):\n",
      "date    411 non-null object\n",
      "csq     358 non-null float64\n",
      "cier    53 non-null float64\n",
      "dtypes: float64(2), object(1)\n",
      "memory usage: 8.1+ KB\n"
     ]
    }
   ],
   "source": [
    "df2.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ERGRcunLFV/Qc+jEdIdRJodkUS5inTyiT7pDiElZy5kHNoW/ZoYPB04FXgqXjwIKa6N3+DtheTczs1TFJyIiIhJFKR1zZmYZZpYHrATeAJYA6919e7jKcqBB+LwB8AVAWL4BqJXK+ERERESixtw99QcxqwlMAG4FnnH3puHyRsBUd29jZguBM9x9eVi2BOjo7muK7GswMBggKyurw9ixY1Mef3mxadMmatSoke4w9huqz+RTnSaX6jP5ykud5ubmckhW03SHUSY1q8H679IdRek2fFNAhw4dUnqMrl275rp7TmnrpXLMWYy7rzezGcDxQE0zqxi2jjUEvgxXWw40ApabWUXgEGBtgn09CTwJkJOT4126dEn9CZQTM2bMQPWRPKrP5FOdJpfqM/nKS5127dq1XIzjAujdHibNS3cUpZs84gb2RYNVWaTyas3DwxYzzKwq0B1YDPwXOC9cbQAwKXz+cvg7YfmbHpVaEhEREdlHUtlyVg8YZWYZBEngOHefbGaLgLFm9mdgHjAyXH8k8JyZFRC0mF2QwthEREREIillyZm7zwfaJ1j+KdAxwfKtwPmpikdERESkPNAMASIiIiIRouRMREREJEKUnImIiIhEiJIzERERkQhRciYiIiISIUrORERERCJEyZmIiIhIhCg5ExEREYkQJWciIiIiEaLkTERERCRClJyJiIiIRIiSMxEREZEIUXImIiIiEiFKzkREREQiRMmZiIiISIQoORMRERGJECVnIiIiIhGi5ExEREQkQpSc7Uc2bNhAdnY22dnZ1K1blwYNGsR+37ZtW5n38/TTT/P1118nLPt//+//cdxxx5GdnU2LFi248847AXjzzTeZNWvWHsf8/vvv8+qrr5a63ueff06XLl1o2bIlrVq14uGHH46VrVmzhm7dutGsWTPOOOMMNmzYAMDChQvp1KkTlStX5v77799lfyNGjKBVq1a0atWKhx56qNjjTp06lebNm9O0aVOGDx++W/mvf/1ratasWez2N954Iw0bNtxtna1bt3LeeefRtGlTOnXqxLJly3bbdufOnZxxxhnUrFmTPn367FI2YMAA2rVrR5s2bejXrx+bN2/ebftXX32VY489ljZt2tChQwdmzJgRK3v++edp06YNbdu2pUePHqxdu3a37UuqP4Dt27fTtm3b3WIrtHTpUk455RTat29Pu3btYq/zu+++S7t27cjOzqZdu3a8/PLLpe734osv5qijjoq9n/Pz82Nl06dPp127drRq1YpTTz01tvzee++lVatWtG7dmosuuojvv/8+YZwiIlGj5Gw/csghh5CXl0deXh5XXnklQ4YMif1eqVKlMu+npORswIABjBw5kry8PBYsWMC5554L7F1ytn379jInZ5mZmdx///0sWrSId999l/vuu4+PP/4YgLvuuouzzjqLTz75hM6dO3PPPfcAULt2bR566CGGDBmyy77y8vIYNWoUc+fOJS8vj/Hjx/PZZ58ljO+aa67h9ddfZ+HChYwePTp2TID33nuPTZs2lRh37969E9bLk08+Sd26dSkoKODqq6/mpptu2m0dM+P3v/89zz777G5lDz30EB988AH5+fnUrVuXxx57bLd16tSpw5QpU8jPz+fpp5+mf//+AGzbto2hQ4cyc+ZM5s+fzzHHHMOjjz662/bF1V+hESNG0Lp162LP/Y477uDiiy9m3rx5PPfcc1xzzTUAtGvXjtzcXPLy8pg2bRqXX345O3fuLHW/9913X+z93KZNGwDWrl3Lb37zG6ZMmcLChQsZO3YsECTzjz/+OLm5ueTn57N161ZefPHFYmMVEYkSJWcHiFGjRtGxY0eys7O56qqr2LlzJ9u3b6d///60adOG1q1b8+CDD/LCCy+Ql5fHL37xi4QtbqtWraJu3boAZGRk0LJlS5YsWcJTTz3F8OHDyc7O5p133mHSpEkcd9xxtG/fntNPP52VK1cCMGzYMK644gpOO+00LrzwQu644w7GjBlDdnY2L730UrHx169fn+zsbAAOPvhgjjnmGFasWAHApEmTGDBgABAkjxMnTgQgKyuLnJwcKlasuMu+Fi9eTKdOnahatSqZmZmcfPLJTJgwYbdjLlq0iBYtWnDkkUdSuXJl+vXrx6RJk4AgcfvDH/7AX//61xLrvVOnTrH6ihcfc79+/Xjttdd2W8fM6NatGzVq1Nit7OCDDwaC1rWtW7diZrutc+yxx1KvXj0A2rRpw6ZNm/jhhx9wd9ydzZs34+58++231K9ff7fti6s/CJKfN954g0svvbTYczczNm7cCAStuoXHqFatWmyfW7ZsAcDdy7zfeM8//zz9+vWjYcOGQJCQFvrhhx/YunUr27dv57vvvkt4jiIiUaTk7ACwYMECJkyYwDvvvENeXh7bt29n7Nix5Obmsnr1avLz81mwYAGXXHJJLCkrTNKKtrhdf/31NGvWjHPOOYd//OMffP/99zRp0oRBgwbxu9/9jry8PE444QROPvlkZs2axbx58zjnnHP4+9//HtvHvHnzeOWVV3jxxRe59dZbueiii8jLy+O8887jvffe48orryzxfD799FMWLFjAz372MyDo1jz88MMBaNCgAV999VWJ27dp04YZM2awdu1aNm/ezLRp0/jiiy92W2/16tU0atQo9nvDhg1jCeEDDzzAueeeS1ZWVonHKs6KFSti+65UqRLVq1dn/fr1e7SPSy65hLp16/Lpp59y1VVXATBhwgTuuOOO3dYdN24cxx13HJmZmVSuXJmHH36Yli1bUr9+fQoKChg4cCAAjzzyCE899VSpx77++usZPnx4wqSw0B133MHTTz9Nw4YN6d27Nw888ECs7J133qFVq1a0a9eOf/zjH2RkZJS63xtvvJG2bdtyww03xP5p+Pjjj1mzZg2nnHIKOTk5PP/88wAceeSRXHfddTRq1Ih69epRp06dXbo8RUSiTMnZAeA///kPc+bMIScnh+zsbGbOnMmSJUto2rQpH330Eddddx2vvfYahxxySKn7+tOf/sScOXPo3r07o0eP5uc//3nC9ZYtW8bpp59OmzZtGDFiBAsXLoyV9e7dmypVqiTc7rjjjuPxxx8v9vgbN27k3HPP5aGHHkrYogSUmDAAtG7dmqFDh9K9e3fOOuss2rdvn7B1qLA1p+i+ly9fzsSJE2MJ0d4obt97YvTo0Xz11Vc0adIk1mXXt29fbr311l3Wy8/PZ9iwYbGuz23btvHEE08wf/58VqxYQfPmzWNdwVdffTWDBg0q8bgTJ06kUaNGsZbM4owZM4bBgwezfPlyXn75Zfr37x877xNOOIGFCxfy3nvvcdddd7Ft27YS93vPPfewePFi5syZw9dff829994L/Ng1Pm3aNKZNm8btt9/OkiVLWLNmDZMnT+azzz7jyy+/ZO3atbEuTxGRqFNydgBwd371q1/Fxut89NFH/PGPf6RWrVrMnz+fk046iQcffJArrriiTPtr2rQpV111FW+++SazZ8+ODcCPd/XVVzNkyBDy8/N59NFH2bp1a6ysevXqe3Ue27Zt45xzzmHgwIH06tUrtrxWrVqsWrUKCFqkEnUjFjV48GDef/993nrrLQ455BCaNWvG0qVLYwPOn3rqKQ4//PBdWtSWL19O/fr1ef/99/nkk09o0qQJTZs2ZePGjTRv3pxt27bFtk/UehWvYcOGsX1v27aNzZs3lyk5LiojI4N+/foxfvz4hOXLli3jnHPO4fnnn+eoo44CIDc3l8zMTI466igqVKhAv379eOedd8p8zHfeeYfx48fTuHFjLr74Yl5//fVYF228kSNH0q9fPwBOOukkNm7cyLfffrvLOq1ataJSpUosWrSoxP3Wr18fM6Ny5coMHDiQ2bNnA0E9nnXWWVSrVo3DDz+cE088kfnz5/P666/TrFkzateuTaVKlejbt+8enaOISDopOTsAdO/enXHjxrF69Wog6AZctmwZq1atwt05//zz+dOf/sT7778PwEEHHbTbl2ihKVOmxFo/Pv74YypXrsxBBx202zYbNmygQYMGuDujRo0qNraSjhXP3Rk4cCDZ2dlcd911u5T16tUrdoxRo0bRu3fvUvdXOAZu6dKlTJo0iV/84hc0btw4lsAOGjSIli1bsmjRIj7//HO+//57xo0bR69evejVqxdff/01S5cupaCggIMPPpiPPvqISpUqxbYv2npVVHzM48aN4/TTTy815kI7d+7k008/jdXLK6+8wjHHHLPbeuvWrePnP/859957L8cff3xsecOGDcnPz2fNmjVA0LLaokWLMh//nnvuYfny5SxdupTnn3+e008/PeFrfMQRRzB9+nQguPJz586dHHzwwXz22Wfs2LEDgM8++4yCggKOPPLIEvdb2FXt7kyaNCl2wUCfPn1466232LFjB5s3b2b27Nkcc8wxHHHEEbz77rts2bIFd2f69Ol7dI4iIum0e1+O7HfatGnDbbfdRvfu3dm5cyeZmZk8/vjjZGRkcNlll+HumBl/+9vfALj00ksZNGgQVatWZfbs2buMO3v22WcZMmQI1apVIzMzk3/+859UqFCB3r17c/755zN+/HgeeeQRbr/9dvr27UvDhg3p2LFjsePATj31VIYPH0779u255ZZbaNSoEc8888xuXZszZ87kX//6F23bto11e/3tb3/jjDPO4Oabb6Zfv3488cQTHHXUUbzwwgtA0NJ1/PHHs3HjRipUqMC9997Lxx9/TLVq1ejTpw/r16+nUqVKPPHEEwlbrSpWrMiDDz7Iaaedxo4dOxg8eDDNmzff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pZdeyuuvv8727dv53//+x7x582jQoAHnnXcezz33HAMGDNhle4Brr72Wa6+9ltGjR3P33XczcuRI3n33XapUqcKKFStYu3YtnTt3pnv37sW2bF155ZV0796dTp06lXj+PXr0YO7cuXTq1Ik6deoU+7rEu/7667nnnnuoUGHX/ykLb6Jc9BgiIuVVKlvOtgO/dfcWwPHA1WbWMiy7z92zw0dhYtYSuABoBZwJPGpmGSmM74CR7Lk1i1O5cuXY84yMjNig8L35okw0J2T8fJTw41yXJcnMzOSBBx4gLy+PCRMmsG7dOpo1a8ZLL70Ua/3Ly8tLuO/atWsXO9/jO++8E9s+vvWpqDp16rB69erYdEVlibk4hx56KJ07d+a113b/n6V27dqx+h88eDBz5swBgjrr0KEDjRs3JjMzkz59+sSm6SrOL3/5y9hcnWPGjKFHjx5kZmaSlZXF8ccfT25ubsLtCsd6xV80ULReV69eHTv/W2+9lby8PF5//XV27NhBs2bNSoxr7ty5nH/++TRu3JiJEycyePBgXnnllb16X4iIRFnKkjN3/8rd3w+ffwssBnYf4fuj3sBYd//e3T8DCoCOqYrvQJLMuTX31Mknn8z48ePZunUrGzduZPLkyaVuU9yckI0aNaJy5crMmTMHd+e5554rdR7NzZs389133wHB2KQaNWpw9NFHc95558WS1ezsbHr16sW//vUvtm3bxpIlS/j88885+uiji53v8YQTToht36NHj2KPn5GRQefOnZkwYQJQ9rk/C61cuTI2uP27775j+vTpCefRjJ8ea+LEibRq1QqA448/npUrV8bm0XzzzTdp2bLlbtvHjwV85ZVXYtNUHXHEEbz55psAbNq0iffeey/hFFaPP/44M2bMYMyYMbu0bPXq1YvRo0cD8Pbbb3PooYdy+OGHs337dtauXQvAvHnzWLx4cWxsYHGWLVvG0qVLWbp0KX369OHJJ5/k7LPP5swzz2TatGmsX7+eNWvWMH369D2aq1REJGr2ydyaZtYYaA+8B5wIXGNmlwBzCVrX1hEkbrPiNltOycmclFEy59aEYMzZ7bffHvu9uJYUgI4dO9K3b1/atWtH48aNOfnkk2Nl8fM4xituTshatWrx2GOPMXDgQLZu3UrPnj1jV+29+OKLDBkyhFWrVnHGGWeQk5PDlClT+Prrr+nRowcV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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "bins = np.arange(7)-0.5\n",
    "\n",
    "fig = df2.csq.hist(figsize=(10,5), align='mid', bins=bins, edgecolor=\"black\")\n",
    "bins = np.arange(7)-0.5\n",
    "fig.set_xlabel(\"CSQ REPLY (RSSI)\")\n",
    "fig.set_ylabel(\"COUNT\")\n",
    "fig.set_title(f\"Test {test_letter}: Housing Closed, CPF Off, Serial Ground Connected\")\n",
    "#Determine Test Length\n",
    "date_str = f\"Test Start: {df2.date[0]}\\nTest End: {df2.date.iloc[-1]} \"\n",
    "plt.text(0,250,date_str);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Time')"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAokAAAFNCAYAAABsRvUeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xm8HGWdL/7Pt6r75GQnC0sWkrAGAiQhBFCRRYKIuI+gOLK4jIjX8eo411FHx5/j73LHcXR0HBdEcNRxQUBQxoVFAXG47JCEBGSVJYACwbBI4JzT/b1/1NK1PN1d3VXVVaf68369zuuc0+vT3VXV3/o+3+d5RFVBRERERBRkFd0AIiIiIiofBolEREREFMMgkYiIiIhiGCQSERERUQyDRCIiIiKKYZBIRERERDEMEomICiIix4jIhqLb0SsRmSIiz4nIwqLbQkT5YZBIRJOWG6h4P00R2R74/+0pHvd6ETm5w/X7iMhEgse5MtCecRF5MfD/l1T1V6q6qt929kJEjnJf19MislVEfisifT23qr6oqjNU9dGs20lE5VErugFERP1S1Rne3yLyAIC/UtVfFdeiMFU92vtbRM4DsElV//eg2yEi8wD8FMC7AFwMYBTAkQDG+3ismqp2DZCJaPJjJpGIKktEbBH5BxG5X0SeFJHvi8gO7nXTReQ8EXlKRLaJyA0iMkdEvgDgYADnuBm/L+TYvuNE5N7A/38QkQ+LyGb3ub8uIgtE5AoReUZELhWRWYHbH+62e5uI3Coih7V5qn0BbFfVH6tqU1WfV9Vfquodgcd6r4jc5b4fPxeRRe7loyKiIvI+EbkPwKbAZYvd20wVkS+JyMPua/h3EZniXreL2+5tbgbzyhzeSiLKAYNEIqqyjwA4FsDLASyGkzn7onvdX8HpTVkEYD6AvwYwpqp/C+AmOFnJGe7/g/QmOFm+FQBOgpMB/DCAnQHMAPA+ABCRZQB+AuATAOYC+CSAn4jIHMNj3glgqoicKyKv8gJlj4icBOBDAF7nPs9tAL4XeYzXAjgIwIGGx/8inPf3AADLAewN4GPudR8FcBec93gBgE93fQeIqBQYJBJRlb0XwMdU9VFVfQHAPwJ4q4gInIBxRwB7qOqEqt6kqn8usrGuL6nqk6r6EID/C+BaVb1dVbfDCRi9IO00ABe5dY1NVf0FgDvgBMUhqroVwGEA6gD+A8ATInKRiMx3b/JeAP9bVe9W1XE479PLRWTnwMOcqarb3Hb4RKQGpxv7g+71TwP4LJwAF3De54UAlqjqmKpek+7tIaJBYZBIRJXkBoK7AviF29W5DU6GzAIwD8C5AH4D4EIR2SIi/0dE7OJa7Ptj4O/thv+9OsylAE72Xpv7+tbCCchiVHWTqp6qqgsBrAawB4B/CTzWWYHHeQLABJzsoOfhNu1dCCf43By4/08A7ORefyaARwFcJSL3isiHu7x+IioJBolEVEmqqgAeAXC0qu4Q+Bl1M3UvquqnVHUfAEcAOBGt7JcW1e4ePAzgnMhrm66qX+x2R1XdDOA/AewfeKx3RB5rqqreErxbm4d7DE5AuUfgvrNVdZ77XE+r6gdVdSmANwP4ZIfaSSIqEQaJRFRlZwH4rIjsCgAispOIvM79+xgRWSEiFoBn4AQ6Dfd+fwSwe7cHdwdwBH8kn5dh9B0AJ4rIOneAzlT3710M7TxARD4UGIyyDMBbAVzv3uQsOMHbcvf6OSLy5iSNcLunvwXg30Rkvjh2FZFXuo/1ehHZzX1vnobzHjc6PCQRlQSDRCKqss8B+BWAK0XkWTg1fmvc6xbBqfF7FsAmAL8AcL573RcBnCoifxKRz7V5bBtO92/wZ2AZMlW9H05m7h8BPAngQQAfhPm4/gycwTs3icifAfw3gBvhDi5R1R8C+AqAi0TkGQDrAbyyh+Z8CE6X8s1wAsFLAezpXrcvgKvhvM/XAPi8ql5veAwiKhlxemSIiIiIiFqYSSQiIiKiGAaJRERERBTDIJGIiIiIYhgkEhEREVEMg0QiIiIiiqkV3YDJbv78+bps2bKim0FERETU1S233PKkqu6Y5LYMElNatmwZbr755qKbQURERNSViDyY9LbsbiYiIiKiGAaJRERERBTDIJGIiIiIYhgkEhEREVEMg0QiIiIiimGQSEREREQxDBKJiIiIKIbzJBqIyAMAngXQADChqmuLbRERERHRYDFIbO8Vqvpk0Y0gIiIiKgKDxJRUgcuufwD7LJ2LpQtmha7b+vR23HznHzvev2ZbeNnKhZg6pfVRbLj7CTzz/BgOX70IV978EMYnmrm0fZhMnVLDYasWwbbEv+zaDY9i+tQali+di2tu24IVu83DrjvP7Pg42559Eddvegxr9tkJz/x5DPdt2Za4DUsXzMI+S+f6/z+3fRy/Xf8IVu+1I14cb+DOB57CKw9ZgpodrgK5/d4n8eiTzyV+nizYluClByzE9Kn1jreLvoa7HnwqszbMmTmKQ/bbJXTZr258CIt3noGd507DjZv/kNlzdWOJ4ND9F2DW9JHQ5U8/9yKuu/0xrFm+E559fgz39rA95GXlnjtiwfzp/v+PPPEcNt33JA5fvQj3PLwNf9j65wJbl51po3UctnIhrMA+ncQftv4ZG+55AiKCQ1bsgh1mTgld/9z2cVy74ZFEj7XbwtnYe8kc//9nnx/DtRsexeq9d8T2Fydw90N/6qltVTd31igOXhHepy+/4UEsWzAL82aP4qY7/ohD9tsFc2eNhm7zwGPPxI4ts6ZPwUsPWBC67MqbH8Iu86Zj0Y4zcP2mx/zLd5ozDQcu38n/v9lUXHbDg1i+ZA6mT61j/d2P9/V69l4yB7stnN3XfbNy212P4/kXJnDYqoX41Y0PYvHOM0PfM2kxSDRTAJeLiAL4hqqeHbxSRE4HcDoA7LpkKb5ywQb81Rv2jwWJWx5/Dl+5YEPXJ5toKF71kqX+/5fd8CDuf2QbDl+9COf8dBOefX48/Ssi7Dx3GpYHdp7vX/Y77LrzDOy680x85YINeP8Jq7oGiX/Y+md89cIN+PR7XoK7H9qGH1z2u8TPv+OcqfjWJ4/1/9/69HZ87cIN+LtT1mLr0y/g3Es24fDVizBjajhIvOLGB3HVLVsSP09WXhhr4LUv373jbbZuc17DR09diye3bce5l2zOtA3f/f9ehTmBL4xvXLwRx710GV52wMJE+1aWTn72Bbz1mOWhy/741PP46oUb8A/vPhS/f/RpfO+XybeHvBy2ciE+dtrB/v93/n4rvnLBBqzeeydcfsODuOa2ZAHQZPDlvz2q5y/p+x552t92Tly3F049fkXo+j8980LibWvB/Ok4++PH+P8/7m4Pf/+OQ/DIE8/hOz+/o6e2DYPvf+bVoZOtr/94A9545J5Ys3wnfPXCDVi044xYkLj+7seNx5ZvffJY7Dhnqv//OT/djMNXL8QrD10a+gwtS3DhP70G9ZoNABhvNPG1Czfg1OP39Y///Vi+ZA4+/8Ej+rpvVn553QN49InncNiqhfjGxbfjuJcuY5A4AIep6qMishOAK0Tkd6p6jXelGzSeDQAHHXSQAjBm+1bsNhff/tSxscs9f94+jvf/y1V4YWwidPn4RMPfmL/ykaOhqulf0RC768E/4Z++cxNeeLERunxioom6bfuZuyQZW+829ZqFNxyxO449dEmiNvznL++MZb6Cj1WveW1oAAhn797zxgNw2mvCX2R5enGsgfd+9tcYG+/h/bAtHHvoUhy+elEmbbh246P45k82YfvYBOYELh+faKJes7DnrrM77ltZ+6szr4htP157AOf1v+7lu+OYg5NtD3n5zLk3YHvseNLazs74i5V41+v2K6Jpmdp475P41x/cirHx+GfSzdp9d8a3P3UszmizjS+YPz3RtvXtn92BDfc8EbpsvNF6r49/2TK84qDFPbevqq657RF8678244WxCT9IbDYVEw1FvWb5GeFmM/59Fz22XHf7Y/jGxbe7x8sWVYVlCZbuMsv/DC+97kGcd8VdGBtvtoJEf5+wceDynfo6lnz5R+vx1DMv9Hy/rKkqRJz3TkSQdbjAINFAVR91fz8uIhcDOATANabbeh/OuOFgVa/ZmDd7auxyj9eVFw1OxiaaqLlBQ/SMino3b/Z2AK0DuGdsomEI0Dobc29Tt21MG61j2mjn7ljPzGkjsc95fNwQJBq+tGZOG4ldlqcX3W25meBo478ftd7ej27mzHS2++B71mgqGk1F3ba67ltZq9cs40nEuP/6rUxff7+mTqlhwnA8AZw2DnpbysvsGU4XcbOPSpwpdRtTZk+FbYlxG6/ZVqJta8bUesd9ugzbQ5l43frB7TMYVHulQA1DkBh9L70gM3pbVYUlgnqt9RnuMMO5bfCz8r6v6zXL3x56NTrFTnSMzJsq4IYhEEHmSSVOgRMhItNFZKb3N4BjAWzqdB/LklgAkkT0rMbjZLj40WSl9T6Hg0AvK9XuczAJZmV6a0M8yBhvtA5UfpDYx3aUNa/EK8nBpt/3o5tW4B44sLufXy3j50qiZtvGk4i8Xn+/6rZhOwtkO6vC20bTfElbloVGiv2tVrNi+2vZtocyMe/TrffL8oPE7p+Jl5yJHqOagayap2Y4vmfxOdmWhUajLEFiIJOY8eMzkxi3M4CL3Te9BuAHqnpppzu0yzJ0Y1viBJhtghfKhung5P1fr1mo2WK83qTvING20Ggqmk31D4atL2+7bRuL4B1wknwB5x0kBrMOE/5z2Zk+V9L2mDOJxbXJpFaz8Nz2sdBlVQxc2gUJvXAyif23wXjiF8gsU1jdUNbjv1925+7mKMv//MOXNxWxgUytE/DW92wwg9kvS8yZ6EFrqvonTZYAmmajNmCQGKGq9wNY1ct9TGfvie/b5kAzbZQfTVa6BYnidk/kGSTWApnCKVa0LsYKHEB7r7HKmncATtKV572GrLN73bIOg1Y3ZI2A8gVg7Y4nlgB2lTKJVvITmU6PkSaTWK/ZaLolEF5XaSv4KMdJQ5mYemxaxw+7Y3dzlOVuytHPv9lsBUyt583nWGLbkqiteYvWJGYduFbnqFGgfjOJgBNgRmuImEnMlukgoaqYaLRqP9sFAVH9BkWdDpC9dnnnTXrobp7IK5No59NF1Hd7umYSy7G/moPEpt/lVhV+JinF7mK1qUlMylTLXLbtoUxMGb3g8aOXwN/v7TDVJLbLJLbJYPbLEkmU9cybamt/sHIYuMItOQP1urleKdF9a5ZfWO4Zn2hipGIH9SJ5o5fHAp/RhBsQeu/zSM1OFKBNuI/R6+fTGphi+EKpW6jXy9XdLJKwu7nR3/vRjfd+BT+zcf8zKyZIjJ7MAdl0W2XJdDyZmGgW8p7lSTKoSbStdJkgU0kEg8T2OmX0RuqBgSsJ6vysNiUxzUB9XvR5jZ9Tvf/jlm0Lmv2MnMpYUxXwXnLC43YvuCVnIH13c6QmMZDhovSSHMxrhs/BpN+goGOXR8lqEoHkZ8mDHbhSxprE1ujuMqjX7HjPRKN6PRNZdTenyQSVrSSi7Godj4EWbLcPOcln6n3+sZrEpkIG1N3sHCP7vnt2QpnE7B+eW3IGUnU3t+ke4kEmO926er3feY9uBsKjlycCRe6mou4iJZ1vq4jRzcV0N5szzXl1t/fLeNJZweNJu4ELvUidSTQOxGBNYjvdTvysHjKJpkyyVx5jRzOJOZWuONtP8cdrZ0S387fk0AVerSNHQZLWs5nvG//yqeJBvUim0ctpg8To0nndGA+QgaykKdtZJEuSjTLMK0jslHUoIstet61Q17enbJmjdlPglKV9WfGDhBRfiFllEkMlERzd3JaxhjMwDZidsibR+1Pa1CSOmWpH09QkpjzJyEpsChzWJJZPu3qlJNrNtcUz0eyYRi+nCRJrtvS8Xqxp9LJx4Eqj+NHNQPKi/vynwCnHoIBah4ErIgitCV4k74Q1OOgouIJTVbSrSeuFnTpIjGeoJjIIPqqqW0bP6mF0s23IJHufZZLu5ix6ANKeZGQlnElkTWIpZT26ecJdCYSyE832tka32e7vZIF+v1mZjtM/2JbxQFakXrube82sdhNcYzX6XGUb3Vy3rVixfFHqNQuq4S9aZ3RztY4nrZq0lFPgZF2T2Gj6899SWKfu5lowk5jgMxHDFDjetmC1GbgS/pzS1xKnLVfIkhXIJGb+2Jk/4hByuoz7ywCN1MNfPo1GE01ld0XWoqOXo12X9ZqdcAqcBmp27wcW0+jlYFaybEGilXR080QDtRyCpJEOXyhFZGk6jW4u077a7ou4apmtVndj/4+RPpPY5r0u0fZQJt0GkPSz4kq4u9kcJHYcMFOFTGJgsE7S43YvuDVnIN3AlXCAWeQXYZVFRy9HRymbCv5N+s8kdv5CKV2QaEmimfvzCpJqhkEBRQ4Sabd9lK00pN0XYtUClyyW5bMtK9XAg3azJlTtvc5KtyCxlUns/litgUuBINHvbm43BU62pSvlqUkMT6adZu5QE27NGchyxZWyzbtWFZnVJPYZFLVbksrLSpYtSEw6c39eX4qWJajZknkXUb/aZZrHJxql6so1rVNetmxnFrJYls/JBPXfBtOMBQwS2zOd+AWnAWut9NT9Q2nVpLYu8zaF+GTa+ZSu+FP2FBwoRqZJTLVPmHBrzoBp8ElS0QCzbKMlq6JbkNhuYEJU2kxiu6yD6QBaJGdd0u63m8jxS7HbZzZIHWsSS7Svmk5G8vyMitLLOr/tpJ3CxBiQTzQqt7pNVlonfsEVVwKjm+0+luVrmmoSw7fNbZ5E965FZxMV6o/oFhFk3ZpqHTkKkqa7ORpgMkjMR/QzinZdJv0M+/3CNY1eDmZ4RAQ1O1mX9yBYVrIz0jyDpJrdphSjoClwJkWQ2GZ+yTJ1iWfBlEnq5zFyqUlkqVBbsQGEgZ4zy1Bn2I4pk9xo193cIYOZZsBdL5N/56kZnEzbYk1iKWU5mbb3pciz0WxFRy9HJ71NWjKQV02id5t+M9JZSzopa55BUhkzidHAuaxB4kTFu0B7WV+8HcvOYXRzBd/rLDknfp0HriQ57pgmU2/X3WxZAtuS2Pds2gF3rWUEiz1ma2QybXY3l1C71RiS3bc8X4RVFq0pi05628s8if1kZdrN1RULEsvS3dzDPIn1PkZ7JxGftqjAILHuBV/RILFRqszRSN081VLVjidZdDdbCetu22k3BU7V3ussjdTNJ+tewGZJ0u7meNd0u+5m73mz/pxaS0OmepjUtAmIW5Xo1CRm+/jcmjPgTI/RXzdhNMBkkJiP6OjU6Cjyes3GRIKJrPsNCpJmEsuy4kryeRLzm9Oz3QlU1nMyJmqLHa8/89pUpq7cdl1rZQpks5BFd7NtSaIl4NppNwKfx+72TPt0cHECy7ISrrji/A6NblZzdzNgLl1J+zmVJpMIZhJLr16z0NT+NpZogMkpcPLRbRR5L6Ob+xnN2j5ItEO3KU0mMek8iX2+H0lEg+a85mRM2hanDeHPp2xZutYUOOHa1zKNwM5CJt3NCbPl7bC7uXemIDH4flkJA3fTijveGCTTROammvTsMonFj272g2wuy1dOXkA31scXfDTA5Nqf+YiOXh4bjweJEw3t2n01Nt7fwcWUdRiLZCXrNfP6wEVIWtQ/3uf7kUS3L5RBMtX6AeULCoyBy3j1VnDK4gs6bSbRNBhtrIKDhLJUj9QkjkUWJ0i6iom/4k5gd2x26G6Olq70exwP6mWFmDyFluXjwJVySjPHXbR7iN3N+Wg/QCgymXWXbHC/Z6Cm0cvjE+EMT/QAWqReluXLL0iMl2IUHSSaMollytJF29lawalagYs/cCFNTWLKTGLNnbKlLNvoZBAt+4keT5N+Jl5QZFqWz9TTEO9JSn/i5G2DhU+Bo8qaxLJrHZh7zwJ59x2LBYnVOqgXrW7HD05AYHRzwkA/TQ1et8xYqbqbE56RZnGwbaduhzOrpQwSG01/CcEyaH88KU8bsyBZ1SSmeAARMZREVK/+M0umKd+C26aT3e1lMm3Dsnxtupvjn1O671hvXsfCM4lNhGoSmUksoVSZxEiAWdWDetFMNYne1AhAMKPbOdB3RsX1d3DpVheTdELvQUjc3Zzj6Obo+1HGIHGiZN2LXlu8OueqruCURXdzFmvvGgdiVOy9zlKSmsQkH4nf3ZxgWb4kz9uPXuZ1zJe25kkUQdazaXNrzkBr5v00QWK1z/yLZuq6DGaA6oapQ0yi9+utDfEu75FAgDFSutHNyYLEkfqAahIbxQVkptU1nP/L1b3Y7nhSpmxnFqwMBq7YlpVoCbhOTCd+3jREFGcK1oLHwKSZRD+THLiptynYxiDRULqS8rjlTaZddHdzU1vvhyQccNiLah05CtKuqD2JWiTArOqZf9GSdPUC6BqkpQkKTNnMcBvKU5OYdJRcnpkTYxdRUZnENssmTpYgsUxtzIIpSOhV2rWbgfgk/HlOCVUFphPlrGoS/SlwDG+/qdwobVlAFnN1ZkFV/dfMKXBKKovu5onY6GaejWapXrPQaLZGL7cLEjt9hqqaKihyRti1r7GLXl8ky0p2hpzvwJX4QJ+ivoBrbbaP0gWJsYFw1VzBKbPRzakziYYMFWsS26rbdvjELzI9U9I6UbvH7mZzLWS6fcI0oXcRmgp4r1iEA1dKKZuaROe+0TWFKRvR0cvjE43QF2e7TFGQt9pG35lEw5JUZR240kt3c15fivFVckpQkxhoT7OpaDS1VEFBfDuv5vEkm+7mdANXAC/4aPht4YornXU78UtaC20auOQvyzeg0c3+ZNpp09FpqQa6mzlPYim1q1dKYqQWPfOv5kG9aNG60Whwk6Su1M/y9jlQox5YGsqUlSxTkJjkYK2qmEgxkKebEdNAn4ICMuP8g24gVqaBCrZtwZLqH08kg0EDWQxcCS731mgqVKv3XmcpOl9hbHRzwvW0TYNGus6TmPXAlZJ0NzcVoYErrEksoXSZxHCAOT7RhEjrLIWyYRpFbuxu7tDdm/YLN3igMmUlSzW62ep+RjqRc/2s+cBe1MAVQ5BY0umqaoEuUL+NJcp2ZiGzZfnSjm4O1CRWNSDPUtfRzYkzic5vY3dzghVXsgwSi+5u1uBk2pIuu27CrTkDWXY3exmuIpYeq7LY+xwbNJKkuzllkGi3BmKYspJlyiQmGSWX95eiFzR7B70852TsJjq1DBCsHy7XYTTYpVfV8pXMluVLPQVOPCAvU2a5bIzTgIVWXLESfSammlT1M4nm0c3RQXBpP6eyrLiioe5m1iSWkmnJtaS6BS+UjejoZdMchUC37ua0mURDhicYqNplChK7d1vkHSS2BnWZBxsNUudMYrn21+AXcVVnSxAR50QmZXdz6kxizXDiV7LMcpnETvxio5uTZeYsw+j27jWJ2Q6CK08mMTyZNjOJJZQmkxgNMIvsUqsyY8a2x0xiJt3Nbne2KStZr9mYaDQz38n7YSfobs49SLTjpRhlChLLmqULBYkVDlzS1l/ZGdQ1ht/ranbtZyl24hdJiiTNJJoyyQ1/dLPheWNTFaWvby5PJjFck8hMYgmZRj72fN/AQZ3dFdkzTQ0S/OIcWJDYKZMYmQ6pSEmyNIPKJAbfs6L2DdPo97GyBomhsoZytjELaUdyWnb6TFBwdHOV3+usdDvxS1oC4K/dbepubleT6J6AZzXgriyZxGakJpEDV0oozehm05QVPMhkzzi6OdTV28Po5gyW5esUJJahyzlZd3O60d7dxOcQLUEmMTQy03v95dpfgyNIqxy4WGm7mw3r//YqPBituu91Vrr16CQtATAFaN26m1Wd22f1OdkZzNWZhXBNYvbdzbVMH21IRevdertvebrUqiw6ejk+BY73GSYY3dxnUFCbREGiM7o5WSYxzxVXgs9T5ETF3tQyY+PhuiagfF253U5GqiLp6hzt+MuqNZpAn0vp1W0LY+PVf6+zEtynTdOAJR1xLn4msXVZs1N3s/scwf03dU2i+0SNRtFBIsKjmzN+fAaJGchidPNEmzMryoZpgFB0jkLv8nbSBkXdasVKFSSKdJ1eJO9BEdEvlDznZEyiZlhdAyhfUOAMkAp3gdZKlu3MQuruZj8T1P9jDEtAnpXgPm2aBsyyJBTIteP1KJuW5TN1N5sGJqbOJLr7VBkyiaGaxIy/PhgkZsC2nJF2WYxuLnLC4CqLHiT6GriSwRQ4nYrcyxQklq0msQxdecGRrEB5g4JhCVyslPVX/ooZKWqAncFmXkBe3UFCWWnt0w1juUrSTKIXCGri7mZ3CqtG079d+kyi87tZcCaxqQhNgcOaxBISkb6nL4kGmOMFZ0uqqlstTJJpjLKYAscbvWzKSkaLuotkJahtyT9IbL0fZQh2grV+QHnnxQuVNTSqG7hYloSChH7uD2RXk1iGbbTsgsdh0/uVtITAtCyfd792o5s7PW8/vExiowSZRE6BMwnUaxbG+vhyjwaYY+PFTRhcZbEgcTw8utmyBDW7c1fH+Hi6yZODAzFMByov2BgrQSYxyYorad+PboIHdq/uq/Ag0TAFzkjJ9tdQxnrc626u3uT8SQZXdZLFFCb1moWJhqLZ1NKOdi8T/8SvzTHQtiRxjV80k9ypuzl4/B/LaMBda67GYo/XinAmkTWJJVWP1Cv1dt9WgMmaxHwEs3Sqapy0PJopiko7UKFVPG0+QKYZAJU1ke5TO7S63/PJUgWD5jJkaWJzrZU0SxecONg7nlRxBackdbMd75/BFCamE78q1n9mpVtGr5fBSNHBda2BK52DRO/xK7PiSlP9rm+Obi6xNOvuRlfiKFv3VRUEDxKNpkI1HnDU7M6BfuqaxFBXSzwLV6aaxHJ0N7eC5lZAVnQm0TS6uVz7a6gLtMIrOFlWumX5ssokAm7dbEmXaSyTWpdjoG1ZiTOJElnnufOyfK1ayKxqEu0M5tnMQrAm0Vn7OtvHZ5CYkWhRey9qQ3JQL5KxFiZyxt/tM8xiMu1YG0o8ujlxkJhT5sT8mRWXtYt2N5c3SAyfdJatfVmJBgm9srIIEnOodauy0ImfKZPYQwmBRDLJ3t/dupuzG7hSkkxisCYR6U6cTBgkZqRbV2W3+7bWFG5wdHMOuhVMe/+zYbXzAAAgAElEQVQnGrjS5+cTnKvRlJUMnu0WzVn5oPNtBje6uTVwpcgse7SkpKxBwUhkqqWqHk/Sz5OYxYorrUn4yzpvZpmM1APvl6FcxbaTr6dtRzLJnedJbD1vZkFiSVZciU+mne3jV/PokQERsUXkNhH5WZLbj3QJMDoJBpjjE01/R6Ls1EJn/G43R+R9HqknDBL7ngIn/oUSHPQwEijqLlqSqRT89yOn7TV4YPcHidSL7m4uf5BYixxP8vp8ipb2C9GbTDuT7uZGw7hPU5jpxC+WSUz4eUQHLiXqbm60jv8jKYP50tQkIjCZtgVoxkNXuDW390EAdya9cXAC216Fz/yr2z1UJGf0shU+OEW7m7vVJE40YFniT33Qq3o9ns00Tuhdgu7mJAXQppqiLI2EDuzFB2Rtp8ApWaYuOi1LVY8naedJdGPEVJmgkeA+XYK5PMuuW/e8bUvi0cLRgDJpd3NWn1MZMonOWtQITaaddXO4NRuIyGIArwFwTtL7dOuq7Hzf8AoJPMjkw/uS79zd3HlZvjSfjbkep3U2a1oVoCi21f2MfqJNsJ2VMtYkhifTbqBml2/kcL1mo9lUNJpa6eNJL1knk0wyiZGgxxL0fRI5DIIZvYm2mcRkjxXNJCdZli/L2tEsalrT8l5/aAoczpM4EF8C8HcAEn9bpxvd7NzXO7BXtYaoaN773G71jlqtc11p2tVwoqObLUv8Lovo9UWLFoWbjDeasC0xnrlnodtIyEELnsyd+ulLcdHV92JKgd3f7QS79Kq8glNWy/I1UgwH9VfycIOPGusRO+o2eM9ZcSVhJtFCD93N3ueUXX2zv/Z3giDxb754Nf7Pt2/En555AW/6u0vwy+seiN3m1t89jjd+5BL87sGnErfBe82tgSvpJpg34cCVCBF5LYDHVfUWETmqzW1OB3A6ACxZsgQAcMTqRXhhrL/u5qPWLHanZVG85Zi9sWL3eX09DnX2hiP2wJJdZmLW9BGcuG4vLN5pRuj6Vxy0KzpNRXrg8p2ww8wpfT//znOn48R1e2H+DlOx/x7zYwezqVNqOOHovbDHotl9P0dWkpyR7r/7/NwCRMA5sJ9w9F5YvnQOZruf2dzZo7k9Xzcv3X8B9l6yAwDgNYfthhfHG9htQfGfVdS+y+biLcfsDUsERxy4CBMF10zlJRok9H7/9N2Fu8yfhhPX7YU5s0axcs/5GB1hkNjJlBHnGLfn4h0wfWodJ67bCzvMaB1TrQQ9GP5te5gCZ4b7XEsXzIIqcMLRe2HG1Hqq19LL9vPieAPiZpknGuovRBA0NtFAo6moWcmDV++ZWyuucDLtQTgMwOtF5HgAowBmicj3VPVk7waqejaAswFg7dq1CgDrDl7S9xO+8tCl/t+nvHrfvh+HOnvLMXv7f596/IrY9a96ydLYZUGH7LcLDtlvl76ff+e50/znXTB/OtYs3yl0/ehIDae9Jt6uIiQZObpmn52wZp+dOt4mDduS0Pth+swG6fADF/l/v/WVywtsSWf77T4P+7knmsFjS9Wk7m7OYAqThfNn+NvlznOnYe2+O/f9WMOgXrNC+/SyBeF92kq4djMQzyR7nUCm8o/pU+uh48feS+b00Gozf+3mBO0dn2iibtsde4v66QaPBsbRCcazUM1+iBRU9eOqulhVlwE4CcCVwQCRaBjkMSkrUZbSri5hlWQyZGpJUgvtsQTmTOKAohoRcYPa7gdKrzY4WJNpug3QW5DovfzgFDgcuEJEuUsyBQ5RkdKeyJRlMmRq6SWTGO3t6NTdnJekQa0XJNqWQKRzJrGXWkmv/tB7xZxMe8BU9WoAVxfcDKKBy6PbgihLaWsSy7KsGrX0MkF6NJPcae3mvCQNap35Sp2ZEKKT8nsm+pi/sVWTGBzdnPjuiTCTSEQxSZblIypS6u5mL5PI7bw0bMuCarLsbjST3GmexLzYCYPa8cAsA+2mWutn/sZoF3sex20GiUQUIyIowcIvRG2lnyfRzSQ2GCSWRS8TnFuRZfla3c25NM3cBhE0u2w/qoqJRtOfhqfdnMqZ1CRarEkkogGwcpiUlShLTklEuvsDzCSWiT/BeYLPJLosn/f3ILubbVvQ6NLW6Ly83YLEXlZw8udJdP/PoyaRQSIRxbAmkcou7eAqf+1dZhJLwysBaCToxogFie5dBtndnCSbHc0Q1u3wyk3B29Xs3hYniK+4ku7EyYRBIhHFSMquPKK8RYOEXvmTIfNkqDS8wURJDj12JJMcXX1kEJKMbo4FiW1W9upnCc1oFzuX5SOigchjoXiiLEWDhN7v763dzOLbsugtkxge4NL0A6ZyjW42BonGTGIDtR7Xpve72N0oMY/jNoNEIorxzkzZ5UxlFQ0SeuV3N/NsqDRamcT+axIHO7rZ6iOTaJtHN/eVSXR++zWJzCQS0SAIv0Cp5DLrbuY2Xhq9BO7RgUvNDsvy5cWyum8/XkBYt7uMbm70393MmkQiGqjWHHIFN4SojbSDq5hJLB+/uznRPIlos+JKPm0ztqGHTKK3kkqtw+jmvjOJocm0mUkkopwJu5up5NLWXzGTWD5+d3PiybTD3c0iA54CJ8HazdFJsuu2OUic6CNIbEYCY06mTUQDwXVtqexYk1g9vRx3TMvyDTJABNxlBLuMsUk+cCVNJtH7zYErRDQAnGiYyi5t1oSZxPLxRpwnW3ElHKCpDnZks9eGrpnEnqbA6W10c7wmMXx5FhgkElGMd9BhjEhlldmKKwwSS6OXz8SKDFxS1YHWIwIJ50kcdweuBEY3TxhGN49NNPz1nZMyTaYdvDwLDBKJKMZbQ5WZRCorS7rPUdeJzUxi6fSS3Y0O0mg01Z+VYVDsJPMk+jWJ3ddurqWcTDuPqcsYJBJRDGsSqezSjuS0elgnmAajpylwIgNXiupu7rb95FmTGF2vWnKYlYJBIhHFsLuZyi51TaIbTzS4dnNptDKJ3VdciZYbFNXd3G378YNEuxUkjmU0ujk+cMW7nJlEIsoRB65Q2SUZWdqJiCQaeECD06pJ7H5bicyTWMjo5gRr3McyibYzt2K0m3p8opHJZNoAkOVRm0EiEcVwWT4qu2iQ0I8kX/I0OHYPmUTTsnyDXJIPAGzbQiNpd3PdqUn06g6jS/ONN5oY6Xl0s/Pb62b3j9sZbtMMEokoxjsjZVE/lVXaZfkAZ/JmbuPl0UsPhm0JtOgpcETQ7NrdHB/dDDjdy+HbpalJhPs7+x4gBolEFGOxJpFKzgkSMsgkciMvDT+TmKBONNbd7K64Mki23X37mYjUJI7UvUxi+iCxfU1iTw/TEYNEIorxpsBhdzOVVRarS9hW90wQDU5vU+BIrCZx0N3NzjRM3Zflsy3x2+YFi8EgUVVTTYHDmkQiGii/24JdcVRSmdQkWtK1powGx+6hu9kZ3RyeAmfQA1cSTaYdyRB6fwdXXZlwT1T6zSRafpDoXc7uZiLKkZVDbQtRlqJBQj+SfMnT4HjHnSTdzc6go9b/zQKmwLGSTKYdCxJt//LWbdy6Rbu3gSvRmsQ85rdlkEhEMaxJpLKLBgn9YJBYLradfILzaD1pEaObrTSZxMDo5ug0OUnFupv9y3t6mI4YJBJRjHjL8vELlEoqs+5mbuOl4cV4SepExQp3q2qzmO7m7pnEBmqBqW1aU+AEu5v7DBLd3/7AFcurSWQmkYhyxO5mKrtsupstngiViJdJTFInakUGLhXV3Zwok2ibMonN0G2C1yXlTQEUG7jCTCIR5YnL8lHZpV2WD3BG8TOTWB6tmroEy/JFJkIvqru595rE7IJE7yTe8msSnd8cuEJEufK7ffgFSiUlImikrEm0mEksFX90c6IpcMLBUBHL8iUa3dyIBImGKXBS1yT61YjJlzVMikEiEcVw7WYqO0vSZ0xsrt1cKr3Mkxjt6lXVwa+4kiCTONEmkzhhGt3c67J87m+vhtzPJLImkYjy1OpuZpBI5ZRFTaITaGTUIEqtl0yiU27Q+r+IZflsy+p6Ij023jBPgdNojW4ei6zKklTbybRZk0hEeWrVBhXcEKI2RNJPX2Mxk1gqva24Eu7paDTVz6gNiiXd53R0uptbGcJONYk9r7jS9NrhvG95rJTFIJGIYryDDbubqayio1v7wXkSy6XXTGLR3c223T2TmGTgykTKgSuttZuzLxNikEhEMexuprLLYiSns/Yut/Gy6LUmMbos38BrEt1AtdM2mOsUOO7TegNXOJk2EQ0E50mkspMesk7t2LZwGy8Rq6fRzZF5EpuKAceIsG3vONn+NuMTzVA3sjlIbISuS8oboOJ1s+dxcs8gkYhivIO1slyLSqp1IpPuMZKsE0yDYaeoSSxknsQE8zpOTDQxUg+suNJhCpyRXkc3a7gdeSynyiCRiGK8M3JmWaisJIPuZtYklotlJV+72bYE2gx3NxcxTyLQefDK+ER4dLOIoGZb4bWb+1yWL1aTmEMtOYNEIorhPIlUdr0McmjHsiTREnA0GF4iMEl2N9bdXMjAle7HyWhNIuAEg9ksyxeeTNv7zUwiEeUqj24LoixlMZLTtiw02d1cGiKSeFqiWHdzU/1ZGQbFO0626x5X1diKK0D7ILHnKXDc363Rza3nzQqDRCKKYXczlV0WEwdbFrfxsklaAhAf3VzMsnxA+2x2o6lQjWcI22cSe61JdNdutjiZNhENUKsgm1+gVE5ZzOVpWxYn0y6ZJEvdAa0VV7xAqYju5m5T9rTrRh6p2bHRzZYlftCZlPe04g9c8S5nJjE3IjIqIjeKyAYR2Swi/1h0m4gGzR/dzCwLlVQWJzIcuFI+tpVsWqJW3TT83wMf3ewNtOkSJEa7kWs1K7QsX3TC7aT8Zfnc//OYAqeW2SNVx4sAjlbV50SkDuC/ReSXqnp90Q0jGhS/3otJFiqpLGoSk2ataHAskUR1ouH6O3G7m/NtW5Q3HqV9JtGb/zDcjRztbp4wDG5Jwp9MO1aT2PNDtcVMYoQ6nnP/rbs/PIrQUMmj24IoS61sd7rHYCaxXGw72YjzaCa52SyiuzlZJrHr6GbD4JYk/EyiRGsSmUlMRETmAFgIYDuAB1STTQ0sIjaAWwDsCeCrqnpDfq0kKh8uy0dll8WyfDYziaUTXZO50+2A1omsFtLd7NUkNvGbW7fg7of/FLr+uefHAbQfuKKqOOeSTbjj9091DRKffX4M511xF45YvQjLl84F0Opq99qRx6wUlQsSRWQ2gPcDeBuAEQBPABgFsLOIXA/ga6p6VafHUNUGgNUisgOAi0Vkf1XdFHiO0wGcDgBLlizJ54UQFaiX5bGIiiBdph9JYnRKDaMjvY0opXxNn1pP1PUaHcnbLKC7eaRmYfpoDarAHb/fiqtv3RK7zQ4zp2DJLjNDl00frePFcacr+lc3PgQAOHjfXTo+1/YXJ3DJNfdj6S6z/CAxWpOIHHqAKhckArgQwHcBHK6q24JXiMhBAE4Rkd1V9dxuD6Sq20TkagDHAdgUuPxsAGcDwNq1a/ktSpWTxZJnRHnKImty+hsPAHBANg2iTHz9o+sS3c4f3R7obh70FDgvW7kQL1u5EADwvjevwvvevCrR/T75rkP9v3905msS3cc03U6rJjE8upmZxA5U9ZUdrrsFTjdyWyKyI4BxN0CcCuAYAP+cbSuJyi2PSVmJsuQFCdxGh5MVKYlRVdiDTiUOkGm6nVZNItzfrEnsSkTWdLpeVW/t8hALAHzHrUu0AJyvqj/Lqn1EkwHnSaSyE26jQ00ivR3N5uDXbh4k2zBIxp9MW1iT2IsvdLhOARzd6c6quhHAgZm2iGiSic5BRlQ20YELNFz8GRi87mYd/LJ8g2TKJPp/Svg3axI7UNVXFN0GosmO3c1UdlxffLhFJ/wvYlm+QepUkxjNJGY5aV/l4m4ROVhEdgn8f6qI/FREviwic4tsG9FkwSwNlZ1EBi7QcIlOpl7EPImDFJxuxxOvSXR+c1m+zr4BYAwAROQIAJ+FM9r5abgjkomoM/8snV/AVFI8kRlu0VWhiliWb5D8TKKyJjEtW1Wfcv9+K4CzVfXHAH4sIusLbBfRpBEtCicqm+g8eTRc7Mjo9iKW5Rsk/6SoEa9JbK244l3OTGIntoh4we86AFcGrqtiUEyUOS7LR2UXHbhAwyXW3azV724WQWjJQk6B058fAviNiDwJZzm+3wKAiOwJp8uZiLqIFoUTlY1l6H6j4RGvSax2dzMQX7IwOpl2DuNWqhckquqZIvJrOPMdXq6tbzkLwAeKaxnR5BGt9yEqG64vPtxaJ7Jwf1e7uxlw6hLN8yQ6//v7RIbZ9coFiSIyDcAtqjru/r8cwPEAHlTViwptHNEkkUdtC1GWLJ7IDDXjPIkVjxItS4zzJEpk4EqWFRhVrEm8FMAywO9ivg7A7gDeLyL/VGC7iCYNm93NVHL+2r3cRodStNxAVSvf3dwukxidAifL43YVg8Q5qnqP+/dpAH6oqh8A8GoAry2uWUSTR7Teh6hs2N083KKj25ta7WX5gHgmMV6T6L4nWT5nho9VFsH352gAVwCAqo4BYMcEUQKsSaSy4zyJwy3W3dxUVDyRCNuyBp5JrFxNIoCNIvJ5AI8A2BPA5QAgIjsU2iqiScTK4WBDlKXWhO8FN4QKET1JGIbuZsuKrt3cZjLtDPeJKmYS3wPgSTh1iceq6vPu5SsAfL6oRhFNJiLOnFycg47KysuaNHgiM5QkUjc9HN3N0Uyi8zv6srPMrlcuk6iq2+EsxRe9/P9K1bcgogxZIuzKo9LiXJ7DrTW6vdXdXPVveKcmMbB2M7zuZvGvdy7PTuWCRBGxAbwFwCIAl6rqJhF5LYC/BzAVwIFFto9oshARLnlGpZXHOrU0eQQ/f+9Ewa54lGh3HbjiXc5MYifnAtgVwI0AviwiDwJ4KYCPqepPCm0Z0SRisbuZSkwiAxdouATncvW2Aal4TWJsCpxmeDJtK4cR/1UMEtcCWKmqTREZhVOfuKeq/qHgdhFNKpbF7mYqL45uHm7B7uZmm9q8quk2mbZ/OQeudDSm6oztUdUXANzNAJGod+xupjJjTeJwCy7Lp5FRvlUVyyQiXIfZev3MJHayj4hsdP8WAHu4/wsAVdWVxTWNaPKwhFkaKi/O5TncTN3NVQ8STZNpB7OIrUUQsnvOKgaJ+xbdAKIqsCzJdKF4oixZgSCBho+EupvdIHEYahI1GCSGJxD3lqpkTWJnD2mXd0hEpNttiIadcAocKjEuyzfc7FB3s3NZ1We5s0TQbARqEpsKp5M0LMtz+yrWJF4lIh8QkSXBC0VkRESOFpHvwFnTmYg6cOZJLLoVRGZe1oijm4dTqLvZr0kssEEDYNtW7MTdMtUkMpPY0XEA3gXghyKyG4BtAEYB2HCW6Puiqq4vsH1Ek4JlMUtD5WXlUH9Fk4cERrf7NYkVjxItiY9uDk77w5rEBNwRzV8D8DURqQOYD2C7qm4rtmVEk4uIMEtDpZXHxME0ebTW7tah6W62LcHEeGDFlUhNIifT7pGqjgN4rOh2EE1GrEmkMosuy0bDJThP5rB0N0eX5WuqhgJjvwQjw+N2FWsSiSgDlsV5Eqm8Wl+IBTeEChH8/HVIRjdb0XkSNTxsRQKXZ/ac2T0UEVUJ50mkMmN383ALfv5ecm0YupvD8ySqcZ7ELHeJynY3i8heaM2ZeKuqbimyPUSTDWsSqcy4LN9ws0zzJFY7RjRnEkNBonc5u5vbEpEdROQncEYyvwPAOwH8RkS+IY7jCm0g0SRhcVk+KrHgwAUaPsPa3Rwe3az+BNpAK3DmwJXO/h3AegB/4a3hLE6o/UkA/wVgOYC9imse0eRgWczSUHnlMd0HTR6h7mb3ODUM3c3xmsTg8GbnF6fA6ewlqnpK8AJ3dZX/X0QeB3BYMc0imlzY3UxlxmX5hluou7k5HEFifO1mRfAl55FJrFx3M0xr1LQ8rar3DKwlRJOY093ML2AqJ7+7mdvoUAoGRN4mYFc8SIwPXInWJGY/cKWKQeK1IvIpiZxSiMgnAVxXUJuIJh3WJFKZ+d3NzS43pEoKlhv43c1VjGgCLIl2N2tkWb7W5VmpYnfzBwCcC+BeEVkPQAGsAXArnOX6iCgBsRA6ayUqE2F381DzBmwMU3ezbVuhILHppBJbN+CyfN2p6jMAThSRPQCsgNP9/FFVva/YlhFNLuxupjKz2d081EzdzVbVg0RDd7Mpk5hlF1DlkrMislREZqvqfar6XwCeBfA/ReTDIjJSdPuIJoto1wZRmUhg4AINn1B3c3OY5kkMr91sqknMcpeoXJAI4HwA0wFARFYDuADAQwBWAfhage0imlS4LB+VmcUpcIaaX24QmExbKh4l2paEyiucTGL4NVvCmsRupqrqo+7fJwP4lqp+QUQsOPMnElECwmX5qMS4LN9wC5Yb+JNpV7y72RJBoxGtSYzcSCTT43YVM4nBt+xoAL8GAG9ibSJKRjI+2BBlSUScExmmEodSq2u1tXZz1YNE244ckzXexZ51MrWKmcQrReR8AI8BmAPgSgAQkQUAxopsGNFkEi2SJiobiycyQ8tflq/Z6vGwqpj2CrAkvixfdER31osgVPEt/RCAiwA8AODlqjruXr4LgE8U1SiiyYZZGio74VyeQytYbuB1N1d+Chy3Ttw7Lkcn0way3yeqGCTuAeBhVf2iqj4SuHwmgHu73VlEdhWRq0TkThHZLCIfzK2lRCXG7mYqO4snMkPLCnY3D0tNotV6zd7v6EvOupa8ikHil+BMexP1vHtdNxMA/lZV9wXwEgDvF5EVGbaPaFJwRjfzC5jKy7J4IjOsggGTN+LAqvjo5lYXe2ubN41uzvQ5s324UlimqhujF6rqzQCWdbuzqj6mqre6fz8L4E4Ai7JuJFHZOfVeRbeCqD12Nw+v4DrF/hQ41Y4R/RHdXl1is2nKJHJ0czejHa6b2ssDicgyAAcCuCFFe4gmJdYkUtlZnKZpaHkZs+A8idXvbnZCtkHWJFZxdPNNIvIeVf1m8EIReTeAW5I+iIjMAPBjAB9yl/oLXnc6gNMBYMmSJelbTFRCbzxyD4yNc+YoKq/3n7gau8ybVnQzqAAigg//5RosWzALs6aP4MN/uQYL5k8vulm58kZv+5lEVeMUOJrhyX0Vg8QPAbhYRN6OVlC4FsAIgDcleQARqcMJEL+vqhdFr1fVswGcDQBr167laSxV0so9dyy6CUQdHb6alUDD7BUH7Wr8u6rsWCZRDX3s2XY3Vy5IVNU/AniZiLwCwP7uxT9X1SuT3F+c3O25AO5U1X/NqZlEREREiVl+TaLTw6MwTKZtOZdnpXJBokdVrwJwVR93PQzAKQBuFxFvGb+/V9VfZNY4IiIioh5EB65o0zyZNmsSc6Sq/434aohEREREhfHnhgwMXDFNgZPl1GVVHN1MREREVCm2HQ4SzbWHXJaPiIiIaKhEu5uB+ATinEybiIiIaMhEV1wxLsuX8SpEDBKJiIiISs6OrN1sqknMeuAKg0QiIiKikvMCwkajtSxflCDbVYgYJBIRERGVnG27k2kHgsD46GbJdKJEBolEREREJRfLJJpqEjNez5xBIhEREVHJxWsSFWKxJpGIiIhoqEWX5WtqfOUPZhKJiIiIhkx0ChyoeVk+1iQSERERDZHoZNrNNsvyMZNIRERENESimUQ1DlwRrt1MRERENEysSCZRFcbRzRy4QkRERDREbOOyfPGaRHY3ExEREQ0RUybRVJPITCIRERHREIlmElmTSERERESGTKIal+VjJpGIiIhoiNiWu3ZzYDLt+GzanAKHiIiIaKi05kl0LzDWJHIybSIiIqKh0pon0cskmmoSmUkkIiIiGirmgSvxKXBYk0hEREQ0RKIDV5ptJtNmJpGIiIhoiPiZRC8IbDO6OUsMEomIiIhKzgsAG41gJjHa3dzqjs7kOTN7JCIiIiLKhW2HM4mcTJuIiIiIWpnEwLJ8sUwiuCwfERER0VCxoqObYcgkWgLNcKJEBolEREREJScisCQwurlpnkw7w5JEBolEREREk4FlWZF5EsPXi4A1iURERETDxrIkUJNomEwbAm2a7tnn82X3UERERESUF9uSQE2ieTJt1iQSERERDRknk+ikCtU0mbbFZfmIiIiIhk4wk9h2Mm3WJBIRERENl1BNYlNhcTJtIiIiIopmEqMEztQ4WWGQSERERDQJBDOJgPoTbPvXiwAcuEJEREQ0XLrXJHIybSIiIqKhE5oCxzSZtsXJtImIiIiGTngybWfy7CCBuVax7+fL7qGIiIiIKC+2ZaGp6mcLTaObs5wokUFihIh8S0QeF5FNRbeFiIiIyGOJoNFQP1sohoErzCTm69sAjiu6EURERERBli2hTKJxWT5mEvOjqtcAeKrodhAREREF2SJoNJqtIDFak8jJtImIiIiGj2V5mUTnf3MmMbvnq2X3UMNDRE4HcDoALFmypODWEBER0TBYtmCWP4H28qVzMG/21ND1C+ZNxx6Ld8js+STLtGRViMgyAD9T1f273Xbt2rV68803594mIiIiorRE5BZVXZvktuxuJiIiIqIYBokRIvJDANcBWC4iW0Tk3UW3iYiIiGjQWJMYoapvK7oNREREREVjJpGIiIiIYhgkEhEREVEMg0QiIiIiimGQSEREREQxDBKJiIiIKIZBIhERERHFMEgkIiIiohgGiUREREQUwyCRiIiIiGIYJBIRERFRDINEIiIiIophkEhEREREMQwSiYiIiCiGQSIRERERxTBIJCIiIqIYBolEREREFMMgkYiIiIhiGCQSERERUQyDRCIiIiKKYZBIRERERDEMEomIiIgohkEiEREREcUwSCQiIiKiGAaJRERERBTDIJGIiIiIYhgkEhEREVEMg0QiIiIiimGQSEREREQxDBKJiIiIKIZBIhERERHFMEgkIiIiohgGiUREREQUwyCRiG1Gu2gAABBHSURBVIiIiGIYJBIRERFRTK3oBlTR+Pg4tmzZghdeeKHopmRidHQUixcvRr1eL7opRERENCAMEnOwZcsWzJw5E8uWLYOIFN2cVFQVW7duxZYtW7DbbrsV3RwiIiIaEHY35+CFF17AvHnzJn2ACAAignnz5lUmK0pERETJMEjMSRUCRE+VXgsRERElwyCRiIiIiGIYJBIRERFRDIPECvvud7+LlStXYtWqVTjllFNwwQUXYP/998eqVatwxBFHAAC2b9+Ok046CStXrsRb3/pWHHroobj55psLbjkREREVjaObDUTkOAD/BsAGcI6qfrbfx/rmT27H/Y8+nVnbAGD3hbPxnjce0PE2mzdvxplnnolrr70W8+fPx1NPPYUjjzwSl112GRYtWoRt27YBAL7+9a9j2rRp2LhxIzZu3Ig1a9Zk2lYiIiKanJhJjBARG8BXAbwawAoAbxORFcW2qndXXnklTjjhBMyfPx8AMHfuXBx22GF4xzvegW9+85toNBoAgGuuuQYnn3wyAGDlypVYuXJlYW0mIiKi8mAmMe4QAPeq6v0AICLnAXgDgDv6ebBuGb+8qGpsVPJZZ52FG264AT//+c+xevVqrF+/HgBHLxMREVEcM4lxiwA8HPh/i3uZT0ROF5GbReTmJ554YqCNS2rdunU4//zzsXXrVgDAU089hfvuuw+HHnooPvOZz2D+/Pl4+OGHccQRR+D73/8+AGDTpk3Y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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Plot CSQ over time\n",
    "import matplotlib.dates as mdates\n",
    "ax = df2.plot(kind='line',x='date',y='csq', figsize=(10,5))\n",
    "ax.xaxis.set_major_locator(plt.MaxNLocator(4))\n",
    "ax.set_title(f\"Test {test_letter} Time Series\")\n",
    "ax.set_ylabel(\"CSQ (RSSI)\")\n",
    "ax.set_xlabel(\"Time\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "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.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
