diff --git a/Documents/Debugging/Case.PNG b/Documents/Debugging/Case.PNG
new file mode 100644
index 0000000..93ca752
Binary files /dev/null and b/Documents/Debugging/Case.PNG differ
diff --git a/Documents/Debugging/Comment_issue.JPG b/Documents/Debugging/Comment_issue.JPG
new file mode 100644
index 0000000..608de51
Binary files /dev/null and b/Documents/Debugging/Comment_issue.JPG differ
diff --git a/Documents/Debugging/Function.PNG b/Documents/Debugging/Function.PNG
new file mode 100644
index 0000000..bc8f865
Binary files /dev/null and b/Documents/Debugging/Function.PNG differ
diff --git a/Documents/Debugging/Print.PNG b/Documents/Debugging/Print.PNG
new file mode 100644
index 0000000..31523e1
Binary files /dev/null and b/Documents/Debugging/Print.PNG differ
diff --git a/Documents/SG_Firmware_API_v82.doc b/Documents/SG_Firmware_API_v82.doc
new file mode 100644
index 0000000..2e58d68
Binary files /dev/null and b/Documents/SG_Firmware_API_v82.doc differ
diff --git a/Documents/Tables_SG_20_v06.xlsx b/Documents/Tables_SG_20_v06.xlsx
new file mode 100644
index 0000000..18d9558
Binary files /dev/null and b/Documents/Tables_SG_20_v06.xlsx differ
diff --git a/Documents/Ui_Description_v3.doc b/Documents/Ui_Description_v3.doc
new file mode 100644
index 0000000..47e63be
Binary files /dev/null and b/Documents/Ui_Description_v3.doc differ
diff --git a/Errors.txt b/Errors.txt
new file mode 100644
index 0000000..e69de29
diff --git a/OpenSprinkler.cpp b/OpenSprinkler.cpp
index c074ff6..8922c44 100644
--- a/OpenSprinkler.cpp
+++ b/OpenSprinkler.cpp
@@ -20,6 +20,7 @@
* along with this program. If not, see
* .
*/
+
#if not defined(ARDUINO)
#include
#endif
@@ -40,10 +41,12 @@ byte OpenSprinkler::station_bits[MAX_EXT_BOARDS+1];
byte OpenSprinkler::engage_booster;
#endif
+//@tcsaba: additional variables
+ulong OpenSprinkler::s1sensor_lasttime;
+ulong OpenSprinkler::s2sensor_lasttime;
+uint16_t OpenSprinkler::current_offset;
+
ulong OpenSprinkler::sensor_lasttime;
-ulong OpenSprinkler::flowcount_log_start;
-ulong OpenSprinkler::flowcount_rt;
-ulong OpenSprinkler::flowcount_time_ms;
ulong OpenSprinkler::raindelay_start_time;
byte OpenSprinkler::button_timeout;
ulong OpenSprinkler::checkwt_lasttime;
@@ -133,6 +136,31 @@ const char op_json_names[] =
"dns4\0"
"sar\0\0"
"ife\0\0"
+ "ufs\0\0" // @tcsaba: new options see at Tables_SG_21_xxx file
+ "ufl\0\0"
+ "ufa\0\0"
+ "ufr\0\0"
+ "ufg\0\0"
+ "ufm\0\0"
+ "us1\0\0"
+ "ud1\0\0"
+ "us2\0\0"
+ "ud2\0\0"
+ "csi\0\0"
+ "csa\0\0"
+ "ucr\0\0"
+ "sca\0\0"
+ "scc\0\0"
+ "fad\0\0"
+ "hws\0\0"
+ "fws\0\0"
+ "cma\0\0"
+ "cfd\0\0"
+ "cff\0\0"
+ "urt\0\0"
+ "fms\0\0"
+ "lns\0\0"
+ "lng\0\0"
"reset";
/** Option promopts (stored in progmem, for LCD display) */
@@ -165,7 +193,7 @@ char op_promopts[] =
"Mas1 on adjust:"
"Mas1 off adjust:"
"Sensor type: "
- "Normally open? "
+ "Open Enable(NO)?"
"Watering level: "
"Device enabled? "
"Ignore password?"
@@ -193,6 +221,31 @@ char op_promopts[] =
"DNS server.ip4: "
"Special Refresh?"
"IFTTT Enable: "
+ "FlowSensor: " //@tcsaba: new options
+ "UnitGallon? "
+ "FlowAlarmType "
+ "FlowRange% "
+ "FreeFlow gal "
+ "FreeFow min "
+ "SoilSensor1: "
+ "Open Enable(NO)?"
+ "SoilSensor2: "
+ "Open Enable(NO)?"
+ "Current Sensor? "
+ "Current Alarm? "
+ "CurrAlarmRange %"
+ "StartCalibration"
+ "SendLogDays "
+ "FatalDisableStat"
+ "SGHW version: "
+ "SGFW version: "
+ "Client mode? "
+ "CloudRefresh (s)"
+ "Fast Refresh (s)"
+ "StatusReportType"
+ "FlashMemoryType?"
+ "LCD size 20x4? "
+ "Language HUN? " // 1: hun / 0: english
"Factory reset? ";
/** Option maximum values (stored in progmem) */
@@ -223,7 +276,7 @@ const char op_max[] = {
255,
255,
255,
- 1,
+ 2, // Rain sensor input test value to cheat UI features
250,
1,
1,
@@ -251,6 +304,32 @@ const char op_max[] = {
255,
1,
255,
+ //@tcsaba: new options
+ 2, //Flow Sensor enable
+ 1,
+ 2,
+ 100, //Flow Alarm range
+ 255,
+ 255,
+ 2, //Soil_1 enable
+ 1,
+ 2, //Soil_2 enable
+ 1,
+ 2, //Current Sensor enable
+ 2, //cURRENT aLARM
+ 100, //current range
+ 1, //cal request
+ 255, //send logfiles
+ 2, //Fatal Flow
+ 255,
+ 255,
+ 1,
+ 255,
+ 255,
+ 2,
+ 3,
+ 1,
+ 1,
1
};
@@ -282,13 +361,13 @@ byte OpenSprinkler::options[] = {
0, // index of master station. 0: no master station
120,// master on time adjusted time (-10 minutes to 10 minutes)
120,// master off adjusted time (-10 minutes to 10 minutes)
- 0, // sensor function (see SENSOR_TYPE macro defines)
- 0, // rain sensor type. 0: normally closed; 1: normally open.
+ 2, // @tcsaba: sensor function (see SENSOR_TYPE macro defines) Rain type changed to 2 to cheat UI
+ 1, // @tcsaba: rain sensor type. 0: normally closed; 1: normally open.
100,// water level (default 100%),
1, // device enable
0, // 1: ignore password; 0: use password
0, // device id
- 150,// lcd contrast
+ 100,// lcd contrast
100,// lcd backlight
50, // lcd dimming
80, // boost time (only valid to DC and LATCH type)
@@ -311,6 +390,31 @@ byte OpenSprinkler::options[] = {
8,
0, // special station auto refresh
0, // ifttt enable bits
+ 1, // 1: Flow Sensor connected
+ 0, // LCD Flow display unit: 0: liter, 1: gallon
+ 2, // Flow Alarm 0:no, 1:Station, 2: Freeflow enabled
+ 25, // Flow Operating range +- from alarm reference (%)
+ 25, // Max fleeflow quantity in gallon
+ 10, // Max freeflow running time in minutes
+ 1, //SG version soil sensor1 Option
+ 0, //Digital soil sensor type NC/NO
+ 1, //SG version soil sensor2 Option
+ 0, //Digital soil sensor type NC/NO
+ 1, //Current sensor in operation
+ 1, //Current alarm active
+ 25, //current operating range +- from alarm reference
+ 0, //Calibration Start request: 1=Yes, 0 = No
+ 0, //Number of Logfiles to send to Cloud: 0:only today, number of days incl today
+ 0, //Fatal flow
+ OS_SGHW_VERSION, //Smart Garden hardware Version
+ OS_SGFW_VERSION, //Smart Garden Firmware Version
+ 0, //1: Client mode activated
+ 60, //Default cloud refresh time sec
+ 10, //Fast refresh time for manual operation sec
+ 0, //StatusReport 0:No, 1:General, 2:Detailed
+ 1, //0:NoFlash, 1: UseSD, 2:Flash128Mb
+ 0, //LCD display 0:16x2; 1:20x4
+ 0, //Language selection for LCD display 0:en, 1:hun
0 // reset
};
@@ -368,7 +472,10 @@ byte OpenSprinkler::start_network() {
tmp_buffer[3] = 0x2D;
tmp_buffer[4] = 0x31;
tmp_buffer[5] = options[OPTION_DEVICE_ID];
- } else {
+
+
+ }
+ else {
// has hardware MAC chip
status.has_hwmac = 1;
}
@@ -470,7 +577,6 @@ void OpenSprinkler::lcd_start() {
}
#endif
-extern void flow_isr();
/** Initialize pins, controller variables, LCD */
void OpenSprinkler::begin() {
@@ -502,19 +608,19 @@ void OpenSprinkler::begin() {
// pull shift register OE low to enable output
digitalWrite(PIN_SR_OE, LOW);
- // Rain sensor port set up
+ // Sensor ports set up
pinMode(PIN_RAINSENSOR, INPUT);
-
- // Set up sensors
-#if defined(ARDUINO)
- digitalWrite(PIN_RAINSENSOR, HIGH); // enabled internal pullup on rain sensor
- attachInterrupt(PIN_FLOWSENSOR_INT, flow_isr, FALLING);
-#else
- // OSPI and OSBO use external pullups
- attachInterrupt(PIN_FLOWSENSOR, "falling", flow_isr);
-#endif
-
-
+ pinMode(PIN_FLOWSENSOR, INPUT);
+ pinMode(PIN_SOILSENSOR_1, INPUT);
+ pinMode(PIN_SOILSENSOR_2, INPUT);
+ digitalWrite(PIN_RAINSENSOR, HIGH);
+ digitalWrite(PIN_FLOWSENSOR, HIGH);
+ digitalWrite(PIN_SOILSENSOR_1, HIGH);
+ digitalWrite(PIN_SOILSENSOR_2, HIGH);
+
+ //AREF set to external 2,5V reference
+ //The auto expansion board detection will not work with the 2,5V external reference
+ analogReference(INTERNAL2V56);
// Default controller status variables
// Static variables are assigned 0 by default
@@ -568,7 +674,8 @@ void OpenSprinkler::begin() {
// detect if current sensing pin is present
pinMode(PIN_CURR_DIGITAL, INPUT);
digitalWrite(PIN_CURR_DIGITAL, HIGH); // enable internal pullup
- status.has_curr_sense = digitalRead(PIN_CURR_DIGITAL) ? 0 : 1;
+ //@tcsaba: current enable is read from the OPTIONS table
+ status.has_curr_sense = options[OPTION_CURRENT]; //(digitalRead(PIN_CURR_DIGITAL) ? 0 : 1);
digitalWrite(PIN_CURR_DIGITAL, LOW);
#endif
@@ -638,16 +745,16 @@ void OpenSprinkler::begin() {
_icon[7] = B00000;
lcd.createChar(6, _icon);
- // Program switch icon
- _icon[1] = B11100;
- _icon[2] = B10100;
- _icon[3] = B11100;
- _icon[4] = B10010;
- _icon[5] = B10110;
- _icon[6] = B00010;
- _icon[7] = B00111;
- lcd.createChar(7, _icon);
-
+ // Program switch icon is switched to soil sensor icon
+ // Soil sensor icon
+ _icon[1] = B00000;
+ _icon[2] = B10101;
+ _icon[3] = B10101;
+ _icon[4] = B10101;
+ _icon[5] = B00000;
+ _icon[6] = B11111;
+ _icon[7] = B11111;
+ lcd.createChar(7, _icon);
// set sd cs pin high to release SD
pinMode(PIN_SD_CS, OUTPUT);
digitalWrite(PIN_SD_CS, HIGH);
@@ -659,6 +766,9 @@ void OpenSprinkler::begin() {
#if defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega1284__)
if(!status.has_sd) {
lcd.setCursor(0, 0);
+ //@tcsaba: prints the error
+ lcd_print_pgm(PSTR("SD card missing"));
+ lcd.setCursor(0, 1);
lcd_print_pgm(PSTR("Error Code: 0x2D"));
while(1){}
}
@@ -743,13 +853,26 @@ void OpenSprinkler::apply_all_station_bits() {
/** Read rain sensor status */
void OpenSprinkler::rainsensor_status() {
// options[OPTION_RS_TYPE]: 0 if normally closed, 1 if normally open
- if(options[OPTION_SENSOR_TYPE]!=SENSOR_TYPE_RAIN) return;
+ if(options[OPTION_RSENSOR_TYPE]!=SENSOR_TYPE_RAIN) return;
status.rain_sensed = (digitalRead(PIN_RAINSENSOR) == options[OPTION_RAINSENSOR_TYPE] ? 0 : 1);
}
+/** Read soil sensor status */
+void OpenSprinkler::soilsensor_status() {
+
+ if (options[OPTION_SSENSOR_1] != SENSOR_TYPE_NONE) {
+ status.dry_soil_1 = (digitalRead(PIN_SOILSENSOR_1) == options[OPTION_SOILSENSOR1_TYPE] ? 0 : 1);
+ }
+
+ if (options[OPTION_SSENSOR_2] != SENSOR_TYPE_NONE) {
+ status.dry_soil_2 = (digitalRead(PIN_SOILSENSOR_2) == options[OPTION_SOILSENSOR2_TYPE] ? 0 : 1);
+ }
+}
+
+
/** Return program switch status */
bool OpenSprinkler::programswitch_status(ulong curr_time) {
- if(options[OPTION_SENSOR_TYPE]!=SENSOR_TYPE_PSWITCH) return false;
+ if(options[OPTION_RSENSOR_TYPE]!=SENSOR_TYPE_PSWITCH) return false;
static ulong keydown_time = 0;
byte val = digitalRead(PIN_RAINSENSOR);
if(!val && !keydown_time) keydown_time = curr_time;
@@ -769,11 +892,14 @@ bool OpenSprinkler::programswitch_status(ulong curr_time) {
*/
#if defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega1284__)
uint16_t OpenSprinkler::read_current() {
+ uint16_t v = analogRead(PIN_CURR_SENSE);
if(status.has_curr_sense) {
if (hw_type == HW_TYPE_DC) {
- return (uint16_t)(analogRead(PIN_CURR_SENSE) * 16.11);
+ return (uint16_t)(v * 16.11);
} else {
- return (uint16_t)(analogRead(PIN_CURR_SENSE) * 11.39);
+ if (current_offset >= v) v=0;
+ else v -= current_offset;
+ return (uint16_t)( v * 1.42); //11.39
}
} else {
return 0;
@@ -1271,8 +1397,8 @@ void OpenSprinkler::options_setup() {
for(i=0;i"), 0);
lcd_print_line_clear_pgm(PSTR("Hold B3 to save"), 1);
do {
@@ -1336,8 +1464,19 @@ void OpenSprinkler::options_setup() {
lcd_set_contrast();
if (!button) {
+ // @tcsaba: SG version start screen
// flash screen
- lcd_print_line_clear_pgm(PSTR(" OpenSprinkler"),0);
+ lcd_print_line_clear_pgm(PSTR(" "),0);
+ lcd.setCursor(0, 0);
+ lcd.print(" Fw:");
+ lcd.print(OS_SGFW_VERSION);
+ lcd.print(" Hw:");
+ lcd.print(OS_SGHW_VERSION);
+ lcd.setCursor(0, 1);
+ lcd.print("Based v217 Nov07"); //Nov. 07, 2016
+
+ // Original OS starting LCD screen
+/* lcd_print_line_clear_pgm(PSTR(" OpenSprinkler"),0);
lcd.setCursor(2, 1);
lcd_print_pgm(PSTR("HW v"));
byte hwv = options[OPTION_HW_VERSION];
@@ -1354,7 +1493,8 @@ void OpenSprinkler::options_setup() {
default:
lcd_print_pgm(PSTR(" AC"));
}
- delay(1000);
+*/
+ delay(4000);
}
#endif
}
@@ -1380,6 +1520,8 @@ void OpenSprinkler::options_load() {
nstations = nboards * 8;
status.enabled = options[OPTION_DEVICE_ENABLE];
options[OPTION_FW_MINOR] = OS_FW_MINOR;
+
+ // @tcsaba: TODO: Load all the settings
}
/** Save options to internal NVM */
@@ -1521,22 +1663,35 @@ void OpenSprinkler::lcd_print_station(byte line, char c) {
}
}
lcd_print_pgm(PSTR(" "));
+ // @tcsaba: SD is a must from 2.1.7, there is no use to show, and we need the space for sensors
+ lcd.setCursor(11, 1);
+ if (options[OPTION_FSENSOR_TYPE] == SENSOR_TYPE_FLOW) lcd.write(6);
+
+ lcd.setCursor(12, 1);
+ // if(options[OPTION_REMOTE_EXT_MODE]) lcd.write(5); //we need the space
+
+
+ if (options[OPTION_SSENSOR_2] != SENSOR_TYPE_NONE) lcd.print("S");
+ lcd.setCursor(12, 1);
+ if (status.dry_soil_2 && options[OPTION_SSENSOR_2] != SENSOR_TYPE_NONE) lcd.write(7); //soil activated
+
lcd.setCursor(12, 1);
if(options[OPTION_REMOTE_EXT_MODE]) {
lcd.write(5);
}
lcd.setCursor(13, 1);
- if(status.rain_delayed || (status.rain_sensed && options[OPTION_SENSOR_TYPE]==SENSOR_TYPE_RAIN)) {
+ if (options[OPTION_SSENSOR_1] != SENSOR_TYPE_NONE) lcd.print("s");
+ lcd.setCursor(13, 1);
+ if (status.dry_soil_1 && options[OPTION_SSENSOR_1] != SENSOR_TYPE_NONE) lcd.write(7); //soil activated
+
+ lcd.setCursor(14, 1);
+ if (options[OPTION_RSENSOR_TYPE] == SENSOR_TYPE_RAIN) lcd.print("r");
+ lcd.setCursor(14, 1);
+ if (options[OPTION_RSENSOR_TYPE] == SENSOR_TYPE_PSWITCH) lcd.print("p");
+ lcd.setCursor(14, 1);
+ if(status.rain_delayed || (status.rain_sensed && options[OPTION_RSENSOR_TYPE]==SENSOR_TYPE_RAIN)) {
lcd.write(3);
}
- if(options[OPTION_SENSOR_TYPE]==SENSOR_TYPE_FLOW) {
- lcd.write(6);
- }
- if(options[OPTION_SENSOR_TYPE]==SENSOR_TYPE_PSWITCH) {
- lcd.write(7);
- }
- lcd.setCursor(14, 1);
- if (status.has_sd) lcd.write(2);
lcd.setCursor(15, 1);
lcd.write(status.network_fails>2?1:0); // if network failure detection is more than 2, display disconnect icon
@@ -1571,6 +1726,13 @@ void OpenSprinkler::lcd_print_option(int i) {
case OPTION_FW_VERSION:
lcd_print_version(options[i]);
break;
+ case OPTION_SGHW_VERSION:
+ lcd.print("v");
+ lcd.print(OS_SGHW_VERSION);
+ break;
+ case OPTION_SGFW_VERSION:
+ lcd_print_version(OS_SGFW_VERSION);
+ break;
case OPTION_TIMEZONE: // if this is the time zone option, do some conversion
tz = (int)options[i]-48;
if (tz>=0) lcd_print_pgm(PSTR("+"));
@@ -1635,7 +1797,7 @@ void OpenSprinkler::lcd_print_option(int i) {
break;
}
if (i==OPTION_WATER_PERCENTAGE) lcd_print_pgm(PSTR("%"));
- else if (i==OPTION_MASTER_ON_ADJ || i==OPTION_MASTER_OFF_ADJ || i==OPTION_MASTER_ON_ADJ_2 || i==OPTION_MASTER_OFF_ADJ_2)
+ else if (i == OPTION_MASTER_ON_ADJ || i == OPTION_MASTER_OFF_ADJ || i == OPTION_MASTER_ON_ADJ_2 || i == OPTION_MASTER_OFF_ADJ_2 || i == OPTION_CLOUDREFRESH_DEF || i == OPTION_CLOUDREFRESH_FAST )
lcd_print_pgm(PSTR(" sec"));
}
@@ -1704,14 +1866,16 @@ void OpenSprinkler::ui_set_options(int oid)
case BUTTON_1:
if (i==OPTION_FW_VERSION || i==OPTION_HW_VERSION || i==OPTION_FW_MINOR ||
i==OPTION_HTTPPORT_0 || i==OPTION_HTTPPORT_1 ||
- i==OPTION_PULSE_RATE_0 || i==OPTION_PULSE_RATE_1) break; // ignore non-editable options
+ i == OPTION_PULSE_RATE_0 || i == OPTION_PULSE_RATE_1 ||
+ i == OPTION_SGHW_VERSION || i == OPTION_SGFW_VERSION || i == OPTION_SEND_LOGFILES ) break; // ignore non-editable options
if (pgm_read_byte(op_max+i) != options[i]) options[i] ++;
break;
case BUTTON_2:
if (i==OPTION_FW_VERSION || i==OPTION_HW_VERSION || i==OPTION_FW_MINOR ||
i==OPTION_HTTPPORT_0 || i==OPTION_HTTPPORT_1 ||
- i==OPTION_PULSE_RATE_0 || i==OPTION_PULSE_RATE_1) break; // ignore non-editable options
+ i == OPTION_PULSE_RATE_0 || i == OPTION_PULSE_RATE_1 ||
+ i == OPTION_SGHW_VERSION || i == OPTION_SGFW_VERSION) break; // ignore non-editable options
if (options[i] != 0) options[i] --;
break;
@@ -1730,14 +1894,22 @@ void OpenSprinkler::ui_set_options(int oid)
// click, move to the next option
if (i==OPTION_USE_DHCP && options[i]) i += 9; // if use DHCP, skip static ip set
else if (i==OPTION_HTTPPORT_0) i+=2; // skip OPTION_HTTPPORT_1
- else if (i==OPTION_PULSE_RATE_0) i+=2; // skip OPTION_PULSE_RATE_1
- else if (i==OPTION_SENSOR_TYPE && options[i]!=SENSOR_TYPE_RAIN) i+=2; // if not using rain sensor, skip rain sensor type
- else if (i==OPTION_MASTER_STATION && options[i]==0) i+=3; // if not using master station, skip master on/off adjust
- else if (i==OPTION_MASTER_STATION_2&& options[i]==0) i+=3; // if not using master2, skip master2 on/off adjust
+ else if (i == OPTION_FW_MINOR) i += 3; // skip PULSE option
+ else if (i == OPTION_FSENSOR_TYPE && options[i] == SENSOR_TYPE_FLOW) i = OPTION_PULSE_RATE_0; // if no soil sensor, skip soil sensor options
+ else if (i == OPTION_PULSE_RATE_0) i = OPTION_FLOWUNIT_GAL; // skip after OPTION_PULSE_RATE setting
+ else if (i == OPTION_FW_VERSION) i = OPTION_CAL_REQUEST; // skip Skip from FWversion to CalRequest
+ else if (i == OPTION_SGFW_VERSION) i = OPTION_TIMEZONE; // after compl CalRq to SGFW, skip back and continue at OPTION_TIMEZONE
+ else if (i == OPTION_CURR_RANGE) i = OPTION_CLIENT_MODE; // after compl CalRq to SGFW, skip back and continue at OPTION_TIMEZONE
+ else if (i == OPTION_RSENSOR_TYPE && options[i] != SENSOR_TYPE_RAIN) i += 2; // if not using rain sensor, skip rain sensor type
+ else if (i == OPTION_SSENSOR_1 && options[i] == SENSOR_TYPE_NONE) i += 2; // if no soil sensor1, skip soil sensor options
+ else if (i == OPTION_SSENSOR_2 && options[i] == SENSOR_TYPE_NONE) i += 2; // if no soil sensor2, skip soil sensor options
+ else if (i == OPTION_MASTER_STATION && options[i] == 0) i += 3; // if not using master station, skip master on/off adjust
+ else if (i == OPTION_MASTER_STATION_2&& options[i] == 0) i += 3; // if not using master2, skip master2 on/off adjust
+ else if (i == OPTION_CLIENT_MODE && options[i] == 0) i += 4; // if not ClientMode, skip Client parameters
else {
i = (i+1) % NUM_OPTIONS;
}
- if(i==OPTION_SEQUENTIAL_RETIRED) i++;
+ if (i == OPTION_SEQUENTIAL_RETIRED || i == OPTION_LCD_SIZE || i == OPTION_LANGUAGE_LCD) i++;
#if defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega1284__)
else if (hw_type==HW_TYPE_AC && i==OPTION_BOOST_TIME) i++; // skip boost time for non-DC controller
else if (lcd.type()==LCD_I2C && i==OPTION_LCD_CONTRAST) i+=2;
diff --git a/OpenSprinkler.h b/OpenSprinkler.h
index 6a5b4e9..6c224c2 100644
--- a/OpenSprinkler.h
+++ b/OpenSprinkler.h
@@ -83,16 +83,22 @@ struct HTTPStationData {
struct ConStatus {
byte enabled:1; // operation enable (when set, controller operation is enabled)
byte rain_delayed:1; // rain delay bit (when set, rain delay is applied)
- byte rain_sensed:1; // rain sensor bit (when set, it indicates that rain is detected)
+ byte rain_sensed:1; // rain sensor bit (when set, it indicates that rain is detected)
+ // @tcsaba:soil sensor inputs status flags
+ byte dry_soil_1 : 1; // soil sensor 1 bit (when set, the soil needs irrigation)
+ byte dry_soil_2 : 1; // soil sensor 2 bit (when set, the soil needs irrigation)
byte program_busy:1; // HIGH means a program is being executed currently
byte has_curr_sense:1; // HIGH means the controller has a current sensing pin
byte has_sd:1; // HIGH means a microSD card is detected
byte safe_reboot:1; // HIGH means a safe reboot has been marked
byte has_hwmac:1; // has hardware MAC chip
byte req_ntpsync:1; // request ntpsync
- byte req_network:1; // request check network
+ byte req_network:1; // request check network
byte display_board:3; // the board that is being displayed onto the lcd
byte network_fails:3; // number of network fails
+ //@tcsaba:additional levels for internet connection checking and fault detection
+ byte netw_adapter_fail : 1; // HIGH when network adapter can't started
+ byte internet_fail : 1; // HIGH when no internet connection (IP:8.8.8.8 have no ping response)
byte mas:8; // master station index
byte mas2:8; // master2 station index
};
@@ -138,6 +144,8 @@ class OpenSprinkler {
// first byte-> master controller, second byte-> ext. board 1, and so on
// variables for time keeping
+ static ulong s1sensor_lasttime; // @tcsaba: time when the last soilsensor1 reading is recorded
+ static ulong s2sensor_lasttime; // @tcsaba: time when the last soilsensor2 reading is recorded
static ulong sensor_lasttime; // time when the last sensor reading is recorded
static ulong flowcount_time_ms;// time stamp when new flow sensor click is received (in milliseconds)
static ulong flowcount_rt; // flow count (for computing real-time flow rate)
@@ -147,6 +155,7 @@ class OpenSprinkler {
static ulong checkwt_lasttime; // time when weather was checked
static ulong checkwt_success_lasttime; // time when weather check was successful
static byte weather_update_flag;
+ static uint16_t current_offset; // @tcsaba: current offset value when no station on
// member functions
// -- setup
static void update_dev(); // update software for Linux instances
@@ -185,6 +194,8 @@ class OpenSprinkler {
static void raindelay_start(); // start raindelay
static void raindelay_stop(); // stop rain delay
static void rainsensor_status();// update rainsensor status
+
+ static void soilsensor_status();// @tcsaba: update soilsensor status
static bool programswitch_status(ulong); // get program switch status
#if defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega1284__)
static uint16_t read_current(); // read current sensing value
diff --git a/SensorGroup.cpp b/SensorGroup.cpp
new file mode 100644
index 0000000..3a5adc9
--- /dev/null
+++ b/SensorGroup.cpp
@@ -0,0 +1,1127 @@
+/*
+ This file manages the sensors of the OpenSprinkler system.
+
+ The flow sensor operates as a finite state machine and communicates with the system via method calls placed in the main.cpp file.
+
+ The states of the flow sensor are the following:
+ FreeFlow
+ - no station is activated but there is flow
+ - when OPTION_FLOW_ALARM == 1, the freeflow is not enabled, this will generate an alert
+ - when OPTION_FLOW_ALARM == 2, the freeflow enabled, but
+ - we alert the system if the time length of the freeflow exceeds a specified time length OPTION_FREEFLOW_TIME
+ - we also alert the system if the number of impulses reach a specified value OPTION_FREEFLOW_QUANTITY
+ NoFlow
+ - no station is activated and there is no flow
+ StationFlow
+ - station is activated and there is or is not flow
+ - the system checks the PPM of the station and if it significantly differs from the nominal* value we make countermeasures
+
+ Calibration:
+ - every station has a nominal flow and current value
+ - to calibrate flow and current, we set the nominal current value of the station to 0xFF
+ - current_ref value: 0: factory reset has been done, 0xFF: calibration request
+
+ We might want a 2 level alert system:
+ - Level 1: Alert (only notification)
+ - Level 2: Fatal error: the flow is over 200% (FATAL_FLOW_LIMIT) of reference flow (notification and disabling the station)
+
+ Time keeping:
+ - for seconds I use the OpenSprinkler class' now_tz() method
+ - for milliseconds I use the millis() method
+
+ Storing data between reboots:
+ - EEPROM: see in defines.h
+
+ The entire file (if not stated otherwise) is written by CV.
+ Modified by TCS.
+*/
+
+#include "SensorGroup.h"
+
+extern OpenSprinkler os;
+extern SdFat sd;
+extern void write_log(byte type, ulong curr_time, ulong param);
+extern void alarm_message(byte type);
+extern void push_message(byte type, uint32_t lval, float fval, const char* sval);
+extern byte push_message_cloud(byte type, ulong day=0);
+extern void turn_off_station(byte sid, ulong curr_time);
+
+uint16_t nvm_read_word(ulong addr);
+void nvm_write_word(ulong addr, uint16_t f);
+
+// FSM control variables
+byte SensorGroup::current_state = NO_FLOW;
+byte SensorGroup::old_state = NO_FLOW;
+byte SensorGroup::next_state = NO_FLOW;
+byte SensorGroup::event = NOTHING;
+ulong SensorGroup::fsm_fail_counter;
+
+//stations controls
+byte SensorGroup::sid = 0;
+bool SensorGroup::excluded;
+bool SensorGroup::special;
+bool SensorGroup::stat_started;
+bool SensorGroup::stat_stopped;
+bool SensorGroup::prog_finished;
+
+
+//flow sensor handling
+volatile ulong SensorGroup::flow_last_impulse_ms = 10000; //hit of last impulse in msec
+volatile ulong SensorGroup::sensor_impulses = 0; //impulse counter during program
+ulong SensorGroup::last_read_impulse_ms; //last read of impulse hit time in msec
+ulong SensorGroup::last_sensor_impulses; //last read of the impulse counter
+ulong SensorGroup::old_sensor_impulses = 0; //previous read of the counter
+float SensorGroup::flow_pulse_rate_IpG = 1.00; //flow sensor conversion rate impulses per gallon
+bool SensorGroup::hall_effect_sensor = 0; //no debounce needed if hall effect sensor
+
+//alarm handling
+byte SensorGroup::curr_refval; // The current Station CURRENT reference not calibrated if 0xFF
+uint16_t SensorGroup::flow_refval; // The current Station FLOW reference not calibrated if 0xFF
+byte SensorGroup::flow_alarm_range = 20;
+byte SensorGroup::current_alarm_range = 50;
+char last_alarm_LCD[16];
+byte SensorGroup::alarm_cnt=0;
+
+//results
+bool SensorGroup::display_GPM; //if true display in Gallon and GPM, if false in Liter and liter per minute
+float SensorGroup::realtime_GPM; //measured in measure window
+float SensorGroup::realtime_gallons; //measured in the entire program run
+ulong SensorGroup::realtime_current = 0; //last read of solenoids current
+ulong SensorGroup::station_impulses = 0; //total no of impulses during station run
+ulong SensorGroup::prog_impulses = 0; //total number of impulses during program run
+ulong SensorGroup::last_prog_impulses = 0; //the previous program total
+ulong SensorGroup::day_impulses = 0; //total of impulses today
+ulong SensorGroup::last_day_impulses = 0; //total of impulses last day
+ulong SensorGroup::window_impulses=0; //number of impulses in measure window
+
+// measure flow
+ulong SensorGroup::prog_start_time = 0; //the start of the first impulse in sec
+ulong SensorGroup::station_start_time = 0; //start of station run in sec
+ulong SensorGroup::station_start_impulses;
+ulong SensorGroup::measure_window_start = 0;//start of current flow measure window
+ulong SensorGroup::measure_start_imp; //the no of impulses at measure window start
+ulong SensorGroup::sec_timer; //timeout start in sec
+bool SensorGroup::flow_valid_flag; //if true, the flow measurement is valid
+bool SensorGroup::prog_start_flag;
+
+void clear_fatal_flags();
+
+/** Alarm messages on LCD (stored in progmem) */
+// Each string is strictly 16 characters
+// with SPACE fillings if less
+#define ALARM_MESSAGE_STEPSIZE 5
+#if defined(ARDUINO)
+const char alarm_message_text[] PROGMEM =
+#else
+const char alarm_message_text[] =
+#endif
+"Flow Stopped "
+"Frflow QuantAlrm"
+"Frflow TimeAlarm"
+"Leakage Alarm "
+"Leakage Stopped "
+"High Flow Alarm "
+"Low Flow Alarm "
+"Fatal Flow Alarm"
+"High Current Alm"
+"Low Current Alrm";
+
+// Flow sensor interrupt service routine with debounce
+// this might run very often, so we do not want to put heavy stuff here
+void flowsensor_ISR() {
+ if(SensorGroup::hall_effect_sensor){
+ SensorGroup::flow_last_impulse_ms = millis();
+ SensorGroup::sensor_impulses++;
+
+ } else {
+ ulong curr = millis();
+ // debouncing
+ if (SensorGroup::flow_last_impulse_ms + FLOW_SENSOR_DEBOUNCE >= curr) {
+ return;
+ }
+
+ SensorGroup::flow_last_impulse_ms = curr;
+ SensorGroup::sensor_impulses++;
+ }
+}
+
+
+void SensorGroup::init() {
+
+ DEBUG_PRINTLN("SensorGroup init starting...");
+
+ ulong curr_time = os.now_tz(); //time in seconds
+ SensorGroup::init_prog_count(curr_time); // init FSM and flow counter
+
+ // setting the impulse/gallon or impulse/liter value
+ flow_pulse_rate_IpG = (float)((os.options[OPTION_PULSE_RATE_1] << 8) + (byte)os.options[OPTION_PULSE_RATE_0])/100;
+ //if faster flow sensor applied, debouncing is off
+ if(flow_pulse_rate_IpG > HALL_SENSOR_LIMIT) hall_effect_sensor = 1;
+
+ // converting the impulse/liter to impulse/gallon if liter
+ // the actual unit depends on the OPTION_FLOWUNIT_GAL 1: gallon/minute, 0:liter/minute
+ if (!os.options[OPTION_FLOWUNIT_GAL]) {
+ flow_pulse_rate_IpG = flow_pulse_rate_IpG * 3.78541;
+ }
+
+ // setting the flow and current alarm thresholds
+ flow_alarm_range = int8_t(os.options[OPTION_FLOW_ALARM_RANGE]);
+ current_alarm_range = int8_t(os.options[OPTION_CURR_RANGE]);
+
+ #if defined(SERIAL_DEBUG)
+ // setup data
+ DEBUG_PRINT("Impulse/Gallon: ");
+ DEBUG_PRINTLN(flow_pulse_rate_IpG);
+
+ DEBUG_PRINT("flow diff/current diff: ");
+ DEBUG_PRINT(flow_alarm_range);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(current_alarm_range);
+
+ DEBUG_PRINT("freeflow max quantity Gallon / time minute: ");
+ DEBUG_PRINT(os.options[OPTION_FREEFLOW_QUANTITY]);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(os.options[OPTION_FREEFLOW_TIME]);
+
+ //os.options[OPTION_CAL_REQUEST] = 1;
+ DEBUG_PRINT(" CAL Request: / FLOW Alarm EN / FATAL EN / CURR Alarm EN: ");
+ DEBUG_PRINT(os.options[OPTION_CAL_REQUEST]);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(os.options[OPTION_FLOW_ALARM]);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(os.options[OPTION_FATAL_ALARM]);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(os.options[OPTION_CURR_ALARM]);
+
+ for(int i=0; i< MAX_NUM_STATIONS; i++){
+ SensorGroup::curr_refval = os.station_attrib_bits_read(ADDR_NVM_CURR_REFS + (i));
+ DEBUG_PRINT(curr_refval);
+ DEBUG_PRINT(", ");
+ }
+ DEBUG_PRINTLN("");
+
+ for(int i=0; i< MAX_NUM_STATIONS; i++){
+ SensorGroup::flow_refval = (os.station_attrib_bits_read(ADDR_NVM_FLOW_REFS + 1 + (2*i)) << 8) +
+ os.station_attrib_bits_read(ADDR_NVM_FLOW_REFS + (2*i) );
+ DEBUG_PRINT(flow_refval);
+ DEBUG_PRINT(", ");
+ }
+ DEBUG_PRINTLN("");
+
+ for(int i=0; i<= MAX_EXT_BOARDS; i++){
+ byte v = nvm_read_byte((byte*)ADDR_NVM_ALARM_FATAL + i);
+ DEBUG_PRINT(v);
+ DEBUG_PRINT(", ");
+ }
+ DEBUG_PRINTLN("");
+/**/
+ #endif
+
+ //delete NVM calibration data
+
+ //if the user needs calibration or the system has been factory reseted (NVM cleared to 0) sets to uncalibrated
+ //current_ref byte: 0: factory reset; 0xff:calibrate station at next run;
+ if(os.options[OPTION_CAL_REQUEST] || !os.station_attrib_bits_read(ADDR_NVM_CURR_REFS)){
+ for(int i=0; i< MAX_NUM_STATIONS; i++){
+ SensorGroup::clear_station_calibration(i);
+ }
+ clear_fatal_flags();
+ os.options[OPTION_CAL_REQUEST] = 0;
+ os.options_save();
+ }
+/**/
+ #if defined(SERIAL_DEBUG)
+ DEBUG_PRINT(" CAL Request_after: ");
+ DEBUG_PRINTLN(os.options[OPTION_CAL_REQUEST]);
+ for(int i=0; i< MAX_NUM_STATIONS; i++){
+ DEBUG_PRINT(", ");
+ SensorGroup::curr_refval = os.station_attrib_bits_read(ADDR_NVM_CURR_REFS + (i));
+ DEBUG_PRINT(curr_refval);
+ }
+ DEBUG_PRINTLN("");
+
+ for(int i=0; i< MAX_NUM_STATIONS; i++){
+ DEBUG_PRINT(", ");
+ SensorGroup::flow_refval = (os.station_attrib_bits_read(ADDR_NVM_FLOW_REFS + 1 + (2*i)) << 8) +
+ os.station_attrib_bits_read(ADDR_NVM_FLOW_REFS + (2*i) );
+ DEBUG_PRINT(flow_refval);
+ }
+ DEBUG_PRINTLN("");
+
+ for(int i=0; i<= MAX_EXT_BOARDS; i++){
+ byte v = nvm_read_byte((byte*)ADDR_NVM_ALARM_FATAL + i);
+ DEBUG_PRINT(v);
+ DEBUG_PRINT(", ");
+ }
+ DEBUG_PRINTLN("");
+
+
+ #endif
+
+
+
+
+
+}
+
+void SensorGroup::loop(ulong current_time) {
+
+ check_sensors(current_time);
+
+ if(os.options[OPTION_FSENSOR_TYPE == SENSOR_TYPE_FLOW]){
+ SensorGroup::flow_loop(current_time);
+ }
+}
+
+// TODO: Current ref deleted to 0xFF: at Fact Reset, at OPTION_CAL_REQUEST == 1,
+// TODO: Reset calibrated values to 0xFF when Master station changed
+
+void SensorGroup::clear_station_calibration(byte sid){
+ //sets the appropriate current_ref and flow_ref bytes to 0xFF in NVM
+ byte tmp = 0xFF;
+ nvm_write_byte((byte*)(ADDR_NVM_CURR_REFS + (sid)), tmp );
+ nvm_write_byte((byte*)(ADDR_NVM_FLOW_REFS + 1 + (2*sid)), tmp );
+ nvm_write_byte((byte*)(ADDR_NVM_FLOW_REFS + (2*sid)), tmp );
+
+ //TODO: change to nvm_write_block()
+}
+
+void SensorGroup::clear_calibration(){
+ //clear the entire flow¤t_refs in NVM to 0xFF, 0xFFFF
+ for(int i=0; i > MAX_NUM_STATIONS;i++){
+ SensorGroup::clear_station_calibration(i);
+ }
+}
+
+void clear_fatal_flags(){
+ for(int i=0; i<= MAX_EXT_BOARDS; i++){
+ byte v = 0;
+ nvm_write_byte((byte*)ADDR_NVM_ALARM_FATAL + i, v );
+ }
+}
+
+void store_alarm_ref(byte sid){ // store the realtime_GPM and realtime_current values in NVM
+ uint16_t f = (int)SensorGroup::realtime_GPM * 8.0;
+ byte v = f & 0xFF;
+ ulong addr = (ADDR_NVM_FLOW_REFS + (2*sid)); //low byte
+ nvm_write_byte((byte*) addr, v );
+ v = (f >> 8) & 0xFF; // shift the high byte
+ addr +=addr;
+ nvm_write_byte( (byte*)(addr), v );
+
+ v = (SensorGroup::realtime_current >> 2) & 0xFF; //divide by 4
+ if( v < 8) v = 8;
+ if(v == 0xFF) v = 0xFE;
+ addr = (ADDR_NVM_CURR_REFS + (sid));
+ nvm_write_byte((byte*)addr, v );
+}
+
+void read_station_data(byte sid){ //reads exclude, remote flags, station refs,
+ SensorGroup::excluded = os.station_attrib_bits_read(ADDR_NVM_ST_EXCLUDE_AL + (sid >> 3)) & (sid % 8);
+ SensorGroup::special = os.station_attrib_bits_read(ADDR_NVM_STNSPE + (sid >> 3)) & (sid % 8);
+ SensorGroup::curr_refval = os.station_attrib_bits_read(ADDR_NVM_CURR_REFS + (sid));
+ //SensorGroup::curr_refval = SensorGroup::curr_refval << 2;
+ SensorGroup::flow_refval = (os.station_attrib_bits_read(ADDR_NVM_FLOW_REFS + 1 + (2*sid)) << 8) +
+ os.station_attrib_bits_read(ADDR_NVM_FLOW_REFS + (2*sid) );
+ //SensorGroup::flow_refval = SensorGroup::flow_refval >> 3;
+}
+
+void SensorGroup::init_prog_count(ulong curr_time){ //at each program start, and freeflow start param: seconds
+ //initialize flow sensor reading
+ SensorGroup::sensor_impulses = 0;
+ SensorGroup::last_sensor_impulses = 0;
+ SensorGroup::old_sensor_impulses = 0;
+ //initialize program related counting
+ SensorGroup::prog_start_time = curr_time;
+ SensorGroup::prog_impulses = 0;
+ SensorGroup::realtime_GPM = 0.0;
+ //SensorGroup::window_impulses=0;
+ //SensorGroup::realtime_gallons = 0;
+ //SensorGroup::station_impulses = 0;
+}
+
+void SensorGroup::init_station_count(ulong curr_time){ // at the beginning of each station and freeflow cycle
+ SensorGroup::read_flow_sensor();
+ //initialize station counting
+ SensorGroup::station_start_time = curr_time;
+ SensorGroup::realtime_GPM = 0.0;
+ //SensorGroup::window_impulses=0;
+ SensorGroup::station_start_impulses = SensorGroup::last_sensor_impulses;
+ SensorGroup::station_impulses = 0;
+ SensorGroup::realtime_gallons = 0;
+ //initialize measure window
+ SensorGroup::measure_window_start = curr_time;
+ SensorGroup::measure_start_imp = SensorGroup::station_start_impulses;
+ SensorGroup::flow_valid_flag = 0;
+}
+
+int SensorGroup::check_current_alarm(){
+ if(os.options[OPTION_CURR_ALARM] == 0 ) return(0); //if alarm enabled check current alarm
+ uint32_t c1 = ((uint32_t)SensorGroup::curr_refval << 2) * (100 - SensorGroup::current_alarm_range)/100;
+ uint32_t c2 = ((uint32_t)SensorGroup::curr_refval << 2) * (100 + SensorGroup::current_alarm_range)/100;
+/* DEBUG_PRINT(" realtime_curr , c1, c2: ");
+ DEBUG_PRINT(realtime_current);
+ DEBUG_PRINT(" , ");
+ DEBUG_PRINT(c1);
+ DEBUG_PRINT(" , ");
+ DEBUG_PRINTLN(c2);
+*/
+ if(SensorGroup::realtime_current < c1 ){
+ return(1);
+ }
+ else if(SensorGroup::realtime_current > c2 ) {
+ return(2);
+ }
+ return(0);
+}
+
+int SensorGroup::check_flow_alarm(){
+ if(os.options[OPTION_FLOW_ALARM] == 0 ) return(0); //if alarm enabled check flow alarm
+ float v1 = (SensorGroup::realtime_GPM * 8.0);
+ float v2 = ((float)SensorGroup::flow_refval * (100 - SensorGroup::flow_alarm_range))/100;
+ float v3 = ((float)SensorGroup::flow_refval * (100 + SensorGroup::flow_alarm_range))/100;
+/* DEBUG_PRINT(" realtime_GPM , v2, v3: ");
+ DEBUG_PRINT(realtime_GPM);
+ DEBUG_PRINT(" , ");
+ DEBUG_PRINT(v2/8.0);
+ DEBUG_PRINT(" , ");
+ DEBUG_PRINTLN(v3/8.0);
+*/
+ if(v1 < v2){
+ return(1);
+ }
+ else if(v1 > v3) {
+ return(2);
+ }
+}
+
+void SensorGroup::station_started(byte current_sid) {
+ SensorGroup::sid = current_sid;
+ SensorGroup::stat_started = true;
+}
+
+void SensorGroup::station_stopped(byte current_sid) {
+ SensorGroup::sid = current_sid;
+ SensorGroup::stat_stopped = true;
+ //SensorGroup::stat_started = false;
+}
+
+void SensorGroup::program_stopped(){
+ SensorGroup::prog_finished = true;
+ //SensorGroup::stat_started = false;
+ //SensorGroup::stat_stopped = false;
+
+}
+
+bool flow_timeout(ulong curr_time_ms){
+ if( curr_time_ms > (SensorGroup::last_read_impulse_ms + FLOW_TIMEOUT)){ return(true);} // Flow stopped
+ else return(false);
+}
+
+void SensorGroup::read_flow_sensor(){
+ noInterrupts();
+ SensorGroup::last_sensor_impulses = SensorGroup::sensor_impulses;
+ SensorGroup::last_read_impulse_ms = SensorGroup::flow_last_impulse_ms;
+ interrupts();
+}
+
+//******* FSM state change and state_entry() handling
+//*******
+void SensorGroup::change_state(byte chg_state, ulong curr_time_s){
+
+ switch(chg_state){
+ case NO_FLOW: // Initial state, no flow detected
+ SensorGroup::window_impulses = 0;
+ break;
+ case NOISE_FILTER:
+ SensorGroup::sec_timer = curr_time_s;
+ break;
+ case LEAKAGE_FLOW: //Flow detected when no Station runs and Freeflow disabled
+ SensorGroup::init_station_count(curr_time_s);
+ SensorGroup::alert(LOGDATA_ALARM_LEAKAGE_START, curr_time_s);
+ break;
+ case FREE_FLOW: //Flow detected when no Station runs and Freeflow enabled
+ SensorGroup::init_station_count(curr_time_s);
+ break;
+ case STATION_START: // Let flow build up at Station start
+ read_station_data(sid);
+ SensorGroup::init_station_count(curr_time_s);
+ SensorGroup::sec_timer = curr_time_s;
+/*
+ DEBUG_PRINT("prog / last_prog / day_imp: ");
+ DEBUG_PRINT(SensorGroup::prog_impulses);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(SensorGroup::last_prog_impulses);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(SensorGroup::day_impulses);
+*/
+ break;
+ case STATION_FLOW: // Flow during normal Station run with Alarm handling
+ break;
+ case STATION_FLOW_CAL: //Flow during normal Station run and Calibration
+ break;
+ case PROGRAM_HOLD: // Waits for next Station run if Program not finished
+ //write_log(LOGDATA_STATION, curr_time_s);
+ SensorGroup::prog_impulses += SensorGroup::station_impulses;
+ break;
+ case STFLOW_ALARM: // During Station run Flow Alarm detected
+ break;
+ case STCURRENT_ALARM: // During Station run Current Alarm detected
+ break;
+ case PROG_FINISH: // Let flow settle to zero after the last Station off
+ SensorGroup::sec_timer = curr_time_s;
+ break;
+ case FAILED_STATE: // In case of failed operation
+ default: // In case of failed operation
+ SensorGroup::fsm_fail_counter++;
+/*
+ DEBUG_PRINT("FSM failed state/event: ");
+ DEBUG_PRINT(FAILED_STATE);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(event);
+ DEBUG_PRINT(" Fail Counter: ");
+ DEBUG_PRINTLN(SensorGroup::fsm_fail_counter);
+*/
+ write_log(LOGDATA_FAILED_STATE, curr_time_s, 0);
+ chg_state = NO_FLOW;
+ break;
+ }
+
+ SensorGroup::old_state = SensorGroup::current_state;
+ SensorGroup::current_state = chg_state;
+
+ DEBUG_PRINT("Exiting change state EVENT / old_state / STATE : ");
+ DEBUG_PRINT(event);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(SensorGroup::old_state);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(SensorGroup::current_state);
+/**/
+}// End of change_state()
+
+
+//******FSM state_do() & state_exit() functions, executed in every second in the main loop
+//******
+void SensorGroup::flow_loop(ulong current_time_s){
+ ulong curr_time_ms = millis(); //read msec timer
+ read_flow_sensor();
+ SensorGroup::event = NOTHING;
+
+ // calculating the flow, the quantity, and current values
+/* DEBUG_PRINT("stat_stopped / prog_finished: ");
+ DEBUG_PRINT(stat_stopped);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(prog_finished);
+*/
+ if((SensorGroup::current_state != NO_FLOW) && !stat_stopped && !prog_finished ||
+ SensorGroup::current_state == NOISE_FILTER ||
+ SensorGroup::current_state == FREE_FLOW ||
+ SensorGroup::current_state == LEAKAGE_FLOW) {
+ if(current_time_s > (SensorGroup::measure_window_start + FLOWCOUNT_RT_WINDOW)){ //realtime measurement
+ SensorGroup::window_impulses = SensorGroup::last_sensor_impulses - SensorGroup::measure_start_imp;
+ SensorGroup::realtime_GPM = (SensorGroup::last_sensor_impulses - SensorGroup::measure_start_imp)
+ / SensorGroup::flow_pulse_rate_IpG / (FLOWCOUNT_RT_WINDOW / 60.0);
+ SensorGroup::measure_window_start = current_time_s;
+ SensorGroup::measure_start_imp = SensorGroup::last_sensor_impulses;
+ SensorGroup::flow_valid_flag = 1;
+ }
+ else
+ if(!flow_valid_flag && ((SensorGroup::last_sensor_impulses - SensorGroup::measure_start_imp) > 4) &&
+ realtime_GPM < 0.1 ){
+ SensorGroup::realtime_GPM = ((SensorGroup::last_sensor_impulses - SensorGroup::measure_start_imp) /
+ SensorGroup::flow_pulse_rate_IpG) / ((current_time_s - measure_window_start) / 60.0);
+ }
+ SensorGroup::prog_impulses = SensorGroup::last_sensor_impulses;
+ SensorGroup::station_impulses = SensorGroup::last_sensor_impulses - SensorGroup::station_start_impulses; //since station started
+ SensorGroup::realtime_gallons = SensorGroup::station_impulses / SensorGroup::flow_pulse_rate_IpG;
+ SensorGroup::realtime_current = os.read_current();
+ }
+/* DEBUG_PRINT("last_sensor: ");
+ DEBUG_PRINT(last_sensor_impulses);
+ DEBUG_PRINT(" MeasStartImp: ");
+ DEBUG_PRINT(measure_start_imp);
+ DEBUG_PRINT(" MeasStartWindow: ");
+ DEBUG_PRINTLN(measure_window_start);
+ DEBUG_PRINT("Impulses: ");
+ DEBUG_PRINTLN(station_impulses);
+ DEBUG_PRINT("Realtime Gallons: ");
+ DEBUG_PRINTLN(realtime_gallons);
+ DEBUG_PRINT("Electric current: ");
+ DEBUG_PRINTLN(realtime_current);
+ DEBUG_PRINT("Realtime GPM: ");
+ DEBUG_PRINTLN(realtime_GPM);
+*/
+
+ switch (SensorGroup::current_state){
+ case STATION_FLOW:
+ if(SensorGroup::stat_stopped){
+ SensorGroup::stat_stopped = false;
+ SensorGroup::event = STATION_STOPPED;
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ if(flow_timeout(curr_time_ms)){
+ SensorGroup::event = IMPULSES_TIMEOUT;
+ SensorGroup::alert(LOGDATA_ALARM_FLOW_STOPPED, current_time_s);
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ //if the station is not excluded of alarm / not special, flow settled and data is calibrated
+ if( !SensorGroup::excluded && !SensorGroup::special && SensorGroup::flow_valid_flag
+ && SensorGroup::curr_refval < 0xFF && SensorGroup::curr_refval > 0) {
+/* DEBUG_PRINT("Electric current: ");
+ DEBUG_PRINT(realtime_current);
+ DEBUG_PRINT(" Realtime GPM: ");
+ DEBUG_PRINTLN(realtime_GPM);
+ DEBUG_PRINT("OptionsAlarm curr / flov/ curr refval / flow_refval: ");
+ DEBUG_PRINT(os.options[OPTION_CURR_ALARM]);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(os.options[OPTION_FLOW_ALARM]);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(curr_refval);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(flow_refval);
+ Serial.flush();
+*/
+ switch(SensorGroup::check_current_alarm()){
+ case 0:
+ switch(SensorGroup::check_flow_alarm()){
+ case 0:
+ break;
+ case 1:
+ SensorGroup::event = OUT_OF_RANGE_LOWFLOW;
+ SensorGroup::alert(LOGDATA_ALARM_FLOW_LOW, current_time_s);
+ SensorGroup::next_state = STFLOW_ALARM;
+ break;
+ case 2:
+ SensorGroup::event = OUT_OF_RANGE_HIFLOW;
+ SensorGroup::alert(LOGDATA_ALARM_FLOW_HIGH, current_time_s);
+ SensorGroup::next_state = STFLOW_ALARM;
+ }
+ break;
+ case 2:
+ SensorGroup::event = OUT_OF_RANGE_HICURRENT;
+ SensorGroup::alert(LOGDATA_ALARM_CURRENT_HIGH, current_time_s);
+ SensorGroup::next_state = STCURRENT_ALARM;
+ break;
+ case 1:
+ SensorGroup::event = OUT_OF_RANGE_LOWCURRENT;
+ SensorGroup::alert(LOGDATA_ALARM_CURRENT_LOW, current_time_s);
+ SensorGroup::next_state = STCURRENT_ALARM;
+ }
+ }
+ break;
+ case STATION_FLOW_CAL:
+ if(SensorGroup::stat_stopped){
+ SensorGroup::stat_stopped = false;
+ SensorGroup::event = STATION_STOPPED;
+/* DEBUG_PRINT("End of loop EVENT / STATE / realtime_GPM / real_current: ");
+ DEBUG_PRINT(event);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(SensorGroup::current_state);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(SensorGroup::realtime_GPM);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(SensorGroup::realtime_current);
+*/
+ if((SensorGroup::realtime_GPM > 1.0) && (SensorGroup::realtime_current > 40) &&
+ (current_time_s - station_start_time) >= 31){
+ // min value to save calibration: 1, 40, min station run 30 sec
+
+ // save the flow reference to the NVM, LSB = 0,125 gallon, minimum = 0x08, maximum = 0xFFFE
+ uint16_t f = (uint16_t)(SensorGroup::realtime_GPM * 8.0);
+ byte v = f & 0xFF;
+ nvm_write_byte((byte*)(ADDR_NVM_FLOW_REFS + (2*sid)), v ); //save low byte
+ v = (f >> 8) & 0xFF; // shift the high byte
+ nvm_write_byte( (byte*)(ADDR_NVM_FLOW_REFS + 1 + (2*sid)), v ); //save high byte
+
+ // save the current reference, LSB = 4mA, minimum = 0x0A, maximum = 0xFE
+ v = (SensorGroup::realtime_current >> 2) & 0xFF; //divide by 4
+ if(v == 0xFF) v = 0xFE;
+ nvm_write_byte((byte*)(ADDR_NVM_CURR_REFS + (sid)), v );
+
+ write_log(LOGDATA_CALIBRATED, current_time_s, 0);
+
+/* #if defined(SERIAL_DEBUG)
+ for(int i=0; i< MAX_NUM_STATIONS; i++){
+ SensorGroup::curr_refval = os.station_attrib_bits_read(ADDR_NVM_CURR_REFS + (i));
+ DEBUG_PRINT(curr_refval);
+ DEBUG_PRINT(", ");
+ }
+ DEBUG_PRINTLN(",");
+
+ for(int i=0; i< MAX_NUM_STATIONS; i++){
+ SensorGroup::flow_refval = (os.station_attrib_bits_read(ADDR_NVM_FLOW_REFS + 1 + (2*i)) << 8) + // high byte
+ os.station_attrib_bits_read(ADDR_NVM_FLOW_REFS + (2*i) ); //low byte
+ DEBUG_PRINT(flow_refval);
+ DEBUG_PRINT(", ");
+ }
+ DEBUG_PRINTLN(",");
+ #endif
+*/ }
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ if(flow_timeout(curr_time_ms)){
+ SensorGroup::event = IMPULSES_TIMEOUT;
+ SensorGroup::alert(LOGDATA_ALARM_FLOW_STOPPED, current_time_s);
+ next_state = PROGRAM_HOLD;
+ }
+ break;
+
+ case PROGRAM_HOLD:
+ if(SensorGroup::stat_stopped){
+ SensorGroup::stat_stopped = false;
+ SensorGroup::event = STATION_STOPPED;
+ break;
+ }
+ if(prog_finished || !os.status.program_busy){
+ prog_finished = false;
+ SensorGroup::event = PROG_QUE_EMPTY;
+ next_state = PROG_FINISH;
+ break;
+ }
+ if(stat_started){
+ stat_started = false;
+ SensorGroup::event = STATION_STARTED;
+ next_state = STATION_START;
+ }
+ break;
+
+ case STATION_START:
+ if(SensorGroup::stat_stopped){
+ SensorGroup::stat_stopped = false;
+ SensorGroup::event = STATION_STOPPED;
+ next_state = PROGRAM_HOLD;
+ }
+ if(SensorGroup::sec_timer + SETTLING_UP < current_time_s){ //Event: settling timeout ended
+ SensorGroup::event = SETTLE_TIMEOUT;
+ if((os.options[OPTION_CURR_ALARM] != 0 || os.options[OPTION_FLOW_ALARM] != 0 ) && SensorGroup::curr_refval == 0xFF){
+ next_state = STATION_FLOW_CAL;
+ }
+ else next_state = STATION_FLOW;
+ }
+ break;
+
+ case PROG_FINISH:
+ if(SensorGroup::sec_timer + SETTLING_DOWN < current_time_s){ //Event: settling timeout ended
+ SensorGroup::event = SETTLE_TIMEOUT;
+ day_flow_sum();
+
+ // write classic log and new event log records to SD card
+ write_log(LOGDATA_PROGFLOW, current_time_s, 0);
+ write_log(LOGDATA_PROGFLOW2, current_time_s, 0);
+
+/* DEBUG_PRINT("prog / last_prog / day_imp: ");
+ DEBUG_PRINT(SensorGroup::prog_impulses);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(SensorGroup::last_prog_impulses);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(SensorGroup::day_impulses);
+*/
+ next_state = NO_FLOW;
+ init_prog_count(current_time_s);
+
+ }
+ break;
+
+ case NO_FLOW:
+ if(stat_started){
+ SensorGroup::stat_started = false;
+ SensorGroup::event = STATION_STARTED;
+ init_prog_count(current_time_s);
+ next_state = STATION_START;
+ break;
+ }
+ if(stat_stopped){
+ SensorGroup::stat_stopped = false;
+ SensorGroup::event = STATION_STOPPED;
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ if((SensorGroup::old_sensor_impulses) < SensorGroup::last_sensor_impulses){ //any pulses arrived?
+
+ DEBUG_PRINT("old_sensor / last_sensor: ");
+ DEBUG_PRINT(SensorGroup::old_sensor_impulses);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(SensorGroup::last_sensor_impulses);
+
+ ulong v = last_sensor_impulses;
+ init_prog_count(current_time_s);
+ init_station_count(current_time_s);
+ last_sensor_impulses = v;
+ SensorGroup::event = IMPULSES_STARTED;
+ next_state = NOISE_FILTER;
+
+ }
+ break;
+
+ case NOISE_FILTER:
+ if(stat_started){
+ SensorGroup::stat_started = false;
+ SensorGroup::event = STATION_STARTED;
+ init_prog_count(current_time_s);
+ next_state = STATION_START;
+ break;
+ }
+ if(stat_stopped){
+ SensorGroup::stat_stopped = false;
+ SensorGroup::event = STATION_STOPPED;
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ if(SensorGroup::sec_timer + NOISE_INTERVAL < current_time_s){
+ if(last_sensor_impulses >= NOISE_IMPULSES){
+ SensorGroup::event = PULSE_TRESH;
+ if(os.options[OPTION_FLOW_ALARM] == 2) next_state = FREE_FLOW;
+ else next_state = LEAKAGE_FLOW;
+ }
+ else{
+ SensorGroup::event = PULSE_TIMEOUT2;
+ next_state = NO_FLOW;
+ }
+ }
+ break;
+
+ case FREE_FLOW:
+ if(stat_stopped){
+ SensorGroup::stat_stopped = false;
+ SensorGroup::event = STATION_STOPPED;
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ if(stat_started){
+ stat_started = false;
+ SensorGroup::event = STATION_STARTED;
+ day_flow_sum();
+ write_log(LOGDATA_FREEFLOW_END, current_time_s, 0);
+ init_prog_count(current_time_s);
+ next_state = STATION_START;
+ break;
+ }
+ if(flow_timeout(curr_time_ms)){
+ SensorGroup::event = IMPULSES_TIMEOUT;
+ day_flow_sum();
+ write_log(LOGDATA_FREEFLOW_END, current_time_s, 0);
+ next_state = NO_FLOW;
+ break;
+ }
+ if(os.options[OPTION_FLOW_ALARM] == 2 && SensorGroup::flow_valid_flag ){
+ if(((current_time_s - SensorGroup::prog_start_time) / 60) > os.options[OPTION_FREEFLOW_TIME]){
+ //Freeflow timeout alarm
+ day_flow_sum();
+ SensorGroup::event = FREEFLOW_TIME_ALARM;
+ SensorGroup::alert(LOGDATA_ALARM_FF_TIME, current_time_s);
+ next_state = NO_FLOW;
+ }
+ else if((SensorGroup::prog_impulses / SensorGroup::flow_pulse_rate_IpG) > os.options[OPTION_FREEFLOW_QUANTITY] ){ //Freeflow max flow alarm
+ day_flow_sum();
+ SensorGroup::event = FREEFLOW_QUANTITY_ALARM;
+
+ /* DEBUG_PRINT(" prog_start_time , current_time_s: ");
+ DEBUG_PRINT(prog_start_time);
+ DEBUG_PRINT(" , ");
+ DEBUG_PRINTLN(current_time_s);
+ */
+ SensorGroup::alert(LOGDATA_ALARM_FF_QUANTITY, current_time_s);
+ next_state = NO_FLOW;
+ }
+ }
+ break;
+ case LEAKAGE_FLOW:
+ if(stat_stopped){
+ SensorGroup::stat_stopped = false;
+ SensorGroup::event = STATION_STOPPED;
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ if(stat_started){
+ stat_started = false;
+ SensorGroup::event = STATION_STARTED;
+ day_flow_sum();
+ write_log(LOGDATA_ALARM_LEAKAGE_END, current_time_s, 0);
+ init_prog_count(current_time_s);
+ next_state = STATION_START;
+ break;
+ }
+ if(flow_timeout(curr_time_ms)){
+ SensorGroup::event = IMPULSES_TIMEOUT;
+ day_flow_sum();
+ SensorGroup::alert(LOGDATA_ALARM_LEAKAGE_END, current_time_s);
+ next_state = NO_FLOW;
+ }
+ break;
+
+ case STFLOW_ALARM:
+ if(SensorGroup::stat_stopped){
+ SensorGroup::stat_stopped = false;
+ SensorGroup::event = STATION_STOPPED;
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ if(flow_timeout(curr_time_ms)){
+ SensorGroup::event = IMPULSES_TIMEOUT;
+ SensorGroup::alert(LOGDATA_ALARM_FLOW_STOPPED, current_time_s);
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ if(os.options[OPTION_FATAL_ALARM] == 1){
+ float v1 = (SensorGroup::realtime_GPM * 8.0);
+ uint32_t v2 = ((uint32_t)SensorGroup::flow_refval * FATAL_FLOW_LIMIT)/100;
+/* DEBUG_PRINT("Fatal real_GPM*8 , v2: ");
+ DEBUG_PRINT(v1);
+ DEBUG_PRINT(" , ");
+ DEBUG_PRINTLN(v2); */
+ if( v1 > v2 ){
+ SensorGroup::event = FATAL_FLOW_ALARM;
+ //in case of fatal error, the disable flag is set to disable from future operation
+ SensorGroup::alert(LOGDATA_ALARM_FATAL_FLOW, current_time_s);
+ byte d = 1 << (sid);
+/* DEBUG_PRINT("sid / d: ");
+ DEBUG_PRINT(sid);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(d);*/
+ d = d | nvm_read_byte((byte*)ADDR_NVM_ALARM_FATAL + (sid >> 3));
+ nvm_write_byte((byte*)ADDR_NVM_ALARM_FATAL + (sid >> 3), d );
+/* DEBUG_PRINT("sid / Fatal flag: ");
+ DEBUG_PRINT(sid);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(d);*/
+ //the process_dinamic_events() will handle the disable flag and stops the station
+ turn_off_station(sid, current_time_s);
+ next_state = PROGRAM_HOLD;
+ }
+ }
+ break;
+
+ case STCURRENT_ALARM:
+ if(SensorGroup::stat_stopped){
+ SensorGroup::stat_stopped = false;
+ SensorGroup::event = STATION_STOPPED;
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ if(flow_timeout(curr_time_ms)){
+ SensorGroup::event = IMPULSES_TIMEOUT;
+ SensorGroup::alert(LOGDATA_ALARM_FLOW_STOPPED, current_time_s);
+ next_state = PROGRAM_HOLD;
+ break;
+ }
+ if(!SensorGroup::excluded && !SensorGroup::special && SensorGroup::flow_valid_flag ){ // if the station is not excluded and flow data is valid
+ switch(SensorGroup::check_flow_alarm()){
+ case 0:
+ break;
+ case 1:
+ SensorGroup::event = OUT_OF_RANGE_LOWFLOW;
+ SensorGroup::alert(LOGDATA_ALARM_FLOW_LOW, current_time_s);
+ SensorGroup::next_state = STFLOW_ALARM;
+ break;
+ case 2:
+ SensorGroup::event = OUT_OF_RANGE_HIFLOW;
+ SensorGroup::alert(LOGDATA_ALARM_FLOW_HIGH, current_time_s);
+ SensorGroup::next_state = STFLOW_ALARM;
+ }
+ }
+ break;
+
+ default:
+ SensorGroup::event = FAILED_STATE_EVENT;
+ next_state = FAILED_STATE;
+ }
+
+ if(!(SensorGroup::event == NOTHING))
+ change_state(next_state, current_time_s);
+
+ DEBUG_PRINT("EndOfLoop EVENT / STATE / sid / impulses / realtime_GPM / real_current: ");
+ DEBUG_PRINT(event);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(SensorGroup::current_state);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(sid);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(SensorGroup::last_sensor_impulses);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(SensorGroup::realtime_GPM);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(SensorGroup::realtime_current);
+/**/
+ SensorGroup::old_sensor_impulses = SensorGroup::last_sensor_impulses;
+
+}//End of flow_loop()
+
+void SensorGroup::day_flow_sum(){
+
+ //Adding prog impulses to daily impulses
+ day_impulses = (os.station_attrib_bits_read(ADDR_NVM_IMPULSES + 3 ) << 8) +
+ os.station_attrib_bits_read(ADDR_NVM_IMPULSES + 2 );
+ SensorGroup::day_impulses += SensorGroup::prog_impulses;
+ uint16_t f = (uint16_t)(day_impulses);
+ byte v = f & 0xFF;
+ nvm_write_byte((byte*)(ADDR_NVM_IMPULSES + 2), v ); //save low byte
+ v = (f >> 8) & 0xFF; // shift the high byte
+ nvm_write_byte( (byte*)(ADDR_NVM_IMPULSES + 3), v ); //save high byte
+
+ SensorGroup::last_prog_impulses = SensorGroup::prog_impulses;
+ f = (uint16_t)(last_prog_impulses);
+ v = f & 0xFF;
+ nvm_write_byte((byte*)(ADDR_NVM_IMPULSES ), v ); //save low byte
+ v = (f >> 8) & 0xFF; // shift the high byte
+ nvm_write_byte( (byte*)(ADDR_NVM_IMPULSES + 1), v ); //save high byte
+}
+
+void SensorGroup::day_flow_calc(ulong curr_time){
+
+ //Saving last day impulses
+ day_impulses = (os.station_attrib_bits_read(ADDR_NVM_IMPULSES + 3 ) << 8) +
+ os.station_attrib_bits_read(ADDR_NVM_IMPULSES + 2 );
+ write_log(LOGDATA_DAYFLOW, curr_time, 0);
+
+ //save last day impulses
+ last_day_impulses = day_impulses;
+ uint16_t f = (uint16_t)(last_day_impulses);
+ byte v = f & 0xFF;
+ nvm_write_byte((byte*)(ADDR_NVM_IMPULSES + 4), v ); //save low byte
+ v = (f >> 8) & 0xFF; // shift the high byte
+ nvm_write_byte( (byte*)(ADDR_NVM_IMPULSES + 5), v ); //save high byte
+
+ //initialize day impulses
+ day_impulses =0;
+ nvm_write_byte((byte*)(ADDR_NVM_IMPULSES + 2), 0 ); //save low byte
+ v = (f >> 8) & 0xFF; // shift the high byte
+ nvm_write_byte( (byte*)(ADDR_NVM_IMPULSES + 3), 0 ); //save high byte
+
+
+}
+
+uint16_t nvm_read_word(ulong addr){ //low byte address
+ return((os.station_attrib_bits_read(addr + 1 ) << 8) + //read high byte
+ os.station_attrib_bits_read(addr)); //read low byte
+}
+
+void nvm_write_word(ulong addr, uint16_t f){ //low byte address
+ byte v = f & 0xFF;
+ nvm_write_byte((byte*)(addr), v ); //save low byte
+ v = (f >> 8) & 0xFF; //shift the high byte
+ nvm_write_byte( (byte*)(addr + 1), v ); //save high byte
+}
+
+void SensorGroup::check_sensors(ulong curr_time){
+
+ // ====== Check rain sensor status ======
+ if (os.options[OPTION_RSENSOR_TYPE] == SENSOR_TYPE_RAIN) { // if a rain sensor is connected
+ os.rainsensor_status();
+ if (os.old_status.rain_sensed != os.status.rain_sensed) {
+ if (os.status.rain_sensed) {
+ write_log(LOGDATA_RAINSENSE2, curr_time, 0); //in SG logs when the rain_sensed ==> 1
+ os.sensor_lasttime = curr_time; // when rain_sensed == 1, record time, there is no logging in the original version
+// push_message(IFTTT_RAINSENSOR, LOGDATA_RAINSENSE, 1, "");
+ } else {
+ // rain sensor off, write log
+ if (curr_time>os.sensor_lasttime+10) { // add a 10 second threshold
+ // to avoid faulty rain sensors generating
+ // too many log records
+ write_log(LOGDATA_RAINSENSE2, curr_time, 0); //in SG logs when the rain_sensed ==> 0
+ write_log(LOGDATA_RAINSENSE, curr_time, 0); //original OS log: only when rain_sensed ==> 0
+ push_message(IFTTT_RAINSENSOR, LOGDATA_RAINSENSE, 0, "");
+ }
+ }
+ os.old_status.rain_sensed = os.status.rain_sensed;
+ }
+ }
+
+ // ====== Check soil sensor1 status ======
+ if (os.options[OPTION_SSENSOR_1] != SENSOR_TYPE_NONE) { // if digital soil sensor1 is connected
+ os.soilsensor_status();
+ if (os.old_status.dry_soil_1 != os.status.dry_soil_1) { //1: enable irrigation, 0:disable irrigation
+ if (curr_time > os.s1sensor_lasttime + 3) { // add a 10 second threshold to avoid faulty sensing, generating too many log records
+ os.s1sensor_lasttime = curr_time; // soil sensor, record time of change
+ os.old_status.dry_soil_1 = os.status.dry_soil_1;
+ write_log(LOGDATA_SOIL1, curr_time, 0);
+/* if (os.status.dry_soil_1) {
+// push_message(IFTTT_SOILSENSOR, LOGDATA_SOIL1, 1);
+ } else {
+// push_message(IFTTT_SOILSENSOR, LOGDATA_SOIL1, 0);
+ }
+*/ }
+ }
+ }
+
+ // ====== Check soil sensor2 status ======
+ if (os.options[OPTION_SSENSOR_2] != SENSOR_TYPE_NONE) { // if digital soil sensor2 is connected
+ os.soilsensor_status();
+ if (os.old_status.dry_soil_2 != os.status.dry_soil_2) { //1: enable irrigation, 0:disable irrigation
+ if (curr_time > os.s2sensor_lasttime + 3) { // add a few second threshold to avoid faulty sensing, generating too many log records
+ os.s2sensor_lasttime = curr_time; // soil sensor, record time of change
+ os.old_status.dry_soil_2 = os.status.dry_soil_2;
+ write_log(LOGDATA_SOIL2, curr_time, 0);
+/* if (os.status.dry_soil_2) {
+// push_message(IFTTT_SOILSENSOR, LOGDATA_SOIL2, 1);
+ } else {
+// push_message(IFTTT_SOILSENSOR, LOGDATA_SOIL2, 0);
+ }
+*/ }
+ }
+ }
+}
+
+void SensorGroup::alert(byte type, ulong current_time) {
+
+ // copy the message on LCD
+ strncpy_P0(last_alarm_LCD, alarm_message_text + 16 * (type-0x10), 16);
+
+/* TODO: display on LCD the last alarm message in multiplexed form
+ os.lcd.setCursor(0, 0);
+ os.lcd.print(last_alarm_LCD);
+*/
+ // Serial Monitor print of alerts
+ switch (type) {
+ case LOGDATA_ALARM_FLOW_STOPPED:
+ DEBUG_PRINTLN("Alert! Flow stopped!");
+ alarm_cnt++;
+ break;
+ case LOGDATA_ALARM_FF_QUANTITY:
+ DEBUG_PRINTLN("Alert! Freeflow max impulses reached!");
+ alarm_cnt++;
+ break;
+ case LOGDATA_ALARM_FF_TIME:
+ DEBUG_PRINTLN("Alert! Freeflow max time reached!");
+ alarm_cnt++;
+ break;
+ case LOGDATA_ALARM_LEAKAGE_START:
+ DEBUG_PRINTLN("Alert! LEAKAGE detected!");
+ alarm_cnt++;
+ break;
+ case LOGDATA_ALARM_LEAKAGE_END:
+ DEBUG_PRINTLN("Alert! Leakage finished!");
+ alarm_cnt++;
+ break;
+ case LOGDATA_ALARM_FLOW_HIGH:
+ DEBUG_PRINTLN("Alert! HIGH FLOW detected!");
+ alarm_cnt++;
+ break;
+ case LOGDATA_ALARM_FLOW_LOW:
+ DEBUG_PRINTLN("Alert! LOW FLOW detected!");
+ alarm_cnt++;
+ break;
+ case LOGDATA_ALARM_FATAL_FLOW:
+ DEBUG_PRINTLN("Alert! FATAL FLOW detected! Station disabled!");
+ alarm_cnt++;
+ break;
+ case LOGDATA_ALARM_CURRENT_HIGH:
+ DEBUG_PRINTLN("Alert! HIGH STATION CURRENT detected!");
+ alarm_cnt++;
+ break;
+ case LOGDATA_ALARM_CURRENT_LOW:
+ DEBUG_PRINTLN("Alert! LOW STATION CURRENT detected!");
+ alarm_cnt++;
+ break;
+ default:
+ alarm_cnt++;
+ DEBUG_PRINTLN("Unknown alert!");
+ break;
+ }
+
+ //write alerts to log
+ write_log(type, current_time, 0);
+}
+
diff --git a/SensorGroup.h b/SensorGroup.h
new file mode 100644
index 0000000..6ca6d11
--- /dev/null
+++ b/SensorGroup.h
@@ -0,0 +1,204 @@
+/*
+ This is the header file of SensorGroup.cpp
+
+ The entire file (if not stated otherwise) is written by CV.
+*/
+
+#ifndef SENSORGROUP_H
+
+ #define SENSORGROUP_H
+
+
+ // ### Flow Sensor defines
+ #define FLOW_SENSOR_DEBOUNCE 10 // the debounce time of the flow sensor in milliseconds
+ #define FLOW_TIMEOUT 5000 // the timeout of the flow sensor in milliseconds
+ // if no pulse arrives in this time window, we say that we have no flow
+ #define NOISE_IMPULSES 3 // under this number of impulses / NOISE_INTERVAL we treat as noise sensing at freeflow mode
+ #define NOISE_INTERVAL 60 // noise detecting interval
+ #define SETTLING_UP 7 // the flow build up interval second
+ #define SETTLING_DOWN 6 // the flow settle down to zero interval second
+ #define FLOWSENSOR_TYPE_SEL 15 // if PULSE_RANGE > value, the flow is sensed by hall effect sensor, no debounce needed = 0
+ #define FATAL_FLOW_LIMIT 200 // the level of Fatal flow alarm in %
+ #define HALL_SENSOR_LIMIT 3 // from this impulses per gallon hall sensor in the flow meter
+ //#define FLOWCOUNT_RT_WINDOW // (defines.h) specifies the interval on which we calculate the realtime PPM and GPM in seconds
+ // depends on the flow meter there should be about 3 impulses in the window at 10 l/min
+ // ### END: FlowSensor defines
+
+ // ### Soil Sensor defines
+ #define SOIL_SAMPLE_INTERVAL 7 // the soil sensor sampling interval seconds
+
+ #define SOIL_HIT_NUMBER 1 // the number of consecutive dry readings needed for action
+ #define SOIL_ENABLED 1 // the value for the state "we have to water"
+ #define SOIL_DISABLED 0 // the value for the state "we don't have to water"
+ // ### END: Soil Sensor defines
+
+ #include "defines.h"
+ #include "OpenSprinkler.h"
+ #include
+
+// the possbile states of the flow handler FSM
+typedef enum {
+ NO_FLOW, //0,FLOW_NOFLOW
+ FREE_FLOW, //1, FLOW_FREEFLOW
+ LEAKAGE_FLOW, //2
+ STATION_START, //3
+ STATION_FLOW, //4
+ STATION_FLOW_CAL, //5
+ STFLOW_ALARM, //6
+ STCURRENT_ALARM, //7
+ PROGRAM_HOLD, //8
+ PROG_FINISH, //9
+ FAILED_STATE, //10
+ NOISE_FILTER //11
+
+}FL_STATES;
+
+// the possible events in flow handler FSM
+typedef enum {
+ NOTHING, //0
+ IMPULSES_STARTED, //1
+ IMPULSES_TIMEOUT, //2
+ STATION_STARTED, //3
+ SETTLE_TIMEOUT, //4
+ STATION_STOPPED, //5
+ FREEFLOW_TIME_ALARM, //6
+ FREEFLOW_QUANTITY_ALARM,//7
+ OUT_OF_RANGE_HICURRENT, //8
+ OUT_OF_RANGE_LOWCURRENT,//9
+ OUT_OF_RANGE_HIFLOW, //10
+ OUT_OF_RANGE_LOWFLOW, //11
+ FATAL_FLOW_ALARM, //12
+ PROG_QUE_EMPTY, //13
+ FAILED_STATE_EVENT, //14
+ PULSE_TIMEOUT2, //15
+ PULSE_TRESH //16
+
+}FL_EVENTS;
+
+
+class SensorGroup {
+public:
+
+ // the FSM controls
+ static byte current_state;
+ static byte old_state;
+ static byte next_state;
+ static byte event;
+ static ulong fsm_fail_counter;
+
+ // the stations data
+ // reference values copied from NVM at STATION_FLOW entry() function
+ // Current ref deleted to 0xFF: at Fact Reset, at OPTION_CAL_REQUEST == 1, or Master station changed
+ static bool excluded; //set if station is excluded from alarm handling
+ static bool special; //set if station is special, no alarm handling is done
+ static byte sid; //running station id
+ static bool stat_started; //set when a station started
+ static bool stat_stopped; //set when a station stopped
+ static bool prog_finished; //set when a program stopped
+
+ //flow sensor
+ static volatile ulong flow_last_impulse_ms; // the time of the last impulse from the flow sensor in millisecond
+ static volatile ulong sensor_impulses; //counts in flow in ISR routine
+ // last_read_impulse_ms the last read of "flow_last_impulse_ms"
+ // last_sensor_impulses the last read of "sensor_impulses" value
+ // old_sensor_impulses the previous value of "last_sensor_impulses" value
+ static ulong last_read_impulse_ms, last_sensor_impulses, old_sensor_impulses;
+ static float flow_pulse_rate_IpG; // the impulse/gallon of the flow sensor
+ static bool hall_effect_sensor; //flow sensor has hall(magnetic) detector built in
+
+ //alarm
+ static byte curr_refval; // the current Station (sid) CURRENT reference not calibrated if 0xFF
+ static uint16_t flow_refval; // The current Station FLOW reference not calibrated if 0xFFFF
+ static byte flow_alarm_range; // the maximal difference in station flow in percent (%)
+ static byte current_alarm_range; // the maximal difference in station current usage before alert in percent(%)
+ static byte alarm_cnt;
+
+
+ //results
+ // realtime_GPM the realtime GPM of the state, calculated continuously (interval specified in CURRENT_PPM_GPM_TIME_LENGTH)
+ // station_impulses the number of GPM impulses in a stat
+ // prog_impulses the number of impulses at the end of program
+ // day_impulses the number of impulses in the day
+ // last_day_impulses
+ // realtime_current the actual current of the station in mA
+ static bool display_GPM;
+ static float realtime_GPM;
+ static float realtime_gallons;
+ static ulong realtime_current;
+ static ulong station_impulses;
+ static ulong prog_impulses, last_prog_impulses, day_impulses, last_day_impulses;
+ static ulong window_impulses;
+
+
+ //measure
+ // measure_window_start
+ // measure_start_imp the measure window entering impulse data
+ // prog_start_time when the actual flow has been initiated, in a program or freeflow
+ // station_start_time the time the state started (e. g.: station or freeflow)
+ // sec_timer, msec_timer timers
+ // station_start_impulses copy of sensor_impulses at station, freeflow, leakage start
+ static ulong station_start_impulses;
+ static ulong measure_start_imp;
+ static ulong measure_window_start, prog_start_time, station_start_time;
+ static ulong sec_timer;
+ static bool flow_valid_flag;
+ static bool prog_start_flag;
+
+ static ulong last_soil_read;
+
+
+ // The interrupt method of the flow sensor, runs every time a pulse is sent by the flow sensor
+ static void flowsensor_ISR();
+
+ // initialization
+ static void init();
+
+ // runs every time a staion is activated
+ static void station_started(byte sid);
+
+ // runs every time a staion is deactivated
+ static void station_stopped(byte sid);
+
+ static void program_stopped();
+ static void day_flow_calc(ulong curr_time);
+ static void day_flow_sum();
+
+ // enable or disable calibration on a station
+ static void set_calibration_for_station(byte sid, bool flow_enable_calibration, bool current_enable_calibration);
+
+ // set the soil sensors for a station
+ static void set_soil_sensors_for_station(byte sid, bool use_sensor_1, bool use_sensor_2);
+
+ // reset the stored station flow/current values
+ static void reset_nominal_station_data(byte sid, bool reset_flow, bool reset_current);
+ static void clear_station_calibration(byte sid);
+ static void clear_calibration();
+
+ // runs in every loop and calculates stuff
+ static void loop(ulong current_time);
+
+ // check the rain and soil sensors' status and update the os
+ static void check_sensors(ulong curr_time);
+
+ // runs rarer than the main loop, handles the flow sensor realtime calculations
+ static void calculate_logdata();
+ static void alert(byte type, ulong current_time);
+ static void change_state(byte new_state, ulong curr_time_s);
+ static void flow_loop(ulong current_time_s);
+ static void init_prog_count(ulong current_time);
+ static void init_station_count(ulong current_time);
+ static int check_flow_alarm();
+ static int check_current_alarm();
+ static void read_flow_sensor();
+private:
+
+ // write a station's data to the SD card
+ static void station_data_to_EEPROM(byte sid);
+
+ // write all station data to the SD card
+ static void all_station_data_to_EEPROM();
+
+ // check and create the nessesary data structure on the SD card
+ static bool init_ext_EEPROM();
+};
+#endif // !FLOWSENSOR_H
\ No newline at end of file
diff --git a/defines.h b/defines.h
index 0e17e9c..c885363 100644
--- a/defines.h
+++ b/defines.h
@@ -32,7 +32,7 @@
#endif
/** Firmware version, hardware version, and maximal values */
-#define OS_FW_VERSION 217 // Firmware version: 217 means 2.1.7
+#define OS_FW_VERSION 217 // Firmware version: 217 means 2.1.7
// if this number is different from the one stored in non-volatile memory
// a device reset will be automatically triggered
@@ -40,7 +40,7 @@
// SMART GREEN version identifier
#define OS_SGHW_VERSION 20 // SB2 sensor attachment: ACS712 current, inputs: 2 soil, 1 flow, 1 rain + program switch
-#define OS_SGFW_VERSION 21 // SG Firmware version
+#define OS_SGFW_VERSION 21 // SG Firmware version: originated from v217 Nov. 07, 2016
#if defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega1284__)
/*
@@ -70,7 +70,7 @@
#define IFTTT_KEY_FILENAME "ifkey.txt"
#define IFTTT_KEY_MAXSIZE 128
-#define FLOWCOUNT_RT_WINDOW 15 // flow count window (for computing real-time flow rate), 30 seconds
+#define FLOWCOUNT_RT_WINDOW 30 // flow count window (for computing real-time flow rate), 30 seconds
/** Station type macro defines */
#define STN_TYPE_STANDARD 0x00
@@ -91,7 +91,7 @@
#define SENSOR_TYPE_NONE 0x00
// rainsensor/program switch input
//#define SENSOR_TYPE_RAIN 0x01 // rain sensor
-#define SENSOR_TYPE_RAIN 0x02 // cheat rain sensor till UI can handle
+#define SENSOR_TYPE_RAIN 0x02 // cheat UI to sense flow sensor till UI upgrade
#define SENSOR_TYPE_PSWITCH 0xF0 // program switch
//flow sensor input
#define SENSOR_TYPE_FLOW 0x01 // flow sensor
@@ -217,8 +217,8 @@
#define DEFAULT_WEATHER_KEY ""
#define DEFAULT_JAVASCRIPT_URL "https://ui.opensprinkler.com/js"
#define DEFAULT_WEATHER_URL "weather.opensprinkler.com"
-#define DEFAULT_CLOUD_URL "client.sandz.hu" //"http://client.sandz.hu/sr"
#define DEFAULT_IFTTT_URL "maker.ifttt.com"
+#define DEFAULT_CLOUD_URL "client.sandz.hu" //development server address: "http://client.sandz.hu/sr"
/** Macro define of each option
* Refer to OpenSprinkler.cpp for details on each option
@@ -319,17 +319,16 @@ NUM_OPTIONS // total number of options
#define LOGDATA_RAINSENSE 0x01
#define LOGDATA_RAINDELAY 0x02
#define LOGDATA_WATERLEVEL 0x03
-#define LOGDATA_PROGFLOW 0x04 //was LOGDATA_FLOWSENSE
+#define LOGDATA_FLOWSENSE 0x04
//Smart
+#define LOGDATA_PROGFLOW 0x04 //was LOGDATA_FLOWSENSE
#define LOGDATA_RAINSENSE2 0x05
#define LOGDATA_RAINDELAY2 0x06
#define LOGDATA_PROGFLOW2 0x07
#define LOGDATA_DAYFLOW 0x08
#define LOGDATA_CALIBRATED 0x09 // a zone has been calibrated
-#define LOGDATA_FREEFLOW_END 0x0A // freeflow ended
-
// soil log options
#define LOGDATA_SOIL1 0x30
#define LOGDATA_SOIL2 0x31
@@ -343,11 +342,17 @@ NUM_OPTIONS // total number of options
#define LOGDATA_RAIN_STATION_CANCEL 0x37
// alert log data types
-#define LOGDATA_ALARM_FLOW_STOPPED 0x10
-#define LOGDATA_ALARM_FF_QUANTITY 0x11
-#define LOGDATA_ALARM_FF_TIME 0x12
-#define LOGDATA_ALARM_LEAKAGE_START 0x13
-#define LOGDATA_ALARM_LEAKAGE_END 0x14
+#define LOGDATA_ALARM_FLOW_STOPPED 0x10 // when flow stopped before watering program ended
+
+//Log freeflow enabled
+#define LOGDATA_FREEFLOW_END 0x0A // when no issue detected
+#define LOGDATA_ALARM_FF_QUANTITY 0x11 // overrun the preprogrammed freeflow quantity
+#define LOGDATA_ALARM_FF_TIME 0x12 // overrun the preprogrammed freeflow time
+
+//Log freeflow disabled
+#define LOGDATA_ALARM_LEAKAGE_START 0x13 // flow on mainline when no program started
+#define LOGDATA_ALARM_LEAKAGE_END 0x14
+
//flow alarms
#define LOGDATA_ALARM_FLOW_HIGH 0x15
#define LOGDATA_ALARM_FLOW_LOW 0x16
diff --git a/examples/mainArduino/.vs/OS_SG_Develoment/v14/.atsuo b/examples/mainArduino/.vs/OS_SG_Develoment/v14/.atsuo
new file mode 100644
index 0000000..c93fdbe
Binary files /dev/null and b/examples/mainArduino/.vs/OS_SG_Develoment/v14/.atsuo differ
diff --git a/examples/mainArduino/Debug/Makefile b/examples/mainArduino/Debug/Makefile
new file mode 100644
index 0000000..54d82b1
--- /dev/null
+++ b/examples/mainArduino/Debug/Makefile
@@ -0,0 +1,558 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL := cmd.exe
+RM := rm -rf
+
+USER_OBJS :=
+
+LIBS :=
+PROJ :=
+
+O_SRCS :=
+C_SRCS :=
+S_SRCS :=
+S_UPPER_SRCS :=
+OBJ_SRCS :=
+ASM_SRCS :=
+PREPROCESSING_SRCS :=
+OBJS :=
+OBJS_AS_ARGS :=
+C_DEPS :=
+C_DEPS_AS_ARGS :=
+EXECUTABLES :=
+OUTPUT_FILE_PATH :=
+OUTPUT_FILE_PATH_AS_ARGS :=
+AVR_APP_PATH :=$$$AVR_APP_PATH$$$
+QUOTE := "
+ADDITIONAL_DEPENDENCIES:=
+OUTPUT_FILE_DEP:=
+LIB_DEP:=
+LINKER_SCRIPT_DEP:=
+
+# Every subdirectory with source files must be described here
+SUBDIRS := \
+../mainArduino/ \
+../mainArduino/src/ \
+../mainArduino/src/_micro-api-readonly/ \
+../mainArduino/src/_micro-api-readonly/core/ \
+../mainArduino/src/_micro-api-readonly/libraries/ \
+../mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/ \
+../mainArduino/src/_micro-api-readonly/libraries/SdFat/ \
+../mainArduino/src/_micro-api-readonly/libraries/SdFat/utility/ \
+../mainArduino/src/_micro-api-readonly/libraries/Wire/ \
+../mainArduino/src/_micro-api-readonly/libraries/Wire/utility/ \
+../mainArduino/src/_micro-api-readonly/variants/ \
+../mainArduino/src/_micro-api-readonly/variants/standard/ \
+../src/ \
+../src/_micro-api-readonly/ \
+../src/_micro-api-readonly/core/ \
+../src/_micro-api-readonly/libraries/ \
+../src/_micro-api-readonly/libraries/OpenSprinkler/ \
+../src/_micro-api-readonly/libraries/SdFat/ \
+../src/_micro-api-readonly/libraries/SdFat/utility/ \
+../src/_micro-api-readonly/libraries/Wire/ \
+../src/_micro-api-readonly/libraries/Wire/utility/ \
+../src/_micro-api-readonly/variants/ \
+../src/_micro-api-readonly/variants/standard/
+
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../../../../../hardware/aopensprinkler/cores/arduino/CDC.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/HardwareSerial.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/HID.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/IPAddress.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/main.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/new.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/Print.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/Stream.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/Tone.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/USBCore.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/WInterrupts.c \
+../../../../../hardware/aopensprinkler/cores/arduino/wiring.c \
+../../../../../hardware/aopensprinkler/cores/arduino/wiring_analog.c \
+../../../../../hardware/aopensprinkler/cores/arduino/wiring_digital.c \
+../../../../../hardware/aopensprinkler/cores/arduino/wiring_pulse.c \
+../../../../../hardware/aopensprinkler/cores/arduino/wiring_shift.c \
+../../../../../hardware/aopensprinkler/cores/arduino/WMath.cpp \
+../../../../../hardware/aopensprinkler/cores/arduino/WString.cpp \
+../../../../SdFat/istream.cpp \
+../../../../SdFat/MinimumSerial.cpp \
+../../../../SdFat/ostream.cpp \
+../../../../SdFat/Sd2Card.cpp \
+../../../../SdFat/SdBaseFile.cpp \
+../../../../SdFat/SdBaseFilePrint.cpp \
+../../../../SdFat/SdFat.cpp \
+../../../../SdFat/SdFatErrorPrint.cpp \
+../../../../SdFat/SdFatUtil.cpp \
+../../../../SdFat/SdFile.cpp \
+../../../../SdFat/SdSpiArduino.cpp \
+../../../../SdFat/SdSpiAVR.cpp \
+../../../../SdFat/SdSpiMK20DX128.cpp \
+../../../../SdFat/SdSpiSAM3X.cpp \
+../../../../SdFat/SdStream.cpp \
+../../../../SdFat/SdVolume.cpp \
+../../../../Wire/utility/twi.c \
+../../../../Wire/Wire.cpp \
+../../../dhcp.cpp \
+../../../dns.cpp \
+../../../DS1307RTC.cpp \
+../../../enc28j60.cpp \
+../../../EtherCard.cpp \
+../../../etherport.cpp \
+../../../gpio.cpp \
+../../../LiquidCrystal.cpp \
+../../../main.cpp \
+../../../OpenSprinkler.cpp \
+../../../program.cpp \
+../../../server.cpp \
+../../../tcpip.cpp \
+../../../Time.cpp \
+../../../udpserver.cpp \
+../../../utils.cpp \
+../../../weather.cpp \
+../../../webutil.cpp
+
+
+PREPROCESSING_SRCS +=
+
+
+ASM_SRCS +=
+
+
+OBJS += \
+mainArduino/src/_micro-api-readonly/core/CDC.o \
+mainArduino/src/_micro-api-readonly/core/HardwareSerial.o \
+mainArduino/src/_micro-api-readonly/core/HID.o \
+mainArduino/src/_micro-api-readonly/core/IPAddress.o \
+mainArduino/src/_micro-api-readonly/core/main.o \
+mainArduino/src/_micro-api-readonly/core/new.o \
+mainArduino/src/_micro-api-readonly/core/Print.o \
+mainArduino/src/_micro-api-readonly/core/Stream.o \
+mainArduino/src/_micro-api-readonly/core/Tone.o \
+mainArduino/src/_micro-api-readonly/core/USBCore.o \
+mainArduino/src/_micro-api-readonly/core/WInterrupts.o \
+mainArduino/src/_micro-api-readonly/core/wiring.o \
+mainArduino/src/_micro-api-readonly/core/wiring_analog.o \
+mainArduino/src/_micro-api-readonly/core/wiring_digital.o \
+mainArduino/src/_micro-api-readonly/core/wiring_pulse.o \
+mainArduino/src/_micro-api-readonly/core/wiring_shift.o \
+mainArduino/src/_micro-api-readonly/core/WMath.o \
+mainArduino/src/_micro-api-readonly/core/WString.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/istream.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/MinimumSerial.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/ostream.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/Sd2Card.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdBaseFile.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdBaseFilePrint.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFat.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFatErrorPrint.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFatUtil.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFile.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiArduino.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiAVR.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiMK20DX128.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiSAM3X.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdStream.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdVolume.o \
+mainArduino/src/_micro-api-readonly/libraries/Wire/utility/twi.o \
+mainArduino/src/_micro-api-readonly/libraries/Wire/Wire.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/dhcp.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/dns.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/DS1307RTC.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/enc28j60.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/EtherCard.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/etherport.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/gpio.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/LiquidCrystal.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/main.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/OpenSprinkler.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/program.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/server.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/tcpip.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/Time.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/udpserver.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/utils.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/weather.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/webutil.o
+
+OBJS_AS_ARGS += \
+mainArduino/src/_micro-api-readonly/core/CDC.o \
+mainArduino/src/_micro-api-readonly/core/HardwareSerial.o \
+mainArduino/src/_micro-api-readonly/core/HID.o \
+mainArduino/src/_micro-api-readonly/core/IPAddress.o \
+mainArduino/src/_micro-api-readonly/core/main.o \
+mainArduino/src/_micro-api-readonly/core/new.o \
+mainArduino/src/_micro-api-readonly/core/Print.o \
+mainArduino/src/_micro-api-readonly/core/Stream.o \
+mainArduino/src/_micro-api-readonly/core/Tone.o \
+mainArduino/src/_micro-api-readonly/core/USBCore.o \
+mainArduino/src/_micro-api-readonly/core/WInterrupts.o \
+mainArduino/src/_micro-api-readonly/core/wiring.o \
+mainArduino/src/_micro-api-readonly/core/wiring_analog.o \
+mainArduino/src/_micro-api-readonly/core/wiring_digital.o \
+mainArduino/src/_micro-api-readonly/core/wiring_pulse.o \
+mainArduino/src/_micro-api-readonly/core/wiring_shift.o \
+mainArduino/src/_micro-api-readonly/core/WMath.o \
+mainArduino/src/_micro-api-readonly/core/WString.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/istream.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/MinimumSerial.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/ostream.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/Sd2Card.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdBaseFile.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdBaseFilePrint.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFat.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFatErrorPrint.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFatUtil.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFile.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiArduino.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiAVR.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiMK20DX128.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiSAM3X.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdStream.o \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdVolume.o \
+mainArduino/src/_micro-api-readonly/libraries/Wire/utility/twi.o \
+mainArduino/src/_micro-api-readonly/libraries/Wire/Wire.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/dhcp.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/dns.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/DS1307RTC.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/enc28j60.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/EtherCard.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/etherport.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/gpio.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/LiquidCrystal.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/main.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/OpenSprinkler.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/program.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/server.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/tcpip.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/Time.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/udpserver.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/utils.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/weather.o \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/webutil.o
+
+C_DEPS += \
+mainArduino/src/_micro-api-readonly/core/CDC.d \
+mainArduino/src/_micro-api-readonly/core/HardwareSerial.d \
+mainArduino/src/_micro-api-readonly/core/HID.d \
+mainArduino/src/_micro-api-readonly/core/IPAddress.d \
+mainArduino/src/_micro-api-readonly/core/main.d \
+mainArduino/src/_micro-api-readonly/core/new.d \
+mainArduino/src/_micro-api-readonly/core/Print.d \
+mainArduino/src/_micro-api-readonly/core/Stream.d \
+mainArduino/src/_micro-api-readonly/core/Tone.d \
+mainArduino/src/_micro-api-readonly/core/USBCore.d \
+mainArduino/src/_micro-api-readonly/core/WInterrupts.d \
+mainArduino/src/_micro-api-readonly/core/wiring.d \
+mainArduino/src/_micro-api-readonly/core/wiring_analog.d \
+mainArduino/src/_micro-api-readonly/core/wiring_digital.d \
+mainArduino/src/_micro-api-readonly/core/wiring_pulse.d \
+mainArduino/src/_micro-api-readonly/core/wiring_shift.d \
+mainArduino/src/_micro-api-readonly/core/WMath.d \
+mainArduino/src/_micro-api-readonly/core/WString.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/istream.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/MinimumSerial.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/ostream.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/Sd2Card.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdBaseFile.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdBaseFilePrint.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFat.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFatErrorPrint.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFatUtil.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFile.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiArduino.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiAVR.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiMK20DX128.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiSAM3X.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdStream.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdVolume.d \
+mainArduino/src/_micro-api-readonly/libraries/Wire/utility/twi.d \
+mainArduino/src/_micro-api-readonly/libraries/Wire/Wire.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/dhcp.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/dns.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/DS1307RTC.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/enc28j60.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/EtherCard.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/etherport.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/gpio.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/LiquidCrystal.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/main.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/OpenSprinkler.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/program.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/server.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/tcpip.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/Time.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/udpserver.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/utils.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/weather.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/webutil.d
+
+C_DEPS_AS_ARGS += \
+mainArduino/src/_micro-api-readonly/core/CDC.d \
+mainArduino/src/_micro-api-readonly/core/HardwareSerial.d \
+mainArduino/src/_micro-api-readonly/core/HID.d \
+mainArduino/src/_micro-api-readonly/core/IPAddress.d \
+mainArduino/src/_micro-api-readonly/core/main.d \
+mainArduino/src/_micro-api-readonly/core/new.d \
+mainArduino/src/_micro-api-readonly/core/Print.d \
+mainArduino/src/_micro-api-readonly/core/Stream.d \
+mainArduino/src/_micro-api-readonly/core/Tone.d \
+mainArduino/src/_micro-api-readonly/core/USBCore.d \
+mainArduino/src/_micro-api-readonly/core/WInterrupts.d \
+mainArduino/src/_micro-api-readonly/core/wiring.d \
+mainArduino/src/_micro-api-readonly/core/wiring_analog.d \
+mainArduino/src/_micro-api-readonly/core/wiring_digital.d \
+mainArduino/src/_micro-api-readonly/core/wiring_pulse.d \
+mainArduino/src/_micro-api-readonly/core/wiring_shift.d \
+mainArduino/src/_micro-api-readonly/core/WMath.d \
+mainArduino/src/_micro-api-readonly/core/WString.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/istream.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/MinimumSerial.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/ostream.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/Sd2Card.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdBaseFile.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdBaseFilePrint.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFat.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFatErrorPrint.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFatUtil.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdFile.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiArduino.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiAVR.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiMK20DX128.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdSpiSAM3X.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdStream.d \
+mainArduino/src/_micro-api-readonly/libraries/SdFat/SdVolume.d \
+mainArduino/src/_micro-api-readonly/libraries/Wire/utility/twi.d \
+mainArduino/src/_micro-api-readonly/libraries/Wire/Wire.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/dhcp.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/dns.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/DS1307RTC.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/enc28j60.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/EtherCard.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/etherport.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/gpio.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/LiquidCrystal.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/main.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/OpenSprinkler.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/program.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/server.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/tcpip.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/Time.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/udpserver.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/utils.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/weather.d \
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/webutil.d
+
+OUTPUT_FILE_PATH +=mainArduino.elf
+
+OUTPUT_FILE_PATH_AS_ARGS +=mainArduino.elf
+
+ADDITIONAL_DEPENDENCIES:=
+
+OUTPUT_FILE_DEP:= ./makedep.mk
+
+LIB_DEP+=
+
+LINKER_SCRIPT_DEP+=
+
+
+# AVR32/GNU C Compiler
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mainArduino/src/_micro-api-readonly/core/%.o: ../../../../../hardware/aopensprinkler/cores/arduino/%.c
+ @echo Building file: $<
+ @echo Invoking: AVR8/GNU C Compiler : 4.9.2
+ $(QUOTE)C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -D__AVR_ATmega1284p__ -D__AVR_ATmega1284P__ -DARDUINO=105 -DARDUINO_MAIN -DF_CPU=16000000L -D__AVR__ -I"c:/Program Files/Arduino/libraries/OpenSprinkler" -I"c:/Program Files/Arduino/libraries/SdFat" -I"c:/Program Files/Arduino/libraries/Wire" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/libraries" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/utility" -I"c:/Program Files/Arduino/libraries/SdFat/utility" -I"c:/Program Files/Arduino/libraries/Wire/utility" -I"c:/Program Files/Arduino/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino" -I"c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard" -I"../../../mainArduino" -I"c:/program files/arduino/hardware/tools/avr/avr/include" -I"c:/program files/arduino/hardware/tools/avr/avr/include/avr" -I"c:/program files/arduino/hardware/tools/avr/avr" -I"c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+mainArduino/src/_micro-api-readonly/core/%.o: ../../../../../hardware/aopensprinkler/cores/arduino/%.cpp
+ @echo Building file: $<
+ @echo Invoking: AVR8/GNU C Compiler : 4.9.2
+ $(QUOTE)C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -funsigned-char -funsigned-bitfields -D__AVR_ATmega1284p__ -D__AVR_ATmega1284P__ -DARDUINO=105 -DARDUINO_MAIN -DF_CPU=16000000L -D__AVR__ -I"c:/Program Files/Arduino/libraries/OpenSprinkler" -I"c:/Program Files/Arduino/libraries/SdFat" -I"c:/Program Files/Arduino/libraries/Wire" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/libraries" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/utility" -I"c:/Program Files/Arduino/libraries/SdFat/utility" -I"c:/Program Files/Arduino/libraries/Wire/utility" -I"c:/Program Files/Arduino/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino" -I"c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard" -I"../../../mainArduino" -I"c:/program files/arduino/hardware/tools/avr/avr/include" -I"c:/program files/arduino/hardware/tools/avr/avr/include/avr" -I"c:/program files/arduino/hardware/tools/avr/avr" -I"c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -c -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+mainArduino/src/_micro-api-readonly/libraries/SdFat/%.o: ../../../../SdFat/%.cpp
+ @echo Building file: $<
+ @echo Invoking: AVR8/GNU C Compiler : 4.9.2
+ $(QUOTE)C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -funsigned-char -funsigned-bitfields -D__AVR_ATmega1284p__ -D__AVR_ATmega1284P__ -DARDUINO=105 -DARDUINO_MAIN -DF_CPU=16000000L -D__AVR__ -I"c:/Program Files/Arduino/libraries/OpenSprinkler" -I"c:/Program Files/Arduino/libraries/SdFat" -I"c:/Program Files/Arduino/libraries/Wire" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/libraries" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/utility" -I"c:/Program Files/Arduino/libraries/SdFat/utility" -I"c:/Program Files/Arduino/libraries/Wire/utility" -I"c:/Program Files/Arduino/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino" -I"c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard" -I"../../../mainArduino" -I"c:/program files/arduino/hardware/tools/avr/avr/include" -I"c:/program files/arduino/hardware/tools/avr/avr/include/avr" -I"c:/program files/arduino/hardware/tools/avr/avr" -I"c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -c -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+mainArduino/src/_micro-api-readonly/libraries/Wire/utility/%.o: ../../../../Wire/utility/%.c
+ @echo Building file: $<
+ @echo Invoking: AVR8/GNU C Compiler : 4.9.2
+ $(QUOTE)C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -D__AVR_ATmega1284p__ -D__AVR_ATmega1284P__ -DARDUINO=105 -DARDUINO_MAIN -DF_CPU=16000000L -D__AVR__ -I"c:/Program Files/Arduino/libraries/OpenSprinkler" -I"c:/Program Files/Arduino/libraries/SdFat" -I"c:/Program Files/Arduino/libraries/Wire" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/libraries" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/utility" -I"c:/Program Files/Arduino/libraries/SdFat/utility" -I"c:/Program Files/Arduino/libraries/Wire/utility" -I"c:/Program Files/Arduino/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino" -I"c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard" -I"../../../mainArduino" -I"c:/program files/arduino/hardware/tools/avr/avr/include" -I"c:/program files/arduino/hardware/tools/avr/avr/include/avr" -I"c:/program files/arduino/hardware/tools/avr/avr" -I"c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+mainArduino/src/_micro-api-readonly/libraries/Wire/%.o: ../../../../Wire/%.cpp
+ @echo Building file: $<
+ @echo Invoking: AVR8/GNU C Compiler : 4.9.2
+ $(QUOTE)C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -funsigned-char -funsigned-bitfields -D__AVR_ATmega1284p__ -D__AVR_ATmega1284P__ -DARDUINO=105 -DARDUINO_MAIN -DF_CPU=16000000L -D__AVR__ -I"c:/Program Files/Arduino/libraries/OpenSprinkler" -I"c:/Program Files/Arduino/libraries/SdFat" -I"c:/Program Files/Arduino/libraries/Wire" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/libraries" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/utility" -I"c:/Program Files/Arduino/libraries/SdFat/utility" -I"c:/Program Files/Arduino/libraries/Wire/utility" -I"c:/Program Files/Arduino/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino" -I"c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard" -I"../../../mainArduino" -I"c:/program files/arduino/hardware/tools/avr/avr/include" -I"c:/program files/arduino/hardware/tools/avr/avr/include/avr" -I"c:/program files/arduino/hardware/tools/avr/avr" -I"c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -c -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+mainArduino/src/_micro-api-readonly/libraries/OpenSprinkler/%.o: ../../../%.cpp
+ @echo Building file: $<
+ @echo Invoking: AVR8/GNU C Compiler : 4.9.2
+ $(QUOTE)C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -funsigned-char -funsigned-bitfields -D__AVR_ATmega1284p__ -D__AVR_ATmega1284P__ -DARDUINO=105 -DARDUINO_MAIN -DF_CPU=16000000L -D__AVR__ -I"c:/Program Files/Arduino/libraries/OpenSprinkler" -I"c:/Program Files/Arduino/libraries/SdFat" -I"c:/Program Files/Arduino/libraries/Wire" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/libraries" -I"c:/Program Files/Arduino/libraries/OpenSprinkler/utility" -I"c:/Program Files/Arduino/libraries/SdFat/utility" -I"c:/Program Files/Arduino/libraries/Wire/utility" -I"c:/Program Files/Arduino/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/libraries" -I"c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino" -I"c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard" -I"../../../mainArduino" -I"c:/program files/arduino/hardware/tools/avr/avr/include" -I"c:/program files/arduino/hardware/tools/avr/avr/include/avr" -I"c:/program files/arduino/hardware/tools/avr/avr" -I"c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -c -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+
+
+# AVR32/GNU Preprocessing Assembler
+
+
+
+# AVR32/GNU Assembler
+
+
+
+
+ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(strip $(C_DEPS)),)
+-include $(C_DEPS)
+endif
+endif
+
+# Add inputs and outputs from these tool invocations to the build variables
+
+# All Target
+all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
+
+$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
+ @echo Building target: $@
+ @echo Invoking: AVR8/GNU Linker : 4.9.2
+ $(QUOTE)C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="mainArduino.map" -Wl,--start-group -Wl,--end-group -Wl,--gc-sections
+ @echo Finished building target: $@
+ "C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "mainArduino.elf" "mainArduino.hex"
+ "C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "mainArduino.elf" "mainArduino.eep" || exit 0
+ "C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "mainArduino.elf" > "mainArduino.lss"
+ "C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "mainArduino.elf" "mainArduino.srec"
+ "C:\Program Files\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "mainArduino.elf"
+
+
+
+
+
+
+
+# Other Targets
+clean:
+ -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
+ -$(RM) $(C_DEPS_AS_ARGS)
+ rm -rf "mainArduino.elf" "mainArduino.a" "mainArduino.hex" "mainArduino.lss" "mainArduino.eep" "mainArduino.map" "mainArduino.srec" "mainArduino.usersignatures"
+
\ No newline at end of file
diff --git a/examples/mainArduino/Debug/board.buildinfo b/examples/mainArduino/Debug/board.buildinfo
new file mode 100644
index 0000000..5c98845
--- /dev/null
+++ b/examples/mainArduino/Debug/board.buildinfo
@@ -0,0 +1,112 @@
+name=OpenSprinklerHW2.3 (16MHz, Serial)
+upload.protocol=arduino
+upload.maximum_size=130048
+upload.speed=115200
+bootloader.low_fuses=0xFF
+bootloader.high_fuses=0xD6
+bootloader.extended_fuses=0xFF
+bootloader.path=atmega1284p
+bootloader.file=optiboot_atmega1284.hex
+bootloader.unlock_bits=0x3F
+bootloader.lock_bits=0x0F
+build.mcu=atmega1284p
+build.f_cpu=16000000L
+build.core=arduino
+build.variant=standard
+runtime.ide.path=c:\Program Files\Arduino
+runtime.os=windows
+build.system.path=c:\Program Files\Arduino\hardware\aopensprinkler\system
+runtime.ide.version=105
+target_package=aopensprinkler
+target_platform=avr
+runtime.hardware.path=c:\Program Files\Arduino\hardware
+originalid=aopensprinkler_avr_os23
+vm.platform.root.path=C:\Program Files\Atmel\Studio\7.0\Extensions\5vsoovdn.eid\Micro Platforms\arduino10x
+usbtinyisp.name=USBtinyISP
+usbtinyisp.protocol=usbtiny
+usbasp.name=USBasp
+usbasp.communication=usb
+usbasp.protocol=usbasp
+runtime.vm.boardinfo.id=aopensprinkler_aopensprinkler_avr_os23
+runtime.vm.boardinfo.name=aopensprinkler_aopensprinkler_avr_os23
+runtime.vm.boardinfo.desc=OpenSprinklerHW2.3 (16MHz, Serial)
+runtime.vm.boardinfo.src_location=c:\Program Files\Arduino\hardware\aopensprinkler
+ide.hint=For use with Arduino 0023 and 1.0.x versions
+ide.location.key=Arduino
+ide.location.ide.winreg=Arduino 1.0.x Application
+ide.location.sketchbook.winreg=Arduino 1.0.x Sketchbook
+ide.location.sketchbook.preferences=sketchbook.path
+ide.location.sketchbook.default=%MYDOCUMENTS%\arduino
+ide.location.preferences=%VM_APPDATA_ROAMING%\arduino\preferences.txt
+ide.default.package=arduino
+ide.default.platform=avr
+ide.multiplatform=true
+ide.includes=arduino.h
+ide.platformswithoutpackage=true
+ide.includes.fallback=wprogram.h
+ide.extension=ino
+ide.extension.fallback=pde
+ide.versionLTEQ=149
+ide.exe=arduino.exe
+ide.hosts=atmel
+ide.url=http://arduino.cc/en/Main/Software
+vm.debug=true
+software=ARDUINO
+ide.appid=arduino10x
+location.sketchbook=c:\Program Files\Arduino\libraries\OpenSprinkler
+build.core.vmresolved=c:\Program Files\Arduino\hardware\aopensprinkler\cores\arduino
+build.core.parentfolder.vmresolved=c:\Program Files\Arduino\hardware\aopensprinkler\cores
+build.core.coresparentfolder.vmresolved=c:\Program Files\Arduino\hardware\aopensprinkler
+build.core.path=c:\Program Files\Arduino\hardware\aopensprinkler\cores\arduino
+vm.core.include=arduino.h
+build.board=AVR_AOPENSPRINKLER_AOPENSPRINKLER_AVR_OS23
+vm.boardsource.path=c:\Program Files\Arduino\hardware\aopensprinkler
+runtime.platform.path=c:\Program Files\Arduino\hardware\aopensprinkler
+vm.platformname.name=avr
+build.arch=AVR
+builder.noino=false
+build.variant.vmresolved=c:\Program Files\Arduino\hardware\aopensprinkler\variants\standard
+vm.runtime.compiler.showwarnings=false
+vm.runtime.upload.verbose=false
+vm.runtime.upload.verify=false
+serial.port.file=COM4
+serial.port=COM4
+serial.port.num=4
+vm.last.breakpoints.count=1
+vm.runtime.compiler.auto_discover_includes=true
+build.vm.build.vmdebug=0
+build.vm.build.isgdb=0
+build.vm.build.optimised=1
+build.vm.extra_flags= -g
+vm.last.buildpath=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23
+vm.build.verbose_build_properties=true
+build.source.path=C:\Program Files\Arduino\libraries\OpenSprinkler\examples\mainArduino\mainArduino.ino
+build.path=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23
+PreProcessor.HeaderCount=1
+PreProcessor.PrototypeCount=4
+vm.last.preproc.file.0.file=mainArduino.ino
+vm.last.preproc.file.0.offset=1
+vm.last.preproc.file.0.length=186
+vm.last.preproc.file.0.linecount=17
+vm.last.preproc.file.0.linestart=0
+vm.last.preproc.file.0.lineend=17
+vm.last.preproc.file.0.prefix_lines=0
+compiler.path=c:\Program Files\Arduino\hardware\tools\avr\bin\
+sketch_path=C:\Program Files\Arduino\libraries\OpenSprinkler\examples\mainArduino
+vm.sketch_source_path=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23
+vm.build_use_temp=1
+build.project_name=mainArduino.ino
+runtime.vm.ide.platforms.path=C:\Program Files\Atmel\Studio\7.0\Extensions\5vsoovdn.eid\Micro Platforms
+build.variant.path=c:\Program Files\Arduino\hardware\aopensprinkler\variants\standard
+archive_file=core.a
+archive_file_path=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\core.a
+extra.time.local=12400190
+vm_all_includes= -I"c:\Program Files\Arduino\libraries\OpenSprinkler" -I"c:\Program Files\Arduino\libraries\SdFat" -I"c:\Program Files\Arduino\libraries\Wire" -I"c:\Program Files\Arduino\libraries" -I"c:\Program Files\Arduino\hardware\aopensprinkler\libraries" -I"C:\Program Files\Atmel\Studio\7.0\Extensions\5vsoovdn.eid\Micro Platforms\default\debuggers" -I"c:\Program Files\Arduino\libraries\OpenSprinkler\libraries" -I"c:\Program Files\Arduino\hardware\aopensprinkler\cores\arduino" -I"c:\Program Files\Arduino\hardware\aopensprinkler\variants\standard"
+vm_core_includes= -I"c:\Program Files\Arduino\hardware\aopensprinkler\cores\arduino" -I"c:\Program Files\Arduino\hardware\aopensprinkler\variants\standard"
+includes= -I"c:\Program Files\Arduino\libraries\OpenSprinkler" -I"c:\Program Files\Arduino\libraries\SdFat" -I"c:\Program Files\Arduino\libraries\Wire" -I"c:\Program Files\Arduino\libraries" -I"c:\Program Files\Arduino\hardware\aopensprinkler\libraries" -I"C:\Program Files\Atmel\Studio\7.0\Extensions\5vsoovdn.eid\Micro Platforms\default\debuggers" -I"c:\Program Files\Arduino\libraries\OpenSprinkler\libraries" -I"c:\Program Files\Arduino\hardware\aopensprinkler\cores\arduino" -I"c:\Program Files\Arduino\hardware\aopensprinkler\variants\standard" -I"c:\Program Files\Arduino\libraries\SdFat\utility" -I"c:\Program Files\Arduino\libraries\Wire\utility"
+build.path_sketch=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23
+build.path_core=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\core
+build.path_libraries=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23
+object_file=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\mainArduino.cpp.o
+source_file=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\mainArduino.cpp
+object_files= "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\mainArduino.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\dhcp.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\dns.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\DS1307RTC.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\enc28j60.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\EtherCard.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\etherport.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\gpio.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\LiquidCrystal.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\main.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\OpenSprinkler.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\program.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\SensorGroup.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\server.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\tcpip.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\Time.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\udpserver.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\utils.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\weather.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\webutil.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\istream.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\MinimumSerial.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\ostream.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\Sd2Card.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdBaseFile.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdBaseFilePrint.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdFat.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdFatErrorPrint.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdFatUtil.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdFile.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdSpiArduino.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdSpiAVR.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdSpiMK20DX128.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdSpiSAM3X.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdStream.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdVolume.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\Wire\Wire.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\Wire\utility\twi.c.o"
diff --git a/examples/mainArduino/Debug/core.a b/examples/mainArduino/Debug/core.a
new file mode 100644
index 0000000..25c62f0
Binary files /dev/null and b/examples/mainArduino/Debug/core.a differ
diff --git a/examples/mainArduino/Debug/mainArduino.elf b/examples/mainArduino/Debug/mainArduino.elf
new file mode 100644
index 0000000..fb9a1d5
Binary files /dev/null and b/examples/mainArduino/Debug/mainArduino.elf differ
diff --git a/examples/mainArduino/Debug/mainArduino.hex b/examples/mainArduino/Debug/mainArduino.hex
new file mode 100644
index 0000000..9b7b613
--- /dev/null
+++ b/examples/mainArduino/Debug/mainArduino.hex
@@ -0,0 +1,5936 @@
+:100000000C94C00B0C94E7A70C9418A80C9449A866
+:100010000C94EB0B0C94EB0B0C94EB0B0C94EB0B88
+:100020000C9460200C94EB0B0C94EB0B0C94EB0BEE
+:100030000C94EB0B0C94EB0B0C94EB0B0C94EB0B68
+:100040000C94EB0B0C94EB0B0C947AA80C94EB0B2C
+:100050000C94FFAA0C9495AB0C94EB0B0C94EB0B4B
+:100060000C94EB0B0C94EB0B0C9402A60C94EB0B86
+:100070000C9438AB0C94D4AB0C94EB0B0C94EB0BB2
+:100080000C94EB0B0C94EB0B0C94EB0B4E5450209C
+:1000900053796E63696E672E2E2E007777772E6701
+:1000A0006F6F676C652E636F6D002E7478740045FA
+:1000B00078706563743A203130302D636F6E7469E7
+:1000C0006E756500636C69656E742E73616E647A1B
+:1000D0002E6875002F737200007D0022002C2269AB
+:1000E000666B6579223A22007D002C2277746F229C
+:1000F0003A7B005D002C005D002C002C005B003082
+:100100005D2C227073223A5B002C002273626974AA
+:1001100073223A5B002C002C22666C777274223AB0
+:10012000002C0022666C637274223A002C00226359
+:10013000757272223A005D2C002C002C002C002CD1
+:10014000226C72756E223A5B002C226C73776322EC
+:100150003A002C226C7763223A002C2265697022C7
+:100160003A002C2273756E736574223A00222C2299
+:1001700073756E72697365223A00222C2277746B54
+:100180006579223A22002C226C6F63223A22002CDD
+:100190002272647374223A002C227273223A002C69
+:1001A000227264223A002C22656E223A002C226EC2
+:1001B000627264223A002264657674223A002C004E
+:1001C0002200220022736E616D6573223A5B007318
+:1001D000746E5F7370650073746E5F617332007369
+:1001E000746E5F6173310073746E5F736571007359
+:1001F000746E5F646973006D61736F70320069675C
+:100200006E6F72655F7261696E006D61736F700011
+:100210005D7D00225D00225D2C005D2C22002C0003
+:100220005D2C5B002C002C5B002C002C002C005B58
+:10023000002C227064223A5B002C22706E73697A63
+:1002400065223A002C226D6E7374223A002C226DC6
+:100250006E70223A002C226E626F61726473223AD1
+:1002600000226E70726F67223A007D002C22687740
+:1002700074223A002C226D657870223A002C226498
+:10028000657870223A002C00223A0022005D7D0041
+:100290002C005B00222C007B226D6964223A220034
+:1002A0005D2C002C00223A5B0022006D616B6572B0
+:1002B0002E69667474742E636F6D002F7472696793
+:1002C0006765722F737072696E6B6C65722F7769D8
+:1002D00074682F6B65792F00227D005265626F6F05
+:1002E0007465642E204465766963652049503A2020
+:1002F00000252E005761746572206C6576656C2050
+:10030000757064617465643A200045787465726E36
+:10031000616C20495020757064617465643A2000F6
+:100320002C20766F6C756D653A2000466C6F7720D7
+:10033000636F756E743A200064652D61637469762D
+:1003400061746564006163746976617465642E002C
+:100350005261696E2073656E736F7220005261691D
+:100360006E2064656C617920002520776174657268
+:10037000206C6576656C2E002077697468200050CB
+:10038000726F6772616D20004175746F6D61746981
+:1003900063616C6C79207363686564756C65642057
+:1003A000004D616E75616C6C79207363686564756E
+:1003B0006C6564200020466C6F7720726174653A2A
+:1003C0002000207365636F6E64732E00206D696E6C
+:1003D00075746573200020636C6F7365642E20490B
+:1003E000742072616E20666F7220005374617469AC
+:1003F0006F6E20007B2276616C756531223A220097
+:100400002020206C2020206C706D202020206D4149
+:10041000002020204720202067706D202020206DA4
+:100420004100692000302E2054657374202831204B
+:100430006D696E29002E20002000486F6C642042F8
+:100440003320746F20737461727400436C69636B42
+:1004500020423320746F206C6973740052756E20D3
+:10046000612050726F6772616D3A00286C73776318
+:10047000290028656970290020286F736970290098
+:100480003A002867776970290077746F7074732E4B
+:100490007478740073746E732E6461740069666B93
+:1004A00065792E747874006677760000747A00009F
+:1004B000006E747000006468637000697031000041
+:1004C00069703200006970330000697034000067A1
+:1004D0007731000067773200006777330000677775
+:1004E0003400006870300000687031000068777672
+:1004F0000000657874000073657100007364740017
+:10050000006D617300006D746F6E006D746F660036
+:10051000757273000072736F0000776C00000064E6
+:10052000656E000069706173006465766964636F6D
+:100530006E00006C6974000064696D000062737481
+:10054000000075777400006E747031006E74703244
+:10055000006E747033006E747034006C67000000BD
+:100560006D617332006D746F6E326D746F663266DA
+:10057000776D0000667072300066707231007265CF
+:10058000000000646E733100646E733200646E7339
+:100590003300646E73340073617200006966650035
+:1005A00000756673000075666C000075666100007A
+:1005B0007566720000756667000075666D000075EF
+:1005C000733100007564310000757332000075648A
+:1005D0003200006373690000637361000075637229
+:1005E0000000736361000073636300006661640070
+:1005F0000068777300006677730000636D61000028
+:1006000063666400006366660000757274000066CD
+:100610006D7300006C6E7300006C6E670000726595
+:1006200073657400006C0101FFFFFFFFFFFFFFFF18
+:10063000FFFF000501FF30FFFFFF02FA0101FFFF8E
+:10064000FFFFFAFFFFFFFFFF0130FFFF00FFFF0189
+:10065000FFFFFFFF01FF02010264FFFF0201020131
+:1006600002026401FF02FFFF01FFFF02030101011B
+:100670004669726D776172652076657273696F6E17
+:1006800054696D65207A6F6E652028474D54293A6C
+:10069000456E61626C65204E54502073796E633FE5
+:1006A000456E61626C6520444843503F2020202005
+:1006B0005374617469632E6970313A2020202020C0
+:1006C0005374617469632E6970323A2020202020AF
+:1006D0005374617469632E6970333A20202020209E
+:1006E0005374617469632E6970343A20202020208D
+:1006F000476174657761792E6970313A2020202036
+:10070000476174657761792E6970323A2020202024
+:10071000476174657761792E6970333A2020202013
+:10072000476174657761792E6970343A2020202002
+:100730004854545020506F72743A202020202020BA
+:100740002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DD9
+:1007500048617264776172652076657273696F6E45
+:1007600023206F66206578702E20626F6172643A74
+:100770002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DA9
+:1007800053746E2E2064656C61792028736563292B
+:100790004D6173746572203120284D617331293A9F
+:1007A0004D61733120206F6E2061646A7573743AF5
+:1007B0004D617331206F66662061646A7573743AA7
+:1007C00053656E736F7220747970653A2020202013
+:1007D0004F70656E20456E61626C65284E4F293FF3
+:1007E0005761746572696E67206C6576656C3A2036
+:1007F00044657669636520656E61626C65643F205F
+:1008000049676E6F72652070617373776F72643FB2
+:100810004465766963652049443A202020202020E1
+:100820004C434420636F6E74726173743A202020CD
+:100830004C4344206272696768746E6573733A2032
+:100840004C43442064696D6D696E673A2020202016
+:10085000444320626F6F73742074696D653A202081
+:100860005765617468657220616C676F2E3A20204D
+:100870004E5450207365727665722E6970313A203D
+:100880004E5450207365727665722E6970323A202C
+:100890004E5450207365727665722E6970333A201B
+:1008A0004E5450207365727665722E6970343A200A
+:1008B000456E61626C65206C6F6767696E673F208B
+:1008C0004D6173746572203220284D617332293A6C
+:1008D0004D61733220206F6E2061646A7573743AC3
+:1008E0004D617332206F66662061646A7573743A75
+:1008F0004669726D77617265206D696E6F723A201C
+:1009000050756C736520726174653A202020202038
+:100910002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D07
+:1009200041732072656D6F7465206578742E3F2069
+:10093000444E53207365727665722E6970313A2089
+:10094000444E53207365727665722E6970323A2078
+:10095000444E53207365727665722E6970333A2067
+:10096000444E53207365727665722E6970343A2056
+:100970005370656369616C20526566726573683F88
+:10098000494654545420456E61626C653A20466C69
+:100990006F7753656E736F723A2020202020556E5A
+:1009A000697447616C6C6F6E3F2020202020466C7C
+:1009B0006F77416C61726D54797065202020466CB0
+:1009C0006F7752616E6765252020202020204672B7
+:1009D0006565466C6F772067616C20202020467229
+:1009E0006565466F77206D696E2020202020536F4B
+:1009F000696C53656E736F72313A202020204F70FE
+:100A0000656E20456E61626C65284E4F293F536FBD
+:100A1000696C53656E736F72323A202020204F70DC
+:100A2000656E20456E61626C65284E4F293F4375A7
+:100A30007272656E742053656E736F723F204375DA
+:100A40007272656E7420416C61726D3F2020437537
+:100A50007272416C61726D52616E676520255374CC
+:100A600061727443616C6962726174696F6E53651F
+:100A70006E644C6F674461797320202020204661AA
+:100A800074616C44697361626C655374617453473B
+:100A900048572076657273696F6E3A20202053475D
+:100AA00046572076657273696F6E3A202020436C3A
+:100AB00069656E74206D6F64653F20202020436C53
+:100AC0006F75645265667265736820287329466184
+:100AD0007374205265667265736820287329537495
+:100AE000617475735265706F727454797065466C79
+:100AF0006173684D656D6F7279547970653F4C43D1
+:100B0000442073697A6520323078343F20204C616C
+:100B10006E67756167652048554E3F20202046610D
+:100B200063746F72792072657365743F20200020B2
+:100B30007365630025004E6F0059657300206D7367
+:100B4000002E002B003030003A002D002B0000203A
+:100B5000202020002D44697361626C6564212D00A2
+:100B60003A0045004D433A0020284D414329002DCD
+:100B7000002E004D6F6E005475650057656400547B
+:100B8000687500467269005361740053756E000009
+:100B90002D0020002020003A0020002000486F6C2B
+:100BA0006420423320746F20736176650042312FD8
+:100BB00042323A2B2F2D2C2042333A2D3E003D3D20
+:100BC000536574204F7074696F6E733D3D00506CB7
+:100BD0006561736520576169742E2E2E005265730E
+:100BE000657474696E672E2E2E002F002A002F6305
+:100BF0006D003F70773D2445267369643D2444268B
+:100C0000656E3D244426743D244400656E6761672B
+:100C10006520626F6F73746572004572726F722027
+:100C2000436F64653A203078324400534420636156
+:100C30007264206D697373696E6700436F6E6E65D1
+:100C40006374696E672E2E2E00466C6F7720537486
+:100C50006F70706564202020204672666C6F77206C
+:100C60005175616E74416C726D4672666C6F77205F
+:100C700054696D65416C61726D4C65616B6167654E
+:100C800020416C61726D2020204C65616B6167654D
+:100C90002053746F70706564204869676820466CE3
+:100CA0006F7720416C61726D204C6F7720466C6FBE
+:100CB0007720416C61726D20466174616C20466CD6
+:100CC0006F7720416C61726D486967682043757267
+:100CD00072656E7420416C6D4C6F77204375727233
+:100CE000656E7420416C726D0063766A6364706334
+:100CF0007063726D7075706A70636F6A6F73706A1B
+:100D000073636D63736A6E6A656A6C646C73756332
+:100D1000756A61003C7363726970743E77696E64D2
+:100D20006F772E6C6F636174696F6E3D222F223B6B
+:100D30003C2F7363726970743E0A0022726573758A
+:100D40006C74223A24447D0022726573756C74229F
+:100D50003A24447D00244600222446223A24447D3D
+:100D6000007D002C2273746174696F6E73223A7B6C
+:100D7000002C22737461747573223A7B002C226FED
+:100D80007074696F6E73223A7B002C2270726F67E9
+:100D900072616D73223A7B002273657474696E67A9
+:100DA00073223A7B00646179005D002453002C00BB
+:100DB0005B007479706500656E64007374617274B1
+:100DC0000068697374007400656E00736964005D87
+:100DD0002C226E73746174696F6E73223A24447DA1
+:100DE000002C0024440022736E223A5B006370776B
+:100DF000006E70770077746F007474740069666BAE
+:100E000065790077746B6579006C6F630077737038
+:100E1000006A737000726500726400656E00726231
+:100E2000740072736E003C6D657461206E616D6557
+:100E30003D2276696577706F72742220636F6E74DD
+:100E4000656E743D2277696474683D646576696394
+:100E5000652D77696474682C696E697469616C2D9D
+:100E60007363616C653D312E302C6D696E696D75F3
+:100E70006D2D7363616C653D312E302C7573657219
+:100E80002D7363616C61626C653D6E6F223E0D0A6D
+:100E9000003C736372697074207372633D22244551
+:100EA0002F686F6D652E6A73223E3C2F73637269E3
+:100EB00070743E0A3C2F626F64793E0A3C2F68745E
+:100EC0006D6C3E00766172207665723D24442C691B
+:100ED0007061733D24443B3C2F7363726970743EB0
+:100EE0000A003C21444F43545950452068746D6CAE
+:100EF0003E0A3C68746D6C3E0A3C686561643E0A5B
+:100F000024463C2F686561643E0A3C626F64793E0A
+:100F10000A3C7363726970743E007D002C2269661E
+:100F20006B6579223A22245322002C2277746F2297
+:100F30003A7B24537D005D002C005B24442C244C20
+:100F40002C244C5D00305D2C227073223A5B00240F
+:100F5000442C00227362697473223A5B0022666C2F
+:100F6000637274223A244C2C22666C777274223A93
+:100F700024442C002263757272223A24442C0022ED
+:100F800064657674223A244C2C226E627264223A92
+:100F900024442C22656E223A24442C227264223A84
+:100FA00024442C227273223A24442C2272647374D7
+:100FB000223A244C2C226C6F63223A222445222CA4
+:100FC0002277746B6579223A222445222C2273758C
+:100FD0006E72697365223A24442C2273756E7365B0
+:100FE00074223A24442C22656970223A244C2C2223
+:100FF0006C7763223A244C2C226C737763223A2458
+:101000004C2C226C72756E223A5B24442C24442CA6
+:1010100024442C244C5D2C003C666F726D206E6164
+:101020006D653D6F6620616374696F6E3D63752009
+:101030006D6574686F643D6765743E3C7461626C95
+:10104000652063656C6C73706163696E673D223106
+:1010500032223E3C74723E3C74643E3C623E4A61C5
+:1010600076615363726970743C2F623E3A3C2F7410
+:10107000643E3C74643E3C696E7075742074797093
+:10108000653D746578742073697A653D3430206DF0
+:1010900061786C656E6774683D34302076616C757C
+:1010A000653D22244522206E616D653D6A73703E68
+:1010B0003C2F74643E3C2F74723E3C74723E3C7410
+:1010C000643E44656661756C743A3C2F74643E3CC2
+:1010D00074643E24533C2F74643E3C2F74723E3C37
+:1010E00074723E3C74643E3C623E57656174686550
+:1010F000723C2F623E3A3C2F74643E3C74643E3C2A
+:10110000696E70757420747970653D7465787420AB
+:1011100073697A653D3430206D61786C656E6774F3
+:10112000683D34302076616C75653D22244522206F
+:101130006E616D653D7773703E3C2F74643E3C2F4D
+:1011400074723E3C74723E3C74643E4465666175E4
+:101150006C743A3C2F74643E3C74643E24533C2FC0
+:1011600074643E3C2F74723E3C74723E3C74643E28
+:101170003C623E50617373776F72643C2F623E3AFB
+:101180003C2F74643E3C74643E3C696E7075742000
+:10119000747970653D70617373776F7264207369E1
+:1011A0007A653D3332206E616D653D70773E203C3F
+:1011B000696E70757420747970653D7375626D69C0
+:1011C000743E3C2F74643E3C2F74723E3C2F74611D
+:1011D000626C653E3C2F666F726D3E3C7363726954
+:1011E0007074207372633D68747470733A2F2F7536
+:1011F000692E6F70656E737072696E6B6C65722E9E
+:10120000636F6D2F6A732F6861736865722E6A73DE
+:101210003E3C2F7363726970743E005D7D00225DF9
+:1012200000225D2C00245300244C5D2C2200244C11
+:101230002C0024445D2C5B0024442C005B24442CB3
+:1012400024442C24442C5B00226E70726F6773223E
+:101250003A24442C226E626F61726473223A2444F1
+:101260002C226D6E70223A24442C226D6E737422EF
+:101270003A24442C22706E73697A65223A24442CF5
+:10128000227064223A5B002C2264657870223A2432
+:10129000442C226D657870223A24442C226877749D
+:1012A000223A24447D002C00222453223A24440074
+:1012B00050726F6772616D20006E616D65007069BC
+:1012C0006400706964007069640075777400706907
+:1012D0006400736400737400736964007D002224E9
+:1012E00044223A7B227374223A24442C22736422CF
+:1012F0003A222453227D002C005D2C226D61786CF3
+:10130000656E223A24447D002C00222453220022C0
+:10131000736E616D6573223A5B0073746E5F7370F8
+:10132000650073746E5F6173320073746E5F617316
+:10133000310073746E5F7365710073746E5F6469FE
+:1013400073006D61736F70320069676E6F72655FF5
+:101350007261696E006D61736F70005D2C002C000E
+:10136000244400222446223A5B00707700485454FB
+:10137000502F312E3120323030204F4B0D0A004398
+:101380006F6E74656E742D547970653A206170705B
+:101390006C69636174696F6E2F6A736F6E0D0A43B7
+:1013A0006F6E6E656374696F6E3A20636C6F736500
+:1013B0000D0A004163636573732D436F6E74726F22
+:1013C0006C2D416C6C6F772D4F726967696E3A2096
+:1013D0002A0D0A0043616368652D436F6E74726F56
+:1013E0006C3A206D61782D6167653D302C206E6F01
+:1013F0002D63616368652C206E6F2D73746F726549
+:101400002C206D7573742D726576616C69646174DE
+:10141000650D0A007B0024462446244624460D0A16
+:1014200000436F6E74656E742D547970653A207444
+:101430006578742F68746D6C0D0A00244624462468
+:101440004624460D0A00000108000604000145007C
+:101450000082000040002000504F535420244624B6
+:101460005320485454502F312E300D0A486F737456
+:101470003A2024460D0A2446245341636365707460
+:101480003A202A2F2A0D0A436F6E74656E742D4C14
+:10149000656E6774683A2024440D0A436F6E746564
+:1014A0006E742D547970653A206170706C69636157
+:1014B00074696F6E2F6A736F6E0D0A0D0A245300E4
+:1014C000474554202446245320485454502F312E4D
+:1014D000300D0A486F73743A2024460D0A24460DD5
+:1014E0000A0D0A0000504F5354202446245320482C
+:1014F0005454502F312E300D0A486F73743A202403
+:10150000530D0A244624534163636570743A202ABC
+:101510002F2A0D0A436F6E74656E742D4C656E67CD
+:1015200074683A2024440D0A436F6E74656E742DFE
+:10153000547970653A206170706C69636174696F89
+:101540006E2F6A736F6E0D0A0D0A245300474554BF
+:10155000202446245320485454502F312E300D0A55
+:10156000486F73743A2024530D0A24460D0A0D0A5D
+:10157000004163636570743A20746578742F6874F1
+:101580006D6C004163636570743A20746578742FE4
+:1015900068746D6C00E30004FA0001000000012A89
+:1015A000002F776561746865720024442E70793F5E
+:1015B0006C6F633D2445266B65793D24452666772F
+:1015C000763D24442677746F3D2453007264007482
+:1015D0007A007363616C65006569700073756E7382
+:1015E00065740073756E72697365007C3C3E5E2B9A
+:1015F0003D3F2F5B5D3B2C2A225C00000021002434
+:101600000027002A0000002200250028002B0000EF
+:10161000002000230026002900020202020202022A
+:101620000204040404040404040303030303030383
+:101630000301010101010101010102040810204020
+:10164000800102040810204080010204081020409C
+:101650008080402010080402010000000102000008
+:101660000000000000040307060000000000000066
+:1016700000000000000000000000407A10F35A0053
+:10168000A0724E18090010A5D4E80000E8764817AB
+:101690000000E40B54020000CA9A3B000000E1F590
+:1016A00005000080969800000040420F000000A056
+:1016B0008601000000102700000000E80300000081
+:1016C000006400000000000A0000000000010000AB
+:1016D0000000002C76D888DC674F0823DFC1DFAE1E
+:1016E00059E1B1B796E5E3E453C63AE651997696E7
+:1016F000E8E6C28426EB898C9B62ED407C6FFCEFB0
+:10170000BC9C9F40F2BAA56FA5F490055A2AF75CDD
+:10171000936B6CF9676DC11BFCE0E40D47FEF5208F
+:10172000E6B500D0ED902E03009435770500808457
+:101730001E080000204E0A000000C80C333333336B
+:101740000F986E12831141EF8D2114893BE65516D7
+:10175000CFFEE6DB18D1844B381BF77C1D901DA40F
+:10176000BBE424203284725E228100C9F124ECA102
+:10177000E53D2700D719A820E345B88E9EA43EADCD
+:1017800011241FBECFEFD0E4DEBFCDBF1AE0A0E032
+:10179000B1E0E6EAF9E601E00BBF02C007900D9266
+:1017A000A832B107D9F71BBE1FE1A8E2BAE001C019
+:1017B0001D92A130B107E1F717E1C0E8D7E104C0FD
+:1017C0002297FE010E9496B4C437D107C9F70E9440
+:1017D000D4AD0C94D1B40C940000EF92FF920F930F
+:1017E0001F93F22FF02E47FD02C0E4E001C0E4E1B8
+:1017F000242F332727FD309537FF03C030952195DF
+:101800003F4F4F2D512F0F2FEE2E0E946F118F2D16
+:10181000912F1F910F91FF90EF900895CF93DF9339
+:10182000BC018230910510F462E070E0A091FF1ECF
+:10183000B091001FED01E0E0F0E040E050E021C099
+:10184000888199818617970769F48A819B813097EF
+:1018500019F09383828304C09093001F8093FF1E2E
+:10186000FE0134C06817790738F44115510519F0A5
+:101870008417950708F4AC01FE018A819B819C01C5
+:10188000E9012097E9F641155105A9F1CA01861B26
+:10189000970B049708F4BA01E0E0F0E02AC08D91BC
+:1018A0009C91119784179507F9F46417750781F4D3
+:1018B00012968D919C911397309719F093838283A0
+:1018C00004C09093001F8093FF1EFD0132964CC010
+:1018D000CA01861B970BFD01E80FF91F61937193F5
+:1018E00002978D939C9340C0FD01828193819C015E
+:1018F000D9011097A1F68091FD1E9091FE1E892BB3
+:1019000041F48091F9089091FA089093FE1E80931B
+:10191000FD1E4091FB085091FC084115510541F412
+:101920004DB75EB78091F7089091F808481B590BA6
+:101930002091FD1E3091FE1ECA01821B930B86175B
+:10194000970780F0AB014E5F5F4F8417950750F00B
+:10195000420F531F5093FE1E4093FD1EF9016193E9
+:10196000719302C0E0E0F0E0CF01DF91CF910895E4
+:10197000CF93DF93009709F450C0EC0122971B82AC
+:101980001A82A091FF1EB091001F109709F140E04C
+:1019900050E0AC17BD0708F1BB83AA83FE0121917B
+:1019A0003191E20FF31FAE17BF0779F48D919C912F
+:1019B0001197280F391F2E5F3F4F398328831296C6
+:1019C0008D919C9113979B838A834115510571F4E6
+:1019D000D093001FC093FF1E20C012968D919C9142
+:1019E0001397AD01009711F0DC01D3CFFA01D38337
+:1019F000C28321913191E20FF31FCE17DF0769F403
+:101A000088819981280F391F2E5F3F4FFA0131835A
+:101A100020838A819B8193838283DF91CF91089574
+:101A2000A0E0B0E0E6E1FDE00C949CB46C0100970E
+:101A300029F4CB010E940E0C6C01C1C08EEF882EE0
+:101A40008FEF982E8C0C9D1C8601060F171F081512
+:101A5000190508F4B2C0F401A081B181A617B70737
+:101A6000B8F0A530B10508F4AAC0CD0104978617D7
+:101A7000970708F4A4C01297A61BB70BF801A1930F
+:101A8000B193D4016D937C93CF010E94B80C97C0A1
+:101A90007B01EA1AFB0AEEEFFFEFEE0EFF1E3601A6
+:101AA0006A0E7B1EC091FF1ED091001F4424552456
+:101AB000AA24BB244AC0C615D705E1F5488159813F
+:101AC0004E155F05B8F1CA0104978E159F05B0F455
+:101AD0001296A40FB51FF401B183A0832A813B8124
+:101AE0004114510431F0D20113963C932E93129776
+:101AF00066C03093001F2093FF1E61C08A819B81C6
+:101B0000F80193838283425050404E195F095183FC
+:101B100040834114510431F0D20113961C930E936B
+:101B2000129704C01093001F0093FF1EF4017183ED
+:101B3000608345C088819981A816B90608F45C01C4
+:101B40002E018A819B819C01E901209709F0B3CF86
+:101B50008091FD1E9091FE1E86159705E9F4A6164C
+:101B6000B706D0F42091FB083091FC08211531050F
+:101B700041F42DB73EB78091F7089091F808281BE3
+:101B8000390B02171307C8F41093FE1E0093FD1EB5
+:101B9000D4016D937C9313C0CB010E940E0CEC0119
+:101BA000009759F0F40140815181B6010E94570E0F
+:101BB000C6010E94B80C6E0102C0CC24DD24C6010F
+:101BC000CDB7DEB7E0E10C94B8B4FC0188279927C3
+:101BD000E89421912032E9F3293010F02E30C8F337
+:101BE0002B3241F02D3239F4689404C00E94410F29
+:101BF000820F911D219120532A30C0F31EF490953D
+:101C000081959F4F08951F93FC0199278827BC0158
+:101C1000E89411911032E9F3193010F01E30C8F336
+:101C20001B3251F01D3249F4689406C00E942C0FFB
+:101C3000610F711D811D911D119110531A30B0F368
+:101C40003EF490958095709561957F4F8F4F9F4F93
+:101C50001F910895FB01DC0102C005900D924150D7
+:101C60005040D8F70895FB01DC010D900020E9F702
+:101C7000119705900D920020E1F70895FB01DC011A
+:101C800005900D920020E1F7089548E25AE00E9485
+:101C9000A10E0895FB01DC0104C08D910190801913
+:101CA00021F441505040C8F7881B990B0895FB015F
+:101CB000DC0102C001900D9241505040D8F70895C8
+:101CC000DC0101C06D9341505040E0F70895FB01E5
+:101CD000DC010D900020E9F7119701900D92002092
+:101CE000E1F70895FC018191861721F08823D9F747
+:101CF000992708953197CF010895FB01DC010190E8
+:101D00000D920020E1F70895FB01DC0141505040A5
+:101D100030F08D910190801919F40020B9F7881BDB
+:101D2000990B0895FB01DC014150504048F00190AF
+:101D30000D920020C9F701C01D9241505040E0F7BC
+:101D40000895009731F4DA018D919C91009709F480
+:101D50000EC0DC01FB013D912191222319F03217C5
+:101D6000C9F3FACF332331F4DA011D921C9288278C
+:101D7000992708951197AF93BF93FB013D9121914E
+:101D8000321771F4332321F488279927119702C061
+:101D90001E921196FA01A193B0839F918F9108959D
+:101DA000222369F7EACFA0E0B0E0E9EDFEE00C9471
+:101DB000A4B47C01EB018A01690109C0CE0121961E
+:101DC000F6010995F70181937F010150104001153B
+:101DD0001105A1F7CDB7DEB7E8E00C94C0B4A0E0E0
+:101DE000B0E0E5EFFEE00C94A4B4EC017B018A01C5
+:101DF000690109C0CE012196F70161917F01F601C9
+:101E000009950150104001151105A1F7CDB7DEB7B6
+:101E1000E8E00C94C0B4FB019F01E8944230C4F0A8
+:101E20004532B4F44A3029F497FB1EF4909581951D
+:101E30009F4F642F77270E9430B4805D8A330CF067
+:101E4000895D8193CB010097A1F716F45DE2519370
+:101E50001082C9010C94BF13592F482F372F262FFA
+:101E6000660F771F881F991F660F771F881F991F9E
+:101E7000620F731F841F951F660F771F881F991F9E
+:101E800008957AE0979F902D879F802D910D1124C2
+:101E90000895FA01CF93FF93EF932230CCF02532CF
+:101EA000BCF4C22F2C2F332744275527FF93EF93E1
+:101EB0000E9457B4EF91FF91605D6A330CF0695D49
+:101EC0006193B901CA01605070408040904051F761
+:101ED00010828F919F91CF910C94BF13AEE0B0E030
+:101EE000E4E7FFE00C94A8B40D891E8986E08C839A
+:101EF0001A8309838FEF9FE79E838D839E01275E60
+:101F00003F4FCE0101966F89788DA9010E94920FF3
+:101F10002F813885020F131FF80110822E96E4E0FE
+:101F20000C94C4B4ABE0B0E0E8E9FFE00C949AB4E0
+:101F30003C012B015A01FC0117821682838181FD2D
+:101F400003C06FEF7FEFC6C19AE0892E1E0108948F
+:101F5000211C311CF3012381F20123FD859123FF14
+:101F600081912F01882309F4B2C1853239F423FD10
+:101F7000859123FF81912F01853229F490E0B301EF
+:101F80000E94CF13E7CF982FFF24EE249924FFE17E
+:101F9000FF15D0F09B3269F09C3228F4903259F052
+:101FA000933291F40EC09D3249F0903369F441E0D0
+:101FB00024C052E0F52A84E0F82A28C098E0F92AE3
+:101FC00025C0E0E1FE2A22C0F7FC29C0892F8053FA
+:101FD0008A3070F4F6FE05C0989C902C1124980E5F
+:101FE00015C0E89CE02C1124E80EF0E2FF2A0EC098
+:101FF0009E3229F4F6FC6BC140E4F42A07C09C36FB
+:1020000019F450E8F52A02C0983649F4F20123FD8C
+:10201000959123FF91912F01992309F0B8CF892F32
+:102020008554833018F08052833038F444E050E017
+:10203000A40EB51E5FE359830FC0933631F093377A
+:1020400079F0933509F056C020C0F501808189836D
+:1020500042E050E0A40EB51E610101E010E012C0A4
+:10206000F501C080D180F6FC03C06FEF7FEF02C0A6
+:10207000692D70E042E050E0A40EB51EC6010E943A
+:10208000B4138C015FE7F52214C0F501C080D18044
+:10209000F6FC03C06FEF7FEF02C0692D70E042E0F5
+:1020A00050E0A40EB51EC6010E94A9138C0150E891
+:1020B000F52AF3FE07C01AC080E290E0B3010E9447
+:1020C000CF13EA948E2D90E008171907A8F30EC0DD
+:1020D000F601F7FC8591F7FE81916F0190E0B30165
+:1020E0000E94CF13E110EA94015010400115110530
+:1020F00079F7EAC0943611F0993669F5F7FE08C011
+:10210000F501208131814281538184E090E00AC051
+:10211000F501808191819C01442737FD4095542F22
+:1021200082E090E0A80EB91E9FE6F92257FF09C091
+:1021300050954095309521953F4F4F4F5F4FE0E8C8
+:10214000FE2ACA01B901A1012AE030E00E94FB1376
+:10215000D82ED21840C0953729F41F2D1F7E2AE0B3
+:1021600030E01DC01F2D197F9F3661F0903720F49D
+:10217000983509F0ACC00FC0903739F0983709F0A6
+:10218000A6C004C028E030E00AC0106114FD14604D
+:1021900020E130E004C014FD166020E132E017FFBA
+:1021A00008C0F501608171818281938144E050E033
+:1021B00008C0F50180819181BC0180E090E042E09F
+:1021C00050E0A40EB51EA1010E94FB13D82ED21818
+:1021D0008FE7F82EF122F6FE0BC05EEFF522D91440
+:1021E00038F4F4FE07C0F2FC05C08FEEF82202C0FE
+:1021F0001D2D01C0192DF4FE0DC0FE01ED0DF11DC8
+:102200008081803319F499EEF92208C01F5FF2FE35
+:1022100005C003C08F2D867809F01F5F0F2DF3FCDA
+:1022200014C0F0FE0FC01E1510F09D2C0BC09D2C8D
+:102230009E0C911A1E2D06C080E290E0B3010E9410
+:10224000CF131F5F1E15C0F304C01E1510F4E11A52
+:1022500001C0EE2404FF0FC080E390E0B3010E94B0
+:10226000CF1302FF1DC001FD03C088E790E00EC040
+:1022700088E590E00BC0802F867891F001FF02C0C6
+:102280008BE201C080E2F7FC8DE290E0B3010E9496
+:10229000CF1306C080E390E0B3010E94CF139A945D
+:1022A000D914C0F3DA94F101ED0DF11D808190E0B5
+:1022B000B3010E94CF13DD20A9F706C080E290E0B1
+:1022C000B3010E94CF13EA94EE20C1F743CEF3018D
+:1022D00066817781CB012B96E2E10C94B6B4A9E03C
+:1022E000B0E0E5E7F1E10C949EB46A01122FA02E54
+:1022F000BE2C2BE3201718F42CE3922E02C0902E54
+:102300009394AE014F5F5F4F27E0092D0E94D112D9
+:10231000BC018981E82EFF24C70189709070019764
+:1023200011F4ADE209C0B1FE02C0ABE205C0B0FCE1
+:1023300002C0A0E001C0A0E2E3FE3BC0AA2311F46A
+:1023400023E001C024E0211710F020E002C0121B9E
+:10235000212FEB2CB4FE02C0322F0AC0F601322F1F
+:1023600080E202C0819331503323E1F7C20ED11CC9
+:10237000AA2319F0F601A1936F01F6013196E2FE4E
+:1023800005C09EE4D6019C9381E404C09EE6D6017C
+:102390009C9381E611968C9391833296DF01832F73
+:1023A00090E202C09D9381508823E1F7E30FF11D75
+:1023B00040C0E2FE42C0AA2311F423E001C024E0A1
+:1023C000211710F020E002C0121B212FEB2CB4FECD
+:1023D00002C0922F0AC0F601922F80E202C08193C0
+:1023E00091509923E1F7C20ED11CAA2319F0F601EE
+:1023F000A1936F01F6013196E2FE08C089E4D6018F
+:102400008C938EE411968C9386E407C089E6D601FE
+:102410008C938EE611968C9386E681833296DF014B
+:10242000892F20E202C02D9381508823E1F7E90F24
+:10243000F11D10822EEF3FEFAFC0161617061CF0ED
+:1024400041E050E003C0AB014F5F5F4FAA2019F499
+:1024500080E090E003C08A2D90E0019620E030E01B
+:10246000AA2311F021E030E0240F351F280F391F77
+:10247000812F90E02817390714F020E002C0121BCA
+:10248000212F4B2D50E0CA0180719070B4FC0DC01B
+:10249000B3FC0BC0F601322F40E202C04193315031
+:1024A0003323E1F7C20ED11C01C0322FAA2319F049
+:1024B000F601A1936F01892B11F0132F0AC0F601C9
+:1024C000132F80E302C0819311501123E1F7C30E53
+:1024D000D11C092D060FBA8090E1892E912C8E20F7
+:1024E0009F20E4FE04C0F1E3BF1609F4015010166A
+:1024F00014F001E003C0093008F008E09B0177FF09
+:1025000002C020E030E0CB010196821B930BFE015C
+:102510003196E80FF91F8EE2F82E3B01601A710820
+:102520008A2D90E044275527481B590B8FEF2F3FEA
+:10253000380719F4D601FD926D01621773072CF06C
+:102540006216730614F4808101C080E3215030408C
+:1025500031962417350724F0D6018D936D01E6CF0F
+:102560002617370749F4B5E3BB1528F0BB1621F44D
+:102570008114910409F481E3F6018193D601812F3E
+:1025800090E202C09C93815011968823D9F7E10F05
+:10259000F11D108220E030E0C9012996EEE00C9494
+:1025A000BAB4283008F027E03327DA01990F311D3B
+:1025B00087FD916000966105710539F432602E5FE8
+:1025C0003D9330E32A95E1F708959F3F30F080383E
+:1025D0007105610509F03C5F3C5F3D93913008F067
+:1025E0008068911DDF93CF931F930F93FF92EF921B
+:1025F000192F987F9695E92F96959695E90FFF27C5
+:10260000ED52F94E99273327EE24FF24A701E70165
+:1026100005900894079428F4360FE71EF81E491F0A
+:10262000511D660F771F881F991F0694A1F705900B
+:10263000079428F4E70EF81E491F561FC11D770F97
+:10264000881F991F661F0694A1F70590079428F428
+:10265000F80E491F561FC71FD11D880F991F661FEF
+:10266000771F0694A1F70590079420F4490F561F91
+:10267000C71FD81F990F661F771F881F0694A9F7D9
+:1026800084911095177041F0D695C7955795479549
+:10269000F794E7941A95C1F7E9E7F6E16894159085
+:1026A000159135916591959105907FE27395E118AB
+:1026B000F10A430B560BC90BD009C0F7E10CF11E10
+:1026C000431F561FC91FD01D7EF4703311F48A9525
+:1026D000E6CFE894015030F0080F0AF40027021703
+:1026E00008F4202F2395022F7A3328F079E37D9385
+:1026F0002A95E9F710C07D932A9589F60694979557
+:102700006795379517951794E118F10A430B560B07
+:10271000C90BD00998F023957E9173957A3308F010
+:1027200070E37C932013B8F77E9170617D9330F055
+:10273000839571E37D9370E32A95E1F71124EF907F
+:10274000FF900F911F91CF91DF91992787FD909571
+:102750000895FC010590615070400110D8F78095F4
+:1027600090958E0F9F1F0895FC016150704001905D
+:102770000110D8F7809590958E0F9F1F0895DC016A
+:10278000FC01672F71917723E1F7329704C07C91A8
+:102790006D9370836291AE17BF07C8F308950F93CE
+:1027A0001F93CF93DF938C01EB018B8181FF1BC0C3
+:1027B00082FF0DC02E813F818C819D8128173907B2
+:1027C00064F4E881F9810193F983E88306C0E88520
+:1027D000F985802F0995892B31F48E819F8101968F
+:1027E0009F838E8302C00FEF1FEFC801DF91CF914F
+:1027F0001F910F910895FA01AA27283051F1203135
+:1028000081F1E8946F936E7F6E5F7F4F8F4F9F4F84
+:10281000AF4FB1E03ED0B4E03CD0670F781F891FC6
+:102820009A1FA11D680F791F8A1F911DA11D6A0F94
+:10283000711D811D911DA11D20D009F468943F9147
+:102840002AE0269F11243019305D3193DEF6CF0146
+:102850000895462F4770405D4193B3E00FD0C9F70C
+:10286000F6CF462F4F70405D4A3318F0495D31FD79
+:102870004052419302D0A9F7EACFB4E0A6959795CC
+:10288000879577956795BA95C9F7009761057105A2
+:1028900008959B01AC010A2E0694579547953795EC
+:1028A0002795BA95C9F7620F731F841F951FA01D46
+:1028B00008950E94083C08950E94EE390895DF9320
+:1028C000CF9300D000D000D0CDB7DEB7DE01119697
+:1028D000E1EBF9E086E001900D928150E1F786E1AD
+:1028E00091E0E0E9FAE0DF019C011D9221503040C7
+:1028F000E1F780912A0A833019F460E87AE003C096
+:10290000BE016F5F7F4F84E490E043E450E00E949B
+:102910009E8080912A0A833039F080E99AE0BE01D6
+:102920006F5F7F4F0E94978E81E08093BA0A8093F9
+:10293000BB0A86E08093BC0A8091370A9091380ADE
+:10294000A091390AB0913A0A8093BE0A9093BF0AC7
+:10295000A093C00AB093C10A80912A0A833039F447
+:102960008AEB9AE00C9660E77AE00E949F8E86EDF3
+:102970009AE06AE67AE00E94978EA6EABBE0E3E07E
+:10298000F9E002C081918D9339E0E930F307D1F786
+:1029900090912A0A992311F083E001C081E080938D
+:1029A000AC0B8DE38093AD0B87E08093AE0B81E0A1
+:1029B0008093AF0BA0EBBBE0EAE6FAE002C08191A6
+:1029C0008D938AE0E037F807D1F78CE08093B60B5F
+:1029D00085E08093B70BEDEFF8E0A8EBBBE002C019
+:1029E00081918D9329E0E230F207D1F72DEB3BE0A6
+:1029F00030933F0A20933E0A913069F582E3809339
+:102A0000BD0B84E08093BE0BD9011296E0E7FAE09B
+:102A100002C081918D933AE0E437F307D1F786E362
+:102A20008093C30B84E08093C40B85EC9BE0909370
+:102A30003F0A80933E0ADC01E0E8FAE002C081919F
+:102A40008D938AE0E438F807D1F789EC9BE0909306
+:102A50003F0A80933E0A20913D0A222311F094E020
+:102A600001C093E0A0913E0AB0913F0AFD0187E3C7
+:102A7000819311969C93DF01119681E08183FD0182
+:102A8000319683E011968C93DF01119686E0818365
+:102A9000CD01019690933F0A80933E0A222339F09C
+:102AA00011962C93019690933F0A80933E0AE091F1
+:102AB0003E0AF0913F0A8FEF8193F0933F0AE09333
+:102AC0003E0ACF018A5B9A400E94848226960FB606
+:102AD000F894DEBF0FBECDBFCF91DF910895BF92B6
+:102AE000CF92DF92EF92FF920F931F93CF93DF93DA
+:102AF0008C0180912A0A823009F401C1833030F4BC
+:102B0000882351F1813009F076C14BC0833021F028
+:102B1000843009F070C1F3C00E94168A20912F0AF8
+:102B20003091300A4091310A5091320AE0902B0ADC
+:102B3000F0902C0A00912D0A10912E0A2E0D3F1DA7
+:102B4000401F511F261737074807590708F053C180
+:102B50000E945F1484E018C00E94C2A86093370AE4
+:102B60007093380A8093390A90933A0A1092700A47
+:102B70001092710A1092720A1092730A0E945F14E6
+:102B800081E00E94791A81E080932A0A0E94C2A8FB
+:102B90006093330A7093340A8093350A9093360A0F
+:102BA0002AC10634110508F4DEC08091B30A8334CB
+:102BB00009F0D9C02091BE0A3091BF0A4091C00AE5
+:102BC0005091C10A8091370A9091380AA091390A30
+:102BD000B0913A0A281739074A075B0709F0C3C0C2
+:102BE000CAEADBE0FE01A8014057554FDF0111960C
+:102BF00091819D012F5F3F4F8081853329F411968C
+:102C00008C91823009F4CEC0F901E90FF11DE4176F
+:102C1000F50760F3A8C0FE019191B980EF012196FC
+:102C20009333E1F0943340F4933091F0963099F07F
+:102C3000913009F04FC009C09A3381F09F3F09F4E9
+:102C40005AC0963309F046C03FC084E79AE03EC0C0
+:102C50008CE79AE03BC084E89AE038C0818190E03C
+:102C6000A0E0B0E0BA2FA92F982F88272981820FE2
+:102C7000911DA11DB11DBA2FA92F982F88272A8138
+:102C8000820F911DA11DB11DBA2FA92F982F882742
+:102C90002B81820F911DA11DB11D80932F0A90934E
+:102CA000300AA093310AB093320A81589145A1406D
+:102CB000B04008F499C0C0922F0AD092300AE09236
+:102CC000310AF092320A90C080E89AE0BE010E9478
+:102CD0009F8E8AC0E0913B0AF0913C0A309709F43C
+:102CE00083C080913D0A981709F07EC0892FBE01EC
+:102CF0004B2D099579C00E945F1482E045CF0634C0
+:102D0000110588F18091B30A833469F52091BE0AD8
+:102D10003091BF0A4091C00A5091C10A8091370A90
+:102D20009091380AA091390AB0913A0A28173907C8
+:102D30004A075B07C1F4EAEAFBE0A8014057554F98
+:102D4000DF01119691819D012F5F3F4F8081853377
+:102D500021F411968C918530A9F1F901E90FF11D4B
+:102D6000E417F50768F30E94C2A82091330A309156
+:102D7000340A4091350A5091360A205F384D4F4F42
+:102D80005F4F261737074807590748F034C08CE7CC
+:102D90009AE00E94048183E080932A0A2CC010925A
+:102DA0002A0A29C080E79AE06AEC7AE00E949F8EA6
+:102DB00080E8C82E81E5D82E81E0E82EF12C00575E
+:102DC000154F29CF81E00E94681A0E94168A6093ED
+:102DD0002B0A70932C0A80932D0A90932E0A8091CF
+:102DE0007C0A8823C1F2D3CFCB0DD11DC017D107E8
+:102DF00008F411CF80CFDF91CF911F910F91FF90F9
+:102E0000EF90DF90CF90BF900895CF93DF9381E054
+:102E100080938C0A90916F0A892F82958F708F5BB7
+:102E2000809300099F709F5B9093010910922A0A7A
+:102E30000E94C2A8EB0104C00E94C91A0E946F152B
+:102E400080912A0A833061F00E94C2A86C1B7D0B1E
+:102E50006053754728F40E948A1A882389F3ECCFBF
+:102E60000E94687F10928F0A10928E0A90E08091E3
+:102E70002A0A833009F491E0892FDF91CF910895D8
+:102E8000FF920F931F93CF93DF938C01F62E0E9436
+:102E9000C2A8EB010CC00E94C91A0E9451830E9473
+:102EA000C2A86C1B7D0B6053754708F0EFC00E94F1
+:102EB0008A1A882381F30E94C2A8EB010CC00E94E9
+:102EC000C91A0E9451830E94C2A86C1B7D0B6053DB
+:102ED000754708F0DBC00E94627F882381F710925B
+:102EE000880A1092890A10928A0A10928B0A80919D
+:102EF000400A8F5F8093400A8091840A882361F49E
+:102F000088E098E0A8E0B8E08093840A9093850A6E
+:102F1000A093860AB093870A8091400A90E0906E51
+:102F200064E87AE045E350E00E949E80EAEBFAE034
+:102F30008CE0DF011D928A95E9F7DF011C9690E095
+:102F4000FF2019F0F801808102C0F80184910F5F21
+:102F50001F4F8E3241F0882331F09F5FFD01E90F52
+:102F6000F11D8083EDCFFD019193DF01A90FB11D0C
+:102F7000882329F7FD01119211961C92DF01119609
+:102F800041E04183FD01319611961C92418386ED0B
+:102F900020E93AE0821B32968E0F8093BA0A909114
+:102FA000400A9093BB0A4093BC0A4093BF0A90E04A
+:102FB0000E9484820E94C2A88B0161C00E94C2A8A4
+:102FC000601B710B6053754708F060C00E94C91AFE
+:102FD000EC01009709F453C00E945183892B09F03A
+:102FE0004EC0C634D10508F44AC08091B30A853377
+:102FF00009F045C08091B40A803E09F040C090912C
+:10300000B50A8091400A9817D1F58091BB0A8917BB
+:10301000B1F58091BD0A90E08F709070892BB1F569
+:103020008091BA0AE82FF0E0E654F54F9E01205750
+:10303000354F8081807C39F0329609C080818823A9
+:1030400011F4319604C03196E217F307B8F3CF01BB
+:103050000E962817390798F08181813051F48185C7
+:10306000843039F43A9688E89AE0BF010E949F8E36
+:1030700006C0818590E00A96E80FF91FDACF8091AB
+:10308000880A882309F49ACF81E001C080E0DF91AB
+:10309000CF911F910F91FF900895482F6AE00E94F1
+:1030A00024B4282F30E084E0220F331F8A95E1F703
+:1030B000842F0E9424B4892F820F0895CF93DF9329
+:1030C000EC018091410A9091420A8836910559F5A8
+:1030D00086E29DE168E670E00E9464A486E29DE1DC
+:1030E00060E00E94E6A488810E944D18682F70E07D
+:1030F0006F77707086E29DE10E94E6A489810E944C
+:103100004D18682F86E29DE10E94E6A48A810E9404
+:103110004D18682F86E29DE10E94E6A48B810E94F3
+:103120004D18682F2DC08F36910509F04AC086E2F0
+:103130009DE16FE670E00E9464A486E29DE160E09C
+:103140000E94E6A488810E944D18682F606886E27C
+:103150009DE10E94E6A489810E944D18682F86E2B5
+:103160009DE10E94E6A48A810E944D18682F86E2A4
+:103170009DE10E94E6A48B810E944D18682F686033
+:1031800086E29DE10E94E6A48C810E944D18682F82
+:1031900086E29DE10E94E6A48D810E944D18682F71
+:1031A00086E29DE10E94E6A48E818E510E944D1818
+:1031B000682F86E29DE10E94E6A486E29DE10E94DE
+:1031C00029A5DF91CF91089588E690E09093420A77
+:1031D0008093410A86E29DE168E670E00E9464A463
+:1031E00086E29DE160E00E94E6A486E29DE10E9405
+:1031F00029A58823D9F08FE690E09093420A809326
+:10320000410A86E29DE16FE670E00E9464A486E2D6
+:103210009DE160E00E94E6A486E29DE10E9429A56E
+:10322000882321F01092420A1092410A08951F93B8
+:10323000CF93DF93EC016091410A7091420A6115CE
+:10324000710509F470C086E29DE10E9464A486E2E3
+:103250009DE160E00E94E6A486E29DE10E9429A52E
+:103260006091410A7091420A86E29DE147E050E098
+:103270000E943AA586E29DE10E9477A4282F2F772D
+:1032800022952F701AE0219F900111248F70820FD8
+:10329000888386E29DE10E9477A4282F22952F70D3
+:1032A000219F900111248F70820F898386E29DE116
+:1032B0000E9477A4282F2F7322952F70219F9001B1
+:1032C00011248F70820F8A8386E29DE10E9477A489
+:1032D00087708B8386E29DE10E9477A4282F229538
+:1032E0002F70219F900111248F70820F8C8386E2B2
+:1032F0009DE10E9477A4282F2F7122952F70219F86
+:10330000900111248F70820F8D8386E29DE10E94CF
+:1033100077A4282F2F70225E82958F70819FC00125
+:103320001124280F2E83DF91CF911F9108950F93C1
+:103330001F93DF93CF93CDB7DEB727970FB6F894DF
+:10334000DEBF0FBECDBF8E010F5F1F4FA8010E94D1
+:10335000C387C8010E945E1827960FB6F894DEBF97
+:103360000FBECDBFCF91DF911F910F9108950F93A5
+:103370001F93DF93CF93CDB7DEB727970FB6F8949F
+:10338000DEBF0FBECDBF8E010F5F1F4FC8010E9471
+:103390001719C8010E94098927960FB6F894DEBF55
+:1033A0000FBECDBFCF91DF911F910F91089586E29F
+:1033B0009DE10E943EA508958091460A61E00E9429
+:1033C0009BAA78940895FF920F931F93082F162FAE
+:1033D000F42EF8948091460A60E00E949BAA1F7127
+:1033E000102B1EBD0DB407FEFDCFFEBC0DB407FEB5
+:1033F000FDCF0E94DC191F910F91FF9008951F933C
+:10340000182F282F30E0207630708091470A90E006
+:103410002817390799F080EA6FE143E00E94E31929
+:10342000412F40764093470A50E085E055954795F7
+:103430008A95E1F780E86FE10E94E3191F910895F2
+:103440000F931F93182F062F0E94FF1980E4612FFE
+:10345000402F0E94E3191F910F9108950F931F931E
+:10346000182F072F0E94201A812F8F5F602F0E9434
+:10347000201A1F910F9108950F931F93182F062F55
+:10348000F8948091460A60E00E949BAA802F8F7179
+:10349000812B8EBD0DB407FEFDCF1EBC0DB407FE03
+:1034A000FDCF07FF04C01EBC0DB407FEFDCF1EB547
+:1034B0000E94DC19812F1F910F9108951F93182FDF
+:1034C0000E94FF1980E0612F0E943C1A1F9108950D
+:1034D000882311F41092450A8091450A882341F40B
+:1034E00088E30E945E1A682F6E7F88E30E94201A8C
+:1034F00008951F93182F88E30E945E1A682F616059
+:1035000088E30E94201A112319F481E08093450A70
+:103510001F91089584ED61E10E94201A82ED61E01F
+:103520000E94201A8AEE0E945E1A80FDFBCF82ED77
+:1035300060E00E94201A89ED0E945E1A90E0969544
+:10354000879596958795817008950F931F93CF93D4
+:10355000DF93EC018B01F8948091460A60E00E94B1
+:103560009BAA8AE38EBD0DB407FEFDCF09C01EBC29
+:103570000DB407FEFDCF8EB5F80181938F01219721
+:103580002097A9F70E94DC19DF91CF911F910F912D
+:1035900008950F931F93DF93CF9300D000D000D0F6
+:1035A000CDB7DEB789E30E945E1A882319F400E0E4
+:1035B00010E048C06091480A7091490A80E00E947A
+:1035C0002E1A86E090E0BE016F5F7F4F0E94A51A21
+:1035D00089819A819093490A8093480A2B813C8182
+:1035E000E091430AF091440A8D8187FD03C000E019
+:1035F00010E00EC0245030408F01015010402017C1
+:10360000310708F48901C80160E97AE00E94A51A2F
+:10361000F801E057F54F10826091480A7091490A0D
+:103620008CE06130780724F08CE06FEF7BE003C022
+:10363000615070408CE00E942E1A80E86EE140E4F8
+:103640000E94E319C80126960FB6F894DEBF0FBE9C
+:10365000CDBFCF91DF911F910F9108950F931F93CD
+:10366000CF93DF938C01EB01F8948091460A60E0E0
+:103670000E949BAA8AE78EBD0DB407FEFDCF08C04D
+:1036800088818EBD0DB407FEFDCF219601501040FC
+:1036900001151105A9F70E94DC19DF91CF911F9147
+:1036A0000F910895CF93DF93EC018CE10E945E1A95
+:1036B00081FF0FC080E86FE140E80E94E31980EAD3
+:1036C0006FE140E80E94E31980EA6CE142E00E9469
+:1036D000E31982E060E07CE00E942E1ABE01605097
+:1036E000744F86E00E942E1A8AE760E040E00E9454
+:1036F000E319CE0160E97AE00E942E1B80E86FE1B9
+:1037000048E00E94E319DF91CF91089584E061E0E1
+:103710000E941EAA84E061E00E949BAA85E061E00D
+:103720000E941EAA87E061E00E941EAA86E060E077
+:103730000E941EAA85E061E00E949BAA85E060E0ED
+:103740000E949BAA87E060E00E949BAA80E58CBD56
+:103750008DB581608DBD0895EF92FF920F931F93F9
+:10376000CF93DF93EB01142F9093440A8093430A85
+:103770000CB406FC02C00E94861B1093460A812FDF
+:1037800061E00E941EAA0E94DC198FEF60E04FEFFB
+:103790000E94E31962E070E080E090E00E94D0A80F
+:1037A0000E94C2A87B018C0180E395E7A0E0B0E015
+:1037B000E80EF91E0A1F1B1F09C00E94C2A8E616C8
+:1037C000F7060807190710F480E084C080E06DE177
+:1037D0000E943C1A882389F31092490A1092480AE1
+:1037E00088E060E070E00E942E1A8CE060E070E0FB
+:1037F0000E942E1A8AE06FEF7BE00E942E1A84E06E
+:1038000060E07CE00E942E1A86E06FEF71E10E947A
+:103810002E1A80E00E94791A88E26FE370E30E941A
+:103820002E1A80E369EF77EF0E942E1A80EC6DE08C
+:103830000E94201A81EC60E00E94201A80E862EC6D
+:1038400042E30E94E31986EC62E17CE00E942E1ABA
+:1038500084EC62E10E94201A8AEC6AEE75E00E9414
+:103860002E1A84EE68810E94201A85EE69810E94DA
+:10387000201A82EE6A810E94201A83EE6B810E94D8
+:10388000201A80EE6C810E94201A81EE6D810E94C8
+:10389000201A84ED60E10E94201A86ED60E071E05C
+:1038A0000E942E1A8AEE0E945E1A80FDFBCF8FE1E5
+:1038B0000E94FF1980E86BE140EC0E94E31980E868
+:1038C0006FE144E00E94E31982E70E945E1A8630AD
+:1038D00008F08F5FDF91CF911F910F91FF90EF90D4
+:1038E0000895EF92FF920F931F93CF93DF93FC0104
+:1038F000EB018A01790110928C0A009729F080E788
+:103900009AE0BF010E949F8E209719F0CE010E947D
+:1039100004810115110529F084E89AE0B8010E949C
+:103920009F8EE114F10429F084E79AE0B7010E9428
+:103930009F8E0E94687F10928F0A10928E0A81E0FB
+:10394000DF91CF911F910F91FF90EF900895AF926B
+:10395000BF92CF92DF92FF920F931F93CF93DF938B
+:103960008C01EB01F42E10928C0A38E341E050E018
+:1039700060E070E018C0832F90E0FC01B3E0F595A3
+:10398000E795BA95E1F7E65BF54F877090705A01BD
+:103990006B0104C0AA0CBB1CCC1CDD1C8A95D2F7A1
+:1039A00020812A292083315031F78AE69AE0BE012E
+:1039B0000E94978EC8016AE67AE04F2D0E94AC1BE8
+:1039C000DF91CF911F910F91FF90DF90CF90BF902B
+:1039D000AF900895CF92DF92EF92FF920F931F93D3
+:1039E000DF93CF93CDB7DEB7EB84FC84CD84DE8448
+:1039F000DE011F9601C0D801F6018491882309F4E5
+:103A0000BCC00894C11CD11C843209F099C0F601D5
+:103A10000894C11CD11C8491863409F45FC087349A
+:103A200034F4843469F0853409F08AC06EC08C3473
+:103A3000C9F1833509F445C0883409F081C00DC04F
+:103A40008D010E5F1F4FF701668177818D919C91EB
+:103A50004AE050E00E940B0F7EC02C91822F9927E4
+:103A600087FD909514E0959587951A95E1F78F70ED
+:103A70002F702A300CF0295F8A300CF0895F8D019D
+:103A80000E5F1F4FF701A681B781805DFD01819315
+:103A9000205D11962C933196D7011796FC93EE93E7
+:103AA0001697A9CF8D010C5F1F4F6D917D918D9160
+:103AB0009C91F701468157812AE030E00E94490F2E
+:103AC0004AC08D010E5F1F4F6D917C91D7011696F4
+:103AD0008D919C9117970E947D0E3DC08D010E5FC8
+:103AE0001F4F2D913C910AC0D7011696ED91FC9184
+:103AF000179781931796FC93EE931697F9012F5F12
+:103B00003F4F8491882381F776CF8D010E5F1F4F41
+:103B10002D913C910AC0D7011696ED91FC91179713
+:103B200081931796FC93EE931697F999FECF32BDC9
+:103B300021BDF89A80B52F5F3F4F882361F75BCF97
+:103B4000F70126813781F90181939F01F7013783BE
+:103B500026838D0150CFD70116968D919C91179792
+:103B6000FC0101900020E9F73197E81BF90B8E0F5B
+:103B70009F1FF701978386833ECFCF91DF911F91DF
+:103B80000F91FF90EF90DF90CF9008950F931F93C8
+:103B90008C01FC01848560E00E949BAA81E090E09A
+:103BA0000E9429A9F801848561E00E949BAA81E016
+:103BB00090E00E9429A9F801848560E00E949BAAF8
+:103BC00084E690E00E9429A91F910F910895CF9259
+:103BD000DF92EF92FF920F931F936C01062F86E204
+:103BE000E82E8DE1F82EC701F60164810E945AA4E7
+:103BF00010E0F601808590E0082B192BC701602F9B
+:103C00000E94E6A4C7010E9429A51F910F91FF9071
+:103C1000EF90DF90CF900895FF920F931F938C0148
+:103C2000F62E64600E94E71D81E090E00E9429A9C1
+:103C30008BEFF822C8016F2D0E94E71D82E390E010
+:103C40000E9429A91F910F91FF900895FC0188E01F
+:103C50008087CF0160E00E94E71D0895FC01108677
+:103C600060E00E94E71D0895CF92DF92EF92FF92ED
+:103C70000F931F93CF93DF937C01D62EFC01818598
+:103C8000813039F4C7010E94E71DC7016D2D0E94E4
+:103C90000C1EF70181858823F9F48701C0E0D0E08C
+:103CA000CD2CDD24F801858561E00E941EAAB601B5
+:103CB0000C2E02C0759567950A94E2F76170F801C1
+:103CC00085850E949BAA21960F5F1F4FC430D105A6
+:103CD00049F7C7010E94C61DDF91CF911F910F9137
+:103CE000FF90EF90DF90CF9008950F931F93CF93A5
+:103CF000DF93EC01062F142F8985813061F4607FFA
+:103D0000642BCE010E94341E602F6295607F612B70
+:103D1000CE010E94341E89858823C1F48A85612FD3
+:103D20000E949BAA8B858F3F19F060E00E949BAA9E
+:103D3000602F70E094E0759567959A95E1F7CE0154
+:103D40000E94341ECE01602F0E94341EDF91CF915D
+:103D50001F910F91089541E00E94751E81E090E04F
+:103D6000089540E00E94751E0895EF92FF920F9310
+:103D70001F93CF93DF938C017A016770660F660FF4
+:103D8000660F60640E94B11EC0E0D0E0D801ED91E2
+:103D9000FC91D701AC0FBD1F0190F081E02DC8014F
+:103DA0006C9109952196C830D10581F7DF91CF91AB
+:103DB0001F910F91FF90EF900895FC0166896E7F2F
+:103DC000668B68600E94B11E0895FC016689862F8B
+:103DD0008460868B6C60CF010E94B11E0895DF93D2
+:103DE000CF93CDB7DEB728970FB6F894DEBF0FBEDE
+:103DF000CDBF9C01FE013196AFEBB9E088E00D909C
+:103E000001928150E1F7F9018185813021F48681A9
+:103E1000841748F406C0882331F4F901818D4817CE
+:103E200010F0482F4150E42FF0E0EE0FFF1FEC0F91
+:103E3000FD1F8181680F6068C9010E94B11E28962C
+:103E40000FB6F894DEBF0FBECDBFCF91DF910895BE
+:103E500062E00E94B11E80ED97E00E9429A90895BA
+:103E600061E00E94B11E80ED97E00E9429A90895AB
+:103E7000CF93DF93EC018985813009F044C088E05D
+:103E80008D8B62E370E080E090E00E94D0A8CE01CC
+:103E900068850E94E71D68EE73E080E090E00E9474
+:103EA000D0A8CE0160E30E94341E84E991E10E9413
+:103EB00029A9CE0160E30E94341E84E991E10E94A9
+:103EC00029A9CE0160E30E94341E86E990E00E9499
+:103ED00029A9CE0160E20E94341E6D896062CE0184
+:103EE0000E94B11E84E08E8BCE010E94E51ECE01A1
+:103EF0000E94301F82E08F8BCE0166E00E94B11ECF
+:103F0000CE010E94281F8985882309F061C08D8910
+:103F100088608D8B82E0898F1A8E80E593EC0E94F9
+:103F200029A98A8560E00E949BAA8C8560E00E9496
+:103F30009BAA8B858F3F19F060E00E949BAA6D8938
+:103F400064FD1DC0CE0163E00E94341E84E991E14E
+:103F50000E9429A9CE0163E00E94341E84E991E108
+:103F60000E9429A9CE0163E00E94341E86E990E0F8
+:103F70000E9429A9CE0162E00E94341E16C0606230
+:103F8000CE010E94B11E84E991E10E9429A96D89A8
+:103F90006062CE010E94B11E86E990E00E9429A9CC
+:103FA0006D896062CE010E94B11E6D896062CE0192
+:103FB0000E94B11E84E08E8BCE010E94E51ECE01D0
+:103FC0000E94301F82E08F8BCE0166E00E94B11EFE
+:103FD000DF91CF9108956F927F928F92AF92CF929F
+:103FE000EF920F93DF93CF93CDB7DEB73C01FC0187
+:103FF000428723870487E586C686A786808A8C85C4
+:10400000818B8D85828B8E85838B8F85848B86E2D9
+:104010009DE10E943EA5F301118686E29DE167E2E3
+:1040200070E00E9464A486E29DE160E00E94E6A444
+:1040300086E29DE10E9429A5882319F481E0F3011D
+:104040008187F3018185813049F487E2848380E1AF
+:10405000858382E08683178288E08087F3018185EB
+:10406000882381F4828561E00E941EAAF301838582
+:104070008F3F19F061E00E941EAAF301848561E080
+:104080000E941EAA88E0F301858BCF91DF910F91EA
+:10409000EF90CF90AF908F907F906F9008959C019C
+:1040A000F999FECF32BD21BDF89A80B50895FC0183
+:1040B000A681B7816D93B783A68381E090E00895D0
+:1040C0001F920F920FB60F920BB60F9211242F93DF
+:1040D0003F934F935F936F937F938F939F93AF9390
+:1040E000BF93EF93FF9380916D108F5F80936D105E
+:1040F00080916D10803128F0E0916B10F0916C1080
+:104100000995FF91EF91BF91AF919F918F917F9111
+:104110006F915F914F913F912F910F900BBE0F9038
+:104120000FBE0F901F9018958091361890E023E0F5
+:10413000880F991F2A95E1F7895C974EE7E3F8E12C
+:1041400003C0158214823896E817F907D0F3089552
+:1041500089E18093091010920C1010921F10109298
+:1041600026101092281010924310109242108BECDF
+:1041700099E090934110809340100895AF92BF92C0
+:10418000CF92DF92EF92FF920F931F9380912B09B2
+:10419000882309F445C02091EC15922F991F992787
+:1041A000991F8091ED158370880F892BC9F5809137
+:1041B000EB1585FD35C022FF33C00E94168A5B01D6
+:1041C0006C018091EC158B7F8093EC1580916E10C3
+:1041D000882329F48CE890E061E00E94EB470E947C
+:1041E00091687B018C016115710581059105C1F014
+:1041F0000E94E989C801B7010E94971921E8A21617
+:1042000028ECB2062FE4C2062AE3D20648F40E9444
+:10421000168A6158784C8F449A4310F00E942845C2
+:104220001F910F91FF90EF90DF90CF90BF90AF90D4
+:104230000895EF92FF920F931F938091EB1585FDE8
+:10424000B4C08091EC1583FFB0C0877F8093EC15DC
+:1042500080916E10882359F48BE197E16FE041E083
+:104260000E94EF1E8BE197E164E00E94AB1E0E946A
+:10427000C2A87B018C018091ED1582FF09C00E94CC
+:104280005555882329F08091ED158B7F8093ED158E
+:104290008CE79AE00E9404830E94C91A0E9451830D
+:1042A0008CE79AE00E94C685882361F40E94C2A828
+:1042B0006E197F09800B910B683C71058105910592
+:1042C00058F34CC08091EC158F778093EC1580915A
+:1042D000ED158C7F8093ED1506C02F772093EC159C
+:1042E0003B603093ED159091EC15991F9927991F1C
+:1042F0002091ED15822F8370880F892B09F055C00E
+:10430000277F2093ED150E94C2A87B018C018BE9C9
+:1043100090E060E00E9440178823A1F080E091E0E7
+:1043200068E87AE00E94808E88E89AE00E94048320
+:104330000E94C91A0E94518388E89AE00E94C685AB
+:10434000882399F50E94C2A86E197F09800B910BF2
+:10435000683C710581059105D0F222C02091EC15D1
+:10436000922F991F9927991F3091ED15832F8370F4
+:10437000880F892B8F5F8770982F9795992797952E
+:104380002F77292B2093EC15982F96953C7F392B6E
+:10439000932F98609093ED15873009F49ECFA3CFAB
+:1043A0008091ED1588608093ED151F910F91FF901E
+:1043B000EF900895EF92FF920F931F938C0188E086
+:1043C00090E166E071E040E00E94429F30E1E32E20
+:1043D00037E1F32EC701B8010E947D0E0BE116E113
+:1043E000C80161E279E00E947D0EC801B7010E9418
+:1043F000670EC8016AEA70E00E94330E1F910F91A8
+:10440000FF90EF900895CF93DF93EC0180914D09D9
+:10441000882361F18091EB1587FF28C0CE0168E009
+:1044200071E043E050E00E94840E009771F488E050
+:1044300090E161E279E040E00E94429F8823B1F080
+:1044400086E290E10E94EF9711C0CE010E94DA212E
+:1044500088E090E16BE176E10E94239F882331F0B0
+:1044600088E090E16BE176E10E94009FDF91CF91BF
+:1044700008953F924F925F926F927F928F929F9298
+:10448000AF92BF92CF92DF92EF92FF920F931F9362
+:10449000DF93CF93CDB7DEB7AA970FB6F894DEBF00
+:1044A0000FBECDBF382E5A016B0128013901809112
+:1044B0004D09882309F474C6CB01BA0120E831E51F
+:1044C00041E050E00E9457B4CA01B9014BE156E106
+:1044D0002AE030E00E94490F8BE196E10E94DA2148
+:1044E0008091EB1587FF5CC688E090E166E071E0A3
+:1044F00040E00E94429F88E090E161E279E040E084
+:104500000E94429F882391F488E090E161E279E083
+:1045100041E00E94049F882309F442C610925F1074
+:10452000109260101092611010926210198A1B8A0A
+:10453000188A1F8684E09AE09E878D878E010F5E21
+:104540001F4FABE18A2EA6E19A2EC801B40142E4C6
+:104550000E94719DF82E4BA15CA16DA17EA1C801A6
+:104560000E940D93FF2009F41BC6332009F047C0B9
+:104570002DB73EB7265130400FB6F8943EBF0FBE60
+:104580002DBFEDB7FEB73196ADB7BEB712969C9270
+:104590008E9211978CE091E0938382838091E81949
+:1045A000848315828091E719868317828091E919A7
+:1045B0009091EA1991878087A286B386C486D586B2
+:1045C0008091321A9091331AA091341AB091351A11
+:1045D00086879787A08BB18B80912E1A90912F1A86
+:1045E000A091301AB091311A828B938BA48BB58B2A
+:1045F0000E946E0F2DB73EB72A5E3F4F59C334E07D
+:10460000331609F03FC04DB75EB7405150400FB66A
+:10461000F8945EBF0FBE4DBFEDB7FEB73196ADB794
+:10462000BEB712969C928E92119784E291E093838A
+:1046300082838091361A9091371AA091381AB091DE
+:10464000391A84839583A683B78380914A1A9091FF
+:104650004B1AA0914C1AB0914D1AA6019501281B36
+:10466000390B4A0B5B0B2087318742875387A4861F
+:10467000B586C686D7860E946E0F4DB75EB7405F7F
+:104680005F4F68C352E0351671F580910D16909119
+:104690000E16A0910F16B09110168A159B05AC0549
+:1046A000BD0528F020E030E040E050E006C0A60163
+:1046B0009501281B390B4A0B5B0B8DB79EB70C97E6
+:1046C0000FB6F8949EBF0FBE8DBFEDB7FEB7319603
+:1046D0008BE196E1ADB7BEB712969C938E9311977E
+:1046E00088E391E030C031E03316C1F580910916BE
+:1046F00090910A16A0910B16B0910C168A159B0585
+:10470000AC05BD0528F020E030E040E050E006C0F8
+:10471000A6019501281B390B4A0B5B0B8DB79EB781
+:104720000C970FB6F8949EBF0FBE8DBFEDB7FEB7C6
+:1047300031968BE196E1ADB7BEB712969C938E93FE
+:1047400011978AE491E0938382832483358346839F
+:104750005783A086B186C286D38603C133E0331661
+:1047600029F54DB75EB74A5050400FB6F8945EBF7A
+:104770000FBE4DBFEDB7FEB73196ADB7BEB71296BF
+:104780009C928E9211978CE591E093838283809125
+:10479000400984831582A682B782C086D1860E9492
+:1047A0006E0F2DB73EB7265F3F4F82C237E03316FC
+:1047B00009F05BC04DB75EB74A5150400FB6F89450
+:1047C0005EBF0FBE4DBFEDB7FEB73196ADB7BEB7FA
+:1047D00012969C928E9211978DE691E0938382833C
+:1047E00087E090E095838483A682B782C086D186D5
+:1047F0008091361A9091371AA091381AB091391ACF
+:1048000082879387A487B58780914A1A90914B1A23
+:10481000A0914C1AB0914D1AA6019501281B390B95
+:104820004A0B5B0B26873787408B518B80913A1A56
+:1048300090913B1AA0913C1AB0913D1A828B938BB8
+:10484000A48BB58B80913E1A90913F1AA091401A8B
+:10485000B091411A868B978BA08FB18F0E946E0FFB
+:104860004DB75EB7465E5F4F75C258E0351651F5DD
+:104870008DB79EB70E970FB6F8949EBF0FBE8DBF33
+:10488000EDB7FEB73196ADB7BEB712969C928E9239
+:1048900011978EE891E09383828388E090E095837E
+:1048A0008483A682B782C086D18680913E1A909179
+:1048B0003F1AA091401AB091411A82879387A4872A
+:1048C000B5876CC135E0331619F54DB75EB74C505E
+:1048D00050400FB6F8945EBF0FBE4DBFEDB7FEB7A8
+:1048E0003196ADB7BEB712969C928E92119783EA1D
+:1048F00091E09383828385E090E095838483A68210
+:10490000B782C086D1868091EB158695869526C0A4
+:1049100036E0331669F54DB75EB74C5050400FB6D0
+:10492000F8945EBF0FBE4DBFEDB7FEB731968BE179
+:1049300096E1ADB7BEB712969C938E93119787EB15
+:1049400091E09383828386E090E095838483A682BE
+:10495000B782C086D1868091EB158695817082875B
+:1049600013860E946E0F2DB73EB7245F3F4FA0C144
+:1049700030E3331631F54DB75EB74C5050400FB6AB
+:10498000F8945EBF0FBE4DBFEDB7FEB731968BE119
+:1049900096E1ADB7BEB712969C938E9311978BECB0
+:1049A00091E09383828380E390E095838483A68261
+:1049B000B782C086D1868091EB15869586958695BF
+:1049C000CDCF31E3331629F54DB75EB74C5050408B
+:1049D0000FB6F8945EBF0FBE4DBFEDB7FEB7319670
+:1049E0008BE196E1ADB7BEB712969C938E9311976B
+:1049F0008FED91E09383828381E390E095838483BC
+:104A0000A682B782C086D1868091EB1582958F7081
+:104A1000A5CF32E33316D9F44DB75EB740515040BD
+:104A20000FB6F8945EBF0FBE4DBFEDB7FEB731961F
+:104A30008BE196E1ADB7BEB712969C938E9311971A
+:104A400083EF91E09383828382E390E03BC033E382
+:104A50003316D9F44DB75EB7405150400FB6F894B5
+:104A60005EBF0FBE4DBFEDB7FEB731968BE196E14D
+:104A7000ADB7BEB712969C938E9311978DE092E0DE
+:104A80009383828383E390E04AC034E3331651F585
+:104A90004DB75EB7405150400FB6F8945EBF0FBEA1
+:104AA0004DBFEDB7FEB731968BE196E1ADB7BEB71E
+:104AB00012969C938E93119787E292E09383828360
+:104AC00084E390E095838483A682B782C086D186F2
+:104AD00042865386648675868091EB158695869509
+:104AE00086952BC035E3331691F54DB75EB740512F
+:104AF00050400FB6F8945EBF0FBE4DBFEDB7FEB786
+:104B000031968BE196E1ADB7BEB712969C938E932A
+:104B1000119780E492E09383828385E390E095830C
+:104B20008483A682B782C086D186428653866486F5
+:104B300075868091EB1582958F70817086871786B8
+:104B40000E946E0F2DB73EB7205F3F4FB1C036E3D6
+:104B5000331659F54DB75EB74E5050400FB6F89426
+:104B60005EBF0FBE4DBFEDB7FEB731968BE196E14C
+:104B7000ADB7BEB712969C938E9311978AE592E0DB
+:104B80009383828386E390E095838483A682B782B1
+:104B9000C086D18642865386648675860E946E0FD3
+:104BA0002DB73EB7225F3F4F83C037E3331691F5F1
+:104BB0004DB75EB7425150400FB6F8945EBF0FBE7E
+:104BC0004DBFEDB7FEB731968BE196E1ADB7BEB7FD
+:104BD00012969C938E93119782E792E0938382833F
+:104BE00087E390E095838483A682B782C086D186CE
+:104BF00042865386648675868091EB1586958695E8
+:104C00008170868717868091EB1586958170808BE1
+:104C1000118A48C039E0331609F050C06091261A55
+:104C20007091271A8091281A9091291AF3E0EF2E9B
+:104C3000F12CEC0EFD1E44E022E087010E94ED0BFA
+:104C40004DB75EB7425150400FB6F8945EBF0FBEED
+:104C50004DBFEDB7FEB731968BE196E1ADB7BEB76C
+:104C600012969C938E9311978FE892E093838283A0
+:104C700089E090E095838483A682B782C086D1863E
+:104C80008091FB198287138680912E1A90912F1A9A
+:104C9000A091301AB091311A84879587A687B7877B
+:104CA000F18AE08A0E946E0F2DB73EB72E5E3F4F0D
+:104CB0000FB6F8943EBF0FBE2DBF51C030E1331682
+:104CC00009F04DC04DB75EB7445150400FB6F8944F
+:104CD0005EBF0FBE4DBFEDB7FEB731968BE196E1DB
+:104CE000ADB7BEB712969C938E9311978BEA92E064
+:104CF0009383828380E190E095838483A682B78248
+:104D0000C086D1868091FB19828713868091361ADE
+:104D10009091371AA091381AB091391A84879587E3
+:104D2000A687B78780914A1A90914B1AA0914C1A86
+:104D3000B0914D1AA6019501281B390B4A0B5B0B4C
+:104D4000208B318B428B538B0E946E0F4DB75EB719
+:104D50004C5E5F4F0FB6F8945EBF0FBE4DBF832D04
+:104D60008551823008F04BC06091261A7091271A45
+:104D70008091281A9091291AE3E0EE2EF12CEC0E86
+:104D8000FD1E44E022E087010E94ED0B8DB79EB727
+:104D900040970FB6F8949EBF0FBE8DBFEDB7FEB71C
+:104DA00031968BE196E1ADB7BEB712969C938E9388
+:104DB000119789EC92E09383828334821582A682D4
+:104DC000B782C086D1868091FB1982871386809135
+:104DD000131A9091141A73E0969587957A95E1F7D6
+:104DE00095878487F786E6860E946E0F2DB73EB7BB
+:104DF000205F3F4F0FB6F8943EBF0FBE2DBF832DEF
+:104E00008851823008F042C04DB75EB742515040E1
+:104E10000FB6F8945EBF0FBE4DBFEDB7FEB731962B
+:104E20008BE196E1ADB7BEB712969C938E93119726
+:104E300084EE92E09383828334821582A682B782C5
+:104E4000C086D1868091FB19828713868091121AC1
+:104E500090E0880F991F880F991F9587848780910C
+:104E60002E1A90912F1AA091301AB091311A86877C
+:104E70009787A08BB18B0E946E0F2DB73EB72E5E29
+:104E80003F4F0FB6F8943EBF0FBE2DBF832D81510B
+:104E9000823020F03AE0331609F047C04DB75EB7D4
+:104EA000425150400FB6F8945EBF0FBE4DBFEDB7F4
+:104EB000FEB731968BE196E1ADB7BEB712969C93E3
+:104EC0008E93119780E093E09383828334821582DE
+:104ED000A682B782C086D1868091361A9091371A01
+:104EE000A091381AB091391A82879387A487B58721
+:104EF00080914A1A90914B1AA0914C1AB0914D1A78
+:104F0000A6019501281B390B4A0B5B0B26873787B7
+:104F1000408B518B0E946E0F4DB75EB74E5E5F4F58
+:104F20000FB6F8945EBF0FBE4DBF53E1351631F595
+:104F30008DB79EB70A970FB6F8949EBF0FBE8DBF70
+:104F4000EDB7FEB731968BE196E1ADB7BEB71296DD
+:104F50009C938E9311978BE193E09383828383E1FB
+:104F600090E095838483A682B782C086D1860E9412
+:104F70006E0F2DB73EB7265F3F4FD7C034E13316D3
+:104F8000E9F54DB75EB7425150400FB6F8945EBF99
+:104F90000FBE4DBFEDB7FEB731968BE196E1ADB7D1
+:104FA000BEB712969C938E9311978EE293E09383F3
+:104FB000828384E190E095838483A682B782C08651
+:104FC000D1868091361A9091371AA091381AB091F3
+:104FD000391A82879387A487B58780914A1A90915E
+:104FE0004B1AA0914C1AB0914D1AA81AB90ACA0AC4
+:104FF000DB0AA686B786C08AD18A91C037E133160C
+:1050000009F04AC06091261A7091271A8091281AD7
+:105010009091291A53E0E52EF12CEC0EFD1E44E090
+:1050200022E087010E94ED0B4DB75EB74051504022
+:105030000FB6F8945EBF0FBE4DBFEDB7FEB7319609
+:105040008BE196E1ADB7BEB712969C938E93119704
+:1050500089E493E09383828387E190E0958384835E
+:10506000A682B782C086D1868091FB19828713867B
+:105070008091131A9091141A43E0969587954A955A
+:10508000E1F795878487F786E6860E946E0F2DB735
+:105090003EB7205F3F4F49C030E2331609F04AC0A7
+:1050A0006091261A7091271A8091281A9091291AD6
+:1050B00044E022E08E010D5F1F4F0E94ED0B4DB7C3
+:1050C0005EB7425150400FB6F8945EBF0FBE4DBF61
+:1050D000EDB7FEB731968BE196E1ADB7BEB712964C
+:1050E0009C938E93119786E693E09383828380E26C
+:1050F00090E095838483A682B782C086D186809112
+:10510000FB19828713868091F61984871586809112
+:10511000F419868717868091F319808B118A0E9473
+:105120006E0F2DB73EB72E5E3F4F0FB6F8943EBFC1
+:105130000FBE2DBF8FEB9EE16BE176E10E948BB03D
+:105140008091FD1E9091FE1E009711F481E09FE179
+:10515000BE016F5F7F4F681B790B8FEB9EE14AE0CA
+:1051600050E00E94B8AFCE010D966BE176E10E944F
+:10517000B99F80915F1090916010A0916110B091E3
+:1051800062100196A11DB11D80935F109093601075
+:10519000A0936110B0936210CE0141960E94759564
+:1051A000AA960FB6F894DEBF0FBECDBFCF91DF91A8
+:1051B0001F910F91FF90EF90DF90CF90BF90AF9035
+:1051C0009F908F907F906F905F904F903F90089549
+:1051D000EF92FF920F931F93CF93DF938C017B018C
+:1051E000C0E0D0E0D8010D900020E9F71197A01B96
+:1051F000B10BF701EC0FFD1FA00FB11F808190E0F4
+:10520000BD014AE050E00E940B0FC33029F0C801F5
+:1052100066E873E00E94670E2196C430D10511F74D
+:10522000DF91CF911F910F91FF90EF9008956F92B2
+:105230007F928F929F92AF92BF92CF92DF92EF9226
+:10524000FF920F931F93DF93CF93CDB7DEB7659790
+:105250000FB6F894DEBF0FBECDBF5C014B013A0123
+:105260006E010894C11CD11CC60168E873E00E945D
+:10527000A2B1BFE0EB2EF12CEC0EFD1EC701B60172
+:105280000E94D3B18E01085F1F4FC801B5010E9473
+:10529000A2B1C701B8010E946BB1BC018FEB9EE1C6
+:1052A0000E94D1B0C8010E94DEB1C7010E94E4B1E2
+:1052B000C6010E94DEB1C30169EA72E00E94330EAA
+:1052C0008BE196E1B5010E947D0EC3016BE176E1B1
+:1052D0000E94670EC30165EA72E00E94330EC401AA
+:1052E0006BE176E10E94F24CEE241FC00E2D10E01F
+:1052F000F801E55EF94E808190E06BE176E14AE0ED
+:1053000050E00E940B0FC3016BE176E10E94670E33
+:105310008091F61590E001970817190729F0C3014D
+:1053200063EA72E00E94330EE3948091F615E8166A
+:10533000E8F2C30160EA72E00E94330E65960FB690
+:10534000F894DEBF0FBECDBFCF91DF911F910F91BB
+:10535000FF90EF90DF90CF90BF90AF909F908F9095
+:105360007F906F9008953F924F925F926F927F92DD
+:105370008F929F92AF92BF92CF92DF92EF92FF9265
+:105380000F931F93DF93CF93CDB7DEB7CD5AD040A5
+:105390000FB6F894DEBF0FBECDBF382E6A017B0179
+:1053A0008FEB9EE160E973E00E94D7AF8091FD1E14
+:1053B0009091FE1E009711F481E09FE1BE016F5FA6
+:1053C0007F4F681B790B8FEB9EE14AE050E00E9413
+:1053D000B8AF9091EC15991F9927991F8091ED1501
+:1053E0008370880F892B21F014E0F12E0C943E324B
+:1053F000FE0133968DE0DF011D928A95E9F78FEB70
+:105400009EE16CE973E00E94D7AF8091FD1E909100
+:10541000FE1E009711F481E09FE1BE016F5F7F4F98
+:10542000681B790B8FEB9EE14AE050E00E94B8AF19
+:105430000E94C2A8609363107093641080936510FB
+:10544000909366108FE690E167E972E00E943E0E4D
+:10545000B2E03B16D9F0B31530F0332069F0E1E04B
+:105460003E1649F50EC0F4E03F16D1F03F1698F015
+:1054700085E0381601F519C08BE196E167EA73E023
+:1054800018C08BE196E16CEA73E013C08BE196E102
+:1054900061EB73E00EC08BE196E166EB73E009C04F
+:1054A0008BE196E16BEB73E004C08BE196E160EC7D
+:1054B00073E00E947D0E0BE116E18FE690E1B801EA
+:1054C0000E94670E00D000D000D0EDB7FEB7319635
+:1054D000ADB7BEB712961C930E93119785EC93E06F
+:1054E000938382838CE099E0958384830E946E0F7E
+:1054F000EDB7FEB736960FB6F894FEBF0FBEEDBF00
+:105500008FE690E1B8010E94670EEAE6FAE0DE015C
+:105510001396808182958F708A3010F4805D01C06F
+:10552000895C8C9380818F708A3010F4805D01C01B
+:10553000895C11968C931197319612968AE0E03728
+:10554000F80739F78FE690E1BE016D5F7F4F0E944B
+:10555000670E8FE690E164E972E00E94330E92E0FC
+:10556000391609F4A5C1931540F0332009F4D7C0CA
+:10557000A1E03A1609F0B7C6BCC3B3E03B1609F484
+:1055800021C3E5E03E1609F0AEC6C114D104E10422
+:10559000F10461F40E949D5220E831E541E050E0C1
+:1055A0000E9457B4C901DA016C017D018FE690E1D8
+:1055B00062E972E00E94330EC6016BE176E14AE0D7
+:1055C00050E00E940B0F8BE196E10E94DA211C8AC9
+:1055D0001E8A1B8A1A8A84E09AE0998B888B8FEB4B
+:1055E0009EE16BE176E10E948BB088E090E16BE197
+:1055F00076E10E94239F882359F41092571010924D
+:1056000058101092591010925A10B3E0FB2E6CC62D
+:105610008E010C5E1F4FC8016BE176E141E00E94F4
+:10562000719DBB24CC24DD247601ABE16A2EA6E17A
+:105630007A2EFFE68F2EF0E19F2EC8016BE176E116
+:105640004FEF50E020E030E00E948E9818161906C7
+:1056500074F0C8010E94759510925710109258105E
+:105660001092591010925A10E2E0FE2E51C0109282
+:1056700019170894C11CD11CE11CF11C8091571012
+:1056800090915810A0915910B0915A108C159D0509
+:10569000AE05BF0590F6BB2031F08FE690E160E9E2
+:1056A00072E00E94330ED4010D900020E9F7F3015F
+:1056B00001900020E9F73197EB51F641EA0FFB1F0B
+:1056C000ED56F041E95EF34038F0CE0144960E9479
+:1056D0007595FF24F3941CC08FE690E16BE176E1B1
+:1056E0000E94670E8091571090915810A091591008
+:1056F000B0915A100196A11DB11D8093571090933F
+:105700005810A0935910B0935A10BB24B39495CF5E
+:105710008FE690E16DE872E00E94330EE5C577EA0E
+:10572000872E74E0972EAA24BB24F501E75DF64F7F
+:105730008081DA2C94E1A91689F0A7E2AA1671F00B
+:10574000B3E1AB1659F0E6E2AE1641F0F1E1AF1667
+:1057500029F0E82EFF2400E010E007C00E945F8BD4
+:105760007C010027F7FC0095102F8EE1D81669F414
+:105770008091F5158C3A09F449C062E0EE0CFF1CEB
+:10578000001F111F6A95D1F70AC090E1D916F1F1F7
+:10579000AAE1DA1621F48091EC1581FD37C08091E1
+:1057A0002417813021F48D2D8B51823078F18BE1DB
+:1057B00096E1B40145E050E00E94EC8A8FE690E16A
+:1057C0006BE872E00E94330E8FE690E16BE176E1C8
+:1057D0000E94670E8FE690E168E872E00E94330E47
+:1057E000C7016BE176E14AE050E00E940B0F8FE6C3
+:1057F00090E16BE176E10E94670EBBE4DB1631F0CD
+:105800008FE690E166E872E00E94330E0894A11CD6
+:10581000B11CE5E0F0E08E0E9F1EFCE4AF16B10473
+:1058200009F083CF8FE690E16DE772E00E94330EBE
+:105830000E94975190934910809348106BE176E154
+:105840004AE050E00E940B0F8FE690E16BE176E1B9
+:105850000E94670E8FE690E164E772E00E94330ECB
+:1058600085E090E06BE176E14AE050E00E940B0FAA
+:105870008FE690E16BE176E10E94670E8FE690E1A2
+:105880006CE672E00E94330E8091F51590E06BE1BA
+:1058900076E14AE050E00E940B0F8FE690E16BE169
+:1058A00076E10E94670E8FE690E16AE672E019C524
+:1058B0008FE690E161E672E00E94330E8091351828
+:1058C00090E06BE176E14AE050E00E940B0F8FE63A
+:1058D00090E16BE176E10E94670E8FE690E165E56D
+:1058E00072E00E94330E8091F61590E06BE176E154
+:1058F0004AE050E00E940B0F8FE690E16BE176E109
+:105900000E94670E8FE690E16DE472E00E94330E14
+:1059100080E190E06BE176E14AE050E00E940B0FFD
+:105920008FE690E16BE176E10E94670E8FE690E1F1
+:1059300064E472E00E94330E84E090E06BE176E173
+:105940004AE050E00E940B0F8FE690E16BE176E1B8
+:105950000E94670E8FE690E169E372E00E94330EC9
+:1059600084E190E06BE176E14AE050E00E940B0FA9
+:105970008FE690E16BE176E10E94670E8FE690E1A1
+:1059800061E372E00E94330EFF245EE2C52ED12C4B
+:10599000CC0EDD1E42E3442E512C4C0E5D1E38E32E
+:1059A000632E712C6C0E7D1E5E010894A11CB11C2F
+:1059B0002AE9822E912C8C0E9D1EFAC08F2DB601E5
+:1059C0000E9419588EA582958370833039F489A975
+:1059D000823020F0CE01C0960E94B056D6011C91B4
+:1059E00011960C918FE690E16FE272E00E94330E07
+:1059F000812F90E06BE176E14AE050E00E940B0FCE
+:105A00008FE690E16BE176E10E94670E8FE690E110
+:105A10006DE272E00E94330E802F90E06BE176E140
+:105A20004AE050E00E940B0F8FE690E16BE176E1D7
+:105A30000E94670E8FE690E16BE272E00E94330EE7
+:105A400088A990E06BE176E14AE050E00E940B0FFC
+:105A50008FE690E16BE176E10E94670E8FE690E1C0
+:105A600069E272E00E94330E89A990E06BE176E171
+:105A70004AE050E00E940B0F8FE690E16BE176E187
+:105A80000E94670E8FE690E166E272E00E94330E9C
+:105A90008201F801819191918F016BE176E14AE0F9
+:105AA00050E00E940B0F8FE690E16BE176E10E94DF
+:105AB000670E8FE690E164E272E00E94330E0615F5
+:105AC000170539F788AD99AD6BE176E14AE050E012
+:105AD0000E940B0F8FE690E16BE176E10E94670E6A
+:105AE0008FE690E160E272E00E94330E10E019C090
+:105AF000EE0FFF1FEA0DFB1D85A596A56BE176E174
+:105B00004AE050E00E940B0F8FE690E16BE176E1F6
+:105B10000E94670E8FE690E16EE172E00E94330E04
+:105B20001F5F212F30E08091F71590E00197F90178
+:105B3000369628173907E4F2EE0FFF1FEA0DFB1D1A
+:105B400085A596A56BE176E14AE050E00E940B0F37
+:105B50008FE690E16BE176E10E94670E8FE690E1BF
+:105B60006AE172E00E94330E8BE196E1B40144E1F8
+:105B700050E00E94920E10922F168FE690E16BE19A
+:105B800076E10E94670E2F2D30E08091351890E06D
+:105B900001972817390729F08FE690E166E172E056
+:105BA00004C08FE690E163E172E00E94330EF3944B
+:105BB00080913518F81608F401CF8FE690E160E186
+:105BC00072E08FC38AE092E06CE87DE04FE650E13E
+:105BD0000E9417298EEF91E062E97DE04FE650E1E7
+:105BE0000E94172987EF91E068E97DE04FE650E1D8
+:105BF0000E9417298FEE91E06EE97DE04FE650E1BB
+:105C00000E94172987EE91E064EA7DE04FE650E1BB
+:105C10000E9417298FED91E060EB7DE04FE650E1A7
+:105C20000E94172987ED91E066EB7DE04FE650E199
+:105C30000E9417298FEC91E06AEA7DE04FE650E17F
+:105C40000E9417298FE690E164EC71E00E94330E08
+:105C5000FF2425C08F2DB8010E94FC4C8FE690E1F7
+:105C600062EC71E00E94330E8FE690E1B8010E9471
+:105C7000670E8FE690E160EC71E00E94330E2F2DED
+:105C800030E08091F71590E001972817390731F03F
+:105C90008FE690E16EEB71E00E94330EF3948091F9
+:105CA000F7150BE116E1F816A8F200D000D000D0ED
+:105CB000EDB7FEB73196ADB7BEB712961C930E93F3
+:105CC00011978AED93E09383828388E190E0958336
+:105CD00084830E946E0FEDB7FEB736960FB6F89428
+:105CE000FEBF0FBEEDBF8FE690E1B8010E94670EC8
+:105CF000FAC20E949D523B014C018FE690E166EB97
+:105D000071E00E94330EC401B3014BE156E12AE079
+:105D100030E00E94490F8FE690E16BE176E10E944E
+:105D2000670E8FE690E16DEA71E00E94330E80917C
+:105D3000F61590E06BE176E14AE050E00E940B0F2F
+:105D40008FE690E16BE176E10E94670E8FE690E1CD
+:105D500066EA71E00E94330E8091EB15817090E04D
+:105D60006BE176E14AE050E00E940B0F8FE690E194
+:105D70006BE176E10E94670E8FE690E16FE971E0DA
+:105D80000E94330E8091EB158695817090E06BE157
+:105D900076E14AE050E00E940B0F8FE690E16BE164
+:105DA00076E10E94670E8FE690E168E971E00E945B
+:105DB000330E8091EB1586958695817090E06BE1AE
+:105DC00076E14AE050E00E940B0F8FE690E16BE134
+:105DD00076E10E94670E8FE690E16FE871E00E9425
+:105DE000330E8091E3159091E4156BE176E14AE082
+:105DF00050E00E940B0F8FE690E16BE176E10E948C
+:105E0000670E8FE690E166E871E00E94330E8BE149
+:105E100096E164E678E040E350E02FE430E20E944F
+:105E2000D30E8FE690E16BE176E10E94670E8FE67C
+:105E300090E16AE771E00E94330E8BE196E164EF36
+:105E400078E048E150E02FE430E20E94D30E8FE684
+:105E500090E16BE176E10E94670E8FE690E16DE6DE
+:105E600071E00E94330E8091DF159091E0156BE197
+:105E700076E14AE050E00E940B0F8FE690E16BE183
+:105E800076E10E94670E8FE690E162E671E00E9483
+:105E9000330E8091E1159091E2156BE176E14AE0D5
+:105EA00050E00E940B0F8FE690E16BE176E10E94DB
+:105EB000670E8FE690E16AE571E00E94330E609113
+:105EC000E7157091E8158091E9159091EA154BE17D
+:105ED00056E12AE030E00E94490F8FE690E16BE145
+:105EE00076E10E94670E8FE690E162E571E00E9424
+:105EF000330E6091121670911316809114169091C2
+:105F000015164BE156E12AE030E00E94490F8FE67A
+:105F100090E16BE176E10E94670E8FE690E169E423
+:105F200071E00E94330E60911616709117168091E1
+:105F30001816909119164BE156E12AE030E00E94C4
+:105F4000490F8FE690E16BE176E10E94670E8FE6E4
+:105F500090E16FE371E00E94330E8091E71990E0C9
+:105F60006BE176E14AE050E00E940B0F8FE690E192
+:105F70006BE176E10E94670E8FE690E16DE371E0E0
+:105F80000E94330E8091E81990E06BE176E14AE0DF
+:105F900050E00E940B0F8FE690E16BE176E10E94EA
+:105FA000670E8FE690E16BE371E00E94330E809103
+:105FB000E9199091EA196BE176E14AE050E00E941C
+:105FC0000B0F8FE690E16BE176E10E94670E8FE6A2
+:105FD00090E169E371E00E94330E6091EB197091DA
+:105FE000EC198091ED199091EE194BE156E12AE000
+:105FF00030E00E94490F8FE690E16BE176E10E946C
+:10600000670E8FE690E166E371E00E94330E8091A7
+:10601000EB1586FF1CC08FE690E16EE271E00E94F6
+:10602000330E80912E1A90912F1A6BE176E14AE09F
+:1060300050E00E940B0F8FE690E16BE176E10E9449
+:10604000670E8FE690E16CE271E00E94330E809162
+:106050005B098130B1F58FE690E163E271E00E9467
+:10606000330E8091321A9091331A6BE176E14AE057
+:1060700050E00E940B0F8FE690E16BE176E10E9409
+:10608000670E8FE690E161E271E00E94330E8FE6C9
+:1060900090E167E171E00E94330E8FE090E06BE1E8
+:1060A00076E14AE050E00E940B0F8FE690E16BE151
+:1060B00076E10E94670E8FE690E165E171E00E9453
+:1060C000330E8FE690E16BE071E00E94330E10E03A
+:1060D00019C0E12FF0E0E850FA4E808190E06BE1CA
+:1060E00076E14AE050E00E940B0F8FE690E16BE111
+:1060F00076E10E94670E8FE690E169E071E00E9410
+:10610000330E1F5F8091F615181718F38FE690E194
+:106110006FEF70E00E94330EAA249EC04A2C5524D3
+:10612000F201E954F64EB080CB2CDD2403E0CC0C18
+:10613000DD1C0A95E1F787E398E1C80ED91E9FEFB1
+:10614000B91631F1D6012D913D914D915C91139786
+:1061500014968D919C911597621673068406950688
+:10616000A8F07C0100E010E0E20EF31E041F151FF2
+:10617000E618F70808091909B0E0EB16B0E0FB06CD
+:10618000B1E00B07B0E01B0718F405C07C0103C0A9
+:10619000EE24FF2487018FE690E16DEF70E00E940E
+:1061A000330EEFEFBE1619F480E090E004C0D60184
+:1061B00017968C9190E06BE176E14AE050E00E9406
+:1061C0000B0F8FE690E16BE176E10E94670E8FE6A0
+:1061D00090E16BEF70E00E94330EC7016BE176E156
+:1061E0004AE050E00E940B0F8FE690E16BE176E110
+:1061F0000E94670E8FE690E169EF70E00E94330E17
+:10620000BFEFBB1619F480E090E003C0F601808177
+:1062100091816BE176E14AE050E00E940B0F8FE63E
+:1062200090E16BE176E10E94670E8FE690E167EF07
+:1062300070E00E94330E8091F71590E001974816A8
+:1062400059061CF063EF70E002C065EF70E08FE666
+:1062500090E10E94330EA3948091F715A81608F4DC
+:106260005DCF89E894E06BE176E14FEF50E020E00C
+:1062700030E00E949F8B882391F08FE690E16AEED8
+:1062800070E00E94330E8FE690E16BE176E10E94B0
+:10629000670E8FE690E168EE70E00E94330E8DE9A4
+:1062A00094E06BE176E14FEF50E020E030E00E94B7
+:1062B0009F8B882391F08FE690E16DED70E00E9456
+:1062C000330E8FE690E16BE176E10E94670E8FE678
+:1062D00090E16BED70E00E94330E8FE690E169ED86
+:1062E00070E00E94330EFF248FEB9EE1632D4AE0A5
+:1062F00050E00E9435AF8FEB9EE169EE73E00E94A3
+:106300008BB08FEB9EE169EF73E00E94D7AFEFE6B1
+:10631000F0E101900020E9F73197EF56F0418FEB63
+:106320009EE1BF014AE050E00E9407AF8FEB9EE183
+:106330006FE074E00E94D7AF8FEB9EE16F2D4AE0D3
+:1063400050E00E9435AF8FEB9EE160E274E00E9466
+:10635000D7AF4091571050915810609159107091DB
+:106360005A108FEB9EE12AE030E00E94F3AE61E02C
+:1063700070E080E090E00E94D0A8C0900909D09021
+:106380000A0980E590E090930A09809309098091B9
+:10639000CF099091D00961E00E944017882371F4E1
+:1063A00086E38093880A8CEA8093890A84EF80933D
+:1063B0008A0A84E780938B0A14E0F12E8FEB9EE12A
+:1063C00065E374E00E94D7AF0E94C2A8AB01BC0194
+:1063D0008091631090916410A0916510B091661047
+:1063E000481B590B6A0B7B0B8FEB9EE12AE030E0D8
+:1063F0000E94F3AE0E94C2A8609363107093641071
+:106400008093651090936610F2E0FF1560F084EDC4
+:1064100090E064EC70E04FEA50E02FE630E109EFE5
+:106420001FE40E94FD7F00E010E00E94C91A0E9454
+:1064300051830F5F1F4F0A3F1105B9F7D0920A0928
+:10644000C09209098FEB9EE168E474E00E94D7AF27
+:106450000E94C2A8AB01BC018091631090916410AE
+:10646000A0916510B0916610481B590B6A0B7B0B0D
+:106470008FEB9EE12AE030E00E94F3AE8F2DC355F2
+:10648000DF4F0FB6F894DEBF0FBECDBFCF91DF91C7
+:106490001F910F91FF90EF90DF90CF90BF90AF9042
+:1064A0009F908F907F906F905F904F903F90089556
+:1064B0002F923F924F925F927F928F929F92AF92D4
+:1064C000BF92CF92DF92EF92FF920F931F93DF93D1
+:1064D000CF93CDB7DEB7C658D0400FB6F894DEBF25
+:1064E0000FBECDBF782E5A016B0118012901909182
+:1064F000EC15991F9927991F8091ED158370880FCE
+:10650000892B09F042C2272D30E080915A0990E092
+:1065100028233923232B09F438C2109256158DE90C
+:1065200094E066E575E14FEF50E020E030E00E9436
+:106530009F8B1092D51580915615882309F425C29A
+:106540002091090930910A09CB57DF4F39832883FD
+:10655000C558D04080E590E090930A0980930909DE
+:1065600037E5832E34E1932EC40164EF73E00E947B
+:106570003E0E34E0731609F4EFC0371548F081E0A1
+:10658000781609F480C092E0791609F0B6C1C5C04A
+:10659000E0E17E1609F48EC1F0E27F1629F028E0D2
+:1065A000721609F0AAC13AC1C4016BEE73E00E94F1
+:1065B000330EF40101900020E9F73197E755F441DB
+:1065C000E95AFB4E8A2DBF010E94FC4CC40166EDC6
+:1065D00073E00E94330EC201B1010E94BBB27B0185
+:1065E0008C01F40101900020E9F73197E755F4415F
+:1065F000CB016CE370E00E9444B4CB01E95AFB4E3E
+:10660000BF014AE050E00E940B0FC4016CEC73E044
+:106610000E94330EF40101900020E9F73197E7550D
+:10662000F441C7016CE370E00E9444B4E95AFB4EA8
+:10663000BF014AE050E00E940B0FC40162EC73E01E
+:106640000E94330E80915B09813009F056C1C4016C
+:1066500065EB73E00E94330EF40101900020E9F72E
+:106660003197E755F4416091261A7091271A80916D
+:10667000281A9091291AE95AFB4E45E022E08F0131
+:106680000E94ED0B3AC1EF2821F0C40161EA73E0EA
+:1066900003C0C40168E873E00E94330E87E594E10B
+:1066A0006FE773E00E94330E8A2DBE016B5F7F4F50
+:1066B0000E9419588091351890E0A0E0B0E0A8162B
+:1066C000B906CA06DB0638F487E594E1BE016F58C7
+:1066D0007F4F0E94670E07E514E1C80168E773E089
+:1066E0000E94330EF80101900020E9F77F01089421
+:1066F000E108F108E01AF10AC201B1010E94BBB23F
+:10670000DC01CB01E00EF11EB7014AE050E00E942F
+:106710000B0FC80169E673E01CC0F2E0AF16B104CC
+:10672000C104D10419F060E573E002C06DE573E0C7
+:1067300087E594E10E94330EC201B1010E94BBB211
+:10674000672B19F468E373E002C065E473E087E542
+:1067500094E10E94330ED1C0C4016BE273E00E9449
+:10676000330EF40101900020E9F73197E755F44129
+:10677000E95AFB4EC501BF014AE050E00E940B0FF1
+:10678000C40160E273E00E94330E6091530970E02F
+:1067900080E090E0982F872F762F6627209152096E
+:1067A000620F711D811D911DA60195010E9405B406
+:1067B0006B017C01F40101900020E9F78F01015089
+:1067C00010400755144124E630E040E050E00E94BC
+:1067D00057B4DA01C901095A1B4EB8014AE050E02A
+:1067E0000E940B0FC40166E873E00E94670EF4017B
+:1067F00001900020E9F78F01015010400755144126
+:10680000C701B60124E630E040E050E00E9457B4F2
+:10681000DC01CB01095A1B4EB8016BC0A114B104B5
+:10682000C104D104D1F0C4016AE073E00E94330EC8
+:106830008D2D9927AA27BB278983C601AA27BB27A5
+:106840008A83BB27AD2D9C2D8B2D8B83AC82C401FD
+:10685000BE016F5F7F4F0E94E828C201B10120E0B6
+:1068600030E040E050E00E949EB388230CF445C025
+:1068700007E514E1C80164EF72E00E94330EF801ED
+:1068800001900020E9F77F010894E108F108E01A7F
+:10689000F10AC201B1010E94BBB2DC01CB01E00EE2
+:1068A000F11EB7014AE050E00E940B0FC80161EFF2
+:1068B00072E04FCFC4016BED72E00E94330EC40151
+:1068C00060E77AE00E94E828C40167E574E00E946E
+:1068D000670EF40101900020E9F73197E755F44184
+:1068E000E95AFB4ECB57DF4F88819981C558D0407C
+:1068F000BF014AE050E00E940B0F87E594E168ED8C
+:1069000072E00E94330E8FEB9EE169E574E00E9415
+:10691000D7AF8FEB9EE167E574E10E948BB0809169
+:10692000D1099091D20961E00E944017882361F457
+:1069300086E38093880A8CEA8093890A84EF8093A7
+:106940008A0A84E780938B0A8BEB92E06BEA72E011
+:1069500046E555E127E534E109EF1FE40E9439805F
+:1069600000E010E00E94C91A0E9451830F5F1F4F80
+:1069700004361105B9F7CB57DF4F28813981C55847
+:10698000D04030930A0920930909CA57DF4F0FB648
+:10699000F894DEBF0FBECDBFCF91DF911F910F9155
+:1069A000FF90EF90DF90CF90BF90AF909F908F902F
+:1069B0007F905F904F903F902F9008952F923F923D
+:1069C0004F925F926F927F928F929F92AF92BF92FF
+:1069D000CF92DF92EF92FF920F931F93DF93CF93AB
+:1069E00000D000D0CDB7DEB72B013C014B015C01DC
+:1069F0000894811C911CA11CB11C80913A090E9431
+:106A00005F8B2091EF193091F0194091F11950915D
+:106A1000F219421653066406750618F075016401F2
+:106A200009C06C01EE24D7FCE094FE2CC20ED31EEC
+:106A3000E41EF51E0091540957E3252E58E1352E2A
+:106A40009C01442737FD4095542F29833A834B837B
+:106A50005C834FC0F10180819181A281B381009755
+:106A6000A105B10509F041C084819581892BE9F127
+:106A70001681812F86958695869590E08C55924F4C
+:106A80000E94B94590E0177002C0959587951A95B8
+:106A9000E2F780FF3DC00023D9F5F101C082D18229
+:106AA000E282F38284819581A0E0B0E029813A817D
+:106AB0004B815C81820F931FA41FB51FC80ED91E86
+:106AC000EA1EFB1E8091EB1585FD0FC0806280934E
+:106AD000EB1580915B09813041F440920916509288
+:106AE0000A1660920B1670920C1648E050E0240EC5
+:106AF000351E8091361890E043E0880F991F4A9523
+:106B0000E1F7895C974E2816390608F4A3CF0BC02D
+:106B1000F10180829182A282B3820894811C911C2F
+:106B2000A11CB11CCFCF0F900F900F900F90CF9161
+:106B3000DF911F910F91FF90EF90DF90CF90BF906A
+:106B4000AF909F908F907F906F905F904F903F900D
+:106B50002F9008950E948C510E9403520E94625906
+:106B600008955F926F927F928F929F92AF92BF92A1
+:106B7000CF92DF92EF92FF920F931F93DF93CF9309
+:106B8000CDB7DEB7C058D0400FB6F894DEBF0FBE09
+:106B9000CDBFA82E862E0E94AA358A2D81508E3F09
+:106BA00030F5BE016F5F7F4F0E941958882029F48D
+:106BB00000E010E028EC32E40BC06091400970E086
+:106BC000882777FD8095982F0E94EEB28B019C015B
+:106BD0004A2D50E041505040662757FD6095762F72
+:106BE00081E0BEE6EB2EB4E0FB2E0E9458329924E1
+:106BF000BB24AEEF5A2E3E010894611C711C7BC071
+:106C0000CB2CDD24A6014F5F5F4F2091ED1522951F
+:106C10002F703091EE15832F8295807F822B90E02C
+:106C20008417950709F466C032953F708091EF157F
+:106C30008295807F832B90E08417950709F45AC0D2
+:106C40008FEFA81631F4F2E0EF2EF12C012D112D6B
+:106C500014C0AA2031F4ECE3EE2EF12C012D112DFD
+:106C60000CC0F6013696EE0FFF1FE60DF71D808172
+:106C700091810E941D8B7B018C01882099F02091CD
+:106C8000400930E040E050E0C801B7010E9405B47F
+:106C900024E630E040E050E00E9457B4C901DA0138
+:106CA0007C018D01E114F1040105110519F163E086
+:106CB000D694C7946A95E1F7C6018256924F0E9416
+:106CC000B94590E02B2D277002C0959587952A95A0
+:106CD000E2F780FD0FC00E94F055FC01009751F0D3
+:106CE0001082118212821382F582E482B682578268
+:106CF00099249394B3948091F715B81608F480CF33
+:106D0000992021F00E949D520E94DE34C058DF4F2E
+:106D10000FB6F894DEBF0FBECDBFCF91DF911F91AC
+:106D20000F91FF90EF90DF90CF90BF90AF909F902A
+:106D30008F907F906F905F900895BF92CF92DF9277
+:106D4000EF92FF920F931F93CF93DF93C82E7A0198
+:106D50008B0160E00E945051CC2DD0E0FE01E9543F
+:106D6000F64EB08080913618B81608F066C0EB2D4C
+:106D7000F0E083E0EE0FFF1F8A95E1F7E95CF74E44
+:106D800040815181628173814E155F0560077107F3
+:106D900008F04CC0DE0111962091ED1522952F7060
+:106DA0003091EE15832F8295807F822B90E08A1799
+:106DB0009B07E1F132953F708091EF158295807FBE
+:106DC000832B90E08A179B0789F1C092E71987818E
+:106DD0008093E819C701841B950B9093EA1980935F
+:106DE000E919E092EB19F092EC190093ED19109368
+:106DF000EE1980E0B801A70100E010E020E030E0EB
+:106E00000E943922DD24EE24FF246091E91970915B
+:106E1000EA1980E090E00E94ECB28B019C0180E2D4
+:106E2000B701A601EE24FF240E9458328B2D0E9448
+:106E3000D658C954D64E8FEF8883DF91CF911F91DA
+:106E40000F91FF90EF90DF90CF90BF9008952F9219
+:106E50003F924F925F926F927F928F929F92AF92EA
+:106E6000BF92CF92DF92EF92FF920F931F93DF9327
+:106E7000CF93CDB7DEB72A970FB6F894DEBF0FBE1B
+:106E8000CDBF4B015C018091EB15282F21702C8325
+:106E900081FD09C082FD02C0772407C0772480915C
+:106EA0003E09823011F4772473948091EB1583FDB1
+:106EB0000AC08091F01583FD06C08091610981119F
+:106EC00081E08A8301C01A828091EB1584FD0AC09B
+:106ED0008091F01584FD06C080916309811181E0E5
+:106EE000898301C0198280916A09882311F466247C
+:106EF00005C080915B09811181E0682ECC24F7C028
+:106F00000C2D10E0C8018E56924F0E94B945D82E24
+:106F1000C8018055924F0E94B945E82EC8018A5495
+:106F2000924F0E94B945F82EC8018E53924F0E948D
+:106F3000B9453C2D330F330F330F3B831A86198627
+:106F4000ED2DF0E0FE83ED832F2D30E038872F8389
+:106F50002E2C3324482E5524FB803985F30EEF2D3B
+:106F6000F0E0AF014F5F5F4F2091ED1522952F703C
+:106F70003091EE15832F8295807F822B90E08417CD
+:106F8000950709F4ABC032953F708091EF1582955B
+:106F9000807F832B90E08417950709F49FC0E95404
+:106FA000F64EE081EF3F09F499C0F0E093E0EE0F78
+:106FB000FF1F9A95E1F7E95CF74E8781833608F069
+:106FC0008DC08C81882389F1662049F0C201098433
+:106FD00002C0959587950A94E2F780FD26C09A81B4
+:106FE000992349F0C101098402C0959587950A94B7
+:106FF000E2F780FD1AC0E981EE2351F08F81988578
+:10700000098402C0959587950A94E2F780FD0DC02A
+:10701000772009F463C08D819E81098402C0959513
+:1070200087950A94E2F780FD59C08F2DB501A40120
+:107030000E949D36662091F0C201098402C0959598
+:1070400087950A94E2F780FF09C00F2D10E020E039
+:1070500030E086E3B501A4010E943922FA81FF23C2
+:1070600091F0C101098402C0959587950A94E2F7D1
+:1070700080FF09C00F2D10E020E030E084E3B5016F
+:10708000A4010E9439222981222399F08F819885B9
+:10709000098402C0959587950A94E2F780FF09C09C
+:1070A0000F2D10E020E030E085E3B501A4010E943F
+:1070B0003922772099F08D819E81098402C09595AF
+:1070C00087950A94E2F780FD09C00F2D10E020E0BB
+:1070D00030E087E3B501A4010E94392289859A85B1
+:1070E00001969A878987089709F036CFC3948091D3
+:1070F000F615C81608F404CF2A960FB6F894DEBF2A
+:107100000FBECDBFCF91DF911F910F91FF90EF90F8
+:10711000DF90CF90BF90AF909F908F907F906F90B7
+:107120005F904F903F902F9008959091EC15991F8C
+:107130009927991F8091ED158370880F892B09F08D
+:107140004BC080915409882309F046C00E949D528B
+:107150002091161630911716409118165091191655
+:107160002115310541055105B9F02F553E4A4E4FC5
+:107170005F4F261737074807590770F41092161605
+:107180001092171610921816109219168091EC157D
+:1071900081608093EC15089520911216309113169A
+:1071A00040911416509115162115310541055105D0
+:1071B00049F02F5E314F4F4F5F4F26173707480773
+:1071C000590750F460931216709313168093141697
+:1071D000909315160E947B8C08952F923F924F92A8
+:1071E0005F926F927F928F929F92AF92BF92CF9257
+:1071F000DF92EF92FF920F931F93DF93CF93CDB760
+:10720000DEB7A6970FB6F894DEBF0FBECDBF7B01E9
+:107210008C010E949D5220E831E541E050E00E943F
+:1072200057B459016A01D601C5018E199F09A00BF7
+:10723000B10B8BA39CA3ADA3BEA31C01442437FCBC
+:107240004094542C66247724430125E0E22EF12C4F
+:10725000EC0EFD1EA0C06BE176E14AE050E00E941A
+:107260000B0F8FEB9EE16BE176E10E948BB08BE11F
+:1072700096E10E94DA218FEB9EE16FE674E00E94B6
+:10728000D7AF8FEB9EE16BE176E10E948BB088E097
+:1072900090E16BE176E10E94239F882309F471C09D
+:1072A0001D821F821C821B82A4E0BAE0BA83A983DC
+:1072B000C7016BE176E141E00E94719D8F89988D55
+:1072C000A98DBA8D8F8F98A3A9A3BAA3C7016BE12B
+:1072D00076E14FEF50E020E030E00E948E988C0184
+:1072E0008FEB9EE16BE176E10E94D7AF8FEB9EE1E1
+:1072F0006DE774E00E94D7AF8091571090915810BD
+:10730000A0915910B0915A100196A11DB11D809302
+:10731000571090935810A0935910B0935A1010160C
+:107320001106A4F2C7010E9475958FEB9EE16FE7ED
+:1073300074E00E94D7AF409157105091581060915F
+:10734000591070915A108FEB9EE12AE030E00E94B4
+:10735000E4AE8FEB9EE16BE974E00E94D7AF8FEB58
+:107360009EE14F8D58A169A17AA12AE030E00E94E8
+:10737000F3AE1092571010925810109259101092AC
+:107380005A100894211C311C411C511C0894611C8A
+:10739000711C811C911C8BA19CA1860D971DA214B0
+:1073A000B304C404D50408F056CFA6960FB6F894DB
+:1073B000DEBF0FBECDBFCF91DF911F910F91FF9028
+:1073C000EF90DF90CF90BF90AF909F908F907F9085
+:1073D0006F905F904F903F902F900895CF93DF93E1
+:1073E00084B7877F84BF8FEB9EE140E855E260E081
+:1073F00070E00E9413AC8FEB9EE16FE974E00E9495
+:107400008BB00E9456530E940C4D0E94A86580913B
+:107410005B09882339F081E064EF7CE542E050E0CD
+:107420000E94B5A70E9475596CE370E080E090E07F
+:107430000E94E08987EB99E10E94898A0E949D520F
+:107440000E94D7528091600088618093600081E241
+:1074500080936000809160008064809360000E944F
+:107460005555882359F09091ED158091EC158F7743
+:107470008093EC15987F9093ED1505C08091ED15E4
+:1074800084608093ED158091EC15877F84608093F4
+:10749000EC15C0E0D0E068EC70E080E090E00E9485
+:1074A000D0A80E9419218091EC1588608093EC157A
+:1074B0008FEB9EE16DEA74E00E94D7AF6091ED150D
+:1074C0006695669561708FEB9EE14AE050E00E9400
+:1074D00035AF8FEB9EE16BE974E00E94D7AF8091EE
+:1074E000EC15881F8827881F6091ED156370660F63
+:1074F000682B8FEB9EE14AE050E00E9435AF8FEBA6
+:107500009EE16BE974E00E94D7AF6091ED1566953E
+:107510006695669561708FEB9EE14AE050E00E94AF
+:1075200047AF8091ED1583FF05C02196CC30D10582
+:1075300009F0B1CF9091ED1593FF08C08091EC1543
+:1075400080688093EC1593609093ED150E94035230
+:107550008FE0809311160E94C15280934A1060E020
+:1075600070E080E090E00E94ED38DF91CF910895C7
+:10757000FF920F931F93DF93CF93CDB7DEB7C05821
+:10758000D0400FB6F894DEBF0FBECDBF809111166C
+:10759000882321F40E94EE4510926E1082E00E9432
+:1075A0006D46F82E082F10E086FF25C18FE08093EE
+:1075B000111681E00E94EE4580916E10833020F418
+:1075C000813008F0D4C004C0833009F014C1C2C0B7
+:1075D000C8018F7090708230910509F45BC08430CF
+:1075E000910509F495C0019709F005C1F7FE31C076
+:1075F0008DE10E94CEAA892B29F48FEF60E00E94D2
+:10760000B135F9C08EE10E94CEAA892B69F0809134
+:10761000361890E033E0880F991F3A95E1F7895CBE
+:10762000974EE7E3F8E111C08CE79AE060E00E9432
+:10763000BB4A8BE197E160E041E00E94EF1E82E8E7
+:1076400094E022C0158214823896E817F907D0F327
+:10765000D2C080E79AE060E00E94BB4A8BE197E1EC
+:1076600060E041E00E94EF1E80E894E00E949947AC
+:107670006091090970910A098BE197E14AE050E0B5
+:107680000E9407AF88E794E00E94994781E08093C9
+:107690006E10B1C0F7FE32C08FE10E94CEAA892BD6
+:1076A00071F487EE95E161E00E94BB4A8BE197E1BE
+:1076B00060E041E00E94EF1E82E794E0E5CF8DE1BB
+:1076C0000E94CEAA892BB9F48BE197E10E94301F6A
+:1076D00060911616709117168091181690911916D0
+:1076E0000E94D7528BE197E160E041E00E94EF1EDB
+:1076F0008BE694E0C9CF0E9428457DC08BE197E1DD
+:107700000E94301F8AE69AE00E94A94782E0BFCF1C
+:10771000F7FE0CC08CE594E060E00E94EB478BE440
+:1077200094E061E00E94EB4783E0B1CF2091EC153B
+:10773000822F8295877090E06091F615019670E037
+:107740000E9444B487708295807F2F78282B2093E5
+:10775000EC1551C00F7010700430110509F04BC0CA
+:10776000F7FE08C08091DE1560E00E94B1351092EE
+:107770006E1041C08091DE1590E06091351870E088
+:107780006F5F7F4F01960E9444B48093DE158AE3B9
+:1077900094E060E00E94EB478091DE15882331F190
+:1077A0008150BE016F5F7F4F0E94195888E394E0BB
+:1077B00061E00E94EB478BE197E160E041E00E94CD
+:1077C000EF1E6091DE158BE197E170E04AE050E03A
+:1077D0000E94A5AF85E394E00E9499478BE197E171
+:1077E000BE0163597F4F0E94D7AF05C085E294E088
+:1077F00061E00E94EB47C058DF4F0FB6F894DEBF40
+:107800000FBECDBFCF91DF911F910F91FF900895D3
+:107810002F923F924F925F926F927F928F929F92A0
+:10782000AF92BF92CF92DF92EF92FF920F931F938E
+:10783000DF93CF93CDB7DEB7CA58D0400FB6F894D8
+:10784000DEBF0FBECDBF90913B09292F2295207F2F
+:107850008091ED158F70822B8093ED1520914E094C
+:10786000822F8295807F92959F70982B9093EE1532
+:1078700022952F708091EF15807F822B8093EF15DA
+:107880000E949D524B015C010E94C2A8209167108A
+:10789000309168104091691050916A1028533F4F01
+:1078A0004F4F5F4F2617370748075907E0F48FEB14
+:1078B0009EE166EE74E00E94D7AF0E94C2A8AB01C1
+:1078C000BC018091671090916810A0916910B091EF
+:1078D0006A10481B590B6A0B7B0B8FEB9EE12AE069
+:1078E00030E00E94F3AE0E94C2A8609367107093CC
+:1078F00068108093691090936A100E94C91A0E94C0
+:107900005183009721F08057954F0E941575A895D7
+:1079100010926D100E94B83A0E94C2A82091671080
+:10792000309168104091691050916A102C5E3F4F61
+:107930004F4F5F4F2617370748075907E0F48FEB83
+:107940009EE166EF74E00E94D7AF0E94C2A8AB012F
+:10795000BC018091671090916810A0916910B0915E
+:107960006A10481B590B6A0B7B0B8FEB9EE12AE0D8
+:1079700030E00E94F3AE0E94C2A86093671070933B
+:1079800068108093691090936A108091DA15909135
+:10799000DB15A091DC15B091DD1588159905AA05B8
+:1079A000BB0511F40C94F9448092DA159092DB1522
+:1079B000A092DC15B092DD1580911116882319F084
+:1079C00081508093111681149104A104B10409F42B
+:1079D0004EC0C501B40128E730E040E050E00E940D
+:1079E00057B4611571058105910509F040C080917A
+:1079F000EC1588608093EC150E9419218FEB9EE1B5
+:107A00006DEA74E00E94D7AF6091ED1566956695BA
+:107A100061708FEB9EE14AE050E00E9435AF8FEB42
+:107A20009EE16BE974E00E94D7AF8091EC15881F4E
+:107A30008827881F6091ED156370660F682B8FEBA8
+:107A40009EE14AE050E00E9435AF8FEB9EE16BE98A
+:107A500074E00E94D7AF6091ED15669566956695C6
+:107A600061708FEB9EE14AE050E00E9447AFC50194
+:107A7000B40123E831E541E050E00E9457B46115BC
+:107A800071058105910529F48091EC15846080933E
+:107A9000EC150E94BE2081149104A104B10431F1BF
+:107AA0008091501090915110A0915210B0915310AC
+:107AB000A5019401281B390B4A0B5B0B8091190916
+:107AC00090911A09A0911B09B0911C092817390738
+:107AD0004A075B0758F081E0809354108092501061
+:107AE00090925110A0925210B09253108091541065
+:107AF000882309F42EC180911D0990911E09A0913F
+:107B00001F09B091200920915010309151104091DF
+:107B1000521050915310820F931FA41FB51F881548
+:107B20009905AA05BB0539F483E040E050E060E028
+:107B300070E00E94B32980911D0990911E09A091C7
+:107B40001F09B0912009880F991FAA1FBB1F209100
+:107B50005010309151104091521050915310820F9B
+:107B6000931FA41FB51F88159905AA05BB0539F4F5
+:107B700081E040E050E060E070E00E94B329809135
+:107B80001D0990911E09A0911F09B09120099C0127
+:107B9000AD01220F331F441F551F280F391F4A1FE5
+:107BA0005B1F8091501090915110A0915210B09194
+:107BB0005310280F391F4A1F5B1F281539054A0526
+:107BC0005B0539F480E040E050E060E070E00E9446
+:107BD000B32980911D0990911E09A0911F09B091B0
+:107BE000200972E0880F991FAA1FBB1F7A95D1F751
+:107BF00020915010309151104091521050915310DB
+:107C0000820F931FA41FB51F88159905AA05BB05F0
+:107C100039F482E040E050E060E070E00E94B32977
+:107C200080911D0990911E09A0911F09B091200912
+:107C30009C01AD0162E0220F331F441F551F6A955E
+:107C4000D1F7280F391F4A1F5B1F80915010909168
+:107C50005110A0915210B0915310280F391F4A1F94
+:107C60005B1F281539054A055B0509F072C0809134
+:107C70006909882301F1809155108823E1F40E945D
+:107C80009D5220E831E541E050E00E9457B4C9011F
+:107C900030935C1020935B1020916909821B91093D
+:107CA00090935E1080935D1081E080935510109248
+:107CB00069090E94F54A80915510882351F485E0A6
+:107CC00040E050E060E070E00E94B32980935610DD
+:107CD0003EC040915D1050915E1060E070E085E024
+:107CE0000E94B329809356108250823090F4809184
+:107CF0005D1090915E10019690935E1080935D10E0
+:107D000020915B1030915C108217930711F4109250
+:107D100055108FEB9EE168E075E00E94D7AF8FEBC6
+:107D20009EE1609156104AE050E00E9435AF8FEB23
+:107D30009EE166E275E00E94D7AF60915D107091A0
+:107D40005E108FEB9EE14AE050E00E9418AF109267
+:107D500054108091EB1581FF10C08091E315909134
+:107D6000E415A091E515B091E61588169906AA06C6
+:107D7000BB0690F00E947E4C0FC08091E31590915D
+:107D8000E415A091E515B091E61588169906AA06A6
+:107D9000BB0610F40E948E4C9091EB159695917055
+:107DA0008091F01586958170891709F445C0992353
+:107DB000D9F080920D1690920E16A0920F16B092E6
+:107DC000101686E0B501A40100E010E020E030E0EC
+:107DD0000E94392282E042E050E060E070E000E082
+:107DE00010E020E83FE31BC082E0B501A40100E001
+:107DF00010E020E030E00E94392286E0B501A401C5
+:107E000000E010E020E030E00E94392282E042E011
+:107E100050E060E070E000E010E020E030E0EE24B0
+:107E2000FF240E9458329091EB1592708091F015CA
+:107E30008D7F892B8093F015C501B4010E94B64651
+:107E4000882351F00E94AA3580913518882321F0AB
+:107E500081E060E00E94B135C501B4012CE330E05F
+:107E600040E050E00E9457B479018A018091D61514
+:107E70009091D715A091D815B091D915E816F906AB
+:107E80000A071B0709F410C1E092D615F092D71526
+:107E90000093D8151093D91510914A100E94C15221
+:107EA000181709F180914B10882379F481E08093B1
+:107EB000690910925F101092601010926110109278
+:107EC00062101092251A80934B108091EB1585FD5E
+:107ED0000AC0C501B4010E94235C0E94C152809374
+:107EE0004A1010924B10772455241E010894211C2F
+:107EF000311CCFC0872DB1010E941958C101B501B5
+:107F0000A4010E946D57882309F4C2C08A8180FFB2
+:107F10000AC08091EB1583FD06C0072D10E020E01C
+:107F200030E082E30CC08A8181FF8CC08091EB1528
+:107F300084FD88C0072D10E020E030E083E3B50128
+:107F4000A4010E943922A4C0462D50E0BA016F5FFF
+:107F50007F4F2091ED1522952F703091EE15832FD4
+:107F60008295807F822B90E08617970709F468C07E
+:107F700032953F708091EF158295807F832B90E042
+:107F80008617970709F45CC08A010A5F1F4F000F2C
+:107F9000111F020D131DD8018D919C91892B09F49D
+:107FA0004FC093E0569547959A95E1F7CA018256DE
+:107FB000924F0E94B94590E0262D277002C09595FA
+:107FC00087952A95E2F780FD3BC0F8018081918179
+:107FD0000E941D8B6B017C01898181FF1DC0109166
+:107FE0004009212F30E040E050E0C701B6010E9477
+:107FF00005B424E630E040E050E00E9457B4C901E7
+:10800000DA016C017D01143138F4FAE0CF16D104A5
+:10801000E104F104A8F005C0C114D104E104F104A5
+:1080200079F00E94F055FC01009751F01082118206
+:1080300012821382D582C482668247825524539469
+:10804000639403C06624472C43948091F715681607
+:1080500008F47ACF5520E1F0898181FD05C000E068
+:1080600010E028EC32E40BC06091400970E08827F2
+:1080700077FD8095982F0E94EEB28B019C01472DD1
+:1080800050E060E070E081E0EE24FF240E9458326E
+:10809000739480913518781608F42CCF552021F070
+:1080A000C501B4010E94DE348091EB1585FFA0C1AB
+:1080B000FF2407E318E129C0D80116968C91169782
+:1080C000682F70E0FB01E954F64EE081EF3FB1F01C
+:1080D000F0E083E0EE0FFF1F8A95E1F7E95CF74ED1
+:1080E00020813181428153818D919D910D90BC9170
+:1080F000A02D281739074A075B0720F06954764EF0
+:10810000FB01F082085F1F4FF3948091361890E0D6
+:1081100073E0880F991F7A95E1F7895C974E0817ED
+:10812000190750F2CC2491C08C2D90E0FC01E8504E
+:10813000FA4E20815C2C550C550C550CEE24FF2476
+:10814000622E7724D52CDE0CED2DF0E0AF014F5FD1
+:108150005F4F2091ED1522952F703091EE15832FF2
+:108160008295807F822B90E08417950709F464C084
+:1081700032953F708091EF158295807F832B90E040
+:108180008417950709F458C0E954F64E80818F3F53
+:1081900009F452C0082F10E063E0000F111F6A9528
+:1081A000E1F7095C174ED8012D913D914D915C91FD
+:1081B00013972115310541055105B9F014968D919C
+:1081C0009C911597A0E0B0E0820F931FA41FB51FEC
+:1081D00088169906AA06BB0640F08D2DB501A401AC
+:1081E0000E949D368D2D0E94A25AC3010E2C02C002
+:1081F000959587950A94E2F780FD1EC0F8012081CD
+:1082000031814281538182169306A406B506A0F0FF
+:1082100084819581A0E0B0E0820F931FA41FB51F59
+:1082200088169906AA06BB0638F48D2D61E00E94D7
+:1082300050518D2D0E949C5A0894E11CF11CF8E0CD
+:10824000EF16F10409F07ECFC3948091F615C8169D
+:1082500008F46ACF80913618082F10E001501040C2
+:10826000780153E0EE0CFF1C5A95E1F787E398E1A3
+:108270001EC0D70114968D919C911597009781F09F
+:10828000A0E0B0E0F7012081318142815381820F6B
+:10829000931FA41FB51F88169906AA06BB0618F0DF
+:1082A000802F0E94D6580150104088EF9FEFE80EB3
+:1082B000F91E9FEF0F3F1907E1F6C501B4010E94B7
+:1082C00027370E9403521092EF191092F019109262
+:1082D000F1191092F2196090540947E3C42E48E155
+:1082E000D42E4BC0D60116967C90169714968D917D
+:1082F0009C9115977C0100E010E08D919D910D906F
+:10830000BC91A02DE80EF91E0A1F1B1F8E149F049E
+:10831000A006B10670F5872D86958695869590E026
+:108320008C55924F0E94B94590E0B7E07B2202C085
+:10833000959587957A94E2F780FF1BC06620C9F473
+:108340002091EF193091F0194091F1195091F219E3
+:10835000D801C701E216F3060407150710F4DA0185
+:10836000C9018093EF199093F019A093F119B0937C
+:10837000F219E8E0F0E0CE0EDF1E20913618822FD1
+:1083800090E033E0880F991F3A95E1F7895C974EAA
+:10839000C816D90608F4A6CF222351F50E948C51A5
+:1083A0000E9403520E94A85A0E9462598091EB15C4
+:1083B0008F7D8093EB1590913B09292F2295207F8B
+:1083C0008091ED158F70822B8093ED1520914E09D1
+:1083D000822F8295807F92959F70982B9093EE15B7
+:1083E00022952F708091EF15807F822B8093EF155F
+:1083F0009091ED1592959F708091EE158295807FFA
+:10840000892B09F4A6C080913C090E945F8B7C01F6
+:1084100080913D090E945F8B8C018CE89DE06BE1AF
+:1084200076E10E94F24CF091F715CE57DF4FF883BA
+:10843000C258D0408091ED1582958F70C090EE1596
+:10844000C29490EFC922C82A2C2C3324DD2461E089
+:1084500070E0C701AA2797FDA095BA2FC957DF4F33
+:1084600088839983AA83BB83C758D0402801662498
+:1084700057FC6094762C60C02D2D30E02616370610
+:1084800009F457C0D90113E0B695A7951A95E1F7FD
+:108490004D2D4770FD01E850FA4E808190E0042E8A
+:1084A00002C0959587950A94E2F780FF42C0A55EC9
+:1084B000B94E8C91992787FD909502C09595879527
+:1084C0004A95E2F780FF35C02954364ED9018C9188
+:1084D000E82FF0E0A3E0EE0FFF1FAA95E1F7E95CBB
+:1084E000F74E2081318142815381C957DF4F888106
+:1084F0009981AA81BB81C758D040820F931FA41FC6
+:10850000B51F88169906AA06BB0698F08481958146
+:10851000A0E0B0E0820F931FA41FB51F840D951D2E
+:10852000A61DB71D88159905AA05BB0510F061E0C9
+:108530000CC0D3946F5F7F4FCE57DF4FB881C258C6
+:10854000D040DB1608F498CF60E08C2D81500E945B
+:1085500050519091EE1592959F708091EF158295F4
+:10856000807F892B09F4A6C080914F090E945F8B00
+:108570007C01809150090E945F8B8C0188E99DE00D
+:108580006BE176E10E94F24CE091F715CF57DF4F97
+:10859000E883C158D0408091EE1582958F70C090CD
+:1085A000EF15C294F0EFCF22C82A2C2C3324DD24FF
+:1085B00061E070E0C701AA2797FDA095BA2FCD57BB
+:1085C000DF4F88839983AA83BB83C358D040280197
+:1085D000662457FC6094762C60C02D2D30E0261662
+:1085E000370609F457C0D901E3E0B695A795EA9597
+:1085F000E1F74D2D4770FD01E850FA4E808190E083
+:10860000042E02C0959587950A94E2F780FF42C038
+:10861000A55EB94E8C91992787FD909502C09595DE
+:1086200087954A95E2F780FF35C02954364ED90127
+:108630008C91E82FF0E053E0EE0FFF1F5A95E1F721
+:10864000E95CF74E2081318142815381CD57DF4F64
+:1086500088819981AA81BB81C358D040820F931F22
+:10866000A41FB51F88169906AA06BB0698F0848138
+:108670009581A0E0B0E0820F931FA41FB51F840D69
+:10868000951DA61DB71D88159905AA05BB0510F0F7
+:1086900061E00CC0D3946F5F7F4FCF57DF4FB8813D
+:1086A000C158D040DB1608F498CF60E08C2D815083
+:1086B0000E9450511092491010924810E8EFF5E1D5
+:1086C00020914810309149108191280F311D30932D
+:1086D00049102093481085E1EE3FF80789F7232BD6
+:1086E00039F486E00E947EA99093081680930716BD
+:1086F000C501B4010E949365C501B4010E942737EA
+:108700000E94035280916E10882389F4C501B40140
+:1087100023E030E040E050E00E9457B49B01AC0100
+:108720002D52364F81E0D9016C910E94A54980916C
+:108730000B09882351F5E0904C10F0904D100091FA
+:108740004E1010914F100E94C2A86E157F05800731
+:10875000910788F081E080930B090E94C2A86056BF
+:10876000704F8F4F9F4F60934C1070934D108093BC
+:108770004E1090934F1080916E10882309F0C4C062
+:108780000E949D520E94D752BFC08BE197E160E0EA
+:1087900041E00E94EF1E4091091A50910A1A60911F
+:1087A0000B1A70910C1A8BE197E12AE030E00E94DD
+:1087B000E4AE82E294E00E9499478BE197E160E0A9
+:1087C00040E00E94EF1E80915C09882369F181E1FD
+:1087D00094E00E9499478BE197E160E040E00E94BD
+:1087E000EF1E40912A1A50912B1A60912C1A709109
+:1087F0002D1A8BE197E122E030E00E9475B08BE109
+:1088000097E165E040E00E94EF1E4091261A5091EA
+:10881000271A6091281A7091291A8BE197E122E0BA
+:1088200030E00E9475B042C080E094E00E94994719
+:108830008BE197E160E040E00E94EF1E60912A1A10
+:1088400070912B1A80912C1A90912D1A2EEF33E4EF
+:1088500042E750E40E94A2B30E94BBB29B01AC016C
+:108860008BE197E1B9014AE050E00E94A5AF8BE1AE
+:1088700097E165E040E00E94EF1E6091261A70913A
+:10888000271A8091281A9091291A2EEF33E442E793
+:1088900050E40E94A2B30E94BBB29B01AC018BE1E9
+:1088A00097E1B9014AE050E00E94A5AF8BE197E162
+:1088B0006BE040E00E94EF1E0E94CF51BC018BE1B3
+:1088C00097E14AE050E00E9407AFE0904C10F09032
+:1088D0004D1000914E1010914F100E94C2A86E15BD
+:1088E0007F058007910780F010920B090E94C2A8B3
+:1088F0006053784F8F4F9F4F60934C1070934D1083
+:1089000080934E1090934F108091EC1580FF24C0FF
+:108910008091EB1585FD20C010E03E010894611C9C
+:10892000711C4CE3C42ED12CE12CF12CC80CD91CA9
+:10893000EA1CFB1C0CC0812FB3010E941958C30113
+:10894000B701A6010E946D57882331F41F5F809103
+:108950003518181780F34AC00E94953880911A166E
+:10896000882381F1282F30E0C9018C709070892B09
+:1089700039F122FD04C0CC24DD24760108C0C0906A
+:10898000E715D090E815E090E915F090EA1523FD81
+:1089900005C000E010E020E83FEB0BC0609140090B
+:1089A00070E0882777FD8095982F0E94EEB28B01AA
+:1089B0009C0188E0B701A601EE24FF240E945832F2
+:1089C00010921A1680912809882399F0109228098C
+:1089D00080E140E050E060E070E000E010E020E086
+:1089E00030E0EE24FF240E94583203C00E94284544
+:1089F000B3CFC657DF4F0FB6F894DEBF0FBECDBF63
+:108A0000CF91DF911F910F91FF90EF90DF90CF906A
+:108A1000BF90AF909F908F907F906F905F904F909E
+:108A20003F902F9008959C01F999FECF32BD21BD52
+:108A3000F89A80B508959C01F999FECF1FBA32BD0E
+:108A400021BD60BD0FB6F894FA9AF99A0FBE089549
+:108A5000E0913617F091371709950895EF92FF923C
+:108A60000F931F93FC0170E020E030E040E050E005
+:108A700038C0908179018A0184E0EE0CFF1C001F50
+:108A8000111F8A95D1F7892F80538A3030F4892FAE
+:108A9000992787FD9095C09719C0892F81548630FA
+:108AA00030F4892F992787FD9095C7970FC0892F9C
+:108AB0008156863028F020E030E040E050E013C0DE
+:108AC000892F992787FD9095875590409C014427D1
+:108AD00037FD4095542F2E0D3F1D401F511F7F5FC6
+:108AE0003196761730F2B901CA011F910F91FF90AC
+:108AF000EF900895EF92FF920F931F93CF93DF9320
+:108B0000EC018B017A0166E00E942E45611571052A
+:108B10008105910521F10115110529F0F801608306
+:108B2000718382839383CE01069666E00E942E4570
+:108B3000611571058105910591F0E114F10429F0A9
+:108B4000F7016083718382839383CE010C9664E086
+:108B50000E942E45611571058105910511F460E0B3
+:108B600070E0CB01DF91CF911F910F91FF90EF90BB
+:108B700008959C01F999FECF32BD21BDF89A80B5C8
+:108B80000895FC0120E438E088E02436380711F429
+:108B900040E009C0F999FECFC901019632BD21BD5F
+:108BA000F89A40B59C019081442331F0992349F013
+:108BB000491739F43196E8CF80E0992319F481E020
+:108BC000089580E0089510921E1710921D178BEBE8
+:108BD00099E090931C1780931B1708951F93182FEB
+:108BE00080912417813079F4112349F4809146094A
+:108BF000882329F48BE197E10E942E1E04C08BE1AB
+:108C000097E10E94261E80912417882391F48CE01E
+:108C100061E00E941EAA112319F08091450902C04B
+:108C2000809146096FEF70E0681B71098CE00E942B
+:108C3000A0A91F91089580912417882351F48DE0F5
+:108C400061E00E941EAA609144098DE070E00E94DC
+:108C5000A0A90895EF92FF920F931F93CF93DF93F4
+:108C6000E82E162F042FF22E662321F0623081F4B5
+:108C7000222371F08E2D0E94CEAA892B11F000E0E4
+:108C800024C0FF2011F480E001C080E8082B1DC043
+:108C9000C0E0D0E08E2D0E94CEAA892B81F4113045
+:108CA00031F0123061F483E0C83ED80744F461E04B
+:108CB00070E080E090E00E94D0A82196EBCFFF20EA
+:108CC00019F4C85ED3400CF00068802FDF91CF917B
+:108CD0001F910F91FF90EF9008950F931F93082F0E
+:108CE00010913817107861E070E080E090E00E9409
+:108CF000D0A88FE10E94CEAA892B21F48FE1602FAA
+:108D000041E013C08EE10E94CEAA892B21F48EE1AE
+:108D1000602F42E00AC08DE10E94CEAA892B11F09B
+:108D200040E007C08DE1602F44E0212F0E942A46D9
+:108D3000482F8091381790E08F709070242F30E08A
+:108D4000892B39F42F703070232B71F0842F8064BD
+:108D500006C02F703070232B39F4842F806240932B
+:108D600038171F910F910895842FF9CFEF92FF923A
+:108D70000F931F937B018C0180913E09803F79F511
+:108D800082E00E94CEAA2091301830913118409193
+:108D9000321850913318882371F42115310541059B
+:108DA0005105E9F4E0923018F0923118009332182E
+:108DB0001093331815C0211531054105510579F07F
+:108DC0002E153F054007510750F4109230181092AD
+:108DD0003118109232181092331881E001C080E0EF
+:108DE0001F910F91FF90EF90089580916109882362
+:108DF000A1F088E10E94CEAA40E02091620930E013
+:108E00008217930709F041E0440F440F440F80910B
+:108E1000EB15877F842B8093EB1580916309882362
+:108E200099F08AE10E94CEAA40E02091640930E0E6
+:108E30008217930709F041E04295407F8091EB153E
+:108E40008F7E842B8093EB15089580913E098230AC
+:108E500091F40E94CEAA40E020913F0930E08217B1
+:108E6000930709F041E0440F440F8091EB158B7F8D
+:108E7000842B8093EB1508951F93182F843690F060
+:108E800064E60E9424B4682F8BE197E170E04AE029
+:108E900050E00E94A5AF8BE197E16CE475E00E9481
+:108EA000D7AF02C08A30A0F0812F6AE00E9424B4BC
+:108EB0000E9424B4692F8BE197E170E04AE050E012
+:108EC0000E94A5AF8BE197E16CE475E00E94D7AFFB
+:108ED000812F6AE00E9424B4692F8BE197E170E052
+:108EE0004AE050E00E94A5AF1F910895EF92FF92D3
+:108EF0000F931F938C019BE1E92E97E1F92EC80196
+:108F00006AE070E00E9444B4C7014AE050E00E9469
+:108F1000A5AFC8016AE070E00E9444B4BC01C7017B
+:108F20004AE050E00E94A5AF1F910F91FF90EF9093
+:108F30000895CF93DF93EC0104C08BE197E10E9489
+:108F400030AEFE01219664916623B9F7DF91CF918F
+:108F500008950F931F93CF93DF93182F092F8BE161
+:108F600097E160E040E00E94EF1E212F302FC90101
+:108F7000EC0110E005C08FE69BE00E949947219626
+:108F8000688170E024E0759567952A95E1F78BE19B
+:108F900097E140E150E00E94A5AF688170E06F70FA
+:108FA00070708BE197E140E150E00E94A5AF143072
+:108FB00031F48BE197E160E041E00E94EF1E1F5F1A
+:108FC0001630C9F688E69BE00E949947DF91CF9161
+:108FD0001F910F9108950F931F93CF93DF938C01EF
+:108FE000462F8BE197E160E00E94EF1EE80104C08C
+:108FF0008BE197E10E9430AE9E01201B822FFE0183
+:10900000219664916623A1F7992787FD9095C0E189
+:10901000D0E0C81BD90B05C089E99BE00E949947A5
+:109020002197D7FFF9CFDF91CF911F910F9108952D
+:10903000EF92FF920F931F93CF93DF937C01BC01BC
+:1090400054E0660F771F5A95E1F76059794F8BE12D
+:1090500096E140E150E00E94EC8A8BE197E160E00C
+:1090600040E00E94EF1E8BE197E16BE176E10E9408
+:10907000D7AF8EE49BE061E00E94EB478BE197E184
+:1090800060E041E00E94EF1E8BE1E816F10409F474
+:10909000ECC08CE1E816F1043CF58EE0E816F10432
+:1090A00009F444C08FE0E816F10474F481E0E81696
+:1090B000F10409F457C08CE0E816F10409F499C0F2
+:1090C000E114F104C9F1FFC081E1E816F10409F4EB
+:1090D0007FC081E1E816F1040CF4F5C0C7014397A5
+:1090E000029708F0F0C074C088E2E816F10484F436
+:1090F00086E2E816F1040CF06BC08CE1E816F1048E
+:1091000009F4B8C08EE1E816F10409F0DCC0BFC074
+:1091100082E4E816F104B9F083E4E816F104F1F012
+:1091200089E2E816F10409F0CEC06BC08BE197E14B
+:109130006EE475E00E94D7AFF701E75DF64F8081DE
+:109140000E943C47DCC08BE197E16EE475E00E9431
+:10915000D7AF8BE197E164E170E094C085E10E94B4
+:109160003C47D4C080912A09C82FD0E0E097D7FDB2
+:1091700005C08CE49BE00E94994707C08AE49BE00D
+:109180000E949947D095C195DF4FCE0164E070E011
+:109190000E9444B48BE197E14AE050E00E94A5AF01
+:1091A00088E49BE00E949947CE0164E070E00E9451
+:1091B00044B4BC0144E0660F771F4A95E1F7681B91
+:1091C000790B19F485E49BE07BC08BE197E15AC0F1
+:1091D000F701E75DF64F80810E945F8BEC0197FD00
+:1091E00004C083E49BE00E9499478BE197E1BE01B4
+:1091F00082C07091360960E080913509680F711D59
+:109200002DC01091530900E080915209080F111DE3
+:10921000C80164E670E00E9430B48BE197E14AE057
+:1092200050E00E9407AF81E49BE00E949947C8018B
+:109230006AE070E00E9430B4CB016AE070E00E9406
+:1092400030B4BC018BE197E14AE050E00E9407AFE7
+:10925000C8016AE070E00E9430B4BC018BE197E184
+:109260004AE050E00E9407AF51C00E941B46609147
+:10927000440905C081E00E94EE45609145098BE1FB
+:1092800097E170E04AE050E00E94A5AF3FC08091B6
+:10929000F5158C3A31F48BE197E16DE20E9430AE26
+:1092A00035C06091470970E0660F771F660F771F22
+:1092B0008BE197E14AE050E00E94A5AF8DE39BE08F
+:1092C0000E94994723C0F701EC5DF94FE491D70163
+:1092D000A75DB64FE13059F48C91882319F486E3E9
+:1092E0009BE002C089E39BE00E94994708C06C9113
+:1092F0008BE197E170E04AE050E00E94A5AF87E182
+:10930000E816F10419F484E39BE016C0C701439703
+:10931000029780F086E2E816F10461F087E2E81631
+:10932000F10441F085E4E816F10421F086E4E81642
+:10933000F10421F48FE29BE00E949947DF91CF91E5
+:109340001F910F91FF90EF900895FF920F931F933D
+:10935000482FF62E8BE197E160E00E94EF1E80918E
+:10936000EC158295877019F484E69BE011C082E6C3
+:109370009BE00E9499476091EC15629567708BE1C4
+:1093800097E170E04AE050E00E94A5AF80E69BE0E4
+:109390000E9499478091EB1580FD06C084E59BE013
+:1093A00061E00E94EB472DC0E091EC15E295E7707B
+:1093B000F0E0E850FA4E008110E09091EC1596959F
+:1093C00098739F5F910F80913B09981721F400FDDE
+:1093D0000EC06DE40DC080914E09981721F400FD78
+:1093E00006C06EE405C000FD02C06FE501C06F2D30
+:1093F0008BE197E10E9430AE1F5F183011F00695A7
+:10940000DCCF8FE49BE00E9499478BE197E16BE012
+:1094100041E00E94EF1E80915B09813029F48BE1CD
+:1094200097E166E00E94AB1E8BE197E16CE041E0C2
+:109430000E94EF1E80916309882331F08BE197E150
+:1094400060E575E00E94D7AF8BE197E16CE041E009
+:109450000E94EF1E8091EB1584FF09C08091630983
+:10946000882329F08BE197E167E00E94AB1E8BE136
+:1094700097E16CE041E00E94EF1E8091540988233F
+:1094800029F08BE197E165E00E94AB1E8BE197E14B
+:109490006DE041E00E94EF1E80916109882331F068
+:1094A0008BE197E162E575E00E94D7AF8BE197E130
+:1094B0006DE041E00E94EF1E8091EB1583FF09C033
+:1094C00080916109882329F08BE197E167E00E9490
+:1094D000AB1E8BE197E16EE041E00E94EF1E8091B0
+:1094E0003E09823031F48BE197E164E575E00E943A
+:1094F000D7AF8BE197E16EE041E00E94EF1E8091D3
+:109500003E09803F31F48BE197E166E575E00E940A
+:10951000D7AF8BE197E16EE041E00E94EF1E8091B2
+:10952000EB1581FD06C082FF09C080913E098230A3
+:1095300029F48BE197E163E00E94AB1E8BE197E198
+:109540006FE041E00E94EF1E60E02091EC15221FC9
+:109550002227221F8091ED158370880F822B90E0C7
+:1095600003970CF061E08BE197E10E94AB1E1F9125
+:109570000F91FF900895DF92EF92FF920F931F9348
+:10958000CF93DF937C01D62E8BE197E10E94301FB1
+:109590008BE197E160E040E00E94EF1E8701C0E0B0
+:1095A000D0E0DD2019F0F801638104C0F701EC0F71
+:1095B000FD1F60818BE197E170E04AE050E00E947E
+:1095C000A5AFC33021F081E79BE00E949947219627
+:1095D00001501040C430D10521F7DF91CF911F9188
+:1095E0000F91FF90EF90DF9008952BE430E0F901A8
+:1095F000E55EF94ED901A75DB64F8C91808321506D
+:1096000030408FEF2F3F380791F78EE59EE06BE1FA
+:1096100076E14CE450E02BE135E40E94EF0E8091BE
+:1096200038098F5F8093F61590E063E0880F991FEB
+:109630006A95E1F78093F7159091410991708091B7
+:10964000EB158E7F892B8093EB1508950F931F9355
+:10965000CF93DF93EC010AEA82E00E946D46482F27
+:1096600050E09A012F7030702230310509F43DC06E
+:109670002430310509F466C02130310509F008C1F4
+:10968000209709F408C1CE30D10509F404C1C832CD
+:10969000D10509F400C1CC30D10509F4FCC0CD30AE
+:1096A000D10509F4F8C0C932D10509F4F4C0CA32B1
+:1096B000D10509F4F0C0C234D10509F4ECC0C334BB
+:1096C000D10509F4E8C0C034D10509F4E4C0FE01B5
+:1096D000EC5DF94FE491DE01A75DB64F8C91E81780
+:1096E00009F4D9C08F5F8C93D6C0209709F4D0C0FD
+:1096F000CE30D10509F4CCC0C832D10509F4C8C0B8
+:10970000CC30D10509F4C4C0CD30D10509F4C0C0B6
+:10971000C932D10509F4BCC0CA32D10509F4B8C0B8
+:10972000C234D10509F4B4C0C334D10509F4B0C0C2
+:10973000FE01E75DF64F9081992309F4A9C091508D
+:109740009083A6C086FFA4C087FF0AC080917409D9
+:10975000882311F0009374090E94F54A11E09CC01F
+:10976000C330D10539F480912C09882321F1CCE054
+:10977000D0E073C0CC30D10519F4CEE0D0E06DC09C
+:10978000C832D10519F4CBE2D0E067C0C233D105AD
+:1097900039F480915B098130D1F4C9E2D0E05DC039
+:1097A000C932D10519F4C3E3D0E057C0209719F4AA
+:1097B000CFE3D0E052C0C334D10519F4C1E0D0E00A
+:1097C0004CC0CE33D10519F4C4E4D0E046C0C53155
+:1097D000D10539F480913E09823059F1C7E1D0E0DA
+:1097E0003CC0C833D10539F480916109882341F523
+:1097F000CAE3D0E032C0CA33D10539F4809163099D
+:109800008823F1F4CCE3D0E028C0C231D10539F48B
+:1098100080913B098823A1F4C5E1D0E01EC0C53288
+:10982000D10539F480914E09882351F4C8E2D0E083
+:1098300014C0C434D10521F480916D098823D9F175
+:10984000CE0101966CE470E00E9444B4EC018031DA
+:10985000910531F08934910519F0CA34D10511F41C
+:10986000219619C08091F5158C3A39F4CE31D10585
+:1098700021F410E0CFE1D0E00FC0809124178130B7
+:1098800051F4CB31D10539F410E0CDE1D0E004C082
+:10989000882309F4E1CE10E0CE010E94184811237C
+:1098A00009F4DACE8BE197E10E94DD1EDF91CF91C2
+:1098B0001F910F910895C8E4D0E0CFCF8091EB15B0
+:1098C0008E7F8093EB15109241090E94F54A08950E
+:1098D0008091EB1581608093EB1581E080934109C5
+:1098E0000E94F54A089584E398E06FED75E14CE03D
+:1098F00050E02BE135E40E94EF0E08958091EB15C6
+:109900008D7F8093EB151092E3151092E415109261
+:10991000E5151092E6150E94734C08958091EB15A1
+:1099200082608093EB150E94734C089546E050E0EE
+:109930002BE135E40E94EF0E0895FB01108E98E1B3
+:10994000899FC0011124845F964F48E150E02BE1CC
+:1099500035E40E94EF0E08958BE196E16EE57EE01E
+:109960004CE450E023E135E40E94D30E20E030E0E7
+:10997000F901E75DF64FD901A55EB94E8C91808360
+:109980002F5F3F4F2C34310599F7809138098F5F55
+:109990008093F61590E073E0880F991F7A95E1F7B0
+:1099A0008093F7159091410991708091EB158E7F0E
+:1099B000892B8093EB151092510908958FED95E155
+:1099C00064E378E04CE050E023E135E40E94D30EFC
+:1099D000A0EFB5E1EBEEF5E185E001900D9281504D
+:1099E000E1F708959C01CB01B90146E050E023E185
+:1099F00035E40E94D30E0895FB01108E98E1899FF3
+:109A0000B0011124645F764FCF0148E150E023E1BB
+:109A100035E40E94D30E0895EF92FF920F931F93A7
+:109A2000CF93DF936AEF70E080E090E00E94D0A8CF
+:109A3000F999FECF8EE59EE092BD81BDF89A80B582
+:109A4000893D59F4F999FECF89EA9EE092BD81BD26
+:109A5000F89A80B58A3A09F0E0C08DED9BE060E0AD
+:109A60000E94EB478EEC9BE061E00E94EB47EBE14C
+:109A7000F6E1119287E1EA31F807D9F7C0E0D0E0CA
+:109A800000E010E1A8014C1B5D0B4F3F510519F0A0
+:109A900014F04FEF50E0CE016BE176E12BE135E4BD
+:109AA0000E94EF0EC150DF4F80E1CF3ED80751F743
+:109AB0000E94734C80E498E068E575E041E250E074
+:109AC0002BE135E40E94EF0E84E698E069E775E04B
+:109AD00049E050E02BE135E40E94EF0E84E998E084
+:109AE00062E875E040E250E02BE135E40E94EF0EC1
+:109AF00084EC98E062EA75E04AE150E02BE135E45D
+:109B00000E94EF0E84EF98E06CEB75E041E050E0CE
+:109B10002BE135E40E94EF0E83E580931B16109233
+:109B20001E160CE019E0C1E0D0E0EBE1EE2EE6E11C
+:109B3000FE2ECE016AE070E00E9444B4605D609346
+:109B40001C16CE016AE070E00E9444B4805D8093F0
+:109B50001D16F70101900020E9F7EB51F641C8010D
+:109B60006BE176E1AF012BE135E40E94EF0E085E78
+:109B70001F4F21968DE00C381807D9F684E994E040
+:109B80000E946A8B10921B1680E380931C16109221
+:109B90001D16C0E0D0E084E994E06BE176E148EF87
+:109BA00050E09E0100E00E94118CC850DF4F8EE211
+:109BB000C038D80781F78FEF80931B1680931C164F
+:109BC00080931D1680931E1680931F168093201677
+:109BD0008CE89DE06BE176E146E050E02BE135E476
+:109BE0000E94EF0E84EA9DE06BE176E146E050E0F2
+:109BF0002BE135E40E94EF0E89E894E00E946A8B25
+:109C00000E94F54A64EF71E080E090E00E94D0A8E5
+:109C1000E0913617F091371709950E94AC4C0E94DD
+:109C2000DE4C80E00E946D46182F90E08F7090709F
+:109C30008130910519F00497A9F503C08BE490E0F9
+:109C400026C08EEB9BE060E00E94EB4760ED77E082
+:109C500080E090E00E94D0A80E941B4681E00E9414
+:109C6000EE458DEA9BE060E00E94EB478DE99BE0CA
+:109C700061E00E94EB4780E00E946D46182F86FF4E
+:109C8000FACF8BE197E10E94301F80E090E00E94C4
+:109C9000264B80917409882329F0E0913617F091C2
+:109CA0003717099581E00E94EE450E941B4611235B
+:109CB000C9F58BE99BE060E00E94EB478BE197E1FF
+:109CC00060E040E00E94EF1E8BE197E16DEB75E0F4
+:109CD0000E94D7AF8BE197E165E170E04AE050E088
+:109CE0000E94A5AF8BE197E162EC75E00E94D7AFCF
+:109CF0008BE197E164E170E04AE050E00E94A5AF9B
+:109D00008BE197E160E041E00E94EF1E8BE197E17B
+:109D100067EC75E00E94D7AF60EA7FE080E090E0FA
+:109D20000E94D0A8DF91CF911F910F91FF90EF90EB
+:109D300008956F927F928F929F92AF92BF92CF922F
+:109D4000DF92EF92FF920F931F93CF93DF93F62E44
+:109D5000A9E3B7E1FC0187EF01900D928150E1F793
+:109D600089E397E166ED75E00E94450E5C0180E0B5
+:109D700090E066ED75E00E94450E4C0180E090E0B9
+:109D800066ED75E00E94450E182F092F80E090E0E7
+:109D900066ED75E00E94450EFF2011F43C0102C003
+:109DA000612E702EC50161E00E944017882309F0E2
+:109DB00042C0C5016CE475E00E94450EEC0180E0F4
+:109DC00090E06CE475E00E94450E8C0180E090E02C
+:109DD0006CE475E00E94450E7C0180E090E06CE44C
+:109DE00075E00E94450E6C01209711F480E003C0DD
+:109DF000CE010E94E50D8093880A0115110511F42A
+:109E000080E003C0C8010E94E50D8093890AE11437
+:109E1000F10411F480E003C0C7010E94E50D8093B6
+:109E20008A0AC114D10411F480E003C0C6010E9463
+:109E3000E50D80938B0A0091090910910A09C4016C
+:109E40000E94E50D90930A09809309098AEE9BE030
+:109E5000B301A50129EF3FE40E94C37FC0E0D0E039
+:109E60000E94C91A0E9451832196C436D105C1F7B8
+:109E700010930A0900930909DF91CF911F910F9167
+:109E8000FF90EF90DF90CF90BF90AF909F908F901A
+:109E90007F906F9008959F92AF92BF92CF92DF9282
+:109EA000EF92FF920F931F93DF93CF93CDB7DEB75F
+:109EB00028970FB6F894DEBF0FBECDBF8C01962E4B
+:109EC00068E00E942E45292F3327442755272093E9
+:109ED000880A9C01442755272093890A272F382F69
+:109EE000492F552720938A0A60938B0AA09009096D
+:109EF000B0900A09C801089664E00E942E4570934C
+:109F00000A0960930909AAE2CA2EA6E1DA2E809115
+:109F10005909882321F4EE24EA94FE2C03C0F0E6CC
+:109F2000EF2EF12CD886CF82DE82CD828BEC99E0A9
+:109F30009A8389831C821B82C8010C9662E00E946E
+:109F40002E452DB73EB72C5030400FB6F8943EBF8B
+:109F50000FBE2DBFEDB7FEB731969E012F5F3F4F6D
+:109F6000ADB7BEB712963C932E93119722EF3BE00C
+:109F70003383228320E438E0358324837783668328
+:109F800090861186F386E2860E94EA1C2DB73EB7C2
+:109F9000245F3F4F0FB6F8943EBF0FBE2DBF8EEE2D
+:109FA0009BE0B6014CEE5BE029EF3FE40E94897F25
+:109FB00000E010E00E94C91A0E9451830F5F1F4FFA
+:109FC00004361105B9F7B0920A09A092090928963A
+:109FD0000FB6F894DEBF0FBECDBFCF91DF911F91BA
+:109FE0000F91FF90EF90DF90CF90BF90AF909F9038
+:109FF0000895FB01E057F54FE958FA4F1082E757F3
+:10A00000F5408FEB9EE1BF010E948BB008950F9346
+:10A010001F93DF93CF930F92CDB7DEB7FC01162FBE
+:10A020000181005180812AE0829FC0011124080F24
+:10A0300092819053802F61E099830E941EAA99819A
+:10A04000112319F0802F692F03C061E0691B802F55
+:10A050000E949BAA0F90CF91DF911F910F910895BD
+:10A06000EF92FF920F931F93DC01CB0179018A01DC
+:10A07000139A0E9429A91398C7010E9429A91F9128
+:10A080000F91FF90EF9008952F923F924F925F9221
+:10A090006F927F928F929F92AF92BF92CF92DF92F8
+:10A0A000EF92FF920F931F93DF93CF9300D00F9205
+:10A0B000CDB7DEB74B015C0179018A01DA01C90134
+:10A0C000880F991FAA1FBB1F8E0D9F1DA01FB11FB8
+:10A0D000582E692E7A2ECB2ED801C70145E0880F65
+:10A0E000991FAA1FBB1F4A95D1F78E199F09A00B74
+:10A0F000B10B8983292E3A2E4B2EDD242FC0D5019A
+:10A10000C4010A8004C0B695A795979587950A94CF
+:10A11000D2F780FF07C0652D762D872D9C2DA801D5
+:10A12000970106C0C801B701252D362D472D5C2D9E
+:10A130000E9430508A819B8101979B838A838F5F25
+:10A140009F4FE9F6C801B7012981322D432D542DC7
+:10A150000E943050D394FFE0DF1629F087E190E0B1
+:10A160009B838A83CCCF0F900F900F90CF91DF917C
+:10A170001F910F91FF90EF90DF90CF90BF90AF9025
+:10A180009F908F907F906F905F904F903F902F9017
+:10A1900008951F93DF93CF93CDB7DEB728970FB6FF
+:10A1A000F894DEBF0FBECDBF162FBE016F5F7F4F8D
+:10A1B000AE014B5F5F4F0E947A459C01112329F04D
+:10A1C00069817A818B819C8104C06D817E818F81C0
+:10A1D000988540E050E00E94445028960FB6F894CD
+:10A1E000DEBF0FBECDBFCF91DF911F9108951F93AA
+:10A1F000162F482F50E0F999FECFCA0163E09595DC
+:10A2000087956A95E1F78655924F92BD81BDF89A80
+:10A2100080B590E09A012770307002C095958795BF
+:10A220002A95E2F780FF3AC088EF90E0489F9001BE
+:10A23000499F300D589F300D112484E994E06BE163
+:10A2400076E148EF50E00E949F8B80911B16813091
+:10A2500041F460E0111161E08CE196E10E94C95087
+:10A260001DC0823041F460E0111161E08CE196E1A3
+:10A270000E944B4F13C0833041F460E0111161E044
+:10A280008CE196E10E94075009C0843039F460E007
+:10A29000111161E08CE196E10E94994E1F910895A1
+:10A2A000782F282F30E0F901A3E0F595E795AA95DE
+:10A2B000E1F7E850FA4E2770307081E090E002C07C
+:10A2C000880F991F2A95E2F7282F3081482F50E0F8
+:10A2D000662389F0832F90E084239523892BD1F482
+:10A2E000322B308381E08093FE15872F61E00E943E
+:10A2F000F75081E00895832F90E084239523892BE4
+:10A3000049F0209523232083872F60E00E94F75097
+:10A310008FEF089580E008951F9310E0812F60E093
+:10A320000E9450511F5F1133C9F71F91089584E0B7
+:10A330000E947EA99C0183E02A3B380718F020E0A8
+:10A3400030E02BC083E02D33380718F021E030E0F7
+:10A3500024C082E02E3D380718F022E030E01DC016
+:10A3600082E02239380718F023E030E016C082E09E
+:10A370002535380718F024E030E00FC082E02232A3
+:10A38000380718F025E030E008C0275F314018F0AA
+:10A3900026E030E002C02FEF3FEFC901089586E0CC
+:10A3A0000E947EA9282F8091EB1586FD03C060E0F6
+:10A3B00070E027C0622F792F8091F5158C3D49F40C
+:10A3C00080E090E00E94ECB228E431EE40E851E4F5
+:10A3D00014C080910716909108168617970718F0F9
+:10A3E00060E070E002C0681B790B80E090E00E94A2
+:10A3F000ECB22FE832EC45EB5FE30E94A2B30E947F
+:10A40000C0B2CB010895EF92FF920F931F93CF93A9
+:10A41000DF9383E060E00E949BAA0DEF15E180913D
+:10A42000EB1580FD02C060E002C0F8016081C7E06A
+:10A43000D0E0E62EFF2486E160E00E949BAAB701EF
+:10A440000C2E02C0759567950A94E2F7617087E15A
+:10A450000E949BAA86E161E00E949BAA2197FFEFE0
+:10A46000CF3FDF0741F70150104085E1073F180754
+:10A47000B1F68091F5158C3D71F58091FE1588231C
+:10A4800051F18FEB9EE16BE07CE00E9458AE87E1DA
+:10A4900060E00E949BAA84E161E00E949BAA609117
+:10A4A000470970E0660F771F660F771F882777FDD3
+:10A4B0008095982F0E94D0A884E160E00E949BAA1A
+:10A4C00087E161E00E949BAA83E061E00E949BAA71
+:10A4D0001092FE1504C083E061E00E949BAA809167
+:10A4E0005909882319F10E94168A20E330E040E0E0
+:10A4F00050E00E9457B4962F809134186817B1F03D
+:10A5000060933418E62FE695E695E695F0E0E8507E
+:10A51000FA4E608170E0892F877002C0759567954B
+:10A520008A95E2F76170892F0E94F750DF91CF91F1
+:10A530001F910F91FF90EF900895EF92FF920F936C
+:10A540001F930E94168A7B018C0160912A0970E09A
+:10A5500080E090E024E833E040E050E00E9405B461
+:10A560009B01AC01205C384A404050402E0D3F1DFD
+:10A57000401F511FB901CA011F910F91FF90EF9029
+:10A5800008950E949D5220E831E541E050E00E948C
+:10A5900057B42D5F3F4F4F4F5F4FCA01B90127E0BE
+:10A5A00030E040E050E00E9457B4862F0895EF92CB
+:10A5B000FF920F931F937B018C018BE197E160E089
+:10A5C00040E00E94EF1EC801B7010E9403890E946B
+:10A5D000764787E99BE00E949947C801B7010E942E
+:10A5E000FD880E94764784E99BE00E9499470E947B
+:10A5F000C15290E0880F991F880F991F8D58944F72
+:10A600000E94994782E99BE00E949947C801B701DF
+:10A610000E94EB880E94764780E99BE00E94994760
+:10A62000C801B7010E94F7880E9476471F910F91D9
+:10A63000FF90EF9008958F92AF92CF92EF920F9389
+:10A6400000D000D0EDB7FEB73196ADB7BEB71196CA
+:10A650001C921182128213828BE197E161E046E144
+:10A660002FEF06E1E6E1EE2E76E1C72E56E1A52EAC
+:10A6700036E1832E0E94EB1F0F900F900F900F90EA
+:10A680008BE197E10E94381F80912417882341F4C1
+:10A6900082E08093810081E00E94EE450E941B468B
+:10A6A0000F91EF90CF90AF908F9008958F929F92DF
+:10A6B000AF92BF92CF92DF92EF92FF920F931F93D0
+:10A6C000DF93CF93CDB7DEB728970FB6F894DEBFF0
+:10A6D0000FBECDBF81E061E00E941EAA81E061E073
+:10A6E0000E949BAA83E061E00E941EAA83E061E0D1
+:10A6F0000E949BAA86E161E00E941EAA87E161E0B8
+:10A700000E941EAA0E948C510E94035281E060E0C8
+:10A710000E949BAA82E060E00E941EAA8BE060E09B
+:10A720000E941EAA88E160E00E941EAA8AE160E001
+:10A730000E941EAA82E061E00E949BAA8BE061E079
+:10A740000E949BAA88E161E00E949BAA8AE161E0E5
+:10A750000E949BAA83E00E947BA98091EB158160F7
+:10A760008093EB158091EC158E7F8093EC15A0EF14
+:10A77000B5E1EBEEF5E185E001900D928150E1F756
+:10A7800088E691E09093E0158093DF1588E394E0EC
+:10A790009093E2158093E11581E08093F61588E0AF
+:10A7A0008093F7158CE161E00E941EAA8CE160E0C5
+:10A7B0000E949BAA8CEA8093F51586E29DE10E9497
+:10A7C0003EA586E29DE160E570E00E9464A486E219
+:10A7D0009DE160E00E94E6A486E29DE10E9429A539
+:10A7E0008823D1F486E29DE160E570E041E050E02D
+:10A7F0000E943AA586E29DE10E946EA4892BD1F3C6
+:10A8000086E29DE10E9477A48C3A21F08C3D11F004
+:10A810008A3111F48093F5158091F5158C3D81F402
+:10A8200084E161E00E941EAA84E160E00E949BAA8C
+:10A8300087E161E00E941EAA87E160E00E949BAA76
+:10A8400089E160E00E941EAA89E161E00E949BAA62
+:10A850009091650991709295990F990F907C8091D4
+:10A86000EB158F7B892B8093EB1589E160E00E94CB
+:10A870009BAA0E941B53198284E18A8348E0842E9C
+:10A880008B8235E1F32EFC82EE24E394ED8225E009
+:10A89000C22ECE82CF82F8868BE197E161E08E01F5
+:10A8A0000F5F1F4FA8010E94B51E1A821B82EC8207
+:10A8B0008BE197E160E0A8010E94B51E1A829FE13A
+:10A8C000D92EDB8281E1E82EEC82DD82EE82B3E1DB
+:10A8D0009B2E9F82AEE1AA2EA8868BE197E162E0D3
+:10A8E000A8010E94B51E86E08B83F9E0BF2EBC82D2
+:10A8F000DD821E82FF82F8868BE197E163E0A8018A
+:10A900000E94B51E87E08B8383E08C83CD828E828C
+:10A9100080E18F8318868BE197E164E0A8010E94B3
+:10A92000B51E1B82EC828BE08D83CE82BF82A8860F
+:10A930008BE197E165E0A8010E94B51E1B829AE1B8
+:10A940009C8382E18D839E839F8218868BE197E1B1
+:10A9500066E0A8010E94B51E1A82FB82FC82FD827D
+:10A960001E82DF82D8868BE197E167E0A8010E9412
+:10A97000B51E80E061E00E941EAA80E061E00E94B6
+:10A980009BAA88E090E160E044E00E94919F8823C8
+:10A9900029F08091EB1580688093EB158091EB1581
+:10A9A00087FD15C08BE197E160E040E00E94EF1E5B
+:10A9B0008BE29CE00E9499478BE197E160E041E0E7
+:10A9C0000E94EF1E8AE19CE00E949947FFCF8FE131
+:10A9D00060E00E941EAA8EE160E00E941EAA8DE146
+:10A9E00060E00E941EAA8FE161E00E949BAA8EE1B6
+:10A9F00061E00E949BAA8DE161E00E949BAA0E94F7
+:10AA0000E41828960FB6F894DEBF0FBECDBFCF91E5
+:10AA1000DF911F910F91FF90EF90DF90CF90BF904B
+:10AA2000AF909F908F900895CF93DF9386E29DE142
+:10AA300060E570E00E9464A486E29DE160E00E940F
+:10AA4000E6A486E29DE10E9429A5882311F080E01A
+:10AA500029C086E29DE160E570E00E9464A486E280
+:10AA60009DE16AEF0E94E6A486E29DE10E9429A58D
+:10AA700086E29DE160E570E046E050E00E943AA584
+:10AA800086E29DE10E946EA4892BD1F3CBE1D6E151
+:10AA900086E29DE10E9477A4899386E1C132D807BE
+:10AAA000B9F781E0DF91CF9108958BE39CE061E0FD
+:10AAB0000E94EB470E941455882391F410921B16B4
+:10AAC00089E680931C1680931D168DE280931E16D6
+:10AAD00081E380931F16809143098093201605C05F
+:10AAE0008091EC1582608093EC1588E795E06BE12E
+:10AAF00076E144E00E94A71C882309F459C0909194
+:10AB0000360980E020913509820F911D90930A0942
+:10AB10008093090980912C098823C9F10E940517A7
+:10AB2000882309F445C08091700A9091710AA09120
+:10AB3000720AB091730A80932D0990932E09A09305
+:10AB40002F09B093300980917C0A90917D0AA091E1
+:10AB50007E0AB0917F0A8093310990933209A093C5
+:10AB60003309B09334098091840A9091850AA091A9
+:10AB7000860AB091870A8093550990935609A0934D
+:10AB80005709B09358090E94F54A91E012C08DE22E
+:10AB900099E061E379E045E559E020E030E00E948A
+:10ABA000711C90E0882309F491E081E0982701C0AE
+:10ABB00090E0892F08959C01F999FECF32BD21BD07
+:10ABC000F89A80B508959C01F999FECF1FBA32BD5D
+:10ABD00021BD60BD0FB6F894FA9AF99A0FBE089598
+:10ABE00020913618203318F020E030E012C02F5F9B
+:10ABF0002093361881E090E0821B910923E0880FB2
+:10AC0000991F2A95E1F722273327281B390B295C46
+:10AC1000374EC901089510923518F999FECF1FBA21
+:10AC200081E090E092BD81BD10BC0FB6F894FA9A15
+:10AC3000F99A0FBE0895982F80913518981708F04B
+:10AC40003BC0992309F438C0892F90E09695982F3E
+:10AC50008827979587958E57904020E030E025C053
+:10AC6000F999FECF92BD81BDF89A50B5F999FECF02
+:10AC700072BD61BDF89A40B5F999FECF1FBA92BD79
+:10AC800081BD40BD0FB6F894FA9AF99A0FBEF999B2
+:10AC9000FECF1FBA72BD61BD50BD0FB6F894FA9ACF
+:10ACA000F99A0FBE2F5F3F4F0196BC0160587F4F4E
+:10ACB0002038310509F0D4CF089577FF03C06FEF36
+:10ACC0007FEF22C0CB01977074FF03C090958195F0
+:10ACD0009F4F76FF0BC06091DF157091E015680FF4
+:10ACE000791F77FF11C060E070E00EC075FF0CC0E7
+:10ACF0006091E1157091E215680F791F85E0603A67
+:10AD0000780714F06FE975E0CB010895BF92CF92F8
+:10AD1000DF92EF92FF920F931F936C01FC01B080C2
+:10AD2000E1800E949D5220E831E541E050E00E9420
+:10AD300057B42B0D311D411D511DFF2400E010E0C3
+:10AD4000CA01B901A80197010E9457B4F6016083B6
+:10AD50001F910F91FF90EF90DF90CF90BF900895DB
+:10AD60008F929F92AF92BF92CF92DF92EF92FF921B
+:10AD70000F931F934C01FC01A180E080FF24EA0C9B
+:10AD8000F11C0027F7FC0095102F0E949D52BB2458
+:10AD9000CC24DD2420E831E541E050E00E9457B4A6
+:10ADA000CA01B901A60195010E9457B4E61AF70A33
+:10ADB000080B190BC801B701A60195010E9457B4F1
+:10ADC000F40160831F910F91FF90EF90DF90CF907F
+:10ADD000BF90AF909F908F900895BF92CF92DF92D7
+:10ADE000EF92FF920F931F93CF93DF93EC017A01C1
+:10ADF0008B01CB01BA010E94F188C82EC801B701AE
+:10AE00000E94F788D82EC801B7010E94EB88B82E9F
+:10AE100088818295837090E082309105B1F0833013
+:10AE20009105E9F0892BA1F52A8130E08C2D90E085
+:10AE3000059667E070E00E9444B402C035952795FE
+:10AE40008A95E2F720FD24C03BC02D2D30E08A8199
+:10AE500090E08F7190702817390791F519C0C801DB
+:10AE6000B70120E831E541E050E00E9457B4CA0143
+:10AE7000B9012B8130E040E050E00E9457B42A81B4
+:10AE800030E040E050E06217730784079507C1F493
+:10AE90008881869586958370A9F0823019F48D2D6E
+:10AEA00080950CC0813071F48FE1D81649F08DE1A6
+:10AEB000D81619F482E0B81619F08D2D817003C0F0
+:10AEC00080E001C081E0DF91CF911F910F91FF9051
+:10AED000EF90DF90CF90BF9008956F927F928F9206
+:10AEE0009F92AF92BF92CF92DF92EF92FF920F9319
+:10AEF0001F93CF93DF938C016A017B01DC018C915E
+:10AF000080FF85C014966D917C911597C8010E94B1
+:10AF10005D564C01F80166807780C085D185C701F8
+:10AF2000B60120E831E541E050E00E9457B42CE33F
+:10AF300030E040E050E00E9457B45901C801B70129
+:10AF4000A6010E94ED568823A9F1D8018C9186FFB5
+:10AF500014C0E80148E0E42EF12CE00EF11E6C81F3
+:10AF60007D81C8010E945D56A816B90609F451C03A
+:10AF70002296CE15DF0599F74AC0A814B90409F442
+:10AF800048C08A149B04B0F42097A1F095012819B9
+:10AF90003909C901BE010E9430B46C9FC0016D9F88
+:10AFA000900D7C9F900D11248217930719F466165B
+:10AFB00077067CF5F801808186FD29C0209739F15C
+:10AFC00080E89EEAAEEFBFEFC80ED91EEA1EFB1E58
+:10AFD000C801B701A6010E94ED568823C1F0950172
+:10AFE0002819390920563A4FC901BE010E9430B4D0
+:10AFF0006C9FC0016D9F900D7C9F900D1124821756
+:10B00000930729F480E06616770624F002C080E0FA
+:10B0100001C081E0DF91CF911F910F91FF90EF90E0
+:10B02000DF90CF90BF90AF909F908F907F906F9068
+:10B030000895282FAB0180913518281780F4622FCE
+:10B0400070E07695762F6627779567956E5F7F4FD0
+:10B05000CA0140E850E02BED35E50E94D30E08957B
+:10B06000EF92FF920F931F93DF93CF93CDB7DEB78D
+:10B07000C058D0400FB6F894DEBF0FBECDBF2091B0
+:10B080003518821708F044C0222309F441C0082F64
+:10B0900010E01695102F0027179507950E571F4F94
+:10B0A0007E010894E11CF11C14C0C701B80140E8FE
+:10B0B00050E02BED35E50E94D30EC801805890403A
+:10B0C000B70140E850E023EE35E50E94EF0E00584E
+:10B0D0001F4F20913518822F90E09695982F882742
+:10B0E00097958795029608171907F8F22150209333
+:10B0F0003518F999FECF1FBA81E090E092BD81BD6D
+:10B1000020BD0FB6F894FA9AF99A0FBE81E001C0FB
+:10B1100080E0C058DF4F0FB6F894DEBF0FBECDBF42
+:10B12000CF91DF911F910F91FF90EF900895982F8D
+:10B1300080913518981710F080E00895892F90E0DD
+:10B140009695982F882797958795029640E850E026
+:10B1500023EE35E50E94EF0E81E00895BC01809159
+:10B160003518803110F080E0089590E09695982F82
+:10B17000882797958795029640E850E023EE35E5BD
+:10B180000E94EF0E209135182F5F20933518F99902
+:10B19000FECF1FBA81E090E092BD81BD20BD0FB609
+:10B1A000F894FA9AF99A0FBE81E00895CF93DF934D
+:10B1B000582F40913618841708F081C0E82FF0E02E
+:10B1C000242F30E021503040E217F3073CF5EF0127
+:10B1D000A3E0CC0FDD1FAA95E1F7D90173E0AA0F18
+:10B1E000BB1F7A95E1F7C95CD74EA95CB74E88E0E2
+:10B1F0000D9009928150E1F763E0EE0FFF1F6A9511
+:10B20000E1F7E95CF74E8681E82FF0E0E954F64E6D
+:10B21000808190E08217930709F450834150409356
+:10B2200036188FEB9EE168ED75E00E94D7AFC7E35B
+:10B23000D8E132C08FEB9EE16CED75E00E94D7AF94
+:10B240008FEB9EE16E814AE050E00E9435AF8FEBBC
+:10B250009EE16EED75E00E94D7AF6C817D818FEB32
+:10B260009EE14AE050E00E9407AF8FEB9EE16EED59
+:10B2700075E00E94D7AF488159816A817B818FEB4D
+:10B280009EE12AE030E00E94E4AE8FEB9EE160EEAA
+:10B2900075E00E94D7AF28968091361890E033E091
+:10B2A000880F991F3A95E1F7895C974EC817D9071F
+:10B2B00008F28FEB9EE162EE75E00E948BB0DF91A9
+:10B2C000CF91089587EB99E16FEF70E040E350E094
+:10B2D0000E94600E109236181092EF191092F01919
+:10B2E0001092F1191092F21908950E946259F99979
+:10B2F000FECF81E090E092BD81BDF89A80B5809349
+:10B3000035180895282F30E0F999FECF1FBA285D2F
+:10B31000314F32BD21BD28523E408FEF80BD0FB668
+:10B32000F894FA9AF99A0FBEF999FECF1FBAC9019B
+:10B33000880F991F8753924F92BD81BD8FEF80BDBB
+:10B340000FB6F894FA9AF99A0FBEF999FECF1FBA80
+:10B350002C51394F220F331F32BD21BD8FEF80BDDD
+:10B360000FB6F894FA9AF99A0FBE0895AF92BF9269
+:10B37000CF92DF92EF92FF920F931F93CF93DF93C1
+:10B3800080916609882309F44CC08091121AE82E36
+:10B39000FF2400E010E0F2E0EE0CFF1C001F111F84
+:10B3A000FA95D1F780917E09C82FD0E0A0902E1A8F
+:10B3B000B0902F1AC090301AD090311A64E670E025
+:10B3C0006C1B7D0B882777FD8095982FA80197012E
+:10B3D0000E9405B424E630E040E050E00E9457B4FB
+:10B3E000A216B306C406D50618F421E030E01BC04F
+:10B3F000CC59DF4FBE01882777FD8095982FA80193
+:10B4000097010E9405B424E630E040E050E00E943D
+:10B4100057B42A153B054C055D0518F422E030E0D1
+:10B4200002C020E030E0C901DF91CF911F910F9160
+:10B43000FF90EF90DF90CF90BF90AF900895AF92C4
+:10B44000BF92CF92DF92EF92FF920F931F93CF9311
+:10B45000DF9380915D09882309F460C06091261A0A
+:10B460007091271A8091281A9091291A20E030E0D3
+:10B4700040E051E40E94A2B35B016C016091131A99
+:10B480007091141A80E090E00E94ECB27B018C0174
+:10B4900080917D09C82FD0E064E670E06C1B7D0BC5
+:10B4A000882777FD8095982F0E94EEB29B01AC0112
+:10B4B000C801B7010E94A2B320E030E048EC52E49A
+:10B4C0000E9453B29B01AC01C601B5010E944FB26C
+:10B4D00088231CF421E030E023C0CC59DF4FBE01AB
+:10B4E000882777FD8095982F0E94EEB29B01AC01D2
+:10B4F000C801B7010E94A2B320E030E048EC52E45A
+:10B500000E9453B29B01AC01C601B5010E949EB3DB
+:10B5100018161CF422E030E003C003C020E030E045
+:10B52000C901DF91CF911F910F91FF90EF90DF90B4
+:10B53000CF90BF90AF9008958093FB1981E08093E6
+:10B54000FE1908958093FB1981E08093FF190895F7
+:10B5500081E08093001A0895CF92DF92EF92FF92DC
+:10B560000F931F93182F6A017B01682F70E0A4E0EE
+:10B57000660F771FAA95E1F7675B744F85E19AE143
+:10B5800040E150E00E94EC8A1431D1F1153170F4A1
+:10B59000113101F1123120F4103109F04FC015C002
+:10B5A000123121F1133109F049C025C01731B9F129
+:10B5B000183130F4153149F1163109F03FC02AC075
+:10B5C000183191F11931D1F534C08FEB9EE163EE62
+:10B5D00075E004C08FEB9EE168EF75E00E948BB0D0
+:10B5E0008091251A8F5F8093251A33C08FEB9EE1DF
+:10B5F0006EE176E0F3CF8FEB9EE160E476E0EECF94
+:10B600008FEB9EE169E576E0E9CF8FEB9EE162E7A3
+:10B6100076E0E4CF8FEB9EE16DE876E0DFCF8FEB55
+:10B620009EE167EA76E0DACF8FEB9EE165ED76E0AA
+:10B63000D5CF8FEB9EE16BEF76E0D0CF8091251ACE
+:10B640008F5F8093251A8FEB9EE160E277E00E9486
+:10B650008BB0812FB701A60100E010E020E030E0C0
+:10B660000E9439221F910F91FF90EF90DF90CF90B1
+:10B670000895AF92BF92CF92DF92EF92FF920F9315
+:10B680001F935B016C0180913E09823009F05DC01F
+:10B690000E9425479091EB15969596959170809113
+:10B6A000F015869586958170891709F44EC0992307
+:10B6B00091F085E0B601A50100E010E020E030E067
+:10B6C0000E943922A0920916B0920A16C0920B1657
+:10B6D000D0920C1631C08091091690910A16A09153
+:10B6E0000B16B0910C160A96A11DB11D8A159B056B
+:10B6F000AC05BD0508F585E0B601A50100E010E048
+:10B7000020E030E00E94392281E0B601A50100E08E
+:10B7100010E020E030E00E94392282E041E050E079
+:10B7200060E070E000E010E020E030E0BFE2EB2EEF
+:10B73000B7E0FB2E0E9458329091EB1594708091E7
+:10B74000F0158B7F892B8093F015809161098823F8
+:10B75000C9F10E94F5462091EB1526952695269570
+:10B7600021703091F015832F86958695869581708E
+:10B77000821741F18091FF1590910016A09101165A
+:10B78000B09102160396A11DB11D8A159B05AC054B
+:10B79000BD05C0F4A092FF15B0920016C09201162C
+:10B7A000D0920216220F220F220F377F322B3093B6
+:10B7B000F01580E3B601A50100E010E020E030E0E4
+:10B7C0000E943922809163098823A1F10E94F546E5
+:10B7D0002091EB15229521703091F015832F8295E1
+:10B7E0008170821739F18091031690910416A0910F
+:10B7F0000516B09106160396A11DB11D8A159B056D
+:10B80000AC05BD05B8F4A0920316B0920416C09220
+:10B810000516D09206162295207F3F7E322B30935C
+:10B82000F01581E3B601A50100E010E020E030E072
+:10B830000E9439221F910F91FF90EF90DF90CF90DF
+:10B84000BF90AF900895DF92EF92FF920F931F93F6
+:10B850007B018C018BE59EE00E94B945D82E8AE5DC
+:10B860009EE00E94B9453D2D20E0280F311D442760
+:10B8700037FD4095542F20933E1A30933F1A409342
+:10B88000401A5093411A88E0B801A70100E010E087
+:10B8900020E030E00E94392220913E1A30913F1A78
+:10B8A0008091401A9091411A2093421A3093431A82
+:10B8B0008093441A9093451AF999FECF1FBA8CE5EC
+:10B8C0009EE092BD81BD20BD0FB6F894FA9AF99A18
+:10B8D0000FBEF999FECF1FBA8DE59EE092BD81BDE6
+:10B8E00030BD0FB6F894FA9AF99A0FBE10923E1A2C
+:10B8F00010923F1A1092401A1092411AF999FECFF5
+:10B900001FBA8AE59EE092BD81BD10BC0FB6F894C7
+:10B91000FA9AF99A0FBEF999FECF1FBA8BE59EE00D
+:10B9200092BD81BD10BC0FB6F894FA9AF99A0FBE79
+:10B930001F910F91FF90EF90DF900895EF92FF928B
+:10B940000F931F93CF93DF93C82FD0E08E0143E076
+:10B95000159507954A95E1F7C8018454924F0E94C6
+:10B96000B94537E0E32EF12CEC22FD221092FC19B0
+:10B9700090E08E219F21892B19F081E08093FC19A2
+:10B98000C8018655924F0E94B9451092FD1990E06A
+:10B990008E219F21892B19F081E08093FD19CE0122
+:10B9A000885D914F0E94B9458093121ACE01880F8D
+:10B9B000991F8753924F0E94B945182FCC51D94FE8
+:10B9C000CE01880F991F0E94B945312F20E0280F22
+:10B9D000311D3093141A2093131ADF91CF911F91C8
+:10B9E0000F91FF90EF9008958091111A8823F1F044
+:10B9F0000E94C2A8609375097093760980937709B5
+:10BA0000909378098091011A9091021AA091031ADB
+:10BA1000B091041A0196A11DB11D8093011A909353
+:10BA2000021AA093031AB093041A08950E94C2A8A0
+:10BA30009B01AC018091750990917609A0917709DD
+:10BA4000B09178090A96A11DB11D82179307A4072A
+:10BA5000B507D8F420937509309376094093770998
+:10BA6000509378098091011A9091021AA091031ABB
+:10BA7000B091041A0196A11DB11D8093011A9093F3
+:10BA8000021AA093031AB093041A0895DF92EF925A
+:10BA9000FF920F931F93D82E7A018B0183E0D81663
+:10BAA00009F4E5C08D1538F081E0D81609F47EC0A0
+:10BAB0008D15B0F00CC088E0D81609F43DC1D81639
+:10BAC00008F47BC189E0D81609F05CC152C110921C
+:10BAD000461A1092471A1092481A1092491A6DC1CC
+:10BAE000F8948091011A9091021AA091031AB091D2
+:10BAF000041A8093091A90930A1AA0930B1AB09310
+:10BB00000C1A20917509309176094091770950916E
+:10BB100078092093051A3093061A4093071A509318
+:10BB2000081A7894E0924E1AF0924F1A0093501A25
+:10BB30001093511A20E030E040E050E02093261AA4
+:10BB40003093271A4093281A5093291A8093521A37
+:10BB50009093531AA093541AB093551A1092321A14
+:10BB60001092331A1092341A1092351A20932A1A0E
+:10BB700030932B1A40932C1A50932D1AE092561A98
+:10BB8000F092571A0093581A1093591A80935A1A20
+:10BB900090935B1AA0935C1AB0935D1A1092621A8C
+:10BBA00083E1B801A7010E94AC5A07C1F8948091C3
+:10BBB000011A9091021AA091031AB091041A80936D
+:10BBC000091A90930A1AA0930B1AB0930C1A209199
+:10BBD0007509309176094091770950917809209341
+:10BBE000051A3093061A4093071A5093081A78944E
+:10BBF000E0924E1AF0924F1A0093501A1093511A75
+:10BC000020E030E040E050E02093261A3093271ADD
+:10BC10004093281A5093291A8093521A9093531ADA
+:10BC2000A093541AB093551A1092321A1092331AE4
+:10BC30001092341A1092351A20932A1A30932B1A24
+:10BC400040932C1A50932D1AE092561AF092571ADC
+:10BC50000093581A1093591A80935A1A90935B1AAA
+:10BC6000A0935C1AB0935D1A1092621AA6C08091DC
+:10BC7000FB190E949E5CF8948091011A9091021A1F
+:10BC8000A091031AB091041A8093091A90930A1A8A
+:10BC9000A0930B1AB0930C1A209175093091760974
+:10BCA00040917709509178092093051A3093061A2C
+:10BCB0004093071A5093081A7894E0924E1AF09223
+:10BCC0004F1A0093501A1093511A20E030E040E0D0
+:10BCD00050E02093261A3093271A4093281A509345
+:10BCE000291A8093521A9093531AA093541AB0931E
+:10BCF000551A1092321A1092331A1092341A109266
+:10BD0000351A20932A1A30932B1A40932C1A5093E9
+:10BD10002D1AE092561AF092571A0093581A10935F
+:10BD2000591A80935A1A90935B1AA0935C1AB09395
+:10BD30005D1A1092621A1DC08091361A9091371ABE
+:10BD4000A091381AB091391A2091321A3091331AD1
+:10BD50004091341A5091351A820F931FA41FB51FBA
+:10BD60008093361A9093371AA093381AB093391AE1
+:10BD700024C0E0925E1AF0925F1A0093601A10934A
+:10BD8000611A1BC08091F7199091F819A091F919C7
+:10BD9000B091FA190196A11DB11D8093F7199093E6
+:10BDA000F819A093F919B093FA1980E200E010E0B5
+:10BDB00020E030E00E943922DD248091F319809345
+:10BDC000F419D092F3198FEB9EE160E377E00E94C3
+:10BDD000D7AF8FEB9EE16091F6194AE050E00E94E8
+:10BDE00035AF8FEB9EE163E677E00E94D7AF8FEB34
+:10BDF0009EE16091F4194AE050E00E9435AF8FEB6C
+:10BE00009EE163E677E00E94D7AF8FEB9EE1609101
+:10BE1000F3194AE050E00E9447AF1F910F91FF9045
+:10BE2000EF90DF9008952F923F924F925F926F9222
+:10BE30007F928F929F92AF92BF92CF92DF92EF92BA
+:10BE4000FF920F931F93DF93CF9300D000D0CDB715
+:10BE5000DEB75B016C010E94C2A869837A838B8381
+:10BE60009C83F8946090011A7090021A8090031AD3
+:10BE70009090041A6092091A70920A1A80920B1A12
+:10BE800090920C1A8091750990917609A09177098A
+:10BE9000B09178098093051A9093061AA093071A17
+:10BEA000B093081A78941092F6198091F3198823A8
+:10BEB00009F4F8C08091FF19882309F0F3C080913C
+:10BEC000001A882309F0EEC02090561A3090571AB5
+:10BED0004090581A5090591AD201C1010F96A11DD5
+:10BEE000B11D8A159B05AC05BD0508F046C08091C3
+:10BEF0005A1A90915B1AA0915C1AB0915D1AA40134
+:10BF00009301281B390B4A0B5B0BCA01B901209323
+:10BF1000461A3093471A4093481A5093491A0E9480
+:10BF2000ECB22091790930917A0940917B095091C6
+:10BF30007C090E9453B220E030E040E850E40E94C7
+:10BF4000A2B36093261A7093271A8093281A9093AD
+:10BF5000291AA092561AB092571AC092581AD09223
+:10BF6000591A60925A1A70925B1A80925C1A9092D7
+:10BF70005D1A81E08093621A55C08091621A88230D
+:10BF800009F050C080915A1A90915B1AA0915C1AE6
+:10BF9000B0915D1A84017301E81AF90A0A0B1B0BB0
+:10BFA00035E0E316F10401051105E0F16091261A70
+:10BFB0007091271A8091281A9091291A2DEC3CEC47
+:10BFC0004CEC5DE30E944FB2882364F5C801B701D1
+:10BFD0000E94ECB22091790930917A0940917B0955
+:10BFE00050917C090E9453B27B018C01C601B501BE
+:10BFF00062197309840995090E94ECB220E030E0CF
+:10C0000040E752E40E9453B29B01AC01C801B70162
+:10C010000E9453B26093261A7093271A8093281AAD
+:10C020009093291A6092361A7092371A8092381AB1
+:10C030009092391A8091521A9091531AA091541AE1
+:10C04000B091551AA4019301281B390B4A0B5B0BC5
+:10C05000CA01B9012093321A3093331A4093341A2B
+:10C060005093351A0E94ECB22091790930917A09E7
+:10C0700040917B0950917C090E9453B260932A1A27
+:10C0800070932B1A80932C1A90932D1A0E94CF51E3
+:10C09000A0E0B0E080932E1A90932F1AA093301A4C
+:10C0A000B093311A2091F319243011F1253068F43E
+:10C0B000213009F4BDC2213008F425C2223009F430
+:10C0C00048C3233009F07AC429C1273009F42DC4AC
+:10C0D000283038F4253009F456C0263009F06EC4F3
+:10C0E000A2C3283009F4F6C0293009F067C446C15C
+:10C0F0008091FF19882309F01CC48091051A909142
+:10C10000061AA091071AB091081A88579C4EAF4F93
+:10C11000BF4F49815A816B817C8184179507A6079F
+:10C12000B70708F0E8C421C48091FD19882309F0FD
+:10C130004BC48091621A882309F446C48091121A74
+:10C140008F3F09F441C4882309F43EC40E94B659C4
+:10C150008130910571F08230910531F0892B09F021
+:10C1600033C40E941F5A15C488E08093F61988E1F1
+:10C1700004C089E08093F61989E1B601A5010E9407
+:10C18000AC5A87E01FC48091FF19882309F48BC043
+:10C190001092FF192093F6196090261A7090271AB2
+:10C1A0008090281A9090291AC401B30120E030E051
+:10C1B00040E85FE30E949EB318160CF0DEC3E090E7
+:10C1C0002E1AF0902F1A0091301A1091311A59E25C
+:10C1D000E516F1040105110508F4CFC380914E1A4C
+:10C1E00090914F1AA091501AB091511AA601950141
+:10C1F000281B390B4A0B5B0B2F31310541055105CB
+:10C2000008F4BBC3C401B30120E030E040E051E4D6
+:10C210000E94A2B30E94C0B2472F8091FB19282F21
+:10C2200030E0F999FECF1FBAC9018C51994F880FA0
+:10C23000991F92BD81BD60BD0FB6F894FA9AF99A24
+:10C240000FBEF999FECF1FBAC901880F991F8753F6
+:10C25000924F92BD81BD40BD0FB6F894FA9AF99AFB
+:10C260000FBEE2E016950795F794E794EA95D1F7AB
+:10C270008E2D8F3F09F48EEFF999FECF1FBA285DFE
+:10C28000314F32BD21BD80BD0FB6F894FA9AF99AAC
+:10C290000FBE89E0B601A50100E010E020E030E02B
+:10C2A0000E9439226AC38091051A9091061AA091C2
+:10C2B000071AB091081A88579C4EAF4FBF4F49815B
+:10C2C0005A816B817C8184179507A607B70708F010
+:10C2D0007BC34BC38091FF19882331F01092FF1963
+:10C2E00085E08093F61970C38091001A882321F4A9
+:10C2F0008091EB1585FD07C01092001A8DE08093A8
+:10C30000F61989E05FC38091FE19882309F45CC3A4
+:10C310001092FE1983E08093F61954C38091FF199F
+:10C32000882341F01092FF1985E08093F61988E088
+:10C330008093F51980915E1A90915F1AA091601A0E
+:10C34000B091611A0796A11DB11D8A159B05AC0518
+:10C35000BD0508F039C384E08093F6198091660921
+:10C36000882321F480915D09882331F08091121A8D
+:10C370008F3F11F485E026C384E024C380915E1AC8
+:10C3800090915F1AA091601AB091611A0696A11D52
+:10C39000B11D8A159B05AC05BD0508F015C384E0E9
+:10C3A0008093F619B601A50100E010E020E030E02E
+:10C3B0000E94392287E0B601A50100E010E020E0EC
+:10C3C00030E00E9439228BE59EE00E94B945182F8B
+:10C3D0008AE59EE00E94B945312F20E0280F311DEB
+:10C3E000442737FD4095542F8091361A9091371A83
+:10C3F000A091381AB091391A280F391F4A1F5B1FB4
+:10C4000020933E1A30933F1A4093401A5093411A9A
+:10C41000F999FECF1FBA8AE59EE092BD81BD20BD8D
+:10C420000FB6F894FA9AF99A0FBEF999FECF1FBA8F
+:10C430008BE59EE092BD81BD30BD0FB6F894FA9AAF
+:10C44000F99A0FBE2091361A3091371A8091381A16
+:10C450009091391A20933A1A30933B1A80933C1AE0
+:10C4600090933D1AF999FECF1FBA88E59EE092BDE0
+:10C4700081BD20BD0FB6F894FA9AF99A0FBEF999CA
+:10C48000FECF1FBA89E59EE092BD81BD30BD0FB6DB
+:10C49000F894FA9AF99A0FBE1092F5191092011AAF
+:10C4A0001092021A1092031A1092041A1092091A8A
+:10C4B00010920A1A10920B1A10920C1A10920D1A5E
+:10C4C00010920E1A10920F1A1092101AA0924A1A75
+:10C4D000B0924B1AC0924C1AD0924D1A1092361A42
+:10C4E0001092371A1092381A1092391A80E090E0A0
+:10C4F000A0E0B0E08093261A9093271AA093281A00
+:10C50000B093291A61C28091FE198823E1F110923B
+:10C51000FE1923E02093F6191092011A1092021AC4
+:10C520001092031A1092041A1092091A10920A1A01
+:10C5300010920B1A10920C1A10920D1A10920E1AD9
+:10C5400010920F1A1092101AA0924A1AB0924B1A17
+:10C55000C0924C1AD0924D1A1092361A1092371A75
+:10C560001092381A1092391A80E090E0A0E0B0E002
+:10C570008093261A9093271AA093281AB093291A09
+:10C580002093F51921C28091FF19882309F0D1C1A8
+:10C5900020910D1A30910E1A40910F1A5091101AD5
+:10C5A0008091091A90910A1AA0910B1AB0910C1A55
+:10C5B000281739074A075B0708F006C28FEB9EE190
+:10C5C00067E677E00E94D7AF40910D1A50910E1A9E
+:10C5D00060910F1A7091101A8FEB9EE12AE030E003
+:10C5E0000E94E4AE8FEB9EE163E677E00E94D7AF56
+:10C5F0004091091A50910A1A60910B1A70910C1A05
+:10C600008FEB9EE12AE030E00E94F3AE91E0909340
+:10C61000F6198091EB1585FF02C083E0D3C18091AC
+:10C620005D09823019F49093F519CEC182E0CAC138
+:10C630008091FF19882309F07CC18091FE1988231D
+:10C6400041F01092FE1973E0F72EF092F6198AE08D
+:10C6500091C08091051A9091061AA091071AB09185
+:10C66000081A88579C4EAF4FBF4F29813A814B81A2
+:10C670005C8182179307A407B50708F042C282E0E5
+:10C680008093F6198AE0B601A50100E010E020E0F1
+:10C6900030E00E9439225AC08091621A882309F43E
+:10C6A00093C180914A1A90914B1AA0914C1AB09163
+:10C6B0004D1AA6019501281B390B4A0B5B0BCA01C9
+:10C6C000B9012CE330E040E050E00E9457B4809183
+:10C6D000600990E0A0E0B0E082179307A407B507D7
+:10C6E00028F486E08093F61982E12CC06091361A16
+:10C6F0007091371A8091381A9091391A0E94ECB2D1
+:10C700002091790930917A0940917B0950917C09F7
+:10C710000E9453B27B018C0160915F0970E0882711
+:10C7200077FD8095982F0E94EEB29B01AC01C80165
+:10C73000B7010E949EB318160CF046C187E08093A3
+:10C74000F61981E1B601A5010E94AC5A1092F519C3
+:10C750003BC18091FF19882309F0EBC08091FE193D
+:10C76000882309F446C01092FE1963E0F62EF09279
+:10C77000F61984E1B601A50100E010E020E030E008
+:10C780000E9439221092011A1092021A1092031A72
+:10C790001092041A1092091A10920A1A10920B1A87
+:10C7A00010920C1A10920D1A10920E1A10920F1A63
+:10C7B0001092101AA0924A1AB0924B1AC0924C1AB8
+:10C7C000D0924D1A1092361A1092371A1092381AC7
+:10C7D0001092391A80E090E0A0E0B0E08093261A31
+:10C7E0009093271AA093281AB093291AF092F5195A
+:10C7F000EBC08091051A9091061AA091071AB0918A
+:10C80000081A88579C4EAF4FBF4F49815A816B81A0
+:10C810007C8184179507A607B70708F0D5C0209339
+:10C82000F61984E18FCF8091FF19882309F081C028
+:10C830008091051A9091061AA091071AB091081AD2
+:10C8400088579C4EAF4FBF4F29813A814B815C8105
+:10C8500082179307A407B50708F059C186C06091F5
+:10C86000261A7091271A8091281A9091291A20E08F
+:10C8700030E040E051E40E94A2B37B018C01609162
+:10C88000131A7091141A80E090E028EC30E040E038
+:10C8900050E00E9405B424E630E040E050E00E9401
+:10C8A00057B4CA01B9010E94ECB29B01AC01C801A6
+:10C8B000B7010E949EB318160CF086C08CE08093DE
+:10C8C000F61987E1B601A5010E94AC5A3091FB1917
+:10C8D000432F50E0CA0153E0959587955A95E1F7AB
+:10C8E000F999FECF8E53924F92BD81BD825C9D40DF
+:10C8F000F89A20B5F999FECF1FBA8E53924F92BD88
+:10C9000081BD81E090E002C0880F991F4A95E2F74F
+:10C91000282B20BD0FB6F894FA9AF99A0FBE832FF0
+:10C92000B601A5010E949D3628C08091FF19882379
+:10C9300031F01092FF1985E08093F6191EC08091A6
+:10C94000051A9091061AA091071AB091081A8857F3
+:10C950009C4EAF4FBF4F49815A816B817C818417B8
+:10C960009507A607B70708F0D8C082E08093F619AC
+:10C9700080E1B601A5010E94AC5A88E023C08091F5
+:10C98000FD19882309F58091621A8823E9F00E9435
+:10C990001F5A8130910519F00297B1F40AC08BE05B
+:10C9A0008093F61986E1B601A5010E94AC5A86E093
+:10C9B00009C08AE08093F61985E1F5CF8EE0809377
+:10C9C000F6198AE08093F5198091F619882331F0E1
+:10C9D0008091F519B601A5010E94465D8FEB9EE19D
+:10C9E00064E877E00E94D7AF8FEB9EE16091F61983
+:10C9F0004AE050E00E9435AF8FEB9EE163E677E0BE
+:10CA00000E94D7AF8FEB9EE16091F3194AE050E0AE
+:10CA10000E9435AF8FEB9EE163E677E00E94D7AFCF
+:10CA20008FEB9EE16091FB194AE050E00E9435AF28
+:10CA30008FEB9EE163E677E00E94D7AF4091091A41
+:10CA400050910A1A60910B1A70910C1A8FEB9EE1AB
+:10CA50002AE030E00E94E4AE8FEB9EE163E677E0EF
+:10CA60000E94D7AF4091261A5091271A6091281A38
+:10CA70007091291A8FEB9EE122E030E00E9475B0A0
+:10CA80008FEB9EE163E677E00E94D7AF40912E1ACC
+:10CA900050912F1A6091301A7091311A8FEB9EE1EC
+:10CAA0002AE030E00E94F3AE8091091A90910A1AB0
+:10CAB000A0910B1AB0910C1A80930D1A90930E1A34
+:10CAC000A0930F1AB093101A0F900F900F900F9021
+:10CAD000CF91DF911F910F91FF90EF90DF90CF905A
+:10CAE000BF90AF909F908F907F906F905F904F908E
+:10CAF0003F902F9008958091FC19882309F414CB5E
+:10CB000063CF80915D09823009F05ECFC5CD809101
+:10CB10006A09813009F058CFA2CE8091FC19882390
+:10CB200009F42DCF51CFEF92FF920F931F937B010A
+:10CB30008C010E94395B80912909882321F0C8016A
+:10CB4000B7010E94135F1F910F91FF90EF9008951E
+:10CB5000EF92FF920F931F93CF93DF938FEB9EE1A2
+:10CB60006DEC77E00E948BB00E949D521092011AEA
+:10CB70001092021A1092031A1092041A1092091AB3
+:10CB800010920A1A10920B1A10920C1A10920D1A87
+:10CB900010920E1A10920F1A1092101A60934A1ADD
+:10CBA00070934B1A80934C1A90934D1A1092361A28
+:10CBB0001092371A1092381A1092391A80E090E0C9
+:10CBC000A0E0B0E08093261A9093271AA093281A29
+:10CBD000B093291A7091530960E020915209620FB5
+:10CBE000711D882777FD8095982F0E94EEB220E076
+:10CBF00030E048EC52E40E9453B27B018C01609318
+:10CC0000790970937A0980937B0990937C0920E0DD
+:10CC100030E040E450E40E949EB318161CF481E01A
+:10CC20008093111A80915C09882381F4C801B701AF
+:10CC300028E234E442E750E40E94A2B36093790909
+:10CC400070937A0980937B0990937C0980915E09A7
+:10CC500080937D098091670980937E098FEB9EE127
+:10CC60006AEE77E00E94D7AF4091790950917A0936
+:10CC700060917B0970917C098FEB9EE122E030E0AE
+:10CC80000E9478B08FEB9EE16BEF77E00E94D7AF08
+:10CC90008FEB9EE160917D094AE050E00E9435AF44
+:10CCA0008FEB9EE163E677E00E94D7AF8FEB9EE1CA
+:10CCB00060917E094AE050E00E9447AF8FEB9EE111
+:10CCC00065E178E00E94D7AF8FEB9EE160915F094C
+:10CCD0004AE050E00E9435AF8FEB9EE163E677E0DB
+:10CCE0000E94D7AF8FEB9EE1609160094AE050E06F
+:10CCF0000E9447AF8FEB9EE163E478E00E94D7AFDC
+:10CD00008FEB9EE1609168094AE050E00E9435AFE8
+:10CD10008FEB9EE163E677E00E94D7AF8FEB9EE159
+:10CD200060915D094AE050E00E9435AF8FEB9EE1D3
+:10CD300063E677E00E94D7AF8FEB9EE160916A09CE
+:10CD40004AE050E00E9435AF8FEB9EE163E677E06A
+:10CD50000E94D7AF8FEB9EE1609166094AE050E0F8
+:10CD60000E9447AF08E21EE0C8010E94B945682F43
+:10CD70008093121A8FEB9EE14AE050E00E9435AF9B
+:10CD80008FEB9EE161E878E00E94D7AF0F5F1F4F05
+:10CD90002EE00835120741F78FEB9EE16FE277E056
+:10CDA0000E948BB0C9ECDDE0CE010E94B945182F7E
+:10CDB000CE0101970E94B94500E0B801680F711DCE
+:10CDC0007093141A6093131A8FEB9EE14AE050E0BF
+:10CDD0000E9407AF8FEB9EE161E878E00E94D7AF39
+:10CDE00022968EE0C932D807F9F68FEB9EE16FE20A
+:10CDF00077E00E948BB002EC1DE0F999FECF12BDE6
+:10CE000001BDF89A60B58FEB9EE14AE050E00E94C8
+:10CE100035AF8FEB9EE161E878E00E94D7AF0F5FFE
+:10CE20001F4F2DE0083C120741F78FEB9EE16FE2A8
+:10CE300077E00E948BB080916809882331F488E202
+:10CE40009EE00E94B9458823E9F410E0812F0E94FA
+:10CE500082591F5F1033D1F782EC9DE0F999FECF24
+:10CE60001FBA92BD81BD10BC0FB6F894FA9AF99A18
+:10CE70000FBE01962DE0883C920781F71092680959
+:10CE80000E94F54A8FEB9EE164E878E00E94D7AFFC
+:10CE90008FEB9EE1609168094AE050E00E9447AF45
+:10CEA00008E21EE08FEB9EE161E878E00E94D7AFD8
+:10CEB000C8010E94B945682F8093121A8FEB9EE13A
+:10CEC0004AE050E00E9435AF0F5F1F4F8EE00835FB
+:10CED000180741F78FEB9EE16FE277E00E948BB07D
+:10CEE000C9ECDDE08FEB9EE161E878E00E94D7AF0E
+:10CEF000CE010E94B945182FCE0101970E94B94575
+:10CF000000E0B801680F711D7093141A6093131A32
+:10CF10008FEB9EE14AE050E00E9407AF22962EE0A0
+:10CF2000C932D207F9F68FEB9EE16FE277E00E94FB
+:10CF30008BB002EC1DE0F999FECF12BD01BDF89A4D
+:10CF400060B58FEB9EE14AE050E00E9435AF8FEB79
+:10CF50009EE161E878E00E94D7AF0F5F1F4F8DE040
+:10CF6000083C180741F78FEB9EE16FE277E00E94E3
+:10CF70008BB0DF91CF911F910F91FF90EF900895AB
+:10CF80009C01F999FECF1FBA32BD21BD60BD0FB61D
+:10CF9000F894FA9AF99A0FBE0895EF92FF920F93C0
+:10CFA000CF93DF93DC01EB01722F532F002331F479
+:10CFB000822F932F9C01F90160E03EC0822F932FB6
+:10CFC000FC0160E019C08491332727FD309590E083
+:10CFD0002817390769F431968491882361F41196F2
+:10CFE0008C918D3329F4872F952FFC0161E003C0CC
+:10CFF000872F952FFC0111962C91222339F1203295
+:10D0000029F12A3019F16623F1F224C080819817A2
+:10D0100071F431968081882371F411968C918D334F
+:10D0200031F4872F952F9C01F90161E004C0872F0F
+:10D03000952F9C01F90111969C91992339F090321A
+:10D0400029F09A3019F0662309F304C0613011F019
+:10D0500030E018C07A2F50E04150504002C0299370
+:10D0600011963A2F371B2C91222359F0203249F088
+:10D070002A3039F0263229F0832F90E08417950763
+:10D0800074F31882E114F10411F0F7016083832F27
+:10D09000DF91CF910F91FF90EF900895CF93DF93A1
+:10D0A000FC01EC0137C08B3211F480E231C08532D3
+:10D0B00079F5DF0111969181392F30533A3070F0B4
+:10D0C000892F8156863010F4375208C0892F815439
+:10D0D000863010F030E002C0392F3753FD01319611
+:10D0E00011962C91922F90539A3070F0822F815686
+:10D0F000863010F4975208C0822F8154863010F089
+:10D1000090E002C0922F9753832F8295807F892BC6
+:10D11000899331968081882331F61882DF91CF91EF
+:10D1200008956F927F928F929F92BF92CF92DF92DB
+:10D13000EF92FF920F931F93DF93CF93CDB7DEB79C
+:10D1400028970FB6F894DEBF0FBECDBF8091490976
+:10D15000898380914A098A8380914B098B838091CE
+:10D160004C098C83BB243E010894611C711C85E032
+:10D17000882E912C8C0E9D1E6091A9096F5F609383
+:10D18000A909C3010E94B3820E94C2A86B017C015D
+:10D1900088EE93E0A0E0B0E0C80ED91EEA1EFB1EA8
+:10D1A0000E94C91A8C010E945183012B71F1C401A4
+:10D1B0006091A9090E943D7F882339F12D813E812C
+:10D1C0004F81588520583E474A4A534808C0B39477
+:10D1D00094E1B91689F620E030E040E050E0B90172
+:10D1E000CA0128960FB6F894DEBF0FBECDBFCF910F
+:10D1F000DF911F910F91FF90EF90DF90CF90BF9044
+:10D200009F908F907F906F9008950E94C2A86C1598
+:10D210007D058E059F0520F2DACF1F93CF93DF9314
+:10D22000182F8DB79EB70C970FB6F8949EBF0FBE00
+:10D230008DBFEDB7FEB73196C0E4D0E1ADB7BEB754
+:10D240001296DC93CE93119786E194E193838283C7
+:10D250008DE693E1958384838FE793E197838683BB
+:10D2600083EB93E19187808784ED93E193878287B5
+:10D270000E94EA1CEDB7FEB73C960FB6F894FEBFCD
+:10D280000FBEEDBF1123A1F000D000D0ADB7BEB7E7
+:10D290001296DC93CE93119784E194E114969C93BB
+:10D2A0008E9313970E94EA1C0F900F900F900F908F
+:10D2B000DF91CF911F9108958DB79EB70C970FB650
+:10D2C000F8949EBF0FBE8DBFEDB7FEB7319680E4D8
+:10D2D00090E1ADB7BEB712969C938E9311978BE3F6
+:10D2E00094E1938382838DE693E19583848381E245
+:10D2F00094E19783868384ED93E19187808783EB24
+:10D3000093E1938782870E94EA1C8DB79EB70C96A3
+:10D310000FB6F8949EBF0FBE8DBF08950F931F9355
+:10D320000E945C6900D000D000D0EDB7FEB7319606
+:10D3300000E410E1ADB7BEB712961C930E9311979F
+:10D3400082EE9EE09383828386E29EE095838483CF
+:10D350000E94EA1C00D0EDB7FEB73196ADB7BEB75C
+:10D3600012961C930E93119784EC9EE09383828314
+:10D3700089ED90E0958384838091420986831782AA
+:10D380000E94EA1C0F900F90EDB7FEB73196ADB733
+:10D39000BEB712961C930E93119781E99EE093837A
+:10D3A000828384E998E0958384830E94EA1C8DB788
+:10D3B0009EB706960FB6F8949EBF0FBE8DBF80E055
+:10D3C0001F910F9108950E945C698DB79EB70C97CD
+:10D3D0000FB6F8949EBF0FBE8DBFEDB7FEB7319666
+:10D3E00080E490E1ADB7BEB712969C938E931197EF
+:10D3F00088E190E19383828384E998E09583848334
+:10D400008AE998E09783868384EC98E09187808707
+:10D410008AEB98E0938782870E94EA1C8DB79EB7BB
+:10D420000C960FB6F8949EBF0FBE8DBF80E0089596
+:10D43000AF92BF92DF92EF92FF920F931F93CF9321
+:10D44000DF9300D000D000E410E1ADB7BEB7129674
+:10D450001C930E93119786EE9DE014969C938E93E9
+:10D4600013970E94EA1CFF240F900F900F900F90CB
+:10D47000D02EE12E23EEA22E2DE0B22EC1EEDDE065
+:10D480004FC00F2D10E000D000D000D0ADB7BEB718
+:10D490001196EDB7FEB7D182E2821396BC92AE929E
+:10D4A0001297F80193E0F595E7959A95E1F7E85022
+:10D4B000FA4E808190E098012770307002C09595F7
+:10D4C00087952A95E2F78170907015969C938E93BC
+:10D4D00014970E94EA1C8091F71590E001972DB7F0
+:10D4E0003EB72A5F3F4F0FB6F8943EBF0FBE2DBF29
+:10D4F00008171907A1F000D000D0ADB7BEB711963C
+:10D50000DC9211971296EC9212971496DC93CE93BC
+:10D5100013970E94EA1C0F900F900F900F90F394B6
+:10D520002091F715F21608F4ACCF00D000D000D04F
+:10D53000EDB7FEB7319680E490E1ADB7BEB7129675
+:10D540009C938E9311978FEC9DE093838283248329
+:10D5500015820E94EA1CEDB7FEB736960FB6F89416
+:10D56000FEBF0FBEEDBF61E070E080E090E00E9482
+:10D57000D0A8DF91CF911F910F91FF90EF90DF9096
+:10D58000BF90AF90089581E00E940D690E94186AD3
+:10D5900080E00895EF92FF920F936BE176E14FEFF9
+:10D5A00025EA3DE001E0EE24FF240E94CD678823B8
+:10D5B00011F480E105C08BE196E10E94032281E035
+:10D5C0000F91FF90EF900895CF93DF939C011092FD
+:10D5D0001B16FC01A081B181C0E0D0E00FC09C917E
+:10D5E0009D3231F09B3221F0892F80538A3068F4CC
+:10D5F000FE01E55EF94E908321961196F901808136
+:10D6000091810A96A817B90750F3C55ED94E1882C2
+:10D610001196F901B183A0838BE196E10E94030E7C
+:10D62000CB01DF91CF9108958F929F92AF92BF92DD
+:10D63000CF92DF92EF92FF920F931F93CF93DF93DE
+:10D64000EC016BE176E14FEF2BEC3DE001E0EE24E5
+:10D65000FF240E94CD67882309F483C08BE196E103
+:10D660000E94E50D6C0197FD7AC08091F71590E05E
+:10D67000C816D9060CF073C0CE016BE176E14FEF0E
+:10D6800028EC3DE00E94CD67882309F46AC08BE155
+:10D6900096E10E94E50D182F0E949D524B015C01FE
+:10D6A000112309F455C0CE016BE176E14FEF26EC72
+:10D6B0003DE00E94CD67882309F453C08BE196E1D9
+:10D6C0000E94030EEB01CB01019780529D4F08F0A1
+:10D6D00046C0A6014F5F5F4F2091ED1522952F7038
+:10D6E0003091EE15832F8295807F822B90E08417F6
+:10D6F0009507C9F132953F708091EF158295807F33
+:10D70000832B90E08417950771F1F601E954F64EEA
+:10D7100080818F3F51F0E82FF0E033E0EE0FFF1FE4
+:10D720003A95E1F7E95CF74E03C00E94F055FC0121
+:10D730003097C9F01082118212821382D583C4837C
+:10D74000C68283E68783C501B4010E94DE3405C02A
+:10D750008C2DB501A4010E949D3681E005C081E1B8
+:10D7600003C080E101C080E3DF91CF911F910F9151
+:10D77000FF90EF90DF90CF90BF90AF909F908F90F1
+:10D780000895AF92BF92CF92DF92EF92FF920F93E4
+:10D79000DF93CF93CDB7DEB7CF5FD0400FB6F8940D
+:10D7A000DEBF0FBECDBF6C014BE1A42E46E1B42E0F
+:10D7B000B5014FEF21EF3DE001E0EE24FF240E9490
+:10D7C000CD67882311F480E12EC0C6016E01089454
+:10D7D000C11CD11CB6014FEF2DEE3DE001E0EE245F
+:10D7E000FF240E94CD678823E9F0C501B60144E219
+:10D7F00050E00E94840E0097A9F4C5010E944E6873
+:10D8000010923E16F50101900020E9F7EB51F64128
+:10D8100080E498E0B501AF0120EC37E60E94EF0EFE
+:10D8200081E001C083E0C150DF4F0FB6F894DEBF46
+:10D830000FBECDBFCF91DF910F91FF90EF90DF90A2
+:10D84000CF90BF90AF900895EF92FF920F93CF9338
+:10D85000DF93EC016BE176E14FEF21E13EE001E087
+:10D86000EE24FF240E94CD67882311F18BE196E11D
+:10D870000E944E6810924B16ABE1B6E1FD0180812B
+:10D88000803209F08D938081882311F03196F7CF93
+:10D89000ABE1B6E1FD0101900020E9F7EA1BFB0BCB
+:10D8A00084E998E0BD01AF0120EC37E60E94EF0E5D
+:10D8B000CE016BE176E14FEF2DE03EE001E0EE249A
+:10D8C000FF240E94CD67882311F18BE196E10E942D
+:10D8D0004E6810924B16ABE1B6E1FD0180818032BB
+:10D8E00009F08D938081882311F03196F7CFABE159
+:10D8F000B6E1FD0101900020E9F7EA1BFB0B84EC87
+:10D9000098E0BD01AF0120EC37E60E94EF0E8FEFEB
+:10D91000DF91CF910F91FF90EF9008952F923F925A
+:10D920004F925F926F927F928F929F92AF92BF922F
+:10D93000CF92DF92EF92FF920F931F93DF93CF93DB
+:10D94000CDB7DEB727970FB6F894DEBF0FBECDBFB9
+:10D950003C01B9E2AB2EB9E0BB2E1F8244248824DF
+:10D96000CC24DD24A2E02A2E312C2C0E3D1E1C2DB1
+:10D970001B3409F487C0183109F484C0CC2009F4A1
+:10D9800081C01E3009F47EC0183209F47BC010310A
+:10D9900009F478C01B3209F475C0C601F501508046
+:10D9A000F601EC5DF94F9490F1E09F1611F4F5014A
+:10D9B0001082D101E6EDF9E025E001900D922150B1
+:10D9C000E1F7BE016D5F7F4F4AE050E00E940B0F10
+:10D9D000C3016BE176E14FEF910100E0EE24FF24FB
+:10D9E0000E94CD678823D1F1F1E09F1619F4F5016B
+:10D9F000908234C08BE196E10E94030E9B01AC0142
+:10DA0000143141F0173231F0133121F0163211F098
+:10DA1000113139F4C9010E944B8B282F30E040E0CE
+:10DA200050E08091F5158C3D49F41E3139F4F2E057
+:10DA30005595479537952795FA95D1F757FD0CC021
+:10DA4000892D90E0A0E0B0E082179307A407B50706
+:10DA50001CF0F501208302C0F1E0FF83F501808115
+:10DA6000851581F0812F8150823010F44424439435
+:10DA7000812F8052843010F4442443941F3111F4D8
+:10DA8000882483940894C11CD11C0894A11CB11C47
+:10DA9000FCE4CF16D10409F06ACFEBE1CE2EE6E12B
+:10DAA000DE2EC301B6014FEF29E03EE001E0EE2497
+:10DAB000FF240E94CD678823E1F0C6010E944E68D2
+:10DAC00010924A16C60164E678E00E94058B88230E
+:10DAD00081F0F60101900020E9F7EC19FD0984E6D8
+:10DAE00098E0B601AF0120EC37E60E94EF0E8824E3
+:10DAF000839419827BE1C72E76E1D72EC301B6014C
+:10DB00004FEF23E03EE001E07E010894E11CF11CB0
+:10DB10000E94CD678823E9F0C6010E944E681092EA
+:10DB20003216C60164EF78E00E94058B882321F14C
+:10DB3000F60101900020E9F7EC19FD0984EF98E067
+:10DB4000B601AF0120EC37E60E94EF0E88248394E3
+:10DB500013C08981882381F010921B16F601019071
+:10DB60000020E9F7EB51F64184EF98E0B601AF01F0
+:10DB700020EC37E60E94EF0E19826BE1C62E66E1BB
+:10DB8000D62EC301B6014FEF2DEF3DE001E07E013F
+:10DB90000894E11CF11C0E94CD67882399F0C6010E
+:10DBA0000E944E6810921917F60101900020E9F7C3
+:10DBB0003197EC19FD098DE994E0B601AF0120E041
+:10DBC00030E013C08981882391F010921B16F60172
+:10DBD00001900020E9F73197EB51F6418DE994E08F
+:10DBE000B601AF0120E030E001E00E94118C80918D
+:10DBF0002B09882319F5C3016BE176E14FEF29EF7B
+:10DC00003DE001E0EE24FF240E94CD678823B1F0BF
+:10DC10008BE196E10E94030E162F072FF82EE92EB6
+:10DC20000E94AA35612F702F8F2D9E2D0E94E989A9
+:10DC3000612F702F8F2D9E2D0E9497195BE1C52EAD
+:10DC400056E1D52EC301B6014FEF25EF3DE001E0CF
+:10DC5000EE24FF240E94CD678823B1F0C6010E9404
+:10DC60004E6810921A17F60101900020E9F73197DB
+:10DC7000EC19FD0989E894E0B601AF0120E030E03D
+:10DC80000E94118C882483942F81222311F081E13A
+:10DC900014C00E94F54A442029F08091EC1584605C
+:10DCA0008093EC15882041F01092121610921316F2
+:10DCB000109214161092151681E027960FB6F8945C
+:10DCC000DEBF0FBECDBFCF91DF911F910F91FF90AF
+:10DCD000EF90DF90CF90BF90AF909F908F907F900C
+:10DCE0006F905F904F903F902F9008952F923F92AA
+:10DCF0004F925F926F927F928F929F92AF92BF925C
+:10DD0000DF92EF92FF920F931F93CF93DF9357EA27
+:10DD1000A52E54E0B52EC0E0D0E04BE1242E46E124
+:10DD2000342E30E4832E30E1932E28EA422E22E175
+:10DD3000522E96EA692E92E1792EFE01E75DF64FAA
+:10DD40008081DC2E24E1C21789F037E2C31771F01D
+:10DD500093E1C91759F0A6E2CA1741F0B1E1CB1718
+:10DD600029F0E82EFF2400E010E007C00E945F8B3E
+:10DD70007C010027F7FC0095102FEEE1DE1669F418
+:10DD80008091F5158C3A09F45BC082E0EE0CFF1C23
+:10DD9000001F111F8A95D1F70BC0F0E1DF1609F4BF
+:10DDA0004FC02AE1D21621F48091EC1581FD48C0C4
+:10DDB00080912417813029F48D2D8B51823008F405
+:10DDC0003FC08BE196E1B50145E050E00E94EC8A4E
+:10DDD0008DB79EB70A970FB6F8949EBF0FBE8DBF42
+:10DDE000EDB7FEB73196ADB7BEB712969C928E9244
+:10DDF00011975382428235822482E682F78200871D
+:10DE000011870E94EA1CEDB7FEB73A960FB6F89458
+:10DE1000FEBF0FBEEDBFFBE4DF1691F000D000D0D7
+:10DE2000ADB7BEB712969C928E92119714967C92C3
+:10DE30006E9213970E94EA1C0F900F900F900F9014
+:10DE40002196E5E0F0E0AE0EBF1ECC34D10509F01E
+:10DE500074CF0E9497512DB73EB72A5030400FB66D
+:10DE6000F8943EBF0FBE2DBFEDB7FEB7319620E44C
+:10DE700030E1ADB7BEB712963C932E93119727E8C9
+:10DE800032E1338322839583848385E090E0978316
+:10DE900086838091F515808711860E94EA1CEDB774
+:10DEA000FEB73A960FB6F894FEBF0FBEEDBF61E025
+:10DEB00070E080E090E00E94D0A8DF91CF911F91A8
+:10DEC0000F91FF90EF90DF90BF90AF909F908F9059
+:10DED0007F906F905F904F903F902F90089581E0DA
+:10DEE0000E940D690E94766E80E00895AF92BF9205
+:10DEF000CF92DF92EF92FF920F931F93DF93CF9316
+:10DF0000CDB7DEB7C258D0400FB6F894DEBF0FBE13
+:10DF1000CDBF6C016BE176E14FEF2EEB32E101E01A
+:10DF2000EE24FF240E94CD67882309F4E1C08BE131
+:10DF300096E10E94E50D5C018FEFA8168FEFB80601
+:10DF40000CF4D8C08091351890E0A816B9060CF0F2
+:10DF5000D1C0C6016BE176E14FEF29EB32E10E94BF
+:10DF6000CD678E0101591F4F882361F08BE196E147
+:10DF70000E944E68C8016BE176E144E150E00E94E6
+:10DF8000920E17C0C80160EB72E10E943E0E9FEF37
+:10DF9000A9169FEFB90621F48091351890E001C0D1
+:10DFA000C5010196BE0169587F4F4AE050E00E94CA
+:10DFB0000B0FC6010E944E68DA82C98286010C5995
+:10DFC0001F4F0EC0C70164ED78E043E050E00E94AF
+:10DFD000840E009781F00894E11CF11CFA82E9821A
+:10DFE000E980FA80F7018081882309F481C0E01676
+:10DFF000F10640F37DC083E090E0E80EF91EFA825E
+:10E00000E9827E010894E11CF11CC7010E94E46AC8
+:10E010008B8383E0FE0133968183C7010E94E46A0B
+:10E020008D83C7010E94E46A8E8389819A8101965B
+:10E030009A838983C7010E94E46A98878F83C70106
+:10E040000E94E46A9A878987C7010E94E46A9C87D4
+:10E050008B87C7010E94E46A9E878D8789819A8198
+:10E0600002969A83898310E00DC0C7010E94E46A7A
+:10E07000E12FF0E03696EE0FFF1FEE0DFF1D9383AC
+:10E0800082831F5F8091F715181778F389819A8131
+:10E0900002969A838983CE0101960AC0E12FF0E0AF
+:10E0A0003696EE0FFF1FE80FF91F138212821F5FD3
+:10E0B0001033A0F38B8182958370833039F48E8185
+:10E0C000823020F0CE0105960E948656BE016D5F1B
+:10E0D0007F4F9FEFA9169FEFB90621F4CB010E9455
+:10E0E000AE5803C08A2D0E949758882329F402C095
+:10E0F00080E103C081E101C081E0CE57DF4F0FB660
+:10E10000F894DEBF0FBECDBFCF91DF911F910F916D
+:10E11000FF90EF90DF90CF90BF90AF900895EF9277
+:10E12000FF920F936BE176E14FEF22EC32E101E0D9
+:10E13000EE24FF240E94CD67882311F480E114C0EF
+:10E140008BE196E10E94E50D9C01181619065CF41E
+:10E150008091351890E0281739072CF4822F0E94FF
+:10E160001B5681E001C081E10F91FF90EF9008956F
+:10E17000EF92FF920F936BE176E14FEF26EC32E1E5
+:10E1800001E0EE24FF240E94CD67882311F480E192
+:10E1900018C08BE196E10E94E50D9C018FEF2F3FA7
+:10E1A000380719F40E940B560BC08091351890E087
+:10E1B0002817390714F081E104C0822F0E943058DB
+:10E1C00081E00F91FF90EF9008956F927F928F9270
+:10E1D0009F92AF92BF92CF92DF92EF92FF920F93F6
+:10E1E0001F93CF93DF938091EB1587FD02C080E2F0
+:10E1F0009BC081E00E940D699CE1692E96E1792E19
+:10E2000010E000E088EF882E912CB0E4EB2EB0E116
+:10E21000FB2EAEEDAA2EA2E1BA2EF7EFCF2EF2E141
+:10E22000DF2E60C0C12FD0E0CE01E3E09595879549
+:10E23000EA95E1F78655924F0E94B94590E09E011C
+:10E240002770307002C0959587952A95E2F780FF78
+:10E2500048C0C89D9001C99D300DD89D300D112436
+:10E2600084E994E06BE176E148EF50E00E949F8BF7
+:10E27000002311F401E012C000D000D0ADB7BEB74A
+:10E280001296FC92EE9211971496DC92CE9213970E
+:10E290000E94EA1C0F900F900F900F90EDB7FEB701
+:10E2A0003A970FB6F894FEBF0FBEEDBF3196ADB7EB
+:10E2B000BEB71296FC92EE921197B382A282D583DA
+:10E2C000C48380911B1686831782718660860E94A4
+:10E2D000EA1CEDB7FEB73A960FB6F894FEBF0FBE34
+:10E2E000EDBF1F5F8091F715181708F49BCF00D082
+:10E2F00000D080E490E1ADB7BEB712969C938E93A8
+:10E3000011978CED92E114969C938E9313970E9433
+:10E31000EA1C0F900F900F900F9061E070E080E08A
+:10E3200090E00E94D0A880E0DF91CF911F910F91E3
+:10E33000FF90EF90DF90CF90BF90AF909F908F9025
+:10E340007F906F9008959F92AF92BF92CF92DF928D
+:10E35000EF92FF920F931F93DF93CF9300D0CDB72F
+:10E36000DEB78C010E944E681A83098334E6C32EFF
+:10E37000D12CC00ED11E0DC0C80168ED78E043E07D
+:10E3800050E00E94840E009779F00F5F1F4F1A83B0
+:10E39000098309811A81F8018081882309F44DC01D
+:10E3A0000C151D0548F349C00D5F1F4F1A830983E3
+:10E3B0000E94AA35FF24EE245E010894A11CB11C22
+:10E3C0002EEF922E2EC0C5010E94E46A6C010097C8
+:10E3D00039F18F2D86958695869590E08256924FDD
+:10E3E0000E94B94590E02F2D277002C09595879522
+:10E3F0002A95E2F780FD14C00E94F0558C01009729
+:10E4000079F0FC011082118212821382C6010E94EF
+:10E410001D8BF801758364839782F682EE24E39462
+:10E42000F3948091F715F81670F2EE2031F00E9407
+:10E430009D520E94DE3481E001C080E10F900F9078
+:10E44000CF91DF911F910F91FF90EF90DF90CF90D0
+:10E45000BF90AF909F900895CF92DF92EF92FF927E
+:10E460000F93CF93DF936C016BE176E14FEF2EECCE
+:10E4700032E101E0EE24FF240E94CD67882311F4ED
+:10E4800080E12DC08BE196E10E94E50DEC0197FD46
+:10E4900025C08091351890E0C817D907FCF4C60153
+:10E4A0006BE176E14FEF2AEC32E101E0EE24FF244C
+:10E4B0000E94CD67882311F400E006C000E080913F
+:10E4C0001B16813309F401E00E94AA359E012F5FDB
+:10E4D000822F602F0E94B13581E001C081E1DF9180
+:10E4E000CF910F91FF90EF90DF90CF900895AF9272
+:10E4F000BF92DF92EF92FF920F931F93CF93DF9320
+:10E500007C01CB016BE176E10E94F24C00D000D09F
+:10E5100000D0EDB7FEB7319600E410E1ADB7BEB75D
+:10E5200012961C930E93119783E693E19383828353
+:10E53000F582E4820E94EA1CEE24EDB7FEB736961F
+:10E540000FB6F894FEBF0FBEEDBFD02EF12E40E601
+:10E55000A42E43E1B42ECEE5D3E140C000D000D0DC
+:10E5600000D0ADB7BEB71196EDB7FEB7D182F2823B
+:10E570001396BC92AE9212970E2D10E0F801E55E54
+:10E58000F94E808114968C93149715961C920E94D4
+:10E59000EA1C8091F61590E001972DB73EB72A5FEF
+:10E5A0003F4F0FB6F8943EBF0FBE2DBF0817190797
+:10E5B000A1F000D000D0ADB7BEB71196DC92119794
+:10E5C0001296FC9212971496DC93CE9313970E94A6
+:10E5D000EA1C0F900F900F900F90E3948091F61526
+:10E5E000E81608F4BBCF00D000D080E490E1EDB78E
+:10E5F000FEB7928381838BE593E1948383830E94AA
+:10E60000EA1C0F900F900F900F90DF91CF911F9108
+:10E610000F91FF90EF90DF90BF90AF9008952F92F1
+:10E620003F924F925F926F927F928F929F92AF92A2
+:10E63000BF92CF92DF92EF92FF920F931F93DF93DF
+:10E64000CF93CDB7DEB729970FB6F894DEBF0FBED4
+:10E65000CDBF4C01162F5A01CA01BE016C5F7F4F1E
+:10E660000E94F24CDE011196E3EEF9E083E00190A6
+:10E670000D928150E1F7198310E062E0262E312CD3
+:10E680002C0E3D1E2E010894411C511C54E0652E99
+:10E69000712C6C0E7D1E1DC0C12EDD24C601B10182
+:10E6A0004AE050E00E940B0FC4016BE176E14FEFAE
+:10E6B000920100E0EE24FF240E94CD67882341F000
+:10E6C0008BE196E10E94E50DC60CD71CF601808314
+:10E6D0001F5F8091F6151817F8F2C501BE016C5F37
+:10E6E0007F4F0E94964C29960FB6F894DEBF0FBE5E
+:10E6F000CDBFCF91DF911F910F91FF90EF90DF90F1
+:10E70000CF90BF90AF909F908F907F906F905F90D1
+:10E710004F903F902F9008958F929F92AF92BF920B
+:10E72000CF92DF92EF92FF920F931F93DF93CF93DD
+:10E73000CDB7DEB760970FB6F894DEBF0FBECDBF82
+:10E740006C0183E78D831E821F82188610E0F5E03E
+:10E750008F2E912C8C0E9D1EE6E0AE2EB12CAC0EB1
+:10E76000BD1E1DC0812F90E0B5014AE050E00E941F
+:10E770000B0FC6016BE176E14FEF940100E0EE2450
+:10E78000FF240E94CD67882349F08BE196E10E9427
+:10E790004E68812F6BE176E10E949D4C1F5F809156
+:10E7A000F7151817F8F2C6016DE64CE85DE00E9417
+:10E7B0000F73C60169E642E95DE00E940F73C6016E
+:10E7C0006EE648E95DE00E940F73C60164E64EE91B
+:10E7D0005DE00E940F73C60161E744EA5DE00E94BC
+:10E7E0000F7385E089831A82DE011196FD01019085
+:10E7F0000020E9F73197EA1BFB0B80EB9DE0BD01A0
+:10E80000AF0120EC37E60E94EF0E86E08B831C827E
+:10E81000DE011396FD0101900020E9F73197EA1B14
+:10E82000FB0B86EB9DE0BD01AF0120EC37E60E94BB
+:10E83000EF0E8091EB1587FF06C0C60160E74AEA3C
+:10E840005DE00E940F73C6016BE176E14FEF28EDAA
+:10E8500032E101E0EE24FF240E94CD67882309F411
+:10E860007DC08BE196E10E94E50D182F8091F71590
+:10E87000811708F475C0C6016BE176E14FEF25ED15
+:10E8800032E101E0EE24FF240E94CD67882309F4E1
+:10E8900069C07CE1A72E76E1B72EC601B5014EEF27
+:10E8A00022ED32E10E94CD67882309F45BC080919C
+:10E8B0001B16805380931B1610921217833069F534
+:10E8C00030911D16305180911C162AE08202C00141
+:10E8D0001124380F20911E16DE011996EBEDF9E098
+:10E8E00088E001900D928150E1F7FE01399690E0A9
+:10E8F000AE014F5E5F4F05C08081831709F491E040
+:10E900003196E417F50719F09923B1F302C0992362
+:10E9100039F12053223020F50EC0843061F4C50156
+:10E920000E944E68F50101900020E9F7ED51F64193
+:10E93000E83FF105A8F4ABE1B6E1FD01019000204C
+:10E94000E9F7EA1BFB0B28EF129F9001112484E9E1
+:10E9500094E0BD01AF0100E00E94118C81E003C092
+:10E9600081E101C080E160960FB6F894DEBF0FBE72
+:10E97000CDBFCF91DF911F910F91FF90EF90DF906E
+:10E98000CF90BF90AF909F908F900895EF92FF929D
+:10E990000F939C01809142098823B1F4C9016BE176
+:10E9A00076E14FEF2AE633E101E0EE24FF240E94F6
+:10E9B000CD67882351F08BE196E10E944E688BE190
+:10E9C00096E10E94C145811181E00F91FF90EF9087
+:10E9D0000895882371F080914610909147102091FE
+:10E9E000441030914510821B930B61E10E942E81EF
+:10E9F00008958091461090914710209144103091D5
+:10EA00004510821B930B60E10E942E8110924310EF
+:10EA10001092421086EC9AE0909345108093441037
+:10EA200090934710809346100895DF92EF92FF92E3
+:10EA30000F931F93CF93DF938C010E94B1811092AB
+:10EA400043101092421086EC9AE090934510809308
+:10EA500044109093471080934610B5E0EB2EF12CB4
+:10EA6000E00EF11ED80115965C91503219F40E9407
+:10EA70008E69CAC0E9EEFCE0C0E0D0E0652F7727E0
+:10EA800067FD7095D8011696DC2E849190E086176C
+:10EA9000970709F0C4C031962491319730E04C912A
+:10EAA000842F992787FD90952817390709F0B7C05B
+:10EAB00087010D5F1F4F533719F4453791F536C065
+:10EAC0005A3679F54F3611F0413659F5C8010E9492
+:10EAD000C674882359F581E00E940D69EDB7FEB731
+:10EAE00038970FB6F894FEBF0FBEEDBF319680E4A5
+:10EAF00090E1ADB7BEB712969C938E93119788E5BF
+:10EB00009DE09383828387EA94E095838483809158
+:10EB10002909868317820E94EA1CEDB7FEB7389652
+:10EB200048C0C8010E94C674882331F1CC0FDD1F94
+:10EB3000C158D64FE881F981C8010995182F88235B
+:10EB4000E9F18F3FD1F40E945C6900D000D000D081
+:10EB5000EDB7FEB7319680E490E1ADB7BEB712963F
+:10EB60009C938E93119785E59DE09383828384E146
+:10EB70009DE09583848318C012E081E00E940D69B6
+:10EB800000D000D000D0EDB7FEB7319680E490E120
+:10EB9000ADB7BEB712969C938E93119788E49DE013
+:10EBA00093838283148315820E94EA1CEDB7FEB71B
+:10EBB00036960FB6F894FEBF0FBEEDBFF5E1DF1637
+:10EBC00019F581E00E940D6900D000D000D0EDB7AA
+:10EBD000FEB7319680E490E1ADB7BEB712969C9334
+:10EBE0008E9311978BE39DE09383828380E290E084
+:10EBF000958384830E94EA1CEDB7FEB736960FB664
+:10EC0000F894FEBF0FBEEDBF81E00E94E974DF9172
+:10EC1000CF911F910F91FF90EF90DF900895D394C3
+:10EC200021963296C531D10509F02ECFC7CF2F924C
+:10EC30003F924F925F926F927F928F929F92AF928C
+:10EC4000BF92CF92DF92EF92FF920F931F93DF93C9
+:10EC5000CF93CDB7DEB7A2970FB6F894DEBF0FBE45
+:10EC6000CDBF4C018091EB1587FD02C080E28FC1C2
+:10EC7000C4016BE176E14FEF21EC3DE001E0EE24D1
+:10EC8000FF240E94CD678823B9F08BE196E10E94B2
+:10EC9000E50D7C0121E08E36920708F075C10E94D7
+:10ECA0009D5220E831E541E050E00E9457B45901FF
+:10ECB0006901CE18DF083EC0C4016BE176E14FEF79
+:10ECC0002BEB3DE001E0EE24FF240E94CD6788237A
+:10ECD00009F45CC18BE196E10E94030E5B016C01BB
+:10ECE000C4016BE176E14FEF27EB3DE00E94CD6779
+:10ECF000882309F44BC1C601B50120E831E541E0A4
+:10ED000050E00E9479B469018BE196E10E94030E04
+:10ED100020E831E541E050E00E9479B459012C151A
+:10ED20003D0508F431C1C9018C199D098E569140E9
+:10ED300008F02AC119821A821B821C82C4011E019A
+:10ED40000894211C311CB10144E022EB3DE001E0BC
+:10ED5000EE24FF240E94CD67482E80E00E940D69BA
+:10ED600000D000D000E410E1ADB7BEB712961C93FE
+:10ED70000E93119780EB9DE014969C938E931397BE
+:10ED80000E94EA1C99240F900F900F900F9089E039
+:10ED9000682E712C6C0E7D1E502E812ED3C0C601A4
+:10EDA0006BE176E14AE050E00E940B0F8BE196E1C7
+:10EDB0000E94DA2188E090E16BE176E10E94239FD6
+:10EDC000882309F4BCC019861B8618861F82E4E0DC
+:10EDD000FAE0FE83ED83C3016BE176E141E00E943E
+:10EDE000719D02C099249394C3016BE176E14FEFCA
+:10EDF00050E020E030E00E948E981816190624F0AA
+:10EE0000C3010E9475959BC0109219171BE1E12E5A
+:10EE100016E1F12E03C00894E11CF11CD7018C917E
+:10EE2000882311F38C32B9F7B701625070408CED32
+:10EE300098E042E050E00E94840E0097B1F0870114
+:10EE40000E5F1F4F8FED98E0B80142E050E00E9446
+:10EE5000840E009751F482EE98E0B80142E050E051
+:10EE60000E94840E009709F4BFCF87010E5F1F4FE9
+:10EE7000442051F0C101B80142E050E00E94840EEC
+:10EE8000009709F0B1CF14C085EE98E0B80142E0D8
+:10EE900050E00E94840E009709F4A6CF88EE98E017
+:10EEA000B80142E050E00E94840E009709F49CCF24
+:10EEB000992081F000D000D0EDB7FEB75182828258
+:10EEC0002EEA3DE0348323830E94EA1C0F900F90CA
+:10EED0000F900F9000D000D000D0EDB7FEB7319664
+:10EEE000ADB7BEB711965C92119712968C922BEA31
+:10EEF0003DE0338322838BE196E1958384830E94F6
+:10EF0000EA1C809146109091471020914410309156
+:10EF10004510821B930BA8E7B5E0A81BB90BEDB712
+:10EF2000FEB736960FB6F894FEBF0FBEEDBFA03504
+:10EF3000B1050CF057CF80E00E94E97453CF0894DC
+:10EF4000C11CD11CAC14BD0408F029CF00D000D0E6
+:10EF500080E490E1ADB7BEB712969C938E93119763
+:10EF600089EA9DE014969C938E9313970E94EA1C65
+:10EF70000F900F900F900F9061E070E080E090E0B4
+:10EF80000E94D0A880E003C081E101C080E1A29688
+:10EF90000FB6F894DEBF0FBECDBFCF91DF911F91AA
+:10EFA0000F91FF90EF90DF90CF90BF90AF909F9028
+:10EFB0008F907F906F905F904F903F902F9008952B
+:10EFC000CF92DF92EF92FF920F931F93CF93DF9335
+:10EFD0006C016BE176E14FEF22E23EE001E0EE24CE
+:10EFE000FF240E94CD67882311F00E949420C6015F
+:10EFF0006BE176E14FEF2EE13EE001E0EE24FF24ED
+:10F000000E94CD67882371F08BE196E10E94E50DA7
+:10F01000181619063CF40E945C6981E00E94E974AC
+:10F020000E942845C6016BE176E14FEF2BE13EE0FF
+:10F0300001E0EE24FF240E94CD67882399F080919F
+:10F040001B16813339F48091EB1580FD0BC00E94B3
+:10F05000684C08C0803331F48091EB1580FF02C00A
+:10F060000E945E4CC6016BE176E14FEF28E13EE085
+:10F0700001E0EE24FF240E94CD67882361F18BE13B
+:10F0800096E10E94E50DEC0118161906F4F40E94B1
+:10F090009D527B018C01BE01882777FD8095982FBA
+:10F0A00020E13EE040E050E00E9405B4E60EF71E8D
+:10F0B000081F191FE092E315F092E4150093E5157F
+:10F0C0001093E6150E948E4C06C0009711F081E166
+:10F0D00026C00E947E4CC6016BE176E14FEF25E130
+:10F0E0003EE001E0EE24FF240E94CD678823B1F0CA
+:10F0F00080911B16813341F480915409882371F467
+:10F1000081E08093540908C0803341F48091540910
+:10F11000882321F0109254090E94F54A81E0DF9182
+:10F12000CF911F910F91FF90EF90DF90CF900895B6
+:10F130002F923F924F925F927F928F929F92AF92C7
+:10F14000BF92CF92DF92EF92FF920F931F93DF93C4
+:10F15000CF9300D00F92CDB7DEB70E949D525B01D6
+:10F160006C012DB73EB7225330400FB6F8943EBF26
+:10F170000FBE2DBFEDB7FEB7319600E410E1ADB77D
+:10F18000BEB712961C930E9311978FE79FE093835F
+:10F190008283A482B582C682D7828091F615808749
+:10F1A00011868091EB158170828713868091EB1513
+:10F1B00086958170848715868091EB158695869556
+:10F1C0008170868717868091E3159091E415A09150
+:10F1D000E515B091E615808B918BA28BB38B84E6FD
+:10F1E00098E0958B848B84EF98E0978B868B809149
+:10F1F000DF159091E015918F808F8091E1159091AE
+:10F20000E215938F828F8091E7159091E815A09178
+:10F21000E915B091EA15848F958FA68FB78F8091ED
+:10F22000121690911316A0911416B091151680A382
+:10F2300091A3A2A3B3A38091161690911716A09143
+:10F240001816B091191684A395A3A6A3B7A380910D
+:10F25000E71980A711A68091E81982A713A68091CB
+:10F26000E9199091EA1995A784A78091EB199091DB
+:10F27000EC19A091ED19B091EE1986A797A7A0AB54
+:10F28000B1AB0E94EA1C8091EB15EDB7FEB7F29688
+:10F290000FB6F894FEBF0FBEEDBF86FF1EC00E94E2
+:10F2A000CF5100D000D000D0EDB7FEB73196ADB74A
+:10F2B000BEB712961C930E93119724E73FE0338359
+:10F2C0002283958384830E94EA1CEDB7FEB73696AD
+:10F2D0000FB6F894FEBF0FBEEDBF80915B09813081
+:10F2E00091F52DB73EB72A5030400FB6F8943EBF87
+:10F2F0000FBE2DBFEDB7FEB7319680E490E1ADB7FC
+:10F30000BEB712969C938E9311978DE59FE09383E1
+:10F3100082838091461A9091471AA091481AB09121
+:10F32000491A84839583A683B7838FE090E0918701
+:10F3300080870E94EA1CEDB7FEB73A960FB6F894A4
+:10F34000FEBF0FBEEDBF00D000D000E410E1ADB7AE
+:10F35000BEB712961C930E93119783E59FE0149607
+:10F360009C938E9313970E94EA1C90E00F900F904D
+:10F370000F900F9078010FE41FE023C000D000D061
+:10F3800000D0EDB7FEB73196ADB7BEB71196EC928F
+:10F3900011971296FC9213830283A92FB0E0A85014
+:10F3A000BA4E8C918483158299830E94EA1C9981BC
+:10F3B0009F5FEDB7FEB736960FB6F894FEBF0FBE4F
+:10F3C000EDBF8091F61540E4442E40E1542E98178D
+:10F3D000A8F200D000D0ADB7BEB712965C924E92A4
+:10F3E000119785E49FE014969C938E9313970E9447
+:10F3F000EA1C99240F900F900F900F90C201742C6B
+:10F40000892E3AE3232E3FE0332E28E7422E25E0D3
+:10F41000522E9AC0E92DF0E0FB83EA83E954F64EC0
+:10F42000E081EF3F61F1F0E093E0EE0FFF1F9A956E
+:10F43000E1F7E95CF74EE080F1800281138184817D
+:10F440009581AE14BF04C006D106A8F09C0140E02F
+:10F4500050E02E0D3F1D401F511F2A193B094C093A
+:10F460005D09203060E0360761E0460760E056073E
+:10F4700008F0F6C0F9C09C0140E050E0F5C0EE2471
+:10F48000FF24870180E090E020E030E040E050E0A1
+:10F49000ADB7BEB71E970FB6F894BEBF0FBEADBFD7
+:10F4A000EDB7FEB7319611967C92119712968C9219
+:10F4B00033822282958384832683378340875187D2
+:10F4C000E286F386048715870E94EA1C8091F7156F
+:10F4D00090E00197EDB7FEB73E960FB6F894FEBFE9
+:10F4E0000FBEEDBF2A813B81281739071CF086E348
+:10F4F0009FE002C088E39FE000D000D0ADB7BEB768
+:10F5000011967C92119712968C92129714969C9356
+:10F510008E9313970E94EA1C809146109091471099
+:10F520002091441030914510821B930BF201E81B8F
+:10F53000F90B0F900F900F900F90E035F1051CF430
+:10F5400080E00E94E97493948091F715981608F46E
+:10F5500061CF0BE116E189E894E0B8014FEF50E08C
+:10F5600020E030E00E949F8B8823F1F000D000D093
+:10F5700000D0EDB7FEB7319680E490E1ADB7BEB7ED
+:10F5800012969C938E9311978AE29FE093838283D5
+:10F59000158304830E94EA1CEDB7FEB736960FB6BA
+:10F5A000F894FEBF0FBEEDBF0BE116E18DE994E0CC
+:10F5B000B8014FEF50E020E030E00E949F8B88239D
+:10F5C000F1F000D000D000D0EDB7FEB7319680E466
+:10F5D00090E1ADB7BEB712969C938E9311978CE1D4
+:10F5E0009FE093838283158304830E94EA1CEDB716
+:10F5F000FEB736960FB6F894FEBF0FBEEDBF00D033
+:10F6000000D080E490E1ADB7BEB712969C938E9384
+:10F6100011978AE19FE014969C938E9313970E9412
+:10F62000EA1C0F900F900F900F9061E070E080E067
+:10F6300090E00E94D0A80F900F900F90CF91DF9193
+:10F640001F910F91FF90EF90DF90CF90BF90AF9000
+:10F650009F908F907F905F904F903F902F90089554
+:10F6600020E030E040E050E0878190E011CF81E081
+:10F670000E940D690E94987880E008952F923F9231
+:10F680004F925F926F927F928F929F92AF92BF92B2
+:10F69000CF92DF92EF92FF920F931F93DF93CF935E
+:10F6A000CDB7DEB7C058D0400FB6F894DEBF0FBE5E
+:10F6B000CDBF2DB73EB72E5030400FB6F8943EBFA9
+:10F6C0000FBE2DBFEDB7FEB7319600E410E1ADB728
+:10F6D000BEB712961C930E93119788E492E1938320
+:10F6E000828380913518848315828091F6158683F4
+:10F6F000178280E190E09187808784E090E0938793
+:10F70000828784E190E0958784870E94EA1CEE243A
+:10F71000EDB7FEB73E960FB6F894FEBF0FBEEDBF35
+:10F720005E010894A11CB11CF02E012FA8E3CA2E83
+:10F73000A2E1DA2E8F2C912EFEE12F2EF2E13F2E48
+:10F74000E1E24E2EE2E15E2E78E7672E75E0772E3D
+:10F7500054C18E2DB5010E941958898182958370FC
+:10F76000833039F48C81823020F0CE0103960E94E0
+:10F77000B0562DB73EB72A5030400FB6F8943EBF72
+:10F780000FBE2DBFEDB7FEB73196ADB7BEB7119620
+:10F79000FC92119712960C932CE332E1338322836F
+:10F7A0008981848315828B81868317828C818087EF
+:10F7B00011860E94EA1C0F900F900F900F90EDB7EA
+:10F7C000FEB73196ADB7BEB71196FC92119712965F
+:10F7D0000C93D382C2828D819E81958384830E9403
+:10F7E000EA1CEDB7FEB73196ADB7BEB71196FC92E5
+:10F7F000119712960C93D382C2828F81988595833C
+:10F8000084830E94EA1CEDB7FEB73196ADB7BEB750
+:10F810001196FC92119712960C93D382C28289851D
+:10F820009A85958384830E94EA1CEDB7FEB73196D2
+:10F83000ADB7BEB71196FC92119712960C9322E3C6
+:10F8400032E1338322838B859C85958384830E9458
+:10F85000EA1C10E04DB75EB74A5F5F4F0FB6F894F1
+:10F860005EBF0FBE4DBF2DC08DB79EB708970FB6B8
+:10F87000F8949EBF0FBE8DBF2DB73EB72F5F3F4F91
+:10F88000EDB7FEB7F18202834EE252E1F9015383F4
+:10F890004283AA0FBB1FAA0DBB1D8D919C91A0E0B6
+:10F8A000B0E084839583A683B7830E94EA1C1F5F20
+:10F8B0002DB73EB7285F3F4F0FB6F8943EBF0FBE3F
+:10F8C0002DBF212F30E08091F71590E00197D901ED
+:10F8D00016962817390744F24DB75EB74850504086
+:10F8E0000FB6F8945EBF0FBE4DBF2DB73EB72F5F6A
+:10F8F0003F4FEDB7FEB78182928248E252E1F901B3
+:10F9000053834283AA0FBB1FAA0DBB1D8D919C91EF
+:10F91000A0E0B0E084839583A683B7830E94EA1CAD
+:10F920002DB73EB7285F3F4F0FB6F8943EBF0FBECE
+:10F930002DBF8BE196E1BE0163597F4F44E150E05A
+:10F940000E94920E10922F1600D000D000D0EDB77A
+:10F95000FEB73196ADB7BEB711968C92119712963D
+:10F960009C9225E232E1338322834BE156E15583B9
+:10F9700044830E94EA1C2E2D30E08091351890E0DF
+:10F980000197ADB7BEB716960FB6F894BEBF0FBEBF
+:10F99000ADBF2817390749F000D000D0EDB7FEB74A
+:10F9A000F1820283548243820EC000D000D0ADB7F2
+:10F9B000BEB71196FC92119712960C93129714965B
+:10F9C0003C922E9213970E94EA1C0F900F900F907A
+:10F9D0000F908091461090914710209144103091E3
+:10F9E0004510821B930BF301E81BF90BEA3FF1056D
+:10F9F0001CF480E00E94E974E39480913518E816C5
+:10FA000008F4A7CE00D000D080E490E1ADB7BEB737
+:10FA100012969C938E9311978BE192E114969C938E
+:10FA20008E9313970E94EA1C0F900F900F900F90E7
+:10FA300061E070E080E090E00E94D0A8C058DF4F05
+:10FA40000FB6F894DEBF0FBECDBFCF91DF911F91EF
+:10FA50000F91FF90EF90DF90CF90BF90AF909F906D
+:10FA60008F907F906F905F904F903F902F90089570
+:10FA700081E00E940D690E943E7B80E008958F9294
+:10FA80009F92AF92BF92CF92DF92EF92FF920F932D
+:10FA90001F93CF93DF9385E593E16CE87DE00E94AF
+:10FAA000777289E493E162E97DE00E94777282E4F3
+:10FAB00093E168E97DE00E9477728AE393E16EE961
+:10FAC0007DE00E94777282E393E164EA7DE00E9428
+:10FAD00077728AE293E160EB7DE00E94777282E2C6
+:10FAE00093E166EB7DE00E9477728091EB1587FFD2
+:10FAF00006C08AE193E16AEA7DE00E94777200D055
+:10FB000000D000E410E1ADB7BEB712961C930E937F
+:10FB100011978FE093E114969C938E9313970E9414
+:10FB2000EA1CFF240F900F900F900F90E02E012FF2
+:10FB30008BE1882E86E1982E1AE0A12E13E1B12EDA
+:10FB4000B8E0CB2EB3E1DB2EC8E7D5E051C08F2D56
+:10FB50006BE176E10E94FC4C00D000D000D0EDB704
+:10FB6000FEB73196ADB7BEB71196EC9211971296CB
+:10FB70000C93B382A282958284820E94EA1C2F2D6C
+:10FB800030E08091F71590E00197EDB7FEB736961B
+:10FB90000FB6F894FEBF0FBEEDBF28173907A1F0CE
+:10FBA00000D000D0ADB7BEB71196EC921197129667
+:10FBB0000C9312971496DC92CE9213970E94EA1C33
+:10FBC0000F900F900F900F908091461090914710DA
+:10FBD0002091441030914510821B930BFE01E81BCD
+:10FBE000F90BE035F1051CF480E00E94E974F39410
+:10FBF0008091F715F81608F4AACF00D000D000D0F5
+:10FC0000EDB7FEB7319680E490E1ADB7BEB712967E
+:10FC10009C938E93119789EF92E19383828388E17D
+:10FC200090E0958384830E94EA1CEDB7FEB7369678
+:10FC30000FB6F894FEBF0FBEEDBF61E070E080E04C
+:10FC400090E00E94D0A8DF91CF911F910F91FF907B
+:10FC5000EF90DF90CF90BF90AF909F908F900895DE
+:10FC600081E00E940D690E943F7D80E008950F931E
+:10FC70001F9381E00E940D6900D000D000E410E1E4
+:10FC8000EDB7FEB71283018388E99DE094838383F7
+:10FC90000E94EA1C0F900F900F900F900E9498788E
+:10FCA00080E00E94E97400D000D0EDB7FEB7128367
+:10FCB00001838AE89DE0948383830E94EA1C0F906D
+:10FCC0000F900F900F900E943E7B80E00E94E9749D
+:10FCD00000D000D0EDB7FEB7128301838DE79DE021
+:10FCE000948383830E94EA1C0F900F900F900F90D3
+:10FCF0000E94766E80E00E94E97400D000D0EDB7DB
+:10FD0000FEB71283018381E79DE0948383830E9481
+:10FD1000EA1C0F900F900F900F900E94186A80E0DD
+:10FD20000E94E97400D000D0EDB7FEB712830183C2
+:10FD300083E69DE0948383830E94EA1C0F900F90DA
+:10FD40000F900F900E943F7D00D000D0EDB7FEB71E
+:10FD50001283018381E69DE0948383830E94EA1CE1
+:10FD60000F900F900F900F9061E070E080E090E0B6
+:10FD70000E94D0A880E01F910F910895DF92EF922A
+:10FD8000FF920F931F93CF93DF93D82E862FBA0144
+:10FD9000213041F4675F7F4F9B0140E050E06950A4
+:10FDA00070400EC0223029F020E030E040E050E00A
+:10FDB00007C0625070409B0140E050E06E5F7F4F93
+:10FDC000E82EFF2480E99AE0E80EF91E8B01E70196
+:10FDD0000FC0F881E0E0898190E08E2B9F2BA0E09E
+:10FDE000B0E0280F391F4A1F5B1F229602501040B7
+:10FDF0000230110570F7CB018E7FD701A80FB91F14
+:10FE00006817790779F08C9190E0A0E0B0E0BA2F04
+:10FE1000A92F982F882702C040E050E0280F391FF3
+:10FE20004A1F5B1FCA01AA27BB270097A105B1057E
+:10FE300099F7C90180959095ED2DF0E0E057F54FC9
+:10FE400090838183DF91CF911F910F91FF90EF906D
+:10FE5000DF9008951092A80A1092A90A80E4809376
+:10FE6000A40A1092A50A8093A60A88E16EE044E1F4
+:10FE700050E020E00E94BE7E0895282F662321F0E6
+:10FE80008091B50A8617E1F48091B60A8823C1F4FF
+:10FE90008091B70A8833A1F48091B30A8B3781F43B
+:10FEA000E22FF92F8091E20A83838091E30A828313
+:10FEB0008091E40A81838091E50A808381E008953E
+:10FEC00080E008958091631A8695809581700895E9
+:10FED0008091740A80959091700A892B8093780A9A
+:10FEE0008091750A80959091710A892B8093790A87
+:10FEF0008091760A80959091720A892B80937A0A74
+:10FF00008091770A80959091730A892B80937B0A60
+:10FF100008959093781A8093771A70937A1A609361
+:10FF2000791A50937C1A40937B1A83E895E1909359
+:10FF30007E1A80937D1A1092801A10927F1A309345
+:10FF4000821A2093811A3091090920910A098FE7BA
+:10FF500097E890936B1A80936A1A81EE95E89093D4
+:10FF60006D1A80936C1A2093661A3093671A81E099
+:10FF70008093641A8091651A8F5F87708093651AE9
+:10FF80008093761A08959093781A8093771A7093D5
+:10FF90007A1A6093791A50937C1A40937B1A81E7FE
+:10FFA00095E190937E1A80937D1A1092801A109298
+:10FFB0007F1A3093821A2093811A30910909209177
+:10FFC0000A098FE797E890936B1A80936A1A80EB7F
+:10FFD00096E890936D1A80936C1A2093661A30936A
+:10FFE000671A81E08093641A8091651A8F5F877029
+:10FFF0008093651A8093761A08950F931F939093B8
+:020000021000EC
+:10000000781A8093771A10927A1A1092791A70934C
+:100010007C1A60937B1A50937E1A40937D1A30931A
+:10002000801A20937F1A1093821A0093811A3091BC
+:10003000090920910A098FE797E890936B1A80933A
+:100040006A1A81EE95E890936D1A80936C1A20934A
+:10005000661A3093671A81E08093641A8091651A5A
+:100060008F5F87708093651A8093761A1F910F9126
+:1000700008950F931F939093781A8093771A509353
+:100080007A1A4093791A70937C1A60937B1A1092B3
+:100090007E1A10927D1A3093801A20937F1A109343
+:1000A000821A0093811A3091090920910A098FE779
+:1000B00097E890936B1A80936A1A81EE95E8909373
+:1000C0006D1A80936C1A2093661A3093671A81E038
+:1000D0008093641A8091651A8F5F87708093651A88
+:1000E0008093761A1F910F9108950F931F93BC016F
+:1000F00000E91AE0C8010E94978EC80106966AE6D8
+:100100007AE00E94978E1F910F910895EF92FF92CF
+:100110000F931F937B010E9475800EEA1AE0C801BD
+:10012000B7010E949F8EC801049760E77AE00E94A1
+:100130009F8E1F910F91FF90EF900895EF92FF9285
+:100140000F931F93CF93DF937C01EB018A018EE61F
+:100150009AE10E9486808881807F803E49F0888174
+:100160009981AA81BB818F5F9F4FAF4FBF4F31F401
+:1001700080E99AE066EE79E00E94978E88E08093AD
+:100180009C0A10929D0A8EE99AE06EE474E149E0BF
+:1001900050E00E942A0E1092A00A81E18093A70AE3
+:1001A0001093B40A0093B50AF092B20AE092B30A2F
+:1001B0001092B60A1092B80A1092B90ADF91CF9144
+:1001C0001F910F91FF90EF900895EF92FF920F9380
+:1001D0001F9306E91AE0C8010E94758074E1E72EBA
+:1001E000F12CE00EF11EC8014896B7010E949F8EC7
+:1001F000C70160E77AE00E949F8E0E942A7F1F91CC
+:100200000F91FF90EF900895BC0110928F0A109209
+:100210008E0A81E08093631A8CE79AE00E949F8E99
+:1002200008950F931F938C0188969093A00A809352
+:10023000A10A0E942A7F1092C20A1092C30A045E89
+:100240001F4F82E36AE1A80122E00E94BE7EC8013E
+:100250004A960E94521B1F910F910895EF92FF92B0
+:100260000F931F937C018091831A9091841AA0911F
+:10027000851AB091861A2B2F3327442755272093B0
+:10028000B60AA093B70A9093B80A8093B90A60930C
+:10029000BF0AC7010E94118100E010E08091831A1B
+:1002A0009091841AA091851AB091861A8E0D9F1D87
+:1002B000A01FB11F8093831A9093841AA093851A6C
+:1002C000B093861A1F910F91FF90EF900895CF93EE
+:1002D000DF939C01862F80618093BF0A643029F0F0
+:1002E0002115310511F421E030E09091B40A80919C
+:1002F000B20A8093B40A9093B20A9091B50A8091A1
+:10030000B30A8093B50A9093B30AC9EBDAE0888107
+:10031000A901480F511D2C814C832883252F332799
+:1003200021975AE0C53BD50791F71D861E8680E5CB
+:1003300089871092A00A88E28093A10A0E94E58032
+:1003400084E08B871C8682E36AE14CE150E022E086
+:100350000E94BE7E86E390E00E94521BDF91CF9107
+:1003600008958091741A9091751A60E00E946781D7
+:100370008091B60A90E0A0E0B0E0BA2FA92F982FA4
+:1003800088272091B70A820F911DA11DB11DBA2F98
+:10039000A92F982F88272091B80A820F911DA11D9F
+:1003A000B11DBA2FA92F982F88272091B90A820F43
+:1003B000911DA11DB11D8093831A9093841AA0935F
+:1003C000851AB093861A0895E82F4091B40A50E038
+:1003D000292F30E04217530709F092C08091B50AE7
+:1003E0008E1709F08DC08091BF0AE82F81FF4EC0A3
+:1003F0001092A00A8CE28093A10A0E94E58082E11B
+:100400008093BF0A9091B40A8091B20A8093B40A93
+:100410009093B20A9091B50A8091B30A8093B50A7D
+:100420009093B30AE9EBFAE021E030E08081A90182
+:10043000480F511D44831082252F332731975AE0EE
+:10044000E53BF50799F71586168611821282809191
+:10045000AB09838314828D5F8093AB0982E0818B2B
+:1004600084E0828B95E0938B148A80E68187938762
+:1004700088E7848782E36AE140E250E022E00E945C
+:10048000BE7E8AE390E00E94521B3AC084FF38C0CF
+:100490009091A00A80E02091A10A30E0282B392B0E
+:1004A0008091BE0A482F50E0A4E055954795AA9543
+:1004B000E1F7CA01880F991F880F991F281B390B74
+:1004C0002451304037FF02C020E030E03093751AED
+:1004D0002093741A232B69F09A01220F331F220FE5
+:1004E000331F2E5D3F4F685070406217730740F016
+:1004F00009C0E0FF05C080E090E060E00E946781F5
+:1005000020E030E0C90108950F931F93DF93CF934C
+:100510000F92CDB7DEB78C01045E1F4F1093A00A77
+:100520000C511040802F845E8093A10A89830E9421
+:100530002A7F085F1F4F1093B60A898184518093E8
+:10054000B70A085F1F4F88E26AE1A80121E00E9414
+:10055000BE7EC8014A960E94521B0F90CF91DF9138
+:100560001F910F910895FF920F931F939C01F62EF8
+:100570008EE69AE1B9010E9486800CE91AE088E0D3
+:1005800080939C0A10929D0AC80102966EE474E161
+:1005900049E050E00E942A0E8CE48093A10A81E198
+:1005A0008093A70A0E942A7F1092B40A8BE7809357
+:1005B000B50A8AE08093B20AF092B30A1092B60AA2
+:1005C00088E38093B70A1092B80A1092B90A025EC3
+:1005D0001F4F80E3F80111928A95E9F7C80165E998
+:1005E00075E14AE050E00E942A0E88E26AE140E4A8
+:1005F00050E021E00E94BE7E8AE590E00E94521BFE
+:100600001F910F91FF900895EF92FF920F931F9308
+:10061000BC018EE69AE10E9486800CE91AE088E02F
+:10062000F82EF0929C0A10929D0AC80102966EE480
+:1006300074E149E050E00E942A0E84E58093A10A0B
+:10064000EE24E394E092A70A0E942A7FF092B20A75
+:100650001092B30A1092B40A1092B50A85E0809302
+:10066000B60A8091730A8093B70A1092B80AE09292
+:10067000B90AC8014E9662E470E048E350E00E9477
+:10068000600E84E262E240E450E020E00E94BE7E20
+:1006900082E690E00E94521B1F910F91FF90EF9015
+:1006A0000895DF92EF92FF920F931F93CF93DF9302
+:1006B000EC0180918C0A882319F0CE010E946F15FD
+:1006C000209709F0BFC08091631A8570F1F1809185
+:1006D0008E0A90918F0A892BC1F50E948A1A88236D
+:1006E000A1F186EE99E00E94758088E080939C0AD3
+:1006F000E6E0FE2EF0929D0A8EE99AE066E474E14F
+:1007000048E050E00E942A0E00EB1AE0D8011D924A
+:10071000FA94E9F7C8010A976AE67AE00E94978E90
+:10072000C80106966CE77AE00E949F8EC801049784
+:1007300060E77AE00E949F8E8091631A88608093C0
+:10074000631A8AE290E00E94521B80918E0A909177
+:100750008F0A019690938F0A80938E0A8091641A73
+:10076000813009F003C28091631A81FFFFC102E06A
+:100770000093641A8091AA098F5F8093AA098F71F0
+:100780001091651A1295110F107E182BE090661AC1
+:10079000D090671A8EE69AE168E87AE00E94868037
+:1007A00078E0F72EF0929C0A10929D0A8EE99AE06A
+:1007B0006EE474E149E050E00E942A0E8CE28093DE
+:1007C000A10A86E08093A70A0E942A7FE092B40AD9
+:1007D000D092B50A8BE08093B20A1093B30AE6EB8D
+:1007E000FAE0DF011D92FA94E9F78091AB0980935A
+:1007F000B80A8D5F8093AB0980E68093BE0A0093B0
+:10080000BF0A83E08093C00A1092C10A1092C20A04
+:100810001092C30A1092C40A1092C50A0093C60A25
+:1008200084E08093C70A0093C80A86E28093C90ACD
+:1008300082E36AE140E250E022E00E94BE7E8AE369
+:1008400090E0AFC0C932D10508F490C110919C0A64
+:10085000183009F096C180919D0A863009F091C147
+:1008600086EB9AE060E77AE044E050E00E944A0EAE
+:10087000009709F086C18091A50A813029F586E9A3
+:100880009AE00E9475801092A40A82E08093A50AE3
+:1008900080EB9AE066EA7AE00E94978E86EA9AE018
+:1008A0006AE67AE00E94978E86EB9AE06CEA7AE03C
+:1008B0000E949F8E8CEA9AE060E77AE00E949F8E09
+:1008C0008AE290E00E94521B8091631A83FF4EC11E
+:1008D0001091A50A123009F049C18CEA9AE06CE740
+:1008E0007AE044E050E00E944A0E009709F03EC1D1
+:1008F0008EE69AE166EA7AE00E94978E1093631A78
+:1009000035C1183009F032C180919D0A882309F061
+:100910002DC180919E0A853409F028C18EEA9AE0A3
+:1009200060E77AE044E050E00E944A0E0097A9F0A8
+:100930008EEA9AE068E77AE044E050E00E944A0ECE
+:10094000009759F08EEA9AE066EE79E044E050E0D4
+:100950000E944A0E009709F009C18091A70A8130D0
+:1009600019F58091B20A8830F9F4E091681AF09193
+:10097000691A309719F08AEA9AE009950E94E58091
+:100980001092B20A8091B40A883F28F08091B50A8B
+:100990008F5F8093B50A8091B40A885F8093B40A10
+:1009A000CE010E94521BE2C00E94A08A882351F00F
+:1009B0008091A70A813131F4CE010E94A58A882353
+:1009C00009F0D4C0C633D10528F48091A70A863037
+:1009D00009F0CCC08091B40A8B3009F0BEC08AEA1D
+:1009E0009AE068E87AE044E050E00E944A0E0097FE
+:1009F00009F0BCC08091BF0A382F82FF13C0E0917C
+:100A00006A1AF0916B1A309759F08091B50A829565
+:100A10008695877063E040E050E020E030E0099583
+:100A200085E090C09091A00A80E02091A10A022F59
+:100A300010E0082B192B8091BE0A482F50E064E08B
+:100A4000559547956A95E1F7CA01880F991F880F58
+:100A5000991F081B190B0451104017FF02C000E03A
+:100A600010E08091641A823079F531FF21C034FFA3
+:100A70001FC080E090E060E00E94678188E1809381
+:100A8000BF0AE0916C1AF0916D1A309719F420E0CA
+:100A900030E007C08091B30A8295869587700995EA
+:100AA0009C0183E08093641AC9010E9411815EC099
+:100AB00081E08093641A34FF03C080E090E002C0BC
+:100AC000C801019664E046C0833081F50115110527
+:100AD00079F1E0916A1AF0916B1A309749F1440F5D
+:100AE000551F440F551FCE0108974E5D5F4F841769
+:100AF000950708F4AC01C801840F951FC817D907E2
+:100B000010F0980103C09E01241B350B8091B50A9B
+:100B100082958695877060E0099580918D0A88237B
+:100B200019F0C80168E016C0C80108C08530F1F0AE
+:100B300030FF0BC08330D1F0C801019669E00E94FC
+:100B4000678186E08093641A11C00115110571F068
+:100B5000C80160E00E94678109C0809109099091F5
+:100B60000A09BE010E94E4819C0102C020E030E03D
+:100B7000C901DF91CF911F910F91FF90EF90DF900E
+:100B80000895CA32D10508F0BCCEF0CFBC018091E7
+:100B9000A70A8130A1F48091B20A882381F4809160
+:100BA000BA0A823461F48AEA9AE044E050E00E9492
+:100BB0004A0E9C0180E0232B19F481E0089580E027
+:100BC0000895AF92BF92CF92DF92EF92FF920F9370
+:100BD0001F93DF93CF93CDB7DEB728970FB6F89466
+:100BE000DEBF0FBECDBF26EC3AE03E832D833887B3
+:100BF0002F839091761A891709F09AC01C821B8264
+:100C00008BEC99E09A83898360917F1A7091801AA6
+:100C100061157105A9F58DB79EB70C970FB6F894BD
+:100C20009EBF0FBE8DBFEDB7FEB73196CE010196C8
+:100C3000ADB7BEB712969C938E93119780EC94E15A
+:100C4000938382838091771A9091781A9583848315
+:100C50008091791A90917A1A9783868380917B1A72
+:100C600090917C1A9187808780917D1A90917E1A4D
+:100C7000938782870E94EA1C8DB79EB70C9653C05B
+:100C800040917D1A50917E1A2091791A30917A1AEA
+:100C9000C090771AD090781A2115310511F42BEEF7
+:100CA00038E0E0907B1AF0907C1A4115510519F05C
+:100CB0000CEE18E004C00BEE18E047E554E1DB0150
+:100CC0000D900020E9F75D010894A108B108A61A6B
+:100CD000B70A8DB79EB742970FB6F8949EBF0FBE66
+:100CE0008DBFEDB7FEB73196CE010196ADB7BEB759
+:100CF00012969C938E93119788E594E19383828357
+:100D0000D582C48237832683F186E0865387428763
+:100D100015870487B786A686718B608B0E94EA1CB4
+:100D20008DB79EB742960FB6F8949EBF0FBE8DBF8B
+:100D30002F8138858D819E81281B390BC90128960A
+:100D40000FB6F894DEBF0FBECDBFCF91DF911F91DC
+:100D50000F91FF90EF90DF90CF90BF90AF900895EC
+:100D6000AF92BF92CF92DF92EF92FF920F931F93B9
+:100D7000DF93CF93CDB7DEB728970FB6F894DEBFD9
+:100D80000FBECDBF26EC3AE03E832D8338872F83FC
+:100D90009091761A891709F09AC01C821B828BECFD
+:100DA00099E09A83898360917F1A7091801A611506
+:100DB0007105A9F58DB79EB70C970FB6F8949EBF35
+:100DC0000FBE8DBFEDB7FEB73196CE010196ADB720
+:100DD000BEB712969C938E9311978DE495E1938301
+:100DE00082838091771A9091781A95838483809179
+:100DF000791A90917A1A9783868380917B1A9091C1
+:100E00007C1A9187808780917D1A90917E1A9387B2
+:100E100082870E94EA1C8DB79EB70C9653C0409102
+:100E20007D1A50917E1A2091791A30917A1AC090C9
+:100E3000771AD090781A2115310511F42BEE38E08D
+:100E4000E0907B1AF0907C1A4115510519F00CEED8
+:100E500018E004C00BEE18E044EE54E1DB010D9005
+:100E60000020E9F75D010894A108B108A61AB70AA5
+:100E70008DB79EB742970FB6F8949EBF0FBE8DBF39
+:100E8000EDB7FEB73196CE010196ADB7BEB712965B
+:100E90009C938E93119785EE94E193838283D58200
+:100EA000C48237832683F186E0865387428715877D
+:100EB0000487B786A686718B608B0E94EA1C8DB76B
+:100EC0009EB742960FB6F8949EBF0FBE8DBF2F817E
+:100ED00038858D819E81281B390BC90128960FB654
+:100EE000F894DEBF0FBECDBFCF91DF911F910F9160
+:100EF000FF90EF90DF90CF90BF90AF9008950F9349
+:100F00001F93CF93DF9389019091761A891759F037
+:100F1000E091811AF091821A84E060E070E040E094
+:100F200050E009952AC0662341F52D30310528F19E
+:100F3000C091811AD091821A2097F9F04756554FE7
+:100F40008FEE98E0BA0143E050E00E94840E9C01CD
+:100F500080E0232B09F081E06091BE0A70E0B4E0EC
+:100F600075956795BA95E1F7660F771F660F771F3E
+:100F70006E5D7F4FA801FE01099580E0DF91CF9162
+:100F80001F910F9108958F929F92AF92BF92CF922F
+:100F9000DF92EF92FF920F931F93CF93DF937B012A
+:100FA0008C01EA012CE330E040E050E00E9457B4AD
+:100FB0006883C801B7012CE330E040E050E00E94B4
+:100FC00057B4122F032FF42EE52E622F732F842F88
+:100FD000952F2CE330E040E050E00E9457B4698345
+:100FE000612F702F8F2D9E2D2CE330E040E050E0DC
+:100FF0000E9457B4122F032FF42EE52E622F732F69
+:10100000842F952F28E130E040E050E00E9457B453
+:101010006A83612F702F8F2D9E2D28E130E040E0F4
+:1010200050E00E9457B479018A01C801B7016C5F92
+:101030007F4F8F4F9F4F27E030E040E050E00E940D
+:1010400057B46F5F6B8320E0AA24BB24650101C005
+:101050002F5F822E9924F401EE54F84FCF01837054
+:101060009070892B99F4CF0164E670E00E9444B43B
+:10107000892B39F4CF0160E971E00E9444B4892BD7
+:1010800029F48EE691E0A0E0B0E004C08DE691E0A6
+:10109000A0E0B0E0A80EB91ECA1EDB1EC501A0E08C
+:1010A000B0E0E816F9060A071B0790F62E83F40154
+:1010B000EE54F84F83E0882E912C8E229F228114CB
+:1010C000910499F4CF0164E670E00E9444B4892B46
+:1010D00039F4CF0160E971E00E9444B4892B29F40E
+:1010E0008EE691E0A0E0B0E004C08DE691E0A0E0E3
+:1010F000B0E0A81AB90ACA0ADB0A980187010A19DE
+:101100001B092C093D09CF0164E670E00E9444B43C
+:101110007C01CF0160E971E00E9444B4AC01ECEEC7
+:10112000F9E060E0613051F48114910449F4E11474
+:10113000F10441F44115510529F002C0808103C03A
+:101140008CE101C08DE190E0A0E0B0E00817190744
+:101150002A073B0740F0081B190B2A0B3B0B6F5F5C
+:1011600031966C30F9F66F5F6D83802F8F5F8C83C3
+:10117000DF91CF911F910F91FF90EF90DF90CF9073
+:10118000BF90AF909F908F900895EF92FF920F9332
+:101190001F937B018C0180919E1A90919F1AA091C0
+:1011A000A01AB091A11AE816F9060A071B0771F0F8
+:1011B000C801B70143E95AE10E94C387E0929E1A31
+:1011C000F0929F1A0093A01A1093A11A1F910F91E9
+:1011D000FF90EF9008950E94C5888091981A90E042
+:1011E00008950E94C5888091961A90E008950E9403
+:1011F000C5888091971A90E008950E94C5888091D3
+:10120000941A90E008950E94C5888091951A90E004
+:1012100008954F925F926F927F928F929F92AF92BA
+:10122000BF92CF92DF92EF92FF920F931F93CF93D3
+:10123000DF934C01DC0116961C91612F70E080E079
+:1012400090E020E833E341EE51E00E9405B45B01F9
+:101250006C0122EB37E0E12FF0E0EE54F84F1DC0B7
+:10126000C90183709070892BB1F4C90164E670E004
+:101270000E9444B4892B39F4C90160E971E00E94ED
+:1012800044B4892B41F480E891E5A1E0B0E0A80ED8
+:10129000B91ECA1EDB1E2F5F3F4F2E173F0701F7F7
+:1012A000D40115968C91482E5524C90164E670E04E
+:1012B0000E9444B47C01C90160E971E00E9444B419
+:1012C0008C01C1E0D0E093E0692E712C6222732280
+:1012D00027C0C230D10591F46114710479F4E1148E
+:1012E000F10419F40115110549F480E89BE3A6E225
+:1012F000B0E0A80EB91ECA1EDB1E11C0FE01E551EA
+:10130000F64F608170E080E090E020E831E541E058
+:1013100050E00E9405B4A60EB71EC81ED91E219625
+:10132000C415D505B4F2D40112966C9170E080E03A
+:1013300090E020E13EE040E050E00E9405B47B01F7
+:101340008C01F401618170E080E090E02CE330E0FA
+:1013500040E050E00E9405B4E60EF71E081F191F7A
+:10136000D4018C91E80EF11C011D111D14966C9195
+:1013700070E061507040882777FD8095982F20E8B5
+:1013800031E541E050E00E9405B4E60EF71E081F6B
+:10139000191FEA0CFB1C0C1D1D1DB701C801DF91B4
+:1013A000CF911F910F91FF90EF90DF90CF90BF9062
+:1013B000AF909F908F907F906F905F904F90089527
+:1013C0006093AC097093AD098093AE099093AF0917
+:1013D00008956093891A70938A1A80938B1A909358
+:1013E0008C1A2091AC093091AD094091AE09509111
+:1013F000AF09260F371F481F591F20938D1A3093AE
+:101400008E1A40938F1A5093901A82E090E0909336
+:10141000921A8093911A0E94C2A860939A1A7093AC
+:101420009B1A80939C1A90939D1A0895EF92FF92B5
+:101430000F931F931CC02F5F3F4F4F4F5F4F209361
+:10144000891A30938A1A40938B1A50938C1A88EE1B
+:1014500093E0A0E0B0E0E80EF91E0A1F1B1FE09227
+:101460009A1AF0929B1A00939C1A10939D1A0E944C
+:10147000C2A8E0909A1AF0909B1A00919C1A1091C1
+:101480009D1A6E197F09800B910B2091891A30915A
+:101490008A1A40918B1A50918C1A685E7340804072
+:1014A000904048F680918D1A90918E1AA0918F1AD3
+:1014B000B091901A281739074A075B07E8F0E091C6
+:1014C000871AF091881A3097B9F00995611571055E
+:1014D0008105910519F00E94E9890EC020E030E0F5
+:1014E0008091911A9091921A892B11F021E030E0AD
+:1014F0003093921A2093911A6091891A70918A1AE6
+:1015000080918B1A90918C1A1F910F91FF90EF9000
+:1015100008959093881A8093871A8091891A9091E0
+:101520008A1AA0918B1AB0918C1A80938D1A90937D
+:101530008E1AA0938F1AB093901A0E94168A08955B
+:101540008091CA1A811181E00895CF92DF92EF92C3
+:10155000FF920F931F93CF93DF93C2EADAE130E05B
+:10156000CC24DD2429C02A814B818091B40A90E0EB
+:10157000042F10E080179107D9F49091B50A9217C3
+:10158000B9F48C818823A1F02091B70A30E028506B
+:101590003040F090B60AEE242E0D3F1DE881F9810F
+:1015A000892F942F6AEA7AE04AEB5AE0099531E0F4
+:1015B0000894C11CD11C25968091CA1A90E0C816C7
+:1015C000D9068CF2832FDF91CF911F910F91FF905D
+:1015D000EF90DF90CF9008951F93CF93DF93182F54
+:1015E000EA01282F392FD90105C0FB016F5F7F4F1A
+:1015F000E491ED938A2F811B90E08C179D07ACF34B
+:101600001C92DF91CF911F910895FC01CB01F999B4
+:10161000FECF92BD81BDF89A30B52081332349F0C9
+:10162000222339F00196321711F081E008953196A6
+:10163000EECF80E0321381E008952FEF8E3F9207C6
+:1016400049F46091E1157091E2152091DF15309118
+:10165000E0150EC02FEF8F3F9207B9F46091DF15B0
+:101660007091E01560567A4F2091E1153091E215A6
+:10167000621B730B80E090E02CE330E040E050E030
+:101680000E9405B49B01AC0103C09C0140E050E006
+:10169000B901CA01089522E08935920714F088E55E
+:1016A00092E02DEF883A920714F488EA9DEF885A69
+:1016B0009D4F65E070E00E9444B4862F0895813FFD
+:1016C00008F080EF25E0829F9001112428553240D8
+:1016D000C90108950F931F93DF93CF93CDB7DEB762
+:1016E0002C970FB6F894DEBF0FBECDBFBC01809122
+:1016F000EB1587FF19C08E010F5F1F4FC8010E94B5
+:101700003E0E88E090E163EF78E040E00E94429F67
+:1017100088E090E1B8010E94239F882329F088E0A7
+:1017200090E1B8010E94009F2C960FB6F894DEBF9E
+:101730000FBECDBFCF91DF911F910F9108958F9272
+:101740009F92AF92BF92CF92DF92EF92FF920F9350
+:101750001F93DF93CF93CDB7DEB7AA970FB6F89458
+:10176000DEBF0FBECDBFFC017B015A014901809154
+:10177000EB1587FD04C0FB01108280E03FC08E01A5
+:101780000F5F1F4FC801BF010E943E0E88E090E12D
+:1017900063EF78E040E00E94429F198A1B8A188A12
+:1017A0001F8684E09AE09E878D8781E1C82ED12C28
+:1017B000CC0EDD1EC601B80141E00E94719D882358
+:1017C00019F4F701108219C0A401662757FD60952E
+:1017D000762FC6010E940D93C601B701A50120E036
+:1017E00030E00E948E98EA0CFB1C0894E108F10896
+:1017F000F7011082C6010E94759581E0AA960FB686
+:10180000F894DEBF0FBECDBFCF91DF911F910F9136
+:10181000FF90EF90DF90CF90BF90AF909F908F9010
+:101820000895AF92BF92CF92DF92EF92FF920F9303
+:101830001F93DF93CF93CDB7DEB7AA970FB6F89477
+:10184000DEBF0FBECDBFFC016B015A017901809153
+:10185000EB1587FF37C0CE010196BF010E943E0EF7
+:1018600088E090E163EF78E040E00E94429F00232F
+:1018700019F042E550E002C042E450E084E09AE012
+:101880009E878D87188A1F861B8A198A8E010F5E94
+:101890001F4FC801BE016F5F7F4F0E94719D88235B
+:1018A00089F0A701662757FD6095762FC8010E9431
+:1018B0000D93CE010D96B601A5010E94DE9FC801D1
+:1018C0000E947595AA960FB6F894DEBF0FBECDBFE5
+:1018D000CF91DF911F910F91FF90EF90DF90CF900C
+:1018E000BF90AF9008959C01F999FECF32BD21BD04
+:1018F000F89A80B50895EF92FF920F931F93DF93AC
+:10190000CF93CDB7DEB7C454D0400FB6F894DEBF46
+:101910000FBECDBF0BE116E1C80164EC78E040E3F7
+:1019200050E023E73CE80E94D30EC80161E00E942A
+:10193000401789E0E82EF12CEC0EFD1E89E894E0BA
+:10194000B7014CE350E020E030E00E949F8B1C8206
+:101950001B828BEC99E09A8389831E830D83188701
+:101960000F838DB79EB70E970FB6F8949EBF0FBE2C
+:101970008DBFEDB7FEB73196CE010196ADB7BEB7BC
+:1019800012969C938E9311978AEA95E193838283B2
+:10199000809148098483158284E698E09783868342
+:1019A00084EF98E091878087809129098287138648
+:1019B000F586E4860E94EA1CD8010D900020E9F724
+:1019C0001197A01BB10BA00FB11F2EE037E1EDB7AF
+:1019D000FEB73E960FB6F894FEBF0FBEEDBF50E3C4
+:1019E00042E395E213C08C91B9016150704080329E
+:1019F00049F4F9015083FB01408392939F012150E8
+:101A0000304003C0F90180839B011197F6E1AB31AF
+:101A1000BF0749F78C91D9018C9300910909109166
+:101A20000A0980E590E090930A098093090981EA08
+:101A300095E1B9014FE955E122E33DE80E94897F34
+:101A400010930A0900930909CC5BDF4F0FB6F89495
+:101A5000DEBF0FBECDBFCF91DF911F910F91FF90E1
+:101A6000EF900895EF92FF920F931F93CF93DF9320
+:101A7000EB01C057D54F01C021968881882309F416
+:101A800017C18632C9F705C18BE196E10E94E50DC9
+:101A90009C0185E0213A380790F48091DF15909100
+:101AA000E0152817390759F03093E0152093DF151A
+:101AB0000E94734C80911A16816080931A16CE0191
+:101AC0006BE176E14FEF2CED35E101E0EE24FF24F0
+:101AD0000E94CD678823D9F08BE196E10E94E50D45
+:101AE0009C0185E0213A380790F48091E1159091AE
+:101AF000E2152817390759F03093E2152093E115C4
+:101B00000E94734C80911A16826080931A16CE013F
+:101B10006BE176E14FEF28ED35E101E0EE24FF24A3
+:101B20000E94CD67882311F18BE196E10E94030E9C
+:101B30009B01AC018091E7159091E815A091E91502
+:101B4000B091EA15281739074A075B0779F0209307
+:101B5000E7153093E8154093E9155093EA150E9474
+:101B6000734C80911A16846080931A16CE016BE133
+:101B700076E14FEF22ED35E101E0EE24FF240E94F3
+:101B8000CD678823B9F08BE196E10E94E50D9C01B9
+:101B90008B3F910578F48091400990E02817390730
+:101BA00049F0209340090E94F54A80911A168860F6
+:101BB00080931A16CE016BE176E14FEF2FEC35E101
+:101BC00001E0EE24FF240E94CD678823B9F08BE169
+:101BD00096E10E94E50D9C018D36910578F4809187
+:101BE0002A0990E02817390749F020932A090E9412
+:101BF000F54A80911A16806180931A16CE016BE126
+:101C000076E14FEF2CEC35E101E0EE24FF240E9459
+:101C1000CD67882351F18BE196E10E94E50DEC013F
+:101C200018161906F4F40E949D527B018C01BE0126
+:101C3000882777FD8095982F20E13EE040E050E036
+:101C40000E9405B4E60EF71E081F191FE092E31567
+:101C5000F092E4150093E5151093E6150E948E4C62
+:101C600004C0009711F40E947E4C0E949D52AB016B
+:101C7000BC01409316165093171660931816709374
+:101C8000191683E000E010E020E030E00E943922E5
+:101C90000FC0CE016BE176E14FEF23EE35E101E0BD
+:101CA000EE24FF240E94CD67882309F408CFECCEF0
+:101CB000DF91CF911F910F91FF90EF9008950F93B7
+:101CC0001F93CF93DF938C01C0E0D0E0F801EC0FBD
+:101CD000FD1F8FEB9EE160814AE050E00E9435AF2E
+:101CE000C33029F08FEB9EE16EE20E9430AE219668
+:101CF000C430D10559F7DF91CF911F910F9108950D
+:101D0000EF92FF920F931F939C017B010FEB1EE15B
+:101D1000C801B9010E94D7AFC7010E945F8EC801F8
+:101D20000E9438AE1F910F91FF90EF900895DC0153
+:101D3000FB0186E001900D928150E1F708959C012E
+:101D4000FB0180819181A281B381F901808391831C
+:101D5000A283B38308958091C10085FDFCCF80915B
+:101D6000C00085FFF8CF6093C60081E090E0089541
+:101D70001092CE1A1092CD1A8CEF99E09093CC1A53
+:101D80008093CB1A0895FF920F931F93CF93DF9305
+:101D90008B010E94C2A8EB01FF24FA9409C00E94A3
+:101DA000C2A86C1B7D0B6017710710F080E008C0A3
+:101DB000FEBC0DB407FEFDCF8EB58F3F81F781E0ED
+:101DC000DF91CF911F910F91FF900895FC018081C9
+:101DD00061E00E949BAA8FEF8EBD0DB407FEFDCF80
+:101DE0000895CF93DF93EC01DA016EBD0DB407FEC9
+:101DF000FDCF8C918EBD1196EC91119782E090E011
+:101E00000DB407FEFDCFEEBD22E08030920731F029
+:101E1000FD01E80FF91FE0810196F2CF0DB407FE36
+:101E2000FDCF8FEF8EBD0DB407FEFDCF8FEF8EBDC2
+:101E30000DB407FEFDCF8FEF8EBD0DB407FEFDCFB5
+:101E40008EB58B838F71853011F481E006C083E1FC
+:101E50008983CE010E94E68E80E0DF91CF910895C4
+:101E6000BF92CF92DF92EF92FF920F931F93CF9387
+:101E7000DF93EC016B017A010E94C2A88B01BB24A5
+:101E8000BA9409C00E94C2A8601B710B6D527140C8
+:101E900010F081E10BC0BEBC0DB407FEFDCF8EB5C6
+:101EA0008B838F3F79F38E3F39F08FE08983CE01AA
+:101EB0000E94E68E80E030C0D7011197EF28D9F05C
+:101EC0008FEF8EBD20E030E09FEF0BC00DB407FE1A
+:101ED000FDCF8EB59EBDF601E20FF31F80832F5F0D
+:101EE0003F4F2A173B0790F30DB407FEFDCF8EB589
+:101EF000AC0DBD1D8C931B828FEF8EBD0DB407FE04
+:101F0000FDCF8EB58FEF8EBD0DB407FEFDCF8EB524
+:101F1000CE010E94E68E81E0DF91CF911F910F915B
+:101F2000FF90EF90DF90CF90BF9008950F931F9395
+:101F30008C018FEC9AE1F80162810E94E29FF80126
+:101F4000808160E00E949BAA1F910F910895CF931A
+:101F5000DF93EC010E94968FCE0168E572E00E944B
+:101F6000C38E882389F08DEF8EBD0DB407FEFDCFA3
+:101F7000CE0168E572E00E94C38E882329F0CE016D
+:101F80000E94E68E81E006C082E18983CE010E9434
+:101F9000E68E80E0DF91CF9108950F931F93CF934A
+:101FA000DF93EC018B010E94968FCE0168E572E011
+:101FB0000E94C38E882361F0CE016CEFA8010E94BD
+:101FC000F18E882329F0CE010E94E68E81E006C0C2
+:101FD00085E18983CE010E94E68E80E0DF91CF917A
+:101FE0001F910F910895EF92FF920F931F938C0111
+:101FF0007B010E94968FC801B70140E052E00E9429
+:10200000308F1F910F91FF90EF900895FF920F93E3
+:102010001F93DF93CF9300D000D0CDB7DEB78C01F4
+:10202000F62E29833A834B835C830E94968FC801E6
+:1020300068E572E00E94C38E8F2D80648EBD0DB462
+:1020400007FEFDCFFE0131969E0123503040838173
+:102050008EBD0DB407FEFDCF3197E217F307B9F738
+:10206000FF2011F087E801C085E98EBD0DB407FEA1
+:10207000FDCF8CE0F81631F48FEF8EBD0DB407FE66
+:10208000FDCF8EB590E02FEF2EBD0DB407FEFDCF36
+:102090008EB587FF02C09150B9F7F80183830F9086
+:1020A0000F900F900F90CF91DF911F910F91FF90A4
+:1020B0000895AF92BF92CF92DF92EF92FF920F936B
+:1020C0001F93CF93DF93EC015A016B0178018901D3
+:1020D00067E320E030E040E050E00E940690CE014F
+:1020E00067E1A80197010E940690882311F089E01A
+:1020F00013C08C81833039F089E0AA0CBB1CCC1C46
+:10210000DD1C8A95D1F7CE0169E1A60195010E94F7
+:102110000690882339F087E08983CE010E94E68EFD
+:1021200080E004C0CE010E94E68E81E0DF91CF9175
+:102130001F910F91FF90EF90DF90CF90BF90AF90E5
+:102140000895CF92DF92EF92FF920F931F93CF9358
+:10215000DF93EC017A018B0169018C81833039F0C6
+:1021600099E0EE0CFF1C001F111F9A95D1F7CE01CC
+:1021700068E1A80197010E940690882319F086E083
+:1021800089830CC0CE016EEFA6010E94F18E8823D8
+:1021900029F0CE010E94E68E81E004C0CE010E94AB
+:1021A000E68E80E0DF91CF911F910F91FF90EF902D
+:1021B000DF90CF900895CF93DF93EC016CE020E0A7
+:1021C00030E040E050E00E940690882339F083E040
+:1021D0008983CE010E94E68E80E004C0CE010E9479
+:1021E000E68E81E0DF91CF910895CF93DF93EC01EC
+:1021F0009A01AB018C81833039F069E0220F331FE3
+:10220000441F551F6A95D1F7CE0162E10E940690E6
+:10221000882339F085E08983CE010E94E68E80E034
+:1022200004C0CE010E94E68E81E0DF91CF91089537
+:10223000CF92DF92EF92FF920F931F93CF93DF9392
+:10224000EC017A018B0169018C81833039F0B9E0AE
+:10225000EE0CFF1C001F111FBA95D1F7CE0161E1F2
+:10226000A80197010E940690882339F084E08983B1
+:10227000CE010E94E68E80E006C0CE01B60140E0AD
+:1022800052E00E94308FDF91CF911F910F91FF900C
+:10229000EF90DF90CF900895BF92CF92DF92EF92B0
+:1022A000FF920F931F93CF93DF93EC01B42E1C8208
+:1022B000198268830E94C2A86B01888161E00E9434
+:1022C0001EAA888161E00E949BAA8FEC9AE10E947D
+:1022D000FC9F80E48A838FEC9AE160E40E94E29F95
+:1022E00080E09FEF9EBD0DB407FEFDCF8F5F8A306B
+:1022F000C9F709C00E94C2A86C197D09615D7740C9
+:1023000010F081E063C0CE0160E020E030E040E00A
+:1023100050E00E940690813069F71FEFCE0168E01F
+:102320002AEA31E040E050E00E940690853011F446
+:1023300081E00DC080E01EBD0DB407FEFDCF9EB54F
+:102340008F5F8430C1F79B839A3A31F482E08C83AB
+:102350008C81823051F40DC00E94C2A86C197D0995
+:10236000615D7740D8F282E031C0EE24FF2487011E
+:102370000FC0E12CF12C012D80E4182F09C00E9420
+:10238000C2A86C197D09615D774010F08AE01EC01B
+:10239000CE0167E320E030E040E050E00E9406908C
+:1023A000CE0169E2A80197010E940690882339F7BF
+:1023B0008C81823031F5CE016AE320E030E040E0EC
+:1023C00050E00E940690882339F088E08983CE018E
+:1023D0000E94E68E80E01AC08FEF8EBD0DB407FE1E
+:1023E000FDCF8EB5807C803C11F483E08C8380E04F
+:1023F0009FEF9EBD0DB407FEFDCF2EB58F5F8330DE
+:10240000C1F7CE010E94E68EBA8281E0DF91CF91C2
+:102410001F910F91FF90EF90DF90CF90BF900895A4
+:102420000F931F93CF93DF93DC01EB018A0180E0D0
+:1024300090E020E2FE01E80FF91F208301968B3027
+:102440009105C1F757E040E024C0622F2E3219F009
+:102450008BEE95E107C05A3051F15AE048E018C0C0
+:10246000321729F1FC01019634913323C9F754172F
+:10247000F0F02132E0F02F37D0F4822F81568A31EC
+:1024800010F4622F6052FE01E40FF11D60834F5F74
+:1024900011962C91222311F02F32B9F6F801B18355
+:1024A000A08390E08881803219F091E001C090E033
+:1024B000892FDF91CF911F910F910895CF92DF92D5
+:1024C000EF92FF920F931F93DF93CF9300D000D032
+:1024D000CDB7DEB77C01FC0186899789A08DB18DCF
+:1024E00089839A83AB83BC8300E010E06E0108947B
+:1024F000C11CD11C49815A816B817C81D701149602
+:102500008D919C91159796010E9473A2882379F171
+:10251000D7011496ED91FC9115978481080F111D38
+:10252000B0E100301B0718F529813A814B815C81AD
+:102530008289803131F4285F3F4F40405040D0F2D3
+:1025400005C0285F3F4F4F4F5F40A0F2C801A0E099
+:10255000B0E029E0880F991FAA1FBB1F2A95D1F769
+:10256000F701828B938BA48BB58B81E001C080E057
+:102570000F900F900F900F90CF91DF911F910F91BF
+:10258000FF90EF90DF90CF900895CF93DF93EC0111
+:10259000FB018A818823D1F57D836C838289803118
+:1025A000C9F582E08A831E8A1F8A188E198E838954
+:1025B0009489A0E0B0E035E0880F991FAA1FBB1FE7
+:1025C0003A95D1F78A8B9B8BAC8BBD8B0FC083E088
+:1025D0008A8385899689A789B08D8E8B9F8BA88FDA
+:1025E000B98FCE010E945E92882381F081E08983B9
+:1025F0001E821F82188619861A861B861C861D86D7
+:102600001E861F86188A198A1B8201C080E0DF910E
+:10261000CF9108958032D1F7DACF6F927F928F9267
+:102620009F92AF92BF92CF92DF92EF92FF920F9361
+:102630001F93CF93DF93EC017A018B012A81222330
+:1026400009F480C08A899B89AC89BD898417950764
+:10265000A607B70708F476C085C0E114F1040105A8
+:10266000110551F41E821F82188619861A861B8650
+:102670001C861D8681E067C02A853B854C855D856B
+:10268000EC81FD81818590E00996215030404040E9
+:10269000504039014A01082E04C0969487947794DB
+:1026A00067940A94D2F72F5F3F4F4F4F5F4F0894C4
+:1026B000E108F108010911095701680104C0D69425
+:1026C000C794B794A7948A95D2F70894E11CF11C9B
+:1026D000011D111DA614B704C804D90428F0211542
+:1026E00031054105510549F48E899F89A88DB98D21
+:1026F0008E839F83A887B98716C0A618B708C80815
+:10270000D90811C04E815F81688579858C819D8152
+:1027100094010E9473A20894A108B108C108D108CD
+:10272000882331F40FC046E0842E912C8C0E9D1E20
+:10273000A114B104C104D10429F7EA86FB860C87F1
+:102740001D8798CF80E0DF91CF911F910F91FF906F
+:10275000EF90DF90CF90BF90AF909F908F907F9041
+:102760006F900895223009F078CFE7CFCF93DF93B1
+:10277000EC01462F6E857F85888999890E9488A003
+:10278000AC01009719F420E030E00AC08B81282FBB
+:1027900030E065E0220F331F6A95E1F7240F351F03
+:1027A000C901DF91CF9108950F931F93CF93DF93CA
+:1027B0008C01FC0182818823F1F1818187FF38C07F
+:1027C000C80161E00E94B693EC010097A1F18881F5
+:1027D000853E89F1F8018281823040F482899389B3
+:1027E000A489B5898C8F9D8FAE8FBF8FF8018689A4
+:1027F00097899B8F8A8F86899789A08DB18DCD010E
+:10280000AA27BB279D8B8C8BE091D21AF091D31A0B
+:10281000309751F0BE016A5E7F4FCE014896099510
+:10282000888D998D9B8B8A8BF80181818F7781832D
+:102830000E9440A004C081E0F801808380E0DF9125
+:10284000CF911F910F9108956F927F928F929F92D7
+:10285000AF92BF92CF92DF92EF92FF920F931F93AE
+:10286000DF93CF9300D000D0CDB7DEB77C015A0103
+:102870006B01DC0112968C911297813009F091C0A6
+:1028800011968C9181FF8DC0A0C00097A105B10564
+:1028900011F481E087C0F701628473848484958495
+:1028A000C701B601A5010E940D93882309F479C0E0
+:1028B000D70114968D919C911597A114B104C10470
+:1028C000D10489F456964D915D916D917C91599703
+:1028D0000E94E2A2882309F464C0F701168A178ACD
+:1028E000108E118E44C0D70116964D915D916D9159
+:1028F0007C9119979E012F5F3F4F0E9473A28823FE
+:1029000009F44FC0D7011496ED91FC9115974981B8
+:102910005A816B817C818289803149F4483FBFEFC5
+:102920005B07B0E06B07B0E07B0748F020C0483F92
+:102930008FEF58078FEF68078FE07807C0F4CF015B
+:102940000E94E2A2882369F1D70116964D915D910C
+:102950006D917C91199714968D919C9115970FEF1D
+:102960001FEF2FEF3FE00E9403A28823D1F0F70171
+:10297000A28AB38AC48AD58A818180688183C7018B
+:102980000E94D493882369F0B601A5016A147B04E0
+:102990008C049D0410F4B401A301C7010E940D939F
+:1029A00001C080E00F900F900F900F90CF91DF91BA
+:1029B0001F910F91FF90EF90DF90CF90BF90AF905D
+:1029C0009F908F907F906F900895F70182899389EF
+:1029D000A489B58984179507A607B70708F055CFCE
+:1029E000E0CF1F93CF93DF93EC01142F262F30E01D
+:1029F000F90185E0EE0FFF1F8A95E1F7E752F54EEA
+:102A00008385817121F0842F827109F064C08091E7
+:102A1000D91C9091DA1CA091DB1CB091DC1C8E8734
+:102A20009F87A88BB98B6B83F901B5E0EE0FFF1F71
+:102A3000BA95E1F7E752F54E2489358940E050E038
+:102A4000A901332722272E8B3F8B488F598F828DE8
+:102A5000938DA0E0B0E0282B392B4A2B5B2B2E8BDB
+:102A60003F8B488F598F838590E0887190700097D5
+:102A700051F4848D958DA68DB78D8A8B9B8BAC8BF5
+:102A8000BD8B81E008C0409731F5CE010E945E9277
+:102A9000882309F184E08A83812F8F7089831E82C5
+:102AA0001F82188619861A861B861C861D8614FFAF
+:102AB00018C0CE0140E050E060E070E00E94249435
+:102AC000882379F408C04A895B896C897D89CE01A5
+:102AD0000E940D9302C01A8280E0DF91CF911F9176
+:102AE000089515FDF0CF81E0F8CF0F931F938C016F
+:102AF0000E94D493F80112821F910F910895CF93F1
+:102B0000DF93EC0140E050E060E070E00E9424942C
+:102B1000882369F0CE0161E00E94B693FC01009722
+:102B200031F085EE80831A820E9440A001C080E0CF
+:102B3000DF91CF9108952F923F924F925F927F92B3
+:102B40008F929F92AF92BF92CF92DF92EF92FF92BD
+:102B50000F931F93DF93CF93CDB7DEB728970FB6B0
+:102B6000F894DEBF0FBECDBF98878F835E834D8301
+:102B7000DC0112968C911297882309F41EC11196DC
+:102B80008C9180FF1AC134C1F501EE19FF09FE8353
+:102B9000ED837A8369838F81988506969C838B83E6
+:102BA0004D805E8003C1AF81B8851A962D913D910D
+:102BB0004D915C911D978FEF282E81E0382E2222B7
+:102BC00033221496ED91FC91159759016A0109E0A1
+:102BD000D694C794B794A7940A95D1F774807A9441
+:102BE0007A2012968C91823049F4E588F68807891C
+:102BF000108DEA0CFB1C0C1D1D1D35C02114310469
+:102C000011F5772001F5211531054105510559F4DC
+:102C1000EF81F88586899789A08DB18D868397830A
+:102C2000A087B18710C0AF81B88516964D915D9190
+:102C30006D917C911997CF012B813C810E9473A2E9
+:102C4000882309F4BAC0EF81F885468157816085F1
+:102C50007185848195810E9420A07B018C01E70C05
+:102C6000F11C011D111D2114310499F4F0E04F16DF
+:102C7000F2E05F0670F02091D91C3091DA1C40918F
+:102C8000DB1C5091DC1CE216F3060407150709F063
+:102C9000CFC0C801B70140E00E9488A0009709F4A6
+:102CA0008CC040E052E042195309420144155505D9
+:102CB00008F44A019C01220D331D89819A81B901D2
+:102CC000A4010E94570E59C08091DE1C9091DF1C18
+:102CD000B801A70129813A810E941891882309F43B
+:102CE0006CC0812C12E0912E48C0D52CD694AF81B7
+:102CF000B88512968C911297823049F01496ED9116
+:102D0000FC911597848187198D1508F4D82EE21649
+:102D1000F3060407150770F02D0D311D411D511DDF
+:102D2000E216F3060407150728F40E9440A0882342
+:102D300009F443C08091DE1C9091DF1CB801A7010B
+:102D40000E94F5908823C9F109811A81FF2408C0E7
+:102D5000B8010E94F38F00501E4F882371F1F39445
+:102D60008091DE1C9091DF1CFD1490F30E94DB909B
+:102D7000882319F19D2C990C8824E981FA81E80DAA
+:102D8000F91DFA83E983940140E050E0EF81F88572
+:102D900082859385A485B585820F931FA41FB51FD7
+:102DA00082879387A487B58748185908411451042E
+:102DB00009F0F9CE4D815E8102C04FEF5FEFCA018D
+:102DC00028960FB6F894DEBF0FBECDBFCF91DF912E
+:102DD0001F910F91FF90EF90DF90CF90BF90AF9039
+:102DE0009F908F907F905F904F903F902F9008958D
+:102DF000AF81B8855296AD90BD90CD90DC9055973F
+:102E00001A96ED90FD900D911C911D97ED81FE811C
+:102E10009F0140E050E0D601C5018E199F09A00B2B
+:102E2000B10B281739074A075B0708F0ADCEB1CEC2
+:102E3000F0E04F16F4E05F0608F057CF45CFDF9380
+:102E4000CF930F92CDB7DEB7BE016F5F7F4F41E0EA
+:102E500050E00E949B95019719F02FEF3FEF03C0C0
+:102E60008981282F30E0C9010F90CF91DF9108951B
+:102E7000EF92FF920F931F93CF93DF93EC018A8120
+:102E8000823038F1EA84FB840C851D85CE010E94D6
+:102E90001F9797FD1EC08A859B85AC85BD854F9683
+:102EA000A11DB11D8A879B87AC87BD8725E016953C
+:102EB0000795F794E7942A95D1F72E2D30E02F70DF
+:102EC000307095E0220F331F9A95E1F72752354E67
+:102ED00002C020E030E0C901DF91CF911F910F9136
+:102EE000FF90EF900895CF93DF93EC018A818430B7
+:102EF00071F5CE0140E050E060E070E00E940D937B
+:102F000010C0CE010E943897FC01009701F180812A
+:102F10008823A1F0853E29F08E3219F0838583FF46
+:102F200016C02A853B854C855D858A899B89AC893D
+:102F3000BD89281739074A075B0718F381E08A83A0
+:102F4000898182608983CE010E947F9501C080E0E3
+:102F5000DF91CF910895DF92EF92FF920F931F932D
+:102F6000CF93DF938C01EB017A01D22E8C819D816E
+:102F7000F801958384838281882329F56115710581
+:102F800059F521C0A70165E0440F551F6A95E1F787
+:102F900060E070E0CE010E940D938823A1F0CE0185
+:102FA0000E943897FC01009771F08081882359F0C6
+:102FB000853E49F08E3239F06E2D6F70C8014D2D6F
+:102FC0000E94F19401C080E0DF91CF911F910F9199
+:102FD000FF90EF90DF90089527FFD4CFF4CFAF920A
+:102FE000BF92CF92DF92EF92FF920F931F93DF93E6
+:102FF000CF93CDB7DEB76A970FB6F894DEBF0FBE9A
+:10300000CDBF8C0119821B8240E050E060E070E08F
+:103010000E940D935E010894A11CB11C52C0C8010E
+:103020000E943897FC01009709F466C080818823CC
+:1030300009F456C0853E09F444C08E3209F441C0FB
+:10304000838583FD3EC0A7019601F5E0569547951F
+:1030500037952795FA95D1F77901C501B801A901EE
+:1030600021E00E94AB97882309F446C08B8184300D
+:1030700021F4C5010E94EF9706C08A8182608A838D
+:10308000C5010E947F958823B9F10894E11CF11CC9
+:10309000A70160E070E0E5E0440F551F661F771F51
+:1030A000EA95D1F7F80182859385A485B5858417C3
+:1030B0009507A607B70729F0C8010E940D9388233A
+:1030C000D9F0F801C284D384E484F5848289938999
+:1030D000A489B589C816D906EA06FB0608F49FCF6D
+:1030E000F80182818250823028F0C8010E947397D3
+:1030F000882319F081E001C080E06A960FB6F89449
+:10310000DEBF0FBECDBFCF91DF911F910F91FF901A
+:10311000EF90DF90CF90BF90AF9008952F923F92A5
+:103120004F925F926F927F928F929F92AF92BF92D7
+:10313000CF92DF92EF92FF920F931F93DF93CF9383
+:103140000F92CDB7DEB72C015B013A01490100E0D7
+:1031500010E0EE24EA94FE2C1E010894211C311C80
+:1031600013C00A0D1B1DF80160838114910419F42A
+:103170006A3049F41EC0772767FD7095C4010E942C
+:10318000720E0097B1F4860168010894C11CD11C2D
+:10319000C614D70444F5C201B10141E050E00E94D9
+:1031A0009B957C0181309105F1F469816D30C9F600
+:1031B000EBCF8601A00EB11EF5011082C8010F9061
+:1031C000CF91DF911F910F91FF90EF90DF90CF9003
+:1031D000BF90AF909F908F907F906F905F904F9037
+:1031E0003F902F900895F7FEE5CF0FEF1FEFE6CF4A
+:1031F000CF93DF93EC019C012A5F3F4F8C819D812F
+:1032000041E050E060E070E00E9449A38823A1F013
+:103210008E899F89A88DB98D0097A105B10559F4B4
+:103220008E819F81A885B9858E8B9F8BA88FB98F42
+:1032300089818068898381E0DF91CF9108953F92F1
+:103240004F925F926F927F928F929F92AF92BF92B6
+:10325000CF92DF92EF92FF920F931F93DF93CF9362
+:10326000CDB7DEB72A970FB6F894DEBF0FBECDBF3D
+:103270004C01162F072F5A874987DC0112968C9133
+:103280001297813009F0B0C111968C9181FFACC1C9
+:10329000C9C1F401428953896489758982859385FE
+:1032A000A485B58584179507A607B70731F0C40133
+:1032B0000E940D93882309F497C1812F902F9C01C0
+:1032C00038872F8329853A853E832D8351C1D401C8
+:1032D0001496ED91FC911597DA01C90119E0B695A4
+:1032E000A795979587951A95D1F7F480FA94F822C7
+:1032F00089011170FF2009F052C00115110509F074
+:103300004EC0D40116964D915D916D917C911997A7
+:10331000411551056105710571F1CF019E012F5FC6
+:103320003F4F0E9473A2882309F45EC129813A812C
+:103330004B815C81D4011496ED91FC9115978289A3
+:10334000803149F4283FBFEF3B07B0E04B07B0E0C6
+:103350005B0748F019C0283FEFEF3E07EFEF4E073D
+:10336000EFE05E0788F4D40116962D933D934D93BC
+:103370005C93199714C0F40186899789A08DB18D4B
+:103380000097A105B10531F4C4010E94F898882383
+:1033900031F42AC1F40186839783A087B187D401D1
+:1033A00016964D915D916D917C91199714968D9122
+:1033B0009C9115970E9420A05B016C01AF0CB11C81
+:1033C000C11CD11C01151105C9F4ED81FE81E0502D
+:1033D000F240D8F5D4011A962D913D914D915C9112
+:1033E0001D9752968D919D910D90BC91A02D2817FF
+:1033F00039074A075B0710F045E001C041E0C6010C
+:10340000B5010E9488A0009709F4EEC040E052E0A8
+:10341000401B510B4D805E804415550508F42A0170
+:103420009C01200F311FC9016F817885A2010E9484
+:10343000570E040D151D0050124009F07DC00E946A
+:1034400085A0882309F078C0CFC0ED81FE81E050CF
+:10345000F44000F58091D91C9091DA1CA091DB1CFE
+:10346000B091DC1C8A159B05AC05BD0511F40E94CA
+:1034700011A08091DE1C9091DF1CB601A5012F8167
+:1034800038850E94A190882309F4AEC0412CF2E057
+:103490005F2E52C0D4011496ED91FC911597848152
+:1034A0008F193E803694831508F4382E032D10E0D2
+:1034B00020E030E08091DE1C9091DF1CB601A50178
+:1034C0000E945990882309F48FC06F807884860108
+:1034D000750122C08091D91C9091DA1CA091DB1C4F
+:1034E000B091DC1CE816F9060A071B0711F40E94CC
+:1034F00011A08091DE1C9091DF1CB3010E94CD8F42
+:10350000E0E0F2E06E0E7F1E0894E11CF11C011D4C
+:10351000111D882309F468C08E2D8A198315D0F2F5
+:103520008091DE1C9091DF1C0E94A78F882309F4F4
+:103530005BC0532C550C4424920140E050E0F40150
+:1035400082859385A485B585820F931FA41FB51F1F
+:1035500082879387A487B5872F813885240D351DF1
+:1035600038872F838D819E81841995099E838D8351
+:10357000D4011A962D913D914D915C911D97ED814D
+:10358000FE81EF2B09F0A3CE52968D919D910D9067
+:10359000BC91A02D82179307A407B50740F4D4016E
+:1035A00052962D933D934D935C9355970BC080910C
+:1035B000D21A9091D31A892B59F0E985FA85EF2B0D
+:1035C00039F0D40111968C911197806811968C93E3
+:1035D000F401818183FF05C0C4010E94D493882334
+:1035E00019F049855A8505C081E0D4018C934FEFCD
+:1035F0005FEFCA012A960FB6F894DEBF0FBECDBFAB
+:10360000CF91DF911F910F91FF90EF90DF90CF90BE
+:10361000BF90AF909F908F907F906F905F904F90F2
+:103620003F90089582FD35CE48CE9F92AF92BF92D3
+:10363000CF92DF92EF92FF920F931F93CF93DF937E
+:103640008C01FC0182899389A489B589805E9F4F92
+:10365000AF41B04008F05CC0C8010E94F8988823D0
+:1036600009F456C0D80116964D915D916D917C91EB
+:10367000199714968D919C9115970E9420A05B013B
+:103680006C0145E00E9488A0EC01009709F442C05B
+:1036900080E092E0FE019C01119221503040E1F760
+:1036A0009C2EED2EFF24F39411C0B601A5014F0D01
+:1036B000511D611D711D8091DE1C9091DF1C292D13
+:1036C0003E2D0E94A190882319F1F394D8011496FD
+:1036D000ED91FC9115972481F21638F330E040E02B
+:1036E00050E089E0220F331F441F551F8A95D1F700
+:1036F00052968D919D910D90BC91A02D820F931F9C
+:10370000A41FB51FF801828B938BA48BB58B02C0CD
+:10371000C0E0D0E0CE01DF91CF911F910F91FF90DB
+:10372000EF90DF90CF90BF90AF909F9008953F9221
+:103730004F925F926F927F928F929F92AF92BF92C1
+:10374000CF92DF92EF92FF920F931F93CF93DF936D
+:103750004C01EB01442E352E522E8C819D81F401BB
+:1037600095838483CB0140E050E060E070E00E94EC
+:103770000D9377244FC0CE010E941F9797FDABC0D9
+:103780008A859B85AC85BD8581509E4FAF4FBF4FCD
+:103790008A879B87AC87BD87A090D91CB090DA1C24
+:1037A000C090DB1CD090DC1C29EDE22E2AE1F22E29
+:1037B00000E010E0602EF7018081882311F0853E43
+:1037C00079F4772041F4F401A686B786C08AD18ABD
+:1037D000638277247394F7018081882391F428C051
+:1037E000B80195E0660F771F9A95E1F76752754E1D
+:1037F000842D932D4BE050E00E944A0E009709F46F
+:103800007DC00F5F1F4F80E290E0E80EF91E00318F
+:10381000110581F62A853B854C855D858A899B89C2
+:10382000AC89BD89281739074A075B0708F4A3CF7D
+:1038300056FE51C051FE4FC0772051F0F401638015
+:10384000C40161E00E94B693EC01009761F443C0AB
+:103850008A81823009F43FC0CE010E94159B0097F7
+:10386000D1F1EC01662480E2FE0111928A95E9F71C
+:10387000DE01242D332DC901FC018BE001900D9256
+:103880008150E1F7E091D21AF091D31A309739F0D4
+:10389000BE01625F7F4FCE014096099508C081E26C
+:1038A00098E2998B888B80E098E09F878E87888943
+:1038B00099899B8B8A8B998F888F8E859F859F8B0B
+:1038C0008E8B0E9440A0882331F0C401662D452DC7
+:1038D0000E94F19401C080E0DF91CF911F910F9180
+:1038E000FF90EF90DF90CF90BF90AF909F908F9020
+:1038F0007F906F905F904F903F90089557FEE5CF77
+:10390000EACF2F923F924F925F926F927F928F9267
+:103910009F92AF92BF92CF92DF92EF92FF920F935E
+:103920001F93DF93CF93CDB7DEB7C454D0400FB60B
+:10393000F894DEBF0FBECDBF3C016B01DE01A05C81
+:10394000BF4F11965C934E9323962FAF239761152B
+:10395000710509F483C01E8618A6FC0182818823A4
+:1039600009F07CC01C861EA2FA0180818F32F1F022
+:1039700086015CE0E52EF12CEC0EFD1E40E4A42E49
+:10398000B12CAC0EBD1E4E010894811C911C2596D5
+:10399000FFAEEEAE259736E2232E312C2C0E3D1EC7
+:1039A000270124C01196B183A08301C0FD01A0812D
+:1039B000B1818C918F32B1F3D60112968C9112970E
+:1039C00082508230A8F28E010A5D1F4F14966D91CD
+:1039D0007C911597C8010E94C592882351F63EC07C
+:1039E000342D252D8701832F922F7C01F5018081B5
+:1039F0009181B401A5010E941092882329F42EC060
+:103A00003196D501ED93FC93D501ED91FC91808128
+:103A10008F32B1F38823C9F0C701B801A40121E0B6
+:103A20000E94979B8823D1F00C151D0519F0C80141
+:103A30000E9475952596EEADFFAD2597EE16FF0613
+:103A400079F6C101322D292FCDCFC301B801A401D0
+:103A500023962FAD23970E94979B01C080E0CC5BFB
+:103A6000DF4F0FB6F894DEBF0FBECDBFCF91DF9111
+:103A70001F910F91FF90EF90DF90CF90BF90AF908C
+:103A80009F908F907F906F905F904F903F902F907E
+:103A900008950F931F93DF93CF93CDB7DEB76A9747
+:103AA0000FB6F894DEBF0FBECDBF9C01AB011982EB
+:103AB0001B828E010F5F1F4FC801B90122E00E94D7
+:103AC000819C882319F0C8010E947F956A960FB6E1
+:103AD000F894DEBF0FBECDBFCF91DF911F910F9144
+:103AE0000895FB01242F6091D01A7091D11AAF0173
+:103AF0000E94819C0895DF93CF93CDB7DEB76A977C
+:103B00000FB6F894DEBF0FBECDBF9C01AB0119828A
+:103B10001B82CE010196B90121E00E94819C6A9628
+:103B20000FB6F894DEBF0FBECDBFCF91DF910895E1
+:103B3000EF92FF920F931F93DF93CF93CDB7DEB732
+:103B4000A0970FB6F894DEBF0FBECDBF8C017B01EE
+:103B5000FB018281823008F46FC0C80123EC0E940F
+:103B6000979B882309F468C081E0F801818384E091
+:103B70008283C8010E94159B892B09F45DC0C8018E
+:103B80000E94D493882309F457C0C80161E00E94C1
+:103B9000B693FC01009709F44FC080E18387DE01F2
+:103BA000119680E201900D928150E1F78EE28983B7
+:103BB000FE01329620E2CE010C962193E817F90718
+:103BC000E1F7F80146895789608D718D848195816F
+:103BD0000E9420A041E00E9488A09C01009761F112
+:103BE000DC01FE01319680E201900D928150E1F7F7
+:103BF0008EE28A83F70182818250823028F41C8E03
+:103C00001B8E1E8A1D8A0CC0F70186899789A08D9C
+:103C1000B18D9C8F8B8FCD01AA27BB279E8B8D8B5F
+:103C2000D9019096FE01319680E201900D9281506B
+:103C3000E1F70E9440A001C080E0A0960FB6F89482
+:103C4000DEBF0FBECDBFCF91DF911F910F91FF90CF
+:103C5000EF9008952F923F924F925F926F927F92D2
+:103C60008F929F92AF92BF92CF92DF92EF92FF928C
+:103C70000F931F93DF93CF93CDB7DEB7C454D040DB
+:103C80000FB6F894DEBF0FBECDBF3C016B01DE0165
+:103C9000A05CBF4F11965C934E9323962FAF239752
+:103CA0006115710509F487C01E8618A6FC01828182
+:103CB000882309F080C09AC08601FCE0EF2EF12C29
+:103CC000EC0EFD1EE0E4AE2EB12CAC0EBD1E4E017E
+:103CD0000894811C911C2596FFAEEEAE259776E2E6
+:103CE000272E312C2C0E3D1E270124C01196B183A6
+:103CF000A08301C0FD01A081B1818C918F32B1F30D
+:103D0000D60112968C91129782508230A8F28E01C1
+:103D10000A5D1F4F14966D917C911597C8010E9402
+:103D2000C592882351F647C0342D252D8701832F56
+:103D3000922F7C01F50180819181B401A5010E943F
+:103D40001092882329F437C03196D501ED93FC9366
+:103D5000D501ED91FC9180818F32B1F3882329F157
+:103D6000C701B801A40121E00E94979B882361F458
+:103D70002396BFAD2397BB23F1F0C701B801A4017F
+:103D80000E94989D8823B9F00C151D0519F0C801F3
+:103D90000E9475952596EEADFFAD2597EE16FF06B0
+:103DA00019F6C101322D292FC1CFC301B801A401D9
+:103DB0000E94989D01C080E0CC5BDF4F0FB6F89465
+:103DC000DEBF0FBECDBFCF91DF911F910F91FF904E
+:103DD000EF90DF90CF90BF90AF909F908F907F90AB
+:103DE0006F905F904F903F902F9008951C861EA279
+:103DF000ED91FC91119780818F3209F05DCF7ACFE0
+:103E00004E960E94499D0895DF93CF93CDB7DEB7BC
+:103E10006A970FB6F894DEBF0FBECDBFFB01242F0B
+:103E200019821B82BC01625E7F4FCE010196AF01F9
+:103E30000E942A9E6A960FB6F894DEBF0FBECDBFD1
+:103E4000CF91DF9108954E960E947B9D0895CF9368
+:103E5000DF93EC01662331F06E96D093D11AC093B4
+:103E6000D01A6E9788A1882321F0CE014E960E9429
+:103E70007595CE014E962596BE010E94C592DF91A2
+:103E8000CF910895DF92EF92FF920F931F93DF93EC
+:103E9000CF93CDB7DEB76A970FB6F894DEBF0FBEEB
+:103EA000CDBF9C01FB01D42E19821B8280818F32F1
+:103EB00041F48181882329F4C901642F0E94279F3E
+:103EC00022C08901025E1F4F7E010894E11CF11C93
+:103ED000C701B801AF0121E00E94819C882391F0C5
+:103EE0008B81823078F0D801F7018AE101900D9240
+:103EF0008150E1F7DD2021F01093D11A0093D01A00
+:103F000081E001C080E06A960FB6F894DEBF0FBE74
+:103F1000CDBFCF91DF911F910F91FF90EF90DF9078
+:103F200008950F931F93CF93DF93EC010E944C9160
+:103F30008823C9F08E010B5F1F4FC801BE0141E00D
+:103F40000E94CCA0882339F4C801BE0140E00E9441
+:103F5000CCA0882341F0CE0161E00E94279F8823F6
+:103F600019F081E001C080E0DF91CF911F910F91A6
+:103F70000895DB010D900020E9F71197A61BB70B00
+:103F80000496AD010E941F990895DF93CF930F927D
+:103F9000CDB7DEB769830496BE016F5F7F4F41E006
+:103FA00050E00E941F9920E030E0019711F421E0D9
+:103FB00030E0C9010F90CF91DF91089504960E94DF
+:103FC0001F99089540E082E002C0880F4F5F861776
+:103FD00010F44630D1F7242F30E0C901959587952C
+:103FE00080658CBD40FF02C080E004C080E04630A8
+:103FF00009F081E08DBD089584E061E00E949BAAF4
+:1040000084E061E00E941EAA86E060E00E941EAA91
+:1040100085E061E00E941EAA87E061E00E941EAA7E
+:1040200008958FEF9FEFAFEFBFEF8093D91C909370
+:10403000DA1CA093DB1CB093DC1C1092DD1C0895ED
+:104040000F931F938C01CB01BA01625070408040E6
+:104050009040F801248130E040E050E00E9405B437
+:104060009B01AC01F80182859385A485B585280F55
+:10407000391F4A1F5B1FB901CA011F910F91089593
+:104080008091DD1C80FF3DC04091D91C5091DA1C0D
+:104090006091DB1C7091DC1C8091DE1C9091DF1C18
+:1040A00029ED3AE10E94A190882369F18091DD1CFD
+:1040B00081FF22C08091D41A8230F0F04091D51A4D
+:1040C0005091D61A6091D71A7091D81A8091D91C44
+:1040D0009091DA1CA091DB1CB091DC1C480F591F99
+:1040E0006A1F7B1F8091DE1C9091DF1C29ED3AE155
+:1040F0000E94A190882339F08091DD1C8E7F8093EF
+:10410000DD1C81E0089580E008950E9440A008959C
+:10411000DF92EF92FF920F931F937B018C01D42EBD
+:104120008091D91C9091DA1CA091DB1CB091DC1C11
+:104130008E159F05A007B107E1F00E9440A08823DB
+:1041400011F1D2FC0CC08091DE1C9091DF1CB801F3
+:10415000A70129ED3AE10E9418918823A1F010925D
+:10416000DD1CE092D91CF092DA1C0093DB1C10934A
+:10417000DC1C83E0D8228091DD1C8D298093DD1C1E
+:1041800029ED3AE102C020E030E0C9011F910F9112
+:10419000FF90EF90DF9008956F927F928F929F92A1
+:1041A000AF92BF92CF92DF92EF92FF920F931F9345
+:1041B000CF93DF93EC01142F7093DF1C6093DE1C10
+:1041C0001A8A82E090E0A0E0B0E088839983AA8315
+:1041D000BB831092DD1C8FEF9FEFAFEFBFEF80939B
+:1041E000D91C9093DA1CA093DB1CB093DC1C4423F5
+:1041F00021F466247724430136C0453008F0EFC02F
+:1042000060E070E080E090E040E00E9488A0DC0187
+:10421000009709F4E4C0412F50E041505040FA01AA
+:1042200074E0EE0FFF1F7A95E1F7E80FF91FE254F3
+:10423000FE4F808190E08F779070892B09F0CFC07E
+:1042400064E0440F551F6A95E1F7A40FB51FAA5308
+:10425000BE4F6D907D908D909C906114710481048F
+:10426000910409F4BCC0C401B30140E00E9488A0DD
+:104270005C01009709F4B3C0FC01838594858050EC
+:10428000924009F0ACC0F5012089222309F4A7C0AF
+:10429000468557854115510509F4A1C02093D41ACC
+:1042A00085858C83198691E060E070E00AC0990FE3
+:1042B0006F5F7F4F6830710509F491C089858F5F0A
+:1042C00089878C81891799F7F50166897789611546
+:1042D000710519F080E090E005C0F50164A175A1B9
+:1042E00086A197A16093D51A7093D61A8093D71A96
+:1042F0009093D81A6A01EE24FF24C60CD71CE81C40
+:10430000F91CCE86DF86E88AF98AF50101891289CF
+:104310001C8B0B8B30E040E050E00E9405B46C0D2C
+:104320007D1D8E1D9F1D6D8B7E8B8F8B988F35E035
+:10433000000F111F3A95E1F701501E4F012F112771
+:104340000695980140E050E0260F371F481F591F7F
+:104350002A873B874C875D87F5018389948900977D
+:1043600021F07C0100E010E005C0F501E0A0F1A023
+:1043700002A113A1C401B301621B730B840B950B43
+:104380006E0D7F1D801F911F098404C0969587952F
+:10439000779567950A94D2F76D837E838F8398878C
+:1043A000653FFFE07F07F0E08F07F0E09F0718F41C
+:1043B0008CE08A8B14C0655F7F4F8040904010F482
+:1043C00080E10AC0F50184A595A5A6A5B7A58D8BAA
+:1043D0009E8BAF8BB88F80E28A8B81E001C080E03A
+:1043E000DF91CF911F910F91FF90EF90DF90CF90D1
+:1043F000BF90AF909F908F907F906F900895426094
+:104400000E9488A008958F929F92AF92BF92CF9200
+:10441000DF92EF92FF920F931F93CF93DF93EC0104
+:104420006A017B014801590142305105610571055E
+:1044300008F44BC08D819E81AF81B8850196A11D86
+:10444000B11D84179507A607B70708F43EC08A89EF
+:10445000803129F4252F362F472F55270BC0803266
+:10446000A1F59A01AB0117E0569547953795279529
+:104470001A95D1F78E859F85A889B989280F391F8C
+:104480004A1F5B1FCA01B90141E00E94FFA19C01C4
+:104490000097D9F08A89803149F4F601F070EE0F67
+:1044A000FF1FE20FF31F918280820DC0F601EF77AC
+:1044B000F070EE0FFF1FEE0FFF1FE20FF31F808261
+:1044C0009182A282B38281E001C080E0DF91CF912E
+:1044D0001F910F91FF90EF90DF90CF90BF90AF9022
+:1044E0009F908F900895CF92DF92EF92FF920F935B
+:1044F0001F93CF93DF93EC017A018B016901423066
+:1045000051056105710508F453C08D819E81AF810D
+:10451000B8850196A11DB11D84179507A607B70799
+:1045200008F446C08A89803129F45527412F302F5D
+:104530002F2D0BC08032E1F59A01AB0167E0569553
+:104540004795379527956A95D1F78E859F85A889D8
+:10455000B989280F391F4A1F5B1FCA01B90140E002
+:104560000E94FFA19C01009719F18A89803159F4BA
+:10457000F701F070EE0FFF1FE20FF31F80819181B2
+:10458000A0E0B0E00EC0F701EF77F070EE0FFF1F74
+:10459000EE0FFF1FE20FF31F80819181A281B38193
+:1045A000BF70F60180839183A283B38381E001C051
+:1045B00080E0DF91CF911F910F91FF90EF90DF90FE
+:1045C000CF9008958F929F92AF92BF92CF92DF9239
+:1045D000EF92FF920F931F93DF93CF9300D000D001
+:1045E000CDB7DEB75C016A017B014E010894811CE6
+:1045F000911CC501B701A60194010E9473A28823F2
+:10460000B1F1C501B701A60100E010E020E030E003
+:104610000E9403A2882359F1F50180819181A28132
+:10462000B381C816D906EA06FB0620F4C082D182FF
+:10463000E282F382C980DA80EB80FC80F501828916
+:10464000803151F4F8EFCF16FFEFDF06F0E0EF0610
+:10465000F0E0FF0670F209C088EFC8168FEFD806A9
+:104660008FEFE8068FE0F80620F281E001C080E0DD
+:104670000F900F900F900F90CF91DF911F910F919E
+:10468000FF90EF90DF90CF90BF90AF909F908F9072
+:1046900008952F923F924F925F926F927F928F92E6
+:1046A0009F92AF92BF92CF92DF92EF92FF920F93C1
+:1046B0001F93DF93CF93CDB7DEB766970FB6F8940D
+:1046C000DEBF0FBECDBF1C0149875A876B877C8731
+:1046D0003E872D87DC0115962D913D914D915C9182
+:1046E00018972F5F3F4F4F4F5F4F2D833E834F8370
+:1046F0005887ED85FE850081118122813381011566
+:1047000011052105310549F0480159010894811C22
+:10471000911CA11CB11C10E006C0DC018D909D9085
+:10472000AD90BC9011E07501640144245524320120
+:10473000F10185819681A781B085481659066A06E0
+:104740007B0608F09DC02D813E814F8158852C1538
+:104750003D054E055F0550F4F2E08F2E912CA12C03
+:10476000B12CE2E0CE2ED12CE12CF12CC101B7010D
+:10477000A6019E012F5F3F4F0E9473A2882309F478
+:104780007FC089819A81AB81BC810097A105B10569
+:1047900071F08C149D04AE04BF0409F010E04601D2
+:1047A00057010894811C911CA11CB11C16C0D70193
+:1047B000C6010196A11DB11D8B8B9C8BAD8BBE8B51
+:1047C00088199909AA09BB0929853A854B855C8511
+:1047D00082179307A407B50759F00894411C511C90
+:1047E000611C711C0894C11CD11CE11CF11CA0CFE0
+:1047F000112349F08B899C89AD89BE89F1018083A1
+:104800009183A283B383C101B701A6010FEF1FEF0C
+:104810002FEF3FE00E9403A2882399F431C02601C4
+:10482000370108944108510861087108C101B301BA
+:10483000A201970186010E9403A2882309F1730156
+:1048400062018C149D04AE04BF0448F3AD85BE859F
+:104850004D915D916D917C914115510561057105F9
+:1048600039F0C101950184010E9403A2882341F01F
+:10487000ED85FE8580829182A282B38281E001C0B3
+:1048800080E066960FB6F894DEBF0FBECDBFCF9125
+:10489000DF911F910F91FF90EF90DF90CF90BF902D
+:1048A000AF909F908F907F906F905F904F903F90D0
+:1048B0002F90089581E08093251D6093021D109232
+:1048C000231D1092241D089581E08093251D60937F
+:1048D000021D1092231D1092241D08952091011D88
+:1048E00030E08091001D281B3109C90108954091D5
+:1048F000001D8091011D481718F02FEF3FEF0AC0EF
+:10490000E42FF0E0E052F34E8081282F30E04F5F3B
+:104910004093001DC9010895E091001D8091011D83
+:10492000E81718F0EFEFFFEF06C0F0E0E052F34EAB
+:104930008081E82FF0E0CF01089508951092291D9D
+:104940001092281D88EE93E0A0E0B0E080932A1D2D
+:1049500090932B1DA0932C1DB0932D1D8CE09AE0FD
+:104960009093271D8093261D0895CF92DF92EF929A
+:10497000FF920F931F93CF93DF937C016B018A010A
+:104980008091251D8823A1F0C0E0D0E00DC0D701A3
+:10499000ED91FC91D601AC0FBD1F0190F081E02D8F
+:1049A000C7016C9109952196C017D10780F304C007
+:1049B000CB01642F0E94E7A5C801DF91CF911F9121
+:1049C0000F91FF90EF90DF90CF900895DF93CF93FA
+:1049D0000F92CDB7DEB7FC0169838091251D882336
+:1049E000C9F08091241D803238F081E090E09383FB
+:1049F000828320E030E015C08091231DE82FF0E095
+:104A0000ED5FF24E998190838F5F8093231D809399
+:104A1000241D05C0CE01019661E00E94E7A521E0BA
+:104A200030E0C9010F90CF91DF9108950F93062FC9
+:104A30008091021D63E07DE14091241D21E00E94F0
+:104A400092A51092231D1092241D1092251D0F91E6
+:104A5000089561E00E9416A50895413208F040E2F1
+:104A6000862F60EE7CE10E9449A51092001D809384
+:104A7000011D089521E00E942DA508951092001DAA
+:104A80001092011D1092231D1092241D0E9497A7C1
+:104A90000895382F413210F040E042C08091321D1D
+:104AA0008823E1F791E09093321D2093341D8FEF1E
+:104AB00080939F1D10925A1D415040935B1D4F5F84
+:104AC0009093331D8091331D330F832B8093331DBF
+:104AD0008091351D813041F41092351D8091331D38
+:104AE0008093BB0085EC01C085EE8093BC00809173
+:104AF000321D8130E1F380915A1D841710F44091EA
+:104B00005A1D20E030E00AC0FB01E20FF31FD9017B
+:104B1000A65CB24E8C9180832F5F3F4F2417A0F389
+:104B2000842F08950F931F93582F122F413210F0A6
+:104B300081E04AC08091321D8823E1F782E08093B2
+:104B4000321D0093341D8FEF80939F1D10925A1DCC
+:104B500040935B1DAAE3BDE1FB0102C081918D93EF
+:104B60008E2F861B8417D0F31092331D8091331D36
+:104B7000550F852B8093331D8091351D813041F475
+:104B80001092351D8091331D8093BB0085EC01C0D0
+:104B900085EE8093BC00112321F08091321D82307C
+:104BA000E1F380919F1D8F3F11F480E00DC0809153
+:104BB0009F1D803211F482E007C080919F1D8033D9
+:104BC00011F084E001C083E01F910F910895482FF8
+:104BD000613210F081E008958091321D843011F02F
+:104BE00082E0089560937D1DACE5BDE1842F9C01BA
+:104BF000F90102C081918D938E2F841B8617D0F30B
+:104C000080E008951F920F920FB60F920BB60F928D
+:104C100011242F933F934F935F936F937F938F93C1
+:104C20009F93AF93BF93EF93FF938091B90090E070
+:104C3000887F90708036910509F4F2C08136910525
+:104C4000CCF58832910509F47BC089329105B4F422
+:104C50008031910509F46FC0813191053CF40097D2
+:104C600009F447C1089709F04FC165C08831910523
+:104C700009F466C0809709F047C182C0803491056D
+:104C800009F4A4C08134910544F48033910509F4FA
+:104C900082C0C89709F038C189C08035910509F4F0
+:104CA00089C08835910509F496C08834910509F0CA
+:104CB0002BC1AEC08839910509F413C1893991051A
+:104CC000ECF48837910509F4ABC0893791054CF4B1
+:104CD0008836910509F4A4C08037910509F014C104
+:104CE0009FC08838910509F4FCC08039910509F40A
+:104CF0009DC08038910509F007C198C0803B91059F
+:104D000009F4C6C0813B91054CF4803A910509F441
+:104D10009FC0883A910509F0F7C0BAC0803C910560
+:104D200009F4E3C0883C910509F4DFC0883B910594
+:104D300009F0EAC0C2C08091331D8093BB00CFC090
+:104D400090915A1D80915B1D981768F490915A1D9F
+:104D5000E92FF0E0E65CF24E80818093BB009F5F1C
+:104D600090935A1DBCC08091341D882309F44BC018
+:104D700085ED8093BC008091BC0084FDFCCFC2C057
+:104D800080E280939F1D85ED8093BC008091BC00E4
+:104D900084FDFCCFB7C080E380939F1D85ED809399
+:104DA000BC008091BC0084FDFCCFACC088E3809344
+:104DB0009F1D9BC080915A1D9091BB00E82FF0E091
+:104DC000E65CF24E90838F5F80935A1D90915A1D3E
+:104DD00080915B1D82C080915A1D9091BB00E82F8D
+:104DE000F0E0E65CF24E90838F5F80935A1D8091D5
+:104DF000341D882341F085ED8093BC008091BC0078
+:104E000084FDFCCF7FC081E08093351D84EA6EC0B5
+:104E100085ED8093BC008091BC0084FDFCCF72C006
+:104E200083E08093321D10929E1D59C080919E1D7B
+:104E3000803208F056C080919E1D9091BB00E82FF3
+:104E4000F0E0E258F24E90838F5F80939E1D47C042
+:104E500080919E1D803230F4E0919E1DF0E0E2587A
+:104E6000F24E108285ED8093BC008091BC0084FDE1
+:104E7000FCCF1092321D60919E1DE091381DF09183
+:104E8000391D8EE79DE170E0099510929E1D2DC0A1
+:104E900084E08093321D10927C1D10927D1DE09164
+:104EA000361DF091371D099580917D1D882329F4C9
+:104EB00081E080937D1D10925C1D90917C1DE92FF7
+:104EC000F0E0E45AF24E80818093BB009F5F9093A4
+:104ED0007C1D90917C1D80917D1D981710F485ECB0
+:104EE00001C085E88093BC000FC085EC8093BC00B6
+:104EF00009C010929F1D85ED8093BC008091BC007D
+:104F000084FDFCCF1092321DFF91EF91BF91AF91C4
+:104F10009F918F917F916F915F914F913F912F91D1
+:104F20000F900BBE0F900FBE0F901F901895109210
+:104F3000321D81E08093341D1092351D81E161E0C6
+:104F40000E949BAA80E161E00E949BAAE9EBF0E04D
+:104F500080818E7F808380818D7F808388E48093B1
+:104F6000B80085E48093BC000895833078F5E82F7D
+:104F7000F0E0EE0FFF1FE056F24E71836083813048
+:104F800069F0813018F0823009F514C08091690011
+:104F90008C7F842B80936900E89A08958091690042
+:104FA000440F551F440F551F837F842B8093690046
+:104FB000E99A08958091690094E0440F551F9A95ED
+:104FC000E1F78F7C842B80936900EA9A08951F9201
+:104FD0000F920FB60F920BB60F9211242F933F939F
+:104FE0004F935F936F937F938F939F93AF93BF93F1
+:104FF000EF93FF938091A01D9091A11D892B29F023
+:10500000E091A01DF091A11D0995FF91EF91BF9135
+:10501000AF919F918F917F916F915F914F913F9150
+:105020002F910F900BBE0F900FBE0F901F901895F1
+:105030001F920F920FB60F920BB60F9211242F935F
+:105040003F934F935F936F937F938F939F93AF9310
+:10505000BF93EF93FF938091A21D9091A31D892B85
+:1050600029F0E091A21DF091A31D0995FF91EF9108
+:10507000BF91AF919F918F917F916F915F914F9170
+:105080003F912F910F900BBE0F900FBE0F901F906E
+:1050900018951F920F920FB60F920BB60F92112414
+:1050A0002F933F934F935F936F937F938F939F9330
+:1050B000AF93BF93EF93FF938091A41D9091A51D93
+:1050C000892B29F0E091A41DF091A51D0995FF9170
+:1050D000EF91BF91AF919F918F917F916F915F9170
+:1050E0004F913F912F910F900BBE0F900FBE0F90DD
+:1050F0001F9018951F920F920FB60F9211242F93A5
+:105100003F938F939F93AF93BF938091AA1D9091EC
+:10511000AB1DA091AC1DB091AD1D3091AE1D01969F
+:10512000A11DB11D232F2D5F2D3720F02D57019686
+:10513000A11DB11D2093AE1D8093AA1D9093AB1DA0
+:10514000A093AC1DB093AD1D8091A61D9091A71D9D
+:10515000A091A81DB091A91D0196A11DB11D80931C
+:10516000A61D9093A71DA093A81DB093A91DBF9144
+:10517000AF919F918F913F912F910F900FBE0F9004
+:105180001F9018958FB7F8942091AA1D3091AB1DF0
+:105190004091AC1D5091AD1D8FBFB901CA0108955A
+:1051A0009B01AC017FB7F8948091A61D9091A71D3B
+:1051B000A091A81DB091A91D66B5A89B05C06F3F21
+:1051C00019F00196A11DB11D7FBFBA2FA92F982FED
+:1051D0008827860F911DA11DB11D62E0880F991FC0
+:1051E000AA1FBB1F6A95D1F7BC012DC0FFB7F89469
+:1051F0008091A61D9091A71DA091A81DB091A91DF9
+:10520000E6B5A89B05C0EF3F19F00196A11DB11DA1
+:10521000FFBFBA2FA92F982F88278E0F911DA11D90
+:10522000B11DE2E0880F991FAA1FBB1FEA95D1F7B5
+:10523000861B970B885E9340C8F221503040404057
+:10524000504068517C4F211531054105510571F6DB
+:105250000895019739F0880F991F880F991F0297B9
+:105260000197F1F70895789484B5826084BD84B580
+:10527000816084BD85B5826085BD85B5816085BD51
+:10528000EEE6F0E0808181608083E1E8F0E010826A
+:10529000808182608083808181608083E0E8F0E0AB
+:1052A000808181608083E1EBF0E080818460808395
+:1052B000E0EBF0E0808181608083E1E9F0E08081D3
+:1052C00082608083808181608083E0E9F0E080817A
+:1052D00081608083EAE7F0E0808184608083808160
+:1052E0008260808380818160808380818068808308
+:1052F0001092C10008958093B0090895982F8E30C0
+:1053000008F09E5097708091B0098295880F880FA1
+:10531000807C892B80937C0080917A0080648093CC
+:105320007A0080917A0086FDFCCF20917800409130
+:105330007900942F80E030E0282B392BC9010895A3
+:105340001F93CF93DF93182FEB0161E00E941EAAF9
+:10535000209709F468C0CF3FD10509F467C0E12F59
+:10536000F0E0E75AF94E8491843061F1853040F4E1
+:105370008230C9F08330E0F4813009F051C00EC0B2
+:10538000873091F1883020F4863009F049C024C07C
+:10539000883091F1893009F043C038C084B5806805
+:1053A00084BDC7BD47C084B5806284BDC8BD42C04E
+:1053B00080918000806880938000D0938900C093A2
+:1053C000880038C080918000806280938000D093F4
+:1053D0008B00C0938A002EC08091B00080688093BB
+:1053E000B000C093B30026C08091B000806280936B
+:1053F000B000C093B4001EC080919000806880937C
+:105400009000D0939900C093980014C080919000B0
+:10541000806280939000D0939B00C0939A000AC052
+:10542000C038D1051CF4812F60E002C0812F61E0FB
+:105430000E949BAADF91CF911F910895CF93DF9394
+:10544000482F50E0CA01875C994EFC013491475EB9
+:10545000594EFA018491882369F190E0880F991FD1
+:10546000FC01E550FA4EA591B491FC01EB5FF94EB9
+:10547000C591D491662351F42FB7F8948C91932F52
+:10548000909589238C93888189230BC0623061F4C5
+:105490002FB7F8948C91932F909589238C938881C2
+:1054A000832B88832FBF06C09FB7F8948C91832BE2
+:1054B0008C939FBFDF91CF9108958430C9F08530E0
+:1054C00038F48230F1F0833078F4813099F516C0E9
+:1054D0008730F9F0883018F4863061F516C08830CE
+:1054E000F1F0893039F521C0809180008F7703C0B9
+:1054F000809180008F7D80938000089584B58F77A0
+:1055000002C084B58F7D84BD08958091B0008F77EF
+:1055100003C08091B0008F7D8093B000089580918A
+:1055200090008F77809390000895809190008F7DF8
+:10553000809390000895FF920F931F93F62E482FAB
+:1055400050E0CA01875A994EFC012491CA01875C38
+:10555000994EFC011491475E594EFA0104910023C3
+:10556000C9F0222319F0822F0E945DAAE02FF0E0FB
+:10557000EE0FFF1FEB5FF94EA591B4919FB7F89422
+:10558000FF2021F48C911095812302C08C91812BF6
+:105590008C939FBF1F910F91FF9008950F931F93BE
+:1055A000482F50E0CA01875A994EFC012491CA0144
+:1055B000875C994EFC010491475E594EFA011491A3
+:1055C000112319F420E030E015C0222319F0822FB6
+:1055D0000E945DAA812F90E0880F991F815F994EEC
+:1055E000FC01A591B4918C9120E030E0802311F072
+:1055F00021E030E0C9011F910F91089508951F9295
+:105600000F920FB60F920BB60F9211242F933F9368
+:105610004F938F939F93EF93FF934091C6002091F8
+:10562000EF1D3091F01D2F5F3F4F2F733070809131
+:10563000F11D9091F21D2817390759F0E091EF1DE7
+:10564000F091F01DE155F24E40833093F01D209310
+:10565000EF1DFF91EF919F918F914F913F912F916E
+:105660000F900BBE0F900FBE0F901F9018950895CE
+:105670001F920F920FB60F920BB60F9211242F9319
+:105680003F934F938F939F93EF93FF934091CE005F
+:105690002091771E3091781E2F5F3F4F2F7330700F
+:1056A0008091791E90917A1E2817390759F0E09160
+:1056B000771EF091781EE95CF14E40833093781E9E
+:1056C0002093771EFF91EF919F918F914F913F9182
+:1056D0002F910F900BBE0F900FBE0F901F9018953B
+:1056E000E091CB1EF091CC1EE05CFF4F8191919137
+:1056F00020813181821B930B8F739070892B11F065
+:105700000E94FEAAE091EA1EF091EB1EE05CFF4FC2
+:105710008191919120813181821B930B8F739070C5
+:10572000892B11F00E9437AB08951F920F920FB68C
+:105730000F920BB60F9211242F933F938F939F9349
+:10574000EF93FF932091331E3091341E8091351ECC
+:105750009091361E2817390731F48091C1008F7D52
+:105760008093C10014C0E091351EF091361EED50BB
+:10577000F24E20818091351E9091361E01968F73D6
+:1057800090709093361E8093351E2093C600FF9133
+:10579000EF919F918F913F912F910F900BBE0F90A2
+:1057A0000FBE0F901F9018951F920F920FB60F9279
+:1057B0000BB60F9211242F933F938F939F93EF93E8
+:1057C000FF932091BB1E3091BC1E8091BD1E909115
+:1057D000BE1E2817390731F48091C9008F7D809350
+:1057E000C90014C0E091BD1EF091BE1EE558F14EF7
+:1057F00020818091BD1E9091BE1E01968F73907086
+:105800009093BE1E8093BD1E2093CE00FF91EF911A
+:105810009F918F913F912F910F900BBE0F900FBED4
+:105820000F901F901895AF92BF92DF92EF92FF9268
+:105830000F931F93CF93DF93EC017A018B01DD244B
+:10584000403081EE580780E0680780E0780711F06B
+:10585000DD24D39491E0A92EB12CEC89FD89DD20C3
+:1058600069F0C5010E8C02C0880F991F0A94E2F7F7
+:10587000808360E079E08DE390E005C0108260E80D
+:1058800074E88EE190E0A80197010E9457B421507E
+:10589000304040405040569547953795279580E1D8
+:1058A0002030380720F0DD2011F0DD24D6CFE88944
+:1058B000F9893083EA89FB892083EE89FF89408159
+:1058C00021E030E0C9010A8C02C0880F991F0A94B8
+:1058D000E2F7482B4083EE89FF894081C9010B8C98
+:1058E00002C0880F991F0A94E2F7482B4083EE8983
+:1058F000FF894081C9010C8C02C0880F991F0A944E
+:10590000E2F7482B4083EE89FF8980810D8C02C02D
+:10591000220F331F0A94E2F7209528232083DF917A
+:10592000CF911F910F91FF90EF90DF90BF90AF90BC
+:105930000895DC011C96ED91FC911D97E05CFF4FF2
+:105940002191319180819181281B390B2F73307007
+:10595000C9010895DC011C96ED91FC911D97E05C56
+:10596000FF4F20813181E054F040DF01AE5BBF4F3B
+:105970008D919C9111972817390719F42FEF3FEF5C
+:1059800007C08D919C91E80FF91F8081282F30E08E
+:10599000C9010895DC011C96ED91FC911D97E05C16
+:1059A000FF4F20813181E054F040DF01AE5BBF4FFB
+:1059B0008D919C9111972817390719F42FEF3FEF1C
+:1059C00010C08D919C911197E80FF91F20818D9146
+:1059D0009C91119701968F73907011969C938E9362
+:1059E00030E0C9010895FC0186859785DC01A05C43
+:1059F000BF4FFC01EE5BFF4F2D913C9111978081D1
+:105A0000918128173907C1F70895CF93DF93EC01EF
+:105A1000EE85FF85E05CFF4F20813181E054F0404E
+:105A20002F5F3F4F2F733070DF01AE5BBF4F8D9103
+:105A30009C91119728173907D1F3E05CFF4F8081C3
+:105A40009181E054F040E80FF91F6083EE85FF85F7
+:105A5000E05CFF4F31832083EE89FF89208181E064
+:105A600090E00D8C02C0880F991F0A94E2F7282B52
+:105A7000208381E090E0DF91CF9108951F931092F1
+:105A8000C21E1092C11E28EE33E040E050E0209389
+:105A9000C31E3093C41E4093C51E5093C61E6CE1B6
+:105AA0007AE07093C01E6093BF1E8FEA9DE19093D1
+:105AB000CC1E8093CB1E83EF9DE19093CE1E8093EE
+:105AC000CD1E85EC90E09093D01E8093CF1E84EC89
+:105AD00090E09093D21E8093D11E80EC90E0909342
+:105AE000D41E8093D31E81EC90E09093D61E8093B9
+:105AF000D51E86EC90E09093D81E8093D71E14E0BC
+:105B00001093D91EB3E0B093DA1EA7E0A093DB1E7A
+:105B1000F5E0F093DC1EE1E0E093DD1E1092E11E63
+:105B20001092E01E2093E21E3093E31E4093E41E89
+:105B30005093E51E7093DF1E6093DE1E87E39EE1A7
+:105B40009093EB1E8093EA1E8BE79EE19093ED1EEF
+:105B50008093EC1E8DEC90E09093EF1E8093EE1EF0
+:105B60008CEC90E09093F11E8093F01E88EC90E016
+:105B70009093F31E8093F21E89EC90E09093F51EB3
+:105B80008093F41E8EEC90E09093F71E8093F61EA7
+:105B90001093F81EB093F91EA093FA1EF093FB1E0B
+:105BA000E093FC1E1F910895CF93DF930E9433A9C9
+:105BB0000E945C14C0E7DBEA0E9459142097E1F3CD
+:105BC0000E9470ABF9CFCF92DF92EF92FF920F93CA
+:105BD0001F93CF93DF937C016B018A01C0E0D0E07B
+:105BE0000FC0D6016D916D01D701ED91FC9101902F
+:105BF000F081E02DC7010995C80FD91F0150104051
+:105C00000115110571F7CE01DF91CF911F910F9111
+:105C1000FF90EF90DF90CF900895EF92FF920F9357
+:105C20001F93CF93DF937C018B01C0E0D0E0F8019C
+:105C30000F5F1F4F6491662359F0D701ED91FC91DE
+:105C40000190F081E02DC7010995C80FD91FEFCF52
+:105C5000CE01DF91CF911F910F91FF90EF900895AA
+:105C6000DC01ED91FC910190F081E02D0995089502
+:105C7000EF92FF920F931F938C01DC01ED91FC9149
+:105C80000190F081E02D6DE009957C01D801ED9146
+:105C9000FC910190F081E02DC8016AE009959C011A
+:105CA0002E0D3F1DC9011F910F91FF90EF90089598
+:105CB000EF92FF920F931F937C010E940DAE8C0117
+:105CC000C7010E9438AE9C01200F311FC9011F91EE
+:105CD0000F91FF90EF900895CF93DF93DB010D902C
+:105CE0000020E9F71197A61BB70BEC01E881F981B9
+:105CF0000280F381E02DAD010995DF91CF910895E8
+:105D00004F925F927F928F929F92AF92BF92CF926B
+:105D1000DF92EF92FF920F931F93DF93CF93CDB754
+:105D2000DEB7A1970FB6F894DEBF0FBECDBF2C0132
+:105D3000742ECB01223008F42AE019A231E2C32EDE
+:105D4000D12CCC0EDD1E822E9924AA24BB24672DD3
+:105D5000752FA50194010E9457B479018A01C801E9
+:105D6000B701A50194010E9405B4472D461B089474
+:105D7000C108D1084A3014F4405D01C0495CF60105
+:105D80004083E114F1040105110521F07E2C5F2D03
+:105D9000C801DDCFC201B6010E946CAEA1960FB65C
+:105DA000F894DEBF0FBECDBFCF91DF911F910F9151
+:105DB000FF90EF90DF90CF90BF90AF909F908F902B
+:105DC0007F905F904F900895DC012115310541F4DB
+:105DD000ED91FC910190F081E02D642F09950895DB
+:105DE0000E9480AE0895EF92FF920F931F937C0163
+:105DF0000E94E4AE8C01C7010E9438AE9C01200FC6
+:105E0000311FC9011F910F91FF90EF900895EF92FC
+:105E1000FF920F931F939A017B0100E010E0B801FD
+:105E2000A7010E94E4AE1F910F91FF90EF9008959B
+:105E3000CF92DF92EF92FF920F931F936C017B0141
+:105E40009A0100E010E0B801A7010E94E4AE8C01C5
+:105E5000C6010E9438AE080F191FC8011F910F918B
+:105E6000FF90EF90DF90CF900895EF92FF920F9305
+:105E70001F939A01E62EFF2400E010E0B801A7016D
+:105E80000E94E4AE1F910F91FF90EF900895CF9282
+:105E9000DF92EF92FF920F931F936C01E62E9A010F
+:105EA000FF2400E010E0B801A7010E94E4AE8C01DD
+:105EB000C6010E9438AE080F191FC8011F910F912B
+:105EC000FF90EF90DF90CF900895CF92DF92EF9206
+:105ED000FF920F931F93CF93DF93EC016A017B0135
+:105EE0002115310541F4E881F9810190F081E02D1F
+:105EF000642F09951FC02A303105D1F477FF17C0F0
+:105F0000E881F9810190F081E02D6DE209958C0125
+:105F100044275527BA014C195D096E097F09CE0146
+:105F20002AE00E9480AE9801280F391F04C02AE0A1
+:105F30000E9480AE9C01C901DF91CF911F910F910A
+:105F4000FF90EF90DF90CF900895EF92FF920F9324
+:105F50001F937B019A010027F7FC0095102FB801D1
+:105F6000A7010E9465AF1F910F91FF90EF900895D8
+:105F7000CF92DF92EF92FF920F931F936C017B0100
+:105F80009A010027F7FC0095102FB801A7010E9485
+:105F900065AF8C01C6010E9438AE080F191FC801F9
+:105FA0001F910F91FF90EF90DF90CF9008950E9486
+:105FB0006CAE08957F928F929F92AF92BF92CF92D4
+:105FC000DF92EF92FF920F931F93CF93DF934C01D9
+:105FD0007A018B01722ECB01BA0120E030E040E063
+:105FE00050E00E944FB287FD03C0C0E0D0E00EC079
+:105FF000D401ED91FC910190F081E02DC4016DE29E
+:106000000995EC0117FB109517F9109520E030E089
+:1060100040E05FE3AA240BC0CA01B90120E030E0F0
+:1060200040E251E40E9453B29B01AC01A394A71437
+:1060300098F3C801B7010E94EBB15B016C010E94AB
+:10604000C0B27B018C01C401B801A7012AE030E095
+:106050000E94E4AEC80FD91F772039F0C40165EF64
+:1060600078E00E946CAEC80FD91FC801B7010E942A
+:10607000ECB29B01AC01C601B5010E94EAB124C09B
+:1060800020E030E040E251E40E94A2B37B018C01A9
+:106090000E94BBB25B016C01CC24B7FCC094DC2C29
+:1060A000C401B601A5012AE030E00E9465AFC80F27
+:1060B000D91FC601B5010E94EEB29B01AC01C80117
+:1060C000B7010E94EAB17A947720D1F6CE01DF9130
+:1060D000CF911F910F91FF90EF90DF90CF90BF90E5
+:1060E000AF909F908F907F9008950E94DAAF0895AF
+:1060F000EF92FF920F931F937C010E94DAAF8C0105
+:10610000C7010E9438AE080F191FC8011F910F91D7
+:10611000FF90EF900895EF92FF920F931F937C01F1
+:106120000E946CAE8C01C7010E9438AE080F191F87
+:10613000C8011F910F91FF90EF900895AF92BF9209
+:10614000CF92DF92EF92FF920F931F93CF93DF9343
+:106150005C016B01EE24FF24C0E0D0E010C0D5014B
+:10616000ED91FC9100811181C601BE010E94E5B054
+:10617000682FC501F8010995E80EF91E2196F60170
+:1061800084819581C817D90750F3C701DF91CF915A
+:106190001F910F91FF90EF90DF90CF90BF90AF9045
+:1061A0000895EF92FF920F931F937C010E949EB07F
+:1061B0008C01C7010E9438AE9C01200F311FC9011C
+:1061C0001F910F91FF90EF900895FC0184819581BC
+:1061D0006817790748F40190F081E02D309721F09D
+:1061E000E60FF71F8081089580E008950F931F93B5
+:1061F000CF93DF93EC018B016F5F7F4F8881998193
+:106200000E94100D009711F480E005C099838883E7
+:106210001B830A8381E0DF91CF911F910F91089535
+:10622000CF93DF93EC0188819981892B29F08A81B2
+:106230009B818617970760F4CE010E94F6B08823F1
+:1062400041F08C819D81892B19F4E881F9811082BC
+:1062500081E0DF91CF910895EF92FF920F931F930A
+:10626000CF93DF93EC017B016C817D81E114F1041C
+:10627000C1F04115510599F08A01060F171FB801A9
+:106280000E9410B1882369F0888199812C813D8119
+:10629000820F931FB7010E947D0E1D830C8381E046
+:1062A00001C080E0DF91CF911F910F91FF90EF909F
+:1062B0000895CF93DF93EC0188819981009711F0C5
+:1062C0000E94B80C198218821D821C821B821A82BD
+:1062D000DF91CF9108950F931F93182F092FFB0182
+:1062E00060817181448155810E942CB1882321F401
+:1062F000812F902F0E9459B1812F902F1F910F91C4
+:106300000895EF92FF920F931F93CF93DF93EC01C9
+:106310007B018A01BA010E9410B1882321F4CE01C9
+:106320000E9459B107C01D830C8388819981B701F0
+:106330000E947D0ECE01DF91CF911F910F91FF90B2
+:10634000EF900895CF93DF93EC01198218821B829E
+:106350001A821D821C821E826115710551F0DB01BB
+:106360000D900020E9F71197A61BB70BAD010E9415
+:1063700081B1DF91CF910895CF93DF93EC01FB01C1
+:106380008617970761F0608171816115710529F0A9
+:10639000448155810E9481B102C00E9459B1CE0151
+:1063A000DF91CF910895FC01118210821382128235
+:1063B0001582148216820E94BCB10895FC0180816E
+:1063C00091810E94B80C0895FC01808191810E9406
+:1063D000B80C08955058BB27AA270ED075C166D1B6
+:1063E00030F06BD120F031F49F3F11F41EF45BC10B
+:1063F0000EF4E095E7FB51C1E92F77D180F3BA178E
+:10640000620773078407950718F071F49EF58FC132
+:106410000EF4E0950B2EBA2FA02D0B01B9019001BF
+:106420000C01CA01A0011124FF27591B99F0593F03
+:1064300050F4503E68F11A16F040A22F232F342F4B
+:106440004427585FF3CF469537952795A795F04099
+:106450005395C9F77EF41F16BA0B620B730B840BAE
+:10646000BAF09150A1F0FF0FBB1F661F771F881F66
+:10647000C2F70EC0BA0F621F731F841F48F48795BE
+:1064800077956795B795F7959E3F08F0B3CF9395AD
+:10649000880F08F09927EE0F979587950895D9D022
+:1064A00008F481E008950CD00FC107D140F0FED070
+:1064B00030F021F45F3F19F0F0C0511139C1F3C041
+:1064C00014D198F39923C9F35523B1F3951B550BB8
+:1064D000BB27AA2762177307840738F09F5F5F4FB7
+:1064E000220F331F441FAA1FA9F333D00E2E3AF0F8
+:1064F000E0E830D091505040E695001CCAF729D012
+:10650000FE2F27D0660F771F881FBB1F2617370760
+:106510004807AB07B0E809F0BB0B802DBF01FF2790
+:1065200093585F4F2AF09E3F510568F0B6C000C1F6
+:106530005F3FECF3983EDCF3869577956795B795CA
+:10654000F7959F5FC9F7880F911D9695879597F9E5
+:106550000895E1E0660F771F881FBB1F621773075E
+:106560008407BA0720F0621B730B840BBA0BEE1F73
+:1065700088F7E095089504D06894B111D9C00895C2
+:10658000BCD088F09F5790F0B92F9927B751A0F051
+:10659000D1F0660F771F881F991F1AF0BA95C9F7B7
+:1065A00012C0B13081F0C3D0B1E00895C0C0672FF0
+:1065B000782F8827B85F39F0B93FCCF38695779567
+:1065C0006795B395D9F73EF4909580957095619550
+:1065D0007F4F8F4F9F4F0895E89409C097FB3EF47B
+:1065E00090958095709561957F4F8F4F9F4F992320
+:1065F000A9F0F92F96E9BB279395F695879577959E
+:106600006795B795F111F8CFFAF4BB0F11F460FF5D
+:106610001BC06F5F7F4F8F4F9F4F16C0882311F0B5
+:1066200096E911C0772321F09EE8872F762F05C0C9
+:10663000662371F096E8862F70E060E02AF09A9564
+:10664000660F771F881FDAF7880F9695879597F959
+:106650000895990F0008550FAA0BE0E8FEEF1616F3
+:106660001706E807F907C0F012161306E407F50746
+:1066700098F0621B730B840B950B39F40A2661F0BA
+:10668000232B242B252B21F408950A2609F4A1405D
+:10669000A6958FEF811D811D089597F99F6780E86A
+:1066A00070E060E008959FEF80EC089500240A9464
+:1066B0001616170618060906089500240A941216DD
+:1066C0001306140605060895092E0394000C11F410
+:1066D000882352F0BB0F40F4BF2B11F460FF04C0BD
+:1066E0006F5F7F4F8F4F9F4F089557FD9058440F16
+:1066F000551F59F05F3F71F04795880F97FB991F21
+:1067000061F09F3F79F087950895121613061406DD
+:10671000551FF2CF4695F1DF08C01616170618066A
+:10672000991FF1CF86957105610508940895E89445
+:10673000BB2766277727CB0197F908958ADF08F4EE
+:106740008FEF08950BD0C0CFB1DF28F0B6DF18F07F
+:10675000952309F0A2CFA7CF1124EACFC6DFA0F37B
+:10676000959FD1F3950F50E0551F629FF001729FE6
+:10677000BB27F00DB11D639FAA27F00DB11DAA1F05
+:10678000649F6627B00DA11D661F829F2227B00D52
+:10679000A11D621F739FB00DA11D621F839FA00DDD
+:1067A000611D221F749F3327A00D611D231F849F2D
+:1067B000600D211D822F762F6A2F11249F57504084
+:1067C0008AF0E1F088234AF0EE0FFF1FBB1F661F1F
+:1067D000771F881F91505040A9F79E3F510570F0D8
+:1067E0005CCFA6CF5F3FECF3983EDCF386957795C0
+:1067F0006795B795F795E7959F5FC1F7FE2B880FD3
+:10680000911D9695879597F90895629FD001739F82
+:10681000F001829FE00DF11D649FE00DF11D929F3C
+:10682000F00D839FF00D749FF00D659FF00D99277B
+:10683000729FB00DE11DF91F639FB00DE11DF91F9F
+:10684000BD01CF0111240895991B79E004C0991F5F
+:10685000961708F0961B881F7A95C9F780950895BA
+:10686000AA1BBB1B51E107C0AA1FBB1FA617B70776
+:1068700010F0A61BB70B881F991F5A95A9F7809592
+:106880009095BC01CD01089597FB092E07260AD0EB
+:1068900077FD04D0E5DF06D000201AF470956195ED
+:1068A0007F4F0895F6F7909581959F4F0895A1E247
+:1068B0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F7A
+:1068C000FF1FA217B307E407F50720F0A21BB30BC5
+:1068D000E40BF50B661F771F881F991F1A9469F741
+:1068E00060957095809590959B01AC01BD01CF019D
+:1068F000089597FB092E05260ED057FD04D0D7DF4B
+:106900000AD0001C38F450954095309521953F4FA2
+:106910004F4F5F4F0895F6F790958095709561956C
+:106920007F4F8F4F9F4F0895EE0FFF1F0590F491FB
+:10693000E02D09942F923F924F925F926F927F9237
+:106940008F929F92AF92BF92CF92DF92EF92FF927F
+:106950000F931F93CF93DF93CDB7DEB7CA1BDB0B2B
+:106960000FB6F894DEBF0FBECDBF09942A883988D0
+:1069700048885F846E847D848C849B84AA84B984D7
+:10698000C884DF80EE80FD800C811B81AA81B981E3
+:10699000CE0FD11D0FB6F894DEBF0FBECDBFED01F7
+:0669A0000895F894FFCFFA
+:1069A6005352563A20002F00616C6C005B25752C03
+:1069B60025752C25752C256C752C256C752C256C50
+:1069C600755D0A005B256C752C22666C222C256C85
+:1069D600752C256C755D0A005B302C227264222CA6
+:1069E600256C752C256C755D0A005B302C22727344
+:1069F600222C256C752C256C755D0A005B302C22CB
+:106A0600776C222C25752C256C755D0A005B302C65
+:106A1600226670222C25642C256C752C256C752C11
+:106A2600256C752C256C752C256C755D0A005B3004
+:106A36002C226664222C25642C256C752C256C75FD
+:106A46005D0A005B302C22726E222C25642C256C8C
+:106A5600752C25645D0A005B302C227265222C257C
+:106A6600642C256C752C25645D0A005B302C227322
+:106A760031222C25642C256C752C25645D0A005B5F
+:106A8600302C227332222C25642C256C752C25641F
+:106A96005D0A005B302C2273317063222C25642C36
+:106AA600256C752C256C752C25645D0A005B302CD5
+:106AB6002273327063222C25642C256C752C256C70
+:106AC600752C25645D0A005B302C227331736322BA
+:106AD6002C25642C256C752C25642C25645D0A00F8
+:106AE6005B302C2273327363222C25642C256C7543
+:106AF6002C256C752C25645D0A005B302C226661A2
+:106B0600747363222C25642C256C752C256C755D9D
+:106B16000A005B302C22726E7363222C25642C25AE
+:106B26006C752C256C752C25642C25645D0A005B20
+:106B3600302C2263616C222C25642C256C752C2547
+:106B4600642C256C752C25735D0A005B302C226144
+:106B56006C6673222C25642C256C752C25642C25DB
+:106B66006C752C256C755D0A005B302C22616C6699
+:106B7600222C25642C256C752C25642C25642C254B
+:106B8600735D0A005B302C22616C63222C25642C19
+:106B9600256C752C25642C25642C256C755D0A00E6
+:106BA6005B302C22616C6666222C25642C256C7564
+:106BB6002C256C752C256C755D0A005B302C2261CA
+:106BC6006C6C73222C25642C256C755D0A005B3079
+:106BD6002C22616C6C65222C25642C256C752C2569
+:106BE6006C752C256C755D0A005B302C22616C6619
+:106BF6006174222C25642C256C752C25642C256447
+:106C06002C25735D0A005B302C2266737461742236
+:106C16002C25642C256C752C25642C25642C256468
+:106C26002C25645D0A002E004E414D453A20200079
+:106C36006672656552616D31313A2000667265652E
+:106C460052616D323A2000726A6F0000726A630008
+:106C560000726A700000726A6E0000726A73000049
+:106C6600726A6C0000222C226C7077223A25732CF3
+:106C7600226D61636164223A22005D2C226D617887
+:106C86006C656E223A25647D00202020436C6F756A
+:106C96006420444154413A20004C656E6768742074
+:106CA6006F66206A736F6E20444154413A2000207B
+:106CB60020202020207265745F76616C3A202000C7
+:106CC600202020206C6173745F73656E745F6C6F37
+:106CD600673A2020000A20202350726F6365737381
+:106CE600436C6F75643A200020202353656E64431D
+:106CF6006C6F75643A20003A005448452049465462
+:106D06005454204D4553534147453A202000000A2C
+:106D160046696C656E616D653A202020000D004E57
+:106D26006F206F66206C6F67733A20202F202046F5
+:106D3600696C655F73697A653A2000202F200073BD
+:106D460074617274696E672E2E2E2E2E004E657437
+:106D5600776F726B5F616461707465725F6661699B
+:106D66006C3A202F204E6574776F726B5F6661698F
+:106D76006C733A202F20496E7465726E65745F6677
+:106D860061696C3A200020202020234C6F6F7054DC
+:106D9600696D653A2000202020202350726F6365BC
+:106DA60073734574683A20004C4F475F737461747F
+:106DB600757320202F206C6F675F746F5F73656E2D
+:106DC600643A2020200020202F202000636C696573
+:106DD6006E742E73616E647A2E6875006D616B65D4
+:106DE600722E69667474742E636F6D002E007600C1
+:106DF6005300730072007000613664383262636556
+:106E06006436333864653364656631653962626257
+:106E160034393833323235630042756461706573D4
+:106E2600740068747470733A2F2F75692E6F7065CD
+:106E36006E737072696E6B6C65722E636F6D2F6AFE
+:106E46007300776561746865722E6F70656E737016
+:106E560072696E6B6C65722E636F6D0000204677EB
+:106E66003A002048773A0042617365204F534677CF
+:106E76003A76323137002C0064653A005B002C000C
+:106E86005D0000416C6572742120466C6F7720733B
+:106E9600746F707065642100416C657274212046C0
+:106EA600726565666C6F77206D617820696D7075A7
+:106EB6006C73657320726561636865642100416C5B
+:106EC600657274212046726565666C6F77206D6108
+:106ED600782074696D652072656163686564210058
+:106EE600416C65727421204C45414B4147452064F5
+:106EF600657465637465642100416C657274212054
+:106F06004C65616B6167652066696E697368656467
+:106F16002100416C65727421204849474820464C3F
+:106F26004F572064657465637465642100416C6520
+:106F3600727421204C4F5720464C4F57206465747D
+:106F460065637465642100416C6572742120464155
+:106F560054414C20464C4F572064657465637465F4
+:106F660064212053746174696F6E20646973616271
+:106F76006C65642100416C6572742120484947485C
+:106F86002053544154494F4E2043555252454E5476
+:106F96002064657465637465642100416C65727470
+:106FA60021204C4F572053544154494F4E204355AE
+:106FB6005252454E542064657465637465642100BD
+:106FC600556E6B6E6F776E20616C65727421000072
+:106FD60045786974696E67206368616E67652073BA
+:106FE60074617465204556454E54202F206F6C649D
+:106FF6005F7374617465202F205354415445203AC1
+:10700600202000202F20006F6C645F73656E736F05
+:107016007220202F206C6173745F73656E736F72BC
+:107026003A202000456E644F664C6F6F70204556BF
+:10703600454E54202F205354415445202F20736928
+:1070460064202F20696D70756C736573202F207214
+:1070560065616C74696D655F47504D202F207265C0
+:10706600616C5F63757272656E743A200053656E6B
+:10707600736F7247726F757020696E6974207374CE
+:10708600617274696E672E2E2E00496D70756C7371
+:10709600652F47616C6C6F6E3A2000666C6F7720C7
+:1070A600646966662F63757272656E7420646966BC
+:1070B600663A20200066726565666C6F77206D61A2
+:1070C60078207175616E746974792047616C6C6F94
+:1070D6006E202F2074696D65206D696E7574653A32
+:1070E6002020002043414C20526571756573743A27
+:1070F600202F20464C4F5720416C61726D20454E23
+:10710600202F20464154414C20454E202F204355E8
+:10711600525220416C61726D20454E3A202020204B
+:10712600002C20002043414C205265717565737414
+:107136005F61667465723A20200068747470733AF1
+:107146002F2F75692E6F70656E737072696E6B6C1A
+:1071560065722E636F6D2F6A73007765617468655B
+:10716600722E6F70656E737072696E6B6C65722EBF
+:10717600636F6D00763D5B00743D5B005B300072B3
+:107186006E00727300776C00666C00000D0A0032A8
+:107196003030002F002E002000011F00004F532D1D
+:1071A6003030006382536335015000014F73436CE6
+:1071B60069656E7454435300001E0000000200000F
+:1071C600002F6C6F67732F0001D91C0101000000AE
+:1071D60000000000005000170001780078780201D6
+:1071E6006401000064643250003261D2A901007863
+:1071F6007800640000080808080000010002191958
+:107206000A010001000101190000001415003C0AE2
+:107216000001000000102700000000803F1432E04B
+:1072260077377BB870766FA3712C728F70387D8E2E
+:107236006C6F6FC16BC36A146B8C73307EE570170D
+:1072460076CA6AE369246C377E7B010A100E000059
+:1072560001FFFFFFFFFFFF00000000AB1EE3AD00D4
+:1072660000400014005400000000005720E3AD2C3D
+:10727600053C052E6F4F6F00000000020A0C0D0E34
+:107286000F1213000000FFFFFFFFFFFF1F1C1F1E52
+:107296001F1E1F1F1E1F1E1F00000000AB8EE3AD2A
+:1072A60000000000C59FE3AD00000000E6A4B5A401
+:1072B6006EA477A48CA49DA40000000005ADE3ADE8
+:0872C60099ACCAACAAACF3AC10
+:00000001FF
diff --git a/examples/mainArduino/Debug/mainArduino.ino.elf b/examples/mainArduino/Debug/mainArduino.ino.elf
new file mode 100644
index 0000000..fb9a1d5
Binary files /dev/null and b/examples/mainArduino/Debug/mainArduino.ino.elf differ
diff --git a/examples/mainArduino/Debug/mainArduino.ino.hex b/examples/mainArduino/Debug/mainArduino.ino.hex
new file mode 100644
index 0000000..9b7b613
--- /dev/null
+++ b/examples/mainArduino/Debug/mainArduino.ino.hex
@@ -0,0 +1,5936 @@
+:100000000C94C00B0C94E7A70C9418A80C9449A866
+:100010000C94EB0B0C94EB0B0C94EB0B0C94EB0B88
+:100020000C9460200C94EB0B0C94EB0B0C94EB0BEE
+:100030000C94EB0B0C94EB0B0C94EB0B0C94EB0B68
+:100040000C94EB0B0C94EB0B0C947AA80C94EB0B2C
+:100050000C94FFAA0C9495AB0C94EB0B0C94EB0B4B
+:100060000C94EB0B0C94EB0B0C9402A60C94EB0B86
+:100070000C9438AB0C94D4AB0C94EB0B0C94EB0BB2
+:100080000C94EB0B0C94EB0B0C94EB0B4E5450209C
+:1000900053796E63696E672E2E2E007777772E6701
+:1000A0006F6F676C652E636F6D002E7478740045FA
+:1000B00078706563743A203130302D636F6E7469E7
+:1000C0006E756500636C69656E742E73616E647A1B
+:1000D0002E6875002F737200007D0022002C2269AB
+:1000E000666B6579223A22007D002C2277746F229C
+:1000F0003A7B005D002C005D002C002C005B003082
+:100100005D2C227073223A5B002C002273626974AA
+:1001100073223A5B002C002C22666C777274223AB0
+:10012000002C0022666C637274223A002C00226359
+:10013000757272223A005D2C002C002C002C002CD1
+:10014000226C72756E223A5B002C226C73776322EC
+:100150003A002C226C7763223A002C2265697022C7
+:100160003A002C2273756E736574223A00222C2299
+:1001700073756E72697365223A00222C2277746B54
+:100180006579223A22002C226C6F63223A22002CDD
+:100190002272647374223A002C227273223A002C69
+:1001A000227264223A002C22656E223A002C226EC2
+:1001B000627264223A002264657674223A002C004E
+:1001C0002200220022736E616D6573223A5B007318
+:1001D000746E5F7370650073746E5F617332007369
+:1001E000746E5F6173310073746E5F736571007359
+:1001F000746E5F646973006D61736F70320069675C
+:100200006E6F72655F7261696E006D61736F700011
+:100210005D7D00225D00225D2C005D2C22002C0003
+:100220005D2C5B002C002C5B002C002C002C005B58
+:10023000002C227064223A5B002C22706E73697A63
+:1002400065223A002C226D6E7374223A002C226DC6
+:100250006E70223A002C226E626F61726473223AD1
+:1002600000226E70726F67223A007D002C22687740
+:1002700074223A002C226D657870223A002C226498
+:10028000657870223A002C00223A0022005D7D0041
+:100290002C005B00222C007B226D6964223A220034
+:1002A0005D2C002C00223A5B0022006D616B6572B0
+:1002B0002E69667474742E636F6D002F7472696793
+:1002C0006765722F737072696E6B6C65722F7769D8
+:1002D00074682F6B65792F00227D005265626F6F05
+:1002E0007465642E204465766963652049503A2020
+:1002F00000252E005761746572206C6576656C2050
+:10030000757064617465643A200045787465726E36
+:10031000616C20495020757064617465643A2000F6
+:100320002C20766F6C756D653A2000466C6F7720D7
+:10033000636F756E743A200064652D61637469762D
+:1003400061746564006163746976617465642E002C
+:100350005261696E2073656E736F7220005261691D
+:100360006E2064656C617920002520776174657268
+:10037000206C6576656C2E002077697468200050CB
+:10038000726F6772616D20004175746F6D61746981
+:1003900063616C6C79207363686564756C65642057
+:1003A000004D616E75616C6C79207363686564756E
+:1003B0006C6564200020466C6F7720726174653A2A
+:1003C0002000207365636F6E64732E00206D696E6C
+:1003D00075746573200020636C6F7365642E20490B
+:1003E000742072616E20666F7220005374617469AC
+:1003F0006F6E20007B2276616C756531223A220097
+:100400002020206C2020206C706D202020206D4149
+:10041000002020204720202067706D202020206DA4
+:100420004100692000302E2054657374202831204B
+:100430006D696E29002E20002000486F6C642042F8
+:100440003320746F20737461727400436C69636B42
+:1004500020423320746F206C6973740052756E20D3
+:10046000612050726F6772616D3A00286C73776318
+:10047000290028656970290020286F736970290098
+:100480003A002867776970290077746F7074732E4B
+:100490007478740073746E732E6461740069666B93
+:1004A00065792E747874006677760000747A00009F
+:1004B000006E747000006468637000697031000041
+:1004C00069703200006970330000697034000067A1
+:1004D0007731000067773200006777330000677775
+:1004E0003400006870300000687031000068777672
+:1004F0000000657874000073657100007364740017
+:10050000006D617300006D746F6E006D746F660036
+:10051000757273000072736F0000776C00000064E6
+:10052000656E000069706173006465766964636F6D
+:100530006E00006C6974000064696D000062737481
+:10054000000075777400006E747031006E74703244
+:10055000006E747033006E747034006C67000000BD
+:100560006D617332006D746F6E326D746F663266DA
+:10057000776D0000667072300066707231007265CF
+:10058000000000646E733100646E733200646E7339
+:100590003300646E73340073617200006966650035
+:1005A00000756673000075666C000075666100007A
+:1005B0007566720000756667000075666D000075EF
+:1005C000733100007564310000757332000075648A
+:1005D0003200006373690000637361000075637229
+:1005E0000000736361000073636300006661640070
+:1005F0000068777300006677730000636D61000028
+:1006000063666400006366660000757274000066CD
+:100610006D7300006C6E7300006C6E670000726595
+:1006200073657400006C0101FFFFFFFFFFFFFFFF18
+:10063000FFFF000501FF30FFFFFF02FA0101FFFF8E
+:10064000FFFFFAFFFFFFFFFF0130FFFF00FFFF0189
+:10065000FFFFFFFF01FF02010264FFFF0201020131
+:1006600002026401FF02FFFF01FFFF02030101011B
+:100670004669726D776172652076657273696F6E17
+:1006800054696D65207A6F6E652028474D54293A6C
+:10069000456E61626C65204E54502073796E633FE5
+:1006A000456E61626C6520444843503F2020202005
+:1006B0005374617469632E6970313A2020202020C0
+:1006C0005374617469632E6970323A2020202020AF
+:1006D0005374617469632E6970333A20202020209E
+:1006E0005374617469632E6970343A20202020208D
+:1006F000476174657761792E6970313A2020202036
+:10070000476174657761792E6970323A2020202024
+:10071000476174657761792E6970333A2020202013
+:10072000476174657761792E6970343A2020202002
+:100730004854545020506F72743A202020202020BA
+:100740002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DD9
+:1007500048617264776172652076657273696F6E45
+:1007600023206F66206578702E20626F6172643A74
+:100770002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DA9
+:1007800053746E2E2064656C61792028736563292B
+:100790004D6173746572203120284D617331293A9F
+:1007A0004D61733120206F6E2061646A7573743AF5
+:1007B0004D617331206F66662061646A7573743AA7
+:1007C00053656E736F7220747970653A2020202013
+:1007D0004F70656E20456E61626C65284E4F293FF3
+:1007E0005761746572696E67206C6576656C3A2036
+:1007F00044657669636520656E61626C65643F205F
+:1008000049676E6F72652070617373776F72643FB2
+:100810004465766963652049443A202020202020E1
+:100820004C434420636F6E74726173743A202020CD
+:100830004C4344206272696768746E6573733A2032
+:100840004C43442064696D6D696E673A2020202016
+:10085000444320626F6F73742074696D653A202081
+:100860005765617468657220616C676F2E3A20204D
+:100870004E5450207365727665722E6970313A203D
+:100880004E5450207365727665722E6970323A202C
+:100890004E5450207365727665722E6970333A201B
+:1008A0004E5450207365727665722E6970343A200A
+:1008B000456E61626C65206C6F6767696E673F208B
+:1008C0004D6173746572203220284D617332293A6C
+:1008D0004D61733220206F6E2061646A7573743AC3
+:1008E0004D617332206F66662061646A7573743A75
+:1008F0004669726D77617265206D696E6F723A201C
+:1009000050756C736520726174653A202020202038
+:100910002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D07
+:1009200041732072656D6F7465206578742E3F2069
+:10093000444E53207365727665722E6970313A2089
+:10094000444E53207365727665722E6970323A2078
+:10095000444E53207365727665722E6970333A2067
+:10096000444E53207365727665722E6970343A2056
+:100970005370656369616C20526566726573683F88
+:10098000494654545420456E61626C653A20466C69
+:100990006F7753656E736F723A2020202020556E5A
+:1009A000697447616C6C6F6E3F2020202020466C7C
+:1009B0006F77416C61726D54797065202020466CB0
+:1009C0006F7752616E6765252020202020204672B7
+:1009D0006565466C6F772067616C20202020467229
+:1009E0006565466F77206D696E2020202020536F4B
+:1009F000696C53656E736F72313A202020204F70FE
+:100A0000656E20456E61626C65284E4F293F536FBD
+:100A1000696C53656E736F72323A202020204F70DC
+:100A2000656E20456E61626C65284E4F293F4375A7
+:100A30007272656E742053656E736F723F204375DA
+:100A40007272656E7420416C61726D3F2020437537
+:100A50007272416C61726D52616E676520255374CC
+:100A600061727443616C6962726174696F6E53651F
+:100A70006E644C6F674461797320202020204661AA
+:100A800074616C44697361626C655374617453473B
+:100A900048572076657273696F6E3A20202053475D
+:100AA00046572076657273696F6E3A202020436C3A
+:100AB00069656E74206D6F64653F20202020436C53
+:100AC0006F75645265667265736820287329466184
+:100AD0007374205265667265736820287329537495
+:100AE000617475735265706F727454797065466C79
+:100AF0006173684D656D6F7279547970653F4C43D1
+:100B0000442073697A6520323078343F20204C616C
+:100B10006E67756167652048554E3F20202046610D
+:100B200063746F72792072657365743F20200020B2
+:100B30007365630025004E6F0059657300206D7367
+:100B4000002E002B003030003A002D002B0000203A
+:100B5000202020002D44697361626C6564212D00A2
+:100B60003A0045004D433A0020284D414329002DCD
+:100B7000002E004D6F6E005475650057656400547B
+:100B8000687500467269005361740053756E000009
+:100B90002D0020002020003A0020002000486F6C2B
+:100BA0006420423320746F20736176650042312FD8
+:100BB00042323A2B2F2D2C2042333A2D3E003D3D20
+:100BC000536574204F7074696F6E733D3D00506CB7
+:100BD0006561736520576169742E2E2E005265730E
+:100BE000657474696E672E2E2E002F002A002F6305
+:100BF0006D003F70773D2445267369643D2444268B
+:100C0000656E3D244426743D244400656E6761672B
+:100C10006520626F6F73746572004572726F722027
+:100C2000436F64653A203078324400534420636156
+:100C30007264206D697373696E6700436F6E6E65D1
+:100C40006374696E672E2E2E00466C6F7720537486
+:100C50006F70706564202020204672666C6F77206C
+:100C60005175616E74416C726D4672666C6F77205F
+:100C700054696D65416C61726D4C65616B6167654E
+:100C800020416C61726D2020204C65616B6167654D
+:100C90002053746F70706564204869676820466CE3
+:100CA0006F7720416C61726D204C6F7720466C6FBE
+:100CB0007720416C61726D20466174616C20466CD6
+:100CC0006F7720416C61726D486967682043757267
+:100CD00072656E7420416C6D4C6F77204375727233
+:100CE000656E7420416C726D0063766A6364706334
+:100CF0007063726D7075706A70636F6A6F73706A1B
+:100D000073636D63736A6E6A656A6C646C73756332
+:100D1000756A61003C7363726970743E77696E64D2
+:100D20006F772E6C6F636174696F6E3D222F223B6B
+:100D30003C2F7363726970743E0A0022726573758A
+:100D40006C74223A24447D0022726573756C74229F
+:100D50003A24447D00244600222446223A24447D3D
+:100D6000007D002C2273746174696F6E73223A7B6C
+:100D7000002C22737461747573223A7B002C226FED
+:100D80007074696F6E73223A7B002C2270726F67E9
+:100D900072616D73223A7B002273657474696E67A9
+:100DA00073223A7B00646179005D002453002C00BB
+:100DB0005B007479706500656E64007374617274B1
+:100DC0000068697374007400656E00736964005D87
+:100DD0002C226E73746174696F6E73223A24447DA1
+:100DE000002C0024440022736E223A5B006370776B
+:100DF000006E70770077746F007474740069666BAE
+:100E000065790077746B6579006C6F630077737038
+:100E1000006A737000726500726400656E00726231
+:100E2000740072736E003C6D657461206E616D6557
+:100E30003D2276696577706F72742220636F6E74DD
+:100E4000656E743D2277696474683D646576696394
+:100E5000652D77696474682C696E697469616C2D9D
+:100E60007363616C653D312E302C6D696E696D75F3
+:100E70006D2D7363616C653D312E302C7573657219
+:100E80002D7363616C61626C653D6E6F223E0D0A6D
+:100E9000003C736372697074207372633D22244551
+:100EA0002F686F6D652E6A73223E3C2F73637269E3
+:100EB00070743E0A3C2F626F64793E0A3C2F68745E
+:100EC0006D6C3E00766172207665723D24442C691B
+:100ED0007061733D24443B3C2F7363726970743EB0
+:100EE0000A003C21444F43545950452068746D6CAE
+:100EF0003E0A3C68746D6C3E0A3C686561643E0A5B
+:100F000024463C2F686561643E0A3C626F64793E0A
+:100F10000A3C7363726970743E007D002C2269661E
+:100F20006B6579223A22245322002C2277746F2297
+:100F30003A7B24537D005D002C005B24442C244C20
+:100F40002C244C5D00305D2C227073223A5B00240F
+:100F5000442C00227362697473223A5B0022666C2F
+:100F6000637274223A244C2C22666C777274223A93
+:100F700024442C002263757272223A24442C0022ED
+:100F800064657674223A244C2C226E627264223A92
+:100F900024442C22656E223A24442C227264223A84
+:100FA00024442C227273223A24442C2272647374D7
+:100FB000223A244C2C226C6F63223A222445222CA4
+:100FC0002277746B6579223A222445222C2273758C
+:100FD0006E72697365223A24442C2273756E7365B0
+:100FE00074223A24442C22656970223A244C2C2223
+:100FF0006C7763223A244C2C226C737763223A2458
+:101000004C2C226C72756E223A5B24442C24442CA6
+:1010100024442C244C5D2C003C666F726D206E6164
+:101020006D653D6F6620616374696F6E3D63752009
+:101030006D6574686F643D6765743E3C7461626C95
+:10104000652063656C6C73706163696E673D223106
+:1010500032223E3C74723E3C74643E3C623E4A61C5
+:1010600076615363726970743C2F623E3A3C2F7410
+:10107000643E3C74643E3C696E7075742074797093
+:10108000653D746578742073697A653D3430206DF0
+:1010900061786C656E6774683D34302076616C757C
+:1010A000653D22244522206E616D653D6A73703E68
+:1010B0003C2F74643E3C2F74723E3C74723E3C7410
+:1010C000643E44656661756C743A3C2F74643E3CC2
+:1010D00074643E24533C2F74643E3C2F74723E3C37
+:1010E00074723E3C74643E3C623E57656174686550
+:1010F000723C2F623E3A3C2F74643E3C74643E3C2A
+:10110000696E70757420747970653D7465787420AB
+:1011100073697A653D3430206D61786C656E6774F3
+:10112000683D34302076616C75653D22244522206F
+:101130006E616D653D7773703E3C2F74643E3C2F4D
+:1011400074723E3C74723E3C74643E4465666175E4
+:101150006C743A3C2F74643E3C74643E24533C2FC0
+:1011600074643E3C2F74723E3C74723E3C74643E28
+:101170003C623E50617373776F72643C2F623E3AFB
+:101180003C2F74643E3C74643E3C696E7075742000
+:10119000747970653D70617373776F7264207369E1
+:1011A0007A653D3332206E616D653D70773E203C3F
+:1011B000696E70757420747970653D7375626D69C0
+:1011C000743E3C2F74643E3C2F74723E3C2F74611D
+:1011D000626C653E3C2F666F726D3E3C7363726954
+:1011E0007074207372633D68747470733A2F2F7536
+:1011F000692E6F70656E737072696E6B6C65722E9E
+:10120000636F6D2F6A732F6861736865722E6A73DE
+:101210003E3C2F7363726970743E005D7D00225DF9
+:1012200000225D2C00245300244C5D2C2200244C11
+:101230002C0024445D2C5B0024442C005B24442CB3
+:1012400024442C24442C5B00226E70726F6773223E
+:101250003A24442C226E626F61726473223A2444F1
+:101260002C226D6E70223A24442C226D6E737422EF
+:101270003A24442C22706E73697A65223A24442CF5
+:10128000227064223A5B002C2264657870223A2432
+:10129000442C226D657870223A24442C226877749D
+:1012A000223A24447D002C00222453223A24440074
+:1012B00050726F6772616D20006E616D65007069BC
+:1012C0006400706964007069640075777400706907
+:1012D0006400736400737400736964007D002224E9
+:1012E00044223A7B227374223A24442C22736422CF
+:1012F0003A222453227D002C005D2C226D61786CF3
+:10130000656E223A24447D002C00222453220022C0
+:10131000736E616D6573223A5B0073746E5F7370F8
+:10132000650073746E5F6173320073746E5F617316
+:10133000310073746E5F7365710073746E5F6469FE
+:1013400073006D61736F70320069676E6F72655FF5
+:101350007261696E006D61736F70005D2C002C000E
+:10136000244400222446223A5B00707700485454FB
+:10137000502F312E3120323030204F4B0D0A004398
+:101380006F6E74656E742D547970653A206170705B
+:101390006C69636174696F6E2F6A736F6E0D0A43B7
+:1013A0006F6E6E656374696F6E3A20636C6F736500
+:1013B0000D0A004163636573732D436F6E74726F22
+:1013C0006C2D416C6C6F772D4F726967696E3A2096
+:1013D0002A0D0A0043616368652D436F6E74726F56
+:1013E0006C3A206D61782D6167653D302C206E6F01
+:1013F0002D63616368652C206E6F2D73746F726549
+:101400002C206D7573742D726576616C69646174DE
+:10141000650D0A007B0024462446244624460D0A16
+:1014200000436F6E74656E742D547970653A207444
+:101430006578742F68746D6C0D0A00244624462468
+:101440004624460D0A00000108000604000145007C
+:101450000082000040002000504F535420244624B6
+:101460005320485454502F312E300D0A486F737456
+:101470003A2024460D0A2446245341636365707460
+:101480003A202A2F2A0D0A436F6E74656E742D4C14
+:10149000656E6774683A2024440D0A436F6E746564
+:1014A0006E742D547970653A206170706C69636157
+:1014B00074696F6E2F6A736F6E0D0A0D0A245300E4
+:1014C000474554202446245320485454502F312E4D
+:1014D000300D0A486F73743A2024460D0A24460DD5
+:1014E0000A0D0A0000504F5354202446245320482C
+:1014F0005454502F312E300D0A486F73743A202403
+:10150000530D0A244624534163636570743A202ABC
+:101510002F2A0D0A436F6E74656E742D4C656E67CD
+:1015200074683A2024440D0A436F6E74656E742DFE
+:10153000547970653A206170706C69636174696F89
+:101540006E2F6A736F6E0D0A0D0A245300474554BF
+:10155000202446245320485454502F312E300D0A55
+:10156000486F73743A2024530D0A24460D0A0D0A5D
+:10157000004163636570743A20746578742F6874F1
+:101580006D6C004163636570743A20746578742FE4
+:1015900068746D6C00E30004FA0001000000012A89
+:1015A000002F776561746865720024442E70793F5E
+:1015B0006C6F633D2445266B65793D24452666772F
+:1015C000763D24442677746F3D2453007264007482
+:1015D0007A007363616C65006569700073756E7382
+:1015E00065740073756E72697365007C3C3E5E2B9A
+:1015F0003D3F2F5B5D3B2C2A225C00000021002434
+:101600000027002A0000002200250028002B0000EF
+:10161000002000230026002900020202020202022A
+:101620000204040404040404040303030303030383
+:101630000301010101010101010102040810204020
+:10164000800102040810204080010204081020409C
+:101650008080402010080402010000000102000008
+:101660000000000000040307060000000000000066
+:1016700000000000000000000000407A10F35A0053
+:10168000A0724E18090010A5D4E80000E8764817AB
+:101690000000E40B54020000CA9A3B000000E1F590
+:1016A00005000080969800000040420F000000A056
+:1016B0008601000000102700000000E80300000081
+:1016C000006400000000000A0000000000010000AB
+:1016D0000000002C76D888DC674F0823DFC1DFAE1E
+:1016E00059E1B1B796E5E3E453C63AE651997696E7
+:1016F000E8E6C28426EB898C9B62ED407C6FFCEFB0
+:10170000BC9C9F40F2BAA56FA5F490055A2AF75CDD
+:10171000936B6CF9676DC11BFCE0E40D47FEF5208F
+:10172000E6B500D0ED902E03009435770500808457
+:101730001E080000204E0A000000C80C333333336B
+:101740000F986E12831141EF8D2114893BE65516D7
+:10175000CFFEE6DB18D1844B381BF77C1D901DA40F
+:10176000BBE424203284725E228100C9F124ECA102
+:10177000E53D2700D719A820E345B88E9EA43EADCD
+:1017800011241FBECFEFD0E4DEBFCDBF1AE0A0E032
+:10179000B1E0E6EAF9E601E00BBF02C007900D9266
+:1017A000A832B107D9F71BBE1FE1A8E2BAE001C019
+:1017B0001D92A130B107E1F717E1C0E8D7E104C0FD
+:1017C0002297FE010E9496B4C437D107C9F70E9440
+:1017D000D4AD0C94D1B40C940000EF92FF920F930F
+:1017E0001F93F22FF02E47FD02C0E4E001C0E4E1B8
+:1017F000242F332727FD309537FF03C030952195DF
+:101800003F4F4F2D512F0F2FEE2E0E946F118F2D16
+:10181000912F1F910F91FF90EF900895CF93DF9339
+:10182000BC018230910510F462E070E0A091FF1ECF
+:10183000B091001FED01E0E0F0E040E050E021C099
+:10184000888199818617970769F48A819B813097EF
+:1018500019F09383828304C09093001F8093FF1E2E
+:10186000FE0134C06817790738F44115510519F0A5
+:101870008417950708F4AC01FE018A819B819C01C5
+:10188000E9012097E9F641155105A9F1CA01861B26
+:10189000970B049708F4BA01E0E0F0E02AC08D91BC
+:1018A0009C91119784179507F9F46417750781F4D3
+:1018B00012968D919C911397309719F093838283A0
+:1018C00004C09093001F8093FF1EFD0132964CC010
+:1018D000CA01861B970BFD01E80FF91F61937193F5
+:1018E00002978D939C9340C0FD01828193819C015E
+:1018F000D9011097A1F68091FD1E9091FE1E892BB3
+:1019000041F48091F9089091FA089093FE1E80931B
+:10191000FD1E4091FB085091FC084115510541F412
+:101920004DB75EB78091F7089091F808481B590BA6
+:101930002091FD1E3091FE1ECA01821B930B86175B
+:10194000970780F0AB014E5F5F4F8417950750F00B
+:10195000420F531F5093FE1E4093FD1EF9016193E9
+:10196000719302C0E0E0F0E0CF01DF91CF910895E4
+:10197000CF93DF93009709F450C0EC0122971B82AC
+:101980001A82A091FF1EB091001F109709F140E04C
+:1019900050E0AC17BD0708F1BB83AA83FE0121917B
+:1019A0003191E20FF31FAE17BF0779F48D919C912F
+:1019B0001197280F391F2E5F3F4F398328831296C6
+:1019C0008D919C9113979B838A834115510571F4E6
+:1019D000D093001FC093FF1E20C012968D919C9142
+:1019E0001397AD01009711F0DC01D3CFFA01D38337
+:1019F000C28321913191E20FF31FCE17DF0769F403
+:101A000088819981280F391F2E5F3F4FFA0131835A
+:101A100020838A819B8193838283DF91CF91089574
+:101A2000A0E0B0E0E6E1FDE00C949CB46C0100970E
+:101A300029F4CB010E940E0C6C01C1C08EEF882EE0
+:101A40008FEF982E8C0C9D1C8601060F171F081512
+:101A5000190508F4B2C0F401A081B181A617B70737
+:101A6000B8F0A530B10508F4AAC0CD0104978617D7
+:101A7000970708F4A4C01297A61BB70BF801A1930F
+:101A8000B193D4016D937C93CF010E94B80C97C0A1
+:101A90007B01EA1AFB0AEEEFFFEFEE0EFF1E3601A6
+:101AA0006A0E7B1EC091FF1ED091001F4424552456
+:101AB000AA24BB244AC0C615D705E1F5488159813F
+:101AC0004E155F05B8F1CA0104978E159F05B0F455
+:101AD0001296A40FB51FF401B183A0832A813B8124
+:101AE0004114510431F0D20113963C932E93129776
+:101AF00066C03093001F2093FF1E61C08A819B81C6
+:101B0000F80193838283425050404E195F095183FC
+:101B100040834114510431F0D20113961C930E936B
+:101B2000129704C01093001F0093FF1EF4017183ED
+:101B3000608345C088819981A816B90608F45C01C4
+:101B40002E018A819B819C01E901209709F0B3CF86
+:101B50008091FD1E9091FE1E86159705E9F4A6164C
+:101B6000B706D0F42091FB083091FC08211531050F
+:101B700041F42DB73EB78091F7089091F808281BE3
+:101B8000390B02171307C8F41093FE1E0093FD1EB5
+:101B9000D4016D937C9313C0CB010E940E0CEC0119
+:101BA000009759F0F40140815181B6010E94570E0F
+:101BB000C6010E94B80C6E0102C0CC24DD24C6010F
+:101BC000CDB7DEB7E0E10C94B8B4FC0188279927C3
+:101BD000E89421912032E9F3293010F02E30C8F337
+:101BE0002B3241F02D3239F4689404C00E94410F29
+:101BF000820F911D219120532A30C0F31EF490953D
+:101C000081959F4F08951F93FC0199278827BC0158
+:101C1000E89411911032E9F3193010F01E30C8F336
+:101C20001B3251F01D3249F4689406C00E942C0FFB
+:101C3000610F711D811D911D119110531A30B0F368
+:101C40003EF490958095709561957F4F8F4F9F4F93
+:101C50001F910895FB01DC0102C005900D924150D7
+:101C60005040D8F70895FB01DC010D900020E9F702
+:101C7000119705900D920020E1F70895FB01DC011A
+:101C800005900D920020E1F7089548E25AE00E9485
+:101C9000A10E0895FB01DC0104C08D910190801913
+:101CA00021F441505040C8F7881B990B0895FB015F
+:101CB000DC0102C001900D9241505040D8F70895C8
+:101CC000DC0101C06D9341505040E0F70895FB01E5
+:101CD000DC010D900020E9F7119701900D92002092
+:101CE000E1F70895FC018191861721F08823D9F747
+:101CF000992708953197CF010895FB01DC010190E8
+:101D00000D920020E1F70895FB01DC0141505040A5
+:101D100030F08D910190801919F40020B9F7881BDB
+:101D2000990B0895FB01DC014150504048F00190AF
+:101D30000D920020C9F701C01D9241505040E0F7BC
+:101D40000895009731F4DA018D919C91009709F480
+:101D50000EC0DC01FB013D912191222319F03217C5
+:101D6000C9F3FACF332331F4DA011D921C9288278C
+:101D7000992708951197AF93BF93FB013D9121914E
+:101D8000321771F4332321F488279927119702C061
+:101D90001E921196FA01A193B0839F918F9108959D
+:101DA000222369F7EACFA0E0B0E0E9EDFEE00C9471
+:101DB000A4B47C01EB018A01690109C0CE0121961E
+:101DC000F6010995F70181937F010150104001153B
+:101DD0001105A1F7CDB7DEB7E8E00C94C0B4A0E0E0
+:101DE000B0E0E5EFFEE00C94A4B4EC017B018A01C5
+:101DF000690109C0CE012196F70161917F01F601C9
+:101E000009950150104001151105A1F7CDB7DEB7B6
+:101E1000E8E00C94C0B4FB019F01E8944230C4F0A8
+:101E20004532B4F44A3029F497FB1EF4909581951D
+:101E30009F4F642F77270E9430B4805D8A330CF067
+:101E4000895D8193CB010097A1F716F45DE2519370
+:101E50001082C9010C94BF13592F482F372F262FFA
+:101E6000660F771F881F991F660F771F881F991F9E
+:101E7000620F731F841F951F660F771F881F991F9E
+:101E800008957AE0979F902D879F802D910D1124C2
+:101E90000895FA01CF93FF93EF932230CCF02532CF
+:101EA000BCF4C22F2C2F332744275527FF93EF93E1
+:101EB0000E9457B4EF91FF91605D6A330CF0695D49
+:101EC0006193B901CA01605070408040904051F761
+:101ED00010828F919F91CF910C94BF13AEE0B0E030
+:101EE000E4E7FFE00C94A8B40D891E8986E08C839A
+:101EF0001A8309838FEF9FE79E838D839E01275E60
+:101F00003F4FCE0101966F89788DA9010E94920FF3
+:101F10002F813885020F131FF80110822E96E4E0FE
+:101F20000C94C4B4ABE0B0E0E8E9FFE00C949AB4E0
+:101F30003C012B015A01FC0117821682838181FD2D
+:101F400003C06FEF7FEFC6C19AE0892E1E0108948F
+:101F5000211C311CF3012381F20123FD859123FF14
+:101F600081912F01882309F4B2C1853239F423FD10
+:101F7000859123FF81912F01853229F490E0B301EF
+:101F80000E94CF13E7CF982FFF24EE249924FFE17E
+:101F9000FF15D0F09B3269F09C3228F4903259F052
+:101FA000933291F40EC09D3249F0903369F441E0D0
+:101FB00024C052E0F52A84E0F82A28C098E0F92AE3
+:101FC00025C0E0E1FE2A22C0F7FC29C0892F8053FA
+:101FD0008A3070F4F6FE05C0989C902C1124980E5F
+:101FE00015C0E89CE02C1124E80EF0E2FF2A0EC098
+:101FF0009E3229F4F6FC6BC140E4F42A07C09C36FB
+:1020000019F450E8F52A02C0983649F4F20123FD8C
+:10201000959123FF91912F01992309F0B8CF892F32
+:102020008554833018F08052833038F444E050E017
+:10203000A40EB51E5FE359830FC0933631F093377A
+:1020400079F0933509F056C020C0F501808189836D
+:1020500042E050E0A40EB51E610101E010E012C0A4
+:10206000F501C080D180F6FC03C06FEF7FEF02C0A6
+:10207000692D70E042E050E0A40EB51EC6010E943A
+:10208000B4138C015FE7F52214C0F501C080D18044
+:10209000F6FC03C06FEF7FEF02C0692D70E042E0F5
+:1020A00050E0A40EB51EC6010E94A9138C0150E891
+:1020B000F52AF3FE07C01AC080E290E0B3010E9447
+:1020C000CF13EA948E2D90E008171907A8F30EC0DD
+:1020D000F601F7FC8591F7FE81916F0190E0B30165
+:1020E0000E94CF13E110EA94015010400115110530
+:1020F00079F7EAC0943611F0993669F5F7FE08C011
+:10210000F501208131814281538184E090E00AC051
+:10211000F501808191819C01442737FD4095542F22
+:1021200082E090E0A80EB91E9FE6F92257FF09C091
+:1021300050954095309521953F4F4F4F5F4FE0E8C8
+:10214000FE2ACA01B901A1012AE030E00E94FB1376
+:10215000D82ED21840C0953729F41F2D1F7E2AE0B3
+:1021600030E01DC01F2D197F9F3661F0903720F49D
+:10217000983509F0ACC00FC0903739F0983709F0A6
+:10218000A6C004C028E030E00AC0106114FD14604D
+:1021900020E130E004C014FD166020E132E017FFBA
+:1021A00008C0F501608171818281938144E050E033
+:1021B00008C0F50180819181BC0180E090E042E09F
+:1021C00050E0A40EB51EA1010E94FB13D82ED21818
+:1021D0008FE7F82EF122F6FE0BC05EEFF522D91440
+:1021E00038F4F4FE07C0F2FC05C08FEEF82202C0FE
+:1021F0001D2D01C0192DF4FE0DC0FE01ED0DF11DC8
+:102200008081803319F499EEF92208C01F5FF2FE35
+:1022100005C003C08F2D867809F01F5F0F2DF3FCDA
+:1022200014C0F0FE0FC01E1510F09D2C0BC09D2C8D
+:102230009E0C911A1E2D06C080E290E0B3010E9410
+:10224000CF131F5F1E15C0F304C01E1510F4E11A52
+:1022500001C0EE2404FF0FC080E390E0B3010E94B0
+:10226000CF1302FF1DC001FD03C088E790E00EC040
+:1022700088E590E00BC0802F867891F001FF02C0C6
+:102280008BE201C080E2F7FC8DE290E0B3010E9496
+:10229000CF1306C080E390E0B3010E94CF139A945D
+:1022A000D914C0F3DA94F101ED0DF11D808190E0B5
+:1022B000B3010E94CF13DD20A9F706C080E290E0B1
+:1022C000B3010E94CF13EA94EE20C1F743CEF3018D
+:1022D00066817781CB012B96E2E10C94B6B4A9E03C
+:1022E000B0E0E5E7F1E10C949EB46A01122FA02E54
+:1022F000BE2C2BE3201718F42CE3922E02C0902E54
+:102300009394AE014F5F5F4F27E0092D0E94D112D9
+:10231000BC018981E82EFF24C70189709070019764
+:1023200011F4ADE209C0B1FE02C0ABE205C0B0FCE1
+:1023300002C0A0E001C0A0E2E3FE3BC0AA2311F46A
+:1023400023E001C024E0211710F020E002C0121B9E
+:10235000212FEB2CB4FE02C0322F0AC0F601322F1F
+:1023600080E202C0819331503323E1F7C20ED11CC9
+:10237000AA2319F0F601A1936F01F6013196E2FE4E
+:1023800005C09EE4D6019C9381E404C09EE6D6017C
+:102390009C9381E611968C9391833296DF01832F73
+:1023A00090E202C09D9381508823E1F7E30FF11D75
+:1023B00040C0E2FE42C0AA2311F423E001C024E0A1
+:1023C000211710F020E002C0121B212FEB2CB4FECD
+:1023D00002C0922F0AC0F601922F80E202C08193C0
+:1023E00091509923E1F7C20ED11CAA2319F0F601EE
+:1023F000A1936F01F6013196E2FE08C089E4D6018F
+:102400008C938EE411968C9386E407C089E6D601FE
+:102410008C938EE611968C9386E681833296DF014B
+:10242000892F20E202C02D9381508823E1F7E90F24
+:10243000F11D10822EEF3FEFAFC0161617061CF0ED
+:1024400041E050E003C0AB014F5F5F4FAA2019F499
+:1024500080E090E003C08A2D90E0019620E030E01B
+:10246000AA2311F021E030E0240F351F280F391F77
+:10247000812F90E02817390714F020E002C0121BCA
+:10248000212F4B2D50E0CA0180719070B4FC0DC01B
+:10249000B3FC0BC0F601322F40E202C04193315031
+:1024A0003323E1F7C20ED11C01C0322FAA2319F049
+:1024B000F601A1936F01892B11F0132F0AC0F601C9
+:1024C000132F80E302C0819311501123E1F7C30E53
+:1024D000D11C092D060FBA8090E1892E912C8E20F7
+:1024E0009F20E4FE04C0F1E3BF1609F4015010166A
+:1024F00014F001E003C0093008F008E09B0177FF09
+:1025000002C020E030E0CB010196821B930BFE015C
+:102510003196E80FF91F8EE2F82E3B01601A710820
+:102520008A2D90E044275527481B590B8FEF2F3FEA
+:10253000380719F4D601FD926D01621773072CF06C
+:102540006216730614F4808101C080E3215030408C
+:1025500031962417350724F0D6018D936D01E6CF0F
+:102560002617370749F4B5E3BB1528F0BB1621F44D
+:102570008114910409F481E3F6018193D601812F3E
+:1025800090E202C09C93815011968823D9F7E10F05
+:10259000F11D108220E030E0C9012996EEE00C9494
+:1025A000BAB4283008F027E03327DA01990F311D3B
+:1025B00087FD916000966105710539F432602E5FE8
+:1025C0003D9330E32A95E1F708959F3F30F080383E
+:1025D0007105610509F03C5F3C5F3D93913008F067
+:1025E0008068911DDF93CF931F930F93FF92EF921B
+:1025F000192F987F9695E92F96959695E90FFF27C5
+:10260000ED52F94E99273327EE24FF24A701E70165
+:1026100005900894079428F4360FE71EF81E491F0A
+:10262000511D660F771F881F991F0694A1F705900B
+:10263000079428F4E70EF81E491F561FC11D770F97
+:10264000881F991F661F0694A1F70590079428F428
+:10265000F80E491F561FC71FD11D880F991F661FEF
+:10266000771F0694A1F70590079420F4490F561F91
+:10267000C71FD81F990F661F771F881F0694A9F7D9
+:1026800084911095177041F0D695C7955795479549
+:10269000F794E7941A95C1F7E9E7F6E16894159085
+:1026A000159135916591959105907FE27395E118AB
+:1026B000F10A430B560BC90BD009C0F7E10CF11E10
+:1026C000431F561FC91FD01D7EF4703311F48A9525
+:1026D000E6CFE894015030F0080F0AF40027021703
+:1026E00008F4202F2395022F7A3328F079E37D9385
+:1026F0002A95E9F710C07D932A9589F60694979557
+:102700006795379517951794E118F10A430B560B07
+:10271000C90BD00998F023957E9173957A3308F010
+:1027200070E37C932013B8F77E9170617D9330F055
+:10273000839571E37D9370E32A95E1F71124EF907F
+:10274000FF900F911F91CF91DF91992787FD909571
+:102750000895FC010590615070400110D8F78095F4
+:1027600090958E0F9F1F0895FC016150704001905D
+:102770000110D8F7809590958E0F9F1F0895DC016A
+:10278000FC01672F71917723E1F7329704C07C91A8
+:102790006D9370836291AE17BF07C8F308950F93CE
+:1027A0001F93CF93DF938C01EB018B8181FF1BC0C3
+:1027B00082FF0DC02E813F818C819D8128173907B2
+:1027C00064F4E881F9810193F983E88306C0E88520
+:1027D000F985802F0995892B31F48E819F8101968F
+:1027E0009F838E8302C00FEF1FEFC801DF91CF914F
+:1027F0001F910F910895FA01AA27283051F1203135
+:1028000081F1E8946F936E7F6E5F7F4F8F4F9F4F84
+:10281000AF4FB1E03ED0B4E03CD0670F781F891FC6
+:102820009A1FA11D680F791F8A1F911DA11D6A0F94
+:10283000711D811D911DA11D20D009F468943F9147
+:102840002AE0269F11243019305D3193DEF6CF0146
+:102850000895462F4770405D4193B3E00FD0C9F70C
+:10286000F6CF462F4F70405D4A3318F0495D31FD79
+:102870004052419302D0A9F7EACFB4E0A6959795CC
+:10288000879577956795BA95C9F7009761057105A2
+:1028900008959B01AC010A2E0694579547953795EC
+:1028A0002795BA95C9F7620F731F841F951FA01D46
+:1028B00008950E94083C08950E94EE390895DF9320
+:1028C000CF9300D000D000D0CDB7DEB7DE01119697
+:1028D000E1EBF9E086E001900D928150E1F786E1AD
+:1028E00091E0E0E9FAE0DF019C011D9221503040C7
+:1028F000E1F780912A0A833019F460E87AE003C096
+:10290000BE016F5F7F4F84E490E043E450E00E949B
+:102910009E8080912A0A833039F080E99AE0BE01D6
+:102920006F5F7F4F0E94978E81E08093BA0A8093F9
+:10293000BB0A86E08093BC0A8091370A9091380ADE
+:10294000A091390AB0913A0A8093BE0A9093BF0AC7
+:10295000A093C00AB093C10A80912A0A833039F447
+:102960008AEB9AE00C9660E77AE00E949F8E86EDF3
+:102970009AE06AE67AE00E94978EA6EABBE0E3E07E
+:10298000F9E002C081918D9339E0E930F307D1F786
+:1029900090912A0A992311F083E001C081E080938D
+:1029A000AC0B8DE38093AD0B87E08093AE0B81E0A1
+:1029B0008093AF0BA0EBBBE0EAE6FAE002C08191A6
+:1029C0008D938AE0E037F807D1F78CE08093B60B5F
+:1029D00085E08093B70BEDEFF8E0A8EBBBE002C019
+:1029E00081918D9329E0E230F207D1F72DEB3BE0A6
+:1029F00030933F0A20933E0A913069F582E3809339
+:102A0000BD0B84E08093BE0BD9011296E0E7FAE09B
+:102A100002C081918D933AE0E437F307D1F786E362
+:102A20008093C30B84E08093C40B85EC9BE0909370
+:102A30003F0A80933E0ADC01E0E8FAE002C081919F
+:102A40008D938AE0E438F807D1F789EC9BE0909306
+:102A50003F0A80933E0A20913D0A222311F094E020
+:102A600001C093E0A0913E0AB0913F0AFD0187E3C7
+:102A7000819311969C93DF01119681E08183FD0182
+:102A8000319683E011968C93DF01119686E0818365
+:102A9000CD01019690933F0A80933E0A222339F09C
+:102AA00011962C93019690933F0A80933E0AE091F1
+:102AB0003E0AF0913F0A8FEF8193F0933F0AE09333
+:102AC0003E0ACF018A5B9A400E94848226960FB606
+:102AD000F894DEBF0FBECDBFCF91DF910895BF92B6
+:102AE000CF92DF92EF92FF920F931F93CF93DF93DA
+:102AF0008C0180912A0A823009F401C1833030F4BC
+:102B0000882351F1813009F076C14BC0833021F028
+:102B1000843009F070C1F3C00E94168A20912F0AF8
+:102B20003091300A4091310A5091320AE0902B0ADC
+:102B3000F0902C0A00912D0A10912E0A2E0D3F1DA7
+:102B4000401F511F261737074807590708F053C180
+:102B50000E945F1484E018C00E94C2A86093370AE4
+:102B60007093380A8093390A90933A0A1092700A47
+:102B70001092710A1092720A1092730A0E945F14E6
+:102B800081E00E94791A81E080932A0A0E94C2A8FB
+:102B90006093330A7093340A8093350A9093360A0F
+:102BA0002AC10634110508F4DEC08091B30A8334CB
+:102BB00009F0D9C02091BE0A3091BF0A4091C00AE5
+:102BC0005091C10A8091370A9091380AA091390A30
+:102BD000B0913A0A281739074A075B0709F0C3C0C2
+:102BE000CAEADBE0FE01A8014057554FDF0111960C
+:102BF00091819D012F5F3F4F8081853329F411968C
+:102C00008C91823009F4CEC0F901E90FF11DE4176F
+:102C1000F50760F3A8C0FE019191B980EF012196FC
+:102C20009333E1F0943340F4933091F0963099F07F
+:102C3000913009F04FC009C09A3381F09F3F09F4E9
+:102C40005AC0963309F046C03FC084E79AE03EC0C0
+:102C50008CE79AE03BC084E89AE038C0818190E03C
+:102C6000A0E0B0E0BA2FA92F982F88272981820FE2
+:102C7000911DA11DB11DBA2FA92F982F88272A8138
+:102C8000820F911DA11DB11DBA2FA92F982F882742
+:102C90002B81820F911DA11DB11D80932F0A90934E
+:102CA000300AA093310AB093320A81589145A1406D
+:102CB000B04008F499C0C0922F0AD092300AE09236
+:102CC000310AF092320A90C080E89AE0BE010E9478
+:102CD0009F8E8AC0E0913B0AF0913C0A309709F43C
+:102CE00083C080913D0A981709F07EC0892FBE01EC
+:102CF0004B2D099579C00E945F1482E045CF0634C0
+:102D0000110588F18091B30A833469F52091BE0AD8
+:102D10003091BF0A4091C00A5091C10A8091370A90
+:102D20009091380AA091390AB0913A0A28173907C8
+:102D30004A075B07C1F4EAEAFBE0A8014057554F98
+:102D4000DF01119691819D012F5F3F4F8081853377
+:102D500021F411968C918530A9F1F901E90FF11D4B
+:102D6000E417F50768F30E94C2A82091330A309156
+:102D7000340A4091350A5091360A205F384D4F4F42
+:102D80005F4F261737074807590748F034C08CE7CC
+:102D90009AE00E94048183E080932A0A2CC010925A
+:102DA0002A0A29C080E79AE06AEC7AE00E949F8EA6
+:102DB00080E8C82E81E5D82E81E0E82EF12C00575E
+:102DC000154F29CF81E00E94681A0E94168A6093ED
+:102DD0002B0A70932C0A80932D0A90932E0A8091CF
+:102DE0007C0A8823C1F2D3CFCB0DD11DC017D107E8
+:102DF00008F411CF80CFDF91CF911F910F91FF90F9
+:102E0000EF90DF90CF90BF900895CF93DF9381E054
+:102E100080938C0A90916F0A892F82958F708F5BB7
+:102E2000809300099F709F5B9093010910922A0A7A
+:102E30000E94C2A8EB0104C00E94C91A0E946F152B
+:102E400080912A0A833061F00E94C2A86C1B7D0B1E
+:102E50006053754728F40E948A1A882389F3ECCFBF
+:102E60000E94687F10928F0A10928E0A90E08091E3
+:102E70002A0A833009F491E0892FDF91CF910895D8
+:102E8000FF920F931F93CF93DF938C01F62E0E9436
+:102E9000C2A8EB010CC00E94C91A0E9451830E9473
+:102EA000C2A86C1B7D0B6053754708F0EFC00E94F1
+:102EB0008A1A882381F30E94C2A8EB010CC00E94E9
+:102EC000C91A0E9451830E94C2A86C1B7D0B6053DB
+:102ED000754708F0DBC00E94627F882381F710925B
+:102EE000880A1092890A10928A0A10928B0A80919D
+:102EF000400A8F5F8093400A8091840A882361F49E
+:102F000088E098E0A8E0B8E08093840A9093850A6E
+:102F1000A093860AB093870A8091400A90E0906E51
+:102F200064E87AE045E350E00E949E80EAEBFAE034
+:102F30008CE0DF011D928A95E9F7DF011C9690E095
+:102F4000FF2019F0F801808102C0F80184910F5F21
+:102F50001F4F8E3241F0882331F09F5FFD01E90F52
+:102F6000F11D8083EDCFFD019193DF01A90FB11D0C
+:102F7000882329F7FD01119211961C92DF01119609
+:102F800041E04183FD01319611961C92418386ED0B
+:102F900020E93AE0821B32968E0F8093BA0A909114
+:102FA000400A9093BB0A4093BC0A4093BF0A90E04A
+:102FB0000E9484820E94C2A88B0161C00E94C2A8A4
+:102FC000601B710B6053754708F060C00E94C91AFE
+:102FD000EC01009709F453C00E945183892B09F03A
+:102FE0004EC0C634D10508F44AC08091B30A853377
+:102FF00009F045C08091B40A803E09F040C090912C
+:10300000B50A8091400A9817D1F58091BB0A8917BB
+:10301000B1F58091BD0A90E08F709070892BB1F569
+:103020008091BA0AE82FF0E0E654F54F9E01205750
+:10303000354F8081807C39F0329609C080818823A9
+:1030400011F4319604C03196E217F307B8F3CF01BB
+:103050000E962817390798F08181813051F48185C7
+:10306000843039F43A9688E89AE0BF010E949F8E36
+:1030700006C0818590E00A96E80FF91FDACF8091AB
+:10308000880A882309F49ACF81E001C080E0DF91AB
+:10309000CF911F910F91FF900895482F6AE00E94F1
+:1030A00024B4282F30E084E0220F331F8A95E1F703
+:1030B000842F0E9424B4892F820F0895CF93DF9329
+:1030C000EC018091410A9091420A8836910559F5A8
+:1030D00086E29DE168E670E00E9464A486E29DE1DC
+:1030E00060E00E94E6A488810E944D18682F70E07D
+:1030F0006F77707086E29DE10E94E6A489810E944C
+:103100004D18682F86E29DE10E94E6A48A810E9404
+:103110004D18682F86E29DE10E94E6A48B810E94F3
+:103120004D18682F2DC08F36910509F04AC086E2F0
+:103130009DE16FE670E00E9464A486E29DE160E09C
+:103140000E94E6A488810E944D18682F606886E27C
+:103150009DE10E94E6A489810E944D18682F86E2B5
+:103160009DE10E94E6A48A810E944D18682F86E2A4
+:103170009DE10E94E6A48B810E944D18682F686033
+:1031800086E29DE10E94E6A48C810E944D18682F82
+:1031900086E29DE10E94E6A48D810E944D18682F71
+:1031A00086E29DE10E94E6A48E818E510E944D1818
+:1031B000682F86E29DE10E94E6A486E29DE10E94DE
+:1031C00029A5DF91CF91089588E690E09093420A77
+:1031D0008093410A86E29DE168E670E00E9464A463
+:1031E00086E29DE160E00E94E6A486E29DE10E9405
+:1031F00029A58823D9F08FE690E09093420A809326
+:10320000410A86E29DE16FE670E00E9464A486E2D6
+:103210009DE160E00E94E6A486E29DE10E9429A56E
+:10322000882321F01092420A1092410A08951F93B8
+:10323000CF93DF93EC016091410A7091420A6115CE
+:10324000710509F470C086E29DE10E9464A486E2E3
+:103250009DE160E00E94E6A486E29DE10E9429A52E
+:103260006091410A7091420A86E29DE147E050E098
+:103270000E943AA586E29DE10E9477A4282F2F772D
+:1032800022952F701AE0219F900111248F70820FD8
+:10329000888386E29DE10E9477A4282F22952F70D3
+:1032A000219F900111248F70820F898386E29DE116
+:1032B0000E9477A4282F2F7322952F70219F9001B1
+:1032C00011248F70820F8A8386E29DE10E9477A489
+:1032D00087708B8386E29DE10E9477A4282F229538
+:1032E0002F70219F900111248F70820F8C8386E2B2
+:1032F0009DE10E9477A4282F2F7122952F70219F86
+:10330000900111248F70820F8D8386E29DE10E94CF
+:1033100077A4282F2F70225E82958F70819FC00125
+:103320001124280F2E83DF91CF911F9108950F93C1
+:103330001F93DF93CF93CDB7DEB727970FB6F894DF
+:10334000DEBF0FBECDBF8E010F5F1F4FA8010E94D1
+:10335000C387C8010E945E1827960FB6F894DEBF97
+:103360000FBECDBFCF91DF911F910F9108950F93A5
+:103370001F93DF93CF93CDB7DEB727970FB6F8949F
+:10338000DEBF0FBECDBF8E010F5F1F4FC8010E9471
+:103390001719C8010E94098927960FB6F894DEBF55
+:1033A0000FBECDBFCF91DF911F910F91089586E29F
+:1033B0009DE10E943EA508958091460A61E00E9429
+:1033C0009BAA78940895FF920F931F93082F162FAE
+:1033D000F42EF8948091460A60E00E949BAA1F7127
+:1033E000102B1EBD0DB407FEFDCFFEBC0DB407FEB5
+:1033F000FDCF0E94DC191F910F91FF9008951F933C
+:10340000182F282F30E0207630708091470A90E006
+:103410002817390799F080EA6FE143E00E94E31929
+:10342000412F40764093470A50E085E055954795F7
+:103430008A95E1F780E86FE10E94E3191F910895F2
+:103440000F931F93182F062F0E94FF1980E4612FFE
+:10345000402F0E94E3191F910F9108950F931F931E
+:10346000182F072F0E94201A812F8F5F602F0E9434
+:10347000201A1F910F9108950F931F93182F062F55
+:10348000F8948091460A60E00E949BAA802F8F7179
+:10349000812B8EBD0DB407FEFDCF1EBC0DB407FE03
+:1034A000FDCF07FF04C01EBC0DB407FEFDCF1EB547
+:1034B0000E94DC19812F1F910F9108951F93182FDF
+:1034C0000E94FF1980E0612F0E943C1A1F9108950D
+:1034D000882311F41092450A8091450A882341F40B
+:1034E00088E30E945E1A682F6E7F88E30E94201A8C
+:1034F00008951F93182F88E30E945E1A682F616059
+:1035000088E30E94201A112319F481E08093450A70
+:103510001F91089584ED61E10E94201A82ED61E01F
+:103520000E94201A8AEE0E945E1A80FDFBCF82ED77
+:1035300060E00E94201A89ED0E945E1A90E0969544
+:10354000879596958795817008950F931F93CF93D4
+:10355000DF93EC018B01F8948091460A60E00E94B1
+:103560009BAA8AE38EBD0DB407FEFDCF09C01EBC29
+:103570000DB407FEFDCF8EB5F80181938F01219721
+:103580002097A9F70E94DC19DF91CF911F910F912D
+:1035900008950F931F93DF93CF9300D000D000D0F6
+:1035A000CDB7DEB789E30E945E1A882319F400E0E4
+:1035B00010E048C06091480A7091490A80E00E947A
+:1035C0002E1A86E090E0BE016F5F7F4F0E94A51A21
+:1035D00089819A819093490A8093480A2B813C8182
+:1035E000E091430AF091440A8D8187FD03C000E019
+:1035F00010E00EC0245030408F01015010402017C1
+:10360000310708F48901C80160E97AE00E94A51A2F
+:10361000F801E057F54F10826091480A7091490A0D
+:103620008CE06130780724F08CE06FEF7BE003C022
+:10363000615070408CE00E942E1A80E86EE140E4F8
+:103640000E94E319C80126960FB6F894DEBF0FBE9C
+:10365000CDBFCF91DF911F910F9108950F931F93CD
+:10366000CF93DF938C01EB01F8948091460A60E0E0
+:103670000E949BAA8AE78EBD0DB407FEFDCF08C04D
+:1036800088818EBD0DB407FEFDCF219601501040FC
+:1036900001151105A9F70E94DC19DF91CF911F9147
+:1036A0000F910895CF93DF93EC018CE10E945E1A95
+:1036B00081FF0FC080E86FE140E80E94E31980EAD3
+:1036C0006FE140E80E94E31980EA6CE142E00E9469
+:1036D000E31982E060E07CE00E942E1ABE01605097
+:1036E000744F86E00E942E1A8AE760E040E00E9454
+:1036F000E319CE0160E97AE00E942E1B80E86FE1B9
+:1037000048E00E94E319DF91CF91089584E061E0E1
+:103710000E941EAA84E061E00E949BAA85E061E00D
+:103720000E941EAA87E061E00E941EAA86E060E077
+:103730000E941EAA85E061E00E949BAA85E060E0ED
+:103740000E949BAA87E060E00E949BAA80E58CBD56
+:103750008DB581608DBD0895EF92FF920F931F93F9
+:10376000CF93DF93EB01142F9093440A8093430A85
+:103770000CB406FC02C00E94861B1093460A812FDF
+:1037800061E00E941EAA0E94DC198FEF60E04FEFFB
+:103790000E94E31962E070E080E090E00E94D0A80F
+:1037A0000E94C2A87B018C0180E395E7A0E0B0E015
+:1037B000E80EF91E0A1F1B1F09C00E94C2A8E616C8
+:1037C000F7060807190710F480E084C080E06DE177
+:1037D0000E943C1A882389F31092490A1092480AE1
+:1037E00088E060E070E00E942E1A8CE060E070E0FB
+:1037F0000E942E1A8AE06FEF7BE00E942E1A84E06E
+:1038000060E07CE00E942E1A86E06FEF71E10E947A
+:103810002E1A80E00E94791A88E26FE370E30E941A
+:103820002E1A80E369EF77EF0E942E1A80EC6DE08C
+:103830000E94201A81EC60E00E94201A80E862EC6D
+:1038400042E30E94E31986EC62E17CE00E942E1ABA
+:1038500084EC62E10E94201A8AEC6AEE75E00E9414
+:103860002E1A84EE68810E94201A85EE69810E94DA
+:10387000201A82EE6A810E94201A83EE6B810E94D8
+:10388000201A80EE6C810E94201A81EE6D810E94C8
+:10389000201A84ED60E10E94201A86ED60E071E05C
+:1038A0000E942E1A8AEE0E945E1A80FDFBCF8FE1E5
+:1038B0000E94FF1980E86BE140EC0E94E31980E868
+:1038C0006FE144E00E94E31982E70E945E1A8630AD
+:1038D00008F08F5FDF91CF911F910F91FF90EF90D4
+:1038E0000895EF92FF920F931F93CF93DF93FC0104
+:1038F000EB018A01790110928C0A009729F080E788
+:103900009AE0BF010E949F8E209719F0CE010E947D
+:1039100004810115110529F084E89AE0B8010E949C
+:103920009F8EE114F10429F084E79AE0B7010E9428
+:103930009F8E0E94687F10928F0A10928E0A81E0FB
+:10394000DF91CF911F910F91FF90EF900895AF926B
+:10395000BF92CF92DF92FF920F931F93CF93DF938B
+:103960008C01EB01F42E10928C0A38E341E050E018
+:1039700060E070E018C0832F90E0FC01B3E0F595A3
+:10398000E795BA95E1F7E65BF54F877090705A01BD
+:103990006B0104C0AA0CBB1CCC1CDD1C8A95D2F7A1
+:1039A00020812A292083315031F78AE69AE0BE012E
+:1039B0000E94978EC8016AE67AE04F2D0E94AC1BE8
+:1039C000DF91CF911F910F91FF90DF90CF90BF902B
+:1039D000AF900895CF92DF92EF92FF920F931F93D3
+:1039E000DF93CF93CDB7DEB7EB84FC84CD84DE8448
+:1039F000DE011F9601C0D801F6018491882309F4E5
+:103A0000BCC00894C11CD11C843209F099C0F601D5
+:103A10000894C11CD11C8491863409F45FC087349A
+:103A200034F4843469F0853409F08AC06EC08C3473
+:103A3000C9F1833509F445C0883409F081C00DC04F
+:103A40008D010E5F1F4FF701668177818D919C91EB
+:103A50004AE050E00E940B0F7EC02C91822F9927E4
+:103A600087FD909514E0959587951A95E1F78F70ED
+:103A70002F702A300CF0295F8A300CF0895F8D019D
+:103A80000E5F1F4FF701A681B781805DFD01819315
+:103A9000205D11962C933196D7011796FC93EE93E7
+:103AA0001697A9CF8D010C5F1F4F6D917D918D9160
+:103AB0009C91F701468157812AE030E00E94490F2E
+:103AC0004AC08D010E5F1F4F6D917C91D7011696F4
+:103AD0008D919C9117970E947D0E3DC08D010E5FC8
+:103AE0001F4F2D913C910AC0D7011696ED91FC9184
+:103AF000179781931796FC93EE931697F9012F5F12
+:103B00003F4F8491882381F776CF8D010E5F1F4F41
+:103B10002D913C910AC0D7011696ED91FC91179713
+:103B200081931796FC93EE931697F999FECF32BDC9
+:103B300021BDF89A80B52F5F3F4F882361F75BCF97
+:103B4000F70126813781F90181939F01F7013783BE
+:103B500026838D0150CFD70116968D919C91179792
+:103B6000FC0101900020E9F73197E81BF90B8E0F5B
+:103B70009F1FF701978386833ECFCF91DF911F91DF
+:103B80000F91FF90EF90DF90CF9008950F931F93C8
+:103B90008C01FC01848560E00E949BAA81E090E09A
+:103BA0000E9429A9F801848561E00E949BAA81E016
+:103BB00090E00E9429A9F801848560E00E949BAAF8
+:103BC00084E690E00E9429A91F910F910895CF9259
+:103BD000DF92EF92FF920F931F936C01062F86E204
+:103BE000E82E8DE1F82EC701F60164810E945AA4E7
+:103BF00010E0F601808590E0082B192BC701602F9B
+:103C00000E94E6A4C7010E9429A51F910F91FF9071
+:103C1000EF90DF90CF900895FF920F931F938C0148
+:103C2000F62E64600E94E71D81E090E00E9429A9C1
+:103C30008BEFF822C8016F2D0E94E71D82E390E010
+:103C40000E9429A91F910F91FF900895FC0188E01F
+:103C50008087CF0160E00E94E71D0895FC01108677
+:103C600060E00E94E71D0895CF92DF92EF92FF92ED
+:103C70000F931F93CF93DF937C01D62EFC01818598
+:103C8000813039F4C7010E94E71DC7016D2D0E94E4
+:103C90000C1EF70181858823F9F48701C0E0D0E08C
+:103CA000CD2CDD24F801858561E00E941EAAB601B5
+:103CB0000C2E02C0759567950A94E2F76170F801C1
+:103CC00085850E949BAA21960F5F1F4FC430D105A6
+:103CD00049F7C7010E94C61DDF91CF911F910F9137
+:103CE000FF90EF90DF90CF9008950F931F93CF93A5
+:103CF000DF93EC01062F142F8985813061F4607FFA
+:103D0000642BCE010E94341E602F6295607F612B70
+:103D1000CE010E94341E89858823C1F48A85612FD3
+:103D20000E949BAA8B858F3F19F060E00E949BAA9E
+:103D3000602F70E094E0759567959A95E1F7CE0154
+:103D40000E94341ECE01602F0E94341EDF91CF915D
+:103D50001F910F91089541E00E94751E81E090E04F
+:103D6000089540E00E94751E0895EF92FF920F9310
+:103D70001F93CF93DF938C017A016770660F660FF4
+:103D8000660F60640E94B11EC0E0D0E0D801ED91E2
+:103D9000FC91D701AC0FBD1F0190F081E02DC8014F
+:103DA0006C9109952196C830D10581F7DF91CF91AB
+:103DB0001F910F91FF90EF900895FC0166896E7F2F
+:103DC000668B68600E94B11E0895FC016689862F8B
+:103DD0008460868B6C60CF010E94B11E0895DF93D2
+:103DE000CF93CDB7DEB728970FB6F894DEBF0FBEDE
+:103DF000CDBF9C01FE013196AFEBB9E088E00D909C
+:103E000001928150E1F7F9018185813021F48681A9
+:103E1000841748F406C0882331F4F901818D4817CE
+:103E200010F0482F4150E42FF0E0EE0FFF1FEC0F91
+:103E3000FD1F8181680F6068C9010E94B11E28962C
+:103E40000FB6F894DEBF0FBECDBFCF91DF910895BE
+:103E500062E00E94B11E80ED97E00E9429A90895BA
+:103E600061E00E94B11E80ED97E00E9429A90895AB
+:103E7000CF93DF93EC018985813009F044C088E05D
+:103E80008D8B62E370E080E090E00E94D0A8CE01CC
+:103E900068850E94E71D68EE73E080E090E00E9474
+:103EA000D0A8CE0160E30E94341E84E991E10E9413
+:103EB00029A9CE0160E30E94341E84E991E10E94A9
+:103EC00029A9CE0160E30E94341E86E990E00E9499
+:103ED00029A9CE0160E20E94341E6D896062CE0184
+:103EE0000E94B11E84E08E8BCE010E94E51ECE01A1
+:103EF0000E94301F82E08F8BCE0166E00E94B11ECF
+:103F0000CE010E94281F8985882309F061C08D8910
+:103F100088608D8B82E0898F1A8E80E593EC0E94F9
+:103F200029A98A8560E00E949BAA8C8560E00E9496
+:103F30009BAA8B858F3F19F060E00E949BAA6D8938
+:103F400064FD1DC0CE0163E00E94341E84E991E14E
+:103F50000E9429A9CE0163E00E94341E84E991E108
+:103F60000E9429A9CE0163E00E94341E86E990E0F8
+:103F70000E9429A9CE0162E00E94341E16C0606230
+:103F8000CE010E94B11E84E991E10E9429A96D89A8
+:103F90006062CE010E94B11E86E990E00E9429A9CC
+:103FA0006D896062CE010E94B11E6D896062CE0192
+:103FB0000E94B11E84E08E8BCE010E94E51ECE01D0
+:103FC0000E94301F82E08F8BCE0166E00E94B11EFE
+:103FD000DF91CF9108956F927F928F92AF92CF929F
+:103FE000EF920F93DF93CF93CDB7DEB73C01FC0187
+:103FF000428723870487E586C686A786808A8C85C4
+:10400000818B8D85828B8E85838B8F85848B86E2D9
+:104010009DE10E943EA5F301118686E29DE167E2E3
+:1040200070E00E9464A486E29DE160E00E94E6A444
+:1040300086E29DE10E9429A5882319F481E0F3011D
+:104040008187F3018185813049F487E2848380E1AF
+:10405000858382E08683178288E08087F3018185EB
+:10406000882381F4828561E00E941EAAF301838582
+:104070008F3F19F061E00E941EAAF301848561E080
+:104080000E941EAA88E0F301858BCF91DF910F91EA
+:10409000EF90CF90AF908F907F906F9008959C019C
+:1040A000F999FECF32BD21BDF89A80B50895FC0183
+:1040B000A681B7816D93B783A68381E090E00895D0
+:1040C0001F920F920FB60F920BB60F9211242F93DF
+:1040D0003F934F935F936F937F938F939F93AF9390
+:1040E000BF93EF93FF9380916D108F5F80936D105E
+:1040F00080916D10803128F0E0916B10F0916C1080
+:104100000995FF91EF91BF91AF919F918F917F9111
+:104110006F915F914F913F912F910F900BBE0F9038
+:104120000FBE0F901F9018958091361890E023E0F5
+:10413000880F991F2A95E1F7895C974EE7E3F8E12C
+:1041400003C0158214823896E817F907D0F3089552
+:1041500089E18093091010920C1010921F10109298
+:1041600026101092281010924310109242108BECDF
+:1041700099E090934110809340100895AF92BF92C0
+:10418000CF92DF92EF92FF920F931F9380912B09B2
+:10419000882309F445C02091EC15922F991F992787
+:1041A000991F8091ED158370880F892BC9F5809137
+:1041B000EB1585FD35C022FF33C00E94168A5B01D6
+:1041C0006C018091EC158B7F8093EC1580916E10C3
+:1041D000882329F48CE890E061E00E94EB470E947C
+:1041E00091687B018C016115710581059105C1F014
+:1041F0000E94E989C801B7010E94971921E8A21617
+:1042000028ECB2062FE4C2062AE3D20648F40E9444
+:10421000168A6158784C8F449A4310F00E942845C2
+:104220001F910F91FF90EF90DF90CF90BF90AF90D4
+:104230000895EF92FF920F931F938091EB1585FDE8
+:10424000B4C08091EC1583FFB0C0877F8093EC15DC
+:1042500080916E10882359F48BE197E16FE041E083
+:104260000E94EF1E8BE197E164E00E94AB1E0E946A
+:10427000C2A87B018C018091ED1582FF09C00E94CC
+:104280005555882329F08091ED158B7F8093ED158E
+:104290008CE79AE00E9404830E94C91A0E9451830D
+:1042A0008CE79AE00E94C685882361F40E94C2A828
+:1042B0006E197F09800B910B683C71058105910592
+:1042C00058F34CC08091EC158F778093EC1580915A
+:1042D000ED158C7F8093ED1506C02F772093EC159C
+:1042E0003B603093ED159091EC15991F9927991F1C
+:1042F0002091ED15822F8370880F892B09F055C00E
+:10430000277F2093ED150E94C2A87B018C018BE9C9
+:1043100090E060E00E9440178823A1F080E091E0E7
+:1043200068E87AE00E94808E88E89AE00E94048320
+:104330000E94C91A0E94518388E89AE00E94C685AB
+:10434000882399F50E94C2A86E197F09800B910BF2
+:10435000683C710581059105D0F222C02091EC15D1
+:10436000922F991F9927991F3091ED15832F8370F4
+:10437000880F892B8F5F8770982F9795992797952E
+:104380002F77292B2093EC15982F96953C7F392B6E
+:10439000932F98609093ED15873009F49ECFA3CFAB
+:1043A0008091ED1588608093ED151F910F91FF901E
+:1043B000EF900895EF92FF920F931F938C0188E086
+:1043C00090E166E071E040E00E94429F30E1E32E20
+:1043D00037E1F32EC701B8010E947D0E0BE116E113
+:1043E000C80161E279E00E947D0EC801B7010E9418
+:1043F000670EC8016AEA70E00E94330E1F910F91A8
+:10440000FF90EF900895CF93DF93EC0180914D09D9
+:10441000882361F18091EB1587FF28C0CE0168E009
+:1044200071E043E050E00E94840E009771F488E050
+:1044300090E161E279E040E00E94429F8823B1F080
+:1044400086E290E10E94EF9711C0CE010E94DA212E
+:1044500088E090E16BE176E10E94239F882331F0B0
+:1044600088E090E16BE176E10E94009FDF91CF91BF
+:1044700008953F924F925F926F927F928F929F9298
+:10448000AF92BF92CF92DF92EF92FF920F931F9362
+:10449000DF93CF93CDB7DEB7AA970FB6F894DEBF00
+:1044A0000FBECDBF382E5A016B0128013901809112
+:1044B0004D09882309F474C6CB01BA0120E831E51F
+:1044C00041E050E00E9457B4CA01B9014BE156E106
+:1044D0002AE030E00E94490F8BE196E10E94DA2148
+:1044E0008091EB1587FF5CC688E090E166E071E0A3
+:1044F00040E00E94429F88E090E161E279E040E084
+:104500000E94429F882391F488E090E161E279E083
+:1045100041E00E94049F882309F442C610925F1074
+:10452000109260101092611010926210198A1B8A0A
+:10453000188A1F8684E09AE09E878D878E010F5E21
+:104540001F4FABE18A2EA6E19A2EC801B40142E4C6
+:104550000E94719DF82E4BA15CA16DA17EA1C801A6
+:104560000E940D93FF2009F41BC6332009F047C0B9
+:104570002DB73EB7265130400FB6F8943EBF0FBE60
+:104580002DBFEDB7FEB73196ADB7BEB712969C9270
+:104590008E9211978CE091E0938382838091E81949
+:1045A000848315828091E719868317828091E919A7
+:1045B0009091EA1991878087A286B386C486D586B2
+:1045C0008091321A9091331AA091341AB091351A11
+:1045D00086879787A08BB18B80912E1A90912F1A86
+:1045E000A091301AB091311A828B938BA48BB58B2A
+:1045F0000E946E0F2DB73EB72A5E3F4F59C334E07D
+:10460000331609F03FC04DB75EB7405150400FB66A
+:10461000F8945EBF0FBE4DBFEDB7FEB73196ADB794
+:10462000BEB712969C928E92119784E291E093838A
+:1046300082838091361A9091371AA091381AB091DE
+:10464000391A84839583A683B78380914A1A9091FF
+:104650004B1AA0914C1AB0914D1AA6019501281B36
+:10466000390B4A0B5B0B2087318742875387A4861F
+:10467000B586C686D7860E946E0F4DB75EB7405F7F
+:104680005F4F68C352E0351671F580910D16909119
+:104690000E16A0910F16B09110168A159B05AC0549
+:1046A000BD0528F020E030E040E050E006C0A60163
+:1046B0009501281B390B4A0B5B0B8DB79EB70C97E6
+:1046C0000FB6F8949EBF0FBE8DBFEDB7FEB7319603
+:1046D0008BE196E1ADB7BEB712969C938E9311977E
+:1046E00088E391E030C031E03316C1F580910916BE
+:1046F00090910A16A0910B16B0910C168A159B0585
+:10470000AC05BD0528F020E030E040E050E006C0F8
+:10471000A6019501281B390B4A0B5B0B8DB79EB781
+:104720000C970FB6F8949EBF0FBE8DBFEDB7FEB7C6
+:1047300031968BE196E1ADB7BEB712969C938E93FE
+:1047400011978AE491E0938382832483358346839F
+:104750005783A086B186C286D38603C133E0331661
+:1047600029F54DB75EB74A5050400FB6F8945EBF7A
+:104770000FBE4DBFEDB7FEB73196ADB7BEB71296BF
+:104780009C928E9211978CE591E093838283809125
+:10479000400984831582A682B782C086D1860E9492
+:1047A0006E0F2DB73EB7265F3F4F82C237E03316FC
+:1047B00009F05BC04DB75EB74A5150400FB6F89450
+:1047C0005EBF0FBE4DBFEDB7FEB73196ADB7BEB7FA
+:1047D00012969C928E9211978DE691E0938382833C
+:1047E00087E090E095838483A682B782C086D186D5
+:1047F0008091361A9091371AA091381AB091391ACF
+:1048000082879387A487B58780914A1A90914B1A23
+:10481000A0914C1AB0914D1AA6019501281B390B95
+:104820004A0B5B0B26873787408B518B80913A1A56
+:1048300090913B1AA0913C1AB0913D1A828B938BB8
+:10484000A48BB58B80913E1A90913F1AA091401A8B
+:10485000B091411A868B978BA08FB18F0E946E0FFB
+:104860004DB75EB7465E5F4F75C258E0351651F5DD
+:104870008DB79EB70E970FB6F8949EBF0FBE8DBF33
+:10488000EDB7FEB73196ADB7BEB712969C928E9239
+:1048900011978EE891E09383828388E090E095837E
+:1048A0008483A682B782C086D18680913E1A909179
+:1048B0003F1AA091401AB091411A82879387A4872A
+:1048C000B5876CC135E0331619F54DB75EB74C505E
+:1048D00050400FB6F8945EBF0FBE4DBFEDB7FEB7A8
+:1048E0003196ADB7BEB712969C928E92119783EA1D
+:1048F00091E09383828385E090E095838483A68210
+:10490000B782C086D1868091EB158695869526C0A4
+:1049100036E0331669F54DB75EB74C5050400FB6D0
+:10492000F8945EBF0FBE4DBFEDB7FEB731968BE179
+:1049300096E1ADB7BEB712969C938E93119787EB15
+:1049400091E09383828386E090E095838483A682BE
+:10495000B782C086D1868091EB158695817082875B
+:1049600013860E946E0F2DB73EB7245F3F4FA0C144
+:1049700030E3331631F54DB75EB74C5050400FB6AB
+:10498000F8945EBF0FBE4DBFEDB7FEB731968BE119
+:1049900096E1ADB7BEB712969C938E9311978BECB0
+:1049A00091E09383828380E390E095838483A68261
+:1049B000B782C086D1868091EB15869586958695BF
+:1049C000CDCF31E3331629F54DB75EB74C5050408B
+:1049D0000FB6F8945EBF0FBE4DBFEDB7FEB7319670
+:1049E0008BE196E1ADB7BEB712969C938E9311976B
+:1049F0008FED91E09383828381E390E095838483BC
+:104A0000A682B782C086D1868091EB1582958F7081
+:104A1000A5CF32E33316D9F44DB75EB740515040BD
+:104A20000FB6F8945EBF0FBE4DBFEDB7FEB731961F
+:104A30008BE196E1ADB7BEB712969C938E9311971A
+:104A400083EF91E09383828382E390E03BC033E382
+:104A50003316D9F44DB75EB7405150400FB6F894B5
+:104A60005EBF0FBE4DBFEDB7FEB731968BE196E14D
+:104A7000ADB7BEB712969C938E9311978DE092E0DE
+:104A80009383828383E390E04AC034E3331651F585
+:104A90004DB75EB7405150400FB6F8945EBF0FBEA1
+:104AA0004DBFEDB7FEB731968BE196E1ADB7BEB71E
+:104AB00012969C938E93119787E292E09383828360
+:104AC00084E390E095838483A682B782C086D186F2
+:104AD00042865386648675868091EB158695869509
+:104AE00086952BC035E3331691F54DB75EB740512F
+:104AF00050400FB6F8945EBF0FBE4DBFEDB7FEB786
+:104B000031968BE196E1ADB7BEB712969C938E932A
+:104B1000119780E492E09383828385E390E095830C
+:104B20008483A682B782C086D186428653866486F5
+:104B300075868091EB1582958F70817086871786B8
+:104B40000E946E0F2DB73EB7205F3F4FB1C036E3D6
+:104B5000331659F54DB75EB74E5050400FB6F89426
+:104B60005EBF0FBE4DBFEDB7FEB731968BE196E14C
+:104B7000ADB7BEB712969C938E9311978AE592E0DB
+:104B80009383828386E390E095838483A682B782B1
+:104B9000C086D18642865386648675860E946E0FD3
+:104BA0002DB73EB7225F3F4F83C037E3331691F5F1
+:104BB0004DB75EB7425150400FB6F8945EBF0FBE7E
+:104BC0004DBFEDB7FEB731968BE196E1ADB7BEB7FD
+:104BD00012969C938E93119782E792E0938382833F
+:104BE00087E390E095838483A682B782C086D186CE
+:104BF00042865386648675868091EB1586958695E8
+:104C00008170868717868091EB1586958170808BE1
+:104C1000118A48C039E0331609F050C06091261A55
+:104C20007091271A8091281A9091291AF3E0EF2E9B
+:104C3000F12CEC0EFD1E44E022E087010E94ED0BFA
+:104C40004DB75EB7425150400FB6F8945EBF0FBEED
+:104C50004DBFEDB7FEB731968BE196E1ADB7BEB76C
+:104C600012969C938E9311978FE892E093838283A0
+:104C700089E090E095838483A682B782C086D1863E
+:104C80008091FB198287138680912E1A90912F1A9A
+:104C9000A091301AB091311A84879587A687B7877B
+:104CA000F18AE08A0E946E0F2DB73EB72E5E3F4F0D
+:104CB0000FB6F8943EBF0FBE2DBF51C030E1331682
+:104CC00009F04DC04DB75EB7445150400FB6F8944F
+:104CD0005EBF0FBE4DBFEDB7FEB731968BE196E1DB
+:104CE000ADB7BEB712969C938E9311978BEA92E064
+:104CF0009383828380E190E095838483A682B78248
+:104D0000C086D1868091FB19828713868091361ADE
+:104D10009091371AA091381AB091391A84879587E3
+:104D2000A687B78780914A1A90914B1AA0914C1A86
+:104D3000B0914D1AA6019501281B390B4A0B5B0B4C
+:104D4000208B318B428B538B0E946E0F4DB75EB719
+:104D50004C5E5F4F0FB6F8945EBF0FBE4DBF832D04
+:104D60008551823008F04BC06091261A7091271A45
+:104D70008091281A9091291AE3E0EE2EF12CEC0E86
+:104D8000FD1E44E022E087010E94ED0B8DB79EB727
+:104D900040970FB6F8949EBF0FBE8DBFEDB7FEB71C
+:104DA00031968BE196E1ADB7BEB712969C938E9388
+:104DB000119789EC92E09383828334821582A682D4
+:104DC000B782C086D1868091FB1982871386809135
+:104DD000131A9091141A73E0969587957A95E1F7D6
+:104DE00095878487F786E6860E946E0F2DB73EB7BB
+:104DF000205F3F4F0FB6F8943EBF0FBE2DBF832DEF
+:104E00008851823008F042C04DB75EB742515040E1
+:104E10000FB6F8945EBF0FBE4DBFEDB7FEB731962B
+:104E20008BE196E1ADB7BEB712969C938E93119726
+:104E300084EE92E09383828334821582A682B782C5
+:104E4000C086D1868091FB19828713868091121AC1
+:104E500090E0880F991F880F991F9587848780910C
+:104E60002E1A90912F1AA091301AB091311A86877C
+:104E70009787A08BB18B0E946E0F2DB73EB72E5E29
+:104E80003F4F0FB6F8943EBF0FBE2DBF832D81510B
+:104E9000823020F03AE0331609F047C04DB75EB7D4
+:104EA000425150400FB6F8945EBF0FBE4DBFEDB7F4
+:104EB000FEB731968BE196E1ADB7BEB712969C93E3
+:104EC0008E93119780E093E09383828334821582DE
+:104ED000A682B782C086D1868091361A9091371A01
+:104EE000A091381AB091391A82879387A487B58721
+:104EF00080914A1A90914B1AA0914C1AB0914D1A78
+:104F0000A6019501281B390B4A0B5B0B26873787B7
+:104F1000408B518B0E946E0F4DB75EB74E5E5F4F58
+:104F20000FB6F8945EBF0FBE4DBF53E1351631F595
+:104F30008DB79EB70A970FB6F8949EBF0FBE8DBF70
+:104F4000EDB7FEB731968BE196E1ADB7BEB71296DD
+:104F50009C938E9311978BE193E09383828383E1FB
+:104F600090E095838483A682B782C086D1860E9412
+:104F70006E0F2DB73EB7265F3F4FD7C034E13316D3
+:104F8000E9F54DB75EB7425150400FB6F8945EBF99
+:104F90000FBE4DBFEDB7FEB731968BE196E1ADB7D1
+:104FA000BEB712969C938E9311978EE293E09383F3
+:104FB000828384E190E095838483A682B782C08651
+:104FC000D1868091361A9091371AA091381AB091F3
+:104FD000391A82879387A487B58780914A1A90915E
+:104FE0004B1AA0914C1AB0914D1AA81AB90ACA0AC4
+:104FF000DB0AA686B786C08AD18A91C037E133160C
+:1050000009F04AC06091261A7091271A8091281AD7
+:105010009091291A53E0E52EF12CEC0EFD1E44E090
+:1050200022E087010E94ED0B4DB75EB74051504022
+:105030000FB6F8945EBF0FBE4DBFEDB7FEB7319609
+:105040008BE196E1ADB7BEB712969C938E93119704
+:1050500089E493E09383828387E190E0958384835E
+:10506000A682B782C086D1868091FB19828713867B
+:105070008091131A9091141A43E0969587954A955A
+:10508000E1F795878487F786E6860E946E0F2DB735
+:105090003EB7205F3F4F49C030E2331609F04AC0A7
+:1050A0006091261A7091271A8091281A9091291AD6
+:1050B00044E022E08E010D5F1F4F0E94ED0B4DB7C3
+:1050C0005EB7425150400FB6F8945EBF0FBE4DBF61
+:1050D000EDB7FEB731968BE196E1ADB7BEB712964C
+:1050E0009C938E93119786E693E09383828380E26C
+:1050F00090E095838483A682B782C086D186809112
+:10510000FB19828713868091F61984871586809112
+:10511000F419868717868091F319808B118A0E9473
+:105120006E0F2DB73EB72E5E3F4F0FB6F8943EBFC1
+:105130000FBE2DBF8FEB9EE16BE176E10E948BB03D
+:105140008091FD1E9091FE1E009711F481E09FE179
+:10515000BE016F5F7F4F681B790B8FEB9EE14AE0CA
+:1051600050E00E94B8AFCE010D966BE176E10E944F
+:10517000B99F80915F1090916010A0916110B091E3
+:1051800062100196A11DB11D80935F109093601075
+:10519000A0936110B0936210CE0141960E94759564
+:1051A000AA960FB6F894DEBF0FBECDBFCF91DF91A8
+:1051B0001F910F91FF90EF90DF90CF90BF90AF9035
+:1051C0009F908F907F906F905F904F903F90089549
+:1051D000EF92FF920F931F93CF93DF938C017B018C
+:1051E000C0E0D0E0D8010D900020E9F71197A01B96
+:1051F000B10BF701EC0FFD1FA00FB11F808190E0F4
+:10520000BD014AE050E00E940B0FC33029F0C801F5
+:1052100066E873E00E94670E2196C430D10511F74D
+:10522000DF91CF911F910F91FF90EF9008956F92B2
+:105230007F928F929F92AF92BF92CF92DF92EF9226
+:10524000FF920F931F93DF93CF93CDB7DEB7659790
+:105250000FB6F894DEBF0FBECDBF5C014B013A0123
+:105260006E010894C11CD11CC60168E873E00E945D
+:10527000A2B1BFE0EB2EF12CEC0EFD1EC701B60172
+:105280000E94D3B18E01085F1F4FC801B5010E9473
+:10529000A2B1C701B8010E946BB1BC018FEB9EE1C6
+:1052A0000E94D1B0C8010E94DEB1C7010E94E4B1E2
+:1052B000C6010E94DEB1C30169EA72E00E94330EAA
+:1052C0008BE196E1B5010E947D0EC3016BE176E1B1
+:1052D0000E94670EC30165EA72E00E94330EC401AA
+:1052E0006BE176E10E94F24CEE241FC00E2D10E01F
+:1052F000F801E55EF94E808190E06BE176E14AE0ED
+:1053000050E00E940B0FC3016BE176E10E94670E33
+:105310008091F61590E001970817190729F0C3014D
+:1053200063EA72E00E94330EE3948091F615E8166A
+:10533000E8F2C30160EA72E00E94330E65960FB690
+:10534000F894DEBF0FBECDBFCF91DF911F910F91BB
+:10535000FF90EF90DF90CF90BF90AF909F908F9095
+:105360007F906F9008953F924F925F926F927F92DD
+:105370008F929F92AF92BF92CF92DF92EF92FF9265
+:105380000F931F93DF93CF93CDB7DEB7CD5AD040A5
+:105390000FB6F894DEBF0FBECDBF382E6A017B0179
+:1053A0008FEB9EE160E973E00E94D7AF8091FD1E14
+:1053B0009091FE1E009711F481E09FE1BE016F5FA6
+:1053C0007F4F681B790B8FEB9EE14AE050E00E9413
+:1053D000B8AF9091EC15991F9927991F8091ED1501
+:1053E0008370880F892B21F014E0F12E0C943E324B
+:1053F000FE0133968DE0DF011D928A95E9F78FEB70
+:105400009EE16CE973E00E94D7AF8091FD1E909100
+:10541000FE1E009711F481E09FE1BE016F5F7F4F98
+:10542000681B790B8FEB9EE14AE050E00E94B8AF19
+:105430000E94C2A8609363107093641080936510FB
+:10544000909366108FE690E167E972E00E943E0E4D
+:10545000B2E03B16D9F0B31530F0332069F0E1E04B
+:105460003E1649F50EC0F4E03F16D1F03F1698F015
+:1054700085E0381601F519C08BE196E167EA73E023
+:1054800018C08BE196E16CEA73E013C08BE196E102
+:1054900061EB73E00EC08BE196E166EB73E009C04F
+:1054A0008BE196E16BEB73E004C08BE196E160EC7D
+:1054B00073E00E947D0E0BE116E18FE690E1B801EA
+:1054C0000E94670E00D000D000D0EDB7FEB7319635
+:1054D000ADB7BEB712961C930E93119785EC93E06F
+:1054E000938382838CE099E0958384830E946E0F7E
+:1054F000EDB7FEB736960FB6F894FEBF0FBEEDBF00
+:105500008FE690E1B8010E94670EEAE6FAE0DE015C
+:105510001396808182958F708A3010F4805D01C06F
+:10552000895C8C9380818F708A3010F4805D01C01B
+:10553000895C11968C931197319612968AE0E03728
+:10554000F80739F78FE690E1BE016D5F7F4F0E944B
+:10555000670E8FE690E164E972E00E94330E92E0FC
+:10556000391609F4A5C1931540F0332009F4D7C0CA
+:10557000A1E03A1609F0B7C6BCC3B3E03B1609F484
+:1055800021C3E5E03E1609F0AEC6C114D104E10422
+:10559000F10461F40E949D5220E831E541E050E0C1
+:1055A0000E9457B4C901DA016C017D018FE690E1D8
+:1055B00062E972E00E94330EC6016BE176E14AE0D7
+:1055C00050E00E940B0F8BE196E10E94DA211C8AC9
+:1055D0001E8A1B8A1A8A84E09AE0998B888B8FEB4B
+:1055E0009EE16BE176E10E948BB088E090E16BE197
+:1055F00076E10E94239F882359F41092571010924D
+:1056000058101092591010925A10B3E0FB2E6CC62D
+:105610008E010C5E1F4FC8016BE176E141E00E94F4
+:10562000719DBB24CC24DD247601ABE16A2EA6E17A
+:105630007A2EFFE68F2EF0E19F2EC8016BE176E116
+:105640004FEF50E020E030E00E948E9818161906C7
+:1056500074F0C8010E94759510925710109258105E
+:105660001092591010925A10E2E0FE2E51C0109282
+:1056700019170894C11CD11CE11CF11C8091571012
+:1056800090915810A0915910B0915A108C159D0509
+:10569000AE05BF0590F6BB2031F08FE690E160E9E2
+:1056A00072E00E94330ED4010D900020E9F7F3015F
+:1056B00001900020E9F73197EB51F641EA0FFB1F0B
+:1056C000ED56F041E95EF34038F0CE0144960E9479
+:1056D0007595FF24F3941CC08FE690E16BE176E1B1
+:1056E0000E94670E8091571090915810A091591008
+:1056F000B0915A100196A11DB11D8093571090933F
+:105700005810A0935910B0935A10BB24B39495CF5E
+:105710008FE690E16DE872E00E94330EE5C577EA0E
+:10572000872E74E0972EAA24BB24F501E75DF64F7F
+:105730008081DA2C94E1A91689F0A7E2AA1671F00B
+:10574000B3E1AB1659F0E6E2AE1641F0F1E1AF1667
+:1057500029F0E82EFF2400E010E007C00E945F8BD4
+:105760007C010027F7FC0095102F8EE1D81669F414
+:105770008091F5158C3A09F449C062E0EE0CFF1CEB
+:10578000001F111F6A95D1F70AC090E1D916F1F1F7
+:10579000AAE1DA1621F48091EC1581FD37C08091E1
+:1057A0002417813021F48D2D8B51823078F18BE1DB
+:1057B00096E1B40145E050E00E94EC8A8FE690E16A
+:1057C0006BE872E00E94330E8FE690E16BE176E1C8
+:1057D0000E94670E8FE690E168E872E00E94330E47
+:1057E000C7016BE176E14AE050E00E940B0F8FE6C3
+:1057F00090E16BE176E10E94670EBBE4DB1631F0CD
+:105800008FE690E166E872E00E94330E0894A11CD6
+:10581000B11CE5E0F0E08E0E9F1EFCE4AF16B10473
+:1058200009F083CF8FE690E16DE772E00E94330EBE
+:105830000E94975190934910809348106BE176E154
+:105840004AE050E00E940B0F8FE690E16BE176E1B9
+:105850000E94670E8FE690E164E772E00E94330ECB
+:1058600085E090E06BE176E14AE050E00E940B0FAA
+:105870008FE690E16BE176E10E94670E8FE690E1A2
+:105880006CE672E00E94330E8091F51590E06BE1BA
+:1058900076E14AE050E00E940B0F8FE690E16BE169
+:1058A00076E10E94670E8FE690E16AE672E019C524
+:1058B0008FE690E161E672E00E94330E8091351828
+:1058C00090E06BE176E14AE050E00E940B0F8FE63A
+:1058D00090E16BE176E10E94670E8FE690E165E56D
+:1058E00072E00E94330E8091F61590E06BE176E154
+:1058F0004AE050E00E940B0F8FE690E16BE176E109
+:105900000E94670E8FE690E16DE472E00E94330E14
+:1059100080E190E06BE176E14AE050E00E940B0FFD
+:105920008FE690E16BE176E10E94670E8FE690E1F1
+:1059300064E472E00E94330E84E090E06BE176E173
+:105940004AE050E00E940B0F8FE690E16BE176E1B8
+:105950000E94670E8FE690E169E372E00E94330EC9
+:1059600084E190E06BE176E14AE050E00E940B0FA9
+:105970008FE690E16BE176E10E94670E8FE690E1A1
+:1059800061E372E00E94330EFF245EE2C52ED12C4B
+:10599000CC0EDD1E42E3442E512C4C0E5D1E38E32E
+:1059A000632E712C6C0E7D1E5E010894A11CB11C2F
+:1059B0002AE9822E912C8C0E9D1EFAC08F2DB601E5
+:1059C0000E9419588EA582958370833039F489A975
+:1059D000823020F0CE01C0960E94B056D6011C91B4
+:1059E00011960C918FE690E16FE272E00E94330E07
+:1059F000812F90E06BE176E14AE050E00E940B0FCE
+:105A00008FE690E16BE176E10E94670E8FE690E110
+:105A10006DE272E00E94330E802F90E06BE176E140
+:105A20004AE050E00E940B0F8FE690E16BE176E1D7
+:105A30000E94670E8FE690E16BE272E00E94330EE7
+:105A400088A990E06BE176E14AE050E00E940B0FFC
+:105A50008FE690E16BE176E10E94670E8FE690E1C0
+:105A600069E272E00E94330E89A990E06BE176E171
+:105A70004AE050E00E940B0F8FE690E16BE176E187
+:105A80000E94670E8FE690E166E272E00E94330E9C
+:105A90008201F801819191918F016BE176E14AE0F9
+:105AA00050E00E940B0F8FE690E16BE176E10E94DF
+:105AB000670E8FE690E164E272E00E94330E0615F5
+:105AC000170539F788AD99AD6BE176E14AE050E012
+:105AD0000E940B0F8FE690E16BE176E10E94670E6A
+:105AE0008FE690E160E272E00E94330E10E019C090
+:105AF000EE0FFF1FEA0DFB1D85A596A56BE176E174
+:105B00004AE050E00E940B0F8FE690E16BE176E1F6
+:105B10000E94670E8FE690E16EE172E00E94330E04
+:105B20001F5F212F30E08091F71590E00197F90178
+:105B3000369628173907E4F2EE0FFF1FEA0DFB1D1A
+:105B400085A596A56BE176E14AE050E00E940B0F37
+:105B50008FE690E16BE176E10E94670E8FE690E1BF
+:105B60006AE172E00E94330E8BE196E1B40144E1F8
+:105B700050E00E94920E10922F168FE690E16BE19A
+:105B800076E10E94670E2F2D30E08091351890E06D
+:105B900001972817390729F08FE690E166E172E056
+:105BA00004C08FE690E163E172E00E94330EF3944B
+:105BB00080913518F81608F401CF8FE690E160E186
+:105BC00072E08FC38AE092E06CE87DE04FE650E13E
+:105BD0000E9417298EEF91E062E97DE04FE650E1E7
+:105BE0000E94172987EF91E068E97DE04FE650E1D8
+:105BF0000E9417298FEE91E06EE97DE04FE650E1BB
+:105C00000E94172987EE91E064EA7DE04FE650E1BB
+:105C10000E9417298FED91E060EB7DE04FE650E1A7
+:105C20000E94172987ED91E066EB7DE04FE650E199
+:105C30000E9417298FEC91E06AEA7DE04FE650E17F
+:105C40000E9417298FE690E164EC71E00E94330E08
+:105C5000FF2425C08F2DB8010E94FC4C8FE690E1F7
+:105C600062EC71E00E94330E8FE690E1B8010E9471
+:105C7000670E8FE690E160EC71E00E94330E2F2DED
+:105C800030E08091F71590E001972817390731F03F
+:105C90008FE690E16EEB71E00E94330EF3948091F9
+:105CA000F7150BE116E1F816A8F200D000D000D0ED
+:105CB000EDB7FEB73196ADB7BEB712961C930E93F3
+:105CC00011978AED93E09383828388E190E0958336
+:105CD00084830E946E0FEDB7FEB736960FB6F89428
+:105CE000FEBF0FBEEDBF8FE690E1B8010E94670EC8
+:105CF000FAC20E949D523B014C018FE690E166EB97
+:105D000071E00E94330EC401B3014BE156E12AE079
+:105D100030E00E94490F8FE690E16BE176E10E944E
+:105D2000670E8FE690E16DEA71E00E94330E80917C
+:105D3000F61590E06BE176E14AE050E00E940B0F2F
+:105D40008FE690E16BE176E10E94670E8FE690E1CD
+:105D500066EA71E00E94330E8091EB15817090E04D
+:105D60006BE176E14AE050E00E940B0F8FE690E194
+:105D70006BE176E10E94670E8FE690E16FE971E0DA
+:105D80000E94330E8091EB158695817090E06BE157
+:105D900076E14AE050E00E940B0F8FE690E16BE164
+:105DA00076E10E94670E8FE690E168E971E00E945B
+:105DB000330E8091EB1586958695817090E06BE1AE
+:105DC00076E14AE050E00E940B0F8FE690E16BE134
+:105DD00076E10E94670E8FE690E16FE871E00E9425
+:105DE000330E8091E3159091E4156BE176E14AE082
+:105DF00050E00E940B0F8FE690E16BE176E10E948C
+:105E0000670E8FE690E166E871E00E94330E8BE149
+:105E100096E164E678E040E350E02FE430E20E944F
+:105E2000D30E8FE690E16BE176E10E94670E8FE67C
+:105E300090E16AE771E00E94330E8BE196E164EF36
+:105E400078E048E150E02FE430E20E94D30E8FE684
+:105E500090E16BE176E10E94670E8FE690E16DE6DE
+:105E600071E00E94330E8091DF159091E0156BE197
+:105E700076E14AE050E00E940B0F8FE690E16BE183
+:105E800076E10E94670E8FE690E162E671E00E9483
+:105E9000330E8091E1159091E2156BE176E14AE0D5
+:105EA00050E00E940B0F8FE690E16BE176E10E94DB
+:105EB000670E8FE690E16AE571E00E94330E609113
+:105EC000E7157091E8158091E9159091EA154BE17D
+:105ED00056E12AE030E00E94490F8FE690E16BE145
+:105EE00076E10E94670E8FE690E162E571E00E9424
+:105EF000330E6091121670911316809114169091C2
+:105F000015164BE156E12AE030E00E94490F8FE67A
+:105F100090E16BE176E10E94670E8FE690E169E423
+:105F200071E00E94330E60911616709117168091E1
+:105F30001816909119164BE156E12AE030E00E94C4
+:105F4000490F8FE690E16BE176E10E94670E8FE6E4
+:105F500090E16FE371E00E94330E8091E71990E0C9
+:105F60006BE176E14AE050E00E940B0F8FE690E192
+:105F70006BE176E10E94670E8FE690E16DE371E0E0
+:105F80000E94330E8091E81990E06BE176E14AE0DF
+:105F900050E00E940B0F8FE690E16BE176E10E94EA
+:105FA000670E8FE690E16BE371E00E94330E809103
+:105FB000E9199091EA196BE176E14AE050E00E941C
+:105FC0000B0F8FE690E16BE176E10E94670E8FE6A2
+:105FD00090E169E371E00E94330E6091EB197091DA
+:105FE000EC198091ED199091EE194BE156E12AE000
+:105FF00030E00E94490F8FE690E16BE176E10E946C
+:10600000670E8FE690E166E371E00E94330E8091A7
+:10601000EB1586FF1CC08FE690E16EE271E00E94F6
+:10602000330E80912E1A90912F1A6BE176E14AE09F
+:1060300050E00E940B0F8FE690E16BE176E10E9449
+:10604000670E8FE690E16CE271E00E94330E809162
+:106050005B098130B1F58FE690E163E271E00E9467
+:10606000330E8091321A9091331A6BE176E14AE057
+:1060700050E00E940B0F8FE690E16BE176E10E9409
+:10608000670E8FE690E161E271E00E94330E8FE6C9
+:1060900090E167E171E00E94330E8FE090E06BE1E8
+:1060A00076E14AE050E00E940B0F8FE690E16BE151
+:1060B00076E10E94670E8FE690E165E171E00E9453
+:1060C000330E8FE690E16BE071E00E94330E10E03A
+:1060D00019C0E12FF0E0E850FA4E808190E06BE1CA
+:1060E00076E14AE050E00E940B0F8FE690E16BE111
+:1060F00076E10E94670E8FE690E169E071E00E9410
+:10610000330E1F5F8091F615181718F38FE690E194
+:106110006FEF70E00E94330EAA249EC04A2C5524D3
+:10612000F201E954F64EB080CB2CDD2403E0CC0C18
+:10613000DD1C0A95E1F787E398E1C80ED91E9FEFB1
+:10614000B91631F1D6012D913D914D915C91139786
+:1061500014968D919C911597621673068406950688
+:10616000A8F07C0100E010E0E20EF31E041F151FF2
+:10617000E618F70808091909B0E0EB16B0E0FB06CD
+:10618000B1E00B07B0E01B0718F405C07C0103C0A9
+:10619000EE24FF2487018FE690E16DEF70E00E940E
+:1061A000330EEFEFBE1619F480E090E004C0D60184
+:1061B00017968C9190E06BE176E14AE050E00E9406
+:1061C0000B0F8FE690E16BE176E10E94670E8FE6A0
+:1061D00090E16BEF70E00E94330EC7016BE176E156
+:1061E0004AE050E00E940B0F8FE690E16BE176E110
+:1061F0000E94670E8FE690E169EF70E00E94330E17
+:10620000BFEFBB1619F480E090E003C0F601808177
+:1062100091816BE176E14AE050E00E940B0F8FE63E
+:1062200090E16BE176E10E94670E8FE690E167EF07
+:1062300070E00E94330E8091F71590E001974816A8
+:1062400059061CF063EF70E002C065EF70E08FE666
+:1062500090E10E94330EA3948091F715A81608F4DC
+:106260005DCF89E894E06BE176E14FEF50E020E00C
+:1062700030E00E949F8B882391F08FE690E16AEED8
+:1062800070E00E94330E8FE690E16BE176E10E94B0
+:10629000670E8FE690E168EE70E00E94330E8DE9A4
+:1062A00094E06BE176E14FEF50E020E030E00E94B7
+:1062B0009F8B882391F08FE690E16DED70E00E9456
+:1062C000330E8FE690E16BE176E10E94670E8FE678
+:1062D00090E16BED70E00E94330E8FE690E169ED86
+:1062E00070E00E94330EFF248FEB9EE1632D4AE0A5
+:1062F00050E00E9435AF8FEB9EE169EE73E00E94A3
+:106300008BB08FEB9EE169EF73E00E94D7AFEFE6B1
+:10631000F0E101900020E9F73197EF56F0418FEB63
+:106320009EE1BF014AE050E00E9407AF8FEB9EE183
+:106330006FE074E00E94D7AF8FEB9EE16F2D4AE0D3
+:1063400050E00E9435AF8FEB9EE160E274E00E9466
+:10635000D7AF4091571050915810609159107091DB
+:106360005A108FEB9EE12AE030E00E94F3AE61E02C
+:1063700070E080E090E00E94D0A8C0900909D09021
+:106380000A0980E590E090930A09809309098091B9
+:10639000CF099091D00961E00E944017882371F4E1
+:1063A00086E38093880A8CEA8093890A84EF80933D
+:1063B0008A0A84E780938B0A14E0F12E8FEB9EE12A
+:1063C00065E374E00E94D7AF0E94C2A8AB01BC0194
+:1063D0008091631090916410A0916510B091661047
+:1063E000481B590B6A0B7B0B8FEB9EE12AE030E0D8
+:1063F0000E94F3AE0E94C2A8609363107093641071
+:106400008093651090936610F2E0FF1560F084EDC4
+:1064100090E064EC70E04FEA50E02FE630E109EFE5
+:106420001FE40E94FD7F00E010E00E94C91A0E9454
+:1064300051830F5F1F4F0A3F1105B9F7D0920A0928
+:10644000C09209098FEB9EE168E474E00E94D7AF27
+:106450000E94C2A8AB01BC018091631090916410AE
+:10646000A0916510B0916610481B590B6A0B7B0B0D
+:106470008FEB9EE12AE030E00E94F3AE8F2DC355F2
+:10648000DF4F0FB6F894DEBF0FBECDBFCF91DF91C7
+:106490001F910F91FF90EF90DF90CF90BF90AF9042
+:1064A0009F908F907F906F905F904F903F90089556
+:1064B0002F923F924F925F927F928F929F92AF92D4
+:1064C000BF92CF92DF92EF92FF920F931F93DF93D1
+:1064D000CF93CDB7DEB7C658D0400FB6F894DEBF25
+:1064E0000FBECDBF782E5A016B0118012901909182
+:1064F000EC15991F9927991F8091ED158370880FCE
+:10650000892B09F042C2272D30E080915A0990E092
+:1065100028233923232B09F438C2109256158DE90C
+:1065200094E066E575E14FEF50E020E030E00E9436
+:106530009F8B1092D51580915615882309F425C29A
+:106540002091090930910A09CB57DF4F39832883FD
+:10655000C558D04080E590E090930A0980930909DE
+:1065600037E5832E34E1932EC40164EF73E00E947B
+:106570003E0E34E0731609F4EFC0371548F081E0A1
+:10658000781609F480C092E0791609F0B6C1C5C04A
+:10659000E0E17E1609F48EC1F0E27F1629F028E0D2
+:1065A000721609F0AAC13AC1C4016BEE73E00E94F1
+:1065B000330EF40101900020E9F73197E755F441DB
+:1065C000E95AFB4E8A2DBF010E94FC4CC40166EDC6
+:1065D00073E00E94330EC201B1010E94BBB27B0185
+:1065E0008C01F40101900020E9F73197E755F4415F
+:1065F000CB016CE370E00E9444B4CB01E95AFB4E3E
+:10660000BF014AE050E00E940B0FC4016CEC73E044
+:106610000E94330EF40101900020E9F73197E7550D
+:10662000F441C7016CE370E00E9444B4E95AFB4EA8
+:10663000BF014AE050E00E940B0FC40162EC73E01E
+:106640000E94330E80915B09813009F056C1C4016C
+:1066500065EB73E00E94330EF40101900020E9F72E
+:106660003197E755F4416091261A7091271A80916D
+:10667000281A9091291AE95AFB4E45E022E08F0131
+:106680000E94ED0B3AC1EF2821F0C40161EA73E0EA
+:1066900003C0C40168E873E00E94330E87E594E10B
+:1066A0006FE773E00E94330E8A2DBE016B5F7F4F50
+:1066B0000E9419588091351890E0A0E0B0E0A8162B
+:1066C000B906CA06DB0638F487E594E1BE016F58C7
+:1066D0007F4F0E94670E07E514E1C80168E773E089
+:1066E0000E94330EF80101900020E9F77F01089421
+:1066F000E108F108E01AF10AC201B1010E94BBB23F
+:10670000DC01CB01E00EF11EB7014AE050E00E942F
+:106710000B0FC80169E673E01CC0F2E0AF16B104CC
+:10672000C104D10419F060E573E002C06DE573E0C7
+:1067300087E594E10E94330EC201B1010E94BBB211
+:10674000672B19F468E373E002C065E473E087E542
+:1067500094E10E94330ED1C0C4016BE273E00E9449
+:10676000330EF40101900020E9F73197E755F44129
+:10677000E95AFB4EC501BF014AE050E00E940B0FF1
+:10678000C40160E273E00E94330E6091530970E02F
+:1067900080E090E0982F872F762F6627209152096E
+:1067A000620F711D811D911DA60195010E9405B406
+:1067B0006B017C01F40101900020E9F78F01015089
+:1067C00010400755144124E630E040E050E00E94BC
+:1067D00057B4DA01C901095A1B4EB8014AE050E02A
+:1067E0000E940B0FC40166E873E00E94670EF4017B
+:1067F00001900020E9F78F01015010400755144126
+:10680000C701B60124E630E040E050E00E9457B4F2
+:10681000DC01CB01095A1B4EB8016BC0A114B104B5
+:10682000C104D104D1F0C4016AE073E00E94330EC8
+:106830008D2D9927AA27BB278983C601AA27BB27A5
+:106840008A83BB27AD2D9C2D8B2D8B83AC82C401FD
+:10685000BE016F5F7F4F0E94E828C201B10120E0B6
+:1068600030E040E050E00E949EB388230CF445C025
+:1068700007E514E1C80164EF72E00E94330EF801ED
+:1068800001900020E9F77F010894E108F108E01A7F
+:10689000F10AC201B1010E94BBB2DC01CB01E00EE2
+:1068A000F11EB7014AE050E00E940B0FC80161EFF2
+:1068B00072E04FCFC4016BED72E00E94330EC40151
+:1068C00060E77AE00E94E828C40167E574E00E946E
+:1068D000670EF40101900020E9F73197E755F44184
+:1068E000E95AFB4ECB57DF4F88819981C558D0407C
+:1068F000BF014AE050E00E940B0F87E594E168ED8C
+:1069000072E00E94330E8FEB9EE169E574E00E9415
+:10691000D7AF8FEB9EE167E574E10E948BB0809169
+:10692000D1099091D20961E00E944017882361F457
+:1069300086E38093880A8CEA8093890A84EF8093A7
+:106940008A0A84E780938B0A8BEB92E06BEA72E011
+:1069500046E555E127E534E109EF1FE40E9439805F
+:1069600000E010E00E94C91A0E9451830F5F1F4F80
+:1069700004361105B9F7CB57DF4F28813981C55847
+:10698000D04030930A0920930909CA57DF4F0FB648
+:10699000F894DEBF0FBECDBFCF91DF911F910F9155
+:1069A000FF90EF90DF90CF90BF90AF909F908F902F
+:1069B0007F905F904F903F902F9008952F923F923D
+:1069C0004F925F926F927F928F929F92AF92BF92FF
+:1069D000CF92DF92EF92FF920F931F93DF93CF93AB
+:1069E00000D000D0CDB7DEB72B013C014B015C01DC
+:1069F0000894811C911CA11CB11C80913A090E9431
+:106A00005F8B2091EF193091F0194091F11950915D
+:106A1000F219421653066406750618F075016401F2
+:106A200009C06C01EE24D7FCE094FE2CC20ED31EEC
+:106A3000E41EF51E0091540957E3252E58E1352E2A
+:106A40009C01442737FD4095542F29833A834B837B
+:106A50005C834FC0F10180819181A281B381009755
+:106A6000A105B10509F041C084819581892BE9F127
+:106A70001681812F86958695869590E08C55924F4C
+:106A80000E94B94590E0177002C0959587951A95B8
+:106A9000E2F780FF3DC00023D9F5F101C082D18229
+:106AA000E282F38284819581A0E0B0E029813A817D
+:106AB0004B815C81820F931FA41FB51FC80ED91E86
+:106AC000EA1EFB1E8091EB1585FD0FC0806280934E
+:106AD000EB1580915B09813041F440920916509288
+:106AE0000A1660920B1670920C1648E050E0240EC5
+:106AF000351E8091361890E043E0880F991F4A9523
+:106B0000E1F7895C974E2816390608F4A3CF0BC02D
+:106B1000F10180829182A282B3820894811C911C2F
+:106B2000A11CB11CCFCF0F900F900F900F90CF9161
+:106B3000DF911F910F91FF90EF90DF90CF90BF906A
+:106B4000AF909F908F907F906F905F904F903F900D
+:106B50002F9008950E948C510E9403520E94625906
+:106B600008955F926F927F928F929F92AF92BF92A1
+:106B7000CF92DF92EF92FF920F931F93DF93CF9309
+:106B8000CDB7DEB7C058D0400FB6F894DEBF0FBE09
+:106B9000CDBFA82E862E0E94AA358A2D81508E3F09
+:106BA00030F5BE016F5F7F4F0E941958882029F48D
+:106BB00000E010E028EC32E40BC06091400970E086
+:106BC000882777FD8095982F0E94EEB28B019C015B
+:106BD0004A2D50E041505040662757FD6095762F72
+:106BE00081E0BEE6EB2EB4E0FB2E0E9458329924E1
+:106BF000BB24AEEF5A2E3E010894611C711C7BC071
+:106C0000CB2CDD24A6014F5F5F4F2091ED1522951F
+:106C10002F703091EE15832F8295807F822B90E02C
+:106C20008417950709F466C032953F708091EF157F
+:106C30008295807F832B90E08417950709F45AC0D2
+:106C40008FEFA81631F4F2E0EF2EF12C012D112D6B
+:106C500014C0AA2031F4ECE3EE2EF12C012D112DFD
+:106C60000CC0F6013696EE0FFF1FE60DF71D808172
+:106C700091810E941D8B7B018C01882099F02091CD
+:106C8000400930E040E050E0C801B7010E9405B47F
+:106C900024E630E040E050E00E9457B4C901DA0138
+:106CA0007C018D01E114F1040105110519F163E086
+:106CB000D694C7946A95E1F7C6018256924F0E9416
+:106CC000B94590E02B2D277002C0959587952A95A0
+:106CD000E2F780FD0FC00E94F055FC01009751F0D3
+:106CE0001082118212821382F582E482B682578268
+:106CF00099249394B3948091F715B81608F480CF33
+:106D0000992021F00E949D520E94DE34C058DF4F2E
+:106D10000FB6F894DEBF0FBECDBFCF91DF911F91AC
+:106D20000F91FF90EF90DF90CF90BF90AF909F902A
+:106D30008F907F906F905F900895BF92CF92DF9277
+:106D4000EF92FF920F931F93CF93DF93C82E7A0198
+:106D50008B0160E00E945051CC2DD0E0FE01E9543F
+:106D6000F64EB08080913618B81608F066C0EB2D4C
+:106D7000F0E083E0EE0FFF1F8A95E1F7E95CF74E44
+:106D800040815181628173814E155F0560077107F3
+:106D900008F04CC0DE0111962091ED1522952F7060
+:106DA0003091EE15832F8295807F822B90E08A1799
+:106DB0009B07E1F132953F708091EF158295807FBE
+:106DC000832B90E08A179B0789F1C092E71987818E
+:106DD0008093E819C701841B950B9093EA1980935F
+:106DE000E919E092EB19F092EC190093ED19109368
+:106DF000EE1980E0B801A70100E010E020E030E0EB
+:106E00000E943922DD24EE24FF246091E91970915B
+:106E1000EA1980E090E00E94ECB28B019C0180E2D4
+:106E2000B701A601EE24FF240E9458328B2D0E9448
+:106E3000D658C954D64E8FEF8883DF91CF911F91DA
+:106E40000F91FF90EF90DF90CF90BF9008952F9219
+:106E50003F924F925F926F927F928F929F92AF92EA
+:106E6000BF92CF92DF92EF92FF920F931F93DF9327
+:106E7000CF93CDB7DEB72A970FB6F894DEBF0FBE1B
+:106E8000CDBF4B015C018091EB15282F21702C8325
+:106E900081FD09C082FD02C0772407C0772480915C
+:106EA0003E09823011F4772473948091EB1583FDB1
+:106EB0000AC08091F01583FD06C08091610981119F
+:106EC00081E08A8301C01A828091EB1584FD0AC09B
+:106ED0008091F01584FD06C080916309811181E0E5
+:106EE000898301C0198280916A09882311F466247C
+:106EF00005C080915B09811181E0682ECC24F7C028
+:106F00000C2D10E0C8018E56924F0E94B945D82E24
+:106F1000C8018055924F0E94B945E82EC8018A5495
+:106F2000924F0E94B945F82EC8018E53924F0E948D
+:106F3000B9453C2D330F330F330F3B831A86198627
+:106F4000ED2DF0E0FE83ED832F2D30E038872F8389
+:106F50002E2C3324482E5524FB803985F30EEF2D3B
+:106F6000F0E0AF014F5F5F4F2091ED1522952F703C
+:106F70003091EE15832F8295807F822B90E08417CD
+:106F8000950709F4ABC032953F708091EF1582955B
+:106F9000807F832B90E08417950709F49FC0E95404
+:106FA000F64EE081EF3F09F499C0F0E093E0EE0F78
+:106FB000FF1F9A95E1F7E95CF74E8781833608F069
+:106FC0008DC08C81882389F1662049F0C201098433
+:106FD00002C0959587950A94E2F780FD26C09A81B4
+:106FE000992349F0C101098402C0959587950A94B7
+:106FF000E2F780FD1AC0E981EE2351F08F81988578
+:10700000098402C0959587950A94E2F780FD0DC02A
+:10701000772009F463C08D819E81098402C0959513
+:1070200087950A94E2F780FD59C08F2DB501A40120
+:107030000E949D36662091F0C201098402C0959598
+:1070400087950A94E2F780FF09C00F2D10E020E039
+:1070500030E086E3B501A4010E943922FA81FF23C2
+:1070600091F0C101098402C0959587950A94E2F7D1
+:1070700080FF09C00F2D10E020E030E084E3B5016F
+:10708000A4010E9439222981222399F08F819885B9
+:10709000098402C0959587950A94E2F780FF09C09C
+:1070A0000F2D10E020E030E085E3B501A4010E943F
+:1070B0003922772099F08D819E81098402C09595AF
+:1070C00087950A94E2F780FD09C00F2D10E020E0BB
+:1070D00030E087E3B501A4010E94392289859A85B1
+:1070E00001969A878987089709F036CFC3948091D3
+:1070F000F615C81608F404CF2A960FB6F894DEBF2A
+:107100000FBECDBFCF91DF911F910F91FF90EF90F8
+:10711000DF90CF90BF90AF909F908F907F906F90B7
+:107120005F904F903F902F9008959091EC15991F8C
+:107130009927991F8091ED158370880F892B09F08D
+:107140004BC080915409882309F046C00E949D528B
+:107150002091161630911716409118165091191655
+:107160002115310541055105B9F02F553E4A4E4FC5
+:107170005F4F261737074807590770F41092161605
+:107180001092171610921816109219168091EC157D
+:1071900081608093EC15089520911216309113169A
+:1071A00040911416509115162115310541055105D0
+:1071B00049F02F5E314F4F4F5F4F26173707480773
+:1071C000590750F460931216709313168093141697
+:1071D000909315160E947B8C08952F923F924F92A8
+:1071E0005F926F927F928F929F92AF92BF92CF9257
+:1071F000DF92EF92FF920F931F93DF93CF93CDB760
+:10720000DEB7A6970FB6F894DEBF0FBECDBF7B01E9
+:107210008C010E949D5220E831E541E050E00E943F
+:1072200057B459016A01D601C5018E199F09A00BF7
+:10723000B10B8BA39CA3ADA3BEA31C01442437FCBC
+:107240004094542C66247724430125E0E22EF12C4F
+:10725000EC0EFD1EA0C06BE176E14AE050E00E941A
+:107260000B0F8FEB9EE16BE176E10E948BB08BE11F
+:1072700096E10E94DA218FEB9EE16FE674E00E94B6
+:10728000D7AF8FEB9EE16BE176E10E948BB088E097
+:1072900090E16BE176E10E94239F882309F471C09D
+:1072A0001D821F821C821B82A4E0BAE0BA83A983DC
+:1072B000C7016BE176E141E00E94719D8F89988D55
+:1072C000A98DBA8D8F8F98A3A9A3BAA3C7016BE12B
+:1072D00076E14FEF50E020E030E00E948E988C0184
+:1072E0008FEB9EE16BE176E10E94D7AF8FEB9EE1E1
+:1072F0006DE774E00E94D7AF8091571090915810BD
+:10730000A0915910B0915A100196A11DB11D809302
+:10731000571090935810A0935910B0935A1010160C
+:107320001106A4F2C7010E9475958FEB9EE16FE7ED
+:1073300074E00E94D7AF409157105091581060915F
+:10734000591070915A108FEB9EE12AE030E00E94B4
+:10735000E4AE8FEB9EE16BE974E00E94D7AF8FEB58
+:107360009EE14F8D58A169A17AA12AE030E00E94E8
+:10737000F3AE1092571010925810109259101092AC
+:107380005A100894211C311C411C511C0894611C8A
+:10739000711C811C911C8BA19CA1860D971DA214B0
+:1073A000B304C404D50408F056CFA6960FB6F894DB
+:1073B000DEBF0FBECDBFCF91DF911F910F91FF9028
+:1073C000EF90DF90CF90BF90AF909F908F907F9085
+:1073D0006F905F904F903F902F900895CF93DF93E1
+:1073E00084B7877F84BF8FEB9EE140E855E260E081
+:1073F00070E00E9413AC8FEB9EE16FE974E00E9495
+:107400008BB00E9456530E940C4D0E94A86580913B
+:107410005B09882339F081E064EF7CE542E050E0CD
+:107420000E94B5A70E9475596CE370E080E090E07F
+:107430000E94E08987EB99E10E94898A0E949D520F
+:107440000E94D7528091600088618093600081E241
+:1074500080936000809160008064809360000E944F
+:107460005555882359F09091ED158091EC158F7743
+:107470008093EC15987F9093ED1505C08091ED15E4
+:1074800084608093ED158091EC15877F84608093F4
+:10749000EC15C0E0D0E068EC70E080E090E00E9485
+:1074A000D0A80E9419218091EC1588608093EC157A
+:1074B0008FEB9EE16DEA74E00E94D7AF6091ED150D
+:1074C0006695669561708FEB9EE14AE050E00E9400
+:1074D00035AF8FEB9EE16BE974E00E94D7AF8091EE
+:1074E000EC15881F8827881F6091ED156370660F63
+:1074F000682B8FEB9EE14AE050E00E9435AF8FEBA6
+:107500009EE16BE974E00E94D7AF6091ED1566953E
+:107510006695669561708FEB9EE14AE050E00E94AF
+:1075200047AF8091ED1583FF05C02196CC30D10582
+:1075300009F0B1CF9091ED1593FF08C08091EC1543
+:1075400080688093EC1593609093ED150E94035230
+:107550008FE0809311160E94C15280934A1060E020
+:1075600070E080E090E00E94ED38DF91CF910895C7
+:10757000FF920F931F93DF93CF93CDB7DEB7C05821
+:10758000D0400FB6F894DEBF0FBECDBF809111166C
+:10759000882321F40E94EE4510926E1082E00E9432
+:1075A0006D46F82E082F10E086FF25C18FE08093EE
+:1075B000111681E00E94EE4580916E10833020F418
+:1075C000813008F0D4C004C0833009F014C1C2C0B7
+:1075D000C8018F7090708230910509F45BC08430CF
+:1075E000910509F495C0019709F005C1F7FE31C076
+:1075F0008DE10E94CEAA892B29F48FEF60E00E94D2
+:10760000B135F9C08EE10E94CEAA892B69F0809134
+:10761000361890E033E0880F991F3A95E1F7895CBE
+:10762000974EE7E3F8E111C08CE79AE060E00E9432
+:10763000BB4A8BE197E160E041E00E94EF1E82E8E7
+:1076400094E022C0158214823896E817F907D0F327
+:10765000D2C080E79AE060E00E94BB4A8BE197E1EC
+:1076600060E041E00E94EF1E80E894E00E949947AC
+:107670006091090970910A098BE197E14AE050E0B5
+:107680000E9407AF88E794E00E94994781E08093C9
+:107690006E10B1C0F7FE32C08FE10E94CEAA892BD6
+:1076A00071F487EE95E161E00E94BB4A8BE197E1BE
+:1076B00060E041E00E94EF1E82E794E0E5CF8DE1BB
+:1076C0000E94CEAA892BB9F48BE197E10E94301F6A
+:1076D00060911616709117168091181690911916D0
+:1076E0000E94D7528BE197E160E041E00E94EF1EDB
+:1076F0008BE694E0C9CF0E9428457DC08BE197E1DD
+:107700000E94301F8AE69AE00E94A94782E0BFCF1C
+:10771000F7FE0CC08CE594E060E00E94EB478BE440
+:1077200094E061E00E94EB4783E0B1CF2091EC153B
+:10773000822F8295877090E06091F615019670E037
+:107740000E9444B487708295807F2F78282B2093E5
+:10775000EC1551C00F7010700430110509F04BC0CA
+:10776000F7FE08C08091DE1560E00E94B1351092EE
+:107770006E1041C08091DE1590E06091351870E088
+:107780006F5F7F4F01960E9444B48093DE158AE3B9
+:1077900094E060E00E94EB478091DE15882331F190
+:1077A0008150BE016F5F7F4F0E94195888E394E0BB
+:1077B00061E00E94EB478BE197E160E041E00E94CD
+:1077C000EF1E6091DE158BE197E170E04AE050E03A
+:1077D0000E94A5AF85E394E00E9499478BE197E171
+:1077E000BE0163597F4F0E94D7AF05C085E294E088
+:1077F00061E00E94EB47C058DF4F0FB6F894DEBF40
+:107800000FBECDBFCF91DF911F910F91FF900895D3
+:107810002F923F924F925F926F927F928F929F92A0
+:10782000AF92BF92CF92DF92EF92FF920F931F938E
+:10783000DF93CF93CDB7DEB7CA58D0400FB6F894D8
+:10784000DEBF0FBECDBF90913B09292F2295207F2F
+:107850008091ED158F70822B8093ED1520914E094C
+:10786000822F8295807F92959F70982B9093EE1532
+:1078700022952F708091EF15807F822B8093EF15DA
+:107880000E949D524B015C010E94C2A8209167108A
+:10789000309168104091691050916A1028533F4F01
+:1078A0004F4F5F4F2617370748075907E0F48FEB14
+:1078B0009EE166EE74E00E94D7AF0E94C2A8AB01C1
+:1078C000BC018091671090916810A0916910B091EF
+:1078D0006A10481B590B6A0B7B0B8FEB9EE12AE069
+:1078E00030E00E94F3AE0E94C2A8609367107093CC
+:1078F00068108093691090936A100E94C91A0E94C0
+:107900005183009721F08057954F0E941575A895D7
+:1079100010926D100E94B83A0E94C2A82091671080
+:10792000309168104091691050916A102C5E3F4F61
+:107930004F4F5F4F2617370748075907E0F48FEB83
+:107940009EE166EF74E00E94D7AF0E94C2A8AB012F
+:10795000BC018091671090916810A0916910B0915E
+:107960006A10481B590B6A0B7B0B8FEB9EE12AE0D8
+:1079700030E00E94F3AE0E94C2A86093671070933B
+:1079800068108093691090936A108091DA15909135
+:10799000DB15A091DC15B091DD1588159905AA05B8
+:1079A000BB0511F40C94F9448092DA159092DB1522
+:1079B000A092DC15B092DD1580911116882319F084
+:1079C00081508093111681149104A104B10409F42B
+:1079D0004EC0C501B40128E730E040E050E00E940D
+:1079E00057B4611571058105910509F040C080917A
+:1079F000EC1588608093EC150E9419218FEB9EE1B5
+:107A00006DEA74E00E94D7AF6091ED1566956695BA
+:107A100061708FEB9EE14AE050E00E9435AF8FEB42
+:107A20009EE16BE974E00E94D7AF8091EC15881F4E
+:107A30008827881F6091ED156370660F682B8FEBA8
+:107A40009EE14AE050E00E9435AF8FEB9EE16BE98A
+:107A500074E00E94D7AF6091ED15669566956695C6
+:107A600061708FEB9EE14AE050E00E9447AFC50194
+:107A7000B40123E831E541E050E00E9457B46115BC
+:107A800071058105910529F48091EC15846080933E
+:107A9000EC150E94BE2081149104A104B10431F1BF
+:107AA0008091501090915110A0915210B0915310AC
+:107AB000A5019401281B390B4A0B5B0B8091190916
+:107AC00090911A09A0911B09B0911C092817390738
+:107AD0004A075B0758F081E0809354108092501061
+:107AE00090925110A0925210B09253108091541065
+:107AF000882309F42EC180911D0990911E09A0913F
+:107B00001F09B091200920915010309151104091DF
+:107B1000521050915310820F931FA41FB51F881548
+:107B20009905AA05BB0539F483E040E050E060E028
+:107B300070E00E94B32980911D0990911E09A091C7
+:107B40001F09B0912009880F991FAA1FBB1F209100
+:107B50005010309151104091521050915310820F9B
+:107B6000931FA41FB51F88159905AA05BB0539F4F5
+:107B700081E040E050E060E070E00E94B329809135
+:107B80001D0990911E09A0911F09B09120099C0127
+:107B9000AD01220F331F441F551F280F391F4A1FE5
+:107BA0005B1F8091501090915110A0915210B09194
+:107BB0005310280F391F4A1F5B1F281539054A0526
+:107BC0005B0539F480E040E050E060E070E00E9446
+:107BD000B32980911D0990911E09A0911F09B091B0
+:107BE000200972E0880F991FAA1FBB1F7A95D1F751
+:107BF00020915010309151104091521050915310DB
+:107C0000820F931FA41FB51F88159905AA05BB05F0
+:107C100039F482E040E050E060E070E00E94B32977
+:107C200080911D0990911E09A0911F09B091200912
+:107C30009C01AD0162E0220F331F441F551F6A955E
+:107C4000D1F7280F391F4A1F5B1F80915010909168
+:107C50005110A0915210B0915310280F391F4A1F94
+:107C60005B1F281539054A055B0509F072C0809134
+:107C70006909882301F1809155108823E1F40E945D
+:107C80009D5220E831E541E050E00E9457B4C9011F
+:107C900030935C1020935B1020916909821B91093D
+:107CA00090935E1080935D1081E080935510109248
+:107CB00069090E94F54A80915510882351F485E0A6
+:107CC00040E050E060E070E00E94B32980935610DD
+:107CD0003EC040915D1050915E1060E070E085E024
+:107CE0000E94B329809356108250823090F4809184
+:107CF0005D1090915E10019690935E1080935D10E0
+:107D000020915B1030915C108217930711F4109250
+:107D100055108FEB9EE168E075E00E94D7AF8FEBC6
+:107D20009EE1609156104AE050E00E9435AF8FEB23
+:107D30009EE166E275E00E94D7AF60915D107091A0
+:107D40005E108FEB9EE14AE050E00E9418AF109267
+:107D500054108091EB1581FF10C08091E315909134
+:107D6000E415A091E515B091E61588169906AA06C6
+:107D7000BB0690F00E947E4C0FC08091E31590915D
+:107D8000E415A091E515B091E61588169906AA06A6
+:107D9000BB0610F40E948E4C9091EB159695917055
+:107DA0008091F01586958170891709F445C0992353
+:107DB000D9F080920D1690920E16A0920F16B092E6
+:107DC000101686E0B501A40100E010E020E030E0EC
+:107DD0000E94392282E042E050E060E070E000E082
+:107DE00010E020E83FE31BC082E0B501A40100E001
+:107DF00010E020E030E00E94392286E0B501A401C5
+:107E000000E010E020E030E00E94392282E042E011
+:107E100050E060E070E000E010E020E030E0EE24B0
+:107E2000FF240E9458329091EB1592708091F015CA
+:107E30008D7F892B8093F015C501B4010E94B64651
+:107E4000882351F00E94AA3580913518882321F0AB
+:107E500081E060E00E94B135C501B4012CE330E05F
+:107E600040E050E00E9457B479018A018091D61514
+:107E70009091D715A091D815B091D915E816F906AB
+:107E80000A071B0709F410C1E092D615F092D71526
+:107E90000093D8151093D91510914A100E94C15221
+:107EA000181709F180914B10882379F481E08093B1
+:107EB000690910925F101092601010926110109278
+:107EC00062101092251A80934B108091EB1585FD5E
+:107ED0000AC0C501B4010E94235C0E94C152809374
+:107EE0004A1010924B10772455241E010894211C2F
+:107EF000311CCFC0872DB1010E941958C101B501B5
+:107F0000A4010E946D57882309F4C2C08A8180FFB2
+:107F10000AC08091EB1583FD06C0072D10E020E01C
+:107F200030E082E30CC08A8181FF8CC08091EB1528
+:107F300084FD88C0072D10E020E030E083E3B50128
+:107F4000A4010E943922A4C0462D50E0BA016F5FFF
+:107F50007F4F2091ED1522952F703091EE15832FD4
+:107F60008295807F822B90E08617970709F468C07E
+:107F700032953F708091EF158295807F832B90E042
+:107F80008617970709F45CC08A010A5F1F4F000F2C
+:107F9000111F020D131DD8018D919C91892B09F49D
+:107FA0004FC093E0569547959A95E1F7CA018256DE
+:107FB000924F0E94B94590E0262D277002C09595FA
+:107FC00087952A95E2F780FD3BC0F8018081918179
+:107FD0000E941D8B6B017C01898181FF1DC0109166
+:107FE0004009212F30E040E050E0C701B6010E9477
+:107FF00005B424E630E040E050E00E9457B4C901E7
+:10800000DA016C017D01143138F4FAE0CF16D104A5
+:10801000E104F104A8F005C0C114D104E104F104A5
+:1080200079F00E94F055FC01009751F01082118206
+:1080300012821382D582C482668247825524539469
+:10804000639403C06624472C43948091F715681607
+:1080500008F47ACF5520E1F0898181FD05C000E068
+:1080600010E028EC32E40BC06091400970E08827F2
+:1080700077FD8095982F0E94EEB28B019C01472DD1
+:1080800050E060E070E081E0EE24FF240E9458326E
+:10809000739480913518781608F42CCF552021F070
+:1080A000C501B4010E94DE348091EB1585FFA0C1AB
+:1080B000FF2407E318E129C0D80116968C91169782
+:1080C000682F70E0FB01E954F64EE081EF3FB1F01C
+:1080D000F0E083E0EE0FFF1F8A95E1F7E95CF74ED1
+:1080E00020813181428153818D919D910D90BC9170
+:1080F000A02D281739074A075B0720F06954764EF0
+:10810000FB01F082085F1F4FF3948091361890E0D6
+:1081100073E0880F991F7A95E1F7895C974E0817ED
+:10812000190750F2CC2491C08C2D90E0FC01E8504E
+:10813000FA4E20815C2C550C550C550CEE24FF2476
+:10814000622E7724D52CDE0CED2DF0E0AF014F5FD1
+:108150005F4F2091ED1522952F703091EE15832FF2
+:108160008295807F822B90E08417950709F464C084
+:1081700032953F708091EF158295807F832B90E040
+:108180008417950709F458C0E954F64E80818F3F53
+:1081900009F452C0082F10E063E0000F111F6A9528
+:1081A000E1F7095C174ED8012D913D914D915C91FD
+:1081B00013972115310541055105B9F014968D919C
+:1081C0009C911597A0E0B0E0820F931FA41FB51FEC
+:1081D00088169906AA06BB0640F08D2DB501A401AC
+:1081E0000E949D368D2D0E94A25AC3010E2C02C002
+:1081F000959587950A94E2F780FD1EC0F8012081CD
+:1082000031814281538182169306A406B506A0F0FF
+:1082100084819581A0E0B0E0820F931FA41FB51F59
+:1082200088169906AA06BB0638F48D2D61E00E94D7
+:1082300050518D2D0E949C5A0894E11CF11CF8E0CD
+:10824000EF16F10409F07ECFC3948091F615C8169D
+:1082500008F46ACF80913618082F10E001501040C2
+:10826000780153E0EE0CFF1C5A95E1F787E398E1A3
+:108270001EC0D70114968D919C911597009781F09F
+:10828000A0E0B0E0F7012081318142815381820F6B
+:10829000931FA41FB51F88169906AA06BB0618F0DF
+:1082A000802F0E94D6580150104088EF9FEFE80EB3
+:1082B000F91E9FEF0F3F1907E1F6C501B4010E94B7
+:1082C00027370E9403521092EF191092F019109262
+:1082D000F1191092F2196090540947E3C42E48E155
+:1082E000D42E4BC0D60116967C90169714968D917D
+:1082F0009C9115977C0100E010E08D919D910D906F
+:10830000BC91A02DE80EF91E0A1F1B1F8E149F049E
+:10831000A006B10670F5872D86958695869590E026
+:108320008C55924F0E94B94590E0B7E07B2202C085
+:10833000959587957A94E2F780FF1BC06620C9F473
+:108340002091EF193091F0194091F1195091F219E3
+:10835000D801C701E216F3060407150710F4DA0185
+:10836000C9018093EF199093F019A093F119B0937C
+:10837000F219E8E0F0E0CE0EDF1E20913618822FD1
+:1083800090E033E0880F991F3A95E1F7895C974EAA
+:10839000C816D90608F4A6CF222351F50E948C51A5
+:1083A0000E9403520E94A85A0E9462598091EB15C4
+:1083B0008F7D8093EB1590913B09292F2295207F8B
+:1083C0008091ED158F70822B8093ED1520914E09D1
+:1083D000822F8295807F92959F70982B9093EE15B7
+:1083E00022952F708091EF15807F822B8093EF155F
+:1083F0009091ED1592959F708091EE158295807FFA
+:10840000892B09F4A6C080913C090E945F8B7C01F6
+:1084100080913D090E945F8B8C018CE89DE06BE1AF
+:1084200076E10E94F24CF091F715CE57DF4FF883BA
+:10843000C258D0408091ED1582958F70C090EE1596
+:10844000C29490EFC922C82A2C2C3324DD2461E089
+:1084500070E0C701AA2797FDA095BA2FC957DF4F33
+:1084600088839983AA83BB83C758D0402801662498
+:1084700057FC6094762C60C02D2D30E02616370610
+:1084800009F457C0D90113E0B695A7951A95E1F7FD
+:108490004D2D4770FD01E850FA4E808190E0042E8A
+:1084A00002C0959587950A94E2F780FF42C0A55EC9
+:1084B000B94E8C91992787FD909502C09595879527
+:1084C0004A95E2F780FF35C02954364ED9018C9188
+:1084D000E82FF0E0A3E0EE0FFF1FAA95E1F7E95CBB
+:1084E000F74E2081318142815381C957DF4F888106
+:1084F0009981AA81BB81C758D040820F931FA41FC6
+:10850000B51F88169906AA06BB0698F08481958146
+:10851000A0E0B0E0820F931FA41FB51F840D951D2E
+:10852000A61DB71D88159905AA05BB0510F061E0C9
+:108530000CC0D3946F5F7F4FCE57DF4FB881C258C6
+:10854000D040DB1608F498CF60E08C2D81500E945B
+:1085500050519091EE1592959F708091EF158295F4
+:10856000807F892B09F4A6C080914F090E945F8B00
+:108570007C01809150090E945F8B8C0188E99DE00D
+:108580006BE176E10E94F24CE091F715CF57DF4F97
+:10859000E883C158D0408091EE1582958F70C090CD
+:1085A000EF15C294F0EFCF22C82A2C2C3324DD24FF
+:1085B00061E070E0C701AA2797FDA095BA2FCD57BB
+:1085C000DF4F88839983AA83BB83C358D040280197
+:1085D000662457FC6094762C60C02D2D30E0261662
+:1085E000370609F457C0D901E3E0B695A795EA9597
+:1085F000E1F74D2D4770FD01E850FA4E808190E083
+:10860000042E02C0959587950A94E2F780FF42C038
+:10861000A55EB94E8C91992787FD909502C09595DE
+:1086200087954A95E2F780FF35C02954364ED90127
+:108630008C91E82FF0E053E0EE0FFF1F5A95E1F721
+:10864000E95CF74E2081318142815381CD57DF4F64
+:1086500088819981AA81BB81C358D040820F931F22
+:10866000A41FB51F88169906AA06BB0698F0848138
+:108670009581A0E0B0E0820F931FA41FB51F840D69
+:10868000951DA61DB71D88159905AA05BB0510F0F7
+:1086900061E00CC0D3946F5F7F4FCF57DF4FB8813D
+:1086A000C158D040DB1608F498CF60E08C2D815083
+:1086B0000E9450511092491010924810E8EFF5E1D5
+:1086C00020914810309149108191280F311D30932D
+:1086D00049102093481085E1EE3FF80789F7232BD6
+:1086E00039F486E00E947EA99093081680930716BD
+:1086F000C501B4010E949365C501B4010E942737EA
+:108700000E94035280916E10882389F4C501B40140
+:1087100023E030E040E050E00E9457B49B01AC0100
+:108720002D52364F81E0D9016C910E94A54980916C
+:108730000B09882351F5E0904C10F0904D100091FA
+:108740004E1010914F100E94C2A86E157F05800731
+:10875000910788F081E080930B090E94C2A86056BF
+:10876000704F8F4F9F4F60934C1070934D108093BC
+:108770004E1090934F1080916E10882309F0C4C062
+:108780000E949D520E94D752BFC08BE197E160E0EA
+:1087900041E00E94EF1E4091091A50910A1A60911F
+:1087A0000B1A70910C1A8BE197E12AE030E00E94DD
+:1087B000E4AE82E294E00E9499478BE197E160E0A9
+:1087C00040E00E94EF1E80915C09882369F181E1FD
+:1087D00094E00E9499478BE197E160E040E00E94BD
+:1087E000EF1E40912A1A50912B1A60912C1A709109
+:1087F0002D1A8BE197E122E030E00E9475B08BE109
+:1088000097E165E040E00E94EF1E4091261A5091EA
+:10881000271A6091281A7091291A8BE197E122E0BA
+:1088200030E00E9475B042C080E094E00E94994719
+:108830008BE197E160E040E00E94EF1E60912A1A10
+:1088400070912B1A80912C1A90912D1A2EEF33E4EF
+:1088500042E750E40E94A2B30E94BBB29B01AC016C
+:108860008BE197E1B9014AE050E00E94A5AF8BE1AE
+:1088700097E165E040E00E94EF1E6091261A70913A
+:10888000271A8091281A9091291A2EEF33E442E793
+:1088900050E40E94A2B30E94BBB29B01AC018BE1E9
+:1088A00097E1B9014AE050E00E94A5AF8BE197E162
+:1088B0006BE040E00E94EF1E0E94CF51BC018BE1B3
+:1088C00097E14AE050E00E9407AFE0904C10F09032
+:1088D0004D1000914E1010914F100E94C2A86E15BD
+:1088E0007F058007910780F010920B090E94C2A8B3
+:1088F0006053784F8F4F9F4F60934C1070934D1083
+:1089000080934E1090934F108091EC1580FF24C0FF
+:108910008091EB1585FD20C010E03E010894611C9C
+:10892000711C4CE3C42ED12CE12CF12CC80CD91CA9
+:10893000EA1CFB1C0CC0812FB3010E941958C30113
+:10894000B701A6010E946D57882331F41F5F809103
+:108950003518181780F34AC00E94953880911A166E
+:10896000882381F1282F30E0C9018C709070892B09
+:1089700039F122FD04C0CC24DD24760108C0C0906A
+:10898000E715D090E815E090E915F090EA1523FD81
+:1089900005C000E010E020E83FEB0BC0609140090B
+:1089A00070E0882777FD8095982F0E94EEB28B01AA
+:1089B0009C0188E0B701A601EE24FF240E945832F2
+:1089C00010921A1680912809882399F0109228098C
+:1089D00080E140E050E060E070E000E010E020E086
+:1089E00030E0EE24FF240E94583203C00E94284544
+:1089F000B3CFC657DF4F0FB6F894DEBF0FBECDBF63
+:108A0000CF91DF911F910F91FF90EF90DF90CF906A
+:108A1000BF90AF909F908F907F906F905F904F909E
+:108A20003F902F9008959C01F999FECF32BD21BD52
+:108A3000F89A80B508959C01F999FECF1FBA32BD0E
+:108A400021BD60BD0FB6F894FA9AF99A0FBE089549
+:108A5000E0913617F091371709950895EF92FF923C
+:108A60000F931F93FC0170E020E030E040E050E005
+:108A700038C0908179018A0184E0EE0CFF1C001F50
+:108A8000111F8A95D1F7892F80538A3030F4892FAE
+:108A9000992787FD9095C09719C0892F81548630FA
+:108AA00030F4892F992787FD9095C7970FC0892F9C
+:108AB0008156863028F020E030E040E050E013C0DE
+:108AC000892F992787FD9095875590409C014427D1
+:108AD00037FD4095542F2E0D3F1D401F511F7F5FC6
+:108AE0003196761730F2B901CA011F910F91FF90AC
+:108AF000EF900895EF92FF920F931F93CF93DF9320
+:108B0000EC018B017A0166E00E942E45611571052A
+:108B10008105910521F10115110529F0F801608306
+:108B2000718382839383CE01069666E00E942E4570
+:108B3000611571058105910591F0E114F10429F0A9
+:108B4000F7016083718382839383CE010C9664E086
+:108B50000E942E45611571058105910511F460E0B3
+:108B600070E0CB01DF91CF911F910F91FF90EF90BB
+:108B700008959C01F999FECF32BD21BDF89A80B5C8
+:108B80000895FC0120E438E088E02436380711F429
+:108B900040E009C0F999FECFC901019632BD21BD5F
+:108BA000F89A40B59C019081442331F0992349F013
+:108BB000491739F43196E8CF80E0992319F481E020
+:108BC000089580E0089510921E1710921D178BEBE8
+:108BD00099E090931C1780931B1708951F93182FEB
+:108BE00080912417813079F4112349F4809146094A
+:108BF000882329F48BE197E10E942E1E04C08BE1AB
+:108C000097E10E94261E80912417882391F48CE01E
+:108C100061E00E941EAA112319F08091450902C04B
+:108C2000809146096FEF70E0681B71098CE00E942B
+:108C3000A0A91F91089580912417882351F48DE0F5
+:108C400061E00E941EAA609144098DE070E00E94DC
+:108C5000A0A90895EF92FF920F931F93CF93DF93F4
+:108C6000E82E162F042FF22E662321F0623081F4B5
+:108C7000222371F08E2D0E94CEAA892B11F000E0E4
+:108C800024C0FF2011F480E001C080E8082B1DC043
+:108C9000C0E0D0E08E2D0E94CEAA892B81F4113045
+:108CA00031F0123061F483E0C83ED80744F461E04B
+:108CB00070E080E090E00E94D0A82196EBCFFF20EA
+:108CC00019F4C85ED3400CF00068802FDF91CF917B
+:108CD0001F910F91FF90EF9008950F931F93082F0E
+:108CE00010913817107861E070E080E090E00E9409
+:108CF000D0A88FE10E94CEAA892B21F48FE1602FAA
+:108D000041E013C08EE10E94CEAA892B21F48EE1AE
+:108D1000602F42E00AC08DE10E94CEAA892B11F09B
+:108D200040E007C08DE1602F44E0212F0E942A46D9
+:108D3000482F8091381790E08F709070242F30E08A
+:108D4000892B39F42F703070232B71F0842F8064BD
+:108D500006C02F703070232B39F4842F806240932B
+:108D600038171F910F910895842FF9CFEF92FF923A
+:108D70000F931F937B018C0180913E09803F79F511
+:108D800082E00E94CEAA2091301830913118409193
+:108D9000321850913318882371F42115310541059B
+:108DA0005105E9F4E0923018F0923118009332182E
+:108DB0001093331815C0211531054105510579F07F
+:108DC0002E153F054007510750F4109230181092AD
+:108DD0003118109232181092331881E001C080E0EF
+:108DE0001F910F91FF90EF90089580916109882362
+:108DF000A1F088E10E94CEAA40E02091620930E013
+:108E00008217930709F041E0440F440F440F80910B
+:108E1000EB15877F842B8093EB1580916309882362
+:108E200099F08AE10E94CEAA40E02091640930E0E6
+:108E30008217930709F041E04295407F8091EB153E
+:108E40008F7E842B8093EB15089580913E098230AC
+:108E500091F40E94CEAA40E020913F0930E08217B1
+:108E6000930709F041E0440F440F8091EB158B7F8D
+:108E7000842B8093EB1508951F93182F843690F060
+:108E800064E60E9424B4682F8BE197E170E04AE029
+:108E900050E00E94A5AF8BE197E16CE475E00E9481
+:108EA000D7AF02C08A30A0F0812F6AE00E9424B4BC
+:108EB0000E9424B4692F8BE197E170E04AE050E012
+:108EC0000E94A5AF8BE197E16CE475E00E94D7AFFB
+:108ED000812F6AE00E9424B4692F8BE197E170E052
+:108EE0004AE050E00E94A5AF1F910895EF92FF92D3
+:108EF0000F931F938C019BE1E92E97E1F92EC80196
+:108F00006AE070E00E9444B4C7014AE050E00E9469
+:108F1000A5AFC8016AE070E00E9444B4BC01C7017B
+:108F20004AE050E00E94A5AF1F910F91FF90EF9093
+:108F30000895CF93DF93EC0104C08BE197E10E9489
+:108F400030AEFE01219664916623B9F7DF91CF918F
+:108F500008950F931F93CF93DF93182F092F8BE161
+:108F600097E160E040E00E94EF1E212F302FC90101
+:108F7000EC0110E005C08FE69BE00E949947219626
+:108F8000688170E024E0759567952A95E1F78BE19B
+:108F900097E140E150E00E94A5AF688170E06F70FA
+:108FA00070708BE197E140E150E00E94A5AF143072
+:108FB00031F48BE197E160E041E00E94EF1E1F5F1A
+:108FC0001630C9F688E69BE00E949947DF91CF9161
+:108FD0001F910F9108950F931F93CF93DF938C01EF
+:108FE000462F8BE197E160E00E94EF1EE80104C08C
+:108FF0008BE197E10E9430AE9E01201B822FFE0183
+:10900000219664916623A1F7992787FD9095C0E189
+:10901000D0E0C81BD90B05C089E99BE00E949947A5
+:109020002197D7FFF9CFDF91CF911F910F9108952D
+:10903000EF92FF920F931F93CF93DF937C01BC01BC
+:1090400054E0660F771F5A95E1F76059794F8BE12D
+:1090500096E140E150E00E94EC8A8BE197E160E00C
+:1090600040E00E94EF1E8BE197E16BE176E10E9408
+:10907000D7AF8EE49BE061E00E94EB478BE197E184
+:1090800060E041E00E94EF1E8BE1E816F10409F474
+:10909000ECC08CE1E816F1043CF58EE0E816F10432
+:1090A00009F444C08FE0E816F10474F481E0E81696
+:1090B000F10409F457C08CE0E816F10409F499C0F2
+:1090C000E114F104C9F1FFC081E1E816F10409F4EB
+:1090D0007FC081E1E816F1040CF4F5C0C7014397A5
+:1090E000029708F0F0C074C088E2E816F10484F436
+:1090F00086E2E816F1040CF06BC08CE1E816F1048E
+:1091000009F4B8C08EE1E816F10409F0DCC0BFC074
+:1091100082E4E816F104B9F083E4E816F104F1F012
+:1091200089E2E816F10409F0CEC06BC08BE197E14B
+:109130006EE475E00E94D7AFF701E75DF64F8081DE
+:109140000E943C47DCC08BE197E16EE475E00E9431
+:10915000D7AF8BE197E164E170E094C085E10E94B4
+:109160003C47D4C080912A09C82FD0E0E097D7FDB2
+:1091700005C08CE49BE00E94994707C08AE49BE00D
+:109180000E949947D095C195DF4FCE0164E070E011
+:109190000E9444B48BE197E14AE050E00E94A5AF01
+:1091A00088E49BE00E949947CE0164E070E00E9451
+:1091B00044B4BC0144E0660F771F4A95E1F7681B91
+:1091C000790B19F485E49BE07BC08BE197E15AC0F1
+:1091D000F701E75DF64F80810E945F8BEC0197FD00
+:1091E00004C083E49BE00E9499478BE197E1BE01B4
+:1091F00082C07091360960E080913509680F711D59
+:109200002DC01091530900E080915209080F111DE3
+:10921000C80164E670E00E9430B48BE197E14AE057
+:1092200050E00E9407AF81E49BE00E949947C8018B
+:109230006AE070E00E9430B4CB016AE070E00E9406
+:1092400030B4BC018BE197E14AE050E00E9407AFE7
+:10925000C8016AE070E00E9430B4BC018BE197E184
+:109260004AE050E00E9407AF51C00E941B46609147
+:10927000440905C081E00E94EE45609145098BE1FB
+:1092800097E170E04AE050E00E94A5AF3FC08091B6
+:10929000F5158C3A31F48BE197E16DE20E9430AE26
+:1092A00035C06091470970E0660F771F660F771F22
+:1092B0008BE197E14AE050E00E94A5AF8DE39BE08F
+:1092C0000E94994723C0F701EC5DF94FE491D70163
+:1092D000A75DB64FE13059F48C91882319F486E3E9
+:1092E0009BE002C089E39BE00E94994708C06C9113
+:1092F0008BE197E170E04AE050E00E94A5AF87E182
+:10930000E816F10419F484E39BE016C0C701439703
+:10931000029780F086E2E816F10461F087E2E81631
+:10932000F10441F085E4E816F10421F086E4E81642
+:10933000F10421F48FE29BE00E949947DF91CF91E5
+:109340001F910F91FF90EF900895FF920F931F933D
+:10935000482FF62E8BE197E160E00E94EF1E80918E
+:10936000EC158295877019F484E69BE011C082E6C3
+:109370009BE00E9499476091EC15629567708BE1C4
+:1093800097E170E04AE050E00E94A5AF80E69BE0E4
+:109390000E9499478091EB1580FD06C084E59BE013
+:1093A00061E00E94EB472DC0E091EC15E295E7707B
+:1093B000F0E0E850FA4E008110E09091EC1596959F
+:1093C00098739F5F910F80913B09981721F400FDDE
+:1093D0000EC06DE40DC080914E09981721F400FD78
+:1093E00006C06EE405C000FD02C06FE501C06F2D30
+:1093F0008BE197E10E9430AE1F5F183011F00695A7
+:10940000DCCF8FE49BE00E9499478BE197E16BE012
+:1094100041E00E94EF1E80915B09813029F48BE1CD
+:1094200097E166E00E94AB1E8BE197E16CE041E0C2
+:109430000E94EF1E80916309882331F08BE197E150
+:1094400060E575E00E94D7AF8BE197E16CE041E009
+:109450000E94EF1E8091EB1584FF09C08091630983
+:10946000882329F08BE197E167E00E94AB1E8BE136
+:1094700097E16CE041E00E94EF1E8091540988233F
+:1094800029F08BE197E165E00E94AB1E8BE197E14B
+:109490006DE041E00E94EF1E80916109882331F068
+:1094A0008BE197E162E575E00E94D7AF8BE197E130
+:1094B0006DE041E00E94EF1E8091EB1583FF09C033
+:1094C00080916109882329F08BE197E167E00E9490
+:1094D000AB1E8BE197E16EE041E00E94EF1E8091B0
+:1094E0003E09823031F48BE197E164E575E00E943A
+:1094F000D7AF8BE197E16EE041E00E94EF1E8091D3
+:109500003E09803F31F48BE197E166E575E00E940A
+:10951000D7AF8BE197E16EE041E00E94EF1E8091B2
+:10952000EB1581FD06C082FF09C080913E098230A3
+:1095300029F48BE197E163E00E94AB1E8BE197E198
+:109540006FE041E00E94EF1E60E02091EC15221FC9
+:109550002227221F8091ED158370880F822B90E0C7
+:1095600003970CF061E08BE197E10E94AB1E1F9125
+:109570000F91FF900895DF92EF92FF920F931F9348
+:10958000CF93DF937C01D62E8BE197E10E94301FB1
+:109590008BE197E160E040E00E94EF1E8701C0E0B0
+:1095A000D0E0DD2019F0F801638104C0F701EC0F71
+:1095B000FD1F60818BE197E170E04AE050E00E947E
+:1095C000A5AFC33021F081E79BE00E949947219627
+:1095D00001501040C430D10521F7DF91CF911F9188
+:1095E0000F91FF90EF90DF9008952BE430E0F901A8
+:1095F000E55EF94ED901A75DB64F8C91808321506D
+:1096000030408FEF2F3F380791F78EE59EE06BE1FA
+:1096100076E14CE450E02BE135E40E94EF0E8091BE
+:1096200038098F5F8093F61590E063E0880F991FEB
+:109630006A95E1F78093F7159091410991708091B7
+:10964000EB158E7F892B8093EB1508950F931F9355
+:10965000CF93DF93EC010AEA82E00E946D46482F27
+:1096600050E09A012F7030702230310509F43DC06E
+:109670002430310509F466C02130310509F008C1F4
+:10968000209709F408C1CE30D10509F404C1C832CD
+:10969000D10509F400C1CC30D10509F4FCC0CD30AE
+:1096A000D10509F4F8C0C932D10509F4F4C0CA32B1
+:1096B000D10509F4F0C0C234D10509F4ECC0C334BB
+:1096C000D10509F4E8C0C034D10509F4E4C0FE01B5
+:1096D000EC5DF94FE491DE01A75DB64F8C91E81780
+:1096E00009F4D9C08F5F8C93D6C0209709F4D0C0FD
+:1096F000CE30D10509F4CCC0C832D10509F4C8C0B8
+:10970000CC30D10509F4C4C0CD30D10509F4C0C0B6
+:10971000C932D10509F4BCC0CA32D10509F4B8C0B8
+:10972000C234D10509F4B4C0C334D10509F4B0C0C2
+:10973000FE01E75DF64F9081992309F4A9C091508D
+:109740009083A6C086FFA4C087FF0AC080917409D9
+:10975000882311F0009374090E94F54A11E09CC01F
+:10976000C330D10539F480912C09882321F1CCE054
+:10977000D0E073C0CC30D10519F4CEE0D0E06DC09C
+:10978000C832D10519F4CBE2D0E067C0C233D105AD
+:1097900039F480915B098130D1F4C9E2D0E05DC039
+:1097A000C932D10519F4C3E3D0E057C0209719F4AA
+:1097B000CFE3D0E052C0C334D10519F4C1E0D0E00A
+:1097C0004CC0CE33D10519F4C4E4D0E046C0C53155
+:1097D000D10539F480913E09823059F1C7E1D0E0DA
+:1097E0003CC0C833D10539F480916109882341F523
+:1097F000CAE3D0E032C0CA33D10539F4809163099D
+:109800008823F1F4CCE3D0E028C0C231D10539F48B
+:1098100080913B098823A1F4C5E1D0E01EC0C53288
+:10982000D10539F480914E09882351F4C8E2D0E083
+:1098300014C0C434D10521F480916D098823D9F175
+:10984000CE0101966CE470E00E9444B4EC018031DA
+:10985000910531F08934910519F0CA34D10511F41C
+:10986000219619C08091F5158C3A39F4CE31D10585
+:1098700021F410E0CFE1D0E00FC0809124178130B7
+:1098800051F4CB31D10539F410E0CDE1D0E004C082
+:10989000882309F4E1CE10E0CE010E94184811237C
+:1098A00009F4DACE8BE197E10E94DD1EDF91CF91C2
+:1098B0001F910F910895C8E4D0E0CFCF8091EB15B0
+:1098C0008E7F8093EB15109241090E94F54A08950E
+:1098D0008091EB1581608093EB1581E080934109C5
+:1098E0000E94F54A089584E398E06FED75E14CE03D
+:1098F00050E02BE135E40E94EF0E08958091EB15C6
+:109900008D7F8093EB151092E3151092E415109261
+:10991000E5151092E6150E94734C08958091EB15A1
+:1099200082608093EB150E94734C089546E050E0EE
+:109930002BE135E40E94EF0E0895FB01108E98E1B3
+:10994000899FC0011124845F964F48E150E02BE1CC
+:1099500035E40E94EF0E08958BE196E16EE57EE01E
+:109960004CE450E023E135E40E94D30E20E030E0E7
+:10997000F901E75DF64FD901A55EB94E8C91808360
+:109980002F5F3F4F2C34310599F7809138098F5F55
+:109990008093F61590E073E0880F991F7A95E1F7B0
+:1099A0008093F7159091410991708091EB158E7F0E
+:1099B000892B8093EB151092510908958FED95E155
+:1099C00064E378E04CE050E023E135E40E94D30EFC
+:1099D000A0EFB5E1EBEEF5E185E001900D9281504D
+:1099E000E1F708959C01CB01B90146E050E023E185
+:1099F00035E40E94D30E0895FB01108E98E1899FF3
+:109A0000B0011124645F764FCF0148E150E023E1BB
+:109A100035E40E94D30E0895EF92FF920F931F93A7
+:109A2000CF93DF936AEF70E080E090E00E94D0A8CF
+:109A3000F999FECF8EE59EE092BD81BDF89A80B582
+:109A4000893D59F4F999FECF89EA9EE092BD81BD26
+:109A5000F89A80B58A3A09F0E0C08DED9BE060E0AD
+:109A60000E94EB478EEC9BE061E00E94EB47EBE14C
+:109A7000F6E1119287E1EA31F807D9F7C0E0D0E0CA
+:109A800000E010E1A8014C1B5D0B4F3F510519F0A0
+:109A900014F04FEF50E0CE016BE176E12BE135E4BD
+:109AA0000E94EF0EC150DF4F80E1CF3ED80751F743
+:109AB0000E94734C80E498E068E575E041E250E074
+:109AC0002BE135E40E94EF0E84E698E069E775E04B
+:109AD00049E050E02BE135E40E94EF0E84E998E084
+:109AE00062E875E040E250E02BE135E40E94EF0EC1
+:109AF00084EC98E062EA75E04AE150E02BE135E45D
+:109B00000E94EF0E84EF98E06CEB75E041E050E0CE
+:109B10002BE135E40E94EF0E83E580931B16109233
+:109B20001E160CE019E0C1E0D0E0EBE1EE2EE6E11C
+:109B3000FE2ECE016AE070E00E9444B4605D609346
+:109B40001C16CE016AE070E00E9444B4805D8093F0
+:109B50001D16F70101900020E9F7EB51F641C8010D
+:109B60006BE176E1AF012BE135E40E94EF0E085E78
+:109B70001F4F21968DE00C381807D9F684E994E040
+:109B80000E946A8B10921B1680E380931C16109221
+:109B90001D16C0E0D0E084E994E06BE176E148EF87
+:109BA00050E09E0100E00E94118CC850DF4F8EE211
+:109BB000C038D80781F78FEF80931B1680931C164F
+:109BC00080931D1680931E1680931F168093201677
+:109BD0008CE89DE06BE176E146E050E02BE135E476
+:109BE0000E94EF0E84EA9DE06BE176E146E050E0F2
+:109BF0002BE135E40E94EF0E89E894E00E946A8B25
+:109C00000E94F54A64EF71E080E090E00E94D0A8E5
+:109C1000E0913617F091371709950E94AC4C0E94DD
+:109C2000DE4C80E00E946D46182F90E08F7090709F
+:109C30008130910519F00497A9F503C08BE490E0F9
+:109C400026C08EEB9BE060E00E94EB4760ED77E082
+:109C500080E090E00E94D0A80E941B4681E00E9414
+:109C6000EE458DEA9BE060E00E94EB478DE99BE0CA
+:109C700061E00E94EB4780E00E946D46182F86FF4E
+:109C8000FACF8BE197E10E94301F80E090E00E94C4
+:109C9000264B80917409882329F0E0913617F091C2
+:109CA0003717099581E00E94EE450E941B4611235B
+:109CB000C9F58BE99BE060E00E94EB478BE197E1FF
+:109CC00060E040E00E94EF1E8BE197E16DEB75E0F4
+:109CD0000E94D7AF8BE197E165E170E04AE050E088
+:109CE0000E94A5AF8BE197E162EC75E00E94D7AFCF
+:109CF0008BE197E164E170E04AE050E00E94A5AF9B
+:109D00008BE197E160E041E00E94EF1E8BE197E17B
+:109D100067EC75E00E94D7AF60EA7FE080E090E0FA
+:109D20000E94D0A8DF91CF911F910F91FF90EF90EB
+:109D300008956F927F928F929F92AF92BF92CF922F
+:109D4000DF92EF92FF920F931F93CF93DF93F62E44
+:109D5000A9E3B7E1FC0187EF01900D928150E1F793
+:109D600089E397E166ED75E00E94450E5C0180E0B5
+:109D700090E066ED75E00E94450E4C0180E090E0B9
+:109D800066ED75E00E94450E182F092F80E090E0E7
+:109D900066ED75E00E94450EFF2011F43C0102C003
+:109DA000612E702EC50161E00E944017882309F0E2
+:109DB00042C0C5016CE475E00E94450EEC0180E0F4
+:109DC00090E06CE475E00E94450E8C0180E090E02C
+:109DD0006CE475E00E94450E7C0180E090E06CE44C
+:109DE00075E00E94450E6C01209711F480E003C0DD
+:109DF000CE010E94E50D8093880A0115110511F42A
+:109E000080E003C0C8010E94E50D8093890AE11437
+:109E1000F10411F480E003C0C7010E94E50D8093B6
+:109E20008A0AC114D10411F480E003C0C6010E9463
+:109E3000E50D80938B0A0091090910910A09C4016C
+:109E40000E94E50D90930A09809309098AEE9BE030
+:109E5000B301A50129EF3FE40E94C37FC0E0D0E039
+:109E60000E94C91A0E9451832196C436D105C1F7B8
+:109E700010930A0900930909DF91CF911F910F9167
+:109E8000FF90EF90DF90CF90BF90AF909F908F901A
+:109E90007F906F9008959F92AF92BF92CF92DF9282
+:109EA000EF92FF920F931F93DF93CF93CDB7DEB75F
+:109EB00028970FB6F894DEBF0FBECDBF8C01962E4B
+:109EC00068E00E942E45292F3327442755272093E9
+:109ED000880A9C01442755272093890A272F382F69
+:109EE000492F552720938A0A60938B0AA09009096D
+:109EF000B0900A09C801089664E00E942E4570934C
+:109F00000A0960930909AAE2CA2EA6E1DA2E809115
+:109F10005909882321F4EE24EA94FE2C03C0F0E6CC
+:109F2000EF2EF12CD886CF82DE82CD828BEC99E0A9
+:109F30009A8389831C821B82C8010C9662E00E946E
+:109F40002E452DB73EB72C5030400FB6F8943EBF8B
+:109F50000FBE2DBFEDB7FEB731969E012F5F3F4F6D
+:109F6000ADB7BEB712963C932E93119722EF3BE00C
+:109F70003383228320E438E0358324837783668328
+:109F800090861186F386E2860E94EA1C2DB73EB7C2
+:109F9000245F3F4F0FB6F8943EBF0FBE2DBF8EEE2D
+:109FA0009BE0B6014CEE5BE029EF3FE40E94897F25
+:109FB00000E010E00E94C91A0E9451830F5F1F4FFA
+:109FC00004361105B9F7B0920A09A092090928963A
+:109FD0000FB6F894DEBF0FBECDBFCF91DF911F91BA
+:109FE0000F91FF90EF90DF90CF90BF90AF909F9038
+:109FF0000895FB01E057F54FE958FA4F1082E757F3
+:10A00000F5408FEB9EE1BF010E948BB008950F9346
+:10A010001F93DF93CF930F92CDB7DEB7FC01162FBE
+:10A020000181005180812AE0829FC0011124080F24
+:10A0300092819053802F61E099830E941EAA99819A
+:10A04000112319F0802F692F03C061E0691B802F55
+:10A050000E949BAA0F90CF91DF911F910F910895BD
+:10A06000EF92FF920F931F93DC01CB0179018A01DC
+:10A07000139A0E9429A91398C7010E9429A91F9128
+:10A080000F91FF90EF9008952F923F924F925F9221
+:10A090006F927F928F929F92AF92BF92CF92DF92F8
+:10A0A000EF92FF920F931F93DF93CF9300D00F9205
+:10A0B000CDB7DEB74B015C0179018A01DA01C90134
+:10A0C000880F991FAA1FBB1F8E0D9F1DA01FB11FB8
+:10A0D000582E692E7A2ECB2ED801C70145E0880F65
+:10A0E000991FAA1FBB1F4A95D1F78E199F09A00B74
+:10A0F000B10B8983292E3A2E4B2EDD242FC0D5019A
+:10A10000C4010A8004C0B695A795979587950A94CF
+:10A11000D2F780FF07C0652D762D872D9C2DA801D5
+:10A12000970106C0C801B701252D362D472D5C2D9E
+:10A130000E9430508A819B8101979B838A838F5F25
+:10A140009F4FE9F6C801B7012981322D432D542DC7
+:10A150000E943050D394FFE0DF1629F087E190E0B1
+:10A160009B838A83CCCF0F900F900F90CF91DF917C
+:10A170001F910F91FF90EF90DF90CF90BF90AF9025
+:10A180009F908F907F906F905F904F903F902F9017
+:10A1900008951F93DF93CF93CDB7DEB728970FB6FF
+:10A1A000F894DEBF0FBECDBF162FBE016F5F7F4F8D
+:10A1B000AE014B5F5F4F0E947A459C01112329F04D
+:10A1C00069817A818B819C8104C06D817E818F81C0
+:10A1D000988540E050E00E94445028960FB6F894CD
+:10A1E000DEBF0FBECDBFCF91DF911F9108951F93AA
+:10A1F000162F482F50E0F999FECFCA0163E09595DC
+:10A2000087956A95E1F78655924F92BD81BDF89A80
+:10A2100080B590E09A012770307002C095958795BF
+:10A220002A95E2F780FF3AC088EF90E0489F9001BE
+:10A23000499F300D589F300D112484E994E06BE163
+:10A2400076E148EF50E00E949F8B80911B16813091
+:10A2500041F460E0111161E08CE196E10E94C95087
+:10A260001DC0823041F460E0111161E08CE196E1A3
+:10A270000E944B4F13C0833041F460E0111161E044
+:10A280008CE196E10E94075009C0843039F460E007
+:10A29000111161E08CE196E10E94994E1F910895A1
+:10A2A000782F282F30E0F901A3E0F595E795AA95DE
+:10A2B000E1F7E850FA4E2770307081E090E002C07C
+:10A2C000880F991F2A95E2F7282F3081482F50E0F8
+:10A2D000662389F0832F90E084239523892BD1F482
+:10A2E000322B308381E08093FE15872F61E00E943E
+:10A2F000F75081E00895832F90E084239523892BE4
+:10A3000049F0209523232083872F60E00E94F75097
+:10A310008FEF089580E008951F9310E0812F60E093
+:10A320000E9450511F5F1133C9F71F91089584E0B7
+:10A330000E947EA99C0183E02A3B380718F020E0A8
+:10A3400030E02BC083E02D33380718F021E030E0F7
+:10A3500024C082E02E3D380718F022E030E01DC016
+:10A3600082E02239380718F023E030E016C082E09E
+:10A370002535380718F024E030E00FC082E02232A3
+:10A38000380718F025E030E008C0275F314018F0AA
+:10A3900026E030E002C02FEF3FEFC901089586E0CC
+:10A3A0000E947EA9282F8091EB1586FD03C060E0F6
+:10A3B00070E027C0622F792F8091F5158C3D49F40C
+:10A3C00080E090E00E94ECB228E431EE40E851E4F5
+:10A3D00014C080910716909108168617970718F0F9
+:10A3E00060E070E002C0681B790B80E090E00E94A2
+:10A3F000ECB22FE832EC45EB5FE30E94A2B30E947F
+:10A40000C0B2CB010895EF92FF920F931F93CF93A9
+:10A41000DF9383E060E00E949BAA0DEF15E180913D
+:10A42000EB1580FD02C060E002C0F8016081C7E06A
+:10A43000D0E0E62EFF2486E160E00E949BAAB701EF
+:10A440000C2E02C0759567950A94E2F7617087E15A
+:10A450000E949BAA86E161E00E949BAA2197FFEFE0
+:10A46000CF3FDF0741F70150104085E1073F180754
+:10A47000B1F68091F5158C3D71F58091FE1588231C
+:10A4800051F18FEB9EE16BE07CE00E9458AE87E1DA
+:10A4900060E00E949BAA84E161E00E949BAA609117
+:10A4A000470970E0660F771F660F771F882777FDD3
+:10A4B0008095982F0E94D0A884E160E00E949BAA1A
+:10A4C00087E161E00E949BAA83E061E00E949BAA71
+:10A4D0001092FE1504C083E061E00E949BAA809167
+:10A4E0005909882319F10E94168A20E330E040E0E0
+:10A4F00050E00E9457B4962F809134186817B1F03D
+:10A5000060933418E62FE695E695E695F0E0E8507E
+:10A51000FA4E608170E0892F877002C0759567954B
+:10A520008A95E2F76170892F0E94F750DF91CF91F1
+:10A530001F910F91FF90EF900895EF92FF920F936C
+:10A540001F930E94168A7B018C0160912A0970E09A
+:10A5500080E090E024E833E040E050E00E9405B461
+:10A560009B01AC01205C384A404050402E0D3F1DFD
+:10A57000401F511FB901CA011F910F91FF90EF9029
+:10A5800008950E949D5220E831E541E050E00E948C
+:10A5900057B42D5F3F4F4F4F5F4FCA01B90127E0BE
+:10A5A00030E040E050E00E9457B4862F0895EF92CB
+:10A5B000FF920F931F937B018C018BE197E160E089
+:10A5C00040E00E94EF1EC801B7010E9403890E946B
+:10A5D000764787E99BE00E949947C801B7010E942E
+:10A5E000FD880E94764784E99BE00E9499470E947B
+:10A5F000C15290E0880F991F880F991F8D58944F72
+:10A600000E94994782E99BE00E949947C801B701DF
+:10A610000E94EB880E94764780E99BE00E94994760
+:10A62000C801B7010E94F7880E9476471F910F91D9
+:10A63000FF90EF9008958F92AF92CF92EF920F9389
+:10A6400000D000D0EDB7FEB73196ADB7BEB71196CA
+:10A650001C921182128213828BE197E161E046E144
+:10A660002FEF06E1E6E1EE2E76E1C72E56E1A52EAC
+:10A6700036E1832E0E94EB1F0F900F900F900F90EA
+:10A680008BE197E10E94381F80912417882341F4C1
+:10A6900082E08093810081E00E94EE450E941B468B
+:10A6A0000F91EF90CF90AF908F9008958F929F92DF
+:10A6B000AF92BF92CF92DF92EF92FF920F931F93D0
+:10A6C000DF93CF93CDB7DEB728970FB6F894DEBFF0
+:10A6D0000FBECDBF81E061E00E941EAA81E061E073
+:10A6E0000E949BAA83E061E00E941EAA83E061E0D1
+:10A6F0000E949BAA86E161E00E941EAA87E161E0B8
+:10A700000E941EAA0E948C510E94035281E060E0C8
+:10A710000E949BAA82E060E00E941EAA8BE060E09B
+:10A720000E941EAA88E160E00E941EAA8AE160E001
+:10A730000E941EAA82E061E00E949BAA8BE061E079
+:10A740000E949BAA88E161E00E949BAA8AE161E0E5
+:10A750000E949BAA83E00E947BA98091EB158160F7
+:10A760008093EB158091EC158E7F8093EC15A0EF14
+:10A77000B5E1EBEEF5E185E001900D928150E1F756
+:10A7800088E691E09093E0158093DF1588E394E0EC
+:10A790009093E2158093E11581E08093F61588E0AF
+:10A7A0008093F7158CE161E00E941EAA8CE160E0C5
+:10A7B0000E949BAA8CEA8093F51586E29DE10E9497
+:10A7C0003EA586E29DE160E570E00E9464A486E219
+:10A7D0009DE160E00E94E6A486E29DE10E9429A539
+:10A7E0008823D1F486E29DE160E570E041E050E02D
+:10A7F0000E943AA586E29DE10E946EA4892BD1F3C6
+:10A8000086E29DE10E9477A48C3A21F08C3D11F004
+:10A810008A3111F48093F5158091F5158C3D81F402
+:10A8200084E161E00E941EAA84E160E00E949BAA8C
+:10A8300087E161E00E941EAA87E160E00E949BAA76
+:10A8400089E160E00E941EAA89E161E00E949BAA62
+:10A850009091650991709295990F990F907C8091D4
+:10A86000EB158F7B892B8093EB1589E160E00E94CB
+:10A870009BAA0E941B53198284E18A8348E0842E9C
+:10A880008B8235E1F32EFC82EE24E394ED8225E009
+:10A89000C22ECE82CF82F8868BE197E161E08E01F5
+:10A8A0000F5F1F4FA8010E94B51E1A821B82EC8207
+:10A8B0008BE197E160E0A8010E94B51E1A829FE13A
+:10A8C000D92EDB8281E1E82EEC82DD82EE82B3E1DB
+:10A8D0009B2E9F82AEE1AA2EA8868BE197E162E0D3
+:10A8E000A8010E94B51E86E08B83F9E0BF2EBC82D2
+:10A8F000DD821E82FF82F8868BE197E163E0A8018A
+:10A900000E94B51E87E08B8383E08C83CD828E828C
+:10A9100080E18F8318868BE197E164E0A8010E94B3
+:10A92000B51E1B82EC828BE08D83CE82BF82A8860F
+:10A930008BE197E165E0A8010E94B51E1B829AE1B8
+:10A940009C8382E18D839E839F8218868BE197E1B1
+:10A9500066E0A8010E94B51E1A82FB82FC82FD827D
+:10A960001E82DF82D8868BE197E167E0A8010E9412
+:10A97000B51E80E061E00E941EAA80E061E00E94B6
+:10A980009BAA88E090E160E044E00E94919F8823C8
+:10A9900029F08091EB1580688093EB158091EB1581
+:10A9A00087FD15C08BE197E160E040E00E94EF1E5B
+:10A9B0008BE29CE00E9499478BE197E160E041E0E7
+:10A9C0000E94EF1E8AE19CE00E949947FFCF8FE131
+:10A9D00060E00E941EAA8EE160E00E941EAA8DE146
+:10A9E00060E00E941EAA8FE161E00E949BAA8EE1B6
+:10A9F00061E00E949BAA8DE161E00E949BAA0E94F7
+:10AA0000E41828960FB6F894DEBF0FBECDBFCF91E5
+:10AA1000DF911F910F91FF90EF90DF90CF90BF904B
+:10AA2000AF909F908F900895CF93DF9386E29DE142
+:10AA300060E570E00E9464A486E29DE160E00E940F
+:10AA4000E6A486E29DE10E9429A5882311F080E01A
+:10AA500029C086E29DE160E570E00E9464A486E280
+:10AA60009DE16AEF0E94E6A486E29DE10E9429A58D
+:10AA700086E29DE160E570E046E050E00E943AA584
+:10AA800086E29DE10E946EA4892BD1F3CBE1D6E151
+:10AA900086E29DE10E9477A4899386E1C132D807BE
+:10AAA000B9F781E0DF91CF9108958BE39CE061E0FD
+:10AAB0000E94EB470E941455882391F410921B16B4
+:10AAC00089E680931C1680931D168DE280931E16D6
+:10AAD00081E380931F16809143098093201605C05F
+:10AAE0008091EC1582608093EC1588E795E06BE12E
+:10AAF00076E144E00E94A71C882309F459C0909194
+:10AB0000360980E020913509820F911D90930A0942
+:10AB10008093090980912C098823C9F10E940517A7
+:10AB2000882309F445C08091700A9091710AA09120
+:10AB3000720AB091730A80932D0990932E09A09305
+:10AB40002F09B093300980917C0A90917D0AA091E1
+:10AB50007E0AB0917F0A8093310990933209A093C5
+:10AB60003309B09334098091840A9091850AA091A9
+:10AB7000860AB091870A8093550990935609A0934D
+:10AB80005709B09358090E94F54A91E012C08DE22E
+:10AB900099E061E379E045E559E020E030E00E948A
+:10ABA000711C90E0882309F491E081E0982701C0AE
+:10ABB00090E0892F08959C01F999FECF32BD21BD07
+:10ABC000F89A80B508959C01F999FECF1FBA32BD5D
+:10ABD00021BD60BD0FB6F894FA9AF99A0FBE089598
+:10ABE00020913618203318F020E030E012C02F5F9B
+:10ABF0002093361881E090E0821B910923E0880FB2
+:10AC0000991F2A95E1F722273327281B390B295C46
+:10AC1000374EC901089510923518F999FECF1FBA21
+:10AC200081E090E092BD81BD10BC0FB6F894FA9A15
+:10AC3000F99A0FBE0895982F80913518981708F04B
+:10AC40003BC0992309F438C0892F90E09695982F3E
+:10AC50008827979587958E57904020E030E025C053
+:10AC6000F999FECF92BD81BDF89A50B5F999FECF02
+:10AC700072BD61BDF89A40B5F999FECF1FBA92BD79
+:10AC800081BD40BD0FB6F894FA9AF99A0FBEF999B2
+:10AC9000FECF1FBA72BD61BD50BD0FB6F894FA9ACF
+:10ACA000F99A0FBE2F5F3F4F0196BC0160587F4F4E
+:10ACB0002038310509F0D4CF089577FF03C06FEF36
+:10ACC0007FEF22C0CB01977074FF03C090958195F0
+:10ACD0009F4F76FF0BC06091DF157091E015680FF4
+:10ACE000791F77FF11C060E070E00EC075FF0CC0E7
+:10ACF0006091E1157091E215680F791F85E0603A67
+:10AD0000780714F06FE975E0CB010895BF92CF92F8
+:10AD1000DF92EF92FF920F931F936C01FC01B080C2
+:10AD2000E1800E949D5220E831E541E050E00E9420
+:10AD300057B42B0D311D411D511DFF2400E010E0C3
+:10AD4000CA01B901A80197010E9457B4F6016083B6
+:10AD50001F910F91FF90EF90DF90CF90BF900895DB
+:10AD60008F929F92AF92BF92CF92DF92EF92FF921B
+:10AD70000F931F934C01FC01A180E080FF24EA0C9B
+:10AD8000F11C0027F7FC0095102F0E949D52BB2458
+:10AD9000CC24DD2420E831E541E050E00E9457B4A6
+:10ADA000CA01B901A60195010E9457B4E61AF70A33
+:10ADB000080B190BC801B701A60195010E9457B4F1
+:10ADC000F40160831F910F91FF90EF90DF90CF907F
+:10ADD000BF90AF909F908F900895BF92CF92DF92D7
+:10ADE000EF92FF920F931F93CF93DF93EC017A01C1
+:10ADF0008B01CB01BA010E94F188C82EC801B701AE
+:10AE00000E94F788D82EC801B7010E94EB88B82E9F
+:10AE100088818295837090E082309105B1F0833013
+:10AE20009105E9F0892BA1F52A8130E08C2D90E085
+:10AE3000059667E070E00E9444B402C035952795FE
+:10AE40008A95E2F720FD24C03BC02D2D30E08A8199
+:10AE500090E08F7190702817390791F519C0C801DB
+:10AE6000B70120E831E541E050E00E9457B4CA0143
+:10AE7000B9012B8130E040E050E00E9457B42A81B4
+:10AE800030E040E050E06217730784079507C1F493
+:10AE90008881869586958370A9F0823019F48D2D6E
+:10AEA00080950CC0813071F48FE1D81649F08DE1A6
+:10AEB000D81619F482E0B81619F08D2D817003C0F0
+:10AEC00080E001C081E0DF91CF911F910F91FF9051
+:10AED000EF90DF90CF90BF9008956F927F928F9206
+:10AEE0009F92AF92BF92CF92DF92EF92FF920F9319
+:10AEF0001F93CF93DF938C016A017B01DC018C915E
+:10AF000080FF85C014966D917C911597C8010E94B1
+:10AF10005D564C01F80166807780C085D185C701F8
+:10AF2000B60120E831E541E050E00E9457B42CE33F
+:10AF300030E040E050E00E9457B45901C801B70129
+:10AF4000A6010E94ED568823A9F1D8018C9186FFB5
+:10AF500014C0E80148E0E42EF12CE00EF11E6C81F3
+:10AF60007D81C8010E945D56A816B90609F451C03A
+:10AF70002296CE15DF0599F74AC0A814B90409F442
+:10AF800048C08A149B04B0F42097A1F095012819B9
+:10AF90003909C901BE010E9430B46C9FC0016D9F88
+:10AFA000900D7C9F900D11248217930719F466165B
+:10AFB00077067CF5F801808186FD29C0209739F15C
+:10AFC00080E89EEAAEEFBFEFC80ED91EEA1EFB1E58
+:10AFD000C801B701A6010E94ED568823C1F0950172
+:10AFE0002819390920563A4FC901BE010E9430B4D0
+:10AFF0006C9FC0016D9F900D7C9F900D1124821756
+:10B00000930729F480E06616770624F002C080E0FA
+:10B0100001C081E0DF91CF911F910F91FF90EF90E0
+:10B02000DF90CF90BF90AF909F908F907F906F9068
+:10B030000895282FAB0180913518281780F4622FCE
+:10B0400070E07695762F6627779567956E5F7F4FD0
+:10B05000CA0140E850E02BED35E50E94D30E08957B
+:10B06000EF92FF920F931F93DF93CF93CDB7DEB78D
+:10B07000C058D0400FB6F894DEBF0FBECDBF2091B0
+:10B080003518821708F044C0222309F441C0082F64
+:10B0900010E01695102F0027179507950E571F4F94
+:10B0A0007E010894E11CF11C14C0C701B80140E8FE
+:10B0B00050E02BED35E50E94D30EC801805890403A
+:10B0C000B70140E850E023EE35E50E94EF0E00584E
+:10B0D0001F4F20913518822F90E09695982F882742
+:10B0E00097958795029608171907F8F22150209333
+:10B0F0003518F999FECF1FBA81E090E092BD81BD6D
+:10B1000020BD0FB6F894FA9AF99A0FBE81E001C0FB
+:10B1100080E0C058DF4F0FB6F894DEBF0FBECDBF42
+:10B12000CF91DF911F910F91FF90EF900895982F8D
+:10B1300080913518981710F080E00895892F90E0DD
+:10B140009695982F882797958795029640E850E026
+:10B1500023EE35E50E94EF0E81E00895BC01809159
+:10B160003518803110F080E0089590E09695982F82
+:10B17000882797958795029640E850E023EE35E5BD
+:10B180000E94EF0E209135182F5F20933518F99902
+:10B19000FECF1FBA81E090E092BD81BD20BD0FB609
+:10B1A000F894FA9AF99A0FBE81E00895CF93DF934D
+:10B1B000582F40913618841708F081C0E82FF0E02E
+:10B1C000242F30E021503040E217F3073CF5EF0127
+:10B1D000A3E0CC0FDD1FAA95E1F7D90173E0AA0F18
+:10B1E000BB1F7A95E1F7C95CD74EA95CB74E88E0E2
+:10B1F0000D9009928150E1F763E0EE0FFF1F6A9511
+:10B20000E1F7E95CF74E8681E82FF0E0E954F64E6D
+:10B21000808190E08217930709F450834150409356
+:10B2200036188FEB9EE168ED75E00E94D7AFC7E35B
+:10B23000D8E132C08FEB9EE16CED75E00E94D7AF94
+:10B240008FEB9EE16E814AE050E00E9435AF8FEBBC
+:10B250009EE16EED75E00E94D7AF6C817D818FEB32
+:10B260009EE14AE050E00E9407AF8FEB9EE16EED59
+:10B2700075E00E94D7AF488159816A817B818FEB4D
+:10B280009EE12AE030E00E94E4AE8FEB9EE160EEAA
+:10B2900075E00E94D7AF28968091361890E033E091
+:10B2A000880F991F3A95E1F7895C974EC817D9071F
+:10B2B00008F28FEB9EE162EE75E00E948BB0DF91A9
+:10B2C000CF91089587EB99E16FEF70E040E350E094
+:10B2D0000E94600E109236181092EF191092F01919
+:10B2E0001092F1191092F21908950E946259F99979
+:10B2F000FECF81E090E092BD81BDF89A80B5809349
+:10B3000035180895282F30E0F999FECF1FBA285D2F
+:10B31000314F32BD21BD28523E408FEF80BD0FB668
+:10B32000F894FA9AF99A0FBEF999FECF1FBAC9019B
+:10B33000880F991F8753924F92BD81BD8FEF80BDBB
+:10B340000FB6F894FA9AF99A0FBEF999FECF1FBA80
+:10B350002C51394F220F331F32BD21BD8FEF80BDDD
+:10B360000FB6F894FA9AF99A0FBE0895AF92BF9269
+:10B37000CF92DF92EF92FF920F931F93CF93DF93C1
+:10B3800080916609882309F44CC08091121AE82E36
+:10B39000FF2400E010E0F2E0EE0CFF1C001F111F84
+:10B3A000FA95D1F780917E09C82FD0E0A0902E1A8F
+:10B3B000B0902F1AC090301AD090311A64E670E025
+:10B3C0006C1B7D0B882777FD8095982FA80197012E
+:10B3D0000E9405B424E630E040E050E00E9457B4FB
+:10B3E000A216B306C406D50618F421E030E01BC04F
+:10B3F000CC59DF4FBE01882777FD8095982FA80193
+:10B4000097010E9405B424E630E040E050E00E943D
+:10B4100057B42A153B054C055D0518F422E030E0D1
+:10B4200002C020E030E0C901DF91CF911F910F9160
+:10B43000FF90EF90DF90CF90BF90AF900895AF92C4
+:10B44000BF92CF92DF92EF92FF920F931F93CF9311
+:10B45000DF9380915D09882309F460C06091261A0A
+:10B460007091271A8091281A9091291A20E030E0D3
+:10B4700040E051E40E94A2B35B016C016091131A99
+:10B480007091141A80E090E00E94ECB27B018C0174
+:10B4900080917D09C82FD0E064E670E06C1B7D0BC5
+:10B4A000882777FD8095982F0E94EEB29B01AC0112
+:10B4B000C801B7010E94A2B320E030E048EC52E49A
+:10B4C0000E9453B29B01AC01C601B5010E944FB26C
+:10B4D00088231CF421E030E023C0CC59DF4FBE01AB
+:10B4E000882777FD8095982F0E94EEB29B01AC01D2
+:10B4F000C801B7010E94A2B320E030E048EC52E45A
+:10B500000E9453B29B01AC01C601B5010E949EB3DB
+:10B5100018161CF422E030E003C003C020E030E045
+:10B52000C901DF91CF911F910F91FF90EF90DF90B4
+:10B53000CF90BF90AF9008958093FB1981E08093E6
+:10B54000FE1908958093FB1981E08093FF190895F7
+:10B5500081E08093001A0895CF92DF92EF92FF92DC
+:10B560000F931F93182F6A017B01682F70E0A4E0EE
+:10B57000660F771FAA95E1F7675B744F85E19AE143
+:10B5800040E150E00E94EC8A1431D1F1153170F4A1
+:10B59000113101F1123120F4103109F04FC015C002
+:10B5A000123121F1133109F049C025C01731B9F129
+:10B5B000183130F4153149F1163109F03FC02AC075
+:10B5C000183191F11931D1F534C08FEB9EE163EE62
+:10B5D00075E004C08FEB9EE168EF75E00E948BB0D0
+:10B5E0008091251A8F5F8093251A33C08FEB9EE1DF
+:10B5F0006EE176E0F3CF8FEB9EE160E476E0EECF94
+:10B600008FEB9EE169E576E0E9CF8FEB9EE162E7A3
+:10B6100076E0E4CF8FEB9EE16DE876E0DFCF8FEB55
+:10B620009EE167EA76E0DACF8FEB9EE165ED76E0AA
+:10B63000D5CF8FEB9EE16BEF76E0D0CF8091251ACE
+:10B640008F5F8093251A8FEB9EE160E277E00E9486
+:10B650008BB0812FB701A60100E010E020E030E0C0
+:10B660000E9439221F910F91FF90EF90DF90CF90B1
+:10B670000895AF92BF92CF92DF92EF92FF920F9315
+:10B680001F935B016C0180913E09823009F05DC01F
+:10B690000E9425479091EB15969596959170809113
+:10B6A000F015869586958170891709F44EC0992307
+:10B6B00091F085E0B601A50100E010E020E030E067
+:10B6C0000E943922A0920916B0920A16C0920B1657
+:10B6D000D0920C1631C08091091690910A16A09153
+:10B6E0000B16B0910C160A96A11DB11D8A159B056B
+:10B6F000AC05BD0508F585E0B601A50100E010E048
+:10B7000020E030E00E94392281E0B601A50100E08E
+:10B7100010E020E030E00E94392282E041E050E079
+:10B7200060E070E000E010E020E030E0BFE2EB2EEF
+:10B73000B7E0FB2E0E9458329091EB1594708091E7
+:10B74000F0158B7F892B8093F015809161098823F8
+:10B75000C9F10E94F5462091EB1526952695269570
+:10B7600021703091F015832F86958695869581708E
+:10B77000821741F18091FF1590910016A09101165A
+:10B78000B09102160396A11DB11D8A159B05AC054B
+:10B79000BD05C0F4A092FF15B0920016C09201162C
+:10B7A000D0920216220F220F220F377F322B3093B6
+:10B7B000F01580E3B601A50100E010E020E030E0E4
+:10B7C0000E943922809163098823A1F10E94F546E5
+:10B7D0002091EB15229521703091F015832F8295E1
+:10B7E0008170821739F18091031690910416A0910F
+:10B7F0000516B09106160396A11DB11D8A159B056D
+:10B80000AC05BD05B8F4A0920316B0920416C09220
+:10B810000516D09206162295207F3F7E322B30935C
+:10B82000F01581E3B601A50100E010E020E030E072
+:10B830000E9439221F910F91FF90EF90DF90CF90DF
+:10B84000BF90AF900895DF92EF92FF920F931F93F6
+:10B850007B018C018BE59EE00E94B945D82E8AE5DC
+:10B860009EE00E94B9453D2D20E0280F311D442760
+:10B8700037FD4095542F20933E1A30933F1A409342
+:10B88000401A5093411A88E0B801A70100E010E087
+:10B8900020E030E00E94392220913E1A30913F1A78
+:10B8A0008091401A9091411A2093421A3093431A82
+:10B8B0008093441A9093451AF999FECF1FBA8CE5EC
+:10B8C0009EE092BD81BD20BD0FB6F894FA9AF99A18
+:10B8D0000FBEF999FECF1FBA8DE59EE092BD81BDE6
+:10B8E00030BD0FB6F894FA9AF99A0FBE10923E1A2C
+:10B8F00010923F1A1092401A1092411AF999FECFF5
+:10B900001FBA8AE59EE092BD81BD10BC0FB6F894C7
+:10B91000FA9AF99A0FBEF999FECF1FBA8BE59EE00D
+:10B9200092BD81BD10BC0FB6F894FA9AF99A0FBE79
+:10B930001F910F91FF90EF90DF900895EF92FF928B
+:10B940000F931F93CF93DF93C82FD0E08E0143E076
+:10B95000159507954A95E1F7C8018454924F0E94C6
+:10B96000B94537E0E32EF12CEC22FD221092FC19B0
+:10B9700090E08E219F21892B19F081E08093FC19A2
+:10B98000C8018655924F0E94B9451092FD1990E06A
+:10B990008E219F21892B19F081E08093FD19CE0122
+:10B9A000885D914F0E94B9458093121ACE01880F8D
+:10B9B000991F8753924F0E94B945182FCC51D94FE8
+:10B9C000CE01880F991F0E94B945312F20E0280F22
+:10B9D000311D3093141A2093131ADF91CF911F91C8
+:10B9E0000F91FF90EF9008958091111A8823F1F044
+:10B9F0000E94C2A8609375097093760980937709B5
+:10BA0000909378098091011A9091021AA091031ADB
+:10BA1000B091041A0196A11DB11D8093011A909353
+:10BA2000021AA093031AB093041A08950E94C2A8A0
+:10BA30009B01AC018091750990917609A0917709DD
+:10BA4000B09178090A96A11DB11D82179307A4072A
+:10BA5000B507D8F420937509309376094093770998
+:10BA6000509378098091011A9091021AA091031ABB
+:10BA7000B091041A0196A11DB11D8093011A9093F3
+:10BA8000021AA093031AB093041A0895DF92EF925A
+:10BA9000FF920F931F93D82E7A018B0183E0D81663
+:10BAA00009F4E5C08D1538F081E0D81609F47EC0A0
+:10BAB0008D15B0F00CC088E0D81609F43DC1D81639
+:10BAC00008F47BC189E0D81609F05CC152C110921C
+:10BAD000461A1092471A1092481A1092491A6DC1CC
+:10BAE000F8948091011A9091021AA091031AB091D2
+:10BAF000041A8093091A90930A1AA0930B1AB09310
+:10BB00000C1A20917509309176094091770950916E
+:10BB100078092093051A3093061A4093071A509318
+:10BB2000081A7894E0924E1AF0924F1A0093501A25
+:10BB30001093511A20E030E040E050E02093261AA4
+:10BB40003093271A4093281A5093291A8093521A37
+:10BB50009093531AA093541AB093551A1092321A14
+:10BB60001092331A1092341A1092351A20932A1A0E
+:10BB700030932B1A40932C1A50932D1AE092561A98
+:10BB8000F092571A0093581A1093591A80935A1A20
+:10BB900090935B1AA0935C1AB0935D1A1092621A8C
+:10BBA00083E1B801A7010E94AC5A07C1F8948091C3
+:10BBB000011A9091021AA091031AB091041A80936D
+:10BBC000091A90930A1AA0930B1AB0930C1A209199
+:10BBD0007509309176094091770950917809209341
+:10BBE000051A3093061A4093071A5093081A78944E
+:10BBF000E0924E1AF0924F1A0093501A1093511A75
+:10BC000020E030E040E050E02093261A3093271ADD
+:10BC10004093281A5093291A8093521A9093531ADA
+:10BC2000A093541AB093551A1092321A1092331AE4
+:10BC30001092341A1092351A20932A1A30932B1A24
+:10BC400040932C1A50932D1AE092561AF092571ADC
+:10BC50000093581A1093591A80935A1A90935B1AAA
+:10BC6000A0935C1AB0935D1A1092621AA6C08091DC
+:10BC7000FB190E949E5CF8948091011A9091021A1F
+:10BC8000A091031AB091041A8093091A90930A1A8A
+:10BC9000A0930B1AB0930C1A209175093091760974
+:10BCA00040917709509178092093051A3093061A2C
+:10BCB0004093071A5093081A7894E0924E1AF09223
+:10BCC0004F1A0093501A1093511A20E030E040E0D0
+:10BCD00050E02093261A3093271A4093281A509345
+:10BCE000291A8093521A9093531AA093541AB0931E
+:10BCF000551A1092321A1092331A1092341A109266
+:10BD0000351A20932A1A30932B1A40932C1A5093E9
+:10BD10002D1AE092561AF092571A0093581A10935F
+:10BD2000591A80935A1A90935B1AA0935C1AB09395
+:10BD30005D1A1092621A1DC08091361A9091371ABE
+:10BD4000A091381AB091391A2091321A3091331AD1
+:10BD50004091341A5091351A820F931FA41FB51FBA
+:10BD60008093361A9093371AA093381AB093391AE1
+:10BD700024C0E0925E1AF0925F1A0093601A10934A
+:10BD8000611A1BC08091F7199091F819A091F919C7
+:10BD9000B091FA190196A11DB11D8093F7199093E6
+:10BDA000F819A093F919B093FA1980E200E010E0B5
+:10BDB00020E030E00E943922DD248091F319809345
+:10BDC000F419D092F3198FEB9EE160E377E00E94C3
+:10BDD000D7AF8FEB9EE16091F6194AE050E00E94E8
+:10BDE00035AF8FEB9EE163E677E00E94D7AF8FEB34
+:10BDF0009EE16091F4194AE050E00E9435AF8FEB6C
+:10BE00009EE163E677E00E94D7AF8FEB9EE1609101
+:10BE1000F3194AE050E00E9447AF1F910F91FF9045
+:10BE2000EF90DF9008952F923F924F925F926F9222
+:10BE30007F928F929F92AF92BF92CF92DF92EF92BA
+:10BE4000FF920F931F93DF93CF9300D000D0CDB715
+:10BE5000DEB75B016C010E94C2A869837A838B8381
+:10BE60009C83F8946090011A7090021A8090031AD3
+:10BE70009090041A6092091A70920A1A80920B1A12
+:10BE800090920C1A8091750990917609A09177098A
+:10BE9000B09178098093051A9093061AA093071A17
+:10BEA000B093081A78941092F6198091F3198823A8
+:10BEB00009F4F8C08091FF19882309F0F3C080913C
+:10BEC000001A882309F0EEC02090561A3090571AB5
+:10BED0004090581A5090591AD201C1010F96A11DD5
+:10BEE000B11D8A159B05AC05BD0508F046C08091C3
+:10BEF0005A1A90915B1AA0915C1AB0915D1AA40134
+:10BF00009301281B390B4A0B5B0BCA01B901209323
+:10BF1000461A3093471A4093481A5093491A0E9480
+:10BF2000ECB22091790930917A0940917B095091C6
+:10BF30007C090E9453B220E030E040E850E40E94C7
+:10BF4000A2B36093261A7093271A8093281A9093AD
+:10BF5000291AA092561AB092571AC092581AD09223
+:10BF6000591A60925A1A70925B1A80925C1A9092D7
+:10BF70005D1A81E08093621A55C08091621A88230D
+:10BF800009F050C080915A1A90915B1AA0915C1AE6
+:10BF9000B0915D1A84017301E81AF90A0A0B1B0BB0
+:10BFA00035E0E316F10401051105E0F16091261A70
+:10BFB0007091271A8091281A9091291A2DEC3CEC47
+:10BFC0004CEC5DE30E944FB2882364F5C801B701D1
+:10BFD0000E94ECB22091790930917A0940917B0955
+:10BFE00050917C090E9453B27B018C01C601B501BE
+:10BFF00062197309840995090E94ECB220E030E0CF
+:10C0000040E752E40E9453B29B01AC01C801B70162
+:10C010000E9453B26093261A7093271A8093281AAD
+:10C020009093291A6092361A7092371A8092381AB1
+:10C030009092391A8091521A9091531AA091541AE1
+:10C04000B091551AA4019301281B390B4A0B5B0BC5
+:10C05000CA01B9012093321A3093331A4093341A2B
+:10C060005093351A0E94ECB22091790930917A09E7
+:10C0700040917B0950917C090E9453B260932A1A27
+:10C0800070932B1A80932C1A90932D1A0E94CF51E3
+:10C09000A0E0B0E080932E1A90932F1AA093301A4C
+:10C0A000B093311A2091F319243011F1253068F43E
+:10C0B000213009F4BDC2213008F425C2223009F430
+:10C0C00048C3233009F07AC429C1273009F42DC4AC
+:10C0D000283038F4253009F456C0263009F06EC4F3
+:10C0E000A2C3283009F4F6C0293009F067C446C15C
+:10C0F0008091FF19882309F01CC48091051A909142
+:10C10000061AA091071AB091081A88579C4EAF4F93
+:10C11000BF4F49815A816B817C8184179507A6079F
+:10C12000B70708F0E8C421C48091FD19882309F0FD
+:10C130004BC48091621A882309F446C48091121A74
+:10C140008F3F09F441C4882309F43EC40E94B659C4
+:10C150008130910571F08230910531F0892B09F021
+:10C1600033C40E941F5A15C488E08093F61988E1F1
+:10C1700004C089E08093F61989E1B601A5010E9407
+:10C18000AC5A87E01FC48091FF19882309F48BC043
+:10C190001092FF192093F6196090261A7090271AB2
+:10C1A0008090281A9090291AC401B30120E030E051
+:10C1B00040E85FE30E949EB318160CF0DEC3E090E7
+:10C1C0002E1AF0902F1A0091301A1091311A59E25C
+:10C1D000E516F1040105110508F4CFC380914E1A4C
+:10C1E00090914F1AA091501AB091511AA601950141
+:10C1F000281B390B4A0B5B0B2F31310541055105CB
+:10C2000008F4BBC3C401B30120E030E040E051E4D6
+:10C210000E94A2B30E94C0B2472F8091FB19282F21
+:10C2200030E0F999FECF1FBAC9018C51994F880FA0
+:10C23000991F92BD81BD60BD0FB6F894FA9AF99A24
+:10C240000FBEF999FECF1FBAC901880F991F8753F6
+:10C25000924F92BD81BD40BD0FB6F894FA9AF99AFB
+:10C260000FBEE2E016950795F794E794EA95D1F7AB
+:10C270008E2D8F3F09F48EEFF999FECF1FBA285DFE
+:10C28000314F32BD21BD80BD0FB6F894FA9AF99AAC
+:10C290000FBE89E0B601A50100E010E020E030E02B
+:10C2A0000E9439226AC38091051A9091061AA091C2
+:10C2B000071AB091081A88579C4EAF4FBF4F49815B
+:10C2C0005A816B817C8184179507A607B70708F010
+:10C2D0007BC34BC38091FF19882331F01092FF1963
+:10C2E00085E08093F61970C38091001A882321F4A9
+:10C2F0008091EB1585FD07C01092001A8DE08093A8
+:10C30000F61989E05FC38091FE19882309F45CC3A4
+:10C310001092FE1983E08093F61954C38091FF199F
+:10C32000882341F01092FF1985E08093F61988E088
+:10C330008093F51980915E1A90915F1AA091601A0E
+:10C34000B091611A0796A11DB11D8A159B05AC0518
+:10C35000BD0508F039C384E08093F6198091660921
+:10C36000882321F480915D09882331F08091121A8D
+:10C370008F3F11F485E026C384E024C380915E1AC8
+:10C3800090915F1AA091601AB091611A0696A11D52
+:10C39000B11D8A159B05AC05BD0508F015C384E0E9
+:10C3A0008093F619B601A50100E010E020E030E02E
+:10C3B0000E94392287E0B601A50100E010E020E0EC
+:10C3C00030E00E9439228BE59EE00E94B945182F8B
+:10C3D0008AE59EE00E94B945312F20E0280F311DEB
+:10C3E000442737FD4095542F8091361A9091371A83
+:10C3F000A091381AB091391A280F391F4A1F5B1FB4
+:10C4000020933E1A30933F1A4093401A5093411A9A
+:10C41000F999FECF1FBA8AE59EE092BD81BD20BD8D
+:10C420000FB6F894FA9AF99A0FBEF999FECF1FBA8F
+:10C430008BE59EE092BD81BD30BD0FB6F894FA9AAF
+:10C44000F99A0FBE2091361A3091371A8091381A16
+:10C450009091391A20933A1A30933B1A80933C1AE0
+:10C4600090933D1AF999FECF1FBA88E59EE092BDE0
+:10C4700081BD20BD0FB6F894FA9AF99A0FBEF999CA
+:10C48000FECF1FBA89E59EE092BD81BD30BD0FB6DB
+:10C49000F894FA9AF99A0FBE1092F5191092011AAF
+:10C4A0001092021A1092031A1092041A1092091A8A
+:10C4B00010920A1A10920B1A10920C1A10920D1A5E
+:10C4C00010920E1A10920F1A1092101AA0924A1A75
+:10C4D000B0924B1AC0924C1AD0924D1A1092361A42
+:10C4E0001092371A1092381A1092391A80E090E0A0
+:10C4F000A0E0B0E08093261A9093271AA093281A00
+:10C50000B093291A61C28091FE198823E1F110923B
+:10C51000FE1923E02093F6191092011A1092021AC4
+:10C520001092031A1092041A1092091A10920A1A01
+:10C5300010920B1A10920C1A10920D1A10920E1AD9
+:10C5400010920F1A1092101AA0924A1AB0924B1A17
+:10C55000C0924C1AD0924D1A1092361A1092371A75
+:10C560001092381A1092391A80E090E0A0E0B0E002
+:10C570008093261A9093271AA093281AB093291A09
+:10C580002093F51921C28091FF19882309F0D1C1A8
+:10C5900020910D1A30910E1A40910F1A5091101AD5
+:10C5A0008091091A90910A1AA0910B1AB0910C1A55
+:10C5B000281739074A075B0708F006C28FEB9EE190
+:10C5C00067E677E00E94D7AF40910D1A50910E1A9E
+:10C5D00060910F1A7091101A8FEB9EE12AE030E003
+:10C5E0000E94E4AE8FEB9EE163E677E00E94D7AF56
+:10C5F0004091091A50910A1A60910B1A70910C1A05
+:10C600008FEB9EE12AE030E00E94F3AE91E0909340
+:10C61000F6198091EB1585FF02C083E0D3C18091AC
+:10C620005D09823019F49093F519CEC182E0CAC138
+:10C630008091FF19882309F07CC18091FE1988231D
+:10C6400041F01092FE1973E0F72EF092F6198AE08D
+:10C6500091C08091051A9091061AA091071AB09185
+:10C66000081A88579C4EAF4FBF4F29813A814B81A2
+:10C670005C8182179307A407B50708F042C282E0E5
+:10C680008093F6198AE0B601A50100E010E020E0F1
+:10C6900030E00E9439225AC08091621A882309F43E
+:10C6A00093C180914A1A90914B1AA0914C1AB09163
+:10C6B0004D1AA6019501281B390B4A0B5B0BCA01C9
+:10C6C000B9012CE330E040E050E00E9457B4809183
+:10C6D000600990E0A0E0B0E082179307A407B507D7
+:10C6E00028F486E08093F61982E12CC06091361A16
+:10C6F0007091371A8091381A9091391A0E94ECB2D1
+:10C700002091790930917A0940917B0950917C09F7
+:10C710000E9453B27B018C0160915F0970E0882711
+:10C7200077FD8095982F0E94EEB29B01AC01C80165
+:10C73000B7010E949EB318160CF046C187E08093A3
+:10C74000F61981E1B601A5010E94AC5A1092F519C3
+:10C750003BC18091FF19882309F0EBC08091FE193D
+:10C76000882309F446C01092FE1963E0F62EF09279
+:10C77000F61984E1B601A50100E010E020E030E008
+:10C780000E9439221092011A1092021A1092031A72
+:10C790001092041A1092091A10920A1A10920B1A87
+:10C7A00010920C1A10920D1A10920E1A10920F1A63
+:10C7B0001092101AA0924A1AB0924B1AC0924C1AB8
+:10C7C000D0924D1A1092361A1092371A1092381AC7
+:10C7D0001092391A80E090E0A0E0B0E08093261A31
+:10C7E0009093271AA093281AB093291AF092F5195A
+:10C7F000EBC08091051A9091061AA091071AB0918A
+:10C80000081A88579C4EAF4FBF4F49815A816B81A0
+:10C810007C8184179507A607B70708F0D5C0209339
+:10C82000F61984E18FCF8091FF19882309F081C028
+:10C830008091051A9091061AA091071AB091081AD2
+:10C8400088579C4EAF4FBF4F29813A814B815C8105
+:10C8500082179307A407B50708F059C186C06091F5
+:10C86000261A7091271A8091281A9091291A20E08F
+:10C8700030E040E051E40E94A2B37B018C01609162
+:10C88000131A7091141A80E090E028EC30E040E038
+:10C8900050E00E9405B424E630E040E050E00E9401
+:10C8A00057B4CA01B9010E94ECB29B01AC01C801A6
+:10C8B000B7010E949EB318160CF086C08CE08093DE
+:10C8C000F61987E1B601A5010E94AC5A3091FB1917
+:10C8D000432F50E0CA0153E0959587955A95E1F7AB
+:10C8E000F999FECF8E53924F92BD81BD825C9D40DF
+:10C8F000F89A20B5F999FECF1FBA8E53924F92BD88
+:10C9000081BD81E090E002C0880F991F4A95E2F74F
+:10C91000282B20BD0FB6F894FA9AF99A0FBE832FF0
+:10C92000B601A5010E949D3628C08091FF19882379
+:10C9300031F01092FF1985E08093F6191EC08091A6
+:10C94000051A9091061AA091071AB091081A8857F3
+:10C950009C4EAF4FBF4F49815A816B817C818417B8
+:10C960009507A607B70708F0D8C082E08093F619AC
+:10C9700080E1B601A5010E94AC5A88E023C08091F5
+:10C98000FD19882309F58091621A8823E9F00E9435
+:10C990001F5A8130910519F00297B1F40AC08BE05B
+:10C9A0008093F61986E1B601A5010E94AC5A86E093
+:10C9B00009C08AE08093F61985E1F5CF8EE0809377
+:10C9C000F6198AE08093F5198091F619882331F0E1
+:10C9D0008091F519B601A5010E94465D8FEB9EE19D
+:10C9E00064E877E00E94D7AF8FEB9EE16091F61983
+:10C9F0004AE050E00E9435AF8FEB9EE163E677E0BE
+:10CA00000E94D7AF8FEB9EE16091F3194AE050E0AE
+:10CA10000E9435AF8FEB9EE163E677E00E94D7AFCF
+:10CA20008FEB9EE16091FB194AE050E00E9435AF28
+:10CA30008FEB9EE163E677E00E94D7AF4091091A41
+:10CA400050910A1A60910B1A70910C1A8FEB9EE1AB
+:10CA50002AE030E00E94E4AE8FEB9EE163E677E0EF
+:10CA60000E94D7AF4091261A5091271A6091281A38
+:10CA70007091291A8FEB9EE122E030E00E9475B0A0
+:10CA80008FEB9EE163E677E00E94D7AF40912E1ACC
+:10CA900050912F1A6091301A7091311A8FEB9EE1EC
+:10CAA0002AE030E00E94F3AE8091091A90910A1AB0
+:10CAB000A0910B1AB0910C1A80930D1A90930E1A34
+:10CAC000A0930F1AB093101A0F900F900F900F9021
+:10CAD000CF91DF911F910F91FF90EF90DF90CF905A
+:10CAE000BF90AF909F908F907F906F905F904F908E
+:10CAF0003F902F9008958091FC19882309F414CB5E
+:10CB000063CF80915D09823009F05ECFC5CD809101
+:10CB10006A09813009F058CFA2CE8091FC19882390
+:10CB200009F42DCF51CFEF92FF920F931F937B010A
+:10CB30008C010E94395B80912909882321F0C8016A
+:10CB4000B7010E94135F1F910F91FF90EF9008951E
+:10CB5000EF92FF920F931F93CF93DF938FEB9EE1A2
+:10CB60006DEC77E00E948BB00E949D521092011AEA
+:10CB70001092021A1092031A1092041A1092091AB3
+:10CB800010920A1A10920B1A10920C1A10920D1A87
+:10CB900010920E1A10920F1A1092101A60934A1ADD
+:10CBA00070934B1A80934C1A90934D1A1092361A28
+:10CBB0001092371A1092381A1092391A80E090E0C9
+:10CBC000A0E0B0E08093261A9093271AA093281A29
+:10CBD000B093291A7091530960E020915209620FB5
+:10CBE000711D882777FD8095982F0E94EEB220E076
+:10CBF00030E048EC52E40E9453B27B018C01609318
+:10CC0000790970937A0980937B0990937C0920E0DD
+:10CC100030E040E450E40E949EB318161CF481E01A
+:10CC20008093111A80915C09882381F4C801B701AF
+:10CC300028E234E442E750E40E94A2B36093790909
+:10CC400070937A0980937B0990937C0980915E09A7
+:10CC500080937D098091670980937E098FEB9EE127
+:10CC60006AEE77E00E94D7AF4091790950917A0936
+:10CC700060917B0970917C098FEB9EE122E030E0AE
+:10CC80000E9478B08FEB9EE16BEF77E00E94D7AF08
+:10CC90008FEB9EE160917D094AE050E00E9435AF44
+:10CCA0008FEB9EE163E677E00E94D7AF8FEB9EE1CA
+:10CCB00060917E094AE050E00E9447AF8FEB9EE111
+:10CCC00065E178E00E94D7AF8FEB9EE160915F094C
+:10CCD0004AE050E00E9435AF8FEB9EE163E677E0DB
+:10CCE0000E94D7AF8FEB9EE1609160094AE050E06F
+:10CCF0000E9447AF8FEB9EE163E478E00E94D7AFDC
+:10CD00008FEB9EE1609168094AE050E00E9435AFE8
+:10CD10008FEB9EE163E677E00E94D7AF8FEB9EE159
+:10CD200060915D094AE050E00E9435AF8FEB9EE1D3
+:10CD300063E677E00E94D7AF8FEB9EE160916A09CE
+:10CD40004AE050E00E9435AF8FEB9EE163E677E06A
+:10CD50000E94D7AF8FEB9EE1609166094AE050E0F8
+:10CD60000E9447AF08E21EE0C8010E94B945682F43
+:10CD70008093121A8FEB9EE14AE050E00E9435AF9B
+:10CD80008FEB9EE161E878E00E94D7AF0F5F1F4F05
+:10CD90002EE00835120741F78FEB9EE16FE277E056
+:10CDA0000E948BB0C9ECDDE0CE010E94B945182F7E
+:10CDB000CE0101970E94B94500E0B801680F711DCE
+:10CDC0007093141A6093131A8FEB9EE14AE050E0BF
+:10CDD0000E9407AF8FEB9EE161E878E00E94D7AF39
+:10CDE00022968EE0C932D807F9F68FEB9EE16FE20A
+:10CDF00077E00E948BB002EC1DE0F999FECF12BDE6
+:10CE000001BDF89A60B58FEB9EE14AE050E00E94C8
+:10CE100035AF8FEB9EE161E878E00E94D7AF0F5FFE
+:10CE20001F4F2DE0083C120741F78FEB9EE16FE2A8
+:10CE300077E00E948BB080916809882331F488E202
+:10CE40009EE00E94B9458823E9F410E0812F0E94FA
+:10CE500082591F5F1033D1F782EC9DE0F999FECF24
+:10CE60001FBA92BD81BD10BC0FB6F894FA9AF99A18
+:10CE70000FBE01962DE0883C920781F71092680959
+:10CE80000E94F54A8FEB9EE164E878E00E94D7AFFC
+:10CE90008FEB9EE1609168094AE050E00E9447AF45
+:10CEA00008E21EE08FEB9EE161E878E00E94D7AFD8
+:10CEB000C8010E94B945682F8093121A8FEB9EE13A
+:10CEC0004AE050E00E9435AF0F5F1F4F8EE00835FB
+:10CED000180741F78FEB9EE16FE277E00E948BB07D
+:10CEE000C9ECDDE08FEB9EE161E878E00E94D7AF0E
+:10CEF000CE010E94B945182FCE0101970E94B94575
+:10CF000000E0B801680F711D7093141A6093131A32
+:10CF10008FEB9EE14AE050E00E9407AF22962EE0A0
+:10CF2000C932D207F9F68FEB9EE16FE277E00E94FB
+:10CF30008BB002EC1DE0F999FECF12BD01BDF89A4D
+:10CF400060B58FEB9EE14AE050E00E9435AF8FEB79
+:10CF50009EE161E878E00E94D7AF0F5F1F4F8DE040
+:10CF6000083C180741F78FEB9EE16FE277E00E94E3
+:10CF70008BB0DF91CF911F910F91FF90EF900895AB
+:10CF80009C01F999FECF1FBA32BD21BD60BD0FB61D
+:10CF9000F894FA9AF99A0FBE0895EF92FF920F93C0
+:10CFA000CF93DF93DC01EB01722F532F002331F479
+:10CFB000822F932F9C01F90160E03EC0822F932FB6
+:10CFC000FC0160E019C08491332727FD309590E083
+:10CFD0002817390769F431968491882361F41196F2
+:10CFE0008C918D3329F4872F952FFC0161E003C0CC
+:10CFF000872F952FFC0111962C91222339F1203295
+:10D0000029F12A3019F16623F1F224C080819817A2
+:10D0100071F431968081882371F411968C918D334F
+:10D0200031F4872F952F9C01F90161E004C0872F0F
+:10D03000952F9C01F90111969C91992339F090321A
+:10D0400029F09A3019F0662309F304C0613011F019
+:10D0500030E018C07A2F50E04150504002C0299370
+:10D0600011963A2F371B2C91222359F0203249F088
+:10D070002A3039F0263229F0832F90E08417950763
+:10D0800074F31882E114F10411F0F7016083832F27
+:10D09000DF91CF910F91FF90EF900895CF93DF93A1
+:10D0A000FC01EC0137C08B3211F480E231C08532D3
+:10D0B00079F5DF0111969181392F30533A3070F0B4
+:10D0C000892F8156863010F4375208C0892F815439
+:10D0D000863010F030E002C0392F3753FD01319611
+:10D0E00011962C91922F90539A3070F0822F815686
+:10D0F000863010F4975208C0822F8154863010F089
+:10D1000090E002C0922F9753832F8295807F892BC6
+:10D11000899331968081882331F61882DF91CF91EF
+:10D1200008956F927F928F929F92BF92CF92DF92DB
+:10D13000EF92FF920F931F93DF93CF93CDB7DEB79C
+:10D1400028970FB6F894DEBF0FBECDBF8091490976
+:10D15000898380914A098A8380914B098B838091CE
+:10D160004C098C83BB243E010894611C711C85E032
+:10D17000882E912C8C0E9D1E6091A9096F5F609383
+:10D18000A909C3010E94B3820E94C2A86B017C015D
+:10D1900088EE93E0A0E0B0E0C80ED91EEA1EFB1EA8
+:10D1A0000E94C91A8C010E945183012B71F1C401A4
+:10D1B0006091A9090E943D7F882339F12D813E812C
+:10D1C0004F81588520583E474A4A534808C0B39477
+:10D1D00094E1B91689F620E030E040E050E0B90172
+:10D1E000CA0128960FB6F894DEBF0FBECDBFCF910F
+:10D1F000DF911F910F91FF90EF90DF90CF90BF9044
+:10D200009F908F907F906F9008950E94C2A86C1598
+:10D210007D058E059F0520F2DACF1F93CF93DF9314
+:10D22000182F8DB79EB70C970FB6F8949EBF0FBE00
+:10D230008DBFEDB7FEB73196C0E4D0E1ADB7BEB754
+:10D240001296DC93CE93119786E194E193838283C7
+:10D250008DE693E1958384838FE793E197838683BB
+:10D2600083EB93E19187808784ED93E193878287B5
+:10D270000E94EA1CEDB7FEB73C960FB6F894FEBFCD
+:10D280000FBEEDBF1123A1F000D000D0ADB7BEB7E7
+:10D290001296DC93CE93119784E194E114969C93BB
+:10D2A0008E9313970E94EA1C0F900F900F900F908F
+:10D2B000DF91CF911F9108958DB79EB70C970FB650
+:10D2C000F8949EBF0FBE8DBFEDB7FEB7319680E4D8
+:10D2D00090E1ADB7BEB712969C938E9311978BE3F6
+:10D2E00094E1938382838DE693E19583848381E245
+:10D2F00094E19783868384ED93E19187808783EB24
+:10D3000093E1938782870E94EA1C8DB79EB70C96A3
+:10D310000FB6F8949EBF0FBE8DBF08950F931F9355
+:10D320000E945C6900D000D000D0EDB7FEB7319606
+:10D3300000E410E1ADB7BEB712961C930E9311979F
+:10D3400082EE9EE09383828386E29EE095838483CF
+:10D350000E94EA1C00D0EDB7FEB73196ADB7BEB75C
+:10D3600012961C930E93119784EC9EE09383828314
+:10D3700089ED90E0958384838091420986831782AA
+:10D380000E94EA1C0F900F90EDB7FEB73196ADB733
+:10D39000BEB712961C930E93119781E99EE093837A
+:10D3A000828384E998E0958384830E94EA1C8DB788
+:10D3B0009EB706960FB6F8949EBF0FBE8DBF80E055
+:10D3C0001F910F9108950E945C698DB79EB70C97CD
+:10D3D0000FB6F8949EBF0FBE8DBFEDB7FEB7319666
+:10D3E00080E490E1ADB7BEB712969C938E931197EF
+:10D3F00088E190E19383828384E998E09583848334
+:10D400008AE998E09783868384EC98E09187808707
+:10D410008AEB98E0938782870E94EA1C8DB79EB7BB
+:10D420000C960FB6F8949EBF0FBE8DBF80E0089596
+:10D43000AF92BF92DF92EF92FF920F931F93CF9321
+:10D44000DF9300D000D000E410E1ADB7BEB7129674
+:10D450001C930E93119786EE9DE014969C938E93E9
+:10D4600013970E94EA1CFF240F900F900F900F90CB
+:10D47000D02EE12E23EEA22E2DE0B22EC1EEDDE065
+:10D480004FC00F2D10E000D000D000D0ADB7BEB718
+:10D490001196EDB7FEB7D182E2821396BC92AE929E
+:10D4A0001297F80193E0F595E7959A95E1F7E85022
+:10D4B000FA4E808190E098012770307002C09595F7
+:10D4C00087952A95E2F78170907015969C938E93BC
+:10D4D00014970E94EA1C8091F71590E001972DB7F0
+:10D4E0003EB72A5F3F4F0FB6F8943EBF0FBE2DBF29
+:10D4F00008171907A1F000D000D0ADB7BEB711963C
+:10D50000DC9211971296EC9212971496DC93CE93BC
+:10D5100013970E94EA1C0F900F900F900F90F394B6
+:10D520002091F715F21608F4ACCF00D000D000D04F
+:10D53000EDB7FEB7319680E490E1ADB7BEB7129675
+:10D540009C938E9311978FEC9DE093838283248329
+:10D5500015820E94EA1CEDB7FEB736960FB6F89416
+:10D56000FEBF0FBEEDBF61E070E080E090E00E9482
+:10D57000D0A8DF91CF911F910F91FF90EF90DF9096
+:10D58000BF90AF90089581E00E940D690E94186AD3
+:10D5900080E00895EF92FF920F936BE176E14FEFF9
+:10D5A00025EA3DE001E0EE24FF240E94CD678823B8
+:10D5B00011F480E105C08BE196E10E94032281E035
+:10D5C0000F91FF90EF900895CF93DF939C011092FD
+:10D5D0001B16FC01A081B181C0E0D0E00FC09C917E
+:10D5E0009D3231F09B3221F0892F80538A3068F4CC
+:10D5F000FE01E55EF94E908321961196F901808136
+:10D6000091810A96A817B90750F3C55ED94E1882C2
+:10D610001196F901B183A0838BE196E10E94030E7C
+:10D62000CB01DF91CF9108958F929F92AF92BF92DD
+:10D63000CF92DF92EF92FF920F931F93CF93DF93DE
+:10D64000EC016BE176E14FEF2BEC3DE001E0EE24E5
+:10D65000FF240E94CD67882309F483C08BE196E103
+:10D660000E94E50D6C0197FD7AC08091F71590E05E
+:10D67000C816D9060CF073C0CE016BE176E14FEF0E
+:10D6800028EC3DE00E94CD67882309F46AC08BE155
+:10D6900096E10E94E50D182F0E949D524B015C01FE
+:10D6A000112309F455C0CE016BE176E14FEF26EC72
+:10D6B0003DE00E94CD67882309F453C08BE196E1D9
+:10D6C0000E94030EEB01CB01019780529D4F08F0A1
+:10D6D00046C0A6014F5F5F4F2091ED1522952F7038
+:10D6E0003091EE15832F8295807F822B90E08417F6
+:10D6F0009507C9F132953F708091EF158295807F33
+:10D70000832B90E08417950771F1F601E954F64EEA
+:10D7100080818F3F51F0E82FF0E033E0EE0FFF1FE4
+:10D720003A95E1F7E95CF74E03C00E94F055FC0121
+:10D730003097C9F01082118212821382D583C4837C
+:10D74000C68283E68783C501B4010E94DE3405C02A
+:10D750008C2DB501A4010E949D3681E005C081E1B8
+:10D7600003C080E101C080E3DF91CF911F910F9151
+:10D77000FF90EF90DF90CF90BF90AF909F908F90F1
+:10D780000895AF92BF92CF92DF92EF92FF920F93E4
+:10D79000DF93CF93CDB7DEB7CF5FD0400FB6F8940D
+:10D7A000DEBF0FBECDBF6C014BE1A42E46E1B42E0F
+:10D7B000B5014FEF21EF3DE001E0EE24FF240E9490
+:10D7C000CD67882311F480E12EC0C6016E01089454
+:10D7D000C11CD11CB6014FEF2DEE3DE001E0EE245F
+:10D7E000FF240E94CD678823E9F0C501B60144E219
+:10D7F00050E00E94840E0097A9F4C5010E944E6873
+:10D8000010923E16F50101900020E9F7EB51F64128
+:10D8100080E498E0B501AF0120EC37E60E94EF0EFE
+:10D8200081E001C083E0C150DF4F0FB6F894DEBF46
+:10D830000FBECDBFCF91DF910F91FF90EF90DF90A2
+:10D84000CF90BF90AF900895EF92FF920F93CF9338
+:10D85000DF93EC016BE176E14FEF21E13EE001E087
+:10D86000EE24FF240E94CD67882311F18BE196E11D
+:10D870000E944E6810924B16ABE1B6E1FD0180812B
+:10D88000803209F08D938081882311F03196F7CF93
+:10D89000ABE1B6E1FD0101900020E9F7EA1BFB0BCB
+:10D8A00084E998E0BD01AF0120EC37E60E94EF0E5D
+:10D8B000CE016BE176E14FEF2DE03EE001E0EE249A
+:10D8C000FF240E94CD67882311F18BE196E10E942D
+:10D8D0004E6810924B16ABE1B6E1FD0180818032BB
+:10D8E00009F08D938081882311F03196F7CFABE159
+:10D8F000B6E1FD0101900020E9F7EA1BFB0B84EC87
+:10D9000098E0BD01AF0120EC37E60E94EF0E8FEFEB
+:10D91000DF91CF910F91FF90EF9008952F923F925A
+:10D920004F925F926F927F928F929F92AF92BF922F
+:10D93000CF92DF92EF92FF920F931F93DF93CF93DB
+:10D94000CDB7DEB727970FB6F894DEBF0FBECDBFB9
+:10D950003C01B9E2AB2EB9E0BB2E1F8244248824DF
+:10D96000CC24DD24A2E02A2E312C2C0E3D1E1C2DB1
+:10D970001B3409F487C0183109F484C0CC2009F4A1
+:10D9800081C01E3009F47EC0183209F47BC010310A
+:10D9900009F478C01B3209F475C0C601F501508046
+:10D9A000F601EC5DF94F9490F1E09F1611F4F5014A
+:10D9B0001082D101E6EDF9E025E001900D922150B1
+:10D9C000E1F7BE016D5F7F4F4AE050E00E940B0F10
+:10D9D000C3016BE176E14FEF910100E0EE24FF24FB
+:10D9E0000E94CD678823D1F1F1E09F1619F4F5016B
+:10D9F000908234C08BE196E10E94030E9B01AC0142
+:10DA0000143141F0173231F0133121F0163211F098
+:10DA1000113139F4C9010E944B8B282F30E040E0CE
+:10DA200050E08091F5158C3D49F41E3139F4F2E057
+:10DA30005595479537952795FA95D1F757FD0CC021
+:10DA4000892D90E0A0E0B0E082179307A407B50706
+:10DA50001CF0F501208302C0F1E0FF83F501808115
+:10DA6000851581F0812F8150823010F44424439435
+:10DA7000812F8052843010F4442443941F3111F4D8
+:10DA8000882483940894C11CD11C0894A11CB11C47
+:10DA9000FCE4CF16D10409F06ACFEBE1CE2EE6E12B
+:10DAA000DE2EC301B6014FEF29E03EE001E0EE2497
+:10DAB000FF240E94CD678823E1F0C6010E944E68D2
+:10DAC00010924A16C60164E678E00E94058B88230E
+:10DAD00081F0F60101900020E9F7EC19FD0984E6D8
+:10DAE00098E0B601AF0120EC37E60E94EF0E8824E3
+:10DAF000839419827BE1C72E76E1D72EC301B6014C
+:10DB00004FEF23E03EE001E07E010894E11CF11CB0
+:10DB10000E94CD678823E9F0C6010E944E681092EA
+:10DB20003216C60164EF78E00E94058B882321F14C
+:10DB3000F60101900020E9F7EC19FD0984EF98E067
+:10DB4000B601AF0120EC37E60E94EF0E88248394E3
+:10DB500013C08981882381F010921B16F601019071
+:10DB60000020E9F7EB51F64184EF98E0B601AF01F0
+:10DB700020EC37E60E94EF0E19826BE1C62E66E1BB
+:10DB8000D62EC301B6014FEF2DEF3DE001E07E013F
+:10DB90000894E11CF11C0E94CD67882399F0C6010E
+:10DBA0000E944E6810921917F60101900020E9F7C3
+:10DBB0003197EC19FD098DE994E0B601AF0120E041
+:10DBC00030E013C08981882391F010921B16F60172
+:10DBD00001900020E9F73197EB51F6418DE994E08F
+:10DBE000B601AF0120E030E001E00E94118C80918D
+:10DBF0002B09882319F5C3016BE176E14FEF29EF7B
+:10DC00003DE001E0EE24FF240E94CD678823B1F0BF
+:10DC10008BE196E10E94030E162F072FF82EE92EB6
+:10DC20000E94AA35612F702F8F2D9E2D0E94E989A9
+:10DC3000612F702F8F2D9E2D0E9497195BE1C52EAD
+:10DC400056E1D52EC301B6014FEF25EF3DE001E0CF
+:10DC5000EE24FF240E94CD678823B1F0C6010E9404
+:10DC60004E6810921A17F60101900020E9F73197DB
+:10DC7000EC19FD0989E894E0B601AF0120E030E03D
+:10DC80000E94118C882483942F81222311F081E13A
+:10DC900014C00E94F54A442029F08091EC1584605C
+:10DCA0008093EC15882041F01092121610921316F2
+:10DCB000109214161092151681E027960FB6F8945C
+:10DCC000DEBF0FBECDBFCF91DF911F910F91FF90AF
+:10DCD000EF90DF90CF90BF90AF909F908F907F900C
+:10DCE0006F905F904F903F902F9008952F923F92AA
+:10DCF0004F925F926F927F928F929F92AF92BF925C
+:10DD0000DF92EF92FF920F931F93CF93DF9357EA27
+:10DD1000A52E54E0B52EC0E0D0E04BE1242E46E124
+:10DD2000342E30E4832E30E1932E28EA422E22E175
+:10DD3000522E96EA692E92E1792EFE01E75DF64FAA
+:10DD40008081DC2E24E1C21789F037E2C31771F01D
+:10DD500093E1C91759F0A6E2CA1741F0B1E1CB1718
+:10DD600029F0E82EFF2400E010E007C00E945F8B3E
+:10DD70007C010027F7FC0095102FEEE1DE1669F418
+:10DD80008091F5158C3A09F45BC082E0EE0CFF1C23
+:10DD9000001F111F8A95D1F70BC0F0E1DF1609F4BF
+:10DDA0004FC02AE1D21621F48091EC1581FD48C0C4
+:10DDB00080912417813029F48D2D8B51823008F405
+:10DDC0003FC08BE196E1B50145E050E00E94EC8A4E
+:10DDD0008DB79EB70A970FB6F8949EBF0FBE8DBF42
+:10DDE000EDB7FEB73196ADB7BEB712969C928E9244
+:10DDF00011975382428235822482E682F78200871D
+:10DE000011870E94EA1CEDB7FEB73A960FB6F89458
+:10DE1000FEBF0FBEEDBFFBE4DF1691F000D000D0D7
+:10DE2000ADB7BEB712969C928E92119714967C92C3
+:10DE30006E9213970E94EA1C0F900F900F900F9014
+:10DE40002196E5E0F0E0AE0EBF1ECC34D10509F01E
+:10DE500074CF0E9497512DB73EB72A5030400FB66D
+:10DE6000F8943EBF0FBE2DBFEDB7FEB7319620E44C
+:10DE700030E1ADB7BEB712963C932E93119727E8C9
+:10DE800032E1338322839583848385E090E0978316
+:10DE900086838091F515808711860E94EA1CEDB774
+:10DEA000FEB73A960FB6F894FEBF0FBEEDBF61E025
+:10DEB00070E080E090E00E94D0A8DF91CF911F91A8
+:10DEC0000F91FF90EF90DF90BF90AF909F908F9059
+:10DED0007F906F905F904F903F902F90089581E0DA
+:10DEE0000E940D690E94766E80E00895AF92BF9205
+:10DEF000CF92DF92EF92FF920F931F93DF93CF9316
+:10DF0000CDB7DEB7C258D0400FB6F894DEBF0FBE13
+:10DF1000CDBF6C016BE176E14FEF2EEB32E101E01A
+:10DF2000EE24FF240E94CD67882309F4E1C08BE131
+:10DF300096E10E94E50D5C018FEFA8168FEFB80601
+:10DF40000CF4D8C08091351890E0A816B9060CF0F2
+:10DF5000D1C0C6016BE176E14FEF29EB32E10E94BF
+:10DF6000CD678E0101591F4F882361F08BE196E147
+:10DF70000E944E68C8016BE176E144E150E00E94E6
+:10DF8000920E17C0C80160EB72E10E943E0E9FEF37
+:10DF9000A9169FEFB90621F48091351890E001C0D1
+:10DFA000C5010196BE0169587F4F4AE050E00E94CA
+:10DFB0000B0FC6010E944E68DA82C98286010C5995
+:10DFC0001F4F0EC0C70164ED78E043E050E00E94AF
+:10DFD000840E009781F00894E11CF11CFA82E9821A
+:10DFE000E980FA80F7018081882309F481C0E01676
+:10DFF000F10640F37DC083E090E0E80EF91EFA825E
+:10E00000E9827E010894E11CF11CC7010E94E46AC8
+:10E010008B8383E0FE0133968183C7010E94E46A0B
+:10E020008D83C7010E94E46A8E8389819A8101965B
+:10E030009A838983C7010E94E46A98878F83C70106
+:10E040000E94E46A9A878987C7010E94E46A9C87D4
+:10E050008B87C7010E94E46A9E878D8789819A8198
+:10E0600002969A83898310E00DC0C7010E94E46A7A
+:10E07000E12FF0E03696EE0FFF1FEE0DFF1D9383AC
+:10E0800082831F5F8091F715181778F389819A8131
+:10E0900002969A838983CE0101960AC0E12FF0E0AF
+:10E0A0003696EE0FFF1FE80FF91F138212821F5FD3
+:10E0B0001033A0F38B8182958370833039F48E8185
+:10E0C000823020F0CE0105960E948656BE016D5F1B
+:10E0D0007F4F9FEFA9169FEFB90621F4CB010E9455
+:10E0E000AE5803C08A2D0E949758882329F402C095
+:10E0F00080E103C081E101C081E0CE57DF4F0FB660
+:10E10000F894DEBF0FBECDBFCF91DF911F910F916D
+:10E11000FF90EF90DF90CF90BF90AF900895EF9277
+:10E12000FF920F936BE176E14FEF22EC32E101E0D9
+:10E13000EE24FF240E94CD67882311F480E114C0EF
+:10E140008BE196E10E94E50D9C01181619065CF41E
+:10E150008091351890E0281739072CF4822F0E94FF
+:10E160001B5681E001C081E10F91FF90EF9008956F
+:10E17000EF92FF920F936BE176E14FEF26EC32E1E5
+:10E1800001E0EE24FF240E94CD67882311F480E192
+:10E1900018C08BE196E10E94E50D9C018FEF2F3FA7
+:10E1A000380719F40E940B560BC08091351890E087
+:10E1B0002817390714F081E104C0822F0E943058DB
+:10E1C00081E00F91FF90EF9008956F927F928F9270
+:10E1D0009F92AF92BF92CF92DF92EF92FF920F93F6
+:10E1E0001F93CF93DF938091EB1587FD02C080E2F0
+:10E1F0009BC081E00E940D699CE1692E96E1792E19
+:10E2000010E000E088EF882E912CB0E4EB2EB0E116
+:10E21000FB2EAEEDAA2EA2E1BA2EF7EFCF2EF2E141
+:10E22000DF2E60C0C12FD0E0CE01E3E09595879549
+:10E23000EA95E1F78655924F0E94B94590E09E011C
+:10E240002770307002C0959587952A95E2F780FF78
+:10E2500048C0C89D9001C99D300DD89D300D112436
+:10E2600084E994E06BE176E148EF50E00E949F8BF7
+:10E27000002311F401E012C000D000D0ADB7BEB74A
+:10E280001296FC92EE9211971496DC92CE9213970E
+:10E290000E94EA1C0F900F900F900F90EDB7FEB701
+:10E2A0003A970FB6F894FEBF0FBEEDBF3196ADB7EB
+:10E2B000BEB71296FC92EE921197B382A282D583DA
+:10E2C000C48380911B1686831782718660860E94A4
+:10E2D000EA1CEDB7FEB73A960FB6F894FEBF0FBE34
+:10E2E000EDBF1F5F8091F715181708F49BCF00D082
+:10E2F00000D080E490E1ADB7BEB712969C938E93A8
+:10E3000011978CED92E114969C938E9313970E9433
+:10E31000EA1C0F900F900F900F9061E070E080E08A
+:10E3200090E00E94D0A880E0DF91CF911F910F91E3
+:10E33000FF90EF90DF90CF90BF90AF909F908F9025
+:10E340007F906F9008959F92AF92BF92CF92DF928D
+:10E35000EF92FF920F931F93DF93CF9300D0CDB72F
+:10E36000DEB78C010E944E681A83098334E6C32EFF
+:10E37000D12CC00ED11E0DC0C80168ED78E043E07D
+:10E3800050E00E94840E009779F00F5F1F4F1A83B0
+:10E39000098309811A81F8018081882309F44DC01D
+:10E3A0000C151D0548F349C00D5F1F4F1A830983E3
+:10E3B0000E94AA35FF24EE245E010894A11CB11C22
+:10E3C0002EEF922E2EC0C5010E94E46A6C010097C8
+:10E3D00039F18F2D86958695869590E08256924FDD
+:10E3E0000E94B94590E02F2D277002C09595879522
+:10E3F0002A95E2F780FD14C00E94F0558C01009729
+:10E4000079F0FC011082118212821382C6010E94EF
+:10E410001D8BF801758364839782F682EE24E39462
+:10E42000F3948091F715F81670F2EE2031F00E9407
+:10E430009D520E94DE3481E001C080E10F900F9078
+:10E44000CF91DF911F910F91FF90EF90DF90CF90D0
+:10E45000BF90AF909F900895CF92DF92EF92FF927E
+:10E460000F93CF93DF936C016BE176E14FEF2EECCE
+:10E4700032E101E0EE24FF240E94CD67882311F4ED
+:10E4800080E12DC08BE196E10E94E50DEC0197FD46
+:10E4900025C08091351890E0C817D907FCF4C60153
+:10E4A0006BE176E14FEF2AEC32E101E0EE24FF244C
+:10E4B0000E94CD67882311F400E006C000E080913F
+:10E4C0001B16813309F401E00E94AA359E012F5FDB
+:10E4D000822F602F0E94B13581E001C081E1DF9180
+:10E4E000CF910F91FF90EF90DF90CF900895AF9272
+:10E4F000BF92DF92EF92FF920F931F93CF93DF9320
+:10E500007C01CB016BE176E10E94F24C00D000D09F
+:10E5100000D0EDB7FEB7319600E410E1ADB7BEB75D
+:10E5200012961C930E93119783E693E19383828353
+:10E53000F582E4820E94EA1CEE24EDB7FEB736961F
+:10E540000FB6F894FEBF0FBEEDBFD02EF12E40E601
+:10E55000A42E43E1B42ECEE5D3E140C000D000D0DC
+:10E5600000D0ADB7BEB71196EDB7FEB7D182F2823B
+:10E570001396BC92AE9212970E2D10E0F801E55E54
+:10E58000F94E808114968C93149715961C920E94D4
+:10E59000EA1C8091F61590E001972DB73EB72A5FEF
+:10E5A0003F4F0FB6F8943EBF0FBE2DBF0817190797
+:10E5B000A1F000D000D0ADB7BEB71196DC92119794
+:10E5C0001296FC9212971496DC93CE9313970E94A6
+:10E5D000EA1C0F900F900F900F90E3948091F61526
+:10E5E000E81608F4BBCF00D000D080E490E1EDB78E
+:10E5F000FEB7928381838BE593E1948383830E94AA
+:10E60000EA1C0F900F900F900F90DF91CF911F9108
+:10E610000F91FF90EF90DF90BF90AF9008952F92F1
+:10E620003F924F925F926F927F928F929F92AF92A2
+:10E63000BF92CF92DF92EF92FF920F931F93DF93DF
+:10E64000CF93CDB7DEB729970FB6F894DEBF0FBED4
+:10E65000CDBF4C01162F5A01CA01BE016C5F7F4F1E
+:10E660000E94F24CDE011196E3EEF9E083E00190A6
+:10E670000D928150E1F7198310E062E0262E312CD3
+:10E680002C0E3D1E2E010894411C511C54E0652E99
+:10E69000712C6C0E7D1E1DC0C12EDD24C601B10182
+:10E6A0004AE050E00E940B0FC4016BE176E14FEFAE
+:10E6B000920100E0EE24FF240E94CD67882341F000
+:10E6C0008BE196E10E94E50DC60CD71CF601808314
+:10E6D0001F5F8091F6151817F8F2C501BE016C5F37
+:10E6E0007F4F0E94964C29960FB6F894DEBF0FBE5E
+:10E6F000CDBFCF91DF911F910F91FF90EF90DF90F1
+:10E70000CF90BF90AF909F908F907F906F905F90D1
+:10E710004F903F902F9008958F929F92AF92BF920B
+:10E72000CF92DF92EF92FF920F931F93DF93CF93DD
+:10E73000CDB7DEB760970FB6F894DEBF0FBECDBF82
+:10E740006C0183E78D831E821F82188610E0F5E03E
+:10E750008F2E912C8C0E9D1EE6E0AE2EB12CAC0EB1
+:10E76000BD1E1DC0812F90E0B5014AE050E00E941F
+:10E770000B0FC6016BE176E14FEF940100E0EE2450
+:10E78000FF240E94CD67882349F08BE196E10E9427
+:10E790004E68812F6BE176E10E949D4C1F5F809156
+:10E7A000F7151817F8F2C6016DE64CE85DE00E9417
+:10E7B0000F73C60169E642E95DE00E940F73C6016E
+:10E7C0006EE648E95DE00E940F73C60164E64EE91B
+:10E7D0005DE00E940F73C60161E744EA5DE00E94BC
+:10E7E0000F7385E089831A82DE011196FD01019085
+:10E7F0000020E9F73197EA1BFB0B80EB9DE0BD01A0
+:10E80000AF0120EC37E60E94EF0E86E08B831C827E
+:10E81000DE011396FD0101900020E9F73197EA1B14
+:10E82000FB0B86EB9DE0BD01AF0120EC37E60E94BB
+:10E83000EF0E8091EB1587FF06C0C60160E74AEA3C
+:10E840005DE00E940F73C6016BE176E14FEF28EDAA
+:10E8500032E101E0EE24FF240E94CD67882309F411
+:10E860007DC08BE196E10E94E50D182F8091F71590
+:10E87000811708F475C0C6016BE176E14FEF25ED15
+:10E8800032E101E0EE24FF240E94CD67882309F4E1
+:10E8900069C07CE1A72E76E1B72EC601B5014EEF27
+:10E8A00022ED32E10E94CD67882309F45BC080919C
+:10E8B0001B16805380931B1610921217833069F534
+:10E8C00030911D16305180911C162AE08202C00141
+:10E8D0001124380F20911E16DE011996EBEDF9E098
+:10E8E00088E001900D928150E1F7FE01399690E0A9
+:10E8F000AE014F5E5F4F05C08081831709F491E040
+:10E900003196E417F50719F09923B1F302C0992362
+:10E9100039F12053223020F50EC0843061F4C50156
+:10E920000E944E68F50101900020E9F7ED51F64193
+:10E93000E83FF105A8F4ABE1B6E1FD01019000204C
+:10E94000E9F7EA1BFB0B28EF129F9001112484E9E1
+:10E9500094E0BD01AF0100E00E94118C81E003C092
+:10E9600081E101C080E160960FB6F894DEBF0FBE72
+:10E97000CDBFCF91DF911F910F91FF90EF90DF906E
+:10E98000CF90BF90AF909F908F900895EF92FF929D
+:10E990000F939C01809142098823B1F4C9016BE176
+:10E9A00076E14FEF2AE633E101E0EE24FF240E94F6
+:10E9B000CD67882351F08BE196E10E944E688BE190
+:10E9C00096E10E94C145811181E00F91FF90EF9087
+:10E9D0000895882371F080914610909147102091FE
+:10E9E000441030914510821B930B61E10E942E81EF
+:10E9F00008958091461090914710209144103091D5
+:10EA00004510821B930B60E10E942E8110924310EF
+:10EA10001092421086EC9AE0909345108093441037
+:10EA200090934710809346100895DF92EF92FF92E3
+:10EA30000F931F93CF93DF938C010E94B1811092AB
+:10EA400043101092421086EC9AE090934510809308
+:10EA500044109093471080934610B5E0EB2EF12CB4
+:10EA6000E00EF11ED80115965C91503219F40E9407
+:10EA70008E69CAC0E9EEFCE0C0E0D0E0652F7727E0
+:10EA800067FD7095D8011696DC2E849190E086176C
+:10EA9000970709F0C4C031962491319730E04C912A
+:10EAA000842F992787FD90952817390709F0B7C05B
+:10EAB00087010D5F1F4F533719F4453791F536C065
+:10EAC0005A3679F54F3611F0413659F5C8010E9492
+:10EAD000C674882359F581E00E940D69EDB7FEB731
+:10EAE00038970FB6F894FEBF0FBEEDBF319680E4A5
+:10EAF00090E1ADB7BEB712969C938E93119788E5BF
+:10EB00009DE09383828387EA94E095838483809158
+:10EB10002909868317820E94EA1CEDB7FEB7389652
+:10EB200048C0C8010E94C674882331F1CC0FDD1F94
+:10EB3000C158D64FE881F981C8010995182F88235B
+:10EB4000E9F18F3FD1F40E945C6900D000D000D081
+:10EB5000EDB7FEB7319680E490E1ADB7BEB712963F
+:10EB60009C938E93119785E59DE09383828384E146
+:10EB70009DE09583848318C012E081E00E940D69B6
+:10EB800000D000D000D0EDB7FEB7319680E490E120
+:10EB9000ADB7BEB712969C938E93119788E49DE013
+:10EBA00093838283148315820E94EA1CEDB7FEB71B
+:10EBB00036960FB6F894FEBF0FBEEDBFF5E1DF1637
+:10EBC00019F581E00E940D6900D000D000D0EDB7AA
+:10EBD000FEB7319680E490E1ADB7BEB712969C9334
+:10EBE0008E9311978BE39DE09383828380E290E084
+:10EBF000958384830E94EA1CEDB7FEB736960FB664
+:10EC0000F894FEBF0FBEEDBF81E00E94E974DF9172
+:10EC1000CF911F910F91FF90EF90DF900895D394C3
+:10EC200021963296C531D10509F02ECFC7CF2F924C
+:10EC30003F924F925F926F927F928F929F92AF928C
+:10EC4000BF92CF92DF92EF92FF920F931F93DF93C9
+:10EC5000CF93CDB7DEB7A2970FB6F894DEBF0FBE45
+:10EC6000CDBF4C018091EB1587FD02C080E28FC1C2
+:10EC7000C4016BE176E14FEF21EC3DE001E0EE24D1
+:10EC8000FF240E94CD678823B9F08BE196E10E94B2
+:10EC9000E50D7C0121E08E36920708F075C10E94D7
+:10ECA0009D5220E831E541E050E00E9457B45901FF
+:10ECB0006901CE18DF083EC0C4016BE176E14FEF79
+:10ECC0002BEB3DE001E0EE24FF240E94CD6788237A
+:10ECD00009F45CC18BE196E10E94030E5B016C01BB
+:10ECE000C4016BE176E14FEF27EB3DE00E94CD6779
+:10ECF000882309F44BC1C601B50120E831E541E0A4
+:10ED000050E00E9479B469018BE196E10E94030E04
+:10ED100020E831E541E050E00E9479B459012C151A
+:10ED20003D0508F431C1C9018C199D098E569140E9
+:10ED300008F02AC119821A821B821C82C4011E019A
+:10ED40000894211C311CB10144E022EB3DE001E0BC
+:10ED5000EE24FF240E94CD67482E80E00E940D69BA
+:10ED600000D000D000E410E1ADB7BEB712961C93FE
+:10ED70000E93119780EB9DE014969C938E931397BE
+:10ED80000E94EA1C99240F900F900F900F9089E039
+:10ED9000682E712C6C0E7D1E502E812ED3C0C601A4
+:10EDA0006BE176E14AE050E00E940B0F8BE196E1C7
+:10EDB0000E94DA2188E090E16BE176E10E94239FD6
+:10EDC000882309F4BCC019861B8618861F82E4E0DC
+:10EDD000FAE0FE83ED83C3016BE176E141E00E943E
+:10EDE000719D02C099249394C3016BE176E14FEFCA
+:10EDF00050E020E030E00E948E981816190624F0AA
+:10EE0000C3010E9475959BC0109219171BE1E12E5A
+:10EE100016E1F12E03C00894E11CF11CD7018C917E
+:10EE2000882311F38C32B9F7B701625070408CED32
+:10EE300098E042E050E00E94840E0097B1F0870114
+:10EE40000E5F1F4F8FED98E0B80142E050E00E9446
+:10EE5000840E009751F482EE98E0B80142E050E051
+:10EE60000E94840E009709F4BFCF87010E5F1F4FE9
+:10EE7000442051F0C101B80142E050E00E94840EEC
+:10EE8000009709F0B1CF14C085EE98E0B80142E0D8
+:10EE900050E00E94840E009709F4A6CF88EE98E017
+:10EEA000B80142E050E00E94840E009709F49CCF24
+:10EEB000992081F000D000D0EDB7FEB75182828258
+:10EEC0002EEA3DE0348323830E94EA1C0F900F90CA
+:10EED0000F900F9000D000D000D0EDB7FEB7319664
+:10EEE000ADB7BEB711965C92119712968C922BEA31
+:10EEF0003DE0338322838BE196E1958384830E94F6
+:10EF0000EA1C809146109091471020914410309156
+:10EF10004510821B930BA8E7B5E0A81BB90BEDB712
+:10EF2000FEB736960FB6F894FEBF0FBEEDBFA03504
+:10EF3000B1050CF057CF80E00E94E97453CF0894DC
+:10EF4000C11CD11CAC14BD0408F029CF00D000D0E6
+:10EF500080E490E1ADB7BEB712969C938E93119763
+:10EF600089EA9DE014969C938E9313970E94EA1C65
+:10EF70000F900F900F900F9061E070E080E090E0B4
+:10EF80000E94D0A880E003C081E101C080E1A29688
+:10EF90000FB6F894DEBF0FBECDBFCF91DF911F91AA
+:10EFA0000F91FF90EF90DF90CF90BF90AF909F9028
+:10EFB0008F907F906F905F904F903F902F9008952B
+:10EFC000CF92DF92EF92FF920F931F93CF93DF9335
+:10EFD0006C016BE176E14FEF22E23EE001E0EE24CE
+:10EFE000FF240E94CD67882311F00E949420C6015F
+:10EFF0006BE176E14FEF2EE13EE001E0EE24FF24ED
+:10F000000E94CD67882371F08BE196E10E94E50DA7
+:10F01000181619063CF40E945C6981E00E94E974AC
+:10F020000E942845C6016BE176E14FEF2BE13EE0FF
+:10F0300001E0EE24FF240E94CD67882399F080919F
+:10F040001B16813339F48091EB1580FD0BC00E94B3
+:10F05000684C08C0803331F48091EB1580FF02C00A
+:10F060000E945E4CC6016BE176E14FEF28E13EE085
+:10F0700001E0EE24FF240E94CD67882361F18BE13B
+:10F0800096E10E94E50DEC0118161906F4F40E94B1
+:10F090009D527B018C01BE01882777FD8095982FBA
+:10F0A00020E13EE040E050E00E9405B4E60EF71E8D
+:10F0B000081F191FE092E315F092E4150093E5157F
+:10F0C0001093E6150E948E4C06C0009711F081E166
+:10F0D00026C00E947E4CC6016BE176E14FEF25E130
+:10F0E0003EE001E0EE24FF240E94CD678823B1F0CA
+:10F0F00080911B16813341F480915409882371F467
+:10F1000081E08093540908C0803341F48091540910
+:10F11000882321F0109254090E94F54A81E0DF9182
+:10F12000CF911F910F91FF90EF90DF90CF900895B6
+:10F130002F923F924F925F927F928F929F92AF92C7
+:10F14000BF92CF92DF92EF92FF920F931F93DF93C4
+:10F15000CF9300D00F92CDB7DEB70E949D525B01D6
+:10F160006C012DB73EB7225330400FB6F8943EBF26
+:10F170000FBE2DBFEDB7FEB7319600E410E1ADB77D
+:10F18000BEB712961C930E9311978FE79FE093835F
+:10F190008283A482B582C682D7828091F615808749
+:10F1A00011868091EB158170828713868091EB1513
+:10F1B00086958170848715868091EB158695869556
+:10F1C0008170868717868091E3159091E415A09150
+:10F1D000E515B091E615808B918BA28BB38B84E6FD
+:10F1E00098E0958B848B84EF98E0978B868B809149
+:10F1F000DF159091E015918F808F8091E1159091AE
+:10F20000E215938F828F8091E7159091E815A09178
+:10F21000E915B091EA15848F958FA68FB78F8091ED
+:10F22000121690911316A0911416B091151680A382
+:10F2300091A3A2A3B3A38091161690911716A09143
+:10F240001816B091191684A395A3A6A3B7A380910D
+:10F25000E71980A711A68091E81982A713A68091CB
+:10F26000E9199091EA1995A784A78091EB199091DB
+:10F27000EC19A091ED19B091EE1986A797A7A0AB54
+:10F28000B1AB0E94EA1C8091EB15EDB7FEB7F29688
+:10F290000FB6F894FEBF0FBEEDBF86FF1EC00E94E2
+:10F2A000CF5100D000D000D0EDB7FEB73196ADB74A
+:10F2B000BEB712961C930E93119724E73FE0338359
+:10F2C0002283958384830E94EA1CEDB7FEB73696AD
+:10F2D0000FB6F894FEBF0FBEEDBF80915B09813081
+:10F2E00091F52DB73EB72A5030400FB6F8943EBF87
+:10F2F0000FBE2DBFEDB7FEB7319680E490E1ADB7FC
+:10F30000BEB712969C938E9311978DE59FE09383E1
+:10F3100082838091461A9091471AA091481AB09121
+:10F32000491A84839583A683B7838FE090E0918701
+:10F3300080870E94EA1CEDB7FEB73A960FB6F894A4
+:10F34000FEBF0FBEEDBF00D000D000E410E1ADB7AE
+:10F35000BEB712961C930E93119783E59FE0149607
+:10F360009C938E9313970E94EA1C90E00F900F904D
+:10F370000F900F9078010FE41FE023C000D000D061
+:10F3800000D0EDB7FEB73196ADB7BEB71196EC928F
+:10F3900011971296FC9213830283A92FB0E0A85014
+:10F3A000BA4E8C918483158299830E94EA1C9981BC
+:10F3B0009F5FEDB7FEB736960FB6F894FEBF0FBE4F
+:10F3C000EDBF8091F61540E4442E40E1542E98178D
+:10F3D000A8F200D000D0ADB7BEB712965C924E92A4
+:10F3E000119785E49FE014969C938E9313970E9447
+:10F3F000EA1C99240F900F900F900F90C201742C6B
+:10F40000892E3AE3232E3FE0332E28E7422E25E0D3
+:10F41000522E9AC0E92DF0E0FB83EA83E954F64EC0
+:10F42000E081EF3F61F1F0E093E0EE0FFF1F9A956E
+:10F43000E1F7E95CF74EE080F1800281138184817D
+:10F440009581AE14BF04C006D106A8F09C0140E02F
+:10F4500050E02E0D3F1D401F511F2A193B094C093A
+:10F460005D09203060E0360761E0460760E056073E
+:10F4700008F0F6C0F9C09C0140E050E0F5C0EE2471
+:10F48000FF24870180E090E020E030E040E050E0A1
+:10F49000ADB7BEB71E970FB6F894BEBF0FBEADBFD7
+:10F4A000EDB7FEB7319611967C92119712968C9219
+:10F4B00033822282958384832683378340875187D2
+:10F4C000E286F386048715870E94EA1C8091F7156F
+:10F4D00090E00197EDB7FEB73E960FB6F894FEBFE9
+:10F4E0000FBEEDBF2A813B81281739071CF086E348
+:10F4F0009FE002C088E39FE000D000D0ADB7BEB768
+:10F5000011967C92119712968C92129714969C9356
+:10F510008E9313970E94EA1C809146109091471099
+:10F520002091441030914510821B930BF201E81B8F
+:10F53000F90B0F900F900F900F90E035F1051CF430
+:10F5400080E00E94E97493948091F715981608F46E
+:10F5500061CF0BE116E189E894E0B8014FEF50E08C
+:10F5600020E030E00E949F8B8823F1F000D000D093
+:10F5700000D0EDB7FEB7319680E490E1ADB7BEB7ED
+:10F5800012969C938E9311978AE29FE093838283D5
+:10F59000158304830E94EA1CEDB7FEB736960FB6BA
+:10F5A000F894FEBF0FBEEDBF0BE116E18DE994E0CC
+:10F5B000B8014FEF50E020E030E00E949F8B88239D
+:10F5C000F1F000D000D000D0EDB7FEB7319680E466
+:10F5D00090E1ADB7BEB712969C938E9311978CE1D4
+:10F5E0009FE093838283158304830E94EA1CEDB716
+:10F5F000FEB736960FB6F894FEBF0FBEEDBF00D033
+:10F6000000D080E490E1ADB7BEB712969C938E9384
+:10F6100011978AE19FE014969C938E9313970E9412
+:10F62000EA1C0F900F900F900F9061E070E080E067
+:10F6300090E00E94D0A80F900F900F90CF91DF9193
+:10F640001F910F91FF90EF90DF90CF90BF90AF9000
+:10F650009F908F907F905F904F903F902F90089554
+:10F6600020E030E040E050E0878190E011CF81E081
+:10F670000E940D690E94987880E008952F923F9231
+:10F680004F925F926F927F928F929F92AF92BF92B2
+:10F69000CF92DF92EF92FF920F931F93DF93CF935E
+:10F6A000CDB7DEB7C058D0400FB6F894DEBF0FBE5E
+:10F6B000CDBF2DB73EB72E5030400FB6F8943EBFA9
+:10F6C0000FBE2DBFEDB7FEB7319600E410E1ADB728
+:10F6D000BEB712961C930E93119788E492E1938320
+:10F6E000828380913518848315828091F6158683F4
+:10F6F000178280E190E09187808784E090E0938793
+:10F70000828784E190E0958784870E94EA1CEE243A
+:10F71000EDB7FEB73E960FB6F894FEBF0FBEEDBF35
+:10F720005E010894A11CB11CF02E012FA8E3CA2E83
+:10F73000A2E1DA2E8F2C912EFEE12F2EF2E13F2E48
+:10F74000E1E24E2EE2E15E2E78E7672E75E0772E3D
+:10F7500054C18E2DB5010E941958898182958370FC
+:10F76000833039F48C81823020F0CE0103960E94E0
+:10F77000B0562DB73EB72A5030400FB6F8943EBF72
+:10F780000FBE2DBFEDB7FEB73196ADB7BEB7119620
+:10F79000FC92119712960C932CE332E1338322836F
+:10F7A0008981848315828B81868317828C818087EF
+:10F7B00011860E94EA1C0F900F900F900F90EDB7EA
+:10F7C000FEB73196ADB7BEB71196FC92119712965F
+:10F7D0000C93D382C2828D819E81958384830E9403
+:10F7E000EA1CEDB7FEB73196ADB7BEB71196FC92E5
+:10F7F000119712960C93D382C2828F81988595833C
+:10F8000084830E94EA1CEDB7FEB73196ADB7BEB750
+:10F810001196FC92119712960C93D382C28289851D
+:10F820009A85958384830E94EA1CEDB7FEB73196D2
+:10F83000ADB7BEB71196FC92119712960C9322E3C6
+:10F8400032E1338322838B859C85958384830E9458
+:10F85000EA1C10E04DB75EB74A5F5F4F0FB6F894F1
+:10F860005EBF0FBE4DBF2DC08DB79EB708970FB6B8
+:10F87000F8949EBF0FBE8DBF2DB73EB72F5F3F4F91
+:10F88000EDB7FEB7F18202834EE252E1F9015383F4
+:10F890004283AA0FBB1FAA0DBB1D8D919C91A0E0B6
+:10F8A000B0E084839583A683B7830E94EA1C1F5F20
+:10F8B0002DB73EB7285F3F4F0FB6F8943EBF0FBE3F
+:10F8C0002DBF212F30E08091F71590E00197D901ED
+:10F8D00016962817390744F24DB75EB74850504086
+:10F8E0000FB6F8945EBF0FBE4DBF2DB73EB72F5F6A
+:10F8F0003F4FEDB7FEB78182928248E252E1F901B3
+:10F9000053834283AA0FBB1FAA0DBB1D8D919C91EF
+:10F91000A0E0B0E084839583A683B7830E94EA1CAD
+:10F920002DB73EB7285F3F4F0FB6F8943EBF0FBECE
+:10F930002DBF8BE196E1BE0163597F4F44E150E05A
+:10F940000E94920E10922F1600D000D000D0EDB77A
+:10F95000FEB73196ADB7BEB711968C92119712963D
+:10F960009C9225E232E1338322834BE156E15583B9
+:10F9700044830E94EA1C2E2D30E08091351890E0DF
+:10F980000197ADB7BEB716960FB6F894BEBF0FBEBF
+:10F99000ADBF2817390749F000D000D0EDB7FEB74A
+:10F9A000F1820283548243820EC000D000D0ADB7F2
+:10F9B000BEB71196FC92119712960C93129714965B
+:10F9C0003C922E9213970E94EA1C0F900F900F907A
+:10F9D0000F908091461090914710209144103091E3
+:10F9E0004510821B930BF301E81BF90BEA3FF1056D
+:10F9F0001CF480E00E94E974E39480913518E816C5
+:10FA000008F4A7CE00D000D080E490E1ADB7BEB737
+:10FA100012969C938E9311978BE192E114969C938E
+:10FA20008E9313970E94EA1C0F900F900F900F90E7
+:10FA300061E070E080E090E00E94D0A8C058DF4F05
+:10FA40000FB6F894DEBF0FBECDBFCF91DF911F91EF
+:10FA50000F91FF90EF90DF90CF90BF90AF909F906D
+:10FA60008F907F906F905F904F903F902F90089570
+:10FA700081E00E940D690E943E7B80E008958F9294
+:10FA80009F92AF92BF92CF92DF92EF92FF920F932D
+:10FA90001F93CF93DF9385E593E16CE87DE00E94AF
+:10FAA000777289E493E162E97DE00E94777282E4F3
+:10FAB00093E168E97DE00E9477728AE393E16EE961
+:10FAC0007DE00E94777282E393E164EA7DE00E9428
+:10FAD00077728AE293E160EB7DE00E94777282E2C6
+:10FAE00093E166EB7DE00E9477728091EB1587FFD2
+:10FAF00006C08AE193E16AEA7DE00E94777200D055
+:10FB000000D000E410E1ADB7BEB712961C930E937F
+:10FB100011978FE093E114969C938E9313970E9414
+:10FB2000EA1CFF240F900F900F900F90E02E012FF2
+:10FB30008BE1882E86E1982E1AE0A12E13E1B12EDA
+:10FB4000B8E0CB2EB3E1DB2EC8E7D5E051C08F2D56
+:10FB50006BE176E10E94FC4C00D000D000D0EDB704
+:10FB6000FEB73196ADB7BEB71196EC9211971296CB
+:10FB70000C93B382A282958284820E94EA1C2F2D6C
+:10FB800030E08091F71590E00197EDB7FEB736961B
+:10FB90000FB6F894FEBF0FBEEDBF28173907A1F0CE
+:10FBA00000D000D0ADB7BEB71196EC921197129667
+:10FBB0000C9312971496DC92CE9213970E94EA1C33
+:10FBC0000F900F900F900F908091461090914710DA
+:10FBD0002091441030914510821B930BFE01E81BCD
+:10FBE000F90BE035F1051CF480E00E94E974F39410
+:10FBF0008091F715F81608F4AACF00D000D000D0F5
+:10FC0000EDB7FEB7319680E490E1ADB7BEB712967E
+:10FC10009C938E93119789EF92E19383828388E17D
+:10FC200090E0958384830E94EA1CEDB7FEB7369678
+:10FC30000FB6F894FEBF0FBEEDBF61E070E080E04C
+:10FC400090E00E94D0A8DF91CF911F910F91FF907B
+:10FC5000EF90DF90CF90BF90AF909F908F900895DE
+:10FC600081E00E940D690E943F7D80E008950F931E
+:10FC70001F9381E00E940D6900D000D000E410E1E4
+:10FC8000EDB7FEB71283018388E99DE094838383F7
+:10FC90000E94EA1C0F900F900F900F900E9498788E
+:10FCA00080E00E94E97400D000D0EDB7FEB7128367
+:10FCB00001838AE89DE0948383830E94EA1C0F906D
+:10FCC0000F900F900F900E943E7B80E00E94E9749D
+:10FCD00000D000D0EDB7FEB7128301838DE79DE021
+:10FCE000948383830E94EA1C0F900F900F900F90D3
+:10FCF0000E94766E80E00E94E97400D000D0EDB7DB
+:10FD0000FEB71283018381E79DE0948383830E9481
+:10FD1000EA1C0F900F900F900F900E94186A80E0DD
+:10FD20000E94E97400D000D0EDB7FEB712830183C2
+:10FD300083E69DE0948383830E94EA1C0F900F90DA
+:10FD40000F900F900E943F7D00D000D0EDB7FEB71E
+:10FD50001283018381E69DE0948383830E94EA1CE1
+:10FD60000F900F900F900F9061E070E080E090E0B6
+:10FD70000E94D0A880E01F910F910895DF92EF922A
+:10FD8000FF920F931F93CF93DF93D82E862FBA0144
+:10FD9000213041F4675F7F4F9B0140E050E06950A4
+:10FDA00070400EC0223029F020E030E040E050E00A
+:10FDB00007C0625070409B0140E050E06E5F7F4F93
+:10FDC000E82EFF2480E99AE0E80EF91E8B01E70196
+:10FDD0000FC0F881E0E0898190E08E2B9F2BA0E09E
+:10FDE000B0E0280F391F4A1F5B1F229602501040B7
+:10FDF0000230110570F7CB018E7FD701A80FB91F14
+:10FE00006817790779F08C9190E0A0E0B0E0BA2F04
+:10FE1000A92F982F882702C040E050E0280F391FF3
+:10FE20004A1F5B1FCA01AA27BB270097A105B1057E
+:10FE300099F7C90180959095ED2DF0E0E057F54FC9
+:10FE400090838183DF91CF911F910F91FF90EF906D
+:10FE5000DF9008951092A80A1092A90A80E4809376
+:10FE6000A40A1092A50A8093A60A88E16EE044E1F4
+:10FE700050E020E00E94BE7E0895282F662321F0E6
+:10FE80008091B50A8617E1F48091B60A8823C1F4FF
+:10FE90008091B70A8833A1F48091B30A8B3781F43B
+:10FEA000E22FF92F8091E20A83838091E30A828313
+:10FEB0008091E40A81838091E50A808381E008953E
+:10FEC00080E008958091631A8695809581700895E9
+:10FED0008091740A80959091700A892B8093780A9A
+:10FEE0008091750A80959091710A892B8093790A87
+:10FEF0008091760A80959091720A892B80937A0A74
+:10FF00008091770A80959091730A892B80937B0A60
+:10FF100008959093781A8093771A70937A1A609361
+:10FF2000791A50937C1A40937B1A83E895E1909359
+:10FF30007E1A80937D1A1092801A10927F1A309345
+:10FF4000821A2093811A3091090920910A098FE7BA
+:10FF500097E890936B1A80936A1A81EE95E89093D4
+:10FF60006D1A80936C1A2093661A3093671A81E099
+:10FF70008093641A8091651A8F5F87708093651AE9
+:10FF80008093761A08959093781A8093771A7093D5
+:10FF90007A1A6093791A50937C1A40937B1A81E7FE
+:10FFA00095E190937E1A80937D1A1092801A109298
+:10FFB0007F1A3093821A2093811A30910909209177
+:10FFC0000A098FE797E890936B1A80936A1A80EB7F
+:10FFD00096E890936D1A80936C1A2093661A30936A
+:10FFE000671A81E08093641A8091651A8F5F877029
+:10FFF0008093651A8093761A08950F931F939093B8
+:020000021000EC
+:10000000781A8093771A10927A1A1092791A70934C
+:100010007C1A60937B1A50937E1A40937D1A30931A
+:10002000801A20937F1A1093821A0093811A3091BC
+:10003000090920910A098FE797E890936B1A80933A
+:100040006A1A81EE95E890936D1A80936C1A20934A
+:10005000661A3093671A81E08093641A8091651A5A
+:100060008F5F87708093651A8093761A1F910F9126
+:1000700008950F931F939093781A8093771A509353
+:100080007A1A4093791A70937C1A60937B1A1092B3
+:100090007E1A10927D1A3093801A20937F1A109343
+:1000A000821A0093811A3091090920910A098FE779
+:1000B00097E890936B1A80936A1A81EE95E8909373
+:1000C0006D1A80936C1A2093661A3093671A81E038
+:1000D0008093641A8091651A8F5F87708093651A88
+:1000E0008093761A1F910F9108950F931F93BC016F
+:1000F00000E91AE0C8010E94978EC80106966AE6D8
+:100100007AE00E94978E1F910F910895EF92FF92CF
+:100110000F931F937B010E9475800EEA1AE0C801BD
+:10012000B7010E949F8EC801049760E77AE00E94A1
+:100130009F8E1F910F91FF90EF900895EF92FF9285
+:100140000F931F93CF93DF937C01EB018A018EE61F
+:100150009AE10E9486808881807F803E49F0888174
+:100160009981AA81BB818F5F9F4FAF4FBF4F31F401
+:1001700080E99AE066EE79E00E94978E88E08093AD
+:100180009C0A10929D0A8EE99AE06EE474E149E0BF
+:1001900050E00E942A0E1092A00A81E18093A70AE3
+:1001A0001093B40A0093B50AF092B20AE092B30A2F
+:1001B0001092B60A1092B80A1092B90ADF91CF9144
+:1001C0001F910F91FF90EF900895EF92FF920F9380
+:1001D0001F9306E91AE0C8010E94758074E1E72EBA
+:1001E000F12CE00EF11EC8014896B7010E949F8EC7
+:1001F000C70160E77AE00E949F8E0E942A7F1F91CC
+:100200000F91FF90EF900895BC0110928F0A109209
+:100210008E0A81E08093631A8CE79AE00E949F8E99
+:1002200008950F931F938C0188969093A00A809352
+:10023000A10A0E942A7F1092C20A1092C30A045E89
+:100240001F4F82E36AE1A80122E00E94BE7EC8013E
+:100250004A960E94521B1F910F910895EF92FF92B0
+:100260000F931F937C018091831A9091841AA0911F
+:10027000851AB091861A2B2F3327442755272093B0
+:10028000B60AA093B70A9093B80A8093B90A60930C
+:10029000BF0AC7010E94118100E010E08091831A1B
+:1002A0009091841AA091851AB091861A8E0D9F1D87
+:1002B000A01FB11F8093831A9093841AA093851A6C
+:1002C000B093861A1F910F91FF90EF900895CF93EE
+:1002D000DF939C01862F80618093BF0A643029F0F0
+:1002E0002115310511F421E030E09091B40A80919C
+:1002F000B20A8093B40A9093B20A9091B50A8091A1
+:10030000B30A8093B50A9093B30AC9EBDAE0888107
+:10031000A901480F511D2C814C832883252F332799
+:1003200021975AE0C53BD50791F71D861E8680E5CB
+:1003300089871092A00A88E28093A10A0E94E58032
+:1003400084E08B871C8682E36AE14CE150E022E086
+:100350000E94BE7E86E390E00E94521BDF91CF9107
+:1003600008958091741A9091751A60E00E946781D7
+:100370008091B60A90E0A0E0B0E0BA2FA92F982FA4
+:1003800088272091B70A820F911DA11DB11DBA2F98
+:10039000A92F982F88272091B80A820F911DA11D9F
+:1003A000B11DBA2FA92F982F88272091B90A820F43
+:1003B000911DA11DB11D8093831A9093841AA0935F
+:1003C000851AB093861A0895E82F4091B40A50E038
+:1003D000292F30E04217530709F092C08091B50AE7
+:1003E0008E1709F08DC08091BF0AE82F81FF4EC0A3
+:1003F0001092A00A8CE28093A10A0E94E58082E11B
+:100400008093BF0A9091B40A8091B20A8093B40A93
+:100410009093B20A9091B50A8091B30A8093B50A7D
+:100420009093B30AE9EBFAE021E030E08081A90182
+:10043000480F511D44831082252F332731975AE0EE
+:10044000E53BF50799F71586168611821282809191
+:10045000AB09838314828D5F8093AB0982E0818B2B
+:1004600084E0828B95E0938B148A80E68187938762
+:1004700088E7848782E36AE140E250E022E00E945C
+:10048000BE7E8AE390E00E94521B3AC084FF38C0CF
+:100490009091A00A80E02091A10A30E0282B392B0E
+:1004A0008091BE0A482F50E0A4E055954795AA9543
+:1004B000E1F7CA01880F991F880F991F281B390B74
+:1004C0002451304037FF02C020E030E03093751AED
+:1004D0002093741A232B69F09A01220F331F220FE5
+:1004E000331F2E5D3F4F685070406217730740F016
+:1004F00009C0E0FF05C080E090E060E00E946781F5
+:1005000020E030E0C90108950F931F93DF93CF934C
+:100510000F92CDB7DEB78C01045E1F4F1093A00A77
+:100520000C511040802F845E8093A10A89830E9421
+:100530002A7F085F1F4F1093B60A898184518093E8
+:10054000B70A085F1F4F88E26AE1A80121E00E9414
+:10055000BE7EC8014A960E94521B0F90CF91DF9138
+:100560001F910F910895FF920F931F939C01F62EF8
+:100570008EE69AE1B9010E9486800CE91AE088E0D3
+:1005800080939C0A10929D0AC80102966EE474E161
+:1005900049E050E00E942A0E8CE48093A10A81E198
+:1005A0008093A70A0E942A7F1092B40A8BE7809357
+:1005B000B50A8AE08093B20AF092B30A1092B60AA2
+:1005C00088E38093B70A1092B80A1092B90A025EC3
+:1005D0001F4F80E3F80111928A95E9F7C80165E998
+:1005E00075E14AE050E00E942A0E88E26AE140E4A8
+:1005F00050E021E00E94BE7E8AE590E00E94521BFE
+:100600001F910F91FF900895EF92FF920F931F9308
+:10061000BC018EE69AE10E9486800CE91AE088E02F
+:10062000F82EF0929C0A10929D0AC80102966EE480
+:1006300074E149E050E00E942A0E84E58093A10A0B
+:10064000EE24E394E092A70A0E942A7FF092B20A75
+:100650001092B30A1092B40A1092B50A85E0809302
+:10066000B60A8091730A8093B70A1092B80AE09292
+:10067000B90AC8014E9662E470E048E350E00E9477
+:10068000600E84E262E240E450E020E00E94BE7E20
+:1006900082E690E00E94521B1F910F91FF90EF9015
+:1006A0000895DF92EF92FF920F931F93CF93DF9302
+:1006B000EC0180918C0A882319F0CE010E946F15FD
+:1006C000209709F0BFC08091631A8570F1F1809185
+:1006D0008E0A90918F0A892BC1F50E948A1A88236D
+:1006E000A1F186EE99E00E94758088E080939C0AD3
+:1006F000E6E0FE2EF0929D0A8EE99AE066E474E14F
+:1007000048E050E00E942A0E00EB1AE0D8011D924A
+:10071000FA94E9F7C8010A976AE67AE00E94978E90
+:10072000C80106966CE77AE00E949F8EC801049784
+:1007300060E77AE00E949F8E8091631A88608093C0
+:10074000631A8AE290E00E94521B80918E0A909177
+:100750008F0A019690938F0A80938E0A8091641A73
+:10076000813009F003C28091631A81FFFFC102E06A
+:100770000093641A8091AA098F5F8093AA098F71F0
+:100780001091651A1295110F107E182BE090661AC1
+:10079000D090671A8EE69AE168E87AE00E94868037
+:1007A00078E0F72EF0929C0A10929D0A8EE99AE06A
+:1007B0006EE474E149E050E00E942A0E8CE28093DE
+:1007C000A10A86E08093A70A0E942A7FE092B40AD9
+:1007D000D092B50A8BE08093B20A1093B30AE6EB8D
+:1007E000FAE0DF011D92FA94E9F78091AB0980935A
+:1007F000B80A8D5F8093AB0980E68093BE0A0093B0
+:10080000BF0A83E08093C00A1092C10A1092C20A04
+:100810001092C30A1092C40A1092C50A0093C60A25
+:1008200084E08093C70A0093C80A86E28093C90ACD
+:1008300082E36AE140E250E022E00E94BE7E8AE369
+:1008400090E0AFC0C932D10508F490C110919C0A64
+:10085000183009F096C180919D0A863009F091C147
+:1008600086EB9AE060E77AE044E050E00E944A0EAE
+:10087000009709F086C18091A50A813029F586E9A3
+:100880009AE00E9475801092A40A82E08093A50AE3
+:1008900080EB9AE066EA7AE00E94978E86EA9AE018
+:1008A0006AE67AE00E94978E86EB9AE06CEA7AE03C
+:1008B0000E949F8E8CEA9AE060E77AE00E949F8E09
+:1008C0008AE290E00E94521B8091631A83FF4EC11E
+:1008D0001091A50A123009F049C18CEA9AE06CE740
+:1008E0007AE044E050E00E944A0E009709F03EC1D1
+:1008F0008EE69AE166EA7AE00E94978E1093631A78
+:1009000035C1183009F032C180919D0A882309F061
+:100910002DC180919E0A853409F028C18EEA9AE0A3
+:1009200060E77AE044E050E00E944A0E0097A9F0A8
+:100930008EEA9AE068E77AE044E050E00E944A0ECE
+:10094000009759F08EEA9AE066EE79E044E050E0D4
+:100950000E944A0E009709F009C18091A70A8130D0
+:1009600019F58091B20A8830F9F4E091681AF09193
+:10097000691A309719F08AEA9AE009950E94E58091
+:100980001092B20A8091B40A883F28F08091B50A8B
+:100990008F5F8093B50A8091B40A885F8093B40A10
+:1009A000CE010E94521BE2C00E94A08A882351F00F
+:1009B0008091A70A813131F4CE010E94A58A882353
+:1009C00009F0D4C0C633D10528F48091A70A863037
+:1009D00009F0CCC08091B40A8B3009F0BEC08AEA1D
+:1009E0009AE068E87AE044E050E00E944A0E0097FE
+:1009F00009F0BCC08091BF0A382F82FF13C0E0917C
+:100A00006A1AF0916B1A309759F08091B50A829565
+:100A10008695877063E040E050E020E030E0099583
+:100A200085E090C09091A00A80E02091A10A022F59
+:100A300010E0082B192B8091BE0A482F50E064E08B
+:100A4000559547956A95E1F7CA01880F991F880F58
+:100A5000991F081B190B0451104017FF02C000E03A
+:100A600010E08091641A823079F531FF21C034FFA3
+:100A70001FC080E090E060E00E94678188E1809381
+:100A8000BF0AE0916C1AF0916D1A309719F420E0CA
+:100A900030E007C08091B30A8295869587700995EA
+:100AA0009C0183E08093641AC9010E9411815EC099
+:100AB00081E08093641A34FF03C080E090E002C0BC
+:100AC000C801019664E046C0833081F50115110527
+:100AD00079F1E0916A1AF0916B1A309749F1440F5D
+:100AE000551F440F551FCE0108974E5D5F4F841769
+:100AF000950708F4AC01C801840F951FC817D907E2
+:100B000010F0980103C09E01241B350B8091B50A9B
+:100B100082958695877060E0099580918D0A88237B
+:100B200019F0C80168E016C0C80108C08530F1F0AE
+:100B300030FF0BC08330D1F0C801019669E00E94FC
+:100B4000678186E08093641A11C00115110571F068
+:100B5000C80160E00E94678109C0809109099091F5
+:100B60000A09BE010E94E4819C0102C020E030E03D
+:100B7000C901DF91CF911F910F91FF90EF90DF900E
+:100B80000895CA32D10508F0BCCEF0CFBC018091E7
+:100B9000A70A8130A1F48091B20A882381F4809160
+:100BA000BA0A823461F48AEA9AE044E050E00E9492
+:100BB0004A0E9C0180E0232B19F481E0089580E027
+:100BC0000895AF92BF92CF92DF92EF92FF920F9370
+:100BD0001F93DF93CF93CDB7DEB728970FB6F89466
+:100BE000DEBF0FBECDBF26EC3AE03E832D833887B3
+:100BF0002F839091761A891709F09AC01C821B8264
+:100C00008BEC99E09A83898360917F1A7091801AA6
+:100C100061157105A9F58DB79EB70C970FB6F894BD
+:100C20009EBF0FBE8DBFEDB7FEB73196CE010196C8
+:100C3000ADB7BEB712969C938E93119780EC94E15A
+:100C4000938382838091771A9091781A9583848315
+:100C50008091791A90917A1A9783868380917B1A72
+:100C600090917C1A9187808780917D1A90917E1A4D
+:100C7000938782870E94EA1C8DB79EB70C9653C05B
+:100C800040917D1A50917E1A2091791A30917A1AEA
+:100C9000C090771AD090781A2115310511F42BEEF7
+:100CA00038E0E0907B1AF0907C1A4115510519F05C
+:100CB0000CEE18E004C00BEE18E047E554E1DB0150
+:100CC0000D900020E9F75D010894A108B108A61A6B
+:100CD000B70A8DB79EB742970FB6F8949EBF0FBE66
+:100CE0008DBFEDB7FEB73196CE010196ADB7BEB759
+:100CF00012969C938E93119788E594E19383828357
+:100D0000D582C48237832683F186E0865387428763
+:100D100015870487B786A686718B608B0E94EA1CB4
+:100D20008DB79EB742960FB6F8949EBF0FBE8DBF8B
+:100D30002F8138858D819E81281B390BC90128960A
+:100D40000FB6F894DEBF0FBECDBFCF91DF911F91DC
+:100D50000F91FF90EF90DF90CF90BF90AF900895EC
+:100D6000AF92BF92CF92DF92EF92FF920F931F93B9
+:100D7000DF93CF93CDB7DEB728970FB6F894DEBFD9
+:100D80000FBECDBF26EC3AE03E832D8338872F83FC
+:100D90009091761A891709F09AC01C821B828BECFD
+:100DA00099E09A83898360917F1A7091801A611506
+:100DB0007105A9F58DB79EB70C970FB6F8949EBF35
+:100DC0000FBE8DBFEDB7FEB73196CE010196ADB720
+:100DD000BEB712969C938E9311978DE495E1938301
+:100DE00082838091771A9091781A95838483809179
+:100DF000791A90917A1A9783868380917B1A9091C1
+:100E00007C1A9187808780917D1A90917E1A9387B2
+:100E100082870E94EA1C8DB79EB70C9653C0409102
+:100E20007D1A50917E1A2091791A30917A1AC090C9
+:100E3000771AD090781A2115310511F42BEE38E08D
+:100E4000E0907B1AF0907C1A4115510519F00CEED8
+:100E500018E004C00BEE18E044EE54E1DB010D9005
+:100E60000020E9F75D010894A108B108A61AB70AA5
+:100E70008DB79EB742970FB6F8949EBF0FBE8DBF39
+:100E8000EDB7FEB73196CE010196ADB7BEB712965B
+:100E90009C938E93119785EE94E193838283D58200
+:100EA000C48237832683F186E0865387428715877D
+:100EB0000487B786A686718B608B0E94EA1C8DB76B
+:100EC0009EB742960FB6F8949EBF0FBE8DBF2F817E
+:100ED00038858D819E81281B390BC90128960FB654
+:100EE000F894DEBF0FBECDBFCF91DF911F910F9160
+:100EF000FF90EF90DF90CF90BF90AF9008950F9349
+:100F00001F93CF93DF9389019091761A891759F037
+:100F1000E091811AF091821A84E060E070E040E094
+:100F200050E009952AC0662341F52D30310528F19E
+:100F3000C091811AD091821A2097F9F04756554FE7
+:100F40008FEE98E0BA0143E050E00E94840E9C01CD
+:100F500080E0232B09F081E06091BE0A70E0B4E0EC
+:100F600075956795BA95E1F7660F771F660F771F3E
+:100F70006E5D7F4FA801FE01099580E0DF91CF9162
+:100F80001F910F9108958F929F92AF92BF92CF922F
+:100F9000DF92EF92FF920F931F93CF93DF937B012A
+:100FA0008C01EA012CE330E040E050E00E9457B4AD
+:100FB0006883C801B7012CE330E040E050E00E94B4
+:100FC00057B4122F032FF42EE52E622F732F842F88
+:100FD000952F2CE330E040E050E00E9457B4698345
+:100FE000612F702F8F2D9E2D2CE330E040E050E0DC
+:100FF0000E9457B4122F032FF42EE52E622F732F69
+:10100000842F952F28E130E040E050E00E9457B453
+:101010006A83612F702F8F2D9E2D28E130E040E0F4
+:1010200050E00E9457B479018A01C801B7016C5F92
+:101030007F4F8F4F9F4F27E030E040E050E00E940D
+:1010400057B46F5F6B8320E0AA24BB24650101C005
+:101050002F5F822E9924F401EE54F84FCF01837054
+:101060009070892B99F4CF0164E670E00E9444B43B
+:10107000892B39F4CF0160E971E00E9444B4892BD7
+:1010800029F48EE691E0A0E0B0E004C08DE691E0A6
+:10109000A0E0B0E0A80EB91ECA1EDB1EC501A0E08C
+:1010A000B0E0E816F9060A071B0790F62E83F40154
+:1010B000EE54F84F83E0882E912C8E229F228114CB
+:1010C000910499F4CF0164E670E00E9444B4892B46
+:1010D00039F4CF0160E971E00E9444B4892B29F40E
+:1010E0008EE691E0A0E0B0E004C08DE691E0A0E0E3
+:1010F000B0E0A81AB90ACA0ADB0A980187010A19DE
+:101100001B092C093D09CF0164E670E00E9444B43C
+:101110007C01CF0160E971E00E9444B4AC01ECEEC7
+:10112000F9E060E0613051F48114910449F4E11474
+:10113000F10441F44115510529F002C0808103C03A
+:101140008CE101C08DE190E0A0E0B0E00817190744
+:101150002A073B0740F0081B190B2A0B3B0B6F5F5C
+:1011600031966C30F9F66F5F6D83802F8F5F8C83C3
+:10117000DF91CF911F910F91FF90EF90DF90CF9073
+:10118000BF90AF909F908F900895EF92FF920F9332
+:101190001F937B018C0180919E1A90919F1AA091C0
+:1011A000A01AB091A11AE816F9060A071B0771F0F8
+:1011B000C801B70143E95AE10E94C387E0929E1A31
+:1011C000F0929F1A0093A01A1093A11A1F910F91E9
+:1011D000FF90EF9008950E94C5888091981A90E042
+:1011E00008950E94C5888091961A90E008950E9403
+:1011F000C5888091971A90E008950E94C5888091D3
+:10120000941A90E008950E94C5888091951A90E004
+:1012100008954F925F926F927F928F929F92AF92BA
+:10122000BF92CF92DF92EF92FF920F931F93CF93D3
+:10123000DF934C01DC0116961C91612F70E080E079
+:1012400090E020E833E341EE51E00E9405B45B01F9
+:101250006C0122EB37E0E12FF0E0EE54F84F1DC0B7
+:10126000C90183709070892BB1F4C90164E670E004
+:101270000E9444B4892B39F4C90160E971E00E94ED
+:1012800044B4892B41F480E891E5A1E0B0E0A80ED8
+:10129000B91ECA1EDB1E2F5F3F4F2E173F0701F7F7
+:1012A000D40115968C91482E5524C90164E670E04E
+:1012B0000E9444B47C01C90160E971E00E9444B419
+:1012C0008C01C1E0D0E093E0692E712C6222732280
+:1012D00027C0C230D10591F46114710479F4E1148E
+:1012E000F10419F40115110549F480E89BE3A6E225
+:1012F000B0E0A80EB91ECA1EDB1E11C0FE01E551EA
+:10130000F64F608170E080E090E020E831E541E058
+:1013100050E00E9405B4A60EB71EC81ED91E219625
+:10132000C415D505B4F2D40112966C9170E080E03A
+:1013300090E020E13EE040E050E00E9405B47B01F7
+:101340008C01F401618170E080E090E02CE330E0FA
+:1013500040E050E00E9405B4E60EF71E081F191F7A
+:10136000D4018C91E80EF11C011D111D14966C9195
+:1013700070E061507040882777FD8095982F20E8B5
+:1013800031E541E050E00E9405B4E60EF71E081F6B
+:10139000191FEA0CFB1C0C1D1D1DB701C801DF91B4
+:1013A000CF911F910F91FF90EF90DF90CF90BF9062
+:1013B000AF909F908F907F906F905F904F90089527
+:1013C0006093AC097093AD098093AE099093AF0917
+:1013D00008956093891A70938A1A80938B1A909358
+:1013E0008C1A2091AC093091AD094091AE09509111
+:1013F000AF09260F371F481F591F20938D1A3093AE
+:101400008E1A40938F1A5093901A82E090E0909336
+:10141000921A8093911A0E94C2A860939A1A7093AC
+:101420009B1A80939C1A90939D1A0895EF92FF92B5
+:101430000F931F931CC02F5F3F4F4F4F5F4F209361
+:10144000891A30938A1A40938B1A50938C1A88EE1B
+:1014500093E0A0E0B0E0E80EF91E0A1F1B1FE09227
+:101460009A1AF0929B1A00939C1A10939D1A0E944C
+:10147000C2A8E0909A1AF0909B1A00919C1A1091C1
+:101480009D1A6E197F09800B910B2091891A30915A
+:101490008A1A40918B1A50918C1A685E7340804072
+:1014A000904048F680918D1A90918E1AA0918F1AD3
+:1014B000B091901A281739074A075B07E8F0E091C6
+:1014C000871AF091881A3097B9F00995611571055E
+:1014D0008105910519F00E94E9890EC020E030E0F5
+:1014E0008091911A9091921A892B11F021E030E0AD
+:1014F0003093921A2093911A6091891A70918A1AE6
+:1015000080918B1A90918C1A1F910F91FF90EF9000
+:1015100008959093881A8093871A8091891A9091E0
+:101520008A1AA0918B1AB0918C1A80938D1A90937D
+:101530008E1AA0938F1AB093901A0E94168A08955B
+:101540008091CA1A811181E00895CF92DF92EF92C3
+:10155000FF920F931F93CF93DF93C2EADAE130E05B
+:10156000CC24DD2429C02A814B818091B40A90E0EB
+:10157000042F10E080179107D9F49091B50A9217C3
+:10158000B9F48C818823A1F02091B70A30E028506B
+:101590003040F090B60AEE242E0D3F1DE881F9810F
+:1015A000892F942F6AEA7AE04AEB5AE0099531E0F4
+:1015B0000894C11CD11C25968091CA1A90E0C816C7
+:1015C000D9068CF2832FDF91CF911F910F91FF905D
+:1015D000EF90DF90CF9008951F93CF93DF93182F54
+:1015E000EA01282F392FD90105C0FB016F5F7F4F1A
+:1015F000E491ED938A2F811B90E08C179D07ACF34B
+:101600001C92DF91CF911F910895FC01CB01F999B4
+:10161000FECF92BD81BDF89A30B52081332349F0C9
+:10162000222339F00196321711F081E008953196A6
+:10163000EECF80E0321381E008952FEF8E3F9207C6
+:1016400049F46091E1157091E2152091DF15309118
+:10165000E0150EC02FEF8F3F9207B9F46091DF15B0
+:101660007091E01560567A4F2091E1153091E215A6
+:10167000621B730B80E090E02CE330E040E050E030
+:101680000E9405B49B01AC0103C09C0140E050E006
+:10169000B901CA01089522E08935920714F088E55E
+:1016A00092E02DEF883A920714F488EA9DEF885A69
+:1016B0009D4F65E070E00E9444B4862F0895813FFD
+:1016C00008F080EF25E0829F9001112428553240D8
+:1016D000C90108950F931F93DF93CF93CDB7DEB762
+:1016E0002C970FB6F894DEBF0FBECDBFBC01809122
+:1016F000EB1587FF19C08E010F5F1F4FC8010E94B5
+:101700003E0E88E090E163EF78E040E00E94429F67
+:1017100088E090E1B8010E94239F882329F088E0A7
+:1017200090E1B8010E94009F2C960FB6F894DEBF9E
+:101730000FBECDBFCF91DF911F910F9108958F9272
+:101740009F92AF92BF92CF92DF92EF92FF920F9350
+:101750001F93DF93CF93CDB7DEB7AA970FB6F89458
+:10176000DEBF0FBECDBFFC017B015A014901809154
+:10177000EB1587FD04C0FB01108280E03FC08E01A5
+:101780000F5F1F4FC801BF010E943E0E88E090E12D
+:1017900063EF78E040E00E94429F198A1B8A188A12
+:1017A0001F8684E09AE09E878D8781E1C82ED12C28
+:1017B000CC0EDD1EC601B80141E00E94719D882358
+:1017C00019F4F701108219C0A401662757FD60952E
+:1017D000762FC6010E940D93C601B701A50120E036
+:1017E00030E00E948E98EA0CFB1C0894E108F10896
+:1017F000F7011082C6010E94759581E0AA960FB686
+:10180000F894DEBF0FBECDBFCF91DF911F910F9136
+:10181000FF90EF90DF90CF90BF90AF909F908F9010
+:101820000895AF92BF92CF92DF92EF92FF920F9303
+:101830001F93DF93CF93CDB7DEB7AA970FB6F89477
+:10184000DEBF0FBECDBFFC016B015A017901809153
+:10185000EB1587FF37C0CE010196BF010E943E0EF7
+:1018600088E090E163EF78E040E00E94429F00232F
+:1018700019F042E550E002C042E450E084E09AE012
+:101880009E878D87188A1F861B8A198A8E010F5E94
+:101890001F4FC801BE016F5F7F4F0E94719D88235B
+:1018A00089F0A701662757FD6095762FC8010E9431
+:1018B0000D93CE010D96B601A5010E94DE9FC801D1
+:1018C0000E947595AA960FB6F894DEBF0FBECDBFE5
+:1018D000CF91DF911F910F91FF90EF90DF90CF900C
+:1018E000BF90AF9008959C01F999FECF32BD21BD04
+:1018F000F89A80B50895EF92FF920F931F93DF93AC
+:10190000CF93CDB7DEB7C454D0400FB6F894DEBF46
+:101910000FBECDBF0BE116E1C80164EC78E040E3F7
+:1019200050E023E73CE80E94D30EC80161E00E942A
+:10193000401789E0E82EF12CEC0EFD1E89E894E0BA
+:10194000B7014CE350E020E030E00E949F8B1C8206
+:101950001B828BEC99E09A8389831E830D83188701
+:101960000F838DB79EB70E970FB6F8949EBF0FBE2C
+:101970008DBFEDB7FEB73196CE010196ADB7BEB7BC
+:1019800012969C938E9311978AEA95E193838283B2
+:10199000809148098483158284E698E09783868342
+:1019A00084EF98E091878087809129098287138648
+:1019B000F586E4860E94EA1CD8010D900020E9F724
+:1019C0001197A01BB10BA00FB11F2EE037E1EDB7AF
+:1019D000FEB73E960FB6F894FEBF0FBEEDBF50E3C4
+:1019E00042E395E213C08C91B9016150704080329E
+:1019F00049F4F9015083FB01408392939F012150E8
+:101A0000304003C0F90180839B011197F6E1AB31AF
+:101A1000BF0749F78C91D9018C9300910909109166
+:101A20000A0980E590E090930A098093090981EA08
+:101A300095E1B9014FE955E122E33DE80E94897F34
+:101A400010930A0900930909CC5BDF4F0FB6F89495
+:101A5000DEBF0FBECDBFCF91DF911F910F91FF90E1
+:101A6000EF900895EF92FF920F931F93CF93DF9320
+:101A7000EB01C057D54F01C021968881882309F416
+:101A800017C18632C9F705C18BE196E10E94E50DC9
+:101A90009C0185E0213A380790F48091DF15909100
+:101AA000E0152817390759F03093E0152093DF151A
+:101AB0000E94734C80911A16816080931A16CE0191
+:101AC0006BE176E14FEF2CED35E101E0EE24FF24F0
+:101AD0000E94CD678823D9F08BE196E10E94E50D45
+:101AE0009C0185E0213A380790F48091E1159091AE
+:101AF000E2152817390759F03093E2152093E115C4
+:101B00000E94734C80911A16826080931A16CE013F
+:101B10006BE176E14FEF28ED35E101E0EE24FF24A3
+:101B20000E94CD67882311F18BE196E10E94030E9C
+:101B30009B01AC018091E7159091E815A091E91502
+:101B4000B091EA15281739074A075B0779F0209307
+:101B5000E7153093E8154093E9155093EA150E9474
+:101B6000734C80911A16846080931A16CE016BE133
+:101B700076E14FEF22ED35E101E0EE24FF240E94F3
+:101B8000CD678823B9F08BE196E10E94E50D9C01B9
+:101B90008B3F910578F48091400990E02817390730
+:101BA00049F0209340090E94F54A80911A168860F6
+:101BB00080931A16CE016BE176E14FEF2FEC35E101
+:101BC00001E0EE24FF240E94CD678823B9F08BE169
+:101BD00096E10E94E50D9C018D36910578F4809187
+:101BE0002A0990E02817390749F020932A090E9412
+:101BF000F54A80911A16806180931A16CE016BE126
+:101C000076E14FEF2CEC35E101E0EE24FF240E9459
+:101C1000CD67882351F18BE196E10E94E50DEC013F
+:101C200018161906F4F40E949D527B018C01BE0126
+:101C3000882777FD8095982F20E13EE040E050E036
+:101C40000E9405B4E60EF71E081F191FE092E31567
+:101C5000F092E4150093E5151093E6150E948E4C62
+:101C600004C0009711F40E947E4C0E949D52AB016B
+:101C7000BC01409316165093171660931816709374
+:101C8000191683E000E010E020E030E00E943922E5
+:101C90000FC0CE016BE176E14FEF23EE35E101E0BD
+:101CA000EE24FF240E94CD67882309F408CFECCEF0
+:101CB000DF91CF911F910F91FF90EF9008950F93B7
+:101CC0001F93CF93DF938C01C0E0D0E0F801EC0FBD
+:101CD000FD1F8FEB9EE160814AE050E00E9435AF2E
+:101CE000C33029F08FEB9EE16EE20E9430AE219668
+:101CF000C430D10559F7DF91CF911F910F9108950D
+:101D0000EF92FF920F931F939C017B010FEB1EE15B
+:101D1000C801B9010E94D7AFC7010E945F8EC801F8
+:101D20000E9438AE1F910F91FF90EF900895DC0153
+:101D3000FB0186E001900D928150E1F708959C012E
+:101D4000FB0180819181A281B381F901808391831C
+:101D5000A283B38308958091C10085FDFCCF80915B
+:101D6000C00085FFF8CF6093C60081E090E0089541
+:101D70001092CE1A1092CD1A8CEF99E09093CC1A53
+:101D80008093CB1A0895FF920F931F93CF93DF9305
+:101D90008B010E94C2A8EB01FF24FA9409C00E94A3
+:101DA000C2A86C1B7D0B6017710710F080E008C0A3
+:101DB000FEBC0DB407FEFDCF8EB58F3F81F781E0ED
+:101DC000DF91CF911F910F91FF900895FC018081C9
+:101DD00061E00E949BAA8FEF8EBD0DB407FEFDCF80
+:101DE0000895CF93DF93EC01DA016EBD0DB407FEC9
+:101DF000FDCF8C918EBD1196EC91119782E090E011
+:101E00000DB407FEFDCFEEBD22E08030920731F029
+:101E1000FD01E80FF91FE0810196F2CF0DB407FE36
+:101E2000FDCF8FEF8EBD0DB407FEFDCF8FEF8EBDC2
+:101E30000DB407FEFDCF8FEF8EBD0DB407FEFDCFB5
+:101E40008EB58B838F71853011F481E006C083E1FC
+:101E50008983CE010E94E68E80E0DF91CF910895C4
+:101E6000BF92CF92DF92EF92FF920F931F93CF9387
+:101E7000DF93EC016B017A010E94C2A88B01BB24A5
+:101E8000BA9409C00E94C2A8601B710B6D527140C8
+:101E900010F081E10BC0BEBC0DB407FEFDCF8EB5C6
+:101EA0008B838F3F79F38E3F39F08FE08983CE01AA
+:101EB0000E94E68E80E030C0D7011197EF28D9F05C
+:101EC0008FEF8EBD20E030E09FEF0BC00DB407FE1A
+:101ED000FDCF8EB59EBDF601E20FF31F80832F5F0D
+:101EE0003F4F2A173B0790F30DB407FEFDCF8EB589
+:101EF000AC0DBD1D8C931B828FEF8EBD0DB407FE04
+:101F0000FDCF8EB58FEF8EBD0DB407FEFDCF8EB524
+:101F1000CE010E94E68E81E0DF91CF911F910F915B
+:101F2000FF90EF90DF90CF90BF9008950F931F9395
+:101F30008C018FEC9AE1F80162810E94E29FF80126
+:101F4000808160E00E949BAA1F910F910895CF931A
+:101F5000DF93EC010E94968FCE0168E572E00E944B
+:101F6000C38E882389F08DEF8EBD0DB407FEFDCFA3
+:101F7000CE0168E572E00E94C38E882329F0CE016D
+:101F80000E94E68E81E006C082E18983CE010E9434
+:101F9000E68E80E0DF91CF9108950F931F93CF934A
+:101FA000DF93EC018B010E94968FCE0168E572E011
+:101FB0000E94C38E882361F0CE016CEFA8010E94BD
+:101FC000F18E882329F0CE010E94E68E81E006C0C2
+:101FD00085E18983CE010E94E68E80E0DF91CF917A
+:101FE0001F910F910895EF92FF920F931F938C0111
+:101FF0007B010E94968FC801B70140E052E00E9429
+:10200000308F1F910F91FF90EF900895FF920F93E3
+:102010001F93DF93CF9300D000D0CDB7DEB78C01F4
+:10202000F62E29833A834B835C830E94968FC801E6
+:1020300068E572E00E94C38E8F2D80648EBD0DB462
+:1020400007FEFDCFFE0131969E0123503040838173
+:102050008EBD0DB407FEFDCF3197E217F307B9F738
+:10206000FF2011F087E801C085E98EBD0DB407FEA1
+:10207000FDCF8CE0F81631F48FEF8EBD0DB407FE66
+:10208000FDCF8EB590E02FEF2EBD0DB407FEFDCF36
+:102090008EB587FF02C09150B9F7F80183830F9086
+:1020A0000F900F900F90CF91DF911F910F91FF90A4
+:1020B0000895AF92BF92CF92DF92EF92FF920F936B
+:1020C0001F93CF93DF93EC015A016B0178018901D3
+:1020D00067E320E030E040E050E00E940690CE014F
+:1020E00067E1A80197010E940690882311F089E01A
+:1020F00013C08C81833039F089E0AA0CBB1CCC1C46
+:10210000DD1C8A95D1F7CE0169E1A60195010E94F7
+:102110000690882339F087E08983CE010E94E68EFD
+:1021200080E004C0CE010E94E68E81E0DF91CF9175
+:102130001F910F91FF90EF90DF90CF90BF90AF90E5
+:102140000895CF92DF92EF92FF920F931F93CF9358
+:10215000DF93EC017A018B0169018C81833039F0C6
+:1021600099E0EE0CFF1C001F111F9A95D1F7CE01CC
+:1021700068E1A80197010E940690882319F086E083
+:1021800089830CC0CE016EEFA6010E94F18E8823D8
+:1021900029F0CE010E94E68E81E004C0CE010E94AB
+:1021A000E68E80E0DF91CF911F910F91FF90EF902D
+:1021B000DF90CF900895CF93DF93EC016CE020E0A7
+:1021C00030E040E050E00E940690882339F083E040
+:1021D0008983CE010E94E68E80E004C0CE010E9479
+:1021E000E68E81E0DF91CF910895CF93DF93EC01EC
+:1021F0009A01AB018C81833039F069E0220F331FE3
+:10220000441F551F6A95D1F7CE0162E10E940690E6
+:10221000882339F085E08983CE010E94E68E80E034
+:1022200004C0CE010E94E68E81E0DF91CF91089537
+:10223000CF92DF92EF92FF920F931F93CF93DF9392
+:10224000EC017A018B0169018C81833039F0B9E0AE
+:10225000EE0CFF1C001F111FBA95D1F7CE0161E1F2
+:10226000A80197010E940690882339F084E08983B1
+:10227000CE010E94E68E80E006C0CE01B60140E0AD
+:1022800052E00E94308FDF91CF911F910F91FF900C
+:10229000EF90DF90CF900895BF92CF92DF92EF92B0
+:1022A000FF920F931F93CF93DF93EC01B42E1C8208
+:1022B000198268830E94C2A86B01888161E00E9434
+:1022C0001EAA888161E00E949BAA8FEC9AE10E947D
+:1022D000FC9F80E48A838FEC9AE160E40E94E29F95
+:1022E00080E09FEF9EBD0DB407FEFDCF8F5F8A306B
+:1022F000C9F709C00E94C2A86C197D09615D7740C9
+:1023000010F081E063C0CE0160E020E030E040E00A
+:1023100050E00E940690813069F71FEFCE0168E01F
+:102320002AEA31E040E050E00E940690853011F446
+:1023300081E00DC080E01EBD0DB407FEFDCF9EB54F
+:102340008F5F8430C1F79B839A3A31F482E08C83AB
+:102350008C81823051F40DC00E94C2A86C197D0995
+:10236000615D7740D8F282E031C0EE24FF2487011E
+:102370000FC0E12CF12C012D80E4182F09C00E9420
+:10238000C2A86C197D09615D774010F08AE01EC01B
+:10239000CE0167E320E030E040E050E00E9406908C
+:1023A000CE0169E2A80197010E940690882339F7BF
+:1023B0008C81823031F5CE016AE320E030E040E0EC
+:1023C00050E00E940690882339F088E08983CE018E
+:1023D0000E94E68E80E01AC08FEF8EBD0DB407FE1E
+:1023E000FDCF8EB5807C803C11F483E08C8380E04F
+:1023F0009FEF9EBD0DB407FEFDCF2EB58F5F8330DE
+:10240000C1F7CE010E94E68EBA8281E0DF91CF91C2
+:102410001F910F91FF90EF90DF90CF90BF900895A4
+:102420000F931F93CF93DF93DC01EB018A0180E0D0
+:1024300090E020E2FE01E80FF91F208301968B3027
+:102440009105C1F757E040E024C0622F2E3219F009
+:102450008BEE95E107C05A3051F15AE048E018C0C0
+:10246000321729F1FC01019634913323C9F754172F
+:10247000F0F02132E0F02F37D0F4822F81568A31EC
+:1024800010F4622F6052FE01E40FF11D60834F5F74
+:1024900011962C91222311F02F32B9F6F801B18355
+:1024A000A08390E08881803219F091E001C090E033
+:1024B000892FDF91CF911F910F910895CF92DF92D5
+:1024C000EF92FF920F931F93DF93CF9300D000D032
+:1024D000CDB7DEB77C01FC0186899789A08DB18DCF
+:1024E00089839A83AB83BC8300E010E06E0108947B
+:1024F000C11CD11C49815A816B817C81D701149602
+:102500008D919C91159796010E9473A2882379F171
+:10251000D7011496ED91FC9115978481080F111D38
+:10252000B0E100301B0718F529813A814B815C81AD
+:102530008289803131F4285F3F4F40405040D0F2D3
+:1025400005C0285F3F4F4F4F5F40A0F2C801A0E099
+:10255000B0E029E0880F991FAA1FBB1F2A95D1F769
+:10256000F701828B938BA48BB58B81E001C080E057
+:102570000F900F900F900F90CF91DF911F910F91BF
+:10258000FF90EF90DF90CF900895CF93DF93EC0111
+:10259000FB018A818823D1F57D836C838289803118
+:1025A000C9F582E08A831E8A1F8A188E198E838954
+:1025B0009489A0E0B0E035E0880F991FAA1FBB1FE7
+:1025C0003A95D1F78A8B9B8BAC8BBD8B0FC083E088
+:1025D0008A8385899689A789B08D8E8B9F8BA88FDA
+:1025E000B98FCE010E945E92882381F081E08983B9
+:1025F0001E821F82188619861A861B861C861D86D7
+:102600001E861F86188A198A1B8201C080E0DF910E
+:10261000CF9108958032D1F7DACF6F927F928F9267
+:102620009F92AF92BF92CF92DF92EF92FF920F9361
+:102630001F93CF93DF93EC017A018B012A81222330
+:1026400009F480C08A899B89AC89BD898417950764
+:10265000A607B70708F476C085C0E114F1040105A8
+:10266000110551F41E821F82188619861A861B8650
+:102670001C861D8681E067C02A853B854C855D856B
+:10268000EC81FD81818590E00996215030404040E9
+:10269000504039014A01082E04C0969487947794DB
+:1026A00067940A94D2F72F5F3F4F4F4F5F4F0894C4
+:1026B000E108F108010911095701680104C0D69425
+:1026C000C794B794A7948A95D2F70894E11CF11C9B
+:1026D000011D111DA614B704C804D90428F0211542
+:1026E00031054105510549F48E899F89A88DB98D21
+:1026F0008E839F83A887B98716C0A618B708C80815
+:10270000D90811C04E815F81688579858C819D8152
+:1027100094010E9473A20894A108B108C108D108CD
+:10272000882331F40FC046E0842E912C8C0E9D1E20
+:10273000A114B104C104D10429F7EA86FB860C87F1
+:102740001D8798CF80E0DF91CF911F910F91FF906F
+:10275000EF90DF90CF90BF90AF909F908F907F9041
+:102760006F900895223009F078CFE7CFCF93DF93B1
+:10277000EC01462F6E857F85888999890E9488A003
+:10278000AC01009719F420E030E00AC08B81282FBB
+:1027900030E065E0220F331F6A95E1F7240F351F03
+:1027A000C901DF91CF9108950F931F93CF93DF93CA
+:1027B0008C01FC0182818823F1F1818187FF38C07F
+:1027C000C80161E00E94B693EC010097A1F18881F5
+:1027D000853E89F1F8018281823040F482899389B3
+:1027E000A489B5898C8F9D8FAE8FBF8FF8018689A4
+:1027F00097899B8F8A8F86899789A08DB18DCD010E
+:10280000AA27BB279D8B8C8BE091D21AF091D31A0B
+:10281000309751F0BE016A5E7F4FCE014896099510
+:10282000888D998D9B8B8A8BF80181818F7781832D
+:102830000E9440A004C081E0F801808380E0DF9125
+:10284000CF911F910F9108956F927F928F929F92D7
+:10285000AF92BF92CF92DF92EF92FF920F931F93AE
+:10286000DF93CF9300D000D0CDB7DEB77C015A0103
+:102870006B01DC0112968C911297813009F091C0A6
+:1028800011968C9181FF8DC0A0C00097A105B10564
+:1028900011F481E087C0F701628473848484958495
+:1028A000C701B601A5010E940D93882309F479C0E0
+:1028B000D70114968D919C911597A114B104C10470
+:1028C000D10489F456964D915D916D917C91599703
+:1028D0000E94E2A2882309F464C0F701168A178ACD
+:1028E000108E118E44C0D70116964D915D916D9159
+:1028F0007C9119979E012F5F3F4F0E9473A28823FE
+:1029000009F44FC0D7011496ED91FC9115974981B8
+:102910005A816B817C818289803149F4483FBFEFC5
+:102920005B07B0E06B07B0E07B0748F020C0483F92
+:102930008FEF58078FEF68078FE07807C0F4CF015B
+:102940000E94E2A2882369F1D70116964D915D910C
+:102950006D917C91199714968D919C9115970FEF1D
+:102960001FEF2FEF3FE00E9403A28823D1F0F70171
+:10297000A28AB38AC48AD58A818180688183C7018B
+:102980000E94D493882369F0B601A5016A147B04E0
+:102990008C049D0410F4B401A301C7010E940D939F
+:1029A00001C080E00F900F900F900F90CF91DF91BA
+:1029B0001F910F91FF90EF90DF90CF90BF90AF905D
+:1029C0009F908F907F906F900895F70182899389EF
+:1029D000A489B58984179507A607B70708F055CFCE
+:1029E000E0CF1F93CF93DF93EC01142F262F30E01D
+:1029F000F90185E0EE0FFF1F8A95E1F7E752F54EEA
+:102A00008385817121F0842F827109F064C08091E7
+:102A1000D91C9091DA1CA091DB1CB091DC1C8E8734
+:102A20009F87A88BB98B6B83F901B5E0EE0FFF1F71
+:102A3000BA95E1F7E752F54E2489358940E050E038
+:102A4000A901332722272E8B3F8B488F598F828DE8
+:102A5000938DA0E0B0E0282B392B4A2B5B2B2E8BDB
+:102A60003F8B488F598F838590E0887190700097D5
+:102A700051F4848D958DA68DB78D8A8B9B8BAC8BF5
+:102A8000BD8B81E008C0409731F5CE010E945E9277
+:102A9000882309F184E08A83812F8F7089831E82C5
+:102AA0001F82188619861A861B861C861D8614FFAF
+:102AB00018C0CE0140E050E060E070E00E94249435
+:102AC000882379F408C04A895B896C897D89CE01A5
+:102AD0000E940D9302C01A8280E0DF91CF911F9176
+:102AE000089515FDF0CF81E0F8CF0F931F938C016F
+:102AF0000E94D493F80112821F910F910895CF93F1
+:102B0000DF93EC0140E050E060E070E00E9424942C
+:102B1000882369F0CE0161E00E94B693FC01009722
+:102B200031F085EE80831A820E9440A001C080E0CF
+:102B3000DF91CF9108952F923F924F925F927F92B3
+:102B40008F929F92AF92BF92CF92DF92EF92FF92BD
+:102B50000F931F93DF93CF93CDB7DEB728970FB6B0
+:102B6000F894DEBF0FBECDBF98878F835E834D8301
+:102B7000DC0112968C911297882309F41EC11196DC
+:102B80008C9180FF1AC134C1F501EE19FF09FE8353
+:102B9000ED837A8369838F81988506969C838B83E6
+:102BA0004D805E8003C1AF81B8851A962D913D910D
+:102BB0004D915C911D978FEF282E81E0382E2222B7
+:102BC00033221496ED91FC91159759016A0109E0A1
+:102BD000D694C794B794A7940A95D1F774807A9441
+:102BE0007A2012968C91823049F4E588F68807891C
+:102BF000108DEA0CFB1C0C1D1D1D35C02114310469
+:102C000011F5772001F5211531054105510559F4DC
+:102C1000EF81F88586899789A08DB18D868397830A
+:102C2000A087B18710C0AF81B88516964D915D9190
+:102C30006D917C911997CF012B813C810E9473A2E9
+:102C4000882309F4BAC0EF81F885468157816085F1
+:102C50007185848195810E9420A07B018C01E70C05
+:102C6000F11C011D111D2114310499F4F0E04F16DF
+:102C7000F2E05F0670F02091D91C3091DA1C40918F
+:102C8000DB1C5091DC1CE216F3060407150709F063
+:102C9000CFC0C801B70140E00E9488A0009709F4A6
+:102CA0008CC040E052E042195309420144155505D9
+:102CB00008F44A019C01220D331D89819A81B901D2
+:102CC000A4010E94570E59C08091DE1C9091DF1C18
+:102CD000B801A70129813A810E941891882309F43B
+:102CE0006CC0812C12E0912E48C0D52CD694AF81B7
+:102CF000B88512968C911297823049F01496ED9116
+:102D0000FC911597848187198D1508F4D82EE21649
+:102D1000F3060407150770F02D0D311D411D511DDF
+:102D2000E216F3060407150728F40E9440A0882342
+:102D300009F443C08091DE1C9091DF1CB801A7010B
+:102D40000E94F5908823C9F109811A81FF2408C0E7
+:102D5000B8010E94F38F00501E4F882371F1F39445
+:102D60008091DE1C9091DF1CFD1490F30E94DB909B
+:102D7000882319F19D2C990C8824E981FA81E80DAA
+:102D8000F91DFA83E983940140E050E0EF81F88572
+:102D900082859385A485B585820F931FA41FB51FD7
+:102DA00082879387A487B58748185908411451042E
+:102DB00009F0F9CE4D815E8102C04FEF5FEFCA018D
+:102DC00028960FB6F894DEBF0FBECDBFCF91DF912E
+:102DD0001F910F91FF90EF90DF90CF90BF90AF9039
+:102DE0009F908F907F905F904F903F902F9008958D
+:102DF000AF81B8855296AD90BD90CD90DC9055973F
+:102E00001A96ED90FD900D911C911D97ED81FE811C
+:102E10009F0140E050E0D601C5018E199F09A00B2B
+:102E2000B10B281739074A075B0708F0ADCEB1CEC2
+:102E3000F0E04F16F4E05F0608F057CF45CFDF9380
+:102E4000CF930F92CDB7DEB7BE016F5F7F4F41E0EA
+:102E500050E00E949B95019719F02FEF3FEF03C0C0
+:102E60008981282F30E0C9010F90CF91DF9108951B
+:102E7000EF92FF920F931F93CF93DF93EC018A8120
+:102E8000823038F1EA84FB840C851D85CE010E94D6
+:102E90001F9797FD1EC08A859B85AC85BD854F9683
+:102EA000A11DB11D8A879B87AC87BD8725E016953C
+:102EB0000795F794E7942A95D1F72E2D30E02F70DF
+:102EC000307095E0220F331F9A95E1F72752354E67
+:102ED00002C020E030E0C901DF91CF911F910F9136
+:102EE000FF90EF900895CF93DF93EC018A818430B7
+:102EF00071F5CE0140E050E060E070E00E940D937B
+:102F000010C0CE010E943897FC01009701F180812A
+:102F10008823A1F0853E29F08E3219F0838583FF46
+:102F200016C02A853B854C855D858A899B89AC893D
+:102F3000BD89281739074A075B0718F381E08A83A0
+:102F4000898182608983CE010E947F9501C080E0E3
+:102F5000DF91CF910895DF92EF92FF920F931F932D
+:102F6000CF93DF938C01EB017A01D22E8C819D816E
+:102F7000F801958384838281882329F56115710581
+:102F800059F521C0A70165E0440F551F6A95E1F787
+:102F900060E070E0CE010E940D938823A1F0CE0185
+:102FA0000E943897FC01009771F08081882359F0C6
+:102FB000853E49F08E3239F06E2D6F70C8014D2D6F
+:102FC0000E94F19401C080E0DF91CF911F910F9199
+:102FD000FF90EF90DF90089527FFD4CFF4CFAF920A
+:102FE000BF92CF92DF92EF92FF920F931F93DF93E6
+:102FF000CF93CDB7DEB76A970FB6F894DEBF0FBE9A
+:10300000CDBF8C0119821B8240E050E060E070E08F
+:103010000E940D935E010894A11CB11C52C0C8010E
+:103020000E943897FC01009709F466C080818823CC
+:1030300009F456C0853E09F444C08E3209F441C0FB
+:10304000838583FD3EC0A7019601F5E0569547951F
+:1030500037952795FA95D1F77901C501B801A901EE
+:1030600021E00E94AB97882309F446C08B8184300D
+:1030700021F4C5010E94EF9706C08A8182608A838D
+:10308000C5010E947F958823B9F10894E11CF11CC9
+:10309000A70160E070E0E5E0440F551F661F771F51
+:1030A000EA95D1F7F80182859385A485B5858417C3
+:1030B0009507A607B70729F0C8010E940D9388233A
+:1030C000D9F0F801C284D384E484F5848289938999
+:1030D000A489B589C816D906EA06FB0608F49FCF6D
+:1030E000F80182818250823028F0C8010E947397D3
+:1030F000882319F081E001C080E06A960FB6F89449
+:10310000DEBF0FBECDBFCF91DF911F910F91FF901A
+:10311000EF90DF90CF90BF90AF9008952F923F92A5
+:103120004F925F926F927F928F929F92AF92BF92D7
+:10313000CF92DF92EF92FF920F931F93DF93CF9383
+:103140000F92CDB7DEB72C015B013A01490100E0D7
+:1031500010E0EE24EA94FE2C1E010894211C311C80
+:1031600013C00A0D1B1DF80160838114910419F42A
+:103170006A3049F41EC0772767FD7095C4010E942C
+:10318000720E0097B1F4860168010894C11CD11C2D
+:10319000C614D70444F5C201B10141E050E00E94D9
+:1031A0009B957C0181309105F1F469816D30C9F600
+:1031B000EBCF8601A00EB11EF5011082C8010F9061
+:1031C000CF91DF911F910F91FF90EF90DF90CF9003
+:1031D000BF90AF909F908F907F906F905F904F9037
+:1031E0003F902F900895F7FEE5CF0FEF1FEFE6CF4A
+:1031F000CF93DF93EC019C012A5F3F4F8C819D812F
+:1032000041E050E060E070E00E9449A38823A1F013
+:103210008E899F89A88DB98D0097A105B10559F4B4
+:103220008E819F81A885B9858E8B9F8BA88FB98F42
+:1032300089818068898381E0DF91CF9108953F92F1
+:103240004F925F926F927F928F929F92AF92BF92B6
+:10325000CF92DF92EF92FF920F931F93DF93CF9362
+:10326000CDB7DEB72A970FB6F894DEBF0FBECDBF3D
+:103270004C01162F072F5A874987DC0112968C9133
+:103280001297813009F0B0C111968C9181FFACC1C9
+:10329000C9C1F401428953896489758982859385FE
+:1032A000A485B58584179507A607B70731F0C40133
+:1032B0000E940D93882309F497C1812F902F9C01C0
+:1032C00038872F8329853A853E832D8351C1D401C8
+:1032D0001496ED91FC911597DA01C90119E0B695A4
+:1032E000A795979587951A95D1F7F480FA94F822C7
+:1032F00089011170FF2009F052C00115110509F074
+:103300004EC0D40116964D915D916D917C911997A7
+:10331000411551056105710571F1CF019E012F5FC6
+:103320003F4F0E9473A2882309F45EC129813A812C
+:103330004B815C81D4011496ED91FC9115978289A3
+:10334000803149F4283FBFEF3B07B0E04B07B0E0C6
+:103350005B0748F019C0283FEFEF3E07EFEF4E073D
+:10336000EFE05E0788F4D40116962D933D934D93BC
+:103370005C93199714C0F40186899789A08DB18D4B
+:103380000097A105B10531F4C4010E94F898882383
+:1033900031F42AC1F40186839783A087B187D401D1
+:1033A00016964D915D916D917C91199714968D9122
+:1033B0009C9115970E9420A05B016C01AF0CB11C81
+:1033C000C11CD11C01151105C9F4ED81FE81E0502D
+:1033D000F240D8F5D4011A962D913D914D915C9112
+:1033E0001D9752968D919D910D90BC91A02D2817FF
+:1033F00039074A075B0710F045E001C041E0C6010C
+:10340000B5010E9488A0009709F4EEC040E052E0A8
+:10341000401B510B4D805E804415550508F42A0170
+:103420009C01200F311FC9016F817885A2010E9484
+:10343000570E040D151D0050124009F07DC00E946A
+:1034400085A0882309F078C0CFC0ED81FE81E050CF
+:10345000F44000F58091D91C9091DA1CA091DB1CFE
+:10346000B091DC1C8A159B05AC05BD0511F40E94CA
+:1034700011A08091DE1C9091DF1CB601A5012F8167
+:1034800038850E94A190882309F4AEC0412CF2E057
+:103490005F2E52C0D4011496ED91FC911597848152
+:1034A0008F193E803694831508F4382E032D10E0D2
+:1034B00020E030E08091DE1C9091DF1CB601A50178
+:1034C0000E945990882309F48FC06F807884860108
+:1034D000750122C08091D91C9091DA1CA091DB1C4F
+:1034E000B091DC1CE816F9060A071B0711F40E94CC
+:1034F00011A08091DE1C9091DF1CB3010E94CD8F42
+:10350000E0E0F2E06E0E7F1E0894E11CF11C011D4C
+:10351000111D882309F468C08E2D8A198315D0F2F5
+:103520008091DE1C9091DF1C0E94A78F882309F4F4
+:103530005BC0532C550C4424920140E050E0F40150
+:1035400082859385A485B585820F931FA41FB51F1F
+:1035500082879387A487B5872F813885240D351DF1
+:1035600038872F838D819E81841995099E838D8351
+:10357000D4011A962D913D914D915C911D97ED814D
+:10358000FE81EF2B09F0A3CE52968D919D910D9067
+:10359000BC91A02D82179307A407B50740F4D4016E
+:1035A00052962D933D934D935C9355970BC080910C
+:1035B000D21A9091D31A892B59F0E985FA85EF2B0D
+:1035C00039F0D40111968C911197806811968C93E3
+:1035D000F401818183FF05C0C4010E94D493882334
+:1035E00019F049855A8505C081E0D4018C934FEFCD
+:1035F0005FEFCA012A960FB6F894DEBF0FBECDBFAB
+:10360000CF91DF911F910F91FF90EF90DF90CF90BE
+:10361000BF90AF909F908F907F906F905F904F90F2
+:103620003F90089582FD35CE48CE9F92AF92BF92D3
+:10363000CF92DF92EF92FF920F931F93CF93DF937E
+:103640008C01FC0182899389A489B589805E9F4F92
+:10365000AF41B04008F05CC0C8010E94F8988823D0
+:1036600009F456C0D80116964D915D916D917C91EB
+:10367000199714968D919C9115970E9420A05B013B
+:103680006C0145E00E9488A0EC01009709F442C05B
+:1036900080E092E0FE019C01119221503040E1F760
+:1036A0009C2EED2EFF24F39411C0B601A5014F0D01
+:1036B000511D611D711D8091DE1C9091DF1C292D13
+:1036C0003E2D0E94A190882319F1F394D8011496FD
+:1036D000ED91FC9115972481F21638F330E040E02B
+:1036E00050E089E0220F331F441F551F8A95D1F700
+:1036F00052968D919D910D90BC91A02D820F931F9C
+:10370000A41FB51FF801828B938BA48BB58B02C0CD
+:10371000C0E0D0E0CE01DF91CF911F910F91FF90DB
+:10372000EF90DF90CF90BF90AF909F9008953F9221
+:103730004F925F926F927F928F929F92AF92BF92C1
+:10374000CF92DF92EF92FF920F931F93CF93DF936D
+:103750004C01EB01442E352E522E8C819D81F401BB
+:1037600095838483CB0140E050E060E070E00E94EC
+:103770000D9377244FC0CE010E941F9797FDABC0D9
+:103780008A859B85AC85BD8581509E4FAF4FBF4FCD
+:103790008A879B87AC87BD87A090D91CB090DA1C24
+:1037A000C090DB1CD090DC1C29EDE22E2AE1F22E29
+:1037B00000E010E0602EF7018081882311F0853E43
+:1037C00079F4772041F4F401A686B786C08AD18ABD
+:1037D000638277247394F7018081882391F428C051
+:1037E000B80195E0660F771F9A95E1F76752754E1D
+:1037F000842D932D4BE050E00E944A0E009709F46F
+:103800007DC00F5F1F4F80E290E0E80EF91E00318F
+:10381000110581F62A853B854C855D858A899B89C2
+:10382000AC89BD89281739074A075B0708F4A3CF7D
+:1038300056FE51C051FE4FC0772051F0F401638015
+:10384000C40161E00E94B693EC01009761F443C0AB
+:103850008A81823009F43FC0CE010E94159B0097F7
+:10386000D1F1EC01662480E2FE0111928A95E9F71C
+:10387000DE01242D332DC901FC018BE001900D9256
+:103880008150E1F7E091D21AF091D31A309739F0D4
+:10389000BE01625F7F4FCE014096099508C081E26C
+:1038A00098E2998B888B80E098E09F878E87888943
+:1038B00099899B8B8A8B998F888F8E859F859F8B0B
+:1038C0008E8B0E9440A0882331F0C401662D452DC7
+:1038D0000E94F19401C080E0DF91CF911F910F9180
+:1038E000FF90EF90DF90CF90BF90AF909F908F9020
+:1038F0007F906F905F904F903F90089557FEE5CF77
+:10390000EACF2F923F924F925F926F927F928F9267
+:103910009F92AF92BF92CF92DF92EF92FF920F935E
+:103920001F93DF93CF93CDB7DEB7C454D0400FB60B
+:10393000F894DEBF0FBECDBF3C016B01DE01A05C81
+:10394000BF4F11965C934E9323962FAF239761152B
+:10395000710509F483C01E8618A6FC0182818823A4
+:1039600009F07CC01C861EA2FA0180818F32F1F022
+:1039700086015CE0E52EF12CEC0EFD1E40E4A42E49
+:10398000B12CAC0EBD1E4E010894811C911C2596D5
+:10399000FFAEEEAE259736E2232E312C2C0E3D1EC7
+:1039A000270124C01196B183A08301C0FD01A0812D
+:1039B000B1818C918F32B1F3D60112968C9112970E
+:1039C00082508230A8F28E010A5D1F4F14966D91CD
+:1039D0007C911597C8010E94C592882351F63EC07C
+:1039E000342D252D8701832F922F7C01F5018081B5
+:1039F0009181B401A5010E941092882329F42EC060
+:103A00003196D501ED93FC93D501ED91FC91808128
+:103A10008F32B1F38823C9F0C701B801A40121E0B6
+:103A20000E94979B8823D1F00C151D0519F0C80141
+:103A30000E9475952596EEADFFAD2597EE16FF0613
+:103A400079F6C101322D292FCDCFC301B801A401D0
+:103A500023962FAD23970E94979B01C080E0CC5BFB
+:103A6000DF4F0FB6F894DEBF0FBECDBFCF91DF9111
+:103A70001F910F91FF90EF90DF90CF90BF90AF908C
+:103A80009F908F907F906F905F904F903F902F907E
+:103A900008950F931F93DF93CF93CDB7DEB76A9747
+:103AA0000FB6F894DEBF0FBECDBF9C01AB011982EB
+:103AB0001B828E010F5F1F4FC801B90122E00E94D7
+:103AC000819C882319F0C8010E947F956A960FB6E1
+:103AD000F894DEBF0FBECDBFCF91DF911F910F9144
+:103AE0000895FB01242F6091D01A7091D11AAF0173
+:103AF0000E94819C0895DF93CF93CDB7DEB76A977C
+:103B00000FB6F894DEBF0FBECDBF9C01AB0119828A
+:103B10001B82CE010196B90121E00E94819C6A9628
+:103B20000FB6F894DEBF0FBECDBFCF91DF910895E1
+:103B3000EF92FF920F931F93DF93CF93CDB7DEB732
+:103B4000A0970FB6F894DEBF0FBECDBF8C017B01EE
+:103B5000FB018281823008F46FC0C80123EC0E940F
+:103B6000979B882309F468C081E0F801818384E091
+:103B70008283C8010E94159B892B09F45DC0C8018E
+:103B80000E94D493882309F457C0C80161E00E94C1
+:103B9000B693FC01009709F44FC080E18387DE01F2
+:103BA000119680E201900D928150E1F78EE28983B7
+:103BB000FE01329620E2CE010C962193E817F90718
+:103BC000E1F7F80146895789608D718D848195816F
+:103BD0000E9420A041E00E9488A09C01009761F112
+:103BE000DC01FE01319680E201900D928150E1F7F7
+:103BF0008EE28A83F70182818250823028F41C8E03
+:103C00001B8E1E8A1D8A0CC0F70186899789A08D9C
+:103C1000B18D9C8F8B8FCD01AA27BB279E8B8D8B5F
+:103C2000D9019096FE01319680E201900D9281506B
+:103C3000E1F70E9440A001C080E0A0960FB6F89482
+:103C4000DEBF0FBECDBFCF91DF911F910F91FF90CF
+:103C5000EF9008952F923F924F925F926F927F92D2
+:103C60008F929F92AF92BF92CF92DF92EF92FF928C
+:103C70000F931F93DF93CF93CDB7DEB7C454D040DB
+:103C80000FB6F894DEBF0FBECDBF3C016B01DE0165
+:103C9000A05CBF4F11965C934E9323962FAF239752
+:103CA0006115710509F487C01E8618A6FC01828182
+:103CB000882309F080C09AC08601FCE0EF2EF12C29
+:103CC000EC0EFD1EE0E4AE2EB12CAC0EBD1E4E017E
+:103CD0000894811C911C2596FFAEEEAE259776E2E6
+:103CE000272E312C2C0E3D1E270124C01196B183A6
+:103CF000A08301C0FD01A081B1818C918F32B1F30D
+:103D0000D60112968C91129782508230A8F28E01C1
+:103D10000A5D1F4F14966D917C911597C8010E9402
+:103D2000C592882351F647C0342D252D8701832F56
+:103D3000922F7C01F50180819181B401A5010E943F
+:103D40001092882329F437C03196D501ED93FC9366
+:103D5000D501ED91FC9180818F32B1F3882329F157
+:103D6000C701B801A40121E00E94979B882361F458
+:103D70002396BFAD2397BB23F1F0C701B801A4017F
+:103D80000E94989D8823B9F00C151D0519F0C801F3
+:103D90000E9475952596EEADFFAD2597EE16FF06B0
+:103DA00019F6C101322D292FC1CFC301B801A401D9
+:103DB0000E94989D01C080E0CC5BDF4F0FB6F89465
+:103DC000DEBF0FBECDBFCF91DF911F910F91FF904E
+:103DD000EF90DF90CF90BF90AF909F908F907F90AB
+:103DE0006F905F904F903F902F9008951C861EA279
+:103DF000ED91FC91119780818F3209F05DCF7ACFE0
+:103E00004E960E94499D0895DF93CF93CDB7DEB7BC
+:103E10006A970FB6F894DEBF0FBECDBFFB01242F0B
+:103E200019821B82BC01625E7F4FCE010196AF01F9
+:103E30000E942A9E6A960FB6F894DEBF0FBECDBFD1
+:103E4000CF91DF9108954E960E947B9D0895CF9368
+:103E5000DF93EC01662331F06E96D093D11AC093B4
+:103E6000D01A6E9788A1882321F0CE014E960E9429
+:103E70007595CE014E962596BE010E94C592DF91A2
+:103E8000CF910895DF92EF92FF920F931F93DF93EC
+:103E9000CF93CDB7DEB76A970FB6F894DEBF0FBEEB
+:103EA000CDBF9C01FB01D42E19821B8280818F32F1
+:103EB00041F48181882329F4C901642F0E94279F3E
+:103EC00022C08901025E1F4F7E010894E11CF11C93
+:103ED000C701B801AF0121E00E94819C882391F0C5
+:103EE0008B81823078F0D801F7018AE101900D9240
+:103EF0008150E1F7DD2021F01093D11A0093D01A00
+:103F000081E001C080E06A960FB6F894DEBF0FBE74
+:103F1000CDBFCF91DF911F910F91FF90EF90DF9078
+:103F200008950F931F93CF93DF93EC010E944C9160
+:103F30008823C9F08E010B5F1F4FC801BE0141E00D
+:103F40000E94CCA0882339F4C801BE0140E00E9441
+:103F5000CCA0882341F0CE0161E00E94279F8823F6
+:103F600019F081E001C080E0DF91CF911F910F91A6
+:103F70000895DB010D900020E9F71197A61BB70B00
+:103F80000496AD010E941F990895DF93CF930F927D
+:103F9000CDB7DEB769830496BE016F5F7F4F41E006
+:103FA00050E00E941F9920E030E0019711F421E0D9
+:103FB00030E0C9010F90CF91DF91089504960E94DF
+:103FC0001F99089540E082E002C0880F4F5F861776
+:103FD00010F44630D1F7242F30E0C901959587952C
+:103FE00080658CBD40FF02C080E004C080E04630A8
+:103FF00009F081E08DBD089584E061E00E949BAAF4
+:1040000084E061E00E941EAA86E060E00E941EAA91
+:1040100085E061E00E941EAA87E061E00E941EAA7E
+:1040200008958FEF9FEFAFEFBFEF8093D91C909370
+:10403000DA1CA093DB1CB093DC1C1092DD1C0895ED
+:104040000F931F938C01CB01BA01625070408040E6
+:104050009040F801248130E040E050E00E9405B437
+:104060009B01AC01F80182859385A485B585280F55
+:10407000391F4A1F5B1FB901CA011F910F91089593
+:104080008091DD1C80FF3DC04091D91C5091DA1C0D
+:104090006091DB1C7091DC1C8091DE1C9091DF1C18
+:1040A00029ED3AE10E94A190882369F18091DD1CFD
+:1040B00081FF22C08091D41A8230F0F04091D51A4D
+:1040C0005091D61A6091D71A7091D81A8091D91C44
+:1040D0009091DA1CA091DB1CB091DC1C480F591F99
+:1040E0006A1F7B1F8091DE1C9091DF1C29ED3AE155
+:1040F0000E94A190882339F08091DD1C8E7F8093EF
+:10410000DD1C81E0089580E008950E9440A008959C
+:10411000DF92EF92FF920F931F937B018C01D42EBD
+:104120008091D91C9091DA1CA091DB1CB091DC1C11
+:104130008E159F05A007B107E1F00E9440A08823DB
+:1041400011F1D2FC0CC08091DE1C9091DF1CB801F3
+:10415000A70129ED3AE10E9418918823A1F010925D
+:10416000DD1CE092D91CF092DA1C0093DB1C10934A
+:10417000DC1C83E0D8228091DD1C8D298093DD1C1E
+:1041800029ED3AE102C020E030E0C9011F910F9112
+:10419000FF90EF90DF9008956F927F928F929F92A1
+:1041A000AF92BF92CF92DF92EF92FF920F931F9345
+:1041B000CF93DF93EC01142F7093DF1C6093DE1C10
+:1041C0001A8A82E090E0A0E0B0E088839983AA8315
+:1041D000BB831092DD1C8FEF9FEFAFEFBFEF80939B
+:1041E000D91C9093DA1CA093DB1CB093DC1C4423F5
+:1041F00021F466247724430136C0453008F0EFC02F
+:1042000060E070E080E090E040E00E9488A0DC0187
+:10421000009709F4E4C0412F50E041505040FA01AA
+:1042200074E0EE0FFF1F7A95E1F7E80FF91FE254F3
+:10423000FE4F808190E08F779070892B09F0CFC07E
+:1042400064E0440F551F6A95E1F7A40FB51FAA5308
+:10425000BE4F6D907D908D909C906114710481048F
+:10426000910409F4BCC0C401B30140E00E9488A0DD
+:104270005C01009709F4B3C0FC01838594858050EC
+:10428000924009F0ACC0F5012089222309F4A7C0AF
+:10429000468557854115510509F4A1C02093D41ACC
+:1042A00085858C83198691E060E070E00AC0990FE3
+:1042B0006F5F7F4F6830710509F491C089858F5F0A
+:1042C00089878C81891799F7F50166897789611546
+:1042D000710519F080E090E005C0F50164A175A1B9
+:1042E00086A197A16093D51A7093D61A8093D71A96
+:1042F0009093D81A6A01EE24FF24C60CD71CE81C40
+:10430000F91CCE86DF86E88AF98AF50101891289CF
+:104310001C8B0B8B30E040E050E00E9405B46C0D2C
+:104320007D1D8E1D9F1D6D8B7E8B8F8B988F35E035
+:10433000000F111F3A95E1F701501E4F012F112771
+:104340000695980140E050E0260F371F481F591F7F
+:104350002A873B874C875D87F5018389948900977D
+:1043600021F07C0100E010E005C0F501E0A0F1A023
+:1043700002A113A1C401B301621B730B840B950B43
+:104380006E0D7F1D801F911F098404C0969587952F
+:10439000779567950A94D2F76D837E838F8398878C
+:1043A000653FFFE07F07F0E08F07F0E09F0718F41C
+:1043B0008CE08A8B14C0655F7F4F8040904010F482
+:1043C00080E10AC0F50184A595A5A6A5B7A58D8BAA
+:1043D0009E8BAF8BB88F80E28A8B81E001C080E03A
+:1043E000DF91CF911F910F91FF90EF90DF90CF90D1
+:1043F000BF90AF909F908F907F906F900895426094
+:104400000E9488A008958F929F92AF92BF92CF9200
+:10441000DF92EF92FF920F931F93CF93DF93EC0104
+:104420006A017B014801590142305105610571055E
+:1044300008F44BC08D819E81AF81B8850196A11D86
+:10444000B11D84179507A607B70708F43EC08A89EF
+:10445000803129F4252F362F472F55270BC0803266
+:10446000A1F59A01AB0117E0569547953795279529
+:104470001A95D1F78E859F85A889B989280F391F8C
+:104480004A1F5B1FCA01B90141E00E94FFA19C01C4
+:104490000097D9F08A89803149F4F601F070EE0F67
+:1044A000FF1FE20FF31F918280820DC0F601EF77AC
+:1044B000F070EE0FFF1FEE0FFF1FE20FF31F808261
+:1044C0009182A282B38281E001C080E0DF91CF912E
+:1044D0001F910F91FF90EF90DF90CF90BF90AF9022
+:1044E0009F908F900895CF92DF92EF92FF920F935B
+:1044F0001F93CF93DF93EC017A018B016901423066
+:1045000051056105710508F453C08D819E81AF810D
+:10451000B8850196A11DB11D84179507A607B70799
+:1045200008F446C08A89803129F45527412F302F5D
+:104530002F2D0BC08032E1F59A01AB0167E0569553
+:104540004795379527956A95D1F78E859F85A889D8
+:10455000B989280F391F4A1F5B1FCA01B90140E002
+:104560000E94FFA19C01009719F18A89803159F4BA
+:10457000F701F070EE0FFF1FE20FF31F80819181B2
+:10458000A0E0B0E00EC0F701EF77F070EE0FFF1F74
+:10459000EE0FFF1FE20FF31F80819181A281B38193
+:1045A000BF70F60180839183A283B38381E001C051
+:1045B00080E0DF91CF911F910F91FF90EF90DF90FE
+:1045C000CF9008958F929F92AF92BF92CF92DF9239
+:1045D000EF92FF920F931F93DF93CF9300D000D001
+:1045E000CDB7DEB75C016A017B014E010894811CE6
+:1045F000911CC501B701A60194010E9473A28823F2
+:10460000B1F1C501B701A60100E010E020E030E003
+:104610000E9403A2882359F1F50180819181A28132
+:10462000B381C816D906EA06FB0620F4C082D182FF
+:10463000E282F382C980DA80EB80FC80F501828916
+:10464000803151F4F8EFCF16FFEFDF06F0E0EF0610
+:10465000F0E0FF0670F209C088EFC8168FEFD806A9
+:104660008FEFE8068FE0F80620F281E001C080E0DD
+:104670000F900F900F900F90CF91DF911F910F919E
+:10468000FF90EF90DF90CF90BF90AF909F908F9072
+:1046900008952F923F924F925F926F927F928F92E6
+:1046A0009F92AF92BF92CF92DF92EF92FF920F93C1
+:1046B0001F93DF93CF93CDB7DEB766970FB6F8940D
+:1046C000DEBF0FBECDBF1C0149875A876B877C8731
+:1046D0003E872D87DC0115962D913D914D915C9182
+:1046E00018972F5F3F4F4F4F5F4F2D833E834F8370
+:1046F0005887ED85FE850081118122813381011566
+:1047000011052105310549F0480159010894811C22
+:10471000911CA11CB11C10E006C0DC018D909D9085
+:10472000AD90BC9011E07501640144245524320120
+:10473000F10185819681A781B085481659066A06E0
+:104740007B0608F09DC02D813E814F8158852C1538
+:104750003D054E055F0550F4F2E08F2E912CA12C03
+:10476000B12CE2E0CE2ED12CE12CF12CC101B7010D
+:10477000A6019E012F5F3F4F0E9473A2882309F478
+:104780007FC089819A81AB81BC810097A105B10569
+:1047900071F08C149D04AE04BF0409F010E04601D2
+:1047A00057010894811C911CA11CB11C16C0D70193
+:1047B000C6010196A11DB11D8B8B9C8BAD8BBE8B51
+:1047C00088199909AA09BB0929853A854B855C8511
+:1047D00082179307A407B50759F00894411C511C90
+:1047E000611C711C0894C11CD11CE11CF11CA0CFE0
+:1047F000112349F08B899C89AD89BE89F1018083A1
+:104800009183A283B383C101B701A6010FEF1FEF0C
+:104810002FEF3FE00E9403A2882399F431C02601C4
+:10482000370108944108510861087108C101B301BA
+:10483000A201970186010E9403A2882309F1730156
+:1048400062018C149D04AE04BF0448F3AD85BE859F
+:104850004D915D916D917C914115510561057105F9
+:1048600039F0C101950184010E9403A2882341F01F
+:10487000ED85FE8580829182A282B38281E001C0B3
+:1048800080E066960FB6F894DEBF0FBECDBFCF9125
+:10489000DF911F910F91FF90EF90DF90CF90BF902D
+:1048A000AF909F908F907F906F905F904F903F90D0
+:1048B0002F90089581E08093251D6093021D109232
+:1048C000231D1092241D089581E08093251D60937F
+:1048D000021D1092231D1092241D08952091011D88
+:1048E00030E08091001D281B3109C90108954091D5
+:1048F000001D8091011D481718F02FEF3FEF0AC0EF
+:10490000E42FF0E0E052F34E8081282F30E04F5F3B
+:104910004093001DC9010895E091001D8091011D83
+:10492000E81718F0EFEFFFEF06C0F0E0E052F34EAB
+:104930008081E82FF0E0CF01089508951092291D9D
+:104940001092281D88EE93E0A0E0B0E080932A1D2D
+:1049500090932B1DA0932C1DB0932D1D8CE09AE0FD
+:104960009093271D8093261D0895CF92DF92EF929A
+:10497000FF920F931F93CF93DF937C016B018A010A
+:104980008091251D8823A1F0C0E0D0E00DC0D701A3
+:10499000ED91FC91D601AC0FBD1F0190F081E02D8F
+:1049A000C7016C9109952196C017D10780F304C007
+:1049B000CB01642F0E94E7A5C801DF91CF911F9121
+:1049C0000F91FF90EF90DF90CF900895DF93CF93FA
+:1049D0000F92CDB7DEB7FC0169838091251D882336
+:1049E000C9F08091241D803238F081E090E09383FB
+:1049F000828320E030E015C08091231DE82FF0E095
+:104A0000ED5FF24E998190838F5F8093231D809399
+:104A1000241D05C0CE01019661E00E94E7A521E0BA
+:104A200030E0C9010F90CF91DF9108950F93062FC9
+:104A30008091021D63E07DE14091241D21E00E94F0
+:104A400092A51092231D1092241D1092251D0F91E6
+:104A5000089561E00E9416A50895413208F040E2F1
+:104A6000862F60EE7CE10E9449A51092001D809384
+:104A7000011D089521E00E942DA508951092001DAA
+:104A80001092011D1092231D1092241D0E9497A7C1
+:104A90000895382F413210F040E042C08091321D1D
+:104AA0008823E1F791E09093321D2093341D8FEF1E
+:104AB00080939F1D10925A1D415040935B1D4F5F84
+:104AC0009093331D8091331D330F832B8093331DBF
+:104AD0008091351D813041F41092351D8091331D38
+:104AE0008093BB0085EC01C085EE8093BC00809173
+:104AF000321D8130E1F380915A1D841710F44091EA
+:104B00005A1D20E030E00AC0FB01E20FF31FD9017B
+:104B1000A65CB24E8C9180832F5F3F4F2417A0F389
+:104B2000842F08950F931F93582F122F413210F0A6
+:104B300081E04AC08091321D8823E1F782E08093B2
+:104B4000321D0093341D8FEF80939F1D10925A1DCC
+:104B500040935B1DAAE3BDE1FB0102C081918D93EF
+:104B60008E2F861B8417D0F31092331D8091331D36
+:104B7000550F852B8093331D8091351D813041F475
+:104B80001092351D8091331D8093BB0085EC01C0D0
+:104B900085EE8093BC00112321F08091321D82307C
+:104BA000E1F380919F1D8F3F11F480E00DC0809153
+:104BB0009F1D803211F482E007C080919F1D8033D9
+:104BC00011F084E001C083E01F910F910895482FF8
+:104BD000613210F081E008958091321D843011F02F
+:104BE00082E0089560937D1DACE5BDE1842F9C01BA
+:104BF000F90102C081918D938E2F841B8617D0F30B
+:104C000080E008951F920F920FB60F920BB60F928D
+:104C100011242F933F934F935F936F937F938F93C1
+:104C20009F93AF93BF93EF93FF938091B90090E070
+:104C3000887F90708036910509F4F2C08136910525
+:104C4000CCF58832910509F47BC089329105B4F422
+:104C50008031910509F46FC0813191053CF40097D2
+:104C600009F447C1089709F04FC165C08831910523
+:104C700009F466C0809709F047C182C0803491056D
+:104C800009F4A4C08134910544F48033910509F4FA
+:104C900082C0C89709F038C189C08035910509F4F0
+:104CA00089C08835910509F496C08834910509F0CA
+:104CB0002BC1AEC08839910509F413C1893991051A
+:104CC000ECF48837910509F4ABC0893791054CF4B1
+:104CD0008836910509F4A4C08037910509F014C104
+:104CE0009FC08838910509F4FCC08039910509F40A
+:104CF0009DC08038910509F007C198C0803B91059F
+:104D000009F4C6C0813B91054CF4803A910509F441
+:104D10009FC0883A910509F0F7C0BAC0803C910560
+:104D200009F4E3C0883C910509F4DFC0883B910594
+:104D300009F0EAC0C2C08091331D8093BB00CFC090
+:104D400090915A1D80915B1D981768F490915A1D9F
+:104D5000E92FF0E0E65CF24E80818093BB009F5F1C
+:104D600090935A1DBCC08091341D882309F44BC018
+:104D700085ED8093BC008091BC0084FDFCCFC2C057
+:104D800080E280939F1D85ED8093BC008091BC00E4
+:104D900084FDFCCFB7C080E380939F1D85ED809399
+:104DA000BC008091BC0084FDFCCFACC088E3809344
+:104DB0009F1D9BC080915A1D9091BB00E82FF0E091
+:104DC000E65CF24E90838F5F80935A1D90915A1D3E
+:104DD00080915B1D82C080915A1D9091BB00E82F8D
+:104DE000F0E0E65CF24E90838F5F80935A1D8091D5
+:104DF000341D882341F085ED8093BC008091BC0078
+:104E000084FDFCCF7FC081E08093351D84EA6EC0B5
+:104E100085ED8093BC008091BC0084FDFCCF72C006
+:104E200083E08093321D10929E1D59C080919E1D7B
+:104E3000803208F056C080919E1D9091BB00E82FF3
+:104E4000F0E0E258F24E90838F5F80939E1D47C042
+:104E500080919E1D803230F4E0919E1DF0E0E2587A
+:104E6000F24E108285ED8093BC008091BC0084FDE1
+:104E7000FCCF1092321D60919E1DE091381DF09183
+:104E8000391D8EE79DE170E0099510929E1D2DC0A1
+:104E900084E08093321D10927C1D10927D1DE09164
+:104EA000361DF091371D099580917D1D882329F4C9
+:104EB00081E080937D1D10925C1D90917C1DE92FF7
+:104EC000F0E0E45AF24E80818093BB009F5F9093A4
+:104ED0007C1D90917C1D80917D1D981710F485ECB0
+:104EE00001C085E88093BC000FC085EC8093BC00B6
+:104EF00009C010929F1D85ED8093BC008091BC007D
+:104F000084FDFCCF1092321DFF91EF91BF91AF91C4
+:104F10009F918F917F916F915F914F913F912F91D1
+:104F20000F900BBE0F900FBE0F901F901895109210
+:104F3000321D81E08093341D1092351D81E161E0C6
+:104F40000E949BAA80E161E00E949BAAE9EBF0E04D
+:104F500080818E7F808380818D7F808388E48093B1
+:104F6000B80085E48093BC000895833078F5E82F7D
+:104F7000F0E0EE0FFF1FE056F24E71836083813048
+:104F800069F0813018F0823009F514C08091690011
+:104F90008C7F842B80936900E89A08958091690042
+:104FA000440F551F440F551F837F842B8093690046
+:104FB000E99A08958091690094E0440F551F9A95ED
+:104FC000E1F78F7C842B80936900EA9A08951F9201
+:104FD0000F920FB60F920BB60F9211242F933F939F
+:104FE0004F935F936F937F938F939F93AF93BF93F1
+:104FF000EF93FF938091A01D9091A11D892B29F023
+:10500000E091A01DF091A11D0995FF91EF91BF9135
+:10501000AF919F918F917F916F915F914F913F9150
+:105020002F910F900BBE0F900FBE0F901F901895F1
+:105030001F920F920FB60F920BB60F9211242F935F
+:105040003F934F935F936F937F938F939F93AF9310
+:10505000BF93EF93FF938091A21D9091A31D892B85
+:1050600029F0E091A21DF091A31D0995FF91EF9108
+:10507000BF91AF919F918F917F916F915F914F9170
+:105080003F912F910F900BBE0F900FBE0F901F906E
+:1050900018951F920F920FB60F920BB60F92112414
+:1050A0002F933F934F935F936F937F938F939F9330
+:1050B000AF93BF93EF93FF938091A41D9091A51D93
+:1050C000892B29F0E091A41DF091A51D0995FF9170
+:1050D000EF91BF91AF919F918F917F916F915F9170
+:1050E0004F913F912F910F900BBE0F900FBE0F90DD
+:1050F0001F9018951F920F920FB60F9211242F93A5
+:105100003F938F939F93AF93BF938091AA1D9091EC
+:10511000AB1DA091AC1DB091AD1D3091AE1D01969F
+:10512000A11DB11D232F2D5F2D3720F02D57019686
+:10513000A11DB11D2093AE1D8093AA1D9093AB1DA0
+:10514000A093AC1DB093AD1D8091A61D9091A71D9D
+:10515000A091A81DB091A91D0196A11DB11D80931C
+:10516000A61D9093A71DA093A81DB093A91DBF9144
+:10517000AF919F918F913F912F910F900FBE0F9004
+:105180001F9018958FB7F8942091AA1D3091AB1DF0
+:105190004091AC1D5091AD1D8FBFB901CA0108955A
+:1051A0009B01AC017FB7F8948091A61D9091A71D3B
+:1051B000A091A81DB091A91D66B5A89B05C06F3F21
+:1051C00019F00196A11DB11D7FBFBA2FA92F982FED
+:1051D0008827860F911DA11DB11D62E0880F991FC0
+:1051E000AA1FBB1F6A95D1F7BC012DC0FFB7F89469
+:1051F0008091A61D9091A71DA091A81DB091A91DF9
+:10520000E6B5A89B05C0EF3F19F00196A11DB11DA1
+:10521000FFBFBA2FA92F982F88278E0F911DA11D90
+:10522000B11DE2E0880F991FAA1FBB1FEA95D1F7B5
+:10523000861B970B885E9340C8F221503040404057
+:10524000504068517C4F211531054105510571F6DB
+:105250000895019739F0880F991F880F991F0297B9
+:105260000197F1F70895789484B5826084BD84B580
+:10527000816084BD85B5826085BD85B5816085BD51
+:10528000EEE6F0E0808181608083E1E8F0E010826A
+:10529000808182608083808181608083E0E8F0E0AB
+:1052A000808181608083E1EBF0E080818460808395
+:1052B000E0EBF0E0808181608083E1E9F0E08081D3
+:1052C00082608083808181608083E0E9F0E080817A
+:1052D00081608083EAE7F0E0808184608083808160
+:1052E0008260808380818160808380818068808308
+:1052F0001092C10008958093B0090895982F8E30C0
+:1053000008F09E5097708091B0098295880F880FA1
+:10531000807C892B80937C0080917A0080648093CC
+:105320007A0080917A0086FDFCCF20917800409130
+:105330007900942F80E030E0282B392BC9010895A3
+:105340001F93CF93DF93182FEB0161E00E941EAAF9
+:10535000209709F468C0CF3FD10509F467C0E12F59
+:10536000F0E0E75AF94E8491843061F1853040F4E1
+:105370008230C9F08330E0F4813009F051C00EC0B2
+:10538000873091F1883020F4863009F049C024C07C
+:10539000883091F1893009F043C038C084B5806805
+:1053A00084BDC7BD47C084B5806284BDC8BD42C04E
+:1053B00080918000806880938000D0938900C093A2
+:1053C000880038C080918000806280938000D093F4
+:1053D0008B00C0938A002EC08091B00080688093BB
+:1053E000B000C093B30026C08091B000806280936B
+:1053F000B000C093B4001EC080919000806880937C
+:105400009000D0939900C093980014C080919000B0
+:10541000806280939000D0939B00C0939A000AC052
+:10542000C038D1051CF4812F60E002C0812F61E0FB
+:105430000E949BAADF91CF911F910895CF93DF9394
+:10544000482F50E0CA01875C994EFC013491475EB9
+:10545000594EFA018491882369F190E0880F991FD1
+:10546000FC01E550FA4EA591B491FC01EB5FF94EB9
+:10547000C591D491662351F42FB7F8948C91932F52
+:10548000909589238C93888189230BC0623061F4C5
+:105490002FB7F8948C91932F909589238C938881C2
+:1054A000832B88832FBF06C09FB7F8948C91832BE2
+:1054B0008C939FBFDF91CF9108958430C9F08530E0
+:1054C00038F48230F1F0833078F4813099F516C0E9
+:1054D0008730F9F0883018F4863061F516C08830CE
+:1054E000F1F0893039F521C0809180008F7703C0B9
+:1054F000809180008F7D80938000089584B58F77A0
+:1055000002C084B58F7D84BD08958091B0008F77EF
+:1055100003C08091B0008F7D8093B000089580918A
+:1055200090008F77809390000895809190008F7DF8
+:10553000809390000895FF920F931F93F62E482FAB
+:1055400050E0CA01875A994EFC012491CA01875C38
+:10555000994EFC011491475E594EFA0104910023C3
+:10556000C9F0222319F0822F0E945DAAE02FF0E0FB
+:10557000EE0FFF1FEB5FF94EA591B4919FB7F89422
+:10558000FF2021F48C911095812302C08C91812BF6
+:105590008C939FBF1F910F91FF9008950F931F93BE
+:1055A000482F50E0CA01875A994EFC012491CA0144
+:1055B000875C994EFC010491475E594EFA011491A3
+:1055C000112319F420E030E015C0222319F0822FB6
+:1055D0000E945DAA812F90E0880F991F815F994EEC
+:1055E000FC01A591B4918C9120E030E0802311F072
+:1055F00021E030E0C9011F910F91089508951F9295
+:105600000F920FB60F920BB60F9211242F933F9368
+:105610004F938F939F93EF93FF934091C6002091F8
+:10562000EF1D3091F01D2F5F3F4F2F733070809131
+:10563000F11D9091F21D2817390759F0E091EF1DE7
+:10564000F091F01DE155F24E40833093F01D209310
+:10565000EF1DFF91EF919F918F914F913F912F916E
+:105660000F900BBE0F900FBE0F901F9018950895CE
+:105670001F920F920FB60F920BB60F9211242F9319
+:105680003F934F938F939F93EF93FF934091CE005F
+:105690002091771E3091781E2F5F3F4F2F7330700F
+:1056A0008091791E90917A1E2817390759F0E09160
+:1056B000771EF091781EE95CF14E40833093781E9E
+:1056C0002093771EFF91EF919F918F914F913F9182
+:1056D0002F910F900BBE0F900FBE0F901F9018953B
+:1056E000E091CB1EF091CC1EE05CFF4F8191919137
+:1056F00020813181821B930B8F739070892B11F065
+:105700000E94FEAAE091EA1EF091EB1EE05CFF4FC2
+:105710008191919120813181821B930B8F739070C5
+:10572000892B11F00E9437AB08951F920F920FB68C
+:105730000F920BB60F9211242F933F938F939F9349
+:10574000EF93FF932091331E3091341E8091351ECC
+:105750009091361E2817390731F48091C1008F7D52
+:105760008093C10014C0E091351EF091361EED50BB
+:10577000F24E20818091351E9091361E01968F73D6
+:1057800090709093361E8093351E2093C600FF9133
+:10579000EF919F918F913F912F910F900BBE0F90A2
+:1057A0000FBE0F901F9018951F920F920FB60F9279
+:1057B0000BB60F9211242F933F938F939F93EF93E8
+:1057C000FF932091BB1E3091BC1E8091BD1E909115
+:1057D000BE1E2817390731F48091C9008F7D809350
+:1057E000C90014C0E091BD1EF091BE1EE558F14EF7
+:1057F00020818091BD1E9091BE1E01968F73907086
+:105800009093BE1E8093BD1E2093CE00FF91EF911A
+:105810009F918F913F912F910F900BBE0F900FBED4
+:105820000F901F901895AF92BF92DF92EF92FF9268
+:105830000F931F93CF93DF93EC017A018B01DD244B
+:10584000403081EE580780E0680780E0780711F06B
+:10585000DD24D39491E0A92EB12CEC89FD89DD20C3
+:1058600069F0C5010E8C02C0880F991F0A94E2F7F7
+:10587000808360E079E08DE390E005C0108260E80D
+:1058800074E88EE190E0A80197010E9457B421507E
+:10589000304040405040569547953795279580E1D8
+:1058A0002030380720F0DD2011F0DD24D6CFE88944
+:1058B000F9893083EA89FB892083EE89FF89408159
+:1058C00021E030E0C9010A8C02C0880F991F0A94B8
+:1058D000E2F7482B4083EE89FF894081C9010B8C98
+:1058E00002C0880F991F0A94E2F7482B4083EE8983
+:1058F000FF894081C9010C8C02C0880F991F0A944E
+:10590000E2F7482B4083EE89FF8980810D8C02C02D
+:10591000220F331F0A94E2F7209528232083DF917A
+:10592000CF911F910F91FF90EF90DF90BF90AF90BC
+:105930000895DC011C96ED91FC911D97E05CFF4FF2
+:105940002191319180819181281B390B2F73307007
+:10595000C9010895DC011C96ED91FC911D97E05C56
+:10596000FF4F20813181E054F040DF01AE5BBF4F3B
+:105970008D919C9111972817390719F42FEF3FEF5C
+:1059800007C08D919C91E80FF91F8081282F30E08E
+:10599000C9010895DC011C96ED91FC911D97E05C16
+:1059A000FF4F20813181E054F040DF01AE5BBF4FFB
+:1059B0008D919C9111972817390719F42FEF3FEF1C
+:1059C00010C08D919C911197E80FF91F20818D9146
+:1059D0009C91119701968F73907011969C938E9362
+:1059E00030E0C9010895FC0186859785DC01A05C43
+:1059F000BF4FFC01EE5BFF4F2D913C9111978081D1
+:105A0000918128173907C1F70895CF93DF93EC01EF
+:105A1000EE85FF85E05CFF4F20813181E054F0404E
+:105A20002F5F3F4F2F733070DF01AE5BBF4F8D9103
+:105A30009C91119728173907D1F3E05CFF4F8081C3
+:105A40009181E054F040E80FF91F6083EE85FF85F7
+:105A5000E05CFF4F31832083EE89FF89208181E064
+:105A600090E00D8C02C0880F991F0A94E2F7282B52
+:105A7000208381E090E0DF91CF9108951F931092F1
+:105A8000C21E1092C11E28EE33E040E050E0209389
+:105A9000C31E3093C41E4093C51E5093C61E6CE1B6
+:105AA0007AE07093C01E6093BF1E8FEA9DE19093D1
+:105AB000CC1E8093CB1E83EF9DE19093CE1E8093EE
+:105AC000CD1E85EC90E09093D01E8093CF1E84EC89
+:105AD00090E09093D21E8093D11E80EC90E0909342
+:105AE000D41E8093D31E81EC90E09093D61E8093B9
+:105AF000D51E86EC90E09093D81E8093D71E14E0BC
+:105B00001093D91EB3E0B093DA1EA7E0A093DB1E7A
+:105B1000F5E0F093DC1EE1E0E093DD1E1092E11E63
+:105B20001092E01E2093E21E3093E31E4093E41E89
+:105B30005093E51E7093DF1E6093DE1E87E39EE1A7
+:105B40009093EB1E8093EA1E8BE79EE19093ED1EEF
+:105B50008093EC1E8DEC90E09093EF1E8093EE1EF0
+:105B60008CEC90E09093F11E8093F01E88EC90E016
+:105B70009093F31E8093F21E89EC90E09093F51EB3
+:105B80008093F41E8EEC90E09093F71E8093F61EA7
+:105B90001093F81EB093F91EA093FA1EF093FB1E0B
+:105BA000E093FC1E1F910895CF93DF930E9433A9C9
+:105BB0000E945C14C0E7DBEA0E9459142097E1F3CD
+:105BC0000E9470ABF9CFCF92DF92EF92FF920F93CA
+:105BD0001F93CF93DF937C016B018A01C0E0D0E07B
+:105BE0000FC0D6016D916D01D701ED91FC9101902F
+:105BF000F081E02DC7010995C80FD91F0150104051
+:105C00000115110571F7CE01DF91CF911F910F9111
+:105C1000FF90EF90DF90CF900895EF92FF920F9357
+:105C20001F93CF93DF937C018B01C0E0D0E0F8019C
+:105C30000F5F1F4F6491662359F0D701ED91FC91DE
+:105C40000190F081E02DC7010995C80FD91FEFCF52
+:105C5000CE01DF91CF911F910F91FF90EF900895AA
+:105C6000DC01ED91FC910190F081E02D0995089502
+:105C7000EF92FF920F931F938C01DC01ED91FC9149
+:105C80000190F081E02D6DE009957C01D801ED9146
+:105C9000FC910190F081E02DC8016AE009959C011A
+:105CA0002E0D3F1DC9011F910F91FF90EF90089598
+:105CB000EF92FF920F931F937C010E940DAE8C0117
+:105CC000C7010E9438AE9C01200F311FC9011F91EE
+:105CD0000F91FF90EF900895CF93DF93DB010D902C
+:105CE0000020E9F71197A61BB70BEC01E881F981B9
+:105CF0000280F381E02DAD010995DF91CF910895E8
+:105D00004F925F927F928F929F92AF92BF92CF926B
+:105D1000DF92EF92FF920F931F93DF93CF93CDB754
+:105D2000DEB7A1970FB6F894DEBF0FBECDBF2C0132
+:105D3000742ECB01223008F42AE019A231E2C32EDE
+:105D4000D12CCC0EDD1E822E9924AA24BB24672DD3
+:105D5000752FA50194010E9457B479018A01C801E9
+:105D6000B701A50194010E9405B4472D461B089474
+:105D7000C108D1084A3014F4405D01C0495CF60105
+:105D80004083E114F1040105110521F07E2C5F2D03
+:105D9000C801DDCFC201B6010E946CAEA1960FB65C
+:105DA000F894DEBF0FBECDBFCF91DF911F910F9151
+:105DB000FF90EF90DF90CF90BF90AF909F908F902B
+:105DC0007F905F904F900895DC012115310541F4DB
+:105DD000ED91FC910190F081E02D642F09950895DB
+:105DE0000E9480AE0895EF92FF920F931F937C0163
+:105DF0000E94E4AE8C01C7010E9438AE9C01200FC6
+:105E0000311FC9011F910F91FF90EF900895EF92FC
+:105E1000FF920F931F939A017B0100E010E0B801FD
+:105E2000A7010E94E4AE1F910F91FF90EF9008959B
+:105E3000CF92DF92EF92FF920F931F936C017B0141
+:105E40009A0100E010E0B801A7010E94E4AE8C01C5
+:105E5000C6010E9438AE080F191FC8011F910F918B
+:105E6000FF90EF90DF90CF900895EF92FF920F9305
+:105E70001F939A01E62EFF2400E010E0B801A7016D
+:105E80000E94E4AE1F910F91FF90EF900895CF9282
+:105E9000DF92EF92FF920F931F936C01E62E9A010F
+:105EA000FF2400E010E0B801A7010E94E4AE8C01DD
+:105EB000C6010E9438AE080F191FC8011F910F912B
+:105EC000FF90EF90DF90CF900895CF92DF92EF9206
+:105ED000FF920F931F93CF93DF93EC016A017B0135
+:105EE0002115310541F4E881F9810190F081E02D1F
+:105EF000642F09951FC02A303105D1F477FF17C0F0
+:105F0000E881F9810190F081E02D6DE209958C0125
+:105F100044275527BA014C195D096E097F09CE0146
+:105F20002AE00E9480AE9801280F391F04C02AE0A1
+:105F30000E9480AE9C01C901DF91CF911F910F910A
+:105F4000FF90EF90DF90CF900895EF92FF920F9324
+:105F50001F937B019A010027F7FC0095102FB801D1
+:105F6000A7010E9465AF1F910F91FF90EF900895D8
+:105F7000CF92DF92EF92FF920F931F936C017B0100
+:105F80009A010027F7FC0095102FB801A7010E9485
+:105F900065AF8C01C6010E9438AE080F191FC801F9
+:105FA0001F910F91FF90EF90DF90CF9008950E9486
+:105FB0006CAE08957F928F929F92AF92BF92CF92D4
+:105FC000DF92EF92FF920F931F93CF93DF934C01D9
+:105FD0007A018B01722ECB01BA0120E030E040E063
+:105FE00050E00E944FB287FD03C0C0E0D0E00EC079
+:105FF000D401ED91FC910190F081E02DC4016DE29E
+:106000000995EC0117FB109517F9109520E030E089
+:1060100040E05FE3AA240BC0CA01B90120E030E0F0
+:1060200040E251E40E9453B29B01AC01A394A71437
+:1060300098F3C801B7010E94EBB15B016C010E94AB
+:10604000C0B27B018C01C401B801A7012AE030E095
+:106050000E94E4AEC80FD91F772039F0C40165EF64
+:1060600078E00E946CAEC80FD91FC801B7010E942A
+:10607000ECB29B01AC01C601B5010E94EAB124C09B
+:1060800020E030E040E251E40E94A2B37B018C01A9
+:106090000E94BBB25B016C01CC24B7FCC094DC2C29
+:1060A000C401B601A5012AE030E00E9465AFC80F27
+:1060B000D91FC601B5010E94EEB29B01AC01C80117
+:1060C000B7010E94EAB17A947720D1F6CE01DF9130
+:1060D000CF911F910F91FF90EF90DF90CF90BF90E5
+:1060E000AF909F908F907F9008950E94DAAF0895AF
+:1060F000EF92FF920F931F937C010E94DAAF8C0105
+:10610000C7010E9438AE080F191FC8011F910F91D7
+:10611000FF90EF900895EF92FF920F931F937C01F1
+:106120000E946CAE8C01C7010E9438AE080F191F87
+:10613000C8011F910F91FF90EF900895AF92BF9209
+:10614000CF92DF92EF92FF920F931F93CF93DF9343
+:106150005C016B01EE24FF24C0E0D0E010C0D5014B
+:10616000ED91FC9100811181C601BE010E94E5B054
+:10617000682FC501F8010995E80EF91E2196F60170
+:1061800084819581C817D90750F3C701DF91CF915A
+:106190001F910F91FF90EF90DF90CF90BF90AF9045
+:1061A0000895EF92FF920F931F937C010E949EB07F
+:1061B0008C01C7010E9438AE9C01200F311FC9011C
+:1061C0001F910F91FF90EF900895FC0184819581BC
+:1061D0006817790748F40190F081E02D309721F09D
+:1061E000E60FF71F8081089580E008950F931F93B5
+:1061F000CF93DF93EC018B016F5F7F4F8881998193
+:106200000E94100D009711F480E005C099838883E7
+:106210001B830A8381E0DF91CF911F910F91089535
+:10622000CF93DF93EC0188819981892B29F08A81B2
+:106230009B818617970760F4CE010E94F6B08823F1
+:1062400041F08C819D81892B19F4E881F9811082BC
+:1062500081E0DF91CF910895EF92FF920F931F930A
+:10626000CF93DF93EC017B016C817D81E114F1041C
+:10627000C1F04115510599F08A01060F171FB801A9
+:106280000E9410B1882369F0888199812C813D8119
+:10629000820F931FB7010E947D0E1D830C8381E046
+:1062A00001C080E0DF91CF911F910F91FF90EF909F
+:1062B0000895CF93DF93EC0188819981009711F0C5
+:1062C0000E94B80C198218821D821C821B821A82BD
+:1062D000DF91CF9108950F931F93182F092FFB0182
+:1062E00060817181448155810E942CB1882321F401
+:1062F000812F902F0E9459B1812F902F1F910F91C4
+:106300000895EF92FF920F931F93CF93DF93EC01C9
+:106310007B018A01BA010E9410B1882321F4CE01C9
+:106320000E9459B107C01D830C8388819981B701F0
+:106330000E947D0ECE01DF91CF911F910F91FF90B2
+:10634000EF900895CF93DF93EC01198218821B829E
+:106350001A821D821C821E826115710551F0DB01BB
+:106360000D900020E9F71197A61BB70BAD010E9415
+:1063700081B1DF91CF910895CF93DF93EC01FB01C1
+:106380008617970761F0608171816115710529F0A9
+:10639000448155810E9481B102C00E9459B1CE0151
+:1063A000DF91CF910895FC01118210821382128235
+:1063B0001582148216820E94BCB10895FC0180816E
+:1063C00091810E94B80C0895FC01808191810E9406
+:1063D000B80C08955058BB27AA270ED075C166D1B6
+:1063E00030F06BD120F031F49F3F11F41EF45BC10B
+:1063F0000EF4E095E7FB51C1E92F77D180F3BA178E
+:10640000620773078407950718F071F49EF58FC132
+:106410000EF4E0950B2EBA2FA02D0B01B9019001BF
+:106420000C01CA01A0011124FF27591B99F0593F03
+:1064300050F4503E68F11A16F040A22F232F342F4B
+:106440004427585FF3CF469537952795A795F04099
+:106450005395C9F77EF41F16BA0B620B730B840BAE
+:10646000BAF09150A1F0FF0FBB1F661F771F881F66
+:10647000C2F70EC0BA0F621F731F841F48F48795BE
+:1064800077956795B795F7959E3F08F0B3CF9395AD
+:10649000880F08F09927EE0F979587950895D9D022
+:1064A00008F481E008950CD00FC107D140F0FED070
+:1064B00030F021F45F3F19F0F0C0511139C1F3C041
+:1064C00014D198F39923C9F35523B1F3951B550BB8
+:1064D000BB27AA2762177307840738F09F5F5F4FB7
+:1064E000220F331F441FAA1FA9F333D00E2E3AF0F8
+:1064F000E0E830D091505040E695001CCAF729D012
+:10650000FE2F27D0660F771F881FBB1F2617370760
+:106510004807AB07B0E809F0BB0B802DBF01FF2790
+:1065200093585F4F2AF09E3F510568F0B6C000C1F6
+:106530005F3FECF3983EDCF3869577956795B795CA
+:10654000F7959F5FC9F7880F911D9695879597F9E5
+:106550000895E1E0660F771F881FBB1F621773075E
+:106560008407BA0720F0621B730B840BBA0BEE1F73
+:1065700088F7E095089504D06894B111D9C00895C2
+:10658000BCD088F09F5790F0B92F9927B751A0F051
+:10659000D1F0660F771F881F991F1AF0BA95C9F7B7
+:1065A00012C0B13081F0C3D0B1E00895C0C0672FF0
+:1065B000782F8827B85F39F0B93FCCF38695779567
+:1065C0006795B395D9F73EF4909580957095619550
+:1065D0007F4F8F4F9F4F0895E89409C097FB3EF47B
+:1065E00090958095709561957F4F8F4F9F4F992320
+:1065F000A9F0F92F96E9BB279395F695879577959E
+:106600006795B795F111F8CFFAF4BB0F11F460FF5D
+:106610001BC06F5F7F4F8F4F9F4F16C0882311F0B5
+:1066200096E911C0772321F09EE8872F762F05C0C9
+:10663000662371F096E8862F70E060E02AF09A9564
+:10664000660F771F881FDAF7880F9695879597F959
+:106650000895990F0008550FAA0BE0E8FEEF1616F3
+:106660001706E807F907C0F012161306E407F50746
+:1066700098F0621B730B840B950B39F40A2661F0BA
+:10668000232B242B252B21F408950A2609F4A1405D
+:10669000A6958FEF811D811D089597F99F6780E86A
+:1066A00070E060E008959FEF80EC089500240A9464
+:1066B0001616170618060906089500240A941216DD
+:1066C0001306140605060895092E0394000C11F410
+:1066D000882352F0BB0F40F4BF2B11F460FF04C0BD
+:1066E0006F5F7F4F8F4F9F4F089557FD9058440F16
+:1066F000551F59F05F3F71F04795880F97FB991F21
+:1067000061F09F3F79F087950895121613061406DD
+:10671000551FF2CF4695F1DF08C01616170618066A
+:10672000991FF1CF86957105610508940895E89445
+:10673000BB2766277727CB0197F908958ADF08F4EE
+:106740008FEF08950BD0C0CFB1DF28F0B6DF18F07F
+:10675000952309F0A2CFA7CF1124EACFC6DFA0F37B
+:10676000959FD1F3950F50E0551F629FF001729FE6
+:10677000BB27F00DB11D639FAA27F00DB11DAA1F05
+:10678000649F6627B00DA11D661F829F2227B00D52
+:10679000A11D621F739FB00DA11D621F839FA00DDD
+:1067A000611D221F749F3327A00D611D231F849F2D
+:1067B000600D211D822F762F6A2F11249F57504084
+:1067C0008AF0E1F088234AF0EE0FFF1FBB1F661F1F
+:1067D000771F881F91505040A9F79E3F510570F0D8
+:1067E0005CCFA6CF5F3FECF3983EDCF386957795C0
+:1067F0006795B795F795E7959F5FC1F7FE2B880FD3
+:10680000911D9695879597F90895629FD001739F82
+:10681000F001829FE00DF11D649FE00DF11D929F3C
+:10682000F00D839FF00D749FF00D659FF00D99277B
+:10683000729FB00DE11DF91F639FB00DE11DF91F9F
+:10684000BD01CF0111240895991B79E004C0991F5F
+:10685000961708F0961B881F7A95C9F780950895BA
+:10686000AA1BBB1B51E107C0AA1FBB1FA617B70776
+:1068700010F0A61BB70B881F991F5A95A9F7809592
+:106880009095BC01CD01089597FB092E07260AD0EB
+:1068900077FD04D0E5DF06D000201AF470956195ED
+:1068A0007F4F0895F6F7909581959F4F0895A1E247
+:1068B0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F7A
+:1068C000FF1FA217B307E407F50720F0A21BB30BC5
+:1068D000E40BF50B661F771F881F991F1A9469F741
+:1068E00060957095809590959B01AC01BD01CF019D
+:1068F000089597FB092E05260ED057FD04D0D7DF4B
+:106900000AD0001C38F450954095309521953F4FA2
+:106910004F4F5F4F0895F6F790958095709561956C
+:106920007F4F8F4F9F4F0895EE0FFF1F0590F491FB
+:10693000E02D09942F923F924F925F926F927F9237
+:106940008F929F92AF92BF92CF92DF92EF92FF927F
+:106950000F931F93CF93DF93CDB7DEB7CA1BDB0B2B
+:106960000FB6F894DEBF0FBECDBF09942A883988D0
+:1069700048885F846E847D848C849B84AA84B984D7
+:10698000C884DF80EE80FD800C811B81AA81B981E3
+:10699000CE0FD11D0FB6F894DEBF0FBECDBFED01F7
+:0669A0000895F894FFCFFA
+:1069A6005352563A20002F00616C6C005B25752C03
+:1069B60025752C25752C256C752C256C752C256C50
+:1069C600755D0A005B256C752C22666C222C256C85
+:1069D600752C256C755D0A005B302C227264222CA6
+:1069E600256C752C256C755D0A005B302C22727344
+:1069F600222C256C752C256C755D0A005B302C22CB
+:106A0600776C222C25752C256C755D0A005B302C65
+:106A1600226670222C25642C256C752C256C752C11
+:106A2600256C752C256C752C256C755D0A005B3004
+:106A36002C226664222C25642C256C752C256C75FD
+:106A46005D0A005B302C22726E222C25642C256C8C
+:106A5600752C25645D0A005B302C227265222C257C
+:106A6600642C256C752C25645D0A005B302C227322
+:106A760031222C25642C256C752C25645D0A005B5F
+:106A8600302C227332222C25642C256C752C25641F
+:106A96005D0A005B302C2273317063222C25642C36
+:106AA600256C752C256C752C25645D0A005B302CD5
+:106AB6002273327063222C25642C256C752C256C70
+:106AC600752C25645D0A005B302C227331736322BA
+:106AD6002C25642C256C752C25642C25645D0A00F8
+:106AE6005B302C2273327363222C25642C256C7543
+:106AF6002C256C752C25645D0A005B302C226661A2
+:106B0600747363222C25642C256C752C256C755D9D
+:106B16000A005B302C22726E7363222C25642C25AE
+:106B26006C752C256C752C25642C25645D0A005B20
+:106B3600302C2263616C222C25642C256C752C2547
+:106B4600642C256C752C25735D0A005B302C226144
+:106B56006C6673222C25642C256C752C25642C25DB
+:106B66006C752C256C755D0A005B302C22616C6699
+:106B7600222C25642C256C752C25642C25642C254B
+:106B8600735D0A005B302C22616C63222C25642C19
+:106B9600256C752C25642C25642C256C755D0A00E6
+:106BA6005B302C22616C6666222C25642C256C7564
+:106BB6002C256C752C256C755D0A005B302C2261CA
+:106BC6006C6C73222C25642C256C755D0A005B3079
+:106BD6002C22616C6C65222C25642C256C752C2569
+:106BE6006C752C256C755D0A005B302C22616C6619
+:106BF6006174222C25642C256C752C25642C256447
+:106C06002C25735D0A005B302C2266737461742236
+:106C16002C25642C256C752C25642C25642C256468
+:106C26002C25645D0A002E004E414D453A20200079
+:106C36006672656552616D31313A2000667265652E
+:106C460052616D323A2000726A6F0000726A630008
+:106C560000726A700000726A6E0000726A73000049
+:106C6600726A6C0000222C226C7077223A25732CF3
+:106C7600226D61636164223A22005D2C226D617887
+:106C86006C656E223A25647D00202020436C6F756A
+:106C96006420444154413A20004C656E6768742074
+:106CA6006F66206A736F6E20444154413A2000207B
+:106CB60020202020207265745F76616C3A202000C7
+:106CC600202020206C6173745F73656E745F6C6F37
+:106CD600673A2020000A20202350726F6365737381
+:106CE600436C6F75643A200020202353656E64431D
+:106CF6006C6F75643A20003A005448452049465462
+:106D06005454204D4553534147453A202000000A2C
+:106D160046696C656E616D653A202020000D004E57
+:106D26006F206F66206C6F67733A20202F202046F5
+:106D3600696C655F73697A653A2000202F200073BD
+:106D460074617274696E672E2E2E2E2E004E657437
+:106D5600776F726B5F616461707465725F6661699B
+:106D66006C3A202F204E6574776F726B5F6661698F
+:106D76006C733A202F20496E7465726E65745F6677
+:106D860061696C3A200020202020234C6F6F7054DC
+:106D9600696D653A2000202020202350726F6365BC
+:106DA60073734574683A20004C4F475F737461747F
+:106DB600757320202F206C6F675F746F5F73656E2D
+:106DC600643A2020200020202F202000636C696573
+:106DD6006E742E73616E647A2E6875006D616B65D4
+:106DE600722E69667474742E636F6D002E007600C1
+:106DF6005300730072007000613664383262636556
+:106E06006436333864653364656631653962626257
+:106E160034393833323235630042756461706573D4
+:106E2600740068747470733A2F2F75692E6F7065CD
+:106E36006E737072696E6B6C65722E636F6D2F6AFE
+:106E46007300776561746865722E6F70656E737016
+:106E560072696E6B6C65722E636F6D0000204677EB
+:106E66003A002048773A0042617365204F534677CF
+:106E76003A76323137002C0064653A005B002C000C
+:106E86005D0000416C6572742120466C6F7720733B
+:106E9600746F707065642100416C657274212046C0
+:106EA600726565666C6F77206D617820696D7075A7
+:106EB6006C73657320726561636865642100416C5B
+:106EC600657274212046726565666C6F77206D6108
+:106ED600782074696D652072656163686564210058
+:106EE600416C65727421204C45414B4147452064F5
+:106EF600657465637465642100416C657274212054
+:106F06004C65616B6167652066696E697368656467
+:106F16002100416C65727421204849474820464C3F
+:106F26004F572064657465637465642100416C6520
+:106F3600727421204C4F5720464C4F57206465747D
+:106F460065637465642100416C6572742120464155
+:106F560054414C20464C4F572064657465637465F4
+:106F660064212053746174696F6E20646973616271
+:106F76006C65642100416C6572742120484947485C
+:106F86002053544154494F4E2043555252454E5476
+:106F96002064657465637465642100416C65727470
+:106FA60021204C4F572053544154494F4E204355AE
+:106FB6005252454E542064657465637465642100BD
+:106FC600556E6B6E6F776E20616C65727421000072
+:106FD60045786974696E67206368616E67652073BA
+:106FE60074617465204556454E54202F206F6C649D
+:106FF6005F7374617465202F205354415445203AC1
+:10700600202000202F20006F6C645F73656E736F05
+:107016007220202F206C6173745F73656E736F72BC
+:107026003A202000456E644F664C6F6F70204556BF
+:10703600454E54202F205354415445202F20736928
+:1070460064202F20696D70756C736573202F207214
+:1070560065616C74696D655F47504D202F207265C0
+:10706600616C5F63757272656E743A200053656E6B
+:10707600736F7247726F757020696E6974207374CE
+:10708600617274696E672E2E2E00496D70756C7371
+:10709600652F47616C6C6F6E3A2000666C6F7720C7
+:1070A600646966662F63757272656E7420646966BC
+:1070B600663A20200066726565666C6F77206D61A2
+:1070C60078207175616E746974792047616C6C6F94
+:1070D6006E202F2074696D65206D696E7574653A32
+:1070E6002020002043414C20526571756573743A27
+:1070F600202F20464C4F5720416C61726D20454E23
+:10710600202F20464154414C20454E202F204355E8
+:10711600525220416C61726D20454E3A202020204B
+:10712600002C20002043414C205265717565737414
+:107136005F61667465723A20200068747470733AF1
+:107146002F2F75692E6F70656E737072696E6B6C1A
+:1071560065722E636F6D2F6A73007765617468655B
+:10716600722E6F70656E737072696E6B6C65722EBF
+:10717600636F6D00763D5B00743D5B005B300072B3
+:107186006E00727300776C00666C00000D0A0032A8
+:107196003030002F002E002000011F00004F532D1D
+:1071A6003030006382536335015000014F73436CE6
+:1071B60069656E7454435300001E0000000200000F
+:1071C600002F6C6F67732F0001D91C0101000000AE
+:1071D60000000000005000170001780078780201D6
+:1071E6006401000064643250003261D2A901007863
+:1071F6007800640000080808080000010002191958
+:107206000A010001000101190000001415003C0AE2
+:107216000001000000102700000000803F1432E04B
+:1072260077377BB870766FA3712C728F70387D8E2E
+:107236006C6F6FC16BC36A146B8C73307EE570170D
+:1072460076CA6AE369246C377E7B010A100E000059
+:1072560001FFFFFFFFFFFF00000000AB1EE3AD00D4
+:1072660000400014005400000000005720E3AD2C3D
+:10727600053C052E6F4F6F00000000020A0C0D0E34
+:107286000F1213000000FFFFFFFFFFFF1F1C1F1E52
+:107296001F1E1F1F1E1F1E1F00000000AB8EE3AD2A
+:1072A60000000000C59FE3AD00000000E6A4B5A401
+:1072B6006EA477A48CA49DA40000000005ADE3ADE8
+:0872C60099ACCAACAAACF3AC10
+:00000001FF
diff --git a/examples/mainArduino/Debug/makedep.mk b/examples/mainArduino/Debug/makedep.mk
new file mode 100644
index 0000000..3a950f4
--- /dev/null
+++ b/examples/mainArduino/Debug/makedep.mk
@@ -0,0 +1,112 @@
+################################################################################
+# Automatically-generated file. Do not edit or delete the file
+################################################################################
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\CDC.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\HardwareSerial.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\HID.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\IPAddress.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\main.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\new.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\Print.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\Stream.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\Tone.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\USBCore.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\WInterrupts.c
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\wiring.c
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\wiring_analog.c
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\wiring_digital.c
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\wiring_pulse.c
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\wiring_shift.c
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\WMath.cpp
+
+..\..\..\..\hardware\aopensprinkler\cores\arduino\WString.cpp
+
+..\..\..\SdFat\istream.cpp
+
+..\..\..\SdFat\MinimumSerial.cpp
+
+..\..\..\SdFat\ostream.cpp
+
+..\..\..\SdFat\Sd2Card.cpp
+
+..\..\..\SdFat\SdBaseFile.cpp
+
+..\..\..\SdFat\SdBaseFilePrint.cpp
+
+..\..\..\SdFat\SdFat.cpp
+
+..\..\..\SdFat\SdFatErrorPrint.cpp
+
+..\..\..\SdFat\SdFatUtil.cpp
+
+..\..\..\SdFat\SdFile.cpp
+
+..\..\..\SdFat\SdSpiArduino.cpp
+
+..\..\..\SdFat\SdSpiAVR.cpp
+
+..\..\..\SdFat\SdSpiMK20DX128.cpp
+
+..\..\..\SdFat\SdSpiSAM3X.cpp
+
+..\..\..\SdFat\SdStream.cpp
+
+..\..\..\SdFat\SdVolume.cpp
+
+..\..\..\Wire\utility\twi.c
+
+..\..\..\Wire\Wire.cpp
+
+..\..\dhcp.cpp
+
+..\..\dns.cpp
+
+..\..\DS1307RTC.cpp
+
+..\..\enc28j60.cpp
+
+..\..\EtherCard.cpp
+
+..\..\etherport.cpp
+
+..\..\gpio.cpp
+
+..\..\LiquidCrystal.cpp
+
+..\..\main.cpp
+
+..\..\OpenSprinkler.cpp
+
+..\..\program.cpp
+
+..\..\server.cpp
+
+..\..\tcpip.cpp
+
+..\..\Time.cpp
+
+..\..\udpserver.cpp
+
+..\..\utils.cpp
+
+..\..\weather.cpp
+
+..\..\webutil.cpp
+
diff --git a/examples/mainArduino/OS_SG_Develoment.atsln b/examples/mainArduino/OS_SG_Develoment.atsln
new file mode 100644
index 0000000..1e32dd7
--- /dev/null
+++ b/examples/mainArduino/OS_SG_Develoment.atsln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Atmel Studio Solution File, Format Version 11.00
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "mainArduino", "mainArduino.cppproj", "{35A1DFE5-223D-45D1-9F87-03D52FF74CC1}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|AVR = Debug|AVR
+ Release|AVR = Release|AVR
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {35A1DFE5-223D-45D1-9F87-03D52FF74CC1}.Debug|AVR.ActiveCfg = Debug|AVR
+ {35A1DFE5-223D-45D1-9F87-03D52FF74CC1}.Release|AVR.ActiveCfg = Release|AVR
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/examples/mainArduino/Release/board.buildinfo b/examples/mainArduino/Release/board.buildinfo
new file mode 100644
index 0000000..804ca7a
--- /dev/null
+++ b/examples/mainArduino/Release/board.buildinfo
@@ -0,0 +1,112 @@
+name=OpenSprinklerHW2.3 (16MHz, Serial)
+upload.protocol=arduino
+upload.maximum_size=130048
+upload.speed=115200
+bootloader.low_fuses=0xFF
+bootloader.high_fuses=0xD6
+bootloader.extended_fuses=0xFF
+bootloader.path=atmega1284p
+bootloader.file=optiboot_atmega1284.hex
+bootloader.unlock_bits=0x3F
+bootloader.lock_bits=0x0F
+build.mcu=atmega1284p
+build.f_cpu=16000000L
+build.core=arduino
+build.variant=standard
+runtime.ide.path=c:\Program Files\Arduino
+runtime.os=windows
+build.system.path=c:\Program Files\Arduino\hardware\aopensprinkler\system
+runtime.ide.version=105
+target_package=aopensprinkler
+target_platform=avr
+runtime.hardware.path=c:\Program Files\Arduino\hardware
+originalid=aopensprinkler_avr_os23
+vm.platform.root.path=C:\Program Files\Atmel\Studio\7.0\Extensions\5vsoovdn.eid\Micro Platforms\arduino10x
+usbtinyisp.name=USBtinyISP
+usbtinyisp.protocol=usbtiny
+usbasp.name=USBasp
+usbasp.communication=usb
+usbasp.protocol=usbasp
+runtime.vm.boardinfo.id=aopensprinkler_aopensprinkler_avr_os23
+runtime.vm.boardinfo.name=aopensprinkler_aopensprinkler_avr_os23
+runtime.vm.boardinfo.desc=OpenSprinklerHW2.3 (16MHz, Serial)
+runtime.vm.boardinfo.src_location=c:\Program Files\Arduino\hardware\aopensprinkler
+ide.hint=For use with Arduino 0023 and 1.0.x versions
+ide.location.key=Arduino
+ide.location.ide.winreg=Arduino 1.0.x Application
+ide.location.sketchbook.winreg=Arduino 1.0.x Sketchbook
+ide.location.sketchbook.preferences=sketchbook.path
+ide.location.sketchbook.default=%MYDOCUMENTS%\arduino
+ide.location.preferences=%VM_APPDATA_ROAMING%\arduino\preferences.txt
+ide.default.package=arduino
+ide.default.platform=avr
+ide.multiplatform=true
+ide.includes=arduino.h
+ide.platformswithoutpackage=true
+ide.includes.fallback=wprogram.h
+ide.extension=ino
+ide.extension.fallback=pde
+ide.versionLTEQ=149
+ide.exe=arduino.exe
+ide.hosts=atmel
+ide.url=http://arduino.cc/en/Main/Software
+vm.debug=true
+software=ARDUINO
+ide.appid=arduino10x
+location.sketchbook=c:\Program Files\Arduino\libraries\OpenSprinkler
+build.core.vmresolved=c:\Program Files\Arduino\hardware\aopensprinkler\cores\arduino
+build.core.parentfolder.vmresolved=c:\Program Files\Arduino\hardware\aopensprinkler\cores
+build.core.coresparentfolder.vmresolved=c:\Program Files\Arduino\hardware\aopensprinkler
+build.core.path=c:\Program Files\Arduino\hardware\aopensprinkler\cores\arduino
+vm.core.include=arduino.h
+build.board=AVR_AOPENSPRINKLER_AOPENSPRINKLER_AVR_OS23
+vm.boardsource.path=c:\Program Files\Arduino\hardware\aopensprinkler
+runtime.platform.path=c:\Program Files\Arduino\hardware\aopensprinkler
+vm.platformname.name=avr
+build.arch=AVR
+builder.noino=false
+build.variant.vmresolved=c:\Program Files\Arduino\hardware\aopensprinkler\variants\standard
+vm.runtime.compiler.showwarnings=false
+vm.runtime.upload.verbose=false
+vm.runtime.upload.verify=false
+serial.port.file=COM5
+serial.port=COM5
+serial.port.num=5
+vm.last.breakpoints.count=3
+vm.runtime.compiler.auto_discover_includes=true
+build.vm.build.vmdebug=0
+build.vm.build.isgdb=0
+build.vm.build.optimised=1
+build.vm.extra_flags= -g
+vm.last.buildpath=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23
+vm.build.verbose_build_properties=false
+build.source.path=C:\Program Files\Arduino\libraries\OpenSprinkler\examples\mainArduino\mainArduino.ino
+build.path=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23
+PreProcessor.HeaderCount=1
+PreProcessor.PrototypeCount=4
+vm.last.preproc.file.0.file=mainArduino.ino
+vm.last.preproc.file.0.offset=1
+vm.last.preproc.file.0.length=187
+vm.last.preproc.file.0.linecount=18
+vm.last.preproc.file.0.linestart=0
+vm.last.preproc.file.0.lineend=18
+vm.last.preproc.file.0.prefix_lines=0
+compiler.path=c:\Program Files\Arduino\hardware\tools\avr\bin\
+sketch_path=C:\Program Files\Arduino\libraries\OpenSprinkler\examples\mainArduino
+vm.sketch_source_path=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23
+vm.build_use_temp=1
+build.project_name=mainArduino.ino
+runtime.vm.ide.platforms.path=C:\Program Files\Atmel\Studio\7.0\Extensions\5vsoovdn.eid\Micro Platforms
+build.variant.path=c:\Program Files\Arduino\hardware\aopensprinkler\variants\standard
+archive_file=core.a
+archive_file_path=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\core.a
+extra.time.local=33926277
+vm_all_includes= -I"c:\Program Files\Arduino\libraries\OpenSprinkler" -I"c:\Program Files\Arduino\libraries\SdFat" -I"c:\Program Files\Arduino\libraries\Wire" -I"c:\Program Files\Arduino\libraries" -I"c:\Program Files\Arduino\hardware\aopensprinkler\libraries" -I"C:\Program Files\Atmel\Studio\7.0\Extensions\5vsoovdn.eid\Micro Platforms\default\debuggers" -I"c:\Program Files\Arduino\libraries\OpenSprinkler\libraries" -I"c:\Program Files\Arduino\hardware\aopensprinkler\cores\arduino" -I"c:\Program Files\Arduino\hardware\aopensprinkler\variants\standard"
+vm_core_includes= -I"c:\Program Files\Arduino\hardware\aopensprinkler\cores\arduino" -I"c:\Program Files\Arduino\hardware\aopensprinkler\variants\standard"
+includes= -I"c:\Program Files\Arduino\libraries\OpenSprinkler" -I"c:\Program Files\Arduino\libraries\SdFat" -I"c:\Program Files\Arduino\libraries\Wire" -I"c:\Program Files\Arduino\libraries" -I"c:\Program Files\Arduino\hardware\aopensprinkler\libraries" -I"C:\Program Files\Atmel\Studio\7.0\Extensions\5vsoovdn.eid\Micro Platforms\default\debuggers" -I"c:\Program Files\Arduino\libraries\OpenSprinkler\libraries" -I"c:\Program Files\Arduino\hardware\aopensprinkler\cores\arduino" -I"c:\Program Files\Arduino\hardware\aopensprinkler\variants\standard" -I"c:\Program Files\Arduino\libraries\SdFat\utility" -I"c:\Program Files\Arduino\libraries\Wire\utility"
+build.path_sketch=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23
+build.path_core=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\core
+build.path_libraries=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23
+object_file=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\mainArduino.cpp.o
+source_file=C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\mainArduino.cpp
+object_files= "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\mainArduino.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\dhcp.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\dns.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\DS1307RTC.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\enc28j60.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\EtherCard.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\etherport.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\gpio.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\LiquidCrystal.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\main.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\OpenSprinkler.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\program.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\server.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\tcpip.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\Time.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\udpserver.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\utils.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\weather.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\OpenSprinkler\webutil.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\istream.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\MinimumSerial.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\ostream.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\Sd2Card.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdBaseFile.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdBaseFilePrint.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdFat.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdFatErrorPrint.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdFatUtil.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdFile.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdSpiArduino.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdSpiAVR.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdSpiMK20DX128.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdSpiSAM3X.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdStream.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\SdFat\SdVolume.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\Wire\Wire.cpp.o" "C:\Users\User\AppData\Local\Temp\VMBuilds\mainArduino\aopensprinkler_aopensprinkler_avr_os23\Wire\utility\twi.c.o"
diff --git a/examples/mainArduino/Release/core.a b/examples/mainArduino/Release/core.a
new file mode 100644
index 0000000..33c093f
Binary files /dev/null and b/examples/mainArduino/Release/core.a differ
diff --git a/examples/mainArduino/__vm/.mainArduino.vsarduino.h b/examples/mainArduino/__vm/.mainArduino.vsarduino.h
new file mode 100644
index 0000000..dca9867
--- /dev/null
+++ b/examples/mainArduino/__vm/.mainArduino.vsarduino.h
@@ -0,0 +1,23 @@
+/*
+ Editor: http://www.visualmicro.com
+ visual micro and the arduino ide ignore this code during compilation. this code is automatically maintained by visualmicro, manual changes to this file will be overwritten
+ the contents of the Visual Micro sketch sub folder can be deleted prior to publishing a project
+ all non-arduino files created by visual micro and all visual studio project or solution files can be freely deleted and are not required to compile a sketch (do not delete your own code!).
+ note: debugger breakpoints are stored in '.sln' or '.asln' files, knowledge of last uploaded breakpoints is stored in the upload.vmps.xml file. Both files are required to continue a previous debug session without needing to compile and upload again
+
+ Hardware: OpenSprinklerHW2.3 (16MHz, Serial), Platform=avr, Package=aopensprinkler
+*/
+
+#define __AVR_ATmega1284p__
+#define __AVR_ATmega1284P__
+#define ARDUINO 105
+#define ARDUINO_MAIN
+#define F_CPU 16000000L
+#define __AVR__
+
+//
+//
+
+#include "pins_arduino.h"
+#include "arduino.h"
+#include "mainArduino.ino"
diff --git a/examples/mainArduino/__vm/Compile.vmps.xml b/examples/mainArduino/__vm/Compile.vmps.xml
new file mode 100644
index 0000000..c2f8682
--- /dev/null
+++ b/examples/mainArduino/__vm/Compile.vmps.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/mainArduino/__vm/Configuration.Debug.vmps.xml b/examples/mainArduino/__vm/Configuration.Debug.vmps.xml
new file mode 100644
index 0000000..eb8de8f
--- /dev/null
+++ b/examples/mainArduino/__vm/Configuration.Debug.vmps.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/mainArduino/__vm/Configuration.Release.vmps.xml b/examples/mainArduino/__vm/Configuration.Release.vmps.xml
new file mode 100644
index 0000000..a3ce417
--- /dev/null
+++ b/examples/mainArduino/__vm/Configuration.Release.vmps.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/mainArduino/__vm/Upload.vmps.xml b/examples/mainArduino/__vm/Upload.vmps.xml
new file mode 100644
index 0000000..c2f8682
--- /dev/null
+++ b/examples/mainArduino/__vm/Upload.vmps.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/mainArduino/mainArduino.componentinfo.xml b/examples/mainArduino/mainArduino.componentinfo.xml
new file mode 100644
index 0000000..e275755
--- /dev/null
+++ b/examples/mainArduino/mainArduino.componentinfo.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/examples/mainArduino/mainArduino.cppproj b/examples/mainArduino/mainArduino.cppproj
new file mode 100644
index 0000000..2ddf4c5
--- /dev/null
+++ b/examples/mainArduino/mainArduino.cppproj
@@ -0,0 +1,831 @@
+
+
+
+ 2.0
+ 7.0
+ com.Atmel.AVRGCC8.CPP
+ {35a1dfe5-223d-45d1-9f87-03d52ff74cc1}
+ atmega1284p
+ none
+ Executable
+ CPP
+ $(MSBuildProjectName)
+ .elf
+ $(MSBuildProjectDirectory)\$(Configuration)
+ mainArduino
+ mainArduino
+ mainArduino
+ Native
+ false
+ false
+ exception_table
+ 0
+ true
+ 0x20000000
+ true
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ com.atmel.avrdbg.tool.atmelice
+ J41800054780
+ 0x1E9705
+
+
+
+ 125000
+ 2166286
+ false
+ false
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ JTAG
+
+ com.atmel.avrdbg.tool.atmelice
+ J41800054780
+ Atmel-ICE
+
+ JTAG
+ 2166286
+
+
+
+
+
+
+
+ com.atmel.avrdbg.tool.simulator
+
+
+ Simulator
+
+
+
+
+ 200000
+
+
+
+
+ custom
+
+
+ Custom Programming Tool
+
+
+
+ 64000000
+ False
+ True
+ False
+ False
+ True
+ True
+ False
+ 1000
+ False
+ False
+ True
+ False
+ True
+ False
+ False
+ False
+ False
+ False
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+ String
+
+
+
+
+
+ True
+ True
+ True
+ True
+ False
+ True
+ True
+
+
+ __AVR_ATmega1284p__
+ __AVR_ATmega1284P__
+ ARDUINO=105
+ ARDUINO_MAIN
+ F_CPU=16000000L
+ __AVR__
+
+
+
+
+ c:/Program Files/Arduino/libraries/OpenSprinkler
+ c:/Program Files/Arduino/libraries/SdFat
+ c:/Program Files/Arduino/libraries/Wire
+ c:/Program Files/Arduino/libraries/OpenSprinkler/libraries
+ c:/Program Files/Arduino/libraries/OpenSprinkler/utility
+ c:/Program Files/Arduino/libraries/SdFat/utility
+ c:/Program Files/Arduino/libraries/Wire/utility
+ c:/Program Files/Arduino/libraries
+ c:/Program Files/Arduino/hardware/aopensprinkler/libraries
+ c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino
+ c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard
+ ../../../mainArduino
+ c:/program files/arduino/hardware/tools/avr/avr/include/
+ c:/program files/arduino/hardware/tools/avr/avr/include/avr/
+ c:/program files/arduino/hardware/tools/avr/avr/
+ c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include/
+
+
+ Optimize (-O1)
+ True
+ True
+ Default (-g2)
+ True
+ True
+ True
+
+
+ __AVR_ATmega1284p__
+ __AVR_ATmega1284P__
+ ARDUINO=105
+ ARDUINO_MAIN
+ F_CPU=16000000L
+ __AVR__
+
+
+
+
+ c:/Program Files/Arduino/libraries/OpenSprinkler
+ c:/Program Files/Arduino/libraries/SdFat
+ c:/Program Files/Arduino/libraries/Wire
+ c:/Program Files/Arduino/libraries/OpenSprinkler/libraries
+ c:/Program Files/Arduino/libraries/OpenSprinkler/utility
+ c:/Program Files/Arduino/libraries/SdFat/utility
+ c:/Program Files/Arduino/libraries/Wire/utility
+ c:/Program Files/Arduino/libraries
+ c:/Program Files/Arduino/hardware/aopensprinkler/libraries
+ c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino
+ c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard
+ ../../../mainArduino
+ c:/program files/arduino/hardware/tools/avr/avr/include/
+ c:/program files/arduino/hardware/tools/avr/avr/include/avr/
+ c:/program files/arduino/hardware/tools/avr/avr/
+ c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include/
+
+
+ Optimize (-O1)
+ True
+ True
+ Default (-g2)
+ True
+ Default (-Wa,-g)
+
+
+ c:/Program Files/Arduino/libraries/OpenSprinkler;c:/Program Files/Arduino/libraries/OpenSprinkler/utility;c:/Program Files/Arduino/libraries/SdFat;c:/Program Files/Arduino/libraries/SdFat/utility;c:/Program Files/Arduino/libraries/Wire;c:/Program Files/Arduino/libraries/Wire/utility;c:/Program Files/Arduino/libraries;c:/Program Files/Arduino/hardware/aopensprinkler/libraries;c:/Program Files/Arduino/libraries/OpenSprinkler/libraries;c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino;c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard;../../../mainArduino;c:/program files/arduino/hardware/tools/avr/avr/include/;c:/program files/arduino/hardware/tools/avr/avr/include/avr/;c:/program files/arduino/hardware/tools/avr/avr/;c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include/;
+
+
+ COM4
+ 115200
+ usbasp
+ 0
+ COM4
+
+
+
+
+
+
+ True
+ True
+ True
+ True
+ False
+ True
+ True
+
+
+ __AVR_ATmega1284p__
+ __AVR_ATmega1284P__
+ ARDUINO=105
+ ARDUINO_MAIN
+ F_CPU=16000000L
+ __AVR__
+
+
+
+
+ c:/Program Files/Arduino/libraries/OpenSprinkler
+ c:/Program Files/Arduino/libraries/SdFat
+ c:/Program Files/Arduino/libraries/Wire
+ c:/Program Files/Arduino/libraries/OpenSprinkler/libraries
+ c:/Program Files/Arduino/libraries/OpenSprinkler/utility
+ c:/Program Files/Arduino/libraries/SdFat/utility
+ c:/Program Files/Arduino/libraries/Wire/utility
+ c:/Program Files/Arduino/libraries
+ c:/Program Files/Arduino/hardware/aopensprinkler/libraries
+ c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino
+ c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard
+ ../../../mainArduino
+ c:/program files/arduino/hardware/tools/avr/avr/include/
+ c:/program files/arduino/hardware/tools/avr/avr/include/avr/
+ c:/program files/arduino/hardware/tools/avr/avr/
+ c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include/
+
+
+ Optimize (-O1)
+ True
+ True
+ Default (-g2)
+ True
+ True
+ True
+
+
+ __AVR_ATmega1284p__
+ __AVR_ATmega1284P__
+ ARDUINO=105
+ ARDUINO_MAIN
+ F_CPU=16000000L
+ __AVR__
+
+
+
+
+ c:/Program Files/Arduino/libraries/OpenSprinkler
+ c:/Program Files/Arduino/libraries/SdFat
+ c:/Program Files/Arduino/libraries/Wire
+ c:/Program Files/Arduino/libraries/OpenSprinkler/libraries
+ c:/Program Files/Arduino/libraries/OpenSprinkler/utility
+ c:/Program Files/Arduino/libraries/SdFat/utility
+ c:/Program Files/Arduino/libraries/Wire/utility
+ c:/Program Files/Arduino/libraries
+ c:/Program Files/Arduino/hardware/aopensprinkler/libraries
+ c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino
+ c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard
+ ../../../mainArduino
+ c:/program files/arduino/hardware/tools/avr/avr/include/
+ c:/program files/arduino/hardware/tools/avr/avr/include/avr/
+ c:/program files/arduino/hardware/tools/avr/avr/
+ c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include/
+
+
+ Optimize (-O1)
+ True
+ True
+ Default (-g2)
+ True
+ Default (-Wa,-g)
+
+
+ c:/Program Files/Arduino/libraries/OpenSprinkler;c:/Program Files/Arduino/libraries/OpenSprinkler/utility;c:/Program Files/Arduino/libraries/SdFat;c:/Program Files/Arduino/libraries/SdFat/utility;c:/Program Files/Arduino/libraries/Wire;c:/Program Files/Arduino/libraries/Wire/utility;c:/Program Files/Arduino/libraries;c:/Program Files/Arduino/hardware/aopensprinkler/libraries;c:/Program Files/Arduino/libraries/OpenSprinkler/libraries;c:/Program Files/Arduino/hardware/aopensprinkler/cores/arduino;c:/Program Files/Arduino/hardware/aopensprinkler/variants/standard;../../../mainArduino;c:/program files/arduino/hardware/tools/avr/avr/include/;c:/program files/arduino/hardware/tools/avr/avr/include/avr/;c:/program files/arduino/hardware/tools/avr/avr/;c:/program files/arduino/hardware/tools/avr/lib/gcc/avr/4.3.2/include/;
+
+
+ COM4
+ 115200
+ usbasp
+ 0
+ COM4
+
+
+
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\Wire\keywords.txt
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\Errors.txt
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\LICENSE.txt
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\README.txt
+
+
+ compile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Arduino.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\binary.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\CDC.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Client.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\HardwareSerial.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\HardwareSerial.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\HID.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\IPAddress.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\IPAddress.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\main.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\new.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\new.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Platform.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Print.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Print.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Printable.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Server.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Stream.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Stream.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Tone.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\Udp.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\USBAPI.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\USBCore.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\USBCore.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\USBDesc.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\WCharacter.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\WInterrupts.c
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\wiring.c
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\wiring_analog.c
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\wiring_digital.c
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\wiring_private.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\wiring_pulse.c
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\wiring_shift.c
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\WMath.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\WString.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\core\WString.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\variants\standard\pins_arduino.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\ArduinoStream.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\bufstream.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\ios.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\iostream.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\istream.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\istream.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\MinimumSerial.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\MinimumSerial.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\ostream.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\ostream.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\Sd2Card.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\Sd2Card.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdBaseFile.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdBaseFile.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdBaseFilePrint.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdFat.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdFat.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdFatConfig.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdFatErrorPrint.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdFatmainpage.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdFatStructs.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdFatUtil.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdFatUtil.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdFile.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdFile.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdInfo.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdSpi.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdSpiArduino.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdSpiAVR.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdSpiMK20DX128.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdSpiSAM3X.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdStream.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdStream.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdVolume.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\SdVolume.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\utility\DigitalPin.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\SdFat\utility\SoftSPI.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\Wire\utility\twi.c
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\Wire\utility\twi.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\Wire\Wire.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\Wire\Wire.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\defines.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\dhcp.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\dns.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\DS1307RTC.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\DS1307RTC.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\enc28j60.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\enc28j60.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\EtherCard.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\EtherCard.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\etherport.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\etherport.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\gpio.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\gpio.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\LiquidCrystal.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\LiquidCrystal.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\main.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\net.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\OpenSprinkler.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\OpenSprinkler.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\program.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\program.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\server.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\server.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\tcpip.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\Time.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\Time.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\udpserver.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\utils.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\utils.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\weather.cpp
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\weather.h
+
+
+ compile
+ mainArduino\src\_micro-api-readonly\libraries\OpenSprinkler\webutil.cpp
+
+
+ compile
+
+
+
+
\ No newline at end of file
diff --git a/examples/mainArduino/mainArduino.ino b/examples/mainArduino/mainArduino.ino
new file mode 100644
index 0000000..8f99104
--- /dev/null
+++ b/examples/mainArduino/mainArduino.ino
@@ -0,0 +1,17 @@
+#include
+#include
+
+#include
+
+extern OpenSprinkler os;
+
+void do_setup();
+void do_loop();
+
+void setup() {
+ do_setup();
+}
+
+void loop() {
+ do_loop();
+}
\ No newline at end of file
diff --git a/main.cpp b/main.cpp
index ba5959a..af7f4ba 100644
--- a/main.cpp
+++ b/main.cpp
@@ -27,15 +27,19 @@
#include "program.h"
#include "weather.h"
#include "server.h"
+#include "SensorGroup.h"
+
#if defined(ARDUINO)
#include "SdFat.h"
#include "Wire.h"
+
byte Ethernet::buffer[ETHER_BUFFER_SIZE]; // Ethernet packet buffer
SdFat sd; // SD card object
unsigned long getNtpTime();
+extern void flowsensor_ISR();
#else // header and defs for RPI/BBB
@@ -46,7 +50,6 @@ unsigned long getNtpTime();
char ether_buffer[ETHER_BUFFER_SIZE];
EthernetServer *m_server = 0;
EthernetClient *m_client = 0;
-
#endif
void reset_all_stations();
@@ -54,17 +57,26 @@ void reset_all_stations_immediate();
void push_message(byte type, uint32_t lval=0, float fval=0.f, const char* sval=NULL);
void manual_start_program(byte, byte);
void httpget_callback(byte, uint16_t, uint16_t);
+// @tcsaba: new functions
+void check_sensors(ulong curr_time);
+void check_network();
+byte push_message_cloud(byte type, ulong day=0);
+int freeRam();
+void make_logfile_name(char *name);
// Small variations have been added to the timing values below
// to minimize conflicting events
#define NTP_SYNC_INTERVAL 86403L // NYP sync interval, 24 hrs
#define RTC_SYNC_INTERVAL 60 // RTC sync interval, 60 secs
-#define CHECK_NETWORK_INTERVAL 601 // Network checking timeout, 10 minutes
+#define CHECK_NETWORK_INTERVAL 120 // Network checking timeout, 2 minutes
#define CHECK_WEATHER_TIMEOUT 3601 // Weather check interval: 1 hour
#define CHECK_WEATHER_SUCCESS_TIMEOUT 86433L // Weather check success interval: 24 hrs
#define LCD_BACKLIGHT_TIMEOUT 15 // LCD backlight timeout: 15 secs
#define PING_TIMEOUT 200 // Ping test timeout: 200 ms
+// @tcsaba: cloud refresh intervals
+#define CLOUD_SYNC_INTERVAL 60 // Cloud refresh
+#define CLOUD_SYNC_FAST 10 // Cloud refresh fast
extern char tmp_buffer[]; // scratch buffer
BufferFiller bfill; // buffer filler
@@ -72,37 +84,76 @@ BufferFiller bfill; // buffer filler
// ====== Object defines ======
OpenSprinkler os; // OpenSprinkler object
ProgramData pd; // ProgramdData object
+SensorGroup sensors; //SensorGroup object
+
+// @tcsaba: variables
+uint16_t v; // current measurement variables
+byte today;
+bool new_day=0;
+
+//LCD display multiplexing
+ulong disp_cnt;
+bool sensor_display = true;
+#define SHOW_TIME 2000 //show time msec
+#define SHOW_SENSOR 4000 //show sensors on LCD
+#define SHOW_PULSES 1 //show flow pulses in 2nd LCD line, comment it out if not wanted
+
+//Cloud sync variables
+char client_pw[] = "OsClientTCS\0";
+ulong last_cloud_refresh= 0, cloud_refresh_period = 30, packet_delay=2;
+bool send_post=false, send_history=0;
+byte log_status=0;
+
+ulong last_sent_log=0;
+unsigned int log_end, log_to_send;
+ulong log_rec_counter;
+ulong millis_cnt, millis_cnt_2;
-/* ====== Robert Hillman (RAH)'s implementation of flow sensor ======
- * flow_begin - time when valve turns on
- * flow_start - time when flow starts being measured (i.e. 2 mins after flow_begin approx
- * flow_stop - time when valve turns off (last rising edge pulse detected before off)
- * flow_gallons - total # of gallons+1 from flow_start to flow_stop
- * flow_last_gpm - last flow rate measured (averaged over flow_gallons) from last valve stopped (used to write to log file). */
-ulong flow_begin, flow_start, flow_stop, flow_gallons;
-float flow_last_gpm=0;
-
-volatile ulong flow_count = 0;
-/** Flow sensor interrupt service routine */
-void flow_isr() {
- if(os.options[OPTION_SENSOR_TYPE]!=SENSOR_TYPE_FLOW) return;
- ulong curr = millis();
-
- if(curr-os.flowcount_time_ms < 50) return; // debounce threshold: 50ms
- flow_count++;
- os.flowcount_time_ms = curr;
-
- /* RAH implementation of flow sensor */
- if (flow_start==0) { flow_gallons=0; flow_start=curr;} // if first pulse, record time
- if ((curr-flow_start)<90000) { flow_gallons=0; } // wait 90 seconds before recording flow_begin
- else { if (flow_gallons==1) { flow_begin = curr;}}
- flow_stop = curr; // get time in ms for stop
- flow_gallons++; // increment gallon count for each interrupt
- /* End of RAH implementation of flow sensor */
-}
#if defined(ARDUINO)
-// ====== UI defines ======
+// @tcs: if DEBUG enabled, print to the serial monitor today or n days log records at startup
+ #if defined(SERIAL_DEBUG)
+ void print_today_log(ulong days){
+ ulong start, end;
+ ulong file_size;
+ end = os.now_tz() / 86400L;
+ start = end - days;
+ for(int i=start;i<=end;i++) {
+ itoa(i, tmp_buffer, 10);
+
+ DEBUG_PRINTLN(tmp_buffer);
+ make_logfile_name(tmp_buffer);
+
+ DEBUG_PRINT("\nFilename: ");
+ DEBUG_PRINTLN(tmp_buffer);
+
+ if (!sd.exists(tmp_buffer)) continue;
+ SdFile file;
+ file.open(tmp_buffer, O_READ);
+ file_size= file.fileSize();
+
+ int res;
+ while(true) {
+ res = file.fgets(tmp_buffer, TMP_BUFFER_SIZE);
+ DEBUG_PRINT(tmp_buffer);
+ DEBUG_PRINT("\r");
+ last_sent_log++;
+ if (res <= 0) {
+ file.close();
+ break;
+ }
+ }
+ DEBUG_PRINT("No of logs: / File_size: ");
+ DEBUG_PRINT(last_sent_log);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(file_size);
+
+ last_sent_log = 0;
+ }
+ }
+ #endif
+
+ // ====== UI defines ======
static char ui_anim_chars[3] = {'.', 'o', 'O'};
#define UI_STATE_DEFAULT 0
@@ -225,10 +276,18 @@ void do_setup() {
MCUSR &= ~(1< millis_cnt_2+200) {
+ DEBUG_PRINT(" #LoopTime: ");
+ DEBUG_PRINTLN(millis() - millis_cnt_2);
+ }
+ millis_cnt_2 = millis();
+ #endif
+
uint16_t pos=ether.packetLoop(ether.packetReceive());
if (pos>0) { // packet received
handle_web_request((char*)Ethernet::buffer+pos);
@@ -349,17 +446,77 @@ void do_loop()
}
#endif // Process Ethernet packets
+// @tcs: serial print Ethernet process length if longer than 20msec
+ #if defined (SERIAL_DEBUG)
+ if(millis() > millis_cnt_2+20) {
+ DEBUG_PRINT(" #ProcessEth: ");
+ DEBUG_PRINTLN(millis() - millis_cnt_2);
+ }
+ millis_cnt_2 = millis();
+ #endif
+
// if 1 second has passed
if (last_time != curr_time) {
last_time = curr_time;
if (os.button_timeout) os.button_timeout--;
+
+ // @tcs: check network connection
+ if (curr_time && (curr_time % CHECK_NETWORK_INTERVAL==0)){
+ os.status.req_network = 1;
+ check_network();
+ DEBUG_PRINT("Network_adapter_fail: / Network_fails: / Internet_fail: ");
+ DEBUG_PRINT(os.status.netw_adapter_fail);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(os.status.network_fails);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(os.status.internet_fail);
+ }
+
+ // perform ntp sync
+ if (curr_time % NTP_SYNC_INTERVAL == 0) os.status.req_ntpsync = 1;
+ perform_ntp_sync();
-#if defined(ARDUINO)
- if (!ui_state)
- os.lcd_print_time(os.now_tz()); // print time
-#endif
- // ====== Check raindelay status ======
+//refresh cloud data depending on refresh cycle
+ if(curr_time && (curr_time - last_cloud_refresh >= cloud_refresh_period)) {
+ send_post=true;
+ last_cloud_refresh = curr_time;
+ }
+
+ if(send_post){
+ if((last_cloud_refresh + packet_delay) == curr_time) push_message_cloud(SEND_CLOUD_STATIONS);
+ if((last_cloud_refresh + 2*packet_delay) == curr_time) push_message_cloud(SEND_CLOUD_SETTINGS);
+ if((last_cloud_refresh + 3*packet_delay) == curr_time) push_message_cloud(SEND_CLOUD_OPTIONS);
+ if((last_cloud_refresh + 4*packet_delay) == curr_time) push_message_cloud(SEND_CLOUD_PROGRAMS);
+ if((last_cloud_refresh + 5*packet_delay) == curr_time) {
+ if(os.options[OPTION_SEND_LOGFILES] && !send_history){
+ log_end = os.now_tz() / 86400L;
+ log_to_send = log_end - os.options[OPTION_SEND_LOGFILES];
+ send_history = true;
+ os.options[OPTION_SEND_LOGFILES] = 0;
+ os.options_save();
+ }
+ if(!send_history){
+ log_status = push_message_cloud(SEND_CLOUD_LOG, 0);
+ }
+ else{
+ log_status = push_message_cloud(SEND_CLOUD_LOG, log_to_send);
+ if(log_status == 2 || log_status == 3){
+ log_to_send++;
+ if(log_to_send == log_end){
+ send_history = false; //stop sending if today have been reached
+ }
+ }
+ DEBUG_PRINT("LOG_status / log_to_send: ");
+ DEBUG_PRINT(log_status);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINTLN(log_to_send);
+ }
+ send_post=false;
+ }
+ }
+
+ // ====== Check raindelay status, saving status to NVM ======
if (os.status.rain_delayed) {
if (curr_time >= os.nvdata.rd_stop_time) { // rain delay is over
os.raindelay_stop();
@@ -375,35 +532,20 @@ void do_loop()
if (os.status.rain_delayed) {
// rain delay started, record time
os.raindelay_start_time = curr_time;
+ write_log(LOGDATA_RAINDELAY2, curr_time, 0);
push_message(IFTTT_RAINSENSOR, LOGDATA_RAINDELAY, 1);
} else {
// rain delay stopped, write log
- write_log(LOGDATA_RAINDELAY, curr_time);
+ write_log(LOGDATA_RAINDELAY, curr_time, 0);
+ write_log(LOGDATA_RAINDELAY2, curr_time, 0);
push_message(IFTTT_RAINSENSOR, LOGDATA_RAINDELAY, 0);
}
os.old_status.rain_delayed = os.status.rain_delayed;
}
- // ====== Check rain sensor status ======
- if (os.options[OPTION_SENSOR_TYPE] == SENSOR_TYPE_RAIN) { // if a rain sensor is connected
- os.rainsensor_status();
- if (os.old_status.rain_sensed != os.status.rain_sensed) {
- if (os.status.rain_sensed) {
- // rain sensor on, record time
- os.sensor_lasttime = curr_time;
- push_message(IFTTT_RAINSENSOR, LOGDATA_RAINSENSE, 1);
- } else {
- // rain sensor off, write log
- if (curr_time>os.sensor_lasttime+10) { // add a 10 second threshold
- // to avoid faulty rain sensors generating
- // too many log records
- write_log(LOGDATA_RAINSENSE, curr_time);
- push_message(IFTTT_RAINSENSOR, LOGDATA_RAINSENSE, 0);
- }
- }
- os.old_status.rain_sensed = os.status.rain_sensed;
- }
- }
+ //======= check RAIN and SOIL sensors' status, and log the changes =========
+ // sensors.check_sensors(curr_time);
+ // moved to sensors.loop()
// ===== Check program switch status =====
if (os.programswitch_status(curr_time)) {
@@ -419,11 +561,38 @@ void do_loop()
// we only need to check once every minute
if (curr_minute != last_minute) {
last_minute = curr_minute;
+
+ // ====== if a day has been changed send end of the day log if no program running =====
+ // ====== If a program is running the final statistics and day flow will be logged on the new date.=====
+
+ if(today != os.weekday_today()) { //new day?
+ if(!new_day){ //do regular new day functions here
+ os.options[OPTION_SEND_LOGFILES] = 1; //send the previous day log again
+ log_rec_counter = 0;
+ sensors.alarm_cnt = 0;
+ new_day = true;
+ //TODO: create log on daily admin data: log_rec, alarm counter, etc.
+ }
+
+ if(!os.status.program_busy) { //if program running we wait till finish to save the program and daily flow
+ sensors.day_flow_calc(curr_time); // save and logs last day flow
+ today = os.weekday_today(); //set today identifier
+ new_day = false;
+ }
+ }
// check through all programs
for(pid=0; pid>3;
@@ -431,7 +600,7 @@ void do_loop()
// skip if the station is a master station (because master cannot be scheduled independently
if ((os.status.mas==sid+1) || (os.status.mas2==sid+1))
continue;
-
+
// if station has non-zero water time and the station is not disabled
if (prog.durations[sid] && !(os.station_attrib_bits_read(ADDR_NVM_STNDISABLE+bid)&(1<sid);
@@ -480,7 +649,7 @@ void do_loop()
DEBUG_PRINT(q->st);
DEBUG_PRINT("]");
}
- DEBUG_PRINTLN("");
+ DEBUG_PRINTLN("");*/
}
}//if_check_current_minute
@@ -516,7 +685,10 @@ void do_loop()
if (q->st > 0) {
// if so, check if we should turn it off
if (curr_time >= q->st+q->dur) {
- turn_off_station(sid, curr_time);
+
+ turn_off_station(sid, curr_time); //this also stops the station flow counting
+ sensors.station_stopped(sid);
+
}
}
// if current station is not running, check if we should turn it on
@@ -525,9 +697,7 @@ void do_loop()
//turn_on_station(sid);
os.set_station_bit(sid, 1);
-
- // RAH implementation of flow sensor
- flow_start=0;
+ sensors.station_started(sid);
} //if curr_time > scheduled_start_time
} // if current station is not running
@@ -575,17 +745,21 @@ void do_loop()
// turn off all stations
os.clear_all_station_bits();
os.apply_all_station_bits();
+
+ sensors.program_stopped();
// reset runtime
pd.reset_runtime();
// reset program busy bit
os.status.program_busy = 0;
- // log flow sensor reading if flow sensor is used
- if(os.options[OPTION_SENSOR_TYPE]==SENSOR_TYPE_FLOW) {
- write_log(LOGDATA_FLOWSENSE, curr_time);
- push_message(IFTTT_FLOWSENSOR, (flow_count>os.flowcount_log_start)?(flow_count-os.flowcount_log_start):0);
- }
+
+ // TODO: flow sensor IFTTT sending
+ if(os.options[OPTION_FSENSOR_TYPE]==SENSOR_TYPE_FLOW) {
+/* push_message(IFTTT_FLOWSENSOR, (flow_count>os.flowcount_log_start)?(flow_count-os.flowcount_log_start):0);
+*/ }
// in case some options have changed while executing the program
+
+ // TODO: reset the calibration of the ststions when master station has changed
os.status.mas = os.options[OPTION_MASTER_STATION]; // update master station
os.status.mas2= os.options[OPTION_MASTER_STATION_2]; // update master2 station
}
@@ -640,6 +814,19 @@ void do_loop()
os.set_station_bit(os.status.mas2-1, masbit2);
}
+ //TCs: read current sensor offset if no station running
+ v=0;
+ for (sid = 0; sid <= MAX_EXT_BOARDS; sid++) {
+ v += os.station_bits[sid];
+ }
+ if(v==0) {
+ os.current_offset = analogRead(PIN_CURR_SENSE);
+ }
+
+ // call the loop of the sensor group
+ sensors.loop(curr_time);
+
+
// process dynamic events
process_dynamic_events(curr_time);
@@ -650,6 +837,71 @@ void do_loop()
// process LCD display
if (!ui_state)
os.lcd_print_station(1, ui_anim_chars[curr_time%3]);
+
+ // if no sensor attached no need to display.
+ if(OPTION_FSENSOR_TYPE == SENSOR_TYPE_NONE && OPTION_CURRENT == SENSOR_TYPE_NONE)
+ sensor_display = false;
+
+ // SG sensor data multiplexing on LCD
+ if(!sensor_display){
+ if(disp_cnt <= millis()) {
+ sensor_display = true;
+ disp_cnt = millis() + SHOW_SENSOR;
+ }
+ if (!ui_state)
+ os.lcd_print_time(os.now_tz()); // print time
+ }
+ else
+ {
+ // print actual flow impulses
+ #if defined(SHOW_PULSES)
+ os.lcd.setCursor(0, 1);
+ os.lcd.print(sensors.last_sensor_impulses);
+ os.lcd_print_pgm(PSTR("i "));
+ #endif
+
+ // print actual gallon, flow, current
+
+ os.lcd.setCursor(0, 0);
+ if(os.options[OPTION_FLOWUNIT_GAL]){
+ os.lcd_print_pgm(PSTR(" G gpm mA"));
+ os.lcd.setCursor(0, 0);
+ os.lcd.print(sensors.realtime_gallons);
+ os.lcd.setCursor(5, 0);
+ os.lcd.print(sensors.realtime_GPM);
+ }
+ else{
+ os.lcd_print_pgm(PSTR(" l lpm mA"));
+ os.lcd.setCursor(0, 0);
+ os.lcd.print((int)(sensors.realtime_gallons * 3.7854));
+ os.lcd.setCursor(5, 0);
+ os.lcd.print((int)(sensors.realtime_GPM * 3.7854));
+ }
+
+ os.lcd.setCursor(11, 0);
+ os.lcd.print(os.read_current());
+
+ /* print actual current input ADC voltage reading
+ os.lcd.setCursor(12, 0);
+ os.lcd.print((uint16_t) (v * 2.5));*/
+
+ /*print inputs level
+ os.lcd.setCursor(0, 0);
+ if(digitalRead(PIN_FLOWSENSOR) == 1) os.lcd_print_pgm(PSTR("1"));
+ else os.lcd_print_pgm(PSTR("0"));
+ if(digitalRead(PIN_SOILSENSOR) == 1) os.lcd_print_pgm(PSTR("1"));
+ else os.lcd_print_pgm(PSTR("0"));
+ if(digitalRead(PIN_RAINSENSOR) == 1) os.lcd_print_pgm(PSTR("1_"));
+ else os.lcd_print_pgm(PSTR("0_"));
+ os.lcd.print(os.status.has_curr_sense); */
+
+ if(disp_cnt <= millis()) {
+ sensor_display = false;
+ disp_cnt = millis() + SHOW_TIME;
+ }
+ } // end of if(sensor_display)
+
+
// check safe_reboot condition
if (os.status.safe_reboot) {
@@ -671,22 +923,6 @@ void do_loop()
}
#endif
- // real-time flow count
- static ulong flowcount_rt_start = 0;
- if (os.options[OPTION_SENSOR_TYPE]==SENSOR_TYPE_FLOW) {
- if (curr_time % FLOWCOUNT_RT_WINDOW == 0) {
- os.flowcount_rt = (flow_count > flowcount_rt_start) ? flow_count - flowcount_rt_start: 0;
- flowcount_rt_start = flow_count;
- }
- }
-
- // perform ntp sync
- if (curr_time % NTP_SYNC_INTERVAL == 0) os.status.req_ntpsync = 1;
- perform_ntp_sync();
-
- // check network connection
- if (curr_time && (curr_time % CHECK_NETWORK_INTERVAL==0)) os.status.req_network = 1;
- check_network();
// check weather
check_weather();
@@ -707,12 +943,12 @@ void do_loop()
push_message(IFTTT_REBOOT);
}
- }
+ } // end of 1sec has passed
#if !defined(ARDUINO)
delay(1); // For OSPI/OSBO/LINUX, sleep 1 ms to minimize CPU usage
#endif
-}
+} // end of void do_loop()
/** Make weather query */
void check_weather() {
@@ -746,10 +982,6 @@ void turn_off_station(byte sid, ulong curr_time) {
// ignore if we are turning off a station that's not running or scheduled to run
if (qid>=pd.nqueue) return;
- // RAH implementation of flow sensor
- if (flow_gallons>1) {flow_last_gpm = (float) 60000/(float)((flow_stop-flow_begin)/(flow_gallons-1)); }// RAH calculate GPM, 1 pulse per gallon
- else {flow_last_gpm = 0;} // RAH if not one gallon (two pulses) measured then record 0 gpm
-
RuntimeQueueStruct *q = pd.queue+qid;
// check if the current time is past the scheduled start time,
@@ -763,7 +995,7 @@ void turn_off_station(byte sid, ulong curr_time) {
pd.lastrun.endtime = curr_time;
// log station run
- write_log(LOGDATA_STATION, curr_time);
+ write_log(LOGDATA_STATION, curr_time, 0);
push_message(IFTTT_STATION_RUN, sid, pd.lastrun.duration);
}
}
@@ -774,20 +1006,39 @@ void turn_off_station(byte sid, ulong curr_time) {
}
/** Process dynamic events
- * such as rain delay, rain sensing
+ * such as rain delay, rain sensing, soil sensors, fatal flow event
* and turn off stations accordingly
*/
void process_dynamic_events(ulong curr_time) {
- // check if rain is detected
- bool rain = false;
+ bool rain = false, soil1_wet = false, soil2_wet = false;
bool en = os.status.enabled ? true : false;
- if (os.status.rain_delayed || (os.status.rain_sensed && os.options[OPTION_SENSOR_TYPE] == SENSOR_TYPE_RAIN)) {
+ bool fatal_closeout = false;
+
+ // check if rain is detected
+ if (os.status.rain_delayed || (os.status.rain_sensed && (os.options[OPTION_RSENSOR_TYPE] == SENSOR_TYPE_RAIN))) {
rain = true;
}
-
- byte sid, s, bid, qid, rbits;
+
+ //check soil sensors disable irrigation?
+ if ( (os.status.dry_soil_1 == 0) && (os.old_status.dry_soil_1 == 0) && (os.options[OPTION_SSENSOR_1] != SENSOR_TYPE_NONE)) {
+ soil1_wet = true;
+ }
+ if ( (os.status.dry_soil_2 == 0) && (os.old_status.dry_soil_2 == 0) && (os.options[OPTION_SSENSOR_2] != SENSOR_TYPE_NONE)) {
+ soil2_wet = true;
+ }
+
+ //is fatal flow disable function enabled?
+ if(os.options[OPTION_FATAL_ALARM] && os.options[OPTION_FSENSOR_TYPE]){
+ fatal_closeout = true;
+ }
+
+
+ byte sid, s, bid, qid, rbits, sbits1, sbits2, fatal_bits;
for(bid=0;bidpid<99) && (!en || (rain && !(rbits&(1<pid<99) && (!en ||
+ (fatal_closeout && fatal_bits&(1<st);
DEBUG_PRINT(",");
DEBUG_PRINT(q->dur);
DEBUG_PRINT("]");
- DEBUG_PRINTLN(pd.nqueue);
+ DEBUG_PRINTLN(pd.nqueue);*/
+
if (!os.status.program_busy) {
os.status.program_busy = 1; // set program busy bit
// start flow count
- if(os.options[OPTION_SENSOR_TYPE] == SENSOR_TYPE_FLOW) { // if flow sensor is connected
- os.flowcount_log_start = flow_count;
+ if(os.options[OPTION_FSENSOR_TYPE] == SENSOR_TYPE_FLOW) { // if flow sensor is connected
os.sensor_lasttime = curr_time;
}
}
@@ -952,6 +1216,9 @@ void push_message(byte type, uint32_t lval, float fval, const char* sval) {
static char key[IFTTT_KEY_MAXSIZE];
static char postval[TMP_BUFFER_SIZE];
+ //@tcs: return when no internet connection
+ if(os.status.network_fails != 0) return; //do not post if network failed
+
// check if this type of event is enabled for push notification
if((os.options[OPTION_IFTTT_ENABLE]&type) == 0) return;
key[0] = 0;
@@ -978,10 +1245,10 @@ void push_message(byte type, uint32_t lval, float fval, const char* sval) {
strcat_P(postval, PSTR(" minutes "));
itoa((int)fval%60, postval+strlen(postval), 10);
strcat_P(postval, PSTR(" seconds."));
- if(os.options[OPTION_SENSOR_TYPE]==SENSOR_TYPE_FLOW) {
+ if(os.options[OPTION_FSENSOR_TYPE]==SENSOR_TYPE_FLOW) {
strcat_P(postval, PSTR(" Flow rate: "));
#if defined(ARDUINO)
- dtostrf(flow_last_gpm,5,2,postval+strlen(postval));
+ dtostrf(sensors.realtime_GPM,5,2,postval+strlen(postval));
#else
sprintf(tmp_buffer+strlen(tmp_buffer), "%5.2f", flow_last_gpm);
#endif
@@ -1051,7 +1318,8 @@ void push_message(byte type, uint32_t lval, float fval, const char* sval) {
}
strcat_P(postval, PSTR("\"}"));
-
+
+ DEBUG_PRINT("THE IFTTT MESSAGE: ");
DEBUG_PRINTLN(postval);
#if defined(ARDUINO)
@@ -1115,6 +1383,684 @@ void push_message(byte type, uint32_t lval, float fval, const char* sval) {
#endif
}
+
+//***********************************************
+//****** CLOUD communication
+//***********************************************
+
+void cloud_json_stations_attrib(const char* name, int addr, char* postval_pt)
+{
+ DEBUG_PRINT(String("NAME: "));
+ strcpy_P(tmp_buffer, (PGM_P)name);
+ DEBUG_PRINTLN(tmp_buffer);
+
+ strcat_P(postval_pt, PSTR("\""));
+ strcpy_P(tmp_buffer, (PGM_P)name);
+ strcat(postval_pt, tmp_buffer);
+ strcat_P(postval_pt, PSTR("\":["));
+
+ byte *attrib = (byte*)tmp_buffer;
+ os.station_attrib_bits_load(addr, attrib);
+ for(byte i=0;iday>0 last days history if day > 366 the filename (unix day)
+
+
+***************** EXAMPLES
+
+cloud server messages
+push_message_cloud(SEND_CLOUD_OPTIONS, 0); //Send options to cloud server
+
+************** Cloud Message Type *
+#define SEND_CLOUD_OPTIONS 0
+#define SEND_CLOUD_SETTINGS 1
+#define SEND_CLOUD_PROGRAMS 2
+#define SEND_CLOUD_STATIONS 3
+#define SEND_CLOUD_STATUS_SPEC 4
+#define SEND_CLOUD_LOG 5
+
+Received cloud server response and commands:
+{"result":x} x=1 means "success", see API 217 1st page and Tables_SG20 page API_SG20.
+change password
+change options, variables(settings), etc.
+process by void handle_web_request(char *p)
+
+*/
+
+const char cloud_message_id[] PROGMEM =
+"rjo\0" //options /jo
+"rjc\0" //settings /jc
+"rjp\0" //programs /jp
+"rjn\0" //station /jn
+"rjs\0" //station status and special station data /js, /je
+"rjl\0"; //log records /jl
+
+
+#if !defined(ARDUINO) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega1284__)
+
+DEBUG_PRINT("freeRam1: ");
+DEBUG_PRINTLN(freeRam());
+
+ if(os.status.network_fails != 0) return 4; //do not post if network failed
+
+ static const char* server = DEFAULT_CLOUD_URL;
+ static char postval[POST_BUFFER_SIZE] = {'\0'}; //TMP_BUFFER_SIZE is too small!
+ char buf[] = {0,0,0,0,0,0,0,0,0,0,0,0,'\0'};
+ byte b, ret_val=0;
+
+DEBUG_PRINT("freeRam2: ");
+DEBUG_PRINTLN(freeRam());
+
+ millis_cnt = millis();
+
+
+// preparing http POST sendings to cloud server
+// sending one by one jc, jo jp, jn, js packets
+// plus the logrecords in a packet
+
+// message identifier based on package contenttype
+ strcpy_P(postval, PSTR("{\"mid\":\""));
+
+ switch(type){
+ case SEND_CLOUD_OPTIONS :
+ strcpy(tmp_buffer, "rjo\0");
+ break;
+ case SEND_CLOUD_SETTINGS:
+ strcpy(tmp_buffer, "rjc\0");
+ break;
+ case SEND_CLOUD_PROGRAMS:
+ strcpy(tmp_buffer, "rjp\0");
+ break;
+ case SEND_CLOUD_STATIONS:
+ strcpy(tmp_buffer, "rjn\0");
+ break;
+ case SEND_CLOUD_STATUS_SPEC:
+ strcpy(tmp_buffer, "rjs\0");
+ break;
+ case SEND_CLOUD_LOG:
+ strcpy(tmp_buffer, "rjl\0");
+ break;
+
+ }
+/* DEBUG_PRINT("type / tmp: ");
+ DEBUG_PRINT(type);
+ DEBUG_PRINT(" / ");
+ DEBUG_PRINT(tmp_buffer);
+ DEBUG_PRINTLN();
+*/
+
+//puts the password and the MAC adress
+//the password have to be scrambled (ToDo)
+ strcat(postval,tmp_buffer);
+ sprintf(tmp_buffer, "\",\"lpw\":\"%s\",\"macad\":\"",client_pw );
+ strcat(postval, tmp_buffer);
+
+ for (byte i = 0; i<6; i++) {
+ b = ether.mymac[i] >> 4;
+ buf[2*i]= (b<10) ? (b + 48) : (b + 55);
+ b = ether.mymac[i] & 0x0F;
+ buf[2*i+1] = (b<10) ? (b + 48) : (b + 55);
+ }
+ strcat(postval, buf);
+ strcat_P(postval, PSTR("\","));
+
+// end of message header
+
+ switch (type){
+ case SEND_CLOUD_LOG: {
+ if(!day) day = os.now_tz() / 86400L;
+
+ strcat_P(postval, PSTR("["));
+ itoa(day, tmp_buffer, 10);
+ make_logfile_name(tmp_buffer);
+ SdFile file;
+ DEBUG_PRINTLN(tmp_buffer);
+
+ #if defined(ARDUINO) // prepare to open log file for Arduino
+ if (!sd.exists(tmp_buffer)){
+ last_sent_log = 0;
+ ret_val = 3; //filename error don't send postval
+ break;
+ }
+ file.open(tmp_buffer, O_READ);
+ #endif // prepare to open log file
+
+ bool comma = 0;
+ ulong rec_cnt=0, temp_cnt=0;
+ int res;
+ while(true) {
+ #if defined(ARDUINO)
+ res = file.fgets(tmp_buffer, TMP_BUFFER_SIZE);
+ if (res <= 0) {
+ file.close();
+ ret_val = 2; //end of file, send postval
+ last_sent_log = 0;
+ break;
+ }
+ #endif
+ tmp_buffer[TMP_BUFFER_SIZE-1]=0; // make sure the search will end
+
+ // if this is the first record, do not print comma
+ rec_cnt++;
+ if(rec_cnt > last_sent_log){ //this is the first record to send
+ if (comma)
+ strcat_P(postval,PSTR(","));
+ else {
+ comma=1;
+ temp_cnt = rec_cnt;
+ }
+
+ if(strlen(postval) + strlen(tmp_buffer) + 3 > POST_BUFFER_SIZE){ //will fit to postval?
+ file.close();
+ ret_val = 1; //postval is full, send it, the file not finished
+ break;
+ }
+ strcat(postval,tmp_buffer);
+
+ last_sent_log++;
+ }
+ }
+
+ strcat_P(postval, PSTR("]}"));
+ }
+ break;
+
+ case SEND_CLOUD_OPTIONS: // based on server_json_options_main() in server.cpp
+ {
+
+ byte oid;
+ for(oid=0;oid 1) {
+ pd.drem_to_relative(prog.days);
+ }
+ byte flag_0 = *(char*)(&prog); //read program structure binary attributes (called flag) value
+ byte soil_flags = *((char*)(&prog)+1); //read soil sensor program attach flag value
+
+ //bfill.emit_p(PSTR("[$D,$D,$D,$D,["), flag_0, soil_flags, prog.days[0], prog.days[1]
+ //sprintf(tmp_buffer,"[%d,%d,%d,%d,[", flag_0, soil_flags, prog.days[0], prog.days[1]);
+ //strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR("["));
+ itoa( flag_0, tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+ itoa( soil_flags, tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+ itoa( prog.days[0], tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+ itoa(prog.days[1], tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",["));
+
+ // start times data
+ for (i=0;i<(MAX_NUM_STARTTIMES-1);i++) {
+ //bfill.emit_p(PSTR("$D,"), prog.starttimes[i]);
+ //sprintf(tmp_buffer,"%d,", prog.starttimes[i]);
+ //strcat(postval, tmp_buffer);
+ itoa(prog.starttimes[i], tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+
+ }
+ //bfill.emit_p(PSTR("$D],["), prog.starttimes[i]); // this is the last element
+ //sprintf(tmp_buffer,"%d],[", prog.starttimes[i]); // this is the last element
+ //strcat(postval, tmp_buffer);
+ itoa(prog.starttimes[i], tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR("],["));
+
+ // station water time
+ for (i=0; i>3))&(1<<(sid&0x07))) {
+ read_from_file(stns_filename, (char*)stn, stepsize, sid*stepsize);
+ if (comma) bfill.emit_p(PSTR(","));
+ else {comma=1;}
+ bfill.emit_p(PSTR("\"$D\":{\"st\":$D,\"sd\":\"$S\"}"), sid, stn->type, stn->data);
+ }
+ }
+ bfill.emit_p(PSTR("}"));
+
+ //Output station status
+ server_json_status_main() {
+ bfill.emit_p(PSTR("\"sn\":["));
+ byte sid;
+
+ for (sid=0;sid>3)]>>(sid&0x07))&1);
+ if(sid!=os.nstations-1) bfill.emit_p(PSTR(","));
+ }
+ bfill.emit_p(PSTR("],\"nstations\":$D}"), os.nstations);
+ */
+
+ break;
+
+ case SEND_CLOUD_SETTINGS: //based on server_json_controller_main() in server.cpp
+ {
+ byte bid, sid;
+ ulong curr_time = os.now_tz();
+ //os.nvm_string_get(ADDR_NVM_LOCATION, tmp_buffer);
+ /* bfill.emit_p(PSTR("\"devt\":$L,\"nbrd\":$D,\"en\":$D,\"rd\":$D,\"rs\":$D,\"rdst\":$L,"
+ "\"loc\":\"$E\",\"wtkey\":\"$E\",\"sunrise\":$D,\"sunset\":$D,\"eip\":$L,\"lwc\":$L,\"lswc\":$L,"
+ "\"lrun\":[$D,$D,$D,$L],"),
+ curr_time,
+ os.nboards,
+ os.status.enabled,
+ os.status.rain_delayed,
+ os.status.rain_sensed,
+ os.nvdata.rd_stop_time,
+ ADDR_NVM_LOCATION,
+ ADDR_NVM_WEATHER_KEY,
+ os.nvdata.sunrise_time,
+ os.nvdata.sunset_time,
+ os.nvdata.external_ip,
+ os.checkwt_lasttime,
+ os.checkwt_success_lasttime,
+ pd.lastrun.station,
+ pd.lastrun.program,
+ pd.lastrun.duration,
+ pd.lastrun.endtime);
+ */
+ strcat_P(postval,PSTR("\"devt\":"));
+ ultoa( (ulong)curr_time , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"nbrd\":"));
+ itoa( os.nboards , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"en\":"));
+ itoa( os.status.enabled , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"rd\":"));
+ itoa( os.status.rain_delayed , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"rs\":"));
+ itoa( os.status.rain_sensed , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"rdst\":"));
+ itoa( os.nvdata.rd_stop_time , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"loc\":\""));
+ nvm_read_block(tmp_buffer, (void*)ADDR_NVM_LOCATION, MAX_LOCATION);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR("\",\"wtkey\":\""));
+ nvm_read_block(tmp_buffer, (void*)ADDR_NVM_WEATHER_KEY, MAX_WEATHER_KEY);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR("\",\"sunrise\":"));
+ itoa( os.nvdata.sunrise_time , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"sunset\":"));
+ itoa( os.nvdata.sunset_time , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"eip\":"));
+ ultoa( (ulong)os.nvdata.external_ip , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"lwc\":"));
+ ultoa( (ulong)os.checkwt_lasttime , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"lswc\":"));
+ ultoa( os.checkwt_success_lasttime , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"lrun\":["));
+ itoa( pd.lastrun.station , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+ itoa( pd.lastrun.program , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+ itoa( pd.lastrun.duration , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+ ultoa( pd.lastrun.endtime , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR("],"));
+
+ #if defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega1284__)
+ if(os.status.has_curr_sense) {
+ //bfill.emit_p(PSTR("\"curr\":$D,"), os.read_current());
+ strcat_P(postval,PSTR("\"curr\":"));
+ itoa( sensors.realtime_current , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+ }
+ #endif
+ if(os.options[OPTION_FSENSOR_TYPE]==SENSOR_TYPE_FLOW) {
+ //bfill.emit_p(PSTR("\"flcrt\":$L,\"flwrt\":$D,"), sensors.station_impulses, FLOWCOUNT_RT_WINDOW);
+ strcat_P(postval,PSTR("\"flcrt\":"));
+ itoa( sensors.station_impulses , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(",\"flwrt\":"));
+ itoa( FLOWCOUNT_RT_WINDOW , tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+ }
+ //bfill.emit_p(PSTR("\"sbits\":["));
+ strcat_P(postval,PSTR("\"sbits\":["));
+ // print sbits
+ for(bid=0;bid= q->st) ? (q->st+q->dur-curr_time) : q->dur;
+ if(rem>65535) rem = 0;
+ }
+ //bfill.emit_p(PSTR("[$D,$L,$L]"), (qid<255)?q->pid:0, rem, (qid<255)?q->st:0);
+ strcat_P(postval,PSTR("["));
+ itoa( ((qid<255)?q->pid:0), tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+ itoa( rem, tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR(","));
+ itoa( ((qid<255)?q->st:0), tmp_buffer, 10);
+ strcat(postval, tmp_buffer);
+ strcat_P(postval,PSTR("]"));
+
+ //bfill.emit_p((sidh_addr, 80)) {
+ client.stop();
+ return;
+ }
+
+ char postBuffer[1500];
+ sprintf(postBuffer, "POST /trigger/sprinkler/with/key/%s HTTP/1.0\r\n"
+ "Host: %s\r\n"
+ "Accept: */*\r\n"
+ "Content-Length: %d\r\n"
+ "Content-Type: application/json\r\n"
+ "\r\n%s", key, host->h_name, strlen(postval), postval);
+ client.write((uint8_t *)postBuffer, strlen(postBuffer));
+
+ bzero(ether_buffer, ETHER_BUFFER_SIZE);
+
+ time_t timeout = now() + 5; // 5 seconds timeout
+ while(now() < timeout) {
+ int len=client.read((uint8_t *)ether_buffer, ETHER_BUFFER_SIZE);
+ if (len<=0) {
+ if(!client.connected())
+ break;
+ else
+ continue;
+ }
+ httpget_callback(0, 0, ETHER_BUFFER_SIZE);
+ }
+
+ client.stop();
+
+ #endif
+
+#endif
+
+return ret_val;
+}
+
+
// ================================
// ====== LOGGING FUNCTIONS =======
// ================================
@@ -1137,22 +2083,15 @@ void make_logfile_name(char *name) {
strcat_P(tmp_buffer, PSTR(".txt"));
}
-/* To save RAM space, we store log type names
- * in program memory, and each name
- * must be strictly two characters with an ending 0
- * so each name is 3 characters total
- */
-static const char log_type_names[] PROGMEM =
- " \0"
- "rs\0"
- "rd\0"
- "wl\0"
- "fl\0";
+
/** write run record to log on SD card */
-void write_log(byte type, ulong curr_time) {
- if (!os.options[OPTION_ENABLE_LOGGING]) return;
+void write_log(byte type, ulong curr_time, ulong param) {
+ if (!os.options[OPTION_ENABLE_LOGGING]) return;
+ char tmp2[10];
+ char tmp3[10];
+
// file name will be logs/xxxxx.tx where xxxxx is the day in epoch time
ultoa(curr_time / 86400, tmp_buffer, 10);
make_logfile_name(tmp_buffer);
@@ -1166,6 +2105,10 @@ void write_log(byte type, ulong curr_time) {
if (sd.mkdir(LOG_PREFIX) == false) {
return;
}
+ else{
+ log_rec_counter=0;
+ }
+
}
SdFile file;
int ret = file.open(tmp_buffer, O_CREAT | O_WRITE );
@@ -1188,57 +2131,191 @@ void write_log(byte type, ulong curr_time) {
}
fseek(file, 0, SEEK_END);
#endif // prepare log folder
-
- strcpy_P(tmp_buffer, PSTR("["));
-
- if(type == LOGDATA_STATION) {
- itoa(pd.lastrun.program, tmp_buffer+strlen(tmp_buffer), 10);
- strcat_P(tmp_buffer, PSTR(","));
- itoa(pd.lastrun.station, tmp_buffer+strlen(tmp_buffer), 10);
- strcat_P(tmp_buffer, PSTR(","));
- // duration is unsigned integer
- ultoa((ulong)pd.lastrun.duration, tmp_buffer+strlen(tmp_buffer), 10);
- } else {
- ulong lvalue;
- if(type==LOGDATA_FLOWSENSE) {
- lvalue = (flow_count>os.flowcount_log_start)?(flow_count-os.flowcount_log_start):0;
- } else {
- lvalue = 0;
- }
- ultoa(lvalue, tmp_buffer+strlen(tmp_buffer), 10);
- strcat_P(tmp_buffer, PSTR(",\""));
- strcat_P(tmp_buffer, log_type_names+type*3);
- strcat_P(tmp_buffer, PSTR("\","));
-
- switch(type) {
- case LOGDATA_RAINSENSE:
- case LOGDATA_FLOWSENSE:
- lvalue = (curr_time>os.sensor_lasttime)?(curr_time-os.sensor_lasttime):0;
- break;
- case LOGDATA_RAINDELAY:
- lvalue = (curr_time>os.raindelay_start_time)?(curr_time-os.raindelay_start_time):0;
- break;
- case LOGDATA_WATERLEVEL:
- lvalue = os.options[OPTION_WATER_PERCENTAGE];
- break;
- }
- ultoa(lvalue, tmp_buffer+strlen(tmp_buffer), 10);
- }
- strcat_P(tmp_buffer, PSTR(","));
- ultoa(curr_time, tmp_buffer+strlen(tmp_buffer), 10);
- if((os.options[OPTION_SENSOR_TYPE]==SENSOR_TYPE_FLOW) && (type==LOGDATA_STATION)) {
- // RAH implementation of flow sensor
- strcat_P(tmp_buffer, PSTR(","));
- #if defined(ARDUINO)
- dtostrf(flow_last_gpm,5,2,tmp_buffer+strlen(tmp_buffer));
- #else
- sprintf(tmp_buffer+strlen(tmp_buffer), "%5.2f", flow_last_gpm);
- #endif
- }
- strcat_P(tmp_buffer, PSTR("]\r\n"));
-
+
+ // ### CLASSIC FUNCTIONAL EVENT LOGS
+
+ if(type == LOGDATA_STATION) {
+
+ // station ended: [program type,station id, duration, time, impulses, current]
+ sprintf(tmp_buffer, "[%u,%u,%u,%lu,%lu,%lu]\n",
+ pd.lastrun.program, pd.lastrun.station,
+ pd.lastrun.duration, curr_time,
+ sensors.station_impulses, sensors.realtime_current);
+ }
+
+ if(type == LOGDATA_PROGFLOW) { //was LOGDATA_FLOWSENSE
+
+ // program ended: [flow_impulses, "fl", flow_duration, time]
+ sprintf(tmp_buffer, "[%lu,\"fl\",%lu,%lu]\n", sensors.prog_impulses,
+ curr_time - sensors.prog_start_time, curr_time);
+ }
+
+ if (type == LOGDATA_RAINDELAY) {
+ // rain delay: [0,"rd",length of rain delay,curr_time]
+ sprintf(tmp_buffer, "[0,\"rd\",%lu,%lu]\n",
+ (curr_time > os.raindelay_start_time) ? (curr_time - os.raindelay_start_time) : 0,
+ curr_time);
+ }
+
+ if (type == LOGDATA_RAINSENSE) {
+ // rain sensor: [0,"rs",length of ? ,curr_time] it is the orinal log: only logs when rain_sensed ==> 0, and logs the length of 0 state
+ sprintf(tmp_buffer, "[0,\"rs\",%lu,%lu]\n", //%d, os.status.rain_sensed,
+ (curr_time > os.sensor_lasttime) ? (curr_time - os.sensor_lasttime) : 0,
+ curr_time);
+ }
+
+ if (type == LOGDATA_WATERLEVEL) {
+ // value of waterlevel: [0,"wl", percent, curr_time]
+ sprintf(tmp_buffer, "[0,\"wl\",%u,%lu]\n",
+ os.options[OPTION_WATER_PERCENTAGE],
+ curr_time);
+ }
+
+ // ### NEW FUNCTIONAL EVENT LOGS
+
+ if(type == LOGDATA_PROGFLOW2) {
+
+ // program ended: [0, "fp",type, time,flow_impulses, flow_duration]
+ sprintf(tmp_buffer, "[0,\"fp\",%d,%lu,%lu,%lu,%lu,%lu]\n", type, curr_time,
+ sensors.prog_impulses, curr_time - sensors.prog_start_time, sensors.last_prog_impulses, sensors.day_impulses);
+ }
+
+ if(type == LOGDATA_DAYFLOW) {
+
+ // daily water use: [0, "fd", type, time, day_impulses]
+ sprintf(tmp_buffer, "[0,\"fd\",%d,%lu,%lu]\n", type, curr_time, sensors.day_impulses);
+ }
+
+ if (type == LOGDATA_RAINSENSE2) {
+ // rain sensor: [0,"rn",type,curr_time,status:0/1,curr_time]
+ sprintf(tmp_buffer, "[0,\"rn\",%d,%lu,%d]\n", type, curr_time, os.status.rain_sensed);
+ }
+
+ if (type == LOGDATA_RAINDELAY2) {
+ // rain delay: [0,"re",type,curr_time,state of rain delay]
+ sprintf(tmp_buffer, "[0,\"re\",%d,%lu,%d]\n", type, curr_time, os.status.rain_delayed);
+ }
+
+ if (type == LOGDATA_SOIL1) {
+ // soil1 activated: [0,"s1", type,curr_time, status]
+ sprintf(tmp_buffer, "[0,\"s1\",%d,%lu,%d]\n", type, curr_time, os.status.dry_soil_1);
+ //curr_time > os.s1sensor_lasttime ? curr_time - os.s1sensor_lasttime : 0
+ }
+
+ if (type == LOGDATA_SOIL2) {
+ // soil2 activated: [0,"s2",type,curr_time,soil_sensor2 status]
+ sprintf(tmp_buffer, "[0,\"s2\",%d,%lu,%d]\n", type,curr_time, os.status.dry_soil_2);
+ //, time since last change: curr_time > os.s2sensor_lasttime ? curr_time - os.s2sensor_lasttime : 0
+ }
+
+ if (type == LOGDATA_SOIL1_PROG_CANCEL) {
+ // soil1 activated: [0,"s1pc",type,curr_time,program id, soil_sensor1 status]
+ sprintf(tmp_buffer, "[0,\"s1pc\",%d,%lu,%lu,%d]\n", type,curr_time, param, os.status.dry_soil_1);
+ }
+
+ if (type == LOGDATA_SOIL2_PROG_CANCEL) {
+ // soil1 activated: [0,"s2pc",type,curr_time,program id, soil_sensor2 status]
+ sprintf(tmp_buffer, "[0,\"s2pc\",%d,%lu,%lu,%d]\n", type, curr_time, param, os.status.dry_soil_2);
+ }
+
+ if (type == LOGDATA_SOIL1_STATION_CANCEL) {
+ // soil1 activated: [0,"s1sc",type, curr_time, station id, soil_sensor1 status]
+ sprintf(tmp_buffer, "[0,\"s1sc\",%d,%lu,%d,%d]\n", type,curr_time, param, os.status.dry_soil_1);
+ }
+
+ if (type == LOGDATA_SOIL2_STATION_CANCEL) {
+ // soil1 activated: [0,"s2sc",type, curr_time, station id, soil_sensor2 status]
+ sprintf(tmp_buffer, "[0,\"s2sc\",%d,%lu,%lu,%d]\n", type,curr_time, param, os.status.dry_soil_2);
+ }
+
+ if (type == LOGDATA_FATAL_STATION_CANCEL) {
+ // soil1 activated: [0,"fatsc",type,curr_time, station id]
+ sprintf(tmp_buffer, "[0,\"fatsc\",%d,%lu,%lu]\n", type, curr_time, param);
+ }
+
+ if (type == LOGDATA_RAIN_STATION_CANCEL) {
+ // soil1 activated: [0,"rnsc",type, time, station id, rain sensor status, rain delay status]
+ sprintf(tmp_buffer, "[0,\"rnsc\",%d,%lu,%lu,%d,%d]\n", type, curr_time, param, os.status.rain_sensed,
+ os.status.rain_delayed);
+ }
+
+ if(type == LOGDATA_CALIBRATED) {
+
+ // calibration saved: [0,"cal",type, time, station id, current, flow]
+ dtostrf(sensors.realtime_GPM,4,2,tmp2);
+ sprintf(tmp_buffer, "[0,\"cal\",%d,%lu,%d,%lu,%s]\n", type, curr_time,
+ sensors.sid, sensors.realtime_current, tmp2);
+ }
+
+ //#### ALARM LOGS
+
+ if(type == LOGDATA_ALARM_FLOW_STOPPED) {
+
+ // alarm:flow stopped: [0, "alfs",type, time, flow impulses since start, running time]
+ sprintf(tmp_buffer, "[0,\"alfs\",%d,%lu,%d,%lu,%lu]\n", type, curr_time, sensors.sid,
+ sensors.prog_impulses, curr_time - sensors.prog_start_time);
+ }
+
+ if (type == LOGDATA_ALARM_FLOW_LOW || type == LOGDATA_ALARM_FLOW_HIGH) {
+ // station flow error: [0,"alf",type,time, station id, ref flow, realtime GPM]
+ dtostrf(sensors.realtime_GPM,4,2,tmp2);
+ sprintf(tmp_buffer, "[0,\"alf\",%d,%lu,%d,%d,%s]\n",
+ type,curr_time, sensors.sid, sensors.flow_refval>>3, tmp2);
+ }
+
+ if (type == LOGDATA_ALARM_CURRENT_LOW || type == LOGDATA_ALARM_CURRENT_HIGH) {
+ // station current error: [0,"alc",type,time, station id, ref current, realtime current]
+ sprintf(tmp_buffer, "[0,\"alc\",%d,%lu,%d,%d,%lu]\n",
+ type, curr_time, sensors.sid, sensors.curr_refval<<2, sensors.realtime_current);
+ }
+
+ if (type == LOGDATA_ALARM_FF_QUANTITY || type == LOGDATA_ALARM_FF_TIME || type == LOGDATA_FREEFLOW_END) {
+ // freeflow overrun: [0,"alff",type, time, impulses, runtime]
+ //dtostrf(sensors.realtime_GPM,4,2,tmp2);
+ //dtostrf(sensors.realtime_gallons,4,2,tmp3);
+ sprintf(tmp_buffer, "[0,\"alff\",%d,%lu,%lu,%lu]\n",
+ type, curr_time, sensors.prog_impulses, curr_time - sensors.prog_start_time);
+ }
+
+ if (type == LOGDATA_ALARM_LEAKAGE_START) {
+ // leakage error: [0,"alls",type,time]
+ sprintf(tmp_buffer, "[0,\"alls\",%d,%lu]\n",
+ type, curr_time);
+ }
+
+ if (type == LOGDATA_ALARM_LEAKAGE_END) {
+ // station flow error: [0,"alle",type,time,FF quantity,FF duration]
+ //dtostrf(sensors.realtime_gallons,4,2,tmp3);
+ sprintf(tmp_buffer, "[0,\"alle\",%d,%lu,%lu,%lu]\n",
+ type, curr_time, sensors.prog_impulses, curr_time - sensors.prog_start_time);
+ }
+
+ if (type == LOGDATA_ALARM_FATAL_FLOW) {
+ // station fatal flow error: [0,"alfat",type,time,station id, ref flow, realtime GPM]
+ dtostrf(sensors.realtime_GPM,4,2,tmp2);
+ sprintf(tmp_buffer, "[0,\"alfat\",%d,%lu,%d,%d,%s]\n",
+ type, curr_time, sensors.sid, sensors.flow_refval>>3, tmp2);
+ }
+
+ // #### ADMIN LOGS
+
+ if (type == LOGDATA_FAILED_STATE) {
+ // FSM failed routing: [0,"fstat",type,time,station id,event, old_state, curr state]
+ dtostrf(sensors.realtime_GPM,4,2,tmp2);
+ sprintf(tmp_buffer, "[0,\"fstat\",%d,%lu,%d,%d,%d,%d]\n",
+ type, curr_time, sensors.sid, sensors.event, sensors.old_state,
+ sensors.current_state);
+ }
+
+ // ### END OF RECORD DATA
+
#if defined(ARDUINO)
+
+ DEBUG_PRINTLN(tmp_buffer);
+ DEBUG_PRINTLN(freeRam());
+
file.write(tmp_buffer);
+ log_rec_counter++;
file.close();
#else
fwrite(tmp_buffer, 1, strlen(tmp_buffer), file);
@@ -1282,9 +2359,9 @@ void delete_log(char *name) {
}
/** Perform network check
- * This function pings the router
- * to check if it's still online.
- * If not, it re-initializes Ethernet controller.
+ * Check Ethernet controller, if fails restart
+ * This function pings the router, if fails set fail flag
+ * check if it's still online, if not sets flag
*/
void check_network() {
#if defined(ARDUINO)
@@ -1295,44 +2372,72 @@ void check_network() {
if (os.status.req_network) {
os.status.req_network = 0;
// change LCD icon to indicate it's checking network
- if (!ui_state) {
- os.lcd.setCursor(15, 1);
- os.lcd.write(4);
- }
-
- // ping gateway ip
- ether.clientIcmpRequest(ether.gwip);
+
+ if (!ui_state) {
+ os.lcd.setCursor(15, 1);
+ os.lcd.write(4); //
+ }
+
+ ulong start = millis();
+ boolean failed = true;
+
+ if(os.status.netw_adapter_fail){
+
+ if (os.start_network()) os.status.netw_adapter_fail=0; //network adapter setup successful
+
+ }
+
+ // check LAN connection: ping gateway ip
+ ether.clientIcmpRequest(ether.gwip);
+
+ // wait at most PING_TIMEOUT milliseconds for ping result
+ do {
+ ether.packetLoop(ether.packetReceive());
+ if (ether.packetLoopIcmpCheckReply(ether.gwip)) {
+ failed = false;
+ break;
+ }
+ } while(millis() - start < PING_TIMEOUT);
+ if (failed) {
+ os.status.network_fails++; //the ping failed
+ os.status.internet_fail = true;
+ // clamp it to 6
+ // if network error failed more than 6 times, mark for safe restart
+ //if (os.status.network_fails>=6) os.status.safe_reboot = 1;
+ if (os.status.network_fails > 6){
+ os.status.network_fails = 6;
+ }
+ }
+ else{os.status.network_fails=0;} //gateway ping was successful
+
+ if(!os.status.network_fails){
+ os.status.internet_fail = 0;
+ //check internet connection: ping Google homepage
+ start = millis();
+ failed = true;
+
+ do {
+ if (ether.dnsLookup(PSTR("www.google.com"))){
+ ether.printIp("SRV: ", ether.hisip);
+ ether.clientIcmpRequest(ether.hisip);
+ ether.packetLoop(ether.packetReceive());
+ if (ether.packetLoopIcmpCheckReply(ether.hisip)) {
+ failed = false;
+ break;
+ }
+
+ }
+ } while(millis() - start < PING_TIMEOUT);
+ // wait at most PING_TIMEOUT milliseconds for ping result
+/**/
+ if (failed) os.status.internet_fail = 1; //google ping failed
+ }
- ulong start = millis();
- boolean failed = true;
- // wait at most PING_TIMEOUT milliseconds for ping result
- do {
- ether.packetLoop(ether.packetReceive());
- if (ether.packetLoopIcmpCheckReply(ether.gwip)) {
- failed = false;
- break;
- }
- } while(millis() - start < PING_TIMEOUT);
- if (failed) {
- os.status.network_fails++;
- // clamp it to 6
- if (os.status.network_fails > 6) os.status.network_fails = 6;
- }
- else os.status.network_fails=0;
- // if failed more than 6 times, restart
- if (os.status.network_fails>=6) {
- // mark for safe restart
- os.status.safe_reboot = 1;
- } else if (os.status.network_fails>2) {
- // if failed more than twice, try to reconnect
- if (os.start_network())
- os.status.network_fails=0;
- }
- }
#else
// nothing to do here
// Linux will do this for you
#endif
+ }
}
/** Perform NTP sync */
@@ -1377,3 +2482,12 @@ int main(int argc, char *argv[]) {
return 0;
}
#endif
+
+#if defined(SERIAL_DEBUG)
+int freeRam ()
+{
+ extern int __heap_start, *__brkval;
+ int v;
+ return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
+}
+#endif
\ No newline at end of file
diff --git a/program.h b/program.h
index 5ce3a54..72d38cc 100644
--- a/program.h
+++ b/program.h
@@ -83,6 +83,17 @@ class ProgramStruct {
// misc. data
byte dummy1: 1;
+
+ // does the program disabled by wet soil?
+ // 0: no
+ // 1: yes, sensor_1
+ // 2, yes, sensor_2
+ // 3: yes, both
+ byte attach_soil_sensor_1: 1;
+ byte attach_soil_sensor_2: 1;
+
+ // misc. data
+ byte dummy2: 6;
// weekly: days[0][0..6] correspond to Monday till Sunday
// bi-weekly:days[0][0..6] and [1][0..6] store two weeks
@@ -111,6 +122,7 @@ class ProgramStruct {
byte check_match(time_t t);
int16_t starttime_decode(int16_t t);
+
protected:
byte check_day_match(time_t t);
diff --git a/server.cpp b/server.cpp
index 4bd6599..bec66ce 100644
--- a/server.cpp
+++ b/server.cpp
@@ -23,6 +23,7 @@
#include "OpenSprinkler.h"
#include "program.h"
+#include "SensorGroup.h"
// External variables defined in main ion file
#if defined(ARDUINO)
@@ -48,6 +49,8 @@ extern BufferFiller bfill;
extern char tmp_buffer[];
extern OpenSprinkler os;
extern ProgramData pd;
+extern EtherCard ether;
+extern SensorGroup sensors; //SensorGroup object
void schedule_all_stations(ulong curr_time);
void turn_off_station(byte sid, ulong curr_time);
@@ -367,6 +370,8 @@ void server_json_stations_main()
server_json_stations_attrib(PSTR("masop2"), ADDR_NVM_MAS_OP_2);
server_json_stations_attrib(PSTR("stn_dis"), ADDR_NVM_STNDISABLE);
server_json_stations_attrib(PSTR("stn_seq"), ADDR_NVM_STNSEQ);
+ server_json_stations_attrib(PSTR("stn_as1"), ADDR_NVM_SSENSOR_1); // attach soil sensor1 status on station
+ server_json_stations_attrib(PSTR("stn_as2"), ADDR_NVM_SSENSOR_2); // attach soil sensor2 status on station
#if defined(ARDUINO) // only output stn_spe if it's supported
if (os.status.has_sd) {
server_json_stations_attrib(PSTR("stn_spe"), ADDR_NVM_STNSPE);
@@ -445,8 +450,8 @@ void server_change_stations_attrib(char *p, char header, int addr)
* m?: master operation bit field (? is board index, starting from 0)
* i?: ignore rain bit field
* n?: master2 operation bit field
- * d?: disable sation bit field
- * q?: station sequeitnal bit field
+ * d?: disable station bit field
+ * q?: station sequetial bit field
* p?: station special flag bit field
*/
byte server_change_stations(char *p)
@@ -467,6 +472,14 @@ byte server_change_stations(char *p)
server_change_stations_attrib(p, 'n', ADDR_NVM_MAS_OP_2); // master2
server_change_stations_attrib(p, 'd', ADDR_NVM_STNDISABLE); // disable
server_change_stations_attrib(p, 'q', ADDR_NVM_STNSEQ); // sequential
+
+ // test purpose:/cs sets Soil_sensor attach station values on the first 16 stations
+ char tbuf3[2] = {5,0}; //soil sensor 1 attached to s0, s2, bx0101010101, bx1010101010
+ nvm_write_block(tbuf3, (void *)ADDR_NVM_SSENSOR_1, strlen(tbuf3));
+ char tbuf4[2] = {6,0}; //soil sensor 2 attached to s1, s3, bx1010101010, bx0101010101
+ nvm_write_block(tbuf4, (void *)ADDR_NVM_SSENSOR_2, strlen(tbuf4));
+ // end test data
+
#if defined(ARDUINO) // only parse station special bits if it's supported
if(os.status.has_sd) {
server_change_stations_attrib(p, 'p', ADDR_NVM_STNSPE); // special
@@ -712,6 +725,12 @@ byte server_change_program(char *p) {
pv+=3;
// parse headers
*(char*)(&prog) = parse_listdata(&pv);
+
+ //testing purposes: /cp sets for program soil sensor attach flags: attached to soil_1 (the rest is for test
+ *((char*)(&prog)+1) = 3; // sets both attached to the edited program
+// *((char*)(&prog)+1) = 1; // sets soil_1 attached to the edited program
+// *((char*)(&prog)+1) = 0; // sets no attached to the edited program
+
prog.days[0]= parse_listdata(&pv);
prog.days[1]= parse_listdata(&pv);
// parse start times
@@ -813,8 +832,9 @@ void server_json_programs_main() {
pd.drem_to_relative(prog.days);
}
- byte bytedata = *(char*)(&prog);
- bfill.emit_p(PSTR("[$D,$D,$D,["), bytedata, prog.days[0], prog.days[1]);
+ byte flag_0 = *(char*)(&prog); //read program structure binary attributes (called flag) value
+// byte soil_flags = *((char*)(&prog)+1); //read soil sensor flag value
+ bfill.emit_p(PSTR("[$D,$D,$D,["), flag_0, prog.days[0], prog.days[1]); //PSTR("[$D,$D,$D,$D,["), flag_0, soil_flags, prog.days[0], prog.days[1]
// start times data
for (i=0;i<(MAX_NUM_STARTTIMES-1);i++) {
bfill.emit_p(PSTR("$D,"), prog.starttimes[i]);
@@ -889,8 +909,8 @@ void server_json_controller_main() {
bfill.emit_p(PSTR("\"curr\":$D,"), os.read_current());
}
#endif
- if(os.options[OPTION_SENSOR_TYPE]==SENSOR_TYPE_FLOW) {
- bfill.emit_p(PSTR("\"flcrt\":$L,\"flwrt\":$D,"), os.flowcount_rt, FLOWCOUNT_RT_WINDOW);
+ if(os.options[OPTION_FSENSOR_TYPE]==SENSOR_TYPE_FLOW) {
+ bfill.emit_p(PSTR("\"flcrt\":$L,\"flwrt\":$D,"), sensors.window_impulses, FLOWCOUNT_RT_WINDOW);
}
bfill.emit_p(PSTR("\"sbits\":["));
@@ -1400,8 +1420,13 @@ byte server_json_log(char *p) {
tmp_buffer[TMP_BUFFER_SIZE-1]=0; // make sure the search will end
while(*ptype && *ptype != ',') ptype++;
if(*ptype != ',') continue; // didn't find comma, move on
- ptype++; // move past comma
-
+
+ //do not send new log records, only classic logs, it needs UI development
+ //if first field of the log is 0, and second is not "rn" or "rs" then do not send
+ if(strncmp("[0", ptype-2, 2) && !(strncmp("rn", ptype+2, 2) || strncmp("rs", ptype+2, 2)))
+ continue;
+
+ ptype++; // move past comma
if (type_specified && strncmp(type, ptype+1, 2))
continue;
// if type is not specified, output everything except "wl" and "fl" records
diff --git a/weather.cpp b/weather.cpp
index c9f59c3..07b2562 100644
--- a/weather.cpp
+++ b/weather.cpp
@@ -41,7 +41,7 @@ extern const char wtopts_filename[];
extern OpenSprinkler os; // OpenSprinkler object
extern char tmp_buffer[];
byte findKeyVal (const char *str,char *strbuf, uint8_t maxlen,const char *key,bool key_in_pgm=false,uint8_t *keyfound=NULL);
-void write_log(byte type, ulong curr_time);
+void write_log(byte type, ulong curr_time, ulong param);
// The weather function calls getweather.py on remote server to retrieve weather data
// the default script is WEATHER_SCRIPT_HOST/weather?.py
@@ -119,7 +119,7 @@ static void getweather_callback(byte status, uint16_t off, uint16_t len) {
}
os.checkwt_success_lasttime = os.now_tz();
- write_log(LOGDATA_WATERLEVEL, os.checkwt_success_lasttime);
+ write_log(LOGDATA_WATERLEVEL, os.checkwt_success_lasttime, 0);
}
#if defined(ARDUINO) // for AVR