From 06796a769958b78e1283a74307aec79735d3bedd Mon Sep 17 00:00:00 2001 From: Luke Schmitt Date: Tue, 23 Jul 2024 20:37:39 +0000 Subject: [PATCH] Multiplatform driver --- tr1200_base/CMakeLists.txt | 15 ++++++++++++--- tr1200_base/lib/aarch64/libtr1200_driver.so | Bin 0 -> 100240 bytes .../lib/{ => x86_64}/libtr1200_driver.so | Bin 3 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 tr1200_base/lib/aarch64/libtr1200_driver.so rename tr1200_base/lib/{ => x86_64}/libtr1200_driver.so (100%) diff --git a/tr1200_base/CMakeLists.txt b/tr1200_base/CMakeLists.txt index f33d315..87b4d42 100644 --- a/tr1200_base/CMakeLists.txt +++ b/tr1200_base/CMakeLists.txt @@ -11,7 +11,16 @@ find_package(rclcpp REQUIRED) find_package(rclcpp_lifecycle REQUIRED) find_package(sensor_msgs REQUIRED) -link_directories(lib) +if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") + set(ARCH "x86_64") +elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") + set(ARCH "aarch64") +else() + message(FATAL_ERROR "Unknown System Architecture: ${CMAKE_SYSTEM_PROCESSOR}") +endif() + +link_directories(lib/${ARCH}) + include_directories(include) set(ROS_DEPENDENCIES @@ -30,7 +39,7 @@ ament_target_dependencies(${PROJECT_NAME} ) target_link_libraries(${PROJECT_NAME} - ${CMAKE_CURRENT_SOURCE_DIR}/lib/libtr1200_driver.so + ${CMAKE_CURRENT_SOURCE_DIR}/lib/${ARCH}/libtr1200_driver.so ) pluginlib_export_plugin_description_file(hardware_interface ${PROJECT_NAME}.xml) @@ -52,7 +61,7 @@ install( install( FILES - lib/libtr1200_driver.so + lib/${ARCH}/libtr1200_driver.so DESTINATION lib/${PACKAGE_NAME} ) diff --git a/tr1200_base/lib/aarch64/libtr1200_driver.so b/tr1200_base/lib/aarch64/libtr1200_driver.so new file mode 100644 index 0000000000000000000000000000000000000000..45f7dd7c2899efb182800ca0cee73a4678b1ed99 GIT binary patch literal 100240 zcmeFa3w%`7)joV?GC+U`5h6xK7$QnUib)6%DApk)Tm&^HQB$FvOp<{_b2Awr2-Oj( zQnhWOQKLnSNEHxkv{a#@MnpxWHX`~`MGXO!Dz#D3k`|orS^F}x=HwhM_Wl0f<;T%s zo%QUs*Is+=wXf&QyerslbP`npm!>-3709QOq`)!$jaTWpsysWtY*Y2pRJRJ1n}AOY zKGQC{(rCT+yV~!rYkd8co9@2+idAP+)?KjpYbxRud}iR|#-}en)WRvq8cax!HBuaJ z1kZ$y-dTo`=*cmbPKrq|90NSAr%s74^xW=rWHuW)9;YFknh@{utcrKJ9ESVcxdpD^ z9k;oS_@0h5p+0T`eSlj=5KP0Z9P25z064Jz1-Dg^j;nt zlVkMB?0r>fyeszR9<#3K;d$lMJ_S9N8NFkJNjZ(N#-MmdtZNt|&gF^S=Zp^;&H+xR zk!-{}?=jrLB*aCGakG&HGsr5(0H^DM_}Io)?Z)u> z+b4T^FEy4M!*z2BpHTWG_{^jmc3q15%Nc(K?sM_UXV{gvze@2}gZ>ns+4%fSVVwLN zOrZjNiWYb2AG+Sf=RJJ>hZuJKP2In*=m(&?S-QUc5H}xd26PWTpWyQ; zKA+)3*M3Qi&lNqO=sy+h1pP+c6FG>_xA=UA&mnxe@Hvdn5q!SKM_(b_(9j-(4_!S# zd*ahu@qIx1;uEL%Qxv`LgSs!Se|`9_7w(ElzVL$s&h?is{o~aGa$iWg)O~eo#|2mR zIQ^kJr@k}kuy@sKy&fq#^U=3o%n4RxY=0p3N@LTa;AwaK;n}p%!mRoA8F7F2Je=0G zyy}xD&z;!*{H_mgt$hFfw|cZbbJktSPyK7pyUBwKzvwmM!m>+u#s1-iXM_KGa@o4R zr(FK*m+!28*p;=S_{Aq0&%Stf$4~nHHtwEN$KG|(vK@Q=bnQRpd^BiM;Ffy|r6b6Qr*QTo|1;yp!Et~8)s&{RiMcmlbM5bPe9wI3{^O~yzHr&$r7xc~ z`_(7Mrd;u-YhRr6+YSGC^_eddubBDVNAJe13O#q|s*1DUe_{Lhy+?OHf? z_l?)Qq zy@DP0WDi^NMZpa_pS|Y#ZM)Y_AKe=K{>hlHPW{D2_qjgz-+%r34>n&k_rlMH{$uWQ z%TBu^_uGzpzWeCD559UXEmT%EXve|!YntwT?b$aTY25J3uLBo6@~^np{xmOt=JqEq z9@i`G&6~O={_9BN#B1Lkwtd^XzqM_<~3h?*{x#^ zE^uf+eZIsHu5xnTG_c2 z}YHG`X1K!EF1ebqqA6*JJ}|l6USJ~-)ZB|Yi!Ex zZDZ&1SZnW^4n?Sf-6H3H6+gc5XB2c?JEK^e3*A@@Nimz4s%DAKVs=CnhR8S4(`7B*wj| z60iHK1m-AwJSsx^SFDo2L4`M~csro#3$@}}dcKrz+ba2dg}>-l`c=G@D*Rs6j)^x$ z%fE+?N9FFL4InPU%vm*5JiSo=8<<1@(*-!5?!C$5i`-|8QcJep5jTU7sDq2g1QI}R13eivww zavn*H3zC$6lbzo|Kgo|;CI$B^`Rg&yl0C_)U9_Dy;D+${x1?a9lHW2+;;|!H& znCjK4^lw)2zeeeK9`R51%=wK3rYn4wOX}b7pairZ*7uR}2X2#iP|07S+Ob9X*`x4# zl%7LMk6Ymn$4Naa8YHkm;g3RI*z*esY*zTsl>SboKUv|o_LK6RjS^U|@QxwUewT_{ z-Cq3==cIr2Q&KQq$-k%k>@kgpT^C3_!&N-bQSw9J5NekV%Kr%p-`88>`%UpP4hE2X zmWrQANr7c z_^T2>pvJMa3Xk6=@oGto+p%vYJ%^S3TFc0>VX@@MPWns-)UMeJv&t5=Kk^$0z{UhavJCz@FJPbKU%A40whSK9P>3M&&lyBTF3)KF3E=}TvZ4#d&iBYBO zcPl+mE3U%6GX9%>CHWGCuT}B6O~t2ZS1)R6Cm2A$iKq zovL4GJJXb&=_-EIaA5SiP?oz!)i*2Fv1wf&E({$gI&%~pEiOy$0&;?2BX`X4o3nb(0KHQ#Ogt*nr)?_s>(g^rYJ7F9xjZN z@w4qNi7%JLcvr>GhDRiju5eEuDSzNr2?P~BQ^j+$(y#l`-O6uqE2N-q_hMyFxsuoV zGZda~va|FwS>LvYr5^3i$5pvYRJ)^D#r67GQr^5@IIQBtyiS`CBjwHOx+y(mea-9A zQN1PJ@@rY%dR6X?r$~J3-4X~Y+@<=IS4!{46oWRildA{H0PsvWmlWH9nZvX>-q&dd%ySRefcB5C2N)(e1co zgp|*CS>mfDF_tO)=JngnOeCI0? zfLd{_h?RD>-Xi&Og}14ASn?MM=(u`FjZ5bF{Y}_U>%BPD;HBW{dI|AB_L%$2A=Qt} z>$jh&ezDIq-i|$A>M^g=`t+0K&Z?K?sp5^ZG0;)D=Jm{jD&A7mJfi#KpVWFUYm3yQ z`^ytOrJkl{iDyY-(8G1oZ(hH-RJMyOzel(xF zyxw^gRh8b_fUhRt^%~w8`ImZ2{5Af0Wwil+P5z}*%Bw2<`M#oZzf7}E@fO$lymQMc zedT30K=7K&@&c*pmGdk7HD$%#^0JDuK-U2lKC~hKv`AgjPks|SaCaJR(WbRJ}LUj z&dwfNTs6Nkpq+GLd8ee#C|{7BojWrhtw{}$QC^0Y^p)49j+I8BK_pOKmRg&Q=Azaw zzRp`*dYyOPd|yq8%-5}0zu9D1iqiby(wLsPzOr%~HQj11)kGUTRqQ$@E%eqdLTFZa{WUdJHD$68DLziNVc2i7$JknHvPDoeaGE)lntRRQk|^sKR7Z&|H3Fu%IokG8zdKO^6poedAA06SM{YLU#&mlU=tqpjBKHZoZ`dj$`KI(4Je7!F@c)Yw3HNYNln=TKW_7L ziOmw6&SerBUtTqDURmY5F`)2nig)ZR{{nwGb>kZh@0FDc%i!Bwe=Wu-bb@(xb>3=! zO>Gs8Vu3~81t}C;CY7dgkH~NwIFg3J5eoTMM0<)iYu;O zWRz7E2g;2ic>S23O&wQOSr#Z0^9c8sDNB-5O^6l&Z==O;!1&Re`FS zylTI{BzsmxT6T7tFOXe9<=JP=m>{ zpv;(1qVrMc1WIWf5)(ZW`@-~k-Z>yCXFQKX)xcLpMt?lwvQevY1loU z>WxEaV!%Utduyq|Ycb5J@F)@O7uD<%Dyx&xaMZ4o+Ff(Wv12wZMY+4UqQu(YQ~JIhOJk`2v_a7kM$L98bH7@^qdBRpkNSJk|Y=URG4T;`uc-e!Yk~YQD5F+(s-d zFbnts^J|W$%(N8BJGZQ+Vxh0b@5Rhi3-4s-mZEJ`^BlEo>Dw9_D9g}-Vx)s_eKPxT zX~-Z8py9g8s-h?b#|$cIJQXg+t*Fe$YyY?szZhb|V@kJy;^_4sJHNUFqdQeV4)daq zjK^3iM$u!|AvHrOP~(8eCHtAxuzqZPilaUk~3G=Z#Tg<%uq0u%Mk>j^Wi? zT84eGUd)MQQkXg6^_5AfT1Fn%KJnPwL#z3BN*ddzVO^h2`-B;}G$n_3N!i(#gHIh- z;}@HV8vk6J15_4^?SIscVWX)r3hOc+K9K#ARsv|bjOZ;+BE%BH81K8T8BBrEc za0-#5=F4zUW2by6jlVeBl2K0k;OIiU$I_lNb-@C)J~d_4UFTRD)FP{-JZFKbs9FYN zZ*I|7{dsAqRFRl3BIiYFp-ku)9MYwF^GQlZl2#Y^UsV?=+rr4~^c(y&Rk{Nz15(H8 z<1Mc^QK+5ax0V|dmMiwv2GG>rNMTmTL)m^2`RFv!2PCwb9wQDzv_f$dqRun&#(VXN z2E3LEucdh5IFr}tTuJA~{8St8mQ_@jABRma$v>+IXLtByk{XJNjN0GG z-B0QXRbL+qreNTQAJV+~z>xS8^+?A5Z61j-Q&}0o=!`QP-byihE4n(CezTetts*jV zXzHz|HXdFl3c(bxfOm?*2l6C1e@X9@H)G%EV9!xFw zglWg#6UuW?92}S68Gw%#05qqOlg377F?lqOgGY4wvbk!dAiS52j)DJSF>+vC7S2n!&kDgPIRF;ftC?iisPs&w?Z}IiRu^+ z9b#pa^8<}YO(iRQ)xKgJfy$E-^uHf$hB_xd(fk)bJ zXu~Q1n`HGA2fh{0tBUZDs}hyPk=+keoI>s{tHq&+I4clZYy2W4R2hDpFtZZWVq2{k z)UkE`Rp?vMDSBd;s}?P8J}g&wWE($G?gS&ty|(q)|_2io|?~$qb#4 zud%wzbgu?9Sufer*kUb85k>D0vO4uRt&U#)nf-2WFfG2L)|fwZH5h&t6;*Gw=r~?` z#v$_1$a(?x18qr7rL!ZsmX^B0JHwprjd>i~!?B`^V#Mgy>=x>Z@gzp9*uCX}z}z(S zn7L(jfw?7kriVvM<>nbYvP86;Q`2nbRI%663)G{nysWflmy4i>@&Ahp&#~gk-Hb~t zTx{VucnAwUEE&Q*G~DRjI%#(&+bN_?ukbx4X*&L#F{>ga`-Ci_vjZI3h=-8aj8)*Q zbw&Z!12}$G^~2ol+l%ohRQ{1lsVLx zm*kE0q8ZhuDI6-P|0hDlJGZ>b7bqzU%$2iqv~{y8V1z}5x_1HUJ&`dt#XFr|1EGi3 zc7CF53eOVdl@o8I@T_gFzzKFZTHBSvb}Znrjh#%DjOpScCl|-oQZujtp~t;NGHomVS*3i|z$@KLSsz zi{)Dns7VF(n);EcDOEfkbiH2l7b8O1b*kM)MPu_gm`17qsv@8jrKZ6?Tl z7QJP|Ubuk;<}+u@3@5zNq~N5Nlcr?oCsbn8peH{1fs8zDFdYh6w@L)1gY~Ag~TaLiC@JI9IZz{YjHKsz@Zoeai$S| z8>}Q8^Oas70j0&_X{2=sD zJ#8B|+~gu0a2y<-@I=T9KyTE-vQgnTUWXZJ5XVexnP+EsY6@$6s;F##w6EO7TD32= zZn$y7l~QAk*EhdT?5MJFVp|d(f8?`Qxq?Ge+BDHo2D32;2P<#dRV*VM(Nrs&fhrw? zMM)K&rCPK&j2thPHh4!{K1cRpD_tbk&s1r4AU&qizfgx3EnBjqysCQC%%f$9#E%+$ zZ5(9L#^G`1XgyLMQ)H)R=uR8yt)exlImgg5v18RN;#TxGvQ@NY*n^_$!{4%3K%dY{ zeFy`9lupG%>XH(yr)sO_!c{o5*Zu3L9unO*YDhrIDPFu?iYX4SRL>~J?r8zEWmR7; z>w(#AZW*2tRGLPknPF2fgvsXwMc8_Zc!|^qf$y)8(|(Q`%B1~x$gbnX>+`10z|@Lf z9eoak?gKGAq$ny2EG)x3sB+Lt>v*cPK)>3Z1J9^)7#wNH|Je+U8X{=AJ$ONV>>vAB zKc`7k&c`e$ebQ}=Ca=KkqdkSeOULvEif{u0NhqSBKD@S=sT~iiWh&g0&3g(O-}EXy zRSy(s&BLADxyK&Eku= z;&S4*OI=0}{1<~CZ>9fw;1^AvK9swUpfUJ2R!Q{~ z5>mP+zSBf^vC!QUdgy0EWr+^llLq?G{mK9S-{OI*#~4ODV#JM4&UuUQjnG)*eqeNw zja4lDzJ`18O}bvj!{PK^#&ne)gnad(`|!=WzQ%fmEqeP&=<8!Vr+A-8?`>>T{5wxx z*Mokk_UWJbUZB2TJKcmQJgxGXaQ!2&g(f_x_)-(T?>?!g+Jq;lFF@9r@VNV>{Bjc> zd`IExcMrAw`gag@`SiP_DG;T0rK?`)Ash}5U(F!^xE$~gzOos<)-W7j-40(Z498bF z!`DWJ<14e_tCitD38VO(XogQ=cpJm@cReY27sIDA`F4g+XLytH57k$H7g;9DFMc{v zU;VqSgwt3?7vbuwl!A|ExcUmHz!Mq%s6gaDZieq>crwG6GCYOhC^~#)F#OgqY8W1d zqa%i|=?s4{j3V9{{t&|p7@o`ULWaM}@KT1)WOy~h?_hWx!xu6<$nZZfd^y9PWOzNp z@m2Eh)x>ZN7~!j#;bmdeFxD{qU52+XJdfcU8U9m-w=x`Gi4I@e7>=)2hp#q-svx@O2s_>WIWS2IlY;%kb;ND8>(l<15kOE0N** z!>D1n8D7coWQOA>5W-gq!{>%k{N5YG@zwe8498dV!&f}R&kUpZ`F@7aV7Qy%ix{5FaP<=eA~l8K`00Z1 zmBDcRU4KgSF#PPWG~%D(mohwu;e`w@U^x9wxxNY+zFmW$r40W&!>bwoF~jQ^j-TQP zUqOZs4Wo#EhX0D;^$dTW;Y|#8GrXDM!x+AX;g>VKh2gg`d?Uk?7~ab8e=vL-!>?m_ z8^iT)1yS-YhA(IG?F>JM;rki>Im0^{{yoDFF?=P%jhIOMf5-4xhO3{{5UKGDAI{_x z8NQd{Zie5^@MMPT-^Zuq6oywY`3#1i%Wx0F&tv#>hT|tm!dDK%8^Wkz6fpcC!wVUH zHN#68p3LxShF{6>I);ZB9%T4q3}4Rh=NMkk@beko#PHuTyqV$p?+sA$8itQ#@+}On zWB5jfU%>EIhR_+44=pFPKLKJ{1C%OGu)sb zK*vSv{D&DH%kZBwJf7hfGCYyt&obQ2@KlB;Gkh(>Qy9LB;Ta5niQyiGw=#S>!~e|i z9ELYCynx}G8D7ZnWehK6_zeuNW_TLI>lm)KvLZFe@G(q&Im7Q}cs;}KVt5n7gA8wG z_!fq*VR$;jTNpl;;Tsvgis7vcAII=*4Bx=;Hio~$@Ldca&+vAJXE1y}!zVDjli^M_ zj~`1KF~bWP{s6;E8GaGNs~P?>!|NEnnBhT&&t~{?hX01)^$h=% z;Y|$R$?#@|f6eeU48NG+Ee!WCd?UlF8Q#k9CWdcg_+*B+F?2C$; zD}&)vGzjWp_#uW*XZYI;&tZ6g;ROuOW_TgP7cjh(;Xh+|HN&SdypG`|3=cB=35E}K z$Gm%F@r!GZ#25{i#~6)A7QeKnHOBj1Cos(GEvJ4ztt-Cc;s&>K=zAoqKS*mk)#>Sq zcN!v1@IApNF}@G@Ovd*EU&QzU;FmIf5cpM$KNI{G#t#AC!T2QbPDiBt^S~#C`Ib{h zg3o09Xz)dhPXoV{@#Da+V*Et#TNwWn@EwfL1n+d}@>@=w3ONj7Wg8@ z?*PA)@$Z3O#rXHZZ(;mL;5!)K0p8gwQvRpllNkRw_)Nxs3BHK&UxQ!D`0v24V*J0s zZ(;oR;5!)aoQ(2gBjxu5pTzh+;4>ND4}1~h2Y_G7_(9-TG5$>OTNpnCd=!BjRq#oSe*=6b zf;~xOOh4CxF zcQAexc;{)6@*f4C#Q1gKGa3H}@I{P&8vIhmKLdUh6PzXyI5&W6QVjrmM zup4!vbh7Qp;^)J<+fO&T+E4d%4gWrLA5o*#Xc(sNgN}wF`rhMgI7{CfF%60OzBQ)d zG<_d*HQWeWNYBs~*8~^Ji@_%eA2;@!4y2O}r$9#V9<0T|_Xgh!f9w037-OBV0dm!( zGiKnrk*Jrf&d+Ar<>VRwJn+mbb5s9{`Rh_)c!N%;s*p1kQHb?-2O102bYO#+AR zp8}UYmOeVNc$4r4>D&W{#5+q5o+;py5l-T)2mpgQ>QX^sizPBRdlJtf3 zqCBz#&zSN>-I{we1R=izvIZ#55);~E91YGM!5z?-YmlGNPJfoV)=}Dc!j$cMz;_^? zeCIXnxB|GbWN04#to;Bgqg|Kb?kURHq{={yCA2?cG&o~q8J__sd)xDjMeTW>P3;#N z(g(10kCe;(oP0q#dp&e!H~r00|HDduZ_*E&e+|9^Z6)gI#(o0zX#z%+{G$E0cRbny zJ}fqz_;Yf>9Uj36g_7p>s@cIP7Ue>i=c zb5R_0IR;CgIo9-;Ao5W^Xkqso*!{*H6MiiGBJ1TyacmmT`E9O$0;y;J`d9z`3hWq%1vX7Gv_&nEvv5W3$Y@~kD{<6{Vvdd@`Wnlc+1AZ%P zC44H;a~us6bCmum_yJ@a!_NPY81Gsf?Xs`@1w6^-!EW@S7NfO)1Ktq1$Sd&RMWi<$ zz7^%QyduW8JC20J_-26DV~?@nl?mvFVjMCyzA|AS?)SzxM`GL9N50lSQLtJP+hIlZ!;F{*^78U+tS!9+8q5c8+E7gy1h6WznI4cCY6$QaaKQkL4}OFLQAN611y#h13BV?=Zv@S1UcPxJ>dw?p<(vIX;c zI(+jnbj$wzifYFnR==;HN83zs^OCUHvx(|w7;o<=OxXW5wY39vG}?-XxDyde7IppO z@#JImu04Tzm#TVyhxmQCTfJFdF}Ek$nc6{&-&mW`*zhN+FWIp@^B0a?!)`R{hYv|k zbPu7l%TSIn**zrO9uxBc>o7(PiA^3R+Tb5ZKUN#KZEO&8&Or2QtVQ=?Evnm5jAJ|& zupX!OPSdtvUclTt0Am~48)F>B2j&NXVXg^dm?s2=b)3MU<0a_O<#brY%eP%LH^{Lz z^s@1`*~Wdn@z;j$dD;91!Y7kFJR>~k34dr5g32cf%x_9vlRP=;EIcaUz< z5zq1>53SQgo?BF&qu6DnOx}b#59GEP=?Y`^85s&=HX4%@W?|=%#j@XMTeT0P+6uZb zhiw|_I^}x9Y2*`4J`Hqh-1UV6Bwdq0c%SPF`%0Qjd{&R^o8v)^*z4UrjeI-Z`Uj?Tea zmh=)%{0PNonB*>CILXl-18pMaIQaHj#1`IXPC%PZ2u;KMs`bEr$VF_QlbDC~>p)Q^ z*^Ya+VT>f&j(h?~9UOyW^Ta*bKPf&Bd!CVDJE4Q}?1A0G$WFsCQrOMxq4D7ovS$ix zA$w-x^E+h+`IOs1K4o^`en30&g>B@r zk{-sAfvNKJI?I9bs4hnqcRxd*{XY3)Sc$R)_hDNo{$aO{WvZ{#qt6W@{ok_hqb_s~ zvF8!g-5K0*0o9x0e+0$@?76pNZKUsCl6(3VN3eH8A=ar|QPw$V2gGxW!`(+0KEXVK`gFC&(0qgV0>!w7eV1nf>VJud zAHrfSus91W-U3Uoz!EL6!4kXJFs^GqU7ovOJd$(Y{{yxL#vk}oh;df)O=PnUrIQ!iBFL`dG(z?(lB0e5K zzT=I7-%=TffwK_<+n|rfKzMvo>k6$?*o!r{SYy-JLu>3?jE3FFPh%0j;npDL6Re>f zo z))vNkx;(M)4eZD}h8?&45Ib*83g*qmhVFMh0cNB zF|OnN`No5YWdq~9fp(-bfjuz^IQt&B4&M!E#Muny+JWoNMH=1HnXwojpl2(^2CyN@ z9^HS<=MAlx*WxgLQ8^BjL%RP?c~Q>km?OkF1oXrSY~Z>9z@CSV-{ehRdt|XZhrn1Y z<_p@J=y6$(AADY;@ohBnk}Zzru?=Fpqj3xPK&%_6&i}yk3pvIOT-OJ644;KS=40d~ z`@SMyps$<93|`hZkSBeAWBM>pH&PrOZ{9cli@eVrGp~GJrN=oMyZ)f_U>qGr<0pJ0 z<6f_yB6-3-q%oL$2znpld---ESKd+4EDnv;itr}c-JPe9R+=~)N*Z~q49=`>o;Y}iHdgR}*pggM=3iZln( zL|MD1b^R7;;r52?b(9C~9W{SgtgFwUcogxV&o?7}5_1w_3+LaW?IU%LmN{Dbo+%hh z;WOCQNHKY;Ntbo}N9(6N>ji=jm7gt9ppQ+26#Guu%rCh;}ht!w2tP_&4TJY{8!(~JrwEb zRv)ZCRvsm<6K${8>5;sVH3YRAjk%S8HYsp)ThEJ4k+DlP;H=tek z{t)dwQs>=^dByyUwu|zMXSC7rLvgYPzM@#U81FyW?OlXFml$h@E^*-FTuXk6#8RZ5 zRR7Pr)h{~zY1qR3tlLb)tT>ZXdpYbUU{kmKR5*6g?{uB{96;x3qTkRu4*S7&@Oxkv ztqI+RaYyJyj6W|L4Rc^8_aViB?|VFxgB)yGr*-eecy9LR@1;N2>A2^yLO!_2rjF#t zqxDyMW+-KX7e)Ix5+f8#+BQ*d9VaNaFUlqTSg(pRkY3=aE@YFQuW8Ng&^Y2z<5Zs3 z+kqG&-TZlCDe^?tGxE9XH?&?<>u~klDzaw0(14EMj&I;UdX|$2f0JHe59Z9};K|qU z`&aGM-*HdtCy|bOob}y7s7H%9 zW4N$;J;ouQTpM7DvNmk~vGvTe6-PcdzFL zVehu6=ajV8jj~DYdmbeH${yXH^5F}8HaFRY_=OJ^LZ|3^=wn*$J(hPb*@e1OA9PXM z(EjxiqoD`gqs^!f?s*ww7Cr^Yhd4~#gE%|``OvR74UNYb1s;7O>g`q4o~N;jV~UCou}6Y` zsQw-3|J43s|M#`-!}|Q!`Z@DnoRwR(Cyh1jsHbkfcKB3`D~LUs2MaBH90X?2IN&*@ z;T7Z+=bg}#L~Tm@;d3x?;es}Q3 zcW6D}rg?IT_4%dI`3qZ_W*T>Q;ypVLVpz=OGN!dIyLj58>Sq;0JT^ar{XCBJ*r)f^ zG|4i z17H`e=|o@NJHGoGWEt6uHJ!9mzE5K8Gpghq67?KI=-~4Lja4*%Rgrzv*U-mk%z2S` z*h)SLmyJ4^*FSz)He3H3ySyND8`OV{c$`VMUNjtazT8y)k4f)wl%IW+@+n@l?NN0` z+<%5LMSI+W^&gcDKVaS!Yb~9}YL9b1%F}DTZhht`{ek)b#h>lE8tte1M$|L%b7+r@ zF$(s%@t!f#)V@uPk?dIv#q}qs*Ecja;(jjbH83iM^%xmFUl$^eRez&0pZF@0rt3>} z(YAK$$FP;^2_NQ@&xheWV;HF0xLCY%ZCB2;qu5XlpGWugX!{2rC9fYoh?FVk2D`bP z>N^bbrO-#Qu?N1UzK}wEf3}7g(S1IBMEFU+>lAHYhRBaKG-Qrek98upy00V2t{<~@ z;6A4`vwwIy=`qZzy(sTjNAca$tW2$w?AN+9W)}~n|6QivTK>_IN-&;E*W{9;3Vq-VM1H zb8-jD7iAl#qHO27At*D9xg~Z6#|kBuz_DhD^#^tp*V!uZ-dwg_VlIv;oguVsxNN2K z-@qnwoyGuR=Rq#(me@ZzrgVPJF{SepV57KBkIerumo1do`%##*{aubJoo&EQx6t`U zl&sYG3dfY4tsGN2p97}X&F#1JY`}XdSet{+1brFLH7^J45gdRu`X;RZ2edzCY%+q_ zkB$M3`1ucfya%-XW%Zuu7*AK4io1Q#O*rj=seRh9MxZ=<&cXM^U7jZlm+=Jc11LY| z@!V-$2d({}s~z+HC6w2T^1&m|6??p%O&8-_En2+ zC(64K<%HJ@2c~u1pz3`ma7up*)NS;M7yI#r(PL;c`UvJK`7SB^a3AHxTI^xiAl7NX z?gAFx=fkcA&_``1(xLwuDhGKQk>_IE%k|Lv(eFJE70(M=4D|6mLp__Yf7yh!9zD;) zBP=}YF$SWK26Ja4zuj0ZG^>@m<1bKf1yM$b`l>5LW=Z0Jj_B_by?TDq;s6G|-sqgx zburR-dHQ!Q^x6GBes=GY`&n8~1Q375$?K#CPI};^2Tpq6qz6uV;G_pmdf=o7PI};^ z2Tpq6qz6uV;Qx0XusS!^7|xrz=y@ghsQ20U^ErASh2A~U&uN$ZLp@)m_hE2ewEYX5 zTj5y~J@b1TY2h;_@Y!F=Go=vl=;wgZ&n%Rrn@5KVAN`sD$XgEI7c(C3jZq^E$= z*@t}hr2BhV@_8wApk8kF{FR^k>t~^r}Ihu z{44TIhP}^=cA|Gdg7j=qKTpLoR`LA}JcprY{!c&;J(HOY+l3AAr?40G9!TGHLE3Vp z-Q<+#@8}FT$2zUyZpsH)%A@sLz0XDd#Iw|O(QO^66Zv7==jJ-II;dyD6mt|$6m$9T zk&dsgpr6OrTG&c4IImlLMVA>vzNa?8cSMNN^J=uin=-y)#Cu)+$abVPLT7ZFSU)S& z@tOsBp$GmYTXM)=iYeIca2f0wcyz2rKlhPkh-b)XL;8-hct-;|)`$JoJ->tc3Z5tG z`b7G1_wOOlJMxI3uM9kIA=_%8SG+evc9LH}4d^4k&^t85{~kUObwU58I7y~h2L2Gk zNgijx;(d=YoZ-509!lrR2Azu{W+{!zz8LR=JfiXsRDJwg=;6L|n0$xd5vFt27H8og z5x-P+BDE8qbJ6`CobNB87{L2Qd+=P5o_UW!|Dv>yOu9cOIpDh8^f&SM*))Sx3 z?+Td5Zapsko%ExeD&?2RxESgGd>p0mL&P)kP&$85&-5Wag2|YSpybrbSD^&G71@bgbdm*dy&B49skJRSpI2sDz z18Va^C;H_DWCwoV2Qs1^E|BBOUeX8rSJ21tUn%?+;54SRLp~~YF6{nJO+A$#o`a6^ zZmN3Eg4&$oDG7F}acf5;j=HxO{r1FO$m=$y_I?(5BW>3`50@?M788-SCR;qHt1jQX zP7`a0UUIyrHYpD6g`?SS?(5?HKV{3i`y;;5;~tOey%_uU;d?QA z(f9N_fD~63BPR4%Vr6UC2Wkx^=3msE`n8+YpW8;hIYYF&?rW;ul^^Ar67wyd&64b` zuw9Ich?l)|56qzV>LE|ExPM#NOlt?EJ%DmW8t!#$Y1?Ux)qb|JonrE9J!}`s1At99jlNRc29^NizDltZ^<572ViZ`fwAtJ5vU91 z*?6>(unA+)8Dvw;X(Q>~G;LF|vgupY-TXc$#cjkcHSe()p|L=()7*O91l{D{zo@ZG ztZ(2CYSXW1Y@)Jp5BWQEOj@Mb<8-Txtzol;3-tu04 z&rJV428>+G(5ev>O87=-Fq5p3{|g8{84gu z&HTzr%Db>EQ0ksrR#UOi2W#OO3$I-5g9|F@&%#qtsCtPod~S`e!avcSefd;X!qMe& zDWAWlrm998L}m&l$_mowo{=@tolsuIVP3t(N z+1_k%iIR$al_|Pz5qbnuXZXr_Z}(u&arK{Y7Q;Ae_L#H^@UyeBGq0TXGq+Bf9cARt z44rV+>=Y6=X3w~6>g5ne{xKr|)su5ClYFY+vvYGV&t>|iPR^e^E5ef=e5cmP^9S7J zRrBUiJeKwyGL;xvyp(29rQ3N~`eId27pV@F$;7w$UYpL6vEYLd86`(6Xn?YUp(cd+oS@<$S$(m58 z9CRaSJ!ty6P^bm8aD6DW6SNuhAn3LyLZJjWI1XPfPY107EdVWi68b?sEul~|XvR~a z&^FMGpa+P5Iuwe>#Ig}I9dyzkkq>kqXdUSE4Ja3M3FsQoPS94+!_S67?VxKmhC&9u z#M}w$26g>86!L&JftG@1;S2J3_tV%9+61~{GxCEbJdgaugBqvcZT1(CAG99S13Kx& zP^b`eKj`Xys9!7c$HRZ1+d!wk1V0WijAfuHc=@drbT{Z>&_bLVq-+5_4fO{Nf-VPb z1}%6Q`9YU}?gw1~8aoL3L6bpugL*&@gBF6OYz>8$fzAS54H^L53R(}k4|Fx?VbE64 z4QRh@pxZ#(KzD=g0__BC2Teq~4t^yR$^b0@EdXr-tpjZVtq0u&x&}1mRpYb%SmP%>X?NS^zrfHRu5?0c`@^1-cOwe;7T~209#cKWG+cEaIgEGzkAT zf;NFBzYclO>7ctn3qd_!ZQ63w{Mn2i*r+0O~?JmxB%lT?6U?ZT~Cc z3e?pG`$3aITR?L_J3;F}<8d(C44Mua`!@Uo+5)-+bR%dzXfj^LYyn*Z+6J2N4)TL$ zfW{)O3P9bU<)9g$^`HUJ?VwGd`$0E?x^}`}poyTJpgExNh{JNw0?<1_mw>JTT>-ik zbTjBE{FpkOZsmizL90PMpm%}>LDz#egKh)e2)Yk+7pU=GD0B!k0W==*n+%HI%`>t< zr-K%N&ca)Mt?$ELdfV@VP^b~K6LbUd_`&nev(dhw@%Yg!oS%gT1Fr{72VDcY4KyA< z(9sE62%4CPeg>KXn*1f&AG83p8uTz|Bk16NLO*CV=x)%>pax#NjOz@AhJ(66CxOla zoda488UUU1HR=hv9dsM0=NrT+rGv(v2^=&TH1;6s2buy}3X1Rbg_eWXfvy1!ev9}6 z-3WRB6yIwM#hnGazC-+hW`NEDtp+UtT>-iTbQ|aj(00%bpa(&>gO2(a;t(_+)HN9G z0y-SD8FUgTen%-Z2Xr6k642>~pa*mg=myZupgTbmyU<>sqd?=~_X5xq&=$}F(5;}= zp!nU(P(A1p&=%13plzTCX>mDj$TeJbLmX$t4HXz%Y%FVrE|pGlqwr}4Hc4S_P!B%a zflUWBCiinc=vo<*dAIYjk3M{ddZ|GnMRU|4$l&|l;fwSw!N-O1n1&I$2&>2E5XNkd ztp;|$glz=YZo;+$YeYFZFWh3Zz(%7yFZL3$$UK>k8{d=^ru&IJljR`_(_R9-dkWXKmt-1A`U%3k?QUp>+bk#5en z26#2_44F^ZF^kn>8`75}-7V8aJ4|JI_p5YKXV{so>@l#wyA%0RSiVb`UN_QLAl<{# zb^S?~2kD!UuIv@%PG|WGk-in_0hwReJ)7ATM0z6TU|wJHUlZ_T;KOCU_-V@C7U1c? z-4c(gC)v|>lyuQXka66QGfPB!uivd5;V{mkn5S~w_{>>}@e|bbF|1JSoq4zGIvvj> zGaa8!$mNsVt3poLk;m#?fW4#pA@p7N9eS!C?6>k1=g*{o8&Dn6mmpS0!CqF5^EOow z)nx@_maVe){br=EMmnCGkdDF!<5u={D(6%F-AG^m2-bPHN4l`_a%H0%&|##vA-!Ct zi&)I;F}>&2AAQ(U$E(|g_F0WFQ_6^X)F~b0GklTEXh(WG?p-fn;+fnp=fOTJduQGq z8_+%@Ir2l(?=e=9+?pu48?>AoY4s?t^ij-FxQDK=O>>k@ZonHLv-KDNOqs zX5gzKgS_$cfRo+;^iF>ga~AGh?_dEG(F^nC96|OkNB*6VtHV8H#5jRAhZZ?*u0i^! z7R<>ky^y8Tnz#|^+OOmvJCj@BVXm9F4yO87W^O@Poh`aj)xM%*qWSy%c*Fw@i;3&q!~xN*7}nn_o66 zJXz+8*Zs8(cpdc7JgWUzq{^fAa3Kz8uS9dD>q^YHYTU@YyH8{9DzwPXe!}j=Sj-F9 zOJzwtQDX1o$_pUFn2#<^vjlF2JP-QnFQ#10~ z%}EgyTaNEfzev-E>V-*1ynK2N~@WgpVH&q>!Pg*QpPLC1sf zEBlv7#gsk^>2t7FI4IM_IJlUVOZ)5;%!T9&ZPzrGekan?k)F=dXR`G5NS|(#pX}a_ z^jS!!d+3j!f*5q;cAv^ON#de!VNPp|fpYRW*)te%L+g$Vj1MmAypgtXVm%-_D(OwZ zp1#^NFB3i;_!0}e5O^~B9k+?@>CAxiB;%fJrT8T~R>O`s$kUwU>Lu*Z_F`I!j29b` zzaWxdw6R`yxRLh&)kmef-o!>z#Q~Q&3>_tqDTO@J=j&#QDfq{mHX5Rh3TWyJiK zd3W4gEkm)M1({K;kyxi#pfe6Puxgo4=)Q)vC7pd#BR$B{`FPZX^fsiEAGB>hRr$$( z8<9R3XAvrv#QKQvHsHy?-MA;ePK65z$KL}nQh?Jv;S?L9MLN47d#%#RzGkEkH`z_H8-crlXE42dJ-iF) z88&*!XK`rzS*m`nC*hpPS}&@Obk-FIJ#OT2-67;e9rW6oY{^1+#oClb=_N>a9VLAk z(ha1mI27YXfof|vl2#*qH|FL^xVN&C%Gd@O@{{UMQT>6^_amL!neMIHAr`G_*AA2? z8R?C%A)V#tV-xjXs-v5wYadZNma24Bet7>81b#H%HAm-*iXYP3igfZF-J@RNxZVZ) zF!~S2sq9YRhk#r8fn?(`EgiJTmkgZNPj++CbfoV>x|RPa-j*O9+mYUed)G7!$dU1; zTK6fksUCWk!_TT;i~908q6O)9BHayH-HzJNl)p`-k7DUF*tpS&^d{st`z00w8MUvQ z<! z2c0V&dcG&weMm3B`4-Pd_lJSg`52$)$?p{FE}9oyppRoBncS~A=E3xpV>0hfiy7n) zRi?5gVL6+Hb6gMZbzAVg@f@U=Aia~NW3xjME6zITyf7W-wlG6nR5qPO@7gKH0#~sp zyW6}(a&2-|aT@0uy(belBBVBt^mI@PfqWq2S*d0=CBAAJb;Ea0mpF5+ySvW@DN zh%G=H(oaafQ}HWo@LG zhTJTYqc=3wJOUx%OOn}!vNk}5{DE}s3-W}JAzvIIn;}E@P)kv>P}7wyW|#+^uCf%Hi-UDTDIhsDD=8^fZ22lq-UL@e0dtapd_*sY(WHCkocj25{ z#Yy}O6+c5+V*PwF)hm2m*+g-GY+kzN;`FU^VQ?bhbQkzRsyD}ND|g>=$ef_v0MAmj=+6K?3plrp_p<_|FOQ@PpYZfLq;EyK zU5qv%eP<-Us5{TU5$UnmuN6xBMGR}-4F9kj*dx|YSClVA2Ir;`22~7@Ty~8C~ zg8F6PetODghp}Cu5}CBqVeC`LDJhW2a#b5aEs_o(--VOw<}iW~D@eK1VXRQdz$_uN z+F=A-(7w?@eIfL_a~)?^=fDvT*K(($on-5su{io&?ZhpO5aNPiv01KJ#vFjS=bt_$ z;c`XV5ExY-YaDje$83!?cK2|tjy3l6T!IsW=2&zms$#m?wz%OyJg(_Rf!2Qlc8zkS z!x_phiv0D~bGLFLN!ZEA3;?gC>NvpVYdGuJ6uKjB5M32qsY8oghmT=<2Nr7<#?J zQ)3L5q1QFhcn?Fb52Ep&hF(`hMK8eO-4ZV(u#(Nuj{T7Y)36EFNcweJ>2}k68 zj1d=J_wm#i;}oM!tp}s=e#VA(IimIS$9v#bc)YRy8!P-&L$5D+Y7G9QvR+q4;{%NX zi*-;8PHL^zM={1}Mw7)^TZ}O%ypD|4e>&bn(<{qJN(@$oYb`D9V_L#x39#zw->Ej?aS?LWTwOwnaY;Sh9R<@+11-AaKX67L=-_haK_-!6TPfZ8u=Z8}bt*x<`-@H=hre3L()K|$0m8kgni zeOq6n(WK|EN?zlWl%d+rHk15+l)T2Zy!21^@#K6osDq6&dViIp@LeiCb-Pz8yxoN3 zS%c8C--Nd)ywikh`{RD6DrBnHEE~MU2EWq=-)Dozt*|aP%LXs8!Gkt2jpYRp;NT6NeT7Tk71(@*ZHu!EE{ICt4@Q}6sNjCU) z8@#F6TF-79-2HI0{4@lNl^^a>_>z02yqJ4mD{4qO;_e>{p}`sjmJJ7T`!Ffx4}I&c%cox z#0GD&!8h38+idXNHuxbEF2{{X|JAj=3>Bt+t)HjpbNfF5r}ov)S5j1lvwKTCp-BSC z3jd|T_4AkE3jbQ+W7P>#k7@rd@zaea(|S_k{f*My%0NZ79AiI~vL#v` z;eZQvns8liv#DIYj@7tJsgv?pAMR9uB6|O#aV@X+FNsRtq2%@c#cjg%{w3Lj>-|fL z38(jjX}rQ^KB2CuWhciP}7dcss?X#IsIT+g!` zo|1xvO8$@i@%HjzlCxgMt7XlS?Spg zc>_P5Y(7{2r_j^=y!5cb^}H$lf_I_&Q+>Oi4-XM|_w(f8z#TZRHlLsWNZ_Y;JNKTT z7?7U7r9ywHu0+20$wJz-=-ysAQ%9 zr~2w~K$q)P^5r*5LGgPLxP4yWDl;SRDLr~$He97mgps6Qujh4~S14T1Q(FFZh3oaa zmj9>1&F#_)@7a)kJs+j0awjNU?@xmYe_P@DTrr^V&lRr6r9y=#!Xczz@0+wer3%;Q ztMoj8uHOKMsok!1HuzzsN6&Y|Y{uJE|iCBFK035egD zz%Biz6WO!7S>joe7|Ru|$Ny0ZUnBG=hLNpGUZ0a_JNv=0q+g#~x>cT`3fJdUy1wIp zTlsUgz!4|EkP0>{Jwc@>sMa%+6#k^b^?4M1zn!kr&#=~?4&16;erhBCn3C7$MY_HT zXG%T#oGo1zYm8U8KCj47co}eNFTFme?;g_Cq~!HFJV(ODQ@}A4bi3YC@_K%sqa+S1 zT(5J`9mJJ#mMr&Bz2sLb+%Is&Fmfkw@{eA3>3Dci;d)=M`^71^p?Y;TN+o(6o&}ur z=yig&r&P&rXp!=rs_ZRFUY{dPQh499r5=6$R;ut>3fJpT?f=CJ*XK)6E3VfRuFtD= zJ01aU6^A2+$a)2oogSs9K;VjD$JEDt}kFL3qW9uxTI6)yIX@{=zCPV4;SFEOJ1-5{cvaf@&hKaZqR>w$ z@O8jxoG$;_vG{@%EB430zb@@)d_n2z+X7d=uJVCA5YpEF^ceWPfYUhDKB~)@o)oy+ z%l8TVZw2o1?UV24b*Oxt5$$hl;q3(rm&&o?%YakAYOg6j`4@p}oa-^E^VknCzWVK( z0{=Yj#GMG0G!78zdy%#vx46f_}3n1z@q~H zLkpJ=vEp^WY5W>L)qdag!wh%jg%P;=TS95;Qvz4Nx9;ON0Z*gD@BLsp{KI45D}d8D zUH)0I_%~%%g+Nq3{=C48vJQJP&c7Pd{s+O(Xgz=WVMbgL{4(Iwue*<*75H_($%vN( z|7{;)eD%ZVIxGlWGTeoIe}W z&Nl^L^FVOS?dv}U?&@8+T)KX;1$Y{rd>n8Zr>iIYp1?J~Md$mRz>ohfkK-5@nd|f1 zj{48zrYk_M#QTNw?U}*dr=Y2}r`6A$H^Zkn8 ztKV!x@Lw8(e_8Rr%7{-2{`=>+U(FXfCh$81?#hLS04KWowO?k$KN9>G1pnCYFyNTL zZ=L7%H72ep9CTDMoxq@Sh!n|Gc!X{_w8gUzT>VpJqTP@TCPF|0R(Z zb%Fnsh0BLn@fpBrU)*_pOW^9S*8RN!Z_?(qGzNZV47?3E^{akerNhq&+@zQ!w|=GoWn0>AmQ{P{Q+8DHS8eOeQ^YbQPo_%W#)FCG{COHVL# zMIJscaLspBI)72y7dfu`yS|*>egp6{y8RO1?}!gX-hbWV!~Xq!2E1M1mjS2s*Ze)z zD|`%?;F^D>^5~BNPwV$4pYb*C?p103K7nhzTigF_z|-2v)OulKrjxmSFH@^Fo91Fr zynwq|OXde95D8~rfonXqMQ%}zV$XKt@&jH!3bcC)itZJIhR66u@j z0F8BUX$&s%sn2B7G0aw@-7xlA8xyp{-hRejpJVESR%;(sVxJ5!aoq^rfFr2pCsw^h zW48IC8dI%>xCqH~cQbg9%MKs324S#gnz+`e=*@Knn}MOl&AGUP_E_w-B_Ov4rna}Y zn)5Jixd(+Rm~N-psO|e`bZy?4Za-`;1$#kl5aME{+^)Bp?+5o!c-pP@#y?%cQ!{8! zY+-Kr+_{ivL9U}&oj3ME8rzS9gZbb>B2!o~r%sx4>y`DADOXNZ{8U_TX^4CBTzL}a z;t;d6JOMG68zP=MarbJ);@(|O?LQjpa;3B?qdo7hrsK{_!xs0{J?6Y$Di_w*Ov%4% z+6w8T$!Fs|EU)?}O6H1FuFI7^byy}YAxs7 zE-UAUyZa_}nq17QaXpw_x!LrUyDII|GP&&^@-8zw)|~NIH$D58*zLo%N#h&WCU&tx zx32MpY^$xTKkfBvpb~1G4hkPxFKbTYsyBmc#DW5~I299E-OT!avds!EihI*9kc%^} zH;J@YJcmKPS^Z?+nttYS^&jp@d}}&e$=QA?<+p?uW}%DWn!ynF9Fn5gz-@*P;8Uk< zs_iCW$EK z4PzR6r>gPSRt&~z?p(Xu_@@PUdZk3BXuo4{#bv!2WLEB(frdDP-QL?X*y?_#4c-y% zn_bwfWS(X$L&=zxd)H2!D=edS<=nD1E~8jKb*k)FOy$JMRbQ4y?oXZP>r=CtlH;NC@4*hnV0%><`@jo>?M`pMP^|G`i=Ko%T(?X3-Rc!|bv9w?F%hf{7_viUKQone%*5dWr z*f4qgHb>4wH*vK@_Qg+P zMOY$bwu>gVxgb{~)7nitW7fWD@+5ELv*97Z4^oG}rb_k?R%QJ5%+(uPVkjAFBjJ$K zzc4r7!%6A1;9#N4oQJy}R<~)nuoo^DC=NGN*IBegRz1!_JLJ1$v6Xh?X6d3?T}GGn zdJqoYta@7NkQ!kS(=fFQe=^S{_O3j4WPHn!rU%A<-rj}F>adJ&2qg}U(+tv$EZ*8q zuhZ_3%c(xVfgmNLR_%wwE0YymXhOWid14gu zqIL^`Ao6q6n>D4gYh};ioLSLH+d^y1zOKcOfo0NV*Sz>c2bPy_2Nw+-ejS|1P7gG+ zC?5j9RXi)c0TP{qcH@524SPBzZCaN;Wq&Xn-v?!!gYrci*5lsG;Uc&z_(rqu&GEt+ z1vDF8-w!O^E&-*5QHOy`(=@SZ4+#!f3+}Uk_(J@MFk8To%nB)p9m~LWAx$HpnbRla z&n(zo!1`HrlCgb4S8+Jc6Y}!9;k;jTYqmm0Nq}}fKoeF^Sqkh+F`32Y*#_2zMtwrO=pX!W~6Q16r8X$N26QPVK5&_q3`b?R13rwd0g z7in^&rNvX|bF*5zaE^vxFIM;MV&$r#PfKK(>9XF=UZ{bk?Lv&GgN;la_?c@vaL?m5 z`O*E#(n%e_3m*1TIOMovO4fVcV5N%@QXRW|W zcPJ(g!e-{+Z?-&QC#YTM4_bb4M<&A}S>&dxvdtiIX#(H%7F0E%?J~6avE$>|cOJ~l z1MQ9P$4sz883)CX_|cBEHO#DbV<|XPcGa6B+ZiBFd|1E#F#Tgevt-w$o@Q!Y!OGj8j-L8&TT^HguVfW z9}ER6F+gSG&;k%pH9@b}={edGk>)|RFFM1SR?xz}CeP-YJ%+?W&X!G_!)1~h3ddlb zx=#0A(rTTLJb!`p1+u~$4}qw@8t+#Q-NdGI`9T-QEr3Iy*FsDxFuU*+K+(r6NJ*PJ zCGhhChL?b32mA-*hzy)*Oi$rNTFF6^K}+JmRleLU@)n>@K(}qO%0WsGs~ida3}-;( zD)V@j`{acQxAMpFTbHn+;SaGrrnAZjN(WDTzawKw?w2*CSsCkg`f%Dp@9|4@(LunK z9V3xNII&c)iZ+=jH4G_Ez5RWpCbXD(8;SMuyi5vY{jg%Hv@a=V;N{%9B%r7d3tRpcg^4$5w+u_hDC6 zx8c8#3Rgv2&VkzF4W(+!6NzUI^8? zG(ajA{7r@OJjHdqMSWWB_Z!>R!C@aoo{U}fW1vF$PUWNQOc}Zg#wapP@B*vLkoDkt zz>F|invSw}8Q%GId6-vOHw35BU8J)Z}4R9ZihGRlc`qnru5z?K8H0K$QYiI_b_ zV`vl!tKX=WgD0sxx_D}LH_h>lP7bo>vkwHl4m0`b6&al16Xb9-I}PL#4ySiisS`=t zD=S1}oiJ${5jh7z1rSMOMb@m#z=OM0SklDJ^A?GOdNp&Q-PvS~6au3v)HAv2oCq7# zCP@>ppjjv(^g*APyG<)Ox~u6PP|_n|vT;r%nQTg%fRFG!APX&CiO$f<(57;AIWmc& z;~4iQ9!>p-*|HMJZT5+CIXVa&7@?Qvpi&1ME2y>#H83-Te@CsJ_Qiw>hPAIZi@U9u zH)v*wH$;?YA;!r&yZ|q5!x|N}q?cfFwRs_o%~n578H*=d{iBdZ@?4TNT*Id16BZh~ z%O|tVSqR|nRbmdJNk(j`)j;TD#F!=i&oO=vZvGa6FBHBioJn}yB`~svP)Pw^p9)pc z3tRC9#9TanH}Q<9^?3;Cgn*~1b-IY` zBD&niA;9*5I#RT*i6cmfGt`kJ&%x4EmntHP)*WP;VYrnWTHMx+0FJ-caQrCo6r7YL z##W@te&6QCPLY38Dle%*mQAPN1NYo;2R;(@ht;J*34GN zkI6{5#Nd)>cj%iKHb|ZvCHY(!?a-?kY| zs1Q%0qJuGV9w7j%i;)}_>}QOmy+*+1**P6?mZMmK2htT6Md_2s_0S;j(u^4vG@5)q zjc`C*AY#OJcA#;nI3t-`lT(S(Grc59g7hF9H>_zws?wMz^YujH)o!PW^doZc<2z`5 zhv%hiD_PA*I_V=A7~<<=bx8Ir_Q)OpGQci25d2LTa6>1+0S0YtxCXq|){+wwP+PD9 zz86@}ZGu~pvT&$9WS^S#F+>y^@z8jj8aDSijcc;U3>*vb1ok3#2BGO}86G7U zArfF3BEe^uGQMmsUJ(qCjTAaXmSjN0W0DeNsj6jvo%1Lsl4vfgvFeuflxt4QF#nWY z+$musjAS%vc7%o<4vQ~MQc4)dPlirmcGymIWmuzS>-Z$lt~A1n4e$-AL3wo8q+LzIDw5>l4070({I3La5jwyjoiv<`gIt`U zgeQh}kZDrB)HrV_nqY_FETsb`kK_!ZV{DwH^N9#bj&Ba#vPXU*WqHsZY!<}UMGC=; z64sbAHzEh}@OoJm%nlCsNRHqqqm1)p4~XF8l&>hnI4b_Jh4f8kB@c)RtSA1F&Iehz zKvAh}Brn29grmEP?=EawM$1!iNFComw4V2*LO)R*o17r(CVq}k?G-e%MI}`_(v&Wm zOc-=YY-BK$IS^0DD^%zx>o>xY7Ej*?uh0?6n7i8-8(>i-eA}W0`5ZCoDE>bp6vi3= zDQPdtWGBUzT$P+oC6ZEw>XJHJ)=yEBIA=LBIHpzA$?d{XDZkW8co4;rW+xo?x<*|c z#p_C6@-dTUqMXR39m{~z$R@^sZD#Tn zNiCiR8n28sOYYoMF_)Nkm@}P5nj23DvAV3vPF%N`Md>)Sr!h+-f)Mua&1oJns|fu< z;19zwm<(u?SdIxhu)o2okVQR)%Qjp#noNU^A{_}?=DN{cC#P#pK~@YiAuYL|AI+_2 zhl1HA*DZJ|B3t5c8ka?zqKYJvXi0Ilv5Z-AwTaZ1FRWqpQ%*XDb~U|a#23@KA}RIL z@{!n=TH<=NCa=%d;8ux0pbd9uQ?o3s4aI48qQnYeL8&>iSx$44<__WtOk)%2uE1ct zD{%VNv|41X+O5{`C9l!k8dih6a0jX%>q|>E&A}i;IBki1f0u-*PJG09fz2Qn-1x67 zS*OQ1ny?-a5?as(`J0L8DrsJk|0}WknVJ56E39s!40~Me=sU#mgBkpM$;{@U(X4-{ zQP0>{3Ahb?Pwh~rXwnX_+G^BLzk{yu-;C{_ z``YaHGcyzj!uPV|=Wvc(ycaFpfWPmMmh`@6EpK;vxX$^EpM%U?e&daf*8h)d7(vTL zY8CBen8`Y7yjJ(dw|iJT#r9`>3!E)>N@jNo`b%pvX8%b{o@^e zs%7@O__O}6zZ0dOAHURxed~SUi~q-!-2K=7wfq{;z9&{+?-egfeZ}L}hV-ZKZ{Pt9QTx~X z$2X+@ajht&)>H6HctcC9_4S^WOHyAqR_Cqtbst|r-FW|cpZTRXxQ8Ma(f?Xs%WpgN zUzU4YUY7b#IQy^lw0zB}ulJ)rdOdHP{%)HNK`q!cx z>dD2^`uI8I#EVD8b?5