From 711fafde800c254245e602047887cb7f7dc3ddaa Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Wed, 1 Jul 2015 17:53:49 +0200 Subject: [PATCH 01/63] disable DEBUG_HTTP_UPDATE --- libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h b/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h index 0456997b04..911a6a565c 100644 --- a/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h +++ b/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h @@ -29,7 +29,7 @@ #include #include -#define DEBUG_HTTP_UPDATE(...) Serial1.printf( __VA_ARGS__ ) +//#define DEBUG_HTTP_UPDATE(...) Serial1.printf( __VA_ARGS__ ) #ifndef DEBUG_HTTP_UPDATE #define DEBUG_HTTP_UPDATE(...) From f210939b48039abad2cbe4753674f1619992f9ad Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Wed, 1 Jul 2015 17:56:19 +0200 Subject: [PATCH 02/63] Pulldown only possible for in 16. ( see #478 ) rename define to INPUT_PULLDOWN_16 to make it clear --- cores/esp8266/Arduino.h | 2 +- cores/esp8266/core_esp8266_wiring_digital.c | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/cores/esp8266/Arduino.h b/cores/esp8266/Arduino.h index a715f52152..59135a034c 100644 --- a/cores/esp8266/Arduino.h +++ b/cores/esp8266/Arduino.h @@ -48,7 +48,7 @@ void yield(void); //GPIO FUNCTIONS #define INPUT 0x00 #define INPUT_PULLUP 0x02 -#define INPUT_PULLDOWN 0x04 +#define INPUT_PULLDOWN_16 0x04 // PULLDOWN only possible for pin16 #define OUTPUT 0x01 #define OUTPUT_OPEN_DRAIN 0x03 #define WAKEUP_PULLUP 0x05 diff --git a/cores/esp8266/core_esp8266_wiring_digital.c b/cores/esp8266/core_esp8266_wiring_digital.c index aad2dfa3ed..5654e5f123 100644 --- a/cores/esp8266/core_esp8266_wiring_digital.c +++ b/cores/esp8266/core_esp8266_wiring_digital.c @@ -44,14 +44,12 @@ extern void __pinMode(uint8_t pin, uint8_t mode) { GPC(pin) = (GPC(pin) & (0xF << GPCI)); //SOURCE(GPIO) | DRIVER(NORMAL) | INT_TYPE(UNCHANGED) | WAKEUP_ENABLE(DISABLED) if(mode == OUTPUT_OPEN_DRAIN) GPC(pin) |= (1 << GPCD); GPES = (1 << pin); //Enable - } else if(mode == INPUT || mode == INPUT_PULLUP || mode == INPUT_PULLDOWN){ + } else if(mode == INPUT || mode == INPUT_PULLUP){ GPF(pin) = GPFFS(GPFFS_GPIO(pin));//Set mode to GPIO GPEC = (1 << pin); //Disable GPC(pin) = (GPC(pin) & (0xF << GPCI)) | (1 << GPCD); //SOURCE(GPIO) | DRIVER(OPEN_DRAIN) | INT_TYPE(UNCHANGED) | WAKEUP_ENABLE(DISABLED) if(mode == INPUT_PULLUP) { GPF(pin) |= (1 << GPFPU); // Enable Pullup - } else if(mode == INPUT_PULLDOWN) { - GPF(pin) |= (1 << GPFPD); // Enable Pulldown } } else if(mode == WAKEUP_PULLUP || mode == WAKEUP_PULLDOWN){ GPF(pin) = GPFFS(GPFFS_GPIO(pin));//Set mode to GPIO @@ -67,8 +65,8 @@ extern void __pinMode(uint8_t pin, uint8_t mode) { } else if(pin == 16){ GPF16 = GP16FFS(GPFFS_GPIO(pin));//Set mode to GPIO GPC16 = 0; - if(mode == INPUT || mode == INPUT_PULLDOWN){ - if(mode == INPUT_PULLDOWN){ + if(mode == INPUT || mode == INPUT_PULLDOWN_16){ + if(mode == INPUT_PULLDOWN_16){ GPF16 |= (1 << GP16FPD);//Enable Pulldown } GP16E &= ~1; From 2ab4e360ccafe4cb3f49a13cfab3268d4c22961e Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Wed, 1 Jul 2015 17:57:31 +0200 Subject: [PATCH 03/63] upate phy with values from SDK 1.1.2 (esp_init_data_default.bin) --- cores/esp8266/core_esp8266_phy.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cores/esp8266/core_esp8266_phy.c b/cores/esp8266/core_esp8266_phy.c index c22272df74..cc624ade08 100644 --- a/cores/esp8266/core_esp8266_phy.c +++ b/cores/esp8266/core_esp8266_phy.c @@ -56,8 +56,8 @@ static uint8_t phy_init_data[128] = [26] = 225, // spur_freq_cfg, spur_freq=spur_freq_cfg/spur_freq_cfg_div [27] = 10, // spur_freq_cfg_div // each bit for 1 channel, 1 to select the spur_freq if in band, else 40 - [28] = 0, // spur_freq_en_h - [29] = 0, // spur_freq_en_l + [28] = 0xff, // spur_freq_en_h + [29] = 0xff, // spur_freq_en_l [30] = 0xf8, // Reserved, do not change [31] = 0, // Reserved, do not change @@ -86,7 +86,7 @@ static uint8_t phy_init_data[128] = // 2: 24MHz [48] = 1, - + // sdio_configure // 0: Auto by pin strapping @@ -165,7 +165,7 @@ static uint8_t phy_init_data[128] = // 0x8: -14db, // 0x4: -17.5, // 0x0: -23 - [94] = 0x0f, + [94] = 0x00, // lp_bb_att_ext @@ -226,7 +226,7 @@ static uint8_t phy_init_data[128] = // 3: auto measure frequency offset and correct it, bbpll is 160M, it only can correct + frequency offset. // 5: use 113 byte force_freq_offset to correct frequency offset, bbpll is 168M, it can correct + and - frequency offset. // 7: use 113 byte force_freq_offset to correct frequency offset, bbpll is 160M , it only can correct + frequency offset. - [112] = 0, + [112] = 3, // force_freq_offset // signed, unit is 8kHz From c77fbb23831de303bdf46c5e461504bed5bdffdb Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Sat, 4 Jul 2015 09:45:05 +0200 Subject: [PATCH 04/63] update SDK to v1.2.0_15_07_03 --- cores/esp8266/Esp.cpp | 7 +++ libraries/ESP8266WiFi/src/ESP8266WiFi.cpp | 2 +- platform.txt | 2 +- tools/sdk/changelog.txt | 59 ++++++++++++++++++++++ tools/sdk/include/eagle_soc.h | 8 +-- tools/sdk/include/espnow.h | 47 +++++++++++++++++ tools/sdk/include/ets_sys.h | 13 +++-- tools/sdk/include/pwm.h | 34 +++++++++++++ tools/sdk/include/smartconfig.h | 2 +- tools/sdk/include/sntp.h | 4 ++ tools/sdk/include/user_interface.h | 28 ++++++++++ tools/sdk/lib/libat.a | Bin 0 -> 205586 bytes tools/sdk/lib/libcrypto.a | Bin 0 -> 55094 bytes tools/sdk/lib/libespnow.a | Bin 0 -> 26732 bytes tools/sdk/lib/libjson.a | Bin 12818 -> 12934 bytes tools/sdk/lib/liblwip.a | Bin 304810 -> 311536 bytes tools/sdk/lib/liblwip_536.a | Bin 0 -> 311524 bytes tools/sdk/lib/libmain.a | Bin 142350 -> 146252 bytes tools/sdk/lib/libnet80211.a | Bin 195978 -> 221490 bytes tools/sdk/lib/libpp.a | Bin 190304 -> 213568 bytes tools/sdk/lib/libpwm.a | Bin 0 -> 28298 bytes tools/sdk/lib/libsmartconfig.a | Bin 98570 -> 101094 bytes tools/sdk/lib/libssl.a | Bin 171696 -> 172970 bytes tools/sdk/lib/libupgrade.a | Bin 17350 -> 17358 bytes tools/sdk/lib/libwpa.a | Bin 124548 -> 127178 bytes tools/sdk/lib/libwps.a | Bin 0 -> 213960 bytes tools/sdk/version | 2 +- 27 files changed, 193 insertions(+), 15 deletions(-) create mode 100644 tools/sdk/include/espnow.h create mode 100644 tools/sdk/include/pwm.h create mode 100644 tools/sdk/lib/libat.a create mode 100644 tools/sdk/lib/libcrypto.a create mode 100644 tools/sdk/lib/libespnow.a create mode 100644 tools/sdk/lib/liblwip_536.a create mode 100644 tools/sdk/lib/libpwm.a create mode 100644 tools/sdk/lib/libwps.a diff --git a/cores/esp8266/Esp.cpp b/cores/esp8266/Esp.cpp index cda089b04a..7971f1fd3c 100644 --- a/cores/esp8266/Esp.cpp +++ b/cores/esp8266/Esp.cpp @@ -81,18 +81,25 @@ EspClass ESP; void EspClass::wdtEnable(uint32_t timeout_ms) { + /// This API can only be called if software watchdog is stopped + system_soft_wdt_restart(); } void EspClass::wdtEnable(WDTO_t timeout_ms) { + wdtEnable((uint32_t) timeout_ms); } void EspClass::wdtDisable(void) { + /// Please don’t stop software watchdog too long (less than 6 seconds), + /// otherwise it will trigger hardware watchdog reset. + system_soft_wdt_stop(); } void EspClass::wdtFeed(void) { + } void EspClass::deepSleep(uint32_t time_us, WakeMode mode) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp index f65907fc95..474f4f3014 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp @@ -599,7 +599,7 @@ void ESP8266WiFiClass::beginSmartConfig() _smartConfigDone = false; //SC_TYPE_ESPTOUCH use ESPTOUCH for smartconfig, or use SC_TYPE_AIRKISS for AIRKISS - smartconfig_start(SC_TYPE_ESPTOUCH, reinterpret_cast(&ESP8266WiFiClass::_smartConfigCallback), 1); + smartconfig_start(reinterpret_cast(&ESP8266WiFiClass::_smartConfigCallback), 1); } void ESP8266WiFiClass::stopSmartConfig() diff --git a/platform.txt b/platform.txt index bf3b930b53..d44798b23b 100644 --- a/platform.txt +++ b/platform.txt @@ -24,7 +24,7 @@ compiler.S.flags=-c -g -x assembler-with-cpp -MMD compiler.c.elf.flags=-g -Os -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-T{build.flash_ld}" -Wl,-wrap,system_restart_local -Wl,-wrap,register_chipv6_phy compiler.c.elf.cmd=xtensa-lx106-elf-gcc -compiler.c.elf.libs=-lm -lgcc -lhal -lphy -lnet80211 -llwip -lwpa -lmain -lpp -lsmartconfig +compiler.c.elf.libs=-lm -lgcc -lhal -lphy -lnet80211 -llwip -lwpa -lmain -lpp -lsmartconfig -lwps compiler.cpp.cmd=xtensa-lx106-elf-g++ compiler.cpp.flags=-c -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD diff --git a/tools/sdk/changelog.txt b/tools/sdk/changelog.txt index c9e1cdf112..5cd5b9cc27 100644 --- a/tools/sdk/changelog.txt +++ b/tools/sdk/changelog.txt @@ -1,3 +1,62 @@ +esp_iot_sdk_v1.2.0_15_07_03 Release Note +------------------------------------------- +Resolved Issues(Bugs below are eligible for Bug Bounty Program): +1.TLS server disconnect to ESP8266 may cause crash. [孙新虎] + +Optimization: +1.Update SmartConfig to version 2.4 , corresponding to ESPTOUCH APP v0.3.4 (https://github.com/EspressifApp/), delete parameter "sc_type type" in smartconfig_start, SmartConfig type can be got automatically. +2.Add parameter "sint16 freq_offset; " in structure "bss_info" to get AP's frequency offset. +3.Folder "ld" is updated, please use the latest one (\esp_iot_sdk_v1.2.0\ld ) +4.Add UDP transparent transmission example in documentation "4B-ESP8266__AT Command Examples" +5.Revise the scan issue that may cause Wi-Fi connection break. +6.Add ESP-NOW function, more details in "Add APIs" +7.Add WPS function,more details in "Add APIs" +8.Fixed a DNS fail issue with special router +9.Optimize espconn,revise issues below: +(1) enter sent callback late in UDP transmission +(2) TCP shakehand may fail issue +(3) SSL connection fail may cause crash +(4) optimize SSL error handler +10. Memory optimization + +Add APIs: +1.ESP-NOW APIs +esp_now_init: init ESP-NOW function +esp_now_deinit: deinit ESP-NOW function +esp_now_register_recv_cb: register ESP-NOW receive callback +esp_now_unregister_recv_cb: unregister ESP-NOW receive callback +esp_now_send: send ESP-NOW packet +esp_now_add_peer: add an ESP-NOW peer +esp_now_del_peer: delete an ESP-NOW peer +esp_now_set_self_role: set ESP-NOW role of device itself +esp_now_get_self_role: get ESP-NOW role of device itself +esp_now_set_peer_role: set ESP-NOW role about another device +esp_now_get_peer_role: get ESP-NOW role about another device +esp_now_set_peer_key: set ESP-NOW key of a device +esp_now_get_peer_key: get ESP-NOW key of a device + +2. WPS APIs +wifi_wps_enable : enable WPS function +wifi_wps_disable: disable WPS function +wifi_wps_start: start WPS communication +wifi_set_wps_cb: set WPS callback + +3.software watchdog APIs +system_soft_wdt_stop: stop software watchdog +system_soft_wdt_restart: restart software watchdog + +4.sntp_get_timezone: get SNTP timezone + +AT_v0.30 Release Note: +Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that. + +1.Command "AT+CWSTARTSMART" need not parameter any more, SmartConfig type can be got automatically. +2.AP's frequency offset can be got by command "AT+CWLAP" +3.Memory optimization + + + + esp_iot_sdk_1.1.2_15_06_25_p2 Release Note ------------------------------------------- diff --git a/tools/sdk/include/eagle_soc.h b/tools/sdk/include/eagle_soc.h index 71e32dc2e1..04e033067a 100644 --- a/tools/sdk/include/eagle_soc.h +++ b/tools/sdk/include/eagle_soc.h @@ -300,11 +300,11 @@ #define PIN_PULLUP_DIS(PIN_NAME) CLEAR_PERI_REG_MASK(PIN_NAME, PERIPHS_IO_MUX_PULLUP) #define PIN_PULLUP_EN(PIN_NAME) SET_PERI_REG_MASK(PIN_NAME, PERIPHS_IO_MUX_PULLUP) -#define PIN_PULLDWN_DIS(PIN_NAME) CLEAR_PERI_REG_MASK(PIN_NAME, PERIPHS_IO_MUX_PULLDWN) -#define PIN_PULLDWN_EN(PIN_NAME) SET_PERI_REG_MASK(PIN_NAME, PERIPHS_IO_MUX_PULLDWN) #define PIN_FUNC_SELECT(PIN_NAME, FUNC) do { \ - CLEAR_PERI_REG_MASK(PIN_NAME, (PERIPHS_IO_MUX_FUNC<6|@AH1od%wT$dB?~PwJvG;LgF><;mSX4>a{ZhQ>RVKbGv=a$a;6Xr;!YHVFY??edcnd;KY6{{PExl&!asG$M2 zNOz=OS`rZmuUZbd*2cD$70cTiYggPhOxxJnx`NrfWLZOH>xw0fZEeb`w#L@lwl!_- zjfke^_S$eOMOb)gsI3X_@>r;7UVhu0P>0e2pp;k6nO9t*tPVkXMQd&Ss&JV5xV<&B zyrPl$p`meUXiZU5pfBRqX8oM>F$jxe<}E@=)et!--$ zwKGSSHbUqk`qsww+S?mj+nUL0!gCut+UKrXR?l6B;c{XqYT9cX8kfNO(9)$Vmeek# zm{_u6ISXq$B|N2NQFFL$Si(gJp6?>shTgCil3B$z<6&}hv(JzWzZGAI}non7gd6gBY;qFo;0t+o~3&!HN;L_&X8x}}4zLMja1mSL65=AmGivtTqx=RP4FK!Hr=t0Fs$zHfBOx0VXtQ}dsd1)Gj zlir952CEIKRyD3-c}i4f+>-f`av*&%j9=XxZmw;-9r?Z~w7g*{74IeWO3D1n+R9*c za8B*~1;OeCwew4g;3Cz2sD^7P7lcr!4OM2XjiClX53l7`w>GyAz0kg5=oJ*uMupWl zlvIt1XcfpAszYmA+FPTT<*Sy#4-Hg9F?r^nCATjKwcQp8c?(s&Lqy|}rWLFr6E#z? z9g)GJsI~FdW~!K5YgZx5w|1ZwlJ$3OsI@h;h5`!_ILVTgg>Wcrktz`pI7j5cFNIo) zdF32J<-81bw=D@RUyiazEs}H{VW84RQN5yNjRFv;T^3?hpe*UDWd$C|nh_?FjuB?K zjL2cb#RSQsmVCo1Ii$3VZg8yO;9LvS%X*9H8kVgp47tD}niYabe61YrsL&3%(H89}5f{aj5E^o5 zNGKAT<}j=N8k&~0uojRvGD8l*fZAZnsQ|;mA(`RA7x@BWf{aMA)=T7(i1)1IMUv6h zO5uxb4z*ltafGwj%eafJwbB-8D&NCG&)grD?u@zEK6-H^KSo&=m7L8j7bmBMi}-7G za8>(?BGJ2uMC1_53azO38&*)YL0U}a^MY^QaMO`ASf#7_SgRlJT zHPY2CUr~#mCHIr4^J*KK+d}nAsm1FM?LP~N=y>u_QLRr^q(X0irq0?*ZUw6s7ow7* z7OA!zZ6tevs>=5E(2^#uBa3Aqhx>pmqb_lyh$HEr#^uaA(lG=dkxAXN+Is38-li;B z+G^1)WX)4!`{EU?==|Q=-lRxse*21+!shn22!Up!d^vigjS;RgL=DuMh_*1as-YEa zgtVk|>5A1w?X62W!P?n*tJ+&uwU<)p+nO31xWQtI*99G=&EXX#%UYy;tXT&qUZ!qx zYdN(uXa}g)kWPRqSsse$D_f~Cs-*Oeq6QGphFcXR5lsU)}Fi-^YuaTGjXPER82S{DbBu zU)YhXXY46b)Ir9piuxCTeSW)<(&x6i!QKBDrYgICsxOp?qWAVY6Vz9<=UR>TOs}@7 zkozT9=YC1|sPDp3|6k1P7$VO?Ge+CcNVu?iiwI99?;IT~7JmH}%+zKk7C; z-gw(g>Fd!#Y1t~->*;eOIMuh|96=rd+_^cL|1^x%x1`}20OOC``=_B%*1;1Od|Ny-dMVSs?uY5Y9$!uYPmDLsJv>XIy=atfYOTjtv{90s_G3h zK69>XSM18y&Cu&+uUo0ly0azhsHC|T+LEahWk%UUW6N|Hj>JT zN$ER~y*^=cuBx76q5lAP|GQ@Bta*!8wmw%aDDJK+-c=UM6O80of^paFn^XFH*79R@ z;}YRvWs}0g!c`ha;kh~U{%UnnW{Sw2tdPo3{COx8C#gUzusU!F40pRJV^a|*SJPw4 zofR=!Xgv2ma-OHJfxASWVD&($4N3LrZIiw?KKQyhX=1ASCW{JoXPLhxd5|phA2-!g zFhQwdxsKmU-yfE_c)t3GS;6ltcMZ!?|JCVn!>Xlj_f&Vl=f76*&$xc-wbxIZf#?b@ zaEsZJ>oXgs$e%Z}&7Iknot&u5FP=Rl&_)EQ%r=rGNMrL`8?X1z@cI5>>QtW(h7)Sq z8<)3*+(j#vwKUVX&b^3F#kl?cDZVLzDRAF+tzP8r-X! z+ndNVcV57qd+St%5?bk@<^nAScY#`dYU0Wk*A~s2TUtJ=yx2F>*Rdp!x1=Ey4kcQ6 zKkT*Tj$fG1HJL_EdgcgTQyhK0`;2!-<^ zZ;+4S%fzC2)zaRj6hYHHi3`e0YKzKBie}GWIH#7Pb2vfqIGhMX6H`GH&!#c_g0h(& z56dc)UT6-`YNgS&mM%M8+vsxBrBj0X==m@`(el@6w8}xxd&Tn&dg9$0>KSCv^ErCL z9yeL)g`S?s8*k7P=2FEXqmY8zDhcA5LRTkUF1n!X#7locCWkmQV33(l7nGeYV7RfJ zu38JejW85sfNgX^W+hz-0)LsFP;g6z9d6x09NdOmhzlsl0K4ge%yaaVGKUGnf3P2g zK-!-m!ijffT;kn);un)B?7xRF`cioJA&b0>bI2bdUWVP2G9(Y2B;HNb6s1Jqd4%Hy zUPKtmP8YEBTdm~DewnUttA+T9B-=?B(isZ=muU`}hl!W|d0EPk95B*0x?VoFr0hVE0EO~NE=25uYPJF4b z=O-2!nSUX3fOzS*52Ose1B^Thza>+~m3~M=CME^{14}<#DS5I}mJ8TlMm)+C!m?J% z2rR>XKk={+Zhglh1ALX>QO2N=aKp|GGN(5dhAoA1XM8Q%f z3ptVK7uhG}P%|R7ta8#VqFJqm=k;_&yDMWG=JK6uEf~CGjG}Z?)i#5y|_ zUw|&Cbz~Ukkli5%^M&FGe?pxixf%}H9WuDSNEdRkR9~Qo+zkVvBt(ix45RnyC2J~4 zGt{;+Opxm_6lDiJ5e~FEG8|teEZ-rhgefw2$jG#qbr81NSLWezun+Me?Q;^gysnHQ z!!F{al5XLtNs^xVWKjXV=pc;R6!rn51Y7M}OHI^f%Zt)J61${|8Rm1?CyJSPBW764 z!+f}{F~fWcbE}V_XXQ2Gehl+y9;sNDB zD(I)ul|$EDx*%UbPpM$OKx*g-J@V!qbfL9`d>cKbf_W!hXiewP1@rspDHY7WD>d|l z{_!aN(^2|8q(=+eNKe@JA5rGNjnbcv(j$V<;@&CVA1xz{^l(2TN}m~}zcxxgkMy!t zg?~a(=3j}@e}nXBVGD)(--o!QTljt8?B#A zk1I$o6~gZ)JzB4J!mzI}${all+4{hIMU?qE(#w_y=5kGEPdFf>|@=VkY350ZnRXR&NjI@c8CBxNsFwPnrcgEEppLDf2KnBj4?@V2nH@k9t())2~V;;WR2w7}cP? z2Zni*g?~|C*l|+e9(ukbFx*6aiFe`0Spvgf)dIu6D+NZFx&%g8KNc9H4i$FLh0zN} zB)~feCku?a>vIC{B0O2(rwHFHFzneUFh&s*DgIy&di-Co-~|?Zx4=k~Zwibwc~@Zc z)UTim_5iOD7(MJe1a{N&A%T(3&j<{ebgHKCF7m}y0wZ5Qsc1k+p}znbDBvW)XAo9V zagr*e3o_tRVD!5t(k1;<0%d?OzKS;s3jY3^-tE&pN_tD&0u^6J4-poxn+ge?jnQQwIb-OwS#3snoxP z`Z-;A7aVYs;CB*M#dN^0gbX;~B*E{3%vidS`W;=c2OMyc;GZHa?fH|C0S7GY*$o*K z98w?B1$)2&Ckft7VNkCig49ifAp;ILN$?XPBRWt^gbX;~B*A+jgA72bS;&9`P7-_$ zWQ3iog$y`g>6Q;N!p?O<1{|<->u$kgmSGxQQvM$W4-Qz$=RroKJKjMU!2!#3-whd& zZ~rW0zyZtr{I1|JL-8D4GQYhqcyPcnzr~U}a0@dO=zmC@Au#HaUf6?SFDZ}U!2u@; zelKJ`$7OPb3^?E5;EX`lLX%Y85CqvUlB6kfRhB@1R3F<^+E<5u=LMT$cVCe zr;q^$EX(Y@kP+$o6Cnc*Sf+2U;4$N~l`a{^J%R@ZEW@}BGQw|cmWcG=fTiDhAd|(z zc$6^W3LJ2f;4yn7{pJ#NJ2+tJw+z8!7U>M+Mf_hScyPedZ`pzm(lf_`2k|Z{MpD-Z z9vpCz;I9=tW}V)(xRob(aKO^7a~2u6hcJQzmNFkhM#L5Dg$y`g8CP|L)vLMRz9wYA z0VfH*0WuhH2f@j?b1u=Mi)WJLaf8?Xl)u=InMuuO|D3K?*~GA(i-Bg)imLIxbL4EsvKV>Zx7 zmvpyH@Zf-@yXysy*}yw3cp72V$HV>&!Gi-%5_}$HMA*B93^-sJ_I${Qyz#J*0S7Ge zMge3*-uPD`0}fc`jbg}%IQ*fI0S7F@f|*NIOlZ9#WWWI@3BDIH!vDVzGT?w^xb{Lu zgzKn~0S7F@H3%6|Mn;Ri95`T^UhhIixI0G3fCHBPIR_aLKi3EuaKJKtK8B2lpX-DS zIA9q+7y?T_&lED?fTf?2n&?|Y+3AuPSxRDbQzUj?F0X zuO{7EYrz{W_+ATUeGJk=?X>W_EqJd5AF$wK7R>q~q=$Of!YgPm1g~50I18R=!9EMl zx8O1h#yD5ni8fy1r54;_!FO12w*_yrV48EHZNGeWf z{$F1Ez|=ElsJ(jkab=g+G3ndMUUg1#p29bhY}=kbpbR*Bd;K45`|aAZ`-~(0H-hJ? z?9LQyD9hFRKQyHq@(H(`r~T)HM~wtkxaA z%B~v6;%}$qj%LoXtt#8j2G5vfvC{2X`G?7E=Mm!#|G6MGm`Jy)d)Dc;)*e$olJimi z(fkitB<*+RZ%bNOS=qjNjG<}DosN_T9HSp~=<&~L@z2@PJ?Y`D56pF0s@v-?rA0)t zc-Wp5goErkYVe(IFPt}D)v~l}X6j%6lNr|1bCYN4FT8CA-!t8T?y^{2DVVw|y|BQy zp+80mz73Lyep+IQS$j6U+LdW{y%Yb^E1It8zq++MId8seNxa+LP93tYF-rcqJG)a` zb@kQ1ZYY*Q>k7Z_(8|A57h@Yqx$YId6jNd$HoZcqQkf_-AADza9Tm z`)WrVHFy1*Qd6{T%uF2;aSCEe1c?m0J~HWU`w;i8a}0mL@Ou{}olL@E&jQp@!x*kX zeM?R9MXKTw`~u?13l}NW&$f$LMQON%JxhtVk09T13I2{t*uRN*>-wFv@?PSTq{i~> zxdgxS681kue4^!j341TW4_v~Y!Ic+-dZ^1lf9;_%|B<(F+ zSXx~&zXVQ3>?V$3zIm^tN}4e}?Q~p7FT;N%C%vv*U0FVN7VN+W0rJU%%Q+SsWIjK* zsANHPaPIty^0~7q-4f@`#zxQN#FFajdDUz~DDzwOeD0@Nb0{SA-mLi*C3Te(}!V^K8q`a zd6jt1A9_aQiQ@qzyDQ3B8ZRy`E2@P1cuIE}7VZWYE|^EVP3J;}eW5sij)*(x=T%BA z;<|LcNKX=+6D&fwSRNxR{SeVd@>Q^si85J+xu`|YM5SHw$)*0Loww+s|Ie;lv56L& zdD%8yxw-cL20)@H5{1JzZ{r(W6IO20oGEL;67{Ed7v97z%y>mVR(c zp46q+h;92a4ea_&VMKD7WnrT8DRJyGMHn5g5Q8YM^CslR-+p!@W534Gu|MKaBZgx z>+DdF0ha!mPFTis&>{njKHGM>W?6V(@SSwcvGBlBe!hhVmi&zt9$50&F9Zd@Nrk?{ zf7UKkxh-|df9tMP%99iX1OwrOn#LcIJJKGifUZxIgBjFhx`1gKhpA}$q@0gT5to;f zyPjmC-IZwp2c-Y5wP5fE3|c26Lrn9a%s~$MiMk)d?CYU)JpcirP`5#q(k1PN{^Ly2 zlZRm+`qR?BMTFtM09{ZmB(qoK73d)c^G5MRxS^&|hGv}|u4OWiTTYj?zrK;=cEdm@ z3D=QcVi*-rXV?oMlr;Ma>8;^VrqDhb;t&qRhYZI*5|-}}RGQGamWg9A+ep}IUq0Cf zIoLN!n89A?Ew3w06tVXcCzW&yPfK(u=V;yc0AP@%dh5Pc`0wXY<|m@`*iRxA z0gY}ABobx9;L?~0I6Vq znx)V}pA)6Wo&u?0zA#FU^#iG3z9CBgK$QNmDE-f(^uLJG|1nDcew04ZQl#PjRZ;qD zqVz>k`bAOt<|zGFqx4wYmJ04Y9Hswplzv~7{J_PA|JW#fZj}D-qV!c! z`f!wfO_Y99l>R$W`dv}_y;1t#M(N*<(#Ok=3xx&YaYyO%qV)5k^tDm?)+l{vl>VPd zk2)FS0qhHZ++vP)YB%Z84omZwqRf98rGGt2f1dQ{qrWcf$If7}PnqxDzWhmbL%X~! zo3`btb8-_g-|TD=xQMvyL3VNjG+82Tjhs3+eCsnw$lc!ZoVv*IH=p&mpy-oT*cn36 zXRwTLu+XO*!6SWLw0h`R9_ew$A@YZakxvJT1mrWG<1=L6&=EaD9vR|>$qjAZr$dV9 z93M-R7p<0u^9;Q)(m6a#?4tOR?+*FkGRMsDq@?3JKK)b~5|a`0Sx>-=ctM``Gc5Kc z8J!KH_(&W`eppoDT%Ajt7<93{*3*G3)<$d??%#_&d$El}=L1>nBl03YMp+g)Ajslm zgtJ)1PZo;AyXDwGUL_Q43?0JS3*^7_nyO{ZF59_m7FHYdI`k0^6XOZD&@>y$<;m78QT9Fcl z4kD@^;V`}V6bWP$6@9}`&9nG`MCbD}dU!bU3(m`8^4NK&Pp+C;gh1oK(ym#Bdx zwUaLOHU{~AeSseaFJuaUMZeSyZ0X}kj5a+@^v%(J14H)j1;)5%iNFQ)d`MvMFA9u# zzgGl?`v(NxLC+5bhJUXlIoJ>R#R6mAuTEgh<9$nDgmtIDn192Z9o}uH3-bcN;ITdp zjJdM+EI5tylAmP3#TI;n1!LV;%47ex#5Y?ox|HgzbR&g64`jdrCkcKcVJYJiGT?xv z%woY~42lc(e3PE70&k#aF&DXs{CncQATZ`;iv`B~E&FDPp1?O)_&Ea4 zr)Q;w-ypD?o*Mc|NzY#hjCs-51jd~0 z>lS=QV9b$zC@`DL75M?!X2D4UWA1dkzy>|95*YKk(8CYF6M>t^!=!QqAEYNP$s-IB z!>h4g3dULJo2Tq-)oW2 z0Zu1JNcn)T;yBMDk8&Zufhhxaa~b4+Y3I$r2IuQ6GEEklc3>;TaJ4&|*Sg<0s z4>*tG0~VQMz%w|1+#>UaMdn>#Vb3{WEG$4#d`P$0Uf9ob+5sLD<)qlYSP^e*U#yr^ z^;%@u9$6v7_Q(o*3Lx_ZZV%fpD`ePy*}vm_4P**9t^*b_Z0~H4^DPz`wvSfGuzj?` zo{f+x!cnWunDIKSH>(`%6#050M(2Y^dCK4OtM4m^wV zXMoE%9<<1u11{%0Iu7a$9NU4(49WpKo8xi76&z;(i%D#^MV@`%GMCHvz|Z5DeP>e1 zF}@v<_7?yP`7+=tE>mfdxf!^c^L4S1Ct7$^k#g{fWU4G&)Ryy=UI5x zz6+kU=>oGhU0~LZ3(VSaf!EPfy1U7OS$i#H9=7nTjTSs>qXlN|vcRle7MQig0<*SQ zVAlQ$9E&zWV21^>_E+#;3(wkI!LxQ&VAjqG%-U9gS=%ZwYflAUYq4{q1>bAItUVR- zJ1snGHwDkyO@UckDKKj*1!nD|z^r{FyP#-XjuVpEvH1A<;&R_zOrP%Ke?9aW&giW{ zVWc{ScLBUKhb}ta%w>K<88uB48sGaS&q48R1oO;mgrQyx< zrdw&xKeV$T?1;@cM5hV|dM~&pTvOfqiR*b{IUJ?2erkEXo1B_2bR_Hf-_-mkk#R~R`^FSxk`QqeHrT4*qa_bM*S+caH9TvPOSPBXzZJ_6l2?QU8AV#0Fn2Q_ldI2> z{2iaZA!o0;5*nR6;k&7>-ln{G|7CrU66o`(4cv}AN`zvy9vb^=S&C=dAWNcJ5P5HV z3`f~(!eOM`P5h-|y(oXLS_4f$E!H)kFIHVBbtyi7tU8|w8e`Qe{zh3wQAMme51PJ0%Swa`ebcIMO@ zW7GnW>fhnM#~7~}<5K$Q&|71)=^t&X*MlzYHa$IG?V3gRPi&=Bx+v%D>7$bJz z3X2TzHw6DH!f67(Nf^C($fK!8_YWA&IGQftb%d!m%JA0-qmcuTW*oh3;Io9Kyhcr; zl#eGY<#A-h_l5kkqS?f|e<2KoumDSW94`O`9+*~>S=eJ^!EzoLJnWI%8z2t_|HNWw z_MdaOCJx&C@7>Xe`WtD807CJ82FJLIcu)!mf0`W3pfEK9EaLSd`=lH)0V45oa+r3A zc2_0>8AbeuX%XpH@O6~J;}UoRA)~+yV-pO)t@ag=frmJ$kf2Z)-a<}H)hG=l2YaM~ zeK4;RPlN{w`&Gn{lj$LYtC_BN#_-$oB)1y|LP_`)(n}1ZuTa9s%m%$QyPYunAXNtq zwh%t}KZ!1wLBEkM`3^y41KEeMhEx)6Ai`?j9b_NmU|+H@gMCiAWSS9FUZg;61`tZx zho>eST{BCd&!FohU0D>l*e8?6O!y7vVp@d}(BH<5B6{QpsbKzfsi7zI zTcY&ej?(`iO8-oh{ufdDSEKZ=N9jL|(kEG>9R9f?N`G~f{_|1#*-`pXl)g1e|CJ~` z#>G;>{hlcOlTrE+{~1mEYvZT=-=pOqLi#VowkGx`Ky=6<`-7;F|2&PIE!p0Rh29ly zwfvCD+LonsP~?b5Q<7NZq(%CdM|Qxbw1OX7d5JS5hfcp_f8K+xUF5H5KFh!AME!$K z#6*Vfvj5S?f+D1b z|7#!HTPD}GP{!nZ9rA!GDk#)Pl1EJ;d6as|6I4_Pl6r?O%2f|*h?6l8{izm zX9e~VW@jo9j}90+JBcv-jB}A74~({7MbC)TTXca32b?7Mj|30-PXtEi5OZIUM<;5O z1%s13$~-VSRBj7KT_@KKQ4c@{9I!k`DIYRuJV;F!GT?yac|-YvM@O`P%;ef)k>J4r zC#4V|RZN#$bDS$=zyZs1)5;)&gdlZ`kO2prB={wQN2j-f%%r>Q96-Uba{z_Am5@QA zlUgO-1qUp{yMXjkrc=m(1C}y178&frM!bOomNGX(Ml?1L3K?*~@=V4$$O!-ZK*)dt zmiGKu@GsNz84GT}yDqwsIv{v(!15f%Ceq8b*JDBk9I!mkaVccR(T&teAp;Irp4Hew zdg;%%g$y`g>CcY^Pe*I8e^Nl4piDpyjB*nvF!*-ZIi7B$E+sSj*tNdEYFC%12R|Ajnwr*1{`pb;5U+9t`Va= z!$07F<(Y|_AoDr8kz#uQNCq6RJTtMI^s1X~q!tQ$zyT+@!O{SXE*aJ-?r298vTMY+D?v*3IS zF0wmy8uIgh`Pb(}@vSWnNRf=Jn4Cg9C!SD}VjG0i~ zQ#a{Hqw0IYlcw7}dmc+3TzevUup)la)9+U_O`_TJJ^Sg;*!CRY*1Cm1@W?rm{~(>Q zb=r^fsg4@wgRg4(=W+&h{jHdpvHM5ukImK72TpCN>PRk(SJwV<)-L<38F7Vs5A>_b zx`y7h@79&v^GNK}aO~%1RE0BQ_0j$Dit)OszJbZ_ysDf**x!*{swq20^*r8F@ObxQ zqtc&#Cb{dhNiS?mHC{E<-*H*poe-mI{fSCA!=|TX$CTQY0W+KvtNU!{&4Jo|qk4Pm z_K&hBQv<T)s~xIS%M4QO9^$0yYB7FQSvUsy;A-=gjIj#S^O}sFj)b&?#4*V#Vh< zsIouV3%zY-y9NsRKL;B0Uyz!jvOn(|eyrDs2dI&o1tYlow^Fyn(5hOlihtrutENBW zV}DNQ=_}AL-@-)xRi934F$L~5o+z!v}de?!Y85rz5<^_rJ1UY@v7jo=%icy9V%cdtO2ctTfbp>+JA;Ryu5(^si4 z;qmP0t6{0b@^saIn1yjl*2K81X(!fD)xYPF42M}16DTys`=6o1?RYH1gvBq?p;CQ8y7dIv zQdzB5)vML5>ijM0f(O-3b>Ur3zLtu&o`Yy`hgle_WTnMb@BL)a_mlW?YPdQXD}^=c zk04@;q2Tf`vSn0y*Z*x6l5Y(Q$xa!Pf02H;cX&u1kpd43fRJoLNFI_VJpgdKQvHtL z{9iXI02B-g3tgidiH$es@L@eK^^QP&lHQt>yd`OrCuy`jDZKl0 z52}y({Rho#XMzFu5Az6dtG@uS*%klG=7Xv*wWmK8Oz^9(NEudm$p`sG=>xsJ?eY0t zw4iy&xZ;G7e%8nk8L4L-EpbkECJ&Y=C-#1{Xzn}u#L|~7g%y3eGjySEg|Yo-Rfxk~ zdqPev-I*}Bcti2(U{nu@O z0(KDmPW;_1u_s|66a9^;vj4dylGTfQ3@87uTg`B!^i?JgHVJ>X(DOOEcGA@?xXXoy zY6hyQ&xXdG2#wtn8gnS*dL{N%?X8$|^%XHFW9%?Ww2timS&=D}gn*J5P8l^*&mE7+^%w$Iiel;T z|H7Q3M`{@L2uy_4tU}*oj5%buP8eg)8slWW?^^IN*@>55FmKU$j_Cgj*^}VB#g?ru zW6u1$$?F$twk?rxgyIGB2Kz>cAC{)nfM_8n#q~M(g#K=sTGgsSsx2JGAZiPbmPl1! z)nBO8yDMq`2ah3o@(5yg&7jjkDPb(`N;vX=<;Jl;vwj~g_S7#p{_mX zT%#r!UrpqVx5yC#=A2Qy1|Uh^tZ=*2c>AsC&SQ1tus2sPCdXN`Qbzun5o?QA!jAEt zfs{NLP33if9#@uIUEwT?EngbROp%;)_#Aw*%Ot3@yt9I!jdAGg>NoXZk< zJJR)AYfj>89>e1j2h@ImND8M+_4GREh*bPvcU*NrQgx+mMlAm;WaF%vLA!ADF}%{y zHEMlhMe0WW3cXHPe4O&>yCdXP=`PE&he9cqs)%JH*ESn<1oJYullF|7ommBqS-$!s z+me%iJ*J3?ZTi9+ccy0!WZt4>@AS~#p|e!~oJ2hEiisM{IdMe27F8wH>{MShe|=xC zeVeXjXZ*Tb^HkWWMml7q$m+2*;%u5hs$G|m_OV7?7^Qr zp7*%-TU%f9d3u$U0_CZPc0K5R@TE=XC@8P8(6PEyhVH27%9D$)BCqFdE8AKA+^l=9 zqC~5(cf~2jVRPj{Gjz}_oTVh#v4v)*`KH8il*~ z5@EN>{WUm)+Mojo>yJLPe=~}#PGbWU7~aeNt!QA3qvp(H-qqG8=qY+^d46Gq!&9Nm z$jD8m%9pn(1P_|LRUvr5^$(`>0B~RMN3_ zo9QNyj%}->aTH!tf6nTXpPDOwVp2KNr`IUW@!^H3dQ6}~^`_`W-d6QRh}fL;$8h#- z_o4(o$x>_&XoQUIuA?uTjDI!x=DKQK4UZYadxYyBH$yv2J-)R))35L`7~TrN_;5?TX^1w&_19y^y!D(~$aGva?0`jU|&S*|u+)93GwG;jGYOXj2($ z|AU82d#pYxTshmLJJLO#3PvelaMtFLBt{(S< z+5dvs`r^ln#=cDz)ehKW+;6VG*W7%M`NU>Zzhe7r<;0C?r|o=iLp^se=Kc*1+vp7-!Fd44VViMOV~ zCrv#yP^|2$Iud$g<+=6tAS+_b8J74nld1hBH=l)Nl&$z)*Xmeu?fcBNr0M#t@;GSy8d7Wx0-?2%=D>&;!N8KlWf_F^sc(kTzQ|VyXt2tg>jkZ z?dipZC7Ecv_&!%vWkWQ+)3x+4Z;Y@GAQk5OpQEdnF3h{{5Er&MA19%cq=&+HNl=Hy z6Lq_t=E-p75MM#-g~&sY!@iONTEiU440#Imznj_!wvC$FbjPQ(>&(&rxqYS>@I2&j zJA3zpW}FCp{%k0p29jDRFAxeI3SD0jqbDC#k2;SUNBu{GN2`v8c$V<=)dhOi@nO5M zhEGUc!M8wXRXdGUruuDUKXn_+gegkSfAp=SF+fl|NFP9@7YB5EVJPU@5F6-oyd2C` zsQ;elKb3mrw(TTi52i1mDT(S(aIm=7wKsupbS_mD^={a<$Cz=*xc-Fk`Ljko`CK#d zFg&HkJGk;DljgZryPZajsjg@4uVe0?H7QJbLx3Egs;&h^b7Q3w71s$n8TjX#e5dn3 zAY+s*mJQZ#Fx7U*E!rNJGb-Y5;jItSlGNoeEj?yZk)pV$h@DAa=7UNPxHdRl)y|9G zxz?C&@~zJNZhOTv0;XDrw^X*{xoe+kTw|)YFoxZ2d(GK?5kYqUBaS2tYZk-2>!)U( zQ=MpD*Q1rrQSP6R8vglA!()ma&n%*8{$RE;Sk$}dr1Nfny65GfC&Z)L?my+wYymaN z=UOsbErE6YkD1}0P4*Z;ilah$Z|Vp4UXfmy8$+oS=o|NPkP?Wh3ib0$_B-a$P_+@H z`BeHxf-!dWIW7)?WAAmF#zz;_DU4zF(oJT@ z9yJGqJ!3~Ozr6eL&c}PQzkEzH&R$R_F+p~>b(*KOrl9`0?r`Uq>Y8qU^5=s`T|0ut z=?mRAb>39Dy+qp>Y|7}~*!hjFqvJY)HKA^J;>Ir5Y@_w(#}_?%tW!^TOAC*?Zfn(Z z*=i~*E?s7-DFC+H%yPcb6pH=G?U31nrd_mQj>q)qG)tecbngD3eC=2G7 zR2Fw87MHc>8QBw$ZBS#mK~pe)RtxuDQ&zUCl+Ha($#V{DP(QgqFV58Lh@Fy3@>om9 z>W)b>;+ukHRh4+5u+*6sv}aUK?M$5NZS#7(TK1By!OCYk6O+6x3H3WNe)9O18z_Vw z8I=^m)n{iZO+jx4Uadbmy)5W|`~rFC1`l-r{{W}F8F|6{;)1E2*AwM`_=5U-u+?ha zv1=)-`g<;9#IAk6Syg`nnmQgtsz-pc)nTvd#a_=$l?I51V3=Q=M~;%Mdhzuh&z=d)57*c4}4MxNvCh&?~{OUw~f%f#EJZ4oZCt z_x?X$c#9@K>eNS}%T{x!(F0;OvLswsvno4NeF$V8QmwdvQmqZCmOZv92sf8B-QJW{ zupxy=6Qhd&q zsx>ObU^s3HqBb85+K-3QS9PU+`wsz`qMSZ>l~&CNC&*f!YpZ z*V&Y_bCr%rNqh9@6&r)pIYhZxeQ1`t>3ziX1Vnu^QQe2S(9;emHPKUU7IiPlpO`@7lRVkCtgq&LJRBX1Jvu8>EZf{OtlKS(hV2vp_ST& z_(|HY*6mj3Fzz2Ns1*P+wQPe5TAs1~qff5$Ha?PCZ+!TPS_&ho%c!wob>Ij0cmjQC z)*3KC6&;;ad3aXp_3Gy#-QRqHboX4L$IPfQ-uy(p4y3LBLN)niVRc1jf9Qfb6k4*i!dJU7l@q)sYPxMRV_y{cU<=57f#XhayP`p>>&r{5Uljj9u71#G{dDF5|n`+u?;K6uGFQgR4Qb_!d zntX^vj<5kz-jyFtJyAq&e~7A)tz>XaS(bH@x$d-we-fq{V^%(3dao=@&Yb*rNyUY8 zGEcWf{IN?b{hjGa&N|}>=<3`5WQJ3(pg|vXm$$R9kFL6#uj2A9PSe9TS$8GuoU~n6Pt3^*Um@PRpTDQBGxhW*3l#Mp=xKV!J~|wrf!f!9b)jpt60S@k zC;kye!PR`&V57Ctg3RhG)3&`pMt8#K#4Ty3M;j~6l`D9EUfsah3j65{KCyJdNIh$$ zvH6y|6tWVYs?fExYo=VsE>;3NLr_{dXw0 zcmj`<$0aA9ko#Yu*bIV;CP66E1VZBvg~rORtymK6YX}(Q`}UjZQz;clg8Cq|>d7)R zzf;d}raGJVptgDV+{_-sb;uY?IfpGdt$faGQmF@e>!Wr)6fFI~Tz$V|i=G+KePI1U^KVMhJyOoYCX$- zOt%#(Y0YZE;(MwqvK~pBNnfUU-F4HuU-lGC?YVm@4IJ4Aj^1N=DjE5v(w|B7lzH+} zY4-GAkhD#z{aAXqna)&5o0ZkKax=Qjx~*9~HCF3-dB|&>RC)VcO-W@fWwGI>{7DO4 znMqZYox5miqav%bK<%K;f{&WT*5J>ZuYt2IiN}0+(U&I6y z%gWSzsFD7O`VDw$7)8bN>lcyKqOcx)Q$~InRmvS|(n8kJq(AAR>iOvH13y|BGWF8t zc;1y?S<90GAzl55R=VFTz1L)688@+d@8F^my=pN^O98xIhM)-Vvrc^JU1s>HtEwtT zl&FW_`q!}lmWcp<5gY=@dhNqPquzK?SSWxCFCr;`RUm6JI`zyZmGvc)Hg;BIerX}K zp|fH1&=m8Kp1CzqpMBt;H$0fwU(5WEE&Naf5%{6-BD>WufTCziLR+ThL$@-+q>R}V zua|WgWDkrY(_H8l7@5QV+Z=U+!Gg05`O87@(tBz7dsFf&zVoEit*MA4Qy52HrqFJ}q z7c1&-Krkb=><&Z`&e|woYT-S64mzM`)@0Cp?y97zK3{vFB6Cs92P^mTOvDyRZAVN# zsn`EYSsk+ID6`agjEK5Xor#?_`x;#L#Cl^~g|V0tDqC8vz3idl`40RSe9QE|Wrp4~ z^=og;xRI7NXo|N;EP=7uK{T-liu|`6pYUA&2l{^Xq2s2W@L*zVnL__V#~r^^JzXLE zT0_sJz;>E%q30&LFpshi9I3$x{3-A65|3~m7UtlwcTTFUgde8sDGMjf{&#zNdV1OX z#?@MAav+pT>n^mGnoS=x(-Z~@4C|WoJ!R(qGN30E8oA+ACw+j<*Twjq7BbQsXt$7O z&r>urQ6I`(oR-3;^Y$25ll7W08Iuq+t?^vyO!aOIm&=T*?dGYpFVQGDPhI@Ide_;w zdLuWdH~n@R8@GmX<6SzR!Rz|7NqLeoGu4SjG>qFq%l>-au>^xYI{yJHDD2)(i-($h z-9ojp#y@FH#As3sin5tlEaso2Ka!%Ab}2@S$!m3f zr`ZTLsnFl81ixg)Kdg0qQ>iv`{ms~Pg-HUZ5jJ_PuHFGpmOf$D>v`enS9WAWq4FVkD+Y5-{^s~RRWGK2Hy@sU z&Fcv~pGhNLHXUQJGIYIJb-lSh&(yD5lTxVXt+C%|3s0-5)+go{Rn9+nQ)StG>BZ&u zdGv|y2?r;;%eD;cCH70tJ6h)O^nJ~<$H~7tA7)vg?`whQo$9rCwai)VET8rL@kX+#20*M#5At&zl&N0!V^*p9nDOTed`gDjyC$2) zn-^3kd&PmfEo)fyOKa|f!H>-ZRd;K}IJ>9nBU3$ZQu~k?zSf~iSvs?FD(3ZG0bF>MN}MOVy3}{z8IyB52)j?w>lpm|69_Ll}- zUmo-HgFYGnu+~p^dov1=6{}t{SMKLYdo-?KD(xXkNHO|NzKms~oj!%sLmES(0mD(? zIY^F9_EP?0Lo(NPo$O=noVr7TCW((3@V@{QV()$9?e+TzRO(-cJk4TTS&b?w{@SetFM>2fwxPP#LYEryMd; zHL-Jqd$y3Q`^Lg2xZb4tQcpdq(PE9U&g6a9{-07-%#TX=Xg!RL55)iNehAB|-ZkxG%38d! z;U}-obDUXHGjV4o-&sIQ^i8g&+dHzd$L892UumFq{hQ{-ar)RbXMs$;ShlqB)^qnxh)B~)fZF7sZB)OI(X&JVv-yF8`MFg?qJfBH`@|4s;nsOP9QvFN!2eYw1pK(<#FNE&l!ir z{DnP3cX?ZAZfVo@4lVq&ZKGpgT*;p==m}dYDodS8xOY6ZXlB^>rp!&-sqh3y$2tgP zIV&i}9#h?8>WMUNuc+D%myKSzA>~E59_g`>|6Ps?sN_;Uwrk;C-?gU%^rS3bTvmY= zuKYn(>R~+%OY{{(V~PVDM>R+grn{J;kd0ADPB^L}6iy&6|>-QZZ&ZE%<@y zr~hM)3sH_!^|2{^j@Htu>P6JU9C14p`|en#AD;Omq`B2yU~-i>e8Ks(RI{Vp0;K5^1~=%l&%r1@AML#GAH`E^_c}s} zu0C71H-2Z*{yoZ~e_-^hGER>}OOdGlp7E6AtkM%jfiLOye`JlSf)T=ygS{Tv>k~Fp z1&>;=-N1fTU=t~ zyG|{^@dSg0K-sEY$##Z)sm7mZUp(Ii$43DD4(cJKrB9t5oKZCse{QjzFwPFvaIk76vHh}X%QvdsAc#NxF z$)vqbv`>X?7Ze-G2B~+^f5zndQ3xo5qHJRx=d+FrM`}k$j+Nmoo2xt#qFt3^sI{av zb5AG*8+0g9*pSG060NFeG^vIhbvvkh6_T zv}4DktHA?iI3@KTWA(ALF25}1yp4uZJWjTZ%1nB&ySshM+{`oMX&GOiy?s>HGfMc1 zF=yvyQFRb}fzQL87qvn4DBq&@V$Oyf-rogimwqfCFEstG-j;UecG{}Jw!nLH`8I&u zRB=BKE6UHOzr8%55?Z`bX+Gs4%?#NP||f6_&p@Mfo<{bJg|e=}*P4r+1b ze6m69DVx?jTVdBVYU<8soG{X;)jLav60zw_*7nf^pW>i2@>$02SYL;-riWaY=O&+i zXXAMq%JXe!wzkR9V{!3H^=U@UPc!B}bUr>eNrx$+k#CEKCJX}pXdqP=4W%#BJ`o_Z8D zJsZ(K^a}5$9u-raa#NYHPkyoRqWPq*9xBKRr`r$F9*hC_m1g*wXdB$OXhY1pPf96w z)4l^sd|6|oH$ZXe=X=uR9t5lTr(x_bJI?p1B+xfDvQEK%P!?szN$RV4H08BFnA@oL zRd!W=fubKwj3p;s8|V`p+LZm`mN#jAL)RzeCsJl&x!UGc^w^H8@(bNL2PdyCoTb)W zHF@El5-snl$x{o99QLc4r%qOmws=NO)F-~UWwbG1dbO;87A}m{@9j5D+LN~53{fxf z+HyzXsLUH}wDV(bX2LSw^&`{g#iR#8YUy5L1u5CzD|Q37jX_1LjOny1w~j03yM+2bFvE_O0b`7(ZvlNUnzR3b?y;!W$!S)vyPizraY*x5 zx6;b~^N72yH_gI_=9H^;qgwYZ?sghKH2H2Ye(yg)-wPzuvN_uqlzr^jmPpOO>xVAd z@BU+0RC>guud3qLq%>Z zKxz(_^?8roR9xdJODm64ALMp7z1FIwrFX5XYj1vS_4J?e4>!7YnwanQ>9JackEXZ! z)NU@lT}xYZ!+9}xe2jd!iSukG?;F50iFb^;?sm0msTrRc_lQI5|2LCQG}s=HIgiTt z2yOLe?H43mreAYj(XkKs^<;dzwHCw4d{wd z3~GEW)1>?SqBXZ?bmE{Gdw5*prZv3dWIIQPCC&~~mw|T`SQoheteK~tnlSnPHkukK zYpGY9+tO-c!!IOndL*1`7wtcdE-DiEhR6O>Ca+PuPO@Vv<=(Eyeyhs`?r$_ld898W zuqGpC<+6j>RVb5g-g?vS&OncuQOuhLgp_~l#tY`2%8 z8aj>fIs4OhP`TV58vnq!8s3{Pea{q2k?)u&r&?MEt{pU(e#d6f0yhc`S>7 z?V1wkYuNtM;YA<*Sqr(syQcFUL*r?&eKw{*YiN(R>(rQJZ`J*sN@$rmDND0GVbYQ( z{B)nmkD;{PW75m5y~h_l@Md}^B}5E)j!g}1b)FjU@cJJ~NqVT(B%3Bp)=Fu+Yb##w z`ub3@{{K_1$A~YFWZQgEe;@h()0FJbzeoLfP4Q(r2fC><{~imX^WttiYxiwQG?4e7 zHsdE;eg8Vm|AtwZs?KuI)^csWYS6}i-@D#Jd~n1IxG4I(`4>Z-9x zQ19)^ew%uAG#QDV?|c|e8uD1#+f}cNVNv;O^mX2!5uEkZTT!a*iXMMzj8^(NCG?t^ zU+i@i6dYu8*5UDgUw)7Vczs(n>a>TSnZtIsv+i6+-~Ar;Nzt#(rh`?7&9c|h?_9T0 zEsL!gv#!IxrteD&tK+mL`2i};jj~nOjy~$pt{*T%FPY?OesQ|8PEi%Rf3f>6bcy1R zT?fy;Ai5}+Qf1RryvHs3ffq#s#<-Uo?*`vDjrYyaJEp#H{h+yWkk8~`&Nr}!HX3Th ziZaRolYz z>#01^8j+(+OHjj4W$=7jrs{F-l6%TCR{qJXkH@Z=S(*LGN_g)y%2ZkfMbeu5)(QvD zOWw6SH@UP=$Rhe`0NaLHTR|qQ`@PSw(|1>n$V7p4PwrpaPfO|REw8#!ov}H=x!*V) zJnDbT_NvzRChhmzm%;N>_S%8%Smk09TV0bCir5NmfBjJ{{L|TQ&@oO4DW^A4zlH5j z$y=K}fwusjHqbZG>#3<~PPviR)cAaWcdh@I;=?$CG~D|Qt0&Tw@GJB5WZJ*S z#tV6CleO##k6e`)957#>7<)RUpFZ_I1WEf^yF1%K7QgH+t14FxRXC~2<)Z~`$0h^b z7be4{`-~(0H-d<)0vTEK&3-^j@TP2{tzgs_)WGA6XUC-I6#mcG>#-Eup1x@b>&w-0 zXSq@CFAtVir5BYSob8{3`GXqu)R?TD0lPEwTQffEtF9hug{E~J%-NUz0ImK%c<|1# zV|XtBn{3%M06zSnu-#4X^WC}XsnofyCu8+guc5oc)i&yK8MG=Eu8*BzPk#hr(~716&unfwnDb(K7p->Pb#S$7g82A^ibOA>8~u%cXDM`2eDqLy!hD%~mpU$~ z6LxB}qEyiMh@+nTT6Qq!h4cnmdTTzoIL*oXvZeGLLV_v`p?X- zv}cL6nWayg_Nx2c36B)u6Z?*X*h4{|*V}nZiO%O1$ZxFL8rc2)n; z(>IPCKmAp_R=U~br#RdG$~Eiy3HiLpj}ImPGx z-r=9I+QTVM<86H5NpABBv0qg-{gBs&qSmuJ3h7{gSmO;*8S(;8L!+9Oj-HyhrtYjC z*?A2`eb&`3yIAt4PuJ{s_1x8c*RH#IdG%!blL(Vs(}rI^i=SnfP)?55_odCKq6xS^ zo8>BfXjtw<82)5h=if>lO8SOY#eP?n>(<0vn@ zMN=D3CehgxlhViV{wYcj8%l~sJ1>7@*;cp~lDTA6R8wX*4-x>hFRxlYWDw1_9>{_!0!#v6FL>1kaLi1NZ;tz}~Z`kt0P ztd0x|_}A2I#<=gOiB7bhK;r<+fl@udnlXN-QEB?ZLfuYXYuAEUq#f_ttNvHaQz;Xu z(_QAg?&0+N@1X5b<3+7f9~!?n?Mgn`i3DVkzsDFOzjCESpe^)sR8L<61r-~s#y>)X zDAwPgfdth{`Y#u!+0}lO14_WWj4~(NC4R%yYN{K@jBaXcvSt0)&W8&9Z7(bxyOI{?+xgNMt?XC&dKdd*Ux}fvQquFrW^<;_Kis%~lkL<% zV~vqtNCWCJXT4&#JKPgtaj&8m(79jFor`70 zdz%qlbiCL=UF-yS!i=x`H7(%VXn@5A>NfhSjg8X#ACD@(UW&}WMqwVZo7~grgcDxn zU=4ykr)TvLogMHORu8e>YH6zCnh?k5i>W-*J~}>OY|tW8O29c;|Nq!~`#7!2a{YTi z%+WzZCB;O$LBv6kP)SkIhF3umQBct^-ez>j0Y+v}G_pz2O+|@rO7@Ntjf@P742zWZ z#=@dD79|-e6~98mHap31Z%np6$9JvcWKO5{^E|)bpU>x6pILK#*Kr@~yk6F|-q*eE zzN7E!`mWhqHm)ZS}#4k zqSIs6hDv!DrGq-%3((sGSQWG#_+!xqFBd)W7`@kHO1W))$I)tospYnH$nah-yfymr z+M|kx-nyPL>AtSV9Di5a4R_vgh+P~= zsZ5=FolrdV@>KU>Pj$PmSFeYD*6E=iFFgIQ!ssQ)K+8k<%g_1 z=Cgx3_3qWnr_D!}E6b?=@Kr=@-1Ve;(Xz!A#394g`&GtnMH$cRTvc<{RcF0cJ9l*F zVH@`x)8{Yc<*&Pc9qru34K`mHvyyfk#{V6y*q5z-b=n?Xo<6j1w^OP+_xjUY$5d7K z?RL`j1CJZJTh~Yjce!F%)%6n&>e_c^7u}34dzg1@b30e{J+_;kha6VbORu9Snta;t z-n!{`oF^Tk*J>Oy^1o}388}e4;qOxyIqvw{xyz^P`2EQ1*Scp_A9>TS-kSEyw+c5e zCe#DZoA3UE?!BC;m^y|nj>Sg(UX{FZcEkMUh8e95^_A0GX5KKnSBDB-)iC$g%ItZw zDlM&Z8RyMtoj14P{Rdnp*AIxl!w-`>w_(Q31=!IvbM}o>^b5JI4HukTuMb*hG*@O6 z?`f^fm@|8}a?Wnu`)X)u=7Y+~&BX^3=T4hFbM_4t#ho)-O8v~1x6Lv=^1;sd8mb7o9yN*~W?oHqN0hDz(L%?*Fo-?2RH z^{dQmsSKSsW$c)7mrNNkX2S5x#*G^}eB#IvZ?7NzO5?PaN|_N&^0vX%*H3BBZmnED zZDvykL;bYYX%&9%_wRkENN@jKZPH=>2{gM}y)s-4RyOh5^8bJOTys}Oj(h)sz&A9s zRE}hxZQfZzxciOD7d_%`xF>>gLYbtqDU_OxPneThwfHYQJdgY`G_~n)>$FU(P z?Y*s@T40OEh~0_vKfPymDmwWVtO+a^2N)BG0} z{f@dteW%Zx*;L<9ZtcqUDBEg!Lxtw78a`(HgppV1XI$PcR}C+BLNm2lYnVT?rIpgC z4a%*vc;bxa2@P}gb2>%O(XLOLVrh|7rfDPmKZT`yWJ@};UR8|^#yBk({i=9HeW-F{ zLxZ*#O*3yMDBfb7Ik{*MHkv?eJj*rrZN75L>d04*88zl@9Zm5Ht$kNi%v@*}T{f{Y zW<1mXXFm*7yzKJ-|52d-Fa9VH$Gcp|*5mxedlZ;%(}*@z=j7bB*r*hpcX*FiTC3|j z%an4AjJ`x^ozkuEDAN^(l+P4yRM0-shxoTymMR^s>8^Sw4{=+S)+!yWcR8@XujsuE z^ObHqLhtugx%j`zVWplu zn5eY+eR}7R(l-5uF7b9KrCw_Wm;OoTm-;%TDpJ+>A!WP;7nJX%tiG_+*D9@JejRRi zQMylQqtf}q%H^{{sft=Pc6iyo%_>w^O|Ml-dv(32)b}Z+{8PuMZIv>p8LGPIU*}>< zd|b&)cTu~Jke+G;y&pvnO7+grBl8z*?lm0Bf-x;68~@PTV(fT>55S z+LZx5wZwvH7Y1}Krec8g$jt$ccYvZtyTIorj~2}VKg*Z_&*dc+d`05obN%b2g3(sA z#T^=>zSYvHFKvgXhf=+&r0_(u2T=h zBps%I-=VQiOj{BEvcw+@e{K7AvXgj$bZs7rdHGF+qdo6a$-hw?%bNEeMqQpyp4iqB zliv)W?^2$rVg}j)rhh-Ak@xJQ!T%&?U>er7yF&l1SgU=(+>@h@4{40wJ;4u$ewdg6 z9j2W4dnO$Y|H+}(w(lc4i8n~srmrYJzfH2ralWWVh z<{Px2S;r{PJQlhJ`fBWx$ajJCXxmRGPwcPoY?03Tb_W5p|LUxSn4QG~%mc-jnE8z^ z2FeEaQi^}MnCin1h@)S9Ma(_{{b?}+^TJWDpNFpU#6Fa=byw$~AnzR-Z(v2xz`U?N zE@IvzW_v<>_PY$U1I)IJINQZz#Kbw702)YOwlBeeyZPSahhy2T zN;(|G<(9hsPY-mbRqBUF}~irdg=t zKZZv!<5;9k{~Q*a1{JFcj`nFvIvnkDn^=bdMf^vT2af*pLek-At5=f_M_bi+ zCrUfSu@dFvU53My7wzyNan$RkNy4!cn%fLsxm?IFGXN{w^K<6m@w}9PRvE`1KhaW%#`~ z+Gl_Az|o#Z%S;t0+lkDmfi|p&=ZndgcY}RJe22!N6kbEMMmXwqiMX#c;@p%xaK-w) zNr&lL`2SfP>-)FFQJ$y5uQJ5(E#=`oWsRDT@~jfGnIg`k>~u6xHaNDu|0<64eM|Dd z@0FK%-x4z)dlP8{n_ee%HCRTbrF6d!NCGkM_t z*1w)~IF|1QarC9_$pgo}=C?_Qb&0OX_c#isfx5s{pY}N|>2T;5Bpr_9x~r28U#1we z$-_y9qb@&BI^5a$ZWYJAV^{LPz3n-S6d7HYBgQq{CgM;U6nzJ%aB`9{73dO)NMK#DrscJ(+YkV*XHECoeIJpWIf;yl@=5 zzMBrL0UeHc`-%z6ymiR~M}035NBd7q9+*uu^G-`T+}ZjJ@o@9Q$pc5suZyERPbLo> zW%xnT;h6WQNryw67%litL42z;|r|38kirBa{fU)KpHXM z<=^?j14kK76m!gjXP9`t`3Z5X``;Bu9XE+%-|>vN$^LV7jf8>tFsmLhFH1Tc`@4DK zh(BN4+5X$avHpHq%s@<-Y7+Aiag^ur@YJ?nuc3X`OJ`lXL*q}9C$8n-S*V>l7M6194z=p(4(Rq{9@0_zg*iud@DR(&6aOT$^Ly zcnqctMR~-Onetqq4j+EKRkIi<56tG2d_Nev;!G8Hkw%<)arCR3lP9hL;%Pg%yiw5R}DFbCYSxhzI(a8f>tT!edroPnurliCDtp9V; z;Y%Fn#iYY$SU=_zfdg0i= zY!4+Jjy8EZ>F|LzPx^LotmFTYbU5O4qj5A;YlNduo{@Ao$~ioA#fWRcoy6m%vmK`W zZx_e9%ynW0`f6M=#?J=f<4W*Z8SupQay;Enud4ctbUa@XGgNDYV;iDxz#KSE*ddN%`&Yz=%1in8i5Zv|K1eD0 z8{+qy&tqX}pbT-Xo-$07PJ2=YuH7>f%T7F6jAx6O#fsW!L@>(c;guLX%y#ofy6ZaADbk#|dR=vV=7AH^|sx`tK+L7%Tvueh5&C+36UR~h1d5ar=}sZ^Qr^i$`I zb$KWqRRi(i&Ps_hTpVS%JbB=A>{%pcS>XRv^1zd=znpY9%KxhPaC_cL9{3&B59VY? z1AR5_X;GKO(&@(3<;n1vV>`25dbI6J$pgnR=l-O_{S_{p26a1+wsW{N7-&lIvj0sThif+9dl#S;bW{npL96(`@aznv!|kk74iGA;51M# zIJRSrNrz*(-z<)KKN=pjf18+NY?j4xaco<5BoC~Q3s1E+Vr;JO&^U+N`E@@Vhi0F>gsa9NW*&B^_ot;{S5e;mDW!qYU)7xK~OYd!E~VO?Z}= zvQy@HVg{z+-b&H$PdXg&S0o)~eZ>DWacA?h;_l`@BtJaTdVhAZ8psz8{idYDw4 z+ma4PdG1U)9Qxv2RzUKNm;Yj^!Xk17(IIuS(Kkx-@xR6?(0{ z3n7mF)+&zv#{FvsmRH=%?j+tWol`mL{@3uBk5fwgqlf692Fe4o??XRN9NV8daqP1$ zN`5%X&%JX7$`JR_DZ^6f7fGiKFNis|A^u?PIAVLEudE)}Zck)~qJi?jot5IhN_?z& zmN?eU4~JiQ#eIA7T_b&x{N&4he1>BCDQ3OE(_c(GEAu zIPrV{G51PmS4hmhY*;i@YlJBeac)mK9R25kq{FeEepRefiDKTLiDQ59oA4{&cs7AD z?37MjD8sAaF?VsC{|sIJc%FfIr`ENf_dP0RsMZKafB2?2`oj}q20U=o#6#SBctaZYi>P}EX~qy3LfIvjc>>2T=%k`8ldM0u`BIvoD#Nr&HK|HqOJ z$2xwuxTif2B@Y}iznXM7^tDNcdpOSKq{HF=MbhCD?f*;C;n0s9)_xo^OUyt!!x8i5 z&}-YDYw09zlTO|5(D*>|#4|5=HcMxD;dv!IX7YJR<9|tyKJ#Ysz_BelcDRfhm zyBE(Q;UB1-QJr-B&Fq*oRBMFmls=?!P150Lhi{2%?0G7A;4apm79Vfkkv#B`*8iMz zxR>>#MhP@f9++(%<$O=l;V8qYNrw-Tm-3%39&Bz%9ypG*T9XbFle|8fbogAyS(kJ; z@_JGnF@KyqaCn{($GOR`#c_`FO7g?8toJ1y4!sjQQw_8a9Qt9QYx&0WW-RN`(%&mD z^|~cI=IDoaCLNCb;Jspv=RyKwHTIdquSvSg1H@f{flMjm-sx`t< zhJQ#p9Q*n&h~rpjt2p}hZ;~IbQ#{Ic;u!tYP^}TBeW?2>Nrxlmb)na4-zTQeQ08Ug zXty7V50y^*E#gDWzZ5f&7aV2&lQ{O#Z-^tWGdPjafFF)^VOY}noW8-cZ51XobWx0o zQuYhzbxIk~>y)y*(8nufK!+(O`c$P1=u?%_58-B|oIBuIqLcw0j+iSDHK4Ch8uP9Z zQ%C0App*g62BlHX9byLb9ZIP${whWd=y1gBCJxWQ$%o;eLX=ZD~+-Xf!1Nh2O)qv?OEmZ^NHZ)BeP=4InFu%2`-~lDh zor95ZXABrrHDJb^S+n#Vr>X(-TN`G#Xs+4U&vAhHtpsnMXr4Q#xv2R6%YW@OJVH2&ZDycml6J}}!<2I3uDQ28(74b&v-SoqktPbe+L|L}3Tmh;6I>mtVR zad{*defMW{?(oI3Pm({Mu^rQ9`fc&rv|i8iveZXKA11wABl&Wkz_4$uuCJwv5RcEN zI;B1gw_j1-&nc%$55AciS=VFOD&IOj@DTW6O$YPQ;)#0BD+z%&>$6xfd?kM$y!nXqbEo1UKpJVZRw z)T~wemB9`zaONitc@g_ijXB=-#nKTyM7)^(d+9-Mi$J_w6Qa#@n72E^J_ay&+IV$F-^zw!_0qghtF4Zm|m@Eo+W={8Mo(2DoC%0d0_>G1jII!v$b zFuhsR@r*F@@96OPE=}`%aA(JVL(@EytJS;6?+E41v$ZdJx{@{m)c@=b)5A0!&%2Tz z?;PRT){8v5UzxpY1UH?;WN)u`+m|KF4;L zKC8p@@D9`0beO)e!}LcxOfT**%{xA0ApeIuOh2ya6+;MZ4UFl&ga@M{>1&~us9%+Tr59L$9-S?{WTr;c$vPq zga2AhbAPw5A3$vymxB3bFX8SyiE7jH1`h9(|XGE`I?S_cvosVu4nT( z&(U-3x>cVseXFLqj{FBte@fFaF#i`d9oKvDe_PXB+r3MlF}+#ST$lZ$r+=gAsdc)a z;`01S(=ib5khIHY`rRF-PwOy!UWe&RI!sU2bX-THJaaV7HM83lo9VkW&9$i)J-uAh zT+@mE^O&Xwj?}Y+ULOCZY0m2(wf}dT<{bM3fBsiZbN>2>Kd+kBI%S5wusmlL-=e;B z+We|!z~5J{x@FqT)+yJ|nLB0ryz8%Tn2Wnr-!2~8FdMAbsl=_r8yjZaSbTq3?|>LH z0-Y~2V+KsHSN*RLyQ^ zsGrg@?dFCl*E89ow_(hj)-<$r0xzu~xXw}<=1#F*zRRL0NPOPZz|4R1x!#O0Mc*54 z(N~MB#N%{6G;ZFk>1C<-P;cI7oicMaRh>~ar)5g>Tuod*rMYQd3-PBl>D?4l_51&;(eCG8n zMGI?|<~g%l8m7#-k&kbgdHu{w-H4iV9^dROy$!7`Q>Ne6Fn3NBG^=5jK4y*s0gA7H zqi|ZMW|^xjn{TZm;uNZMb4R5PaOWDZnrJOZwMk<*WsTNmJd>UQv z$%q1~p8BeK*_6$^&qRfuRo~u6oKJkz(XJvQ&1f#)eWF&JadT1VGosK_X3v?z8d23c zzgQvE?QUY8o95{aEJYof$28ZE;VfBd`?AXFy!yAr_kx?DrBZZxt$am?W`Pxqp)y62ph)&o6lZo>`wviy|tZ7egUchsrg->O<=TmM$QWv(tH zOu2sM?3pc%2jb9+=QOwH$24D;FTO2*z%@gw-rT~+@}DwyKC9DQwcNDnO$`TJytd%L zgcoa7u{MpG+t6;CF}J}hd}`d{MGHlxrLnH z-&R{qG-q~_wY_W5_9j;4_V?Tr9p^yTo6$6j5dpdR7~ zsXuF5*r8Xkd5wBEX>*&SH&2^!BkSbf_C@9zIiFDN8(D3+56n#uDC(o_{M)wI2SnC4 zEy@nt@%E0YYF}Th*<}X2j;BSh+#oI$X9vA@Qx+1>`+KCjkDRz;Xy<9Jf*NM=r=dgRy z8uIqQ+PR`ckl{160V zWqT!?;46n-F>y+KCfY3c^Hsmv*9my)2Znd!FsWqYPeawa*Ez3Ro|rJ2d(N0b!^m$ zV{#2`u#TG;7Qi|tWSF1y)}%MXp0_D+Bg};p4fU{Na!(;*cGWRja5ZdC7uYemND-d> zI>rl~`zfLKOxz=Rx+lF`(zzcL^X}AfWyIW(czfb)iMJ-+l6W)hw%P=DDeJy5=^K*1 z9(H}#!LBd&B_qy!`1mqTYtp&b8J@{HPL6pe!7jr@*zw0F5BGn=vr5O@G4IO6+{+Hn zg2cSvA@r)ccIH`&&^PG3qSHZTnb#*?2S**@&ZVb2thfx_lHL_|-FaRm{LA$mOT<|Q zJI+%0#xl;5q%Tgq2x4|Pzoo8k`seKumb&eHzHNkGrM%ek*C(qQRPfk1u z_Pi65pXY))4Jz~6sPnssxdD#8k@Tss+i-I7@ElacS*Mev@T^U|^PF~_XYeAgMM+PT$DTuVaIPv`U2Qxo1Z+baF?=dJog*C zZ=l%u?uDJ#9@u5ro%CHv-zgn$pFp<|P*fCeaUYA!SeR<+#u-kAc>^58ik1X4N zG3<4j=j|i@*yI_VJR_2)E_rx{Kjz)lU+m?(6LwxZV3&V;(zn4b!&cbyZb_cau;<+b zyIvb%*K0%auZJCT9qi@1HhI>-j=36kOuiEl`qade;l{GvCMBKkS%iPbY3;l{@wUWU z6Z1Wen0I48vFpA8c6rvruH(9-uTA}~G~*yULcyY5R9FG;*8@xsJyu(!PnlFs+qq7Ap5)SlN?*yY&*JKxQ)%fAU8 zQI?GZ?U&~>tN5j7It0MBz<*a-oX{+sn#{{h|>jj93JosegBE=`aan4_a@#0 zyY9PTmu(m9m^+hyNAhn^o^46rnsmN%8fEU^Q|vO-!j9i3>6OGi6Ze2!w(hXozgzNj zO?ox#dg&){4&=pyouThnj3~pt#Cze+<+9rYcPW{7qeZ@xj&9c{CLRsDULz9MB_5J^ zFnmxMe-P|^2PRMdECwVG~dnQj0*fF~&Pq)NflfN1sR+gtr^6)@TEW71NpV+LS!JccRlNUUuEYF6VC8eQy`+d3VBE zt_(Ypz8&_w+hEVTHR)TDe>3d*Zh{?iBkXxMz|n3;wDVrr{ynhEwi}Kz!|wk(lV=C) ze7D0<=EPf*e+%rqHp7m;33eRbof4k$dZ;6KENuU1*m;deTnD@SLty7M7vxxg3Wi&)~#^5)Vw=A9ftx=NWN$ z#v}6G0mu3aJFg~KBSRzXwyID1)TA$zFXFT%?hbps(B|jBdLcZ(WZzxoW9Xp~X1){5 z%s0^7U+E_Evr2cE4^mlvZ*EiipGiMNpAqvL(%xyNycIL={5v)AAT#eB{Fs@#E;Q2y z51MHk-T_E_+H9QK3Fh5?*O_^5-&5ut(%($_A@btK!~6GOmd|lX@11zJndNz?8V*0p z{GDc&`FqWS#1qW)mw9IT(dW(duMKA2z4xq{{`f01{qc1(ef9+PZStirzu!Dj{F<4* zf3VgmJggJPnpsy)Fta|LY-W9$VrHG2AG%WBzegO_%b%L7l=joQkIuT=-^@CFp_z4k zf|+eVy_t9E%`~%}xZPZAKeSyU<_c+tnc3d-HuG-0ab~tjSDPD^UT0>z_0MLuXJ1O5 z$IWc>{w3*enAwiLX)d;%+Qw2IwwH&P*^VAU_(n{& z>x0ZcRyx7VwtuFX_ukDhvwwKRjQ@X`*@wJh#{XYt_A}Mm?~oVz>1Ost=bG6^4KcIt zy3EWz?b~MdbRD#qjd!b=eeVy=?3150^ZvQ# z&Fr^dH}lRp-a$u9_WAnFj)K|Gch+aTDws)3! zas0K^%yHQxX5LG;+stv?D`t-4x@aR!Iq~ogI+)|WW6j&dCz*NwT&bI`6E*!#T}OX3llmlIH<4=R>Q_ z8p8^X+RRgCuGwre^M18g%v{%b)6DgrqjZ4Fyu1gF_rk$k z6Y6i~TG91pt|5KJ%(bO0X0AE?-psYAy=Jaay>8~()$u9^@wujTwwbbxFmv5&Y|`t^ zTqnE1%ylx}1xFmNr9Ecmy>yT0x*s~%+rDk)I@}M;yvwb4Z<{<^t9w1^hgZsZ@$@ot zZEs-GKWFCp-zGEH1z$~`eP*s5Uf-*X$u-3mGuImLGLzS5%v_KBM$*4+-Y5Opr2opy zb&#pe{fwDwr7M%?pp(jZxt@Bsnd_`)nz{Zu)Xe+aE;VzFc6!oz zCmU_fb=SSKVarvZeKdN zjLEg?Z<@J={XH}9TKg|^oAeX=mVWfJ&0Gr~ne?m7TrY1(`s~DQ=Ed?XGIOo{{^WVq z%=P%+CH+6l%cQ?Bh_E*}uf63hU>uKhG;2CD_ z6P{=0{$Y!m`-*p(x!-uVnfs9Unz=v8bN%GSeak*(?q{B2=04~7X6}EEGOrU)G;<&I z8Z-A!C!4va+G^&$>&ML8kA2w8yWduuxo7)?d8_y*=56AinYW91cN}HjA?`V#WbPFY zFz*tdVC_`%-kFQPc!d_d&A8A@HfrH zeR6$9zT7|OopLbu*!!Bf_ukLUJ^4ZARpPPc)#B-9^19#5{r}}=?)iVo%(DPT4=nTI zd4czsd5&P9nRmjCNj%QXa|hR&c^+YA@_gLPGYiX-{zWs-H9VH|Z<~1+-G-!(Kcg%g z&qQ2j=2?j*GtW@8nRzE1?}($_c+P@pm}fEWGxIFQcg#Gm@gpBOvk&#k_+K=DC|Mn0b%gI|r3I&*t#s(1%Ftj&|B$(-^aaWDbu-U`tu^!f*LTf47xu2fWy~GoGt9i3 zjd!(?7tfbXNqTGIWrx0bU!w4ReJFGWnSwkubFb5ka(zhgFF+G{txDbKJ>%=ZZ%HS;}#=goZo z;8ip8UN^eTi|;7RH18MBH}l@6g^BMo^IeDaX1)XQx|#1r96!cwCGL~>Y%|}bxHjnz znEAfNBWAvb@hvmo&-kI4?`{0f%=bC|-OTqqcy|-+&-Xu$zqn++BXXjd?}!XA^Dd~f z%?rivPr7yuMI1GM@qSri!dit3{liMtLE-6Dl};dPeWJbfzEIGE!K3W zivDRh$~qbxeth`(tv^P%PATtLfX`9N82UwKeoOG;#LePPy^E}>K4%>buCe~Gb?*7M zYV34U>0f0X4X&|1A5Wjsv(_FoxW@WMJbg>gGxngtHP(0G=~sHr?_Aae4X&}i8_%hw zXS6+NaE~Mi$~|&3^&<>2G>}>#rj8--ex{b?anl94lgqE zTZQ{lzMr&?21ma8@#y@X;S2Vl!8O*a#GP~w&G4{2XmE}7uUqFg3?EC}Mck>P88vLQ zjs{1+s>Y*pUxpvsg9g`Ff6h9;yVzA@C!I$!{K`5STw|Sge04gb^z5_;4X&~NN9#PJ z_KKO`a_p|LlgvwkQW*p9^R1>efuZ&puy3%CnwLZ>_LOWGZl~f`Ahbo!O{O; zwa#x;zLt2O`HNk24_X|3uS(OD84ZrU*N8{wjSMH)g9g`FZ^GlY>T3@g9BtT~;#_DC z8XR$2Q=E(JL4zaC{1j)BJ!o*mS&-sPvj+{1IBj@zKFZK!4;ox!eIXv#@zeI8!I9S@ zJg)ow_MpL$7i~@3^1Gm4G2d{ow)xDfb3q0^!-EFbSbxm=_mwWe?`^^p*3sZtUQ6+~ zZ~WLEG&uUkGCZ!=AM8Pcqh8DLxL$kgL4%`SD^i?l)raz+P-9yB=Otit2+ z^tJ~LjyS7RoYU+ z?r3mqTjq^MX4()TrQO9acQ#LgC zKppYKa8I|HsxlE8VRzmc>bjl{8XTU@ zc-%fW+Jgp1`)tAE^4ww%8XV=MeDs-Xm2SoFvOQoO4UT-bCC@s0(BK0eakTks;ZX`l zn{UVCyiPc@ECU)Gad>}Z)bV6{(BP=!PCV`dr`dxBM<1Au{+@DqHQ3Xvv`%9jcimte z4US`~xz^j1wk94Sj(Kmfjt0lPqw%2BkoiwJ)I9L zJ!o)^^&_qGJIrhG4=??_tfRp-*4N>2-xy#I8XSG&JnQ@p^QC5fdwD(cdfCmejt0lF z+mJl1_MpMx*@(w|_#^h9!LfWd;c+=XVGkM{<@`tM{EqZy{I25{tfRqEcYL(-kCkpo z{_j{vgTqh#@$*~OTk*T@FIz{0qh8yRr*lm?FB%-4v#fteX-|!vMwQEJjCC})#(D+M zMWttwJ!o)^^*(q;m!5ii(BK;Di}3U-Jzuj24UYb{)_Sk5I$jias+9iq*3sY^>p!s0 zZ(08+G0zIqZu}1RcJuF)zG&X3bcx1j&sVIY!O>Prljkja(BSYa!{femi1H&}G&uUw zQP%lQ@8iwXalFQ8lNRe}aJ0!?)_I2c9y8A}f6n}%((jx3E$)dLqh8NgM}woxlalAx z_MpMxnT*HvdeI&y&M(IQ)lensz{g!#`0R_5GSXXmHeb5*{z#Z`*?g$8w*X zJm0ei4Gzy#JY%Yg;n(({!8O+F@mySbcG-gl*H~}Fb4ls>i#=#?jrArxV@uDQ_MpKv z)~k;w+hnNHX8f0y{%+RM;2P_#c*d2Up7x-@HP+`R&#CsH!QokuJcI2)gTvE?=dv=d zk@ld$HP)}Sev{IL_%AK}jn>iN1Le2QbL)%nd)xI<>u7NFx5aqe-xk?}21ox{k~~Z8 zL4(8ddFwn&zZAdsgDb3~!Lc9QFOEKW_LO0&kV6n+l(-eQ`(<-CzRzM zWgQK!u|6<)#@mAihi4F;N*U*a_MpMB?B-f;Q+k(qiPBG)muuhgk7kzdU}BChV=l9f z21ol3!Q;BGwFeE3y6+W7|DSPWxh&A&=>Iob=erd9@H^(s*3saIxgU?0`^W7;gJZe# zg6>Y0viuL)g9b;NthUZ~CBBjP33DImUBq$R^^|oqIF6&L@wh)fV-Fe}{rp+$e9xn+ zIQrfW>u7NFt8RGQ4!i6@gQFd~<8eQE)gClB`bLlB*>4XT9G;$d+@6Q1e5@~MaI|Ly z&+xK6YwbaUqaFGr&-?5_gTqschZ{{AF0cm;uCYGc`eLR1@q0ZTXB`cWwi<}XZFQAB zXmGUEAUtlX8TO#T(GG)?XO=x^aCnB`aa+x^2Mvz4s>90aw-aMYy8QwFM*3sao*8)7Q*KPKo!4b0!PyaH`r|dz4;~v>R zTK^}dpEdKHC#ESUypT9om2n=jjt19QUuFI4N*5*nvr?A-M(b#B?E5}y{Xxz9DcI$_&-yZ@ zpD|B6Uf)?ZPZY0BW&XT%G&sskIVc<7nObZ9xzg{$&g%!(>lAZciuoh!XmG^bZhe>1 z^~wKR>u7NJ|I>O;)o}yMiIAU%}aSpc!4URaQQ=Fsi zL4zaC7CgPn@|kP<;h6cp z+amM#m3}Jm_7w9T>u7Mq+>t!=McNGw4$n&K^oOsQ`5xrglD?BTXO(qaYaI=aI_|>b zIzC|!8XS4;#^bhq+8#7G+IGA3eMzr4)%H`dYMIG5RPy}F0?Ysvqnbu>8q`|w;` z#+<2nXcIIz&i(h}xuo=b)E+cA&ixlze?TcOy@+G5&ss-=yDXzO*V>=_KZLUwX_s z8XWy(a`HT74;mbvsd(I%eryjK9DS)CkNeVZ?LmX1pEM@VUVG5s@HF9ZUwYFXG&uSa z>kRANyOlQMcO8$kjs{2hTa%|^4;mbv`FLE%e)gcjQO5;%d|q>oJ!o*8*Nn7&iPF(# z_8o1^>w57S5lk?+zJlX<8Y8XPf~B@cDOg9eA^dFwlr z{@VO?rOVU2e8#+JaLhYU*U{p9bGaA~8XV`64_UwMMD5?rFDMXezch!Gw{)5sX8V{^T*3o{eG1if~7r@sjs{2nAC1TTzpFiHaPvCtkgxW@WqJl=NQXAc@2?Kw4hR@j3E zhv$3NspHe;VM_na{AZ=lCax#u__Ay-SVx1SUp3Hk-n=P8|^ z=Dj97(%_hP0Ur0&IrgBzvE1*s{)o~x{FBReUTqx>uCcyO9PRv+J!o*$y{opDu?_ix znDV2+u?>0L`j3=$(-`G^!a5opI|&=~V>wT=eI zynC$gSK3o!`2S)Z4Gup(;&-d)`!yQjvy@h(NBbON9Sx55Innx}Uiv-)elMdw*3sao zdo3RCYfiNX4UY1VH)VKGX@C4vs*0gb)97e$jrD7-e@^K@{KKn?VYYQNIF17c;c*}M z2Yb-q=o`zdU#Ij-=C3MUW#;`D-!ZqS?iaA1v@%a0y zyc%X%M}woEeAN0~O7Ae!o{PWr#R?jJ&l>E|i&<97a|J!o*Wb3Gon^MBie21h$L;&D44rTS1#G&tI@DS1w@2MrES zGak3?FniG8Xxmmiu2+LSXmHePJ|5R=wmoQY)N27A*Xv{UputhEHasrRJ@%l%QJxLr z*k=B>J!o)jGx<&lZE}jzjrd)*Zr0J@DBC7H-fkRY4;mcXjnl0^sdS)ugwo9^{`;(> z!4ZE89@p!9d(hyh*TvQwly1fE{yEt?8XWy?8y?qdmOW^2%50&7k=0GG3#h>)OR-?w>fRf@u7NJcU$kJwtE%UI?C`@>y6SoYos0EgA>2Ye6rF#DX$*Z(cs8ykoD0@ z_u_Yb&$W&QM}7CDnD4g-4UU+XTfa%^#Kikk{A;YE!4bbob&U3$VhM@nE#_z-5<2kfCJl@{E-ySqLwznhjXt^?svfX){x__5(>m3N-{oiD zQf!ma#8HN(6!Q>!(BO!99J;qxJ?(i>%d$De?`<6oj`*!9eyu%daKxXV;ta9}4URYq zQk?VbL4zaCb?DQ}<^CaiZdbZVW9(bsrM^Qupuw?k-HgZUOJ94?;8St8>|$QG=RWIbaJ1*{hu>}Tb?azww8?%vuKUyW zpusiPcZ%bg|NZu$!8N0*ih=zt_2u1l-4b_Cyo)%#hJTE8G&ru|@5bYMI{oZHgX5mg zd##h#9{d-TWf)-{4UX>`)QhA1AF&4wj`BC+`A`|>llGv&HP)N(IIqvyg9b-lyYaY9 zPCVUxKpGr*ooStS*}X6EQ1cr~_YlYT%Pz5w2FLxf%dPKIx);Bf^^Mli;8@nTTYpgL zKKw4{LhER7l=B~x|Ng|w6MwP=$$0|KCad$I* zK4V^%X;+O=_mi!o!BO|qlD`}NN?C?8tfRqE_wnM0dA&VoaK!wL^~vwmwVK3#GQX~L zjmFsT@3D>s$A0H1%}-rUP`VcXrDfTUwT=eYSYL<7eW_v(8XSFTJsz(|1MESAWBuBI z$II>ld(hxmcEizUmgU)qzi-K->_>y+7;F2BtA*{-vW21nWU zr1&%JL4zayUOaA-o9sb@qfN-0W%q>AyUm|dx{rBXhQ-#=;3&g>JZ_)+>_LO048$V- z<4PY)TqTb94_ilrBYqb=j=$O-G&tf{Cl7TXFEltj`|)W1%y97;r3Vd;epn^$RFOf$ zmG+>)u{~+D&igpKXpDY4*E$*;{k9s9+weAf(BPZ$Gj$zC9QQ|dTStTA{>Xn>$KO*N*Bjrkjt0l| z#tNPZWji0Fd01X(a9m65lRSspg9eA^6zgXy?QiD3A=AXtA6o>yc>u7NJd&oy!c<<>d z{N7HUWE~BT{6+xPvyKLbf1GvRt-2P!+v-Z|XmGUEx)k$f zd(hyBd6)Hjm9EF{ZPX{NqruT9KWm+`f6mOZ-Xf0Wa_FG4t+_?nqrq`~{x<8MQhJAZk7hjog9f+S0Se9yB*JLU#_we`)H)g*?LP#M*TIYI zL4#u*Bo<}pr!v>!*S#8sE3Ko!@m%F~)^Aff0>8^J-8vc^Wf+a;v@&L+J!o*$Yi#n+ zzLWKp(*NWf$q+%Tnj(##9&y+IXbL>Hb_LO0-4-U#2kb$E!!yhJ%}SdSx0ugXc@`1J?T?Q(L4%|H7mH(i^<{g|;MiU* z!J~K#PuqhA$M$n6p0i5NGxngtv0g00<2HZR9yB=G{5^xqa`K++Qxf+xk5#&hIIh=e z*3sao*KRy6&pGy>!BL()Db5AO9JHS7CwY-pl^2q^~!B zPwBrV{U_$dn)d~BfAO|dp5ItUgQGm#@#q>G!=LOygX4bae_FpyF<(!-gL!q$gW)af zXmET7;SkM3JKU-Cu*4^rPf}Vjuh4uuiRtCVXUvNRN11ow8D8c)${sX0w(Yy|+){d` z+k*zzSl@%k+m=Rq(BSC9d-1qDEE~#$21j}JB@b$ z4UT28!uo2ZUGTeXU$l+}N6czGSC#GXm_2B4jrDcbf3CD^@^7$?28aI#)}K-OQ}eOs z>$unato$#TE7D(s-RJ+?`VrDQYos0E>cll>;&h`tt|LDDXmHfAd-6~YJZNxu`dTOE zAlT(O*ZQSOFHC$<;)~79+au-0JmiH2M_%>f*rt8d9yB<%X^nWifBd{XXmIQwoA7vl z^d)=H;MgBE<8dGUsy%3M^x^-o{#T`&G)8;=**Y2=Y_IvyKMG zygjU6r1bd2eaz=6-9ns}vQG}Ojt0l^+g3cT7xPdCG&t(D4UhW<`Qbr>qdcwRSQcNh z2Mvy8F&~eY#RhxO;8+%0tn+&g&zdJ*p!XD+M~MHDc!9Xnhs!$t)jAqnW4*KHq0EDo zw&8afPO**#M;R94aeo+S4;mc(VVw0Br1QHG#Gj>f5%W6!2d$&Q5q~ir$G^cIG&tff z!Q_LO$+WtyBA1d4D_x7N{aczGU9$(vk)gClBuI;bJ<1)Wt z4;mb0e*cAKIr)8xVTnh=Gs`lJx8AI@hsL;{IKes^TysU~$4A|X*;8X&$7r*T2FG=b z3Z9AOyo>BXgX24lpSC_-X&;So%>U2U(cn0quT7qZ>_LOWvk8yS2fMw$EHfG$=Yu`0 z_f@(XzuWT!>u7Ma=X_LNLpS~T> zHKpf6_MpLW-ns+NwWVjCJ!o)TFQVKmyPqlDiQnyWmvuBa%73r*2bA8Qco*}!{Cq}C zG&t(D8;|St9edE=sMnt4`Jp{%aCmlGe^u%2b;|2KWgYK?mG7fU?@s(F^ASU}ekOj< z{Djgj8e{vp(mEO(+t2FcArJCGgTu1{-Q{`Oo@15oro=xpzo3+nIKNlQ2>-iMM!2GR zJ8OjdDeWpf%6YJLG&su8EqSOj^P<7w>7G244-Xm~o*v0VIq;yt;W-`M^*z&`Ym~k( z@ww)QlnzOJsd>86o++>K*3sa|tCBqAL3z;N@XSPad7AC{s?wIkx0v~Dnp@2uQ_4up z%}PIOUaPcE%J-kFqrs7HZSqi0;-JCd>7P852@e_^o+r^={tfp0Lg~OX@As{v!7=Zk zGwp;JCy!9>3=Z)Md{!a^N-fi;D|W{Pv5FyU>@>CgJVBfho`Nu zR2`$d@u0yq)_Yn%Qt1eN*6CxV|0L^ZaE zqkn$E`ZtwM)fn|!X&nuYde!4``5&9dKSOZ}8K_f*;}J?eP4bu>8Y*owz>JlY;KIAZp(K2YiW8qZFs!wK41?T9LsKDic@b78XR#xjy}Cyk3MV9BT9E^jB}zf zBg?X(!EsLX0qf05cjI@TpJp8mj&|FF$L)55J!o*0XTJ5Plzt3$-}t!oHA?SIyfpDj z^V3TAro6sv9Sx4W_9YK-X@4|0Je$#7hOPGOP`W?O`%CL+aLoIn^*<}+N0y@QyR4(Z z;eX5eQKPD=-l385z+I%ryoXvxgJa(A*59MFI{A;Wjs}Onm-SPXcEw*&88r;Hjt19M z3b|^$^#-LA%-1Nr%FH>cddQaj<&95l^x_O<_9>hGmtm9MG(cn1e?U_8kv_LNL zSq#SGW$_(*(BLTl5IlX$y#Cc5G&q(;9iCH5&sKZT;JByoJL~r06q82;PE zlmQJ6e+7@1%O~tXgJZe$!QBmU>D^ILvjO8lt#jEmLh&A(Lo&E(l&{-M%E8l%mBY#j}bHhu*S3ir@X@TZcN;qcz)ux#ETLyNxUraio~lDuSvWv@rJ~k5^qVoE%A=TYUZj= znr7&#F}O$KK5%FK(=bqDur9M7;L(Y>tQ?-HiTR2`=<^dVOuQuV^29|ybQ#treM92S ziHrVb|IVZrea!m)q*v1>*1IRJB<`PhaN-e($0wc)d%Mw?xHWNG;>C$`e^{CH+y~Yt zJummINzcoAchdJI?xK1}Ig8(UbeZF~71d0|Zy$zdQ1aI$9-DYl;`+qRi5DbZlz3_4 z6^U0TUYB@d;w_1{C*GBKZ{jM|HR{zhagW4(5)Vu~B=P9P6BAEO+?05J;)RKqBwn6) zRpPaYHzeMicw6F~iT5PlpSZe9dpmSbTuIzN@!-TG5|2+jIdNm+*2Haz7bjkpcxB=> ziPtCIlz4069f@}*-j}$`!R>YLmbho)+Qfqr*CigCnBO0aepR2iIq`zTixMwQydp8b zBN#FHZNFfCS1))=;_ZodCElC3>K*O#c1_$Pai7Ek6Awu|I`PEBQxi8Oo}YMO;w6cf zCtj6!ZQ>1yHz(efcxU20iHqOh(>lOVeMoydbWdDK+&}T)#3K@qPdqtsV`6@rFP2wZ z;>C%VC0?0$P2%Er^j!W;NiTj^&iam|?@qigahK}$@^nkwGjVO=L5b@Uk4-!&aedUYvMY;+2WlBwn9*Q{t_OcO>4Ocwgc!HSKlpmbho)+Qfqr*CigCnBR$uWmKQI zIq`zT#qY#i#C3_sCZ3eIK5=v61&R5+v&f6zH49#mcy;1+i8m(Rl6ZUKU5WQ5<~PhDuda!U z-}&;gD1L9tT>S2pnctL(c}FLnn0RX9ro{6TFHF27@$$s{_EqGyHt~kUn-gzKyfg8h z#QPIhcWaN|J#i&*|HOk6^V?xjw(*H4CvHsKnwa1Hig_0&=J&ipUzvDK;`NC)CEl8N zN8;Uyi{JC|a_n+sdtSxwTUjrDf683^K9rf?XNs~Fzo}$>Y|-w6?dxwHuaf?&Nj0tQWJ5<$_0Z4yEZ6)^-< zY_Z7=NepX%n1q6^)krDDO8X$vid%LYDXrMjU255?UEC5xiY>ONv|>wFYN@3ywp6KN zYq`(&J@fr0UxK#Xf6wprd!9WnhIyaQeCC`pXU?3NId?MS_^{(+j^A>ebyjbhLmVd@ z7dW2exWaL@<9Uvo9d|hHbiCT}ddHg_Z*{!g@gB$f9UpQWet$&UYWN)x<;)?y+n(ci zl;eEI6C9U1p5b_|;|9mPyWjR5@76b702B>>UfvqeU1-0KH~VeeHLN%NA&wJ{3mi{!T;aIdG2e%>GB-Q!aNOy5wPU{XWb1Bnyw&k`$9o*_cYMh4 zQO747XP(`gSB~RRj`JN)a9rwmhU2-88yvSfzRmF}$Lkz-Io{&mc3kCnj^jGVEsmEtUg3C+;|-2CJKpAahvU7D4>&&Tm~Z{q z_P*sfYecWkcZ1B6a9rSclH&@;)sE*mZg$+^xYO}!$Lk$$a=g{?cE@`h?{|F2@lnSo z9A}=>yS+J%M>)=SJi&3P;~9?UI&N^>>i9OteB;LIe4XPi$6Fjf>UfvqeU1-0KH`|~ z(O6!wk-Z#uJlyeU$3>1OJLX$3mL}hGF|Kpm;&_?k6^_?9-r$&TvRIni9PeFE zG5=x5#~i=qIBQg|e~9CR;{wNg`^3_(a2$TuL(kpecQ=&7?_4N{-;YoZzulm`+NHDJ z@g~Px9dCEM$MJs0ha4Yue8Mr`NwICoaXiX#zT*jw`Syve%Xd$V=Q?h1-0Ju?$EzH# zbIkWgEX^&BA9cLT@jk}~9UpOg+;QwZz3Imt4|hD;agpQ6j;kEcaa`xP#WCLnvF%#n zc#Y!?jyF5r=6HwWy^aq!KJ56INqIY|99FKCG?|6daQpYnK&vo43xYhA( zj#oKe=eW!97RQe|-sO0o{TZJlS!T<2jD&9Je@L=6HqU zHI6qp-t2gr;~kFoIzHg|u;XKn-*TLl*IN%m948zXIG*IV!g00Zd5)VMcR22JyxQ@4 z$D15)b-dm29>@C~A98%u@d?M7=l51OJFap($1&ejurjnbUgmg( z<28;qINt1do8ujh_c}h{_^{(+j>GQ@^oxZdYfNuBhd53+E^s`_afRdXJ?EMx?-sXh z58wN(I`7&xz0>h($Lk$$a=g{?cE@`h?{|F2@lnSo9A}R0El-Z)QI7K+PjFo7c!uM- zjvE}eI=;>ED#z;_cRAkTm~SXp9qw|x&+$RWM;sq_9J`=5ow(!Sjz>E#a?CsBtqfI; z=Qyr&+~Rnd;}wqAINsoRv*T@!cR1eb_<-ZXj*mHh%W+nI@3!!*fgm$FE)tFl98Ypw z;kerIJjczBI~;d9UhR0j<4umYI^OPhkK_H04>>;S_=MxkalPA{<9L+ge8&?UmpY!| zc&_6H$E}WUbG*v&I>%j(w>W;(@h->v93OPdd){rI^1gNB*oD0ucRbv2s-t$%hie;B z9jWn)-NK7m$5heP+xTxroOC}@|C6`@NB%*}6Gw+x-qcRAB zs4>a^LF_{^^@cjyne>YjLMcC%6B`tp(!02al5eF4cOT2o7#NJq3;vMaAszZk`(<@|AQBl#vON&yMomo~seM<3}*UX+)TUI{% z>KWI}nN~Yv`kZMsWiw_^DI&pZr`61!e)Y^Lc{Ao-EZb6?hj`WWnYN(zsT6>6r#OcZ9z|=qWbM! z5EUlezM_&;)1;m?q+FEp%&Aw`Sh_7zL6_v6IcNH`+No93rd~PwnyYH1I!_g(9#0iY z`U)2#R9snGT{fp`N?x8kp%Mo9)si=vg@1a`AoGMw7Bcl%!V^fB#$3*BvE?#dA`^kG z-PXrbDq2z|JSmw7cr0x^D@6N{On6>mxl9{n`lU?r7my^+?o#jRxg7X}&X3LAfa^+)|p@5*#Tgi@KP(|7V|eba4*KE0$1`!7pF z7R8KR2%Lb4hP0puy5(o?)WQ56O<^ znSFT_BE|tnUO6&RR@-NSu_D=t&jT7PJ&V8Hyx%D)kRE%eH}pHD23YP(M*Ng5m$=_k zEDsO8o&@`arS6H!^6Z`*NGVs8p)zOt#>zBU%JW{CTR^AXl**KpiRHC2x4`n7Wm+Lq zyG$&zqB3dkS0+zd zNWcLnL594;bkN{z)tQ-RoO;k;^GwFWK__93Oq2%=&Q`reIH0f+?vn`*8l0{A=TzrJ z(khdsNxQ(023wjPcsRHv{HsiO(BN#`l>2KcE zv+bcI{}rdx+A4vEbs(bn-6He!_KBYj(>Fw;H%Pb=Eg{AN+P{ zu@3u(P!Y{yJPXNWA)#P;fh@Dlfpc`ZH5;`56Jc=ozNb2hPgMc=Mj4$A0_y z^fMdN8Q(j!BN2P4@Z-&~Lx(zseSN_8@5bZ5pDfzQy%~j_8B=3Bc65B}ACB%G7;DNo zGoBIrfZLS*8L_6s8NvSWmL+xI<|B8WxF>7Y;O?S9$7Jo*@d0gBvBGyxd6y(J>+W=U zS9^KmlRNtJt?UO@rPp?~ul<`RAATT^=)((FNSaTCX}*%)lastNJ$7Ek%JXB%&UEmv z$Ru%l`sUly^xWWLZNxe&$0DOfRn2OzXz) z7*_roMf{L$Wg=Em*f}?+sHkJ?#4%&BF!XQ52ll_*L#oEe(;4ZQc zW~V3R&ds?jci6P^vp+p-`ni|oZhZ3OurCc8J8?+UwEM4J^k(wPbZ|##eSdoQPtudG zxbyw#&53)e(k1VYtsNL!m9=K+GoM)c@PMqQiyG&B=aGBQ%YUFb(KNVUcGH4H)dM3p zb*;%oVin4_}d$ zOr(PuWHPzxo<#cQ_oT(PY`~gTvMKpz2P4vXJKwl=<1ga*cb&a^Q#wBI{^aHdzIt|g z>^Zr~Vd;lQ%B$}#{Fg_*o}FKI!PonbyyUXP%Fm|Rn0RI|DJ=QB((#JvIoE#bXU&OO z@$}8{bj?tC#nY|V+&D2~_nLHaU^;kj=*vp?|71Ful@1ERXn)xm7i<}vIwSozEwall z{mg)od!_NqMNmAR_r&YhExOzO@40P&eyMf>AB>glfj8leevY(E7N8F zc2eqZ==C`z6~UBuul#ws`$s2bNaD9R3ge@u#xvtXgI^P?%uUC_P$qr%gv%=YFiWWW zeiR`bcM0A|&&_EXb6#OAZ)YMJq)8o5mmQZwBbYQKen#EIdoLTZ`;1uAwCv=ubnsg? zVfX9lrfbd!egpRz(P<50v4nK0{2g23PxPNr-r<;#q?uP53tlHR8K{YdZj!%F$NQDN zlAdu!@M^f=XgYpY*{{;Fv0=7-GcTKSQO)c*gSa(_mB~pY)gd>)XHKiBxw-h2Gb)DJMW>zGorWVa_Y-wyz zE%daj=RY(I6rR}sXADS(bQoF+2aRl~=l{=RK$+6~xTI*1!(h7{0>t;qe3Z;5^zXgR zm&Gv~6A}y=F9Ds)R03?5D6n0kz;>AeCqj4Rf55RF@_0sSLZRQY9;WDaxdhwg4@{tZ zL4Gvn26wqkcGbtYlx;U2x`6`qY!H^GIK#21hczv>4<_r4GVO3W%xyjTQ^MTx!v~xP z&QSe_!ef;YsTcg*3J}N(o*;AdDq%Tug#0PzffK6#qtjt4!{fp;)srok&=)FC6ef@t zTqyI6GSv%nD-SPq9{6I_zvOh->f}*j$u3;?8^Vi~$7w?$FPJFl7YZbmXF3neuoa$F zPKQUUzQyS<`7W2~ABAmOe&jr`)yXfN4wq}11=8**Bl+^D*aYIR?cXWRGtGJ6D)F-J zC!G#+H;MiaPKPL?5xTs~-H?!t8jdl zUf*%r74%fHciF+T5qxxPl`>Jj5}63cWy3!lVfa5jmS3ZD%1QVe=_%1H;9>fZOn#K` zn-Y1u@!VGR%Pb5_r3Fhn>ItMpxJf44CgLl`MB_ee2Ny-Q9Ul?4bp&Idlk|9xgauo+ zOav##c1U{oNRRrk^f(x8UkJv&Hb~yh257MKnEU;CSdJ9l(IK;*@nM())TcK@dUM`I zV!_h0_}k4-AJ6q$Li+64-f;SO?Wwt(KHf_U>~u;r74x5{*roN-xRA)H_ZsT<<7F|M~slX#QN3FOOo@?vF+-!5^|rVTPa z%-Ej=^8JEEWKR5_`^0zjiGRCKd|#jVkNU)q^@*SC6Cdn$0r{WbCqAi9ys}UHnm+Nm zKJmqU;Tg!=lYKFc5P6aQ|X_=|nwzv>fbJkU-Kq(9KLdA5H)UaUD zjngY)tx}eo!p#whMIFo7GD$Q{Sy!Fk(pK9szqPhreiXPV=JTv=T$HMBX$*fJ=vc5& zO4P8RJ=GR&>VmLx=189H@&g9HaI$8R{9Li9VYU=ke@9r{E`zh}9bpo3u5FP*gj?9& zx_FWNxUu*qGwK~?&rcEht3;HoluMbyQBtOiCOK)uKs9oH;5Vxcq z{&G^=BGo#7@uEeMqg@=QrO~_j9nuD3OWGxA)fPzFweAO;@I5oy1}o%TY0qDk!m9iC z(o8}xh&ll-n1YKUJ|JDS`S&{x-=Cw$5EpRf;ik(tF3W?VQ9Ay;VcgJ|hYr%7v3X0Z zrk{Z6ASE1^$#nWHhutKI_M2N9YSlh#Gux`sT zSp6Na)=8`Lx4@cyv(ppXK{&9~a=GhofP!s(@sCp(_xxClO5{*zE3 zlWpT@m}^W437M>Yj)JuwavTfx=oFFnY7*|0a>004D9434FQIc&%sC0>Ci;l-5b?aB zOjYDcp5_^*Oj*uTP6%_Z!9&@{E9VPOQD$39l_v;KRc5=dRihX%TrE6Snf>`*W%hH4GB@v+D%Xk5d*N7jo^XdUH`*Ul zZV-KyGVN=va*J@6a;xxz%B252mG=q{ zQr;(=P(C0$PWhlP0}!lxNVr(}uVl`k1Nvdn%atkHbmb$W&rm)p{2}FI!t<4n3pXjB z5WZRYE#cdhIk$XVnRCu3l*x;M49dWH>9fj|i-8Pu&RvfvbB(`4ne*E#%AEINa<0VB z`LLfd=gGm!g)-+Iad|w!MZKV3|HI-k%9G&^L;8-xIByr#c#(t@`DvQ=Zw%?6(_~KPB@7>6{m( zbBF3^aJK5JRHv`oqs+d3Ntpr0pD7O%KIV8d=_jJ}PpXavXRAI))?vFCOdG7sv2~6z z$NIU-3|c0XX`kmi&Ubl@QymSqyslQALCZPH403)@nSsz-lo{l_T^WA?=_jLY`8(Co z;B3{mtIi;2w=#pDdz2~j50&X_k2@|ReXWzU>S(Z)|2#>Hx+0wtU`yw5)#;}z@F&7-V^64#23y&x@SGoco>C7QoUQr{JfkDe_tb+1XRBU~ zClPu6O+9F^<#k+j29W3APe%Sfs*VO*{l7{HGIbMYr4|M{w;!InPh;^!PO5C53R z&pSfV(co;=Q>xRK*E#=9s-wZ??{NOVRc605ux=vC>rU0tU@KcQ9_@cVuO2km`lS{; zW21Dwsvb1h-jn~T>I`Cs?;XvL{J&Qn4bD~_AKN}!=7&TN#zp>-s-wa7Z32AwIqw|C ze_`amKy@_O-iJR!I2a#!7N`dewr>Gf<9To7S)v{^I9v5Oc#0y=?dm~;vsIsqr#SL_ zNr^V zC2l&KXFS<)mE$>%>m0W@Ugmg(<28;qINt1->p$Dx9gewHGyQ<$!;X(Re#>zd?OECq zVTj{|;{wNFU#kAF?@|u?7Ul4`Rt}FT>j`uj;@A#18qmEBF z&XoOZ+n(e2f8O;SwTIEN->iQAUwGHI4AU`kH+5mdU-q|M6E3}E(qH;K=&CZQQ>o7h zVb$i#?*Z?QNjDuUcv7CyS=Mi0kTD?kRPJ>-AB_L-!JKOg3cj_ba^%u44k?`Xo%q0b zmMnZQXWAocvi3eSa%p_T?tZavtqHc@HFA~224SxUCMn0@?n5sm-z*y#JeB*4 z;-~w)k`cVgBSE8b2CN+wAN0p~JYE=&UmQI*^zC=a!P1mBaPr0ra%RLcb`Oaayf)x# z@1DGFz=Sh*{5bcA`<{JzU;i^>Gx~`*qoG%PYIkO=q^oYg*S=le)ihwjF7-atG`Rn> zSI0)CoUI-?%#m-cuMvr7jGLUr$%v zIqP`3v|>$l#n!6K;5b_&%U@$2J?@lsPx!>5QiRz9@ z`7?&_QK}mX)(9A#8;-i3VbQ?oe}zKD)9}G%}mJDH^>$i22afzSoUyza zN?))hJNarls&g5xs2U}eERVE>Pt8fahJSvzXI56(pKLZ#uBUPb22b}}T^_ZWgM00- zC->y0UQ6HkYC3*){0w=J_xk?fpHpt0ygvTm{aI1+yMLDseodvUd`&Aw(z|T%^o;BC z1_r@fEYU-*?{@jPWYE7*_NDw~X4&g$c{p$H&bEr!f>;nXE;)h@KA{il{WcwsmHkGZ z&MT>qU#+4|m4}cg^{dL5nLl`YhF)_=x-S?#~Dgq7=r9pG^lpjBrYj`kpkD^6ooE zR!Bpc^>jLV+IsJ^h4GSPB0eNOR5I`Xa{9JMmJYu6p55vA@a5BE!QN=?;5*D${#!cu zHc)vmeai3ov42Nc-gT%mcSlBQ!n3JMcBUr&IOFMldEJSEv!Z7s^SZ00zM{kH+ARb3 z3>vmKOBTob6%2`vt1llc92EU&YeD7(qtBK|cw}9bF=deWf|tT_X2hb{A!3rGR7_2G zqH23vJhMK2QAYfX&ZeNQxp-jkY`p&qxevz&JeJ%T&w8kMtvnlCwmg2}U9&Paj2M^- zp3(J#eZZdhwFPek@@%(MKoAR_1~QTpb|xo2o4h2i>(HH#r{e=2_!rp+Yu_KcC5zn@ zi^aO6TK^*tU-`z2Cf~;Jg85HaoFy#Cx{Uw2dOesylj?S8(dTw!(bQ}MMyZ_KwN%CCIc4zEu zjAxdohROETbm!EhhSkVp06!S;>5KBZi$+c@Pn}!R-7#vkq|uoX#IlN;V($ySM+(yI z#WV8C>O%XCL*E@Wlf16ZjN}OFK?+y=ujybn-eH6Lmu;8lWaY?{M{@Vp#m}fooxQTZ z?5CoV?rKSU?BJ|mdswdDr0ct@>r-b-=`y-I+WN%`_I&)lPhVL!^8CEixl@9|SnxG` zSwZ}{0p}0-OiqwdRwv$-KTZe#$b#L{V7~&alm;uI@4g6o3hAvfVnI_PEBXuWa8rt< zI|?83Ek2%>4V&7hKWHE^3EYSLdqYXrp`zR!Gy3JFE|!CUHXA+~oY!3!?^oV+W3*r8 zv=N>MMUBoY(l^23-*!jMe{4-|QZ_Ga{n7ushsB~3OJ1rZIuJ^dC2hgZ`k;Gb@I-m? z;#tr2oW36l)&{%o&s`ooc~`O~*gbC6Wo6eF7w?tBq>dtme~1A*OYKGfOAD9QuB|%S zYN@|JdCtld+X$VaHKI88W88=RB_X^S#Nd7XNks(iX$;DdKp~i>C zW2v8|6QvzZb4JNdtBgelM%hc!*iwh&A#CaQF3aqn8(Z5yHvP`8-!eWp%+|@t?x0*z zeD#N1!(AB*!cId@dttAd{6RYSaoB=hN$2hURmp?UHbnW zfpd#ABRREjUMb8-T^O~CyzbHxX+}}Icp;s~P5>5Sw>lDC|%%eo}v_;Z)avWLTEKS_^`-5P9#3o>T? zLpnZZ`WewtpW48m%B=pPY+UfA(92O&8vUt`T$4SB7X6=Gn-0D}Gu{x0Hoep0%4xrEvML^}9;gq7Xt;IlyGH`Br20sSBEy{ePr<4<0z#Uw<1 z&>va#Z7({a<>3`jQf@P<q4UcS@wwB&W) zk+(B9I+moNP2ax#*o|E_-J&ur#@YO!>4a!h5Uic3-x z;~AWK$0en=mNJLEMRMA^+R_038RC7E{43DS%(eX4- zRy%cOtW3s+6=iWuO$?8z{d!DI=yw zsng0=({~qNSth5(ZxWr9`|?@iw$v9qS>CfoLwRPbJ~i>WA?E~-VA=h%bntaxyqI-pvXUC%Rw!E$7+03^1yX)ics)-LOkH;U5XFe8ejGysP?%H_& z`;*J#1MVs=iDz9_mKPsbd?-C`mZWOUC!r^s_Pe0 z%=ZU}^atE$MfXJ6dGT0$RAR@y(Jfcg-~sVOY;QvT%B(P+73|6F^WGZ9Cf_d1ko*0u zd8yot)L=RBMR($_aRss=NBYb7)XBS|O2`XJSB6g*7r&BD9Ze^yhmfr9u zLC3BvzMJFyIhM)68D6qgo=9iqZYUa?lN(*2R~}DCT}uB~(|OVgiuhS)+yh~c6hHf= zLMd(hiGs}FNfOB_8yg$Bp);OQ(mg8JiIQI?IPT_nhW08CZ1`H)*0gjat2cco8Mcpa zU<<k94>=8J!4$q$P(^wP-)gr8SdHeBzIaLom>$$B}t-0;tkQ2_e!}mky@*c zb|+~*pKc3g*9SE{3se|shx;^mo~Ya{4eoCJ3l5e(8y#P< zP`0j9Qj;c^ks4l~IydU3q_3IL&u%ahoRPRMj7~@A%FZ7(yt6H6T~_?@v$LYB$NrhI z<;in(;NjhRJHc(-@aQa*DCy3T^|&$%FN^!1NXx}!TQH1UYMiq4x(- z6OG4Yg_^GP~)QFy=haPT)wJ#Z6s7a2f?{0|N*NAs$U((2z%TR+1Yz>OqS4MJJ*y_V0C$E%) zLYr7Pj8*wY)Wqi02eWGe83LYF5>#^x1;O`e6Y-d|FR7Eu*GM;c-Ti;IiG}s|t+0uG z)0$Xy{G(FgVdK)52S^hOuczcHr?+h)Y=O>QPsqc^%D7%@JT|awV5%}hW_igG<5C&Pa|X`ZEyLI0 zxMEX{yqkezF}$FaZlo<3Tp#4t1UZ~v_O2tf<6~De8Y^cF zVih_d8=QWyL^lR