From ec5e9dde66a73cceeae9d12424c55524d80612a4 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 22:44:44 +0100 Subject: [PATCH] Squelch tuning --- Makefile | 2 +- README.md | 2 +- app/app.c | 2 +- app/main.c | 2 +- app/scanner.c | 4 ++- app/uart.c | 76 ++++++++++++++++++++++++-------------------- driver/bk4819.c | 32 ++++++++++--------- firmware.bin | Bin 53696 -> 53752 bytes firmware.packed.bin | Bin 53714 -> 53770 bytes init.c | 14 +++----- radio.c | 63 +++++++++++++++++++----------------- ui/inputbox.c | 6 ++-- ui/inputbox.h | 4 ++- 13 files changed, 111 insertions(+), 96 deletions(-) diff --git a/Makefile b/Makefile index 80b6b39..a85453e 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ ENABLE_CODE_SCAN_TIMEOUT := 0 ENABLE_AM_FIX := 1 ENABLE_AM_FIX_SHOW_DATA := 1 ENABLE_SQUELCH_MORE_SENSITIVE := 1 -#ENABLE_FASTER_CHANNEL_SCAN := 0 +ENABLE_FASTER_CHANNEL_SCAN := 0 ENABLE_RSSI_BAR := 1 ENABLE_AUDIO_BAR := 0 ENABLE_COPY_CHAN_TO_VFO := 1 diff --git a/README.md b/README.md index 31c7ea3..af5a874 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ ENABLE_CODE_SCAN_TIMEOUT := 0 enable/disable 32-sec CTCSS/DCS scan ti ENABLE_AM_FIX := 1 dynamically adjust the front end gains when in AM mode to helo prevent AM demodulator saturation, ignore the on-screen RSSI level (for now) ENABLE_AM_FIX_SHOW_DATA := 1 show debug data for the AM fix (still tweaking it) ENABLE_SQUELCH_MORE_SENSITIVE := 0 make squelch levels a little bit more sensitive - I plan to let user adjust the values themselves -#ENABLE_FASTER_CHANNEL_SCAN := 0 don't use (for now) .. increases the channel scan speed, but the squelch is also made more twitchy +ENABLE_FASTER_CHANNEL_SCAN := 0 increases the channel scan speed, but the squelch is also made more twitchy ENABLE_RSSI_BAR := 1 enable a dBm/Sn RSSI bar graph level inplace of the little antenna symbols ENABLE_AUDIO_BAR := 0 experimental, display an audo bar level when TX'ing ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO. Long press Menu key ('M') diff --git a/app/app.c b/app/app.c index 787b67d..684884e 100644 --- a/app/app.c +++ b/app/app.c @@ -727,7 +727,7 @@ static void MR_NextChannel(void) } #ifdef ENABLE_FASTER_CHANNEL_SCAN - ScanPauseDelayIn_10ms = 8; // 80ms .. <= ~60ms it misses signals (squelch response and/or PLL lock time) ? + ScanPauseDelayIn_10ms = 10; // 100ms .. <= ~60ms it misses signals (squelch response and/or PLL lock time) ? #else ScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; #endif diff --git a/app/main.c b/app/main.c index a11036a..2e6d572 100644 --- a/app/main.c +++ b/app/main.c @@ -354,7 +354,7 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) // if (IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) // #endif if (IS_FREQ_CHANNEL(gTxVfo->CHANNEL_SAVE)) - { // user is entering frequency + { // user is entering a frequency uint32_t Frequency; diff --git a/app/scanner.c b/app/scanner.c index b74fc27..e6783e6 100644 --- a/app/scanner.c +++ b/app/scanner.c @@ -53,7 +53,9 @@ static void SCANNER_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) uint16_t Channel; gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + INPUTBOX_Append(Key); + gRequestDisplayScreen = DISPLAY_SCANNER; if (gInputBoxIndex < 3) @@ -65,8 +67,8 @@ static void SCANNER_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) } gInputBoxIndex = 0; - Channel = ((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1; + Channel = ((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1; if (Channel <= MR_CHANNEL_LAST) { #ifdef ENABLE_VOICE diff --git a/app/uart.c b/app/uart.c index f54e722..61d1ac5 100644 --- a/app/uart.c +++ b/app/uart.c @@ -48,7 +48,7 @@ typedef struct { } Header_t; typedef struct { - uint8_t Padding[2]; + uint8_t Padding[2]; uint16_t ID; } Footer_t; @@ -60,10 +60,10 @@ typedef struct { typedef struct { Header_t Header; struct { - char Version[16]; - bool bHasCustomAesKey; - bool bIsInLockScreen; - uint8_t Padding[2]; + char Version[16]; + bool bHasCustomAesKey; + bool bIsInLockScreen; + uint8_t Padding[2]; uint32_t Challenge[4]; } Data; } REPLY_0514_t; @@ -71,8 +71,8 @@ typedef struct { typedef struct { Header_t Header; uint16_t Offset; - uint8_t Size; - uint8_t Padding; + uint8_t Size; + uint8_t Padding; uint32_t Timestamp; } CMD_051B_t; @@ -80,19 +80,19 @@ typedef struct { Header_t Header; struct { uint16_t Offset; - uint8_t Size; - uint8_t Padding; - uint8_t Data[128]; + uint8_t Size; + uint8_t Padding; + uint8_t Data[128]; } Data; } REPLY_051B_t; typedef struct { Header_t Header; uint16_t Offset; - uint8_t Size; - bool bAllowPassword; + uint8_t Size; + bool bAllowPassword; uint32_t Timestamp; - uint8_t Data[0]; + uint8_t Data[0]; } CMD_051D_t; typedef struct { @@ -106,8 +106,8 @@ typedef struct { Header_t Header; struct { uint16_t RSSI; - uint8_t ExNoiseIndicator; - uint8_t GlitchIndicator; + uint8_t ExNoiseIndicator; + uint8_t GlitchIndicator; } Data; } REPLY_0527_t; @@ -137,7 +137,10 @@ typedef struct { uint32_t Timestamp; } CMD_052F_t; -static const uint8_t Obfuscation[16] = { 0x16, 0x6C, 0x14, 0xE6, 0x2E, 0x91, 0x0D, 0x40, 0x21, 0x35, 0xD5, 0x40, 0x13, 0x03, 0xE9, 0x80 }; +static const uint8_t Obfuscation[16] = +{ + 0x16, 0x6C, 0x14, 0xE6, 0x2E, 0x91, 0x0D, 0x40, 0x21, 0x35, 0xD5, 0x40, 0x13, 0x03, 0xE9, 0x80 +}; static union { @@ -157,12 +160,11 @@ static void SendReply(void *pReply, uint16_t Size) { Header_t Header; Footer_t Footer; - uint8_t *pBytes; - uint16_t i; if (bIsEncrypted) { - pBytes = (uint8_t *)pReply; + uint8_t *pBytes = (uint8_t *)pReply; + unsigned int i; for (i = 0; i < Size; i++) pBytes[i] ^= Obfuscation[i % 16]; } @@ -171,6 +173,7 @@ static void SendReply(void *pReply, uint16_t Size) Header.Size = Size; UART_Send(&Header, sizeof(Header)); UART_Send(pReply, Size); + if (bIsEncrypted) { Footer.Padding[0] = Obfuscation[(Size + 0) % 16] ^ 0xFF; @@ -205,14 +208,16 @@ static void SendVersion(void) static bool IsBadChallenge(const uint32_t *pKey, const uint32_t *pIn, const uint32_t *pResponse) { - uint8_t i; - uint32_t IV[4]; + unsigned int i; + uint32_t IV[4]; IV[0] = 0; IV[1] = 0; IV[2] = 0; IV[3] = 0; + AES_Encrypt(pKey, IV, pIn, IV, true); + for (i = 0; i < 4; i++) if (IV[i] != pResponse[i]) return true; @@ -254,10 +259,10 @@ static void CMD_051B(const uint8_t *pBuffer) #endif memset(&Reply, 0, sizeof(Reply)); - Reply.Header.ID = 0x051C; + Reply.Header.ID = 0x051C; Reply.Header.Size = pCmd->Size + 4; Reply.Data.Offset = pCmd->Offset; - Reply.Data.Size = pCmd->Size; + Reply.Data.Size = pCmd->Size; if (bHasCustomAesKey) bLocked = gIsLocked; @@ -294,7 +299,7 @@ static void CMD_051D(const uint8_t *pBuffer) if (!bIsLocked) { - uint16_t i; + unsigned int i; for (i = 0; i < (pCmd->Size / 8); i++) { const uint16_t Offset = pCmd->Offset + (i * 8U); @@ -331,23 +336,25 @@ static void CMD_0529(void) { REPLY_0529_t Reply; - Reply.Header.ID = 0x52A; + Reply.Header.ID = 0x52A; Reply.Header.Size = sizeof(Reply.Data); + // Original doesn't actually send current! BOARD_ADC_GetBatteryInfo(&Reply.Data.Voltage, &Reply.Data.Current); + SendReply(&Reply, sizeof(Reply)); } static void CMD_052D(const uint8_t *pBuffer) { const CMD_052D_t *pCmd = (const CMD_052D_t *)pBuffer; - REPLY_052D_t Reply; - bool bIsLocked; + REPLY_052D_t Reply; + bool bIsLocked; #ifdef ENABLE_FMRADIO gFmRadioCountdown_500ms = fm_radio_countdown_500ms; #endif - Reply.Header.ID = 0x052E; + Reply.Header.ID = 0x052E; Reply.Header.Size = sizeof(Reply.Data); bIsLocked = bHasCustomAesKey; @@ -413,15 +420,13 @@ static void CMD_052F(const uint8_t *pBuffer) bool UART_IsCommandAvailable(void) { - uint16_t DmaLength; - uint16_t CommandLength; uint16_t Index; uint16_t TailIndex; uint16_t Size; uint16_t CRC; - uint16_t i; + uint16_t CommandLength; + uint16_t DmaLength = DMA_CH0->ST & 0xFFFU; - DmaLength = DMA_CH0->ST & 0xFFFU; while (1) { if (gUART_WriteIndex == DmaLength) @@ -495,9 +500,12 @@ bool UART_IsCommandAvailable(void) bIsEncrypted = true; if (bIsEncrypted) - for (i = 0; i < Size + 2; i++) + { + unsigned int i; + for (i = 0; i < (Size + 2u); i++) UART_Command.Buffer[i] ^= Obfuscation[i % 16]; - + } + CRC = UART_Command.Buffer[Size] | (UART_Command.Buffer[Size + 1] << 8); return (CRC_Calculate(UART_Command.Buffer, Size) != CRC) ? false : true; diff --git a/driver/bk4819.c b/driver/bk4819.c index 3715df3..d485c96 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -738,7 +738,7 @@ void BK4819_SetupSquelch( // BK4819_WriteRegister(BK4819_REG_70, 0); - // Glitch threshold for Squelch + // Glitch threshold for Squelch = close // // 0 ~ 255 // @@ -748,47 +748,49 @@ void BK4819_SetupSquelch( // // <15:14> 1 ??? // - // <13:11> 5 Squelch = 1 Delay Setting + // <13:11> 5 Squelch = open Delay Setting // 0 ~ 7 // - // <10:9> 7 Squelch = 0 Delay Setting + // <10:9> 7 Squelch = close Delay Setting // 0 ~ 3 // // <8> 0 ??? // - // <7:0> 8 Glitch threshold for Squelch = 1 + // <7:0> 8 Glitch threshold for Squelch = open // 0 ~ 255 // BK4819_WriteRegister(BK4819_REG_4E, // 01 101 11 1 00000000 #ifndef ENABLE_FASTER_CHANNEL_SCAN - // original - (1u << 14) | // 1 ??? - (5u << 11) | // 5 squelch = 1 delay .. 0 ~ 7 - (3u << 9) | // 3 squelch = 0 delay .. 0 ~ 3 - SquelchOpenGlitchThresh); // 0 ~ 255 + // original (*) + (1u << 14) | // 1 ??? + (3u << 11) | // *5 squelch = open delay .. 0 ~ 7 + (2u << 9) | // *3 squelch = close delay .. 0 ~ 3 + SquelchOpenGlitchThresh); // 0 ~ 255 #else // faster (but twitchier) - (1u << 14) | // 1 ??? - SquelchOpenGlitchThresh); // 0 ~ 255 + (1u << 14) | // 1 ??? + (2u << 11) | // *5 squelch = open delay .. 0 ~ 7 + (1u << 9) | // *3 squelch = close delay .. 0 ~ 3 + SquelchOpenGlitchThresh); // 0 ~ 255 #endif // REG_4F // - // <14:8> 47 Ex-noise threshold for Squelch = 0 + // <14:8> 47 Ex-noise threshold for Squelch = close // 0 ~ 127 // // <7> ??? // - // <6:0> 46 Ex-noise threshold for Squelch = 1 + // <6:0> 46 Ex-noise threshold for Squelch = open // 0 ~ 127 // BK4819_WriteRegister(BK4819_REG_4F, ((uint16_t)SquelchCloseNoiseThresh << 8) | SquelchOpenNoiseThresh); // REG_78 // - // <15:8> 72 RSSI threshold for Squelch = 1 0.5dB/step + // <15:8> 72 RSSI threshold for Squelch = open 0.5dB/step // - // <7:0> 70 RSSI threshold for Squelch = 0 0.5dB/step + // <7:0> 70 RSSI threshold for Squelch = close 0.5dB/step // BK4819_WriteRegister(BK4819_REG_78, ((uint16_t)SquelchOpenRSSIThresh << 8) | SquelchCloseRSSIThresh); diff --git a/firmware.bin b/firmware.bin index a14311b57a63d97bc6028e0e3825e8823847029a..a6a9476c1cf3dd44e680fa2122c9f751657d15ca 100644 GIT binary patch delta 9166 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 N9&Cnd-ha?i005_vFSY;x diff --git a/firmware.packed.bin b/firmware.packed.bin index 28c5bb71642d607167657bcc011d2a22d831e3b4..d847bb87997d0f76a607d11649c51ec113a60eba 100644 GIT binary patch delta 48645 zcmcb#n7L~S^8_2lXA^C2GZt@_WVB>roIW|2`KvRNe1VnI+Ws7|V824MzV@i+?0w!+ ze*ofR&N67o%($wr~F{i01li95uyqCTzn6hhv)#Pp# zbI}O-&B{Oi99$Y;wef|*J)z*N!d)p^ldrRwGOnJ?%Q~M?ar0W%xr~fcCVR8@Gk%_Y zo86nyVY52NOGd`6n+3VVSs1N0Yw`&)F{W&`7P!vLIBBx5h$-Xk$(|yIK?aB}H8t~_ zvEplXd&wC?3IC^l`|j8E#m#MTFl#6h+I1wCsY1f6VC73WgQM&ZJQ?TT<~}u3@+SNG zzmuPfDl?i*<`$DyoF%Qmy!v2-h`X_wV9uKVuJu>zE}NAI+&>xi`>x-m2C1!+-Nh2? zcUU=IJ$Q81G|4wks;tg;Uutg4pW>YQI^XI~j#&C6bKWzpvR0cdzoiH)p51ArCSuWY ztwT9zU)1i|+DuDRV`@z-?**SN))8P^$L~F_T;s)0n;&6S%6vbjyKjgSh;Q4rYvT^# z<9Stj37ocHrahm{|Ht?X!?FVhze+0m{?*;^U9P_Pobe-peI;sN3fc-*%_!ve=XgDL z=EcC@K}THD?BhLx7t36-zWa#jp-qy2R`!8nHHk(;M;E0pQ5+MOxW+E1`PcSY(^aON zIrPgygD(GYqB>yDDr-%C~&f6V*1qD-5hfiO7DLE zb=LRN&($V^Yc}lG&Yozu~?dzVI=hg9zKNhZ4)` zvu|jyaf?4XdD1pjreXF+t$*ofJ|u236K}BzJ6Ee9?*8ns)a?D=re!^>d}+?;NEQiESFIpWLe5y~JnI@2{dN?G>E~$7lSY&Tr$3aV(a`F5Mf~t1obyC0YOIQfzHKxA%0XP5X6DSw}ML z_*cI9XKEIEm&8;wlA zK1XSEUfC5}bL`);V$I9zzHJt}wr=rf{udut&rs30?yr7rUU#6JyB+pA@GZF8pHFx!#x zc)s2JY0>$9n?&v}eUsNDk$6FQZMfCjgEvhX_!@OC=|pdy`LjDVE$>l#SI*VPZ3D%^rH9=g8I~Vmu9tV; zP(8!rug=6B6_#2bZ-uY=`0GRdx>Ij;{@p)mC%(h~@pFqmGX>+PUp{t(KiTVM@-}r( z?Szl=27hvzV@~sh?ENdfIAv#A-3+lZ%sfp1dUL>in`{ z;p#mKa??_F$hR1Z{xW+ZH&al4`o_7>mpWLvzQ1(iZmsLe4g503FZmZRY2DA0oLszl z?L-Uir8DNPU@2VnPLb{GAHMR*^}=R1udZaiHeqG8@S$HJ%hzOW(M~Fw{(Ez`$d z``=n$AG0sBUtssEUf5<%bBNlh=q*eeT=}&PEiN`q4vFpDbSdFpiHy!S4!f>u3qR&O z4t>|QxVemOuio~Z&30Vu-bd*xDBa=uf6@H6%c^7cQOjzx&p!=Uey?bJ zvXrOO^@)=L=d}e}^d~Kg{`9(N@q(MV-VP6LPZasn^es!HW|!#w183@Q{_7BvtyUF3 zD>7-m-zOf!$7f&KFSHVvdU21V>@wMVoOa8qqS@qk`cFG~EN<>WH;bUY<5t#t{2hZl zj3#}NGyTBUsHDW}ap7TFr>y%jpTuUF=$M{2?=+Vie95Ul+vH+@LSy?Qrpevx`wj%H zdURsbM%RKrwd;M~+{n_bi56z-sE?Vvt$xko^3<17bvONHUSiu5@NwZM(U4BNOAqeH z%6@kL7Hqq}((PgDnSJS(tYKkH0Nh1<#b z;_tW2Hs7ct5%Fej+4h>&c#XNYcNJ%d{af0z+dDMVi2K^q0-1up@9ckHt<_A~Hzg%l zH|3gSWSOUp(t|D06GY}U|MdFTeO|i$wY<-F(e)b+m9ai4oEE<-mTmXmsEVn#xb@d( zY?}EsRo~~?+%b zO7Xk%d^!%{kw!vwYZw2$qvT)w!M4FDy!J`M=iJ;@5w5D*?@b|LJHj9P)ZBV>=bu*n z8`n#53%$6W_SUF8T*1q_^Ut-Zt4d!)A2{k$<;r%$GwVIS_U0m+7Cz;pe#-f2$K+@J zH#qvPq#&U}@k;2O+2%gQ_u@WTH$GDPyFmA0-o9AoXAFe_i6XW_4y<$YP1l>8ZA>}* zSH&XSc<#4uckYu-F5#j}cSt0B$~F$ISyO%QLcPK_)u6DO6~62CTy=l)s@-B$Uct%5 zNe>?%YcILAu+yP8wS?F2+Y8H*ni~^8Tc@QR+mW?l{xyN5vRzht)zcFk87ECi(0;j2 z$U#k~Qe)wZg{t3M-i9rn6K_|nl=p1e0ox0qn`&n`N?WU|%whbIs`MejPu=%kLrC%J zybJj}C%%i-pVfGydf>`UhWP!DLsVZ%x8K{MCVR6W^YPvWrO=z38DD#qKRSOQ|D?^5 z*OM8uE_)&2j1>Fw&LKUDHqa=d)#cly?qRob^MA3oMs{%R)c zAFG2poqUU~%bws>RQ{{!yK1V{ghaFS(2HAVJP9x_zqE7iFXs0lm9#7~*Gw?y=-7l%Fed3U$|(Ub0T(jO)Bm$F{pQxN;L=fI@wt;bloFFbe{bT~}@ zliDtK`FeN0tz335s^u(>&s(JOb+vNj>f;9{76>jsu~l8Vkk4uLlZWpoYSw)=?CaBi&D%rH^n9t*UoY_a&Oh(kS-X?ul75_a{^Q1QBC%Z|>4{`}^O`v<`3&_J z5`PD6UAA;}=}l?&UEU$nZ(C)~v7OEtJU#8T<-IiyFZV}!yVWc$x%>6xnfc6iPo7)( z%ofz2x?%d2QpS=_iPIwN%1hd&WIuebt<$W~_@E)a=vcZ|>eFwVwyxTo?NFRzc(U$z zK-tW=q@V=d|JrI^1x{UG^g@>J%H5KXTAU`lsJ``<*R$@B@8%bLe=(%(@>=<+Z-7^=u&(Hh1G?H^^!aNRxrVQSl z`z;SHoO|6nZ@Zp!*W#o3DdE5M&Rt#iI_j55-E5z~cg}d%X>TN*KPZ|r2Bf9{>l=`xh9@p*vpg8#M*P~ z$f!K^`1AV69i?|(Qyx3CFPK~Z{jpEX0k3PT3!bVTu(-ew-~K8@_3YQ_*;08tw>Jtu zdf6H8esZFn(>Biu{L>Dz*|gkLdzj~atL*SjwaM3Wp9M!P3Yo`b8O-Ul=83Ju(WkSj zqE19HPvpLmP~Q8XO-?Gn($!RD*+zrIQcj1Gce6>Es_V>MwYMlp;_`PP8GHV|9Q_-ihL)TCCJ;Q#$QJC+u4!6YRl{YypSk?NK{>+GSJ#?TV zwtaEE@J5GuX?a)mte$asoV;dxI(?U2VRGAIkw_Jxsk<*}GD>eg9|0hjqSFQWkXAXPsPRu&zF9N=HK2gzvvxd-iX>vj0}H z__`I@6VhZCCf~`FJd?e_f7-(xulfxhhq<5V`snS(zf9%+oklYrgIwN|J9Yic7kIon zf80K-aCZZ%y`3Zj=fV@LQXi)_D6ws?Pi@`2@V!gxyJyXN0-L^X+&-o0#nsfZX{DF- z95tRkI&<-)d~%|oPrZ4E+PU_!$!C9lntda?Wa3|Ln-%9~bFSNWkgxQ`qPf}TMN*qL zTE2aAJI#mlVW-pF$$cjZU!N2>!W;Kg*eXV7*%qmdy^+sbAF=(PR4tucE?5C-4;*iF z+VwYzBmc&(+F3{bEt@_wK&F^k@Y{NZFFEy1wZDxeHN+M6PwHl#c_65M)g#ecTN8qB z$6N?!X=cB^z{p17w(lpV<;xD#C(5<&VF$H}H)#HPw7V~-_wL0#j;EF_>7I5nea>y= z`#B2?7rvg6)wTavU*Ypa#v|q%{TMPcg?m?ha^1ufc8;-#F|*P=M2oAT40@BPKK>s6DbUQC%$@p^my3Ewq03uE7NFSq((zOg^_f!!_p z-yH|47rR8NZL-+W6)I4;_{P=?=S<(SFHyZ@E5@kyAcbdp`oRSb{dtkki(gF-woz~N zW)WP!ZLfsnIq5XTTgAy=Z!dP$TX*g3mHVq4)<|Wn+avH-FYRNq&zuWdB?8wn?-~o# zUrb~RzpN%?l;9|Sb$(j46$EUCw@Po~bDcSOu_ zVp?j%Rqy`TLmZhiB(`g&*X!tWC7*cJAEX|G5`}R@Wx2zF)6&peQ!nW6S=#3AgLxd}{RnU+T6z zqGZs2oH=B-m5tvfm+1~0_HU5B9xng-U0BJz#!iRc5?OwC7fs(KPcL$A)AnUwvG7;( z_0VU|QH=?+d1RUj3jZ%>P5AV;;nE#0k4w95gF2`GM4Ptw>w@C1n)ZYD zR;@pn;B2Gi6W=kZf9xK+!5V*(B>y+t)qy`pO@0hz5Qk~Fg04O zY_MPGFJN_vJm*aXRrf?N5V0vUq-$zBhB{c61J zAzP&}Q+wOu+LO~By`F4PQ^x#W@zbgEDV?sC&Ij*RtQDJ=Q(seY%Wf&(+PXXb)1#Cp zig2}kXVR!)6}c_Ws%#VQdcZ}o$m+a?-%JH&|F^e{U&`&2o6A{v&qsXC)gvnp6-}Nso`C|^vJN%qUqrUI` z*Pp*tqSz~A`#iSK5_Dd);)KuA8<~55O`c-^pyc(XvpY|Q+)@o$`N$c^^)< z_VIZ(C1UaUrFV)1cO9J1vcbQDP3Wz>@`@>!oH_oMOEs;IR7rpPFTQbql}xN5)3QE; zKYaYZnteXiU(zXMzV`I6|D|_pLQ6BJ9MPDkvqnOny3u51Ra@CF(QZZOg)aNvXSUAIUFw zo3-@elT&d;x4qx~DZZ!ky&yrVJq^@uhXB#WhYWA%<>>WKq1Y1QTN3C z|CUyqGJaafE>u`mxN+)(_wRK(m6`r7zu%&?sXq0_-IL9}%l`y1YhGJ^py^`zg!-7> z3W?ViXzDhtN>{R78n-TD+lIQDDfvbV=lt|~*KHx=C>!%zv3~jLRi6Y7w0lj+`^e+) z=+o;19zn}?DJ%?gi#MP4-!iY#{urbjxRJ79zu)QtD<`RC%0law^sSsCXOVTIk;&+L z6o=*2U9o#k{A=4iHNa*zui&-!mS1@6>vz}AKCZ42UUYxbYJc4WLH2PTTXs4*-sW4q zsatZx*UyH>RV{sfy-LoRVqPmNH7($kPW-Of?1uZ2_1=6*Xv^Hzs?NStcc1)UE42ru ziMpoCPn9R1SaN5!dP4qI^&MKpPOG2DN&fm$|8*yOWx$jVyINA7o@u+V&N)Y*TKU>K z?zMUKHlH;+bt1d<1+GorAeYcB%#j-XBuFCYcHRw9yUE-QJC*0K&8)l0=<;l#yvsh0 z7U|34cE4Y+WOmF<37IL`QLxRIHO{`;pc{HDr6F)KuWn_r@--97RrPWyhr*87GikPU#_i;u$i!bz zDd#cOf4Yj|oWuDBCo`78qd%17sPwxs`C znLVd&55-EjZ_NEmdMd~tok7N zHbcDn;}F#gU#DmHF68FT4C9W&iuezkMj7VygA7UN6FmTKXbIYRkr&*SEXxjkE2 zAu(Cvo4C+o+1`m$#H?;#`)H)aD|Kb#?M?N*$J(}a=VU!-RkohByk6+4j``+hpHCM! z!?nI_J?t-Rw{+IJ%qiXuIX~+!@zkpA6)O^2&YpE`HuJK1E6Uq@IlsJ|psKt1(#*rH z4`fqc_8$&D=Nj+2bj?(*Z5&}89LByg1lcFw{&}oLGsVF=g|#twLZ+758HvOxjklHV zRBDL6SbUeiA@%>B?EyzU6^yUdYcf5Lk@>RhkO7lMpVn8={V73(g>7MtJzWkjGbf3J zG`{~Xc6P-Z)dL|n7~;$ShOp*oPS3uR$@AM+=+Q|}PxqI*emG52e!@SEy{6~H>Wo8% zd+rDK?a10BdXy*LYIk??g~-*>kvm;&iaz>EJ1DDHdQG<8aqM3UOH>nkj=Az}&iZT1 z54^eNwaIdKzGhvx&$VOS+DfiLx5C#>iA#8O`{CoeH9lT7U6bBideCt5a(%|*epUvn zlx*)j&RkB$u z@PCSjWZrc-=4pQ%w0dr?i+4G4w`J+PS~+LNdgDFX)gL8tkJrq&6SrtP!=B1%b3?Or zQ&T3ZZTC)O&O1=gd;gc3nQ)u#)#dBH&)9ygn)Ot`bcb#G&6+kVJbtX-S2N>a!^*(D zZ`1dF7PVV0C3DOE#oft_i#>0){=L$9ca!c$b!*G$h;6Q_iJ$+5T`s=+ctwuRm4(|B z|1WJ?nw=|J?{OpLn&T3AyG>gk9=fNp>WSgThrLH1TYNL?ES|*W{my0b$JxIX{_H!& z&DK@>=KG8}oqgLk7TU^Wiiba5o&Dg|V(*d}nQhKf6SEV_uADSoX3ciIHc8a-{N7#r z_d7nzdgW@^_T4DhJ9y((EsbAlQ+_i4&2pIib52gcw{K+?X=35^j@c*H_e33*SkF*5 zc4v0xqO1CZl{Qt+?#Tkm{&Ys`A@ul;>_Mc}N*Vk|U zUFKoD=O(lE>5`xE7d@mtZ?L*PX>~lPSsv%H5 z_~@3^>4@{4`V;5rpWJD`@V`iyc;cO)_|T4&j`WQNVF&#r^3#sbj9fDJ&(ut>O)rk# zHPnud+UQdHpI_1EpO;jH#-@#5@>Bo5{kEWfj=X+Gwcy|N4=qoXPpa_#aZR&C@yq7! zbftYMdFmGT9|rzfVSU-x@4~JRh3C(CtPWebbLO=bW%P?)dnW*>3ru0sj zc)>QST%AAbu5Ule5%xGIqG->=WpQee$J&DfR!g`|eX@kJd-JwhR*i+(PuQmiapnCg zs!YiHR#xAecHTOi$#brc#$ooT?7uTJlXit4JjZEyCE-~kr_AaeF6G~u`6qJLbTOJv zHa~7@>GMTw-TM{WW%UFbH~m+A|9F|<2LY}U&P6LeEL`{J?VKxrqzcaeusfG(vrTuc zbJ6xGM{5GC_H9hKFnjgtpq&eLty+0q*5Rp66zfE;_q$Ub8P_jAcx^#>@0U=$cl8IP z%W69=h7ijIP9^HTQRMlnB0IP2ToX(q#Q5^R|`NnRAv;;|SVm@uksb;a2gPRSq&G_i|*P zHs-U+_sj1zn$EzmAbG?5xTOVByCmkZTP<4Bx3S>i^F``)f1P-iUN_WqUDQ)=##m{b zv;OhsPwzCZALPE=e)Pr8-;*@LPhXkTy<6)*kf?{pl>OS8x0mib6MxwIncbr=iVx2G z6t3TVD9&T0^_lF=Iy~C9q8@)ZSij#Q>9fn^gDbj zdezdbN&B}(i zPvop8hE?uoEjybvp`LSp{Q||3BTcR$cAKAUi?JyB`mbcdv6zU(`$d&mCanB;^!bfb zqJP{rI9;^KKk2>pUFG$iT66SQyS%!^;ViQ2*D0%Mo@ZhY$ZWJcxHCp%s^#rYH#d)E z2Mgbyuvr2crdyn!cFZDs!+bk|8mkTV!B)z_v4z`GlAfKscF6I{^OA`AUAK29{Al3~ zZ{A;=*S$~Z+Wyu*IvZw&CTk`<;nw}W`LrYVqpsNcESHU5N!)oSW7nMczR6PIjp~_g z%>1T$|6w_W9d$mRCi7S8_xb9@laz zkc#?0pZ&;|+2-@6$yt25->4Mi;a{&Y@zajply~35KPv{9^j~I}yVc-`T-u?UnS4@4 z>N>MFesbfy+-$EW)%&O>mwUxYpM^Ivw)|QUr+O&%=Kl_HnQ-;@h2~PLn02wD0I+b)e-<*_~5#^IsCNxvmG zEAK2gVXJy*Sudl@v;SdN8Pc{pdF-okdnx+pq}k)ZmrFmoZChW($IkIoFXRr_!|B%E zG0!Gu3GiA5DIVQrFyou_i721Yo?ojz{m!|3xBh08Mt)jtWvAkRrhF1tofK{VAEUK;PXERV6X_|e?)I{ zsA(^q6SblK=ih1#?&e)bXBw7Ocj+ux$Q;JG-0Qj}$CS{bS$3NY#Z~@K3UXp@DKHmd zysuSJb^GSU?tnd$j{i0+n|OKN1u6c075vObrkA~L>iTYc%=GzWddjC88ymxpEhrB2 z`})i#WXZ8({w;Uoo-I4FqyPKT4;`DVk}p)R4+(U5BNp-DUt|4krMq%`i*H|$3+**; zkZk#G|K7EA(wQCs>FSaABL4Za?C??)bL4)-s8$#FRFSXey6){n_+{!ABt#J4^&?foX9-RHku zEfkz^VvdY-h3Cp^`*;q1`cgmf5%b?9$%fUt>o0tL@@>MLQ@;b4OW%GmSZ|uM`4Q)w za~h=@%dV}`OFSi`nX~p;v(jRTHue6bK*sHMJc-Wr&+0Uk zbRVCX_;W!{-u6G=I^Vq1H&?2dy4B%RyY6Yh4=IM%Yn9kEvg4Ev6ue4vdcql8wL1K< zOWd8u+BN;+iHE~(X4%|b6)-nhNj`D`A7}E#fQONRB5npxce|_b$Z+x4T%5C=(QRpN zfR6o&;G)ese$(=Unk14gyj{s`QKWWMqJC9hGt;d7fghp{KQg`3@-uYzoaqMTw}gDT zncptycI|hp=5rUhdVXd1dBGb-f-)UFf3<(i6t?z>udjXk+o0s8IJXkhgY^er7|AJ5 z_v*;w=8k`^^7LX~`b+)>@|xSA5LK}tA+2t*l&?oy+}}IhM)UqFZ>gKMVQW2y#Gh&HMK*uA6qMd>k`3AR zuCaa51>r<4#bsj5|8jgoQ+L~O%uhF-cA&>Cs3P%v1V?e1&ts;L$8WrAD$g@>w5T51 zpqJ3v-mLrRan$sW!kuUKf@aO^wrzUzYqRgR#ZURCmH$nzPMLq&FF7IY8EBlaEoA2L z*5FI(yPlsfURbZl8}#|BV6DQ{z#kKT>@Lj_TmLisX`p_gmJr)|;jgUaNpZWM&HkyT z^lw768`Ht$7;&C0pOiIbWUfEr6Hv)IdEs31ANe~U$vBIg`v0>%Tz5k{&+U~`k6xaa zbw9XQVb<|_-S8*hUK^Yj7PYqY)<`(Fbob`Da#ylE_FEkZeX%9Rx?bV6oZ&}y;p*QH zF4d&kWT?zjv^yX@H^AmKXu`nq3r{~g;}_@DU=5|eEzzGD4-~7*3Qu|TP-;Ti^mz7Q zjtkKx=kLs9pVi@$^6PC0SLAe$$FlmrH&|Txbz5z>+Vb8l`P+BVHzV<5naDfqoh1=;eK8h%c(|*yz|W@Qsnc}o?g8ZCFKofH43qd*i>5?!+z-lM>bgSoV54ojbt&t9?s>u+ z++DRBG(K)TSnF)rc{K4{atXhCv1ZEoEYV+P)-Gx03SC>L9IN5K#mVX#Aze`)u%LO0 zxz?j~1@cPwBN!%fpWoZR^~X}r*VP$C%7SWgC%*8@7_c8(nyu09X|`^M&VmDl(TT|q zZ;75>H)jgRoY~Bi4rhK@vdEoLx&HM9|Js*=lXp+f3pueW>CvOwc9)YA1?&GuiHG%- zb$7<9=kE$*S9`l8c+=$l6Q|9++Yq=k-?`rVma(L-O5nY zRc;ncg{di*Hx@ zacIdZ58n++VwxMa70av(HrKl*AHVSN%fnyN+bas+G^Ed&k@9ewXU8SRgM_Sk2 z-DBZ&p#GxDMkecGaib4>KNSo2T|Hm$BQf@cqTPY!sR1_G%!1#{4ZrY|LnjU&#g&z? z^QVL+S#V7KcqvXje@0Dn`o{O&1(Pq!Z4Tk7TmC3Sb>->0Y5l4Wzc=owH>sPc`|_81 zfwwx-$!XvFC8|?wp8M_gla!WUGk5>b6~$J+j(@Dbr79Rw=%{!vP-Kav)VldU-&E=(@$I7v{Q{-&@w2gi|+z*~Tetw|M`S@~$#BHHDBJaLGvIwzIlg`PGF?qJ@ z)%GskTZN3fjq7Lp-zV|U`q*;Tgq7DC3_o^6b1#2CQ#Zei&$?;f`S8rr*Ix{)({ywV zYG*7-u1GFixRHDN(Fn=dqDilJJ6p~8xxzQ9>ExI0x_cJW1J{f3JBw`jA$oT9)R}oI zzkT1@nLY|DytSlJ@qB8@Ew}q8Eld90Ggx_i#(wG8xiXIaZwsV%)=PA;Dkmg5u6QE( zVu|h|CV_K~0TVxL?tR|>XIWi#(UZ>#ljm$Pdg@a1G4HmFre>+g(~jTHmnv3NSVwG| zmEirNWVX5S?VE2O8=Ts|c z>3jZ?o$OAQ$-MnLn0!1AMobQ@?~-Uy*GTl_WWFYG^5D~1Rm#_*e@ybV1u4e z^P|-(KD8bE!?c3!1JAiMaz z9E+voShxjp16N#s^qx`oyw^Q0uFJnStx`#SH!X~zDbQT_w!`{><8@cNUHRSZICRVJ zDK024%qjM7)9~8AapMi^oD%|TZYExf-oqpIAoHfC&yv~N2CoI@?w+q|wDG9s&y5F< z@$V`Eu`S&ps#TS1xF_euomiPAXLoru7w4`E!qaB2=+4d5Q$Oz+zp*wm zf7_mzxzn5j>Yd68*9N^3VbqR(y!hVM|FEvn#cMlbQ_lZe1}cg{bGO?KzwnrCsNHR^ zs3)#;Y|3f>tOG&C=^j(|)h672@X)75t@~QH!fDk9M@})+JKX)xa?yCY_mqV^zrQYg zbn^X7_m`e;W}Zwh;dKA{nrEXy+-K$$I%#G%dpFFfKQOu3cV@{J5hm^E$R#ee604ui zs#3b<^<%>0s`oPtk5(<16J)1rz_re%_$zyP5_|07doR|78caMUbJS*O&FbaF4>J>f zyXg4T=>P9OZcxMaK=PF|`@W(Oy(zD^WH-e|Zd;Y)yWwE1pXJLP4%23@*ql-RD(@VF z$_F(Aozk`qo)7B3UO!u1xw2xfx^y9@)9NR-5^J8$s@k|e`eUw+*%IB}C9?w`Gp#Gu zlwxDku?aT(T{}7Vr)IwLzY{@jOwH19X$_CJ2Jc*we@b`Ftqh(&*V@Ie)h}cSd2d|K zx`nexc!R6E_J+nskIuHapYGXZwe6o1Tc538YYU^(uCRsNuFtMS))&3~x3ur9;)AW~ za}pdl%@&#`yu3ccane0Ut((6W%grzhs@d=)+@@GVkbNZw$8B!UTIB=xT2?9fPFUdl z>2XkgO7NSF-gVqOv;4wu&APVQMCPuX?=Lg&Ig=OfNOYa`sLeTZ5;G98lRcZR5V?lQUN~YVOc|$2n`l z=U7|!ujg;RkIE=g;#k^aa7aGy(1#dxO~@J!HiZL0vGIOaHWsAK1})=p@V>U%;En15 zp<4{~6IQBh_+_<2sX5l=Sz+qWjg3#-54I_|wXaj)-~U%q?1YuIrlGZavU&Xx|Ebmw zUk3Q^)(8u*k+) zf1@}!Z||!8bNt`3<~ad2#ax2lIE7hezWR5ATYll^@Lf~-BJX5I2!!`vzOSj|&;519 z6}zTcJ_lB;Gcd@^{BTHp#T40xLV26F&HKTsDF2rW zM8s;bmTK$lM~@D**)Dq6<1{z5kK3Nx?n33R_?PvT^~Yxm7ETb4SfUfWd4)_%O1Z=# zY3pl^C;xqsF628GB-Fk7idb6CTeimi%yTYuSIo58a9&5FG3~HDlXkny+>_tjIZrpo z7U|vE@b&PbEw3-y-J5w`z~H!w!6rSPww;G&Kl0pElf9xWc!S{z#f#@^oeUrEl02PW z!sq_&m#w&Cu2NXNjZ324?5qntckdPm?l@5!Csh%-uwlxh_x>6U=31xw&YS$$@qPcX zw`}eE&21E#-zp}YFwrcP+`Dc0O5gH(ic!TDj5mbh|6F)_$zhJpI%&V_4A%EnX}sCU z&M}GU>YC&LwF>nkuQwn2#3S_R)eFy!g-iEcO4yeAO?kea(0DxpE|c{4uekl=SJ=I5^{gteueB# zm(*FlT6@ys#h)Gp6{JSL*$`a3dLxT}+|8^nzb|t0ulD&VRd0LIrS!9vTI2#bvES2! ztA1ZFi+wqN$Gw&^d(mkDzjeMas@3nbTrBZ#x_IP@^H<)T;ONwDjptI1i`wA&@V&oo zucF5GlhH-N(pT#beLX7hZ~3oYM!|2LreAb&w%6`f($NSvyF96T-VOV;4M84LG!qkk z=fC!{IpTk<8?=e-v(OLdcPjj zIZR7Crjfj1e%P7c?Z!k6cT647XPn1d&v%rf@ z4ji`+c=0V=nDL_|c*@D{xTGzTa^;OZzSFIg-5z_!sO+sP-f>p=zy`gbcGn}dtS_Xp z=jc!4y~`){?xoej?PB{smVXPE<#7A{!fr|Z^NS0&G3U<}w4Le@@qVell-v7d_p2q; z0^66fC%pYS!>M+gb9S!Il%?+LAHLf?XU*%j-$kcN{O{_NE5}oiDPVAwB zc3zWTZ~EMPeB+$=iOi;#B+f`1O1$~OS=+ZjQdRWq%*h=790?WDzq|U&cFXPMbkx^NSC+S$~l`wlia+%Kc~EXPuvKQ-8K(TBmRFi3g{yEn~XJWp`oc?cFsq z3=h<8TrFYa@AXR2ggU|?U{Jnr00Iy5g+wavN$F1O{aFsi!F0}!f(y~`bcAH z%}n2qF6(XnhU#5>lsV_%9m42IP>weXPdM5YhS%ohPiJ4pN zZWUB@c$dY}_?d$73z`<#CVc+ec-!i4rd+O0-qP@W|JSbfS@XL5*IUKqCrkKqHYfZL z(-beisc2NP^XiKA5obL1Z{CpbdxFTjHqe}r`jVUCg^KL)D_5=mlyT<_8(@LH~k!5&i%Uago0S;TS$+$x@^ z$QbV+()9bK^i*&EnHKB^mp^)OQ6_BB{=*YamJ7$K)W6%m?U?L0>72~`nxv2b|JLUh zUit2}NW8FoZ9!o(cp*{irTbhSS0?e)r+tyVq`)4HV`Bkn?NQmXuE~c?BNgkF_(QTCFWIb&h_5?(IQ?nxfsoDJxmy*@gj%-E zFL`zQ?9LNGcTQPN_iT+7>u%S3{7QCX=Ixc8QcZ5^^?XZps%_RveSey&zdzyZg3TM| zT)kQ-(WLA;btBui45=r+!FQj|E-Kh|!eGja1g(@O>(9=7)AYMc;g=z+|2O`!8THwA zTw1lN?3RDr7&;|0lk1mH7N}a?%A&@6GvP{<(Rsh=`|OxPU5rDGzgJaC#dNB-Y&85O z`N;0>G{G0GbMorjr@V`qW4lZ#_gt-_eEeFYqOCpct{Kj|tmm^a1TSri%6w?>nN2hN zyj1k&i63_LN-1U~E|?Qw=VrjYthxFtZ~i9VZo5c>aN%bYe!q|Xl$f0y@I+eNarHZv z?cMd8R^%8TS2Z-ZQxrF!GgofZKcl?pGS;iRl zAm{iD8|j4}E56L%vCDUlwo8EP7Jo*kVmY(VY*UKPO1VYU*zB%xUw3`$%qNApmd@PE z9$de#Q$E3~Lm|*Id{#9?p-H%zV8=He$BheGrw7Hs2AwlmI&i5twr%OoeEC+9hfmmzJqJVe%qk91Cu0@E~KrD z3iL}(dHUl^yQkJkhcy#_?#$b_@&D3<*9r@f6XE$e`BKZ%DyPqhJ#a9lrp_m-qUzY* zIezb)!td>PJ^Ax|UoQuf|Lgs0U#*<_VS_89c7NdCjR!09EqC9mmrQes=h<@jm)aK# zHD^_hn3`z|eAdtV_|C~{zxMG$>4NB&O$+8mHB4VvrIaRR;G9|YewN{#>Y6P9XPudC z=gwh%6O$ZNGuMtQPE^5lvTV=M!zcflSa&pTh`Js2_|G}Dy}Qc|j_?@dO_Jwdu)?eK zTiKM4lk@CPtV*irKGXJo!jAe28S6^)R1R_4X;wEFnrYlwdpKaSTsZ6DgT4{S>+R+8tZ9ZTOg%1Y4QC} zkAq@LYnHDTNOXv~p3ft<_RH@Z+)tPJTwsVVc@&~rXg%G#CZFfFrqrXC8y|bVtl$4} zkK>Ak(zhNr$+aBvy;QS7Ann*@sY&}kO;7Mz6*OD)jLMv-1wON*KCmrjk~{Aik*D)v zQP|VFOwIeF!Y-6BE$-F*F0th3yfgk&G^&)@W)NG}S}%|F zyS;9dSSE7tVQkb|AM1i!*Q&lAWpz&uKD=D)U(1)c`PY5JHb^&3S@rTOfBdDmQ;*JR z)F`q|SWzbSSgC76_LL1yfiFrY&z`*?=xFzcxZC2as{g}Fj4!(@yqe}IT`tnKKhSH= zyVUyFncH_=SeKM@^`V!Z&5|bZwihMER^~6eA91L)+GOw zE9cb_vy^%)7yoL79v zEy)?d$MWR9Jms4x64)EWod0~;j*}_n%C)nO+)G+%^kwB^QSo5GG;@#bvjh@I`Q2Uktyx>(-ot1mfRDsSCTP%c6j|KwSzs% z-ZK>#Zd%vxerdI^Uuf3_qiJ(ioX-9JB4tSdbWP`nl^gconq6RJr7&Ope0p@Df2f>9 z*0n|@P{(BA={>S6I{(@pP7ScxU?OGfz^UCA`ifo^E{s?q_nBuw{liZskztSt1Mydax2|ooUn}wL zLXN##y4i*633Knf2nd)caZ7|zo8j=P9=3orC)gbnR1akJGVZQ-Idi{D7L<0(QU3OAe@Kx1(tT^Q-Yj)a{Fra-=6^HeFTdq--OJO~U7oS@@zzJL zC8kQx%HusyKVO4Y??B0ZzC|CLru~oO-^OKj_;<6~!#peBoV6S7Z|RY_R9Uz=WQ7QW zaz)|S*`<`}X9AFU!q4SBNHeuipE1N_E51(&_-y z>`Q`wBOdHeFPoCSn_o&Y)nr-sZ~n|SnaGsMuQz(r-0i>h`pTl^vX{eFGR5>v z-ty?BVAZbN&U*7ryQP-@zO3hdc!q-KHf_*A;U(Ms@m7!L?a(c>*_^d;ZugYc9UC%u z>iUM2E!jsQA~PVziPaCe{7AEP6$iLo;7t(fYa%cO|xUn8LiuxuI)M) z>J@mi+?L_GVTI?!{|mhr+(^0>D85AX&^En<#_5eO9(}aR@0nQdrma2c(5Huo`aBQr z(}>vSzF&0Oi-(FKl06TeADpp9dV!Nf-f^3VfDICJ_Dm9tShaadThu4+*-ULueUeyb z?(03;@+V6EUfjV7W~(hW*T3?I&YF`Y=B(iNC}nf^&Z{D;7u7eqnzcLMZeZ!LI^cb6 z^@_Ku2PDN9>i0hmQT=E&-Md}`y3gleoa0J=!R?zT?*BEJ!|d>H%iM=~iuq!}jcPr; z%XjSXO=by?;LyHhyxx^v;^6a+s;5^%K6Fh`QmMW7<@?MNLAJeLR_U)3;J$swyJm*D z>}iFd?Dm5(exjD8;mKdTr|YS@Ki=N$vc)>be&NaP_sfolY_ck06+U~le(Hq0?>vf6 zUN=1syEj3q&w1+X6}9=|ddG_|+!z*B~Yt4DmoCfq>?rHw4eIl zN{z)YmZ+w@*bug0PO^SRwdmjd559_*%`8Z=dy72ntt0b&4^H2D# zQP~?;dOT2Kwa*uw^~)ZIs$Sx*UmLMQPORI{`qk@|0*lY>VSMcu5obPaUjOmpfSWHX zIaF?j*lW1uJzE+f;c7WeTxRj1&UyElCLO%irj&EeZAF&Omjxyt{`GH`sgfyDGQ1Xi zJm})i(DdD`Qo^bB%eEf~3X-|Kb%W;HO`e|Ih3l$3zS(Hid=+P1QG1iQe)Yjzv&;2d zozmOpB{TcK{buwrEaLo5#ueU0B3w%|=h>_h{Pu;}!Y}o*hv>%s1EEfbg7fFISSlZx zwqdK71h3-Ce?EO{&QJWjsVBet#HNOoJCcix#nm>Pkd2-bTKPdS{`vx2&8Y_>gWR{e zhI?!QRmY$)q75$Bx(%K}mh*wqK)qo9FSQLm>c1N`f9wntakjj$_u<(cZ|7XODkvx_N_UYWLB$D-##KmRRvc zj(6$z*LI7w)#`XM_580blA5u9(iDEK{V()xNEg1~da}Sa!|`-uzuAMIy=<@IX zv$oMEz%Ji|d)a#7F3Fff=T3N@lMYw-vU^8tkiypZT2GfHTE(laulvS3tUY?r=#1Hf z{F_ETOY3L5`rYT}m6@E!d-J*GkDcdab7ww&gy&9UOmTMQpa94y-@ z_nK?Rlz$>~r>*rCZ!rT;o28oV^HBTpZ(5euE|at0`XtWTuX-bA{E@Bd>rIB!$-S#J z#On9`Tifol`gP4;!LN!{&trc61PxN@wBJ+=D|2V`mhe*-UeqL!?3;fga?OpL@B`W{ z>cv-_uw%8i}Yzb@s27Z2H zC$!Hmks;OWHwvL*?m}1$k)DGw53FyfA3dG zn-xaizuNJs24C4Iv|-xm(!#|X45$1P&5DZH;3NNHs#c@2ac@b|gjYTJrQ80kZSo0x zlk(Gg#vFs=@;RsKH0+o(+7rzu3xsi=Xs!+4p1fUqAKeX?L6Zu^S3ef1iSC!$;O3+^qjuG9%0TR%**@)@66Vv>A0(`fFeCuY%WE+UzP)se^ zbCqFLu>7XvQ}br)Jdm!RbHnMvX@jS#^#?+3LiT=tw4Uzm0P2}YKYD2p?tan()F6rH z-}e2c)sg;$hkn^>(w=Sb=KK0=X>yQZbg%m|2~MZAPoBQ-)3f%poEW`(_lrfUDer!V znO^6Ftf+htf2P-Us!MOWOt|o)O`qMl4mT}aa3*u3v-9eM>oaTi*Z=)&aJ*j6ApfRD z?Bff5ts-Y*CxNozAI%>-50>W4oc~dz*+-p!?-$AA#YgWw%oUIieKsX>_3>kUwXb%W z&;KsHSgXS;x#h{hYmEwG=Nuvy-QJxa^!3R%>FYUQ2P}K=g}E%L#yk4L1J`B3rkKtdUl}AP4XSb z(LdYNZ2zTiJ6`1kr<+|w1cN>`$PPSF0o zbpUv9?&lY_S(qAvYdAr}gX7;hLs|&7aKRFN^WnU4~=CN(HfcNdZgVp|rtgfx7 zkNWs+`m-aKIh;iLe!Y;&oRd76=f=$d#y!VUrp%l0v9!fS`_0oQJLP{#^FEkwHQz}- zZf=0%@z8+7yA|T5K3F2x_prE@EpK}D*9}Yy?(?YZtYv7qcdRly@Uezh; z`?Q4YDVKnfmmP;9&!wK>-}_V2R-TLZ)jU&|e6t0v8}dK66o~CQx%QZvL}YNo^86nM zul+Z)Y)wv`>anXVTTbD<-98^&bZ%|seJ$yP z4;eL<4lLG+d`i!WS(d~a$fj$_R_*_<+Vji-|nWqlS&Z}3Qz4HEn3ZgeFUv}{sxbd}oI>_#=(QtcpZ0WK0ZIk9W$|Nx} zT-#?Lt)snJepi&ntT6K{9i8sH*P3FhJzUcp0^YgI_6fgTKkM2Gg=Ksb;#V?6^gIq# zzr(pOwlj}6d0p0po%Rbai%W<*%_{8Y+w!%EcROQP)H>_>gk?LjHq1w95lxk|_;jsN z>7!nh#zBc)v1>cdwryMQpHi$N$Yy%MI6ZyBfVA^{&Iri?erv1se^T>N*v3tz0ktJPKthbWHGcwl*ye_U*R9lHT&qa*OOIG zH*pGo-hX2L)lG%dy|e}SF6=$^`{aRIKg+kfoTu+q3winVk$s3X`-4>L{pHU-DZYNp z*mv~NKkKV0p^_q&Nj)qQE>9*`wVX>5a?bq0S+~vpdtLUDhbA79kBXx2==8cibr#pW zyx@r5+#Ip0F^OUe0(Pvwlp3b}+`7q6L|H_FgB6mj|u`duprv8v%ZwwpM5S?xO-aQ+t)wBEN-ecxx4i*mAHFgr}7sq z;Rm^qPn?shX&T8&bL-eEPNRvc*PAQ?Dft->1C&7q+xIS|(XB z=jm35|2lQQm^%!FjnreG&)F#~bac^&weO#^wbw70TmIN5=7uw5lVZ6C7?&6S>jEwdPy*dFe!{CVR#w&;PpUzIZ%+_M{2hwrzP8V0a-c?B(i@!Q0B> z<)%G5soTP(_QCIezWeiz?AiNnE|##K_GBK1RP(8+8+XW^j4{~EB!1pA05n!Ctrl{2 z=A2Bulxo4B>mSTK=?|VaG;b5Uwsc2K)Pc&_cJ0D?L2a7_dB=R8+}u@CuztD41fQ?Q z>v|ujnE!IJ(cH6t%7%BEzc*%xxEorCOCPJ&=iT~bXJUdR6U#~qmo&Q@J=?`ET`fNK z^})>j-BNLlXL2S7e|4MHv1@hw@4Id`TkWFCX@S~h*F86weV4dY z>u#_`_|D1R{NmEH> z?U`MxU03B=oo{Q}AJ~#oTrp=J;~}ZCuCmiSk=E*p|0V@3Ja%+Z(E56{iCYu6@6|r` zjc8-+IG8=%ZGrr%pB(~nA-XSLIrYC(y;79$_t8tcg_8wc*%tVw7x1}p*gdM3=6X2) zU|0H~&x&i#e_iUxxh!L?x^994=f?fUC-=?0RjG8%>*wy<$~g+L!(2+K;e^pB)$E^8E}q z=gxUM!Dz$WtXBQMve7eL*&g`%#G5RAv(aX~{P$CSJTbNN7C7$6`?|D9qFcKqT&ghJ zz4^(*_qDpKnWVsJpsd&b*paO>o^Z=-dLr;;n!y#F9@qP>2kwQfQT}q^E*tUe{ML-nXAnf79G&$?Ool1Fx56H^j&{Z#4WU@hYtT*1}Gwxk-I0 z)6Rj{^F5p|)#>wWfoDhW{|U)n6Eo(sa7nJ3zI&^@vS!MpB8}~=QV#vQ$`Zu>uPyR* zPAS&-&%R#hh*WP#o6oE32R2Aw+tj`9>aF_qixw2*gLIL zQ)9v}QSs2P&%aH0>|maDY0oU4m@n*UnI#iAzG|Lld9ru+^s@TdUjK}p_HW(je4G8c zw*PUf@4u%kS3ksS$rQD(I`r$O17-^PDuUgMq?Z4>rRRRARiSuWcpm$^Zx3ZcHm6*i zubppsZMD?q<t9u5{j#0SX73#2Yx({7TZ{bN%VzBG3|b>_mUsFFH!kfasYkCrrk34b&{%%# z-wqD0DNofRq*z}hDQ^n9FhS_~mm|HYuXY-=e3vSWirneysQqGH^UPiQBY#f(^+GJ< z>+^5o_dJf;H0xjEaHAQIM?@VaMaS;Xm(8UKuN`diG9WGx%#}@&or~0;0n9TqA8wsre*j3 zmg9Zpk0uo@QCAMWeb_ho>hn+kdM_#6i{@N7u`8SB%iC{juO;W088R$uuKFte$2JCsoTmNQ;99P| z!ElGf;nJL$yBWXv*NTX|Jp9Nb^!dfutp{d2lVN7tFy&KyTtI`wa`jaYm$%tw%Nf|S zEjJhbTcnYz6SBzX*sn6DM1H#hX4(16q@RAQ+EhDJQpP%5qyFFIa9_dO9;N@t zo-dT|_H3iaw7&IIOHMUD-=l6BY~y@$IcLVFe-kh7-|iaGwpv{*;j7Be=53*8iWN^U zoMZ4+&apB5v^}>(V*OWx-rtuqZ)?TYEO9Yy&wG%2;^flbUe{NK-?yLO^UKwH&g3nR zUP$hd&h6Cyy`iD?*KIZTQ~!@99-Fj-Z_BxpGA&Op{@=W!GyTXX4flv+T?MaR{-4J! z)x9kX0pB6YpW$kOYfOYV0_Q$(=$0tZDv7>^z=^N16eCx?mS&CaXWkIwm=>c zfoF4?Y_}hXe3)vxPwmJ_W#&baO4UJ{(No=}3zOY%6+L*rUaMKrdAnysy3MYl6tN$P z%^L#F7Cce9wodRtuv=rwX?@muySCE#lF!{aFLj30czC+B`Tq92I7j1VW$b&aPQ9L+ z`kH@tmeh*!a(@2@+7>07Zhi2Bm4w%qCR(kQ=vU_sW+?nVHCS@dbq;2e|CJXee%akS z+pw&zc|+jYo-bQl93lZDF!E-S?@e~`V&xol$16i`%tvsKd%!JtHdTW|Bih8HPz4e^utcUug&hORScfm#y+{Yayw&w{IiBE zACD{1C51|vhr*sN;q1(rDrW(jG1>Jeilg(^uG*Ai|CWK)6&G`hPXo;tl+UfH&pvQZ zY`xO2$x%D5&RWqZW3+sgM8XFqqiN61=W(dQ4bCp<6jgyH*@%gf zhpQ|scinYPo3X+_$D)aMJ44*VREB-4*G75gUa)D5u-fqU`!>oVSg8{1{UvNbD7P5%fULCq-h;pPwm# zay6bD_k%i@s#P7Bzr#f3XXyMQrLX#{@9<`BZVGHJl|Qn2vbMw29DP1sm34h5w`QGE zTP(2fT=S+4bC0(Pc(0a_n`)`Fyv;UqU*?CeO$rewD^kmd+V=UB63p6jiw0Z74 z&_N{iGv8z%xYx8^@h>O@(pFvH;JH1WJ$v;o7Qgu4*5)}3;8ro?dIymie+mkwL@bt@ zv2laq#~tZex{ zRxIC?W%1WZW9G}QsUa+1{hJv zCTIDHHIseaUt3>WVLkV@xU!mJ{rCK<)u1(D7j6QCwC-!vh zuGh&NYUgVe#N+N(-w-}8>r^PwEU{1h*%J94|75@CpTAsoxFQwBK7re1m9FK#RZYI@ zUyJ<$Wy7QO@_C13Kd1&Q618HRurTG*feKKA~A1PWk_v7JK@8u*MZgEXYhh z0O}X`C-Xi3^sC|WU9Pf=6Mp;`5B+fV+vauaUtjwv?7K#~zVA=@%-ZbFr=`PVo_2nA z=RD9nd#fk^BJX;x{4;@TZ={`#W`3h`u=bTCf77b_buR^H?cNxA-P0=b{EMk6)AsJV z<(`&SYrf$7E50vJE@p1E_6c9JS*mIOj_Ju>O?vZLpDvN^nsZ-Y`_;O&p5Ue3Uv~9= zQ8~Y%dBcLUMb_f~*44k{y1mV(()+>X7lL-zCUuJ|9SC9#_n2}qA>p<#-{$5e%QZ{F z-l#qZog~G!|76V77XmYOZ}4HcwL1G}^Ci18tM&^zPpQ>o-}<0g_l-d6C%vOH{zxqH zSar@K=-Cmc_hC1lEIHZllg##vN0I-J^4+EPO%&Z%>02-qvLpo<7hQg@Sg&)A>$a@# z-oMK=G|GdoOzMtTI8X$dFxZ%o@Eg=515X;gQ9a;ulFfc!MU>u)SDABePT;w+;k2xs z%euXCANlq;vMtn^_U(1*cE&LIof{^)K3nMVs^`wtzOzctK+AfWomM}2@IF{$5tH(L zM(OU=>|%BM7}qrUtb2X%uVDR`tqxqbZ~7eh@I2t!f;k#Hy9)$Cm64~5|MV5AK93pw z4;fusXkfdK!RNOW|D4A)Ra-gtN3MEjaCzh5V$Gw=YK7ZBGH+9gcb~TKWMWH=TECxn z{>*1fvk&jzxRlH4xWp&5^x%L3<0-QwxUbbRDf|i2oPTR|Ou_LN?X%|k$mTHB8(;4- zyrUbj`R(rYnmfW%t}p8HZ>EcrPL6%1b^y{x`y+(knUGYvwO<*qnc~zvR^}>w*K0T2W3> z#jc67pJqN4m>R|1uxNKlyZGAw1=YzVne`RIf7U$s&Neq$?ZCxz#X6@A7d&=nyr>yd zH_P>rbdya?_q^G!m3$xl<`(NneY5hAN7k2y$3pZ%L30`*G-iSI9Enbb+-)8c3SmD&Ui6fqatJX;`_3yZmT9+FFYIl zeKKSH+8Uw#dj9WRK3TT=G+Zc>QU2!nV6MHG>VYd;lLKZu-;TQw#`4>%`Iy&z)l)tk zXXo!b;$6D4(1&3aJNJp@MJ(&2G|OL3Y~1a5Z?XL}KD&&nfZTs}2WN0dZ1w#0b?ucz zs{rlN@QupRL06WFW<0+3+*q^MTjSfSjk@X2r)`<=Cc8fDMiIlZUV|fYGKZ#}l8Ine zHC%RVe@fJW%DDC|$u4sfe)vqTGx%Yox!BM~UBFuLf6Sc8t3HJvJQ>?8<|i{ZaObvv z8*>&Z_SFUYiG;j3rzdjWA^Q4CS(TKl(|f0WiM{P`cV_Trk;*L@l5>~W{Xe*`@~Q2% z#;`3mOTy^8##aLDT1kUwABj z26q^oOOrWhxbShQ;Hj+)iARfnYwue0<#!0{&CF{nHQ!8Pmw4YicQ>-n(7I=Ky<+6zeojQ@9{WX{6)Y#lRP#4p-Em>`z z$L)zC8m(%3T}l;?t5|N*>ucOs!6W@sXxb*fnJujTZ%a)MoDDm)TVs!-)*|`c-vka7 z2i-pDXFp#??p&k4!wSFtqgOsB-YD6zr0;(H!{>8s>;C$PExrEVz;zLqE@OS=+w%2~ zyWhXlti8*9d1ZW)%k?AISHxK4mN1{SUn{(0d-lqNgzx#riZj*rJ}EaWH#_aa5j|_y zigdG&PLmZ{V#DM%8a|e=UwA{vg)PA=J&b?brqebpq2PVL+AAh!Jq0gpzI5_xR-i<2 z;iDz21s~QmC}(eERGj#+w>Q6~{!h5Z^8oYM%huQaGCdC|Yh1>u6RB0Bz-Rfvo%3u{ zY-!|{1qt(XGxV&gO609w)@OtamG@2Cb?y1d$hFZMl&-D+dHCH#)ztd0 zswOMm1eveCC9rItKv-Ptp=KYJ%Re_9jGw&Y&IIMl@ioz|8-265_-Fcr+?n;iTWI=i z@pR=>-u(y4%VxGu_uS~O^7~4LjNOAZoA@T(@=H&NmtFhqkzH(r#khqtrTgrE;qfg!0*;Ai)>{?rGcF?nlUE*_1ixmIHPrL=* zV6f{t(Hs^Am389TqTO@&C*t!+Z9PA!{VXo~@K~)2=?JWThjg{4!wIo(Xr{ z5A0DCwn=wU{kf;S4wzcH$pVz?TdnO=Y z;>Vr!y?Oio?+Mh4$|+*5f4L7bt#7A3X)m!{yYl-drpPC0XZUtqGC4l~QOAwh^LRHkMLAD? zy!-#>Urv|v9!IkT)-!Do4)FT7%HAhsLXrK}l-XOpFdR&-nQM{Cr!>JZ=q#u@F5x~N z_TWa{z3-2FVnEd~Y;n0d=)`2>>D~^vJH0n|zDT;IH|fRBB*$%B?#lPS{0f|7uJ+)r zO@7+Z1-}fskJ$S;t&E=kO{!LM;p*)U(bwkpD1*`wC?0j6~ID zocPKgw<&(N-A2s>{pa&{9!PlJY+I5xWsf`aiZc_|^WV7maG&vg(`zwr8Q$zG3z_%3 zxJ!7IZ{UtQOgB!x2rGZNk1@p0FJ6Dz*^`D_<*$9*X8k4m!otW6I>+s5`8cC0zR5pc zeP-ztVF?$*rWs1tC)fX&{%lX;B1O9ce`f~RL>?8q7T@|nr+j+#96SEC&lTNgD9uqm zsTF_RlYP@~>$dz8-fM3p-;FXVSGoFp_SfaRf|u;LVKvvmZ5!jQ-G+}PFQ&%5JiN)} zFT3-xzHdQR%Wm5}WwnW3_HXg58i(&oC*S>af1Y|uSaje)MgHKI>l!unb?c+J_x#%` z*f#5WTj#dGGtPzwQu0#1%9qUS$nu|}QK!Z>`;eP}#Zrb<`-}a&lDRTh`S*x#RnIZJ zr?7Hf_NN)&ABU*QSx@)AvXJNZ-K&pIE}QB8($^(!TmBc3cRx;Qw#ceIylXLkleDbH z_B8!{12HHSJ~o9|Da_opSWzi3APl=TmpCpw>s zZND?StVWk_?h5I|Q<9;jD|==pBx|$D;HfJ1FMBI< zUjETb=lSk0om_mk6~}W@~SIv$53u|gVh(7Sw%xDr{7;;yz{h8T%cUGl|%6lFh@3ULAZi zrG%eVUFul2;KkYv`|Skkt=34)R+mnRX#AD=Xw{dG<@L;(+y5Dw9-iWQvE^TQwPIyT zj+O*}Kj$je!Yq~_R!MrLOxL0(yIj&+6P4__Ft&ZcT)}5PF;d;vx(`Gy3h=tgcxm5h znL7u{+B_%bsr;TM_0Upch0glb#~h}_#b59KV)?F0p5w`ML;sW`GqY~|J{r2~$R4v9 z|Ez<<0yl5t*PJz}zUk9r<{-8yOtWLtp1j}QZW8?F)L*t)JF2d`luyq4E#nzoeoIlK z^f==ciDTiBe|9Ms@2)@O6JMo#=j0jN^Lu<>CCRTlvG|JMS>CAzzIu~iNq_8mWabd* zDxF*BBH52x!YguZ(+c+ z4_jJO-u?>j-WO$C>Mf+EdhQEDQBv4pJJBL!GS+uY-`m0hO|Bf$`dzNYEJ=zyJvFqiL z;w$Tu#6zv5R5wpG4CZm_^p`NLKgM;)j?uq3amI&TEk6BM+FsvU@p{$|%Tp6rzkUq* znQCk^J2*v|XWN1JRgHye=^kpmjuta=gx@sW&b-uZaL#v`-;e(tWwN0PFD1K`SLUhi z){Xcf-B99oVZ+9TM`<~JdzmF{R!M!6+{rdkGWxJ*ZN!_U1(KRtv;Tl=o6$hn8*n4chA!Y50Z5W>f8KB~6X;IoBqw-l=k+NO6Y8lmqJ% zZf`a6sbQIYt()hy>VeZ@4E6B`muz?`t*ESfZ{F`sulP+$Wj`%h*7^N!ojU*i?~?md zgcwelb*i%cSia-M!fnqAC08*_QGdF`w0}cM{oE)Pu2ofy`vX4C_@06896^A|2h%FPeMz{YHj0HUA#%J2l1V8DCb>e*UHFt%@Za z)p>&C3M%TSUy!c6BFymmf1viP8~@{W9Cd2dm^VpoBg2g=RmOgL`!;OZ`Az$DNaeMF zP9H_BKweM$z#O|~6g8E(; zf9~G0F80_IyVH>k?6wWO)#b++yM=`Rmeo{Be~bQ@C-&Pavwl-b(bHdF8z(B=3v1}U zy*PHZVN|tpwN<#J7x%u!Gk9)K@+gmvOmdL5-1qCy)VhO(e&SMd_MVubvrW?B%I#gd z3Ji{@8hThTMD9DD%KCKT)zY z1)I0eKH4U3l*&9uM&dwpeaI$uIg?N9NskoL!{(;(d?y@l5vZTj01OW$ErW)ndV|^>%Uz4SXB-%bnO}+Nl_OKZA3k z$F{F2PZ;bsQpsnFLF@Sx*^Li*cO72jvD#t##?NUF1P<24UU{Th zQ!B7{b@)Q5`i(b3^o;_6$!6$NBnzx!32e(6iWWC$xb} zar1Ajd#YR$JvwR<{(jP{$=>u_(1UATsorqj^6j!p!21rn6ZA_hQte7S1fKjl+V0^DZ5dT|0YjDaQp1oyf^>DHm_@37p*2- z^H)=~qO7rQ!r33p#XMgoDEV2RQi@ORIx!(3>tmjAjUVTaf9s6gR4&UMxTwAJ#Ih^L zq^BO79vk;~QP$%hhyRFvT-oR}H7$?VX6Z%!FH+)8oK7CsJqvhSII&YOr9QI28W`$*d zCoFtiHbgAQoGy~xn7UrCMpJM;tM_kVlWD8`b02UY(YVnevte5B&xHqT-7VIOr~EJ3 z$$a-xgZdk3-iPzeI-S<9?%6i?;Jf-fa6u5A#5H~Eeb&I2`)(NT{403Q=hm)Ton!x& z?VcN8bGcRETJ8TYI%{idcXMlKl>13e>UP&YP}DrbV+vP7!fzKNpPCNmYpXM!svgk0 zzz~1+RfuYz^>ptW`8>DhoO*QfV2JxkRXe9`hbHh(V>n^6M0v(TKd=0>V-i<3><_EY zDzMVLK2N=8PIRGmw4B7JFYZ3ZfAbs+GaXkwu#qw8-VrEM#w=SGaNOlu`9!9fyc`;b z_3CnKCfqnsAKS)S#H9^dOy;v@!kTA~h2E$>Jd@3F&0S>OuZK$%l^XK+xnDfKbn;Bt zmjyc+d;EOjd8fHG80b8{_;8!OkK~a_-W#;*Pw__H*=1#(#T{HODX8}J{SKYv4SIpm z8q;sjik)rPQPaI&->!Iq^7r+^S9CgDA3EBzYqS{{?0oFca3lEcQwLkm=}S~Tt#EmC z*y!2?B^d86S&iHBhq7VKoK@yV|#*mCrROpEl^=cPwx z2*~ItuC70Rtgqlzz~6Q16Qm*)v5)%iwUuQ5di>3UYu$S3 z?|(l3OuKB)WYnwmb&`a$mk+Jfy+4WoE?8=tn+fKFKd?*>0 z-4xH0vC(2iBgYfxOEqF%Q`67ztQFAxA(k@|J#w_ms~`m;{4VD8b%_b!~xdOsM?sF&8y{dFkD>uEBd zNPXdJZMI3J-9BMAX6??u#8I?be}a_wzLOz0OzwSE+8C2Be<9dPcY*vw-rGB-1?AK_ z++Ek8{>CF!ab>xR#rj?KOpl{`-su)ED7bi7wousW)m_$t|IaTu>Pg5apPaPN)c3n; zTWh6Icy@Nsi3QT{zHD!5>NaoH2s8S!x%>D8i=|O3vfoUMw)>TT@Ty%G_v}Mfb23&6 zePURqz#gOiaPsWKo96{EHT--0YL>`qzOG$t|7*;zOsmxwIxobsfL($8E@S;8#dYT2 zmUf>te(;M;J~+E@Q%cN(L)UmWxZR1kp{6o3Hom{cq?t2jOUsv^8Ue?DUdZ_A_esSu zByHz4&HU)huhMSzK1;O{uG*Kas5d*N^z*=j6uXStn-Mm9h0pxT?fC39A&;MX#iK(f zeV!)+KEZql_3Dn7Q!Y7LvzK^y1#7t;WW)WjDOqI12#+EynN_) zU_pJ_vl**4>|eN~Kv6=<;9+jY5SPH~R#oR(XeD_1g|)%4h`=he1$UA@eEPG6C7 z7e?g`8lM`3pLjd^vaxu8a>4f~zNK=qZ=W5hpD{tMw|GaF&aLeNyAIkMmQIYZNLCZt zz^b_UkJi1Y-IE?@?%c)suMIS9mUmh3TGxXwI_>NmJ}jGQtgr1lae>?K1B={N1x(pI zVU23`bdIcZY;yvGxLzj{rXePG&&4ch4r-Iv;07O&`h@Fk<4ee<_h zdzM+LDYDgD|C%W%I%)G9xAs6Q_JDbto-X;?saG!1?K#)hS1m7!yZ83aa~FDi&n3-m zPOX?EacWP z!i5R*d4!w(S&7_bP5AJ)@lxBC@PQ5$3o$WBOeZz{RM-L9R z9p_wiIan@r{fo?krZp!S;_4ryTJBFddw#dwr*}&eCp*7iafkb7bmT@?6N!TPJ*%#A zXTPR9+PL#ZO$L>6m^IZufc5q*}bXD?UZk~%}`Qcc{!xoZs*%_Lu468Jg4e%;$= zE$m_D#kY2wnH&7!FISA)9i6XHYWscCrJYx&tv$5e<-V4D!iSH>S*8~0c2?b+E~8}=uz zDUdP}oX5T|C^}GmikyYdwMM1ZKT#ZiZ|$mmF7~g@c}{?h!)3v1?;d>7*|@28w#QG6 z@U7P-t!`C1P$U-avE@iY!tdyF(2UXMe3)5Rx$~A>n84 zA;&9fdvBDaaVuAcEi40%4;+8hlHCz|-E+I)X~8wJE(M7lx4$^|aq!k(J!vCu&Hf-a zP<@7=|MVRy$NLIiZTa~nhtWFNDeJY2@hASa$C`<@34-tExw;+uzxDQ<3F|%^3cXvk z=sQb!_Oxi*n=4iy-s-6_T$!)m<)oQ0RqwriI;lt_nr+TY&;^6HlPx!?{ra1(x3S+tY==#p%(i^4gCe3Etd!qj8X{%X>r}%&3se5wiF$a^{Zva$H)*VpiG`5q;+)I#mev!gR6NH6=i|Lfhm zi_*HRTT-Q(lBaFq5eoeB<*M0{V%U$woVXxysu=E+p{F)&2yJd`N6g0#kE^YWvdGtrpQ`NdCp>_z$
  • vOC-l4c#=G|z)=meixyk>y^FE^L45y%Ub`@BJoext{a8JFC{8 zq}p8qJ5`SM7d~3OnYCKrrw7x+>rmzrIhnZ;N*To<;X^v3?Z{mEWIkif5QYn9Nzvl%`CI3tI`7O zfVv0M)3Z;>eNYKB5m936&vImZtz<6~F4LJXOXrw`M(jPWcil!Z?$RYUd(YlJ6!z8b zz@BWQJK>u)_JFEmf8qL_mlC!$?S8-I`-^ogzIl)LMNTd|vcP+x_>oZEV=n{y`z02e z_U_#-*Zt}1KLzW*-k>O0nDYGHl1U~(Z|wia&U##VJ*0eQWmZX&vA)vZ<nwOB_QQ3Zvb5KYm)D=XXVq;`RJ$LwyY1J^*wQ?P zLb-I7-wxn@!Q;P?Kh+P|Gpo1#j9+v}T2FkeokW?q}}#@_3^?Pm`^ z{Cj-SC~FaQpWopBOLiYpW00s6H^d!w|2p6T)g~HQjsrexBb6QjcDqsc(l| zp`ahnzwP-uo0br@hk4TZX~#D0-mpKmq`+#)$$9E0gQEjyxXMW=Tx(Pk(uvYo#kDI| z{plB-39s!!%M6?rZsAUku02&g(e|fxxX@EiOWzJ*RWbe4ZM(e_x#KTPJNF~|jzabq z`w4Ep>SOmG3YqqvvF)(`ObLdK9gkntA1w(u@ocA5V6945A*Y>BCDSy)&$oTkjvHmY z_%$yNzqHbghqks@1Tn!KurgmM_~p80OYaMO> zE&8)B!aj&u&~*)W(rL%vIl{I#jn+IdTz;S^!Gl(`woM0fzqZ0o9adFJk~YwP1~LSe=Dn;9fRGznxzLHq-yQ+S-e@pM4`dCUiPpFg4g#7&-rh5H(b{}pXc`Zdih5$ zIl|pfuK4UUtvHr{Te!b%OT_nweoDD%$Nuf!us>=^fz;lU^VGeXq6=3|le2hnrBP{{ zTa?BRu3fQFRsY()`3A^*z9e|f$nXo#%gwd3MSf_6GhLaq`rzjSL1)`MrYyW#Jh5i> zdAlRCuB}j9sy88a0yqD@iiswi#RA=w5Ul9Cq=LLD6nX7kr9xD@LdG@Tq{0mq9 zTeIc5X=baXHqJZwF4Jqb<-{B=Whcgkn)l+~Uu#s#`WwXo8X>uV?B6o`IRQ2{%!1$6 z8-3w(tM(gbxe10)q&D}jG_QeWO&8_?EIZiAz6p=Vs<`CKC<2-H7 zj`J73OPU{H|MrScd4KM*ExUIAzgAjZHSNUIbfe|~!>KN!5trDyoZ|jQam?i2D4QVm z^;o}8bWHa)!B0!YFX|L-s`_k^RLrIQcWN+8;?JO%q%}R8CpammpWDCojh3F-hN`^} zcHdx#_YVtE%q|yEFsS#@{XJ7Ez4ES_tE2$Op}#fipm93C6k(S6?85meV!D%e%-;2m zw`5_$JRYeg{fWD`J+$nY*ZgT4iwDo6CA-S<#M;h&xayt4;tje(BJE6YbKy+en^Ef~ zuAH>M@zYxAz*4I_y@5&EY*N_~+2+?47}zdn@cNx@_WhEj@9R@1C)LmOO4xAM=I6$P zweFUi&uc&&AmN%K$@_5rl78m3p!0eUmueSpw)&OtmlWCfCAT*8=DG$=CDj8bK1^7q zn)2#jm{^TLkgyNKmw5(fbV{8(of4C@j&Q6qoPIaqcw`ZwFwJV)8GCJ`&qr1VMUGL-&GF}q?-I{ z_W5=}y*S8l@&eb-AEagF_Z9DRN&1j)tUdb+^NYjhq~}ZO*%|mXUT0N#elz5VcgOzYp*xN?Nr+CZD~fuwAw}u= zXJ6(Gyjvm~(siyZPRsjW)|4D>YvfRRjLps07OC-ZYdxBxXCLH#^2? zw3Mkm%mZC6w=93d{NyDCQrl(cu``E72TqwNXOVWjQ7PP2r=4@}}MolQAlSI| zRWRGU8A;c+txxIL>@SeoR<~@{AI}nFHi4y{+%@_Uwm(F6KM# zI_hL^E_oPUc3JE0V~zEvSG(+#6c1V*TJQQHYO2=?w$GE$`E~@PFin9Q)1N z<(o=dnEf8`I{VkR?PQwx|Nhabg^LU3r!X5kNlv)JULi2QD~oe)phv-k2!Yyl|Br$k z5ai6UOrk!+L-`7>9cX7`r$`68dWzP^67{NLJujXL&= zo9jJtPgM4CPw>C8eNxfOu197Or{>SR|JBL<)~!nm4UgNo9Z_4RtjY!zE~IhpSmRJ(oKB_(_7Qz1eSHZtJ!%ao;~^2jFgH7m++6gx7{6A6e~`B z`P#;dL+YA{@fSnqz|AEO-R)m%g{@F*+4sbKmazPu`tE7|y!I{HoB4Dn7Y1q^77ou{ zS#`zpn^)YiY4rMG+JE&~aMaEMm0SklhgOTO%T_$Do!vESn}dho zj}4~wN1hz*{PQdhkxq-RP~%AYq*cI{f^pYBY*pd?Hj!kxRV(Fm~rc7 zR@5iY5>^gth^gP(?a%P5aSp8m@Eq!g(;)&7sa%Dun@!Q?0kz{jYKQkjh zO2M<~`rYNpl~z`3-FHfG7OwsxXB9Aab`s~*Xep){6K#+5K7Dt4PJno^h9Ga@#jN!0 zs~&%{yV+hob50p&mU5~A4Pdv(}HQ{Ufa7l z9{j3V;1Ty&>+NI9cV>&rch-OJSSMY|deSOk&faO(x6cQQ+MQUJdZOpzR>!2}GTV9@ zP8Unv`<&;fHbF3U>caW^-?W`|e*T1wt9WgjOE$aZvv1{JFEa^qJe}mTs?)M{*@vsk zUeEf&@$GIU)9p#V472?b?kza1d26+Kw%O8#6%pI+X%-ge2~TPIl5s&{^%tAH`SrIX zZMGf0yZr@U;+)!vGS{6?|9!bkexqD1U(GZ|v7d=1W^0z#<+ihM_~$>_^~%koHmX3n z)gt4<+BKFom+zQMa4DYtdyC89dWO!V%cd!`1R?ulTI%6PA6<+OX@~(&{SL+le>Cf&&cq&3-8H=vtSP(x1SL zi8nXOrX2lxta(Osj8E}9&DDngbBZ^V{ce!CzC!Kl%+t&gw&vp1Y$-|hEQ)^6W|9b&Fbdp)QBXSw#>)5eEeMai@K zeD1Q4Q@j74Vy&*)v}0TTMhGKIOGLCI64onD}~^Y{IvH$9~TVh$+rLdqru* z7oGA&wZ9G2G{W`rrkr*+J|MI>#AD0Wf`r-WpM7l9wXbz^=+>(~$h*xDzyDQ;YMs?| z@BPI*zu!wfI=L&<{pG>WPTS&3`KMj?wP}emd+1l)miCO}=7#-zB?VUReCDa^evU4@ zIz`UnlUv>2Eq|godN1y(eFr+McF)S!QU4sjNLGL4%)O+3yDP~e)nePq$9Gg_w8xhC zuy1s}G_m|~JkQOH`|Fm}ubR4M^AAb;YYSo{j60@9Y;e!e+GzAxGD9|Y=DsZFxvBjt z?*9L*_C>+3$|Gs_vm*<Oy-??-VOPTqBLrlC}I z18B-dsej)3C7icc`Pa@rdGF6Erq3xgx9*!QOa|_giM42tOu;n);)H;%9bp zFvMuDbT6$fXpvS?k*}WntE~Bw*=8QiT~TW)cK%50GPh{y$`jxDWKwM3@8sEkqe|M( zo_sc2eVX*zwv^0GQEBYW3d^>+MTkyVru(4x?XHmoS(pKSs@7rG;Po%b0t(2VT*t^YcvUcQ!l?O`f z7AZ73PmmW8dH3y+W@t|CZ!>GxRP$>Ji;f@buYI-4swF&6!j;i0dDFw+-zvZUW{l&= z(1}|#%dn#A<@GZu#rgtl>krJkApbMw@J8H&!?jA@ z^&dNqOKZ#dd}LUEf+f^&{@ta_i*@a17yeCpeXyKo;cmv&UhTE~+xIoDYcUmiu`%k`C;`R zzN|yWA51yY!rzq@aD9x1+e=V6+~evyEvxhXD7ggpyEZNjt7w}Urs zwGa5LCi3sl{U}c6+e<}L%?hiwU3J`2^m(J!QsHjCa>X2B5lxM<`-)!W*%=24PYR}P zneD`@{ zf1eH(FS;eZvupAM!Q0bTeYth@)!ls(^Vr3LqXR>y%31J`aFT*)h6#npVAJ`_21yj8oWYk?(2hx zcFDE!`pc!(6m0qa!bafP#haV#Knn=GS-&4M>^{zKw8Rm6)roY%BI}kW_GT= z_8SkaJ8v1Z;P5>wwwz}P3=)s7^EV|DRFFc*tXm8`Q-XMVe|GMUV1gW;tN&>t~@<+`r|c^{_mPE zUD?qMo-nx3esB?F-!K0*KD!Oo3Az96R`g92`w zCgXjAStn){zL)6#{;zp!=$Rr-A@=nmed*bU%67XYDC#TyUleVheNro?F2!|oRAT){ zH*24`wTx$eyDqnz;Xg}t-RTwnxyLwrgg3bIYaI>*bxdL`ec4((#6?8keSfSOT9W_D z%*v(QJj(Ch_eD!fc3lsc6E0C4%y{>%NXF_plZpzrdq!Nc+Eunmd|&$O>p?ad;M?`S zn3PX$_c6I3x6N(t@nfLf@4;;z+oR0t6F&GG>zW@ndbi_sobu@~MlTc4a=MqVwstk- zedAGhxTxvAn)|81<)Aqm@$yqmcH0j`K1j9Rm&U%xaYOz|m+rH?4<{W{m2lwPuwUau z#)$?EMOBHU=Eb|pBgIdinfN5YtoYJhvu9OLL&|4YXW21jwhQu4*x<%_pzH8guCwUM$F0%so%;34-2#Ea6Dx8#w4L*Z)B;c&^buXTeu23t89>Murw zu%5PlqnCAI?k7R_e9D84<2h+{owX3%J$iHQ5a|3KnFbjVBZSaLhYE$j(Moo?Knb#++eyV(+ z$T!@hev3$A!teW!d}1QKudV+5R`tM<8w~LiABL!ATTl1CmB(}2T>8;Vw{Z89$3Hkt zD^us+pC_UJrJiLmtD^iT#)pclj<>%n5LkcWelCZ0RP+K@_KdT0L4#CLKM&Y!tDR)1 zRnt84f^dLFfF$O zA41X2lImyV0_q#u%ghV>x$$tW+o4?=`GMK>KNDk&Z5n55K1j3P@66cK%QE-fJ0+_H zGv=|{N;op^D6tF%Ei6{osY&iyysIo#jHOU2r6e4b2vg*PGLcgrK67-8>gtE=Cr9{6*E zA>LKw&d-;UYKoKP3#aIdAr})E1p*C_IfYJ7?_?0Q7>%BPtgy$MZ#&e$yj;I)J(%aU!|G+W-LtZV?iYofui?ZsPK-=#d z6>t6p?RY#Ox#~Pa+|yK!{poiXIyR(vy(^bWo7lQm?f|GkB4GXfzRm`#{ZT&-TkWp1 zZz()8P3C@Bdh@(Fdp*9emnYqcvS-$4k1>}!7_z9|N77l{^!{t~L#A4*s+j1;-FEAH6* z6^)sHUx~9wvo^74$fq4Wps@J-(s$WTpqW$Njh41TGVw`c8(e?8oVeGwQt98s=z7yBmP=o(&{7ft6-356=gwd}``PrkszH&3 z52Pe~y{_v4c*f$fr2WE=;$L<}oJ%j|ar^#S?aQ-^)*HE$eCI82+>+l9alrR;n}n@a zy^%5g%6`yuXQ`w9B(6<$aqHF|+wrF=Jil7t*TRQe)ALW&PB#6ing1xItNyn;*U{!B z3-mJDv};yJtO(!%O`qG^$gGMFWC+=29BNn8(eiqOD~Fcb+jHh0!*ESy!xdzkbr{aHRu9+rm7y{7y*teetnROp4bva4vXpgCV}~afs?NtLfem z`8>D7r60W%3UfbM_R(qDig^BQb5GhVS*QLmPd+#8*ru!v^NW@gNZpZ`$G!qo5>Az~ zxOb&d$?kg;$I;unY6Xw|TXuF%fXx|Z!Ef1yUwE=N)Xtu$p;7Kt4;rIUI8dY(=CNhB z!!#W+`7?31y;{1I*O)Hy;aoJcJ}_4I{Mz;@%+y2Jm1epEdR zd+FFU{o1t;TRwlN&GtHfWJCRg`7=LHm4>E?HF^%6{`U^WlUD z-PI?TUUe??ef0Xtw4JdhJem%c#7&gh#m%z++K-K@-(C~f9GBbYJP8E67ekt?AZ|R(kZ1*Qgv+p?(a<%*xD|mJL##52{fwHj^ zcinbOORp7u#$~slY8o^R$n^MmtdBT(XP4z1_BTs%J2!86{a#a(QPJ{GoJQx&*S-1A zxC;Z410;)io+(iD^z+ICsThGETn?Rsuzb=SEa zzZEj?DXm%{l6NUJk&kOd5RbM0#ki2=ng@bbe(g9WWA2w}*e@-d&8N4~VsF!JHI?_f zRb>BG>g!DSDr2+EJ@>a=L`JglZ^e!C4z%WZ`MjTU-!dd_$;Pdo!C$`3D7wNGabfOn z|5b*T=Z-Y{*#Fjg;tXyNlqa8vu0MRQYqipsy9Z)}`X$};J@#+dIA6y`iqY(}(X|C; zHY&HLXAAT1KM{K6R$-^~4;9c^Fi#{8}H4!1j~#>hzNGh4pVc9S7q;&F(ogVl8Jv!FQ}=|?Z`g}9$Q`oU@1^Em!(*(Yq4n5#U@6U$9I7M8tX ze(=%)DLsjK?0bTu152mMS-iW`s011x*m-MLtzhq?f6W_M&lKqkvc0`Nm#3-T^`onm zrgpFrvrM)wlj+hME4?<{(e}NO|18kvhWq6c#+9lEYkq$1$de7zeECYcd$})n{?^W? zuMeG-dAxF?+uXuF{!L$k9yWf^ettJvmGxP%!8X;<=M}HxS8Z39J-xW?MTTs1;grV9 zd*q{Ketr+{Nssv}dvQu~OuOV#nEwdSFOttNL?^P zQ1IIRdhsthk2!01gU0LmuS{CKWYxjMV^2e;1U(3y9kbAR?GJ<8L&YE1CViXaP+$Lh z@u$AyTLd?|@+eKoxOCETp}#2qu9D=~5ccrzm zgY!>Bt~p_JWwEhs?+TxV!r>di)$yFy8(dknbOIm$lG1cMv`>?1+A%SfeS7prGq z$E`oFg>=1hWG!?_xZ%JZtuyUD=Vc% z6c@ki+_N!-yW3xzFRkKfzyIKyPyL{CML|{5p0g~+OS{j-~@2TB<@F=PS%o;V+@67QVqj1 z>Z=9+Zh0^zLHuWou|20|+Uk@U-K9wnFZqNAJ@K8sL|tb^ILpn%JJG@^7N?mR+19nJ z09`UUb=Nk(-#mvNE@--?=W=Mff&jQt`cImQ?74c?xo}Cw+UzjN z3eFAt15Z3$*Qlwc8!bHb_e$N#hO26iTysvTFV+$%?UX@fi!Q^L-oaVYo3miTj z%xrt={A8nd5?9USJo95#FApkDQ9bR$(K)keRebGB!Rfn9Iv~gK9ISP>JR%-=tX@R$ zS+Bm$a*Ji3z|(euySL3Z3<^5f0bWJ(alzjE(iS<(D!)cDt+{WdzEv#stLo3z?dR%` z7%MT&*%MKppK|GGj6IjN`ZU9!vlo>Q6kQMV*s?Y&;Wuar#Tu_`tLxsV9{7BdA^r<= z*X#d0p4*91k6u=Vxu1OY(P>&$JpZ=CCv28T>pkad2d$vU*f4+Ek^(6miFxerf}#U| zPLZ?Nf2~oeERw* z_!AO-A9&;wQ}2Ck^^CWw2aeugh~Kdy#{Y}gRFB1S+#45VJ#D(L=CEii#*zpz<(J5!5Ek*f9V8@&c(Z67$$!Jv()9?G%p9FW1eOYmpqeW2)Eg^NFGVRyEc8 zI@rH;nD}+Bfxb@er)o{bY|VD1Uz?)U7>hz;n>e>`baK7DCD6_N){To25^szueKZ%e z?WmZy-Ac*l=1zA$CJ(#4wFXiZ@tX2OHn&(x_ zIyqlPQ#d+qr;D8N7q*reO4lQP&V9K?K1J;R&ic*!!vB;p3p>?czrs+IR4No(tC?)& zZ+vpYuMY*WHQp{_N{LJb=fjq2`%H{8D_1=o#=#K0+}LNHSH-m5JUa4PmslP@J=Ydc zyyI-poQ!_qX%B+z)|-F-mt?w~vZU@Q!kHT`TvB>8GOYMW>HS zcmDOJ#@?=PYvd1VpDZ1GcD?MWzXh7L6D)sfo>6`sHqmY84ey7drS1zZOh_|75FB7P z>7JtUPL(UcUmq^-KM=G2SN^p4^-kB7w=_O_bhIt&)TZdb$7$Jj3R}+E1{$!6t>nm9 zZQS7L9C5rYKx$v(+?|esugx|rly81<_Of*E{*@ml{*{$a5v@Nkw~2i*%ZVo@*W#}K zX)o)a`rM97=bWO)$&=qxi?+sxCr_E^km8h6`^WlbU2={?q~Zh4g9_|kA_>1=3QgUx zF>2*bx6_kKEFU|*-2TyNQd$|a`~Q`tXmha<0v2D)!-$h^4b#c{ivGi5tId@Emg z{!+K?K7;#gnhHm?KBuunc=XS8 z{qKt1r$tq7d2$+jnm0A-GwUgaN6$GjCtWnGmroV_+Tz^C6ua-@rTZ#HU;ppfymw)4 z#_G70Qzl28QD*Sq7vr95rIg5_@~9`Ri~DNR?sY20?l%skzFjn(H>qOUj_SNK43cY@Yu! z?P1)p+itNZjqJ@ox!z7)zvsn$_YW_pckfI&|G_Hau@qNm`{x%M4(@#;%ja5i>d!pS z^hK^4bkj{=XBI4-@}$_%Flzo6!GPJ>kFVYps+`hr@#X(nMu+QXS%$xF`5($LZvva5 zQ_vky2-s`@g@AS}C&W1?3}tL?tIVE zj{Ut8QXb6Rkhkp5C+*MMe4iJ-{3sb`>md|TVRcRZ^v~;#5(Rr^)+xwF)%Sx{k$ZzMscyIGV9Imc8f{EGQJ*e8`PNR+Ab2$Il*&1qF|lsX&)X> z+w)7zoi}Ms-|<0**KecMBg-S}Ttjx<*p*heqyA!h-=9M_3>CwY^~DxWxW8fc@i~_& zcAuQbF26ZKXTt(v*T^a5m#UuCXH9L)Gm=k}FP$fSFZg`1f|!{~PI*OHM_Z=;lqcNJ znkMhKn_$(vbc6R4f7<_(HZ8x(W1rP| zHa)8-d(f)pU%<6XYM%PjH5!i%MIJt$8KQEk{w|lBFH>ubMxJY!!-`Gu8Rjr}odPue`XkjUU~~6WPtNu+wgi>}jR>VQ)*K zCo;;Nxp2LnCG_`IJ%zgk(VYi=Hm;a0CN04-^CF|Uy>`pioXsqXYvVuPOKeWp-V{A6 zZs}Y>g}t}uKbTZg@z1IA!@CWS_N<#)d+6~x))^M{89`YmK7EjUbaLUWM~k1@25i04 zdN(t5Tig4c*Oyz(=TmCdQuz|^fVNwQa+KiIc$#S|8aH`nSHF|qzF*4TA>T5RC4 z<83?VWXt$7$6kA6uuDgElg92e&7$zSYahFnlvV{9gsV+CoFIBz^szxrtXE9;;x`)} z+`75AUi$GzR(~tIY^l73zZs+gPnLvze98Rr-?oME$EI1GeA#kH&D!rqe#0}*thoI~ zOIxj+C8nzh1O*fX}}F}vHHmlN87+giLUxRQI9=kN;EoA+O>zVrUdet+#_H9k|q zKk{29UE4h4=MT5z4-Lyg_sQ?%p1O6;1D-5~QwO6ZZpissSM@zzl;yJT*e%2A-;wvz zqJ^XkK3uJjw>r~($1itPl*XM&|6)`6wjVq_M?T7w+3MPQgPS_#o3uVv=V*j0&A5D1 zGekda5hM+Bp3cZ zX~BN%%(lhvP3wz|40j)k`=aAIN#IhTrbaT;?%z+{mHK63!#$>K)K{CE|JX;P!RuPL z!M@rDJ~tV(pPylieOY=@cY~tS?~S2L`VXep-q>}Zq9r}gbm{jWY#XFAmvdO>r#)Mc zwc*vYucjFr{BC4O$&0Afe>o=Nw`FFdfASU)rQ>tI#->bOckS4@C@)hV!C4Q|H`diY zvHoH&B~c!@`D1q((^_leaF1mZc{#V{Kdz72s=TAy;09~2>UM_uuEUl&?N-xcCorc@ z-6(bSSC(9Gdr=U%l^NTl1U%nPOMx$^Q(#=#+1&-EFU_5uP~j@=?z8o(N$k)@xsk z5~k{{3V}DO4}5O=*?n3Tr}wz#sNTaop5Ghe)*kMc6khmwKkGJAF~^JFPujFd zt38ydv)9_cAZx?^V@r)n-vxjiP#;~m@peSqr)!N&nLC&{j&$!5Q=EVA(Ahac!Rp?E z*VfnVPBH>Hpgvu?Z2Hx6?nSK(azbneHmaFUSAOhMbAx^IjpVgSOMUwNjbASkc6eEG zL-i}j0iY-dbAP$(qrguEsn}`XPuiS}Pkmj_86WoSo6i6J?JsStzQ)~9kEs`sDExF$ zPGaknMkcXySsF`UG{vUuY}~Q8!AGRnDd0=5$^(^;wY9s~|I`TI&Niw0)~5qOU)w#V zFm6b=ebd;d=7!gluSIWE7a7g2v)zAR%zd@oOVJHN1;0-wJ=(c3Oucj0C-;*{G5pgC z*=$-aetYQmZGYOc!d)BoA6ruBx?6IddcBlRP{#EsauT0bPT*16Ei5^4$>xyUTkzx6j_Gsi%6T%hubp9jqab+E_d`()7rWB6 zsXgvW2mF#vIHzn>WPV!w*eC2r*q?5VFVXWt4l>x^KODmPQmMaqMIO)Zi&c+KE=-Gm zy602PNfw)e6_eLH|E_jxwsjEUY>$`^wJA9&A17^$*2MZ49JNEmugNx%ZcW;y=yc zd3So0_}4aWX#H$m&SNWh?QqN&o$^nD)9p1CoEfH1>Mj)dmXaOradmP@#_h}}^6JN3 zo_&a(9(B)XnRLp5x!P4tfiGhF1oLNH(wVz$k*US?qkWopd29+^zPY5{t{T~->JTb9 zb4}X$151zbyWXs?UKdiSlTviHlh-=305YTe2rwdS~O${ucdY-Yyq~pa*lv7?WT(9HET}!$Bx`ELq zZ#E`KEzEyhBeTQ&b+`Xy+dD@485|BQ4q=_@)?a)^sGxnX*u0H@H5B`goV7U-m}%Jc z`a9RI)U>%q=E-%>-k3alxuMm+-t}6^KXo;IYr(TCgjAZA?d6ke%#wKf{GVaWze$H$ zKiL%U+LkZ47&l3$zK81I zh(UE{?$PWG6?`iv#x0z6Ff8cRi;IkpRCxHCKF^go5K;QjPcO^p*kilTZ;oxOFUy-1 zbG=k5*rn|0mcY0zt&K`rE34|RPuUea`~0e9*Dter6w6CDHq?O%qVNqlSyf{B*Cx&K zPMFHbBEm9dPOkD~{|&raH-c`Qs5q0jl;Ngi!JpM7-Yd$dPg$Vra{FuW#*=pLtSjCv zVt$bBA$w)_Tu?zI7h9=pwCR)428T=a4^^wbc^y+Xc9S&uazswz(~s$aiFY}2kKcCn z(r;dV>dgIs$Jqgf(_fby)#+HRH@hx3Csj$agvvnf( ze>?77^>?ZC;dw75437QVw*6K?fQ>`cwE)%yCE*Re-S*eyn5(`m+*ht-pUTOfv9K{9 zK_&b`rOyxk8QtfvmMxb1>1w!NCNFTK)Fssod7lq_j^5VQAmuLB_R(n@s8!5iX4CTc z*7Fm8J10ztnN+`F|FK>EzIUttyJzLNfD58mr|SQJDx-k29|M_UX2EOQ zb&6JfH2Gb7I8Y;8X~o+YYR(IdZOk>MY)q&)p853Duectq&jxQ)f0V3Dkh|BUZuQ-2 zdbYv3H{G3VGUf+Cb-_2+4T+JQFFVd#wMeVYH;CnAXgF5iQ)YQ=X@OEx1}Gb9`>mTI zC&8t~-m;|n&br>iyJAyr9{m33uVF2N4ga+1j+?U2XvLfJU|VS z+v4(Fzv9jW_@0@f`oQP7J8{>MSpp98N8GP!#uoNKX+ z-9Gt-_;Te?(b_T zJ({Bb!rdsZK4SSx<)5uP*H##9O240$DkN1n@oK#K=j;Et^xjuzyqo{C}2mpA=5MJZy_w7pDvXQd?O z-foi(X*<+*e2asLIkRlr|AZ4d#@95zS8FOHCW8~<{vc4J^g~$2?d*phC3oOWGVmpn ztS_ymOM6VK0d-DK-tu*Sx$Aw+w)8|nP>TrEB&+8;Jzq^MKx@P9o4ZO>m&&}mKk3eu zmyJ^-M1H;7$*VfoN@HSlm2JwsPYn%oJy?o2zm&V)P@+?@Hg}bQnMF9$i=J+GB~VES z$p!twAtj(Tq4{Im4?Z^;%9jgo0Xd+0MI!g_jZsRTj?>s*?*8JsH6?;;+V_)xT%^_N zANpD4B|co34QdpEa=|=xt9*BGIRMTDf1))f+}a(JatzuiWfnZQ9nvVZ{_m;buXkZ$ zm%Ea|s?hrkIgSbWM`}OCBwzRXw)=z#s8K4Azu=FH=uf5jk1ND%ey?Tuc;lj9{Le*| zr|jnI^Ur&KQ)dcGy=G!xbo@NI1z8*S9p93#y81!d`boDhS8klc#_{O*Jl;dRhZaai z?~2X7`EJ_e=6IHDZppZCk1smqYm#=^YeuYJ6(?0}u5{kl*FB+UaLXvCxija-<^|$gK1t(wFq{qBNB=kYdG5P%Uf1;mCD$P$`5y$gqAJeCsH>3Oo zoqk5Swa3eMzPPDU-z}pjxoz|Ex_b+%)-SlWB|~k~gS7RRypszTb~AE(zSj8Y($gS? z&eyx5vhTg0-qXC|$>-*Ydf^7IjmtOHE>Y0bh`*&b3zP<&oID~xCE?}i(k?aELXOSW zf2{gqi(?!o<cmjC>$^DBQw zOga$H7TaO9lzpDMw2#X~#~v{TCbLFX-KSm#^X_a~I>)c9?(-Z6<{V+cYwHj2sMPOj z^|n_tceh*j_K5#2i(6OMTTEG4Uw=FAPms@orZ{GfJF0I2P735LcpGB-@lbwoM;_1b zg{*&X9$dHo<*tvr{L%vi+Md_nRPKI!@1dXd^m)$~=k8g4YEkhaCy9CLk5)&Qt?Q6v zd3$kY)uGy50iCxOIVT_gIb-%5jVGU*U#?qk@Wm!$ZSHP%LxuaV)~)J}wz=%=>mM>@ z2Ken`>>Q}_Q^eExz!fms~;B~>o+rMO0*y`GvC;9Ux@$em6eu5`wyHV|KeKU1; zqmy&F+mjlE=3e)hy{@3(bopzaKN3uO#RhM*{>Pl;PgtKk#dT#>`0EXc!mk!^|32Wj zY=7dSgHGGZ9R%vzzMr&Vxt+G~+;9D~mG!?A9Cj|PIOH_r-t$?(-g)b$$g#h@*68$0 zHA-XR?OndrH{XH#hQ_x~URxg^vgW%l)8^wBHLgFJHfeT*?cq>Ie~&3UXUw>r|JbMI zMCi%c20Bj_&PX2kzyFUn>o=>8k`L>8c7ME;bn>8Q#LHdpV$GJz*ZW^H_q6F|G5Z*& zlAxxhp!K2NZRv-jt{r_AqL*hIeiXSE@#*F~p-oInS6q~~nhOen$<6*e#moX>`2|}* zA+TA^%F5C1-lfyqZ#4*kO2U2h1&7m>duncUiFF%1w)zlrO+J6W@)XvWzrwROWHLWq zDf*O?G0gpCm7&wlih6g(z8A-8TxP2!_EqPX{ac^AfBCi44OY7(;+{+0Ir31^B~jf- z?4Z*lTPcms<7@m%?>%c{mRXQe%`JFsy}@te^hLG1?E?eC!R-Ot`$4hc4s%XUco3cc zI40+~>$Pr$FSfi0eZS_t%T3;{ivN;;5wt&A% zPyJb|}M`1zl}8P%f|dlhtMO)FttUp`&y zZ=Uns?^28BOqF!s^?osXeP=p{-~GieY!+$;pU?KocWzqXIQ7(v1_$o*HFwnQ%}YZX zmt`04TGQypem2wn#_jo*UXRah{x(N8gp=9k_xijqoWe7Fy7^tA!}I1Jyq^?)Kv+=P zW8+ofgn!&8Ykjs_UR&pSh~Yxrny}JY(+U+{%0F_Q8fVw{T;TYggKVM;x=+`qA5Q0w zy?^wxaEw? zj-QZ?3J&+Y_Bei)claUxdp=PdB}$9_t~T;nV{2#Qas7ji&Tq|)jBbA|uWc2buewR( zW|-xNV~VV+^N$#9(D7YAF>LL;gG}-#|JCmh{H`kOHEnT2;lYsNt$tO?>RaAsJ^Rr0 zF`(#k{55s^Y(m_H~-C3v@Yy< z5yrKF(G`@gpcUXMs$?^oqyy7ZySj9Hs|3MxOD?iSZji#C6J(O>EM;`Qo6 zC-gP0cmC&zdvj&Q%57CYHkJ=WA+&J6)U9?WUv=7_-82%BJZ6QRyyu delta 48589 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 A)Bpeg diff --git a/init.c b/init.c index fc9d2d2..dffc39a 100644 --- a/init.c +++ b/init.c @@ -30,21 +30,17 @@ void DATA_Init(void); void BSS_Init(void) { uint32_t *pBss; - - for (pBss = __bss_start__; pBss < __bss_end__; pBss++) { + for (pBss = __bss_start__; pBss < __bss_end__; pBss++) *pBss = 0; - } } void DATA_Init(void) { - volatile uint32_t *pDataRam = (volatile uint32_t *)sram_data_start; + volatile uint32_t *pDataRam = (volatile uint32_t *)sram_data_start; volatile uint32_t *pDataFlash = (volatile uint32_t *)flash_data_start; - uint32_t Size = (uint32_t)sram_data_end - (uint32_t)sram_data_start; - uint32_t i; + uint32_t Size = (uint32_t)sram_data_end - (uint32_t)sram_data_start; + unsigned int i; - for (i = 0; i < Size / 4; i++) { + for (i = 0; i < (Size / 4); i++) *pDataRam++ = *pDataFlash++; - } } - diff --git a/radio.c b/radio.c index bced7d7..98b7907 100644 --- a/radio.c +++ b/radio.c @@ -426,8 +426,13 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) { uint8_t Txp[3]; - FREQUENCY_Band_t Band = FREQUENCY_GetBand(pInfo->pRX->Frequency); - uint16_t Base = (Band < BAND4_174MHz) ? 0x1E60 : 0x1E00; + FREQUENCY_Band_t Band; + + // ******************************* + // squelch + + Band = FREQUENCY_GetBand(pInfo->pRX->Frequency); + uint16_t Base = (Band < BAND4_174MHz) ? 0x1E60 : 0x1E00; if (gEeprom.SQUELCH_LEVEL == 0) { // squelch == 0 (off) @@ -441,7 +446,7 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) } else { // squelch >= 1 - Base += gEeprom.SQUELCH_LEVEL; // my squelch-1 + Base += gEeprom.SQUELCH_LEVEL; // my eeprom squelch-1 // VHF UHF EEPROM_ReadBuffer(Base + 0x00, &pInfo->SquelchOpenRSSIThresh, 1); // 50 10 EEPROM_ReadBuffer(Base + 0x10, &pInfo->SquelchCloseRSSIThresh, 1); // 40 5 @@ -467,40 +472,35 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) // note that 'noise' and 'glitch' values are inverted compared to 'rssi' values #if 0 - rssi_open = (rssi_open * 8) / 9; - rssi_close = (rssi_close * 8) / 9; - - noise_open = (noise_open * 9) / 8; - noise_close = (noise_close * 9) / 8; - - glitch_open = (glitch_open * 9) / 8; - glitch_close = (glitch_close * 9) / 8; + rssi_open = (rssi_open * 8) / 9; + noise_open = (noise_open * 9) / 8; + glitch_open = (glitch_open * 9) / 8; #else // even more sensitive .. use when RX bandwidths are fixed (no weak signal auto adjust) - - rssi_open = (rssi_open * 1) / 2; - rssi_close = (rssi_close * 1) / 2; - - noise_open = (noise_open * 2) / 1; - noise_close = (noise_close * 2) / 1; - - glitch_open = (glitch_open * 2) / 1; - glitch_close = (glitch_close * 2) / 1; + rssi_open = (rssi_open * 1) / 2; + noise_open = (noise_open * 2) / 1; + glitch_open = (glitch_open * 2) / 1; #endif #else // more sensitive .. use when RX bandwidths are fixed (no weak signal auto adjust) - - rssi_open = (rssi_open * 3) / 4; - rssi_close = (rssi_close * 3) / 4; - - noise_open = (noise_open * 4) / 3; - noise_close = (noise_close * 4) / 3; - - glitch_open = (glitch_open * 4) / 3; - glitch_close = (glitch_close * 4) / 3; + rssi_open = (rssi_open * 3) / 4; + noise_open = (noise_open * 4) / 3; + glitch_open = (glitch_open * 4) / 3; #endif + rssi_close = (rssi_open * 9) / 10; + noise_close = (noise_open * 10) / 9; + glitch_close = (glitch_open * 10) / 9; + + // ensure the 'close' threshold is lower than the 'open' threshold + if (rssi_close == rssi_open && rssi_close > 0) + rssi_close--; + if (noise_close == noise_open && noise_close < 127) + noise_close++; + if (glitch_close == glitch_open && glitch_close < 255) + glitch_close++; + pInfo->SquelchOpenRSSIThresh = (rssi_open > 255) ? 255 : rssi_open; pInfo->SquelchCloseRSSIThresh = (rssi_close > 255) ? 255 : rssi_close; pInfo->SquelchOpenNoiseThresh = (noise_open > 127) ? 127 : noise_open; @@ -509,6 +509,9 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) pInfo->SquelchCloseGlitchThresh = (glitch_close > 255) ? 255 : glitch_close; } + // ******************************* + // output power + Band = FREQUENCY_GetBand(pInfo->pTX->Frequency); EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (pInfo->OUTPUT_POWER * 3), Txp, 3); @@ -521,6 +524,8 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) (frequencyBandTable[Band].lower + frequencyBandTable[Band].upper) / 2, frequencyBandTable[Band].upper, pInfo->pTX->Frequency); + + // ******************************* } void RADIO_ApplyOffset(VFO_Info_t *pInfo) diff --git a/ui/inputbox.c b/ui/inputbox.c index c0c04e4..e352cce 100644 --- a/ui/inputbox.c +++ b/ui/inputbox.c @@ -16,13 +16,12 @@ #include -#include "driver/keyboard.h" #include "ui/inputbox.h" char gInputBox[8]; uint8_t gInputBoxIndex; -void INPUTBOX_Append(const char Digit) +void INPUTBOX_Append(const KEY_Code_t Digit) { if (gInputBoxIndex >= sizeof(gInputBox)) return; @@ -30,6 +29,7 @@ void INPUTBOX_Append(const char Digit) if (gInputBoxIndex == 0) memset(gInputBox, 10, sizeof(gInputBox)); - gInputBox[gInputBoxIndex++] = Digit - KEY_0; + if (Digit >= KEY_0 && Digit != KEY_INVALID) + gInputBox[gInputBoxIndex++] = (char)(Digit - KEY_0); } diff --git a/ui/inputbox.h b/ui/inputbox.h index 4750178..d7a6d2e 100644 --- a/ui/inputbox.h +++ b/ui/inputbox.h @@ -19,10 +19,12 @@ #include +#include "driver/keyboard.h" + extern char gInputBox[8]; extern uint8_t gInputBoxIndex; -void INPUTBOX_Append(const char Digit); +void INPUTBOX_Append(const KEY_Code_t Digit); #endif