From d38ffb52de0a3b7965e51c0fe24121c32a40fbba Mon Sep 17 00:00:00 2001 From: mbridak Date: Sat, 14 Dec 2024 15:39:13 -0800 Subject: [PATCH 1/4] @mbridak Add fldigi udp adif settings screen. --- pic/fldigi_adif_udp.png | Bin 0 -> 60379 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pic/fldigi_adif_udp.png diff --git a/pic/fldigi_adif_udp.png b/pic/fldigi_adif_udp.png new file mode 100644 index 0000000000000000000000000000000000000000..334aa9b44b7ea225b6830b6b81fd43f471bdc4e4 GIT binary patch literal 60379 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

M5HTPQn>%N=3X!%w)xj%? zCL`9Yz}!3YftKKe2GQ``g(gA=>5{$)uT> z=?s>hS*q})ViC4@1i?^>`DXl2LaKHie>Yg3`tG(^RM;M=Z>%6EXGua_v0OV%Azyl* zrQP{I7W}b=N@5Bx$KRVWX$qq^k=mW1!JLj}MVeKmL?rEEo;K3ViNsQ!zxVg}l%q!m zX`Xc4=^62%`8E;3zUAR&NWhM{6#|w({g=ipWCa$_fwK-RGG=PHRKGn|1F%U9wfEtm zn@!V?S2ljLf{306@Hr+NHr_Et8KFjMyzOR6y*An(yV`%IyNDo6D>uX!i;SHG)b!88 z@{y5*Z2r+HJS3q9d<897gnHv8{(;zlX{#Tb_hH7rc(L8QYl*+;lIV=nRgr zzJU>94;)dxXS`c8zPVnME$`{2q}x^WXW>7Y0r)y>ep(Qd_0k>4OX%CU2_t6J*C71L zo{YD6*Or1Ej2T_<7&OZAI5d$3GP&^)=X?IwSVplt6K$zkmB)_v)dVWC!30ykOyy{5 zN}EEq=)RgtbE7KU0NL_CohnlRLu+>BmWR(nK}F*NrTTw@3YxG|ax z)kml0hfzEB(nH(+WG-R|UI2f`$#U~`iW3>ri z2V}}l9iM%X7Ib;(^FDkBjQV}Cp@qn~>PrT9n_uf zlVi=)Qxr%Ybj3Lq0*^-`-u$`$hNNGB3m124mEXM9QaF#THzX32P^LA~HzC;Y7k3PX z)2=Ahb!vxO8YUY!Fo@1zMB9CY5PX54&`?4ytwZ+Vp7dmY!ghyYdVd#j4Y^!1uee7S zTV;=m3{vtuRY<+zlU|K;rsPlSsewJ#n7v^Ce`V-^WfcMb%f?o?& zUEmr|Gd=hSo#!ZbU2N0ogLBTbKB&2CVwsGlzQM0-Y-}W@q@qPb?%9M6&~8pyL&rF9 zHz_}u<>oOlrTxO~gOG2HmRcE7EJEgNs!C&SCaf%&N|~^4$ij{NF$_%!avx22Kt!Qu z?^bhJB=1veCypl3%idRm3FG|BsQ)6rF({3*58<3T~RK3zjjDH zIAZFV)JjK1CmIb$hYlAxgUF{3?cEiLG~DO*dc|{+7To0v_eF*utg)n)!?k_gtCyM~ zz&`$pz<%H&8y=aTsiQtuDJO^>0E+&?G>L>mY9_f!^2^Iz5yeKP+%uHLnr8CpE*Oi9 z8<7ItESABs%5_n0#yF?#jPSDAy)d&Br;OI7h)2XAbq&w2AQdNbhrmq>pB=?B(kWZl zrt@JBm3vyY4Jf>7RTN(9s(kJez z*#Y%6Z)JM{;*?HjvP_tIwWF;7#qq{7nW}&AR(EF4#WrrB!q&EHdWNaFNUlK;yiXkl zeKz9SpbNw#E;OeiP?#3GUoc%@Xtdw{1mT|G>inLXb~bf~_-m!Zsg}CZ>d47rt|@mW zQx69=(w{e5LQ${=O@5n>XofD&9|n84H9$d)(Gl~x_4=bS0>|KVVRoa%p$-Q8P+w|u ztS^+th#*E`Fx$>f<3tjtSdRUcy@KWQ%67IjpJ)9I!7bxr)ata00*xS@{Tb5NRJTu~ zN_$LZ_zsWY`T@y(q`Qn2uQ1L_@$1XFc)0A(-QxAksgG43?WeuGaaSXwhawT<@q0Rn zgYb)8=-ZU(Ie{t)g9T2%P5b`sPbNkKn^2V05_RNY#gO=1VxXoBG?fgjts@j4j@~&` zM!mpu+;o3t(!~)tRORAQ5=S07QA3=sd?dm4c;rc&Gg|jA*AYv-xbtesB0X}A&7h?Rb_DN!CA`Z3pk(wS?K|Zr}YY%gylB`$Y^6(6m zkCHJEM?2O>*f)`*hKoBK$@*a%ZC?GRok9n=qD|nXb4H zP5I|t0Cqf(OI+EqXq9uf+wb8!)qk+E7oBPb_zq2r}5-gKdb;KkefZhJ{w zDO)HA*TwmCOFlhu%$*+L2Zkr72L-mI3!~ALW(21qer4GZM4E)X*S6t~CD%wP#Q4(d z>3b0$t!|c-GP7w-q6Q{wvDyYHs(Y?r^Hb&tv9Jkg8sj^YRXbHpeu=jrJ#T6dW@2)p zU$#ijghEt8f>c25ihI^RCMql}jDJ}jXc+7r1XrSYZ5j8+R{*qF%;#f|mmngz8njz- zYm5AfCt>aUvLxBf&@^C#*U!r$eopb-_ZVukW!~|#+*}>l@54l-=^mTNG zBM%1%hTv#w@7V9bP)1FEqnK zIk~D?i$mG#4nH^|LRC#oE=v&dJs4P_W+OveTO06;)_1W}h^!ZnU(yxLC9OoBeL|7S zA7IIlTNANA=x`r4iXIg)oE4)xRxXT9MLV#f5$0>2&JUxje%q6pylYUAd5BCMtO7f4 zaOK!*u@gNyxX{+JP@K6olN*yZnP{e1|B6bxg2ydTEcfOCLSTtaI*awK^dv5EPY@b& zh@DYpz@<0?_*8~`0%Brfpqwb7!n}cMl@i?XTJ~# zVag~d@S9JR?DKlY$G+c{ zI%pk?En&{BVM+j#R)RB>)IXSVJzw^0WkEt=65v&`eFl;vY zUr=-FKd@w6Mu>co5uP%?yEj2&0N>cW_Gmmk9h-r}4yvvfp-J3aTk|b1r}g&sc6D{t zH84;(D#pV=@K{NE!8|>vH;H|4+8{MJj3>(XNlf|+poT! zMZ4_ly`de#@X?a3ivzhL!h1Xi=N|e8n&{+ZdHd5*Fsvm_ItQR_xq~B@oaV-_X!tbg zc7fng1fMikr{Lo1>IL1JPW5xF<{4?9Hq$`=r-RAf3YQ8(78AXmP0Ck6|G*2fW~hzB zLkWPKHJ(zX7l=bRIGR~VA<63)#3Vv?Z@$G_HtY!$*YOFt=c>KMBJI9M2W069-Sx+`jKm-zays~aBYV)^NN^0y}T^-mTF$6H4uKRCUge4*O| z>Cf{8%~^^Di<3{R2&ST(1%rvMQ=Ox*# zIepYoPIIN>A-i5w-Y>Y6(%RX$Kc}i?HkAwtXj3OcSDD3n!^?SlQ=v2Xx0}xh8teO2 zS2J!8#uKu#Ci(jQ0|49T8HcoI`CVJ%64ky|Kzp^bhnr-qJJOh4)g%5%HlWDM4T;L@ zW(W2NAq0xB0=v0+Brw8oB&3WwCqw)cJ4&fH_hhq)Mn`i$p*x|qSEi_rkLCZS{S7T6 zS7G{V3RY*Mz7#t5=$L%kh?3aEQdgZ&qQY{x23N%3TmZ2p)zj=LK1}(zg?>PrQQ-NG zvpA5ccWeO8<2G4R>S!e999CNmLCF*zxAXDTWLe+9sfl6R{>5@SWIHpnn}bcy%&f4` zPq9$`1Hh&$_krAeEB?;#So`LsEkR9dXt#~3?oYX;TuDxX^9uQ-B@ER&aobRy>{}03hA0tE(e;_vKHFLap9L@;o>-)vVA{q@P5Ce(^jHv){5Bwd!mUVu9e$^IN`h1y;nNx(f$Vl_8p}uN} z)N_1EzU%ZBR&#QuPEAemFW1?umbDkEjPB(d2VhpHH{n;7XP}oVb9(k}1kt91*@MkE z==pkkd_l&A&+tyJ<;}#2m+W27lVa1Xr!fb?NI*ja*qQUo%WPoMfR%#-)&1H%^9~vk zQV%Ey9WB<&w7>bw&yFpF=Aw2Fo)g|$`~m{dt)lCPWr1fD2!CVM00Q$zXEfH&Sy@*e zLFYHd7JU(%wsw3ZvFo}vk&%(`Z^qKiEw~ZSrcmX+gWxS{2~g7H$q3>1lT#JOy+;3& zvt3O&Z+<@M8?hzOXUD|EG@MVwNBN^jpI2~% zU!fNMBw4gFP>J3+0*^&)a~eqo$2h!`e5($e(rL@(8|xkA`*MBoBG8Of*sYKSs{tSg z1UWE6AbY8RJ@%p6BKBA%3J(7L2OdZXDJPMO<+h8R0E5O`^8*3}1qBER6$<46DED_} zrO(m+e{1P2X)6~YK`}n4PWVJekYFg!9TPjb^x+So+u4tkRnr2_FKof)`ziM|Lo7rQ z+I@}7wYJKfYX>^b4W`Ml1uePG$9~?=Yb#vOI2)Xta}$|hayU3@4tz&PXBQV)z&j2Q z%7#o<{N1I0eKtW>!zCu-;)iuJoA6SP&uML(zXX`i?%?x&WaPZC940N45sdB_&pj~j zRL2kPA-}>R`h*DD9a6pK%;fF<{CKCDqQAZ-5ufl397H;*mSn4{xVT>=x8Kf)12MjN zu)l#+a)s*}FMv`vFT(rw?b{pfg28BTZEX!N=JVe=OvfG2Y*T_0(1(_?i%?5@I5){{ zObzjtywXvy(^w46#KeiQ0|u634kruai>>ALloBJTkJ##V$wK6v3Xji786ieC@|S%s zbvy%|w-${~wLifC_&Y$@E-s|{zwvJT{e3~`aBy&OYf3N`Y6iQ@DMM%JE^=bb05dD5;_m6%VxL^LA z@xYLM@&)~s6jy~U$V}Qm7$Hw7Mzq$Yllz*cQfAGJ)EAf?V;`pm(> z5$*f;Og_0$*ds?LO6?qcYgU0*esKt(RH?FIIdSk&AY18>GBtDx((w)*XnL<4G1WeI z)hAHIR1i?>%%Qs@mnie_1Fzlwn@_xZnoUd`5*j-aKfgUGJ^~~u=2yeo+EH3iXQTP5y5+3)@ zTLM#c)aWeuNdkmT4Ck{F-MJ=Fj)(ue9xngLy)yPJ;5m4m`NHi43sEi@lT?PcfAj98 z-jw#>r@7+qBGN)6vz*-Rr3o>Wf*O}>S2o8_etv7sr&k`Lwsv|(uP;ZIGcZawno$4| zsl|>TV4C!-t;=5N{%R}VZ@vFC?gEU}r!MPyX67T^y-@8Lv_B-tTAz`; zq$-5_bguM_&AjJmCy{KNO~-Zd9`b-g$f+w+UDh0_aG~5VwhGpm=C-WD9v+i;Tq||E zo|vB@wdgrZP1*g$BRabrn?=iv3_#O_!`FIYm$`%e6|N7f_ckLNRkHl0k#hhbU>vmu z3P5cw_pinK43!ILiyLT*oBGq@oF8XBO=X^ZWcmEUrUmanDf6-!=gUXC`Ft%gO@6dm zPJg+F$RYfMC#>gbh9F zU$@6cH0pA9wRzPs`~x~>b-q*F<~&r_ zT2vRCDIo3aB!QAQj*h}IGH?M$)6meM3xqqbe{GNdED2D53d4s*!ohi2i2VY5Tp$)w zU^mp*{+8I@GA51A%qjjr$G2l_cH34%F+&DW9#jk?YWK>Dwjv*3L$$%qrA|}Uo!}o< z6xqZ?g?lw>=B^}uH#u1l5D;h|+L`@FRs6n9OzI6HB{4%YFkXAGsZ^6RuXrWGI5-Sf z7vm92B)lE3%4`Xx-&=%Vo_?2iJ0geF_RTw%n3#B<1yTs;4Sf+<;e-uFhB>=k1?)ME z=I>Md`IYqJZ@Dnkg>E3+c1zy{}S2a?A&CgZCjnkYv z`iD=Gf4o{if?N9ksE*z4P}{*CFL_ilOSOajN_A=aXv<*sX}12hL+Cx(tFhvWNld*)q>qvyC!pOSDJc3Sj#Jz=?zt!o&buW+7 zTNFw8bCvSbSWZhfyq5|7y*?YRQvYT@c>&K4XH8Hsz!Hhszn3lbCuVP>dTYb7xk6!% za)R$tI40LbHF~|TWMJ$A=QR(JBzTADFgzkvjiXrmu9l(CVb3o{nR$x{mt(l}A>;h~ z`GdOEkGsBn?&=Jh_7`(9BsJtHvq@f1D@Arf=ycJ!2ylFAs=CJJA)%qrz-;F)AYTG7 z$W&BRQKCc-@Q5KnUXM5Qwrjl4#@L~#wBAkwK^It;+^LZxQ$knd@qH;KdaF^eMkU8t zTN}4tNz|BQRo}Lw(U0B2_LPn3-J_6g|qtc2shbYSL0DtKeJ=r-+4x0Ps1w1VfBX`s%HS~9o%;`evyM53i&EB zMAG664E8FI%oocl#37Q*=5JV~Ai*uGyrz!9ZyC0whqRJ5%0Y~LhB#BN6{rXg?dELwm5dFwEIhu_iR|+EMm=1~YTUuU}SA}D-#jrW-a7qbZ zJn%wD9(s4=p^sF~m{E&QGb4I!e zpgkjYM@>(3{jE1me*U*reg4*}PTW-WAVO@)sWe-rM|$X3AS#7{D^y8_p!-4kcz=FDGwdvWUva%!bQR=sh?VXmgDb zZQ0w>t@>O*stm<8lmm~`w?@^qO7jhe)ziuxR zr1~4$+Z+-FdOfp5SoK|YJy=<4)JKgiHrd^;q2r*|o=-T)3!NB@2`QAsi_Cj*LN5Cx zKwkG+8Jwo4S*o!oo6}o>>h5Ueo%FS{kKji`;O@PBXps1dAYLzY)c+Y-__%Ja=LZVM z%(bY`QWLU}VirXA3NzY#oG6_3s5$zbD8`dch#%SB{Ir1tA5r1x$-`c6&No!2h0f#w z4?hJJF_JQP3V%}V#P8DNd^`}BcJAKyqJRJb5O?z|h=_(UN9IdETGbrciZNnVxjA!5 zt{05+t`2#NXVN}l*9ZFGSh)1rTb`S8AN@{NE?u0c+%+j_OPwWCaNQ&yqc8WsZBu^+ zLkxt=(z%7-n`~a zUB0)F35H!|bFBU~cRuP`un5|t1eI18*9${_`*+01Tl^Q;9~O?kQp%uB!bWZ1;YkoI1bOw#eDUgq2b!$VG1+osWYI2qJP!rkP~SwI2^XU-fC$3V%w<*56E@z9v(s{ z`ZY*)!MITWZ_qkW%(XBEeJn8ttsM{Fw?dE4r4W%>Hd4Dsn;Ik83Pb3KFA#|vIj+om zU2|jV>o#Stf@(Hdl)KbBx7E>{^w&A=yE5qGtqeC0K4j#5s@Qe`;sPpkIUs|Z%Or(1 zIa(5C`S0>B*r_!s9IC7?#E-91|1?i99dV`NQ$NwGVCkFp=@ish(qL;6`^H?ZUhimx z(xKc^hQcrx&eok>mndOHCTt)~1@1WeejnXoPQT|Y5NoUoW~-jHtoGy5)!PX8+!g{j5^2Q^y!a5Vz5)z|Y$7M@IN?KIyiZ`TELuMP57gX0{v)I$1b zq1f-0!CZr#=aZn_#-!i{q5G$egT4ymPAX}oXTMXDnO>>nUn3Tg6~Fu!x=1E29N*;| zBP)A9{%kGZf35Hwq=;DI>H>Wl&hu%9ttmm~2HAM@k)#P*Q)H(jfnC043RpxeW!k$V>wCvdn(2KK|b+Fl; z4NGebsw(cATti<~Oqs^)YI0X=FOD6pIIBiqGE;__9rld4jzYz;?k$@+@J>mS-F_QZWW~4@4z&z)v=S1nT5lJ(nC=buBKngn%@kqNil9A@RVE5L~ zMqkG(o_Uv0Bc__sM?~2E`alVX%kvYX34g7*8wtJ&h04w&zCeR~rXNsr`TUu8x=4v! zr>zCRc{DMc+8;Qp1&%&{GoozIQX6JKId+SCE|nU^+-I+QK8JoiH10_Ug|eo`T+VSE zy$*%_KK)vCyj#fRTH#-4QMOe^u>*tl6j)(8glnli2mhmW5>(HFKU*&_c$m+Yf+CvT z#3mN>wKd`Dk}Bhh%f(z$cLZ=NAjQzf&`#BdNbPMpTDI@8x5m}pi|#wl(z|QlOcfvO zkj^;G0NEVK#!h;z;hXJu*J>JRo~*glS=-5mnO`bzC4nt`m90_%6|M+ zL}saDY7&}MV5L^aFa!EvHgT2SaIX%0v#O}4!iIEWYJ;?s$*;!UIm&_<5S5 z{6ybGlgr&l71;z4(iq3-zM_@Z2loNuxV`9UL%!@t--RFS;imL^b0c_gA=pd&Q{~Vz zL>l}D(jDh)tHnBiYd!%kqja-wg)erMd++El9t=yFDa+$=LRHL=Rq>cF-(03WDY{=O zDp&Y&bwm`0(n!@!@n>8$9|vWN7*QFM<>F@+Hr)-eYh9C*Czl_d#zfmv`ZBtrUW2U3 zgz>6tizU$bbti zc6elVpQMOk2fJJ~m=fuB3Io|)o(Lll3YUkc2FL#@oeAktatK2gWepWE_&Qbj_~crP z-tJRoe!K@M90AE_0KMTX7oZc)i|?`v-RtWjfj`L^nIZlHMeWtw&%tz z2N*p-$FdnOOGY3F%`e~m3~K(hQ%-uhZRs-TJ^8M$;YT+~+D?l1ZaN%7oD3a#+8|=7 zrdqs=rnx6)uyn31W%ue?^+4goD@U*4*nC`nscn>>^T(7oZL-jRFD7kdH}1(}8j+Hc zwzH_J)_4+j*cujuD_pe$@ad{sp`D4r7qJH$Zj}<%b`MhQzH(bw$H-?6U+1cQnhtNz-C#knLK|R6|i7l9*)<$B|{q2nyuezw8h9jUa+_o#q zKl)EsCemnf_@J$w6Vbl;d(elL9%Lrg@r2b&G6dXcLmfEM5$9oB`>Fv44z&r^W)Gg= z_(z2?vG+0Z{{D9r*0EiZKWfmVq@7kS`Y3H{rH^odYj*pbFY*vlX~&wGuI>XCEFLlE!B^Jd@4%X zuP~gEhGy)AX~YKC@n(7yXE6sHr`UehS$;(h(d7JLe z!9U(lCFXoKe4QFJ?FMX@y&u~`f^tWWdWNs6g%jMujh_3Wf8rJhjARqO8Z4aBcrul9 z7*)6D4&AEK_J+N%>5A&V;Xel6gB(e~YSl}f6u#7FAshQT$?_y%wF!C3Bb?VqRMhww zEkm~CNvXQta)&1G`;-#qKZFgDAtl~d^-gv~96uh4DRSw}^13`DibBzneDuEK%ip&T zfVv6^`gwlZzAMf@K}CIEtHCnkvd>>s%l!50*ElM*7@#%?v_j8;$=ks}aUy)1+EjSQ z#G@2OIOTiz35Ttg=o#Glq*~0G%9DKbn%fEYLnW>ay`@P5dGyC9K@Etbs}(K#6~T7Z zw&dyJY8wldD!ZbUmQTFeO%zJQuj^~$sgqqb`*ouK!G;^B|BDTe*7FPIR5%o$F_%|J zH|@P(|BmR&&N|RoOx(UpU+M6RWIa<^huzLj%*`6YH%{S*9ZO~b6mWGs_YDr4onHSL z8|n4f==3@@T$HZT{?~ZNiy4CcPt9E!Mbe0Q$l z+Ggs-h#Vin?cT+0)*N?8IfH;*3bx1*XPJGZlCmjZZU>c=ay2f``G+cwUFx1Av$@cF z7TOgeIatxs%35)P13qyapVh#DH`S=sBs?gBKVKXuaW>kruEX_tcp6+JopV`#R|vwZ zclcZVqDkYiX5$>)NmRGnq z2|v+^bJ!F9_Kv@S+#ZEf7$MR*$IXh)XLVdxTZ<<@+P3Nod84t%T_RKJ$8e$M05>ls zH{t)1gzh;UVUqaF6$Hk5cIcN<`^8eYB*L zS1i#|Bbx@zY&4MTm)l>cH0r1h>+Ij*e&{{hT^VZJo#o62B4#{gQ-JuO+pVgw`bT6;pGU!W1|=?t$5#h)J+&rZ=2HDI?l{Hrhfpk&n<;5JB|3 z^!VsxDt0K1dp>>2;`$!%e?#DNmJukb-XDMedWrWCamsrTl6m#Ir65e*5boo|BBi97 z=KekH^)b%cN@Kie6Hl3##l*4v=X>*_PK|OvemK9Q-_=^vx$yb~!r%@ZW#1@Xjhu!O zBj3UwZ)xf?HRlIR=B1|W;woblNqt<&*~$*b>C@i? z4y8h-uGIY39Jac@i{g_##v;HFBOhQ=)iRbOD#Xt%*%NxC`VL$;iLdi-CwQ(js{6s9 z8sVEB&6P44^+Gu;uHnazQcCz)jA{1srb%0vuOgY}MfZ zELGSlh-*|DOr!>xtL@!PhXRJ6x zmbJ~y-Zv0scW2bx6P5N83mAm*=4m@&==9i-&$GnYdicXD7Iq{Sc4NF*XF)-A7)M1s z@ve9NZZr>Qt{SD@rmI2^meq@$V(d6HBjA-hx@O#GKQt^VD$3KQ^YG`+dH|xPR}OEu zUqib}^-CChZP9K?tvnKP&De))%nc*!!{Z!TvhHKp21vi3hv6kbz!F?4OM+m67Dh#) z7q3#FjWVo+gzw;aDVPNa=-s{Vg*lwe@esr?rw*)yst5>>geXp|GdjDG^Mi+E@vEr? zL^Hm4E=@r^4{0J{e>isF`(ydto3}hCJ?^Vc2-5k_+mT7S1{hY_| zAQ8NEvRvG6DBW-P6>o;Z+d6>V8l3M3QpQYduxaV4cHIBiBmxG8xT`B`sYWR3sni(* zgcrYc)`8*^+P|YFmV87A$CS1M6huBCAQ*<09zf1U>KM$2JrDCd`6J~*IaxBu z$|Fw53Cgaj;0P|)AIS{5dlsJlUsK)+$uOA-TE z)f59`7!oF1(XA5_Y`kIu~tu5ztBb($WWi199fz z`9n26)m2iiX)#+=YEwQYRfK_&;po^7#=;M4+#t9Px2Oh){fQpmX!DI@$w==|)nh|S{fg)UT)%fkXidwE=udGFufc*^tvHzVZDTcuJakX~)}}NlZIW7xpZiW{*Dl-9hA~<6 z7Ew5I8WX_>5~sSMc;HeZzz5aYWv6w8;3!{A6txPIWx7deC?tvK-nJE zf*=wt@id(sOd(|%{X!fQwM#%j@YYh2eL@QOR;!Dat)o5g{}opmMMiby4|IdQ%qc3H zpyPK3a*T!8)wT5>Qa!rKmAY{`25VsL*`2RPTUk?ZVw2z1Ft&CN2f(|Q$bY%q)qANY zogI#PFScdu+T5h;M=C15uFwd#o#yqf{3r#YAT5gRgM6+dWDbH$s)TaR?FC&{R^Hj( zI%!x{WB;0+is;m8gDjc(^^io+hd*cN--0|J0^Erd_%a-=@I{VGoVa5G&IB4yfRqRo zRE-=l4&P7?I?UNvNi)PM(!eKuz3>~Jhx$<BYD1b!RoZhr{jGwd72 zYM<{WIf&M7{Eb?&Cib}@m7GF>$c{hjZdXAfr5o>dj$!)P)g(>q+j4e@&?eGfQ zfR_=}xZTd(Lz3BX0MaSK*PNc5sJKT?23R+ceGU0*Qnmf>qYOKG$gSf^Z+pB52(uT{Ld`MTPh2f!(@(P90}uLWg$z_+$EYs+i4fbZlJqQ(B4w!J+Z@sgPgtnf(#6u1>arU zdWl2y#oY|oSDA-kxkU$(8I$)63uPD*z2eCGVuef1_K{kl-Z>|?EDibZ4cYR;xDMUG z1q!DXdX%dFf=a@M|1-+-VE{uiVyG=~U|Prd;)RyuI_n<W@ z)Zm5-m}MdpJo0~G68z%^R|?gCnpwzyp9h|K#{l3-{;cTlD-3{&+kh##Kj`(keg!N8 z$$)=))9EgVoph!z|NWd!iT}<72a2svj2W2fOrv^0JCrPgnX>PBMD%S_>6HB+K}XfI zm#)2Exz&GF&Uq&A`XC#6*JQAMyCDvL(fQ9JX~V}w%KuI)aT34M9Psy>06>Tvh*?}> zg!@^3^}f+eqvFC;@ekM8Bc2P}m*@fE(Z-5&+YPmBRf(X_U{mJwNR+SzZx~@8;_8i6cA|lKA}K ziUisF!E_-IfrMaS2;N|Y<>wFJs0ueY4+28un1;xp59kDwRZsy5qa~}j*g5+jJ1?F& zWzutYQ&T-+mq>0~PuXrGAoEXZl)@~Y5wvfd_ugZky=2`xHZz9H4H1s(a1Nf|B|9Fg zM0SpM&D@o1_)gqu)MtPSbbxrns82jaZ^}G&FejW-+ zIs>(+b-=Sk`n4>%!(`l2^+;s+=WCO4CAtq~sy(E^Kv9U4Lw1>Jl(Qp;pk~V_vI!F9 zl?u^#{mb~_KL^kv$|Ml-SY3+ySW2v@LLV0JQiO=#WwZmuxtg&F%O zrRO%6k=h<>InR*Dy~I}GM0=jFJ%eyV*VH9D+EN!*JwBeQF&@{>bMmWy8S-;`s9YMU zL%R%`N)}Buz|bF#NyGEW(!RLfm{nk|aL}{%7_U#-D(f&l8b-&P&?rdF`|;mvnuIL@ zA|lcudgI}ws~dO^n-NFS5K|GG7OWDBIM;jEtahhR4;m>@trxmh>g}1*>n!>1p^)rm zr0T1TIB$#wZXic}@PJ-X(94?nOrMKxca*wo(X{InR%d^d;7s{~jOQKuiwTsT>Z*MM znUd@Da}b{t7A_}C;)7&dfZ1$0*E>A6{eZn{ zos>uFs)vQRi_FqS`RDk5OsOp-1(#dGJExINKCpr_o6OygpnoLNS{!2W5^ybck)yCd z=k3sZkZttH0;Zq_`q7+XIogoP3dAVo6v%!>?g`Y3hBWcj$S6S-OdMd5t(`{W;A1!x zjtLfaF?$&ynbw#COd9lHc~3Y0U5Y0zQ?q1GY*yi1)Pr=h+U<~3D5LJX^GDV8eH7%w z>0k3zSQV7ADYxzr+1%J2Yy#F^f(osA)b@jv1udRu4R!(jSHWl>%e31fn#)<7wc8q2 zTLzg8)V1Ev5}fA1C(3WjXW&Lw)Bfc?od8VG?NRue*=gscq}u zXG61F>mol0crZlPt1f1v?OYb4Rcp%FiV9GGyJxqwC7v4F^k{lh8BMWWkB17;fZgS4 ztYZKo+#Z?oFosD+AHX`3FXpK7sbB zU1f_D121pR(Kf*uV0r<>Y?0tp`G*e+nzp?oXap>p-k_IrTUSt^@a1rR2W2ongBibK zllg@7yT{0_+RY=8wu_4H*Sj@GJ%;beFk4r(k7P~(qh4!HrQI^uB>u+Bw84YV$+^@-rV%o_?2#-1j*@4y+6Dl7 zfawwa<(&@(Ya0`zOlX-VR|!g2RMC19eT-{3lpNsn%`ac-;D#wCV>JGJvbH2JcMVJe zSGb;Ucs?8a<+mC(9!c)m=n37wJmFnD_252cBLEeWFI+=-C(FmCKoACvtXrzc1O^v- z_-y_THykE%uo?o-J0=sG?0qT3mA1aVKWF{-&D&U?_cWcE#7>CECZ%Y(r$;Uc&46OG zBSrn4Er3dZC{@5kdEPsWi>AnK)u8yl{UhgRw+9EobSDb&Yc(lB+`|i|#_8R@%_E7o z{qqO?FuDA~hT#9_hfnw=^T3}2H(>nxWBS(=_>n;x!ifeugTpM#fPers)Op`@FM*+P zjaGky*rNHD@GrDjjoyEVUtbO{9H_sfoZ9R%i5LR+jm-#wn9L@+n?8k+qG{AZW%?)? zn0M0zBFUs#S~c~T1R9||iTp3V-Z8$e_S+h6nx<*vG+g4*XP8!>` zvt!$OR_^O-f#QE+6x!vH8JKGbli*H;a`<3UN8Lzcq{M$0UZ9|x9Vq&(~e#D z!$k=EC~2ub1af6sj;VJdE&fonudS&GDq#rQI;+aTBqTg7Sd1Cxkg z@yPgLQSn4EcmWdyo6!eaJF^`#(2`?riE_*uIkg`Cixyd6VHk9#&&~c*_gBydTBN7F zd54nypwhoQG!3Z(r^^^LIOk?KV4IpSfYEBZF!vd@3W1?^X-FV!r*mH#5Z^7O%WX>xYAXH6LR+IIMMqo*PWy z89k_>;AafwiJ3=N1x?}v+U?dErbk5Xu7nmmzt}#a{JwBHwoVY!Xyb{1m!T+tMO(P0w_tIN*4>>g31uYaMsmbTHr zEdRPpxYB$92@b=6&b)`+SNrPk0)k0@uE65jO;0>I=aHxf1738TIt`M*6a(?dT|zvc zo(oIwfmNjhtZ0_ashnAfbS@_-0kWwjpWkOj69mcb zzERh_HzMZr5Q(oQS;m21+72F3Yu<)*(Nx;A$Sl_kl*O0m6H*40&L$o9g>y$S*7G(t z0vWC5631Qw89Yz2R%QyhdoMjZfY{FZ}-D%=jkpF9!E5gj$d7- z(i2eLgkW&@&n%a&+IgM4udabfq%=Z3PwPPg@j(I7grVzx*F1vkm$XmJ$^8p|AxWQi znLjFtOq)l@u{3R|`}iJ^ePasv_#Djb5caz$O%Sb!Kj+%HBjgu>) z=--I~Cb38%b-KhSBN|z^jh&P^wXoJ!Od0E_nLUcCnt44*X|HHq#5Y~cLyu;kKb7oy z;w_z7JmJI+Q{q~w>tV5TXmulUb#KcH|1~>hCB5Y+uo}=?GGCK}+X*1io(;vsYly$zEF0>{LG{ZFoIk)F^{>+k^ zsr)|TmM>sNn_`{?GG=VR81(4tUGWkX));ZYiN7&BkaL7*^2{2Z&hV4EA_V{E;1UIo zmjgp@bbDYwZChJ#eb_+s3|j_Ngg#CnIUZ3LbQO=^kp0r`q<*&XV859nj8S~dP=?^& z=Fj2Jm(Q`gEL7XVynl5|I1(l`uHT1=~~V zM%2B825ueRX}yKCGsHFU`U+hJs3Y&HTR&JT$# zyHJfhKVe^Pcz!aPgSF#C5NYKTW^3W`^O*VLv0a-->b98{78S|nbuhA2<@G8I1(MpbEUL^w_dqY z8AjE+VCU@Ecyfg8*^M#wQ#p?k2h48w7>bR;_IVTO_X~dJW&Xrr*QhBpyS2~n7SdR# zAnUB3iic11wHm(|ncE>5L-^;yyu}T->DozAhkF>}ia&XlqOjPd zb%pt+;8$Ml0beJww1-yKPxIlECKb~0(vGMwLTo}-i8ePpO+5-#65D`K6$#GV; z4(_azKeTdxF6n;QLV-)C82XiRrAq(CMV=;IrE~49QNbLW&+|4iHOX}Ed}}_!`JS4VTeKv1nhob$qIsOZR=VEvq>nHsUj+y(ig8c+(>I2H}+54R` zwYvDpsBiuTd^oac>|k<&=`AS--ec)5A+3-!c{enoZhBL(n?QL)E8n6!kkO@%8&{-z z0mpDvLYR$;X1$C@q1RP8JhLmN18n5g7745EB;aZ8>&S{Nn!R+EguL`JKk6{uPBrZN z`7$0|=GBE)TDI%YX%#6{f~e6-Dm{k+cZ1$w^vwrL;ESC-A?da^az;TwqH7%r_&pCI&9oX+^=sARti|9p-@f}{!X+F`Q_aOPN#kSs~(lf zWxi=#$(!R?xG>ynqx6C8x>VL&ws(EwIY3kohCCfA9)IA-HV}JJwh?p)WlLvU%rWKG z)qcpoTyJSI*^Eblq_yL>=1Bjx4*nRYzTkCah&gw|r$C?lxsBxOvMtr#2g2#gvI92O z7b(Ei5-L?LH+gy`r#4)ry)t$)VrXBl=vH5)*vgmFQORarUH){wce>THbKbPwNM%r$ zuJO;Y1X9(z%28!A6s&IfsjF2qME58f?q~}2H<2>ZEakP({y}SGbvmpG0~3sNLJ4oA zga=YRUdlMOSNpI_>cPTNfxi8twoxXJ-bDk>iL&4{^@}xx*O|ZV9ZncAh(}T&1My9t zUteS-ko9$yCuvf@AM`Y;sP^*y%etF{x_Gsr!Y@7}0R+bnX+g88MS z#9?>3VYlY|37_&sg^xEP@!GW#Izh9XV=(kvepfh|z$cwP6M7&16#LJ;*Z_U)#&3Im zF@o#@y|YRTt@W=Fe$dpni=*SB+a?Qer%L-$I5H5VzF**|M@p*7HO$r{a_2^;4b(F0 z;&MOa)!^tPj5058A4C5MJ4x?zH^7 zvcCZiz~U(4S7_)O>TjTcLRk*EA|t{QHjkdpxC=6$;Mvp0sae>h{j?Qke#9TYV$@mA zHb9%7-^w%}l$+f_ZhM$4 zH?lp{-2`;I6Esl9;&tdFzft|@Ryg|m#(8uvW2-5#vV~&oBf;XW8vm~Cb&a}=?8|Ex z1JAMo&Z~Youti7Rmgc0^q*k)GY8ohNFepapQOwU~e$v`4XaeV>4I+Uee`scTYF97i^gfJ))ZxJs^fv(8z4bPYnUF!-?rdBG;ZRda#ZFN9?|nzuH~_=;t7 zWZCoVLwA;Lu%(5{pnh9%X-8IQ4P;W>(V-(X*&6(ia852(S_h@_{B9Nb9II!2dG|Ui ziCyPkq{d~U&Hi^pM0up=7=G&)LGmUvD!upXbNq6ywM*fORK4X(SS`afcjnGcM6&}@ zDyyaOYplSED5D=)$bMMRqW2?p2{w09dVN4yB*9Mozsn`I%xf68^q3xy{dC@c(ASgD z$|&N^nc0xfhH+fS61uB4t8N)e*K~CYxZOND$eMH&gW30W$sb2|Q>qfNG!x0fL`q&O zWT{wV*9c48%KtTkWBhb^jXjx2Qvm<_P99!kMO?PNgl2yFaW+18xiJU5?J?5JQb0`k z=u6Rj()iG4kQ(!o*XYID`ICw^J=Z0-a6Y)#jymmi#${205oX|w!8}Wb=|w>5_)ApJ|pfz*rKzn#G*K){x#v~RhA`kBD7rml6Tc)*| zN*_m1nHcdd$MKrS7tJ^_#`C+XFAgiFOU<7t+TgbYqvoQlU0w6Z#2PNTH`3T(zBKWt zFXG;H?U<}wftzh#H*Hr@8MwyeuKa7rFmm@-S__*5b#xzZPr?8=J^(D3vjmnF)IWqJ zzP({+NVvFGni-vCsx_B0((k7YNGNXpCA-$ia}CGjDMwWXRQ9fQ@qX^_g^dOo8M088 z+HUpD2`#$qhnzgVz)-9s_2zC#7F%5|>zV>V~ z=ASV9UWNXFG-~=%U5w9fa^W(!c>4VLyi4JjA-P4PNId^}nn%?GuA39zK%Rm^nJ99p zN``dSnfbFj6GbH|KIsnQTlRIn)85$3<)4RPaVC-|K{dD4XQz7deLY6EPF!v71u6l;C&VY~5G+gFDZ`Cmt02#}M_Eh_=p@^}>nj zDyY~u1ODYqe-ylNycoKbR=4N}uHnt}tshzcb=$68A5k^op2xLV`C`fOz@OY>2_>xf zIGziQdNg;pGT;Vw{4@|HuDVy%g(4$B#9*p;{V7dM%fqs6GT|0_AfN?DBO=C ze5`3At!_TFL5+elxa*G~-PQC@%^!3gQ0>hJ#Zq#c(%UDH)O2$f){UGL@l?=W^L zSFc)oYg7;YG9WoiL4bzBV;_Mbq&zlfe>CFB6n~qyE?aYt`3Y{~zfyI7v0ewk<9(xeP`KNJxHKS$4O)@4H28*v;rpKVCtY zXgCaIH=qPNFRJHfQbCpZAgCy@*n4LCs$Dvt8+T|tC`gUbgBNQdaFC}#x7rbydCqZ3 z;^((Jo>0#>u9BV}7^S|2pJN#uB0e7>&Tnsp0fHJ?gDfRf;9GE6-p@%*RW3@(k!I0< zA|me-%zW-Q>;^)SvQp7Glb=8TGOJK)3+Kpg93F;>=g0C20+%5f0)bQMci^Xg#C9|U z7^_0ncb=JYiTD}@IAKDg8nzc=U`9E`XnL>_fsaA8=QA1^K=vmxXQV7u2%^z)k03QR zK0Z0QxV`NI)DX&*DHaic>txam0C63Vt15m5Xcu`jR4^G zK(}GeqzMr)ieD~zfV|G2)w{}0ut?IfMl=(EE6YdH60pI(FhfUx=K+}9=WMnMF`!f`| z`t1cltaWzimgJBdyE;)d+NzkXSFlf6eFbTqHNNUkj1KxmplfHrl4 z@`_iGJtA8l$;e zoD@f&EMZ|O)^5^duv|XBq2_C&!DKs|8@Qi9fvxpEd1SzBhlFCvWO&>o$aPfR>7ht_#SX4dG#7fZ< z(4{5Q5~nv$E7MinNVqI6=RjL@JcaE}zpTLs)3k<)wa4-GYVDR!`kAP}UtT1BzC)AdU9xJkWugb~>q*|5KqbScCt@za6wFxv5l2`mmGKh{Iu| zndb9ybEJ5`pNC!ZT_KH8jE7KJ4fQvW2t80m_;+R`EM7|u!oq`J7nGgWDkYwFxed@Y zHWbsGq*nhaR($AVc*d0rsBC!VyT2HP3C0ph`npL}=+G5^+q!Uj=>WGHyxG@gdtb5N z*TK{vAIOa{R&`*bT5!fWbdWdgqGaB8k*_tf>>R>D7jukVqQAJ@eSeUNGipqor!om@ zx!PLSXmLqIS$&ZuI@Wav%1L*%#4ygwV{6DI^Y&ixiTR5pKgXo-mPqqyhOe&ppeWD)EDcNEq&5_hVp2$%x7_oZayZakCc2;Q0=V{2B#*j{sS-2_mos zBR^uXTuz;DCId#Ga^Bd&fPV9BT1N3?61<^1h+!^&3<6`d0%utwNw`>fYj;-|Ad@GR z%l!lf1_o@v0e=Tz(~T1WR>l+~Ca85h^gtSUGIGs@?dLq{#pOkh%^owI5$~ozsh739 zAb1h@{z4_&otMTq9r!*xmF`8Iayae{`KyyS_D6NP!`3Ma&31|(!E%q2yRFop7Qsk) zH>Fl1EsM7Ig2fLc52*3Z1C3eTrPWRte^23Qj6UAOg`>+u%hX{;r3#>9#11?vJx#_5 zz0EoNx7C~|rNbV1?)gdi(L|QePC?e3%@rZsF)coC4H99-{dkQpgPJ&YIdUk_3k3E&+Pcs{P zweiWp2BO7i5go6X$(>~!pm+~LqUQZl(8Ou*R;;y&hd%Y0tAw=FL^xBNx=je#Q7(o4 zSz&SanF6<#31c0_?#{XjWB~mgO>fQ@DW*rT@0RRuEVKXESCqDLQO?_W4IX0#1#yq) zxsUqUqx_M@-qQ&w^mdv5Tejsr?3@2hp^mJ5pyztJF7H%btH(5pe}fxZ{$(NwrC}f+$~wM7ya67GAq0KKt^YJQ^jtSL$@3g7w?;aQl(_M(KBj#4Z~>_Ev$n z{2P$Kv;EFDw6`_UH_*`a4n>7Q&F+6;0ciD`=*emDIIT4B>A4JbHV$`=8lT(>g}oDB zD9+tU!UbzEY8EA@=3bF&9}SM7W_DZGI*VjPY^dvGjtqC5aj16M+W3R}h3wC8Ux5aE z(kGxJGIwihQdszMXyH$MGBcF|LhSF!s#@ucYsz52JOZuK$TV7f$KOerPS#a(TCVTua z&AlFMd{nO}>sR2$(%e*`w|!4b-JjN(+%c-4{=mfP7#WOm_3{&h11(owgk=UCGVD=x z#t~!*;?A6!XEvL9l8^RGvjQetRf%E@T_MbvA#hopJxoruu*G~@!sb}xm3kwM`N!-y zgRMkdf0CRoXOGL1hgEXI+5i1+uER$t{L6}o!&!_#wO*jBz0^R=cRXG9yv6k%sQKq` z6{|*%FV*Rb9849J0n{^O^6!Gi|E}&PAb;9}ih(#GTk_^s@2MKF1(d-iW+B=S&(7nP zb-Z3JvFkDv(uyT6golax=E(ewb+DL`GdikcW)%YUOeq-jx;-#6AN|<_9QIp27EfQP zcbz5EQc`s(R*TcCU}qv2D6Z0$9XeuejWb9Yx@*fk~@=a9~7 zl;|T%Aj0;puPmj7W6!<=)g#;n}gP;2ZG$9ke*WuXxRBMcOiZkx5q0@P?e*KW3 zk57pgk1rU3-UAbvUdg-a5IeK{QJEQuV-YWzg20|$+Z^X#1%LRKu8 zeL!);*SB%)4~4&}RM;>Tz2$H8XO@ndSO?JV!tO~4~XhdDrddKYoZ zG?$_Jf68$?|Brw6`Yo#r?V&E@?KjZ9u8!6kEpES=!JLkcff3mA_)wBv_1DjQoSL9 z1GX8YKa4bo9)YezZh+kAGMNv7Pcu>%W;fl!7BgFFzdeBX9uV;Je}oG7m@l8QLsdSe zS=^&u4hT{tbae2xw6xeb#6w3w0VBy72!qj;r0w;f=!*!fA0T~M1{fbnRgD=64yb(0 zI<+wS&Btq#r*GPnJe^AV(Bf&7K{Um|U$cbP*N`4gLPPm)9;a6A*}^=M>@4K#Myz>9 zD#PJn3&+BdM)nUy#7E@(&2WUPa|MR#2DS)L>3_fdoWpK{&_Xfgc~mcG*MuW^k^Y>3 z%d0V7u<~FD`KA%Zud2@~v3s{;_(bG|F%$5BMkrTHHb!2asHX4yr)3)BbJF|O^G$Vh z;WZ(h9`-iuOyfp1Fr~97Afa>ZufmGtC;(+tZ)c~^)7@F247W<@EZf@g@v)8VKLT@r z@6F~}2}}tZf5FRnKUF25G0YI-Vo4+6%^4yv@pMlHHvE&=3oVabX7_c2w&I#bVrq@9 z*3uP2fhUX^^;)E%nxTRkNxc99KN0yq_0WRlH`c%9n4tn$(>Y3z!l*n$*QviYVRQ?H ztBjZTJ|&Nz8|JyeXs@M4aCw??+herWtHF*=Wr1~LFyp*NuW}TAGcXSH=YknD#Q^dp zvB3Ew6pGwAJ&n|=m8CD-bD4-*_V2MPbXgTgdP#XwraE_*IOSzgj<-h{lGS`DORC6v zKX0t22ahUk8J0GCR?F>y^TrTBTV~Cs5l`N7=+%==ya;bjE402_k;kG1H^)SF4XIMY z-3Cq=IMbz2-j}zFARI_k?KSIl{b8u9_Gmuy18g>IuAB{@G#-aQlGYPQykZYOnbENZzUv%3Bqwv~yr|381#{f0k$7mkW#E^N$Hpt;HN@V+K_Np8r=@n>IU8fOq@CexmyRis z?t_9WY+&6+xQ9HCgi$Z&xs&DzfhaH7;;tVrt&IMARKgT)yBZ$-6&I5>Y|5}}DZ22^ zPT13EsfGm4N?J$V00)M!wd$0jN5VfaoT~^*Ur2`k?e-AR+T2_^u6VXyF^)<3q>SJg zb51=J4I|KSD{MQ}r_X>a79kN*Y{QyS`nFsE6qcGF@@*!l#+oCYCtR;bOIE^C!8Oejl$726S(kdjR&g1HQLg6yH)i^Sx!4nZR zsr;GY%u^T%(@pYX_RldSHS|T6qcInc&wt7`ZymS=L8Iy0t=P^edixs&zkNVTs<+xa zlh44oPlevp^|oR0^rJ`eb^_OTugiB0yS=`5AnVts%u17J-9%^LXdm5^Xxo~0cAqRC zZ@`}Q+wAk&joKG`+O3=}vy>60;Yh5Ov`2p0gUNSaMrE{~40Y06Hy+duJRYve&)0YY zYniR4{=rF~#UQ=;$}T|CCQwuIRVe!wYK8?(Jfs# zT#Tuxt7%#jUU5palAU(#`KxGG)19}ZBkUk)bQ7ydq}H&5zqEJh2CR}V7oR>NrWp&$ zlWC+~ddZ+EOKbH&47>FG0ozJ~?cIC|M81Z}?%X3!ZJ_oSPFNlDNsT?L(4TjPZDcQH zNO)PjpkDmtjJlS~wN>Yt=_63Mp`6YE!{b)x%IDPwrkH!FD- z-BXdlf@{EJR|-k1wb{{>3zN*2_2X(iuNuTjAuO{gy79s2tuX|4{kF^V=#$ZDW7z99 zdE0Au78tY_C@G7j%HWV==2lsEpy1h-ZuQIF#w;&+OM0*Cw&Yv2*M-wZcE=oX=9s@1 zmt@i;@daHHOEcf73@PFXZYvc8jchrI+E3n7pD`S1QP+cHgt0rlP*?m)k&_~N0sVhkXZCHsRiEabGF8DJw5_d^+4Iurer1HR*AWq^`G_fu|LRcxFAYj?m0z6~IEj z`}#rGkXukBEjf3;t-V(WFTX$NL{(OrKh|3f<>P+HhqkJK7nf|XMnrK>Hf@dMy6>VT z$|l2=u^Sxoc%1V<_2Ti*e)0yrje{fXL z!&Qzj?2$6yN>aW#Xz)hCX$DI&=G>O`U@>^>$Q~R!%lo?+_2TGVWpWS^ zdr6Et)hG;IU+g2*SKpkCwd@=QQr}Voh$Nq+&j5#i)F4NGF@4e_GR9q5!YQtc3zOcx zFIfDzUQwKTSf`{J9eQ`Gy~Xo05-|upum z+HNs9-rlE{YvBOH++f$vWV9QCPdqfMri;bw8&LWDJv9O3p2DNdC6cSXwU$6+_do#}mN)z)k*p;17ekT|EI`Ce?QEx)XJ*59hU zr92Tu=Kfg*P&o2d*zIP8n64|&+=<(>y=?PI&ReHX!A(<{hMgS=;1g3p(_=@VHRcqm<|Ztw(ir>pa~{Z32<+C zPEL92Og=_SO}|DQ-E`Ub!oA@7o;TX)wKLe=JZoyXvXV2urf;`RGsZ#+u~u6_atBk` zpZyv0R7+VfXm>=U`&02>@x0#5Xszqbq_3P_etNty1v*hg0h4>IQ1v-7yg0nZFLJ)E zoqv19sF9sj!D|K|=GVm(dz+Sf<^YvI@#*F-z(Iq9W7m3l%>e-HXf)Xc07y;|R*K&U{4I^h8Gr8>lfF<&0&JtUfcx6p+uJ-!_)kuJ z+;3t+7GPO>Cqe}%;O1sAMp6MLoD;!NAc$H%b{F}Q783f-L@5+jX8wUyrH!+_?Unt` zksV;(CIi}U-x-MkdAd6GCs_?3LMs671`u(Uhh6=seBv`bd2HdJ4FZpk5_94c-Rg@d z539b}Ca&j!;d%;8%xiG_+E1)hbAk0plmvi?2{IO8B$B#<@CrT=Dxdysx=jTtc^QU&f5#B>u{VUJKbb5j`7VCQIA)+IN=hVhJbIddEXV|nz z;n@8RsmbcPeQsS`ym{wQTkPg{i%+vRF3|2(Wf2} zbh3%21OPe5Qm+H8`$EVSD>gPaZk(OT=;(ZhfJW^Z9fd7tJ|Rd3>=1xCRY}hR;(jJa z%NCdTtqZ1urApj@j5^jvNZCKC*3C0^661kALX^MPDSFQxY&#jMa6P?Q`LKDXKC`=j zy1GfI4e@ik^^o<2%7ZJEB$z!jkdcAG7hZ9z|H9>FJgVHuD-&eEPP&c&-Z zeQjAWBlv4=4D&0N<~0hjoI-wL6e2@KuH;T@ObAIQQt!%`s`%S}L}?A&dXhTrVZ%WD zVEMr?j(BM*3Yq2(p%W26Wel7V%r+Yz6w9HygN&j0VK8Ai(wOw6*V_b9$^C(49RP)r z3oJs#3XPO^j)#*ID!yP~#x9Dk1aOttZlCddsOSj}vzKNZ*88@-6n^5~lI)!k8C(2M zz|esOYK}k#|Nn0iTG}?XDork<&wj6bz0vN8et9j*cy(zQerzS~nFML+mZHq+qDVt)_^m>B_{6{eS5|#CdAJ&=>_I?6G8m6x z!{KpTX#VJ#MnVGj`^;CaX7k+WNR=d>XmH!%b6lYWou7e&i;Ejit`s_yK%r2f(R9s* z4;29O4V9l058ziU56eUcki_Eu;wb5nVsBad6>tty>CK<$jig>OD<8c(L&C(6O(v3x zYe=Rlk^!#T*|Mm!jurg6b475bAX<6@X6wqO@x9q{j$z+w+LOmR5?*kG_htYO=VO@9 z9-A9#UVs{&?<>kA8Q=Ul(r1>`?#7wILwIV##qxR&t_lbt954@3m1UB;xwK}S<=->~ z4oUDX`erJ(=`+*ynAz8Pqwbnts=;Nm#|>5aInRI{yx8W+vD{$YQ1J~ELgBd!GwSsK zp=nX(h(f1EwGMDdqvGMQx*qtF6c6-Q+= zn8KqW6M(GvI3!;RU6SF~3j&u^?O*&K7KDW4Ja#2poKC7MKI&)} z%a@fXM?5(>#mkmX9yq-B%^w|w0o=AgdC(PCjS?_5U}@g=yT*|N-PQkB{{r~`?piRH z#P|>PvuHAR7IWfg`cSfG?QhoJru2K*m1}Lw@$%Iz*J@SDyKQJ5ukr}3(Sk`0rsKa$ zS&N62su@e}?A5>Tv8WD%uD5=?;<;A$M7{wk6_qxNxo}s{qy)`ZQ4H=MIT-_ zPi}vlR_)Cl>z8w~sb7z`Ezqu@8+jbFgt1M+0n2y9$_E=Z_e3Z^ z$UJe;5BaeIam2O_b~}=tzVu`v1QLm|F1=95eIt;*)b|g6s+=re9i2sr6+xiwcS_~= z^0k{A2&iR?{~%FD1L_TYlTGe2_8}cz*C)$>?mU`?hDO=)LQj~zq2mPs^#1^+xkyeK zRlGkJSc$|IqglG^!%DYYLIyIQfQ6+t*#)^0WTSwO zKrZrKj2+-_nV&}kq~n`tbAWi@`+pth=Ld#@M2+upCTk-ecRKzTFxC=Tn=6nIkS`kx z35ieTKwDq;8lE5?oy`88I9tS5>jzGr00q2tOKaODH+K8;VwNxRjm{ih}+*G27opMP&c?u@WC|3(4105xU(dTwe=!@NSNwKi2~`u>y$)U zsbYv=IckJjL}{scpu*+S^0EXffK#v-+4Tv2PhI0%@afVcvU+<3RtE#6N(>CKBSMi0 z13C<@so}7II`gZj1{NSGY8*DW53Esu(S11JYXAc1>z{{)@^^Fs|AO!M?kKC8A!n$F z@a1K`1jf(@7&E4~Qu%=Oq4>_<@;S3+wvLYZygnb_(F6c!A|nF_N~rIM4d|b#!gmaRN~OP5Q=_olZJez?g3Q@F z7fR~bp5=&moLuP(i2%gMg#j|4%W-VIQbj$s(bmdUYCfxHt@9l!|69cIbF=J-mvm8hF~WV&{L2#q>gmeh0~QPGdVBi_gzHCCY7G-jqD%!Yx9ciuw~E2~6p-q@ zh9%Io$Mgk}|GD8e1U@x2y#qaoKp@QKFim^BP7i-)oq2iK<%shQe% z{=@*D=Fr(2w82O+-FT1m(bo6nUGVX)Ju?8$LiJBO#AVR;lRpN+{`Y6mI)d9lYpY!I z;i68FpFi2$9;<%*`0>k^FCBw}gUul>f~Fj9z^^$a5Zi375H#?X_cP9FcnKD17+la< zr9f~}o8A4mCa*RTbC;tk9xslBk(Nq_DV42=-`@Z%<%j5H?3^-szCB2o?>0+}>4b!0 zip8SJrDAg?qT-(Ezm*H)RXL^QOWDr0x+i~qsC7OA?d}G4>QtSoaSH$W^Jh*7s1zA2 zdpP~G-M}vg;@9ro)_#D*DUCQqF%HZ(4)aBiJw0qEKP{GD2GyBA$tLAVEfaV!P{rewM&%1d2b%vaWU!4$LA^TCHD1;F62ns9{d1;) zhUeMxL%_F)JQ5!z^^38M3dM^7V}I-5jWk>Zxu}6`8Z!(t0mB-eL~q;wRMl_qSIpWTuck<-c21Naje?Zi{mFH%`(sqT*4%CPbAEAE;*qwu~VTF^crrVbx_*F9t@jtMtef3#N2S zl`C%nd1}B=0m~fY5g}@RYkiTy{%*mnEwj}J+Dx9_urg za1BNPcgptmN_$jwe9~EMS-p&sF1u%Iw6nOoT&cPWa^~mQxQN8@A<}+Frfil}x;zp# zHr0E5a(MKFM9*Tsm7|7&E9}o4z!E2L@|ygBMUT8N zjJjJ?G5#UK!qR=U^!YQ>iP(BJrUe#q@KiA&#aVr)iS)_Y+UMpZEFbMptp4PzOvj|#O?pfo`L#(}(=5|@J*oFuW$pu1 zd|?~t>S)v~>nXFKmaPqpj!SfKv@o=qHT`-HFHO>9u&C`7KrCJf*%fAMny zd?X3tehNNjwH80aVby8A8J0wh=da&8JrX#j|AnsTb=@h4N1v!gzYWwMIp+53DVS~g zdxxMBOL4B2!gGJ~XoIX)Q*GrB{{ZtJao1 zp1tft^R2`afhN8hlU-~tE=)1sxvUbL&sVy8P>qIlF<~M`&0djLA%+KYC7j%FAKH*B z7t=wgmentkluO$S(qNBA-c=@ZAH6s*#ahHgcw4#sy%e*;82Wb}IHYo>a%asLP}N{h zhMjQeIR_=57x5nShVv3KPsC(o|?|e9cOU_ShKwJTDE@UXwa+0xqw(5TJX4& z&gLx_dkIG|i-&?Jsxzr8=How{Y@}=m;ItTLyM6ii=OHmwQ<&&q5adNT9f_9SS?93H zi@^CzmQLsXS>uWUfka_aAOpqy@$`7IiVZIK(8oRsY}WZ0RfhFmZT-&z0;f2mhUfyA z_NXF^D8vLZnV`rfxVEL{>*KxgiG+6hCNqYX3QL0rC#DGQ%4kfFpR_N-kG;!Z_ZcI} zixYN>Jde5XL?;;pisbG|UPJG4<%8rrILaYuhQ;DCznXT6YWYTMU{u=d%d;3sods1s zK$Ql<7~Cc{OPcLQeq^{6N@KWQ9{*y;Vt;c-bMJC#Ax@3K$Hmd%l7jPe$nbDf7cZBt zyI3TH-oO~l)+%AVG6%D#O6LY8QWBx(Wb#8J_xAE6_^rWt&sI+947{Jm85MOgMoL~o zq2mY3CkR`y(E!QnDcVtup%waNNru{LN-29&1}6LBnIY6CzYegDKiypJ*o^J04Ue!npW0{HpJsF&ceqL(e@}V1%!acN6lgfRx9dwn z$1@Q#d0G0@oaRA3#~oKsOi^90F=Lq6c1z8X);_cnf_Psl&t}UAVO%R1o+)~_+TbEd z5mM(#yE=dDN$H_acK|P?-%D6GxX6%oQK{KALE+5=nZ)2M@jVYsIzIu;K!bHi=*03g ztq9>qy)lQ}>DISUpcMikAtlmZ^(8psL})~y`=0&CD--Wq$kyhK#fX*28#k=2N~taU ziNM<}n}wS97p`9*DaA_ZPi8*ynSrL5T)ZS%>nR*B@YF`e_O@G3Bac6Dy6YV1!#_}e z;+X)7b)H2#xxMA5aTZ~jooTDqZJ4I4e`52Ou`UEPOg8UL1 zU27K^0{hoiq+>nM~bl;IkpPcmk&RN0rW_Qlatysjo!LzPWAVIuRS z7iSniv5-^1N(GG=YH*;{j#)Lb?PQGYJ*SB`t7v*aMPZtGytIh%#EMg|W!rU6Z}Dg? z7ftyzsI-kH1GrO84%qqV%$^&wkxW5rPGs5wukrn$b$ribcIrs00QXDOg5I0WP8PE& zPdf=K530S(I~9q=d9yFtb4|8NvbMIpLOZ>F`r1UzsYnwsD#Eop-Kyqn>_2>k3(yeW z&fYc>RKBxeusa8~dFE(x$PO#@UFxNL{e$Z-yCAG>rB1u3!KcuB)z_n`grcDVCEa(~ zw|C^|7XG0RCi0atYTQe7L(z;nlsst!nGmO9&v-{s>t4ClR!M$qE3AK3;y1>~mbrjD zfy$IKgZ}v%miF&Q%Gw+HL3-b~bm&Cr{*EuWcvziVzo-vBlorTBL{sHyt+PV=AZTVIa@gamfT>7L6nC3_yhmlWB6)t{f~q7a#pU_ieO;s7mtKrodUE5kn6+Q~6?|5v zpIB|mnP|9>e6k2-sX}w2SU{~pSgbhfv2GCSL(N>2PlumQv`(cQL0B zr!j!gRL?t)j2yypR=B5+QU4+wDSg&2s%~7+yXZW>Zd|(k4IOt7t+C86RcOWcYA(|B zM}v&{lTLjlZf0X)q1~)3ZJ>~h+7c5?+XFOd1!J&lq_bY8K-MihPwO4ILXv;Ah2&LQ zPQAZ!XV_&)AfQllB7--ZTudb!mm~`@mqM5ny$$Xem>XT6spa963e&v zLfVtEO`y}*v4Aj)hV$9-z3s>dZ1ya1x2g8BG;aTU&sB65R&=K9;??v5t7X-C9TG9O z3C*=W-%96A)NkTUad|&)>+>mPj``m*ACRV?S!;E9d3d}s9>A8r*#j32JmFar@B2{C zG)Ow6bDGM1DCrSo%<}LhXU7zfMR=ssrzIvr=4udnHtq#rEaQk^w7a{}arRqT(#DMe zPM`bAD64TiixD?MF$s(RdK-1CPTMlfFEn3by-Ks_wK(}(x3Bq{8>my_QRIF-OM{w7&Q zRS0(~ND?JQsc}t`R2_ltSe(x4;>)OS8f7}Cx(r$4X*m(e+$Z&%9<5Tr)1El%y|&Qy zIs-R{*C=X4ZBpX0c~T;jUli6lMnJA*+g}p9RMSd&$5YoBF1k0CK@}Ei2#vJtDAKMY znx*n^@H;cn`gO39&>RhC=b-+|E{=~>`*>^Bh{L+YO6e3Y0HLA(&sRSZSi{p17f_-G z#9gx>e8$MeQ~E#}kscq4V800A!o4mw-82&;26tA2JMv1(Ky0Q$X+NFKDejo2bH219 zwt|;y(Aw*R#NS@plcPW3UKhHD(xOEDlSzS^S_X?8noV@`oPIYFZ98rwBo0^AE1^h; z7sDy+M(9!N94W&kX8t!Ry+a|J#NEx8OqNhsENY3U@);aKW^5*2T zyO7p?AA!?j^`dAtIgpQ7E|5L=c2m`ZJC`LW_B*W|0urSEiie}Bde*CTD-7P4{&t@6 z04@8bQXX9fB$rI%PIay%sS>Ac+xd?g?eyM*-;|2fUNfePVfV&=H%sF|41em=>%m^u zJ-)t_MPZ?Asm!y9+`PMBl&Peta$6*^5%A*XCFq3)W|BXc_`eJQ~2?~$Wak?DA zTEW&{5a3t^YF_4)Vb*|B6pI#Sz#>Z|69;#yGtdawTzL9(hjZsEufyR898 ztnJ`P_wotVK^=YBhIA>v0SRXRUf%&+n3bAPSIxYPn?M3UV9=XR5y4@zb^s(OVxpo| zWz0Y+AzfWfdYjHOTT>O!*=qP|yc-hlXJR6$`@K#4-MYxp{?FaJI z;Zwt)_^qN+o8@BeJ*q-*=Cg8x7|^LL^xd7feBn}(EV)*bwGekaeB;t2D%gXd_hO6J z%5jBO%(TAfN~qOVQ8xXE#PjUAfW++}r2hsF56_rt$J4TgLNo!S{GOCf*W-H)1w(V? zi)qoty>M&lP1U>XNvaNhW#Z~$R#>i&3>MLGx}OTfRZAV0BKFoElGAGGj{YumalCMP zl^W?QR%Vou$?D&(PIj)|XvD^je#kH@|%TGp^3#(wu#sxjy@LMmF>50veMVPrm2&V;FA5 z|ElXN!>am%eg#AUr4gh{QcAkJkdJNO!}bK{}+7?(U9595{C${`YzB z`{jPy&)#dVHG8dDGkey|{Dvl=P%wq3p6NsE`q8kNh{*oK1?K)DF~pUN5$*o*k$9z8 z6DaN2GdWo^#6c}Si<3UmW-q~L8(cd)n6ro!t%oiy-$UcSo4=z2-eL->6uq{cmyo@D z%})XgAb9onu{-NZl*sCwEI})8?bEh{o)WGI5{$_+jbdp@{v8y# zoxkI<{`Y5TiL`FQIy8E3AGek6(g8K7qJ45_H8QUvEz2R_r z-`ddPt{cUL2L5wl?vvB(VKzUa7vR+)D73n)sFq|3P3BooVqxDoxdhsChx{|)OkZdD|Dd5ee0 zOP2L|tbCZ&{~XW15j<7tYz-OM4oNA5qSXy>Da*)P_OA378cgG=4S6?WNP;dNjE155w9af7(R0~6F&F8 zQf6raja4d-M$l*-z+&0#6lNV+Qk=$w>Y(NuqTrOCu|)*D3KZS@5woN9lEbrz&ARzp z%-ngASjyOuvr7j7&{98cgfCA8*MZ#U$0odRbIfA3drj)q3}2r%2UhoL#1n z&=@dXK>uWx#LMXlBct{7SVr9%4hxU|&7HVzNyAqd=KF153(qr2v&RptgspH+4wn_b zL=XkWPS)u%6Gh|?Z3oL@QQ2ym@eW{T(@$`}k8;M8l*bKN)a8Dc>HT~>B9h%qi3+{1 zJ@EavCJejIm^}^)^v3k4>2cgd%M`g!MgfpQOeFyr&)$!?sio4VQe0Y9-cJmfT;fOzzT%e&x@x949 z-T5{25kD}vrgJo^jkX@weRN zi>~Z=JKEYB2ns!TI6iuYV+K zIEs*&^)xqMkB;x@ICTVnIkW_qD$Ap(P8P(v9+S)=O8}?0;wY-w&LRTf1nj+uyf8CW z220D^>y_PQZdNxxTV$)K^QKh%m+P6u~coIM_&3G#O(U9%p~7wM7cj`a0r zD<}nhz1La#jWEMSr0?Pazy>sUcve}gOBT04*_RVp-aIPZ^hW3dB};34AAtI)F*{Ef zTUxWn@VrlYWyUuJnI8U%)Y89zYPsd*31=Nqfhrrz};KA{6Y@q5gP{~oM)$6Jd$fQ`qo#Y}yk3=V`+>6&9 zOMcy@7B1c7`^eXHw9xqFDCIddFddQ~28FPqf!v8sts)IZAifxQk@jkTDhB}X05T`= zg-caRrn0T4enxZ!n{Xzll~3*M^1HL_0X4Pb<7qnJz+b8X0^BmWE;}O$Qay|_p+`+3 zZ%GATRGi=>`4}~}lZvAd=cpAGs^zVkukyG!I<9)nl-ssD2TuP@c$3gA%|?EM|4^mNew@+RGrK5-V|#3(wpt->O71%nFgt| zPC^ykj>g0bH3!(P{Vlc!d%d+0jvV)Pz(Uyk%w9b_94f-5=AAB01{sva(pd@G;A`XH z0&a10H-NYRq4yBcZXi`$t)t-}#xfO5Bj`??im{8(0RGBBm($CZyR7t|>X$OTYH{0F zf(>;Cr(o^w{qz>a^=iN9i#SAm!BX}$-JWvl^t>gw^83YHCP;-Y0EU0$z0zF%%Cvee@ZkCCSpidQI?-j|cH}aVxSSa-x z3+I7?v~vmy(z&L?01Ar9BJKWP{cA}pz-q8H0p>Y_6^rC((SCkDMsB<{I@0aHr!Wz! z*_}b8ycqY~lp+u-n-lP1vIq;m`6q3nKP zF+K~-Xc0d1MI_baojD%p#_lM+2bAWspLCdQr-<0g)*6Oo9*_zPpV0R-M?qNPcw#x@t5`&Xy#z+@v|TpreSUU`)+4_fJ6dFT z;{RstJeAv)jQjOR`-Ov~ z*e;|R3zw@g%IfNB(>D0FYt}4Ms#9=t8x!*1m6icO3i&go}AS8@_a_fJG)2a@{@{&iPKrTXm4o1=5$?w`{q`rqi|LXI}L9o~1yL z(idRo$IP_~EO-@7X-?>qu~O4u_7Nd1@~y$4tzq**c#O;TP;GrhksCHGw;?)Y5> zRHXa6xhnHOQ<_rEE()5Ag#f2TXECy?;3Z@9)RGgVNOALbl&tIs?0klEHQIhA#K8qq z(?+O&aNnW&uug07Z7C2Pk*Dpbw~|Yjx%sL2i@6&@BI~4A@9T2?28t)iV4Qfo%LQXG zXwt!t_YX>NfJGeJU8q6&w0>PDc@lohm*!b--|HRb(10d?wRKqjOTerJq}SKWsp1tk zG&n*VcO2#9v!}l!1-iLKky3v>*2ic+MHFsp^XzJTlBG_4h|zU6GrIVwl-&k$Kr;RQ z-ay;gM$!4;`DjV`GSqbMi>1i*HA#Pp-KbfE?yna!j(s*wr*L% z!T2~dBUWOAMxnu;vpU;MVPbMpPEIZhkmBr42Egxufifb{wgCwUeds@&jn4e>gU=Vr z%fP?@3*HBoyAUcI zd;migFAyj?tkI$TZc+^_A70R+6dY@^VPU`km?O9Z z#d@Rk)Ddtk85j%4Nr2y1U3EJqQ=I?aJ0|rC$!H_mUr*o>EOQsY*WfX6)XPCry+!5`KX?T z5)VP6`wrh(KsVW){{!Dq=m`IoCvq6mfN1Zh>;IZ+0f7r3fLVZtA+SP|zR17|uFXu_ z;Zz<>ARHkGlia?k6zhx4M6O)m_x^0Du$u?S3Nry*#RXu&qTz=42lf`^XNjyv;8KE4 z`($$oxJ|1C=mMb0V{_JMB)i}5tk)9Q*_Kbg(f{G_){FfQK z9Rnz2U&HiYb2CZAXn6`?j&5!|{(g1}R?H9t`NP*yJj9vmdq1fbR>0=wrjAyq023{3 z&{T=G_T4ARYOCv_>Uss$w%nBkI=y4ag!z%WoShcX6P1wAQnhRdjvV)}uUzkluUvb* z5qSP2Z+N~UX1??}ReXS{q@)$_v~5nlS1FEp4{|+>f8SaQy4O-mjTg<0DXhdO7U`z@ zu`K23Mmf6Zz1e$!Rksz>DJ{#bh;mQ;U^q);Rg+DR6Ea(BJ7TLp*tvBu>%tWMI$i)0 zP@CU}i{#mmjLH2*%e2%?{16X}M;OM3#kc02?^^yDM0u{MgY`b3kTZAXl^(U77M>Jv z3=#Ktj@-!N66(qyne>OQ>|nhp*U1?|q-DF&vOb&YV ziC#Y@SyfHlC>!)~PSVdwsUpB>FmbWdiaao%uXh*?LMLVlOXjeMG{er3j;Lm0On6QO zrZ*8#z$eWgFB~PDn-hR_4}`9MdGKsa$NqLe=ew1YY*e|Hsc~8;a~V6zQLRUs#-yd$ zpCsLxUF37UKsl1P?}%b4K6FYz_;2u~RD0swgGJ1EBcC>ejE0X3T~pS`kZAG;ztXoe zv;`6G#3~FmYFN2}aB!Rw>gjc=lwQ}v329ndv1z`iSDenl{kM$PH(>X|X!U{6CFZ`~4 z7mjHa$sgfko)0BG)}B5_ImA6aBgaS!GWTaDX}BWMze1MLZRy|{t7!2oDtb}owZ>yXidqh2zEK1^w>W6 z3)Y_vz%I}g^4QDSf?ocuAKE|YgegA64HMo@1#ukms%CyT8Qq!;ob=?i`QX4T6pk@Q zu0OKK{5@R%21%sCuqVc9bgWk!{m#Va>aO{)NGL|R9Tuobj^1mtglFy`OT((q7`Vs* zy;WwG9x?nAgG_B%t^;xh*+a?;Xq=(SrT6VCH)j`TwMqsZah?kU)%vB`Z(qM<`a2kr zk^5fz4818B%BF*&Di*$%n#5s+JTo6*(SZru=wlTzUB@juo$6QB)rfAh@a_9cpGqg21NihwNi3SNgh?hW?S{mv;l%8}Evj!&F;oyNi zci{`=`Zf<7)l2=V@}%x_78|!zwJ=LyPm5<$F)T}7?Mwc~|8v*GQTi|5tNB_~HAlDoqq23*%K=#*}+%<}{`{3_&jP=l{|FCx`Le+=MkiCH}<#6MH6_9P_11+rCBa+-GEJrz$ z&SRtAH2jvZi7d*Ab4@3l*La6KL!!oy&n&OhN@%c#jkkGM723|If#Uu9z7JHlzhf zJ2vs9s|&^xXV5P20KA zrp;s~BZn5K|A@r=!fASJ-9NunzF_)vEsWn*m2?S|!d{P_-#knny_sP#-iAX`CjU@ zOG*6;P^r!1^F?XaVrw$Bbjnfq2)ZRB&S%`eA2Zbmi2zIerFch4xdz_(0oOsqxkWQ+ z`AR2MPBv%|_v>oQA!!Z3F_x!K%RpdV{LERdB`rL)-l8hj-6g7GvsFsl!*O0PfBK75 zx_2D1L~pEaYkGwT1I%o7(Mdo&9dhS92Gn(bVT<|LhYJgFIGu%^RgFp z@u?N9<9@wc_fstOI{G3B-));PGM!hsQV)HxBv6Hbo^ea-SC)5?vc%$)C|riXLfvP` zKkF10&)RCME({-I*>R7``8~O^&*Uq-8t7LiTF6`Vpxx{KUL^+BMjR72YKSF&VSC~EmE_{a6+hWL$=r`@sWZy(kqg+D)!sxALPSCqC`7qkT!Ui-<{l6-9=6Y)z8^$uTon_}{a zYirX<{DU?UY>@sW#Y=&6Sh*1ORZZTxK}KzPZGKy=;SkyyopHS+#-z~T>l~~Auan)f zxJ~^Qsr#Y0Cl(O=TqW-(!E(8-#!n(UM}nq?mO+0S?C>a?@9h#83oA>rJ{rO$0-rTV1DiU$B=rtB1(B3YymNXeNZI+)~x@t$yVl&%PTq|wdPJ%@3;bZ$e3aKd< zsWe46)IA>=ICW=2(AkUnDPkuuZFUx9mn%3HopVsXf%Cw9#q~>1JTo!8fnH@|7e{@% zt&e{D#xOreoKeL|Ox6>aLfWFDvoYeKYhA!;x@@|8De0W{6$Q;+VhC5r(f!=~G&gG~ zolto(rexJHaW^ZL&?i$pTDug1GYgZ0(+7hoe$^Z9Hwv6Pm9Ns zMt)?_ExK;N0>Qp#2VgCWMzUxbr$5bWCgG7wz5STlF0hxaXEiZyh^LHHufVpsNI!d+ z5#&e4mb}1!V+Ol$A(tBEL}=zMdvXfRK^;8p%ll131)F-KXx8J_&f^5v7teEtWto;3=A=@)oX)IB6;^QXp4yy{J^e=>LD0jCb;mtGN znWGK`7w^*;vq0K7H;w8+R_Ny2ybI z==HaG*0k@jU4)h(RT4Xw45Ql!&*W`kX+OS|meK$>y%O9WRVQUgABvH1Vuib##o^Z; ziv(R>ax)if5S!H2&t?UFnBmZ$x9gFJmi}dCyOBD_lBjbm7vTx{VgmDTS2lJ6+5&2? z-$9_dTCn8rAGWoo&3wBIOF&|ZSZ+3HW)LIoUD92J<3P94M-EaG%o@#2hIJu;|8(S7 zLr_(ZU+>J+0C<3$HY?#?Q-Z27nCD$l&1}WxNFcP-RgL|V$aeq)%CBR;4nF5aowA*++ri7^>%1MOmQ|+HyQzzB0bX_ zQ#|P)cKhks&g7?!B9NtV)_vQVIOOYuUl3cZ(s-jI=jTJagxM;{C(=)zhu>0loKCS`bM|kua zGt*xwWWY;GAuODsUZ4ch(j>cU9U^0US=VE;w+HLFLbQ?|2A0~*n!%gn8dsg=-bgWcJpc8d#V)S#_J183NIbq}{?BF) dD5QsBHdZkh7}bOTKfBMK$w?_mmWzM#|34_7mCpbG literal 0 HcmV?d00001 From dee1ad09e24be486457016169f9bc53a9f3c8c7c Mon Sep 17 00:00:00 2001 From: mbridak Date: Sat, 14 Dec 2024 15:40:40 -0800 Subject: [PATCH 2/4] @mbridak remove unneeded class. --- not1mm/lib/fldigi_watcher.py | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 not1mm/lib/fldigi_watcher.py diff --git a/not1mm/lib/fldigi_watcher.py b/not1mm/lib/fldigi_watcher.py deleted file mode 100644 index 1a7d1b00..00000000 --- a/not1mm/lib/fldigi_watcher.py +++ /dev/null @@ -1,33 +0,0 @@ -import xmlrpc.client -from PyQt6.QtCore import QObject, pyqtSignal, QThread, QEventLoop - - -class FlDigiWatcher(QObject): - """fldigi watcher""" - - poll_callback = pyqtSignal(str) - time_to_quit = False - - def __init__(self): - super().__init__() - ... - - self.target = "http://127.0.0.1:7362" - self.payload = "" - self.response = "" - - def run(self): - while not self.time_to_quit: - try: - server = xmlrpc.client.ServerProxy(self.target) - self.response = server.logbook.last_record() - except OSError: - QThread.msleep(100) - continue - if self.payload != self.response: - self.payload = self.response - try: - self.poll_callback.emit(self.payload) - except QEventLoop: - ... - QThread.msleep(100) From 02f1f88b3ebe60850430dbb7396d8a86c99687e6 Mon Sep 17 00:00:00 2001 From: mbridak Date: Sat, 14 Dec 2024 15:43:09 -0800 Subject: [PATCH 3/4] @mbridak Change how we get qso's from fldigi. Instead of watching the qsofile, we watch fldigi's qso UDP port. More better. --- not1mm/__main__.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/not1mm/__main__.py b/not1mm/__main__.py index e465456c..e361ac72 100644 --- a/not1mm/__main__.py +++ b/not1mm/__main__.py @@ -33,7 +33,7 @@ print(exception) print("portaudio is not installed") sd = None -from PyQt6 import QtCore, QtGui, QtWidgets, uic +from PyQt6 import QtCore, QtGui, QtWidgets, uic, QtNetwork from PyQt6.QtCore import QDir, Qt, QThread, QSettings, QCoreApplication from PyQt6.QtGui import QFontDatabase, QColorConstants, QPalette, QColor, QPixmap from PyQt6.QtWidgets import QFileDialog, QSplashScreen, QApplication @@ -66,7 +66,6 @@ from not1mm.lib.version import __version__ from not1mm.lib.versiontest import VersionTest from not1mm.lib.ft8_watcher import FT8Watcher -from not1mm.lib.fldigi_watcher import FlDigiWatcher from not1mm.lib.fldigi_sendstring import FlDigi_Comm import not1mm.fsutils as fsutils @@ -174,10 +173,8 @@ class MainWindow(QtWidgets.QMainWindow): radio_thread = QThread() voice_thread = QThread() - fldigi_thread = QThread() rtc_thread = QThread() - fldigi_watcher = None rig_control = None log_window = None check_window = None @@ -668,14 +665,6 @@ def __init__(self, splash): self.show_splash_msg("Reading macros.") self.read_macros() - self.show_splash_msg("Starting FlDigi watcher.") - self.fldigi_watcher = FlDigiWatcher() - self.fldigi_watcher.moveToThread(self.fldigi_thread) - self.fldigi_thread.started.connect(self.fldigi_watcher.run) - self.fldigi_thread.finished.connect(self.fldigi_watcher.deleteLater) - self.fldigi_watcher.poll_callback.connect(self.fldigi_qso) - self.fldigi_thread.start() - self.show_splash_msg("Restoring window states.") self.settings = QSettings("K6GTE", "not1mm") if self.settings.value("windowState") is not None: @@ -718,6 +707,20 @@ def __init__(self, splash): "You can udate to the current version by using:\npip install -U not1mm" ) + self.udp_socket = QtNetwork.QUdpSocket() + b_result = self.udp_socket.bind( + QtNetwork.QHostAddress.SpecialAddress.AnyIPv4, 9876 + ) + logger.info(f"bind {b_result}") + self.udp_socket.readyRead.connect(self.fldigi_on_udp_socket_ready_read) + + def fldigi_on_udp_socket_ready_read(self): + """""" + datagram, sender_host, sender_port_number = self.udp_socket.readDatagram( + self.udp_socket.pendingDatagramSize() + ) + self.fldigi_qso(datagram.decode()) + def load_call_history(self) -> None: """Display filepicker and load chosen call history file.""" filename = self.filepicker("other") From 24b4202853001eddd2f0d55d18a126f89f43890d Mon Sep 17 00:00:00 2001 From: mbridak Date: Sat, 14 Dec 2024 15:53:39 -0800 Subject: [PATCH 4/4] @mbridak Bump and Doc --- CHANGELOG.md | 1 + README.md | 9 +++++++-- not1mm/lib/version.py | 2 +- pyproject.toml | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06c965af..e46f86f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Changelog +- [24-12-14] Changed method of detecting fldigi QSOs. See docs. - [24-12-12] Add a try exception for a unicode decode error. - [24-12-11-1] Add RTC to RAC Canada Day, ARRL VHF, ARRL Field Day, ARRL SS, ARRL DX, 10 10 - [24-12-11] Add RTC to IARU HF, IARU Field Day, DARC XMAS, CQ WW, CQ WPX diff --git a/README.md b/README.md index ef0f33cf..16736e8f 100644 --- a/README.md +++ b/README.md @@ -208,6 +208,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's. ## Recent Changes (Polishing the Turd) +- [24-12-14] Changed method of detecting fldigi QSOs. See docs. - [24-12-12] Add a try exception for a unicode decode error. - [24-12-11-1] Add RTC to RAC Canada Day, ARRL VHF, ARRL Field Day, ARRL SS, ARRL DX, 10 10 - [24-12-11] Add RTC to IARU HF, IARU Field Day, DARC XMAS, CQ WW, CQ WPX @@ -607,9 +608,13 @@ On the Options TAB you can: not1mm listens for WSJT-X UDP traffic on the Multicast address 224.0.0.1:2237. No setup is needed to be done on not1mm's side. That's good because I'm lazy. -not1mm polls for fldigi QSOs via it's XMLRPC interface. It does this in a rather stupid +~~not1mm polls for fldigi QSOs via it's XMLRPC interface. It does this in a rather stupid way. It just keeps asking what was the last QSO and compares it to the previous response. -If it's different, it's new. +If it's different, it's new.~~ + +not1mm watches for fldigi qso's by watching for UDP traffic from fldigi on 127.0.0.1:9876. + +![fldigi configuration dialog](https://github.com/mbridak/not1mm/blob/master/pic/fldigi_adif_udp.png?raw=true) The F1-F12 function keys be sent to fldigi via XMLRPC. Fldigi will be placed into TX mode, the message will be sent and a ^r will be tacked onto the end to place it back into diff --git a/not1mm/lib/version.py b/not1mm/lib/version.py index 9b55fccd..1d94a452 100644 --- a/not1mm/lib/version.py +++ b/not1mm/lib/version.py @@ -1,3 +1,3 @@ """It's the version""" -__version__ = "24.12.12" +__version__ = "24.12.14" diff --git a/pyproject.toml b/pyproject.toml index 54f605d0..dd2860b1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "not1mm" -version = "24.12.12" +version = "24.12.14" description = "NOT1MM Logger" readme = "README.md" requires-python = ">=3.9"