Repository for testing ADF code of COM_TMTC_SIMPLE

Dependencies:   mbed-rtos mbed

Fork of COM_MNG_TMTC_SIMPLE by Shreesha S

Files at this revision

API Documentation at this revision

Comitter:
shekhar
Date:
Thu Dec 24 18:38:12 2015 +0000
Parent:
3:6c81fc8834e2
Commit message:
ADF code to be tested

Changed in this revision

COM_SND_TM.h Show annotated file Show diff for this revision Revisions of this file
adf.h Show annotated file Show diff for this revision Revisions of this file
adf2.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 6c81fc8834e2 -r e37674541504 COM_SND_TM.h
--- a/COM_SND_TM.h	Wed Dec 23 05:37:55 2015 +0000
+++ b/COM_SND_TM.h	Thu Dec 24 18:38:12 2015 +0000
@@ -1,7 +1,10 @@
+//uncommented make_datastream flag
+
+
 void adf_not_SDcard();
  
 #define S_FRAME_SIZE 48
-#define ISR 30
+#define ISR 40
 #define TM_FRAME_SIZE 134           //in bytes
 #define T_FRAME_SIZE 159
 #define EOS_SIZE 120
@@ -250,7 +253,7 @@
     int DS_counter;
     bool DS_f;
     bool make_DataStream_f;
-//    #define make_DataStream {\
+    //#define make_DataStream {\
 //        unsigned char* ptr;\
 //        if(make_DataStream_f == true){\
 //            DS_state = true;\
@@ -278,7 +281,7 @@
 //        }\
 //        DS_index = (DS_state==true)?1:0;\
 //    }
-    
+//    
     public:
         
         bool reset_adf;
@@ -297,7 +300,7 @@
             transmit_data_f = true;
             diff_prev = 0;
             data_number();
-//            make_DataStream;
+            //make_DataStream;
             gPC.putc('z');
         }
         
@@ -353,7 +356,7 @@
                 if(data_f){
                     transmit[RB_c] = interleave_data[DS_index][data_c++];
                     if(data_c == 144){
-//                        make_DataStream;
+                        //make_DataStream;
                         data_c = 0;
                         FCCH80_f = true;
                         data_f = false;
diff -r 6c81fc8834e2 -r e37674541504 adf.h
--- a/adf.h	Wed Dec 23 05:37:55 2015 +0000
+++ b/adf.h	Thu Dec 24 18:38:12 2015 +0000
@@ -12,8 +12,7 @@
 //int initialise_card();
 //int disk_initialize();
 
-#define bbram_write {\
-     SPI_mutex.lock();\
+#define bbram_write {\//SPI_mutex.lock();\
     gCS_ADF=0;\
     spi.write(0xB0);\
     wait_us(300);\
@@ -22,8 +21,7 @@
     for(int i=0;i<66;i++){\
         spi.write(bbram_buffer[i]);\
     }\
-    gCS_ADF=1;\
-    SPI_mutex.unlock();\
+    gCS_ADF=1;\//SPI_mutex.unlock();\
 }
 //------------------------------------------------------------------------
 // state checking functions
@@ -341,8 +339,7 @@
 //for reseting the transmission call assert function after b5 and b1. after b1 assert_phi_on and after b5 assert_phi_tx. 
 //----------------------------------------------------------------------------
 
-# define initiate {\
-    SPI_mutex.lock();\
+# define initiate {\//SPI_mutex.lock();\
     gCS_ADF=0;\
     spi.write(0xFF);\
     spi.write(0xFF);\
@@ -376,13 +373,11 @@
     spi.write(0x09);\
     spi.write(0x39);\
     spi.write(0x10);\
-    gCS_ADF=1;\
-    SPI_mutex.unlock();\
+    gCS_ADF=1;\//SPI_mutex.unlock();\
 }
 
 
-#define write_data {\
-    SPI_mutex.lock();\
+#define write_data {\//SPI_mutex.lock();\
     gCS_ADF=0;\
     spi.write(0x0B);\
     spi.write(0x36);\
@@ -403,8 +398,7 @@
             spi.write(buffer_112[i]);\
         }\
     }\
-    gCS_ADF=1;\
-    SPI_mutex.unlock();\
+    gCS_ADF=1;\//SPI_mutex.unlock();\
     buffer_state = !buffer_state;\
     if(last_buffer){\
         ADF_off = true;\
@@ -420,16 +414,14 @@
 }
   
 
-#define send_data {\
-    SPI_mutex.lock();\
+#define send_data {\ //    SPI_mutex.lock();\
     gCS_ADF=0;\
     spi.write(0xBB);\
     gCS_ADF=1;\
     gCS_ADF=0;\
     spi.write(0xFF);\
     spi.write(0xFF);\
-    gCS_ADF=1;\
-    SPI_mutex.unlock();\
+    gCS_ADF=1;\     //    SPI_mutex.unlock();\
     if(sent_tmfrom_SDcard){\
         send_tm_from_SD_card();\
     }else{\
@@ -446,8 +438,7 @@
         send_tm_from_SD_card();\
     }else{\
         snd_tm.transmit_data(buffer_112,&last_buffer);\
-    }\
-    SPI_mutex.lock();\
+    }\          //SPI_mutex.lock();\
     gCS_ADF=0;\
     spi.write(0xB1);\
     gCS_ADF=1;\
@@ -463,58 +454,57 @@
     gCS_ADF=0;\
     spi.write(0xFF);\
     spi.write(0xFF);\
-    gCS_ADF=1;\
-    SPI_mutex.unlock();\
+    gCS_ADF=1;\         //SPI_mutex.unlock();\
     ticker.attach_us(&check,32000);\
 }
     
     
     
-#define adf_SND_SDCard {\
-    buffer_state = true;\
-    last_buffer = false;\
-    loop_on = true;\
-    ADF_off = false;\
-    sent_tmfrom_SDcard = true;\
-    signal = COM_MNG_TMTC_SIGNAL_ADF_SD;\
-    start_block_num = starting_add;\
-    end_block_num = ending_add;\
-    initial_adf_check;\
-    initiate;\
-    send_data;\
-    while(loop_on){\
-        /*led2=!led2;*/\
-        gCOM_MNG_TMTC_THREAD->signal_wait(COM_MNG_TMTC_SIGNAL_ADF_SD);\
-        if(ADF_off){\
-            SPI_mutex.lock();\
-            ticker.detach();\
-            gCS_ADF=0;\
-            spi.write(0xB1);\
-            gCS_ADF=1;\
-            SPI_mutex.unlock();\
-            gPC.puts("transmission done\r\n");\
-            loop_on = false;\
-        }else{\
-            write_data;\
-            if(!last_buffer)\
-            send_tm_from_SD_card();\
-        }\
-    }\
-}
+//#define adf_SND_SDCard {\
+//    buffer_state = true;\
+//    last_buffer = false;\
+//    loop_on = true;\
+//    ADF_off = false;\
+//    sent_tmfrom_SDcard = true;\
+//    signal = COM_MNG_TMTC_SIGNAL_ADF_SD;\
+//    start_block_num = starting_add;\
+//    end_block_num = ending_add;\
+//    initial_adf_check;\
+//    initiate;\
+//    send_data;\
+//    while(loop_on){\
+//        /*led2=!led2;*/\
+//        gCOM_MNG_TMTC_THREAD->signal_wait(COM_MNG_TMTC_SIGNAL_ADF_SD);\
+//        if(ADF_off){\
+//            SPI_mutex.lock();\
+//            ticker.detach();\
+//            gCS_ADF=0;\
+//            spi.write(0xB1);\
+//            gCS_ADF=1;\
+//            SPI_mutex.unlock();\
+//            gPC.puts("transmission done\r\n");\
+//            loop_on = false;\
+//        }else{\
+//            write_data;\
+//            if(!last_buffer)\
+//            send_tm_from_SD_card();\
+//        }\
+//    }\
+//}
     
-void read_TC(Base_tc* TC_ptr){
-    gPC.puts("Inside sd card sending\r\n");
-    unsigned char service_subtype = 0;
-    uint64_t starting_add  = 0, ending_add = 0;
-    service_subtype = (TC_ptr->TC_string[2])&0x0f;
-    starting_add =  (TC_ptr->TC_string[5]) +  ( (TC_ptr->TC_string[4])<<8 ) + ( (TC_ptr->TC_string[3]) <<16);
-    ending_add =  (TC_ptr->TC_string[8]) +  ( (TC_ptr->TC_string[7])<<8 ) + ( (TC_ptr->TC_string[6]) <<16);
-    starting_add = 10; // for now
-    ending_add = 20;
-//    adf_SND_SDCard(starting_add , ending_add);
-    gPC.puts("sending from sd card\r\n");
-    adf_SND_SDCard;
-}
+//void read_TC(Base_tc* TC_ptr){
+//    gPC.puts("Inside sd card sending\r\n");
+//    unsigned char service_subtype = 0;
+//    uint64_t starting_add  = 0, ending_add = 0;
+//    service_subtype = (TC_ptr->TC_string[2])&0x0f;
+//    starting_add =  (TC_ptr->TC_string[5]) +  ( (TC_ptr->TC_string[4])<<8 ) + ( (TC_ptr->TC_string[3]) <<16);
+//    ending_add =  (TC_ptr->TC_string[8]) +  ( (TC_ptr->TC_string[7])<<8 ) + ( (TC_ptr->TC_string[6]) <<16);
+//    starting_add = 10; // for now
+//    ending_add = 20;
+////    adf_SND_SDCard(starting_add , ending_add);
+//    gPC.puts("sending from sd card\r\n");
+//    adf_SND_SDCard;
+//}
 
 //Timeout ADF_non_responsive_timeout;
 //bool ADF_non_responsive_flag = false;
@@ -531,7 +521,7 @@
     ADF_off = false;
     sent_tmfrom_SDcard = false;
    
-    signal = COM_MNG_TMTC_SIGNAL_ADF_NSD;
+//    signal = COM_MNG_TMTC_SIGNAL_ADF_NSD;
     initial_adf_check;
     initiate;
     send_data;
diff -r 6c81fc8834e2 -r e37674541504 adf2.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/adf2.h	Thu Dec 24 18:38:12 2015 +0000
@@ -0,0 +1,380 @@
+//without reset feature , with state checks.
+#include<iostream>
+#include"mbed.h"
+#define ADF_IRQ PTA14
+#define SPI_MOSI PTE1
+#define SPI_MISO PTE3
+#define SPI_CLK PTE2
+#define SPI_CS_ADF PTA15
+//Serial gPC( USBTX, USBRX );
+//gPC.baud(1200);
+InterruptIn IRQ(ADF_IRQ);
+Ticker ticker;
+//SPI spi(PTE1, PTE3, PTE2); 
+//DigitalOut gCS_ADF(SPI_CS_ADF);
+unsigned int Adf_data_counter=0;
+unsigned char status =0;
+unsigned int cmd_err_cnt=0;
+unsigned int state_err_cnt=0;
+unsigned int miso_err_cnt=0;
+unsigned int hw_reset_err_cnt=0;
+bool bcn_flag=0;
+bool bbram_flag=0;
+
+bool stop_transmission=false;
+bool sent_tmfrom_SDcard;
+bool loop_on;
+bool ADF_off;
+bool buffer_state;
+uint8_t signal = 0x00;
+uint8_t bbram_buffer[66]={0x19,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0xF4,0xC2,0x10,0xC0,0x00,0x30,0x31,0x07,0x00,0x01,0x00,0x7F,0x00,0x0B,0x37,0x00,0x00,0x40,0x0C,0x00,0x05,0x00,0x00,0x18,0x12,0x34,0x56,0x10,0x10,0xC4,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00};
+uint8_t Adf_data[100]={};       //Data to be transmitted
+//uint8_t buffer_112[112];
+//int initialise_card();
+//int disk_initialize();
+
+
+//void transmitdata(){       // copy the data to be transmitted to bufer_112
+//    for(int i=0;i<112;i++){
+//        buffer_112[i]=Adf_data[Adf_data_counter];
+//        if(100==Adf_data_counter){
+//            Adf_data_counter++;
+//            stop_transmission= true;
+//            break;  
+//        }
+//     }   
+//}
+
+#define bbram_write {\
+    gCS_ADF=0;\
+    spi.write(0xB0);\
+    wait_us(300);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    for(int i=0;i<66;i++){\
+        spi.write(bbram_buffer[i]);\
+    }\
+    gCS_ADF=1;\
+}
+//------------------------------------------------------------------------
+// state checking functions
+//bool assrt_phy_off( int, int, int);
+//bool assrt_phy_on( int,int,int);
+//bool assrt_phy_tx(int,int,int);
+
+#define START_ADDRESS 0x020;
+#define MISO_PIN PTE3
+/**************Defining Counter Limits**************/
+#define THRS 20
+#define STATE_ERR_THRS 20
+#define PHY_OFF_EXEC_TIME 300
+#define PHY_ON_EXEC_TIME 300
+#define PHY_TX_EXEC_TIME 600
+/******DEFINING COMMANDS*********/
+#define CMD_HW_RESET 0xC8
+#define CMD_PHY_ON 0xB1
+#define CMD_PHY_OFF 0xB0
+#define CMD_PHY_TX 0xB5
+#define CMD_CONFIG_DEV 0xBB
+
+#define check_status {\
+    unsigned char stat=0;\
+    gCS_ADF=0;\
+    spi.write(0xFF);\
+    stat = spi.write(0xFF);\
+    gCS_ADF=1;\
+    status = stat;\
+}
+
+// all three arguments are int
+#define assrt_phy_off(return_this) {\
+    int cmd_err_cnt = 0;\
+    int spi_err_cnt = 0;\
+    int state_err_cnt = 0;\
+    for(int i = 0 ; i < 40 ;i++){\
+        check_status;\
+        if(status == 0xB1){\
+            return_this = 0;\
+            break;\
+        }\
+        else if(cmd_err_cnt>THRS||spi_err_cnt>THRS){\
+            return_this = 1;\
+            break;\
+        }\
+        else if(state_err_cnt>STATE_ERR_THRS){\
+            return_this = 1;\
+            break;\
+        }\
+        else if( (status & 0xA0) == 0xA0 ){\
+            gCS_ADF=0;\
+            spi.write(CMD_PHY_OFF);\
+            gCS_ADF=1;\
+            wait_us(PHY_OFF_EXEC_TIME);\
+            state_err_cnt++;\
+        }\
+        else if(status&0x80==0x00){\
+            wait_ms(5);\
+            spi_err_cnt++;\
+        }\
+        else {\
+            wait_ms(1);\
+            cmd_err_cnt++;\
+        }\
+    }\
+}
+
+
+
+
+#define initial_adf_check {\
+    spi.write(CMD_PHY_OFF);\
+    int tempReturn = 0;\
+    bool flag = false;\
+    while( hw_reset_err_cnt < 2 ){\
+        assrt_phy_off( tempReturn);\
+        if( !tempReturn ){\
+            bbram_write;\
+            bbram_flag=1;\
+            flag = true;\
+            break;\
+        }\
+        else{\
+            hardware_reset(0);\
+            hw_reset_err_cnt++;\
+            gPC.puts("Resetting hardware\r\n");\
+        }\
+    }\
+    if( flag == false ){\
+        gPC.puts("Seems to be SPI problem\r\n");\
+    }\
+    assrt_phy_off(tempReturn);\
+    if(!bbram_flag){\
+        bcn_flag=1;\
+     }\
+}
+
+bool hardware_reset(int bcn_call){
+    for(int i= 0; i < 20 ; i++){
+        gCS_ADF=0;
+        spi.write(CMD_HW_RESET);
+        gCS_ADF=1;
+        wait_ms(2);// Typically 1 ms
+        int count=0;
+        int temp_return = 0;
+        while(count<10 && miso_err_cnt<10){      
+            if(MISO_PIN){
+                assrt_phy_off(temp_return);
+                if(!temp_return){
+                    return 0;
+                }
+                count++;
+            }
+            else{
+                wait_us(50);
+                miso_err_cnt++;
+            }
+        }
+    }
+    return 1;
+}
+//for reseting the transmission call assert function after b5 and b1. after b1 assert_phi_on and after b5 assert_phi_tx. 
+//----------------------------------------------------------------------------
+
+# define initiate {\
+    gCS_ADF=0;\
+    spi.write(0xFF);\
+    spi.write(0xFF);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    spi.write(0x08);\
+    spi.write(0x14);\
+    spi.write(0xFF);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    spi.write(0x08);\
+    spi.write(0x15);\
+    spi.write(0xFF);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    spi.write(0x09);\
+    spi.write(0x24);\
+    spi.write(0x20);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    spi.write(0x09);\
+    spi.write(0x37);\
+    spi.write(0xE0);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    spi.write(0x09);\
+    spi.write(0x36);\
+    spi.write(0x70);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    spi.write(0x09);\
+    spi.write(0x39);\
+    spi.write(0x10);\
+    gCS_ADF=1;\
+}
+
+
+#define write_data {\
+    gCS_ADF=0;\
+    spi.write(0x0B);\
+    spi.write(0x36);\
+    spi.write(0xFF);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    if(buffer_state && last_buffer==false){\
+        spi.write(0x18);\
+        spi.write(0x20);\
+        for(unsigned char i=0; i<112;i++){\
+            spi.write(buffer_112[i]);\
+        }\
+    }\
+    else if(last_buffer==false)\
+    {\
+        spi.write(0x18);\
+        spi.write(0x90);\
+        for(unsigned char i=0; i<112;i++){\
+            spi.write(buffer_112[i]);\
+        }\
+    }\
+    if(last_buffer)\
+    {\
+     for(unsigned char i=0; i<112;i++){\
+            spi.write(buffer_112[i]);\
+        }\
+        ADF_off = true;\
+        gPC.puts("adf_off\r\n");\
+    }\
+    gCS_ADF=1;\
+    buffer_state = !buffer_state;\
+}
+//void send_tm_from_SD_card(){
+//    }
+//
+void check(){   
+    if(IRQ){
+        if(!ADF_off){
+                write_data;
+                ADF_off=true;    
+            }
+            else{
+                write_data;
+                snd_tm.transmit_data(buffer_112,&last_buffer);
+            }
+         }
+         else{
+            ticker.detach();
+            gCS_ADF=0;
+            spi.write(0xB1);
+            gCS_ADF=1;
+            gPC.puts("transmission done\r\n");
+            loop_on=false;  
+         }   
+    }
+
+//
+//#define send_data {\
+//    gCS_ADF=0;\
+//    spi.write(0xBB);\
+//    gCS_ADF=1;\
+//    gCS_ADF=0;\
+//    spi.write(0xFF);\
+//    spi.write(0xFF);\
+//    gCS_ADF=1;\
+//    if(sent_tmfrom_SDcard){\
+//        send_tm_from_SD_card();\
+//    }else{\
+//        transmitdata();\
+//    }\
+//    write_data;\
+//    if(sent_tmfrom_SDcard){\
+//        send_tm_from_SD_card();\
+//    }else{\
+//        transmitdata();\
+//    }\
+//    write_data;\
+//    if(sent_tmfrom_SDcard){\
+//        send_tm_from_SD_card();\
+//    }else{\
+//        transmitdata();\
+//    }\
+//    gCS_ADF=0;\
+//    spi.write(0xB1);\
+//    gCS_ADF=1;\
+//    wait_us(300);\
+//    gCS_ADF=0;\
+//    spi.write(0xFF);\
+//    spi.write(0xFF);\
+//    gCS_ADF=1;\
+//    gCS_ADF=0;\
+//    spi.write(0xB5);\
+//    gCS_ADF=1;\
+//    wait_us(300);\
+//    gCS_ADF=0;\
+//    spi.write(0xFF);\
+//    spi.write(0xFF);\
+//    gCS_ADF=1;\
+//    ticker.attach_us(&check,32000);\
+//}
+
+#define send_data {\
+    gCS_ADF=0;\
+    spi.write(0xBB);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    spi.write(0xFF);\
+    spi.write(0xFF);\
+    gCS_ADF=1;\
+    if(sent_tmfrom_SDcard){\
+    }\
+    else{\
+        snd_tm.transmit_data(buffer_112,&last_buffer);\
+    }\
+    write_data;\
+    if(sent_tmfrom_SDcard){\
+    }else{\
+        snd_tm.transmit_data(buffer_112,&last_buffer);\
+    }\
+    write_data;\
+    if(sent_tmfrom_SDcard){\
+    }else{\
+        snd_tm.transmit_data(buffer_112,&last_buffer);\
+    }\
+    gCS_ADF=0;\
+    spi.write(0xB1);\
+    gCS_ADF=1;\
+    wait_us(300);\
+    gCS_ADF=0;\
+    spi.write(0xFF);\
+    spi.write(0xFF);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    spi.write(0xB5);\
+    gCS_ADF=1;\
+    wait_us(300);\
+    gCS_ADF=0;\
+    spi.write(0xFF);\
+    spi.write(0xFF);\
+    gCS_ADF=1;\
+    ticker.attach_us(&check,32000);\
+}
+
+void adf_not_SDcard(){
+    buffer_state = true;
+    last_buffer = false;
+    loop_on = true;
+    ADF_off = false;
+    sent_tmfrom_SDcard = false;
+   
+ //   signal = COM_MNG_TMTC_SIGNAL_ADF_NSD;
+    initial_adf_check;
+    initiate;
+    send_data;
+    
+//    gPC.puts("Inside adf transmission\r\n");
+//    ADF_non_responsive_timeout.attach(&ADF_non_responsive_fun, 10);
+
+}
\ No newline at end of file
diff -r 6c81fc8834e2 -r e37674541504 main.cpp
--- a/main.cpp	Wed Dec 23 05:37:55 2015 +0000
+++ b/main.cpp	Thu Dec 24 18:38:12 2015 +0000
@@ -8,81 +8,45 @@
 #include "COM_SND_TM_functions.h"
 #include "COM_SND_TM.h"
 #include "SDCread.h"
-#include "adf.h"
-#include "Compression.h"
+//#include "adf.h"
+#include "adf2.h"
+//#include "Compression.h"
 #include "SDC_init.h"
 #include "COM_RCV_TC.h"
 #include "COM_MNG_TMTC.h"
-#include "ThreadsAndFunctions.h"
+//#include "ThreadsAndFunctions.h"
 
 
 int main()
 {
-    // ******************INITIALISATIONS START******************
-    // COM RX
-    RX1M.baud(1200);
-    gRX_HEAD_DATA_NODE = new COM_RX_DATA_NODE;
-    gRX_HEAD_DATA_NODE->next_node = NULL;
-    gRX_CURRENT_DATA_NODE = gRX_HEAD_DATA_NODE;
-    gRX_COUNT = 0;
-//    gRX_CURRENT_PTR = gRX_CURRENT_DATA_NODE->values;
-    RX1M.attach(&rx_read, Serial::RxIrq);
-    
-    // DEBUG
     gPC.baud(1200);
     gPC.puts("welcome to mng_tm_tc\r\n");
     
     // COMMON SPI
     spi.format(8,0);
     spi.frequency(1000000);
-
-    // SD CARD
-    gCS_SDC = 1;
-    gCS_RTC = 1;
-    // initialise_card();
-    // int result= initialise_card();
-    // disk_initialize();    
-    
-    // COM_TX
-    // *********************THE TEST
-    // cs_adf=1;
-    // *********************THE TEST
-
-    // COM_MNG_TMTC THREAD
-    gCOM_MNG_TMTC_THREAD = new Thread(COM_MNG_TMTC_FUN);
-    gCOM_MNG_TMTC_THREAD->set_priority(osPriorityAboveNormal);
-    // *******************INITIALISATIONS END********************
-    
-    // SCIENCE THREAD
-    gSCIENCE_THREAD = new Thread(SCIENCE_FUN);
-    gSCIENCE_THREAD->set_priority(osPriorityBelowNormal);
     
     //adf test
     gPC.puts("Testing ADF\r\n");
+    
+    uint8_t array[55*134] = {0xBA,0x4A,0x5B,0x68,0x67,0x00,0xB7,0xB9,0x2D,0x89,0x30,0xA4,0x85,0x4B,0x93,0xB6,0xF9,0xB6,0x80,0x44,0x98,0x34,0xBF,0x53,0x1C,0x54,0x0E,0xB3,0x2D,0x7B,0xE8,0x93,0x7A,0x8F,0x91,0x01,0x92,0x8E,0x41,0x98,0x39,0xDD,0x58,0x16,0x5E,0x0B,0x8D,0x13,0x48,0x2C,0xE9,0xE4,0xE9,0x4F,0x85,0x9A,0x5F,0xA1,0x6B,0x32,0xD3,0x24,0x1C,0xEC,0x6F,0x75,0x7A,0x61,0x24,0xE7,0x29,0xEC,0x5C,0x82,0x6E,0xF7,0x63,0x63,0x37,0x82,0x67,0x67,0x68,0x80,0x6E,0x15,0xF8,0xBC,0x7A,0x86,0x59,0xF8,0x81,0x84,0x58,0x2B,0xC7,0x7D,0x29,0x50,0xFD,0xCD,0x96,0xD3,0xF7,0x5A,0x92,0x97,0x50,0x21,0xEE,0xE6,0x6F,0x02,0xDB,0xD9,0xF6,0x0E,0x20,0x2F,0x0C,0x2A,0xD9,0x64,0xBF,0x82,0xF7,0x99,0x5E,0x7F,0x70,0x3B,0xC6,0x00,0x61,0xFE,0x21,0x9D,0x0F,0x6E,0xE0,0x1E,0x57,0x16,0x3A,0xE6,0xBD,0xE7,0xFF,0xB3,0xE1,0xA9,0xE3,0x38,0x4D,0x98,0x66,0x97,0xA8,0x03,0xB5,0x0B,0xA7,0x65,0x6F,0x4D,0x72,0xD7,0x62,0xA5,0x5F,0xA5,0xEA,0x2C,0xA8,0x0F,0x2C,0x2F,0x40,0x9C,0xC2,0xE2,0x09,0x3E,0x74,0x60,0x74,0xD6,0xAB,0xF4,0xEB,0xBA,0xFA,0x76,0xE9,0x23,0x09,0x20,0xF3,0x33,0x9C,0xF1,0xC8,0xF6,0x98,0x0A,0x5E,0x80,0x78,0x95,0xE6,0x9B,0xF5,0xD0,0x8A,0xD4,0x79,0x7C,0xE5,0x23,0x3F,0xD5,0xE5,0x26,0xEA,0xC2,0x78,0x5A,0x85,0xDC,0x31,0x41,0x22,0x08,0x0F,0x40,0x6A,0x9A,0x39,0x3F,0xD9,0x6D,0x91,0x66,0x48,0xBF,0x84,0x15,0xDD,0xFA,0x4E,0x5E,0x87,0xAE,0x04,0xC7,0xF0,0x75,0x20,0x35,0x38,0xFC,0x68,0x26,0x89,0xDF,0x92,0x8E,0x70,0x20,0xDB,0x0E,0x67,0x41,0x48,0xCC,0x14,0xF6,0xA6,0x6A,0xC4,0xFC,0x0D,0x7E,0xF9,0x30,0x86,0x00,0x4C,0xF6,0x20,0xCC,0x76,0x39,0x59,0x79,0xE1,0xF3,0xA8,0x74,0x80,0x33,0x8D,0xE8,0x42,0x76,0x59,0xA9,0x12,0xD2,0x48,0xDE,0x0C,0xD4,0xA4,0x3B,0xE5,0x64,0x79,0x55,0x1E,0x71,0xAB,0x52,0xE4,0xFC,0xB0,0xC4,0xBE,0xCD,0x3F,0xFA,0x2F,0x91,0x8A,0x2F,0x23,0xFF,0x2D,0x8C,0x6B,0x8A,0x8E,0xF9,0x68,0xDA,0x24,0x60,0x4F,0x73,0x55,0x04,0xC8,0x83,0x1B,0x98,0x34,0xCC,0x88,0xB5,0x2E,0xA6,0xAD,0x2B,0xB2,0x19,0x1A,0x03,0x4E,0x80,0xAF,0x71,0x0B,0xAD,0x95,0x92,0xDC,0xF8,0x53,0x69,0x71,0x87,0xA0,0xB2,0x1D,0xEA,0x95,0x5D,0x26,0xD0,0x2A,0x8A,0x1E,0xAF,0xD1,0xFF,0x59,0x01,0x2F,0xE1,0xE4,0xB4,0xC1,0xD6,0x9C,0x42,0xA3,0x34,0x96,0x36,0x7E,0xAB,0x37,0x06,0x6D,0x15,0x55,0xF3,0xF9,0xFC,0x78,0xA5,0xB2,0x49,0x9D,0x38,0xBC,0x83,0x1E,0xB4,0x42,0x91,0x3D,0x42,0x67,0x99,0x39,0x03,0x76,0xD4,0x30,0xCA,0x17,0x29,0xDF,0x0F,0xB2,0xB6,0x9C,0x51,0xB2,0xA8,0x7B,0x08,0x9C,0xFF,0x53,0x58,0x47,0x0F,0x78,0x37,0xC7,0x2F,0x61,0x51,0x3C,0x6C,0x9A,0x0D,0x43,0x2E,0xBA,0x41,0x4B,0x39,0x6C,0x95,0x4E,0x33,0x95,0x16,0x5E,0xD9,0x4B,0x5C,0x9E,0x00,0x3B,0xDA,0xE1,0x98,0x69,0x06,0x8B,0xC8,0xD1,0xF5,0xD2,0x0F,0x40,0x46,0xDB,0x01,0xD4,0x0E,0xF9,0xDE,0x17,0x51,0xB8,0x76,0x75,0x4E,0x3E,0x76,0xC6,0xEB,0xB5,0x7B,0x04,0x8B,0xAC,0x54,0xA1,0xFF,0x1D,0x23,0x32,0x44,0xC2,0xC1,0xDD,0x45,0x2E,0x65,0xD1,0xCC,0xCA,0x0D,0xB4,0x53,0xEC,0x65,0x43,0x51,0x8F,0xED,0xD5,0xF5,0xDD,0x2A,0xCF,0xFA,0xBA,0x80,0x8C,0xDF,0x63,0x2C,0xE2,0xD4,0x92,0x6B,0x3F,0xBF,0x3A,0xD8,0xB0,0x10,0x94,0x38,0x09,0xD5,0x8F,0xE4,0x6B,0x79,0xFB,0x5B,0x74,0x96,0x0F,0xC1,0x68,0x93,0x5B,0xEE,0x6C,0xC5,0x33,0xF9,0xB1,0x7E,0x1F,0xF5,0x5D,0x35,0x9C,0xF1,0x55,0x73,0x83,0x36,0x34,0x84,0x9B,0x67,0x83,0x88,0x3B,0x55,0x8B,0x2A,0x01,0xB5,0x01,0xB4,0xC4,0x88,0x25,0x01,0x35,0x87,0xAA,0x8F,0x5A,0x6E,0x13,0x46,0x17,0x37,0x04,0xF5,0x53,0xEA,0x6A,0xE0,0x19,0x2F,0x46,0x48,0x59,0x6F,0x18,0x18,0x68,0x61,0xF3,0xF2,0x1E,0x2B,0x43,0xA2,0xDC,0xBD,0x8C,0xCC,0x79,0x96,0x1D,0x06,0xBD,0x4C,0x2A,0x48,0x5C,0x9B,0xDC,0x67,0x3E,0x76,0x54,0x7B,0xCA,0x7A,0xC8,0x39,0x33,0xD8,0x42,0x5F,0x84,0xEA,0x67,0x07,0x58,0xDA,0x21,0x40,0x97,0x3B,0xDB,0x6D,0x7E,0xD8,0x68,0xFD,0x8B,0xB3,0x18,0x3D,0xD4,0xF2,0x23,0x92,0x31,0x58,0x34,0xEC,0xB0,0x1D,0xE1,0xB9,0x1E,0x3B,0xD4,0x36,0x69,0xCB,0xB6,0xA5,0x88,0x28,0x54,0xBA,0xF1,0x18,0x68,0x5C,0xA1,0x96,0xC1,0x04,0x54,0xAE,0xE5,0xD3,0xD9,0xE1,0xF6,0xA2,0xE6,0x98,0x06,0x52,0x3E,0xCA,0xBF,0xF6,0x29,0xF1,0x22,0x57,0xDF,0x16,0x67,0xEB,0xE2,0x53,0xB5,0xAC,0x92,0xC3,0xF0,0xCF,0xB3,0xAF,0x51,0x0F,0x7B,0x4A,0xDA,0x21,0xC5,0xCE,0x3D,0x15,0x46,0x1C,0xAF,0xC1,0x74,0x9B,0xE1,0x04,0xC8,0xB9,0xE8,0x56,0x05,0xA3,0x67,0x19,0x40,0x10,0x90,0xE0,0x1C,0xF8,0x21,0xAB,0x64,0xB6,0x48,0xD0,0x81,0x5A,0x8A,0x8E,0x25,0x09,0x06,0xE6,0x9D,0xE5,0x00,0xE0,0xEE,0x4D,0x86,0x7C,0xD0,0xE8,0x69,0x74,0xF4,0xCB,0xEA,0x2C,0x0D,0x74,0xBC,0x35,0x5F,0xF0,0x5B,0x42,0x07,0x1F,0xE2,0xAB,0x44,0xC0,0x78,0x1C,0x0B,0x2C,0xAF,0xF8,0xF7,0x03,0x37,0x2A,0x39,0xDE,0x17,0x0E,0xF5,0xB1,0x2F,0xEE,0xE1,0xE7,0x95,0xBF,0x76,0x3F,0x7A,0x1B,0xCC,0xB2,0x3E,0xCE,0x25,0x9B,0x6D,0xA0,0xE5,0xBC,0x07,0xB5,0x25,0xBF,0x39,0x20,0x42,0xB4,0xD7,0x70,0x10,0x89,0xD5,0xAE,0x42,0xD3,0x0A,0xB0,0xD8,0x85,0x7B,0xBA,0xEE,0x73,0x60,0x5A,0xB8,0xB0,0x27,0xC3,0x3D,0x2E,0xDE,0x9F,0x84,0xFE,0xC0,0x2F,0x8A,0xA0,0x63,0x84,0xE2,0xD2,0x9A,0x63,0x09,0xA5,0xE9,0xE4,0xBB,0x26,0x07,0xBB,0x8A,0x06,0x2C,0x45,0x43,0x42,0xA8,0x5E,0xE1,0x7D,0x72,0x3D,0x1D,0xCC,0x66,0x0F,0x5A,0xF6,0x66,0xA8,0x2C,0xC5,0x06,0xAA,0x4E,0x15,0xC9,0x2E,0xEF,0x3E,0x1E,0xF3,0x16,0xD4,0xD6,0xDF,0xB4,0x19,0x5F,0x22,0xD5,0x81,0x15,0x1B,0x82,0x60,0x73,0xF7,0x4B,0xE1,0x5E,0x4A,0xAC,0x6E,0x3F,0x3A,0x75,0xB6,0xEE,0x52,0x9D,0xBB,0x47,0xC5,0xE2,0x1B,0x7B,0x2A,0x4E,0x89,0xF8,0x8E,0xFA,0x59,0x0A,0x25,0xE8,0xA5,0x4D,0xEF,0x4D,0x30,0xDE,0xF9,0x74,0xE3,0xB2,0x48,0xB3,0xD8,0x39,0xA6,0x0C,0x4A,0x22,0x87,0x87,0x82,0x43,0x5B,0xCE,0xF7,0x13,0xBD,0x68,0xAE,0x0E,0x0E,0xF9,0x4B,0xFE,0x64,0x79,0xA9,0xD4,0x5B,0x6C,0xBD,0xBF,0xCF,0x12,0x78,0x47,0x44,0x59,0xE4,0x0B,0xD2,0x71,0xAB,0x2D,0x82,0x0C,0x25,0x12,0x04,0x22,0xC4,0x61,0x4C,0xC2,0x2C,0x91,0x49,0xBC,0xFD,0x5B,0x2D,0x23,0xC6,0xA2,0x7A,0x98,0x58,0x1C,0x9A,0xF0,0x15,0x60,0xCA,0xC8,0x3E,0x44,0x63,0xB1,0x3C,0x84,0x5C,0xCC,0x17,0x95,0x21,0xBD,0xC2,0x4A,0x6C,0xB5,0xD2,0xA8,0x3A,0xF4,0xD1,0x8D,0x59,0x64,0x75,0x1F,0xC8,0x6E,0x69,0xEA,0x00,0x30,0xB9,0x20,0x11,0x88,0x53,0xBB,0xA8,0x31,0x73,0x0F,0x4C,0x8A,0x29,0x4F,0x00,0x26,0xFC,0x50,0x39,0x3C,0x98,0xD4,0x63,0x32,0x41,0x49,0x6B,0xA2,0xC7,0x4D,0xF0,0xF0,0x74,0x9F,0xB3,0xFF,0x87,0xAC,0x9F,0x22,0xE6,0x72,0x74,0x27,0xE1,0x83,0x4A,0xC3,0xEB,0x12,0x62,0xE1,0x83,0x18,0xB2,0xA2,0x37,0xD5,0x1A,0xCA,0x89,0x6E,0x91,0x06,0x1D,0x46,0x27,0xF0,0x52,0xA8,0x5B,0xC9,0xE9,0x5B,0x7F,0xDC,0x1F,0x06,0x8A,0x32,0x75,0xFC,0x98,0x03,0x33,0x27,0xB1,0x00,0x9D,0x28,0x72,0x54,0xDF,0x26,0xE2,0xBC,0xAA,0x3A,0xD6,0x4F,0x78,0xCA,0x41,0x23,0x95,0x1D,0x50,0xBA,0xF0,0xBF,0xA2,0x69,0xD4,0xD8,0x20,0x78,0xC6,0x86,0xA3,0x5D,0xD2,0xBD,0x55,0xBA,0x4A,0x5B,0x68,0x67,0x00,0xB7,0xB9,0x2D,0x89,0x30,0xA4,0x85,0x4B,0x93,0xB6,0xF9,0xB6,0x80,0x44,0x98,0x34,0xBF,0x53,0x1C,0x54,0x0E,0xB3,0x2D,0x7B,0xE8,0x93,0x7A,0x8F,0x91,0x01,0x92,0x8E,0x41,0x98,0x39,0xDD,0x58,0x16,0x5E,0x0B,0x8D,0x13,0x48,0x2C,0xE9,0xE4,0xE9,0x4F,0x85,0x9A,0x5F,0xA1,0x6B,0x32,0xD3,0x24,0x1C,0xEC,0x6F,0x75,0x7A,0x61,0x24,0xE7,0x29,0xEC,0x5C,0x82,0x6E,0xF7,0x63,0x63,0x37,0x82,0x67,0x67,0x68,0x80,0x6E,0x15,0xF8,0xBC,0x7A,0x86,0x59,0xF8,0x81,0x84,0x58,0x2B,0xC7,0x7D,0x29,0x50,0xFD,0xCD,0x96,0xD3,0xF7,0x5A,0x92,0x97,0x50,0x21,0xEE,0xE6,0x6F,0x02,0xDB,0xD9,0xF6,0x0E,0x20,0x2F,0x0C,0x2A,0xD9,0x64,0xBF,0x82,0xF7,0x99,0x5E,0x7F,0x70,0x3B,0xC6,0x00,0x61,0xFE,0x21,0x9D,0x0F,0x6E,0xE0,0x1E,0x57,0x16,0x3A,0xE6,0xBD,0xE7,0xFF,0xB3,0xE1,0xA9,0xE3,0x38,0x4D,0x98,0x66,0x97,0xA8,0x03,0xB5,0x0B,0xA7,0x65,0x6F,0x4D,0x72,0xD7,0x62,0xA5,0x5F,0xA5,0xEA,0x2C,0xA8,0x0F,0x2C,0x2F,0x40,0x9C,0xC2,0xE2,0x09,0x3E,0x74,0x60,0x74,0xD6,0xAB,0xF4,0xEB,0xBA,0xFA,0x76,0xE9,0x23,0x09,0x20,0xF3,0x33,0x9C,0xF1,0xC8,0xF6,0x98,0x0A,0x5E,0x80,0x78,0x95,0xE6,0x9B,0xF5,0xD0,0x8A,0xD4,0x79,0x7C,0xE5,0x23,0x3F,0xD5,0xE5,0x26,0xBA,0x4A,0x5B,0x68,0x67,0x00,0xB7,0xB9,0x2D,0x89,0x30,0xA4,0x85,0x4B,0x93,0xB6,0xF9,0xB6,0x80,0x44,0x98,0x34,0xBF,0x53,0x1C,0x54,0x0E,0xB3,0x2D,0x7B,0xE8,0x93,0x7A,0x8F,0x91,0x01,0x92,0x8E,0x41,0x98,0x39,0xDD,0x58,0x16,0x5E,0x0B,0x8D,0x13,0x48,0x2C,0xE9,0xE4,0xE9,0x4F,0x85,0x9A,0x5F,0xA1,0x6B,0x32,0xD3,0x24,0x1C,0xEC,0x6F,0x75,0x7A,0x61,0x24,0xE7,0x29,0xEC,0x5C,0x82,0x6E,0xF7,0x63,0x63,0x37,0x82,0x67,0x67,0x68,0x80,0x6E,0x15,0xF8,0xBC,0x7A,0x86,0x59,0xF8,0x81,0x84,0x58,0x2B,0xC7,0x7D,0x29,0x50,0xFD,0xCD,0x96,0xD3,0xF7,0x5A,0x92,0x97,0x50,0x21,0xEE,0xE6,0x6F,0x02,0xDB,0xD9,0xF6,0x0E,0x20,0x2F,0x0C,0x2A,0xD9,0x64,0xBF,0x82,0xF7,0x99,0x5E,0x7F,0x70,0x3B,0xC6,0x00,0x61,0xFE,0x21,0x9D,0x0F,0x6E,0xE0,0x1E,0x57,0x16,0x3A,0xE6,0xBD,0xE7,0xFF,0xB3,0xE1,0xA9,0xE3,0x38,0x4D,0x98,0x66,0x97,0xA8,0x03,0xB5,0x0B,0xA7,0x65,0x6F,0x4D,0x72,0xD7,0x62,0xA5,0x5F,0xA5,0xEA,0x2C,0xA8,0x0F,0x2C,0x2F,0x40,0x9C,0xC2,0xE2,0x09,0x3E,0x74,0x60,0x74,0xD6,0xAB,0xF4,0xEB,0xBA,0xFA,0x76,0xE9,0x23,0x09,0x20,0xF3,0x33,0x9C,0xF1,0xC8,0xF6,0x98,0x0A,0x5E,0x80,0x78,0x95,0xE6,0x9B,0xF5,0xD0,0x8A,0xD4,0x79,0x7C,0xE5,0x23,0x3F,0xD5,0xE5,0x26,0xEA,0xC2,0x78,0x5A,0x85,0xDC,0x31,0x41,0x22,0x08,0x0F,0x40,0x6A,0x9A,0x39,0x3F,0xD9,0x6D,0x91,0x66,0x48,0xBF,0x84,0x15,0xDD,0xFA,0x4E,0x5E,0x87,0xAE,0x04,0xC7,0xF0,0x75,0x20,0x35,0x38,0xFC,0x68,0x26,0x89,0xDF,0x92,0x8E,0x70,0x20,0xDB,0x0E,0x67,0x41,0x48,0xCC,0x14,0xF6,0xA6,0x6A,0xC4,0xFC,0x0D,0x7E,0xF9,0x30,0x86,0x00,0x4C,0xF6,0x20,0xCC,0x76,0x39,0x59,0x79,0xE1,0xF3,0xA8,0x74,0x80,0x33,0x8D,0xE8,0x42,0x76,0x59,0xA9,0x12,0xD2,0x48,0xDE,0x0C,0xD4,0xA4,0x3B,0xE5,0x64,0x79,0x55,0x1E,0x71,0xAB,0x52,0xE4,0xFC,0xB0,0xC4,0xBE,0xCD,0x3F,0xFA,0x2F,0x91,0x8A,0x2F,0x23,0xFF,0x2D,0x8C,0x6B,0x8A,0x8E,0xF9,0x68,0xDA,0x24,0x60,0x4F,0x73,0x55,0x04,0xC8,0x83,0x1B,0x98,0x34,0xCC,0x88,0xB5,0x2E,0xA6,0xAD,0x2B,0xB2,0x19,0x1A,0x03,0x4E,0x80,0xAF,0x71,0x0B,0xAD,0x95,0x92,0xDC,0xF8,0x53,0x69,0x71,0x87,0xA0,0xB2,0x1D,0xEA,0x95,0x5D,0x26,0xD0,0x2A,0x8A,0x1E,0xAF,0xD1,0xFF,0x59,0x01,0x2F,0xE1,0xE4,0xB4,0xC1,0xD6,0x9C,0x42,0xA3,0x34,0x96,0x36,0x7E,0xAB,0x37,0x06,0x6D,0x15,0x55,0xF3,0xF9,0xFC,0x78,0xA5,0xB2,0x49,0x9D,0x38,0xBC,0x83,0x1E,0xB4,0x42,0x91,0x3D,0x42,0x67,0x99,0x39,0x03,0x76,0xD4,0x30,0xCA,0x17,0x29,0xDF,0x0F,0xB2,0xB6,0x9C,0x51,0xB2,0xA8,0x7B,0x08,0x9C,0xFF,0x53,0x58,0x47,0x0F,0x78,0x37,0xC7,0x2F,0x61,0x51,0x3C,0x6C,0x9A,0x0D,0x43,0x2E,0xBA,0x41,0x4B,0x39,0x6C,0x95,0x4E,0x33,0x95,0x16,0x5E,0xD9,0x4B,0x5C,0x9E,0x00,0x3B,0xDA,0xE1,0x98,0x69,0x06,0x8B,0xC8,0xD1,0xF5,0xD2,0x0F,0x40,0x46,0xDB,0x01,0xD4,0x0E,0xF9,0xDE,0x17,0x51,0xB8,0x76,0x75,0x4E,0x3E,0x76,0xC6,0xEB,0xB5,0x7B,0x04,0x8B,0xAC,0x54,0xA1,0xFF,0x1D,0x23,0x32,0x44,0xC2,0xC1,0xDD,0x45,0x2E,0x65,0xD1,0xCC,0xCA,0x0D,0xB4,0x53,0xEC,0x65,0x43,0x51,0x8F,0xED,0xD5,0xF5,0xDD,0x2A,0xCF,0xFA,0xBA,0x80,0x8C,0xDF,0x63,0x2C,0xE2,0xD4,0x92,0x6B,0x3F,0xBF,0x3A,0xD8,0xB0,0x10,0x94,0x38,0x09,0xD5,0x8F,0xE4,0x6B,0x79,0xFB,0x5B,0x74,0x96,0x0F,0xC1,0x68,0x93,0x5B,0xEE,0x6C,0xC5,0x33,0xF9,0xB1,0x7E,0x1F,0xF5,0x5D,0x35,0x9C,0xF1,0x55,0x73,0x83,0x36,0x34,0x84,0x9B,0x67,0x83,0x88,0x3B,0x55,0x8B,0x2A,0x01,0xB5,0x01,0xB4,0xC4,0x88,0x25,0x01,0x35,0x87,0xAA,0x8F,0x5A,0x6E,0x13,0x46,0x17,0x37,0x04,0xF5,0x53,0xEA,0x6A,0xE0,0x19,0x2F,0x46,0x48,0x59,0x6F,0x18,0x18,0x68,0x61,0xF3,0xF2,0x1E,0x2B,0x43,0xA2,0xDC,0xBD,0x8C,0xCC,0x79,0x96,0x1D,0x06,0xBD,0x4C,0x2A,0x48,0x5C,0x9B,0xDC,0x67,0x3E,0x76,0x54,0x7B,0xCA,0x7A,0xC8,0x39,0x33,0xD8,0x42,0x5F,0x84,0xEA,0x67,0x07,0x58,0xDA,0x21,0x40,0x97,0x3B,0xDB,0x6D,0x7E,0xD8,0x68,0xFD,0x8B,0xB3,0x18,0x3D,0xD4,0xF2,0x23,0x92,0x31,0x58,0x34,0xEC,0xB0,0x1D,0xE1,0xB9,0x1E,0x3B,0xD4,0x36,0x69,0xCB,0xB6,0xA5,0x88,0x28,0x54,0xBA,0xF1,0x18,0x68,0x5C,0xA1,0x96,0xC1,0x04,0x54,0xAE,0xE5,0xD3,0xD9,0xE1,0xF6,0xA2,0xE6,0x98,0x06,0x52,0x3E,0xCA,0xBF,0xF6,0x29,0xF1,0x22,0x57,0xDF,0x16,0x67,0xEB,0xE2,0x53,0xB5,0xAC,0x92,0xC3,0xF0,0xCF,0xB3,0xAF,0x51,0x0F,0x7B,0x4A,0xDA,0x21,0xC5,0xCE,0x3D,0x15,0x46,0x1C,0xAF,0xC1,0x74,0x9B,0xE1,0x04,0xC8,0xB9,0xE8,0x56,0x05,0xA3,0x67,0x19,0x40,0x10,0x90,0xE0,0x1C,0xF8,0x21,0xAB,0x64,0xB6,0x48,0xD0,0x81,0x5A,0x8A,0x8E,0x25,0x09,0x06,0xE6,0x9D,0xE5,0x00,0xE0,0xEE,0x4D,0x86,0x7C,0xD0,0xE8,0x69,0x74,0xF4,0xCB,0xEA,0x2C,0x0D,0x74,0xBC,0x35,0x5F,0xF0,0x5B,0x42,0x07,0x1F,0xE2,0xAB,0x44,0xC0,0x78,0x1C,0x0B,0x2C,0xAF,0xF8,0xF7,0x03,0x37,0x2A,0x39,0xDE,0x17,0x0E,0xF5,0xB1,0x2F,0xEE,0xE1,0xE7,0x95,0xBF,0x76,0x3F,0x7A,0x1B,0xCC,0xB2,0x3E,0xCE,0x25,0x9B,0x6D,0xA0,0xE5,0xBC,0x07,0xB5,0x25,0xBF,0x39,0x20,0x42,0xB4,0xD7,0x70,0x10,0x89,0xD5,0xAE,0x42,0xD3,0x0A,0xB0,0xD8,0x85,0x7B,0xBA,0xEE,0x73,0x60,0x5A,0xB8,0xB0,0x27,0xC3,0x3D,0x2E,0xDE,0x9F,0x84,0xFE,0xC0,0x2F,0x8A,0xA0,0x63,0x84,0xE2,0xD2,0x9A,0x63,0x09,0xA5,0xE9,0xE4,0xBB,0x26,0x07,0xBB,0x8A,0x06,0x2C,0x45,0x43,0x42,0xA8,0x5E,0xE1,0x7D,0x72,0x3D,0x1D,0xCC,0x66,0x0F,0x5A,0xF6,0x66,0xA8,0x2C,0xC5,0x06,0xAA,0x4E,0x15,0xC9,0x2E,0xEF,0x3E,0x1E,0xF3,0x16,0xD4,0xD6,0xDF,0xB4,0x19,0x5F,0x22,0xD5,0x81,0x15,0x1B,0x82,0x60,0x73,0xF7,0x4B,0xE1,0x5E,0x4A,0xAC,0x6E,0x3F,0x3A,0x75,0xB6,0xEE,0x52,0x9D,0xBB,0x47,0xC5,0xE2,0x1B,0x7B,0x2A,0x4E,0x89,0xF8,0x8E,0xFA,0x59,0x0A,0x25,0xE8,0xA5,0x4D,0xEF,0x4D,0x30,0xDE,0xF9,0x74,0xE3,0xB2,0x48,0xB3,0xD8,0x39,0xA6,0x0C,0x4A,0x22,0x87,0x87,0x82,0x43,0x5B,0xCE,0xF7,0x13,0xBD,0x68,0xAE,0x0E,0x0E,0xF9,0x4B,0xFE,0x64,0x79,0xA9,0xD4,0x5B,0x6C,0xBD,0xBF,0xCF,0x12,0x78,0x47,0x44,0x59,0xE4,0x0B,0xD2,0x71,0xAB,0x2D,0x82,0x0C,0x25,0x12,0x04,0x22,0xC4,0x61,0x4C,0xC2,0x2C,0x91,0x49,0xBC,0xFD,0x5B,0x2D,0x23,0xC6,0xA2,0x7A,0x98,0x58,0x1C,0x9A,0xF0,0x15,0x60,0xCA,0xC8,0x3E,0x44,0x63,0xB1,0x3C,0x84,0x5C,0xCC,0x17,0x95,0x21,0xBD,0xC2,0x4A,0x6C,0xB5,0xD2,0xA8,0x3A,0xF4,0xD1,0x8D,0x59,0x64,0x75,0x1F,0xC8,0x6E,0x69,0xEA,0x00,0x30,0xB9,0x20,0x11,0x88,0x53,0xBB,0xA8,0x31,0x73,0x0F,0x4C,0x8A,0x29,0x4F,0x00,0x26,0xFC,0x50,0x39,0x3C,0x98,0xD4,0x63,0x32,0x41,0x49,0x6B,0xA2,0xC7,0x4D,0xF0,0xF0,0x74,0x9F,0xB3,0xFF,0x87,0xAC,0x9F,0x22,0xE6,0x72,0x74,0x27,0xE1,0x83,0x4A,0xC3,0xEB,0x12,0x62,0xE1,0x83,0x18,0xB2,0xA2,0x37,0xD5,0x1A,0xCA,0x89,0x6E,0x91,0x06,0x1D,0x46,0x27,0xF0,0x52,0xA8,0x5B,0xC9,0xE9,0x5B,0x7F,0xDC,0x1F,0x06,0x8A,0x32,0x75,0xFC,0x98,0x03,0x33,0x27,0xB1,0x00,0x9D,0x28,0x72,0x54,0xDF,0x26,0xE2,0xBC,0xAA,0x3A,0xD6,0x4F,0x78,0xCA,0x41,0x23,0x95,0x1D,0x50,0xBA,0xF0,0xBF,0xA2,0x69,0xD4,0xD8,0x20,0x78,0xC6,0x86,0xA3,0x5D,0xD2,0xBD,0x55,0xBA,0x4A,0x5B,0x68,0x67,0x00,0xB7,0xB9,0x2D,0x89,0x30,0xA4,0x85,0x4B,0x93,0xB6,0xF9,0xB6,0x80,0x44,0x98,0x34,0xBF,0x53,0x1C,0x54,0x0E,0xB3,0x2D,0x7B,0xE8,0x93,0x7A,0x8F,0x91,0x01,0x92,0x8E,0x41,0x98,0x39,0xDD,0x58,0x16,0x5E,0x0B,0x8D,0x13,0x48,0x2C,0xE9,0xE4,0xE9,0x4F,0x85,0x9A,0x5F,0xA1,0x6B,0x32,0xD3,0x24,0x1C,0xEC,0x6F,0x75,0x7A,0x61,0x24,0xE7,0x29,0xEC,0x5C,0x82,0x6E,0xF7,0x63,0x63,0x37,0x82,0x67,0x67,0x68,0x80,0x6E,0x15,0xF8,0xBC,0x7A,0x86,0x59,0xF8,0x81,0x84,0x58,0x2B,0xC7,0x7D,0x29,0x50,0xFD,0xCD,0x96,0xD3,0xF7,0x5A,0x92,0x97,0x50,0x21,0xEE,0xE6,0x6F,0x02,0xDB,0xD9,0xF6,0x0E,0x20,0x2F,0x0C,0x2A,0xD9,0x64,0xBF,0x82,0xF7,0x99,0x5E,0x7F,0x70,0x3B,0xC6,0x00,0x61,0xFE,0x21,0x9D,0x0F,0x6E,0xE0,0x1E,0x57,0x16,0x3A,0xE6,0xBD,0xE7,0xFF,0xB3,0xE1,0xA9,0xE3,0x38,0x4D,0x98,0x66,0x97,0xA8,0x03,0xB5,0x0B,0xA7,0x65,0x6F,0x4D,0x72,0xD7,0x62,0xA5,0x5F,0xA5,0xEA,0x2C,0xA8,0x0F,0x2C,0x2F,0x40,0x9C,0xC2,0xE2,0x09,0x3E,0x74,0x60,0x74,0xD6,0xAB,0xF4,0xEB,0xBA,0xFA,0x76,0xE9,0x23,0x09,0x20,0xF3,0x33,0x9C,0xF1,0xC8,0xF6,0x98,0x0A,0x5E,0x80,0x78,0x95,0xE6,0x9B,0xF5,0xD0,0x8A,0xD4,0x79,0x7C,0xE5,0x23,0x3F,0xD5,0xE5,0x26,0xBA,0x4A,0x5B,0x68,0x67,0x00,0xB7,0xB9,0x2D,0x89,0x30,0xA4,0x85,0x4B,0x93,0xB6,0xF9,0xB6,0x80,0x44,0x98,0x34,0xBF,0x53,0x1C,0x54,0x0E,0xB3,0x2D,0x7B,0xE8,0x93,0x7A,0x8F,0x91,0x01,0x92,0x8E,0x41,0x98,0x39,0xDD,0x58,0x16,0x5E,0x0B,0x8D,0x13,0x48,0x2C,0xE9,0xE4,0xE9,0x4F,0x85,0x9A,0x5F,0xA1,0x6B,0x32,0xD3,0x24,0x1C,0xEC,0x6F,0x75,0x7A,0x61,0x24,0xE7,0x29,0xEC,0x5C,0x82,0x6E,0xF7,0x63,0x63,0x37,0x82,0x67,0x67,0x68,0x80,0x6E,0x15,0xF8,0xBC,0x7A,0x86,0x59,0xF8,0x81,0x84,0x58,0x2B,0xC7,0x7D,0x29,0x50,0xFD,0xCD,0x96,0xD3,0xF7,0x5A,0x92,0x97,0x50,0x21,0xEE,0xE6,0x6F,0x02,0xDB,0xD9,0xF6,0x0E,0x20,0x2F,0x0C,0x2A,0xD9,0x64,0xBF,0x82,0xF7,0x99,0x5E,0x7F,0x70,0x3B,0xC6,0x00,0x61,0xFE,0x21,0x9D,0x0F,0x6E,0xE0,0x1E,0x57,0x16,0x3A,0xE6,0xBD,0xE7,0xFF,0xB3,0xE1,0xA9,0xE3,0x38,0x4D,0x98,0x66,0x97,0xA8,0x03,0xB5,0x0B,0xA7,0x65,0x6F,0x4D,0x72,0xD7,0x62,0xA5,0x5F,0xA5,0xEA,0x2C,0xA8,0x0F,0x2C,0x2F,0x40,0x9C,0xC2,0xE2,0x09,0x3E,0x74,0x60,0x74,0xD6,0xAB,0xF4,0xEB,0xBA,0xFA,0x76,0xE9,0x23,0x09,0x20,0xF3,0x33,0x9C,0xF1,0xC8,0xF6,0x98,0x0A,0x5E,0x80,0x78,0x95,0xE6,0x9B,0xF5,0xD0,0x8A,0xD4,0x79,0x7C,0xE5,0x23,0x3F,0xD5,0xE5,0x26,0xEA,0xC2,0x78,0x5A,0x85,0xDC,0x31,0x41,0x22,0x08,0x0F,0x40,0x6A,0x9A,0x39,0x3F,0xD9,0x6D,0x91,0x66,0x48,0xBF,0x84,0x15,0xDD,0xFA,0x4E,0x5E,0x87,0xAE,0x04,0xC7,0xF0,0x75,0x20,0x35,0x38,0xFC,0x68,0x26,0x89,0xDF,0x92,0x8E,0x70,0x20,0xDB,0x0E,0x67,0x41,0x48,0xCC,0x14,0xF6,0xA6,0x6A,0xC4,0xFC,0x0D,0x7E,0xF9,0x30,0x86,0x00,0x4C,0xF6,0x20,0xCC,0x76,0x39,0x59,0x79,0xE1,0xF3,0xA8,0x74,0x80,0x33,0x8D,0xE8,0x42,0x76,0x59,0xA9,0x12,0xD2,0x48,0xDE,0x0C,0xD4,0xA4,0x3B,0xE5,0x64,0x79,0x55,0x1E,0x71,0xAB,0x52,0xE4,0xFC,0xB0,0xC4,0xBE,0xCD,0x3F,0xFA,0x2F,0x91,0x8A,0x2F,0x23,0xFF,0x2D,0x8C,0x6B,0x8A,0x8E,0xF9,0x68,0xDA,0x24,0x60,0x4F,0x73,0x55,0x04,0xC8,0x83,0x1B,0x98,0x34,0xCC,0x88,0xB5,0x2E,0xA6,0xAD,0x2B,0xB2,0x19,0x1A,0x03,0x4E,0x80,0xAF,0x71,0x0B,0xAD,0x95,0x92,0xDC,0xF8,0x53,0x69,0x71,0x87,0xA0,0xB2,0x1D,0xEA,0x95,0x5D,0x26,0xD0,0x2A,0x8A,0x1E,0xAF,0xD1,0xFF,0x59,0x01,0x2F,0xE1,0xE4,0xB4,0xC1,0xD6,0x9C,0x42,0xA3,0x34,0x96,0x36,0x7E,0xAB,0x37,0x06,0x6D,0x15,0x55,0xF3,0xF9,0xFC,0x78,0xA5,0xB2,0x49,0x9D,0x38,0xBC,0x83,0x1E,0xB4,0x42,0x91,0x3D,0x42,0x67,0x99,0x39,0x03,0x76,0xD4,0x30,0xCA,0x17,0x29,0xDF,0x0F,0xB2,0xB6,0x9C,0x51,0xB2,0xA8,0x7B,0x08,0x9C,0xFF,0x53,0x58,0x47,0x0F,0x78,0x37,0xC7,0x2F,0x61,0x51,0x3C,0x6C,0x9A,0x0D,0x43,0x2E,0xBA,0x41,0x4B,0x39,0x6C,0x95,0x4E,0x33,0x95,0x16,0x5E,0xD9,0x4B,0x5C,0x9E,0x00,0x3B,0xDA,0xE1,0x98,0x69,0x06,0x8B,0xC8,0xD1,0xF5,0xD2,0x0F,0x40,0x46,0xDB,0x01,0xD4,0x0E,0xF9,0xDE,0x17,0x51,0xB8,0x76,0x75,0x4E,0x3E,0x76,0xC6,0xEB,0xB5,0x7B,0x04,0x8B,0xAC,0x54,0xA1,0xFF,0x1D,0x23,0x32,0x44,0xC2,0xC1,0xDD,0x45,0x2E,0x65,0xD1,0xCC,0xCA,0x0D,0xB4,0x53,0xEC,0x65,0x43,0x51,0x8F,0xED,0xD5,0xF5,0xDD,0x2A,0xCF,0xFA,0xBA,0x80,0x8C,0xDF,0x63,0x2C,0xE2,0xD4,0x92,0x6B,0x3F,0xBF,0x3A,0xD8,0xB0,0x10,0x94,0x38,0x09,0xD5,0x8F,0xE4,0x6B,0x79,0xFB,0x5B,0x74,0x96,0x0F,0xC1,0x68,0x93,0x5B,0xEE,0x6C,0xC5,0x33,0xF9,0xB1,0x7E,0x1F,0xF5,0x5D,0x35,0x9C,0xF1,0x55,0x73,0x83,0x36,0x34,0x84,0x9B,0x67,0x83,0x88,0x3B,0x55,0x8B,0x2A,0x01,0xB5,0x01,0xB4,0xC4,0x88,0x25,0x01,0x35,0x87,0xAA,0x8F,0x5A,0x6E,0x13,0x46,0x17,0x37,0x04,0xF5,0x53,0xEA,0x6A,0xE0,0x19,0x2F,0x46,0x48,0x59,0x6F,0x18,0x18,0x68,0x61,0xF3,0xF2,0x1E,0x2B,0x43,0xA2,0xDC,0xBD,0x8C,0xCC,0x79,0x96,0x1D,0x06,0xBD,0x4C,0x2A,0x48,0x5C,0x9B,0xDC,0x67,0x3E,0x76,0x54,0x7B,0xCA,0x7A,0xC8,0x39,0x33,0xD8,0x42,0x5F,0x84,0xEA,0x67,0x07,0x58,0xDA,0x21,0x40,0x97,0x3B,0xDB,0x6D,0x7E,0xD8,0x68,0xFD,0x8B,0xB3,0x18,0x3D,0xD4,0xF2,0x23,0x92,0x31,0x58,0x34,0xEC,0xB0,0x1D,0xE1,0xB9,0x1E,0x3B,0xD4,0x36,0x69,0xCB,0xB6,0xA5,0x88,0x28,0x54,0xBA,0xF1,0x18,0x68,0x5C,0xA1,0x96,0xC1,0x04,0x54,0xAE,0xE5,0xD3,0xD9,0xE1,0xF6,0xA2,0xE6,0x98,0x06,0x52,0x3E,0xCA,0xBF,0xF6,0x29,0xF1,0x22,0x57,0xDF,0x16,0x67,0xEB,0xE2,0x53,0xB5,0xAC,0x92,0xC3,0xF0,0xCF,0xB3,0xAF,0x51,0x0F,0x7B,0x4A,0xDA,0x21,0xC5,0xCE,0x3D,0x15,0x46,0x1C,0xAF,0xC1,0x74,0x9B,0xE1,0x04,0xC8,0xB9,0xE8,0x56,0x05,0xA3,0x67,0x19,0x40,0x10,0x90,0xE0,0x1C,0xF8,0x21,0xAB,0x64,0xB6,0x48,0xD0,0x81,0x5A,0x8A,0x8E,0x25,0x09,0x06,0xE6,0x9D,0xE5,0x00,0xE0,0xEE,0x4D,0x86,0x7C,0xD0,0xE8,0x69,0x74,0xF4,0xCB,0xEA,0x2C,0x0D,0x74,0xBC,0x35,0x5F,0xF0,0x5B,0x42,0x07,0x1F,0xE2,0xAB,0x44,0xC0,0x78,0x1C,0x0B,0x2C,0xAF,0xF8,0xF7,0x03,0x37,0x2A,0x39,0xDE,0x17,0x0E,0xF5,0xB1,0x2F,0xEE,0xE1,0xE7,0x95,0xBF,0x76,0x3F,0x7A,0x1B,0xCC,0xB2,0x3E,0xCE,0x25,0x9B,0x6D,0xA0,0xE5,0xBC,0x07,0xB5,0x25,0xBF,0x39,0x20,0x42,0xB4,0xD7,0x70,0x10,0x89,0xD5,0xAE,0x42,0xD3,0x0A,0xB0,0xD8,0x85,0x7B,0xBA,0xEE,0x73,0x60,0x5A,0xB8,0xB0,0x27,0xC3,0x3D,0x2E,0xDE,0x9F,0x84,0xFE,0xC0,0x2F,0x8A,0xA0,0x63,0x84,0xE2,0xD2,0x9A,0x63,0x09,0xA5,0xE9,0xE4,0xBB,0x26,0x07,0xBB,0x8A,0x06,0x2C,0x45,0x43,0x42,0xA8,0x5E,0xE1,0x7D,0x72,0x3D,0x1D,0xCC,0x66,0x0F,0x5A,0xF6,0x66,0xA8,0x2C,0xC5,0x06,0xAA,0x4E,0x15,0xC9,0x2E,0xEF,0x3E,0x1E,0xF3,0x16,0xD4,0xD6,0xDF,0xB4,0x19,0x5F,0x22,0xD5,0x81,0x15,0x1B,0x82,0x60,0x73,0xF7,0x4B,0xE1,0x5E,0x4A,0xAC,0x6E,0x3F,0x3A,0x75,0xB6,0xEE,0x52,0x9D,0xBB,0x47,0xC5,0xE2,0x1B,0x7B,0x2A,0x4E,0x89,0xF8,0x8E,0xFA,0x59,0x0A,0x25,0xE8,0xA5,0x4D,0xEF,0x4D,0x30,0xDE,0xF9,0x74,0xE3,0xB2,0x48,0xB3,0xD8,0x39,0xA6,0x0C,0x4A,0x22,0x87,0x87,0x82,0x43,0x5B,0xCE,0xF7,0x13,0xBD,0x68,0xAE,0x0E,0x0E,0xF9,0x4B,0xFE,0x64,0x79,0xA9,0xD4,0x5B,0x6C,0xBD,0xBF,0xCF,0x12,0x78,0x47,0x44,0x59,0xE4,0x0B,0xD2,0x71,0xAB,0x2D,0x82,0x0C,0x25,0x12,0x04,0x22,0xC4,0x61,0x4C,0xC2,0x2C,0x91,0x49,0xBC,0xFD,0x5B,0x2D,0x23,0xC6,0xA2,0x7A,0x98,0x58,0x1C,0x9A,0xF0,0x15,0x60,0xCA,0xC8,0x3E,0x44,0x63,0xB1,0x3C,0x84,0x5C,0xCC,0x17,0x95,0x21,0xBD,0xC2,0x4A,0x6C,0xB5,0xD2,0xA8,0x3A,0xF4,0xD1,0x8D,0x59,0x64,0x75,0x1F,0xC8,0x6E,0x69,0xEA,0x00,0x30,0xB9,0x20,0x11,0x88,0x53,0xBB,0xA8,0x31,0x73,0x0F,0x4C,0x8A,0x29,0x4F,0x00,0x26,0xFC,0x50,0x39,0x3C,0x98,0xD4,0x63,0x32,0x41,0x49,0x6B,0xA2,0xC7,0x4D,0xF0,0xF0,0x74,0x9F,0xB3,0xFF,0x87,0xAC,0x9F,0x22,0xE6,0x72,0x74,0x27,0xE1,0x83,0x4A,0xC3,0xEB,0x12,0x62,0xE1,0x83,0x18,0xB2,0xA2,0x37,0xD5,0x1A,0xCA,0x89,0x6E,0x91,0x06,0x1D,0x46,0x27,0xF0,0x52,0xA8,0x5B,0xC9,0xE9,0x5B,0x7F,0xDC,0x1F,0x06,0x8A,0x32,0x75,0xFC,0x98,0x03,0x33,0x27,0xB1,0x00,0x9D,0x28,0x72,0x54,0xDF,0x26,0xE2,0xBC,0xAA,0x3A,0xD6,0x4F,0x78,0xCA,0x41,0x23,0x95,0x1D,0x50,0xBA,0xF0,0xBF,0xA2,0x69,0xD4,0xD8,0x20,0x78,0xC6,0x86,0xA3,0x5D,0xD2,0xBD,0x55,0xBA,0x4A,0x5B,0x68,0x67,0x00,0xB7,0xB9,0x2D,0x89,0x30,0xA4,0x85,0x4B,0x93,0xB6,0xF9,0xB6,0x80,0x44,0x98,0x34,0xBF,0x53,0x1C,0x54,0x0E,0xB3,0x2D,0x7B,0xE8,0x93,0x7A,0x8F,0x91,0x01,0x92,0x8E,0x41,0x98,0x39,0xDD,0x58,0x16,0x5E,0x0B,0x8D,0x13,0x48,0x2C,0xE9,0xE4,0xE9,0x4F,0x85,0x9A,0x5F,0xA1,0x6B,0x32,0xD3,0x24,0x1C,0xEC,0x6F,0x75,0x7A,0x61,0x24,0xE7,0x29,0xEC,0x5C,0x82,0x6E,0xF7,0x63,0x63,0x37,0x82,0x67,0x67,0x68,0x80,0x6E,0x15,0xF8,0xBC,0x7A,0x86,0x59,0xF8,0x81,0x84,0x58,0x2B,0xC7,0x7D,0x29,0x50,0xFD,0xCD,0x96,0xD3,0xF7,0x5A,0x92,0x97,0x50,0x21,0xEE,0xE6,0x6F,0x02,0xDB,0xD9,0xF6,0x0E,0x20,0x2F,0x0C,0x2A,0xD9,0x64,0xBF,0x82,0xF7,0x99,0x5E,0x7F,0x70,0x3B,0xC6,0x00,0x61,0xFE,0x21,0x9D,0x0F,0x6E,0xE0,0x1E,0x57,0x16,0x3A,0xE6,0xBD,0xE7,0xFF,0xB3,0xE1,0xA9,0xE3,0x38,0x4D,0x98,0x66,0x97,0xA8,0x03,0xB5,0x0B,0xA7,0x65,0x6F,0x4D,0x72,0xD7,0x62,0xA5,0x5F,0xA5,0xEA,0x2C,0xA8,0x0F,0x2C,0x2F,0x40,0x9C,0xC2,0xE2,0x09,0x3E,0x74,0x60,0x74,0xD6,0xAB,0xF4,0xEB,0xBA,0xFA,0x76,0xE9,0x23,0x09,0x20,0xF3,0x33,0x9C,0xF1,0xC8,0xF6,0x98,0x0A,0x5E,0x80,0x78,0x95,0xE6,0x9B,0xF5,0xD0,0x8A,0xD4,0x79,0x7C,0xE5,0x23,0x3F,0xD5,0xE5,0x26,0xBA,0x4A,0x5B,0x68,0x67,0x00,0xB7,0xB9,0x2D,0x89,0x30,0xA4,0x85,0x4B,0x93,0xB6,0xF9,0xB6,0x80,0x44,0x98,0x34,0xBF,0x53,0x1C,0x54,0x0E,0xB3,0x2D,0x7B,0xE8,0x93,0x7A,0x8F,0x91,0x01,0x92,0x8E,0x41,0x98,0x39,0xDD,0x58,0x16,0x5E,0x0B,0x8D,0x13,0x48,0x2C,0xE9,0xE4,0xE9,0x4F,0x85,0x9A,0x5F,0xA1,0x6B,0x32,0xD3,0x24,0x1C,0xEC,0x6F,0x75,0x7A,0x61,0x24,0xE7,0x29,0xEC,0x5C,0x82,0x6E,0xF7,0x63,0x63,0x37,0x82,0x67,0x67,0x68,0x80,0x6E,0x15,0xF8,0xBC,0x7A,0x86,0x59,0xF8,0x81,0x84,0x58,0x2B,0xC7,0x7D,0x29,0x50,0xFD,0xCD,0x96,0xD3,0xF7,0x5A,0x92,0x97,0x50,0x21,0xEE,0xE6,0x6F,0x02,0xDB,0xD9,0xF6,0x0E,0x20,0x2F,0x0C,0x2A,0xD9,0x64,0xBF,0x82,0xF7,0x99,0x5E,0x7F,0x70,0x3B,0xC6,0x00,0x61,0xFE,0x21,0x9D,0x0F,0x6E,0xE0,0x1E,0x57,0x16,0x3A,0xE6,0xBD,0xE7,0xFF,0xB3,0xE1,0xA9,0xE3,0x38,0x4D,0x98,0x66,0x97,0xA8,0x03,0xB5,0x0B,0xA7,0x65,0x6F,0x4D,0x72,0xD7,0x62,0xA5,0x5F,0xA5,0xEA,0x2C,0xA8,0x0F,0x2C,0x2F,0x40,0x9C,0xC2,0xE2,0x09,0x3E,0x74,0x60,0x74,0xD6,0xAB,0xF4,0xEB,0xBA,0xFA,0x76,0xE9,0x23,0x09,0x20,0xF3,0x33,0x9C,0xF1,0xC8,0xF6,0x98,0x0A,0x5E,0x80,0x78,0x95,0xE6,0x9B,0xF5,0xD0,0x8A,0xD4,0x79,0x7C,0xE5,0x23,0x3F,0xD5,0xE5,0x26,0xEA,0xC2,0x78,0x5A,0x85,0xDC,0x31,0x41,0x22,0x08,0x0F,0x40,0x6A,0x9A,0x39,0x3F,0xD9,0x6D,0x91,0x66,0x48,0xBF,0x84,0x15,0xDD,0xFA,0x4E,0x5E,0x87,0xAE,0x04,0xC7,0xF0,0x75,0x20,0x35,0x38,0xFC,0x68,0x26,0x89,0xDF,0x92,0x8E,0x70,0x20,0xDB,0x0E,0x67,0x41,0x48,0xCC,0x14,0xF6,0xA6,0x6A,0xC4,0xFC,0x0D,0x7E,0xF9,0x30,0x86,0x00,0x4C,0xF6,0x20,0xCC,0x76,0x39,0x59,0x79,0xE1,0xF3,0xA8,0x74,0x80,0x33,0x8D,0xE8,0x42,0x76,0x59,0xA9,0x12,0xD2,0x48,0xDE,0x0C,0xD4,0xA4,0x3B,0xE5,0x64,0x79,0x55,0x1E,0x71,0xAB,0x52,0xE4,0xFC,0xB0,0xC4,0xBE,0xCD,0x3F,0xFA,0x2F,0x91,0x8A,0x2F,0x23,0xFF,0x2D,0x8C,0x6B,0x8A,0x8E,0xF9,0x68,0xDA,0x24,0x60,0x4F,0x73,0x55,0x04,0xC8,0x83,0x1B,0x98,0x34,0xCC,0x88,0xB5,0x2E,0xA6,0xAD,0x2B,0xB2,0x19,0x1A,0x03,0x4E,0x80,0xAF,0x71,0x0B,0xAD,0x95,0x92,0xDC,0xF8,0x53,0x69,0x71,0x87,0xA0,0xB2,0x1D,0xEA,0x95,0x5D,0x26,0xD0,0x2A,0x8A,0x1E,0xAF,0xD1,0xFF,0x59,0x01,0x2F,0xE1,0xE4,0xB4,0xC1,0xD6,0x9C,0x42,0xA3,0x34,0x96,0x36,0x7E,0xAB,0x37,0x06,0x6D,0x15,0x55,0xF3,0xF9,0xFC,0x78,0xA5,0xB2,0x49,0x9D,0x38,0xBC,0x83,0x1E,0xB4,0x42,0x91,0x3D,0x42,0x67,0x99,0x39,0x03,0x76,0xD4,0x30,0xCA,0x17,0x29,0xDF,0x0F,0xB2,0xB6,0x9C,0x51,0xB2,0xA8,0x7B,0x08,0x9C,0xFF,0x53,0x58,0x47,0x0F,0x78,0x37,0xC7,0x2F,0x61,0x51,0x3C,0x6C,0x9A,0x0D,0x43,0x2E,0xBA,0x41,0x4B,0x39,0x6C,0x95,0x4E,0x33,0x95,0x16,0x5E,0xD9,0x4B,0x5C,0x9E,0x00,0x3B,0xDA,0xE1,0x98,0x69,0x06,0x8B,0xC8,0xD1,0xF5,0xD2,0x0F,0x40,0x46,0xDB,0x01,0xD4,0x0E,0xF9,0xDE,0x17,0x51,0xB8,0x76,0x75,0x4E,0x3E,0x76,0xC6,0xEB,0xB5,0x7B,0x04,0x8B,0xAC,0x54,0xA1,0xFF,0x1D,0x23,0x32,0x44,0xC2,0xC1,0xDD,0x45,0x2E,0x65,0xD1,0xCC,0xCA,0x0D,0xB4,0x53,0xEC,0x65,0x43,0x51,0x8F,0xED,0xD5,0xF5,0xDD,0x2A,0xCF,0xFA,0xBA,0x80,0x8C,0xDF,0x63,0x2C,0xE2,0xD4,0x92,0x6B,0x3F,0xBF,0x3A,0xD8,0xB0,0x10,0x94,0x38,0x09,0xD5,0x8F,0xE4,0x6B,0x79,0xFB,0x5B,0x74,0x96,0x0F,0xC1,0x68,0x93,0x5B,0xEE,0x6C,0xC5,0x33,0xF9,0xB1,0x7E,0x1F,0xF5,0x5D,0x35,0x9C,0xF1,0x55,0x73,0x83,0x36,0x34,0x84,0x9B,0x67,0x83,0x88,0x3B,0x55,0x8B,0x2A,0x01,0xB5,0x01,0xB4,0xC4,0x88,0x25,0x01,0x35,0x87,0xAA,0x8F,0x5A,0x6E,0x13,0x46,0x17,0x37,0x04,0xF5,0x53,0xEA,0x6A,0xE0,0x19,0x2F,0x46,0x48,0x59,0x6F,0x18,0x18,0x68,0x61,0xF3,0xF2,0x1E,0x2B,0x43,0xA2,0xDC,0xBD,0x8C,0xCC,0x79,0x96,0x1D,0x06,0xBD,0x4C,0x2A,0x48,0x5C,0x9B,0xDC,0x67,0x3E,0x76,0x54,0x7B,0xCA,0x7A,0xC8,0x39,0x33,0xD8,0x42,0x5F,0x84,0xEA,0x67,0x07,0x58,0xDA,0x21,0x40,0x97,0x3B,0xDB,0x6D,0x7E,0xD8,0x68,0xFD,0x8B,0xB3,0x18,0x3D,0xD4,0xF2,0x23,0x92,0x31,0x58,0x34,0xEC,0xB0,0x1D,0xE1,0xB9,0x1E,0x3B,0xD4,0x36,0x69,0xCB,0xB6,0xA5,0x88,0x28,0x54,0xBA,0xF1,0x18,0x68,0x5C,0xA1,0x96,0xC1,0x04,0x54,0xAE,0xE5,0xD3,0xD9,0xE1,0xF6,0xA2,0xE6,0x98,0x06,0x52,0x3E,0xCA,0xBF,0xF6,0x29,0xF1,0x22,0x57,0xDF,0x16,0x67,0xEB,0xE2,0x53,0xB5,0xAC,0x92,0xC3,0xF0,0xCF,0xB3,0xAF,0x51,0x0F,0x7B,0x4A,0xDA,0x21,0xC5,0xCE,0x3D,0x15,0x46,0x1C,0xAF,0xC1,0x74,0x9B,0xE1,0x04,0xC8,0xB9,0xE8,0x56,0x05,0xA3,0x67,0x19,0x40,0x10,0x90,0xE0,0x1C,0xF8,0x21,0xAB,0x64,0xB6,0x48,0xD0,0x81,0x5A,0x8A,0x8E,0x25,0x09,0x06,0xE6,0x9D,0xE5,0x00,0xE0,0xEE,0x4D,0x86,0x7C,0xD0,0xE8,0x69,0x74,0xF4,0xCB,0xEA,0x2C,0x0D,0x74,0xBC,0x35,0x5F,0xF0,0x5B,0x42,0x07,0x1F,0xE2,0xAB,0x44,0xC0,0x78,0x1C,0x0B,0x2C,0xAF,0xF8,0xF7,0x03,0x37,0x2A,0x39,0xDE,0x17,0x0E,0xF5,0xB1,0x2F,0xEE,0xE1,0xE7,0x95,0xBF,0x76,0x3F,0x7A,0x1B,0xCC,0xB2,0x3E,0xCE,0x25,0x9B,0x6D,0xA0,0xE5,0xBC,0x07,0xB5,0x25,0xBF,0x39,0x20,0x42,0xB4,0xD7,0x70,0x10,0x89,0xD5,0xAE,0x42,0xD3,0x0A,0xB0,0xD8,0x85,0x7B,0xBA,0xEE,0x73,0x60,0x5A,0xB8,0xB0,0x27,0xC3,0x3D,0x2E,0xDE,0x9F,0x84,0xFE,0xC0,0x2F,0x8A,0xA0,0x63,0x84,0xE2,0xD2,0x9A,0x63,0x09,0xA5,0xE9,0xE4,0xBB,0x26,0x07,0xBB,0x8A,0x06,0x2C,0x45,0x43,0x42,0xA8,0x5E,0xE1,0x7D,0x72,0x3D,0x1D,0xCC,0x66,0x0F,0x5A,0xF6,0x66,0xA8,0x2C,0xC5,0x06,0xAA,0x4E,0x15,0xC9,0x2E,0xEF,0x3E,0x1E,0xF3,0x16,0xD4,0xD6,0xDF,0xB4,0x19,0x5F,0x22,0xD5,0x81,0x15,0x1B,0x82,0x60,0x73,0xF7,0x4B,0xE1,0x5E,0x4A,0xAC,0x6E,0x3F,0x3A,0x75,0xB6,0xEE,0x52,0x9D,0xBB,0x47,0xC5,0xE2,0x1B,0x7B,0x2A,0x4E,0x89,0xF8,0x8E,0xFA,0x59,0x0A,0x25,0xE8,0xA5,0x4D,0xEF,0x4D,0x30,0xDE,0xF9,0x74,0xE3,0xB2,0x48,0xB3,0xD8,0x39,0xA6,0x0C,0x4A,0x22,0x87,0x87,0x82,0x43,0x5B,0xCE,0xF7,0x13,0xBD,0x68,0xAE,0x0E,0x0E,0xF9,0x4B,0xFE,0x64,0x79,0xA9,0xD4,0x5B,0x6C,0xBD,0xBF,0xCF,0x12,0x78,0x47,0x44,0x59,0xE4,0x0B,0xD2,0x71,0xAB,0x2D,0x82,0x0C,0x25,0x12,0x04,0x22,0xC4,0x61,0x4C,0xC2,0x2C,0x91,0x49,0xBC,0xFD,0x5B,0x2D,0x23,0xC6,0xA2,0x7A,0x98,0x58,0x1C,0x9A,0xF0,0x15,0x60,0xCA,0xC8,0x3E,0x44,0x63,0xB1,0x3C,0x84,0x5C,0xCC,0x17,0x95,0x21,0xBD,0xC2,0x4A,0x6C,0xB5,0xD2,0xA8,0x3A,0xF4,0xD1,0x8D,0x59,0x64,0x75,0x1F,0xC8,0x6E,0x69,0xEA,0x00,0x30,0xB9,0x20,0x11,0x88,0x53,0xBB,0xA8,0x31,0x73,0x0F,0x4C,0x8A,0x29,0x4F,0x00,0x26,0xFC,0x50,0x39,0x3C,0x98,0xD4,0x63,0x32,0x41,0x49,0x6B,0xA2,0xC7,0x4D,0xF0,0xF0,0x74,0x9F,0xB3,0xFF,0x87,0xAC,0x9F,0x22,0xE6,0x72,0x74,0x27,0xE1,0x83,0x4A,0xC3,0xEB,0x12,0x62,0xE1,0x83,0x18,0xB2,0xA2,0x37,0xD5,0x1A,0xCA,0x89,0x6E,0x91,0x06,0x1D,0x46,0x27,0xF0,0x52,0xA8,0x5B,0xC9,0xE9,0x5B,0x7F,0xDC,0x1F,0x06,0x8A,0x32,0x75,0xFC,0x98,0x03,0x33,0x27,0xB1,0x00,0x9D,0x28,0x72,0x54,0xDF,0x26,0xE2,0xBC,0xAA,0x3A,0xD6,0x4F,0x78,0xCA,0x41,0x23,0x95,0x1D,0x50,0xBA,0xF0,0xBF,0xA2,0x69,0xD4,0xD8,0x20,0x78,0xC6,0x86,0xA3,0x5D,0xD2,0xBD,0x55,0xBA,0x4A,0x5B,0x68,0x67,0x00,0xB7,0xB9,0x2D,0x89,0x30,0xA4,0x85,0x4B,0x93,0xB6,0xF9,0xB6,0x80,0x44,0x98,0x34,0xBF,0x53,0x1C,0x54,0x0E,0xB3,0x2D,0x7B,0xE8,0x93,0x7A,0x8F,0x91,0x01,0x92,0x8E,0x41,0x98,0x39,0xDD,0x58,0x16,0x5E,0x0B,0x8D,0x13,0x48,0x2C,0xE9,0xE4,0xE9,0x4F,0x85,0x9A,0x5F,0xA1,0x6B,0x32,0xD3,0x24,0x1C,0xEC,0x6F,0x75,0x7A,0x61,0x24,0xE7,0x29,0xEC,0x5C,0x82,0x6E,0xF7,0x63,0x63,0x37,0x82,0x67,0x67,0x68,0x80,0x6E,0x15,0xF8,0xBC,0x7A,0x86,0x59,0xF8,0x81,0x84,0x58,0x2B,0xC7,0x7D,0x29,0x50,0xFD,0xCD,0x96,0xD3,0xF7,0x5A,0x92,0x97,0x50,0x21,0xEE,0xE6,0x6F,0x02,0xDB,0xD9,0xF6,0x0E,0x20,0x2F,0x0C,0x2A,0xD9,0x64,0xBF,0x82,0xF7,0x99,0x5E,0x7F,0x70,0x3B,0xC6,0x00,0x61,0xFE,0x21,0x9D,0x0F,0x6E,0xE0,0x1E,0x57,0x16,0x3A,0xE6,0xBD,0xE7,0xFF,0xB3,0xE1,0xA9,0xE3,0x38,0x4D,0x98,0x66,0x97,0xA8,0x03,0xB5,0x0B,0xA7,0x65,0x6F,0x4D,0x72,0xD7,0x62,0xA5,0x5F,0xA5,0xEA,0x2C,0xA8,0x0F,0x2C,0x2F,0x40,0x9C,0xC2,0xE2,0x09,0x3E,0x74,0x60,0x74,0xD6,0xAB,0xF4,0xEB,0xBA,0xFA,0x76,0xE9,0x23,0x09,0x20,0xF3,0x33,0x9C,0xF1,0xC8,0xF6,0x98,0x0A,0x5E,0x80,0x78,0x95,0xE6,0x9B,0xF5,0xD0,0x8A,0xD4,0x79,0x7C,0xE5,0x23,0x3F,0xD5,0xE5,0x26,0xBA,0x4A,0x5B,0x68,0x67,0x00,0xB7,0xB9,0x2D,0x89,0x30,0xA4,0x85,0x4B,0x93,0xB6,0xF9,0xB6,0x80,0x44,0x98,0x34,0xBF,0x53,0x1C,0x54,0x0E,0xB3,0x2D,0x7B,0xE8,0x93,0x7A,0x8F,0x91,0x01,0x92,0x8E,0x41,0x98,0x39,0xDD,0x58,0x16,0x5E,0x0B,0x8D,0x13,0x48,0x2C,0xE9,0xE4,0xE9,0x4F,0x85,0x9A,0x5F,0xA1,0x6B,0x32,0xD3,0x24,0x1C,0xEC,0x6F,0x75,0x7A,0x61,0x24,0xE7,0x29,0xEC,0x5C,0x82,0x6E,0xF7,0x63,0x63,0x37,0x82,0x67,0x67,0x68,0x80,0x6E,0x15,0xF8,0xBC,0x7A,0x86,0x59,0xF8,0x81,0x84,0x58,0x2B,0xC7,0x7D,0x29,0x50,0xFD,0xCD,0x96,0xD3,0xF7,0x5A,0x92,0x97,0x50,0x21,0xEE,0xE6,0x6F,0x02,0xDB,0xD9,0xF6,0x0E,0x20,0x2F,0x0C,0x2A,0xD9,0x64,0xBF,0x82,0xF7,0x99,0x5E,0x7F,0x70,0x3B,0xC6,0x00,0x61,0xFE,0x21,0x9D,0x0F,0x6E,0xE0,0x1E,0x57,0x16,0x3A,0xE6,0xBD,0xE7,0xFF,0xB3,0xE1,0xA9,0xE3,0x38,0x4D,0x98,0x66,0x97,0xA8,0x03,0xB5,0x0B,0xA7,0x65,0x6F,0x4D,0x72,0xD7,0x62,0xA5,0x5F,0xA5,0xEA,0x2C,0xA8,0x0F,0x2C,0x2F,0x40,0x9C,0xC2,0xE2,0x09,0x3E,0x74,0x60,0x74,0xD6,0xAB,0xF4,0xEB,0xBA,0xFA,0x76,0xE9,0x23,0x09,0x20,0xF3,0x33,0x9C,0xF1,0xC8,0xF6,0x98,0x0A,0x5E,0x80,0x78,0x95,0xE6,0x9B,0xF5,0xD0,0x8A,0xD4,0x79,0x7C,0xE5,0x23,0x3F,0xD5,0xE5,0x26,0xEA,0xC2,0x78,0x5A,0x85,0xDC,0x31,0x41,0x22,0x08,0x0F,0x40,0x6A,0x9A,0x39,0x3F,0xD9,0x6D,0x91,0x66,0x48,0xBF,0x84,0x15,0xDD,0xFA,0x4E,0x5E,0x87,0xAE,0x04,0xC7,0xF0,0x75,0x20,0x35,0x38,0xFC,0x68,0x26,0x89,0xDF,0x92,0x8E,0x70,0x20,0xDB,0x0E,0x67,0x41,0x48,0xCC,0x14,0xF6,0xA6,0x6A,0xC4,0xFC,0x0D,0x7E,0xF9,0x30,0x86,0x00,0x4C,0xF6,0x20,0xCC,0x76,0x39,0x59,0x79,0xE1,0xF3,0xA8,0x74,0x80,0x33,0x8D,0xE8,0x42,0x76,0x59,0xA9,0x12,0xD2,0x48,0xDE,0x0C,0xD4,0xA4,0x3B,0xE5,0x64,0x79,0x55,0x1E,0x71,0xAB,0x52,0xE4,0xFC,0xB0,0xC4,0xBE,0xCD,0x3F,0xFA,0x2F,0x91,0x8A,0x2F,0x23,0xFF,0x2D,0x8C,0x6B,0x8A,0x8E,0xF9,0x68,0xDA,0x24,0x60,0x4F,0x73,0x55,0x04,0xC8,0x83,0x1B,0x98,0x34,0xCC,0x88,0xB5,0x2E,0xA6,0xAD,0x2B,0xB2,0x19,0x1A,0x03,0x4E,0x80,0xAF,0x71,0x0B,0xAD,0x95,0x92,0xDC,0xF8,0x53,0x69,0x71,0x87,0xA0,0xB2,0x1D,0xEA,0x95,0x5D,0x26,0xD0,0x2A,0x8A,0x1E,0xAF,0xD1,0xFF,0x59,0x01,0x2F,0xE1,0xE4,0xB4,0xC1,0xD6,0x9C,0x42,0xA3,0x34,0x96,0x36,0x7E,0xAB,0x37,0x06,0x6D,0x15,0x55,0xF3,0xF9,0xFC,0x78,0xA5,0xB2,0x49,0x9D,0x38,0xBC,0x83,0x1E,0xB4,0x42,0x91,0x3D,0x42,0x67,0x99,0x39,0x03,0x76,0xD4,0x30,0xCA,0x17,0x29,0xDF,0x0F,0xB2,0xB6,0x9C,0x51,0xB2,0xA8,0x7B,0x08,0x9C,0xFF,0x53,0x58,0x47,0x0F,0x78,0x37,0xC7,0x2F,0x61,0x51,0x3C,0x6C,0x9A,0x0D,0x43,0x2E,0xBA,0x41,0x4B,0x39,0x6C,0x95,0x4E,0x33,0x95,0x16,0x5E,0xD9,0x4B,0x5C,0x9E,0x00,0x3B,0xDA,0xE1,0x98,0x69,0x06,0x8B,0xC8,0xD1,0xF5,0xD2,0x0F,0x40,0x46,0xDB,0x01,0xD4,0x0E,0xF9,0xDE,0x17,0x51,0xB8,0x76,0x75,0x4E,0x3E,0x76,0xC6,0xEB,0xB5,0x7B,0x04,0x8B,0xAC,0x54,0xA1,0xFF,0x1D,0x23,0x32,0x44,0xC2,0xC1,0xDD,0x45,0x2E,0x65,0xD1,0xCC,0xCA,0x0D,0xB4,0x53,0xEC,0x65,0x43,0x51,0x8F,0xED,0xD5,0xF5,0xDD,0x2A,0xCF,0xFA,0xBA,0x80,0x8C,0xDF,0x63,0x2C,0xE2,0xD4,0x92,0x6B,0x3F,0xBF,0x3A,0xD8,0xB0,0x10,0x94,0x38,0x09,0xD5,0x8F,0xE4,0x6B,0x79,0xFB,0x5B,0x74,0x96,0x0F,0xC1,0x68,0x93,0x5B,0xEE,0x6C,0xC5,0x33,0xF9,0xB1,0x7E,0x1F,0xF5,0x5D,0x35,0x9C,0xF1,0x55,0x73,0x83,0x36,0x34,0x84,0x9B,0x67,0x83,0x88,0x3B,0x55,0x8B,0x2A,0x01,0xB5,0x01,0xB4,0xC4,0x88,0x25,0x01,0x35,0x87,0xAA,0x8F,0x5A,0x6E,0x13,0x46,0x17,0x37,0x04,0xF5,0x53,0xEA,0x6A,0xE0,0x19,0x2F,0x46,0x48,0x59,0x6F,0x18,0x18,0x68,0x61,0xF3,0xF2,0x1E,0x2B,0x43,0xA2,0xDC,0xBD,0x8C,0xCC,0x79,0x96,0x1D,0x06,0xBD,0x4C,0x2A,0x48,0x5C,0x9B,0xDC,0x67,0x3E,0x76,0x54,0x7B,0xCA,0x7A,0xC8,0x39,0x33,0xD8,0x42,0x5F,0x84,0xEA,0x67,0x07,0x58,0xDA,0x21,0x40,0x97,0x3B,0xDB,0x6D,0x7E,0xD8,0x68,0xFD,0x8B,0xB3,0x18,0x3D,0xD4,0xF2,0x23,0x92,0x31,0x58,0x34,0xEC,0xB0,0x1D,0xE1,0xB9,0x1E,0x3B,0xD4,0x36,0x69,0xCB,0xB6,0xA5,0x88,0x28,0x54,0xBA,0xF1,0x18,0x68,0x5C,0xA1,0x96,0xC1,0x04,0x54,0xAE,0xE5,0xD3,0xD9,0xE1,0xF6,0xA2,0xE6,0x98,0x06,0x52,0x3E,0xCA,0xBF,0xF6,0x29,0xF1,0x22,0x57,0xDF,0x16,0x67,0xEB,0xE2,0x53,0xB5,0xAC,0x92,0xC3,0xF0,0xCF,0xB3,0xAF,0x51,0x0F,0x7B,0x4A,0xDA,0x21,0xC5,0xCE,0x3D,0x15,0x46,0x1C,0xAF,0xC1,0x74,0x9B,0xE1,0x04,0xC8,0xB9,0xE8,0x56,0x05,0xA3,0x67,0x19,0x40,0x10,0x90,0xE0,0x1C,0xF8,0x21,0xAB,0x64,0xB6,0x48,0xD0,0x81,0x5A,0x8A,0x8E,0x25,0x09,0x06,0xE6,0x9D,0xE5,0x00,0xE0,0xEE,0x4D,0x86,0x7C,0xD0,0xE8,0x69,0x74,0xF4,0xCB,0xEA,0x2C,0x0D,0x74,0xBC,0x35,0x5F,0xF0,0x5B,0x42,0x07,0x1F,0xE2,0xAB,0x44,0xC0,0x78,0x1C,0x0B,0x2C,0xAF,0xF8,0xF7,0x03,0x37,0x2A,0x39,0xDE,0x17,0x0E,0xF5,0xB1,0x2F,0xEE,0xE1,0xE7,0x95,0xBF,0x76,0x3F,0x7A,0x1B,0xCC,0xB2,0x3E,0xCE,0x25,0x9B,0x6D,0xA0,0xE5,0xBC,0x07,0xB5,0x25,0xBF,0x39,0x20,0x42,0xB4,0xD7,0x70,0x10,0x89,0xD5,0xAE,0x42,0xD3,0x0A,0xB0,0xD8,0x85,0x7B,0xBA,0xEE,0x73,0x60,0x5A,0xB8,0xB0,0x27,0xC3,0x3D,0x2E,0xDE,0x9F,0x84,0xFE,0xC0,0x2F,0x8A,0xA0,0x63,0x84,0xE2,0xD2,0x9A,0x63,0x09,0xA5,0xE9,0xE4,0xBB,0x26,0x07,0xBB,0x8A,0x06,0x2C,0x45,0x43,0x42,0xA8,0x5E,0xE1,0x7D,0x72,0x3D,0x1D,0xCC,0x66,0x0F,0x5A,0xF6,0x66,0xA8,0x2C,0xC5,0x06,0xAA,0x4E,0x15,0xC9,0x2E,0xEF,0x3E,0x1E,0xF3,0x16,0xD4,0xD6,0xDF,0xB4,0x19,0x5F,0x22,0xD5,0x81,0x15,0x1B,0x82,0x60,0x73,0xF7,0x4B,0xE1,0x5E,0x4A,0xAC,0x6E,0x3F,0x3A,0x75,0xB6,0xEE,0x52,0x9D,0xBB,0x47,0xC5,0xE2,0x1B,0x7B,0x2A,0x4E,0x89,0xF8,0x8E,0xFA,0x59,0x0A,0x25,0xE8,0xA5,0x4D,0xEF,0x4D,0x30,0xDE,0xF9,0x74,0xE3,0xB2,0x48,0xB3,0xD8,0x39,0xA6,0x0C,0x4A,0x22,0x87,0x87,0x82,0x43,0x5B,0xCE,0xF7,0x13,0xBD,0x68,0xAE,0x0E,0x0E,0xF9,0x4B,0xFE,0x64,0x79,0xA9,0xD4,0x5B,0x6C,0xBD,0xBF,0xCF,0x12,0x78,0x47,0x44,0x59,0xE4,0x0B,0xD2,0x71,0xAB,0x2D,0x82,0x0C,0x25,0x12,0x04,0x22,0xC4,0x61,0x4C,0xC2,0x2C,0x91,0x49,0xBC,0xFD,0x5B,0x2D,0x23,0xC6,0xA2,0x7A,0x98,0x58,0x1C,0x9A,0xF0,0x15,0x60,0xCA,0xC8,0x3E,0x44,0x63,0xB1,0x3C,0x84,0x5C,0xCC,0x17,0x95,0x21,0xBD,0xC2,0x4A,0x6C,0xB5,0xD2,0xA8,0x3A,0xF4,0xD1,0x8D,0x59,0x64,0x75,0x1F,0xC8,0x6E,0x69,0xEA,0x00,0x30,0xB9,0x20,0x11,0x88,0x53,0xBB,0xA8,0x31,0x73,0x0F,0x4C,0x8A,0x29,0x4F,0x00,0x26,0xFC,0x50,0x39,0x3C,0x98,0xD4,0x63,0x32,0x41,0x49,0x6B,0xA2,0xC7,0x4D,0xF0,0xF0,0x74,0x9F,0xB3,0xFF,0x87,0xAC,0x9F,0x22,0xE6,0x72,0x74,0x27,0xE1,0x83,0x4A,0xC3,0xEB,0x12,0x62,0xE1,0x83,0x18,0xB2,0xA2,0x37,0xD5,0x1A,0xCA,0x89,0x6E,0x91,0x06,0x1D,0x46,0x27,0xF0,0x52,0xA8,0x5B,0xC9,0xE9,0x5B,0x7F,0xDC,0x1F,0x06,0x8A,0x32,0x75,0xFC,0x98,0x03,0x33,0x27,0xB1,0x00,0x9D,0x28,0x72,0x54,0xDF,0x26,0xE2,0xBC,0xAA,0x3A,0xD6,0x4F,0x78,0xCA,0x41,0x23,0x95,0x1D,0x50,0xBA,0xF0,0xBF,0xA2,0x69,0xD4,0xD8,0x20,0x78,0xC6,0x86,0xA3,0x5D,0xD2,0xBD,0x55,0xBA,0x4A,0x5B,0x68,0x67,0x00,0xB7,0xB9,0x2D,0x89,0x30,0xA4,0x85,0x4B,0x93,0xB6,0xF9,0xB6,0x80,0x44,0x98,0x34,0xBF,0x53,0x1C,0x54,0x0E,0xB3,0x2D,0x7B,0xE8,0x93,0x7A,0x8F,0x91,0x01,0x92,0x8E,0x41,0x98,0x39,0xDD,0x58,0x16,0x5E,0x0B,0x8D,0x13,0x48,0x2C,0xE9,0xE4,0xE9,0x4F,0x85,0x9A,0x5F,0xA1,0x6B,0x32,0xD3,0x24,0x1C,0xEC,0x6F,0x75,0x7A,0x61,0x24,0xE7,0x29,0xEC,0x5C,0x82,0x6E,0xF7,0x63,0x63,0x37,0x82,0x67,0x67,0x68,0x80,0x6E,0x15,0xF8,0xBC,0x7A,0x86,0x59,0xF8,0x81,0x84,0x58,0x2B,0xC7,0x7D,0x29,0x50,0xFD,0xCD,0x96,0xD3,0xF7,0x5A,0x92,0x97,0x50,0x21,0xEE,0xE6,0x6F,0x02,0xDB,0xD9,0xF6,0x0E,0x20,0x2F,0x0C,0x2A,0xD9,0x64,0xBF,0x82,0xF7,0x99,0x5E,0x7F,0x70,0x3B,0xC6,0x00,0x61,0xFE,0x21,0x9D,0x0F,0x6E,0xE0,0x1E,0x57,0x16,0x3A,0xE6,0xBD,0xE7,0xFF,0xB3,0xE1,0xA9,0xE3,0x38,0x4D,0x98,0x66,0x97,0xA8,0x03,0xB5,0x0B,0xA7,0x65,0x6F,0x4D,0x72,0xD7,0x62,0xA5,0x5F,0xA5,0xEA,0x2C,0xA8,0x0F,0x2C,0x2F,0x40,0x9C,0xC2,0xE2,0x09,0x3E,0x74,0x60,0x74,0xD6,0xAB,0xF4,0xEB,0xBA,0xFA,0x76,0xE9,0x23,0x09,0x20,0xF3,0x33,0x9C,0xF1,0xC8,0xF6,0x98,0x0A,0x5E,0x80,0x78,0x95,0xE6,0x9B,0xF5,0xD0,0x8A,0xD4,0x79,0x7C,0xE5,0x23,0x3F,0xD5,0xE5,0x26};
     Base_tm *testTM = new Short_tm;
     uint8_t temp8;
-    temp8 = 0xA;
-    PUTtmid(testTM->fields, temp8);
-    temp8 = 0x00;
-    PUTshort_or_long_tm(testTM->fields, temp8);
-    testTM->TM_string[0] = TMID_ACK_L1 << 4;
-    testTM->TM_string[1] = gTOTAL_INCORRECT_SIZE_TC & 0xFF;
-    testTM->TM_string[2] = gTOTAL_CRC_FAIL_TC & 0xFF;
-    testTM->TM_string[3] = (gMASTER_STATE << 4) & 0xF0;
+    
+    for(int i = 0 ; i < 20 ; i++){
+        
+        testTM->TM_string = array+ i*134;
+        testTM->next_TM = new Short_tm;
+        testTM = testTM->next_TM;
+        temp8 = 0xFF;
+        PUTshort_or_long_tm(testTM->fields, temp8);
+        
+    }
+    
     testTM->next_TM = NULL;
     gPC.puts("sending now\r\n");
+
     snd_tm.head_pointer(testTM);
     adf_not_SDcard();
-    gPC.puts("Completed testing ADF\r\n");
-    
-    int theAcount = 0;
-    while(true){
-        if(theAcount >= 700000){
-            theAcount = 0;
-            //gLEDR = !gLEDR;
-        }
-        else{
-            theAcount++;
-        }
-    }
+    gPC.puts("Completed sending to ADF\r\n");
 }
\ No newline at end of file