From aa965627d199fb3a95ea3c4942af830912bda2a1 Mon Sep 17 00:00:00 2001 From: dongheng Date: Fri, 16 Aug 2019 09:57:37 +0800 Subject: [PATCH] feat(esp8266): add new power management method --- .../aws_iot/port/network_mbedtls_wrapper.c | 4 +- components/esp8266/CMakeLists.txt | 3 +- components/esp8266/component.mk | 4 +- components/esp8266/include/driver/rtc.h | 120 ++++++++++++++ components/esp8266/include/esp_sleep.h | 25 +++ components/esp8266/include/esp_system.h | 8 +- components/esp8266/lib/VERSION | 6 +- components/esp8266/lib/libclk.a | Bin 0 -> 7976 bytes components/esp8266/lib/libcore.a | Bin 95362 -> 93752 bytes components/esp8266/lib/libcore_dbg.a | Bin 96622 -> 95016 bytes components/esp8266/lib/libsmartconfig.a | Bin 88102 -> 206642 bytes components/esp8266/lib/libwpa.a | Bin 134844 -> 134812 bytes components/esp8266/lib/libwpa_dbg.a | Bin 184560 -> 184528 bytes components/esp8266/linker.lf | 5 + components/esp8266/source/esp_sleep.c | 156 ++++++++++++++++++ components/esp8266/source/esp_timer.c | 4 +- components/esp8266/source/startup.c | 2 +- .../port/esp8266/include/freertos/portmacro.h | 9 + components/freertos/port/esp8266/port.c | 13 +- components/log/log.c | 2 +- .../port/openssl/include/platform/ssl_port.h | 4 +- 21 files changed, 339 insertions(+), 26 deletions(-) create mode 100644 components/esp8266/include/driver/rtc.h create mode 100644 components/esp8266/lib/libclk.a create mode 100644 components/esp8266/source/esp_sleep.c diff --git a/components/aws_iot/port/network_mbedtls_wrapper.c b/components/aws_iot/port/network_mbedtls_wrapper.c index be33fdb7..515f6745 100644 --- a/components/aws_iot/port/network_mbedtls_wrapper.c +++ b/components/aws_iot/port/network_mbedtls_wrapper.c @@ -99,7 +99,7 @@ IoT_Error_t iot_tls_connect(Network *pNetwork, TLSConnectParams *params) { cfg.alpn_protos = alpnProtocols; } - rtc_clk_cpu_freq_set(RTC_CPU_FREQ_160M); + esp_set_cpu_freq(ESP_CPU_FREQ_160M); struct esp_tls *tls = esp_tls_conn_new(pNetwork->tlsConnectParams.pDestinationURL, strlen(pNetwork->tlsConnectParams.pDestinationURL), pNetwork->tlsConnectParams.DestinationPort, &cfg); @@ -110,7 +110,7 @@ IoT_Error_t iot_tls_connect(Network *pNetwork, TLSConnectParams *params) { tlsDataParams->timeout = pNetwork->tlsConnectParams.timeout_ms; tlsDataParams->handle = (esp_network_handle_t)tls; - rtc_clk_cpu_freq_set(RTC_CPU_FREQ_80M); + esp_set_cpu_freq(ESP_CPU_FREQ_80M); return (IoT_Error_t) ret; } diff --git a/components/esp8266/CMakeLists.txt b/components/esp8266/CMakeLists.txt index 36c8ee0d..2a6ba7bc 100644 --- a/components/esp8266/CMakeLists.txt +++ b/components/esp8266/CMakeLists.txt @@ -24,6 +24,7 @@ else() set(srcs "source/chip_boot.c" "source/backtrace.c" + "source/esp_sleep.c" "source/esp_err_to_name.c" "source/esp_timer.c" "source/esp_wifi_os_adapter.c" @@ -60,7 +61,7 @@ else() target_link_libraries(${COMPONENT_LIB} PUBLIC "-L ${CMAKE_CURRENT_SOURCE_DIR}/lib" "-lstdc++") if(NOT CONFIG_NO_BLOBS) - set(blobs "gcc" "hal" "core" "net80211" "phy" "pp" "smartconfig" "ssc" "wpa" "espnow" "wps") + set(blobs "gcc" "hal" "core" "net80211" "phy" "clk" "pp" "smartconfig" "ssc" "wpa" "espnow" "wps") foreach(blob ${blobs}) add_library(${blob} STATIC IMPORTED) set_property(TARGET ${blob} PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/lib/lib${blob}.a) diff --git a/components/esp8266/component.mk b/components/esp8266/component.mk index 181b36d5..53b0ad2a 100644 --- a/components/esp8266/component.mk +++ b/components/esp8266/component.mk @@ -13,10 +13,10 @@ LIBS ?= ifndef CONFIG_NO_BLOBS ifndef CONFIG_ESP8266_WIFI_DEBUG_LOG_ENABLE LIBS += gcc hal core net80211 \ - phy pp smartconfig ssc wpa espnow wps + phy clk pp smartconfig ssc wpa espnow wps else LIBS += gcc hal core_dbg net80211_dbg \ - phy pp_dbg smartconfig ssc wpa_dbg espnow_dbg wps_dbg + phy clk pp_dbg smartconfig ssc wpa_dbg espnow_dbg wps_dbg endif endif diff --git a/components/esp8266/include/driver/rtc.h b/components/esp8266/include/driver/rtc.h new file mode 100644 index 00000000..aaa7e94c --- /dev/null +++ b/components/esp8266/include/driver/rtc.h @@ -0,0 +1,120 @@ +// Copyright 2019-2020 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include +#include "esp8266/eagle_soc.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Wakeup option + */ +#define RTC_GPIO_TRIG_EN BIT(2) //!< GPIO wakeup (light sleep only) +#define RTC_TIMER_TRIG_EN BIT(3) //!< Timer wakeup + +/** + * @brief CPU frequency values + */ +typedef enum { + RTC_CPU_FREQ_80M = 0, //!< 80 MHz + RTC_CPU_FREQ_160M = 1, //!< 160 MHz +} rtc_cpu_freq_t; + +/** + * @brief Initialize RTC hardware + */ +void rtc_clk_init(void); + +/** + * @brief Get the currently used CPU frequency configuration + * + * @return CPU frequency + */ +rtc_cpu_freq_t rtc_clk_cpu_freq_get(void); + +/** + * @brief Switch CPU frequency + * + * This function sets CPU frequency according to the given configuration + * structure. It enables PLLs, if necessary. + * + * @note This function in not intended to be called by applications in FreeRTOS + * environment. This is because it does not adjust various timers based on the + * new CPU frequency. + * + * @param cpu_freq CPU frequency + */ +void rtc_clk_cpu_freq_set(rtc_cpu_freq_t cpu_freq); + +/** + * @brief Enter light sleep mode + * + * @note CPU wakeup has 2672 ms time cost, so the real sleeping time is to_sleep_time_in_us - 2672 + * + * @param rtc_ticks value of RTC counter at which wakeup from sleep will happen + * + * @param wakeup_opt bit mask wake up reasons to enable (RTC_xxx_TRIG_EN flags + * combined with OR) + * @param reject_opt bit mask of sleep reject reasons: + * - RTC_CNTL_GPIO_REJECT_EN + * - RTC_CNTL_SDIO_REJECT_EN + * These flags are used to prevent entering sleep when e.g. + * an external host is communicating via SDIO slave + * @return non-zero if sleep was rejected by hardware + */ +uint32_t rtc_light_sleep_start(uint32_t rtc_ticks, uint32_t wakeup_opt, uint32_t reject_opt); + +/** + * @brief Convert time interval from microseconds to RTC_CLK cycles + * + * @param time_in_us Time interval in microseconds + * @param period Period of clock in microseconds (as returned by esp_clk_cal_get) + * + * @return number of clock cycles + */ +uint32_t rtc_time_us_to_clk(uint32_t time_in_us, uint32_t period); + +/** + * @brief Convert time interval from RTC_CLK to microseconds + * + * @param rtc_cycles Time interval in RTC_CLK cycles + * @param period Period of clock in microseconds (as returned by esp_clk_cal_get) + * + * @return time interval in microseconds + */ +uint32_t rtc_time_clk_to_us(uint32_t rtc_cycles, uint32_t period); + +/** + * @brief Get the calibration value of RTC clock + * + * @param xtal_freq XTAL frequency, unit is MHz + * + * @return the calibration value + */ +uint32_t esp_clk_cal_get(uint32_t xtal_freq); + +/** + * @brief Get current value of RTC counter + * + * @return current value of RTC counter + */ +uint32_t rtc_time_get(void); + +#ifdef __cplusplus +} +#endif diff --git a/components/esp8266/include/esp_sleep.h b/components/esp8266/include/esp_sleep.h index beee56bf..5dcb5885 100644 --- a/components/esp8266/include/esp_sleep.h +++ b/components/esp8266/include/esp_sleep.h @@ -178,6 +178,31 @@ void esp_wifi_enable_gpio_wakeup(uint32_t gpio_num, gpio_int_type_t intr_status) */ void esp_wifi_disable_gpio_wakeup(void); +/** + * @brief Enable wakeup by timer + * @param time_in_us time before wakeup, in microseconds + * @return + * - ESP_OK on success + * - ESP_ERR_INVALID_ARG if value is out of range (TBD) + */ +esp_err_t esp_sleep_enable_timer_wakeup(uint32_t time_in_us); + +/** + * @brief Enter light sleep with the configured wakeup options + * + * @return + * - ESP_OK on success (returned after wakeup) + * - ESP_ERR_INVALID_STATE if WiFi or BT is not stopped + */ +esp_err_t esp_light_sleep_start(void); + +/** + * @brief Operation system start check time and enter sleep + * + * @note This function is called by system, user should not call this + */ +void esp_sleep_start(void); + #ifdef __cplusplus } #endif diff --git a/components/esp8266/include/esp_system.h b/components/esp8266/include/esp_system.h index 7d052b5a..e8e6b4c3 100644 --- a/components/esp8266/include/esp_system.h +++ b/components/esp8266/include/esp_system.h @@ -123,9 +123,9 @@ esp_err_t esp_derive_local_mac(uint8_t* local_mac, const uint8_t* universal_mac) * @brief CPU frequency values */ typedef enum { - RTC_CPU_FREQ_80M = 1, //!< 80 MHz - RTC_CPU_FREQ_160M = 2, //!< 160 MHz -} rtc_cpu_freq_t; + ESP_CPU_FREQ_80M = 1, //!< 80 MHz + ESP_CPU_FREQ_160M = 2, //!< 160 MHz +} esp_cpu_freq_t; /** * @brief Switch CPU frequency @@ -137,7 +137,7 @@ typedef enum { * * @param cpu_freq new CPU frequency */ -void rtc_clk_cpu_freq_set(rtc_cpu_freq_t cpu_freq); +void esp_set_cpu_freq(esp_cpu_freq_t cpu_freq); /** * @brief Reset to default settings. diff --git a/components/esp8266/lib/VERSION b/components/esp8266/lib/VERSION index 919f4e77..98b39cc0 100644 --- a/components/esp8266/lib/VERSION +++ b/components/esp8266/lib/VERSION @@ -1,10 +1,10 @@ gwen: - core: 7f8c705 + core: f467b5d net80211: 7f8c705 pp: 7f8c705 - wpa: 7f8c705 + wpa: f467b5d espnow: 7f8c705 wps: 7f8c705 - smartconfig: 2.8.1 + smartconfig: 2.8.2 phy: 1055_22 diff --git a/components/esp8266/lib/libclk.a b/components/esp8266/lib/libclk.a new file mode 100644 index 0000000000000000000000000000000000000000..e8542b1bd51786908ade9f503741e7fca32a99dc GIT binary patch literal 7976 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 literal 0 HcmV?d00001 diff --git a/components/esp8266/lib/libcore.a b/components/esp8266/lib/libcore.a index 3fb581249fcfc7350326da9efd83cc7c19f6ce02..8bbc0bde367c26fbfe116108981e1df39b57d319 100644 GIT binary patch delta 28014 zcmb__4R}?>x%EsEAh-jD!;vHs%}EFlG(v!YQKQBfFj$lyDMd>qMZ_SeDAA%t4`@oc zN|m~)2P-NFXcV+)P^p(%RHP|VMMO(2DpmBNQjN;(gO)bmS~Kq?!lC7Y>?N_35(OelMb@^+VsM-Y?jWsykW{^v#*~r{kqGqZT@Sg zDV@{Rph4ldtdqkVv&v;Xg|D5J+x$vaEUm-OY5u1BYlAxcJY5m$Sp)RO=ALIS&0rJZ zwdp;>2hPn3Th4v4-G8v=c7sbsOb$=FCf2-c#B}`wEKrq!)I;T~IPxr{p-3^H1afED z0E3bI^0Qnaa+Z&d_}>lJ?kGskjIi_ICy?eK#Z-5-G~z!FpFQeg%Cpr=;@e(+*|zP7 z@|gOw_&G)&S05l}Z;FiHt6Y60#3)1Ls!R<4vlWh4>L{n`nA%^;yj?!Rs+G>OAb~6{ zA=oF~+w!@>lOqm<&ji-J!?B}s`U=B&WP}prCW1tUt8`(wcvK&KLb!fZPVxjYcFwin zv*E|nEJqv&&k^eraez%gqJ|uCAUw~ni!)6$01HQ+-(!^EeE2$n1B_>o z@yQVf2^_@SEOA`%bjPA@-*CnGIl6E2#`CXC*R#Wd;r;dPJf^<6MwjRfhSf0h}4yg<(_N14mUKO4@uK$1sBI+`zdCsZkxpc8#3PY%$kEk1=riyA@2<_^(!Vkvv z*Pn;M`2PA(I26ZY!tamoKcExNIwMvg(UyCyaiO@@a>BLa`}c@N)UDwM<4@L!@Ysv` zbeh*$srBKhK&4%I#-?1Q0@$tp4l5@bKajk{7jYM$qm< zvSws87VS(wbwj7>>dzJ`HKh8p!Kbxl#f#EMWu+(14NJPCbV%A~`48#ySfx6D*x*5J zMO&695(mr54)$;Eh9E1ZQ8a$;R*jH=)#K+D_HWB7s7@PI(mgA^>g?MYMc*&!{^F|Jw-xD9Qk7rzA3CbnRT)`D zdI0^B?mJh#QeCurT+lXT)wI)xygjwF3$%S$cFM83hcIQtZFbzr578`0na8Gtcac{a8qUjfveE{0%Q|u5b?ky{K|9t;~L)XS$DC^dWavBESuc+_ehICo{Wxv>Q3$s+e zAqD-ai$`LvRNwKl)|^KUwbqwmiQvwxY}oPFAfVb*nr0?#Af>k_|i^_E_CJT>n^E`abw^m zngtM3wc(5%ztZQ2d9N4f(cx)0UKn1C_&e~$^z;O{jKjIg{C&hg* zhHJP?$~j>@)GMkQKKGttGyJR7Bq;}F1~|j>lWg!u9znk`;-@11qY?i%5&sVn|HFu{ zJFzRqlBP#JI|$cG3-KT!e_@`HvV;LBK$b;0^>KRIiiPabo1d)1HK0fA*OCn zD2z(XWX3P1ZNh946pXAeN%?Q@A{0>Mr$Kq{7<~|8T_5<8Z~;!BZms zX%T;%@ooF21D8bvH^Jv@Fj!25YK{2zI{t;)8PUH7zXIBu&6-H5)<}68pU1>ZO!ygW zzZNN`?p1wA0P}r6rtVWi;WNen(mTsmI5Yxr> zZ2ZmY+#hoO#Mr=sbu+GRnBKhh-N{|!qinqd>(*MF9~Ml{spiSj=UIj=>F-#~hBQwU zjOR#?G|&uBkG7ac+_M|@|MsefEHfDyKYU_E;z0PR!e5EJ6iKhb0X7YZdUC{p@MXYy zH4ZS=p@tlBusU4v@gTh>-0^YFs5Ky9yfF2{24W#vJvrh)_)1_+0=5x}G071JkA!8P z4AM{TL3gF7T-*M;tsBZvUhYKFnzS zBqxubp~4D~_#qr)W+LgeVdB#q94kH@l=mwTuzpDK47;d^gI|U7Kh4Qo%Q9SmNGxS- z;$UsK{?kGF$#5?;PlAAPw~6ES##@`Tl6`=!lpHuuH;1zippzrg_(F8r)VQgAJNEsyM-u{Kzj9C0B0 zXit+X8gj%=GnN{8wdf}ra>Rl6%Aq%dgoV96@1Zw`C7+*>CujV4u<@>ThanD{o9BH# zM)!S*a;5n86hFpZ$i#v0b-;Q{*xH(t+yV%jhUBJ|CzQ3w5xXg?_cSkxh8(fe%%VnO zUdbUL4msjL_}SEO3BbaIU-ZZm{Ep~bkT;-AZw=Rfk(1nNglaCC-&uTEl;ns5;raO~ zTg*m2k9s+gIl_}8b|-i~HF8o5L_>}^5Wc#Rq8D(0^%W60;z0OJ`1(aE?3J#6Z!wR$ zC0z97pi!?_h94otans2{P8w;wmW!lcHPF0J zuoAgRNP+My)jN0uhZJYaFycUX`g$jiwqtR=DhUpRH$%i+(>n8@$A!zkx=rs269;qp z?jmD*tlzZw`^e(mEk_)@8BRXf2m1L3bCROZ0Izvj!q`BZpK8H4a$=S<#Yu>1Sr9nS zD$WN97;zxH(Z>vJJ|T+tRO%|Yg-8zLsR9k};n9B1#sY@};m-#_egg6f1Yd%jK6&Er z31$OkFz*1sE=8h-9C08#pwjQ+sfxxk5sw>aJ_{r+hRajvFpD*N0;68Rk~ zCBXUv9ALYVs3AujSUzc=q4t4+eS$<$so+5PR^h)!UWTMU!~ymd67}SW1L50*=htxM z!1^N`VEh1?dUC|UM|S<$hpzuJ8uQ&9MHO%vAP~M1zLpN1D1pckyN*^-vmXaosc5PM z2g37IF+SH;4cpfr;{Yp{f*Qer@TYqfYEh;+O|Y|tCr2CzKN`ONlnSLrh=v?-ApBVP z`T)*9MHh;QByoTO+5{x`v@=CCLo`_&KOHCHvl1J40r~TS z2Oy_mw=!0aV?5Vl)45iQ&B(x$BMyW&o!e(M6OpklIpQEG1*Ug`ZxRtXVz;=mf!*So z56nR1h~47K0CpV(Y@hZSz;V8A!^}nmOl|UGoWQwoUjFTLMft`pA+=BR!vcnk7r(!jOIr+YXK ztXJXy!$yStAB~aZt`tbYjlksD<6I=SxEh5gN9-0?J~eV_nJpZ3$q~CNe?H=UD2pehM`ni-Y#uIv zFNL6jBH*)-pCNbyf?O<^r>O+KW-G8d;mHvP!e1l&Smf6U=4nj+Se!=W+_7AsJA@}k z>;gS0{G-U96Z|4_np>n9!13OOGKV90o);Ll7ZuOP`RDDG(+9_Vx=NpzIyO!`3^^B` zyKDg48#@CyegYXhW+M?(YpxDpZsoTM--LXv;M2f=$o=0{XqAFYe)hq>aP`VIihzk=R_&km6zP9AXyNrmHO#5@JWPLqJI58(hyh$bO85T2(} ze~kmoe3XO6$eE9Fgf}yUr>XTC^KZ`U-;LhxfZtfmsdo#9jC-nK&*LYOvEMfkQ#%of z_*&!_3+AbuBAD%%^#Kh#Fw*cze4zz!p>d=lu>J=QuzDm0<&+W!!kf;$3qs6wbO`)- zp(RHP<|g!W!K`Oa8#H{&%0&B0x8eXh35k{2Yhw2RX=X@vH?shtAxG>soF4$QF82mA zy`nb*08h>gK=|3BPqG3>=N1tcAp?;kcITec?(W}@iH01pyZdbxek}5Tb^18Cco7aT ze6E509}dNRk%$K)H!~slTT{&!HyA%4iT5$k>=ne+VzV@SDRPXX9kXHgxe_1Gsn6u~ zPse?*^sUA?JupspoIQjUBN0<;8UU^YHXE1VfubRA8t!a6Jydvd#6eODOvC(mUCb@0 zQ{czhLzr3Nz|@+cU9G-9d}_!M2f_~*egyJr!41gGdg2ZTOPZCB$|Q*cDKLwO&(W|e zkk|k@;y`$_CU_O3Nr%P&!^~iga&fG8ViUWz>^@Sui`fM=(2PUUHz}fDdV$e^%g=ZV3`GD}2|(3qAaz z;2p@Boc`~EbvhOqlH&&oE=SJf_z8ludHr84&W*^KoaiILycE;Wb;tJ+%+YXtlK(aG z7Qt^Je?#zIF{)ZmsQ<2lp@i6O? z=Xxk*hxTy(VGE^zB(ZyAHLqi+upHb2qG9DS=yW##*gE0K5eLFQBRm&kIm+Db`IhkH z-b%8?pe$8)r`HafJ^K?j{98r!^pYOXntA+`%-vv#DVZ_!e?QzR-ufq z>t_7vAlLv&VmEqzdqDm;l9WbJUL>wCTiikQJVKa)Fo%$17(n-sgXEi($GE| zAPJ{E&{!|fY-x-fv74=1gl|N?Krk=W30~b*!jmI*bth5NowJ4UuM-hT;=mN(=N-bo zjC?XH9Loy$;fnC&hy&s4;JeZPmuSclyN3T;c>acV8ujk;pIo`tNfNsXCBpN^we_qZ z)A$|X$q_q!o$&n8?JQ5vpN4U!$q_q!ayCVQ9oZ@oks}U-Z=i<&3wUu@Qv_Y zoWr6aN9^J(;`w(|nuCsTiWWgc?51cj1MSBF#?Dehj@Z4^mk7@r)e@As51daDo*Z%T z5df?h$@~m~*I$B;+&c4#c^`)5BDv21;>7aVKsNDtIKZ-y+_xf`#IxJk0!EZdgT`)(uQ*bpjfA%z- z1ja|*r21GKj_`BA9Qh%^Y=Dn^tiajf)hU(DHyy+Y@MjADd*CsGZ$ge@rTKady9SAR za>PN5`!B2%$^D?B5tt%!#K9vtz-~t(zZv;z!R$PX$!|c;r(xnZkv}eYFLIWV=Rmlt z6CXzY9M3-;F4{6+_e+t@!jmHo*dlBz67`Fbzb1GB>Xrk$S2H$F4LM@>YF0swyn^io zrY1>}P9O!9!1^E#Fy6)~B1aquUj?k6#sS7rP*Wv15WWV!{tFH;-hZeeM;r)W%l%hp zfq}(E1k&I@_)~=E!aQAYBQ&FtbWaelk;0QB4ul^IUq3{J{knynAjcWAzvsdHUm}&K zBAG`N(vRjh{>WZfZwQos-0qc|F)HL*b?hoGG{g zm?7BYEL+pyxxh2Q$4|C@2eCl#4CLmz03QeD@Tnng@$fFes}U#JCe8pjW@$);f$&+G zeXSJCG1LfVU*uGY}%l$~^acx**O)UdGB2h?_Nea>TBIa!*qr z8gj%=W8NT8mutnmH3!UHN@Xf@q|}A@9PDBwVroq%fElAfcm^LTcpdUHJbaFaleM11k-AOeBH_sqyG_H4 zo*xsy%=DsRa>Rk~*8;P1d>Fe;@ZHGGtQ-P>EkuIGe&tNZJs6oAr9A&Ewj%SWN$j4B zmI==W5=id1GWQ8jj@Z4NbA7nCfR(`P9J!TT|L!#ae)}cFp2mle!I!H@#M6+M2B@?sib6Nz!VoDk*`GF*TW|eSJ-D+K&1!S5t|tTPa_V5r|%l> z0vtb$j5Xnt=I^26r&}^WMx3y2du6k8aS6jXt#M$^6zzxx*kduxXH=Nkl+LsyaUeVy zeJXG2FeBm)AvieI^7J)tT`;3L+dzW@;mPPTQe`LLY3>Xwy#Q4F94j3w_$uUPCkM}6 z+)Og?TwpFC>Tg2MRpBtFg}4?uw+`Y7$W8oe0GNpn%=k&u0G##)fZH1YZf`)aX#lvr z0bn*@&h)tqZ*MhmV6KdDNW?q|^@6$8aF@Ujb?s^{kphy$?pL^RE5Z?fERV!MA9AH=zl9na3o;WX6 zm(b^(S;#`A_9N*c163<=ABztW^OB%x{MXOIOyd5jeF=S6Ub&_CB(HJB()c{0ho=@7 z>L^g&;a$X>SJ++;Cl7ee zArEJC>Zp+I;d~F5c(~ldRURJg;Yl8zX0cr?v+4A*y_@IZMIK)2Vg5~?)2}0z6S~pE zTRgnO!+SiuzZ2Sbl@EFasxx?58Cf3Y-|9KO*u!PS+=gM59K;)B&&HkcTs{y=Xp+ zz_LA@@8J>;mwUL%!=pVs$-~oZiVHt1Y~Q+rOQ}xJ_{cU%u@RXtjkM{5+4^Q*(Y!A=#@FEW{_3#Q0uk&z{|2mOtc#DVm?+`hj ze@W;t|HUDP4|6)9_GI;1iigpD!qbQ4^QxLorh<6c&>*VJ-mdt#Lh1N zaUqABJiLLw&T|Euy@Kr?-tFOi9&YvUVGn0^>xjv}E^+Y_9xip5pk4y;rSk3?BQh|UhU!az)9D;O)~P#mwC9-!?hls;Nd!p?Zq(5E12uyMh`FX@N(i(J9AAQ-r(WQ9^UTZ-5%a|EH4HL z)an%+_HZViznzAEspN3N!=)as@NkWX$9j0O!yJFTbATI&Pq8DL@8QKBUgqJ|9$xR^ zO~eCjoE8u7^6*~ZG(9j?GgSBKHpptT@iMCir5c9nnceul3|mBMaOwb5qvTb7BPqdK zJiNohdx(eH5c@rR(BRaha@-KgQ;W*=d3soCN4f5kl-KX&F;o=XwFmZ*AlZp2QhhzMUF6Sf+PBjk0)X3ZRSW>5@HVnfJ?etXZFg>W7yh^vQ z>IoERSd9_V7Lrw^}^Khz`@KF;HdVb;V)+g^j}r z50?^;wE7C-F&5VlkF|I#@wiamGBCXJ%0zh9@XTj_d79p<({9#bVtBu_&}L7XEcN9X zx+LvOOXa2+L7C0Q*ld=~?zGtko4sSRjC50>G(Bv+w7<5_Oq(sV+2c0bWwWnsR+M3? zU0}1hHcQ#;H#YmgX8*L=kWQvTz0Gd5*>ambZL-u&RTzirY;-5s>{OdwY_pqema^He zZT4rI{oQ6KbTQRyY&O$o_n0iTvl{U~v{YuM(G9lQWSiY&vy{!AwArhf_~$3nc4dZ3 zru0jDJCpzZWZHX~sXaBiU)oohsf-c2-+<5Xe2mv*Rb@|~s=O9IUP{ByfZ*36u?!Cv zs%z?^5xW0?3_P~_^4tddix0}r_vFQ?Rg@P*eZM9ZQhsGb-U9hN8R~dXzA*IxkN$ZO`>&sW)*37&jy z*Hrm=y5C6;NA&g3*Fi`9L{I-**Hk0*Pe=4E(7TzR_?aV^g5!H9m|ypH})_Vk6RIklLbe7q_6XLf}r=O?~yGDoFef;`C=5nsLqa(<)C z-qd;W%b^3!4LT%W-`vsLsVH~N-)!S0+XJpfK-|UJ%>|qr33wO* zxschxX-F>M{gDpxZBsseF)>}dWk#L#d|*zZ!hBA!bcTnF5o+nfE5V11R{?3N+dVpWBA$x-<=Y?wwj+PgEHpgb%Kt# z%F?O@@ydW1FF6Yb7qB=Ia1jE|V+&#~U_m6{Ap~5WZUbHot&2Az5-$V3e9B=WLTAU% zw^mlFGPF`lZ?zwxvxl>hTtM^Y3g3-5fqHLB9cI+grbObcL%hx48SgqI7jF^&tsH*} z524~OAaLda-WCZs>o)r-EdydJY!A2|IzJv?9=}O*(Kwjv0cFYc9KWgt_20G+-FgXj?+|jP%wn)JFw|ATpeo*hGa9|`L zA8h5>&UD4i-~i}|s|<^8(Gjnf=bt^qp3@$1Oe7#5h0j0Ah|iA%+>3xM&@mp?V|%=7 zBk{8F5Xo|DHC9N69|rh6Y+Bs0Xy&7wWss=wl)qU(RqijYzKbe?;QViYqmo0mNLqLpENreZm*rX&(d_a3PWlSi+ZX z`0koojex@>7&8~J4|K#;Bw;%cZx(XKTZH7|nNJ(w+jwC2#5q67nw?+c;QGKNAmFSSE z7i_@xiKxfk%ukvb524%ReRf1VTbQ=(ZZx8s3NWjVXk8~G6-CBez;Tg) zOA(|F3dUQ5!(y;D3UDqSIEK;@`Wn9S4Tw7tJt%GRGE%+vgU0csa;EI`*Kf)g9~UF%fby{u~KdlCZxnMv*bs!M7qEtn}iogVJ@d?TC0uyznHB zzUzJy2{;P@aeFqi`-B&;F#E_oXc^+2gK}rCgZa=AS4qJJ#54bd0Z-R@Bo=bSBO(F! zBRuj`3R|^BIwVhY_$CJUhtSgA1671k5e8 ze>n(=G3sb{N8%;0C|$f~P!65lgSJEhmLuTNw(;La0@fg)8}UXP(9Gahk$AO;mq58Q z*TK*DCuDT0q-3(!!{@-UjHe_APh1+gdm^a+7Xf3?`SIp^@iuw!DqTD?|0r1WF9Mz# z3Aow|_`DbJ3KtL@t?6IHn;MCiZ1DnaMnyN`rICOw2*_trXVlT|iUd4>cy-{pW?n>c z@is)_)fAa{Zv0jVz4}!o;OK`t0&ejFz7Ywy838+@b;Nr$5^o*i%|#q`a4R3zTn|5w z1gz?VzYc=PnH%vZk$}aIbab!8V$Li?+Wgbwkhse)2!m-S;h>8A9{X=|3Eu{_v>u)W3g=whzy)uWq_?@OI!& z<6@kaqbCm3&^*j*k`NDZ_;V>EN%SGFRdSbW7|tAA#?Gz+IYR%1J1%-mqG^I8-6~%cjrqhmD+`Owu_3o qm5)^_fh~C-3Ri|_U(~zvglS5Bl$EN#RQL7%pDxd?y;T44xc>*$1P`qGV1y8E0l9>L7!V~ORkTzBf?~mPi;9%Gp;C&9 zEp~C-*kVNi1xu}*SVW~Yc*R=<bS`;5*QfWB&(`oHGp)*&p-I2M*< zPRLlWBwSlHr|#X%J^Jg5Ypvl-1Z`t=KQV!gv;tXViL)?ZG_x<#=* z8IJF7^L{_!a8WETvut2_xHeX-*VP>uxjw7;f+ZYCc=4FLaMhUSIrxcV?+rg3`}MkU z7cA4M7*6Q{$Z-`@tx>wv4$vLhuRqsSqGbKhh+P@6FN)aHBKCC(=XMg}66CmQqgJBy z?H|L=LT-T^N0+}4n_7-K*??=wtB~* zV|-V#QhkvV8A{Qg9Ei??poK??4>hv$;XHM>@ZIsbsct}|1hQ*2n>Hd-BfC}{x#n?3 zx)GT^)X0J8>{y?J52WSD^r1!$LeVvkOOOC(7b*8OzCH#7Bu^vvt@ zB>m&`P8J8kyDl!$AA|=kDbgQ?ds`RjPs994Mf#u6+lSL9C33z%dxoiyI97)1F&rH#7068c z!k4C;o6$KVylQSiv!%_I+7x!Xv`4c%94sBq9GM$VzqGBpl`Oh+wd3&qHhFa&uKsni zrdvyH-HEwxx!aDZ|I54|weaej4K6JmIyk&DR@8po^XNKLsext;#p)yVx4Ji%T$auA zCcgJX#>`Cp&xU%O>HU+*+W6jftxupLy!Wo$RI;LWdS)zR$oic8&l_Ux%PLi@Kz~l( zSUkJGbA`7gL~GgqrF?ywE@)h~X%ky_=>K`cGnwj|uCanK>b#i#Z&sfd%kIA~Ut+{g z^72vnUp3SxRe47KKO2fO`t+z9wLG(pek~kx`^qaHQL%2jdQL0I&(Pc1{Il=Is&Xpc zZy$^I*5e*hYWSx`b;G7?ex*47%26d*SM=BSn_;$}*8iG}md10a9(S)A{T~elS>t0_ z$uYN<^;KPGRS#HE*Zq!sUD@Jf<%i92a8+65hodiOh-K0(ksK2iw<&ldvn=Dou0PUK z7_zucS?s#lDu_cKYhGFT(F>-{NBzsgTh?|=jiXCt*FpXJHWWO!F_}D7T6(Iet}PmE zn$0*OQ3G)4~FQ}>WdYwzRK3Yc{q{EHhoq!AY=6~)%@=b zs<`cCfBNU>KQ&C*x-2#(_RMYh`cG`yyX~6%j#ExQQ>iwz9sPDgY|NCcE6;0vTmC&c z`fb*4$XS!$yHj!7^7yN7_J6aXa_cJF<+uTAO17%Z)>A5Vm$HKFjLI>(U`*I=T_W`Y zuBGDEJL1LhKR(;A_D7Xle=wqrev!e7TUTzq3&!&_Vi~<#$GTrOzeWC&4YBS8Z)6l? zRP8F5o4?zh=Hu`XIJ@@K8gqiT8}dE$5SM z4cC-pyzp$pXTyU}Hp2}@eZ%VJ>XZ8$t{I;3!mk=W+1PN+#EjKXHH_2hz`YHt4^esH z@rLZ3=d}qxS)S;TtnF3M^Ru!RYv1SmSW= z1A0208xFoFSvPXS@vJb_Db|vAI-X9Q!-|ew!cmvSTJ{s=e5Zu7wiJfvbd1#vzPC8r zY%2IbdlqMUr*PiZo6Olrg*OQ9JqnNqfO#oU9|*2MNxc@#?x^1gJ}CMG+#5S~4l5sA z)d`BJeitPlL2UK`az@>I4_>PqtKWjuN2)ct(&3D47p7e7=}_8A?L5|k+2?!!ABYUP ziXswqatD;u@9}gpZn8$d&(q1&+27VCy{$2Fq`@xSkuU2NUb(%nanyVUvp@FJ3pt}M zz5UG=iL>oH!;g1%2p8{+pC|jzrrl-V`PbFXSv+%oU#U4`o4IV~o7rcNr=MsaRzKCO zh3suZ*ex4_(rVQdD82tG-LY=blbc&)lnt)y_{<@l%2X3D;HH$R{0$+GKCj)Tl&K~) z8K6uxIbvTLvA-6vFZb;f0$kw>u)iL$zY(!#MC_Rn`|5~2Ct_dg*(uK8I!~ZIFJfOG zu@^+_MG>1j<))OWZfG(t&M!SfVscvf&tbIqsUK zH5s5x^-9EkEn>fZhTT3>9XLbCRBwjQ?(3Jsdudb3RENSPuPw-VuSo)Bsy~JevnPdL z&2AU=8CMfdxS(D7g&EjDUkUgv;hTW>3CjSV5pD-GuL1lR(2?*k;Ds7p5#BzowC?1~ z3p2u#&n8pjBR%n{(3CRO;U)u=ss0qP{~WQ8MC`vr?Dx;K3(WJSNy}8n%mZU0q!@1Q zadlDn>1)53d9m8j&cmDC<8{8kHzRc85#=f~JvHmnNA4m8?2<oZSRRDVp?9FC`Uk@|)&&dC?+5*)j_VAyu zxl8B0Ij+7D-nxHMYKH2X>3nSLez5tL!AD?R%~TU3^;f~>IBz%gSF0tF`a2@_-LM&t zyNfth=V8B|_oSyGaDL2u^?waE7qTC6TwSZ)6?=%WuTv-e0MHnn&(R!HKToxW%??`| z`+8L%c6(zlP$R@{1v?d2i_~NY3~-}ySfakg){?kxH$?2^5ql+UN(IPq+_%?By`9iO z^#JT?s4Fx_=O(pV>LI1f;e4q{F!oy!`$)w8JYu(OhES3?;BFE7yoh~4qmA`vgPDzj zwUu`zleQ=2t?DAN2SJPDNi`F8F}T3^e_!!!*d@ka8?o;doBf*s zY>znXgw3=38ss>hbk9cW4~oq}#nm0^f?yN8I4(g36Raypf?baC7IRK)Qq__AS+HIICg@@a?4Sxct{zag zip`BWw-F(1j;Xh?A5_19?GiiW%c4uP{~-R{@yFFR^^Zt>yj4^GW&r16D!f5oYZ^SP zMsaGA7;s9&{wC~V=s!e`(p_v*-2deQZ)53$5mI@^dDjDC)6O=E^)vUq~6||pHg$hwk!H8wK^q& zeKxZ9F|Du{6sZXsu!{H^h zIpXlL)GtM_IG*Y6ongPGK84Nuggs=ht1LWq*s)!q11gVCAtaoGxGevqN?~)r%y`(< zefrjn%#LS!m78JT(E^0!-k{cJyUu;2YR{t)7ZIp4ba=Ksx4BEI+b^p>qBVlYTa zWPMTi(UBe_CeXGs(U(}pM3p|*GOq$X-ZE#RCt2pFzBs((FHh@jVVn1JJ8iT2EEN21 z`I{(9=(9Z>`F?KC?Y6d*%EOlFK~HMr;NfuD`~7zb&Fbw0An|!Xe`@4lXBa=)Z@j#H^kOYS zF&a4#oo5&I=_vhZ7m7}ejA*wbn!LNjS&JtzqmcvAc{Nh!!_<$)BSoDW8PPJ1UD#9J ze6C?Fo_f4@kOS|HNIw~V>)5=n?SYIm4>{4oUZmte^qWLqfij7#<(+96nEuqrf#`)` z{j;#|UvtOHaWAIwYkVNBL1rszg?|fXD{ACG^a`+k1|LZ8Ak(KpI1qg- zZ2c@gkUmGI4>fWidKFkdhYzH1)!%Yb!V_UTJx|-V)X0JORMUr-1yV2Zp+*iwXPth5 zpZ2S?M0OJgq9-9GmV>L=fWi z`X5B!hq6yCD)p;$SL&2hP$LJTFNKYtHazlCZl~Air&O~H+kHEf%VFzh!goK)O>wkH zE0EoBK1V#Mk==1#MV}Y(fz(rcsF4HFd1&-Lde|#nziyeI`Ztz)phyIk!`hF#r4Cpg zAbJcXIS{=aSo7wHG!mI@sgVQG6JY%&K9DX#rVll8AbK8HAH)aJG-Ucv3)`J&HePhr zXGk*lYMH=ek)=kKk435rA;>q`zqH}iTs z?EXovemfleNsn^TSBpQ#Pj>!5rTHR{g!4!x+8R`?!f%|+O%+gKNTe)e=V|V{(5adG zu0%KoHvI>pG)L`s0HhLR>eR@A=s>04<){4#VS?K#BKaV5&B9$zlZ4$N$h0+6mkW@BpPKy;we$M`8H zSgvK>-xAc1JZ$91x0)3F4lqMx*S4T=P#A>D{frtfXS*W<48 z6Jaj@{lZhB|4bNtrc@gUY|Jkjn8_T>MZ!E@mkV>mR|?NTxkLi3Lb+0SElQ3{KZFmY zb;yiKjU0%+!RT23tpH{^ab(+s`Lp`Rg>%4N!TLjdAaN1sPmLUiUN8DfD3i!;cfdy; z{i%`N?%+2({;c>dN**7*2OmiLk*QN7yX{9YSbu~Mq(jK`p+*iwF9GY1@qzSLWcpAe z2cn-4J@t1$DYB-5^eHkMP$LJTH;A5%l^6)tpWp*212+Askpt1oVe6Chz~v`C)X0J8 z!+HGONV|&@L`8NZt$?jL5~LFGsSplC=b_>tcyf(Joj!#Rq=BMSBL|`nYxKwZSD{k> zH{J32Efv(rf#?%q>(A(+)CJ;0jU0$x4O@Rs52Y>PmdDf+E@7 zOxUq=GS@eJsF9ry2jYD005c9Xvh#UL^t~v5E!-O=6K+;K|Lw_>=wi^0?n}#NX3#k} zav-`HoSey*L1$ZPWOv?}!HLf@@u5a`KJD1QJGoYfQ#+JocXFBKItD?KTlVW)Ok5IlNq!^nS}0+cU*L8WOuv^Js)%V zAr3Wj`5gry6(j4f45sX*0w;>*Qn3~0j^*wRwbEG$e8_HvN*PFIxk`Mfk=^_A8KUhV}AC5Nmk<6S9tzC_yd0~ zHN_ra*I+E2WVwcm4>ht|>MHuk;AV&qHL{B{(et@ce5jG>!}HJVWL%&-#HkuO*#(*k z+xa{oKGew0=P}XiQBL#xUlyGj+4)cR@Bihv8M0w?yoewl# zcACq8l#Q%86QnF;eW^k7VJ~CM{{onaZnolE!oR_>TQ1Cow+l1iI${25#d={B_$JcE z=?6U@nK9{OHZowoyj|nzH<00lAcYdlVX-EPO+h!B$+ z+3j|27Jm*n580htsZ~-zk?c+`oRf{0)>Gm`jqI+Jy`mRla7nPc6kidY8rk_D5S{*S zSx%{=fI?)~_^_=o8rd~|-|1+~JqA~cf&SrfCTyph8l`Bf_kCHZ-hmW0;`L!9(yOg_Zz>S@q4^AYh z*q;oO>1?hJFz@Bxg-v}M%AW}jh5i>|`kxTaM#(Ff{+vjEP7)0Nl)79hrlXuC%ns%W zFGk5LLGzcSkZwd~V`}6;^c7(0-$Thvz60eNVaD7j`~b@P45#dDwo1jLERo&iVIHYT ztC>gYQB)%Nm(Y8#*%>wR8CQ__ca|CR5Rjcu68$U9(-tWyPD$ZFbaQoNSs(Ld7aXXW zFS|rHD}+tTqj2NW>*m&I z(Hvn8V4Uz|l$Qvbc3{noKhj)e#^fr4Q!0=OGdhgOB{$MC2nkLXX(BS2H=(X(R+1+ry0cK;~8_e>W1~LQa)HoaGztHpd z&mo?Kj6;p=j=edDQu6$MSez)5-P5mL^lFq@$Zl1Djqm!LU7{xy`Jxj{UrN+@4=^hs zY~sjDo8zxr+hfy~4Y;wZNUB>=t(Afk{ z*ak(gsZ%2dq7N4R0+f})wJ6OAB^y_B=A$h&av-`nhdS8!*Gk)VTz?vYRG5?E7=#QN z&=fGzzgorzQJ3JsMS2;TOy55U{~G=MO_-DUyYN6babuEVgB1Yt)B+Dhh1nVl*Q1U; z)SngRAm0&YXXY&jKAiCvqI0KPjLf$5|C-0En>eMO5o13}X4l|L;ml0@#1z@-rNTo{ zGCTcpVJ`C`;agBLJD(4Qc`3HQ$P<0A{v2JAG3?Sk2Ad6@K)Fx&w6QyCD?PNp3PNWErWE-A#t42?uuz%3{yIhv?ME z&i`D`pHD!x<%WfiYI2IlezX`>D5nWipXo7oMQlKQiO005^L!}bfIh$n(rVGEk=+Zc zc^!lQMrc3f^WQZtg`>`cinK!-QzHkW?-HFS;y~277n0wKPL1sDo_`d*@m20ua6tOA z=;gfrX}Is>K9-8pD0u_Y?Ey$9MW;p%L~jtCf8|nvIyd`F*qj(OvYS1BibA~u%CYoM z@hm|qkP3=qcTQBncC$3^foM$4ya&p&VfWiI)9gsvwt4tbozJZ{u^nRR8S-b+#?~?AiLRr zAU@Q{uH*j}UE$iE?fG|>Yn>X|`S%f>ztumN$KQ2uiB!x*1F~yywdnkH|M^}A8$_o@ zcK!?L)6q_VzcC|*Ms_FH?>zr^ zJYLSW@8JXKJ<+L=Q-M^hfS|kDj=vNqYUDulRrEQG4&vN;xNH+D0td72vo@kk$?srUX04L71`gepGZ-ww6EGj2Q zAIAHkFyn1x|E!3id{mexKW|jj$*&4?hTLsYuY~@#=X1nkZXf8w8S)lE=FGnkW=!+7 zJ@gcprws(x8Fx?QB=ix&FM%fsFGE=jTXzE>EkLF}HF6+&3E2HE%PR4qMhzL>~)VAIAq0Uz+GcjU0$x1zYDrK;oX2KGev8=;w*f6EihT3?7$>$htcO zq;aBCBL|{a!`9pAVZR?{2h_M?f#_FC+gT{5qE2t8H}3hOQzHl4&HYclEPTZHsM+E) z4JO(BYSVPs`WM#6eD#8ksgVQGYv^+h1SFoQ99)fXAUf;JmmVn1?=mJzDA{Y19Jgkp zQx@z5-x`p*BI^R%K^~cBD^dbkTiM=ApwERJqYhpO&K9l(GbZ)?#5_r|w z3SKFE9ZFm(MrTJ{W%`i!d3;cqZTZeYpWa||u84nM*wi`r;ouYv&T6bwuyK_zM?YDZ zBQ`&Vg+DJjb1cD}6^}FHFmcx8dr;07W*knAI^(PqzK{FARbnvEox(tMcaxL-b`*`< zLEk7k2Y~=4DD?+~zX#@d!OpmHS9xq+yPz+G#+>Mj>z}jzwm7Xsd5bVd|9xQwN+Rn* zh)8!MvxB5?Ao?cJ>0gNK{C9~?jqLniK>sGtTPTZ>bx+&DZ$zg?4n)WK*|^s;FA^98 zHL~05Wg!Fy$73G|a|2z(A>w(a+u{yLjAP7=<}B^kL$PIp)3IafQb%gz4K#xC6@8!i?RP zoI+3@V^%T{1M=D=SD<8aH<|X}1S2AupkM|vL4{eTdEk*cA}9Fe4-z>LotL2QV|`Ld z7<8gY4x|F8bcuCp15T7t!CnD55Zwgg(*%h(Bl=Jy2cq-Z=LA-v7yaVO=9*_38%40M8qY#iTMP^%SR}l7j4^{@*qKDYF8l#qO;Cj zqUN$3Ld7Phn~uw^X09eMugv!5{x1frU4u^G#84{sk|Xy4w?}r&bHw=r8?T@o`V6BY z69dz?0Gax5ls$!0G`i8inS|9dNpn+(WR{3$m~bFEZP&56(=mu7r<*~HuwsBB0ZvAI zaN`=F61;$sxU6I@6_X2OIv8a&qgSNA)k){3D(o1IRB73)>}cz1?o*;0pRt}#rRO8M z@!>`n$;26B(BAJvzZg4N(b$2o=>Xi=0hk?_BR$TLfmpP9W=igXYy(7g|<0 z33N}(+&b%C>0Mp*4?FR;i^Q$G9%z}HT0JOzRX6=e_Y-6+Gt(DjS!R_1zVPwp-Sv{J z6qg057E{;4D?DE7@dh%N4QY$Vk9xev<9%dVg@Ya+_BeIiGrsURt65Xyb{=>2xR@+U zJJ90_k0*LO&EwhRJbBw&Xbm&7T!)@-tFf*1I)kpbd6VeypG((2HoiKHjf|k zxSousDbuSSAM*GJIOUv9conBT&c@x=`S5Qx949?4@wnXMu^v~Gd9y*9-oz<2x5-eo z95X+yTX$NZl zX)fVHPcQX&xW`ojj(JU-#^X^;62 zK)IOw3mnHu^11eKlsM-6%bfup>v6Tm(>ffV{X4)gP6y89v6CC>hW-ot300SagAkrG0gWWmU_I(<8>Zy z^mv=ck9l10@v9ym^7u$wUJSA$@olKj-m&kKZB7mj0;6rwpf?m*RmiC_T7TU#JJCZz zv-;zKc7FP&{dK?A@`}EXHN(@tr?b4Be?e(Px>XrwIWj%0Ouv$n_hY_qYT=m2c^(&% zZ!G=6YP)kypA@tnezZ(kBqXGVVm+^8ADp8zdK6z%DAXy`eBs4 z$H4*b^r}J*WK}JGEh_`BJFqW8W*v4yYG(THqjXX4=@IwBoA7dqYPw&H?A({9$5+7p zrilAGxUUlTNuK-0^gVP>N8A(mx~fLpCwuO@)5qvu7jduk+WWWvsL={qjj%7Uq$?D;a>wk`d{Js$6KZQ zRKmYC-Xl1|3S_2(@OLZ!b=Yq7Lt3Sm(Z4L>|L86DFE|Q4A1}Obf+;`9lqB1!`b1v&-C2yPhSW35gQ}!`{B;t7hv?OJ@>uvgUoMBOyZkr z=kSw3?MLj1L^!gdX?%0w>*jwr5@8D>oNpq$9f^>=vgu^J){AgD65%i+j4=^Dk3^_N z1e_IS7T0+Zy709KwwncCX*-z+9Z};i+i^s2t31z(Fd!140ugddguamo?Y?WTIIiUN zUW7{{5%`*%Ya(0{iO>}h+!z*k5pIq|;QKWGF7Zw!mP2pb|1mLtL~CPEmA zFcA^fp(SUr#EVcLiNKfkUW|}>DiYxxMBuKC5pM7z{5}$)5XW#i4~`@r4W|E!#EadE z-vh|B@o*bzJiorQ@!B*V+)WU=m`QyW39)Up{ZRvlbh8(tbL`C1V-MQ>mx<5;HU8;Q zj|lZ>$q2aK8wW8m5@9{;|1irkG!kLO_w5(fjPM;V!Zncyd>{Qs1{@^0Wtka?SG=Za zS#S+Ej_58M@2bXSDaLmC4`*5DwUL0&-C=(x`#6H(VrUHbqz%{@FB|*RPT}O51ivcq z*J%9@npPRdtTBLjQ-|Gn5hB1)vqtXUs;WRO(+)(aLdhX~51G-?iE4&5;S5}a8bp|I zmMJOt`6D`oc>CbTcv$|%ctti|)2Xuq+u~cookJ7DBN6uCTBt`$M!3z3Fe);l5`4j* z#W{7jI#N^GSYy5jKnypFfv9;S96k7dbh`X5d;=!KzSHZpE)qH$o7TbRbbSOh{=_%_ zsA(a8=tX!p5}^VS2AK%Ii$pkr2=mdB6UT5Gm#%r6GYRl@k0~_{IM5suMOBZz$CuKPngx;6N#|z zzNRO^MlZtWkq843!8{34CnFJ#BSIcpatuH9BJ^u}=J6Yg2)oWQr#|rGLR26#Wo^QR zAa`M4<04&T)amrhi8^=0xJdiwHaFe=9`M><8yQa(zA-Ndb7mycdnf7kz1@Rk zi`V44ktXxeq(7H&=yxKWZbUP8KY7rLussrCQ+o2nI(O)nNb@6J^KD-91Ci#>rSC`c z5&SmCU$T;|_UDc~1P^=7%@;bb-FaGd4t}ZCoCbf3MCgh^uaz6Y4lhCsw{#ve7eOWQ z4ULJ=0yX{^wmsCenSI2IaBd_*Eh1zvLWfHtHA_*GXJU_!#LmW=xKnJW7yJ51gms8u zZ!-Kw$sb)35lYdLD^%x2xGNH2A0m{PG4T5)KSH$^;g?>7Uq&LFLIk^Y^Yoa>NYI8|ryZ|+nDvPrmK)Bt!=zJkoU z81gqGA&$5ZBj!W~QR78;&5LkbBtlIO{N%wLj8%~c^@y+(EjfnQy$D+)5e_55MJB?g zNQCmAHO=CH7vX96Wy8)yW;(YJOB)^-(!Rs%|FY)&NKFaa*nP*BXQ{E#T4Pt|_ro@} zrtmB^t;`6{|CcqB&r)NfUH7kQ(n~MX?V2@p`;&j=*kR{cYUXoMJG^$58gtfk_$z97 zM!IEe>}NzKc9#Cc`(ol5W~uFm;)g}0bO$OmfLt88v|~^laY=Li2nuFh%U_^#MkAwC-}duYF#=7uSIC_Au1mV fN002%oPWbRu64TmG~Ki5e?XP@_{?egtq%VOaZ58| diff --git a/components/esp8266/lib/libcore_dbg.a b/components/esp8266/lib/libcore_dbg.a index 072cf685e7ebf213d37ce872777a75cdb0a8c51c..9c6bf6911f16e5a0a8dbbe6e7913b994439d7e2f 100644 GIT binary patch delta 27915 zcmcJY4|r9@x$b9@0Kv6^u-Ooh2s3!~<$653H z-ub?nS+i!%UTY`8{Ri8v`K;ZN-l-A8PCBu4L|HOfl4SCa$>a$o!%B^utUX34b&FD+ z7yaMoQ|2iZ&8ev1+f%10^?%Bs7nU4F@x*UzlG^tzchTpt!@o|Or)@!HJ%j2zZpf9brLm(<-b zbM|$YUfcNBb~D>&s-Z)}$*~`VH^)jl$odL*oRZu4W-OlJ2|XJB(fO^Rp3pO+tSsCf zE7BVpyPdi;i`|6RW_Al7Iz1L{J$+NF{qUH(3>S@^9&W!b9_H=H3CoecI4>uhe|}E5 z9J~>E5AqS@+Ush=lIxP;wzo>c*xMzSnB9)ABNBD?3=nWqRxk%M7|z5t~#rw5&J3F98m{TpQBzA+m7;J%Ns}4$JP5{ z=NkWn`WPigQ(){KrRpmY#v7rh%9iuC0mmx!J=gb`s{bVued$<)G3j2mOrl6g6C9K7 zZS|g_QzHkW<5q-ESUo+|RR60LgJiebkE?hT0H+38pJLg*XRM?3O ztC0iIdB(aA4oEe~^r1!$MCbK&?aUG%YGl_AN3Q$gfE129v+H=_JlHyk0}`(w+owhj zk~m0mv&8dCWI7eG{lgV!=IZ{98_v8UGowzWo5$#Z=~w3INg3-^dcin7FzkEMz>IzB z-m(FDe|qK(dSJ#O6;{LgS9r;!frGw5TWqvK+8l$ucrLgQnTwKjEW3w|@Xo>X`rhl{ z&FfC@&YpK!m{~n=&y4|#^_CkxIb~qic*MIo{CLU_ zbTaHRwO_mW?Uh;=jsO*RkrOViU%Ol~~F#{GL92f~u|+pLH9l$1TUGPFvbi zkTpJ*l|229vd(!IpMOH*?tAieyLJaF|GMzrpC6Z+%Jzyn5070QYbbapbHw^~m6iJ! zDmA=v|FDrQu|z@U_*iE0^suNiYKLd+&wE6l!H~+l6Ne3LDcHO`nLJcda%f;O`pJHWRe>yGcD3s~m2Yl&rIBzYHO92mq9wc~^Z-E|)8bZ;I{JN&Prn#Gm6 zS2+CMH}%l)U-u5dKA?B8u6?ZWq;P~zjhm=&YgKj%j!!1%4PWu~z!NgIj8yHvX;DR8 z&iUxu(>`jM^60s-(_@?N%-0_=a8Q>;`8}o_*;J{Pbvf<*me}c29-VP~r#tf>=&Ijm z{j#o$@(1-Q>QWZp_VKWHTPh#DNIJyF>Xd9%nXRW(>fXZ(vNI}A*9GBUmUd4q?5K)5 zt&JDO|NL6Z;(IF}y>fJC{adzG)T#2(t6{uOBbG6!Q>@Q9(>vt9*b?hg@J>cSM%D8L zm*sD0iFF%ZsoLZ7?Cob;1{61bU7r2++LqaQ6p_l7mFRHMgndUx6sT#+wy-fGwJhIi@ z$b*sDTL#7O^{38Ap)|GUL+Ju$?d7aRVicLXH1*p(o!njY`@wDy%fQ%PjXyshnAi@P zI{j9+>79+y6(T$M6=rQ<*z|N^>p3N%GMu$V$g1(%r{C@H-ACTC7v9bOu6lFR3mr0s zl{OCFx?6`8eY3)~?YO$Ml&Pjg?DLPd zQ)>Frf|?PrYa{l>5qnm|o*l90MC>b$vQwGn*`-a(R9CkdpiEU4v9F8R^CI?*5xYKO zX@jy?zZClUMJh`j=KHvG6%#nr{?DcD)yPR5?4Hi_NM*t69KV)IiduI8vO zC7$<5Jf*Hsof$2O1Lz*H^CEUWY)ae-Oyjoz_AK!ISO{@-qgoNEf4tSkryd)A8bS%mr_7Yqt8K73XnwB6 z@kQHT#6Hp3^OfcYm?Xw`irBfZE1;ia+Ph5+iPTp*o1eODV5$?uo*A((gWVH#vytO! zfx0Z)ZeYHk$RZsg#JTp-X&e})yN{)ykvFAaXd6VYU|BYhY5H- z(!k3Rdn@dv2!0N?Ph8!jK8@5jN9;IHPZDQ%Xv99<*tUN&fJqUD%Odv85qk-2&ITKg zt5Cfpw!P2qQ~M(Re}i2H-&@U^NUQdILX-YYBRwfdVxvW{*+CU@Ts@#hip?)k;_5*) z9ya?JWb9w4OJTdj`1uh#6#rhRi>rs#I@qp%Gk~p;fIq|LqPffjtW>`x+Ajj1zH4HY_&>Ukws?Ln~UwDl4kJ}UhkE`w8`k*z6>( z)~c6aa|TW}_S5PesUL0Zb?Ps$UE%;0zVcxEcI$pl^$BqP6zr6)SLNc+16mw6%M7s@ z99J9EkHqGz#MO)HLD(+Q=hsKoZ&dF_>JJ`O|1$P}&W|KEFakCQWIJe5=SAulNPRtg z;`qeA?}~#^D&wsO^20~0G93lK zzhfXd5dC7&uRvLhtXJWHGz*#j)X0J8C1AZeZ2D_1j=TRlbo`?bkV0homkI}>^ET9v z;ehlwGJU9#1JTRD`th)Oe=d%5_76?1fq?W5GW{!r1JTF8*1yC7=}*Y?p+*iwKO#E6 z6s!X4CvZUO0Gs~Q$bsld(Th=rJq~p3#jm81_-MiJG_!<*r^1Q@xxJobol@M=S(_~! zJQ>y<7^sfkmeW4xs;3Egmh9%9dz3>{a zmeFMNQrmn+|3)CvY~)0HWZ^(`*6H=(w&p8)@uLXoO5{WbyW+{g^I`Rux#M48o%tD; zsZ9z8q8Gx}ay5ShW((BF?kX42XG6H|%iPokAd*>2D=l;BFp3&E5S^Eb`s*moy81N$ z>1kx@)X0J8Tw7Y6y{s4n#K#?xnEqU~Wp33e@V2I3Vpo zW>kf6Ao>{C`ZqWr{T-P;)X0J8RbVZT|LwV?;6sfZh(5vd3EO|wb-d`+)aBJ=fW%TG z2cpANx`{{o%|U`|LO5s&Yri_Vmt6j1p(Z-oEr}d7Hm?6_lD_ISx+|4NPGHZTE*ywn z3tMl-0f~#8KDEMu=(AvJnK)i<`cNagDV}3|!n(iZju+3lRHTI~czTGUMs_XN(TB?c z=_T=@Mh;#Ncl<3kwZ&AbLsB~rCOHtj9=86i^*JIw)X0J8{8F2}=b)TVf4RW9qEjQg z3%`Iqa)HCyUw0iZ+(7+R9FY1;EH!c&It!UT)X0J8J;8cA4oK6G=|hbihz?YG2ankE7XH2K zXkps=9UkpNMS|~J!hz`KyfCLO>B-^Fzuz%>r?t;Uk?3rr$${wR?B26J7l;ova`0Zb z^l-nFcrKJ$o)_7*kOkJea6sZ168!!QiLH=X&zztjNz2;6C07YPkRXxWnlb)yBdb(3 z$^>@(t5D{9%xb-dNBfN)eH;g(p9z6_4a$ka=cA-eoqVn^+czik0RU+RGJM(_aYlIH zaISe^NpJ#?a3?ErAxd6H$E?=u7b%9U_mbq3hEtDZy7|yDk9xi3S`-PscOl(~Os4Oh zmQ(5~T;K<#f|I>cm_H4BQkb1~hRtBU1~ZeXpC!y|ajq~2%Xjg*CCGH*nUmco$THFS@x)9Y4s4C^aCGp3a9401Sbu~A(u>ISr$!D$Zxa1? z=wBs~HCsU94#|L|u={}AE;?5wFOQaw+a01)BL|`v(dT0vkai=pO={#o^kQ&Ie}W^@ ze`&{?y2U)l=qkQ~#Io zF+WMAQyEM)5Qtt5+YPjjG(?T;23kR%eK;WT0gLTa2nV9`Qc>sH8iP9hIp-g#R4OQv zgU^kuMtK2MkTjhv$;Xs_v-Qq(HoN9IACpbHJ73IsqgHSSQ*;q=!iJnHXgKM^I z&I~#SM-D_cgZsq#oP&a~)W~+-;QY<##OW4sqDFR$D+lZr*8(sbqDFR$i=DfH0$Zp3 za&Uq#=}2ZH0@L?%UcM9zcJ>7gFh{pB!}3;?rehi0{ivf4HL@EVuebZucvyU>k=>^T zCruy30qG57wnHsNBan*!lnR<=7ZaU#Ap@w9o&N#Rc{{a}6F3HC61uzIanY%f-I^%0 zK4$&d+YcR3G`F8Dt|B^dcR}La!9h?ncZ%r6u-)D;PkgA6-3*n`M^2_ee5f^O^zY7Q zu~e)^$%WDZ(<*dPdU$@hI8T%71>!O$_lU1 zexg$&JO45Ck=ZI2A8KSb)m8M7!OavOYUGq_XoBZ-qc~9`JD+OL=Wg+#Ms_|mp3fuV zLyhcw){EYhf%|`&7x0EuP$Rp5>7LJ@#D^N$`P9;99}Y;LichVuyG3(gn_Cq1G4fcu z{>*Ks`80);g{*m6lHB$=7IxxTD_$+U9hYvtFyrnL&PKUJ_yPDV6-J@>I?i^6LeDq* zKMXpVCmAqbR%Rp9iTVw~95HP-h!=!;R<8(eMmbA5xEAGXj}u_`uwynNw4b6#BUp(8 z(#^>1fFtgS>=svp=+ww=aploRZY{HgBbFN3-6^kv*=8XImjpZiH@W|_f+CF8fVaUe z;19yQw1vnnc(3Tx$gZ=`oQ}@E^!OhhXQIxwkLz!CC>fo3xB$<9Lzy_8g7ReH^=RZg zVP2*p*qXf{)rwAy9Eg66=+!8%6Xs?74{{2fH2{hcM$6I3ta!* zpuJ(f=h1&EsuRaqpIe1FzB`2%VC*Y|>%p6Z*|zzNLM+$(JEC))r`{8T>vq2|gG-Rv zSrVGLT40_BuO4--TQlR}A49taHuZTZZxX&081?5UC6U0dS$6p0TtvhykRe9U%)eoJ}&G@Mfzo&JFX(p+hX8aWWX9Jc-^J>&*J zL)3UP1fuiWa%Wx#jn`a%ivtqZf<9uXuioPDDnO^ZXCjftH<^)8q^Za>o zZVlZnI<>pmzq|IFcK2NIgg8+nyHDjN(W_DNOuz5)@$3=>I3VHM6~pxHFFXvTnF;u$ zXqbjR1W3|Z+K>tEXT>}e2{3)J#~Ln1i4$*ScI>_f8z4G0vilw^(pReW3^?5h4iTvk znM`NX0hlY?EJooW;zQkZ%okjw6Ob88jU0$>I__wFAWOfP|KnjKI7B3~!ohSljRrPg zAZ+?jBL||NB>GsCmBRB-n)UP*0LiR;#8M*%qMJ38irEe>Lj^maNDf3dYl4?1Lk2Vn zjAYKnzhqpMNRJ^WI6|a1kjeD@K=@^JXErzJJekxtQo-MnI17~w;I?Y^cJPVN`IJtb z+~o1=!W`rtVRrU~Fwgj~Fdx8+kl7CXe`q;njD=psCgB|@nO(p?g>@#b9kSDh2$!N{ zc6yC4XY^{}n^7`5pU*OJ{b}%C%)roHML%Jl4QH16uTgFl-i7jA;k_t%ceqEvk3^?N zc29!)L_dNuiEQ=*-v3+=?0_QK?FWTm_jG1{1O^{!=0{+%$#j?Ly$xlN=ig6sYGk*G z{lN3*n_-F_^GRx?RPfrLCR~Mbnx|jnF`w2LOaJRVrcIsep_l{Og9Fk+(W#N;MLMMx zOT}`O4+%541dh530BNo0)X0J8&x_85Sc*Egd+rjQ8rkihe-^#<74rqoKN4RVIqEWD z_ch@G(T|`kN1f*DIMPAUsgVQGTSSjxu~wkYoqZ;3woi@hzDCGNNkw;*V;I026{$dU zYGk)2s$jdbH1DTql$v=z{RDtC0ok=PN!p=CcI{Nt2ma>#>%@s7*-h7NqBo$tU6{9O zjRd1mt3;ky|ifZz8bJud;&$bsm!u-)1Jm-tX4 zyN>@RI)7()mgnD7?t5xv>yPs#xJUYd#)33yd8aWXCWzmnz!XGWre-92wTSccvc8hC==l`z9^Wmqt zdm*KEO9e%8AQcN>Yd+#49TJ}f!hz@wuw6q(#D^N$wX=vmpWuL$i-B{7sF5*4_WoN8 z!F|`jv!fF=viq)~NOXQsEusHsI3Nucof=ub2)8d7R4bhTAYFq@e`@4F^kT4n90#NZWcol$*)Kn&;x4IZLb+O)qh~b( z)}wqvm@lqR3GYS8I{NTLUJyQl@|V{v=p(OSd%+wKHL`m(D+lXCI3OM5^`{d>exwIdQ32M!!U2hAL7xiY zK=d)N^`CJ-;zKTdsF4HFt6*zhPb6Lm`cNYW(9QjKyi{;yjuLKw(*$JACk&)FHE0E9OcNnP06kd&XT7(CI%~}!v)DQ>^?g@u-VV>0(VFp(TbM%viIbieSVZ`#5 zGuIf*v#J#zp#9<%I^Q8K7oF|gU^!*ZoKLSD1fTzI7iL3u3A3Tl^I>E3&w>7+Fb83t zA4Oj&`j6qmbwPj5+zgK|=KJv_XNPMV~-Lqa6nqVxi zJ>Of&JyDjxC*?ZeGX^Utl3fR-u$@m|@u5a`KIWwYv0N+WJwn*LPl9=A&X!oN6YdS{ z3zspa_|sMzbh^Z2-U-yNLuu}BFs~(T>Rc!F!dyS*g;jhSMCbbXi7;b-D$KRC#4zTc z6-@5l<^7((99E(1?Qv2Vg}Ds$Vd9KAF7vp;;|{{~HG2$VyMsIN`ZG9*vWqaUF)OLF zLEf6=3Y1K4pxwX;etUsr8U^0UCW+J;IWg3r;Xrh=i4|I(g!oV+2cpNoJb?z3+5G%>+ouUeg-h<6t$YXx&Kpu8 zGMT>So(7{4b+PDd{1o9EQBLx>#^W5Y{RJ|d|2a}Yk?ekhjHA{A?Ago_A8O=4bY2=g z(E8Mg4>fWix;f+Z5Rf=nclpc-r+V37R^ew--EZ|gC^|K=dtK-HaPI{x!HlIwcJBqi z)=OZX{}aP0;cF6P@+_1^!kqSeVQQRuJ=o654AH5P1JQx49hlp)l!{I6+H*D%C*r{S z&)iNhFj)Jm%fc{Q8|np4oJ2+Z!GpnO4-n>HT?h1YcTiVwVgwaAF))1#kW;KE2lPjF zd>pyVKHUP99%j$j%n)=Yav(Zw*Rk2@MpCiK>1Gh4tQMe1fRpz8+k(x`#U+fyX-$AR zRZOlS(*Z{;Nsq9DGqX6_isV3aDw>~4NXCa7gm5r2Wh*G?lRc+Xsn~!(blRG)KuD&c z3WIhB6n!G3#A#Nq7QPCl+1jCVTj#XXryeEWKa6n;O0E-DkU3N2DwNzz$TcWU2bBOM z(*d}(18{2xVABEo65!VMg-!e5RBHz?*nzqBr?Ywc;gbM!u}nrL^Rmnl=H|nF!~I@y zk?7RO?)Qolo)2#}wnGhkNvjh_o*07zQVBAd9kWB%K~i*TWY+-);(T~lFqRrQcq!al zds6!9Lj8KLT-Zo!khQFv>@3H|jMqw`s*)IMZgU{E!a`&m9r=6%AX@!tT8e4fU? zk+P$|zNc5ImH2$GaT_!7Aw{2*t{M{RN(fO|>%LU!w@n(;Ac)Z8seeKY{3qIsksP@ohWyC!0>2aaQC1mc+ zNaY?^d0gXhtz(}5TxWpmJ#O%LiO0)5<{vP+j@NtKL_U_o!Cy~!yxZeXz$xd{>{T4` zI2-${^Wh&vI8J(8>~WdLV?3_*czPS-=e})*n&T!j~6Fi>g@vM|*)OkFg%sm)sk;h9t zUg7atk2iR{+2b7^?-4fV&p*L*ogMO+zqs!7n8*AJO!seB6?$Caaki{w;`O{$Zu#Vvox_9^-K}SvK|Q9?$W( z{XAo&HxI*GPhooBFgzX%NEZ&*L$TG@phyk01FXQ)j252Y@idQTd0gl5e2*7-ywu|r z9Pdsk+_=v~Zo!Z*u-_N-AlO7j4 z=J}U713bp#YLBOTJjdgC9xw2CvB%3iUhVNZaLSEtqgS!jnI7&_jr-VOFdrU@mh~Jc)Z!;9UkxTIJM6+ z4tdNcZ#STr$2~nR^ti<1a*wM#uJO3mvb`DRdKL8^H+a0n}$J;#K z?eQmFcr!>t&0fV3kF)Vq?tJ)%R*sV%7kgah@feS*J)Z8E=Re08;CbZZ?U^m`c(KRJ zJYMbbI*&J!huC(udc4!)z2FQzBwbRb`*j*>eRJ@-sfVU(%k-6p*e3RQe8_Nm%t(A7l&0s6)Mw}u(;G+XeizAG`tmpeh1Ynzo{X1n zrY4WKdA!@>PdsimoURz9b9vVJpln(c+}m0CFFaZis6JudOM+~X=T-ZYtN zJg)V4uE(i*&uH*?iO0)5UgPn4kDEN+M#d{B({7JH@wnOYOyhKf#u$St8?P&l`3FLd zlO7k7$65a}@+8Y+$kmps$&Lg7CUY6jV%hYOx#3U)Y~F$i{IGd zV_W>o7Q@?_fH}7KQM+{A8TeAvSo&A#Q^(@p4pr@q%W<|CVTa|w)nLz-nYd+ zZE;)&6F$ZkSK8wK4(XiJ@ig`dddv9KYT4PwahNTp+u{~mq;2u6Ew*RlUog$snVqh^ zK@Z6IV>bT@(~Li5r?-xW`Biqh8Rek;cq+!rv8u2aP3^oEzuA<5-xq>ih0HoUK&X!C zQ_s``2W8=5)puVv&;B|H-Ou#g3)A<|y>G-l?*{w5INc|B?qkw_qWh^4_Z4ujg&W<^ z_S|dJL(hWy1rc}t37K=}B6MTFCY_@D6%qGZxX+hUo#MGKOuq&9!M8`;_te|3S~-{+ z&;7}c>Er}GVDMuRfBs=aE&S+zj_3bk$8;V2e--hsg}I}=>Pd*NkHjxU zJl84vpXJ5>A`-tNJH3MO%OdeBy#8l<@vlYV_u;-_{L7K}&0ha=y!ekI@rSe171fCU zAQHa=@k7kQ#?nu59`rQ}bVZX=b@aw#A^Iizs4Zkd%V))ER_!xvY!Hwb9 zA-k(@UKwG#@SOBp2p@GvBs{CZe&xwmq|+6H6zjVDg@f#IHrXJ9%sht?}k6ofQJ_{?-zjzH@?c#5V#P__rZT9#*wmbbHk@yu|(>YUh zkJKRO^r=8*DnUFqYxa*_p*4O|B%Y6Y_j5p!*ap*?k@o7*p4%C*E?e8X*0vY4UXOX* z>}uvquRoweKW)373%myIj11^dw=idPkN8s&`LLCDMdTyh($zJX{ zzrpM6+erM5M0y3{M;?yE@4TmN`WAZeMSORJ?N(oQ`alg!m{oeMX1kA=`W zTjm|v3$N&IPWIMFt7E#S*PV@vS|4e45t`*Cca9uUM(Q%Wxf0%LdVQYlA`Oqp!m!z0-Bmu@2fpXJZw}CjFxAGbDt-I-cQa zk@&;C%^sdAkHi-uz9;9h^?OceUZlNpwAYkr+e>@x-Dlgopmm0t zjH$Ch1ZSbWX87<5Vr;Dg8fDw_)_7n0JCxF%aU`D@X|QG$eqN7D%?5$3 z4W1Jj;AXVPPac=t04E>S9v&O_u5NoOd=%bvg?uUV}zlKQBb$Ym(_^?y1j3;-?|L1aUm^C%pLgBk_xq=_ThQepe)Zkr%(# zi*Jdu>#qo$J)lf4uU)Xv61+S zbm{^=&qTsY5bmb$IWPR`Ncgn$TL>R@c_h3F;e`m}>~YU^y{9AL^Yha=*!xG_8;PIm z#Xs-GZ;r$-%eOn>E0Opm-taeg@n1#a*XF02xRdUW#IN!Cf6z$A-oo0yn36w@b!`KH8%X2Ncb`@e6tt+ZX~=g{qPK|o$ZnE!w9dJ-nV$+2O{CC z`=y&_;M)CnB)$%}d#%K8_2N6?tF>&{naE5B`h`v9J>tE-UoMHr&Hc>7%h>PAY~oz9AM^*mt2f`IbGv>=HY5N2_sgGtubh5trp_7M+|NF$*%`2FmYj?4 z1^u~c?sq??HeSlF3sLQ+43ogKofz>x*e_jo5!`2gS6@(z?^+I;uu;pTHMgxF#9(mk zS`&L>S|xrZ)>N5=VJ#k#*Fx?f5{pv`!|E%0q+S+pS92rwoo3e*M2EkIpMQ()z%to~ zp?nOV50P2N5280C?ady5-$cX{p-Zm4Ew;TLtvl|9C#@qJ+#4R4(!2epa;0|SQGRMc qr)AaHniEQWg36WQsZ)Em-#rVz_a95wT%!BC|69rn3og<7yZ>*QiE1?f delta 29132 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 O|AF_+_{-Gq+y4)N^?HE- diff --git a/components/esp8266/lib/libsmartconfig.a b/components/esp8266/lib/libsmartconfig.a index b29f331b1f27db1f6d9ac8681092ace597cb759b..039759dc89d836e9cf31628e6163aa0cb576a218 100644 GIT binary patch literal 206642 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

YJOu_^zwMn9I5o52no?X#9xHvlBn8e(8-w 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 C^z)qn diff --git a/components/esp8266/lib/libwpa_dbg.a b/components/esp8266/lib/libwpa_dbg.a index 304b8dd0af384da1542e98d91429f7ddf84810b3..a9f587c3255806ccd5674d5ca90eb3591d180436 100644 GIT binary patch delta 2808 zcmb7GX>3$g6u#%u>B4KvbUJi8Kw#RkDJ|`EVbQ7(k+wJmhNW%TT9$$lDnkJ)s1!&O zPzZ}dI2Z}GpfLsnn;|?TN@=MCnqoLF6W(<*zz_MrmiGDJ!$$v5G$@qr%l2mb^amKqB z6xO}N;rp~F67>m1ke8we+_?t&$&7423>yYN>EEpZr*rYisB>q#I?r~Uzao=k$`am- z7!!N%bb4B!u>jw6of2XUEIw~d4a+?3OX~w)GZP*oM07HoW^7!C$9li$%C{|O@@>gX zjYw`vhm%3^E50Vz0(^;HKg177uC;*9+`YmwIL2U1Y-&tl3>S}v027zDqB|Ar`d&Y5 zam9cTB9dAvfhyd#Nv8N;*cPoXJPH+d$is7I0jrBSNtu=WN{XY&kECW3S)wLH-$gOk z93RwkL>Eg=r6}wv@6K5ZhgY@!N_||GEqv_@1*eh@(hLVCqe*$I+1{&sg(dOD8NX-~p2TO^xLV3Tukbrx*(9Le@o%bC_eSDV|3FUR-w# z97DW>$+$PDk-2yZ)QvgDbmtS-Abp7H9b9LUd4`P5s&lx67h|t?S1n^|8ePbysH$ZO zYt#JCJ5#XYI<%To=8ATk5Ch0F);z(K)i>Zqfg0OkPN6gEBF|V;{0YUkk{?VBrqhM& z3^mSYj5R2m_+tchpKZt* zy)*glpOeg3n~g1zG5{W27bP9!c1OuPn1k&c&B6Oo@)MYg`+8F}7mxLpk5_b4lu@XS z3NhwkYBJq9&$v%O$rnjxtj*I~G}+M0+|JTyqkA;%6=T}Y{e5Ir0iR~FkCmKAGGk5g zpDF%VKCYxesgZv|@ys#SN^yZz<~hp@c?5myc-AhG8Ea*FlU4SYJW(4@RKIVN3+3ZA zv>NHJQ2KVlw1$;^WrMkfQS=lBcaUVpw1$%sXzU*2W*#N4Cz-MNtV~mUIr$pWfS)z8 zS&CREtPl}74 zCjPQy`IGYdTZVgu_yt!q%Y=l|h07}{mcKS~dAiHxa_5XP{!5X5(h~K?Y`O6z^T#a6 l%wH?lS-St-67@&b@}c=NYjoPn}8fQJGPph1yJr5KRwL)3K?s2c5Iu{e;=S>dxHn{Lb%p?z!ha zzTL00Rr$45X^QYmN}e1)dD4+FW~ggoJn?_@wegHouj?4>JNp^`Fa2x-K5 zV-GX5b;3kHSy~$eTzybt@1+u!5d7Tt${@V2t4e;SAS4QVq2hx+~5m$~%YPUXD% zmBecHc(@chBv75T08*nQA)0GoGB+&y5TnID*Mqr?Za7Bboruh0Pzfam#{^{t(KJRlO2ju?gfj*# zYKsRp+k-e`EC72fFjgsEPlhPZ^hTq){3w)LV5aCg2f|s1n%+zZR`~cE(Wlzuu$!5S z?eI9?3$3H9DPAUty^j$~5i_)AHkoyx)f;8J;^Y6|m3A&#&j`8@Q&MG=f`k}+OxlSt`-49F6V zJ-9zvVqXtL*)p|2T8afv3~zyVSxTnb*8_(@*H4o^65j!|gq2Kjpchu8XCub;J9d(1 zNvudd4SmSM2etw16hjrlJ7wK5O$z5!uBzCiYJb+lB3pt4~icw5RKPy`3sQ4whBAsdLf&D zx7%XTIKoPaPvoi#lOtp*Z1>!|9q}Q}8F2Wv@BJq*N`)O&&`6UIH95QeqO zcOpZ|>rp1GzbkIZm!fSz4f3_(o|Zgugq3{t=P>>T0Nyey7MG{)v+}-Bh!?NK@M?HV zKrEljt+~P-%d_B$Xhj#ch}&fT5GiqJ4vS_oO`?~~kHYCdvsY{&vs7Fl^O6`7&nLoe z&yhKyqBx$L;Fx$mo<|${ZH!IvwAw?(VU0aStbH_N>7scZw~WL)ih{aAE*BQZBsW)2-vAe_(Vw3Tw=9<`0%Pl6KYwe;34UaP7e@{HVQuG((@{CD~FeGL(c28uV +#include "esp_timer.h" +#include "esp_log.h" +#include "esp_attr.h" +#include "esp_system.h" +#include "esp_sleep.h" +#include "FreeRTOS.h" +#include "freertos/task.h" +#include "driver/soc.h" +#include "esp8266/timer_struct.h" +#include "esp8266/uart_struct.h" +#include "esp8266/rom_functions.h" +#include "driver/rtc.h" + + +#define MIN_SLEEP_US (3 * 1000) +#define WAKEUP_EARLY_US (2520) + +#define TAG "esp8266_pm" + +typedef struct pm_soc_clk { + uint32_t ccount; +} pm_soc_clk_t; + +static uint32_t s_lock_cnt = 1; +static uint32_t s_sleep_wakup_triggers; +static uint32_t s_sleep_duration; + +static inline uint32_t save_local_wdev(void) +{ + extern uint32_t WDEV_INTEREST_EVENT; + + uint32_t reg = WDEV_INTEREST_EVENT; + + REG_WRITE(INT_ENA_WDEV, WDEV_TSF0_REACH_INT); + + return reg; +} + +static inline void restore_local_wdev(uint32_t reg) +{ + REG_WRITE(INT_ENA_WDEV, reg); +} + +static inline void save_soc_clk(pm_soc_clk_t *clk) +{ + clk->ccount = soc_get_ccount(); +} + +static inline uint32_t min_sleep_us(pm_soc_clk_t *clk) +{ + const int32_t os_sleep_us = ((int32_t)soc_get_ccompare() - (int32_t)clk->ccount) / g_esp_ticks_per_us + + prvGetExpectedIdleTime() * portTICK_RATE_MS * 1000; + const uint32_t ccompare_sleep_us = os_sleep_us > 0 ? os_sleep_us : 0; + + return MIN(ccompare_sleep_us, ccompare_sleep_us); +} + +static inline void update_soc_clk(pm_soc_clk_t *clk, uint32_t us) +{ + const uint32_t os_ccount = us * g_esp_ticks_per_us + clk->ccount; + + if (os_ccount >= _xt_tick_divisor) + soc_set_ccompare(os_ccount + 32); + soc_set_ccount(os_ccount); +} + +esp_err_t esp_sleep_enable_timer_wakeup(uint32_t time_in_us) +{ + if (time_in_us <= MIN_SLEEP_US) + return ESP_ERR_INVALID_ARG; + + s_sleep_duration = time_in_us; + s_sleep_wakup_triggers |= RTC_TIMER_TRIG_EN; + + return ESP_OK; +} + +esp_err_t esp_light_sleep_start(void) +{ + const uint32_t rtc_cal = esp_clk_cal_get(CRYSTAL_USED); + const uint32_t sleep_rtc_ticks = rtc_time_us_to_clk(s_sleep_duration - WAKEUP_EARLY_US, rtc_cal); + const rtc_cpu_freq_t cpu_freq = rtc_clk_cpu_freq_get(); + + rtc_light_sleep_start(sleep_rtc_ticks, s_sleep_wakup_triggers, 0); + + rtc_clk_init(); + rtc_clk_cpu_freq_set(cpu_freq); + + return ESP_OK; +} + +void esp_sleep_lock(void) +{ + const esp_irqflag_t irqflag = soc_save_local_irq(); + s_lock_cnt++; + soc_restore_local_irq(irqflag); +} + +void esp_sleep_unlock(void) +{ + const esp_irqflag_t irqflag = soc_save_local_irq(); + s_lock_cnt--; + soc_restore_local_irq(irqflag); +} + +void IRAM_ATTR esp_sleep_start(void) +{ + if (s_lock_cnt) { + soc_wait_int(); + return ; + } + + int slept = 0; + pm_soc_clk_t clk; + const esp_irqflag_t irqflag = soc_save_local_irq(); + const uint32_t wdevflag = save_local_wdev(); + + save_soc_clk(&clk); + + const uint32_t sleep_us = min_sleep_us(&clk); + if (sleep_us > MIN_SLEEP_US) { + const uint32_t rtc_cal = esp_clk_cal_get(CRYSTAL_USED); + const uint32_t sleep_rtc_ticks = rtc_time_us_to_clk(sleep_us - WAKEUP_EARLY_US, rtc_cal); + const rtc_cpu_freq_t cpu_freq = rtc_clk_cpu_freq_get(); + + rtc_light_sleep_start(sleep_rtc_ticks, s_sleep_wakup_triggers | RTC_TIMER_TRIG_EN, 0); + + rtc_clk_init(); + rtc_clk_cpu_freq_set(cpu_freq); + + update_soc_clk(&clk, sleep_us); + + slept = 1; + } + + restore_local_wdev(wdevflag); + soc_restore_local_irq(irqflag); + + if (!slept) + soc_wait_int(); +} diff --git a/components/esp8266/source/esp_timer.c b/components/esp8266/source/esp_timer.c index 645f9379..4795a36d 100644 --- a/components/esp8266/source/esp_timer.c +++ b/components/esp8266/source/esp_timer.c @@ -200,9 +200,9 @@ esp_err_t esp_timer_delete(esp_timer_handle_t timer) return os_ret == pdPASS ? ESP_OK : ESP_ERR_INVALID_STATE; } -int64_t esp_timer_get_time() +int64_t esp_timer_get_time(void) { extern uint64_t g_esp_os_us; - return (int64_t)g_esp_os_us; + return (int64_t)(g_esp_os_us + soc_get_ccount() / g_esp_ticks_per_us); } diff --git a/components/esp8266/source/startup.c b/components/esp8266/source/startup.c index 431741af..0b8ed07f 100644 --- a/components/esp8266/source/startup.c +++ b/components/esp8266/source/startup.c @@ -117,7 +117,7 @@ static void user_init_entry(void *param) #endif #ifdef CONFIG_ESP8266_DEFAULT_CPU_FREQ_160 - rtc_clk_cpu_freq_set(RTC_CPU_FREQ_160M); + esp_set_cpu_freq(ESP_CPU_FREQ_160M); #endif app_main(); diff --git a/components/freertos/port/esp8266/include/freertos/portmacro.h b/components/freertos/port/esp8266/include/freertos/portmacro.h index 4abc6267..83f33b4b 100644 --- a/components/freertos/port/esp8266/include/freertos/portmacro.h +++ b/components/freertos/port/esp8266/include/freertos/portmacro.h @@ -208,6 +208,15 @@ void esp_increase_tick_cnt(const TickType_t ticks); extern void esp_vApplicationIdleHook( void ); extern void esp_vApplicationTickHook( void ); +extern const uint32_t g_esp_ticks_per_us; + +/* + * @brief Get FreeRTOS system idle ticks + * + * @return idle ticks + */ +TickType_t prvGetExpectedIdleTime(void); + #ifdef __cplusplus } #endif diff --git a/components/freertos/port/esp8266/port.c b/components/freertos/port/esp8266/port.c index 830bc1dc..10e0c492 100644 --- a/components/freertos/port/esp8266/port.c +++ b/components/freertos/port/esp8266/port.c @@ -41,6 +41,8 @@ #include "esp_attr.h" #include "esp_libc.h" +#include "esp_task_wdt.h" +#include "esp_sleep.h" #include "esp8266/eagle_soc.h" #include "rom/ets_sys.h" @@ -151,13 +153,9 @@ void IRAM_ATTR xPortSysTickHandle(void *p) * * So add code here to calibrate system time. */ - if (_xt_tick_divisor == (CPU_FREQ_80MHz / XT_TICK_PER_SEC)) { - ccount = soc_get_ccount(); - us = ccount / CPU_80M_TICKS_PRT_US; - } else { - ccount = soc_get_ccount(); - us = ccount / CPU_160M_TICKS_PRT_US; - } + ccount = soc_get_ccount(); + us = ccount / g_esp_ticks_per_us; + g_esp_os_us += us; g_esp_os_cpu_clk += ccount; @@ -166,7 +164,6 @@ void IRAM_ATTR xPortSysTickHandle(void *p) ticks = us / 1000 / portTICK_PERIOD_MS; if (!ticks) { - ets_printf("\r\nERROR: CCOMPARE timer period"); ticks = 1; } diff --git a/components/log/log.c b/components/log/log.c index 13599c7f..264df9ba 100644 --- a/components/log/log.c +++ b/components/log/log.c @@ -63,7 +63,7 @@ uint32_t IRAM_ATTR esp_log_early_timestamp() extern uint64_t g_esp_os_us; extern uint64_t g_esp_boot_ccount; - const uint32_t ticks_per_ms = _xt_tick_divisor * configTICK_RATE_HZ / 1000; + const uint32_t ticks_per_ms = g_esp_ticks_per_us * 1000; const uint32_t ms = g_esp_os_us / 1000 + g_esp_boot_ccount / ((CRYSTAL_USED * 2) * 1000); #else const uint32_t ticks_per_ms = ((CRYSTAL_USED * 2) * 1000); diff --git a/components/ssl/mbedtls/port/openssl/include/platform/ssl_port.h b/components/ssl/mbedtls/port/openssl/include/platform/ssl_port.h index dbee9fd3..49ae231b 100644 --- a/components/ssl/mbedtls/port/openssl/include/platform/ssl_port.h +++ b/components/ssl/mbedtls/port/openssl/include/platform/ssl_port.h @@ -32,8 +32,8 @@ #define ssl_memcpy memcpy #define ssl_strlen strlen -#define ssl_speed_up_enter() rtc_clk_cpu_freq_set(RTC_CPU_FREQ_160M) -#define ssl_speed_up_exit() rtc_clk_cpu_freq_set(RTC_CPU_FREQ_80M) +#define ssl_speed_up_enter() esp_set_cpu_freq(ESP_CPU_FREQ_160M) +#define ssl_speed_up_exit() esp_set_cpu_freq(ESP_CPU_FREQ_80M) #define SSL_DEBUG_LOG printf