From dcf82d9e1aa1e983ecc139eec0c6a0abad39d50c Mon Sep 17 00:00:00 2001 From: Your Name <marko.guberina@control.lth.se> Date: Wed, 11 Dec 2024 16:24:57 +0100 Subject: [PATCH] getting closer to smc_yumi_node --- python/examples/smc_yumi_challenge.py | 20 ++++++++++++------ python/ur_simple_control/.managers.py.swp | Bin 0 -> 81920 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 379 -> 379 bytes .../__pycache__/managers.cpython-310.pyc | Bin 35761 -> 35897 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 192 -> 192 bytes .../basics/__pycache__/basics.cpython-310.pyc | Bin 7100 -> 7100 bytes .../clik/__pycache__/__init__.cpython-310.pyc | Bin 188 -> 188 bytes .../dmp/__pycache__/__init__.cpython-310.pyc | Bin 186 -> 186 bytes .../dmp/__pycache__/dmp.cpython-310.pyc | Bin 9311 -> 9311 bytes python/ur_simple_control/managers.py | 11 +++++++++- .../__pycache__/__init__.cpython-310.pyc | Bin 181 -> 181 bytes .../util/__pycache__/__init__.cpython-310.pyc | Bin 167 -> 167 bytes .../__pycache__/get_model.cpython-310.pyc | Bin 7638 -> 7638 bytes .../__pycache__/logging_utils.cpython-310.pyc | Bin 4363 -> 4363 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 172 -> 172 bytes .../__pycache__/visualize.cpython-310.pyc | Bin 8744 -> 8744 bytes 16 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 python/ur_simple_control/.managers.py.swp diff --git a/python/examples/smc_yumi_challenge.py b/python/examples/smc_yumi_challenge.py index 835fb36..06ae8f7 100644 --- a/python/examples/smc_yumi_challenge.py +++ b/python/examples/smc_yumi_challenge.py @@ -22,6 +22,7 @@ def get_args(): of various kinds. Make sure you know what the goal is before you run!' parser = getClikArgs(parser) parser = get_OCP_args(parser) + parser.add_argument('--ros-namespace', type=str, default="maskinn", help="you MUST put in ros namespace you're using") argcomplete.autocomplete(parser) args = parser.parse_args() return args @@ -31,15 +32,19 @@ class ROSCommHandlerMYumi(Node): def __init__(self, args, robot_manager : RobotManager, loop_manager : ControlLoopManager): super().__init__('ROSCommHandlerHeron') - self._ns = get_rosified_name(self.get_namespace()) + # does not work + #self._ns = get_rosified_name(self.get_namespace()) + # so we pass it as an argument + self._ns = args.ros_namespace + "/" self.get_logger().info(f"### Starting dummy example under namespace {self._ns}") - self.pub_vel_base = self.create_publisher(Twist, f"{self._ns}platform/base_command", 1) + #self.pub_vel_base = self.create_publisher(Twist, f"{self._ns}platform/base_command", 1) + self.pub_vel_base = self.create_publisher(Twist, f"{self._ns}platform/command_limiter_node/base/cmd_vel_in_navigation", 1) self.pub_vel_left = self.create_publisher(JointState, f"{self._ns}platform/left_arm_command", 1) self.pub_vel_right = self.create_publisher(JointState, f"{self._ns}platform/right_arm_command", 1) robot_manager.set_publisher_vel_base(self.pub_vel_base) - robot_manager.set_publiser_vel_left(self.pub_vel_left) - robot_manager.set_publiser_vel_right(self.pub_vel_right) + robot_manager.set_publisher_vel_left(self.pub_vel_left) + robot_manager.set_publisher_vel_right(self.pub_vel_right) self.robot_manager = robot_manager self.loop_manager = loop_manager @@ -57,6 +62,7 @@ class ROSCommHandlerMYumi(Node): self.sub_base_odom = self.create_subscription(Odometry, f"{self._ns}platform/odometry", self.callback_base_odom, qos_prof) # self.sub_amcl = self.create_subscription(PoseWithCovarianceStamped, '/amcl_pose', self.pose_callback, qos_prof) self.sub_arms_state = self.create_subscription(JointState, f"{self._ns}platform/joint_states", self.callback_arms_state, qos_prof) + self.names_left = {f"{self._ns}_yumi_robl_joint_{i+1}": i for i in range(7)} self.state_left = JointState(name=list(sorted(self.names_left.keys())), position=[0] * 7, @@ -149,9 +155,9 @@ def main(args=None): if robot.robot_name == "yumi": goal.rotation = np.eye(3) goal_transform = pin.SE3.Identity() -# goal_transform.translation[1] = 0.1 -# goal_left = goal_transform.act(goal) -# goal_left = goal_transform.inverse().act(goal) + goal_transform.translation[1] = 0.1 + goal_left = goal_transform.act(goal) + goal_left = goal_transform.inverse().act(goal) # goal = (goal_left, goal_right) #loop_manager = CrocoIKMPC(args, robot, goal, run=False) loop_manager = moveLDualArm(args, robot, goal, goal_transform, run=False) diff --git a/python/ur_simple_control/.managers.py.swp b/python/ur_simple_control/.managers.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..d0587e1010aa996ade5bcbe92c010aa75a4c6838 GIT binary patch literal 81920 zcmYc?2=nw+u+TGNU|?VnU|@(_8JS*em&8!P!N8E7UtEx%l2`<i!iRGci?cKH^6)7E z%hkaQ)GsZHFV4&@$VrV)&d)0;%Fod+s4U6I&%+{-o0ylFo?29_S5OHyWRw^Ufzc2k zJp@Wi(sV6&8H|k#4M3Wel@t|(g+f8hQ9K#~qaiRF0;3@?8UmvsFd71*Aut*OqaiRt zLZGBTh@qZ=fq@C?-v}tph(@zP`QXk20|P@Oln+zK4&_@x=}ssOljnf)1EBO_C=HY6 zgz|l%v@lcxN-=Oj#e<=A0#pJ@F>pi0J)!hws05T^;DL(6%>M(GfKm*+P<cNn?FkJK zm^>d;JP1lpN0aA=iu*(9muT|BP;pp~%Yqpq05hKj!ex+$(!FT%tWa@S_^w8i7l6tK zLg~9`@`6xtA1JK{wGd{%5L6r{Uxg+QHI6|Is_qz?JXCm;8V!Nb5Eu=C(GVC7fzc2c z4S~@R7!85Z5Eu=C(GVD<A&{8D0PZ`tgF1o&3=FXT{|kNwhE4no40Zer48i;i3_Sb{ z3}5&d7#{L5FkIzhU|7z_z);D@z!1vEz`(@Ez;KY4fnh5z1H*D&1_oYU28Q=M3=ADS z3=BRz3=BLx3=9Xk85laa85pv;85n}N85qpD85k6~85o$k85q8DF))1LVqmzy#lWzY zi-BQ27Xw2j7Xw2W7Xw2m7Xw2e7XyPc7XyPa7X!mfP6mcWoD2*JoD2-&oD2--IT#q) zIT#o`IT#pJIT#qOvNJGjU}s=h&(6S5z|O$n#?HX-myLm86&nLXE*k@bIvWGSXI2J= zPpk|KA6Xd~9<wqqTxDfon8M1ykig2o5YNiM;K$0qV8zP7@Rx;w;VcUS!+aJ7hC&tw zhFlf~h8z|KhCmhu22U0S23-~g1_2fZhWE@23_F<_82XtR7*d%T7-E?j7{r(v7+y0m zFf3<cU?^l_V6bLlU|?lpV7SJ}zyJ#CHc)sY(u4vM$Vkm8uvIG0$V|>qD9TUDFHxw> zFI6u}RVXUW%gfA5SI93?D9+3+%}FfD%u83&QAkNmODxSPu~jN9GEG&|QHWsxnO2Zk zRGeC*mza_gpIDS$nwy$eqM@#<3pP<*N1>#$Al0_GqzI;5nN$F_L|H*0JvA@2C^1I? zW=XM?LUMjyUTShlW`3TILP1V`3CNuasU^t@3d#^&WZ4Ds6bPr~7v(0Fl%y8LC+8#< z7uzNlrGx#d=Lq$t3nV;>JyLTD++d0|!8U{RgK#i-^@)OSVqRteC?NBT6r3R|QP9Fq z!4~8(RPzJCA*+#+TAW;zSpf2;tx`~Fo<ebcZfZ#eD2B>2OERF*proV(w^>)AAh9Sh zH?<_Ss8}H_zeqtNIX|}`Co?gxL^C(PEY*i-m0n0HQ;UmJ^GY(2qd-BUs5DO@Gf$x? zH8BU2UNZAQNd^)IMX4pFMR~;vi6GY$rxt;tt0XZKl(ekC#_Hk#V9E5<5@`6k!t8Y{ zN-qY>f&7}1nx>GRTH>3TmzkTG<5-jq4J}P81_qG4TWKCRWk3R;B)_PzG!^WEqWqkk z)D%dHFIGsc$Sf|=V+hGeElO3$ELKPad8Z_`C@nELRiPvw<oJxr;>_e?kiQ@?sK=0) zm!gndl$uzQs*s$KnUkUbP9Uies|pf}N-~p6a}tZ7cIYuUmzF5xmzF4$WTZmGbc+j8 zlQYvYlR-gKQVf>NPXo(C*CD}-)M3C9NDMjodFcuzsYSU8Wtqj9`FRXrC*|kmR4SCE z=Hw@5mQ?COS3JS}s*nZ`5vZqK%TkLfAqgq7SRph>0q!bL&Mz$}$S*1>Rw&5K%TG?u z$jny&n-41y^7GJ~#*kcERFs-mqEK9tSdz-X0FEgIg_4ZK5{0bN;u3|Fe1+7C#N?8k zN`-QeU}b)(LV02yI9PH)VV#l>)dNbh;IIOvDsVxf01EQ5#G=gnQg}>c=I0eFfO9}` zW?p&@D0Xvm6Z29aX+&2cBQqrx9HfbPdHI!~?2?(Lo0?OcTC9+trjU}EmX->3uVa8` zu|iR5VQFSjYKj8b3AzdyiDjt@i8(o717H>-<*K~YM36`Fi_#PGGOJQkzz)pJQ^?Ot zRY*?FD*=^MIr+(npj-<zGATbZC$&hSAP1ao@>5b35{vRn^HRW8Kx0cGCqKVH0a7M| zQe#eeVr4N{L2+VkDkzyM6y#^-m4JLul95`RssK$d#h}DnlCO}Fn3s~1YQ+$eky)&e zmI)4(JW#F!<wHnNLUn*$oCwPj5R0KwdJGID`Cwa<Qj1}BDI}JbWaJmA7b_$tW#(j- zRDyGjLRw~CVva&eYH?<Io<ed)er9rNu|i@I$YG%1&sRuHPR`HG%})XO8scPd`IVUq ziid)Nd{E>mq~|B*6f=Y*7Nw__D3lh1$}Nx?uuw_OOV7+p1+C6wNX|&iOHTzwd`=D| zmO!}_WCz5G%o0#iD#=LAEJCE`f};Ga)MQ9L2OAFxt<;Kw)Z~)X6p;F&)I>-Wmgc3T z78RF(k{c)mf(pDMP|8Y4O-d|IRY*!rPAn}>Wymi}Ey}4>02iyN6$*(-#U(|F(DDYP zHzTnOl;A){B!gqR7!=USnZ>CJiNy*9`NhSVNja%{49E%~D-}`X6+H96B?P2A(NQP? z#cDxn5hOxE9xuz!Ov%hkXMoq)dEj^hm&f4f)>8<{NL46KP0r6tfkjh6QD$CpW<d_P z!~-XqvQ$uvr{^oA73JqDAW}tQPI`V(W=Te_LO#eP1*t`#&;q#{lpaBT0<Ef4Kqvzz z(X`AWP=1G`34~?f5-zh?Aty7bD6yy#6bB{w3b~*XJhKXtRZB8+Qx)=3Q&Un?&<j2W zSOXw0za+I7T*iYl7TCq<sh~Qss4_mcIK5aQGZ$2JDdZNXD==iHLAg1ZNqVIvnK^oC znRzMkprTGgy(l@Spi*7aiUFzvLcvrrC@X~cyZBovB&MV&<mMNF;|}ULWvHnNMft@F z#U-U_X$qNX@CFn(Q8U0yEyzsH&PineI}}_9=jZ3Z9SN>35_2H3`EcR%)RKbC6o@FO z2?dw%%g;*<sVsmRS6m5~NUcbY&&*59huNA~lnzOrC8;{_wgrPSoCykkSX&B|$iVp! z>_%|(g0etjQ3@=wAR1u?g7xMpq*j!q7J;&VL1J=tVtOjH;DS_*#R?^fNzfbuDg{B! zgyM|U9H>`wOLIyx3ySiSQ;WeiLxNr*03xEJ5LlX8nyRDVlb@WeqfnfYSd^L)pPQPS zUsMSR6pW?4kjTx+PfyRxOOFS|G(2d0^3#1G%X@L@Ez2w}P0Y!xO4Wn2U=a*zSh^ME z=elGjm*{{SIw6_4sR5woW@?cRsQiUB?ZRM&6hW*>2DLPxg#y%jDXE2}(5S=Vf%Mdp z_}u)I)Et=oZ~+~KjMSq1y!ga|f};G2%v^BYf>qGPMF-S2axcm(C`c{JNi8l84KhvD zQOM0KLe~v4y|Oen6JjSU?SKmN#2gqeIllmZpr=DDD%Q)-i-#0CCFS{P=`bIJg!{X> zLxKdCr(p(wb!QgpLFss?$uN_GK;4wgLa4_eMi!N%q{e6F!<B@%xO)0~=0V$VNNS2w zlT$OxQjrw~L4>fWhE+Y#hzkmFafP<r5vrkbph624R(Ykl1(l#OJg)#IglIs4ivG+z zP*%!Ifz(~8iOCtDB$Sw*S_H}<i3-K3pjJjnD!B57miU>)py&kmZi+HfK$Ss$X)%Mc zLP2Q>xQzm>wu==q^FVb1%s^0kG$$psNC#e!<tAps{12+0@-mZCiy%#?`1s7c%#!$c zy@E=x%^>4Jg`YxEYF=V4q$yNTlvxI<#X-%X#H5_mVo+UBT#{H+0x?59UY$W%As{lu z!{0C7G05H7-#5U=HN-XE-<tu{|9`>3z%Yjsvi=`7zk7n8fuWh7fx(WSf#D|~1H(N& z28K(}et#|>1A`ME1A`bJ1H)@x28LI>3=Eff85q{_GB7mpGB7ytGBC*UGBCX3VPII# z!@$tM!@v;8!@v;0!@yv`!@$7J!@%&0n}Oj3Hv>ZxHv>a7Hv_{rE(V4}(Efin7Xw2I z7XyPD7Xt%37X!lsP6md#oDet82DuZ_ZysfhhQMeDjE2By2#kinXb6mk!0-wI&`32h z26fp>G}4r+i&Jyb^olc6QsbdLH9b&cuol$)O979V<bVcFDwQAuzAz&)(-goO6N}P| z^-@xkO4H-PCKf}6eL>1nE0R+SN)#MRN{TX*N=s5*i;D7#5YiweAPm-~k){M1>deeb z1P#{Uauexp09gQbCyEE*R%swSRZ>)m>Nc=8(6ClwUP^o+sHdt|P+Ah7mtUTkS)!qo zl$utQnu_KkkaaNsWGW=)f?Dt3COt$osP&J_Z|b1YBk<U!0@yN0yF0%?A+rR{5+Z^= zGfhDQ?*90c%p%APih`o8g0UueP!N~2p(d74D9*@@PtHxzE6vNv%*#d!G?0J6_P|sm z=j0csA}N5m6%>w0?y$90FoxIz8sdjX2XtTn>^9ICKgf6xhRiZ3fcmI<DXFOiAO={G z9%!7kxFkL$u_O@@l^`upSAmBVK$e3dF(*GcTdycJCp8hpjd0~ihAG%8Kt^=*a`F>X ziXoPPJPEQ%FR3(*NZS&V!9&iZgb2tvFbwtus<XgCAXh-sB&c%_O_Qi@%1l$p%P)cC zQY7`MxdkPa8c4B>BZ@#t1rbG{nVQ6sL~uAD#|+pt(2*Mg!Hh*|v{kHvEok@%G^8JG z6$>8g1Nj|`+IVp6VTNa7adB!<3Cs|^;*7+CR0UgGh`&)?29bnY0@Vo`c>~Rzf!v@8 z(wSGFmzR=QRFqf=R|=YJ0=Wx>OY#*`Kyw!0Sqac!tsY!iN<L_G5InXC%Dx5pIXR^z zsR|j1IccE5eDHt=v>y+eNCVA~q?V-?DS##{;D&&PmO;}dDfxNoC6EyW@IZZLUbaGF z5@?DkvjkL-fJX3O0~p{Lg}nSCxFH}(P=J9(06+$o=D~R20oqjPXqy6Lv`rx+v7jI| zuNXA=lnR+00r@mDuebzM1LUWH=6jN}L57tUDCC1C!}7sJ6=*a<ArVqw>4E$I7daUi zGC>RM1sLG#&u{TFFs$NdU?}BhU@+%rV0h2Rz_5~!fnfz7149EJ1A{Lg1A{pq1A{0Z z1H%Vi28L6-3=Fe)85mM|85q=g85r*KFfh#IVPKfS!@!Wv!@!`<!@%&Ln}J~yHv_{0 zZU%-rZUzQJZUzPeZUzP}ZU%-8Tnr48xFGHT_4_5c7#JkD7#PI47#RL=GBDicWMJ6B z$-v;m$-tn`$-wZGgMr~F2Lr=)4hDui4hDu?4hDum4h9AT4h9BJ4hDwl><kPo><kQ6 z><kQ&><kRt><kQt*cccNvN14JvN13ivN15cWMyD@!OFmJjFo|57b^q9d{zdA7FGrZ z4ORw*>nscmQ&<=nGFTWGG*}oI9x^j9Ol4+ZaAIa)c*n%Ru!f0&VF42ZLpKuxLopKr zLo5>mgESKZ!$n30hJ}m_46ywPpf~|xNDZSDnO~}qoCunZ%Bh4-gH(bi21<$&^NK+; z`uTYZMVaXtB?@`@<$6f9NJxBne5wL8kATVsy?o!aXmF-WO^r_jO)JM|rXaFoL1vy_ zX#r?<#|<PGkdv643SI*M)&d^M)PZC;kYP|Jl1Yey31m`Qeo=X1QHpnFUMgsOGZ|XC zVj7cIpa;%|8ikq&6O=(q6f*Nt!P80b^j-+_O?qlcAW~@yc3?c3AaZWbgv_NRgC>5U zOCw;T!<l*MprPOF)MACae1+oFyy8@a{F02+qVmk*R79pv0uRs?L$ZEKK6JVhG)q^O zs*sdllA(|fp4TtdQ^-#$15Iw`RDz2M&`eBz5je(*b233wQgH8NmZ%p)CR9sOD?qs& zGztisG0n>_hs{qZfEAVGmn7!oR4SAfgGTFgAezACerZ8!Q4+$L;DJ8S%p0g^fOru! z)s&YGc1ucT3aCuUEK62^&Z9ww`=Aa}NX#kDN0<dlgdlH&iYbr`Xyg)9;FV>jmV;Xt ziFt`RmC)%P(0m1Gkws>Ho&tE%2<}UeF`xoep*#^1B5C<Wpc(lL&^%FQ9=N<oN=*Yz z%77f5n-7|A(?OI^ApN<Cd8Ob0$jk$UQD%ukc}8j;Y<UZ+lQZ)m@evxNP?B7r08Zy% z=YorJq#<0`$ZbhRYA(V$U0pi`@LVa#x!@T!&@?PK{y<ZkpawIjpiYHOD3^kkLzIKp z9DrO8ALWKjU4z{2=O5x~1&V}Xg~a0G(%e*q_~Me(0)>o3P>L&2NJ>r3Q%Ft(FJ*vE zN<tzXv>*d1V4$^tPkw#@JZv#n6u_lYQqwZ?Qr+_ta{@rq%+5ZZa4A^M0JX|6mBDL& zQkUG|P|u(Y3I*&KG`EvkQi-&n0lPW{&^jO-=94N6Th0Kn30lg6@)CG~52(OPO;M;! zEzwaZ&Ih%vz{_($<M#QWnh~5LK-H)sQb`M{*&(ech@lFQViKAd^sqFSH9!`Ei!E^1 z3b7Oe+HOach9}y1(83L*RvpMXNV6Fpxga4BhI$N?c~de|K#h#z)ST4h5`{zssJj$2 z^77&AOvu^<=)y42EFxspktQS*AnHH?04kp<^GlI@53((ja7PiQ1ZI0?u>xoY6cTQr zqzDcs=!6hF5rPbdVW^itVMDXH$}dRGL#kOoT`Z7&qfwQgmx_ogP$;3t6iNz2;eZ1V zRCj~g1(|szsp&<DC8^*j)<bR&6zV7xrhvMj3R<uzhtaUa1I{g|*#Y7zm_o2!W$_@} zAZDSs1R|thtB_Zqmz<MXpi!8jqo8Z3pasdWV8`ge)?N8z=4OIQ0no?^78yii1?D(# z%Re48t^(>{D1jzpm8?*U8;~=>P6RoSgx~<{Nhv|t2{H(T!4f$Ai&-$i^?)Z^p>>L0 zaY1ToikAi?c%Uu2#N_1EoYW%d+%(u8bO#`JKJi5g#9Z9Lo>&nNiU_bBxnK^$qc{Q= zT8e;X#7jYISkb~+8Eh7@feed(bpI(sDq>Ipkepux8eY*+0JVs~Z8GpO5~wg}ZCoCx zvQPjwph3%cKmiTI$_nZE`QX(_*{P`o@TMJ1EvQXVoReRUXm_F{TCi6NN|SOji!)M- z;>%KV;z28z^q@i-$+;<@#WIK>16ivKEi55@$&!2psA?r01+40!f_jO0>7WIVdQ}Rx z3WX`rMzJVPfvL*L%u7uy(yM?dGQg@x!4|Y^M=zv2v$zDQL<KpnFeTa$G$vqxVz{zG zr7mI+D-+T>f-SHDty%&vnt*G;kuY*Ii;D7#(evGCdZ1c*0L}m3Vqsvo2ijmRz`$Sy z9YNpB&%m&dpMjx)pMfEkpMk-OpMimspMl{99|OZuJ_d#*d<+cJ`4||c@i8z=<zrx| z;$vWl<YQnk;$vVqz{|j}mY0DcnU{gVnU{gVl$U|w4G#muYaRxM^E?a;>v$L#+Ibil zM0pq(n0Oc%c5pK=Oy_1`=;UT#aNuTOu;*rA_|C<^u%3&7A)SkXA&rZH!G()~!Geo{ zL6(bwfr*QOVHqa_LntQ$gAgYJ!!r&BhGiTK4DlQc48j}?3<ua57;@Md7_`_K806R) z7&zG(7(TKwFx+NiV3^6qz~Iluz#z{C^)uAJqts{!jE2By2n??f09DT*46QCkM;~+G z4GvIi65JL;8)yWJjgCGlD1g^kLq-WRQbGG!N)ti5E<mFO&|!$t(MQ-09ME(PcxTG! z=p)J?C3sW-H1|mAupSQeqoa@DVKt-<*yxZJXz$DD=p(3>2VrPU4=tgG!ay<M(MNcl z4e}regX?JM5D0V(1w3a88u9`&P)AR2Xvs-UD*@>M(L`wgjnjZMfM`q&g(>l1yCI_} zh6YGWBR~!S;lh-7kYx}R##V-CLoHAxAmbrQtc+2|V(<(Af|@hrj6j0=|2Yf{3?88U z=mHE32G9oZ3VsHLaDD~`Zhi)aTYL-*ZP5Nb3m*f+23`h+T3!YQJ6;Bc7d#9MWjqWF zQlPc|+zbq1+zbr2xfmE$aWOC?b1^Uob1^U+<z!$;f$rD8#KFMO&%wYD&cVR&mz{y( z7&`+)7dr!kJ39jdA87AB8v}zav~RwRm4Ts-m4QK$m4RV93j;$X3j>2Y3j@O)W(I}| zW(EdzW(I~UObiUOnHU&+m>3wCm>3wU7$JUf2l)r;7kW^jxC8GJ$J}vWoLH6$8VbX* z=^msD9fMYwfaiA$5{tn*IiTBHKvRX#-BNlA$r-81*^m)N#Ow}eUrCWdF=UG)Wb7@! zs1iI|nv<Wdke8U7s)ux3fLmftaVly$h8;bS3YszpJE9!C5jY=YDrkl`RRLrYbUjK@ zX`Y@!W(ioX7`ojZUl`=%r>pBIK(=EdcI`Xm=jWs*=J|ss+!J#g!5gz+rxL&d2jVbr z;RfDjuK-@Yr~sO$#_l5=?f`4k1)Eb$u3KPk0@0wQK!~l{ph<`V$i`Lh964yyab9U| zQfd)$xEtu1qJ}!iAO!^lCsze$#~@d?P#=YG&kzrV5D(8_J@70(Xe=5O`iUh9<wcpr zB??)fN#J7eN|N+^&@8^0o{@z@QDO>YL>oMT4LJn@YPJF-0Ksz_pk)dm{je?RnW@DJ z(M5?V`o*z&3dPBZpdIp{?Y||UO<BqLd7xdlC7@Lm6$-|Bh9)}T1O=N~G|)5E!yomz zi50qqDX_$!mXn`Yf*!k2M}n3+SV5CEI2V8eF*h|auNWzk4fKpj2tLp>erXZppazAM z{A7h<$j0qV@WyQQ9MD>+#0t=sZlnnkbv=TCR}9)e4WCgV6mEuk=IFs@Od!~hCv1ob zJV+Qqqs10W-UcfuODzJeJ4sC|%>hSaa(-S}YF;MjcmU)z7_dVXK<huCix!YJGJ`fT z!;i@T8>^rIO<<X6puNYS!#`lz0D7_lc!wr*OFi^Ff`WX|uIs!Mh2qo_P%)ASnY0G& zcLN<}0hR{MPlKWmoN)1ln3Aq8c*mPAXs4_$^vDBUkQqv37CA7FVa=9E>CsTn0Bd># zWlQjmdhn8iq|}mf(9#eCaIhQdC>ZFODkN2c7Dj>2Zh>YYn4OT^nw(ewIhI1b7_?R_ zH3hQ12NWLQDLw_rN*}0R93>uDr7lDzYC6J}#&Z)ZGIL9FLAw|8%R#G?6f#SovxW+g zl1xD(vjntMr&uAeM8VX+z@thNIWP=B01_TJ90V#4;D&+<VbEeu+sr(8si3T23jubZ zt=r()IZz5I$yYD{E!=@D{sOI@EC#s)R0n{POlnT00_gY+aAOg&NF}vG54_?Gbc_dR zEjegCXL){6c5wmd5E0Od9q?)$P(7QP0$SV&k1ixbG9kx*fHO)_dTL&BszORWczGFU zp(kkV2xu525wrohI6n^@WQn=?rO=}wGILXPpoZDn+9{y=9aI%U7D9nGuY>FQq*TyJ zCy>Qwdf=K4w28GCwJL_3{R2{&qL5mVSpu~HQhb89l0s*KL4gF@bP5eCg+$P1@SIeI zkfKshWu9LEPLM^Zpz~+I>zcr(!4e`e4J%ue^78XQ#|%Lam9ULg2MMU_D5!&TX=Wja znV$#dsK-Lm0?Zsp!iG-wf_w!!*QgY{(H!^s6;J|$Bvu?r3ThrKc_W=_glcbj24=$s zJZuAscu)-H=z@Y<AvduEw7WbfGf5%6D6t@;SV04H902%ylAQeX_>|0K@S#kgbq1-) zB_Q{~0tXbV5HI6!E2!`U+oB7y0<_V9+;#{gEV20svQ!Xuc0(@GAxEHrDnu3luc6CL zEzU?zEJ4b|1pNRvUl+-2%De$xh7E3RBGylV%Fx7Og|x)t642gl*z~czf(ASo70NQJ z6pB)FK&_bkJj@aasV2k`BOudt5q47Mk2KJMHK}>Ym7u}~R8m8;BKRB^q%bx$fYur~ z9F<&Bl%oqW43?;o3P{3<8how~d~FV-+JG<VKyn4an1*Z81+7&hH)voEhGh~ZLrWt) zLo*9KLp?(SBecb5kYo)hJ&F}F3qYrQ6r~myD`<e60A8q{ngXgBkXj_5fCi-qNOcLy zk9f-qu;IFy1+cIM7Z@nz9>fvIc?)#x4a`Q6b)aLJAO&%L5mJZ}PHvQ^G(^D*S}X%9 zZNY0P;EbYtP_?QKEfrylYCzJE<rE+mXgL$8a0d1N9T*rGTtNM0r1}4Beg+0#eg+0< zeg=kaJ_d$NJ_ZH}J_d$jUIqqBUIvDjJPZuWc^DXyc^DY9co-P|ax*Yo;AUW0%+0`% zz|Fw$fs28m5jto8ij#q%my>}ZpOb+>20C9qnS+7B9C~J-3I_v&GIZTOBL@S+D|QBk zOY95`CD8Nx{;)AHtYu?hsAXed@L*$L;9_H7xW&rAu$7g8VGAn*!wgmi1|1Neg@M73 z1#%|eHf9EfGG+z_X=Vn7BTNhoIZO-;*-Q)!woD8RR~Z=?Rxm>R><scZg#!ez<PD;A zp}pZu$O#acc?yXNpz0zsKM!=YPJWsKbe~GGf(EGBk_kTDBn7;SLle|UhMdh-0y>B* zF|8!ENFfnabE70q1%*U~;#}|{Sed!0y5*U9Df#8FL#r}NP!~|^f|}OwEeA=d(37Yj zHo_M#fl@SbNu`ik0vcq494(fdSOhvd3cQa6q_ChU6?Ed9KG;z{kb_+mK)VPOG(hcj z@IvxpP?st%1%CV=Xc7PvJ}|5cs{Fy38C1p>6y=wJP6dO8h(cLnPATLVi-LUc`Fx<> zZ>j?LlopVBa8q9)F|V>bu@c?8#hIWs8o2A2S*!rLS5gPXwscU(HaArP)3(gKG|)*( zl?AEA=*Ge}9cXJSWaj38w^BeC(}7!Dpm2e#9xuu)0lPM{NFl#GPocP^s5H3*rFDsJ zG-#1JsPP6~jRrO?F%Pu59JEIY6rdopvr{X<EpE_8I7ovJ5t5+2MUcJ|$OY=4L(_^u z9eBubV4&~<8(Lgi1a?>@sLcflanNKQY|$Gi0?}OtYA%45=V#{RD1hq}P}@NPG(edG zTEc~tutDxa*9~sEqa=TjZ*ucfKx@)6ODaL#n#Al>9i&v4Sq$G;07|o<p)>HIbf9q- za2$df2;g)F^S%Q3AVqNd733RGSb=veD5OFn3EaE|Z<PX_$EA>{kOOK=fI2am(Cr$D z3ZNa5sh}g3ic1v02aSRH844MoRet%P4sB^sajGUE-+>z-X^=FEJ#)kM13;27bd7dy zelch#9K0J2KC%$9fgv~}zo-OqoFFK2KqX6NUOIGbq)Tc^VrEV;C>p?N9aKMo5_X<K zQff|qImERd;8W*{6^cP7>4NrbLh>nej1UyP(1V#E>OqHcfx0!Ilj0yph8F86B!Ld6 z0Z(jZ=0TbgX`mAeL5F4Ofttmci8&D6ki8M0sRxilz?}(jK!W!o>*gk=fDUW}U-t@b z4M8;JWM+fTq^pQW^a*vqQ4Vow33TW&wIms$-V?OVCJ}NBBRt_`mMDPMVuBVK=7EM< zQ$eR0!cJP$1$BdTi&8;*GE<O7OTo#=GY>k7TAp8&Qmg}6A__`GN%{HNx*$VAsS4>p zz{KPd&_p<LVF__qNj`Y8JW-*%2$bB4U<ESBFih3KIiO8mIh6`&iFwJHpyLON^3#hF zb8|t~X@I(<AVwm5F9oRi3qKVM6mO7D6Glux`W~1&Np!)!#T-fo3xl?hK++wi0?>j$ zP+o&<OaKL6aVlibBBYZIl2ZU3Cz*;oXawDHQB+i^V5P61rvO`d0`6^r+i`}Vq*0uz zkd~8}UX0lCrVjA{*zBT2(7Akm`6Zs9tAZhWIlvpzHPl@)Qxrf8dDAk}L8TgKhh;{7 zIjE=u?I;2TIkfcy>YPK`g36$&Qt*m%n3STe0;Des*`@)OL$uByE72iG%_)EjP;fp2 zmw=#-6Ua_b;~f-F8u>*KC7C7gLj=K&0i6`9P*R?+0P0s3L;MB}F$e`~5*uS5MFQ>9 z%uLQ!NXx7Mtt&3cSEx!Y$_EY4fQmiPk&d7iMSf8(B-cao96X(rWE7<qXXNLk=qW)) zAs}|b2J6ZpNBV&rnvz*ul$xGc1PWD9pqJ!>#_`Hhi_$^0ZgByqPD{(oDM>BL%uB~N z4yUfG3qCloG*>qzwInsU1T-R|3*IEAo0ngd3u|&?9S4R5hLN5H==`*t0$X)ZRDyMb zj)w#<x`r4Fa$ZSda*2Wl=rlL*VXK;;xCW^Q4P}Jpm1O3CQZq;mIG1GR=Rp$}EEJSs z_8ICK)6zarD#3CRGpJBVOfG?jQ)XT|B$%*<5RUZ_7{cJ}tgN7rnpc)tl%EI6GoZuA zQlW=ng0e4UCr~kH4;CmOFpR(<05%z<0fb=zr*5ccpbiT<P=17zjyaX_rNyALS4(oC zL5?Q~z~}xJfll5{P0<BSKV;^Cris9#f+(p(Ss^#EGAR|_3;?BDka}>V2Am#>@^cg* zN8~AJfErX*3V!|}3LdUOuBbT=(z^o{7`cggm5{tyl3D;B-zfk!55Uzes3HS3H^BBJ zmVt)6VE%?q;Nb8T$OvewT(>y0Dis!^IJ@wW6DlFQP{A7!ic0gqjsc}+@PVG7xjX2g zbCAJ7g>q1vEU~mCAG{wIyqz+!802}-0AgldN@@kj-H8f$spX&!gn~wCF?iG;)C2>2 z50q~pM@(oU&rT8Uz=93e1v!!2@c>vbs)MTJ;*$8HQuM3|i6M}$LDhspc}9K?`22Hy z(BZH}nc#G-0hZ2B15ZhUj?~rE1Jwzj<d6v3f18q80V<pG(?I?QPxrus3*0D#wDdsj zQ`m{au!0j59*{}{M+_I0=IMfLhs7*-00E){ls!Ng?nga+P;f)@0Z0afA^s~!EXe@H z5@g3ID7_VzfOgJS=9d<Md{wLmpC8C9R)81;nc)MEN+*^mAZB?%gVLbo9;u*%vq4EE zHBUjmB)0%;JE-n}oc;+tO}97|R3|9JfcO8KF)%Pp0`-Fh7#Lvp^R47(U<l=BVED|( zz%YZ4fgz2Lfq|2cf#Df11H)5Z28OG=3=GqG85mNa>-?j685p8?85r1jA#40M^Dr<p z@-Q%j@h~vxL(luW$j!j8lbeBIE;j>%4>tqDJ1z!>nOqDEWn2slK3oh89H2V@pyLGo zpmY8>85sU^Ffg3pU|^WY!N8Ef!N9=5!NBmAoq^#3I|IWSb_Ryk><kP|><kP#><kRr z&^7<u><kS5LFfFlF)%!5V_-PK#=tO*je)_1je$Xyje$Xsje+43D+9xNRtAP_Rt5$k zRtARMEDQ{@SQr>)vM?}|urM%avM?|lVP;^M!_2@?#mvAEz|6p4!py+%nTdhn6%zx) zWhMrOZA=UdWlRhVK}-w`rc97a6xT9B!g3-gJjohY03{D(3~mY~6{RL-qZGj)C15E? zE6F>x64EqM0wp8Rd;%z8L3(+hasG7BL{2VbBB7utKR2^DH3fOoE66wy2DOs1Q!7Ck z2~?ee1_AV7L*9CzP9E|xB%rbcq&PDVlv+V8_*_V<31(7GY94qAAlwK|1v>=;BsGvl zrr-u4%*~Lc4dAv`eqM4a=mvpeh15JqBOoaibnrhsAe5oA#o*x*kjIk~^N=J#YZX96 zC@2HMh2ad4Bf<UymDk|oXri-ID`WLQt@peX4QSa^k{=K1g@VWY!Sbk8i85$-5?siF z4i`t9K7z~eg8Tx|5+I}%d?1y|3g8ZGD(IXJ(8=DYW+4Z2Vo7RoNj$QnkV8`=6Lic; z4(Lb;$OLx^XbA#1cp+g4s-r=DX-K69-V_ZwXg(XX10S^JLmyNrf<qJ3{RYiOfex}x zO+k1X(jc}1Ekq~*O+mp1DnPs8L5)Ljc@0V^3ZNb-Xc}L=7_uuKmh9jWpbXhxm#P4Y z00mGx090N>hO-bGEx}O)KFu7Iz#uyq6>JqU;l_aThFeZzx{d;tIMabAP1tc0pmtYL zehz3ojYcMPdnCvO;3R<T(PGe9>xqz=9@LXvQc{z1K;8rQiu3anl5@aQ=-^34NM#Nh zV*v#=q?-m(2X`+d1R?zeQ0j!$I^YRFB*!UamxH<_prIpBFoL2DZU#6|z{A+_xsVf- z^}y#4Af+p1P~*qd3fxx!O-g`I(Jv@U)dd|EU0MPjyaM&}QAY&fHh}tspri@H;LMm= ztN>0;WtoZKIEDv1Tnl)-2jn9pPryc_@`^JN!%<+ZpdozFC~0y=W@;H|L?6_#2OY|Q zH1q~Or~-0yKG;s^6m)(Xs5FBl1tire;BFQu4VC1B>U{VNHKc<M@`<i4q$3Ps7nLH) z3Yc#}JJ*X!^WyXKQo*SWTzcs!WP*k-;r;|^21fvR1~0V;76l5nuw$~J>$EgL@dp~z zP0T?#n;KN0W|pMp>L@@bfj}n0c0hvk=z%6P;z51Jc(5IaVIPo65C+>1G6ysU2QHTs zY!#vr%LS3kjQn(vUyzDs6wL~@3e~l6zbQk;`HD00K_@boq~?N-3o6M+9wGzHhE|qj z<mV~mWEPhcgS%ZISAd7OL8D+A8HvRiy19u3NF82fg>uluIjDtFP?QSGKcLnzXoRU0 z)LsK0T!iEh=vj2I#0SYupoEeKP7BaP1|CX6^lp_wqY#;(B}|~ER3)gF3@!jb4g`&% zfWify*>w=53@A)N7#uWk1>k^%RS2LH%#e;UODs!`2P*`{Bv>KRi8mmlKv)@Ek%D3q z+{=Lb4kQP{pp$VRXQM&FJri_zNHKUw6jaeE6ep&E+q0m{Wk7=|1v#a~kTI&1QgCSt z9mCG70_SH$IDiZX`85+%ix+{eW&kH;J#gv*I~!8Y#)F~&?F<Ug8Tz@YDVd2Ssi0$O z;6w1B5(u<n1$1KzXaodp03F41Si(`k7BV=BR7QbZ2yH-sD_O9^K;em8sewuq$c}69 zN*eIEDbhGGxQximMRqVaIe`-iG<cvB3UC)HgU-PKS96dutFj;!yqGQtG%1jlS_Haq zL<6)pygU_DkZ0yW=Mli#K(hm&qENjAykr1$ZAyMoHq!X8GH9e0nmEAe4z$#y1bVs< z$TuJ_gU0X-K^L!p#<oC{#h@}C)VBp$2pOM+I~O%DQ8O%94m5TepQm7}fY^f#76-*P z<OU<e2{vE}%=%Q<P(c|!o(jsVkYh$t%Thse7@)JnD^n2@4`4%}IS^ElD%iq0;2<8V z!%?a!1zX4*Ev(E$RSG&T0OS{NVlIZdTn|+gRYyT)ih`{I<W>fxgazsdC+6ruC=Cdu z7wqZo=@$a6@rz6H3n0VeMUXllRP@76TL<SA9aNX<Ao~z}b3?HXQbdDNEuyUfsxLrU z5LB-~9Slxxphg3zAS)><&8buXH_V`+2rkD!3mHJCX@a%rf_R|vG(S%Pe84`mRsl8a zp>-m74ln~Wex9D03|*jA44FLe2Q}wFi=*<P69ypXKyac$K~W~?`jAS*xGUI3h%|@< zjbj$&CnY9<Qa5O%AqiZ1r-GLx!A8szD-}{eQ(T}V4LU;r+BGdv0F9A?u53yH^*i(O z5y=K*v;w&E4W9N$%So-sOv*_G&-sAv{sAA#lUbq%@d8A(f`TrzB?GGo;BzvddC>ga zRB+BIN=+%vO98D`F3!&>1zl_bbB;P>ZVYmbOEIcrbiqx=B5;2hIex)2li&s!ble+c z2gsm&g``w)tb@u`_%v)P=wcJl{4OZFBU&3E51>wTg045oOaooC1iIY~+)Rd^U<Pd{ z=7X+d0tG0v<boFLr~v}mn`Z^72%vqu6wqoykVeoPAn5Qo(28BqtpX(qut7Okc@0_^ z1X?1jsHh0;|I0EkFyw;zs{#xRzR*7FX?_NVL;MU3t^5oO_WTSC68sDdCqQfe`4|{l zq4)kt@-Z-M<7Hq7;$>j4;bma>z{9}M%frB613l~SFgF831~&tPHngt~I^S<1^lX37 zzJME?3=C^H85jyV85kls85qJj85mqR85oo~85q8CFfd%>U|?9u!N9PBgMp!kgMp!l zgMlH2gMlF$x?X^lgMr~0I|IW`b_Rw%b_NCqb_ND@b_NDfb_Ry?Yzz$TYzz!GYzz!f zq4)cRvobJ*u`)2QvobJzVPRlc%EG`<!@|Je!2;>;FJ)$6sAFbe2xn$sP-JFc5N2jz zILySrFq4UaVFnWeLmm?YLlP4MgC7$EgB244!*@mohWm^R44WAt;g<snLumM6r9kNc zf%Ec<AWI2BMUfXM-V^g6Ysta=vdj{NbkIV>642#8si`SNnPsWI`6;RJoC=w4ODrfz z1YMVf==6cwSgCpWrRf=n<^aeFaD`X|x~T(^LQ4xk=M92y+W@tjAtfYe#XxatUP>`| zvH`lQ0Cc7d?8Ht`#(+BmX|4$_2C@!XxWdIiMIp%ZpmG*T9$M6bis;f@9moN1u+kHx z9E6p@)eW*H&{<PD;1j1Hg*QkQ2!mJlYbd!ndiq!?fDXt56}H8t$;se$qY||2N3BqF z6qFEk4$@*I?7MBCHh|461~rbAbQCgCj6fe&L21~7Hy~gfy9}ClRj>gqCrm@D?G$tk z5p5xm55YkJjzw4%3Lad6^#Vby-c-=M2egM9REjnN0}TRbtplp9^+3}jdhy_+j^g8? z@@NeNL@1;92Ha@N$xp}PL~y?a(KpfqO+IIWj*5mI7>vV6P+J+j=L7OL2;-QVAW;~e zB9+0t1JIRW2q6;9!mb>%TLE%Cs5_@uoRgYb08aCeyL8}@m{Ovk3%>jg5iTH2APha2 z38D+sq|<{h%L5-F2d+@T=>jYXTF)4dn8!qG+=C2MR?vX0MaTr_l5Ef!m5{@QK!;?3 zmwG_YnFBWfA!9_KdKYxd8>pnn#BzF-GT0%Rkn?Zz@)baXQ3~Z5l?q@>K*bW=oXiph z=)QuS+{AqJ+D$<LHh7U)qL2g5oS=?KNq&B|0_e^gh04^#B2Y63GT93n>PiEzpn}IE z$d@3j3@Y@BQq@5#1E4qbW#%b>BLVD-GzEAI9}!|GreH4xK-niVuM|-jgDit#Xc3W{ zSqz#410Bc?Y8@#gRf5(DW~QYn=t6QjYA!}Ut_oxtN@l}ebRa83H&DR_oT5;3C+LDj z1zUyGycCc-K(_>;`Zo{Mpa!Q^5P{UD2HB(x2|IAc0W~&?K%<q=?O>qQs-@tiugR6k zIjNYL06gr2Vp(RI0$30<dWY&tWrzf5kO(yDglZUE4{S&eWymHIH3vb~irIqu-+E|X z0`))9d&sDj15)k*=P<N#5#Hqj)oMl1vKG1ef;J!FE=KV_C`7@gq8FB++SeI!T(bsf zkO$PcK=l<!D>!jOTm1^Aptg2mQBr0J=ng*&YoLdpB|;YDr51tK*yJlfR`!8vAJE_% zX!I1V=?$?4GWZF~Y@pdh=&gErpt#8dO+kUrqlETIK#8KDC>4BWF690_L}LSF7)px9 zR@P(R;tvib)Z`6cgbp8n(?brnYNZhH!D>nhRtgYSttNJ}A+qqK1Zp55O6A0oM7@09 z%xJ?{OwBOApt=jf1I-R1pBo7BJ36M4r_hZB@rm^lNG&oZ%1hwY#!9I971<ENY$fn% z){v+vk52{fimt^>;2?v@38X@h$yhWNA{xXXqhT2A7_b|36d-KaMs6%-q^FjE)u0uO zAhWPn6(AYnFd|g&+B+}-MKEQ6R#Smim7^sLm_BgR1fFL>84PwkBWglYh7PTP@-k!{ zV0mIOsO<n=MF=m~KxLMKs)CULD3hVgD1v8gGQn#eOLI~{-F47vTIki_praj2KqX~q zajJs9pHC#H5X095fV62qvtqfW$r;er0=T#aErfzQM;W|!7t&DE0S$G-7LI@#3ZP{v zpmGts6%RDj2j)OF4}k7SM=}MnY9%Ef)CDU6T`CJYw>lHNf&p|tH)OSEDtO!xGCGAQ zUE!vH5*s)HfocxWfCPAO8a9dz5(HHzU_niA{~t7UodxQ<3NSDPLp!e9_#x;2r}Hx~ znD8?&F!4j~|J%sNz%Y-Gfgv7x2Ot|C1H*M*28L_A3=FHG_y2kFGBC*SGB7;nVPIIw z!@!Wq!@!Wi!@%Il!@!^kItP%Ofgzonfx!rR2LJ~*1H%<A28PRA3=GS;7#Nbc7#JeC z7#M`0>j9Q?GB9LtGBBibBE|`vIT;wNIT;u<IT;v4IU!>OOE?%9k~kO`tT-4Lm^dJ3 z3$(E_Fr>0GFetGzFnnWUU|7$_z)--(z~IKlz`(}Fz;Kk6fgz2RfkB>?f#Ed^1H*b2 z28QJ<3=GRy7#Px77#OTr7#RLBGcY`0W?(oDy#t_xnSsHbnSsHGnStR26J(5FE_7VL zkcokTi;00@HzNbX6h;OHaJYiQ6cjBW49gH`^#r(3g`9N>QiX!Sa;P_iq7^^j_y!+q z3+=ywR`+Crt{{h8APN<Q<UbT4(A>C!Ep!hl$X0yrL(AJB<)E=wh=Fu>5@`1el8eA$ zfE=ozD|L$@-7I+KP*#A447j%f2@wTw&_QNHL7N#tr2=Y!1uAC1OQVoX0$no$(Fqp> zg$URkVBHYMWELpcDkvEmnd=$o8R!`*!4<<o8mt!4{Xmq5V3W}LdbSW>p^Czd1nU5q z2OT>HOMu#@Xd~MoCD5j=vO+FsDKe;_gxuks0vQtpg#mcXx;Pay3kY792EO99pa?WG z1U4Bwj{@4ajdoo$Vh1d!=L4Ohg-$Jk);5DDrJ>yh#Pm04OcER^;6V&f&n*`;WtUkD zY5l_nkaWR|Mqn!tK+ABUYpp;bQwmxdRtz4#O@;1pNi0?<2VHLriW>#!?pII=3_d_6 z8I*oYK=+zM8oA&F%Af)A)U?bBSmBxonsZZtZYl>|+yT0TxmZU*33~IY5`39<F{JYg zGG0AiU7?@|WDKNxs|yKG@XQtX(s$5>GzCbjzH>mQ^(Ll+ZiUXtfmRd6sS4%!plS@% zRL-dcMH19b1^8{RFjs=+tH9G)kW1fFQ^376&}aatlLqdLmw>P1g=~xf&#@?g&hCa7 zpbJ?%oLLOIO#(9V4;nlJc?CRJpO;#$3m#ieE6PmGO92G~Y@i*S78DTU%%HmtV7tS? z5ehO0lz<>MDd1Wf4~m@R4CoG}Vo;9_)JX?d=#XU?FpKiQCkf;!q!fWK+X5|d1+CS{ zELH&dBDDy7fjVL(K4^doG$R0-UISh41vUmUFkfB-TG|X=a0jibb5e`om;L5c!di^^ zMUV;F;*9+ARM48AOpt-F6Y)UffS@@9&`1Pq&yfOj`&JI@%t7#!DR{vt=*Ea*9R={# zhm_m`Sg3#^5ER_tr~*xM<|}08Wuz8?_V<*4BNG&cph4JzoXlj<JP|0$^3ox5d%B?I z4&XLJaS7<oZ*WookK`mOB;{x3q!tx`I(Q18i4yP`E08@D;III#-v=d3=u8jj{_wmM z(4Kh6R;pC+2nuK|DKt?bHksunBF{X5rnkUWg8GV}#0K4rri++p0<~;Fd&9t&XQY5) z1T^7^*jbqg-qHfP7aKI$3fh<rbs;4CLdj&%a;C%_Q1XCY(4qj^umRn#0oI|b0Lcg7 zBLJ*Gb7`OnHwAdX2`XB^Z935H&-um0kcp^_%pAy|4$`nThzT|lc@_>*N`uNI$j%8= zIk0k&TS5EtH8ddw7>EzT;6fTwH^7E%i$IrULldB0YF>(45z>f1QpE~sVM2zFKxH`E zNFc;fAUnV%GdMNC5`SV2=x&bU3~+IhlnULZ0=_~9>=vj~;4X(OQ-a=g0u5x?oF!;G zL^1Sw9mIO4{5*xyB1p3ok|aS6ftv^7VDUMm0?w==W2hLe6}2~kX(PD3PKE`bLKl53 z8q;)e=z*L7x-1-ZFg~#?)h9n4DgJN-0;o|A4Szjw<wwgAe2^PJLr35RUC@&(K$i@G zN^MAFf=`uz9XFB;+KHZw;%(>vCuEfZXn76NtO;tP2DC^9JU@V<A4@Vo$pD~R8sYO@ zXrTwSyP&iLban!$G(nyq1DBHE#Ui<>iI5GC`T0n$1Nohh?Vx!kFAYP~;RvX;pk67c z&`DGPsmcPCA)vMesWyNn(}GL#3y^IgA!}#k7l79C!>0V;^SdB7fto4=iyM$P0#h_V zmk%W8A}#I&1rJmZa=!y;w-NNNFVtiXZZPZRl_5e2Z7kK;zyR971Q`kmK6Q}2px`q$ zFo2wBlU1ycRtjnDfUN?z7C>btXcGv+Y>*K}si3XV@N|@!25Pw#WTt3ng09E}M`}T4 z3UUbus!uaPBmCg>tN>pll$cWqnK}pEsRTC=($fdGc$2|pB=~G7&`LtkX)($9c`4v3 zAKI7&xkwq>UICv_1?u#J?tKDP$;Arbin=5NeA8Pp(#2ySEvb1RwV)zY0aT@ygW6lk zsm0*Uhp-C27`BfEJgkZ`)Bvh-K(-?=Xem(%=msrNz=7f)G`I^|Ux1b{;Ds}&r2yVY ztOxG@i!v}UghKoOp5VSJ1H(ps28J$v28JYl1_oh%28MTh3=DJl7#NcH7#Ixs7#JS$ zGBE7nWnh@b%fR5y%fO(@%fO(*%fRr7hk@Y+4+Fyr9tMW_JPZs~JPZu7JPZt1xEUBW zax*ZLb2BhRax*Z9a5FHR<zirHf}ZiO%f-OJ&c(oRfRlltl9PcUmXm?OlaqnLl#_u$ zk&}Vp4hI869|r@2KL-PYA_oJ*FLnlov+N8EGuas!O4%70<e_K$A7*1<sAgkeP-kOc zc+AScu#uI4A)1wefti(o;W7&Y_zXc876yj<%nS?*nHd<`m>C${m>C#Um>C$9nHd<^ znHd-kGBGerg3k4;GchpyXJlZwz{tR`5_)bxEh8knLO@{#4KEZ57B!H?;YF#5u#<r@ z@^e!`8w4RK2`TA8#(lu6L%;_DfXlJe#N-S}b&6}DB5Wt4twKn+zneQ+QHfF%!<E`9 zC_xYBLFzlhTnx@eP^EgHllsa)cl)4bM37n(b;<d8d8x@I;MJ~>?sj};fsTTiv9YNU zeys|&kd;lDg|PdFP}Sq~0k|;AEJX4FXm=;rRp4e3)C-`J0eOojs2>7W1aAd`Cr}ZE z23QiN*;WCx%m7iCf+a!ILxrFzGO#@m9y}tU*OMYiDcC@-Z1i=Eh!1oDmv6|@b_xc1 zXp8osDs921?ZJ%(l^mcvommW8ZC+52ngUu_TwIz1sRr{DO7lQ_qmn^)F@rWhg8IR* zjs<8w6;iVo!4^5?fV#Y(<~k@yK#Q9|EpY{i36Rqg5TgQ+i6~IHou~jlKrSOQJp*=n zAiReJvIH`c3O)uAq#S%qAxt4?B^$U41ZtHcy9~091tba@m<0{ira+3?#2kg}%)FFD zh19al97uhkkdv9430b?YppgXK=a8JAlB%Ns@<?b9@-j@M_yR?kp`N*d7HEv17;-~W zJmgR`q!5O<1Y-g_5i~gl>X?D|kZ0!S6=!6E?)`zB=mtpwkbPB<5nin3f@2<@%~Mlg zhqq-GgT1E%>X$-WGln|QE-+{aL;*a-3hJPOy@TXhh+!oesi0%@ic%F4bHM%d<kX^) z#LT>$N(E3fLHBBd@+@-V1UnQO0H7pls0TTi4xBWRj~)c=*Fj34%HU)IY8Qk0|B$`} zwA%u9EQ(gxP5~4_*l-W-6abEGP@M)|Zwy*8kPcZX30YPM8u<rB2=q)iLwJaQ!w1DK z=vW!D7+f{91q|wDXQaX=Q9)x<kb?`s0h9$-jU0B!#(}~PY%eI&IyyVM`nU!;hIsn> zfuoyHXkyoCt6->S4!0T7EXh>Q1t)NL)&eclfUX=&%LMOpgq{NjifKqJLH0_4wSmuL z$W2v9E=sJbgiOoAEdV<rr9{D2!B9aT(z66#WtAEa8XH1Yh9m(UVAKP358^>n{|d?; zRdCg?&SPRq3g|{Q=$=*Z03WEe1S%Y`oa=?q4t5mMZM3l2SxB=pJ+%aUsjX*<h7zcO zlnOa{IX*2jFFmy=9$f5TYmyUXU{QV&)QEU<G(#Y(QXs>5pl}9Z;>El|gF_VD{DTxi zT!Ta4UIm!}_H9l)vChkZ_z=T+U}K7iHU^t7VHGa8eg&@x0}Xt`F24i06@<YS5#`#F z{QMjPq)>#c<n!|P^b3jibWyNXFoOpKbi^XD1YD573Khs0PAX)jBxo8CwoMRJF2F9= zE(T4_B_YNfAbAG$AfVE`%)FA)OwggW;0ZcV$^@0^;M;-WgQ*H7`T0mL0-qHFPEPQp z@$i-dXb`X%d=?I5(ITiXXi$;?Ihz+zx`D$gFFvs-7ZPirRqe>02Dt%Ll7rVTfhs_7 z#{gU#g3jK}EG_{Z&I%uYL2?|pYXcfQOG*XhCs3iR09s9jqy%IzbOa}}Siu6cW*N!- z;89d?<pys6z<Ug!`B5Z;AT=XsxjA^$9x~2Z3f{G!oSBxH3_0Bv6gQx?p`c;v%rsrl zn#(lkVsUVSf=sX^rlh2%AOc7kG-w2F`KDziE1-@i!d(Doz>^=+kcon=f=_-rbagzq z6^dv@W~M=FeE3KN$OI5pR)Fk?2900956OgwDPn8`I{N_90>|m8CGnuS?g5(k0$GjJ z^hI_Sv>gpP^er^VG!?B!08WhHG88%?2%ijt_yj5n8CXLRB6gY(+I9xnk2XCAawR1D zgC|~4Za-A8h23bFintOHCC>5aghXRJ+*FO+;&jMGg*poA`k+e=%TjaHbrhh7Hh|m# z$GMqB13a$^Ig$@sY|>@c7j*ug4Fdy152!DTwEq7TKLbMxKLdj^KLdj-KLY~;KLf*K zJ_d#bd<+aOd<+brwg2yU85j=pGB6zCWngHB?g0?xh0OUo@-Q$s@Gvk4@GvmE;bvf% z$j!iD&dtDZor{5?gNuP7o{ND&nu~$qIwu3eTuugtBu)kf0Zs;na~uo|^Ent8vN;$S zVmTNX3^*7V^f?$9K<5H7a4<0JXJ=rjW@ljVVP{}4VrO8GU}s<eoe%hwje%howC`WV z#=ua?#=sEH#=zjj#=zjn#=!6sIu?-0%D|Aq%D@o7%D`aE%D`a6%D^DY%E0iCg@NHO z3j@P-76yimEDQ`2Sr`~HSQr?>SQr?TSr`~zFf%YLU}j+OW@cdEWoBSF2Hg*!z{J3C zj}a1n-Jmc;83-Va15cGu2IxKqNQ(>H+6l->Oa`Aj2U!S=oQ*-b6PkCCs%1ne2sKba z8JCgJF+OxNv6z6o7YDrc4l*tW*<%B~o*le<0aO4efObrRswUXEttdGf<|a%!uRsqx z7>MLg&`6^W=$>C}5}2+8c{44)s64SK#XB=E6?{Yr4ln8`6vl&^$9ZU%)PtOb)aT9w z?eHl9Z7%|?AI>Z(1y7$AL+0>6wKb+Alod3}Ghkiz{DMkQNI)VAG%yJo_N;_YG!`oq zmn4Gs)2D#v_n`Z;VY81Q$3U<$XbBLwGKJ0;C?uAY6lErrmZX9vA;EiSL3798nA8JJ zpMe@m=@=oe48Eiu<RnN365KQg&AnyATRP>b;7KzKt<b&@=zty#XxM3j8ZLPSdeE~i zQM6!R6;}iv&4qL~!0YMsK#2vdy2?z0MGnY(&|nN=qy|e%6>S9?XxRgNwH~PEgGaS3 z$S5qUbU}*r%Hj)=-2ycwFa?|%acRP;1*QWOa}3yb3Xm*{u?jUEd?H3MbSN5h3PUdB zh$PTpG-#NiB(*?86XXPBtV}icz~dSmc$kL}K-RK>rfWe9_CfPZ;OJ&R46DK11vUWE z^gx*o1Wg*i7DHDnf!B5xqOF01wesM)LDO;A*B63q0o|5U2zNQi0U(jQ0=>kdqQpv# zLe$J$2wOX6fPP3D9vN7V6+E$31m0nls+XQx;s`!JFc2-JgI$HJ6f`m#;^G<v(de01 zl3J9On4Ai3-NMIM5zd4K0K9b%9@j(+LVy>+$Aj)hh=(p?i7&`6PDR=p3U&c_)B`pw z1RXs=7DJ6Ru$J<o)V$=3`24gq(0~m1E_O&6ZH90iW)Xl@D_Af&F()$#H1gmUf)+;L zBLtwk9U-$U;Ne6h4Ja`R=>&ofg#mR-K#4CmGp`g}PvwGm;FUh5#h~-)K<g<%r-LHR z?SRq*q-ziAKc#}k<C9bMOY(~fOH;uU->?NCpuOEWiJ)`xAVC1xE|-@NGP5{8548jb z`w$$>nfZFfsU^YSiNKu9l++?f%pwOiBK$y(LDmXQ9G?CJ(*>$dXflLqCpK-NngQ#W z+bRTwxVS>+sflt2WDZct+27C4)j7n|&s`zJUjfufLEkW^tdNwLoDGU2Q0F)wG(egP zI`aXvr4cm#s9u(;P@GX(qL7~kxtsyM;Q+dv3emX)xm{VIq^J_IdIz@51T>tg0NTp{ z)u51=o|p-_%m^~~my`-wDGYKzaei`kYKa1L88W!7fR@m}r*T0RPNkHB4rNR&D#|Z{ zHV%{$bHGcNL7nf?V$dmaps`Kx>KxFJHL5IXa)Bj4P$EuF1dV<`r&<(B$}>SnBNgX^ z!UJ@4fja2e*0NNTiN{pP<O;N7j0hCyOfz_N61BiURIkd&n}tCRhTEJ0IwJvE9HI4% z!D$p;2E+Gd;5rutbX-n6Y<Y@~0<>%g8v?6OYf+9!0mUYYCQ!dIv8W_7F-HUGCW5fc z;!^M|S`oBO3~mfT*@Sz%h<pbtRpDO3UacrAfC_;U$kuSshAP;~L-;1U5`~=1GSGq6 z8AYH(3|g}YN?Gt@?cnK28PpCeDuG_N3ficR<S*DnF=!!SacWK~Xs$;OQ6z%{E-@Zj zlR*k$uo&3;pcXW;HHo>YprPSZ(6Cimd?C_i`Na4_q+LK@6UvA*6|@GRD76f<E-)1` z5C)o#Rxeg4gx*XAQUJP^1?2mJoW#7uB8W1`d^|`rDL<tWHf4l#wzskZ$PLiZ`t;Pi z)FMy}gB#(X=58Tmu_JiKKmpV;1qp%&?hwfyoO)7o()0?Wb&X;{JGYP~HjpI^(Iv68 zHEnGbluC<CQ?Yg2L1tmYc?Ej;d8x?#5WT!YEQiKm(+d{UHB`_7b%L;%f+#q^5e7;G zpiWRxVqQvqu5*4K_@G>HaDiK;df+snqX3@&7iVB#$OiRY1sE9opj}qb-v2H93=C8F z85rE4djJ^u85oZ7F)-BeF)(QIF)+O5Wnfss%fR5n%fRrDhk;=abe+El4+Fz0ZU%;x z+zbpWxEUC7xEUB6xfvKVxEUDOxEUB&xfvK<aWOF5<6>Yq#l^s|jf;Vyii?3Enu~!! zhKqsWJtqUhHckeHc1{L{YUtR2BqsyII}QehlN<~Tl^hHV9vln|AJ`cfHnKA?WUw<Z zn6NW2fX@AU%f`TP7JA-aF&hIzC>sNV85;wGI2!}Q8_*hmRtARstPBiItPBhZtPBk1 ztPBihtPBi_tPBjI(6a%4u`n>~U}0dG2E9*!m4$&}KQjYEDKi6uAu|KRb0!9cRZI*F zX-o_Z;!F$-uNfH_rZYmq5V77L8juJI9ED&4RGvbIc|ntRup$t&@-`DR;f|bUAw#$@ z)u1&mfjVFkGUEu!GT<3Pa0d=_0#-&UbRjONBbi&82U;nLvdct4p&&6c58Od7DN4*M z1}{cXfL%}pI;srWe$WBj<(VbP8E_TQ765n#8F~s)egW)~D3I5{EvrP3^#wVpC8;^c zr{Y1Xv0Tu79;F4)v0-ozwO9|*rUMNvBl_BD;Q9@;nFd~Vf!3;mF2YL$&HjQ;6wfVy z_LiXsl)+Bw&qo|Jj-(l5`82fW1nrQfq=JuQ0!>!ur-An$fyxxHD?rUi<d6YZ;l-r| zpoTQ~WMahS3Lw9v=0Vni!#Zf7q7Ty7Msf|(+GbEK4w>u)b>cuL5P{bsfvks|3IXZ^ zgJ!#OQo*aAL5HTmP0|G)%ntQAD9L~nm*gve(+z0YUL!9Rw8kj0s8SO#*#Qj;xG4&t zW-jWW320y+yeuHE7<6j_s8gwf(#S|oRRG<<3tG~Q2psS#Y*;cZD9TUDNzH{vZ*hK3 z8ED`ET$n@Fb%SOxK#d`g@tJwZqZRp}3p7B6>n2s|f@si;OD1Bf2VxV_ifPDznF3O< zfrAmT?iHdS1@3A1>RwRR1ovOzQm~~~pfLcj47lvXH3opv6G9$B02vHv{DRA76m^Kk z2BsWj30`7ZYEfc(szzE#Jg6O+nU`LyqX4?H&=%?NI3!7^E^tQ{Nf>PnGRRG!&CtjP z65u$3ATtfTiyU@7MM?>xl?XD0qW$DZ4uo~G)6h;9NCQnxg98WLaf0??5MAjI=K#0- zqGXJz4p2i(fv9cYMg}Nr6%lqpOFHmqq+3aFYF=@E5mKiVbqPUHYH>k6;+RA5JXtE} z)bb+GIXj?`0%61%Ti}u#wAmQESp__823o%f%7Wk-P*4L7lucl{xHvVh7<!o;#30bp z#MH!sf}Be5IV}hWf_hG%ffl5NXGN)?l|o4UTV+rq64b8%tpS2{i{QhBpg~52`#>dE zBKUGWP*%^(PXRTqK#2#kPzY2m!n2Gr=oq5HQqZP~M1>^K&IM2g&P@cLW|yC)0P2I6 zAm6S6>*IjDi{u56q2Mq{0-em311j@CiwsIr^Gb3++hCFtK{J$~?dL_AX(iAzuR!4f z$!JQU#h@M>c%uQRn^>G$qK7mM4OIlHtU&!aaPbcEFEp=VQ5p`~8Uf0G3ZOw0g*5#V z=qLcBzn=&>7%LBa*()e`ic>)=MvIZ`L`v$YM>WDq8IbEijzDhlgKEP(aP~_D9r6QO zJBS>3jy}Qu(A`j=b75hpxPsFUWH>?rvZo6)KA4(^Sh)b1&jpQJgDMJ8(VLhDKCdH3 z0d{;AqBIWyZA68h2U`j{(xN0E8m3^2k}?zFhm|A31)&`j%Fx;s<UL4IL`VmLu3!ZR zDo7S#fC4!E=qNzr1Z)*VFH-3bD!d^Wo&vFr2f>0ERFEUd6H%Nam*XJa>8T~*;1MsF zUQnzlg8~s$Yv+QhW^g|cRFkEGb|0sK4)g{EG^C_Qlo^?M3a+lur2|M8foj02c+fmU zNooP4d4grQ6dI)9(h4-KpqKBP77ga1tR#tr`T*MfMOBHiSOlgL9+DuhfiS2e0jV`f zn1@1f1jO$kvtXDkGf|w2Y3Atc7OYzbP6nW;hEI8n&TfJ7X#POWZh=piK+TEZX%NW5 zHK+uXLdk#lrob?V)j_!nce#KxH4M+|p!t6p1_p)(X#YP5+Fw1-&%iK~pMfEtpMfEn zpMk-TpMk*wx)$IG9|OZgJ_ZIGJ_d$wybKKMc^Mcwc^Me2c^Mdf^Dr>H<zZl$%frCn z%frCH#>2p{kDGy^9lGvcfSZBgJQoAQIxYr=JT3+X11<&zeJ%zDE-nU!f1C^q&p8<w z&T}#_Y~o~KSjNe~P{ql>5Xi~Epai`S;5!Ec!z1X~fS`K;c5yH;6ml>ySaUEiuyZgl z9Aal+NM~nY;ACfDc*w@UaFvaLVIvy@LlYYVLogcygCgio09FQuovaKDMXU@A)~pN+ zlB^62r&$;nCa^Ftgt9O&II}P?@Ut*5JY<IS`{yz<F!(YvFz_%lFnnNQV7SS|z;J_! zfng651H)7%28K>128MDb28K)~1_pg528N%E3=BsZAz@k%3Rh^DVxvGY2Ex$hB6wyO zJb@0`WePg{8+tUn5$Me8TyUERR8fKlx4<VbBdSu+ymCoKD(F~F(Ab_rVp>{iatXNR z1f6mQ>IcG>hQkwCX;Dg=LP=3-Vo9+Abny;oNDy>qQ9)5=F?i}6GDcU7RE9v>577Q2 zeD|{ssJRQa4nFUy2^y;?L0W|juC3v=$HNrDMUbm%xGcD`g_mWp>03~^K^B_Aj?V`# z9nMHh&PI%if)s&^L(q^IadUp4)A$op5~1gngW8bb)*X0}Tybeq7U<TLvQ&ja&>(Y3 zCB{Bq&_ei}RL~M-@K#vxXh>3iNrnPs6)dE|2pSatweAa{SB`;|CMsB@D5T}&CxXU{ z(M~D_`2&P;PdS2QK^VUZ(#A5Od-l^ntzYm(fF&8=&PFk0=%zfg7_wUyWG@I~FOuLc z0>`5sG?{^BAQki#j7&{66|_LxAdIlA(4s&qsHs&7+K`_EnI%e3ECAI326_fYrnw3l zpk`@#Dr9AOO1?sIrb206W=S!49VXH)0+6pj7-U+i0@MuC<XpsnD@YcEAu9BZOu<KS zl|Zh81NBfq*VTZI;s6b~Au=mS3kZV~CvuQLH;h1qKpkD=Ia}~(9a1M0WCRF<YzOrg ziXq3`f$Rcx#US^1!gCi$B?v>7(?P9(9AjRP4_cav?ix&;(EbK^WC@fc@{6*ON-3mO z=pcJwsSP~W1ho#lq8MDzp={s*DF@|IunVwv^^s@Ip_5o()wm|HU}Xu&XwaaT6=XaN zw2uJX%?8Z?LLCM7C!}NpHP~UrAtHFd1C^jO1nMw>OabNK#FAX-<cWGt4)_{E&^8Y6 zaBL#zoClD_aMM96ra%V;q{0jbnFbwZ0QGT;QwtJ7lixX&pxy7~sp=`<(E(789z3=S zI@c&aHx+aqQ6l*EQ$&|;SkxfkXaV=^^AsQ>Zki~S3g|-I^wbjMgn(J01j2(GmH<FK zH&A5~2rht-_NBsAg3}T5?7M<3<j{Dy3Q!^fs{*G@%=vrpowbNg33B=br+!?C6uO)W ztR1wS1hy3iB7nL-4CWt@TOd6$(5y13UM~PG4#e6q289pY6R2wr;KDF-LE(g|1RP*G zkf1;w_*7Pau7yBKyx=?yDL|n)0#pg+XM@@knZ*i4d2sunwKgQLfwr;a<UnpeD}kSX zoru^3mJ7Nj3p5A?*AI>d$W$ko3F_+TrKBLLcj#sUNP!4n)DBwqrJ#|QuTYX$3feHH zkO-RiOe_WuaD!%35zz-PPC>Ko;HCAj$y~@DH}JT0S!zyxa%M>-?50sr4h9DTQcDT! zK2X|&3>$dnxw>kA#<AleBLudHE7(Dis;mGR9R@|Kt1IZ<R?y)u@YVmIh4rAuAN0T* zczA%cf-OSoRKOM>fx`wqHh|KFhW7$M`e7K!9MDZg*o{Hy-D5R|+8und%tLV|B62ZX zDF{zv_b;}t6D+_$G+C}gG8Ex9Sd9rzNAcieB+=G2!t5h@fh*W^h0p<@vUsG`ZQv0T z$bCSmjyX9YsYSWS)6-BbpcDjUVmAeJm3eYbX-X=%Z3~(}0&U!cF1ytMANG`$n4F)K znV1KfyU58=NU6+A%*{+L2H$R6tfK&$&`-}yMY%8r)SCfs_5<DJ13nc7GUg1r=?+xI zLI#!XA<XPl@G_wy=u}x^Sz=}mXla+89-_qsI{OPWSqS$kxblT>mjqSn@L4j2q>^%Y z_JXvQ5SbXM`2`MJkW63-R#7BDSRo6FKhPv5q;LW^)H2hG6<|Fy@Y$0HM=L0R+6*X- zt~78kgZo*CQ^OSCHzdQ%hfP323JmbHW+k*YRt(v0kqp`YFU`QfPz>s)3NSGELp!NU zq4WNregBX67#Pm+F)$qDgWLt!z{kLl%E!Rq#>c>*$H%~+%g4YV!^gnzg_nWhATI+$ zA1?z#1TO=F6fXnA3+Pxt67*hxSKJH?tD$QG!nhe2<hU6a{%|oc+~Q(jIKjohu$GH~ zVLlfFLj@NDLjo5AgD)2YgD7-Oz(P(2hD1&VhG0$x24+qMhRqxd3^^PO3@RK94BOZl z7>d~$7>d{#7-HBN7y{TC7#!Id7>wB&7=E)cFx+QjV3@(iz+eTv1MnCt1H&#>28L;@ z3=FBP3=Gb!3=D5s7#L1M&;8?LVPJU9%)qdbnSo&fGXsMwGXujvCI*H}ObiUmm>3wQ zFflMBFflMVGBGeHfy5aZ7(jRafx@u}6qe9%#6m&h2SS2(k|WlgA|1ssXgi^WDX^J3 zjODN(KM|0oQil@m25|m^w&CN;QgaXmDabJ(jBpTPwV>;o5Djj~QUJtkQ$A=@HS{=g z$W}JUeqney0kRH+L5&C8Jx_ccPpn2EcRO(?Akgc?(1jipSXM(pJW>ogid4NAvV0QU z9w^NN&jEqjW1v&xbwTSwz|C^d`hdKANFND&^htS9eqK8G3K|UiAtfqOyeZf!Xh69* zdc2_1%0a8QpsGNl2b!=A%PFY0x<H(sSOQrE06Ir571ZRybOp3n1^4zq)e5Mw2kO@$ z?SX(TO-RivhTOOXJ^s2Fyn!M$1<?Tm*$S(@!7YBMOHrrG!8slr{NR2>QEGB(W*PFz zaO8Rfxf6k_|A1VrKn^M_1|Ls|IC2fN-xbt11&=X-k}PxxCo>Q3PfzHnyP#=T$U+Ur z5MOwBLB}#c6$z}#i>RQ$fd|^u4Zd6yWDjV;2ju1;(0&=nG<6E>_(aeYCU^`3azPOI z+?q7dWjCq1pp^umY0l(SM4*Ct&(JMLi6x*lB#^V{^728;UqIbr&_p+MNjtnxjp<0p zCCd4r9X7=Z;OZLT0Z1<d_gE%aIp~-n(3l<Gk<38EsuEbNfO=F=13;0E+=T+A7f3z; zx7x8cJW*P(SR2}~3G^`6phyMRFi#&HP_QJGrl)0AfTA)l9kk{hbXRa{0qD^Ge9%(r zOz7fdXm10$Q3-VIS3W2YfX6KJ^AtcEO;Jl!kSFxO?uATUV0ZOsFGE2=VTAQEkh&G% zL;@PiLv+YNJVZMOHBEu!K)b&Xmn*`ymBC9O%&-LI9*{<eU2ugUVeE=QGVsx4tW6i< zRFK+&0hvmKi@*adBn^#&42FA%Jni@!Dx?mPgB%1h5xKpBIZTdFMWE4wD4{`GU>F?V z(3%z027nbnP$3+R2bA;yGYaI^Oz_3<1^JnICE%V|66k0+kR8}{fMgJnlvrGX#R(uG z?7E@N4dRB*L9WEsoWL`D4$=b86GfmSMKPNfNF7p;a$;H-pzSTG#U)6a#Xvg23yy3R zK;u_%-$Ji!b%bq61z$;y+Wvtoy~4=gAQK@{Aaha62at$@Eo>{OUSdv;h9)Q!K*M=( zt4oS15f(vpptucIBZF*$RQZq-pFyL|;5JNV8hH8=GA;)jeTKJ?GC{X}7J#QoF$P}X zj)0g8HVv8{sW5qf$OoX204mQOfad>sk?#Ksgmzf(@G~$J^D{7T^D{6U<zry*htBn% z;ALRQ<7HrQ<z-;d;ALRA$HTxdiHCt9l81r8m4|`hJ~soyIc^4qt=tR@ozOXdWo`xr zer^Va4_piki@6vWy0{n^3b+^;EVvjLl(-leUUD)pyx?SD*b1HRkLP4yFy>@n;NWCn zxX!`Auz`btVKxT?!z}1re<}w9gEI#MgFFWV!)bN~hDvq@232+jh6~XB|1N9{41ZV| z7(TEvFzjVzVA#XTz_6H=fuV|(fx(NFfkB3qfq{XQf#Ez01H(BM28K;63=HKg3=Ezu z3=GyR3=A(p=lU}<Fq~p$VCZLNV2ER8U<iQr|Nk;EFkEJ0U^vdiz_68xfnhNd14A+s z1A{UX<SxL=j0_CRaoq<9N_sF1E=k}Ui{N{uQ0}lP%d7(5JCDc?C<OvsH}-8w$O#@c zc%4}S9a9Fi@^nE%XV8Vw;Jz(%N&(!?hwq`nmblYO^B_k^gE~zLpn)^UGDFZo+^I!* zi8=5!=EaI|{SebZjnPzvvdk**=2Wn?5c{eW5|fkji$MD@K@C{gIbm4lG|)^8%S4<z z1@kkg*$uHTEVBw+H|l`w1c#;q=w`s=67;5cQDSCss)ApBi6`hrUeNJ*sVU&{OG62M z9xZ&O17zA5ba;44Y93_L3bYvr5mA^mJ~+a`g)(%?L=XQt&k*&X1;UU~;LJRQXvmf$ z9R($5=>n><z`KxQA!Q%f+j+sD<FTOUM}z%7@Lq+7Am|25q$&uOo{>hoiS=hOAzwlQ z5L62i5#XR~2^wC8u7@|!LtBf0X&5dqflPwbWJ;j*+y$UHV$ex=aP<l~sX0jNf{|-r z@UQ{4jy@=2L8gIE8OMlIu;bvR0irCybLS!~qkvos8ju2S9RZy!nFwAu4OzGj9ts1m zI4VvA-B}CXg`28Sl31J#8UF%Z&4#F+z>b6NHid18gsf%-k5%WU7H1?Ug4RtJm8BLT zv?YUgwt{X$g_cF&+X%}uQo%PEgDX?;R*_T%@Nrzw$b{UN44OMEN(D_2fUn2Vg%=H= z$pf%f_{aogH%>{uLN;_UOKxIbX<|-Jr4GD~2Ngun9nGMNF=1YT8=8`@keFAgP+Xc+ zoLUH4ijG)aomr9r*)d$43ichy$KX@*^YS4JGC(tWpp9Cf?W%d{2;aj>X3$!E@GgCj zP6gDk(m~#g3vwj#5^+%Mfksi_u7sTQ2^zP8-YE>eAUY3r90Fo*X%S@oK4^CpsKkZX zo>>AZ+dwBaAY2KWM8<*P_JYFIHxX_RVizu41uW5lQZr7~7^xe&pwTxyKM{770w~oY zaJ3Rx4s_`kn1OaU1g_kHe69rCi6B#<v(qX0$>7^WK!Yg7&=p{*MTqrIu(AuBY2mpK zdtD561K4p2whCYxZX@LCDDWmF_>rriI0oGv0=bDEJfsR6#4AokxBxQrqX0V`61sP- z5>(=V(|&%QLP2Q}Xnz`FJsh-X0?TI>gD*z_4aq^y3`t1^9f_S{6_cl=192vzMgxTm z2!pROgu5Oj0>WTF>4EnX=76`EB5y+i#aw(&W-;2%p3F3bR8Tu!DL)&_Hd=^7Q!yO? zkx&W&Z$t-OG?59q-LnLg!9d{#Il~rmQAKWIiJn48Q6+SLKT@d+ax)00g08}>NRH3U zOUp;9m%vgL$*Bcso1H-73JTy*1A8bs6SP+tykt)U?#t-RSWH)g#><hen#@VfLuk-M zT9E>^0bvE`di#9PUG@bznI#(PI_j8agFFEWM3h)T=@5ZT1-VbbRv|O5ptM9oDFAc; zc&b7w=wuOaky8RX#G(XrFQ{%Rc-?4z5h!7R$7*3=TcKB>Q>j;}Q>9l0YV_nLmRKnu z1!_6y_6%^35Yik0*$TSPO(7Aqiy<c!Qf8Otm1O2XGF4`=LP25?XiG_Qeo;|satYF2 zQDtmN3R6s50Y0o0ZJ=kM16oL^qo8Y`XNVLDh@O5T^jr?m+%Rki8FEBTNq#=)%Jj;l zRE11f3lP*m23?v`1P@uT0~Bl__XMIZ*j5JZ{DJHN0uP3R>rYV83f_^PiN5~D3Uq`d zxL|?iaQMJ^Q9&grd=>IRSM5NLJBC#h;BBX%gbs?p66ndbaQA_x4RaGS^T7K-!SM<k z97i$>t{N0U(Ch>{h(jU7IlxLuM?ni7q~LN3+-SuZNeFQc2*@u^)zH+`E6Oj;OVKdF zv6Wp5YzSx(0r)0OvsmO}0<Kp_K?}5qqNt!!FE_EID6=9YKd7J*Tp8#g>n+NMga<BL zq25UXwPV1?kzu6hRLB-Ccry!9+QncC6c5O3LpgXgA1KVh?Nsoxfzl$-hOC@QJq1_L z%n+pfgtlCuXP6?nA+uN^EwiW?WfK}w;Cq6`<Uxnb<mBX+XXd5rKvXLjL!%ec+N#j0 z)Tx5!Nzl&R6a~mWGX-M>@IF4B0-Z{Q#Ju#J)MBJ;iQK}3`x<;ekQI3Uzcm8`Lpx~B zT7ZGU2ipJt#LvKRnxBDT4nG6KY<>oYM1BSa9exIePkamvANd#<w(~JCH1RPoc<?bW zxbrbEaPu)RT;XM4n90k)FoTzYVLC4ZLnAK(LnSW*LmDpwLohD`12-=N!y_IBhGRSo z4AXcR7*co`81#7<7@l)8Ff4<v3DD+dVED(yz;Kd_fuW6yfgzZSfkBvyf#EeL1H%GN z28Lu#1_pUf28Np)3=9i77#L<k?*tIwU|`t7&cHC6oq-{boq-{joq@rZoq<7xoq+*# zHedrA149CI{{J^C1H(*K28K%LIe=QAa{*Ww7)n_f7=l?C81z{f7?@cY7`8JrFidA= zU`S+UU~piDtou)8Vqh>}VqoBBVqkd4$iT3Q5fXN7pzwo+9T^lTEx>SbMs7SP#Y4J% zwhBrh4&v50kTPZPIu1}h50X;=buVC(XP^##B53z`Zfb6R5%Si11qE<MEY1K)$0tKh zb&t=<PtFD(pqiYGR{tq06es3_%IxH9aA5>m!;X?kuoxF@1*#80(|IrpqOD>HX@WEr zpl8QvAZyku&PXgs)lo<R6`-~#GGHOlGQ+gA)FNA`Q*z^zb5rz^O4Cs5NMu>icrhdd zAOWNo4CeWQLrVh`_MkOaI?%&m!OQb>6pAyeQc<nXOR6kEUaka+6_{qwb$`&{MUOTm zP@^+5FI@>zG(+M59Dk5#QGhrK9%7kkpkowr<5Mz0wPR*}9;m%!j9j}ymLq27DHK$e zWaQ^TN(DdvaD|k7&^05V>CuAB<m^gFg#emn(Je?U23;Cp4*_tyAPrH-7$dln0nZmB z>p)D)Dl6pYL6Zi&UQ*9h$Vse1q&Q^-6hA3|(hsQ0MU3cx0*z=4YG&JlPsxIGhhPZ| zx-tzK;PHi}simn<F;M1!3ZT_ZkQ9-bk{Vx7ln*)>0dYo=2BaZmi*nEq(t=KqgTdMn zrYqPg1cIzZ%RpdNDDJ|d5Niw@Az~P09nqLT7$ID&L+|jw>P<u1coQYaY2i~83y6(V z1El#Ac*;P|*l0N&o-e_QK`{$Gavv-K>Oy0=(-TxwrKBPqs)bx;>Y&*G%}3yc=BRtB zAj?4Vp@ks$q%_c(L!jceL?Kh59K1*Xw4EszbVOBVo<d?uSz=x?q-P50m4c7W%P&eT z$plTPRD#MP$kA%x1t_T%ncy-=0i0byy=%zm348?t*psmF0#Nz~4Ra(GrGmz-lZ!IJ zrb2H}1ntTPRfV7)R-!_3Vs2_tB4XqM*3kux1C@Z<;z{7KEy#IM@N;WGqtc*OTVi&q z0`#Z@&}bmo6(HM_6LXSFK|KM?BVj;&BT$PQw4fZ^2~AW06&<j{x)3e_osU?OuVAVN zJ9+^Y%AhhD+_(fE(tx<93U>P>Y*r~%AvduiGq*Gs+A0L~Ho!dx(8;eT6$&_1LCw^} zqNL1{qQs(1XvYdPRG$dCo~pP6be2O}eo-!HjSkWkh!FQehR;$J5;Jq5wtyClBo!qV zRf3F#oOPB6x}^%#RRS&Whn?{Ynec`2AQJ+*utFA;ao{HsDHJEC<|P(o=0mi&<bx&> zK&Li<A|eAaF^gFF4stmtkcu;N%2JCIl1g)OQX!XOf{%Iu#}p`yfYd<F^arH}NUsHy zIzZx3XQ(UWmzETimO#830&d)cn$Ms;kKl5=SV0$Dzky5uIXN*er5NJK5a^LQIhkpx z3dP`lVi9D4Ge{l6Yv8-}@=_s{F2qcTZD1$nE2QS7fzB*}M;byWbO;8tcMIfX(2c7Q zo#7d<aDfh!g1W863K^LxpfCd+gp>m6K@>qwkOO%+5taraZifv~L563*XJ>*lhel?J z0_+q*aK0?ofh_j}1vw~h!%oMC?ur8~$+A)ajSnh-7H$=1fUY9SO)LQQtaEfh*+v(9 z;Ud@xdC&!N@B<zo`4b#4pkwfgAsrrtl>G8M*xf`B|ANMM3W_pwK}ilgbO9O!&WCvk zI*JJy%>YL}D6%jIZy{#EZ3kskaMZ$2W-dwvkJv(;=?H3|fJ%uJxJ@8$fJ31q160x| zXh2gDeAL+8(?=8Ohz_u0P{&HaLIIG526RvvECedwAh(C2N?IWu_W<qBf(j4N&3xe1 z;fS;DLHR2maz|KhVjk!MN~C@txZ;2xiw{~I3tzK^MHK8JP_<H=T7s|up$ps<2VGN? zl#>ZRydUfw<mn|e=Ym#@A`BzdwIJP~BOXhUtpo|;aVtm~t5ZP|cw7qVtds9jkZuf@ zf&}rn6eNw+r637pmx3xF5Qc^=Xr>?~GX+!=LQa7M&1@n?J4h+Y*mO#2QfYcTSa&g^ z#RZw61kL}8F)%PBf%>mV{r?603=EF^3=B&A3=IE4eS1CzhFN?J4AFcH43Bvk7<TY7 zFqHE$Fl6#FFevacF#O_SVED<yz;K<1fnf^|149}Q14AmbkMGUHz#zl}Sr-607qFh2 zfuWe2fgzrofx(NLfkBX)f#Ee51H&RN28L8F1_nhg$eRCGoD2-xp=SX$b22cLb22bQ zb22cvaWXLQg3b!yU|`tF!N5?#!N6e7!NBmDoq=IBI|D;EI|G9rI|IWHHU@@GYzz$f zYzz$gYzz$CYzz!rSQ!{9SQ!{BSs57qurM%eWno~*Wno~@Wno}=&&<HEhM9pOo0);Z ziJ5`HjG2Lfo0);(9uot@YUr7NaZC&h+Dr@#a!d>izoGX5g2FBl6n<Dc{-EdpVQ^Us zTKa=}aV~t{8>nXpt`9)XjN%e-TMblOfTqYH1vto*%sluJ?-_~UW7HBMZ76UT9aLk0 zDk5-&1)1<lMC*mYt__D2j36UH7DLb14$DkL?hb<!FGz`!k`kov2Pq%&Qn0Isre>%M zpo7}b*_7N=&>6|#S_fny+<T>YDXB%E77?UGP601c1@HC&8G~paBW5r_4gwc#AO(qe zDUcqXUO{O|d|rNeVrGd3R04Gn0J78;Dh1U8y2k~o2ca02cTklUg2n(eG!<+Vka{hk z0vzNV5QcQbL3JjyVGOD`KwC3Gky4(B=ogpg7lEP|G(ZWGD$YqPOI1iuEdhBtRUx@D zIVV*iKPN>2)LVnJxWT6rBhr8dLL2np*+hjT&^QjrMo?=Tnie1xCMd~)&#Fp=*54q< z!V(rZ!9iRA8jH^_08dwgj_m^PnFr5c!cPT*CkI%A6m&EK_#SVN)4{jVf|{tspxpo< z)1X)MLKn;<9fb`VV$UniOwR*d9RzBBg0`T6Mx{VCFKC7}6ErK43h5z0MuQdLO?4$i z%GJm$0ksDpm(@c$B}u99dKr9v6sYwI9>M^HO*v@h7k)n;+&kc$36@Jr1uY7L9tr?j z_Lh;V0GfvbH<OdWx5}5~=PTsoBld=Y&$-M6g(qllHh3%vJe~v1mO2XgMbI1=4;kA5 zM=9KH@DBRYoD|T`PVl|OCHdf40np8{1)wYDK|um7=Al#K2)*Dqf=(}&CxR#H%fa{A zgAzzuVlj9b9OQOHh#x`s+Jfp0a0Ea{j6hS`<%vi~?dIj@>4GAp6cmre$(gC3OW;B6 zP^9DIAYqHR<rX|%RGwc{lA)uJlV1!9Y_Jfh#RNM@BP|~>jRFd7kRr%_UvMizAuqoi zGI|9M6Obz)H{FBNDaa>~VhEIkD^o#x36sFbm8F8l;h}w&JcUg7ybB~Wz|I6~25(Er zR7lK)hasdb4GI%*2qmS0&Oa-I-F=NRfMt)c8x-AO^^hzEOEyWB3aPmTCC~|2&<P=_ zrK#X`PM`^T&<&5EaW_zh5fnkF<vb!)gTe+<c9-NUKo&76WR@VZKO~_S<QG5#B^R9f zpwm2{tBvy@H3Ik;8O#<j-0L7ufL1k@=7D;@sS3~p13KQb7<9He*mzKL9?XCg6416U z+ziMaYnYaRJBi?R2jJ2mKMlMI6skKF+L;2yBFGWoxo=RJ191mxxPZ^*gDp|WEG{lZ zx=k6hKm>F=AZQ;8WYvNpyj}q>Xn{rnBJ4nIC$M3O3ZP_;QfeY%0CJQYcnS}+i~>}o zf)XpZ7Xe*<0$LvejoC!R<|E{0KO&4E>%59HQj1HV^(I^nR)N6kRkxy4WOb+&DvpI~ zB-Vw5sy9<a6A|V*P(%&r2nfglpe#f2_y@?Kfl32};vOoGE6zbqhweQn$%m8=pqd%f zX)Xre5||8WVnFV_0EHHKU=O<96I8!|#6XP-g~a0G{N&6;&{e_U1{p{K+S-9+70`Tn zszP>ZC6aE?mG?!UYyipuiJ9Q_R#-GbMh6h%8;K=Iomr3{!2J-7G^Kzbe`nX=;CNq0 zKSy`hAS(q>xr`XRs0Jr%&`26=h+YpgF;k1w(SfC8(AcOR_D&9_A>dU`8c3(%f|WqZ z9PqRoc!@-2Njy08;29O<a<EDa7l9^}KobeDHL-f};EB8Vcm-_*C79b0^FWYp7sxmm zCem1t`Eax0?gBMZDhpCIz|I0G0ks*xtK$nmE6oyf5V;v<A5Iz+jyPsmGIGJ5g3hZz zszulY40s9=E(4jnr1GdcBt1f_57^Q|$i06Gpfj5w4nm(i19=n@xX>9@(9B@86=>;A zfhK64vH%{8Af*MM4t!>Ec225ZN@;FEu?A>=0is&~Qi5_T2Dqw6F#*LgP`Us&2chjg z%!x)&UW5iK#4pIRjfMuGQ;AWGR|d~Rf~wZ!jQrx%JO!lDT?J6<$Iu`fDZ_%BJ>V8k zY98p;32?6<F%Nn|0_aSWoJ#QgzXAgT!vs+ORe*sZ6xxS<#?Qd;l%Ij&1V01A9)1Rf zmC$tn4j^$p28K>P28Iki28I|u1_ld028PeP3=B_s85sJZ`~ORL85jb185lnDFfcsk zVPKfb!@v;E!@v;6!@v;A!@!`z!@%&5n}OjPbSxkdx<}wF^bCL=E(Qj3E(Qi3E(V5Y z(DMN6I2jmxI2jo1I2jluI2jnkIT;xKaxgG_gq{g_1$sAt9P}K(h3pIrQ`s39?ARF? z{<ASK++<^5*vrPiP{78(V8_P5@Qam!;SwtYLpv)2gB2?Sg9a-D!(|o*hLtP~481H2 z49P4E46ZB;3~DS44D2in3{ROE7>+YDFw`+KFw`<LFoZEPFeo!KFq~v!VAupb6Tq8^ zfx(N3fdO<c;9EuphU<(B3|ko?;oA=iV`%u|qClw(hCx?Xg6^`+$;?YlEYhn0?SV;& zHb9+EhbmIARRAdsDbFk}L7RpwOo=uGrFO(M^B@b96)JTRv&zsVbns#O{5;S(X!(d0 zOR%yQyZ{EAXhAd4O5i&xi}H(=kS4c4rh{_=Xe$zEO%JFymkv7B3S70JoKae+qfnRv znzUEYf~-zRL0cmTHVAa}hb>egYL39}H>i=|%cwv%W@~`1AJGL}o&h!veD{SOY?H7L z=tg;H@r6YOy#SzEsG$cL$-#yz$lwOSf(<3eK(gRH=<qdOg-EAPfMh`!acBb8ostBl z6>PyrQ)*y08=R0qv91Sd?j{zbYG|0D*BB62fK^6YnZ;uG0aPVG=7>tuL2I~6@>BAy z6w)#)aH#|>SSU#Zof88Zl(A4q%>iGg2|l{IFhv2<lYtE46qkSo3P5WrGV}72lQS|A zcS3`lg;|AzM8Qc5yi^X<Kq|`5(E}eR=A{8ijnEW^e0e-n2tCPz3{zGBYt90v+~VZK zoW!E|oYcgWc+kQB@rlXFItm$ydFiDE@t_V`e10CRGDc0V_*Q;_tbt*O6Cvwxpcw`f zJvyMf+o2gVH?blfl#RgNgm6&pQdZCa)j^=vHR!Bx&^i(Y@Zsv9=_OEIRg_qXt|PBN z4`dyvO3Tj%&j~3cfz}chD?skFhWH$GM5Y3GrxExFPWT=sl$eHlp)ds{z2GRgN<rIo z5N#urWBH39i}?^k1F(r&@bW%zzdsRt_#WH=psVRXJ;jVn$o8d-RE5-vlA=TfBL%cW zR27OdQu7k?GSd_DiXrO|A#G^LT_xc03dAT0O8+Y-vA9?P)C5Mk)e8}#;Au?QVjQp| zp>xBKAywFs{_uTOpe4D<8Q^t;xsa(NP?4XippgL{@Bujs?my@@3-F<5poRlv#tFQA z0OW1t`vbs>1)#?g<rgU=<$%T}6G0cEKyoW&LkQxa1jM>EsB>X~4H}98omT*HKB(i7 zp9eqS9_k>N#h@woT+sYH%0)Ne-Z<P3piyTW2Q)yWz_k;oK0=>+0VjFrNeSRO1$0+I zu?Ddh9D=ImMDW0>UWkGNq?&`626r1MALc^TL>pU~=_nXmnSrWou+8Ap7W822Ua{&i zurk(BFt9QvK@TLeLwurPrelV-AP7;sLYk4Fi-HP3>n}jZ38NN=i1i+s#R^bgfO2$d zVQFSrVh-r~dPs*A6o-kR9SNy9l?pKbB<6tbi2<!_L-83XM8Lj}hn*0N)~bOOZ6&D% z(4+Jaxf!Gxguw<tf*Rso$aPqH5DFaMdU^4QMY-|d)0B};9|P$IVaVi#6=*RXsIv`D zqOb#Rz!^>hbXIR_VsQ!Rx&rW3tO_Za#gH3$GxPHh*%M?Mo{9t6m5@tF!Hx&lCy+%9 zNN2<#t~}9%or(j|550yHB_v@11v)zief2NMQ6P+^kVHFl4m3aoiVEaY3{!K`bQC}b z>p&yG)-5roI2Dw8P#ggE2*iD4!~*qV05kM4Tt>Z+Clu<a;R#NPpnwBK1`Olbkm>?n zfCWCK1yuio<_N%RQ9!#^Av-JJL+Z$PnP7$ha<q`*d3Xd9@+ZhMqt#emiUPH&F+?VW W#{n#SQPWgVVma1i1y1zvt^oj|I9Ct= literal 0 HcmV?d00001 diff --git a/python/ur_simple_control/__pycache__/__init__.cpython-310.pyc b/python/ur_simple_control/__pycache__/__init__.cpython-310.pyc index ce6673496f7e6316a3904ce2006131b6aed286ca..66a7ae1d673b877c2f76b218972970879116ddcc 100644 GIT binary patch delta 20 bcmey(^qYx0pO=@5fq{YH^6bcs+y#sPJ&*;B delta 20 bcmey(^qYx0pO=@5fq{X+_GrXL?gB;tI&B3Y diff --git a/python/ur_simple_control/__pycache__/managers.cpython-310.pyc b/python/ur_simple_control/__pycache__/managers.cpython-310.pyc index 45e06998fec1cdb20af8d2e092947181e3091db4..7c773d8c3aa8cc3f72351d40e311f1dd9e64718c 100644 GIT binary patch delta 875 zcmdluooVL`Ccb=LUM>a(1_q_Yk?CF^Hu6=5@v$>7Ft9N&FgP<XFcgPuo*H(Jkx^r^ zTet#O4MUc67Rv<2BCg4H5mIg`Ou-B_j44bh{H;uq47DsZj3r_vGGI1q4P%K!i7c4S zR>QDBu7-6XBO^l%!vgslHV_M>7lbthHm`_S#K>Oskb!|gQ(>}C)DG?<HwFfVTa1;r z7|SQ+iTK?TE+|dP$t=!DEs8Ho&519{OwTCMWG@P0U|=Y^15(OXm=d3yn{taiIX5Lf zw>bS4dtpj^Qetr`n30p3R&tA@Fa@G<vSPF(W6WghXnz4NMma_vCLTr}MlMD^MwV}z z`=Ub_8MjY<9OK3L2W0qP1_p-7vttw|hsSELA7o}=C}LpT+!pJ}&cwzz`C^I&i29vk z$9R6TRcZt?BlqOV8J`&?C%0$bW>lD*oaM|W%E-V_BsO_XmMxna3j;%u#OC)|YZ)iM z$`hHqA%}}mXY%fxWBgVu3=E%HK!MK4!&s#}SutOJ^7>pkMw!Xya*c$GzJgqm4+<S7 zh?l=k4$oEN2l>hlWTqS=0|Qi7SsqB&)I4L6qHpNBzA;RGlc&Yz1lBTHCV#T!e~=O; zkPC%CgfNH@0TJRLLXwez;TB6uW^zf9G>9(?BIH4Y!sHkEUW}oejSJ*C7}X{RSNJgU zO<qtD$*4K`SA{)e@?@*Z0!HP{t1H(rGHOkZs+N;f25GYdSqCPpK&&JN28NlFCsw;K z+HJm8?a#($4^rebS-VM{aoOhJrX@^D1|Sh55Mc~*40~d7VQFSj>Mi!7)ST4B;?yFi z$&#&lj3+01v>ss71gX=R%-1HaW&vV?v=q63Sf(J&tU39KDaA!5AOS-V;X2v7O^fl? z=CZbGMjo(ceULCC<K(~XQUcl_wmFE<0uhdr)jM<;pG*$v$dOV634mN*<P2iDfe0@U fQ9RkPTb!*ZfPsO*ee?H@uZ)bQlizk7W^@4nk&x`) delta 788 zcmdlvgK6V*Ccb=LUM>a(28Iu1k?9WaH}X}6@v$&4Ft9N&FgP<XFckA`o*H(Jk&$(> zTeuZh3R5rx2y60heiyNbkx5f}^7N=3vYISKK@1EGMRyn&7;do@ro<=brrcsr&P|EW zEl!`jCt8v*VDhzSe-=4LmcN@#V?r1i*H7+>^<w)9()4ZetymxSoy-gjML!uf>&AJq zGyP|nT#>2)q86pvF&^LiFg1dik$JLJ=4VF1$$DA086_rjWjnL+F)}a|@lOuUwq=uJ zVPGf{+&nFNEhD4w<b|!m+?=HaDTyViVVPAblaq3fF&a(Q%=2axom`q{q;yNDpfo8b zvp6HQD84K;Cq5@Nt)wWQfq_Aj3E~k6kP(y5=83bJfeaR({3_3hQFO9yzOm>nVN|_E znduoNlg)A!C%5HGa9e?uGcqt#sZ4&KCqMZ_e!k@okS~9O2yT#rc|Zg&h!6k~LW~Ry zw^&j#lS_(3KzuO}AqgU+Cl?fWG5T)aT_DfFs5tp{g%2b9WR1#5MwQ7;mG+F$lMhuE zu*fkoFibv>ExFmhY7(P@D#$R_!s5)T)LUEyr6uus`Q?e3B`cxclAFv}BhEN+vSf`5 zqvhtf8h<u6E09gLVDBDl5@DRT`F7J1CM9i<s4j@m1DVL4m|R$zS(JK<y(l#&HL*Cg z2&6-g@!;eOtp|KnK<d;%>R3~A3rZ?)aiyoiY%VeeNrDV1vInsYz{+y+6H|(d^g#kT zAi@De_<%ylck=!YajskJ>8T|yi6x1bHvem@W;6rapaoL&3!K7A^KvrtvWwh6I`TjS zDDH~XKnjdN1SlAaY$mVo&|$nY`A$cUs0>In38c~v#Bu}?u9IUs6&dX}*LQwpWHgvu J+I^VO1^~T%=>z}( diff --git a/python/ur_simple_control/basics/__pycache__/__init__.cpython-310.pyc b/python/ur_simple_control/basics/__pycache__/__init__.cpython-310.pyc index 4fcc48325eb50ae80151049a8bd95d410b78bf1c..043b8caa77c5bae3e06d5fdbbc08ff8f4f781c35 100644 GIT binary patch delta 19 acmX@Wcz}^RpO=@5fq{YH((K5I+*<)JbOks7 delta 19 acmX@Wcz}^RpO=@5fq{X+=4ix3?yUeUz68qv diff --git a/python/ur_simple_control/basics/__pycache__/basics.cpython-310.pyc b/python/ur_simple_control/basics/__pycache__/basics.cpython-310.pyc index b12dae4be0485859ae209b9f9ce244671d36d973..0249803d684c8194126402b59550e820d3f02aae 100644 GIT binary patch delta 20 bcmdmEzQ>$9pO=@5fq{YH^6bcs+#96<JVpi7 delta 20 bcmdmEzQ>$9pO=@5fq{X+_GrXL?v2s_IU@yU diff --git a/python/ur_simple_control/clik/__pycache__/__init__.cpython-310.pyc b/python/ur_simple_control/clik/__pycache__/__init__.cpython-310.pyc index b7cc6106c1f0c88a87540694b79a5ba5fa9c9383..db758e965347cd0bbe68439b146cea4c58aec265 100644 GIT binary patch delta 19 acmdnPxQCHDpO=@5fq{YH^6bco+#3Nd<^?SP delta 19 acmdnPxQCHDpO=@5fq{X+_GrXJ?u`H}Fa*E= diff --git a/python/ur_simple_control/dmp/__pycache__/__init__.cpython-310.pyc b/python/ur_simple_control/dmp/__pycache__/__init__.cpython-310.pyc index c52ad2d6a07ddbfb794cde23e26b76b2b7811177..3ee65b4a22bb546dcb73a46d96079bc3ae5fa78e 100644 GIT binary patch delta 19 acmdnRxQmfHpO=@5fq{YH((K5I-0J}@mIWpN delta 19 acmdnRxQmfHpO=@5fq{X+=4ix3?)3mG-~_n< diff --git a/python/ur_simple_control/dmp/__pycache__/dmp.cpython-310.pyc b/python/ur_simple_control/dmp/__pycache__/dmp.cpython-310.pyc index 1748ec39385a4de2c51fdc093e07874945c27f85..4956a36b4841594d3d70f849609a714bfd194868 100644 GIT binary patch delta 20 bcmccbao>YGpO=@5fq{YH^6bcs+#xCeLn{U7 delta 20 bcmccbao>YGpO=@5fq{X+_GrXL?hq9KKnMkU diff --git a/python/ur_simple_control/managers.py b/python/ur_simple_control/managers.py index 4b01fb3..48467bb 100644 --- a/python/ur_simple_control/managers.py +++ b/python/ur_simple_control/managers.py @@ -936,7 +936,16 @@ class RobotManager: if self.robot_name == "yumi": qd_cmd = np.clip(qd, -1 * self.model.velocityLimit, self.model.velocityLimit) self.v_q = qd_cmd - self.q = pin.integrate(self.model, self.q, qd_cmd * self.dt) + if self.args.pinocchio_only: + self.q = pin.integrate(self.model, self.q, qd_cmd * self.dt) + else: + qd_base = qd[:3] + qd_left = qd[3:10] + qd_right = qd[10:] + self.publisher_vel_base(qd_base) + self.publisher_vel_left(qd_left) + self.publisher_vel_right(qd_right) + diff --git a/python/ur_simple_control/robot_descriptions/__pycache__/__init__.cpython-310.pyc b/python/ur_simple_control/robot_descriptions/__pycache__/__init__.cpython-310.pyc index 4205132f18c1fa9e6f360245f8563b5689393978..0806428f665ab55390f7bc917ea3c79c554b8034 100644 GIT binary patch delta 19 acmdnWxRsGRpO=@5fq{YH((K5I+^YaB-31o_ delta 19 acmdnWxRsGRpO=@5fq{X+=4ix3?o|LQCj_bh diff --git a/python/ur_simple_control/util/__pycache__/__init__.cpython-310.pyc b/python/ur_simple_control/util/__pycache__/__init__.cpython-310.pyc index e4807fe1c1df90399b3c25f5ebafd91b56ee7b8d..ffdca2fdd15c7955b24c823c089a647bc847f159 100644 GIT binary patch delta 19 acmZ3^xSWwYpO=@5fq{YH((K5I+;adc*97eV delta 19 acmZ3^xSWwYpO=@5fq{X+=4ix3?l}M{Aq0Q` diff --git a/python/ur_simple_control/util/__pycache__/get_model.cpython-310.pyc b/python/ur_simple_control/util/__pycache__/get_model.cpython-310.pyc index f156703b670f5cf4630b8fbdd538088be5a9576c..dd179f150c733a47bda1f946bd294d5c5f4bb05b 100644 GIT binary patch delta 20 bcmca+ea)IXpO=@5fq{YH^6bcs+^1y$K<EZ6 delta 20 bcmca+ea)IXpO=@5fq{X+_GrXL?$fdWJ;epT diff --git a/python/ur_simple_control/util/__pycache__/logging_utils.cpython-310.pyc b/python/ur_simple_control/util/__pycache__/logging_utils.cpython-310.pyc index 4c09aab89ebdec862597aa374132927a8fcd0e96..e97154fba239571a8fc08725ead074ba7acaab1c 100644 GIT binary patch delta 19 acmeBH>Q>^;=jG*MU|?XlJUenBw;%v3^aOnX delta 19 acmeBH>Q>^;=jG*MU|?XdJsPo)TMz&#J_HZ| diff --git a/python/ur_simple_control/visualize/__pycache__/__init__.cpython-310.pyc b/python/ur_simple_control/visualize/__pycache__/__init__.cpython-310.pyc index eb9ca0ddb65ee961913ca9fde50c764effc20b46..ad7422e9ee45004d7b00debb9d962d34e75cf926 100644 GIT binary patch delta 19 acmZ3(xQ3BCpO=@5fq{YH((K5I+zSCLkOcey delta 19 acmZ3(xQ3BCpO=@5fq{X+=4ix3?u7s;+60dP diff --git a/python/ur_simple_control/visualize/__pycache__/visualize.cpython-310.pyc b/python/ur_simple_control/visualize/__pycache__/visualize.cpython-310.pyc index d48f6116dd1dd800f9a9f003050b74a758be83dd..31da6f3686755ce93ed26ca5e2cff7bcc988cfa7 100644 GIT binary patch delta 20 bcmZ4CvciQspO=@5fq{YH^6bcs+_FjlIspYa delta 20 bcmZ4CvciQspO=@5fq{X+_GrXLZdoM&Hr@ox -- GitLab