From d4ab2972a2907581853cb623eefcad38aa6329d0 Mon Sep 17 00:00:00 2001 From: Pedro Machado Manhaes de Castro Date: Mon, 21 Aug 2006 15:10:08 +0000 Subject: [PATCH] Demo that shows some Circle_3 --- .gitattributes | 20 + .../demo/Circular_kernel_3/demo_circle | Bin 0 -> 210302 bytes .../demo/Circular_kernel_3/demo_circle.C | 27 ++ .../demo/Circular_kernel_3/demo_circle.h | 364 ++++++++++++++++++ .../demo/Circular_kernel_3/demo_circle.moc | 248 ++++++++++++ .../images/arrow_01_down.xpm | 289 ++++++++++++++ .../images/arrow_01_left.xpm | 290 ++++++++++++++ .../images/arrow_01_right.xpm | 290 ++++++++++++++ .../Circular_kernel_3/images/arrow_01_up.xpm | 289 ++++++++++++++ .../Circular_kernel_3/images/button_axis.gif | Bin 0 -> 239 bytes .../Circular_kernel_3/images/button_light.gif | Bin 0 -> 500 bytes .../Circular_kernel_3/images/button_line.gif | Bin 0 -> 238 bytes .../Circular_kernel_3/images/button_pivot.gif | Bin 0 -> 452 bytes .../Circular_kernel_3/images/button_solid.gif | Bin 0 -> 323 bytes .../Circular_kernel_3/images/button_solid.xpm | 35 ++ .../images/button_texture.gif | Bin 0 -> 343 bytes .../Circular_kernel_3/images/button_wire.gif | Bin 0 -> 255 bytes .../Circular_kernel_3/images/button_wire.xpm | 32 ++ .../Circular_kernel_3/images/d_solid_b.gif | Bin 0 -> 1009 bytes .../Circular_kernel_3/images/d_solid_b.xpm | 286 ++++++++++++++ .../Circular_kernel_3/images/d_wire_b.gif | Bin 0 -> 1008 bytes .../Circular_kernel_3/images/d_wire_b.xpm | 286 ++++++++++++++ .../demo/Circular_kernel_3/images/zoom_in.xpm | 129 +++++++ .../Circular_kernel_3/images/zoom_out.xpm | 133 +++++++ .../demo/Circular_kernel_3/makefile | 66 ++++ 25 files changed, 2784 insertions(+) create mode 100755 Circular_kernel_3/demo/Circular_kernel_3/demo_circle create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/demo_circle.C create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/demo_circle.h create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/demo_circle.moc create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_down.xpm create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_left.xpm create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_right.xpm create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_up.xpm create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/button_axis.gif create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/button_light.gif create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/button_line.gif create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/button_pivot.gif create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/button_solid.gif create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/button_solid.xpm create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/button_texture.gif create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/button_wire.gif create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/button_wire.xpm create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/d_solid_b.gif create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/d_solid_b.xpm create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/d_wire_b.gif create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/d_wire_b.xpm create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/zoom_in.xpm create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/images/zoom_out.xpm create mode 100644 Circular_kernel_3/demo/Circular_kernel_3/makefile diff --git a/.gitattributes b/.gitattributes index 01186938f56..27ab12f7197 100644 --- a/.gitattributes +++ b/.gitattributes @@ -398,6 +398,26 @@ Box_intersection_d/doc_tex/Box_intersection_d/fig/box_inters.eps -text svneol=un Box_intersection_d/doc_tex/Box_intersection_d/fig/box_inters.gif -text svneol=unset#image/gif Box_intersection_d/doc_tex/Box_intersection_d/fig/box_inters.pdf -text svneol=unset#application/pdf Box_intersection_d/test/Box_intersection_d/benchmark.plot -text svneol=native#application/postscript +Circular_kernel_3/demo/Circular_kernel_3/demo_circle -text +Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_down.xpm -text +Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_left.xpm -text +Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_right.xpm -text +Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_up.xpm -text +Circular_kernel_3/demo/Circular_kernel_3/images/button_axis.gif -text +Circular_kernel_3/demo/Circular_kernel_3/images/button_light.gif -text +Circular_kernel_3/demo/Circular_kernel_3/images/button_line.gif -text +Circular_kernel_3/demo/Circular_kernel_3/images/button_pivot.gif -text +Circular_kernel_3/demo/Circular_kernel_3/images/button_solid.gif -text +Circular_kernel_3/demo/Circular_kernel_3/images/button_solid.xpm -text +Circular_kernel_3/demo/Circular_kernel_3/images/button_texture.gif -text +Circular_kernel_3/demo/Circular_kernel_3/images/button_wire.gif -text +Circular_kernel_3/demo/Circular_kernel_3/images/button_wire.xpm -text +Circular_kernel_3/demo/Circular_kernel_3/images/d_solid_b.gif -text +Circular_kernel_3/demo/Circular_kernel_3/images/d_solid_b.xpm -text +Circular_kernel_3/demo/Circular_kernel_3/images/d_wire_b.gif -text +Circular_kernel_3/demo/Circular_kernel_3/images/d_wire_b.xpm -text +Circular_kernel_3/demo/Circular_kernel_3/images/zoom_in.xpm -text +Circular_kernel_3/demo/Circular_kernel_3/images/zoom_out.xpm -text Circular_kernel_3/examples/Circular_kernel_3/example_Circular_kernel_3 -text Convex_hull_2/demo/Convex_hull_2/help/index.html svneol=native#text/html Convex_hull_2/doc_tex/Convex_hull_2/saarhull.eps -text svneol=unset#application/postscript diff --git a/Circular_kernel_3/demo/Circular_kernel_3/demo_circle b/Circular_kernel_3/demo/Circular_kernel_3/demo_circle new file mode 100755 index 0000000000000000000000000000000000000000..0882c6541b8ec5ed7712d65ec55eb4f2513fc5a3 GIT binary patch literal 210302 zcmd443w%_?`98j2qN|OPD%xnVM#UOil>`EW*0vE?2nrZ3(X>L7kOVfGo5==)^%5JS z*)H2}T1lH$(BP$}O55~XYg0uHiV|A1(V_+=8Y|jOL5&(UDsBGH^Uln<>~8S#>;L!p z?T5phXWp52=Dp1I%sIKvw{YILapOGZH{NrYhiKr%1aBt7@`n{I)067)deS^!@qF2H zIO0jmY(N@Zk^#vQ5to4LFw%fCuLm91alpJtBR5|1V_sYnZyo31#r&RRO>al4)Wf~J zx+Zx%xnJ=}xulOrvPqy%0*zNTlJa7`SO%{g;2f0AD;1cRq2<07DDhr1&g1=eqL)`D z3g%_#OF&2Rn4jT4rMzs_l=6~u%F8P2>d&pMI(Mqdi>i50tY`k>Jju&?@}gWvfN(ml z)wth->seeAm>9nk5mINvxQ@qtF2YF&w<6^46x`RVTkHR0ao1xZkLLv3zpJqi;n#6} zUt`v0I<6hK?$&Xs;K|QPL0#A~zLl^M-xL(Eex~6>vv@dCTosRpW#zzBB(Qz9P`fzlaNu4-JD5#V*Z;*DJ&5pBeSbZ|M5Nz~upd{WjxR^}Hm(j_$ASJg zgjeF??+O)oI(2A*KjFrUwETTphoiV}!u1NSKj1oC$A265XoA-70PfDwh`t^Dn~1nA zh}?{;4_7j9(2?k5;J*MLjgY^Yxc-CdhXnYse>o4=zXkeF}icsY^cvhxz*XglE5m&=uG4hf0tYSn z_7X(gsUvSj_%mFE8XqcHqKV6Oc#RHELD-`2O>hrxDsipFbt$gD;9=aX(}2^pBtt;>G_C~W$hdzJ*O|D+>$oEk zz5vYMJGfrLbr-ImUT!t)Tmnel_Yw`k#U8fxnM?;(zP>nHryxh#UM^ zH_|U6!0!TdFvL?p?>g^rFY9?KTJrhC;KyvFuf|OeF#CAoAaEZr+Y7N@J22}5dbzHD zIWT__Tuk2#><4|d#(xBU^TPx$`x@$Rr%qp>>GY$;-#%Q1bISj3(3_F}Uz+|!7^V%_ z*k=}QI)G2o^itq1V9q;P{*6qC-)vmO4*~aqo@X$^#jq#!!}|Oa^a$vj+c7<6?w%1~ z+Jkrs6_4LjxQH(VPI*fC191R24R}Q7|1oeDFxv>}l!J491n4v09(@3JIiSx4CjDjL zd|;Y|*n1@Y!;k$i@vycpZZ1HK)8NBT104q#LNtAM+J*XZ=O0QUg1 z-(dRxMDgDVdIWU#`=q~%>rRLNKYltQ@H+z+=^rD#_iqW_m$m%ILb0nqQtgZS{Tgrz z=!KfTkc!8zRQu0QfU`h^1MUKzrR7}%+yl&cHu>EemH$T2BcP*Lp|hMG z^k-)SvpxR?^bydfYx*Ui^9Q$)^gW=bJZ;N22%HAYv6JQbb$Z_OI`tU*hacww#NPzY zM|$?}#8pV2jsArG!}9Oe`Crxae59{;lvktq-LL7#Mfua?$e)b<6lCx}%5!g&{7uN; z1%6-C`F{o6T)!w-XoXH)(A8hj!o|q(4W~w*mJ7w`%zh0!M(a)ASR+2z>xQqwxY@{(`v3 ze>HH*-xIt~YkV_s8t^+BZwJl-Hvaeya1Jo%8O;Ah{Fe`Wy-t5Fupjt`8ea%p56n3T z(+BWhGqBO;0OI*G@@{4#{1)QkZ8!ewLVB8=_!a!u1B_}2mJKD`Z`AT<9tZgy{4WL` z0q)Y}mjQcsCwTjH{^#Er9XY2Cb0^c0qvoycGpyvY{`91{Z zZxk2nf7C?i19an`Q-KdU%9{(^47&0E%YoZ~jXpA?>e~)_7wFS;f8PV#1Kgp@`xv+n zI77>S)bSwTHv<>zlL|Znx|zRy3)uT?g7?pwzDlR>)c7XgG|hxEq3-vW*}@I)+nM}X&O{m#~l;Qe63 z@`q7z&Np$3weQ=bHK3Ip$|~fS!i*y-3USFKYW5|NKsr zy&ppQe57Bm)As@Uf$z}r9h(9Ie(a~oF9Wz4bff=5;5K0H>yf?|^~rMd@9TB`8$l!e zUEnUHPt*8}6LEvzBgjYk!l?TF7V-NYOcZ?_>p9vp59zZYzv*v_Pm}DPYY;I1g`kgs zKg~q!*ZhB^aefs4t3XeCUhU;F{buq9&eQ21)cL=l>-P`fe9+6GC#L@p*bi*2C&o1a#B?U4{Dcw^jGIw?^TuNT2qCJwMn5ehKKW zRr@~1^Ec4Fz~smE?Tf%!NN@b-uv4HvV57e?f%Acl|11OcJLomQ^}wcnn}C~1*ZO-N z_@fWi`hn}C=T4LA%YT&rL(n^r-i$}(n*LSLNKZ+{fA~$sMLabX`f`;2xRxIz4@jP+ z_%DF+GI7uHRslzlehV=3Hvo?S&(ig42ll?0;5}30KLPV+((g$XXtmE*qw4=I=sC#$ zZEe4wLf_`c@{T$c`U3r9+!OCXebYWp^s*bL{-=Rn54w^6BP~ywuFq1?+d$9J`I~_| zfNM4G0PX_5{7A+BNE%xIQV~7{I)AykejYp%n=}9Xg?Jq1Dfr&2{|`i zOOY|NpdjF{sk*XYRZ&TS6iV@yU%WUYy`Z4DzP@Nx+1iY$xUVfMC@wFmtt|+wt1c}l zt6W_rHCt9yUhB)9w{%(6vI0hwl;@Jc{EM{?Kcl3}0xV0_sJygtO~7AJT2oV1Bibvg zEDLxF3f9!u7gU$l)K*m%m6rw96|7D76y#N2Syow6u(Y(cuA&raitCFCs_SY>ja8|R zWr3`+s#*wITbj85tmY_FM#)Nz#1m9mAdWa!9KvviQo|wgt%jtu!h%CMqSAhpNXk3s zFT7~>`3nm!nm2EmZ+XG;^Jg#g6@cBcKxQetZb9*<^IPOhhv&{<*2RZ#z)U)XcBf1< zCYb1Zl~-OS^`|Rn88YEJr8R-Fs>*`ZMP=naSQMUKhRaSfv%03VxT>J*22JR z%4!3pHFM~SrL`=?cv?I^hms0P)>Rf&pgk5B)r$92pa!*pqMATK0lS4O0_Ri&_?Ube z>oIG|{Dqg4m8>ZZWYtxd6a`A>FBH)hUpRA#iqDu{Tvr>Ys<^~o6sTS9FRNAbtR>5< zs>){<)xfKkBJr|7ODGRi;BuBFM)GbUAcJbl0fF%s^ZIit8{N*F-@;64dfP; zmj(i*$ey)C-?K_C78%ouN=nE=arChO8`=dsigJrJ^NK)0X+>GUSC*T#B<~{WI+$YS zlH9WTilS=Wzb#+jD%Q;-V-{Ot8Cu^}r5CL&ttl^BXQ^oh6bK7Vzp|!`qOf{Jfg)%F zU7_?0i!aQW3h~M+19MB)mKB#~q}Pses0$brTDoUZtVjo+?;;bbL z;2_IN*?1|fsx-RL%w?#Ivgw}6g8)` z5(7xNaxc5aEaF0=P8p;WgIP-!fgiP+kzQ8GHnkv7TH$iK^d-4f)pgZOS0-vRRn4rZ zT3hNvI{JKDusL-X@%vyidmC6$>@iNOQ z=2TTwS6RA5GhGy0e>yuG$%4w_no=|hbV6WXYCw+S-G|zOeDR1T_8|Z zDLs+ZFWFr%=X^7lD66pdu||kxvt-C~cLY>;UiHGFbr?W(N0GTCH&6oumt%H^erjfA z>6OybRX1v}%b1EGVOeQ)QH@L&r2{hMW@MDospgfHW6bpBE-T2Lu_V?m>17qZ$`b7{ zaZM*Gnpa-5rZ!4NGte6cpdfZNnnA`)c%?hiX@rbvXn9V5cegvc_nxt)oU=5ytup8$ zi;C*YD(Whvzf~S&=aL>(+RySD^i>#x-3^ZY!s4Qe(io3t<041xda#a-V%?6_kda(B z>ZtM7W!p@DS&5n;jWMWM4mYh@O#$Zkiz?T|OavT4PDg*?8hn)+^k`xFDU0t^apVOU zUri4qjVjg?rb)t!=z{T6I_t2erfAi?8t8I%-RjkFFIP9A425}u+fY`O(u>RO?gHwX zV?iq0o^7R5PHhwI+Ik+AjvAs=Rnd5E?H;c#swrDjRw-S|40{yQu`JUTExK29S##Ev z?unl*k(w|{kEv^_#z=G!xzYVA-4MeKdrfxzocn0?>25r|Sh^d_4664bbT%fk;e;q^ z7O;vSG89O=moKcGXoS6W$IYI<=s=gr8d#hMrk z>dLxuwVHNMhcYtDYSoxjb`?iNcLUGDDj2yrAY-<+6ceD_DvYo$-lnh&SFECQO2#5>CoIo)kP3sQPoxV=5|9Qd*;@Ib~(88c^?? zBth?LwiMGtj5W`8&pk6s>r0E>3dkVuJXw3xx~2^7`bT#_ZlgwZN0yIHt;Cd9b{wr18YOV{GMRz0(@v7i(du!T6_G%ve zTwq;!sTr$hz4xL<5uC^8VfSS@ zCVmTxR+W~kvCCbv8A^kWb)9SYo?aR=aK~GaE~s2>El8cJouyVGW(Zg&YZ5&KI3>aQ zh6A7IvW#0E4oy1JWl>_?o}7X&U#4~EEc=rUKQ%-8r@2*i7~ke#DRa4L0&VV$ixMwVr>sBR`BqYgVB zW@{miYsv=4n2SMsSY&Y+j;w7G%3*qz=rS|edHWob&5Y^Nd)rYig|pEwDl4w3k|9Ti zlrsEQ>3tO`8E#3e0T4E_W{0wG}0~SUXmjidoy0bKKi!mwB$h zERv}lZj(`aWl^=7|LcuVn`k`N<;EFYgj=I!+%1uGw(Z5-e}i|&)M^%*bXn!vs>`vD z6}^S2W(PB{yTEa+VwG#omXVI#9%}@4O=wg;F`U^l;zn~-B}+GMA@gY2emUgUmzr)D z7nfEC=A!4Rjh@#B$||f?3pBIbf+%bG0$Y2kXwy5WjXqcJVAqTOxzHh-_D?&?B?iYA zt{K>S%eq0$I$UWutelTshqa}8pIO<#w=k~-y@7+c9UK!KtGcuOSl0ZGXi{qLZpSJf| zWmZgjI(x`@5_>Aw)J^S|N;Bny3cKS{CRFBB9W!IxLd)s`WB2T`HOh^(gW8VgSb-Uh zN3Fvw^^Rd*lTGGUbBd~EYv0}&b9&k=4tiz`OUDFWBWIeaoNvS|58^gLm#mJRN>{w> zAKPO@Eee%&sPq=L9zI1!qo=n~)|^(Vx;5>>u1;u1HFh>@{ZT`CMt~JCLo}?t+{V;| zo`hh^TZ(lQ+v4&Cj){p&x{QnxtVJ+`KOemy+P7XnI~6*s1RayDbaqpMn8wZPlXf9= z_cZO0YXdfmx>~NYElWpFgWRPa@)?&shPxDtNm*%NerXlP(VBI#EMJPnic{(=G+-_C z%z}KU!1iA5j6l_zHD*h~c7=>g+2+5~=IV%8H3o0Ht@`1-Uv0wELxHxw)?0{Fx=CwSk(dbv`p7YO~EK_Lml4j(Hx}b?4V$ zbC+{DJSEc)W$kvJ=`ZE;7CZ+-j}`E%4jXeV$CSW{75FRw>WBMC@7 z1I9fn%ljFOUsZ);99%+Rv$LY0O1iRI;c@P?X_~7_Tzf@Lz*AgR>!~fPWX}9Di%EV( zoprwkPdW*vd0^$TTDEiCEh@qz&U!8o0WK~py|TIr+}4!O#w?@~;liq-k_9DL-{8Ch zpxPJ04feRzB7U{RmayRYJmrF_ttpq0aT-ZWtKd4Nyt^1nq0)MZTwHo3AJrmqVOb>x zdKeb>^GhokTZ`K{I1i#z@KGI~MO4)welF%V{&{tk#kj|V17{M%V6%4JnyN}I%rbvb z37S53Gsuu!B)4$k28Sw3s-0)*U6+f~9o2m5v9^>F6)Ww*hl?vP0bOtrp5J4Sq5z#r z2_En>g?^%6fl<*@P+9^X1Ys3UtDwz5lLZ*KJyVMCKx;~MQFR&4)>KZZvv1RWZRbRJUph4+j-2kQeF8W@ODMfPU)g&zXAejDj^^|N1$Z=cb=K^&3;*6qij|qk0@X zf}G+<-!oIdhnW+`fTwYNo)ymd;QxE{{bxPBVr7p~R`k zIB(80J2SXU!I6b&=jyn)98lyGRp-^k(^P%Q!83p1g4uHlz>{aA#_>P=OsJ6hAIGMw zpP@4}_lkHZWMxMl9`16dB{eq2&hyE4c5eIblXLz5l_Gu}R4o73$J=!Ac52=^b#2$r zPGiR%>W=BhSvvi6x$X3dv&v=a6OTu9963CAx_ZAl6-<)L%J62-VV)z-FdWBuzI&RY zGe*(JTl5t;BYXI%Rp(`3Y=La{vY)&LgLTB0B2Scf1}Q>C*G&d za3^k8XPXoMuFkwBzN5~zCJy8KAmD!l1gd5TBLo=YtYAGuyn}c(LmWbEV2IPXH!#GR z!e)j?;hP8yamcfUAtc+t5byG|F~mDJ8yP0!+YSuzGRB<@ap19o;c+-m$q?^4bTY(Y z^7|O#%y$<<9ERM=5Qm(*8RCrbc7`}>+rtoNRCh7NS^m#nX8P3DmT!!;Ko)rvnNVJgQ0=##@ z@B*AYWq2X%&u}5^&u|g!&u}s9&+sDHpJ6WS&u|Is&u}U1&u|&+&u}^H&k%?CH!!>y z_Gfqr?9cGKus_4^!Tt;{h5Z@gF!UCND`9_z--rDf7Qp@ti(r3-t6+bI#jroa64;;N zYS^FQ8rYwqANFTh2KzI-4EASuIqc7{9QJ2e3Hvjwg8dm*!~P7ffc+WP!2S$tVSk1J z*#C5db+A9fwXi=!9L`T-SP%O%TnGCzybAVb_ygFV;nlD|!)suFhS$RW46lRz88*QF z46ld%8U7IVXV?h)GrR%zXV?V$GrSS@XLu9e<3QL9`!fu}{tSNv`!fu|{tVZ{{tUyg zKf@ox{tR1Se}+GS{Tcog_GfrA?9Xrm?9Z?j_GkEW*q>n=?9cEQus_3J!u||zf&Ce7 zg#8(Ag8doZ3i~s>4fbc)4*N6Q4Er;@9rkB<2kg)APS~H}U9dmHU%~ziJ79l?zlQx8 z-UItHychOoxCQoS_*>YY;qPF7hMllK!{5XH4F3T8GrS-6XZR=BpJ5l@3qts3*q`A8 zus_2GVgJbpx5EAmAAr;?_yp|Fa0l2h?1B9m?u7jr z{ss1D_*dAU;V#&p;ghgG!>3?>hJSc_GkDS z?9cFZ*q`A)VSk2$us_2Cus_2$V1I^h!u|}0V1I^h!~P84h5Z@62m3R8ANFVX0qoCk z1omh6A?(laBiNte$FM)cgRnotf5ZL^{{#Co9EJTEdd7Jo49AW09AJo-B8M2_<%D5| zhmZ4&Fg#+M=O9DAm4608e25`|AwEFlWr&XqB{9TDaFQ9~qev4O;=@oW4DmAkB!>8) zPbx!vRA(|nyzHFD5FZXYn;||%l+F+@cV#lf2c@zY;=@blF~m##*$nZ~ow*G00izs- z_^{MMhN2Y;zHt7!JJ|EDbQfD;5&({i9Lcli0g@m z{)31!wh%WE4+!ogZYJ&(d>?TOakt(N-al7Db;tt{#!E=c_i5mpx z5O)z*3tmXvO4H}f4-lscE+mc+Ckrki9wPP#_7jf~ z4}DDe%ZWYXfd>Rv6MKn!1qXY&3ci{+mAGAS192L0i{KlG(}^1dHxp+O zR|{TGoK0LPxP>@}I9KonV!oa;a3^syaj)R}h+Bxe1$Pm*5qApSO59G|F1VYxgSbWTcH&Or2EjeVUBuOb zcM*3J7Ygnr?jg<^Tg0K=2T;m$+B(FmW<*x8M=t6yi?72Z>XO+XZ_tQ}U+~w+K!kPA6^<>?O`3t`?j` zoK0LPIGH$yI9KpQ;#}fv!70S~#OZ=35f>7t3Qi^V6DJFvOk7Ru5u8R`Pdqdt?Vq@T zctCJEaWiqR;7sBc;%>oN#BIc#g3lvvCvF#1x;sN4R!G**T;$*=k#6!d$!G7Wq;-L?u{S$i8d4T8PIS;Wh&u&eO`J;HF1Ud>jkrbd4aDih4T77Avxut&uP4qXE)?8CoI{)|cmr`Rakk(# z;(X$C!5fJSiBko)6Z?si1>Z?rP3#feL0nHf^p3QD;s)XY!JWj-#Jz&=BW@w?7TiVL zM%*cQD{(t;%vcv#C^o+ zg7*>+5T^Q;FLJbA{|rBW@AQm9jsbxIr*i%>FFmYQbDN`?HA)1#<=M&mqng%$2l1mpEH6 zSJeJ|;&j1WS^Eo#Qw4K{?e`NW3+77OUrp>0%oVr4o_J_T+COmv@ql2i!2Qj{y@I(C z_qPyt3+9U4-$vXim@9LCJ8`>UuF(A*#4UokQulWfHwfm6-QPuAEto5Je>ZWVV6Nc( zJ;b@dSf|M^cP#CI}#={ZnRgW>FRtl(Yx|7Nu9EpAC5tytWcge zbTq+^xsxX{XULZvoI5!=jejT=hd{#K$lgT>4psp4 z1PK!+C*XrAkw@Pe9W@mS`3@MH8OqlFtZ6~s}j6j7PwM}6<=A^w7CP%)065VXVhVC1>1BgTFgZqz17|KfuE{C@u z$pz@u5Dhi$q~BeT>vHLu21%B--au@i9JfU=c0;nMy7wW{I9?Wvc3-?a6(`QF+u`NS@b2T~*rRgx52 z#GPnpC_?ulYzM-*i#~74_$>Vi^O^pn3m$Ta{$wYHh3Gc^nfeoFSql$c)+Ti6F=f%` z$wT}6%rAYS&#yh;@_D0McB)Rh{SQhLrKfdEwI=Mk?teeJk7cn;W4ZfH76&s&%GB6%!s3u^V6d!9x z=AztCoCcN3cu!PQIkmxC5*!1%jHHd-6Yy_aBw^b? z!dctZSmzC+SAu7Ro070^N&R#Ei(!B{A|+VM1e+2-f%kY9CP)vQz%V4SOz)p!A>Z(h zrWHuciu5P8;e%-Xo4DP&=gt02+=gXXufqm};U>nisfL>vPsa*3k)o1Plv*R;Oe=;G{@ zha;sft`WucC$@`}Ey!x_+i<@p(!Z%4VYrDDRUO8w>X3pvD1ANeAmP2=!$+B*olaop z?b2a4!f+E~6%WQM9;7H9TX+W^Ysdq6dx1?|`f$&<0fgZuQWPJ?D?X$sKD&4aKBs_> zu9;Xy_={yEh19!QryWH*2sa6mc%#B2&a&dcvFfWthW}%y6A4$){wQd@=6AOs;UXpG zTeUl&Q(S__ko(J=zF>1MLvCf9{fE0#n9}BtnZnfI3@gRp_rIWK93^n)aFbL3LWX?9 z)Y6xVtVp0sAtCiVf?D<`c8E{#K?vi#2*XXJDBUw&>7Ep&`(Z8J9r>}YXC(i?cD?OK z*{+uYCZdW(re-f2A58gQp+qbRDUH?K*qEPbo~T zQX!#fu7#+nx%cCqcH#58a1$v?|BP4qCq?Oh1@EAdl8a;A$CT4$J9d*-nY;nnOmWS) zXK^hE(Fc>En2_v;!MH9gh1>+=rV;RlG=3yhu^JHu4UrKyaXh~3n9`meGli+a@2nJq+*ILct9l)&fbBY)S5OLxgcPqqLZkN{)YRPf z;-0qbLl|x%Md_dMO8=xN{cq;*-ET@TmcxaFYlj?kfDn zZ6t-bN4G9>X#vv;a=Fd-PP5{{@lkOG!~cYnNi((P2ZVKLNcj;amwMJ9CEA14WL>*^ zaKvYtV`p-gW z;&=ig+(e4fKWR$;q$vHL%{$cKoh7kuW6GI_a+HLF$DwvKcP_G-V)7mLg}4tlk*bO$ zO%+LsDsmz3P~>$el2xt-HoWTX`;`rtR;o;#R;oKpa~l+waz=p5EN}@oi5TKI!d=WL zDa1k2blMYFGOZw&R%oL{h*;b0dAK(eC)!CqQ+ht~AS`b$CxfX)Kcq`kqwpX^Bn~t!r4SABn zzIFsqa)&6{w}E0je-Xqu%{32G{LTeG?H3=9Q>?pS(3RbWZBN+OrPy{WwmpjNePr7J zwyaGb{~KVwNZ8k>k`Jil5tV#5lP^K?Fe)Uqyid`0D|!p*-@@7=>}!!2YXy*l?wFCF z|KZEL6;?-`$XltzXbNvPFu^cyRZe#=;2R?O?j6uVp<4^WZ7cG{wWKOx)0ku_^;(NO z_$N$HZ5s|z5 zY^4rErqO5Y)#B{~XiksWYo{B;wWTM7@TXB@*2?nr7m#+72ZisiaTRLmeV*l+(Gz&X zvDcD2I)xFcK}u1JME*}B>_sg@O)NRI5*v7GH#ZIYdBMDq>#rH%26)}Ejn^C;SC@pP zZxXi-fANpeQA0XSNRz1Ki7zF{E+cmjkyLgW-;AGhb-zl=O&27U?bF8`NwbCPH#TRZ zxX|%)@qc6YxW;EZcQ7I-5e`~#TjSf~f;~s}Hg(q>{)F#eAP)1nGEAO##?0S9ye3y~pGjeY893DQ6a9e+0d*D7K}P$D+lw5S5!kOJOd0dMF6 zE@T0h#3>+E3Ycscz=+`SjM!|`q6&CZ3V4$Ryr~Pg02w0X$Hz*L0z&BcN%&t&z=)tk zY_@4p1-vB%yu||E(giGF0gFzEEg)G6m}nQkh~V*z*lg3H3K)_ChFHLmE+7XPBKrb% z0khzyp1NrcCXL;rjn9nU5w`&2pKlB2x5@c!C+C4jV>#RMYtC_XV>rJfoZlhmcbrQ3 zWgO17=``oKW;LAO70&OH^Shd}*mHRt&bHTS&T&1`a2^)U!{j`yIg2YE6Nhs;3=opG zqd7AorZE}L?+NGk$oW0ZSz1xgwpcx931`(0hy@uD(+?QV?+fSm$@zWFSvr6p#^IbT zoK+VloEZ_*g&EEt2a`mXaFoY@2~!3Q0sHw9lcLgG!iQdy7~@IYO9`?lHmbB0RSNosH2N9QV;WpT@Pr1d0q{T! zkJOT}ot}gzRI>F9j+|6H-?)9!rQa{G>yw=weDn)>tW+=;)ikx4Ysbztu@dt61k(CO zSe)-*zi(vENBt{@`h7$Fk(UQD!7zWM zcBiAhm=1xRPStOoG&S26zjV~(&Ry=B4EHMANV)D38se33h?=-+tZKpsAJVeDf4 zX}Awe_e5SABxoa`c+KXfty9OeY|%I1vrr#{(C0Yb;TjN`vg@5@RYn+nMm;)(?9nA| z`}`#~e8v(f1Y}et8i_uWjK_Sw5|vgzSBV=jxA`nurF|?r8e@GX8Nc@VN>p0?TqSnl ze8Ojuv4b)ucA)iWTQY(Sn$1nyojRtaUEjp|Ys%*;bqh;X_B4fkrc!VJ=u^om>Ns2X zuf8N4?u)(W`+;BIW5x=izgoyW&|~CC!N{R!n=!Oh&{7qD=l?QakZy6%G3ukQm$<*h ziQ8tyDL#6}Vb3VAN8^}L#GPwM|FF^6qs^bSavDHA>54)2V+oIAcKKjLwe{2;!^BDQ~i6oRT{)S_HeT8%bFcx5qjp#mqc8cGSU6$4TjqA1O({s#ob7;> zbk@JwR1)<+i2AE~;wga~HKnD0WKuwk;jlVbu^m0TJ?e{v(6N{*%d;h`k!gLyOrPsc z>1Axs>_YWU5!)E6BILe+bT3@`I5~{X$3c+=v$Lm?H7m?^B*d0w)(k1*0qzeOM|cGF zuwyZA^U7>VyUA-9BKC8cj5*-!l$_w~6i54T_Fg|iuO78hS_jT!q<%n1V%@0rN&83f zx!cW0wMuuKvnG5;Fp9%lt~RXNHCAlS+6mVkRywEd?NPw)ckH+&ari{>7P~m(j9nf< zRh@R>j$o`^7#nSuTaeSTOET<|?9jBxa`PwGOVVBLPUqBQf>V>Op6@Bir0wTgG2dq> zpQOQ0hLv!`Nv3+=ZN$eo~>IREK_?GQRmijJJGRzg2!@kNC(Ibw@(`!znz_#< zQT4|lYpOMG$f;4Mu3cUe<4+tC*zE;#6C5>l=I;=lCWUfk@MALZK(r=qNbvmvj^L3K z_haPo9pol&;8?Y1febQ!{Yt8B{8qFOl7*ld^If&tB_v7Big7H*A$>FO;Q&9mj<@?7 zXI-B#CCR9#D#$Sk{_unMa2`QT3ABeiNWoTO@Dlom=&kh}!Jdmac~c7H979WgiKe<_ zxYIdcP;?;J#*#(rFc(tBUjNVX)SW@KL%GY)1W=4KacLPijo zy}G`=4X>-1(xUqQHX)&INNSCYYW!8bh0J>}GsZ+J0*+J?<~P;|-H&JYFAQQk7H?Zj zxaHB*UfC3N@M}Eq-?Zb;aYFh~c3g+H``@&qtDn6r+R84f%Lk}UOGkP(7^V4qR2Amd zo29VYMBNmV;(K?Rq)+P4rh)tO@jqH6rwPGal_P$c${B9^*x>>DComUWWDf*t^m*CA zeAAayH)wn$4Nr33YR0rgw{o5QVI+6d&EacS%WFK4hQ#4KIpV_^VY_;>0g%anff0Xj)QB~kmlW;0TwW)`2vJ>c$cwIQhx zHr~u;q)w@~BQN1j@#FAV(F_5z0D=s`>I`kS?NSN`An* z&5}-P!m`_u#jc5LMOd}$aM5JD#L6cdL>7|0H}+o9{m?peMCk3AI&w1ZgH45MTZ+}~ z#tTv64id=<&qkj|qqj0uFt?uf*rT(Dtidjfm3Rk$?-ztN$^Ta7OWyL3s@W21otGk(FnZvyPC>(+$~L1?3GR zNkWaNFk6eh85(vM8nRyNXhIv;g`S5(=}oQGT7d^dfpayNk7+00@E8h|va|v}5CxKp zQlN0q3VaRag_{h|IoL;vR-mDs37V}yBTLgm(Xxb_46O__ElV|@jzAFsQACawp^bV% zU)B`R5+)3@2`tp)6Avk&Fwqhoi+rJ0a#0cr2QA@YBB9|~^h&IRhUNp!me5r44!D@x zTHz)`yUA|FKgKyQO1N4i%+(^?|A>~bUQ2kINN5hY&lClWWkX@2C7dD>l8cg1IA{q^ z{WEQ7cwRRUE1{tkgJw%;D!C2KHd;bMyUT9UTW~Ut60Q*m^R=yTz z6uX&ELdApfVpmKv=i?DJ^AlnHP^+N45o%^425|k}1IQ0N6kTXYy(k9St@oR14(6dy zY34U*1+EYUmS_b|6#b5j(aZ~(N-MBT6i6;gfx6>+R6!q3Vf^Y5uAHgmpoMRL7JSgy%ap(nfpIEIA6L`!(1 zNGPvv$w(j^w1ksHLc{Z_{#XeO?fanF5}HbGjTx-NO@`JEnwIcxoMWR1S4bnM)*}23 ztwbbTuO7m<)$l!U@T zOPG&s9{Yut`(KQe(3JN}&}<1!B}d=`(Ozn3d+iqY>O>{sapI*7T7)kc2{&j7{~;3I zpvminJeGvQL`(RFNJuV9LgAn#T>A$~Xn5{^Ayz^|>jKS|&{Xn-I1(D#NAM4A!*N=| z<3++|Ey7u7sA9u5E#XHZ;d)KJN62GIC``13N8o+tP%F7835A1}aKrynLc{Z&J+TrR z+H;`U5}Hb8LW*b`8d{1i;VH){8=fE%wrCONqoIm~8?}Tdpr+xb4Vv5|UN4Znp`%WQ{V5((S12&HJK zB4N9h@M|LBMooTQ$YV(;OtgfVA|bgb35A1}u(y*E8lLAuis(t9p&jdz&{VP-ULGx> zp)ChZOL*xQm4w+MLc12>bS)tUj<$PIj~2Z`NFK!x3Q1y!l>?^SFsY)ltqDE_L?tAbuEcdru3{iTMVv~QGM3nt*fl|EB2Ox@ zMOR{jj5>mv?xfEpOisrVK5~$4v8e+w&=V9mk=YO?>-BvSR{UI9qN89oI9WnSl2fOT zV9yoVLaodn%)J`#R_o%nJqv}+cP`=VTxHluQ3~UW6f0P?tf1}OjmWK4`k!NP1TGtA zO;Lx0a8sA&Uk4tjr7YTXtk63({aMs3+$yMb3re7CTq+9b)hQZfkP;+sxibYs#aOvp zrzm2IRza=zk%wMSDbid-m0s^&#^lvPUKPg_nt3szFuBp(bWTY*MJTlXsZ! zgwzY@C@$1WCUp6EFtjLAB3c?;^{CqoUCwoCDkP=T0w-?)1JPczE{zm3kz1$0g4sxa zDtSgNu?;QJm7`N@@8@+;^=;-dl&>ja(TX+&aWT|EBST0bQ@l(NLjs?FkYqp3tZ1e?>{*Rza;>p>Eo_R6Josr&uRLouH;}odQ*X zCmhr%E@6sRL9N@FLVLm^hz~aPAjahhJhx^%flFHD3CyTGfrThfV1*C|PaqR|!g;1i zNkq#Hu6kVlOspqJI`(gHq4=I)q&Nq;Z7Uh+zeJuph= z5#DBO^!%N%o?vJXf~Gy;SbX(BJb_ZXJ%KT_9D61Bz2kHtTfyD1gR%h8S$HJel{(Wn ziWlPyqi6rx=_nE_j^feu+fk8ltDx3hum+2(5l2bYDRN~z6(k?DU<%X+jxt%NIF~6} z1-0%b5A7&FLwvBQ4>2xBA$#K}T=pqPVMgUBy}XkygB4PaLMC*S>M7gjZU~^bPhw?V7n_E#n|Y# zIMfo|WfL!6Do#sC6&YNc&wY7S7Qr zD$$W)TZpJ>K&Ma^UZ_(nWQtZnt^1flTlhY9flU#_xGYTe#=>0oDho5CvM>u#7G{N% zg~@~#&VWOTg(ae;Sv<|uqwuL%3rjj!*lTsJ(Sw4?eHwDx_A=5Zk!Ms_U}!^lCT-_P z)7p5dBQ}Sj{V!;C4r8NT?Xea%v`)~ph54s=x>Cb3me)ot{k~q8wcP^(K!sQ*Y-2CVPm6z-5P6QLwgD|ZQ(N#*@n;37REdB5bL%( z9OgBz&DZOijK7U`5!8AR3Z&(3qiyjbIP(4h9SU!oJQ$`dtNJ#Q_H)wmHU?W0NYnNl zkBLLD$%`15J;@SQl4%?l$jY9~sO(Ah%ATx*vL~6)p4Y+s#GVo%E1s~b!SDY9rJV1c z!$~64?z>jU7S&u;*0sp0EqR=lwV2#aadOjy3+%M8h|ydcT1~VK4J`>Yo4Z)ytW7b= zm3fju(AHaX7_E1vv0ewY{K{sh^*X4Uu&lZX~R{|u`deAp9fH%WxrZMM3rXuC<}A4XPNvm)!gU&5eEC$_rI-4h0tsLaHDLOB6{UxiR%8t4^#ofd zK}EFKAH-r2(iUKt4f`U&rc_N+7CS)NIi%$s2)0fpOjvKTAD%7t3Vgcds<9wjYJB3k&8QrIUon7<>|Vv-28d+S!@j<;G;S(A{} z)~v|-;S;e|5W)Zmc3RQdHu!(E#e~oSf}K`0|M)ME_5ybc7Qz+~;#CpCQoj#beMP8s z#lMjhx>yG*Uca4>=GAFlB#k;B6F3tY&?bBp9)MVO> zK6FAOU?@~+5T_2x;NY1#GUIi;b?7|V=s0As9DDuD8t=@EEy0c}CLLj&(NP{Th6KaE z1V4O4wihyt!++x`$OI8YpU~*~InQDuSjpDhIX9TacikDW@V?{RkFXLBI6_-t5IW6sd2xECF9=}1SFrS^MX8th-$t2H=T!9K0V zGzAB=Ds|$Beu+~j9t!y;k(Ew7((miry9oae?Oim$w^GjTPwDp!>|GSW>$rOt^)f1* zQN4Q?;ceZ>-bHHtnR@@jK@()R1oy~Lj4h9e9dpH5dbM~L@-HTS!1 znbjyxx;jr_A?5ix2R0S7^ztoZR`?|{g`0(aACTwcNI@9PoE*7%H}26_@LRl}a84}= zTNzTOc;ly(tFar0qb;qn^g-?_Bed&@vtl@I70!E0DuvemAFOxvTNYC5|1do^yko4o zPBeiI$W_8kpIpMPK5YqKa+fN$IaBj@+9pbZ+)vB@PZ)7yb@XH$3D9WtId&EyI6W#(40s~Jhe6XlYAW9x=G@11rcHOV?H^j*Y>Mh; z#itJW)#(yr17}N1QAMyMG-jTjL%ZYGl_G4nywy#w?Vy67Y~qH2s}-_MIS zpx*NCx8tPZ_27txqR%d0@c{=VaT1Q1E5KA!uEVX;BWk+6LH7yCtkkzL&FS~_uWVsi zz)zu8z`mB3cH+ZeEE$o1R*@^)b)q9B)80kxdn?-TtuCD^L#OJ{srZd}vg#nKPMt{e zU)iM-9sHPy_Act$ThWOxe(6*>npL+>^_-;Y_jQw1k505rMRG`!svjqrF!1cH=)qSY z!ajaA44*KIAiz47&%&h7+XUZ+whuH|eID(X?$pX^VGX_*lRmU1{JlHc)b=BH^w=ez zu1emX9;ak<&f&a&N*!Um6aT8aK)2=JH!{pumJjxYOGgwl&HyM!u9gE;$CuZ%s($v7 z(sH-RA|#{5eocbPAdirsP%-;yA{P{TC~aQEc`|%A_Y-Bh2=i9y*6GHk6^4D5Oy7(v zlleM%oTf`JA3z#epeHO0!vN8L_7!_%&EAMst&>&_mqVF+$=)@Ri zY8LrvdLDka!|r)_4%pH2%5BiSKwPy0doAe?MtX z?A3GU7oh>GcJfY%*M6A-e=FkjFkXI6g8`E9zn(%OSxDLw zzEKYoN&heNE?pYNIbE9m;!Yhni+~>juq&=5F?|V z4}A=ML;ABpXg@flzp{f#oaqVDLv`LKeD9BY!uJ6_cQG-PmmFG@6kfRx`S|BA)CW=U zI>+V84?@0u!NY??R)+%5l6OAT1iF{Y5RCRxtH%gDvmR65zG;*fU9|=Fe}x~OM?If? z6tzNl4W>dmY6G%SF4SAcw4vx5y6bis-GM*+Xu|!A-fCW`USeSz$EsYlahdBl-^Kw$ zLqXkS=)+oyJ1&v`!MOnAH+U0C8$y;;lhD+qM94Q;G=nb$?f-^W`6N~x@AQfk69}~C zX+NFjFWTWzxkqqI%ZX4*J7^ma3L~DkQNL_#wbDAc(Zrx{uVoCpVeu;7ut*O1_D0*~ zQj{m{H^wfiuM=K|5vLU{s|HQ(;b^NOH|79XQp&qrc#mk-qZ4j;3OZvPKYcX9n;gDg zVz~(nnS{R5q>u*0>{{+FTKaLcb(Nqog3mQ==O&+MMK5_Au`m zq~;}s7u^}cZlw$lJqTEVgdpAyISZqV^f#j6b=|Paqv~U#a;RnLTQq{y;vw{UgQeQBP(+h_$jmtWrIHqY&Z~v^wAr_dC!}~KY2vi zcIADcI(c_T6xGKpCm{>AbHhF+wmzs8^6^usQqadr7a{Ea`Z}2mng04P70}7suTqup zCvOlR#gJ~uDDeWQMkhLwiC7~ww4nN<;6QKVOby>Mlozu(g#yQBte(X<8`V%Gl?uu9 z$}-SuQ>l$osh62=23SfV*0koAs*rGA8|$a#83cRr^R}Qb63*M;AbrJl}+tf)h$@bXj^NOc`_k zaOM8EVy9B0tjWUGRtx=Vr?Q}1s+$kx0G&(|PyEO6< zVJzr{u<7c9(PyirUz(amPsaBMQ!#^@6q1im!+*CTDZV?!aR%z)AcZbihMSNYlqlaL z{{r6^6kl`-?0qpI=aLe$HtB(w>dF5g6;?l2^9zT1?xkiG(nN;_X_ z!^kef8Y$?~BvTXmX1#EK3S)t3oSJ$G$3ClZzQ_i|Pao?UMyg)@(RL7uriWSdC@s#- zS%qU4qJg80a{D6Ox>rE53o#mAG@>{`S>y!1uFmXwaMVJ;RuBFeHL`ah5>Q<&%=x%g z{Z&_9Uf%JaZg=QMjbw)&VqCY?LHr8CwQeU-@6w(Iqd`xf{tGkD!$4*Q5XFoAiw7}hEAHr`qQ9Jk z8YYE~4JJEyiWX57J$fn5;(`AUd;@2E^}7Op8a3NKB&A0jnJEqkDVe+*p0tZq{r?p z7`ubMeO%h9VS!l>NY+`hzi552$8R@c>4~J@?SIv3yh|~;LRK{;#-E3jx}g}Uy6%cO ztH6Uk)h0mFKJA_b*sV?VcFr}pv?=rBb+C!)OL0lqQK1_F?X1q|$olOcnE&|H>CJZux_lgvmJwB3T?F z<4uC}kp@579J+HN+k&l8D*iR9Ue5Zz0-+@?a?!QK93n|hTqKe)(rp7Yo*S7 zs4kz}vTS9y@B%PXI&s=hrciihDz>4!z*Jv+z%tcx>1`}i>Gp!2*74Bh9^~f2jxHzD zKDyi#F}Em)Pde@XRr=x9ADFtx_sRc{z7jKDGX+RIQI7+*BR+uI{wsSY3$SFGY3!yG^az3O7qaR>6I`G zY#nD*GFH6OvW{p^{PXdbRS6ug#~k;1&{2G<5{?HK%!#7fK#?xvkW#EYbQx^PuIGI3 zVEtu3-eb$OpFw5`8XEI4;>Db#pj*}t^JE=x{ee5tcQsx!aomKa^U;mz)$AKAW>Y;F z+Q&v8N3V#{GZS9NKX}x@|C;$%k6P59w8CPu8Kyud(PA8UANtlo`98Q>Kz}5)Z_}q! z18#=xgf)K;MGlDJ^ZhiCrX83 z4+1dkH4JBy;Ynn;Ql#qB3gF>vThII^%$|X<{=O5xF!d2!cJLXflK$AlouzOdKeHm= z#ZjwJnJemU>3T4fE;VU(coBASxJtG5+IYBF{4NPRu=qwWENgIN4he5IjscX2RC>r= z{5y8(LnO?>Ezc5GqY@$c+hjV;*FXqL1P`b>$&&927CEF2#Dmv4Z~?Y|EZAMoX?R9Q z=C!XIMTYK^>P+~P@AcI|-+Q*`oH9Y~ zxu(bCiZ2x10Moj6XtxY&ye|+zS`+ z^lxf|x%8jtx?M#zF$xd1YJ)k-Pk7*a1Coa}@qgU{3&rG&82lJ-SnzPV z^rbBnwN>WXa$tT4OSy1fhwf`R{4ZAhRyc3H{!?p=oCZdsst)Eq49xZ4ZTpcHq+5z! zPwJH_O8y8URn=pY4uUtu?zN)^C2DV&QT_6FB&n)CJHcw5XTXkHrt>grZxho}RrkW9 z*~8>*QQZnuwceQe!X(W(+@rvH|WM^yD^{N>58Z;Miu2y+>>B^d*`9=}&w3~%|w z)$W}3-U8%d71E>%4KLz&XJS1j{4c$Yo~6sbS_?gi~RNq^6iF0vi*ni z8W6}c)%mKX_^JZDGo05=awu<~A-9>nK^|mHMV0JsybV2Gw1krE3rMCV>`KJEHeoW_ zjwfb9}HPel#U z5co?dP{b(}xNTwtJzxZ(_LnxD)&uEu+Q+Vf6~hwI#FVhVui>Sgd*!cu$`KnW_$gg5 zTdgkmH=0?p&Foj@ESM22I7QNmA+OhIQ|+`DNWl`(#FSRSEJBW_O2N13g42YVG@uQd zS-Q>a94VL)EI3QjO2K}eHrr17G#d5ZutYR5rByJCz+W8<%MLIGNe*Uk<38n(+o}K8 zUZVKwX{Pnwho@6Tg1)l@x8giZy+{hTR;*W!-=AU=(-m1 zNfQ%AO|HPpN>+l@WvjMcjRvv$#jF#G*p({h3lEwB)GF8=4x{)M^*?M3l>Z;M}44I9cndv2%3}&X##k16g&+oUu8EZ>t2)SSeJgGsh%L zO;RkfnHET`?!D6#8?ru#ayt5X^V|lDlF4RB;NJ_f{GwnW6d@!}vRVBOKlK&&9e%eOZ(HK6;-1>&++@Uo4G7 z`Y}l6piRqrwDSm$QF#-&pd#}>wDSq_2>!|fcK>dVtb#J)?AkopYF5u!okoA(l&f1j zg#K@Q-xM~>1h;VB$40gn|0c5?Dn^|Fz!*ZJwGKfGfK(q-mPJU5gxo+>&)65@0q6c1 z+^Ju=Pp3HxX@V;m;YxWLQZiai4E93fj=y|r*64qK3w7yM?@idN^iz6~6{R0?1)U21 zm~^sCnY%{qPGhN{o?@k7m8I?u`B%U6J`7$Q0XyvCr67oUF3I)Y?QG%B=N@>beEos- zFg-V-^L9J7ir>N`6scemWw|ASeuabgZlb?a!Y4F17IFr6XmAmMZ$mf_5!PvxZ@(d| zuxe4m{X{$|PR5gBRB!_=7xr1}u?$oYr3POP*R>t&;sLYZws-H+%>M${5_Qns3{xX|`1pr4M?cYbS9sih+}T`X{w}_B&d(o7YCvKz55hY2VSgpGZ~lNv_%H zghR`2^>5(ktd4RF#DqVlCVLEbJUwx1Mdkw<-W=DD4zknEq zwFkRN_KugNE_J1LY3~6c!Ov9dcJP5KM)SG*(0tI4)x%@+?RVW~dH6v#QXGx13#?r2 zG^Tt`LMWN^f$}+dQ%jMl*i{#$@nt{8H;udGp`{lu#pQV$AEk1PW-#}#ByuF<69-{Q z>ucME!AV9^Y^<3-vG`p~kc^F^bUqw*70f?$L@!10rtFhU+0+R}RykaBW;v7~fAocJ zf!>Qc=aXF2-u+}lSIduTX@T@JCw?>rB{`lswSk8wei66((_PP;{)6;9^ucoc=99Z#>Jaj9?BdZ;>we~pt`im~wpw>fNVC$nt4`&P@w zzXqph8`rHG)5gi}g5%hjUrn%Nf)4mRJu(Lqq|apI8&HmA;~{n~mW_vuHz^wn(QRXi zim~x`z|ywy+c4edw=q4RmAbIV*3|#$-y0ZT*8Qi77w?b%Jn5HkG;RCoAK7I_jRNNi zNybYwXZ;t#q)!pA;S(d)`WJ8yIar`ln!h#h{&pY#+JODHdyTiO^pU$RAXwhcO4Bqm#3 zxz55Ko+Sf{?>+pu$|(_w)p%(`{DLY=O= z-`B--Jvv?G|Ht0jzgPTrseJFH){%pPSjWQ}TW@2}w6Sv}Hm6>4 zq$4$foRN~CL`6G9TR(D-zDOGHZs-)EV%+iMMZ=TCagYmMhM?Y5kV)>v$n zyw;HW^in|6)+n}mUTa)z^_sSZZKd$mcv9|>1zRJ{9^Bm;>$S#-HuffojckoQlq9V& zMnw^=aos^vS!oS(dH&r7*PLqBiVi=!4W3z1-dE!cZ^@It^L=p4c|G+VZXkVX0G0I$lyrdW-m1)qg?3;JN)ga{e z!}PkTJ$j*;X2iTLm&uGeKNMwdrL)Roxy2Qw)RRPCe}K`X@{%+VuRS3x*@C}ZPL|X{ zy7$Ja<}I0XrB~v}%TSZ|D>u%0?_e!=;`O>FG$rgPKitizYyEvqPB*H+yv5AU@cAvz z2({$Lxt}97_~=2?50fvlRhnr9uX=)XE4b1Mp7I3JbCSi?R>Zy7ut|U9Di36`Z63F{jBbm3`}OnUmNw-*M7mx7<`w z|M7Py!wAcfU^ZWjVQn9)mj@5i>kAF(rK_H1@Px_l*o~S4lOg2}| zw9S2_;qsh=N9|t!?$?^h_s?3;PUQ_l7i`O^jwnLAew@{M$EI3jb6IJ4&LYWrnT>qb zDy^`I=Gd%P;3}GDedHTew{Tc7Umam~uxpL5$JHa$Zy7edm`PC$nwB4Aq3PtA&^J<6M%j_ni?xB8q z@H^9xUOz1~oLNp-KUG>Kub;}4Hw=x^PisQ`6tF41e(GtnkLaf(t&-PIuFbyXe!9{& z`CqvKD<Q?P>{KynXhoy+l&Wh~p?$X&OTooK@KHaAWuaD5hOEdbsW}?iK za>go|gxexkSZ#SAZnYoLsD>JeYIs&B?7`{!jaFTrqFePDHgk!>GV~#@&3vrYmS?(F zJKbh3Q4P=T;&15kA=#?S16`|rqRm{N@shd25Mwhx@U1ycpGN6%eydRpH4@eEtmx`X zI{I4TiT9YcJa+aGw6neoWXpKnX4F2E_dO;m;+e43zQJnyL)x=#u@be-JQew>v|GH2R6EIPr-!uL+A<_+Tb1Z;_sXa>ACh)7pY?FRQ(kW3 zey3cwbHB6B%y{%6h8;rA#jd{Si>I;g2>q}iylrgzu9Wu`@Ogtn^}5MKRY{aoIZs78 zj*PL|!$aDWG^(LSqPFR>sZ!;=(k!c_{a4t62HK?gp`?knAc>NK#;8aOI@xL$hqMoV zEj4YZk*ICPA$tY!8LGTH7HXRn5pA=odE4}2c>UruOhlTKb7$LK&4=5Ok!N6kIRo#$ zJZQA?t83D7WuaORHBtH|l^oF2Q0)_qNZh<0V5&Kqp)tbVoC zZ)12)HTlXkK$X7Ut5uK{P&CsIls61rBrBtMIo8{k;kHDyklY^+S?AIM;=D~KzuLNWA4JIe>?8XDjTk}XS2urr z*2FLbcfW(vw1uy3-gLoQ=#*Rjc}K$*A6H^|V^`++Y%|9aihwPteNYUR0AGlWjhU8_cjGGxj`u z2i-VTT*#nHq}~x<3q7D;3q?-$z4@O_x>1t0Ch5i;`EdmNmY6-yfW`ErucVW$qo1k$ z+(86petG&%1NAM^rdU&z`-~o?pzOD{|-Lte$(-YMXQr(mAXHArY$c zIyywi2SyTWJEhR7nY9Q$yFi`>jI-Zlg`LkWJz=+J?#WuC;5mH-R$(PeByYxuh%bzO z{`zBj;5t8&M@-}NXm!qb8oS2oL-)gsiG@FTZT6l9UuyrKdQU^Yl;RBn^F1K7+rcvd z^L|6g-LrADI~o~8V-!QeWpXy$aP zm~Ry&O2-hbP^wW3-q7i8v?k5up@H~6&aZo4l?2uDvI4A17!x~27~Vmzlc;i{8gdqd zZj{{eIXX1gB3tcJWn(g1BD>1$_nhRU|qe zktvCN&CN`Yo}rnXuQK_Jmx~BS9GiG&SmG*8%uNsen@33DNtszaBZJl4oM*HTZ{1z3 zOghQyKUoj5`M@bfhu!MvC{}agFdaCheZFMsBF(`>Slj$VC9ln% zvPz3Y3A@u-K($r!T5YOTS|&=nZ1y)1DLH<$UYcr!jlJB)zAmxm>Cq}HO0=SVwvWpz4laxMatV3JpdIna}j*}-r;=^>N z>3KfZRAKZCt}oY$`KDc8j^Tp!<@Bu8lUL84snnVY-T#^O+lr`h^)WoD#Q4NeAD*W#}oN!ChFzdwOS(JW@|ify*O+}~dcNqMt&Q{?(`e-i1> zUSBR{IlaPF`C1t;r4zp7xO3m!F$zifg|7Tq|h_9EP0GVav}2m|NIx z`oqUwn=zNrR(vEFBg@a#%HhnnQ7k{#%3FR;R$4Gts4L+8YgxDzzJgi(57(#L`Mx$? z__^40eY)>a(PoRfKHb-}jd%TkrOI+fdi9`Z6z|uG1sFN;_63aKRg%2HDAAl|`|XTM zUbWPFpb_sc>KJQu2Qw;!E7RLL!RV$hJBHnBC5?_Sv?`Yn;sEt^PACT@^ur#n^4kvk z?Hg{hqOM}Z)mE?(_SamxizD)ej6zSe3ol`hz*_|ck@||v# z&K;!&E&YPVBCkwy{TewJu`lxF?EC60or`pq+k&$6Ewh-mbKVcXmSt8abCP||E$=cq zN6ZYPuY6mjh0FDC)0J;u<9TFoX0k?zH#2!k$WP2nZv6jaX5!acNkd>CCupq>zw)g- zEfw9P|0yT9UeE3%>OV9yvG*g??!5aE_ZEmR2;PtI=JqY$k7zzaIaLn8o1q*d#LiG^ z=tnzoJf3JfLpeeZ&U$KXrI)z!{J(hx+|bu0j7sKf9kUAVAH!xTJ7vgfHcL714~`pw z%wu$pud|ezo0o;3Bt~J@uFgCXFpm=%#C7(tk?DXZP3NJ2dAx{JzcYPGq~hrom_-V? zVAvp+l=>kutKgnyyqxWVif`$ejWv^(h3+(cahtyWqBb{#;g?lYDNT%VILiHVb~jo0 zc47+S*Uh_~%41kgm4$EhL%6Sw+Nh!4UofA>$@;l_NgiAQH%7`PR;D0w)vIIrG%YbS z^I9wgzpGOa+%h){xDoePPkAKqG7Mj}ID87SRgyfaQxK+Bq8zpY?p7~ta0T3XWGiYU zdK_PEzr!#2hGuMW3Nm1KQ0XF3k{W&F<@&ny_HrwTCttA=U&FG@WZvGJf^cU^^z90` z4eSOxC%6J`wN~mQO-Ghm$Y)+5V@x46m(C{Mi~Q^>>qchlA__CZL{HdC@f&e0j+-O- z(Byif$bLJvomLkC)qI4@U(&WP1+gQ1ixZK5a%*1JDj&O4q*4PCSABdGn5u zm)*L1CT4C2_kHptgXhkx7{2V?o{wl7qI78pdG1`RA|2#jwA$-K+K;GqLybgj(_ho( z{*--@MAJ;OY2>94TSB2tBT!&1`C{L8r8mxqPIILw1{n04jx9@*+*!rcd^xOuTiSq*H%cPw&~B?N{u^) z(#W@e(v$vBnje@t%0Wn!eaVD0aiKJaOr}*5W!4&*tE-6c)9f7gt>54pX3o(!N9HU{ z4kdeqWYT)4JR`}NrFr#!$O;@0cuNl0w?WhxCRv4#f5RFaupL2HHL?*mXrDky3M>mR7?VYk!Tjv3)caC!w)JZR{x;yUd=| zkNw%?&{|_x*w|Zb>_488d{^1n0vr3j#@6zNNkh(}26?)$-j?z1Ht88oT84TXHHu;- zYQIJqyC5I>?^%gr9T5J?ndE3gX;tsH+4w?HN7`)KYm{cwz%x$CMxuBXjK7?g{MA!T z)ikq9ZD#&Z)G8Ylr%{^OESs4`aqh|As*d~(eUf@FiKMMRSV8QPculGWlvu%f5mbpl zYLFgM$gm0zqtH+#f`*(G4LPeCa%y?&O7*l3CuD2|5B z4{7ggkf??liP}~rx>A!ds-Pt-v1y7mN^8Ho!K9I>hAPqJu}78EiiZhH$_Q=mH@>Ng z&q@?$^R}G24|X(6Ue9}gKXQ)gZ(d9Dy!a$yeo1fgdVa-kiTtoNKLF2Pk^PMiZ>t!IsU0yAFcRTDr%^bD8|P_L5s_8l4fQo z&1*J|MA3(#G@YBIsSc(2wM`>YbSr6U^hZo}%&C$*WU5nBB@!7NYV;>;<#2Dp&TAId zQuTkuUJIaPzTYVubKPnDDP z)tV~F(Hpbw`Cb~yw!O;}l#Nx{sLN)1L61b@%#nCMCH}~#9Q#%E8>{jV$#gqhUE(6u z%T;~H8#!Mw&(h9X`vE%C>WU8uWv;KWD{XAH#xiv`7HMMx8q3AuZf9~Ax$QW)E!Xog zTp3j7eD&2y#CZEhp=0-F-u#tw?Cb~i>Oyn7jNCXUhSqOevLMu{QZlhs618o~Opd@7 z-YKNMD5O5us!PRqh5M44G+P1P1tJzBEf?9q}tY?W(tGAjpj=ugs;`OR9g7R|_(e8aR! z&CBvBT+MTmB)la@wA_*#$X{DhsYp1n^Tg6H)pq&n{zVxYjcWxj?O|EQf=Ya zB9!Ko9KGgzm!Sr46s+5p&JL{iG0o5IVW@o3&w*F|L}I2Oz3> zPLhPT;Xac^(~~=a{Iv~5&i!_~1W|9IrS&8)ul1_G4tatWW~B=l;&BvG=^?M_EwW=R zb(KcG-*Ya95;jTQDwEXfdP@O%ug#v|w{T22|8sboR({N#rjji6E`h$IB%{r7R7;M4 zS5oy+uM&m)`xs4FUz24 z(X+#fws*Cp=!u-3TJ&tqIJ{BJ{b2nqDz%8duX;_QRDP4E>32HUMmCAVq7l3DdzmJo zQNPzDlWA0)maS?b2U+bjtWkSQ4ky_hI7-{7yEWypv+vXn)8n@twNoou8L!7IH>7B8 zeO)Y`KZbCIW&zlecCJ8ZeJ1adXyhj$%US;6Nnoq18v zbhkPx=dh2TPLuDHk+NAjm!&J;V~?aH8u~14@_lWwPesxBYJ!&AlWddmpO#Z z=6&8Tu#*hAR~I~*QZJj?l1-t_My4FwbP6KbEDB|_XpPMOCBh7rc0?oTu3t;svXJUV zDN){CtCpPqq~aAJaa%dA(ET3~SBY2(ToqC~U31~C=pxBw7HVc;(}tI&D7~)NnxDw< zC_^bqN6BumX%CJxO^;w8$7M1 zcEJ`rjV2M>^hRN%Aq%ZpSg+c_G3Vsxt#;=|YWbW?!oP}6&Tl=1%N{a?FWf}@+?*A}cc`h7 zny}YCIQHY@trx&Mt@IMVf6ykbYgX_UDx?LA$b7R{Q#Hy~{Hq5kYjDRoRcke!7rm8e z$=W_i_%o+}&84g7suuB-9DH3Nt=5!$=_+}gY!CL+7i@JlkS#-CQ#bbz`D>j-ZXaAo z+e)$Ad0FM<)0?Xh`y*)udA!Yh`kbnXq?o%z{#rpUf;k%TRhoUG{V)2_R(&+P43|2- z*bbqfVOyEV9bhfk(i@jwDnt$N(){0@dLK&M9!~E+NTyD z5-nX<=XKrnJLK@{q(;kgn|GZG<|43N*F&m+?qwsx`%4dv*sYh4!_dfMQuVV@w>dQF z6))+7ByHL&$DJmHc#jUuw^8^Q^R_fo8}Tuoy9(>N)jya+=cUV#bFpt)XOo}Q|Gp)1 z*x$HjEO}wke$F7);QgL@WEW`@Nh)83)`apLAbB>aXTIi%4b;v%;0E8(4X*!G zyPs9byf=4E>;iLT!syd>mz;A~-uhbRcwU+QTYC&*)-tiXd*v?=z-_>T94`o2+d z67R`;*Vy6rbBFHj@k8z(e`wWr^PB_aduDBD%ZGP=dTq{kX2$Df_;nHIvdQZu$*aeH zvY|j$xcJIl(AeSmVY3c3PX2yZF6Dc9EC_DoCGRjj66jfRMduEgP*JIIal{QKE+KyCjpq)@E-$>Hs9ees{cL2lgy}Ozz5KsBV7XO|)rvm(?Wer`gz402Kk2Kb zElD#~^5z(7DQ{Yl>s$O|tZ(H(IC1&N>nXFAe0=0v&loK>(2ste4?0qIJ$fCbzU(hT zr&h`$ZV~0=k$1QqrIR)u``L=UtobC?H{w&;o3IPvi!ZpoLtq7Y?5A$Kr0yI~EqR37 zPd@d@r>*{z_OqWdTC$(1w0TF`D#Ha&s6q1ik%aRZHayS9vk=${8HOWNcGGAgk*oBPTN|LjZvr;mh zfrjKH=RnR;lAe^Fgj#WR>-bzx~Qd6C?jU+QC6G;yx>51uykgiIy zva_T*GnC}!@GsZ7Nl9vYYI<6NbCn@EsUjJzBt0`dGb6$2qa-^$I~_@!lH}Cn)U+h0 zKuK<<{B!yl(l?iX&HyE;xv9D7na-7lq@<=~yNRl9-j4m73usC`nFF zPESp65)Da8PD)L3l9Xg+X34=NE6GmeU#gR$BsDQrjx^P%rDpNZNi%BM*>c$FN;23W zeUfBxR(fI#(-6OHE77O>xE=Np2GVoN-E0`lj?vPjHG1$x6ve z&vwQu$xY{9rgM#vWT#}O<~YSlve>fYoe4_%ruG#(xK;_BolaX{r-a(1X7qI?D#=L5 zNXSfgCK-~LAxB!Ggq%|#rG{i?OY4*=Nl8vg&WU%fSCW>%zZ|FBki@ja>0at zCrzc2#LUD@8h)}8>4oHUXNnTqJu5ffxj{)*LRJE4rW#2`W=2kybEA@+ME+$v(?TT4 z$xtFaLYhn^X&Gr5*g=+(%#=(yglr{!)BC1#*f~nlbJE2UbCpm`W=^Vet|7S@xjAW0 zo|3G1`RAOcL{6r(Ea!YBDG4dGoO6K^$qh0@Nm6!Fc1Er*l8l^;oXk|mACTcGB|RlQ zE#3(zN#>MEOLKZDNuxP9%?2yc+)|t~m1HGlCDC);l*l+VXVPm%OA z5*jfp%NeLdDk@`@lI*nXG}QW=G}$@XGFB<+n}ZY!Jt=|Rx}+yC7HbP{Lytht+9vI@%vN#ll_ANjyEBQXF_0|z47nX*&EMqoW1q$ z#@Xk_%RlSvlZ{I^&fa=)%w0_n-k>7yr*66?5)v$tcXarS!7c+TGX0^{th zb2QH04kE_ci*uF}NVB#hq;dAvH5q50YTUDN_8I03G|t|-XXET;gycxAvo|N5arV~L z8fTwlW+leiTVHLQy&dt5vrjQT)Hr+VU5&H1GYsSG?NDx@$peHqKru%5Z6% zz4Zmg+1s(xI(sv&8)t8aa^vh}vcYu2ID6}njk8ZR%@{^vO7T>$r`xXD%i~ zxpDT^R~u(~y&_F`{LM2xeyuGTnvJ9RM5UU~s9 zZk)ZHnOSFVrd-C^TgPpkz42|v*;~hLoPD;;^E_v7=N`t{%e0s2hH>_G@^75I^{&R* zTTf}6y`6g)XRp^7@t(6c(*Wb_b&}*cdwXSLoV^?=^DpD-&L0(zim_>}lGkcrph)0g| zUxRm-+`9P(;!(%T9LH{=)1R5o1ibdeTH@LM0e&uNndf+$==hoOq%&)|9*;LL&^vHe zU^ug(!Oi@3Pk)aK}-%<7rLuA5I6Y zK#6~d-$}w@_w^^Hq~W)Fsh?95Wfp7*lk)g@$2f5rl_AE7%SC>AyuD(Vcu4nP8i;Y? zdbOKtuh?zY#))SnXQgv$_BYNoMe?&(>=_wKj1$i`663_<;}bJc>tWL)Ql6)%~gqU;wdTG zI>w1-WGFFCJljZ&6VJ_6iE-lb@p7z=b>b;Xj1x~c663^Wet?>B;@L*cIPu(El^7=; zA1{p+bmB^k6HhmiLT$H<43!usE;Aw07$=^atHe0*6fQN97$=_2l`q6Nak(!5F-}}A zsv*XSOTVS0SSK!R12Ilq4jN*dxYQY9oVXMTF-~0af*2<*y$vx=JcVwA7$+{h4KYq! zdK+S#xb!x}IC1H1NToGP>0*1uF1rxx#3>SDoVfHh#5i&3ZHRH=(%TU0#IbjXapKbT z5aYz**4;wf}6#5i%W1Bh|rVh0f8#KjIE#)*p^ zK#UU?JAfD`&UKy;|zHH=nCFGfrHN28nUvvI{XzTzVT~ zoVfHh#9XmUZ$pd|m)?dLCoa7WF<0!;+YocbF1-yItrzLi+YocbF1-zjQ;GC8q(F)E zHl&{t>21gWC34n7u2dqu4Y^r~^fqL=l6d+QlAuI-8;N)eiP!<;8YN-}kYXib2apL$#10_WDv=Wta-9;f1IR=ra#}zpDG@t>lqeB%g_J50 zqkxntk&cI4uSEI{Qm#ar9a5o0S`AXEL=GA{SWGfL1f#fKWx+TUtxk|)BkesVTECiCLL@Weyo)WPT z$oWddLLe6?5etC~Q6d(S%~+*GECe!4iC75aLM37$kl{+iLLe6@5etD_tVApXa)}bL z5XcB6Vj+-Am57BvE>j{F0vV}9ECiCTL@Weyxe~Du$Q4S&LLg(5h=oA>z2xqqSO_Gb zL@Wf-ONm$rWUvyk5XhNI#6lq5l!%2u&Qc;40_m>HLLmK> zh!sEvDUlw9^j0E$06ANUG$Evi5~(w!s}d;^GDC@^fZU`+b|F_Okud}^T8UT)q>mD@ z5J;R7u@Fds60s0SKP6%zkO4}>LLgTv5u@N@^=2hv6p-mk#3&#MO2jB2iAux{AW2HZ z4j{= @SO2iHzsY=8SAZbd(4j}1D#10^Rm53cc;+2RUKnj(J9YC&DB6a{7t3>Po zGERxu0i;NY*a2j`60rlwHA=(|AjL|=4j>bhh#f$#RU&o(xlW1L0c4^Qu>;5?C1MAV z5+z~>kWwXL2aqx)Vh51xm53cc%9V&6Kq{1o9Y89TNXJ7aE0KPKOi>~S4Y@&y)EP2W zi4+OB(Wc>!RlGCJNa8c%Gm@PQn?}86rd5-%!pTx1eGSRB5+ylSqIQrQOhY;62GcH8!vME zMen^}%$_Cw^6+qJf3g;bDOb*k!yUun%a!v#dg`A}8$I>UNgFNo&r92K>YtmorPL;E z^Ksb3M2?kBTTRmbyz!}doBy)3kv0FNX~R?h^0cAU|C6*{>i=0 zc*j7@*uN_0&Spep7zqTNz~Cri z(jpw(f*8q}XBuG>u}aPi2}5E}5+M|^Y(#pSmn{WL*5lW5h7Ad5*(g-aGDS&fC z+SU_$DOEze3O%t3JxNGt!~xz13hOa1C2C|IA(52EUJ}J#f}2spM1$E_VJN*wyvz`W z1d@qOrgA5giHL$i*`uxaqp|i+kdPLk=!C>(S93MOa4|xaNE%Hk>AcjQBtobOkc5{I zOsT0wU3SbC%2v3RXC*=-Q%a_xjKhSX@;tF8G!+S!XT&NDRxv0vnTs$K724CLM_S>ftT77dX-S2Csv^+A(0i@>XC<+8W}DiY`c6gWZ8oczVIuJoS8d# zXz92j|HujDMUL)WGP!(w;aI*|`SYet0|jAUp;Q!?-cT^Mw4}0ha(P@2r+C7+qA)s% zj0$cbBSgAiVX}f2jvH4nwy1pU#G*KoS5*45CI~4=>fU=oNo5bGytJ~gvZ$c4w4|h{ zaB@NUglmc`N!BEKV$t}p*d|Jm!pUW!nTg?fz)?=h^*h z*{`(wQ`sM7_itlA&+h9nP;;sF0OGvr+hcP^gvHs$lcRTvo5xQsBk|1U@zRdYqUQ11 z+*01E<}$C}H0`G7@?ajj!*oKn;W+JW+YKfxb37w)CV0mwVH~o9d;`^!Fb1APxF0Su z;o+tyabu86C|l4(*`FR3A8yH_cVCz++~`HNDohsq3`@+uVBCa?vWbN^Vpi7j!(uAS z3ri{{V&rk-Czcjg_73~&*?CJ6DX_`*F6A%&*4Wif_GjAt@7V8b_fPnS?`weAu-Nl` zc3(!l}-UPD@3_Aq&sHXA|DL32)LDP8o8q%HiE6ar44t1Nr7{D7Xr21OdKf z>JNsOmtI>`nO!((LQ%>2lPB`m>3-4V36)O5*ombTMHv$(nosj8u!HV0uKI^EFggiA z+mm=Z%7%+Vqva(Gv;OXxrRC%J@-HFW{v>H0qpsf*h8r%zi*+3JcON1rae^HI?8xZJ zE|$SHDD*~AE4{)Wku?0o4rPCZKQa$bt4UtnFD(leqvNqxgKQa+yxQ5(`3gp7fA{l< z4~^3%?m~t;6KRI*?zs~t7CGIs&B^9;A6h!4$Qe;uIC?7lewOQ@%} zH{9FPI%)-|lZH}{DMe!|OUwK9D;SC=sVFM1EGV2j6}!2U@7f*$Ps{gh;7xG+XR*H1 zL2u9(=FO&ddlEHppW^VG4YzBtIG=~j4imXsJx_TV!`;*@`4I2 zqav~jKcQJk@TvgSf}fRih^lH<)v|jNj)5M z5RpyAtYY%S!gB9`lKOZqgeHqC3lzrn@b~nOEt0$gQz5a80(0@hF#TPok*5{Q(`AKu<=l18M!t08(c?wF$7bH@#vC?&XYZP(B6$!m75_Nte zHqo!2Db5^2&k8*fTX~oqf-q_gle!D@sv8&AJPXli5=$m6#F81&J^d8{Y~y-})0Lcy zt|=-hD#x2qh8%m>xT2&$(WJ7<8!;eekJMoLbU$$u=v`663OGJVF1iUV=q5zbO>99o zu?5|(aghyJl+?Q@f%2$8MWABBG^rD(M7&d2Q8D3~lDM%t1MMy1E90-yqmUzMHJCqa zdtXV??OUBE*Ztu7KIJ>u-QdxQu5V(c>yz)XodbO1ip}Ae9DTuHcy@EgKf!jnEf)L2hAgwSc{ILrTbsBz{gjhZ>g=uKf3*#=)mL z&Krbd2qzvq)Hs~FeM4AAxaAP_AiRg){#{M@1mRY~`<%wceT3a(8XG&X80}?*$%G#g zjv#beH8xff_9ncKFq3dKVLstj!cPhJ5l(DPdKMDiPMAzMJeKr?uM$=gCcC63e1dQ_ zVaGP4C!9~Xk1*~C^k|nmU?9gn6T29cgHnJ}O5cEag|+X)vF?)z0^<9fo9!HtbO3D*+( zSh6rPqp`6!;R3?pgtdfaghyp^JcPd|)TIrxSlkJoPk4~Cm0fe6tj*^fC zlcp1`hog zIE3&J;Y7mY^BWuI5e_F@Mc8m$Ii=WFTy;+QG~A&PA5EYJ?RO1my@3G3Bm@#Zu@k~{ z!qtS+3F`^#2=^0mLN<0hiSv#yop32(KH&z!sf69{<+uqK6Rs!xkZ=d#K|<$b`hOwz zLRi13u`!!)1Pic@Bb>robh8Q95-um)$*NEr2!}tyaT9JL^zqZ4y9wh6U*)F-hY;qk zqTYlhzoXuSaeu(R39lurC!F^J?M+xm*qL$X&X;I!!uJTr5dMBG^(6d`a0g+(m#HV? z(R@NbAxU+MnKpcg6Eoe{#+k~h3r^eE*yzc}QXSuh>-qBj}7zgU{v*$L|fs1@Lc!+gF=>BG9hUt@InIONI5F_RXLZ#MGt4~%uC-V8MJJifZ$xrMnmK#I|4kPb|eEhap-?L52x9PKy%i1)! zix&HL9P$pVc@!=EY~->wQnd8Tk;|G%*)8PnCvF3BSx>2wevXAZ-Z`2xEB1C|a*VqO zWxb_t>__OpMeZX~)?(@vMIMKIJMw64n1}p)*5ipLFGeow_GCxNzZ$u$=hH2UdnB?M>X0ux-t~PPCH*esGf&_i=II>&yp!Abyf!-5oC7`vwDXf)UwV}Eama5&9<6?P z$lIp4KDoG~s8AoUEA3m1dD^Fggd(Ie$>}e5Bv}%!L=B6RlkaBVUg^TD$nk zV;nli{|ehXOkJwcc@dpx$0T)m1|8qvmfKh4n~;w|9?iyfBYzcnG#hKnJpaAJ$a^FI zGK$g3i3_jQO-Nb%`4qW65kgr94t;iR23Z19cSFJ+cJumus zxCOba4K}i=joI{jMNax?=V^PcaqdIDK+0d-y!?3N-Oh7;#Ucm6v6fw_|8V5DN>T?gz_|@63071x@8)d2B!@`*PQpz&s~*UsyfyZIXvvKTo-m^D;^v zq9fPVn+~HR?IG9QXN+=v`PfcuyUw9=)B4aM$YmYC%%-+$&%KGr*N$(wy(Is6$hRQx z%6>$9!A1TI@^6rz5kwg%XT6CtMGc<~h98Uu}8_=>dbGz$%N!sI@ z$o}vn8i0K59fu#o#-P)#+Vx$CengwVrH(U^&zs}=N}|Y@AwPgT+BvZvdFMM@o}Wnm zJCJ81pBAN0o%W8iZm#QlGK$=fysW0>d8MEH2P0pDytHZkbL8sZ9OF22y3cRz5Vi%tj}psSaF@vkv(dV%Eu3(#4PPBg!}3i+qVqm6-EkjLH~y{-2mKmQ)q z+m$)m%rKh{t3!w5v73d_=V-~uN8RuGxRh$qrbi&3@j%NqBYjngd;{`sEu{AocOUZI z54pbUn$9E73*A$yMJIo0^g7lf--^7YI!YP)k?%wPUehx2jNOWk+`oMDQQC@mLd3Zn zrZX6wG0(cb6PuntVLIc`nX=OLz1UPI>>Q~^Cw>*alX4@piuu?}Dav2(yiNbhe`t?K~Nd{2AUw z=)|}ad&FtY<_KlT>%QS$9@nE0$4QxD8w-%jdcFgi*1^hGA(yp&qsg}*m-VEFL`lCF zxvVuEO|JKj_s9CUCEH^C6qj84RSt+ac^zq9Eizee^V>> zlUB}$tz7nNTFc*6tzGQzFS`Fgth?NGw#B;N#5!N;{t{Pow&>q)UH8E@&OL1;roN5) z`4P_2Biuh6!6l*WZ$Coff9;dMFZ$e#M>;c)bQd1!%s*20*B>eIKkDDbN4ZZO?R*`IxkNT1igA0FfK#N!9uf2Ezv(~7EN z-G`2K?mbraUq4nfZ)-1qA8GHdJkI%hd-q^_=U=-2;9Y*MEZvQ{rm*?n-0!zI=JgQI4^XN{jWNRbj6ACcjJlf){~r?liWv7a(;c1?Em>B ziNEt?`TNw#?wXFyKTmdNcXWQ#{oi(!_}%()(Hz z>K^Fi{GpRu*U9-~C)xkDlSo%}mcK7`PHyb%?AQJ0PLr7RrzOws;{2%lFLsfb*SjRo zIo-MKblHDJ|Gs~^`@Y|~&+k6xcUJl(etuW^yRxhMLN{kiSND!?&Np4%ch7Y0Ji~qL zOlR8}?yYA!2hNa~&1Z^qW;fCNeK$!p`>a#=TYHxKTAcIYS?=9&&cU+U{# zw)6My?%cDT*=I{k{n;YDGfp(u#%Z}d(nBZw&dWXB_j)-C zdbz86InVZzm|J^`^bfs7^Yh-4_OWy1?`!9{o8z6&&v6&WJ9h-!FZ(zT2i)2|&Nl(~ z{yxrKeI(|yJ|bNhFPaZtW9z6O>^E(asQs`EKhY`Pj%L%O3b`8 zk-n5BnqQ_#+DFsn@7i?tvHnhdy8C@UXJ5MeRzGJ>U-#jDPD5Y!$G*;YeI;f?KauY3 zCz^}Rr`_v%ki2?491D%%!xNi@1<_~m#JJ4A%P-4CtDAGp$Zlr@-vDJ)Q7E_cG^3%jMz8IqnFj#PANnFLHkqsvW5@b@(5nbz*o)11An z-ACFuwXtra>+Fnmx4F)Hw9IMF_BQTIM>wmGko_lpE;kUq^|>z|pHr3oZ`$p zMfTr6#eJ)jbNi|8Go73#PIYV8?^#~zkNvw(|(>7HcYkQCh z?fA`vE+7B~fni`YC;>CTe6SR(1na$V7zRdz5-Ch z?f9*XE+7B~fni`YC;>CTe6SR(1na;Z>BJATWf3kZNgU>Fz;O27;- zA1nnc!8))RYzKS5A<&NB2k8O=U=SDvMuQSC1I!0Y!Ah_WYzEuG9&iY>`-t=)00x0! zU^FNJGr)YX6s!d6z-G|W;Ltv790->W=104RfXl#GPzG)WcY+7Na_~E_4!i~G!RO!` z&iSLr-9Zu<42FU$z%`%}+zRG{UxO9kIq)j@3upjefbT%-*IZwFa2n_d(m*!2 z2#f~TfvKPh+yfp4&wv-e8{n^C2lxj#0FKz;`Z|EFAOQM{0a;KmxJ-30?Y(8;34oNSPlLNHiM7AF7PkV>J6Tg zfzF@@NCjD7IJgR23vK|j!QEgf_zkE9uY-5M$6z=30kql3v4V6k3d{t{K^@o)+Sj?h zWRMT0gJoa?*ah1DiQgvz;dbHeUqpPkeOv{<7Tf@4gS){}@EcGIUI*`hkHK#618DOm z&rN_IoCErSbHNBu2ui?Bpc*U$kAmNVwct7e+D0dzk_`sW|Qk{2ReZ`kODHnga3+Wc z1Ht)VBp3&-2Q$E2un0U3eh*#&o4{Vs;V;+)7zJj6<)9Ai2JN?C7a$)@2g|?)unUL{ z9Qk&r|4(H94A2J*0Ox_rz*tZQZU%RP2f%XhJFpJC1?s`);2Y2g+P=fM0lI@EFc=I4 zSAc6kCAbyL2fqd@z;obL@E6bkz5w5W)_>(Vz-gc-NCVm6A}|_U2d085a1VGGJOf?; zZ-Bpo9pE3}061bRZ3eo60O$|$z@^}7Pzt7lIpBWq7+3{f25*A*!A|fsI0TM0SZA0xCvB)h2T-}Td)@V3A_hB1AD=b z;HY}eP0$S_fI;8_kPnJLIk*MP0}p~Hz#qVR@MrKL_&eAKVm{#91f4(}NCBDPLNE$U z08_v$umCIpPlM;d2Jkl64!#2Wf%_rnCO94R27N&;xCD#=lfX1^2e=PB0#<^TKpl7& zdB_YgWJGeU@>?KtO2iqEnpk?5_}J0x4FLKKo`&pq=OuAF(?2N!HwW{a4%Q} zo&_(0jbJPI1ndF-2EOf_1EBgBpblN%$D{+*pbq$Uz(F;r1HMn-pc>Qx-=}aO<^6a3 z`S1Ai-|^?a<4k#PaYI3eRjo{Sej#t|7$@?<;#GS0|&lPBX1ka6gjj9Ym!ZrSmt zit@bq?|cs_A|y6FdM7~2SNHyu2;Y+up7jE&ioH70}U3k zFL5FhosNHFjtwNOo0sb*IWOaufJq0SipE8W5Xsw z-`}~%0cL`=U_VIS#eEp?4A=#_eGwXeWMAS$COTu_i-Dw-JR~p4Q}UKFq%0}(eRMtn zUxM#It1r1G2d9EGFalf;=7ZmWI`BDY^%d9IV8AcH<>*cU_kva6&)`eo-HU7~JYsjK zep097-~n&}C|Nz@6YpumOAm4uMX47^}ghKafOwIPN1l`V0^i(ep5V- zlpZ6?v11F0rj9Ktt1O_FtaB8Q1&1oAfC;W0i#mm{`qWsoOUal&0WHnse02rdV@oGZ zVwIbg%%{b;PQ=QyWqJ0R%=6x4h&-G1Hj&B3qhg20x~i9lULFEJ+}rdWK}Z6SXU3AB zJU=c*ZxvSU$t4t|0eOZjdh%SkBM+A2c{nU-rA*P0=gac_k33rzJ$VkD$IFNE{Mp+? zS2p=J#CwJ;&yTOjaGYEcdF4ua!3ZGFoMm60J1@&}oWbmSb@uef636Egnns>m??7)1 z+>=WvC+kGu>B)2M!P&gKNkfTTj?dGRZ=R*D@*G{Bv$yBPMtL^wZK5Yz8SwPt(2GNF zl{}=ko9GGTyDU#{2hYKFTuJ;6BJCz^C)=&S)05}=JNw7TXXU}oEB6koC+*^_WgHq1 z;~bF@RCD}x_bx)oPxO30GLGIH!x|MB;Aw z^B#zCs-={{Wh~ZMY87~Ysz2&`E(pr1eoc~773Ckwux#1eW^!9mlYipTuz8Sf^Rl_Fd6yEObH3G{s(!;N8yof&Rc zn-F_4{1gd-TkD7sM9LE{653kp8{*;oH0{AyzTKDDR{jJVddWm z?-1lCI1j+9ZGXhjKaa!1>+?JKD%;<3d@{axn;f5v5AyDpw6w^7B=p`-7k(B85<94k zzIP?ZlM45R@$=wq;okAece67&-nN_ya=hc<%g%1&J4h(JOn8qrzUiC_!Wn)Ye;~x~ z5qV-8-%KlKcyat`A^yC``?vAUrk;|%4n7!rkZ)Oq*Ngn0%&V2Rb7HB7texA|@&H`c z&-HjdT-MO__-*jAF#Zf&*3$Ll@4;m~U5{gAj;yKc@t$y5SJ&es;Ig)^$7jH0eO-^Q zfXf=Y9{(#`*4g#=A-Jry>+v46i>yWKx5smZ@Nc+hVfh@mti|f-uYt>YtRDXiE^D%S zygfsZtjp^0fpA%y)#KN~WqnqUKLD5YSL1DYZ^314RFCsQZ1DRGv7bITsjaEzo6R%e z=fS=2)P-+{%Q|&3K6hpOX@sXv#(%>_K8ztSo$*XY1{qzhf#<`m5n} zaA_7v|33WGBY95CzUZgo67pzYX@B95!RyhNkyZ3Jz-w9CriYb(Y+Q&V?I-d*@QW`C z<=3A%W1F@-Pqq3b@bm2WA@!BDtOnh{b7|~e%KHpHJB@2Ut3Ma#y*2FkpM~$IK6HbY z_b0e)SwPC)4WD@|&*|Bh{O)FeZ72=d<8C|P)>{2`l8EhN>`->Q@#i7xFLP5#KN_CS zJC#?%MLvr^ZBxv803!bq?tPao{C-^E82oE*bj7|Og|8dN^J<$PuXa0mjCrKz2twBoxAR`^?3kZOn&1n-vIZ%85aH9>Bv1l#0Kr_A>(qL z0;|6nJ}j(1VsQ-Ba8-$jak9o$=sNciXQTJ$^H^Q#SpKa=y(>yIvW3Xo~@yAqjY*Nrtp zs(DYy@`>=arvH*1?>kVD_dA=l&N% zjyKyL?{vh1@{#@h@aQ_jZ{<*skifqGx^yf-=o3P`lhp%9~ z^2+BcG5K84mx`|Bw)@oL^r5$HQyUzsA=0B6uDALCbHEhO(O+&m8!UF#B8s--kaw z0h!cqUK-z7To8p&hrZ-@LSOom@yYYg`EXei*E`;6@YVUD`Ptv# z-a210-p2G}{J=iNUL^m`aM{FuCI21pdH3`F6#F9Y(VzQRBSYiyt8m{jq4`AN065O?X)QKb^(*&tdiJ z&xyV+GjzWF8Q%7ukpDa{2mj4@?wy}E!qYk47w!4+AUqH5qdwA~wQ$)k1j65i7b8Ey z@&oW8%qP6#P09^@k1h2-7rr~pek1BQud#>YLjXit)T>9G0i zSMZJ(nzd~t{}b{;-_Z+q&tp8Ge%|>Q2lws=v~TrwV_*0n{JCd8)8Ny?`u`rdw_cUx z*Xw-jk^E$uD)ku+UjgT|P+kSEg%7uUG2B~kO465Ifc;|sUU_Tao3V$p&=>i!L$GK1 zPug4f&G1EVF%#kbp~%C=pCWjj9G|tH+3@tR>y>Ze<7jWMJ^M3IduuO9es{xXhWV41 z;8WpV`Jcn<$^SZgJV(&+7vrCfvh{fi?yq1xi!t@<&w(Fb&iujhx8SRX@SMx)w`HPm zeqJd3cDT1Dfz)Tp#f7(f(bn{OpnR5BBAquP?yIaX*LC7JF&y{0Uydc*G|f-x}56)#xF1ZWAFfLfx5Q*x8S!iAMnn{Yp&pYA-}~ozgytm z8aR^Q8CNpj2s{7ohRc=+#NMBVr;~mJ{VRMuJP$7A3I98MH|^)ufBGoq6JheD@M3rm zoBmn&RQN)h{yq54YeVB>*Q=Pn(EjPjrGCrdvIT7VKft}UuS7m-H0=}S4>rQfu-6kv zBl7cU$Yt1r$Ja{3+D+>J27Gv!ze^m0y$&+#3`zP|;7?x^8lR^Xa{g0)8CE3ya(KH3 zL;kYU)kGfPU2Osx-+lxCj`s1+uY$3(7uPeg)`{fb0I$d2dG+f$j`p2m)!5Lp={FCyRz`afC`!w8J59a^t?o8k$yUIe}0}&EJ zLI{XaBnA*1LkM-NcjN&xJvB3(nd#~2?j&R2$ECXJc6Uvxt2$NHJu_hu5FtPa0VM=P zKm?44s65aR0eNhOMZpb%-~$0MAR@B8d7}9K-&yWC_g3BR>M*x^eDzCb>Z`k*d(L;h zeUba0y8u2yPj_-m;1>bk&HdzhIsXrU@5DZF8Q(?U|17YrMJMM!b&>tY`NQV?=NPzSetRVFhdg|{5!luMllw&wK3jKG_UnznU!NxKo$KZJ z4}p*JJmL3p|A*G$7s%sh^Ihg=7I?%P{||sK@{W%}s4nC9{mlLD2DY_e<^K0=U|)Qd zJN{JQJ@9kH5cT{*6Z!Z$rw<$fz8LxYpgFz*ET1p)C*!*bct85pkMmvb|2^RQATP-_ z5cobT@NeuPps|9-flqkrF$+A+``hvU8?dd5D%an99rT3b2h8>NYC#_vpUj6GeisC->iNVEIkpDPUVqQ^xyhU|Z));J*Q0;`y&N=br+W3g&m3`Zblj=u_c40*)T%WnZU*su2f^S{iAd>+N0 z-2WNCcQU@m8u+!q^WOY?8Tb;9-(LEB@Qd?bY4A4!z8jcnQ1^Qt@G0QGGVnWquR^}H zh&gzip1+0sN7h9DaTWxXyao`@iai*n_?KDc!*OUFg>Pv%q8A@BZd~_hlga zfzR5Z$Mb05r`_P*?B9qo4|w*ZL%=tA{()5NZsz?x`tcs%w;=!8^Zy0-4sZT`@#XAS?k~q>d@lgL$ix3H0L$m2{K@fe z8d&(Jz~{XJ85eus?PuxnyczffjPIcwQ{w~v80%@Df8e#rIg>KkWSf8Sog#pKRvybHGFFmj?{!`PloL&@YbvJg|)K7lEJ6{r?d&gmznS0SeC}uWUlUk9|HYr&|2e?6=D6JNpMgJtyfDl$fvA){n&Te=KFa>I`};|6hu`yj3B8i%PXWtE z=z+jh;8Prbh=HFAeD`_Io^$WtXTMP6xOyyWqdHv!-7 z*&8Ofa3}YB?0xn1PXo5KH|6?$e+VrxyS|FUM~M zwl$;$en0Sjp2y?Vc)tQXk3N48SdKUTC-aBAZ|TFi?_~YJpD}a%dB8`x-tLdL0PlQ} zqc`_{7whH8tG@uef7H>>7Xlyi>;>Nemd`KncOicd{Uh+7`#;jaPXhir>uJ~b4}ot6 zzvTHc-e>$V^aB0mY+%t}UI_dU_M^}PIewqp8Q+Z458n)Id)LVE4**}{;p^or>;)eF zuL0W{-*W!%0~er=c06AIelqm%BJ=#Ccc34=MAs*l^S=))pFd&1@_y(43Hwjho9_Y_ zfNukSn1SbkZwLNc1OF26r{I6~d8dF+F~9P@a{ouYhcA3SW$^j&z~5y**7;42Km5Jy z&zqgRbu;h`@}dM9UUw$9*Bl^&^IsQZ78`wXOF!0GgW&S*Q>!I)Gz$H39 zPVCc{1D}0?8{copas2m}@sHRSJ_vjl?+50p_y0QZ&EE5C|BLx&f6u7n@CRVqLqg3b z@V%f1mLEUm1ME-le$N5^>UEAj{3fvNbtBim7kCf&BG(JPd>r@`*H0LF_J4up^UwUr z`uzL{k=MYdNAX>*KLl)RXbb#bz&1Yc0{o@tehB>xd>=9A-vCUJ(U|^y5ZLy8k?X$% zJOlr+^y-EWBX0uR^}h5Y$je{W^=U;udK|E=`z+VL9QYa!KQ8z)=m+x96V3Dg3HbJL zC!f#Wi9AV-C83}4eof#7_V1(3`R@Y$fJdLM{wVx}@&B|rejTvwFCx$X3h)Q8C)@EJ z{uuMkdY{etvffqT53Er;!(4we@B;Fm%)eZ}4BwxJ!@#DbngI_(IpXK`B1ik=yM(CZu z4`Lu^gFlvE2Eev{wj93^c!~S})($V*E zfWN=$?6Kbg9`oqwWBwYJ#r=f;$oad0ZNCVCzXdFPL6pvpLKLh+a=G)Fs z6GCbG@5u3sKMntYUt4^9G4O?)Z^!p#;Hk$u{JY{a$kTPFe|`a2J}=@4wR=|7BqL{OP^)`ELTg(R=>Se3tz?;>I%${9^FYj^~rW_9M^x9Pk?t zIr{vtzr!BJdfE4RD)1YyuRWJ@Wq$qv*!D`3_rK5QblpO^=Y<334cs4i#&H1?u7B+3SuZc%st7EfXYnWF+YNk*_kW0iL*Sjrce3B*`o93SJxm0C zJR8aOJQ4UUz~A=x|NZ|r7xH;Ae{%ne4J^M2yc2ljWp2GXz>h~hwD@xq@J?#JU1H9E z7w{PHl?MJK@E<`RExsK50tfh_5(z z`IGT20Nb7o@_y(11Ng^rSsyii;2VJV82B)-^yk&|@%(`m;9EJqVvgSg{1@X+{<`!_ z&@1%S2XI{Oe-ii#{C`3}WxxLc@NM3BJ_9@ie%tq*_%bx>u#Qib>pu)^d*=!KHQ*ue z<6-9hN56tS-P4~2{}Ff4Kj=PZ^1L}<+k-}~|01yMZ6)yGuOff2-!3!v`vUMg!Dovf z5C13RrJKk-G{-*;{KfZ?Q+O|p&tCzy{e%0!w z*7BF@zXxplcL@Bfuk(EH`x2fn{OLwupFY0<_;%)Vafe>N_X2+&{mAaWJ^xHR9`wS( zp8&qooBtmG-{Q%Ww|xV7hvOAbEv-n5s<*x_6h#H3$e?I{HeD;5l&rp1tp}-v&mWzCY&+eY+KSH}vX$z;gcAfqxcxROpYu(RZNF$RA|`zXtdT?4QRO z_`cs|Kl1$DX8s3(Kf(2OKK};T_8AoXJ_URO=NGyDLjErP9{ZK`*=6o`CGf2re~Y=_ zD}ZkUzSx}qC%~VEeq3bE|0J;e$o)P8Z2N-9_#59xzwzX!ZvlVh7PnuX`hWD*-(Y{p z^)Cee*;hIF{FA^>e6^GJt~mw$U7=1J=gR%x417N8Yxm20fuG5KwDb9>|I7QM@7ei! z1@KwW4~ySF1eTAGO?mzW{|-Gjy&Gk|Mu5N0eB1eaBk)_#aqt6wfPBvUyvtla3VbW^ z8g{*|1-`uDCLYJ zKa=@+ggJihe?pJICp+E}urI$K1h&2Jg zI4=Wiz&klUV~&@Br9Zu0j~4=uar~`jf4mjA=*eIA#?kOr_>Gl6 zUj_UQ=L_x-UQ13!&^X7~R^z)yuf*!BA~@E4Jv?fX3UK0D%GyfQzp1m4f{Eq!}8 z@DmvSBN?w8f53fr3`~KaPciTw;P1cN$rDcjemeZ&Mve=;jDYvB-uC+61O6EAd%n5; zYrwWYhur@^f#vgD{$&2{O{UVfJbmaK;3dZQDl@Aia{WGw9?ENmpFulN;5ufGet^Y5Jh@4f{3+nzac z|9=HOi~XYc`}qSu6d3(Uo+tdX`5^W)^xV>mb05rldHd@pfWLamimR1w7B<_lpTkI>B*^AMXObLC!bx^RK|R|BsA!fW(ojJpHB)Z2OJN z@tc6{N9Om}fvY#T@q8Be?h&V-o&T^M1F!gZ=kI(J@OwDl;@b-F3E+pD_x&*NZH!O! zBf0-qfG_j#Y3^d?)9AAopwE_pPc1w7^Nqmof4QRv7yJx)?eJ4OUq^xEBls=%Uj)AW z7RMjn4*Uv_KOeqCpD*hn=huMmlKC_6i-4au?eOE$hx2|5?s*4+FMF9=k9Pvw&n0}h z6WI29m-)R5`1^|vAND+g`Q&+T<6L?EJn$*tac(2<^MGx?IkkR|+%fRz{kqqez%Kx{ zy}kv0Bk&u%_4#XHpB{V-xW3EDH-G!H;PdCsI{W9$^S%LWdy&cgijU&_aVO8d4*23V zYT7b3IsO&kuOk0je)UU_2A@57=k>t07r4;-_X69VigNvb0?Ws~|IaXx7WCEP_tRux ze2()c^Krt!@|(cV2EGw_?OeXg{cZ!k0DQ3c_j5a;54_(K4gGy0@H?Sr_V_!2cYFKc zlAnh^K`+YYejfzB5A@+t297S(;{jC9Zv!uJ{~s9mwZM0B{a$na!yf~E^z84uflqM0 z#s4z!^RS0o`tk6~^!*u@x_<%qDEr;g=hp*29sXwF^Bzkb0q(coJbwb%_VbeYn3Ln^ z2loDN1ip>)+vfZa0N)OL?K%2+cLR5BcKA7Q`Hr|Rq}=c0zz;s##fKk#oSTnJxaXpQ zr_Fr70{9#7H@iNU7j_K1)cD=c^qN3AEUqnm2$lvE-p74 zVY^dqbp|S}PP?0APgtw4$p)KCuirv5NJ;Vx?&$UubvptMPRC{%gZP214>hS-2E-EcV^e2QfMK0nEmeVsw%~( zyH=y+W>~4UD)s2{iGgt6!Na?E9SptTZUuWnWojan=E%bdRi{Ixxi+!It*!P)3 zeV;kp_n9MopE=t1nPYvQIo`*aqiT(Ueiq4`+RrMPQ~Oz_ptw?|!c(Zmq1V9Qd3_+^ zhNt^@*yqXmCHp*Czh<8&YlQ6cxU0Sx&9}-t-<-J6Y=v#PI%-u z%XM1dLH5VPkRoSc<;00#Gz=Tf)-r>xb)r_8TTM^w3jWX7hUUv{ z#Za!98b7k{;MKM2V$>O1U7P=?zHEYYHf2|O{#l? zTxKyi=`GdBT&o7(mUW5eGMA^8s@!&Hwzk+Pl_mm~YIZD~IZ)-_apVevIHS|`awF1c za{AFnJyyM_JY@m|8DZh%;bTYUn$7y|a!Z{udStfKsx=m;gW$-aa;>2m{#5ZuXJ}8e za&2jT`T&BF8FDZhWBK0IhLT2tKo!?(gCjY;%50}tm@ikZWxKYcR>xtgLrvb(Zcahb zU4o*e(p-T_SG!10wAwOzL%ma(_|k02twzuNvM2DcCm7ogg{ViN>{qj))Yk90(@GOX zS@)tmp*Rd#Y1bN&+2@K%XyMI}mW=f;bkUDO{{&=Bz5LjO5)ye^Ma<$oS!hR{=`uoW zCt{pqN6dFw>I5bPgXL;fFhL_mN$|vhGi-8=KOV-!=%P0nxR=W&E6>UVkE$hfL}>K7 zP8coMI;Gn5*pVwW#g+k$9+|G4ST3*FB@GHkuADo$5``UlkJ zP~%ZSUURlnZ%@v4f}pZgZiO9qNT)qnffexEAQTyv(u93Q<>krBTv(bN4)x}pn@lWe zygos&T)s96n@U2KMT(InpA}GU&abu6I4K||VA$nf3qF9>Yhy}NQdA}eG3Uf=XDC(>VPk`wP=@^1^ z1O-^LH9AbCaOaG&zys_}=C! z;)OShA|u$1wuwu|<0Vs!N?$qDMt2p(PrZFx7HVFJL&4B=vwpJCTtmY)$PeVadT@cnAU8EOJzuhEX3oZ73QP61N^Uw~nP#CUn|zKgi zN*$goyUSv&(1OHFt-C!mjUGyovvFALUXiXltiNz54Xpph8MLZWO&?Gs zQE!7{VS-}8&Bg(xm&Agbw-dDXkvIOwGPluRoRBPtewCr{GCiJTr-*g2)sLJ28*q=kHo8LwQaAg;!8Hf5?8OC$P<$?5)g1v-zC!RJEu zxlw!$Bm|LBDp;?gh!~dUD&Laz?Li zl~-0GxZqZZKcx~?Um!^l0?B#0>9+T9#gdOZ=%PqDL zEvuSWtEJUnW30~PH0tTq*};(ia zS%$Fc_fk5>R4@h-TC@3tb_4{2+{OJ`no-t*_$;~IMpmT*n=~sW2t_gA`7`1kxB?1a zTQJPJG|!VET*WY4ZMeN%)#MGcork-G9$i-E?Q}&+y*;*Yf5U; z?G_!C%~ft+t2XHFS_dnI+EMZTPWte+#C+%k8%1S{gR#|GPrsEShf&Pdltr~aGTw(V zFW!~2VJ0ao9aF0^u6AK;=qnbTM%Y%GY#pPUF`t*h;)pw()^kg2Uzv2fCc*Hv(aD(z z@+Wp~lt<)?{hA!HFA?mcGcH-f~)P@To;G2Dvakij`Iq>7;W~#2;jbJCCOdEvGbAt$;Q2V>_+Qgz`#ti+2_8)^?lUiu5mqz2_J zd4C2bHzek4;gM77{iRdHV# zOw{~l(=*$TIvl_3=2UsJ*hY2ELct(Fr(Rj@5PXmq+Qmv-mygdUKK)^0Kl5e0nsc*0 zDT>)}&VIUyV6s}pw5M6D^4uUt#ZTW-DSuDF?vmK`*|#ak+K{asNu!aOyxgqDC-i{z z!?tv;hC29A^wWDO4t5$8oype}qnW982W_N`Bkx_sHF0E?8q!Ivs`Nomgj;T|wxelWCqx`55l)m!`7NFxL*>^I z4DmM%;kLa_U2!x^&mzk2J#+J(`!nSx>5UBS2;?%A~lZ0Vj zGiRJ>TS|kKwZUL=h6V(_6z8pE)8!LNnP!Z|Fc8h#c~N~9QyhvVb0`D?c+18bO^Q+f z^lyq_OhRr&+`2v-G!E;;fYy8OL2vJ#dHW(|m^D1y1b&I}C5PFxUS>rqwtO)M1G|{* z>sHGx!qZyiYHhWhTG^Pwi}A740?j6xb!EmJIikMB(qRujZ%`EEjkv#f_41iUiO@?s zq2ZNNSdAA!~|6fE;c%d8OqIQ?@1xpOQ9}eZuDiSgsnGi zD(!=?8Ljrf@R1q9(1s*v+z^KiX5);Rj1>tHQ0{`RWyxXxE71WwiUo2N8>j*l)vv}i zsUrp#>uR$NF2vg{zAP8wlpGu)bsV_pE#}68L;nFj#!etHR7tm}uV(k!OWD{nn6+qw zU4r3Y|B_*ePztAxC|?5}2ewjacE5E(ToKMrCJmY5I@z__X(|h|I82=1Xv}79=-pxo z?ofNFd0hRp`8i365^lK2sqFkgJzPA)+GpY%!wT;;+009g3aa`&v)3&r>sQSMmZyU#Xe8LbX>}|s3 zaWvE_C&iZ(1pW^Li}e{5tf#1{VQuScpFu@q?WU+-ykuvX+BB;2E1GySAXzfE@j%sz zZ5M7ybiRs2^XRM9nY$QrPO4`rPR<0olR;S8kPkscg%4n+*`+2mAx{M(;3`2LE@(Ry z!>yNL;~0B25q>0=$^;R1ZLC9j)AjOwT8pYxZt{$M3g-2GiMQ}br*&m#VN6`_>;`$; z|1Y+ZGS?HyT3KF6Mf@V;-*dyYA6jSVQ}6J>*a1?>+W}&gsW`{!Ol6;zVOoALX4!$p zNKHxd4PUU*v$2(V;xn=wc%P7PC6l----}(XWwRk0XSAv9(!bp8@d9JD*ZSLFr)gp; z)r7^Sw3t;$TtJ2lk|lR{iQSu!x+VNwna&ng!lmPiT3QLtQo}gd-LAYuU0pq^qVg4A zvA+jn3nCs&MJGDgrPn5wYIS3^HhXRR3~OxTgkeohes&tT8+(~g=1pXse>YA}$lmwyR@6wcUgn7P!XuNY zv_qB0uc%a%M-p_KCpQy_Tv{VKZ$xqa4d#2W=mJYB zttLUxgx^#pS0vvElMGisQk{?+kDsU1Yh$VRd3N@qt;;pfEbod%nr$bF^GTuz4=sc- zinypm&DlL$YJNHbv~F!$!VqE7Ajgjo{hGohCo`r@HDa{!tTmV~Y=rBEh?($`r4viV zFm>h1!SYGUhG+pP7&7HZ3-29{A3AmJI&!UcjZ zF!8m@C&Q>wO~}1z%bKK{T$e~U@vUkqwp_&>+J`FfcyGPD*w)kUmMNZ+EhMSnf=H0b zfER5^u>%gsf1;4a36dZht7fi(QQVNpA7zr_O9qJ`_JdDS@xyUq;>cosl0qb!jBSd2 zi>`IX#h7+yA*!WRVf>j!SSUr$(E1@Sv>xWWUMlOlQCuvs%9rdF(x5Rd4zd)Rt=67T zV=H+* z7J=ypX|x=m^U6;L4hCdFyG&gr;42hdC)TT2wl40C&oog!UW}l)EmYXsT#NKGl23J< zoaT9F9x4tZ19}FtOcMmfA`tPU@J#=92VFZLBWz=6eG`GKl%D>qWSG%S+d+QR@pR#1 zZ!yOa&KiXaHA1V(G>Npm{+#M(9>eiN@yrtG7#cq%H3y=u<`J@(v`?!9F&C;BTT^@$ zg6!t5`h=hts|o+_VWN#$gyvOSqG%#Ib~9X36_9)}N0Qf6bxD)i7}I@; z+7g0qT%p*1929S*tym#eK%Qqr{H->y4i=CcO~H{wu2RC-8au1TucN?KW372DN!iJY zM4n{0xnPtnj_X?SjrSWUDryIrjAlQ2IpL}AaS|KlG!`-Nk#H!BP7HOq5Qh4+bxVK_ z&RvNi)*EVHsC6*jVvud64Vu~)vke0FeC228GFq9l zZHD#Qd?l>3SCwWOlMoXwxrH7fZP*y|s7hZ>k0HX#EG1ZRm5WjZml9+l>BtvJTGiw; z*$%0aYu1Jlhi0deCWp~h4Iye%rc$axB0H(#k-6wR8Affw3}x+NB_sBs>1ov-`j{RD z>ub>)ytB*FBWzrx#M7_Y*|&^!8OQMbdL~0lwW`UJQat?36T7v#NJ|&ig*FmG%qrWR~BvC+Jtbo=WV34WHh_*ZA}aEva8$b!>s#x4Rr@n>pfjIaH zTGl>ZUa@gI2}UA8xK2Npl>5A+b4f=jB#I75AY#%YxJGH0bWr-BB4&rh@zggZ1SRO&8~ z0m*J62AKt72Z%b6a{cA`+FDTLd%G5@wk}FnX95 z7FfTI>2?zEk}GfOEI0us?YN3rx_Ft!_ne9DNX6_nA(9E3+W7HAPm+BmOe-xsY*!Fhvnp*ZW5EKHGztoKW7E=OOI<=Fq*$fDNJmgs{P6iiWDj0$?|`R|k32HB@gt`sV&w>!?Bxj1M5;TM%%)nY<3p-gC;?{RIQ8dg zeIqeF>^KR8v*x{e)L85+g%M5RTE=1Mk=l*tXT7EH^bSw;Gw!I->vXD=B!THVxB8{} zVzgcCrl30=sg!C@wn>u>r;7WUc-FFZIhZ!#Uy`a2deRB-gW*WHpo^mbE7yyh@~Lm` z{+u8y{3T~1ncxA2T=&3e-{6yTjH5xNhyz?$r?lW9rWXfm@4b28W*Q_6cbO)|!&gy0&8HHW?> zR0pOIFwK9GeYwPNo$zKSMKtXR-ZHEKEkO zQ4(ga&Xt(*DZL*IS8HN`6&zOfF)h^S&Xrb#WCSJwuC|rws8;(I9S$MlC9B`1@u-Zb&+4VRH7+Bq4nsrG1U_;DKyaa#MUorkQh zUtiVB2_W8UP;b>@$MN9}qUL1dH|tzh)uMpj__94RH)&3sOI!^q%S*c&7(#D!=(eBu zT-xT>8(eaW5x>ti_#y;Fd#{n_^eIARs!_}Ia;ep{&&Lt1%=O4!%@Ps*fU(KDZKX(g zaxaN+=mzYy_*Lf99vb;NRCc$bvSXUcN=j8sA2NgZ+pX^)@ORTF=Ff2|{W62dGI z+Q)xKZ#C-{DOFksv4Xmn5YyAY%^t^6vO@p(bB!4B!$V%h0kcyygS8Q$) zJ=;=AMR@6;Udr)#y>p`LL^;!aD%YjvbG(Bo-RTV|C5`kXs$}dZvM$B1>0=dC)%X~+ zRGqWiD`8(r_Ea2-PDG}NnUy>P!SO3qyYP0Rcy}fX>1QK3M)D)x#%liw991fpAAg%v zxl+-%@tY2c-9RP4fvG)Jxn#zAtde5IVRHbe$_Ar8rC>|Ovk~f zp{3D1OW;bmCwz~>INf?1ZLv(KUi7hXC|H(K_PYI{lO?vE?}|!m(~XRC+WDNcoF?&+ zPEPaIEErcW;p*|XuWNNgPLjG6?0zZ1ubbo;Lw?G$ye;?_`+`$(AX-?+StC%$&y2@G z=q6H^ZUy|Rz11R?B`{RG*+j}#l~!WAwVVjgtr0XQHJ`wuV4S*9v;;}?sb1qFCMo5V z&lY+z6sle*-yOQuZG2Q{qF*z&qz_xxVS^Yyi{2^aFK3lLt=$b)TjfPeulOXib7APn z9{(3v%}uXP(ukO)?q1nAUTajtnW(+G92xY|3WRQ}U8SdICz_4w3mQq(+GU!jf-%)W zRJmP?TCr+xBC$z2gk+WVK*pScVszV_G~w<^le6UqD}rc_a}T?9t$+LOonQ?No<($6 zN5;6MHnkIDFM2x8(&rwds+F1T@8uaKx6g`d1W<^LU-mDlYKa-jugC|PN=4hG&Nr5; z9)U1w&3!Q{2ls=e%Fd^2$g-l;*6%4f6|#ALBrMcU9e;_7RCbXFtX`cRV|`=mg>3n9Dk~c3M_t`2uSicNP(SBg z=PZ-H38#m5CEIxKxn^9qAjd?z)8zbD%FUMJk!jyUuPxub4C^-E?w}40^$Pl?$fS@} z3>?a5k@Qb&dBZZ-eXg9W2RmhwwS%H`G$Y(Xs+E%Qv1VdSO*~6hd1qe4bhS%2LKBqC zuU3Ia`z3K%=!yjY5Kctb64fxx)8sV0hGfewDK#q1syNggE$Z3t!ARgS-wy&4zUcMl zQhP8X)@RhqFwe7Dgv;c%=}a;qVpY?H5Uep?5}?}zjx{i`Pc=KW1Hn6f2Qa!3(S6M~pEaGv?KH?#nvt1o)Obf7Cl zSS6}Rdpqs!G%;FgnSx#$FfdJDq%o%sg+kj|tnZ5&5?I^@al2BTw}J_JWFuuB>7{y$ zNj0M{xGtX-9=URkVnrlCs_64CH4p&xNQMguXbymxDp@nV%`Xpw(R=r!zOu36pgXk_Al>@`% zeO;DbY{$xlH}_x&y;g8r0x=yfcru>G1uga`OnBooIO#OSimE3s?(<+@QLS9Qvzb`9 zZBdW3R%GJh(iVYDFg4>CLvg{(tc%cYAXNsw@D$ho$YFPwvORPk)351m|2|Ono>CuO z%~7+yQPoUI>NM|NZAdM%b};57#|nK4>rsxu;)*sTaG$JqYVA@ZTm>ME9Wh^pIQn*w zu4IxVKU?Xv)D?aKF(S`9C+m?dbu~h01E8F?5juD?vIPa-svv{G2faq!Nmhz-B&$AJ zUZ&!LTnL2Jfhb8}O)!-DQC@s2I6$16kd?)=EyTt7b-WZ^8ubF%#Iaa&kv1DR_OWwx zl+q$q(yl6#G@^tiKaRoY-@P_)l4|+t!Iryw@%4&vVA2m>)aa0J9rpwaOL$D<$w5ob zx5e8!>E5a`6uEm^lSon~i7}E6OmnrBeXS;Ggww&GYRP1OkS*0^zl&c>&F;E1+i)ss znjWI4XFhb3iSL?=*n^7b;QJB}tE5lJ&1s_c)vubCaQTYz*MW(ylhi(tG zQThspPVPI1U;lX28q=04oVQ-u=(--QT$E^q<=i=&Pf7M#vs|65VnQPcOo`dvdjthK zi-na)6bEt8cZryJZBWg8ZQI`7#ve;t#8y9D#^|*tTB}u}(FJlvCL0T-X`L-18ywm@ zw%U*?0X34{h&xw#5gR5wBneaYEMjbRHUY}E!urKyjO9GtHDF`)Bu?wiy+m_&EzMYW z%INzg4jM}iyh^u$)+zg{`c1*NI+)~Dw?)jdtwvN2Q>E%9`cXaY>txwI zvYCSoMN0+>!;#X>E|SE;c>8bHVV5kXg9z6ng_gGYqlw{-;RbR5e%$aYI#w%fzh5(3{+al zp5`jmCMF0KxYn|+?$i=f7zYpLGGU;)9*#*YQOlVT=fql_{;-EwZqiTQpkZsT^i&h* zNUFq87dWO* zV~WCWO4Su|lo>&qmpJbw-+Hr=IgI?$#CUm0#P`yqwPx+(Uk+QYx8+0=@|5S_$tv5y zauZC-Z+RO#?YCsUVmCvo*s}y5^s4l1Npes)z7%1vi7Ss?9fOMIZxik-soV8yveoL; z`seNVovc=oOOq95WG?)`%l_o{?jknbvU;-oXRO!-#oF?$gngKm@%k!TjX2H9Md31e z6bGE}m#$hmHya<5m-6%#@jRlfN|R!h`n>O;fhgWo2vu}QAP&h+S@Y(JdQ@&)xq=u# zB-`{}NoIEk*ZfGGblSOSv#R2pj6m<{ZFa<}jG`E^R0k#oX@0da?K;#koNrS#+eYMU z$>v_S8hKg+$uf{y*N#r@@SVxBf|eebpu`PK?>_O*o%Oh62-ka5t2k%wD3!#xjEPMV z(I2tdU`jZW3Y$7lm8dfbr80YH>#e0$F5Z-RA(o}k`F;0GPIx4yg*X*ji89LfEzJ~@ z7KZLPSG~72Rme+84o+$(P|74bqWh%kV_5=Vwg&C`p$t-A$~-|UFI(;q8ICQ8VVvD- z>W-yi;Wc+hA-_IqHN`eW5`eBC;_>~w7D8G6t5VI#v+m@(_9mBPZZa4;Ld$B(b<}kM z7TMAo`FipA^^L0iNhaB-)7zq$l2SC!PRZfPYC=+5DIpstsFcq@a?l>sVqyyDkE0W{ zkX3hX{dto3;v^9<6wwcgNyW_iZ=Ms$qo|&)>=Cnuw2aU#n98dpC4|g5*SN*Sg&(uyc))v{Jeo1uskPk!>g zgOj@_!s6ux9FZb{3)yI@Xunvl2m7@XHFF7*nb5LTlheu_RGfj83WH#^A=<$z#V=JH z2odwOPFQZW$|plOjFxf|)_5<3DJL6=6jyYdU4-*ey#0c~`Euo2)7gmxy?e?+RWMsFY?G@l?n8^NI!`d@wgYIXIn`Fq!sbjKz=`OQrb1)#R|_8O*9Mrmpne*6TX8 zsDm}#Tv=U_U{qc!r7YM)5TCN;K+}~%*(LF(WMj+~g3UIsJjUN4sV7kKIwl3fs-S@T zNoK?fe0c_QSrt7-m^5wfW~0fyX@&0i-J}xUp<1QYR3(^Hah4jNdE?FJ#iU))W@|EO z^p&zC5_^~B#OWSvlIPDYHHHeIi}A68*E3zr%xfIS^w93KRx6#5(*8@$MX9;FMeU}O zG=-P92)-q?cbwfM=R{_y?`q^-OT*UBGVu3zZjuYzLMdrFT|uk)8zGC=O*qYDb54Ve zV}-57NT`Ssj{V8Xff(9-v?zC2P?ECbP$N1XO6w;b39F2qv*GjsX^zk-O9Ebvn3&r1 z0ivPh7aJC0(TzAU8V$!v7Z9&T=x2egzxOXz5& zvn1(1GOwAko|7QEMGjG(O4ePN{f@~C5xEmV?nM>kJ~x}3iOhYF(<jE-9UgCbq6$dCt^MZBEqrGy{%{nq<#;dNya8%}%c{Bq0GRLrxo1y&Lv& z#V1$Np$28#gn?OnSR1&Gk_ZEB3cdM?8))XaT>@#wty}(@_;AhdeA{Ra93*xa8h+*J zYdJiP6;uR36Qg`X_ACqY*04XLShrQAn}2nO*2RH=O6gdvml{=@Lgf`7?;j5Zf#kVK zlbaEweYcI30TQer7(*L~tKT)GtxHu0-!l zlA2NcMnM59PF(1&yJojvKG?>8Z0BoeNy%0>aSaDlFGFdIHA7FZrgD7QMN@^(ORaJ{ zGL0@$-Lo_a>RE?EsY8kT?5b2?*n2ROwKZaIpdJKqeE7+{1jyb+U<7SF8gx(jh@S63 z<>!m}axlhD!7SLRAsfdQ!%@?WE8Qd4{vH%MwdJ^JG&^rD24%2%B4e9*E}?Y62~BhK zvy6Z^f>=zy&n+pVg;PoUl-yj}&WKjVaV3VddNQ4-JxGV_YFg-F%f=kb(X=zmkD3x| z_v_rvc($_|b;PgZiwJ7N<|OI%Fdthf#Ry=rcAv{msIG|tM(sOKfV338OKZ#B;^I8T z_gn|6+AI$>{GdCiXOPZ(*03kl6}CpfxAZyNo5wQDT@~Y~EQ)ypFXUQx&CJK5bi52PItsVxYCNc zU2!qL4{EsWS{*-n-uFc%=fhXxbE7t@z?$r@+M4FE^GZ=QU)$wDl zbn1yzxR`GX85ILP)&iw2Cavj#bf=;2VY9v}&8{aiFRYr{xxk%H}MJ&tzd6?$=$6BTGk5 z1t|x^CxT!`HL%s9x@S&KN40d@)@9lBJ~0^yiDGsA1~Sd-NHIE)r+8(= z74tqs;G?!PJ2$sX%#Y+=aS4r^&sI(AF4;~+&$8oJIWh6MU5T@&qkLL|&lv-&-e(0R zZu)6#y%zHxy_~m}D~XWXyh-u(zByT&u5(k)jp^EIPwWnpE#*t1*)A;2n{qaid@KZRLtr9g+rBy_jmW7&W9rmu+k)qwWhMMRk^m@0 z#MLZiM}m6AXS>sf^0rL+JslLMcH~S&{Kf1!7;%O>-Q_Evp=mp@3@f%16TIo=saj*P zjLhTO8@rPvI52zdY*0cn6glPUk-F-Ob=lp7>q_NaH$B~+fGw@Ftk*8q@=dg+vap-o zX_j-}!Na?E9Sjfe-8&17nA^4cpsIw5N91(X?Z}?vgmC0bH-CO5>_BJ=VmSYbM5u*za?v$$QiNHv!J$i2EH!8n4)F?&h2 zAY)?~YeY)7%U);MOQQTF_mY*hH%Cy7u*c*x)Ah*;vTRUUB4`#`S?jbXD|nJbzD2$! zQlLplJ*^^eFiAfolRHdcsw=}du4+Y0m6we)?tBdtXq5g$4Qc~eW$RenTvNy5^v|oY zKx=_M!?0v{axYJhS9&+TiK<*sUQy;f&$@k2NMJIdAv-?0D-p%wzs3gNNS>Q7MNma* zvm_+`oWln7mQaRd@>V^}VUI8c63aMgT9767SUf!>ZTUmYi5?}*t>a9R%KGlEE4M~8 z$m|u)4xcgT#F%ri1UUb%xcbD~tHw)}@&uW%ws=Luj3{h>v%6tjQoyVkszA$j1E~ed z&Wr07uT>OlW-I_s>KQ{pdQ#LZOPv{RS7MMZh76ii=*lYu*HM!gchrNj39HL`AD$-$ zt>K%aHfJkFw^6ziJ z8@;~STqgWdy}GYYq*@A^I(xE4dgXfvcg4l16Gqg&7Mh%wC`@bIbxN@*)7qHZxXMDV z2ApqVm1p~RLIV|CdKSM{3I?U3bzCD;6GkT&X4|{6)z2hB_i--2fC5X> zEygd?>(puV75oG>m)Y_?JJSJ)gyX6z+9z5@{Lzi z$<6VI@Wa*GI*MICk?sK$0FxNOUg7`3kBs+1r7+2cvG)psjy%U!55uTF=U_R}BZOP4 zkf9cuP!5f9L&W|Pq6C`=7s|D|m{g%>HAU0>Dg(CSmd}`c3r8-7E>R(MDGg+8+e0=> zF!Av?cbVVWJu@Y=tZ{B6K&hGsHj+~>(kNkO_=~GlgYUIY2A$IBS$UATEmd}WR&MG} z(<_mh8=43jEwzXE6HGcXn+vt4COmf6V!^9&5!RsWWm=ed#V%L@-(W841RpVeb0isf z*~>&WD*;NAhewm{o20qKF$5k%-I&_> z)F?Nu>XDeP#*QjO2v*9dE6tUYN?1K!ZdFyS<5W?kbx9KRC{^w*IjM!pQmsyrGi96N zkdAg0FlKZKtzI_8T&uQHj|5rbCFT3+uN>Vo@Iu>Abl8QaA(^;c^jk6N&|pdksYvwv zaosnK8;apOMB>?v2}v$fXzd%mE*^B3v`41QG(L$nsFyvW+q|dDLAs)kS(y#O!U;3UN`3*a^xLuiSR#Z}xUOjGENJKq{7XH>uyI2`+lYBP$T}sFj-M zSl=OD4EZEBcB;ZxhvcW2dnTEND7DU(kXa{7DQK~U%#tD{6#G`}91z?-D}F<R=Lrx6EU&CKJ>Mt7~9lv*JH79QidmC^z;~8Vbat}&`GK4_T!yq zSXF%;7@LTR{zx{%?MZzXjZ67Ijm9MotdNe7c(0l#H!D7vyLCBDV^w*KAVwoRjD|;J zbn(|XuZSY2UxdkeFnzB>B27Yyb>Uf5lYftFfhjwOYrf=nVG!?xmdEh%dbLu;?4hLZ zj0Sz+g;6|`G;v5dBTEDAWOYLr-H#OC=M>~^qFsY{GHj}&2@Y|hTO!CB$|QYNcdvHH zKpyEd7ZZMT0NclinDka?v# zdgkuTPC?_bl~)$LuY3T^0#sX`+Q6m4y2|KchPbWW4&5jM6YxjHOXKwGn}BMwa4L<` z+8PnHi^a71+EA5KCJ)XBCHX6jY3(+|&E-9Ha|-%!mH;u_CAbgwy`H5~&F`{UQl*Kc z?m52YEBHqf@q^*)0kx=(){IaSi>92K#PnljQoPd21`?H^T*sQbY5Ta{StfEV7ez79 zvA{i}q1KDgPQ)z@g{HxwdZz@ZV$j=bH?U+XsR>KN++^UXe|)6Vy0Wt{X3XlcdG(8J z&L8eCrNfgfr>0))zQ|5cBrk6*O0vU527qXqwdv^!k}j2%KF;{mHH*}!w#0g>Jycpn)^m|>B9{$B%9Cuar^k5a$T3Cj zR3MEMPO#K&Z)jTEBU`$@BI2G+g)#f)i`<<#fymCGX?U*+Y)e%_+;@>w5;LNTu7wqh zRFbee{fynZNk_y9Ch_rx1_mPJg!pTRT{hs zR`Nab4)q$5jcSa=9H$+7MIV(AjU%Cl_@{$zOS8IiniYuhOb+Rzn#h?Ej#fKSBB(B0 zT*kSqWbaT(q=`jbzwNS_PHTUTO<&TgfZadJWvlQpfMb}Grmnmue4)%S|vmH_|=XS|DHl%LjoO(uJzwcIrmm literal 0 HcmV?d00001 diff --git a/Circular_kernel_3/demo/Circular_kernel_3/demo_circle.C b/Circular_kernel_3/demo/Circular_kernel_3/demo_circle.C new file mode 100644 index 00000000000..b8e3ce79b31 --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/demo_circle.C @@ -0,0 +1,27 @@ + +#include "demo_circle.moc" + +int main (int argc, char** argv) { + QApplication app(argc, argv); + MyWindow *windows = new MyWindow(1100, 1100); + + Sphere_3 laSphere(Point_3(0.,0.,0.), 1.5*1.5); + Plane_3 plan; + plan = Plane_3(Point_3(1., -1., 1.), Point_3(1., 1., 0.), Point_3(1., -1., -1.)); + windows->add_cercle(Circle_3(laSphere, plan), 100); + plan = Plane_3(Point_3(-1., 1.2, 1.), Point_3( 1., 1.2, -1.), Point_3( 1., 1.2, 1.)); + windows->add_cercle(Circle_3(laSphere, plan), 100); + plan = Plane_3(Point_3(-1., -1., 1.), Point_3( 1., -1., 1.), Point_3( 1., -1., -1.)); + windows->add_cercle(Circle_3(laSphere, plan), 100); + plan = Plane_3(Point_3(-1., 1., 0.), Point_3( 1., -1., 1.), Point_3( 1., -1., -1.)); + windows->add_cercle(Circle_3(laSphere, plan), 100); + plan = Plane_3(Point_3(-1., -1., 1.), Point_3(-1., -1., 0.), Point_3(-1., 1., -1.)); + windows->add_cercle(Circle_3(laSphere, plan), 100); + plan = Plane_3(Point_3( 1., 0., 0.), Point_3(-1., 1., 0.), Point_3(-1., -1., 0.)); + windows->add_cercle(Circle_3(laSphere, plan), 100); + + app.setMainWidget(windows); + windows->show(); + return app.exec(); +} + diff --git a/Circular_kernel_3/demo/Circular_kernel_3/demo_circle.h b/Circular_kernel_3/demo/Circular_kernel_3/demo_circle.h new file mode 100644 index 00000000000..d5d52bda68b --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/demo_circle.h @@ -0,0 +1,364 @@ +#include +#include +#include + +// INCLUDES DE QT +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// INCLUDES DES IMAGES + +#include "images/button_solid.xpm" +#include "images/button_wire.xpm" +#include "images/arrow_01_down.xpm" +#include "images/arrow_01_up.xpm" +#include "images/arrow_01_left.xpm" +#include "images/arrow_01_right.xpm" +#include "images/zoom_in.xpm" +#include "images/zoom_out.xpm" + +#include +#include +#include +#include // Header File For sleeping. +#include + +// INCLUDES D'OPENGL +#include // Header File For The GLUT Library +#include // Header File For The OpenGL32 Library +#include // Header File For The GLu32 Library + +#include +#include +#include +#include +#include +#include + +// DEFINITION DES TYPES +typedef double NT; +typedef CGAL::Cartesian Linear_k1; +typedef CGAL::Algebraic_kernel_for_spheres_2_3 Algebraic_k1; +typedef CGAL::Spherical_kernel_3 SK; +typedef SK::Plane_3 Plane_3; +typedef SK::Point_3 Point_3; +typedef SK::Sphere_3 Sphere_3; +typedef SK::Circle_3 Circle_3; + +class MyGLDrawer : public QGLWidget { + + Q_OBJECT + + public: + + MyGLDrawer (QWidget* parent, const char* name) + : QGLWidget(parent, name), showContour(false) { + this->x = 0.f; + this->y = 0.f; + this->z = -6.f; + this->rx = 0.f; + this->ry = 0.f; + this->rz = 0.f; + this->list_cercle = 0; + } + + void paintGL () { + //std::cout << "MyGLDrawer.paintGL();" << std::endl; + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer + glLoadIdentity(); // Reset The View + glTranslatef(this->x, this->y, this->z); + glRotatef(this->rx, 1.0f, 0.0f, 0.0f); + glRotatef(this->ry, 0.0f, 1.0f, 0.0f); + glRotatef(this->rz, 0.0f, 0.0f, 1.0f); + glCallList(this->list_cercle); + this->swapBuffers(); + } + + void initializeGL () { + glClearColor(1.0f, 1.0f, 1.0f, 0.0f); // This Will Clear The Background Color To Black + glClearDepth(1.0); // Enables Clearing Of The Depth Buffer + glDepthFunc(GL_LESS); // The Type Of Depth Test To Do + glEnable(GL_DEPTH_TEST); // Enables Depth Testing + glShadeModel(GL_SMOOTH); // Enables Smooth Color Shading + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); // Reset The Projection Matrix + glMatrixMode(GL_MODELVIEW); + + // creation de la liste openGL + if (this->list_cercle != 0) glDeleteLists(this->list_cercle, 1); + this->list_cercle = glGenLists(1); + //On cree une liste dans laquelle on met l'objet 3ds + //On cree une liste dans laquelle on met l'objet 3ds + glNewList(this->list_cercle, GL_COMPILE); + for (std::size_t i = 0; i < this->cercles.size(); i++) { + dessiner_spherical_circle(this->cercles[i].first, this->cercles[i].second); + } + glEndList(); + + } + + void resizeGL (int w, int h) { + glViewport(0, 0, w, h); // Reset The Current Viewport And Perspective Transformation + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + gluPerspective(45.0f, (GLfloat) w / (GLfloat) w, 0.1f, 100.0f); + glMatrixMode(GL_MODELVIEW); + } + + inline void add_cercle (const Circle_3& c, int precision) { + this->cercles.push_back(std::pair(c, precision)); + } + + public slots: + + void wire_display () { + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + this->paintGL(); + } + + void surface_display () { + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + this->paintGL(); + } + + void translate(float x, float y, float z){ + this->x = x; + this->y = y; + this->z = z; + } + + void rotate(float rx, float ry, float rz){ + this->rx = rx; + this->ry = ry; + this->rz = rz; + } + + inline void show_contour () {this->showContour = true; paintGL();} + inline void hide_contour () {this->showContour = false; paintGL();} + + private: + float x, y, z, rx, ry, rz; + int list_cercle; + bool showContour; + std::vector > cercles; + +}; + + +class MyWindow : public QMainWindow { + Q_OBJECT + + public: + + MyWindow (int w, int h) { + //initialization of coordonnate of camera + this->x = 0.f; + this->y = 0.f; + this->z = -6.f; + this->rx = 0.f; + this->ry = 0.f; + this->rz = 0.f; + + this->resize(w, h); + wGL = new MyGLDrawer(this, "ProjetDamienJulien"); + this->setCentralWidget(wGL); + this->setCaption("ProjetDamienJulien"); + //File Menu + QPopupMenu* file = new QPopupMenu(this); + file->insertItem("&Quit", qApp, SLOT(closeAllWindows()),''); + //Display Menu + QPopupMenu * affichage = new QPopupMenu(this); + affichage->insertItem("&Wire Mode",this,SLOT(mode_wire()), 'r'); + affichage->insertItem("&Surface Mode",this,SLOT(mode_surface()),'t'); + affichage->insertItem("Show &Border",this,SLOT(show_contour()),'f'); + affichage->insertItem("&Hide Border",this,SLOT(hide_contour()),'g'); + //Move Menu + QPopupMenu * move = new QPopupMenu(this); + move->insertItem("Rotate &Left",this,SLOT(rotate_left()), 4116); + move->insertItem("Rotate &Right",this,SLOT(rotate_right()), 4114); + move->insertItem("Rotate Z Left",this,SLOT(rotate_tonneau_left()),'q'); + move->insertItem("Rotate Z Right",this,SLOT(rotate_tonneau_right()), 'e'); + move->insertItem("Rotate &Up",this,SLOT(rotate_up()),4115); + move->insertItem("Rotate &Down",this,SLOT(rotate_down()), 4117); + move->insertItem("Zoom &In",this,SLOT(zoom_in()), 4118); + move->insertItem("Zoom &Out",this,SLOT(zoom_out()), 4119); + //Menu bar + this->menuBar()->insertItem("&File", file); + this->menuBar()->insertItem("&Display", affichage); + this->menuBar()->insertItem("&Move", move); + //tool bar + this->layers_toolbar = new QToolBar("Tools", this, + QMainWindow::Top, TRUE, "Tools"); + //buttons in tool bar + this->show_wire_button = + new QToolButton(QPixmap((const char**)::button_wire_xpm), + "Wire Mode", + 0, + this, + SLOT(mode_wire()), + this->layers_toolbar, + "Wire Mode"); + this->show_wire_button->setToggleButton(true); + this->show_surface_button = + new QToolButton(QPixmap((const char**)::button_solid_xpm), + "Surface Mode", + 0, + this, + SLOT(mode_surface()), + this->layers_toolbar, + "Mode Surface"); + this->show_surface_button->setToggleButton(true); + this->show_surface_button->toggle(); + this->layers_toolbar->addSeparator(); + this->rotate_left_button = + new QToolButton(QPixmap((const char**)::arrow_01_left_xpm), + "Rotate Left", + 0, + this, + SLOT(rotate_left()), + this->layers_toolbar, + "Rotate Left"); + this->rotate_right_button = + new QToolButton(QPixmap((const char**)::arrow_01_right_xpm), + "Rotate Right", + 0, + this, + SLOT(rotate_right()), + layers_toolbar, + "Rotate Right"); + + this->rotate_up_button = + new QToolButton(QPixmap((const char**)::arrow_01_up_xpm), + "Rotate Up", + 0, + this, + SLOT(rotate_up()), + this->layers_toolbar, + "Rotate UP"); + this->rotate_down_button = + new QToolButton(QPixmap((const char**)::arrow_01_down_xpm), + "Rotate Down", + 0, + this, + SLOT(rotate_down()), + this->layers_toolbar, + "Rotate Down"); + this->zoom_in_button = + new QToolButton(QPixmap((const char**)::zoom_in_xpm), + "Zoom In", + 0, + this, + SLOT(zoom_in()), + this->layers_toolbar, + "Zoom In"); + this->zoom_out_button = + new QToolButton(QPixmap((const char**)::zoom_out_xpm), + "Zoom Out", + 0, + this, + SLOT(zoom_out()), + this->layers_toolbar, + "Zoom Out"); + } + + protected: + + void keyPressEvent (QKeyEvent* qke) { + //std::cout << "Key ascii<" << qke->ascii() << "> key<" << qke->key() << ">" << std::endl; + } + + public slots: + + inline void show_contour() {this->wGL->show_contour();} + inline void hide_contour() {this->wGL->hide_contour();} + + void mode_wire () { + std::cout << "Mode Wire" << std::endl; + this->show_wire_button->setOn(true); + this->show_surface_button->setOn(false); + this->wGL->wire_display(); + } + + void mode_surface () { + std::cout << "Mode Surface" << std::endl; + this->show_wire_button->setOn(false); + this->show_surface_button->setOn(true); + this->wGL->surface_display(); + } + + inline void add_cercle (const Circle_3& p, int i) { + this->wGL->add_cercle(p,i); + } + + void rotate_tonneau_right () { + //std::cout << "Rotation en tonneau a droite" << std::endl; + this->rz -= 1.f; + this->wGL->rotate(this->rx, this->ry, this->rz); + this->wGL->paintGL(); + } + void rotate_tonneau_left () { + //std::cout << "Rotation en tonneau a gauche" << std::endl; + this->rz += 1.f; + this->wGL->rotate(this->rx, this->ry, this->rz); + this->wGL->paintGL(); + } + void rotate_right(){ + //std::cout << "Rotation a droite" << std::endl; + this->ry += 1.f; + this->wGL->rotate(this->rx, this->ry, this->rz); + this->wGL->paintGL(); + } + void rotate_left(){ + //std::cout << "Rotation a gauche" << std::endl; + this->ry -= 1.f; + this->wGL->rotate(this->rx, this->ry, this->rz); + this->wGL->paintGL(); + } + void rotate_up(){ + //std::cout << "Rotation vers le haut" << std::endl; + this->rx -= 1.f; + this->wGL->rotate(this->rx, this->ry, this->rz); + this->wGL->paintGL(); + } + void rotate_down(){ + //std::cout << "Rotation vers le bas" << std::endl; + this->rx += 1.f; + this->wGL->rotate(this->rx, this->ry, this->rz); + this->wGL->paintGL(); + } + void zoom_in(){ + //std::cout << "Augmentation du zoom" << std::endl; + this->z += 0.1f; + this->wGL->translate(this->x, this->y, this->z); + this->wGL->paintGL(); + } + void zoom_out(){ + //std::cout << "Diminution du zoom" << std::endl; + this->z -= 0.1f; + this->wGL->translate(this->x, this->y, this->z); + this->wGL->paintGL(); + } + + private: + MyGLDrawer* wGL; + QToolBar* layers_toolbar; + QToolButton* show_wire_button; + QToolButton* show_surface_button; + QToolButton* rotate_right_button; + QToolButton* rotate_left_button; + QToolButton* rotate_up_button; + QToolButton* rotate_down_button; + QToolButton* zoom_in_button; + QToolButton* zoom_out_button; + float x, y, z, rx, ry, rz; //coordinate of camera + +}; + + diff --git a/Circular_kernel_3/demo/Circular_kernel_3/demo_circle.moc b/Circular_kernel_3/demo/Circular_kernel_3/demo_circle.moc new file mode 100644 index 00000000000..e7d2b1240ec --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/demo_circle.moc @@ -0,0 +1,248 @@ +/**************************************************************************** +** MyGLDrawer meta object code from reading C++ file 'demo_circle.h' +** +** Created: Mon Aug 21 16:54:29 2006 +** by: The Qt MOC ($Id$) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#undef QT_NO_COMPAT +#include "demo_circle.h" +#include +#include + +#include +#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 26) +#error "This file was generated using the moc from 3.3.4. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +const char *MyGLDrawer::className() const +{ + return "MyGLDrawer"; +} + +QMetaObject *MyGLDrawer::metaObj = 0; +static QMetaObjectCleanUp cleanUp_MyGLDrawer( "MyGLDrawer", &MyGLDrawer::staticMetaObject ); + +#ifndef QT_NO_TRANSLATION +QString MyGLDrawer::tr( const char *s, const char *c ) +{ + if ( qApp ) + return qApp->translate( "MyGLDrawer", s, c, QApplication::DefaultCodec ); + else + return QString::fromLatin1( s ); +} +#ifndef QT_NO_TRANSLATION_UTF8 +QString MyGLDrawer::trUtf8( const char *s, const char *c ) +{ + if ( qApp ) + return qApp->translate( "MyGLDrawer", s, c, QApplication::UnicodeUTF8 ); + else + return QString::fromUtf8( s ); +} +#endif // QT_NO_TRANSLATION_UTF8 + +#endif // QT_NO_TRANSLATION + +QMetaObject* MyGLDrawer::staticMetaObject() +{ + if ( metaObj ) + return metaObj; + QMetaObject* parentObject = QGLWidget::staticMetaObject(); + static const QUMethod slot_0 = {"wire_display", 0, 0 }; + static const QUMethod slot_1 = {"surface_display", 0, 0 }; + static const QUParameter param_slot_2[] = { + { "x", &static_QUType_ptr, "float", QUParameter::In }, + { "y", &static_QUType_ptr, "float", QUParameter::In }, + { "z", &static_QUType_ptr, "float", QUParameter::In } + }; + static const QUMethod slot_2 = {"translate", 3, param_slot_2 }; + static const QUParameter param_slot_3[] = { + { "rx", &static_QUType_ptr, "float", QUParameter::In }, + { "ry", &static_QUType_ptr, "float", QUParameter::In }, + { "rz", &static_QUType_ptr, "float", QUParameter::In } + }; + static const QUMethod slot_3 = {"rotate", 3, param_slot_3 }; + static const QUMethod slot_4 = {"show_contour", 0, 0 }; + static const QUMethod slot_5 = {"hide_contour", 0, 0 }; + static const QMetaData slot_tbl[] = { + { "wire_display()", &slot_0, QMetaData::Public }, + { "surface_display()", &slot_1, QMetaData::Public }, + { "translate(float,float,float)", &slot_2, QMetaData::Public }, + { "rotate(float,float,float)", &slot_3, QMetaData::Public }, + { "show_contour()", &slot_4, QMetaData::Public }, + { "hide_contour()", &slot_5, QMetaData::Public } + }; + metaObj = QMetaObject::new_metaobject( + "MyGLDrawer", parentObject, + slot_tbl, 6, + 0, 0, +#ifndef QT_NO_PROPERTIES + 0, 0, + 0, 0, +#endif // QT_NO_PROPERTIES + 0, 0 ); + cleanUp_MyGLDrawer.setMetaObject( metaObj ); + return metaObj; +} + +void* MyGLDrawer::qt_cast( const char* clname ) +{ + if ( !qstrcmp( clname, "MyGLDrawer" ) ) + return this; + return QGLWidget::qt_cast( clname ); +} + +bool MyGLDrawer::qt_invoke( int _id, QUObject* _o ) +{ + switch ( _id - staticMetaObject()->slotOffset() ) { + case 0: wire_display(); break; + case 1: surface_display(); break; + case 2: translate((float)(*((float*)static_QUType_ptr.get(_o+1))),(float)(*((float*)static_QUType_ptr.get(_o+2))),(float)(*((float*)static_QUType_ptr.get(_o+3)))); break; + case 3: rotate((float)(*((float*)static_QUType_ptr.get(_o+1))),(float)(*((float*)static_QUType_ptr.get(_o+2))),(float)(*((float*)static_QUType_ptr.get(_o+3)))); break; + case 4: show_contour(); break; + case 5: hide_contour(); break; + default: + return QGLWidget::qt_invoke( _id, _o ); + } + return TRUE; +} + +bool MyGLDrawer::qt_emit( int _id, QUObject* _o ) +{ + return QGLWidget::qt_emit(_id,_o); +} +#ifndef QT_NO_PROPERTIES + +bool MyGLDrawer::qt_property( int id, int f, QVariant* v) +{ + return QGLWidget::qt_property( id, f, v); +} + +bool MyGLDrawer::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; } +#endif // QT_NO_PROPERTIES + + +const char *MyWindow::className() const +{ + return "MyWindow"; +} + +QMetaObject *MyWindow::metaObj = 0; +static QMetaObjectCleanUp cleanUp_MyWindow( "MyWindow", &MyWindow::staticMetaObject ); + +#ifndef QT_NO_TRANSLATION +QString MyWindow::tr( const char *s, const char *c ) +{ + if ( qApp ) + return qApp->translate( "MyWindow", s, c, QApplication::DefaultCodec ); + else + return QString::fromLatin1( s ); +} +#ifndef QT_NO_TRANSLATION_UTF8 +QString MyWindow::trUtf8( const char *s, const char *c ) +{ + if ( qApp ) + return qApp->translate( "MyWindow", s, c, QApplication::UnicodeUTF8 ); + else + return QString::fromUtf8( s ); +} +#endif // QT_NO_TRANSLATION_UTF8 + +#endif // QT_NO_TRANSLATION + +QMetaObject* MyWindow::staticMetaObject() +{ + if ( metaObj ) + return metaObj; + QMetaObject* parentObject = QMainWindow::staticMetaObject(); + static const QUMethod slot_0 = {"show_contour", 0, 0 }; + static const QUMethod slot_1 = {"hide_contour", 0, 0 }; + static const QUMethod slot_2 = {"mode_wire", 0, 0 }; + static const QUMethod slot_3 = {"mode_surface", 0, 0 }; + static const QUParameter param_slot_4[] = { + { "p", &static_QUType_ptr, "Circle_3", QUParameter::In }, + { "i", &static_QUType_int, 0, QUParameter::In } + }; + static const QUMethod slot_4 = {"add_cercle", 2, param_slot_4 }; + static const QUMethod slot_5 = {"rotate_tonneau_right", 0, 0 }; + static const QUMethod slot_6 = {"rotate_tonneau_left", 0, 0 }; + static const QUMethod slot_7 = {"rotate_right", 0, 0 }; + static const QUMethod slot_8 = {"rotate_left", 0, 0 }; + static const QUMethod slot_9 = {"rotate_up", 0, 0 }; + static const QUMethod slot_10 = {"rotate_down", 0, 0 }; + static const QUMethod slot_11 = {"zoom_in", 0, 0 }; + static const QUMethod slot_12 = {"zoom_out", 0, 0 }; + static const QMetaData slot_tbl[] = { + { "show_contour()", &slot_0, QMetaData::Public }, + { "hide_contour()", &slot_1, QMetaData::Public }, + { "mode_wire()", &slot_2, QMetaData::Public }, + { "mode_surface()", &slot_3, QMetaData::Public }, + { "add_cercle(const Circle_3&,int)", &slot_4, QMetaData::Public }, + { "rotate_tonneau_right()", &slot_5, QMetaData::Public }, + { "rotate_tonneau_left()", &slot_6, QMetaData::Public }, + { "rotate_right()", &slot_7, QMetaData::Public }, + { "rotate_left()", &slot_8, QMetaData::Public }, + { "rotate_up()", &slot_9, QMetaData::Public }, + { "rotate_down()", &slot_10, QMetaData::Public }, + { "zoom_in()", &slot_11, QMetaData::Public }, + { "zoom_out()", &slot_12, QMetaData::Public } + }; + metaObj = QMetaObject::new_metaobject( + "MyWindow", parentObject, + slot_tbl, 13, + 0, 0, +#ifndef QT_NO_PROPERTIES + 0, 0, + 0, 0, +#endif // QT_NO_PROPERTIES + 0, 0 ); + cleanUp_MyWindow.setMetaObject( metaObj ); + return metaObj; +} + +void* MyWindow::qt_cast( const char* clname ) +{ + if ( !qstrcmp( clname, "MyWindow" ) ) + return this; + return QMainWindow::qt_cast( clname ); +} + +bool MyWindow::qt_invoke( int _id, QUObject* _o ) +{ + switch ( _id - staticMetaObject()->slotOffset() ) { + case 0: show_contour(); break; + case 1: hide_contour(); break; + case 2: mode_wire(); break; + case 3: mode_surface(); break; + case 4: add_cercle((const Circle_3&)*((const Circle_3*)static_QUType_ptr.get(_o+1)),(int)static_QUType_int.get(_o+2)); break; + case 5: rotate_tonneau_right(); break; + case 6: rotate_tonneau_left(); break; + case 7: rotate_right(); break; + case 8: rotate_left(); break; + case 9: rotate_up(); break; + case 10: rotate_down(); break; + case 11: zoom_in(); break; + case 12: zoom_out(); break; + default: + return QMainWindow::qt_invoke( _id, _o ); + } + return TRUE; +} + +bool MyWindow::qt_emit( int _id, QUObject* _o ) +{ + return QMainWindow::qt_emit(_id,_o); +} +#ifndef QT_NO_PROPERTIES + +bool MyWindow::qt_property( int id, int f, QVariant* v) +{ + return QMainWindow::qt_property( id, f, v); +} + +bool MyWindow::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; } +#endif // QT_NO_PROPERTIES diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_down.xpm b/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_down.xpm new file mode 100644 index 00000000000..855cd30bdf2 --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_down.xpm @@ -0,0 +1,289 @@ +/* XPM */ +static char * arrow_01_down_xpm[] = { +"30 29 257 2", +" c None", +". c #000000", +"+ c #0C0C0C", +"@ c #008000", +"# c #808000", +"$ c #000080", +"% c #800080", +"& c #008080", +"* c #BFBFBF", +"= c #0C0C0C", +"- c #A4C8F0", +"; c #550000", +"> c #AA0000", +", c #D50000", +"' c #002B00", +") c #552B00", +"! c #802B00", +"~ c #AA2B00", +"{ c #D52B00", +"] c #FF2B00", +"^ c #005500", +"/ c #555500", +"( c #805500", +"_ c #AA5500", +": c #D55500", +"< c #FF5500", +"[ c #558000", +"} c #AA8000", +"| c #D58000", +"1 c #FF8000", +"2 c #00AA00", +"3 c #55AA00", +"4 c #80AA00", +"5 c #AAAA00", +"6 c #D5AA00", +"7 c #FFAA00", +"8 c #00D500", +"9 c #55D500", +"0 c #80D500", +"a c #AAD500", +"b c #D5D500", +"c c #FFD500", +"d c #55FF00", +"e c #80FF00", +"f c #AAFF00", +"g c #D5FF00", +"h c #000055", +"i c #550055", +"j c #800055", +"k c #AA0055", +"l c #D50055", +"m c #FF0055", +"n c #002B55", +"o c #552B55", +"p c #802B55", +"q c #AA2B55", +"r c #D52B55", +"s c #FF2B55", +"t c #005555", +"u c #555555", +"v c #805555", +"w c #AA5555", +"x c #D55555", +"y c #FF5555", +"z c #008055", +"A c #558055", +"B c #808055", +"C c #AA8055", +"D c #D58055", +"E c #FF8055", +"F c #00AA55", +"G c #55AA55", +"H c #80AA55", +"I c #AAAA55", +"J c #D5AA55", +"K c #FFAA55", +"L c #00D555", +"M c #55D555", +"N c #80D555", +"O c #AAD555", +"P c #D5D555", +"Q c #FFD555", +"R c #00FF55", +"S c #55FF55", +"T c #80FF55", +"U c #AAFF55", +"V c #D5FF55", +"W c #FFFF55", +"X c #550080", +"Y c #AA0080", +"Z c #D50080", +"` c #FF0080", +" . c #002B80", +".. c #552B80", +"+. c #802B80", +"@. c #AA2B80", +"#. c #D52B80", +"$. c #FF2B80", +"%. c #005580", +"&. c #555580", +"*. c #805580", +"=. c #AA5580", +"-. c #D55580", +";. c #FF5580", +">. c #558080", +",. c #AA8080", +"'. c #D58080", +"). c #FF8080", +"!. c #00AA80", +"~. c #55AA80", +"{. c #80AA80", +"]. c #AAAA80", +"^. c #D5AA80", +"/. c #FFAA80", +"(. c #00D580", +"_. c #55D580", +":. c #80D580", +"<. c #AAD580", +"[. c #D5D580", +"}. c #FFD580", +"|. c #00FF80", +"1. c #55FF80", +"2. c #80FF80", +"3. c #AAFF80", +"4. c #D5FF80", +"5. c #FFFF80", +"6. c #0000AA", +"7. c #5500AA", +"8. c #8000AA", +"9. c #AA00AA", +"0. c #D500AA", +"a. c #FF00AA", +"b. c #002BAA", +"c. c #552BAA", +"d. c #802BAA", +"e. c #AA2BAA", +"f. c #D52BAA", +"g. c #FF2BAA", +"h. c #0055AA", +"i. c #5555AA", +"j. c #8055AA", +"k. c #AA55AA", +"l. c #D555AA", +"m. c #FF55AA", +"n. c #0080AA", +"o. c #5580AA", +"p. c #8080AA", +"q. c #AA80AA", +"r. c #D580AA", +"s. c #FF80AA", +"t. c #00AAAA", +"u. c #55AAAA", +"v. c #80AAAA", +"w. c #AAAAAA", +"x. c #D5AAAA", +"y. c #FFAAAA", +"z. c #00D5AA", +"A. c #55D5AA", +"B. c #80D5AA", +"C. c #AAD5AA", +"D. c #D5D5AA", +"E. c #FF8020", +"F. c #00FFAA", +"G. c #55FFAA", +"H. c #80FFAA", +"I. c #AAFFAA", +"J. c #D5FFAA", +"K. c #FFFFAA", +"L. c #0000D5", +"M. c #5500D5", +"N. c #8000D5", +"O. c #AA00D5", +"P. c #D500D5", +"Q. c #FF00D5", +"R. c #002BD5", +"S. c #552BD5", +"T. c #802BD5", +"U. c #AA2BD5", +"V. c #D52BD5", +"W. c #FF2BD5", +"X. c #0055D5", +"Y. c #5555D5", +"Z. c #8055D5", +"`. c #AA55D5", +" + c #D555D5", +".+ c #FF55D5", +"++ c #0080D5", +"@+ c #5580D5", +"#+ c #8080D5", +"$+ c #AA80D5", +"%+ c #D580D5", +"&+ c #FF80D5", +"*+ c #00AAD5", +"=+ c #55AAD5", +"-+ c #80AAD5", +";+ c #AAAAD5", +">+ c #D5AAD5", +",+ c #FFAAD5", +"'+ c #00D5D5", +")+ c #55D5D5", +"!+ c #80D5D5", +"~+ c #AAD5D5", +"{+ c #D5D5D5", +"]+ c #FFD5D5", +"^+ c #00FFD5", +"/+ c #55FFD5", +"(+ c #80FFD5", +"_+ c #AAFFD5", +":+ c #D5FFD5", +"<+ c #FFFFD5", +"[+ c #5500FF", +"}+ c #8000FF", +"|+ c #AA00FF", +"1+ c #D500FF", +"2+ c #002BFF", +"3+ c #552BFF", +"4+ c #802BFF", +"5+ c #AA2BFF", +"6+ c #D52BFF", +"7+ c #FF2BFF", +"8+ c #0055FF", +"9+ c #5555FF", +"0+ c #8055FF", +"a+ c #AA55FF", +"b+ c #D555FF", +"c+ c #FF55FF", +"d+ c #0080FF", +"e+ c #5580FF", +"f+ c #8080FF", +"g+ c #AA80FF", +"h+ c #D580FF", +"i+ c #FF80FF", +"j+ c #00AAFF", +"k+ c #55AAFF", +"l+ c #80AAFF", +"m+ c #AAAAFF", +"n+ c #D5AAFF", +"o+ c #FFAAFF", +"p+ c #00D5FF", +"q+ c #55D5FF", +"r+ c #80D5FF", +"s+ c #AAD5FF", +"t+ c #D5D5FF", +"u+ c #FFD5FF", +"v+ c #55FFFF", +"w+ c #80FFFF", +"x+ c #AAFFFF", +"y+ c #FFFBF0", +"z+ c #A0A0A4", +"A+ c #808080", +"B+ c #FF0000", +"C+ c #00FF00", +"D+ c #FFFF00", +"E+ c #0000FF", +"F+ c #FF00FF", +"G+ c #00FFFF", +"H+ c #FFFFFF", +" ", +" . . . . . . . . . . . ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . . . . . . . . H+H+H+H+H+H+H+H+H+H+H+. . . . . . . . . ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+. ", +" . H+H+H+H+. ", +" . H+H+. ", +" . . ", +" "}; diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_left.xpm b/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_left.xpm new file mode 100644 index 00000000000..72a25274426 --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_left.xpm @@ -0,0 +1,290 @@ +/* XPM */ +static char * arrow_01_left_xpm[] = { +"29 30 257 2", +" c None", +". c #000000", +"+ c #0C0C0C", +"@ c #008000", +"# c #808000", +"$ c #000080", +"% c #800080", +"& c #008080", +"* c #BFBFBF", +"= c #0C0C0C", +"- c #A4C8F0", +"; c #550000", +"> c #AA0000", +", c #D50000", +"' c #002B00", +") c #552B00", +"! c #802B00", +"~ c #AA2B00", +"{ c #D52B00", +"] c #FF2B00", +"^ c #005500", +"/ c #555500", +"( c #805500", +"_ c #AA5500", +": c #D55500", +"< c #FF5500", +"[ c #558000", +"} c #AA8000", +"| c #D58000", +"1 c #FF8000", +"2 c #00AA00", +"3 c #55AA00", +"4 c #80AA00", +"5 c #AAAA00", +"6 c #D5AA00", +"7 c #FFAA00", +"8 c #00D500", +"9 c #55D500", +"0 c #80D500", +"a c #AAD500", +"b c #D5D500", +"c c #FFD500", +"d c #55FF00", +"e c #80FF00", +"f c #AAFF00", +"g c #D5FF00", +"h c #000055", +"i c #550055", +"j c #800055", +"k c #AA0055", +"l c #D50055", +"m c #FF0055", +"n c #002B55", +"o c #552B55", +"p c #802B55", +"q c #AA2B55", +"r c #D52B55", +"s c #FF2B55", +"t c #005555", +"u c #555555", +"v c #805555", +"w c #AA5555", +"x c #D55555", +"y c #FF5555", +"z c #008055", +"A c #558055", +"B c #808055", +"C c #AA8055", +"D c #D58055", +"E c #FF8055", +"F c #00AA55", +"G c #55AA55", +"H c #80AA55", +"I c #AAAA55", +"J c #D5AA55", +"K c #FFAA55", +"L c #00D555", +"M c #55D555", +"N c #80D555", +"O c #AAD555", +"P c #D5D555", +"Q c #FFD555", +"R c #00FF55", +"S c #55FF55", +"T c #80FF55", +"U c #AAFF55", +"V c #D5FF55", +"W c #FFFF55", +"X c #550080", +"Y c #AA0080", +"Z c #D50080", +"` c #FF0080", +" . c #002B80", +".. c #552B80", +"+. c #802B80", +"@. c #AA2B80", +"#. c #D52B80", +"$. c #FF2B80", +"%. c #005580", +"&. c #555580", +"*. c #805580", +"=. c #AA5580", +"-. c #D55580", +";. c #FF5580", +">. c #558080", +",. c #AA8080", +"'. c #D58080", +"). c #FF8080", +"!. c #00AA80", +"~. c #55AA80", +"{. c #80AA80", +"]. c #AAAA80", +"^. c #D5AA80", +"/. c #FFAA80", +"(. c #00D580", +"_. c #55D580", +":. c #80D580", +"<. c #AAD580", +"[. c #D5D580", +"}. c #FFD580", +"|. c #00FF80", +"1. c #55FF80", +"2. c #80FF80", +"3. c #AAFF80", +"4. c #D5FF80", +"5. c #FFFF80", +"6. c #0000AA", +"7. c #5500AA", +"8. c #8000AA", +"9. c #AA00AA", +"0. c #D500AA", +"a. c #FF00AA", +"b. c #002BAA", +"c. c #552BAA", +"d. c #802BAA", +"e. c #AA2BAA", +"f. c #D52BAA", +"g. c #FF2BAA", +"h. c #0055AA", +"i. c #5555AA", +"j. c #8055AA", +"k. c #AA55AA", +"l. c #D555AA", +"m. c #FF55AA", +"n. c #0080AA", +"o. c #5580AA", +"p. c #8080AA", +"q. c #AA80AA", +"r. c #D580AA", +"s. c #FF80AA", +"t. c #00AAAA", +"u. c #55AAAA", +"v. c #80AAAA", +"w. c #AAAAAA", +"x. c #D5AAAA", +"y. c #FFAAAA", +"z. c #00D5AA", +"A. c #55D5AA", +"B. c #80D5AA", +"C. c #AAD5AA", +"D. c #D5D5AA", +"E. c #FF8020", +"F. c #00FFAA", +"G. c #55FFAA", +"H. c #80FFAA", +"I. c #AAFFAA", +"J. c #D5FFAA", +"K. c #FFFFAA", +"L. c #0000D5", +"M. c #5500D5", +"N. c #8000D5", +"O. c #AA00D5", +"P. c #D500D5", +"Q. c #FF00D5", +"R. c #002BD5", +"S. c #552BD5", +"T. c #802BD5", +"U. c #AA2BD5", +"V. c #D52BD5", +"W. c #FF2BD5", +"X. c #0055D5", +"Y. c #5555D5", +"Z. c #8055D5", +"`. c #AA55D5", +" + c #D555D5", +".+ c #FF55D5", +"++ c #0080D5", +"@+ c #5580D5", +"#+ c #8080D5", +"$+ c #AA80D5", +"%+ c #D580D5", +"&+ c #FF80D5", +"*+ c #00AAD5", +"=+ c #55AAD5", +"-+ c #80AAD5", +";+ c #AAAAD5", +">+ c #D5AAD5", +",+ c #FFAAD5", +"'+ c #00D5D5", +")+ c #55D5D5", +"!+ c #80D5D5", +"~+ c #AAD5D5", +"{+ c #D5D5D5", +"]+ c #FFD5D5", +"^+ c #00FFD5", +"/+ c #55FFD5", +"(+ c #80FFD5", +"_+ c #AAFFD5", +":+ c #D5FFD5", +"<+ c #FFFFD5", +"[+ c #5500FF", +"}+ c #8000FF", +"|+ c #AA00FF", +"1+ c #D500FF", +"2+ c #002BFF", +"3+ c #552BFF", +"4+ c #802BFF", +"5+ c #AA2BFF", +"6+ c #D52BFF", +"7+ c #FF2BFF", +"8+ c #0055FF", +"9+ c #5555FF", +"0+ c #8055FF", +"a+ c #AA55FF", +"b+ c #D555FF", +"c+ c #FF55FF", +"d+ c #0080FF", +"e+ c #5580FF", +"f+ c #8080FF", +"g+ c #AA80FF", +"h+ c #D580FF", +"i+ c #FF80FF", +"j+ c #00AAFF", +"k+ c #55AAFF", +"l+ c #80AAFF", +"m+ c #AAAAFF", +"n+ c #D5AAFF", +"o+ c #FFAAFF", +"p+ c #00D5FF", +"q+ c #55D5FF", +"r+ c #80D5FF", +"s+ c #AAD5FF", +"t+ c #D5D5FF", +"u+ c #FFD5FF", +"v+ c #55FFFF", +"w+ c #80FFFF", +"x+ c #AAFFFF", +"y+ c #FFFBF0", +"z+ c #A0A0A4", +"A+ c #808080", +"B+ c #FF0000", +"C+ c #00FF00", +"D+ c #FFFF00", +"E+ c #0000FF", +"F+ c #FF00FF", +"G+ c #00FFFF", +"H+ c #FFFFFF", +" ", +" . . ", +" . H+. ", +" . H+H+. ", +" . H+H+H+. ", +" . H+H+H+H+. ", +" . H+H+H+H+H+. ", +" . H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+. . . . . . . . . . . . ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+. . . . . . . . . . . . ", +" . H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+. ", +" . H+H+H+H+H+. ", +" . H+H+H+H+. ", +" . H+H+H+. ", +" . H+H+. ", +" . H+. ", +" . . ", +" "}; diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_right.xpm b/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_right.xpm new file mode 100644 index 00000000000..22d145ace8c --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_right.xpm @@ -0,0 +1,290 @@ +/* XPM */ +static char * arrow_01_right_xpm[] = { +"29 30 257 2", +" c None", +". c #000000", +"+ c #0C0C0C", +"@ c #008000", +"# c #808000", +"$ c #000080", +"% c #800080", +"& c #008080", +"* c #BFBFBF", +"= c #0C0C0C", +"- c #A4C8F0", +"; c #550000", +"> c #AA0000", +", c #D50000", +"' c #002B00", +") c #552B00", +"! c #802B00", +"~ c #AA2B00", +"{ c #D52B00", +"] c #FF2B00", +"^ c #005500", +"/ c #555500", +"( c #805500", +"_ c #AA5500", +": c #D55500", +"< c #FF5500", +"[ c #558000", +"} c #AA8000", +"| c #D58000", +"1 c #FF8000", +"2 c #00AA00", +"3 c #55AA00", +"4 c #80AA00", +"5 c #AAAA00", +"6 c #D5AA00", +"7 c #FFAA00", +"8 c #00D500", +"9 c #55D500", +"0 c #80D500", +"a c #AAD500", +"b c #D5D500", +"c c #FFD500", +"d c #55FF00", +"e c #80FF00", +"f c #AAFF00", +"g c #D5FF00", +"h c #000055", +"i c #550055", +"j c #800055", +"k c #AA0055", +"l c #D50055", +"m c #FF0055", +"n c #002B55", +"o c #552B55", +"p c #802B55", +"q c #AA2B55", +"r c #D52B55", +"s c #FF2B55", +"t c #005555", +"u c #555555", +"v c #805555", +"w c #AA5555", +"x c #D55555", +"y c #FF5555", +"z c #008055", +"A c #558055", +"B c #808055", +"C c #AA8055", +"D c #D58055", +"E c #FF8055", +"F c #00AA55", +"G c #55AA55", +"H c #80AA55", +"I c #AAAA55", +"J c #D5AA55", +"K c #FFAA55", +"L c #00D555", +"M c #55D555", +"N c #80D555", +"O c #AAD555", +"P c #D5D555", +"Q c #FFD555", +"R c #00FF55", +"S c #55FF55", +"T c #80FF55", +"U c #AAFF55", +"V c #D5FF55", +"W c #FFFF55", +"X c #550080", +"Y c #AA0080", +"Z c #D50080", +"` c #FF0080", +" . c #002B80", +".. c #552B80", +"+. c #802B80", +"@. c #AA2B80", +"#. c #D52B80", +"$. c #FF2B80", +"%. c #005580", +"&. c #555580", +"*. c #805580", +"=. c #AA5580", +"-. c #D55580", +";. c #FF5580", +">. c #558080", +",. c #AA8080", +"'. c #D58080", +"). c #FF8080", +"!. c #00AA80", +"~. c #55AA80", +"{. c #80AA80", +"]. c #AAAA80", +"^. c #D5AA80", +"/. c #FFAA80", +"(. c #00D580", +"_. c #55D580", +":. c #80D580", +"<. c #AAD580", +"[. c #D5D580", +"}. c #FFD580", +"|. c #00FF80", +"1. c #55FF80", +"2. c #80FF80", +"3. c #AAFF80", +"4. c #D5FF80", +"5. c #FFFF80", +"6. c #0000AA", +"7. c #5500AA", +"8. c #8000AA", +"9. c #AA00AA", +"0. c #D500AA", +"a. c #FF00AA", +"b. c #002BAA", +"c. c #552BAA", +"d. c #802BAA", +"e. c #AA2BAA", +"f. c #D52BAA", +"g. c #FF2BAA", +"h. c #0055AA", +"i. c #5555AA", +"j. c #8055AA", +"k. c #AA55AA", +"l. c #D555AA", +"m. c #FF55AA", +"n. c #0080AA", +"o. c #5580AA", +"p. c #8080AA", +"q. c #AA80AA", +"r. c #D580AA", +"s. c #FF80AA", +"t. c #00AAAA", +"u. c #55AAAA", +"v. c #80AAAA", +"w. c #AAAAAA", +"x. c #D5AAAA", +"y. c #FFAAAA", +"z. c #00D5AA", +"A. c #55D5AA", +"B. c #80D5AA", +"C. c #AAD5AA", +"D. c #D5D5AA", +"E. c #FF8020", +"F. c #00FFAA", +"G. c #55FFAA", +"H. c #80FFAA", +"I. c #AAFFAA", +"J. c #D5FFAA", +"K. c #FFFFAA", +"L. c #0000D5", +"M. c #5500D5", +"N. c #8000D5", +"O. c #AA00D5", +"P. c #D500D5", +"Q. c #FF00D5", +"R. c #002BD5", +"S. c #552BD5", +"T. c #802BD5", +"U. c #AA2BD5", +"V. c #D52BD5", +"W. c #FF2BD5", +"X. c #0055D5", +"Y. c #5555D5", +"Z. c #8055D5", +"`. c #AA55D5", +" + c #D555D5", +".+ c #FF55D5", +"++ c #0080D5", +"@+ c #5580D5", +"#+ c #8080D5", +"$+ c #AA80D5", +"%+ c #D580D5", +"&+ c #FF80D5", +"*+ c #00AAD5", +"=+ c #55AAD5", +"-+ c #80AAD5", +";+ c #AAAAD5", +">+ c #D5AAD5", +",+ c #FFAAD5", +"'+ c #00D5D5", +")+ c #55D5D5", +"!+ c #80D5D5", +"~+ c #AAD5D5", +"{+ c #D5D5D5", +"]+ c #FFD5D5", +"^+ c #00FFD5", +"/+ c #55FFD5", +"(+ c #80FFD5", +"_+ c #AAFFD5", +":+ c #D5FFD5", +"<+ c #FFFFD5", +"[+ c #5500FF", +"}+ c #8000FF", +"|+ c #AA00FF", +"1+ c #D500FF", +"2+ c #002BFF", +"3+ c #552BFF", +"4+ c #802BFF", +"5+ c #AA2BFF", +"6+ c #D52BFF", +"7+ c #FF2BFF", +"8+ c #0055FF", +"9+ c #5555FF", +"0+ c #8055FF", +"a+ c #AA55FF", +"b+ c #D555FF", +"c+ c #FF55FF", +"d+ c #0080FF", +"e+ c #5580FF", +"f+ c #8080FF", +"g+ c #AA80FF", +"h+ c #D580FF", +"i+ c #FF80FF", +"j+ c #00AAFF", +"k+ c #55AAFF", +"l+ c #80AAFF", +"m+ c #AAAAFF", +"n+ c #D5AAFF", +"o+ c #FFAAFF", +"p+ c #00D5FF", +"q+ c #55D5FF", +"r+ c #80D5FF", +"s+ c #AAD5FF", +"t+ c #D5D5FF", +"u+ c #FFD5FF", +"v+ c #55FFFF", +"w+ c #80FFFF", +"x+ c #AAFFFF", +"y+ c #FFFBF0", +"z+ c #A0A0A4", +"A+ c #808080", +"B+ c #FF0000", +"C+ c #00FF00", +"D+ c #FFFF00", +"E+ c #0000FF", +"F+ c #FF00FF", +"G+ c #00FFFF", +"H+ c #FFFFFF", +" ", +" . . ", +" . H+. ", +" . H+H+. ", +" . H+H+H+. ", +" . H+H+H+H+. ", +" . H+H+H+H+H+. ", +" . H+H+H+H+H+H+. ", +" . . . . . . . . . . . . H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . . . . . . . . . . . . H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+. ", +" . H+H+H+H+H+. ", +" . H+H+H+H+. ", +" . H+H+H+. ", +" . H+H+. ", +" . H+. ", +" . . ", +" "}; diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_up.xpm b/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_up.xpm new file mode 100644 index 00000000000..6c5f8e66c82 --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/images/arrow_01_up.xpm @@ -0,0 +1,289 @@ +/* XPM */ +static char * arrow_01_up_xpm[] = { +"30 29 257 2", +" c None", +". c #000000", +"+ c #0C0C0C", +"@ c #008000", +"# c #808000", +"$ c #000080", +"% c #800080", +"& c #008080", +"* c #BFBFBF", +"= c #0C0C0C", +"- c #A4C8F0", +"; c #550000", +"> c #AA0000", +", c #D50000", +"' c #002B00", +") c #552B00", +"! c #802B00", +"~ c #AA2B00", +"{ c #D52B00", +"] c #FF2B00", +"^ c #005500", +"/ c #555500", +"( c #805500", +"_ c #AA5500", +": c #D55500", +"< c #FF5500", +"[ c #558000", +"} c #AA8000", +"| c #D58000", +"1 c #FF8000", +"2 c #00AA00", +"3 c #55AA00", +"4 c #80AA00", +"5 c #AAAA00", +"6 c #D5AA00", +"7 c #FFAA00", +"8 c #00D500", +"9 c #55D500", +"0 c #80D500", +"a c #AAD500", +"b c #D5D500", +"c c #FFD500", +"d c #55FF00", +"e c #80FF00", +"f c #AAFF00", +"g c #D5FF00", +"h c #000055", +"i c #550055", +"j c #800055", +"k c #AA0055", +"l c #D50055", +"m c #FF0055", +"n c #002B55", +"o c #552B55", +"p c #802B55", +"q c #AA2B55", +"r c #D52B55", +"s c #FF2B55", +"t c #005555", +"u c #555555", +"v c #805555", +"w c #AA5555", +"x c #D55555", +"y c #FF5555", +"z c #008055", +"A c #558055", +"B c #808055", +"C c #AA8055", +"D c #D58055", +"E c #FF8055", +"F c #00AA55", +"G c #55AA55", +"H c #80AA55", +"I c #AAAA55", +"J c #D5AA55", +"K c #FFAA55", +"L c #00D555", +"M c #55D555", +"N c #80D555", +"O c #AAD555", +"P c #D5D555", +"Q c #FFD555", +"R c #00FF55", +"S c #55FF55", +"T c #80FF55", +"U c #AAFF55", +"V c #D5FF55", +"W c #FFFF55", +"X c #550080", +"Y c #AA0080", +"Z c #D50080", +"` c #FF0080", +" . c #002B80", +".. c #552B80", +"+. c #802B80", +"@. c #AA2B80", +"#. c #D52B80", +"$. c #FF2B80", +"%. c #005580", +"&. c #555580", +"*. c #805580", +"=. c #AA5580", +"-. c #D55580", +";. c #FF5580", +">. c #558080", +",. c #AA8080", +"'. c #D58080", +"). c #FF8080", +"!. c #00AA80", +"~. c #55AA80", +"{. c #80AA80", +"]. c #AAAA80", +"^. c #D5AA80", +"/. c #FFAA80", +"(. c #00D580", +"_. c #55D580", +":. c #80D580", +"<. c #AAD580", +"[. c #D5D580", +"}. c #FFD580", +"|. c #00FF80", +"1. c #55FF80", +"2. c #80FF80", +"3. c #AAFF80", +"4. c #D5FF80", +"5. c #FFFF80", +"6. c #0000AA", +"7. c #5500AA", +"8. c #8000AA", +"9. c #AA00AA", +"0. c #D500AA", +"a. c #FF00AA", +"b. c #002BAA", +"c. c #552BAA", +"d. c #802BAA", +"e. c #AA2BAA", +"f. c #D52BAA", +"g. c #FF2BAA", +"h. c #0055AA", +"i. c #5555AA", +"j. c #8055AA", +"k. c #AA55AA", +"l. c #D555AA", +"m. c #FF55AA", +"n. c #0080AA", +"o. c #5580AA", +"p. c #8080AA", +"q. c #AA80AA", +"r. c #D580AA", +"s. c #FF80AA", +"t. c #00AAAA", +"u. c #55AAAA", +"v. c #80AAAA", +"w. c #AAAAAA", +"x. c #D5AAAA", +"y. c #FFAAAA", +"z. c #00D5AA", +"A. c #55D5AA", +"B. c #80D5AA", +"C. c #AAD5AA", +"D. c #D5D5AA", +"E. c #FF8020", +"F. c #00FFAA", +"G. c #55FFAA", +"H. c #80FFAA", +"I. c #AAFFAA", +"J. c #D5FFAA", +"K. c #FFFFAA", +"L. c #0000D5", +"M. c #5500D5", +"N. c #8000D5", +"O. c #AA00D5", +"P. c #D500D5", +"Q. c #FF00D5", +"R. c #002BD5", +"S. c #552BD5", +"T. c #802BD5", +"U. c #AA2BD5", +"V. c #D52BD5", +"W. c #FF2BD5", +"X. c #0055D5", +"Y. c #5555D5", +"Z. c #8055D5", +"`. c #AA55D5", +" + c #D555D5", +".+ c #FF55D5", +"++ c #0080D5", +"@+ c #5580D5", +"#+ c #8080D5", +"$+ c #AA80D5", +"%+ c #D580D5", +"&+ c #FF80D5", +"*+ c #00AAD5", +"=+ c #55AAD5", +"-+ c #80AAD5", +";+ c #AAAAD5", +">+ c #D5AAD5", +",+ c #FFAAD5", +"'+ c #00D5D5", +")+ c #55D5D5", +"!+ c #80D5D5", +"~+ c #AAD5D5", +"{+ c #D5D5D5", +"]+ c #FFD5D5", +"^+ c #00FFD5", +"/+ c #55FFD5", +"(+ c #80FFD5", +"_+ c #AAFFD5", +":+ c #D5FFD5", +"<+ c #FFFFD5", +"[+ c #5500FF", +"}+ c #8000FF", +"|+ c #AA00FF", +"1+ c #D500FF", +"2+ c #002BFF", +"3+ c #552BFF", +"4+ c #802BFF", +"5+ c #AA2BFF", +"6+ c #D52BFF", +"7+ c #FF2BFF", +"8+ c #0055FF", +"9+ c #5555FF", +"0+ c #8055FF", +"a+ c #AA55FF", +"b+ c #D555FF", +"c+ c #FF55FF", +"d+ c #0080FF", +"e+ c #5580FF", +"f+ c #8080FF", +"g+ c #AA80FF", +"h+ c #D580FF", +"i+ c #FF80FF", +"j+ c #00AAFF", +"k+ c #55AAFF", +"l+ c #80AAFF", +"m+ c #AAAAFF", +"n+ c #D5AAFF", +"o+ c #FFAAFF", +"p+ c #00D5FF", +"q+ c #55D5FF", +"r+ c #80D5FF", +"s+ c #AAD5FF", +"t+ c #D5D5FF", +"u+ c #FFD5FF", +"v+ c #55FFFF", +"w+ c #80FFFF", +"x+ c #AAFFFF", +"y+ c #FFFBF0", +"z+ c #A0A0A4", +"A+ c #808080", +"B+ c #FF0000", +"C+ c #00FF00", +"D+ c #FFFF00", +"E+ c #0000FF", +"F+ c #FF00FF", +"G+ c #00FFFF", +"H+ c #FFFFFF", +" ", +" . . ", +" . H+H+. ", +" . H+H+H+H+. ", +" . H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+. ", +" . . . . . . . . H+H+H+H+H+H+H+H+H+H+H+. . . . . . . . . ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . H+H+H+H+H+H+H+H+H+H+H+. ", +" . . . . . . . . . . . ", +" "}; diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/button_axis.gif b/Circular_kernel_3/demo/Circular_kernel_3/images/button_axis.gif new file mode 100644 index 0000000000000000000000000000000000000000..5240d5951242ae95c25f04e64436042e5a94ba17 GIT binary patch literal 239 zcmZ?wbhEHb)L_tH*v!Ddp^~lWxt5`cL1L4{wae%JGcYV=VEFRo%bh!SE?l@UWy+L- zf&vC4paWuq^fIt4nQ+2$_1=g@lXoBI`qcY)(u9n(WjR~7efZ7GWOGt3*Sli*`@Lt* ziyh%fUVd?7=pLO&-_ypTYkdMkPfeXNH^=*AB(KD|-pF1&j=AEv;?sEe)CCP1fe!qP=}K6ND#CW(k}=!*}+a3G?QQGtB5(ny@^7>dO8# k<*V0~%;(_Z-nMjzPI=Ax#yq% zzyJRK`TOtRfB!#s`}wuU@9zOs?mKqx`TJ}4pC7w?Z|S-Xj?Tf6u8 zxuvVtZr!!_{qO(Z|Nl2MF$@X~x_0^8|NsBLeED+c&YcSvE=-v+rJ$gIfl5FJWDdwL z3~c`oOepZsk?QwQ%$$;AHBs$Sv6b!A6*rccp4QFV{Xl<)wp{Y*^ZiwGUDdBE`7b`W zF7C4Y#JGEr8du7KE31@>xfuoc%F7iM zPn<8#DY)2ohO7LlHYV1!Vr(0tmgcXjVG?d(IX0S4JbSp3f9AOGn>gWy8NxE{wp!-ONym#8c89_@Wr|U}|onkpT#CMkY p>8D$EZWia16jpEIlJ(lM;^N{!w+R{tx2(LpJYca`tPl%>H2^&f%%}hW literal 0 HcmV?d00001 diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/button_line.gif b/Circular_kernel_3/demo/Circular_kernel_3/images/button_line.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd41d35841fac6726c960d809c4e58e5a073e675 GIT binary patch literal 238 zcmVB$$g+$!F%iv(-g=909=t&x^0jgK)E^PNzGG2>!lZUMb46sAdW{aV# zSPC+fN8k>rfHIg5C(YDTP@_KV_Sq#yWMUszjpKZ+XZQMQ`NqlYdu%?|*ZE$58*gQH zd4frWh>HMl5QbTRW^IF#kbR6wmy>mbS&*Arc#n35q7Fk2OjM^3sh@$Z6|bae7qmvR oWx2Pzyt=dZ}3@xP$ z#i>AD0?*GIKEG`F{Ib*Y%UIKQC@5f{ z0O)}9g8ah3_R?W;frpM%zlY+hDLGaXwXPIf#V%cOV~Oc$-Mrlo^k-WBy{E6VYRGPU}bxeE!i3dr+vi%F=q1?vbZ z3n=i(ic3h!O!A%Ls-vVRzkH>n6zAHgb`KqXIo=g)>{1-kyGr-C>#*=}uROxR$#ueg zy(_cm-0d7H(u@lhGOaqwDa~;8+Nr&&GS9deU%rZ|{B*Kp^6MYY*MI;0@&5%&kMRdz yM>F=zDkhr?d=4A@`ZjYzlhe_zZVBV8J0~_KPZ8D#>X7l=wB+Pujp;0m4AubD1fQ1x literal 0 HcmV?d00001 diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/button_solid.gif b/Circular_kernel_3/demo/Circular_kernel_3/images/button_solid.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ed779017c92a8772ca2ef43ddb590c2f2a158d4 GIT binary patch literal 323 zcmZ?wbhEHb)L_tH*v!CCTv!|w7}V0%a_#cDFJHdgxpU{jg$q-rOerWRV88}+K!PB> z3@kqiPI#`~8zDAn_i^`+y~;@wGSZgiY~A+Zv|35isrb1ZdmN@O?_1~o=Bm|>lN(Ox z$mx1U6?^>+T*RPR`g*h9hK4tN-fLKywq*xM=4G$mvf1WuthdnHKer{O|9&ZyP?=}N zS=XN4z}(cF*U_J$SH@h?TQ#Aht7lrP`)o!7ZQWYOZK%VtepHD_7zik!tu zHZ9LuxNZB6b-VYhnYVxCp2!^&cO5-=;)vIV=0g+W8Yh=u*n9a(siaBorHtEKB<}SU zKN9zRGPTWL<<;GHnjZ}0zkKz$_CxOb@0Y*+8O+cqU}!wp%pt55bHae7k%>*oYmUdp MMMt}(l^7VT0bnbZApigX literal 0 HcmV?d00001 diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/button_solid.xpm b/Circular_kernel_3/demo/Circular_kernel_3/images/button_solid.xpm new file mode 100644 index 00000000000..c5df09e77b0 --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/images/button_solid.xpm @@ -0,0 +1,35 @@ +/* XPM */ +static char * button_solid_xpm[] = { +"28 27 5 1", +" c None", +". c #000000", +"+ c #848684", +"@ c #737173", +"# c #525152", +" .... ", +" ....++++.. ", +" ....++++++++++... ", +" ....+++++++++++++++++... ", +"..++++++++++++++++++++++++..", +".@..+++++++++++++++++++++...", +".@@@..++++++++++++++++...##.", +".@@@@@..+++++++++++...#####.", +".@@@@@@@..++++++...########.", +".@@@@@@@@@......###########.", +".@@@@@@@@@@@.##############.", +".@@@@@@@@@@@.##############.", +".@@@@@@@@@@@.##############.", +".@@@@@@@@@@@.##############.", +".@@@@@@@@@@@.##############.", +".@@@@@@@@@@@.##############.", +".@@@@@@@@@@@.##############.", +".@@@@@@@@@@@.##############.", +".@@@@@@@@@@@.##############.", +".@@@@@@@@@@@.##############.", +".@@@@@@@@@@@.##############.", +"..@@@@@@@@@@.#############..", +" ..@@@@@@@@.##########... ", +" ..@@@@@@.#######... ", +" ..@@@@.####... ", +" ..@@.#... ", +" .... "}; diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/button_texture.gif b/Circular_kernel_3/demo/Circular_kernel_3/images/button_texture.gif new file mode 100644 index 0000000000000000000000000000000000000000..a59cda75c3b79e86cfacac45e64e5f15297644f4 GIT binary patch literal 343 zcmV-d0jT~*Nk%w1VJHA70J8u97%vJ4b_IBidXR{UjFyI&f07jo1D1}S zbD$KW1EZX#0t5t_ld7w%myoczvZ1xTw|=?7v8YPD#$lbW!os_$#?K4O(!*-J&%M#p z%*1!s*xK9GskGPG;IYl2B$$g+$!F%iv(-g=909=t&x^0jgK)0xsKqmFE#eJbgturtU_A~o zxJ1^L52(V(a2BOS=Bx>vG9g=Ew%Vmdq12tJjP1$VW^&NNgLCJ(F?fw1>Z5!NaB+ly za)NY!YKMx8VulM=IX;hwj9zDzNqq{ES9M@Sca~|5f?I)EZG&c`S9vk6r+Y)107$c( zpB1=Yf2BVglx`utp|%&sC>F}g!Oq2H(9F`)KLP{=+S}aS-rwLE0RjW%=I7|?>gy8; F06U2BciaE~ literal 0 HcmV?d00001 diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/button_wire.xpm b/Circular_kernel_3/demo/Circular_kernel_3/images/button_wire.xpm new file mode 100644 index 00000000000..e7ac0b66f08 --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/images/button_wire.xpm @@ -0,0 +1,32 @@ +/* XPM */ +static char * button_wire_xpm[] = { +"28 27 2 1", +" c None", +". c #000000", +" .... ", +" .... . .. ", +" .... . ... ", +" .... . ... ", +".. . ..", +". .. . ...", +". .. . ... .", +". .. . ... .", +". .. ... .", +". ....... .", +". . . .", +". . . .", +". . . .", +". . . .", +". . . .", +". . .. .", +". ... .. .", +". .... .. .", +". ... . .. .", +". ... . .. .", +". . . . .", +".. . ..", +" .. . ... ", +" .. . ... ", +" .. . ... ", +" .. . ... ", +" .... "}; diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/d_solid_b.gif b/Circular_kernel_3/demo/Circular_kernel_3/images/d_solid_b.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ffe46d875aef519c15aef1e8a7b60cafd73c99e GIT binary patch literal 1009 zcmZ?wbh9u|RAEqJ_|52S|KHNma_rc#d-v`E*`r`I z1cqJ+{Qj_D!IFlChX25H{-5DLm;%y377*wF1sOnjfq~;1gEWVX$A$$5o7ovn0uF3g zc(`3a+3v{lfP; c #C6C6C6", +", c #DEDEDE", +"' c #FFFFFF", +") c #FFFFFF", +"! c #FFFFFF", +"~ c #FFFFFF", +"{ c #FFFFFF", +"] c #FFFFFF", +"^ c #FFFFFF", +"/ c #FFFFFF", +"( c #FFFFFF", +"_ c #FFFFFF", +": c #FFFFFF", +"< c #FFFFFF", +"[ c #FFFFFF", +"} c #FFFFFF", +"| c #FFFFFF", +"1 c #FFFFFF", +"2 c #FFFFFF", +"3 c #FFFFFF", +"4 c #FFFFFF", +"5 c #FFFFFF", +"6 c #FFFFFF", +"7 c #FFFFFF", +"8 c #FFFFFF", +"9 c #FFFFFF", +"0 c #FFFFFF", +"a c #FFFFFF", +"b c #FFFFFF", +"c c #FFFFFF", +"d c #FFFFFF", +"e c #FFFFFF", +"f c #FFFFFF", +"g c #FFFFFF", +"h c #FFFFFF", +"i c #FFFFFF", +"j c #FFFFFF", +"k c #FFFFFF", +"l c #FFFFFF", +"m c #FFFFFF", +"n c #FFFFFF", +"o c #FFFFFF", +"p c #FFFFFF", +"q c #FFFFFF", +"r c #FFFFFF", +"s c #FFFFFF", +"t c #FFFFFF", +"u c #FFFFFF", +"v c #FFFFFF", +"w c #FFFFFF", +"x c #FFFFFF", +"y c #FFFFFF", +"z c #FFFFFF", +"A c #FFFFFF", +"B c #FFFFFF", +"C c #FFFFFF", +"D c #FFFFFF", +"E c #FFFFFF", +"F c #FFFFFF", +"G c #FFFFFF", +"H c #FFFFFF", +"I c #FFFFFF", +"J c #FFFFFF", +"K c #FFFFFF", +"L c #FFFFFF", +"M c #FFFFFF", +"N c #FFFFFF", +"O c #FFFFFF", +"P c #FFFFFF", +"Q c #FFFFFF", +"R c #FFFFFF", +"S c #FFFFFF", +"T c #FFFFFF", +"U c #FFFFFF", +"V c #FFFFFF", +"W c #FFFFFF", +"X c #FFFFFF", +"Y c #FFFFFF", +"Z c #FFFFFF", +"` c #FFFFFF", +" . c #FFFFFF", +".. c #FFFFFF", +"+. c #FFFFFF", +"@. c #FFFFFF", +"#. c #FFFFFF", +"$. c #FFFFFF", +"%. c #FFFFFF", +"&. c #FFFFFF", +"*. c #FFFFFF", +"=. c #FFFFFF", +"-. c #FFFFFF", +";. c #FFFFFF", +">. c #FFFFFF", +",. c #FFFFFF", +"'. c #FFFFFF", +"). c #FFFFFF", +"!. c #FFFFFF", +"~. c #FFFFFF", +"{. c #FFFFFF", +"]. c #FFFFFF", +"^. c #FFFFFF", +"/. c #FFFFFF", +"(. c #FFFFFF", +"_. c #FFFFFF", +":. c #FFFFFF", +"<. c #FFFFFF", +"[. c #FFFFFF", +"}. c #FFFFFF", +"|. c #FFFFFF", +"1. c #FFFFFF", +"2. c #FFFFFF", +"3. c #FFFFFF", +"4. c #FFFFFF", +"5. c #FFFFFF", +"6. c #FFFFFF", +"7. c #FFFFFF", +"8. c #FFFFFF", +"9. c #FFFFFF", +"0. c #FFFFFF", +"a. c #FFFFFF", +"b. c #FFFFFF", +"c. c #FFFFFF", +"d. c #FFFFFF", +"e. c #FFFFFF", +"f. c #FFFFFF", +"g. c #FFFFFF", +"h. c #FFFFFF", +"i. c #FFFFFF", +"j. c #FFFFFF", +"k. c #FFFFFF", +"l. c #FFFFFF", +"m. c #FFFFFF", +"n. c #FFFFFF", +"o. c #FFFFFF", +"p. c #FFFFFF", +"q. c #FFFFFF", +"r. c #FFFFFF", +"s. c #FFFFFF", +"t. c #FFFFFF", +"u. c #FFFFFF", +"v. c #FFFFFF", +"w. c #FFFFFF", +"x. c #FFFFFF", +"y. c #FFFFFF", +"z. c #FFFFFF", +"A. c #FFFFFF", +"B. c #FFFFFF", +"C. c #FFFFFF", +"D. c #FFFFFF", +"E. c #FFFFFF", +"F. c #FFFFFF", +"G. c #FFFFFF", +"H. c #FFFFFF", +"I. c #FFFFFF", +"J. c #FFFFFF", +"K. c #FFFFFF", +"L. c #FFFFFF", +"M. c #FFFFFF", +"N. c #FFFFFF", +"O. c #FFFFFF", +"P. c #FFFFFF", +"Q. c #FFFFFF", +"R. c #FFFFFF", +"S. c #FFFFFF", +"T. c #FFFFFF", +"U. c #FFFFFF", +"V. c #FFFFFF", +"W. c #FFFFFF", +"X. c #FFFFFF", +"Y. c #FFFFFF", +"Z. c #FFFFFF", +"`. c #FFFFFF", +" + c #FFFFFF", +".+ c #FFFFFF", +"++ c #FFFFFF", +"@+ c #FFFFFF", +"#+ c #FFFFFF", +"$+ c #FFFFFF", +"%+ c #FFFFFF", +"&+ c #FFFFFF", +"*+ c #FFFFFF", +"=+ c #FFFFFF", +"-+ c #FFFFFF", +";+ c #FFFFFF", +">+ c #FFFFFF", +",+ c #FFFFFF", +"'+ c #FFFFFF", +")+ c #FFFFFF", +"!+ c #FFFFFF", +"~+ c #FFFFFF", +"{+ c #FFFFFF", +"]+ c #FFFFFF", +"^+ c #FFFFFF", +"/+ c #FFFFFF", +"(+ c #FFFFFF", +"_+ c #FFFFFF", +":+ c #FFFFFF", +"<+ c #FFFFFF", +"[+ c #FFFFFF", +"}+ c #FFFFFF", +"|+ c #FFFFFF", +"1+ c #FFFFFF", +"2+ c #FFFFFF", +"3+ c #FFFFFF", +"4+ c #FFFFFF", +"5+ c #FFFFFF", +"6+ c #FFFFFF", +"7+ c #FFFFFF", +"8+ c #FFFFFF", +"9+ c #FFFFFF", +"0+ c #FFFFFF", +"a+ c #FFFFFF", +"b+ c #FFFFFF", +"c+ c #FFFFFF", +"d+ c #FFFFFF", +"e+ c #FFFFFF", +"f+ c #FFFFFF", +"g+ c #FFFFFF", +"h+ c #FFFFFF", +"i+ c #FFFFFF", +"j+ c #FFFFFF", +"k+ c #FFFFFF", +"l+ c #FFFFFF", +"m+ c #FFFFFF", +"n+ c #FFFFFF", +"o+ c #FFFFFF", +"p+ c #FFFFFF", +"q+ c #FFFFFF", +"r+ c #FFFFFF", +"s+ c #FFFFFF", +"t+ c #FFFFFF", +"u+ c #FFFFFF", +"v+ c #FFFFFF", +"w+ c #FFFFFF", +"x+ c #FFFBF0", +"y+ c #A0A0A4", +"z+ c #808080", +", , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +", - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & - & & & & & & & & & z+ ", +", - & & & & & & & & & & & z+z+z+z+z+z+z+z+z+- & & & & & & & & & z+ ", +", - & & & & & & & & & & z+z+z+z+z+z+z+z+z+- z+ & & & & & & & & & z+ ", +", - & & & & & & & & & z+z+z+z+z+z+z+z+z+- z+& & & & & & & & & & z+ ", +", - & & & & & & & & z+- - - - - - - - - - z+& z+ & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & - & z+& & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & - z+& z+ & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & - & z+& & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & - z+& z+ & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & - & z+& & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & - z+& z+ & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & - & z+ & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & - z+ & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & - & & & & & & & & & & & & z+ ", +", - & & & & & & & & - & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+ ", +" "}; diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/d_wire_b.gif b/Circular_kernel_3/demo/Circular_kernel_3/images/d_wire_b.gif new file mode 100644 index 0000000000000000000000000000000000000000..c5c3acc8845fc3b396551bcf07b791427510e0f9 GIT binary patch literal 1008 zcmZ?wbh9u|RAEqJ_|52S|KHNma_rc#d-v`E*`r`I z1cqJ+{Qj_D!IFlChX25H{-5DLm;%y377*wF1sOnjfq~;HgEWVX$A$$5o7ovn0uF3g zc(`3a+3v{lfP; c #C6C6C6", +", c #DEDEDE", +"' c #FFFFFF", +") c #FFFFFF", +"! c #FFFFFF", +"~ c #FFFFFF", +"{ c #FFFFFF", +"] c #FFFFFF", +"^ c #FFFFFF", +"/ c #FFFFFF", +"( c #FFFFFF", +"_ c #FFFFFF", +": c #FFFFFF", +"< c #FFFFFF", +"[ c #FFFFFF", +"} c #FFFFFF", +"| c #FFFFFF", +"1 c #FFFFFF", +"2 c #FFFFFF", +"3 c #FFFFFF", +"4 c #FFFFFF", +"5 c #FFFFFF", +"6 c #FFFFFF", +"7 c #FFFFFF", +"8 c #FFFFFF", +"9 c #FFFFFF", +"0 c #FFFFFF", +"a c #FFFFFF", +"b c #FFFFFF", +"c c #FFFFFF", +"d c #FFFFFF", +"e c #FFFFFF", +"f c #FFFFFF", +"g c #FFFFFF", +"h c #FFFFFF", +"i c #FFFFFF", +"j c #FFFFFF", +"k c #FFFFFF", +"l c #FFFFFF", +"m c #FFFFFF", +"n c #FFFFFF", +"o c #FFFFFF", +"p c #FFFFFF", +"q c #FFFFFF", +"r c #FFFFFF", +"s c #FFFFFF", +"t c #FFFFFF", +"u c #FFFFFF", +"v c #FFFFFF", +"w c #FFFFFF", +"x c #FFFFFF", +"y c #FFFFFF", +"z c #FFFFFF", +"A c #FFFFFF", +"B c #FFFFFF", +"C c #FFFFFF", +"D c #FFFFFF", +"E c #FFFFFF", +"F c #FFFFFF", +"G c #FFFFFF", +"H c #FFFFFF", +"I c #FFFFFF", +"J c #FFFFFF", +"K c #FFFFFF", +"L c #FFFFFF", +"M c #FFFFFF", +"N c #FFFFFF", +"O c #FFFFFF", +"P c #FFFFFF", +"Q c #FFFFFF", +"R c #FFFFFF", +"S c #FFFFFF", +"T c #FFFFFF", +"U c #FFFFFF", +"V c #FFFFFF", +"W c #FFFFFF", +"X c #FFFFFF", +"Y c #FFFFFF", +"Z c #FFFFFF", +"` c #FFFFFF", +" . c #FFFFFF", +".. c #FFFFFF", +"+. c #FFFFFF", +"@. c #FFFFFF", +"#. c #FFFFFF", +"$. c #FFFFFF", +"%. c #FFFFFF", +"&. c #FFFFFF", +"*. c #FFFFFF", +"=. c #FFFFFF", +"-. c #FFFFFF", +";. c #FFFFFF", +">. c #FFFFFF", +",. c #FFFFFF", +"'. c #FFFFFF", +"). c #FFFFFF", +"!. c #FFFFFF", +"~. c #FFFFFF", +"{. c #FFFFFF", +"]. c #FFFFFF", +"^. c #FFFFFF", +"/. c #FFFFFF", +"(. c #FFFFFF", +"_. c #FFFFFF", +":. c #FFFFFF", +"<. c #FFFFFF", +"[. c #FFFFFF", +"}. c #FFFFFF", +"|. c #FFFFFF", +"1. c #FFFFFF", +"2. c #FFFFFF", +"3. c #FFFFFF", +"4. c #FFFFFF", +"5. c #FFFFFF", +"6. c #FFFFFF", +"7. c #FFFFFF", +"8. c #FFFFFF", +"9. c #FFFFFF", +"0. c #FFFFFF", +"a. c #FFFFFF", +"b. c #FFFFFF", +"c. c #FFFFFF", +"d. c #FFFFFF", +"e. c #FFFFFF", +"f. c #FFFFFF", +"g. c #FFFFFF", +"h. c #FFFFFF", +"i. c #FFFFFF", +"j. c #FFFFFF", +"k. c #FFFFFF", +"l. c #FFFFFF", +"m. c #FFFFFF", +"n. c #FFFFFF", +"o. c #FFFFFF", +"p. c #FFFFFF", +"q. c #FFFFFF", +"r. c #FFFFFF", +"s. c #FFFFFF", +"t. c #FFFFFF", +"u. c #FFFFFF", +"v. c #FFFFFF", +"w. c #FFFFFF", +"x. c #FFFFFF", +"y. c #FFFFFF", +"z. c #FFFFFF", +"A. c #FFFFFF", +"B. c #FFFFFF", +"C. c #FFFFFF", +"D. c #FFFFFF", +"E. c #FFFFFF", +"F. c #FFFFFF", +"G. c #FFFFFF", +"H. c #FFFFFF", +"I. c #FFFFFF", +"J. c #FFFFFF", +"K. c #FFFFFF", +"L. c #FFFFFF", +"M. c #FFFFFF", +"N. c #FFFFFF", +"O. c #FFFFFF", +"P. c #FFFFFF", +"Q. c #FFFFFF", +"R. c #FFFFFF", +"S. c #FFFFFF", +"T. c #FFFFFF", +"U. c #FFFFFF", +"V. c #FFFFFF", +"W. c #FFFFFF", +"X. c #FFFFFF", +"Y. c #FFFFFF", +"Z. c #FFFFFF", +"`. c #FFFFFF", +" + c #FFFFFF", +".+ c #FFFFFF", +"++ c #FFFFFF", +"@+ c #FFFFFF", +"#+ c #FFFFFF", +"$+ c #FFFFFF", +"%+ c #FFFFFF", +"&+ c #FFFFFF", +"*+ c #FFFFFF", +"=+ c #FFFFFF", +"-+ c #FFFFFF", +";+ c #FFFFFF", +">+ c #FFFFFF", +",+ c #FFFFFF", +"'+ c #FFFFFF", +")+ c #FFFFFF", +"!+ c #FFFFFF", +"~+ c #FFFFFF", +"{+ c #FFFFFF", +"]+ c #FFFFFF", +"^+ c #FFFFFF", +"/+ c #FFFFFF", +"(+ c #FFFFFF", +"_+ c #FFFFFF", +":+ c #FFFFFF", +"<+ c #FFFFFF", +"[+ c #FFFFFF", +"}+ c #FFFFFF", +"|+ c #FFFFFF", +"1+ c #FFFFFF", +"2+ c #FFFFFF", +"3+ c #FFFFFF", +"4+ c #FFFFFF", +"5+ c #FFFFFF", +"6+ c #FFFFFF", +"7+ c #FFFFFF", +"8+ c #FFFFFF", +"9+ c #FFFFFF", +"0+ c #FFFFFF", +"a+ c #FFFFFF", +"b+ c #FFFFFF", +"c+ c #FFFFFF", +"d+ c #FFFFFF", +"e+ c #FFFFFF", +"f+ c #FFFFFF", +"g+ c #FFFFFF", +"h+ c #FFFFFF", +"i+ c #FFFFFF", +"j+ c #FFFFFF", +"k+ c #FFFFFF", +"l+ c #FFFFFF", +"m+ c #FFFFFF", +"n+ c #FFFFFF", +"o+ c #FFFFFF", +"p+ c #FFFFFF", +"q+ c #FFFFFF", +"r+ c #FFFFFF", +"s+ c #FFFFFF", +"t+ c #FFFFFF", +"u+ c #FFFFFF", +"v+ c #FFFFFF", +"w+ c #FFFFFF", +"x+ c #FFFBF0", +"y+ c #A0A0A4", +"z+ c #808080", +", , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +", - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & z+& & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & z+& & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & z+& & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & z+& & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & z+& & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & z+& & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & z+& & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & z+& & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & z+z+z+z+z+z+ z+z+z+ & & & & & & & & & z+ ", +", - & & & & & & & & & & z+& & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & z+& & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & z+& & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & z+ ", +", z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+z+ ", +" "}; diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/zoom_in.xpm b/Circular_kernel_3/demo/Circular_kernel_3/images/zoom_in.xpm new file mode 100644 index 00000000000..ea71c6f2a46 --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/images/zoom_in.xpm @@ -0,0 +1,129 @@ +/* XPM */ +static char * zoom_in_xpm[] = { +"16 16 110 2", +" c None", +". c #000000", +"+ c #B7B7B7", +"@ c #090909", +"# c #060606", +"$ c #CFCFFF", +"% c #F0F0F0", +"& c #4E4E5B", +"* c #ECECEF", +"= c #6C6CFF", +"- c #D7D7FF", +"; c #EDEDEF", +"> c #CDCDFF", +", c #7A7AAE", +"' c #6E6EFF", +") c #D5D5FF", +"! c #D2D2D6", +"~ c #6B6B73", +"{ c #F9F9F9", +"] c #5151A1", +"^ c #CCCCD0", +"/ c #6161AC", +"( c #ADADFF", +"_ c #484861", +": c #C0C0F0", +"< c #6464FF", +"[ c #AAAAFF", +"} c #EBEBFF", +"| c #6262FF", +"1 c #9898A9", +"2 c #5C5C8D", +"3 c #595981", +"4 c #FBFBFB", +"5 c #8E8EA1", +"6 c #E2E2FF", +"7 c #AFAFC9", +"8 c #434363", +"9 c #555566", +"0 c #B0B0DF", +"a c #9696FF", +"b c #F8F8FB", +"c c #3D3DAF", +"d c #D8D8FF", +"e c #B6B6FF", +"f c #3838A1", +"g c #A2A2FF", +"h c #8E8ECC", +"i c #8080C6", +"j c #26265B", +"k c #8B8BFF", +"l c #585870", +"m c #3F3F3F", +"n c #484848", +"o c #6565F9", +"p c #71717E", +"q c #7272DA", +"r c #464686", +"s c #E2E2E3", +"t c #9F9FFF", +"u c #7676F5", +"v c #8B8BA1", +"w c #4C4C5B", +"x c #686871", +"y c #B7B7DF", +"z c #030314", +"A c #3A3A76", +"B c #ABABE6", +"C c #DDDDFF", +"D c #4C4C7C", +"E c #9999FF", +"F c #CECED6", +"G c #6565AE", +"H c #5D5D6E", +"I c #D0D0FF", +"J c #6969FF", +"K c #2C2C6A", +"L c #9C9C9C", +"M c #AEAEB6", +"N c #28286D", +"O c #A4A4AA", +"P c #262667", +"Q c #E2E2ED", +"R c #8686F0", +"S c #AFAFE7", +"T c #7C7CAC", +"U c #C0C0E1", +"V c #464673", +"W c #5454E0", +"X c #2B2B61", +"Y c #434377", +"Z c #8787BE", +"` c #6B6B75", +" . c #DBDBF0", +".. c #B3B3D8", +"+. c #C6C6C6", +"@. c #8282FF", +"#. c #6E6EFB", +"$. c #25255D", +"%. c #373799", +"&. c #CECEF0", +"*. c #8C8CB6", +"=. c #6868EB", +"-. c #FDFDFF", +";. c #C0C0C0", +">. c #6F6F8B", +",. c #5454D0", +"'. c #6868E0", +"). c #8686A9", +"!. c #BCBCF0", +"~. c #A1A1B8", +" 4 M p 9 l >.7 -. ", +" s x v ..!.B h 2 3 Q ", +"{ ~ ~.) : . . [ t G V b ", +"O 5 d > .. . C a k ] *. ", +"` U I } % . . - @.'.Y ", +"& y . . . . . . . . #.j ", +"w 0 . . . . . . . . o $. ", +"H S e 6 % . . $ J W A ", +"1 T ( g &.. . $ = | f , ", +"; _ i E R . . ' < c N ^ ", +" F 8 / q u =.,.%.P z @ + ", +" * ).D X K r Z ! # . @ + ", +" + # . @ + ", +" + # . @ ;.", +" + # . m ", +" +.n L "}; diff --git a/Circular_kernel_3/demo/Circular_kernel_3/images/zoom_out.xpm b/Circular_kernel_3/demo/Circular_kernel_3/images/zoom_out.xpm new file mode 100644 index 00000000000..f73084de23d --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/images/zoom_out.xpm @@ -0,0 +1,133 @@ +/* XPM */ +static char * zoom_out_xpm[] = { +"16 16 114 2", +" c None", +". c #000000", +"+ c #B7B7B7", +"@ c #060606", +"# c #090909", +"$ c #FDFDFF", +"% c #CFCFFF", +"& c #B6B6FF", +"* c #4C4C5B", +"= c #4E4E5B", +"- c #8383FF", +"; c #ECECEF", +"> c #E9E9FF", +", c #555566", +"' c #EBEBFF", +") c #8282FF", +"! c #CDCDFF", +"~ c #FEFEFF", +"{ c #686871", +"] c #6E6EFF", +"^ c #8B8BA1", +"/ c #D8D8FF", +"( c #464673", +"_ c #FBFBFB", +": c #F9F9F9", +"< c #6F6F8B", +"[ c #6565AE", +"} c #6161AC", +"| c #2C2C6A", +"1 c #484861", +"2 c #434363", +"3 c #CBCBFF", +"4 c #D2D2D6", +"5 c #6262FF", +"6 c #C6C6C6", +"7 c #DDDDFF", +"8 c #AAAAFF", +"9 c #9999FF", +"0 c #6868EB", +"a c #3A3A76", +"b c #7676F5", +"c c #3F3F3F", +"d c #595981", +"e c #5C5C8D", +"f c #F8F8FB", +"g c #5D5D6E", +"h c #CCCCD0", +"i c #9696FF", +"j c #3838A1", +"k c #8686A9", +"l c #A1A1B8", +"m c #A2A2FF", +"n c #D5D5FF", +"o c #DBDBFF", +"p c #5454E0", +"q c #71717E", +"r c #7272DA", +"s c #D0D0FF", +"t c #2B2B61", +"u c #484848", +"v c #BCBCF0", +"w c #C1C1FF", +"x c #BABAEC", +"y c #E2E2ED", +"z c #E2E2E3", +"A c #6C6CFF", +"B c #7A7AAE", +"C c #B5B5FF", +"D c #9898A9", +"E c #8E8EFF", +"F c #ABABE6", +"G c #AFAFE7", +"H c #C0C0C0", +"I c #4C4C7C", +"J c #5151A1", +"K c #8E8EA1", +"L c #3D3DAF", +"M c #6868E0", +"N c #AFAFC9", +"O c #C0C0E1", +"P c #CECED6", +"Q c #6969FF", +"R c #B3B3D8", +"S c #030314", +"T c #8080C6", +"U c #464686", +"V c #5454D0", +"W c #373799", +"X c #262667", +"Y c #6B6B73", +"Z c #8B8BFF", +"` c #AEAEB6", +" . c #585870", +".. c #434377", +"+. c #7C7CAC", +"@. c #6B6B75", +"#. c #C3C3EC", +"$. c #9F9FFF", +"%. c #8C8CB6", +"&. c #E2E2FF", +"*. c #8E8ECC", +"=. c #26265B", +"-. c #D7D7FF", +";. c #EDEDEF", +">. c #9C9C9C", +",. c #28286D", +"'. c #A4A4AA", +"). c #6E6EFB", +"!. c #7979FF", +"~. c #ADADFF", +"{. c #6565F9", +"]. c #8787BE", +"^. c #25255D", +"/. c #6464FF", +" _ ` q , .< N $ ", +" z { ^ R v F *.e d y ", +": Y l n 3 w C 8 $.[ ( f ", +"'.K / ! > $ $ 7 i Z J %. ", +"@.O s ' -.) M .. ", +"= #.. . . . . . . . ).=. ", +"* x . . . . . . . . {.^. ", +"g G & &. % Q p a ", +"D +.~.m o ~ % A 5 j B ", +";.1 T 9 E - !.] /.L ,.h ", +" P 2 } r b 0 V W X S # + ", +" ; k I t | U ].4 @ . # + ", +" + @ . # + ", +" + @ . # H ", +" + @ . c ", +" 6 u >."}; diff --git a/Circular_kernel_3/demo/Circular_kernel_3/makefile b/Circular_kernel_3/demo/Circular_kernel_3/makefile new file mode 100644 index 00000000000..c396b125160 --- /dev/null +++ b/Circular_kernel_3/demo/Circular_kernel_3/makefile @@ -0,0 +1,66 @@ +# Created by the script create_makefile +# This is the makefile for compiling a CGAL application. + +#---------------------------------------------------------------------# +# include platform specific settings +#---------------------------------------------------------------------# +# Choose the right include file from the /make directory. + +# CGAL_MAKEFILE = ENTER_YOUR_INCLUDE_MAKEFILE_HERE +include $(CGAL_MAKEFILE) + +#---------------------------------------------------------------------# +# compiler flags +#---------------------------------------------------------------------# + +CXXFLAGS = \ + -I/user/pmachado/home/CGAL_I/include \ + -I../../include\ + -I../../../Algebraic_kernel_for_spheres/include \ + -I/user/pmachado/home/freeglut-2.4.0/include \ + -Winline \ + $(CGAL_CXXFLAGS) \ + $(LONG_NAME_PROBLEM_CXXFLAGS) + +#---------------------------------------------------------------------# +# linker flags +#---------------------------------------------------------------------# + +LIBPATH = \ + $(CGAL_LIBPATH) \ + -L/usr/X11R6/lib \ + -L/user/pmachado/home/freeglut-2.4.0/src/.libs/ + +LDFLAGS = \ + $(LONG_NAME_PROBLEM_LDFLAGS) \ + $(CGAL_LDFLAGS) \ + $(CGAL_QT_LDFLAGS) \ + -lgmpxx -lmpfr -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm + +#---------------------------------------------------------------------# +# target entries +#---------------------------------------------------------------------# + +all: \ + demo_circle$(EXE_EXT) + + +%.moc : %.h + ${QT_MOC} -o $@ $<; + +demo_circle.o : demo_circle.C demo_circle.h demo_circle.moc + +% : %.o %.moc + $(CGAL_CXX) $(LIBPATH) $(EXE_OPT) $@ $< $(LDFLAGS) + +clean : \ + demo_circle.clean + + +#---------------------------------------------------------------------# +# suffix rules +#---------------------------------------------------------------------# + +.C$(OBJ_EXT): + $(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) $< +