ࡱ> @ N)bjbjFF ;V,,F   86,T2(YYYSSSSSSS4URWS!0UY00S;S"""0S"0S""jN5R `ܺ.& O2SS0T P*XXd5RX5RdYL6",)YYYSS ^ Optimization, Robot movement, Path finding, Maze passing Franjo JOVI* Marina PE`UT* Damir BLA}EVI* OPTIMIZATION OF PATH FINDING OF A NON-AUTONOMOUS ROBOT IN A MAZE The article describes techniques used for programming a successful movement of non-autonomous robot through series of obstacles in a maze. Obstacles are detected through a robots sensor grid, processed and stored. After data gathering process, information is transmitted to external data processing unit using infra red beam. External data processing unit estimates the shortest path for successful overcoming of obstacles and detects maze exit. Several complex algorithms are applied for path optimization. After external data processing, the results are beamed back to the non-autonomous robot in a suitable form. In the second passing the robot successfully avoids obstacles and exits the maze using the shortest path. Path optimization algorithms are resource demanding and therefore not yet suitable for robot's circuitry deployment. INTRODUCTION Finding a shortest path through a maze is a basic computer science problem that can take many forms. Also, path planning and navigation for mobile robots, in particular the case where the environment is known, is a well studied problem. In practice, however, one problem is that often no complete knowledge about the environment is available, so environment can be considered as a maze. In this paper, we consider the case where a maze has a single goal location, and non-autonomous robot must find a path to that goal from any arbitrary point and optimize its path. Two optimization algorithms are proposed. For this investigation we needed to construct a non-autonomous robot. The robot is constructed from LEGO Mindstorms Robotics Invention System 2.0 package and its sensor grid consists of light, rotation and touch sensors. Using that sensor grid by the proposed algorithm called First passing, robot is required to produce a complete path to the goal area, i.e. to store it in its memory. It should be emphasized that the range of the sensors is limited, as well as the available RAM and ROM memory. Once the goal area was found, collected data were transmitted to the external data processing unit using infra-red beam. Descriptions of optimization algorithms are shown in chapter 3. FIRST PASSING ALGORITHM AND MAZE CONSTRUCTION When making abstraction of the maze, it can be imagined as a buildings floor viewed from above and presented as white areas while the black areas represent the obstacle or the walls. The green area symbolized the target area robot is to find, and the edges represent the possible paths that the robot can take to travel from node to node (area to area). Three basic assumptions are used when constructing the non-autonomous robot: It should be able to distinguish three different colors of the pad It should be able to make precise right and left turns for 90 It should be able to memorize its movement throughout the maze For slower, but more powerful and accurate movement of the robot, we used 3:1 gearing. Successful navigation greatly depended on the built-in sensor grid used for movement decisions where the precision of motion is greatly affected by the sensor readings. Sensor grid was arranged as follows: the first light sensor was attached to the front of the robot, the second light sensor was attached to the left side of the robot, the rotation sensor was connected to the axis of the gears and touch sensor was attached to the back of the robot. The idea for the algorithm First passing was to enable robot move along the pad in search for the goal avoiding obstacles on its way and store rotation sensor readings to its memory. Since the maze was two-dimensional, i.e. black areas presented obstacles and white area allowed movement path, complete maze layout can be presented for the given case as a matrix system sized 7x11 equal areas. More fine grained maze can be achieved using larger map or by shortening default unit of movement which in our case was determined by precise reading of the rotation sensor. A non-complex shortest or trivial shortest path problem is the shortest path computation between a source and a destination. Simplicity and efficiency of First passing algorithm was necessitated due to limited RAM and ROM memory of the robot. Most efficient algorithm for the search of the goal followed First passing algorithm presented in Fig. 1.  Fig 1. Flowchart of the First passing Algorithm Using this algorithm, robot explored 99% of the maze and successfully found goal. Obstacles in the maze were arranged in a way that robot made two kinds of mistakes, meaning it could enter dead end path (double-dotted line in Fig.2) or it could make unnecessary circle around obstacles (dotted line in Fig.2). Solid line in the Fig.2 represents movement by the algorithm First passing and dotted line represents movement after optimization.   Fig.2. Actual movement by algorithm First passing and movement mistakes that will be optimized After successful navigation through the unknown maze and discovery of the goal, memorized data are sent to the external processing unit for post processing. ALGORITHM FOR THE FIRST AND SECOND OPTIMIZATION We considered maze as a matrix system sized of 7x11 equal areas. Since data received from the robot are in a shape of rotation sensor readings, external data processing unit is needed to convert them into matrix coordinates. In this way we had precise robot movement where its each step is shown as a pair of coordinates presenting rows and columns. Algorithm for conversion to matrix coordinates layout is shown in Fig. 3.  Fig. 3. Algorithm for conversion to matrix coordinates layout First optimization task is to remove dead ends from primary robot movement and it follows First optimization algorithm in Fig. 4.  Fig. 4. First optimization algorithm It is obvious that this algorithm searches for exactly the same pair of coordinates which points out that robot passed twice the same area of the matrix. Therefore, its movement between first passing through the area with repeated coordinates and second passing of the same area is unnecessary and can be removed from primary movement path. Second optimization detects the possibility to shorten movement path vertically. As the First passing algorithm moves robot through the maze following left edge (left light sensor over black area), it is mandatory to examine if there are two pairs of coordinates that have the same column coordinate but their row coordinate differs by 1. Thus, robot made undesirable circle around the obstacle and all pairs of coordinates between discussed two areas need to be removed. Second optimization algorithm flowchart can be seen on Fig. 5.  Fig. 5. Second optimization algorithm CONCLUSION The paper presents path finding of non-autonomous robot and shows that it can be well optimized. It gives two optimization algorithms that are resource demanding and therefore executed by the external data processing unit. Future study should determine what is obligatory memory size required for robot's circuitry deployment so that it can calculate optimization algorithms on its own. By doing that, path optimization would be a real time system variable. Furthermore, maze could be presented as three-dimensional space which would demand different robot construction and use of touch sensors. Finally, an often-mentioned advantage of presented algorithms is that solution can be found even if maze topology or start position are changed, i.e. for adaptive maze scenery. REFERENCES OVERMARS M., Programming Lego Robots using NQC, Departmant of Computer Science, Utrecht, 1999. KEKOA PROUDFOOT, RCX Internals,  HYPERLINK "http://graphics.stanford.edu/~kekoa/rcx/#Intro" http://graphics.stanford.edu/~kekoa/rcx/#Intro, 1999. BALAGURUSA E, Programming with JAVA, Tata McGraw-Hill Publishing Company Limited, New Delhi, 1999. HEMPEL R., Mindstorms MazeWalker,  HYPERLINK "http://www.hempeldesigngroup.com/lego/mazewalker/" http://www.hempeldesigngroup.com/lego/mazewalker/, 2000. * University of Osijek, Faculty of Electrical Engineering in Osijek     <>VZ`pvR   3 4 { | teeeZhEhmH sH hEh,CJaJmH sH h}'CJaJmH sH hEhCJaJmH sH hEh i5CJaJmH sH hEh^kCJaJmH sH #jho%0JCJUaJmH sH hEh iCJaJmH sH hEh6CJaJmH sH hEh i6CJaJmH sH hEh96CJaJmH sH <rtvR 4 |   $^a$gd{z$ & F a$gdhX^gd ^`gd, ^gd $7a$gdgd igd$a$gd $Sa$gd(=)M)   f >[\hlowyz~289DcdǸ|m^OO@hEhCJaJmH sH hEhFRCJaJmH sH h>)hCJaJmH sH h>)hL5CJaJmH sH h>)hyCJaJmH sH hEhyCJaJmH sH hEhL5CJaJmH sH hEhj+CJaJmH sH hEhz CJaJmH sH hj+CJaJmH sH +hhXh| 5CJOJQJ^JaJmH sH +hhXh5CJOJQJ^JaJmH sH  dCDE8wlndeo $`a$gd,$a$gduT$a$gd{z $ & Fa$gd{z$a$gd{z $ & Fa$gdhX $^a$gd{z $`a$gd{zdlmz{yz6DWXfmtv❬❻l`hCJaJmH sH %hhB*CJaJmH phsH h>)h%CJaJmH sH hEhFRCJaJmH sH hEh:CJaJmH sH hEhCJaJmH sH h}'CJaJmH sH hCJaJmH sH h>)hCJaJmH sH hEh%CJaJmH sH hEhyCJaJmH sH %(BCDEJ\`dehlóuiZZNu?h>)h{zCJaJmH sH hCJaJmH sH h{zh{zCJaJmH sH h}'CJaJmH sH h>)hCJaJmH sH h{zCJaJmH sH hEhz mH sH hEmH sH hhXh35CJaJmH sH hhXh| 5CJaJmH sH hhXhYy5CJaJmH sH hEhCJaJmH sH hEhFRCJaJmH sH hEh%CJaJmH sH  !7&,89wx @AǼqqbSSbhEh>CJaJmH sH hEhEqCJaJmH sH h>)hEqCJaJmH sH h>)h!ICJaJmH sH h>)hiCJaJmH sH h>)h| CJaJmH sH h>)hqUCJaJmH sH h{zhEmH sH h{zh{zCJaJmH sH h}'CJaJmH sH h>)h{zCJaJmH sH h>)h}'CJaJmH sH >FI]^br 12 3ָ|p|a|U|ahnCJaJmH sH hEh>CJaJmH sH hiCJaJmH sH hEh^!CJaJmH sH hEh[XCJaJmH sH h>)h[XCJaJmH sH h>)hiCJaJmH sH hEhEqCJaJmH sH hEh`1CJaJmH sH hEh;v!CJaJmH sH hCJaJmH sH hEh[h CJaJmH sH 3BWbjklmnuʻwhYJ>/h.h>)CJaJmH sH huTCJaJmH sH h.huCJaJmH sH h>)h`1CJaJmH sH h>)hiCJaJmH sH h>)huCJaJmH sH h{zCJaJmH sH hWhuCJaJmH sH jhWhWUhEh[XCJaJmH sH hwhnCJaJmH sH hwh{zCJaJmH sH hwhiCJaJmH sH hiCJaJmH sH h{zCJaJmH sH r#$06cĵyqbVĚhCJaJmH sH hEh{CJaJmH sH hmH sH hEh{mH sH h>)hmH sH h>)h{mH sH h,CJaJmH sH h>)hiCJaJmH sH h>)h7n@CJaJmH sH hEh7n@CJaJmH sH hEhoCJaJmH sH hEh{zCJaJmH sH hEh`1CJaJmH sH cdefglmnotuv};pqrsƺƧƚyj[O[O[O[hECJaJmH sH hEhECJaJmH sH hEh{CJaJmH sH hEhECJmH sH hCJmH sH hCJmH sH hEh{CJmH sH %jOhmhmCJUaJmH sH huTCJaJmH sH hJ)CJaJmH sH %j?hmhmCJUaJmH sH hEh,CJaJmH sH h{CJaJmH sH orsMO    ? @ A $a$gduT $`a$gdVR $`a$gdr $)^)a$gdVR$a$gdVRgdhX $ & Fa$gdhX$a$gd{z $`a$gd$a$gdwsv5SV_gl9<C¶zkzkk___Pzh>)hS!CJaJmH sH hS!CJaJmH sH h>)hnCJaJmH sH h>)h )'CJaJmH sH h>)h8)CJaJmH sH hEh8)CJaJmH sH h8)h8)CJaJmH sH h8)CJaJmH sH hz mH sH hhXhhXmH sH h5CJaJmH sH hhXhE5CJaJmH sH hhX5CJaJmH sH CKLMNO     ˼zk\zMA5h CJaJmH sH hrCJaJmH sH h>)hrCJaJmH sH h>)h )'CJaJmH sH h>)hS!CJaJmH sH h>)huTCJaJmH sH huTCJaJmH sH hS!CJaJmH sH h[CJaJmH sH hVRhVRCJaJmH sH hWhVRCJaJmH sH jhWhWUhJ)CJaJmH sH h>)hnCJaJmH sH h>)hCJaJmH sH    ? @ A T l p u { !!!!'!3!?!!!!!!!"""";yyyyyyyjyy[h>)hCJaJmH sH h>)huTCJaJmH sH h>)h)ACJaJmH sH h>)h$p-CJaJmH sH h>)h )'CJaJmH sH h )'CJaJmH sH h$p-CJaJmH sH huThrCJaJmH sH h CJaJmH sH huTCJaJmH sH hWhuTCJaJmH sH j{hWhWUA !########%?&&&&&&]' $ & Fa$gd $^a$gd{z $`a$gdz $`a$gdgd $ & Fa$gdhX$a$gd{z$a$gd $`a$gd $`a$gduT"/#0#?#p############ $6$L$ʾʳ}meZN?0h>)h6DCJaJmH sH h>)hCJaJmH sH hCJaJmH sH hhz mH sH hmH sH hhXh5CJaJmH sH hhXh6D5CJaJmH sH hEhS!mH sH hCJaJmH sH hWhCJaJmH sH j-hWhWUhS!CJaJmH sH hCJaJmH sH hCJaJmH sH h>)hBCJaJmH sH h>)hCJaJmH sH L$$$$$%/%0%k%%%%%%%?&Q&&&&&&&ʾʾ⠾vgvXI:hz hz CJaJmH sH hS hz CJaJmH sH hS hBCJaJmH sH hS h0CJaJmH sH hS ho%CJaJmH sH hS h6DCJaJmH sH hCJaJmH sH h>)h6DCJaJmH sH h#h6DCJaJmH sH h6DCJaJmH sH h#CJaJmH sH hBCJaJmH sH h>)hBCJaJmH sH h>)h#CJaJmH sH &&&&& '.']'n'{'}'~''''''((U(V(\(_(a(v(x(y((((((((ľrjjXrj#jhhCJUaJhCJaJhh0JCJaJ#jhhCJUaJjhhCJUaJhh6CJaJhhCJaJ h6CJ hCJhEhz CJaJmH sH hCJaJmH sH hhXh5CJaJmH sH hhXho%5CJaJmH sH !]''V(((((;)<)=)?)@)B)C)E)F)H)I)J)K)L)M)N) $^a$gdo% $`a$gdo% $^a$gd{z^gd $ & Fa$gd(((;)<)=)>)@)A)C)D)F)G)I)J)L)M)N)˴hEh,CJaJmH sH jhL|UhL|h,h>)h,CJaJmH sH hEhCJaJmH sH hhCJaJmH sH 91h:pJ)<0@P . A!8"R#$R% ?Dd K$"@A0  # A"d=C2 jc-D@=d=C2 jc-olFZT]x] xEu0bMiX«n`acE~؟(=~`̣0vҘv8U `H2I\2ӱb;J /HȼWy,o+8g`;x,T›e)r\@alˊ0&Nb[#\jJvsd?Yat-'ƜM0]!hb>`wI͞ -qIC5#E)2W$σNo+]?6QuVs ?Ȯ~~uKٜҒY/*Ky Ȼ1?#o+_fƔv-?+n4P}n5qLGgm/j^6 $W)ڳl>iWqh\oX|vEK_8So:iҍ`;Ac3tjBƱ5u{9]g \:`n`MUGeiw0m)9Ogi+Ge!qs-z3p gؤ]0b%×tr=er4lh!6(hڨ:BwOp:4p)":Lq8)l+$I8EEuun;M/vOY63&y-[zGH}Z~؅ <#ӃGv- .l#Bsc>XÎw3懨=q>;T6_[춈Vm>gB#$'"|сgMaC@=Dhy.ǥn}#[)'.&;̗]d)I5լe@ /<㣞<]'uc87KGo0qqTG7@&Gs9.!ydcUz&oL;zT$^{j=֥>zNxQOVsT:c$5.am z+ηd c~+'llnֻ Y%"~"|XG_,]Kb'-qol{(l ϵ{zԟȱV/ҁިZPYAJNΞnHvF.H-%Z%!";ONjK% –֏QQ|Ÿ£p|aUfW?­ u-Uњ{H','|iý'eo1&zn+ aOLDpsg;J~n=Hv}Ž8u#k2aOT'pT䴋]VH{)L`?ǮP sw b"|[+]ܿmi ]{x}m_W- |yTۗp#dE:]". f>;5G|G͍.|̵Z<s6gb\damARbawK;>a]3q!ʹ4w֩XrZurgr}zi}zәYe_ű> y퉅S[-O!\lbçr]Kn/Z{OsD,hYO^QeL<]e?mtyOk\¦~MǟcȺNV֧Axby{ #k]@yYf_g ǚd!fC'!"5+mR?6e"|+9hsk}/_|T&_yL\TGCp|q}= 4_oZz8)r}y6k}66;@[500әﱹRe/8EUE;6~fKcQ*s,#x1WO#D85uY'##ryVƘ|;;wLFؠZz__~ji#p\s5[ a+ 0_-a->\EL9#'TF:'9`(tm/F12 }s9>=Ro`Z^:{65 |^-ޗ^"at") VjaVgrkZ?F˱G|tg-y,b]Mh3 ϗOHV`̃D3^J:|9 kʂ>op4X1@{E~hv8k+7aΐҧ*O+6x O"?[(?ʙmJ[q2]#]S""yddTۖd/BS/ōuo~>,J/c(gMx{IJ$ŞXRk]Cr*%OֿDԸ{m}Љ]l]OFG.E[&E;4 _ǚOI=eFw_ =D]:(:x-%<,ʖKstZ2Kr%)!KcTH?mO 8/v ˕ 2ǛŎP@Wo\?b]? ?F0sY旦?^jzpsH'IW]c/j\g.7 T*E?W[<Ei\2X|Cwkg/.'N Rm9N0Uln3nb}è5B=AKŖpT{TG,9x<'c /|Ws}}}}7fx}'.n5ǚ7) T?:|-k3v 4kAϧ3YĽ#Mu?s%{?Q_X`=w7N=K0; Yk>{ڃ F{7=| Cb4S͗KK~4| Gpߐ*  mqlA{dWv>[yg>佃mi^g}TA< vVT, ò{Vgb Y&B;IQ>b>_=CQ.יEdYpZB^wNI"ȧα9v>9~$hRs BzI‘@m#Y;Zs;Y9% ~U Td؊UKOb?~| lR*VE_ ]}W` *}&b]hvr Y/Ls*9 9GOz9(&W pE܄ XHmiڭEc1;};㨝ڰ  .i@N  %$@3;xPڝ3I*ʹcRj]G9 >M&hƤj..xgk8»ҁH=!sǝ~z|ܼ/t qj̗QJ gmbg5=kD8гvI'Ÿ4bvMZ$Z]KrkL$It^o<mkVoYo3>?19&zS|7;cC1G:"ǖʶ|9I86sl wi\l)/ZC籧.ɫdK?ES4)LY.)]jpC {hz>w4ς} ì,86KW5MNorn2/* ٙd:7P(8DdH  C $A maze1R98 } 8F 8 } JFIF``CCb  R   7 '569WX%&(8ix#$IYfgeGHDER*1 ?\5e;hckwr_Y<县1,yE~c]fX:ƺ̱x ,uuc@.X2ǝ4\5e;hckwr_Y<县1,yE~c]fX:ƺ̱x ,uuc@.X2ǝ4\5e;p+ ch\'1VZeD:El[etK, gJH_݈4RM1Tb>}Z 5<'VݎF܀V 4ulFAfXzPl]jB`Z!t]I5yCbM!Z]-V|pD?`Ͼ8)QjbEy\aPSQ0YeN_,QUy[WP}}KtqEQ;|]l-m6y0,\VX{6GgSAoݎ' Ѽxfƨ` X,lΦ01 C)46z0lj^C!B-i}^ɿ)Ʃ#ׅ$Wt2bEշwCM_b qz]7Tf4G5:@WSh p0Rv@@ü3PPkJrp ~ u5CF4Zy_ha7.YsT٣[eN^ړZڼwV sH'7BZ|O@|p2:wm~DSb3ػMeWثpT{";b]_720R6阧% 􏻣&ރ0~*KTFvT?JtRk5wUBv9+{ld88H+[_h !hST%npe=T< w:ˌ{#aA w)R*L8Ss焆 b; ePql=Z;d)@I[)OU9C1o(c86dPap„-r2J짪!GYq1ydl2@(0aB9 P%AV vSC|LGq#<͇6 \0 Gr(+tÅ;)>xH`#\e gf .PNFB PtaP<$0SvH.233a썆H (Bܧ#!J:J0NzyϞ);|$uCǙF$ !hST%npe=T< w:ˌ{#aA w)R*L8Ss焆 b; ePql=Z;d)@I[)OU9C1o(c86dPap„-r2J짪!GYq1ydl2@(0aB9 P%AV vSC|LGq#<͇6 apOV# z;HRfz%TTJw`y#2 FPo begdvu1D1x~Q=o ~`j9_(Fw@J:ӄY5LGqeߡA6ؠM1ydl訔 4J%gZtXkYc*N\SKY,Ibwޯ ;`%lQV{qibtX]4ձM :,h@jئ4Wz 5lSy`+P)EިM[@ƊTo lcEwV76豢ibtX]4ձM :,h@;MxH`#\e gf .PNFB PtaP<$0SvH.233a썆H (Bܧ#!J:J0NzyϞ);|$uCǙF$ !hST%npe=T< w:ˌ{#aA w)R*L8Ss焆 b; ePql=Z;d)@I[)OU9C1o(c86dPap„-r2J짪!GYq1ydl2@(0aB9 P%AV vSC|LGq#<͇6 \0 Gr(+tÅ;)>xH`#\e gf .PNFB PtaP<$0SvH.233a썆H (Bܧ#!J:J0NzyϞ);|$uCǙF$'* 40d߂W]e:4T.i}mO+_9+.m4aB0&gUAD~& ɯb;/|oe =,\VX{6GgSASiSd~{}YT_ 5lSy`+P)EިM[@ƊTo lcEwV76豢ibtX]4ձM :,h@jئ4Wz 5lSy`+P)EިM[@ƊTo lcEwV76豢ibtX]wy;jx u \8'J+KD+P4bص.9WԔU'.bEoP;GTvk-7)(qs\žUUp+&^i;|LC0BqYbYL`OOiueP~8 m\kgAOmׇQGsKϥA˪*[3QMJJ\e/aB0&gUAD~& ɯb;/|oe =,\VX{6GgSASiSd~{}YT_ [W."@7CulQskPrꊦ)쁅?!XP)!IPuQ)ߧ k明1ACd,% `TYgVUˈ&{a fxuw:$\ZO!C<Q٬䤠u_Qϲ apOV# z;HRfz%TTJw`y#2 FPo begdvu1D>.bEoP;GTvk-7)(qs\žUUp+&^i;|LC0BqYbYL`OOiueP~8 5^eO>!r%8ݥ|}Ƴ͗VG>*]y|@AfI殙 *(`5IuqGb ѧKy+u`.bEoP;GTvk-7)(qs\žUUp+&^i;|LC0BqYbYL`OOiueP~8 4")iNG E2Ph:(^ID9idjxK[],[EIGgv\gd ^mZ] `?VUJe.Ts!#~H֜@2vLX ~A1ST7VC*EB!I1W{ 0`]6K<10nQyi8[.I/: q*Yٌуw ']sMD|> F*YuL_/ylx-sR>fa쁅?!XP)!IPuQ)ߧ k明1ACd,% `TYgVUޚ\EިM[ .@uT mc:Vː6豝{iaeXν4հ ,g^@jYr3zmV7qfdYNիsI(ڣ+m B2NJO U4Z. |E9&/7U ~)wtqDkF}F}D <#4/+; AHde!8ZDwߒv7^"W;TB6 9 򞊘07~a ˈ&{a fxuw:$\ZO!C<Q٬䤠u_Qϲ apOV# z;HRfz%TTJw`y#2 FPo begdvu1D>?g/}T;)3H_..; ȟbϢ!1ȁr=DfӶ~uAR1h) D' ChTюY&UU jS#!sxZySSF7/7l6} Pڹq0l6ϭ*+J褮eS\T XeVXה:­,b|DU&{EPKG^7+oke A`ѻ:xpnο ),6 >J3jEgB< z[q(Z)eZZoR D %Eޓ7FC"Vt8 `F%y 9KqDO楾>Y{#E.AWiK˥2'X30CLr \i4!x_PTe~ @#- 's4cIUwڢn\GT6ѼE @H~\E 53 {*^ 4 /<>?g/}T;)3H_..; ȟbϢ!1ȁr=DfӶ~uAR1h) D' ChTюY&UU jS#!sxZySSF7/7l6} Pڹq0l6AډԛAډԛAډԛAډԛAډԛAډԛAډԛO+|V6H K@#4rIoƎH2_P74e|}QQd!9.GhvÐ|*F2?M |httm~J1ۋ$x\Q d`7T.oKO#z*`@b2<تhy,Kf,7.l\>#H{|@In4In4Inu xPb:$. Q$8Lcrsn%su7!֫3Yx4ZpXIPgZTҒU-4,7jJ7łA^kQ8G^6k+UvC-5l,o׽P\EިM[ .@uT mc:Vː6豝{iaeXν4հ ,g^@&3XYidr"^# x}],wk<~uds袥=IG..; ȟbϢ!1ȁr=DfӶ~uAR1h) D' ChTюY&UU jS#!sxZySS1bij;:" >~l*)25ubؿ\ٗ^кadWR(dbŜ)>fܷK.]EreZb+Z*)%]HQ}`˯w`kb*1D9sb'+%DRCFfb\s*==Pt{4QeFEAR9( mJ!` X,lΦ0 fxuw:$\ZO!C<Q٬䤠u_Qϲ \0 Gr(+tÅ;)>xH`#\e gf .PNFB PtaP<$0SvH.233a썆H (Bܧ#!J:J0NzyϞ);|$uCǙF$ !hST%npe=T< w:ˌ{#aA w)R*L8Ss焆 b; ePql=Z;d)@I[)OU9C1o(c86dPap„-r2J짪!GYq1ydl2@(0aB9 P%AV vSC|LGq#<͇6 \0 Gr(+tÅ;)>xH`#\e gf .PNFB PtaP<$0SvH.233a썆H (Bܧ#!J:J0NzyϞ);|$uCǙF$ !hST%npe=T< w:ˌ{#aA w)R*L8Ss焆 b; ePql=Z;d)@I[)OU9C1o(c86dqYbYL`ͺ6(tIz9uESB+zyj:YiI@댾eA@g#*ZY"\,!6˥A!ǺCB=sL!7777777_hr~3n:;^}-j]QT'ޡwZZorRP:/}o?4Qed"S\DW_Iz~bE^YFg ~Iї\v8 ˋxu4F ʓ'Uj1=O!rU`GKLRGZMʀ@n5:~* mAM;`ҥƟj_(AM;`ҥƟj_(AM;`ҥƟj_(Ueld..G=BM:X4Qa" % 2DDU1!IIv ?Ykן37ύ /?Y b,`C:#xذο>F5,QM ,@4Dda]p|J"cX!O9٣ȗrD4 Pv 0(gƏ)^_ ͣډM Pv0w /M?Fr`ѻ:xpnο ),6w /M?Fr`ѻ:xpnο 7 ?Ykן37 % `mOo@F?pp-bbFKˇxp&Vq[(s5MVWaaYVU1yPXp 7;Q2J^auo 4X9bPcBgɫ`b< @U Ur#&U, 5V:.VypPFV,XX됺Y-=@~rjX9bPcBgɫ`b< @U Ur#&U, 5V:.VypPFV,XX됺Y-=@~rjX9bPcBgɫ`1#MA/zf) .4ЊrіlzKZWY:P'Rˢ,2wKҖ>3+*.el-i[%#yL,$zʰIJtNdJ^JZM#zo[{ͽ??I̳ͤ'jlY@~M'26PgO57ÀrJ*w@⼸eKWaCnide`ŋpc06j'7  Sy|`+N)0JmTB_6.Z.cLWM(pL'<]+sjYr3z 5l,o׽P\EިM[ .@uT mc:Vː6豝{iaeXν4հ ,g^@jYr3z 5l,o׽P\EިM[ .@uT mc:wm׆J1{]I)v?Y%[YJآiDZۥ3zE):krE$/; +NF?p{`Cam,VʾW둊DJ"!ԕu""In/%_+rF["#|RTD/<[W2݈<&V/_HvC=sT*8CcP(.J򍢔q1r嚤lk1/E* mVmfd3@Dq.6h8яD&]R,y 9/<>.;5l9QR̤#| җ}KdODgDaژ@͢3HiB4F[ѴN}*hn,u*sD)`S -<)詁-wG6j'7  beϸi@x(itqe=ՑϢgx e&i+fX"#># >"mCNrH_頤22-w;SF;qdUWx+!L꜅IiyOELm>˿8wcQ> w;pxk>-,}NBKqDKg/}T;)3H_4e|}QQd!9.GhvÐ|*F2?M |httm~J1ۋ$x\Q d`7T.oKO#z*`@`c㣥J*lI(qJ?²eg׻xDMpDMpDMpDMpDMpDMpDMpDMpDMpDMpDMpDMpDMpDMpDMpDMpDMp p1.UIԜ$'fDSOy<=povdvm-E5H+𡯊y^0W%_J)d f].iRTJoIC4t2ళW U fEHeeu :tRSZQ;ZshNE)db T %qfVed@}?YI1[l|24zuZ$46hIz3Staf#TSK7dM$C յelv{Oe>xUj x+Za G։V2VRFPiW}nxxnaVRYOC AKMIxB7@o+beYg1b .vuY?wzp j[-qG WWe&J#RR*TZwjb,Ep`99l6T&FyF`pX`Y`h(8:?8:?8:?8:?8:?8:?8:?8:?8:?8:?8:?8:?8:? rf)[4׭i'?ShS˳읕8TIԉIE:?2">3,!3)wl[,,yf0 AO_1ImU$zg+Y]hSØё _QC.h \t 4T914W,%1j2ܜ K#ǡ` {.TΜs'OihYd0W(!V!0 F<oԮ}NN2˖IUҿZ\\3vUW)w4@a; a$|ashKP%ru.c \Q((<,TAQw(֊&.)ŮZo lcި]Z@Piu+z ujy`V@զ=85իM {q[kVXⷪV76oTZo lcި]Z@P Tfb5l:%^f `rDJ4ei5XU-}UgqAD.eK _~k+clwu1EW~/>UopU6 ‘9;K7sN#Ys3 3BQfᔿ!цɶb>Ih o^<0 rPƺp@8-[e]P k尡uOЯŲʲPcy;,@[@~TحT @9*$KH1l99V'HcjUr!c%:" or\1=Ve gwWT0@dl(c]f{ k+clwu1EN)4PL*ʓm;&ɕL )〻O:e(F/̙sWi7JԎ-ls@`尡upZ)+;%aC3 __W'ee#0 >*vYO_ժ aT6ji7OV`HgIԬ6B>dESGFH.i$qhEoSLg .zp- k|7@ ~o\l`;-Uz< 4ȩe?=wVߠ*ƌRUH $jZ@9yGfnN*u>:\S쭣@˔_Z(5-QS@`VuSM9wYӶ[cE`cXطNs4 Tm'٦}fPp/ѵs}֍/fgmE{3<=@5j(ٙQG>^w hڊ9fx{kFQϗ3Z6|ѵs}֍/fgmE{3<=@5j(ٙQG>^wZ/FDV!:- ee#0 >*vYO_ժ AT{b?5'mcΑWga\s_0 m.^ l[,,yf0 AiS~z>T@T 'M=إ@ I*xԴm@.Ü3:UhBt>V%[I)j0Q;[â) ~uիM {q[kVXⷪV76oTZo lcި]Z@Piu+z ujy`V@զ=85իM {q[kVXⷪV76oTZo lcި]Z@Piu+z:jnuK͜yHqR hk X[(!$0?S㈃\ $6Œ/o}@[-Uz< 4ȩe?=wVߠ)PRv-dߙ2T@S T#Nɿ,2zG( .:Nff&pD*&~_,:2ApI#DJ+|ڜd(c8as%aC3 l 2\oضYVY;`"e}Z ~Of{1JTh &Kqi"}c=u8g< rBNc17.R)}kwXDmL8 ~\1= @6Ͱ%{Pee#0 >*vYO_ժ AT{b?5'mcΑWga\s_0V_6_:OkT!\\A-S´t떌~UL&JX蔈1?lDxW s H]bLkEÉ/ ^?YzwXe`?5uO&=zM!PVe&G$ɪQU1:y4OFM! ɉ"Lbi訸AG{0YSɚRQ4 ?3R<ݩ+LjtW$E*Y>ljDgCf^6 6&2K†5g?(ٶd{|7ߵlwu1EN)4PP,4+b.@J$RLE8{;pxU Zm$bn\GF(Io-p or e8@!\\UQ *:.j%U05)`ˢSҘ5I\)<%9qɬO.%v/M} ۯV_6_)ڬm67nw SY|ln~@8jݺ܀qNeiu❪`Cvr+dLjg]7F$ֽ껒f) LT%fqjj=BIF' "" Iiaq%!Q /Vnm@5rPƺp@'6Œ/o}@[-Uz< 4ȩe?=wVߠ)PRv-dߙ2N}(.[1Ů$c*h|LK8uy1p{v=~ңKB˵s: 8*7aC WWUGce RyQ|h?o  l[*+KW;1Z}(.5Q;|\j1v&oڮq3.Y0fm]=?J- .AϬ0RjR'0$rN{ΓYl}OD*&~_,:2ApI#DJ+|ڜd(c8a.[ Yn8I֖mr x8 ˝k)tr-*gK jԈ1AREM hxL]cI Ej_ å kUeXwVː7TU ocuި]Z.@PV\uz uj@Yr7]ff@++c?8æg뫩Fkk$:@9yGfnIHUZembn\RGAAoژ8%aC3 ضYVY;`F(|Y W*9vx{jTQkUʢc]^@Us2riEƻL=5\(5eOޫ i (eN0K$*DI2eb%NḙXT9}l# b < 6&#Uʢc]^@Us2riEƻL=5\(5e=B>!V.nR*^O9i"W'="kc;RXƈQ|4Ѱ3VIQϭqH]"P͡!IKkrWbo@QƾP*U6R|mc>`sRX88p ضYVY;`F(|Y:{G %DTshqtv6$Z:!< VF/ZlqbhCpl[,,yf0 Aorv>^ 8 F*NMU)*@S=xT)B1|Bq0 0J&< ZţpSN`0|df e6qF_[ [J4 軖~]kX%f6o(Bz}(.5Q;|\j1v&cDMp҉؛Q7J'boʍPzwo'7sJ))X%Rg3]L{fANj.bU9=)~Ɂ0ĉM+iILVa=ֹISUXfd]++^,~Ϫl]Lf6`Zs5.zl2؞ 1L !0f آ{5Мvz2>B+ &$ȕJ9r!\8} Gg)l6+cF%0q}UOh.?蹉x^u ~y^ k:MZ;GOgFsΝ@(EaiG!˛/K%2QFe|X[Y~ ȸK"ц5bTV?WtJ׋ki%Y<K9[ 'mDL@zfv(q'';^O6Њ9 2%R\W7:_BJ[-M,s9Lpyb+%땮>K)Ѭ*])p~}'a0ČR@Sk'͋Qd3S5m<5I o\/FD[CCbL7f2m\}|K+KjX'9cgEQq:Us2riEƻL=sIrDkm J[qYܤUXl[fG@V*I񷕏L1Ka`0 aTWӬFg]q5%l G+Q p}MZMa+e6rDFs?qa ARWqWqWqWqWqW JVMIZNq虔E mݛH!:feZi/$>e.̣TKչFTF[Fo獊/}20V_9cd7_`6*rnx=F;/FZ@8b_\ mkpTj x.kfo63ć@6osŰ 8 @K†5g?) Yjҏ|:~F- k|7beYg1b  ~N SOd֚__538@O"Mnn +|ˋnͿQ X]r19[/DM\nQWF<[尡uwl[,,yf0 A_!҉ԛhIM'*F=FwU4'(.՘VZ@}x+1lYXoz`qvn_0̆?J'RoDV=.]˵ IUG%obOI0@ sb!:'4 ~#*WuwJ쬕JgRR!<ϗs;0̒1D['᳕$5C;dNWQO@>:*zL_xi2/tsael*AR[*C9# d1Q:/R E(ɏaMl#ƬC?H1|}8 @ ~o\l`7.爐9# d1Q:/LM=Zj`c ~e~9?D5$C.-6AF'=bewlEaoWUX~|_rx9s?8 C7p) O&U0{:H iNQB]1p)Vbزܿ@`__W'auu˹$x]lѳ?N}(.5Q;|\j1v&cDMp҉؛Q7J'bo F>N}(.5Q;|\j1v&cDMp1ljsJ/ʋI=$Oۙw&XB,/hҽ'՘ =EDw+4:X՘ʖZ~Cw%tU1mXQuqp_B0LE#`c aREpQsWPjAIECeY2xxszHzx jj>"b3VS˝G?&%\hU'G.hH& ɘRXN@Y <0GIѢw]@UPDp8\;aC' MpHwFdnHe<)7KJJD %NdYP\K?%|3~iz;/ᇻUS. ݑX(yTRpG]6=SҗВGxJ%4&0T&<PfNFxmu U""#``|P0^U4 Qi< .?xCT gML k]XG(4w%W7] =?'(Å^,Ko͈Px-pU#zZs?P:l9Yg`kk:ï(Sd7\vtw50 pAUs5㶔9 ut b][q-[<%wYUƪnw 1LhU+K0J^sw #+D%w^ƪ\nw 1L髚8+K0J\ w_+8&r\;5ƘV칚qJkZ.Z 0-ο6y5T8f-tYïX,ZZ.McLF\PhUyi5C]](x0\k;V?*rD]Um/n *3[S gn ;J^Ę% 4S8HtԯT:)4_AsZJ Y$c$eLDPKIX?و&Dd o!B>Z0  # A"&RH mRl =%7@=%RH mRl =;' Rm%x] |E$BJ[Jk[)oI G-UDD䐪A@T!r( *FAAEPb (E??3aI7Gmoxvf}wgfgv5QֿZBʿՑ-S Iؽ!2BBd?(bRXwƏX=iDS"Mp 5txN6v)컅|f&-jn#!w &B(t͛w4@ 1ҟ 6|^l v^nr?(sv1f Ci=[ڦt4_k kˎ)}()Yp5j|Z+FXdWڨڨ+~P.A*NRv)sO{'n^NA&\~_+AN$"ۏYDvA-G"C8?Q'U+qFoXOv.^[ rof>d4cZ҃>hcZOQk8UhAݯ;HK:ҼHgmo'OȜz@ +b2$w}xWa6hzf M C۵ #~3 }x1`1m dʶ#d>s$oǰ$d9r1zb G&Cnk'Kz.<?B~"␪p @J4AFњ|/?cS3TM̙usp'I NdSͫ.综sq~V[ﺀ~ ;AwhdnnKkv9O~G'ʙǼIg有'foGԝ[5@~n֕Pcs'XQLNKuSyuu +M|n;Q~4lrWޅxk`*cF<u#fԻz8B4,{.WTл EwW=z_r.:.4GpG2Bn NHKQ`RW@MBb)=Z|qh,x s-R]}DŽ4eǒ2O1 o1~zO#dݏZPM٪ah_{ iMSiZ˷\~~Kvnh!9wεSiu xU MZ"hN?$-boj/q Ђa'>=,@d@![*CP#+طCSF{$5Pm#qO1L3 3g8ŘWyl8Ac@dY(׏S=:#PAc/YX)Wy\hGxzfr)5*! \C)nhdh6ƈiY4=mLy-9~ml9utIA6 y6;>.k~m7ԓ^d` +vN. y \i?~.5sqtgˤf+<[E΁5O5_#cC#W cC+~BfH#%xs`!sBvh:玕o0aXs,r;8Q+{Gņj]/Jst=nuNT ꛱Z1= \!;D}TzeaU5/p}3G%5}poC}7 碾29]vp A c(sQC7~zͳЖE=*ꙗ!NnZLss]A\}>SvTWrx3ζ}o^sZ[ ]05H1F1K9lXr$1I?U xW<{&6nA+s vKȕaٔa[`peҿKǿzSIsS*ig-a7>jϞLBs:>g-wF3~viM3i 8<>u[ipe{ei@6㞶lA..a4=/=qK\_)q'I%NrZ;k?<=S&/׺y3A97Ξ vkEh8NFsN=lblgC,6|)zgY9P"nq=VLOH'gq]w<ᲴqwW$ vs Q$[WYSZB|}+/ɬ1|TZWs>= uh\[j(.c- Z@ekXB=Vp6?kUIڣ<~kϔS81ֺ`t8hΉX\X9jt65OmNolYq {>"kЊ-_0> 8#:ar,`f7ֺ[6kQ<[ْhK1cm-y@^&b,2bddX6vcmh=X+XwɤgrOK= kWƫ>ߓw 'o<{6\A>Iʻԉ5S',8՜=kQK8S>Y1})QOjY|nO?Iu1 \A D(WS5 H0|}$YoźtAݧ|%h#~}XWw}>8Dk6eO}pb* /Q5w$fhk#qFw$D.:}ZA>R ʓGbEZ|i|A]muCR3>_{(aw]v=g^3yasC)uʼ6DЂ3S,t]OP|V >uU:Zs4G.PeǍ#mBqM @} 9GiM~ 풐U6o@ܒ5uh|_wich# ~P-Oa_Йz*%y_[<#r[_mHy .]Ê| &30l$bU w~ˈajc!>?sˆ1|U#VIv(nEoK6%?д/LE|e%C2{bj7~]Ԧ>òa;M  JsX {dqm .E}gUGׄ-1103ǺUM==(i/uk'_8N#З9KW0|Vn۷m z{­訛8Gk=8kud ₣87 8NąB\Zu03u#u78 :ldv^ 9^I2d6keġ,7 Y_]bÐlxCZ7e]+}';&zp_'P~ prOd[ON=? 1>׹tݜteo)i L/Y{gOx׆g,i}KY;S3y=/0C/8)qOQJ?߭GK0-!JlL {=$ͼ&tyʚݦ5!x5 `t9t0vȧiskiCifg}"h7PGqWۯ}݅vFey+4bDѱ P@n K&2Y #Ü(ī {u@loahj՗!i<) O|hBj7wc:x⸼ܶ3ҝT[hq!A-H[u] I >.?c8. =iJnZ|?hGE/)"dh:+ m›~i~H4CSfH6wG\қ)߇Sf=SHXEv6x?řMGy}AcξaX!1|m0ڀ~3ӵ׳$r_Zp?_i_pjpBdhVsNx~}&i\~+.mɫ8|˙w%}*k6M!-[qpᒼ+J{/pEnhrSY[:nݾ5=ݫͳ_gݗڷ۷FXdo1MzC&ʽ1 oڮsǪ7EEvE[S}W|mM i=A.}zoi[z3,/ʽ>u|_fG{|;*Eخ>ߴ|JjE6ZყG,\'}Aȋro`KZ-jwdRm5}UgU;* -vQ>ߓmR^o^[o7UY^{7eNtnkU]^k~k zY)5tI׋MmsbG֋}z1o9-o{b C_s\4EOi[G v{vY"žWڈH| v80)r^Vʇ)RjgW lŹrj7)k{/>8g!Y4ywxZDo?sߓwPX|A~F(?j5ټ=Zl'話]Ѵ&[Gv0\M9`%h:<'}FzHOoTS~8>cyQ \ ϓIؔҲ6v~L خhm {`K,Vb[@t_F⤦ۛӶyyr;[ ʽV谭L洭lN]^}ۙ|/a_$\W/+]_$ߣe^ʄK$@_p# \5ջ&Ϊ5zV o߫* [[D(>n;锏kvEqK18ǎZ;H`kt5|솺Q-\-?mN_+8?hCxkk̾6hY*ԯ3CON\͸V3iȋroi+9N/ԿCwOWH#-+"`"ސO$s5ӽSV̿ӼF"rYu#Q/e2AK˭771HՁ0!!JchZSsu]gqPAV}֕ʿn-9(:u20?!ļ:9)ts?vmۯj%>!/ 2S//6+q>2R#=X|m%h::ZRB7:1SWNE]=Uc(w01vy|x[XuO͟^ESǧ~vNFY{+]hAʱ珘}m ` YGqik5޾߿yѲ;/ 0romFݨ' X vE_X+i?^qC K9?p.Ӽwk=Ud-QmI\<E+;xxm8?۲Dd K0  # A".&!0}h>JqJ @=&!0}h>JqJVW-F>?x\ |WֿL2dIbTY_ME2IHPAt7im?ҔJBijYYUQEhJ(%͊f鶫_{3y| }ws?{9sϹO$#kRm`Ƣ3fM(cs114?L3fWy1z ^ϡts lwH Q>v/Guu`|Xao L><;{"DożNPy8d_yK8CP25cTyu(_6<]YSȏ& ݠ>b 35$IyvPpFg1,bwteB3E_Uu]U턫.%MOg繦M9]cxԋb\[Gۍb3£xv7eCQ =M)-Vi@N1fYq sj:sV!F ,bc|6*O6v 0P<]e%TPABw:)t:4V2B1ct?+2Ȭ"sK-AE} Ao2n6ʧikNO;շ΄6.Z:C΋eƪNJ4g, :A$AV\*? v+,wMmlYV?~sDZB=0Nx}Gv5Q乄-|T4s=tK-Y[ir$0(gp4`:zTS0?m3UmQ%bYnK{r2D)?^SC\藓25c6l+ \TyJE77}yq6D"Pc!s#5tTŇFiWt0>P2SC%\;h~qKLbVXJl,n%<-Gys]sd9:=̌ -EPWY2܎E~D/5(~|п MR$)R1^_m"2GG)>{/Cwlϑ0X&qtzѺr>_JiyAFWXS̋tG@3j*Av.' ioq'a!a  őe-bW_G RV:}TߧzbE@:`hIFlhe&@9+*Xi?jy6F쏇!ςHJ!8$h8:l9C Oh?Gв/_O1u'[4<Ǽl/ЮnxF@#EpWx?Nw=ni?d#ӕhAͭ٠^F1]t Z6ØfFj cknKoDдDxD >wWensGk򅝟B1+x/$_Whfqeapa'9|c)} gKȷаh}.njS?\lM`_Ahΰ/zZ=ZwfONԲj 60rZaTqcwl !9'aP8gt?X L%(NJTob/ojڍ3.BwP{ {{ |TNPHe < MzA%Zy ȈZ !/}$#v XyUm_LLa٪~^p?Pɣ y@0lդʢfr̘cEZ!]qe-y‚SFz}'*w=s4YC[XpZ5{Aܓ9ƏfMʳ^g?.pcq{J._N-HQ0z ^MOA8 4|<(͎4W }f] = fpK&>OK"CO9q#{8ww>J:Я[Af޻Ҫޟ&lo!u!5y Azn{;fnhQ#%9c7^"w|F?܋n܏Hy_c}CL: _~&#'/|+Ga~">WQZuUX^Aw>⿦ʼAcҟ4~o\m#`<ݏr<]H5*$@:T£Wtg5iNqޖMG0S?_}r}`w*>y)}`EnP~O}$s=&/"/"燐/RJ:e^dޞH"SVPX^A%Ĺ%˳wiWl*>С 8<bh(w; m-0Np'c?e±^}u%x7eqab66vK*%wQ͏.s:vNK'\C|]$'3'U4^79{xݔ}1zG[|e+e3Er{`X6=%a%9k8ea`n$y!cT`*x.<97mhoqS2xX "uryh_44p;#-ɾxgP(t^,gW tcv3dQJzK/> ,2Ո~F|}YqWgoL`R fsZYwZĻJ]J̷͛[N5fYN}J;9}uAvAJJ3~ϾAeC٩EM.׼/ݛP[as-!7(g\ހM͑4C]gHSJNߒ#\㾜꿩MOSQL!]gQ ΂0Ix]S=)I>E|XwMqtuL#^5=* =M5%<\>\oJcHx4|܃)&p< Ъyy8 @?p/7_Olnwpn b#}CBCg̫vS>*K݊s' 1ZE$.j3ÏSMUiwP¸RtbCk:S Ն@|uloķ-%EN[GErgɛV)ƕۥI$s]RsUd >Rն[e3QLZtEf 1z %> Ry\Ixb]f}yڌw< (WIb;<e+ hTz,ڕ; f\Dd #>  # A"`"r648 Og q@=r648 Og aWV`?lx |E3217!#` N: \Y O\xqjVfQx <^J@%Փ03 E1NTAG.B$d}()D3+~$ ǞsN;+l+M 7CH%+)lC ɀyŽ P>>\fcFU(`b= T#ضDɼ[=|W{FûVޕ6:fYv_!˓{!'Z#w_m&W|Omx2(0φ# dG ŤiQrpr y {n%)*D8g/[ʉ4l!/+,D Pl۟ Q ÎC<W*7^숉rUy`}l(=R{Ч}liGLb.1{!i2jAm_hU8tM^v7#"^o>mkת) r9V:Bu} :딮a_i:5\^ #Ko+ xG+8gsnR8mO,eQ⹯R2H٢7 ]UAd)Ra2_6Op5 " bD/|t{Zl3bjO#&+íĢ8py'QNWgzlN[ 3vO۸/B2ژQE5&U쨺l#=1~y@wӪj֮ydNi-6Վ35=](2 g1`Mlw:}?܋-G\R!CHW?&D6 _! F{cGL;ӒЪqJ6oUjx!O ~ r`r\*xS_Ky,Dł Hx}:= ~ Si8sX1Uaxm3g9mNF*u%/9s& |FDsٴ]hڽI,'|E+.٭M~.Sj!|aIbcs"N0Z˄r\p9s ?_d9罳)IHW?qO~MJcfU<0ixA'[csAlϰaٍ{ n؜4<)ޝ~T}G<9z}_AxﭼiG}/TgGa6^gXZb(%#"? QMaR!Cc09ӈ-2?[ˈ>'T<\>cGc{l䤹9kZg8=#[#{0;?ȌOgaq1R.'oh~GPG3_iX>?G}"Ɓpy2΋X ֋\kǣmӸո&@/Gn<^QuL2߅1my #'!W;ɣw/l[5m_6mQOHVB"?L {i*$&؞ev|j=O$>NiwOCrB\v@5BGq5^* mX!iN|${L;Y[:߼1ӑsz~Yj,.~ISvAW}/ n<:mFo[/?Bҳ3-!|?62} ιu>f^RiAɺ-lhYC6O~Ժ2a/ AKY-sbzWxŊ_fIbZn!vjoխ2WN%%0K.r2snz]%X-'7 TX?=Spb޺h7 1kLSD?Km plu7a{? uo]e}t1l㱮6}U_OmkѩmһV}Cj$Lx[6:Ui ?gÂ!f;ysJ&"V3CD2 99 I,3w)s%߼XldV%&>F^"ӟB J,,F9o[p$,yivN z஽- :bObQ/mVЏ?UԽmχ6"ၕV??ؾzG;.qL!{Su!(R1!V.xԮn%=}9p~ &{@Ge|6ĊTSoeR"3y4#LXܴG-!/#/Y\Yw.W2RqG8ߥ8үļg,LT47DWXל%SmGōrllo_wЋu_g/ s޹wvr]ێ;{U/] <{dwh3p!ۧ]D$cLzbt_$&d8ś+~vM7<"qE'zˆ@,ʎ$rYQIīa/c;Z\Kk`/{SjOۺZ~ 'a}Oo{]ه 3'Ӧ)giO~L}Mi2tudpm-$}]Y%>q/5]Ͷ@A~U':h[ȜeULb#Ĝ@ض=5kgAͧIs޲ d;S~o̧KnphwwDwNdiJ5HYEC2ugm ?$BD&7gl1ґ~ RAޱ#Gyx~Lׯ&s1R9/͞祌i4h9[O9nL^Su-)7ҋzD=ltE,oMF-܋[p/f.psVCgZPXkBQX^Jhu̓ʠ2( ʚ!Jp[~*~9#o 8p [%%UQvYa7%vn{_0g$Y))m=!Лp|9?vusbZy $il7WX crh_icO->3~ sìćcެb^naX?vFއe1QhEr=g.igjSFٸ\Z,l?/֠$WG24⇯hh!ѿxbz8afjH[KMgB̦ AAqKfG/8a|vI7"3|R,r)ps[)_'{k<ίD>r9;X`'/\Jd`%|Z)?N~~Wz7q/yzDdGdmoϡ\U>.NL\7QWjmw#r?oqτGGFtnZuLurSCZ8fu/:j`ܛmոF';MqP! RQіWwFɞ´ݢ qX֕m5q/rg͙q5+F\ yxs7@'ÉG[zC1?mϽ oI]XOwu1ڽ jV^_gl(rF9c)y}wdHRWcΦO|#!/miS uT%&%^æ車dЦ¸hw vnw S"mףB!A #7D).豑d"b\l&upU" bG7uKZ>}M2L;TEg@\WP΍& Xtםӷ/ yƜl>78Z"xm2<^fi.Y3n_o&& QkPx\!D(1]&mww97>>!Ĺ + {n{KJ;Vs|x x;J]5X>;}p/MF:5DyK /http://graphics.stanford.edu/~kekoa/rcx/#IntroyK Rhttp://graphics.stanford.edu/~kekoa/rcx/Intro=DyK 2http://www.hempeldesigngroup.com/lego/mazewalker/yK dhttp://www.hempeldesigngroup.com/lego/mazewalker/@@@ o%NormalCJ_HaJmHsHtHZ@Z  Heading 1$<@&5CJ KH OJQJ\^JaJ DA@D Default Paragraph FontRi@R  Table Normal4 l4a (k@(No List4@4 o%Header  !4 @4 o%Footer  !>@> o% Footnote TextCJaJ@&@!@ o%Footnote ReferenceH*6U@16  Hyperlink >*B*ph<m@A<1 / 1.1 / 1.1.1 FHN EHN V9:;JXh4|d  C D E 8 w lndeorsMO?@A?]V; < = ? B E H J K L O 0000000000000 0000000 00 0 0 0  0  0  0 0 0 0 0 0 0 0 0 0 0 0  00s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s 0000000 000 0 0 0 0000@0@00T@0@0@0@0@0@0@00r   d3csC "L$&(N) "#$&'(* oA ]'N)!%)M)}xN XX/XR$E5[G bg.R$g 1bykbǃ@0(  B S  ?N \%]% ^%x"_%*`% 4 4 O  : : O =*urn:schemas-microsoft-com:office:smarttags PlaceName=*urn:schemas-microsoft-com:office:smarttags PlaceType8*urn:schemas-microsoft-com:office:smarttagsCity9*urn:schemas-microsoft-com:office:smarttagsplace ;AX] {UV\]_av= = ? ? @ @ B C E F H I L O ntovOV\]UV= = ? ? @ @ B C E F H I L O 3333333nugmOW p= = ? ? @ @ B C E F H I L O = = ? ? @ @ B C E F H I L O Joޥq}]pjWks |Xz l] #3sLFs}%TPFI,&/Mp.xRT8-;\ u(Gn^`>o(hH..  ^ `o(hH... xp^`xo(hH....  ^`o(hH .....  X ^ `Xo(hH ......  x^ `o(hH.......  8^`8o(hH........  `^``o(hH.........h^`OJQJo(hHhaa^a`OJQJ^Jo(hHoh1 1 ^1 `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHhqq^q`OJQJo(hHhAA^A`OJQJ^Jo(hHoh^`OJQJo(hH@:^`:[]^`CJ o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH., ^`o(hH. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.= h}]}%jf{s FI,(G< 0#3sXz 0#QMp.0g{oJo08rZj-;="g5f'kja'Y|Wk         4j                                   4                                                      ȡ        ?Z        SRvruw[h z :S| S!^!;v!o% )'V'>)j+$p-0`13L5>7n@)A6DuT[XhX e iEqYyL|oVR{[y}'^kBHKEq8)S WJ)qU:\d<.#{z!I cJnm%r=EHm ,,i9N FR@N @@@UnknownGz Times New Roman5Symbol3& z Arial;Wingdings?5 z Courier New"1⊆%[1Fl2:2:!84d  2QHP ? ioptimization, robot movement,marina Marina Peautd                Oh+'0 (4 P \ h toptimization, robot movement,ptimarinaaariari Normal.dotn Marina Peut ro27iMicrosoft Word 10.0@y#@~+2@`C=ؼ@L.&2՜.+,D՜.+,P  hp   ETF Osijek:O optimization, robot movement, Titlet 8@ _PID_HLINKSA, A2http://www.hempeldesigngroup.com/lego/mazewalker/)http://graphics.stanford.edu/~kekoa/rcx/Intro  !"#$%&'()*+-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry FS .&Data ,1TablerXWordDocument;VSummaryInformation(DocumentSummaryInformation8CompObjj  FMicrosoft Word Document MSWordDocWord.Document.89q