From 93e67c93884db7c00d2884aefe31a92fa085127d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 11 Aug 2023 02:40:08 -0400 Subject: [PATCH] add pixmaps to image viewer buttons --- tools/lammps-gui/gtk-go-down.png | Bin 0 -> 2388 bytes tools/lammps-gui/gtk-go-up.png | Bin 0 -> 2401 bytes tools/lammps-gui/gtk-zoom-fit.png | Bin 0 -> 1405 bytes tools/lammps-gui/gtk-zoom-in.png | Bin 0 -> 1224 bytes tools/lammps-gui/gtk-zoom-out.png | Bin 0 -> 1172 bytes tools/lammps-gui/imageviewer.cpp | 27 +++++++++++++---------- tools/lammps-gui/lammpsgui.qrc | 21 ++++++++++++++++++ tools/lammps-gui/object-rotate-left.png | Bin 0 -> 2235 bytes tools/lammps-gui/object-rotate-right.png | Bin 0 -> 2332 bytes 9 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 tools/lammps-gui/gtk-go-down.png create mode 100644 tools/lammps-gui/gtk-go-up.png create mode 100644 tools/lammps-gui/gtk-zoom-fit.png create mode 100644 tools/lammps-gui/gtk-zoom-in.png create mode 100644 tools/lammps-gui/gtk-zoom-out.png create mode 100644 tools/lammps-gui/object-rotate-left.png create mode 100644 tools/lammps-gui/object-rotate-right.png diff --git a/tools/lammps-gui/gtk-go-down.png b/tools/lammps-gui/gtk-go-down.png new file mode 100644 index 0000000000000000000000000000000000000000..c073ec5ebdb17144fd90691748f2c78cff935ae8 GIT binary patch literal 2388 zcmV-a39I&rP)!u;3(Pg|aQ0o(WSrRC-2HrG7QP4mK6&^8bGZAJL}q) zo}O+*GZu;V87MC=x0#kwIbp&}$qCaEoiQ<^asR#_^>_ZOJb2)*Wr=ffG$o?Gg>+Ni zJ7N69+~n&G~OYt$-eX={;HRYg~KH~fA-y1N4)4A9oz8Z@a{5Y1>& z7qAo8zCf`1R#QtuP|;+7v0%bLV^d>LR^+-du5tUK887PBDA0422Gj?82}rhSn6V&e zpcX9{8#Dgd{~h?D%TK99xZ*AM+NR%)-D?5ahGE1qgfy6@SnNpF zCN)3&<+kl#MjE5*daTRo3Y$teoDS%k9x;{hdcB;Yb?-4vnrcxx&7{;}TKM4b!NdO? zk$|Fh9+){ZY0s=#ZrE*hXqp!L)y*55j(ky2t|@eDPEL+*@F>#I)YLdVX7uPmsYE~y zfDnXDB}A{t+f=4x`I6;}mM&Qao*xgN--nWt^A+#@ZuiG_!u{c+k3Lcdj*Ga3j-NiZ zbk;2Q?^BXzLsb;`{XXcrh6VE%Vny1@bTEdLpP$bU9A{Fq;AYKNVN;3P+M1wY7=uy? zQ51PL2x-Um>_r zmV+=19l>A#et!q1PL0E=Rci#zl%>49V7JyUl@LXdXY5qk@td8(tFw~e_jjPHs}q{0p{uJCvK&Ols?{*4F+2eaRCPL? zP*nw#(uY;ob@+Vkh>wlO+STg?R)v(8_edf)H`nmBJy_h<)_UM-<(1oIrDevI%F5fm zj*bJtE~VcUDvBZx#*}uv?Gch*b;IXthpy}W;spZT;Q8?|40ByL&WOJQM~)W!Wy{8` zZxaUS?Cc!$Im_BGal%B@-~Jy?ojFm(Ldkgl{oF8TB76}=k*CCvJUe#@?xbY2wYS1F z%|U->v)NHscMG3>_Q}~VjvU)O@bic(pc`g&b?r?!oi13G)o)gMRzgE-TMH7VzkE!)3;|G1&Tn^c!_vOPjlk{d0pErVvBQVPqmz_JX=%1WV|^uuu96;WV}YwY2g z>Kj)p|8*H0$Ay*9G!4xyO-M{g#G6~*ny(r1C9l^z=wJ_oH>fJ*J zym?-p4MLi~;5A|1+v zv~4qDfgTBwS9H6y^k++iMGF^0Rw7GGo-`F*-CYNnvC!)QhEh4(UR8<|4L=U_J7cO4J>C-1i z3=c%%nb_m;@D`!cy0zK;KGFxoO()lAW9GQ9#0mp8Fp#ohRwp7 zHEW^iT387}2sk^3k_+c?^3;i^h6kefRw64ai)U<*-q`Y{uwnfM=(^rdf)E0`-H!7m z=W*g>QB>f8D8E+8%F5!wP-*Kg-V!#f&xB$0NDx9`v)OUJn+_(wF#b;6Y_hYr!|NWmG_4V~E03LuI zss;esD?kY8?bD&i3`u|x!i0fm0I&d@A$SJ>4uGS+zTOrH1Vl>d$JI4AXI59={PrJT zUJ+YcTWukD6@V6MbpQ$gGbBQKTS5r6df&}NVjJSU-3vT$=1B;;x7z!(?4(JP#=W*^ z{s-5tUO(8}-0TlQ>LK{vwzpd7vl5~H6IWqahq%w)?<>-`vUs#IeT5$a;n7T+7_k5Q zN(}WZMCBF=i2?l&GzRpo0euVTA$_XYKmCK_M=sC3!2bdAdn;EWi0>l+0000 literal 0 HcmV?d00001 diff --git a/tools/lammps-gui/gtk-go-up.png b/tools/lammps-gui/gtk-go-up.png new file mode 100644 index 0000000000000000000000000000000000000000..e8ff52aeec5e9f756b520f2efa54c4aff670b5b6 GIT binary patch literal 2401 zcmV-n37+VA_s;CH4;-AuFOUNcMFb2f8T{Z82npSmqNtFRLewNm<2p)|NJ(o)LXE#z z`-N{^3)&B@YJ^m!iIhz%r6D#0V*;2Mfnkj%f7i-XHEc8;@3VbNo&g2V(r6{1i_pWh@1nY#7p0=kO~Wm zq3aq73yLAFt&|L=Dj_+PQwWmFGMW;>oTKRFd)2K;;W?8(WQ z$XNs?#IGF_&pC%}+Y`0qF%tZ)+)9J*OFR$S5NB$PEbolG)>Si2?Sw%pWWuIwlO69sLsj#33x~@+; zv?(WqWc)wp9J;P!$pcI9lP8~&I5m}~rkO`##sIP$@)=B3Dy8*OVL>reRRv=VobyRe z2*KdsH4s8Fe$N<#s;XGJqzq5*+%4&5QVBE#W&|-K09g+CbW>2OD%MLyg+)jvlUa9O z5CmNKydSN{K4Sg-y$}Q;Yb27%B+8aPh@b6#Mj}bB1On5Cm^OechkTkzmFmh3Qc+>? zl;ZpQd(qP!j##?AGThx6iJbp*N{D3-F2m2Cc}}vpt^@-0(}I{5Ku8YxR2@on|yL{Y?r&wA1GX-`CVSpK@& zn^mQ$smW(DO<7;PQL3z{8h>6)o`(>E`SbH|`5%|@r{+IIzy*IW7|dFo?ihhkDC8q5 zQ#Mp>l1hq8FftO$xbuJwQ5@U(a8Ed*tG9{=fV#T6s45u#_D@bl&V|oH6e$2ZV2avStD`h6cVk!ZmQlam6R+(JRZxK^8g?SBKrFK5bg;_OpRx) z=Z$rZQD(q@>eR`|+0L^Ngt6aKna)H!9>dCqR^io`UzMmzTKDeV>zollDD>{;C8cGL zmy|3ZMQ{cRt&Mb31zPaN#YCDuYLHjMIB ztMP*;wpHilxqmey0FxX0RPgeDv>l6_ zK7AU3AZCQHEEAfh;qk58U@~h>rn$2ICT0wh*E=6KZd?cF{Fd(sA#gYx=7#z&Sf?XncQTW1|HC!C)|2UtjM(cKoQqIFlaR@>s@p zB$*tA+wB5ld}$_~StDRs=22Bm!r^dC+IdlQptr9V;Vk04_qookT(R=47hkL`+xO;g z#222gDSL3)^0!1MITr{7CN?b?3`P@F_qQHxjhy)S1Vqs>DH67AqqnaYmc{1H5Ws4= zbonCk@)p41oCj{(03mQVoapO2k8t<72<7Uev~kUMHmq2_qI}2pCtV)57pkhl?RH_u z_8qPzOO~!;)NDwBOh`O`^^~vXbH2W zv#aAkM`ycjW2`Cr=K6KCooqu_Pgj>fbbno4Yce<8iE6 zy~a&BYHlCW+}s=mqy8gDK0JBg-~oJo@iQ=H;lhP}9Q^$OeDTG z>#yqoetqy@@V#)j>$i;Cy3P2%8Rr*t)jY7TvC+sh&M=KqkH?E-GBJ_QhG8I)NWks! zK-2ZoOyioHo1*}pc=p-7n=fC!ywA3|M2LOVCTJOrt1a1dPWfW%jW_B$0BoGb1Sfs4nE%gJwU48r6FhGI9+Dz_&8b8YZa zo_oRmTrQW>_d+QP1OlRJCK@PcjbZ4eq9_a)mUVc6_x_3JK(1^~0RETu-Rt#C76=4H zP}V>|Y7EmT6$Cn9GIn^L;Qs$lp+F!Y5`mv9FJE2$#MW)D{QP`e8@z_Lw&U8ROBX+P zIy~!h36b*@VlW$4u3T0A)Xtx}yxy@^!sGT}*UqP1OUst68c7T_Og+o=Z4Sls5Rnk#7#O&$K&zTzVgd=9w;p>tE{YW<>lpJXlMv$ z&vt582fq5^?LYtJ*<>=A1YiKr0hj#hc^Tl&1?%edhKQ0%!Cb7zargf4d8~ z8JTq82|>8I(=1JFx^n>bRKjNkFa;RWK#=x#%Iw=d+rXI8yIT9ZX6{?IdmiAwTu!vT TFz7Of00000NkvXXu0mjfC!2U4 literal 0 HcmV?d00001 diff --git a/tools/lammps-gui/gtk-zoom-fit.png b/tools/lammps-gui/gtk-zoom-fit.png new file mode 100644 index 0000000000000000000000000000000000000000..35994e8bc76a0c7032bb4432a2986729c1f69c19 GIT binary patch literal 1405 zcmaKsdsNbA7{|G&p+!Womlz8lWUh1T?RN?#Dm-r*nGF=Xsy=exL6-&wI}Mo|hXL z@h#HM*$x7MAn{?iD6slk5&;L-#8F!jSm4>gcoG7E7*P;jfm_?mu$XMnK4eK~uvaw; z6rJdy$LK_WN@tR@C=e!->64m~o}En2r1$_?wCdRaXV7G4F_BW~rzntE05~m$M(+ky zPm3DFpr-&?kb~rOMv@DWPD#z6WMN&x$(evl2>BHGG&$pB79|x;GB!XUFssOLQYedM znfv~b%jKYBP{jW%54`{TLZ88xxHF>X}ukT);_6~`xvyGNY zZSN4%QYZ`-UDjz)P9(%0kB=pij(o??k$1MqAGWb_8L}>ktg9_9{y4X+v~Qrd|3z;B zC;u!buSwXb(N2?-63EF3S#%(WmCep$=5yEuoV;^IXNyY;zdv8dEi2((IDes>TYmXM z#m|?js;}~HUb|6qy{7hhZGBDMt(pdYT?7ADK~uvWAz#=mxO=auMI;opw%ixDh@~Ql z^ntuf+S%RS*)8h=>5)I|k@pYu^}l#NG&DFo@^WN!cyw%Je0+3#Voaf!P$(yqN`+FT zRH+n`lgh~{)zs9a`t{W7*J_Ps8a%C5tI>k-uXbieJENP?S?cG(e6HRa{wR)p;D0L39KJu|! zHEMJ$PZ!R}t>W=04K;y#9IMvpX32gD`<2|h!&8;Cl9ChexwEUSeeJxzFEdNAcp?RO znJ+bq5BwyIiHTuXRRPCyjEC0zV2#-Qh}tawBWf?#MR`jlrq66@E&(0|h5?st6@Zb+ww^K$!b(D3I1KPm$r{db`ImSA68A`%6Z zHbR*wpcn-;SaS>GpWs;pJv=R1Rs#33=eO@-$iYO;;)H?qMmYgSdTk@ZoF3CdaRgtBcvhW=olWum%@`Y|nynorP1;1^1X52TrOUT#HK zZaw>IhdSS7fOGp$3--XiT0kdMn57#J@G_=LDtRDkTo5BBfhk6!^+SqTXVtm1INUHi7Dr>7Vh8yFbr?LDw- z-@)DKnQ5gJCHoG7*fH@@(Q#41A%T@uW&02A-hX&^MRn=EL%a4J+8rAg-Pzr7>B@!6 zS1;5z)YdiBtX;R}<*OH=;lYv7;R(rciAnK^$?+LksriLDWfjG>^;Pu^H7#w8Ep1Jm zJ?-7S9sLt~CQa#|JZ-{^*;8lEnKpO9tObkbELu8$`N}2BS1n$>Zsod-t2S(2yLHFL ztvfdD+OvJv-fjC2?Kya4@4+Mc4gt~8{fCe4zkKD=_3PJe-M)GI&aFFlZ{NFj=idFh z4-X>9fBpc`pTB?q{`>du|NsBztuFEagV?1c$S;_Ik%^gwm5rT)lZ%^&mtR0oNLWNv zOk6@zR!&h#Ra-|_&)mY&#=*ta&%e8W<;t~Nw{G3F`__vWFJ8WU`4wm((30PxOyLTk z#Nz4V7~*mK?G)c^;XskL`PJ`JE?w)&@S4`N;6m3VdqoYsH|P5Izwi@py3lJKyF=h; z6UVN}Nl~1Axs!H&ml5|&%S(HAWACqZMMlqOe&6%_9M7NY`xS-7tEK-=%rtq?e)(mh z)Qx>*mG#lLx9iON`y(i1>FV`w_~!3W$bGta{olnb8@7Lr==D8O@cQ$$9lSBMPh2iP z`gJ^i^|m!kW@gW0XLHWBy>-C1=Id`(hVQGb_WxbR8{t%YzWu=E727!3LnGt2O?(l> z6KZb}{voM&3K$E?%zB8+HHMxp07aApD9$FyZae`Xr%I_zb6pKf;|itX{5(qp$+ v6c#CVWXxUoXx3TL7NLC2NuJyO=lgTe~DWM4f!EHXq literal 0 HcmV?d00001 diff --git a/tools/lammps-gui/gtk-zoom-out.png b/tools/lammps-gui/gtk-zoom-out.png new file mode 100644 index 0000000000000000000000000000000000000000..72e6eb43c6884e051ef8858bf5e0f08189458983 GIT binary patch literal 1172 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-s%*9TgAsieWw;%dH0CG7CJR*yM z%CCbkqm#z$3ZS55iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0vqAVndW zB{``KQTh3~dl*Btfud?4QODAfjQk=7uf*)qB!%FT)XcopA{_;v#DaVU=fs@E+{C<; zqSQ>0kdMn57#L3k_=LDtRDkTo5BBfh4^*)6$VU9iFl8kqB!Gglva*;`aFJd6wx_43 z?B2IEEi>83*ucO@Z|{L!`ws3-&rI8UU}t(pYH3BuzJnll$j-u3Pi+)r-WW_{8M+vWnu``l|Yd znwGZ4mbRwOp7!qEj{b=~lcw}fo;G2|?5Q*7Oq;u4)}p2Jm#ReC5*h>(_4GzIpr3tvh#b-@A9`-u=4|AKriX=>C%@ zkDfez{OtMD=g*%3t$y|D(?(|zkdDp?c4Y7K=l3lkMBQzeE<3L$IqWXfBpLT`}eQkzkmPv z14MuR{{8#!-@pI=|Nq(W?-npjy-I@of*BZ@m|0la*f}`4xOsSa`2_@pghfQf#3dwU zEamTas2HRYj0*pk=FBbZ=P-b!64tEAXJkexaO^nuFjSC>_pY5&aGyP6gtH0 z6jFSX%AUn>`)+!7M=<+q$>DkV=VtD<=Kk|KzoV=BnoH?iFSea8)5NU|wp#5rR(v?^ z=EcvUW>L33PCnbp{Ms^PX=!|QK*QOewTg>7HWWtJ^E6JiJ-vwg?CaeNbtM_M{!%cL zjQ1C0^4;-5M|<^h#e@fsFPnQcak&3g;$k?r*dcMX;Q^ubAsqT)MGnq|``xrStsBlW z{h!7hk;FN#%=@47`y|djMzg03hj}da3Ozo3{D&fUUuY6r&5Q^8Srhu}=NzzPj^I9i z%3<9;cKrjwA(f_#Y=N1aIgc6wwQJc|OwEzm5aqO6nB7XB>q7SVBYG~sj5L^8zO0{K z^=qzi?`J(mqmm|uO~setObjectName("group"); int ngroup = lammps->id_count("group"); @@ -131,31 +131,31 @@ void ImageViewer::do_zoom_out() createImage(); } -void ImageViewer::do_rot_right() +void ImageViewer::do_rot_left() { vrot -= 15; - if (vrot < 0) vrot += 360; + if (vrot < -180) vrot += 360; createImage(); } -void ImageViewer::do_rot_left() +void ImageViewer::do_rot_right() { vrot += 15; - if (vrot > 360) vrot -= 360; + if (vrot > 180) vrot -= 360; createImage(); } void ImageViewer::do_rot_down() { hrot -= 15; - if (hrot < 0) hrot += 360; + if (hrot < -0) hrot += 180; createImage(); } void ImageViewer::do_rot_up() { hrot += 15; - if (hrot > 360) hrot -= 360; + if (hrot > 180) hrot -= 180; createImage(); } @@ -269,14 +269,17 @@ void ImageViewer::createActions() zoomInAct = viewMenu->addAction(tr("Image Zoom &In (25%)"), this, &ImageViewer::zoomIn); zoomInAct->setShortcut(QKeySequence::ZoomIn); + zoomInAct->setIcon(QIcon(":/gtk-zoom-in.png")); zoomInAct->setEnabled(false); zoomOutAct = viewMenu->addAction(tr("Image Zoom &Out (25%)"), this, &ImageViewer::zoomOut); zoomOutAct->setShortcut(QKeySequence::ZoomOut); + zoomInAct->setIcon(QIcon(":/gtk-zoom-out.png")); zoomOutAct->setEnabled(false); normalSizeAct = viewMenu->addAction(tr("&Reset Image Size"), this, &ImageViewer::normalSize); normalSizeAct->setShortcut(tr("Ctrl+0")); + zoomInAct->setIcon(QIcon(":/gtk-zoom-fit.png")); normalSizeAct->setEnabled(false); viewMenu->addSeparator(); diff --git a/tools/lammps-gui/lammpsgui.qrc b/tools/lammps-gui/lammpsgui.qrc index 830a060510..6d5abb1d3f 100644 --- a/tools/lammps-gui/lammpsgui.qrc +++ b/tools/lammps-gui/lammpsgui.qrc @@ -2,4 +2,25 @@ lammps-icon-128x128.png + + gtk-zoom-in.png + + + gtk-zoom-out.png + + + gtk-zoom-fit.png + + + object-rotate-right.png + + + object-rotate-left.png + + + gtk-go-up.png + + + gtk-go-down.png + diff --git a/tools/lammps-gui/object-rotate-left.png b/tools/lammps-gui/object-rotate-left.png new file mode 100644 index 0000000000000000000000000000000000000000..a754bf560ad29386d0cc80fe33f0f429a2c495bf GIT binary patch literal 2235 zcmV;s2t@aZP)@lR!Wol@?IIBDM}Gj{ycsM>}deQw*IDbv>4DFYp=w4)MJOA5(s&k5J-p-2xiIKecbcwAA1)!$wF~=L-EY~_T0H= z_T1m+e1E^+J$q(FRrxkI&y9FU$u`NuVS~aP;C6)DQ8FW!&M2J%UX)f5S`}K2dkuJv zaj%6|aYEN!4&DI+IR3BC=g+up#m`6^n~R-33_C3YD=96?w-k{6w*@eO zC86FH2wITVIWP(w+al{k~$9PT;D}3j!z_;k_b& zpyJ>`Km>RO1mbc;La7Co0W5b+!6+C5 zNnMEpDEqP8W-ITF+w|Pr%w-RvT`iak72j|cK~ymUsDcQpU|C^-1k@0)ERqO7OLAfW zj&72%SQJfp__gez`9Hw4R6(F8#@WIiZ^m;%2Y0+$@$59DeXyV70{$P`p{T+`6z}*^u0on9obD?!0A#or2g&U?+o} zbk+E`5Ku)e5RFj80x%>QJCp-H6Cc3w4Kl*#K2>{W?0GH;{gw1z7wU?dblLzB?B0Q@$;&0e=X(++fC+M1(yZX@Zp;;k*E z{-3V|{hh6Q1a_%Kd54$J?|oO}jkVYn_;jPpO&vAy=fiTBW6pluKXfb)lAcN9M}MXH zlRc%5quZA3)>Dao=fn(PV8`T*&sfslg!=l2j${m@<-`XxeZ0Ha>S5)QceH~6XjV+I zf4>Y8Px9UAlkUK|P>u$Dz0L9v@byst{vQJv9#}j;&d01kcRF{Cp0_Ghf<4gF+Gpu4 zBy|Xlg@3~D>wan3ZmnbhTWleutQwxT9BpfYV4v7e$)LNXkuORPH2PE7!2q{d0j8&o zoP@SDpnZ~8AKV}gv7GxZv6tkQhy@=VyZ$4BP1yWzVe3Zf24^;cl(zdna!n}Sph)}8fC|+CV&$N z^3+pmZeDk%^dRqz$-8sGn8gKTOqfk)!zt>Dc75`%0(sT; z@kAoF)BVb5;d;3nY^t}F{|K_W$Lg$tU$jK>iED_AP``G z?wUsy%-Z}U8HDB;tX}3m@SHVz*22e}6z&}u1q?4vSi077>WgqH{t>$MWi8YdGHS^a zs4@Ac-g!L~Lf6QFyfqKykDj*@f6+70bNR|Vwh1udy9G3t7vBfGop1mHzVxvhU2z zCzEGnFPJ!W66V~0AWFHE!6VVm3sE#ph2U5H@7u{(V;4|YT~BRg?SX>5de?ve;FdtY zpZ!y&P0pVNrbH3!-5Oy-wsJYaXRa1VvqHO;e?%!F}%lR-s5O4q!E5Oxu zqvFB{AUmt*Z1=NvomRZ1ww*gIe-V1&M05x{85uc;nvx32j#r#|yN0!UPSfc=E9|^O zf|@6sNFowm6(?f#?XVhqPSfEttly|*f5*0Srq5e|ww&w@VJ9P*v#CB-#>t~)<-4m` zzxNCs?i^vqO~iBJ3ZK3TgaI_lwFhAD8QOgg8@Exq3$b%%ESitDoC4zqD;demrRqp2 zCytbszgfY?eT}q7%pDGwaPLISPuu|RDyW+ekx6E|eG=f=*NE3KZ2pNJ`x_p6*39qR zfnKgfhGtWF_!uSsK34IUayIX8!W$9ifj*AMz4BMh0XLk8c#soe9w2Fd6PJKZTeNr= zSTkoXT}tJ_gB(9tT=`}>o80k0gyX?T#}iTiulXj9@?z^-r3M2-=8Pcg(RsW!c0$(F zb7z}Bd-XUEpSVOb&<1o4q~q5G5CtX-k`cC?;bc9O$1h(m+8{&A}0DWQf|Ma&P`L_Sv=D%MQI*JM>$xi?P002ov JPDHLkV1nhFGnD`U literal 0 HcmV?d00001 diff --git a/tools/lammps-gui/object-rotate-right.png b/tools/lammps-gui/object-rotate-right.png new file mode 100644 index 0000000000000000000000000000000000000000..2103228dd9ec7dd0a2c0de1ef1fa5cb29bcd680a GIT binary patch literal 2332 zcmV+%3FG#OP)=nvrC6u|<*s+AT>fr14wvpQj5RosvpJV#S;WoF zWNvY0b6IqA8`ao;PieXYat3V4$5 zdnfNC=X^is`}5vbi3p$Pp~}8Ny3fWE!4eY-ap#7KZ*Z=#6z&{_CEzm@8H1a+A14rw z0ml>^!emF$R;eC$0O{^dXVN4KkG62c!oWg{h2a9ga1jfX56%GqXgh!t7{EExOQ5rc zF%?&Te;Ze=f9zI6c%%A0bw%<3V#5wc0Rk>W zBn%RA=T6ua9Rw!|`58n`ccM=;FtubO*KGQ8QOM!#_cy3n$pZ)kz&;BR2f|_30y-20 z3P*tgE>t8mHVO2hyQ-K{xQg8S|B{R1AISjlFb(kgNHGi|hT}46*M$uPltO7hDFlh7 zOo%TZN@UX}qg-)jEXAMHrQ zLA>b+wZiGCC4F`wc)VZQ|5cTFSpfiiafj50gJ+-UeC=--lV`cH5MLvLy%6drtMKL& z(zyAu0|4*`_{FgU|LzF&_CV^SL|5wT#Fw`m(R}%`1h{RtoYnAbUwbVoWg_B)hKL?G z#>A`{Xd&;i1OQMDd;8lPAtfVP&CiJh`!PK!h$4GzmG~lzu+ZAy)r^{u>AFq)2=roF z1|nkvxF{BQXCWv3J*_BjW@57!8o)#&F!{0t*s?{mV@D9f7_sfv_8G=nPcMoK5$*ky zGTd7qK0G$a z)ic}n?fA-`yVO3z!`O8w?&RaTic(-#@&SZk=2Zpg z15XTf5&v=Q*B>SOrk{d1pW;F`3vT}oR~FrZ{raO2=pDM;@&*|=uU-}0J@F>@KMN7`vV+*;XZuxjHjPMvevb4p(jKvem7;WsO=X8S11FU(z(o1cR| z`u@lb+^9F7iZSy#nj2ebs%<*d9Ax!Fdk2-5n8YB)3=pTh5hn`Z$BXe5W%J6sMR^P7 z&d)`69XvmGGQAktOKGZa;&4@CRmCYvAKy=JobozOL`3950Sv&5))OP%65r0pxAF_@ zE?6?ZaBg89y8FXVhcLYu(~CG#-AF@aUG;xjxc%9NAWhS$0?q0^GR*yqV7c8K~9`_fRys1oCG!q728q9ym=)h)W7*A zAMC5B-&V_p=(-)Jc>Jx)@cch+uh-)W+wd%v0Zd+$MfT<;JUwep_O+cKbshP`2W&cY zk}lvh;6Go*$Mx?6qtuGbm=suKf47hyJX6i@YERJ>RlFY<7|m5K3BU*-9w0R;X7r{* zQHgvO#V;zrD6L0)Ci~2aUlM@fFp`AB)#v@+ZT<)Uy8{ai_mjo|0000