ࡱ> RP-@ {bjbjFF &,,VfW f f f f *1*1*1`1ttt8t`|`1Ǔ@"ܥ"Wj&> IjllllllkRjl*11R1f f f f '*1g$ =OP&cQRQ=O=O=Oll`1$1Hhz$Y$ `11hzUniversity of St. Andrews  A Survival Game by Tom Clark Supervisors: Colin Allison Tristan Henderson 17/04/2007 Abstract The aim of this project was to research and show how the expanding field of computer game design and implementation is related to Computer Science concepts and techniques. I did this by creating a game; demonstrating how games can be designed and built using Software Engineering techniques. At the end of this report I state my opinion on whether or not using Software Engineering techniques in game development is useful. After a context survey of work in the area I decided the game was to be based around the survival of a particular event. Due to time constraints this game did not have to be developed to the level of a commercial game or involve many modern game technologies such as multiplayer. Since the game was not initially intended to be a commercial game that needed to make money I was free to experiment with new and unusual ideas. The game was designed and in this report there are explanations and descriptions of the ideas that were used. The game was tested to ensure it met its original objectives and worked correctly. Usability testing was also performed by a small-group of game testers who were given versions of the game and provided their opinions on it. I give an evaluation of whether this was helpful. The User Manual was required to be short and not required reading to play the game. The success or failure of all stages of the project is described. Declaration I declare that the material submitted for assessment is my own work except where credit is explicitly given to others by citation or acknowledgement. This work was performed during the current academic year except where otherwise stated. The main text of this project report is 15, 302 words long. In submitting this project report to the University of St. Andrews, I give permission for it to be made available for use in accordance with the regulations of the University Library. I also give permission for the title and abstract to be published and for copies of the report to be made and supplied at cost to any bona fide library or research worker, and to be made available on the World Wide Web. I retain the copyright in this work. Tom Clark Contents  TOC \o "1-3" \h \z \u  HYPERLINK \l "_Toc163732693" 1. Introduction  PAGEREF _Toc163732693 \h 5  HYPERLINK \l "_Toc163732694" 1.1 The created game  PAGEREF _Toc163732694 \h 5  HYPERLINK \l "_Toc163732695" 1.2 How the problem was solved  PAGEREF _Toc163732695 \h 6  HYPERLINK \l "_Toc163732696" 1.3 Success in solving the problem  PAGEREF _Toc163732696 \h 7  HYPERLINK \l "_Toc163732697" 2. Project Details  PAGEREF _Toc163732697 \h 11  HYPERLINK \l "_Toc163732698" 2.1 Main ideas of design  PAGEREF _Toc163732698 \h 11  HYPERLINK \l "_Toc163732699" 2.1.1 Allow the player to do what they want  PAGEREF _Toc163732699 \h 11  HYPERLINK \l "_Toc163732700" 2.1.2 Why zombies  PAGEREF _Toc163732700 \h 11  HYPERLINK \l "_Toc163732701" 2.1.3 No guns  PAGEREF _Toc163732701 \h 12  HYPERLINK \l "_Toc163732702" 2.1.4 Allow players to make mistakes  PAGEREF _Toc163732702 \h 12  HYPERLINK \l "_Toc163732703" 2.1.5 Top down view  PAGEREF _Toc163732703 \h 13  HYPERLINK \l "_Toc163732704" 2.2 Unusual design features  PAGEREF _Toc163732704 \h 13  HYPERLINK \l "_Toc163732705" 2.2.1 Fear  PAGEREF _Toc163732705 \h 13  HYPERLINK \l "_Toc163732706" 2.2.2 Graphics  PAGEREF _Toc163732706 \h 14  HYPERLINK \l "_Toc163732707" 2.2.3 Stat icons  PAGEREF _Toc163732707 \h 14  HYPERLINK \l "_Toc163732708" 2.2.4 Dual purpose wood  PAGEREF _Toc163732708 \h 15  HYPERLINK \l "_Toc163732709" 2.2.5 Stat bars  PAGEREF _Toc163732709 \h 16  HYPERLINK \l "_Toc163732710" 2.2.6 Safe and unsafe areas  PAGEREF _Toc163732710 \h 16  HYPERLINK \l "_Toc163732711" 2.2.7 Progressive learning  PAGEREF _Toc163732711 \h 17  HYPERLINK \l "_Toc163732712" 2.2.8 No examine function for items  PAGEREF _Toc163732712 \h 17  HYPERLINK \l "_Toc163732713" 2.3 Novel features  PAGEREF _Toc163732713 \h 18  HYPERLINK \l "_Toc163732714" 2.3.1 In-game help  PAGEREF _Toc163732714 \h 18  HYPERLINK \l "_Toc163732715" 2.3.2 Levels as areas  PAGEREF _Toc163732715 \h 18  HYPERLINK \l "_Toc163732716" 2.3.3 The minimap  PAGEREF _Toc163732716 \h 18  HYPERLINK \l "_Toc163732717" 2.4 Special Algorithms  PAGEREF _Toc163732717 \h 19  HYPERLINK \l "_Toc163732718" 2.4.1 AI of survivors  PAGEREF _Toc163732718 \h 19  HYPERLINK \l "_Toc163732719" 2.4.2 AI of Rot  PAGEREF _Toc163732719 \h 20  HYPERLINK \l "_Toc163732720" 2.5 Odd implementation decisions  PAGEREF _Toc163732720 \h 22  HYPERLINK \l "_Toc163732721" 2.5.1 Walls  PAGEREF _Toc163732721 \h 22  HYPERLINK \l "_Toc163732722" 2.5.2 Invisible zones  PAGEREF _Toc163732722 \h 23  HYPERLINK \l "_Toc163732723" 2.5.3 Picking up items  PAGEREF _Toc163732723 \h 23  HYPERLINK \l "_Toc163732724" 2.5.4 Error Handling  PAGEREF _Toc163732724 \h 24  HYPERLINK \l "_Toc163732725" 2.6 Other important decisions in the project  PAGEREF _Toc163732725 \h 25  HYPERLINK \l "_Toc163732726" 2.6.1 The use of Game Maker  PAGEREF _Toc163732726 \h 25  HYPERLINK \l "_Toc163732727" 2.6.2 Involving separate game testers  PAGEREF _Toc163732727 \h 27  HYPERLINK \l "_Toc163732728" 2.6.3 The use of UML in game design  PAGEREF _Toc163732728 \h 28  HYPERLINK \l "_Toc163732729" 3. Evaluation and critical appraisal  PAGEREF _Toc163732729 \h 29  HYPERLINK \l "_Toc163732730" 3.1 Evaluation with respect to the main project objectives  PAGEREF _Toc163732730 \h 30  HYPERLINK \l "_Toc163732731" 3.1.1 Computer game development as a branch of Computer Science  PAGEREF _Toc163732731 \h 30  HYPERLINK \l "_Toc163732732" 3.1.2 Applying Software Engineering techniques  PAGEREF _Toc163732732 \h 30  HYPERLINK \l "_Toc163732733" 3.1.3 Conclusion on the use of Software Engineering techniques  PAGEREF _Toc163732733 \h 31  HYPERLINK \l "_Toc163732734" 3.1.4 Originality  PAGEREF _Toc163732734 \h 31  HYPERLINK \l "_Toc163732735" 3.1.3 Required hardware  PAGEREF _Toc163732735 \h 31  HYPERLINK \l "_Toc163732736" 3.2 Evaluation of the created game with respect to its objectives  PAGEREF _Toc163732736 \h 32  HYPERLINK \l "_Toc163732737" 3.2.1 Allowing a user to control and move a character  PAGEREF _Toc163732737 \h 32  HYPERLINK \l "_Toc163732738" 3.2.2 Computer-controlled characters and their intelligence  PAGEREF _Toc163732738 \h 32  HYPERLINK \l "_Toc163732739" 3.2.3 In-game items  PAGEREF _Toc163732739 \h 32  HYPERLINK \l "_Toc163732740" 3.2.4 Education of survival techniques and complexity  PAGEREF _Toc163732740 \h 33  HYPERLINK \l "_Toc163732741" 3.2.5 Saving and loading a game  PAGEREF _Toc163732741 \h 33  HYPERLINK \l "_Toc163732742" 3.2.6 Endings  PAGEREF _Toc163732742 \h 34  HYPERLINK \l "_Toc163732743" 3.2.7 Story based upon survival  PAGEREF _Toc163732743 \h 34  HYPERLINK \l "_Toc163732744" 3.2.8 Involvement of strong language  PAGEREF _Toc163732744 \h 34  HYPERLINK \l "_Toc163732745" 3.2.9 Involvement of violence and gore  PAGEREF _Toc163732745 \h 35  HYPERLINK \l "_Toc163732746" 3.3 How my work compares to that done by others  PAGEREF _Toc163732746 \h 35  HYPERLINK \l "_Toc163732747" 3.3.1 Death  PAGEREF _Toc163732747 \h 35  HYPERLINK \l "_Toc163732748" 3.3.2 Digital Rights Management (DRM)  PAGEREF _Toc163732748 \h 35  HYPERLINK \l "_Toc163732749" 3.3.3 Length  PAGEREF _Toc163732749 \h 36  HYPERLINK \l "_Toc163732750" 4. Conclusion  PAGEREF _Toc163732750 \h 36  HYPERLINK \l "_Toc163732751" 4.1 Summary of work done  PAGEREF _Toc163732751 \h 36  HYPERLINK \l "_Toc163732752" 4.2 Strengths and weaknesses of the game  PAGEREF _Toc163732752 \h 37  HYPERLINK \l "_Toc163732753" 4.2.1 Strengths  PAGEREF _Toc163732753 \h 37  HYPERLINK \l "_Toc163732754" 4.2.2 Weaknesses  PAGEREF _Toc163732754 \h 38  HYPERLINK \l "_Toc163732755" 4.3 Future directions  PAGEREF _Toc163732755 \h 38  HYPERLINK \l "_Toc163732756" References  PAGEREF _Toc163732756 \h 40  HYPERLINK \l "_Toc163732757" Appendices  PAGEREF _Toc163732757 \h 41  HYPERLINK \l "_Toc163732758" Project Specification and Plan  PAGEREF _Toc163732758 \h 41  HYPERLINK \l "_Toc163732759" Literature review and system design  PAGEREF _Toc163732759 \h 57  HYPERLINK \l "_Toc163732760" Changes to original documents  PAGEREF _Toc163732760 \h 83  HYPERLINK \l "_Toc163732761" Testing summary  PAGEREF _Toc163732761 \h 85  HYPERLINK \l "_Toc163732762" User Manual  PAGEREF _Toc163732762 \h 90  HYPERLINK \l "_Toc163732763" Maintenance Document  PAGEREF _Toc163732763 \h 104  HYPERLINK \l "_Toc163732764" Acknowledgements  PAGEREF _Toc163732764 \h 108  1. Introduction The purpose of this project was to research and show how the expanding field of computer games design and implementation is related to Computer Science concepts and techniques. A game was required to be created as an example, ensuring it was clear how the game relates to this field. The development of this game had to show how Software Engineering techniques can be applied to game creation. At the end of this project an opinion on whether or not these techniques are helpful is given. In addition to the above there were also requirements which the developed game needed to meet that were defined after a context survey of similar work had been performed. In general the game had to be original yet fun to play and not require any special or high-quality hardware to run. 1.1 The created game I chose to base the game on survival of a particular event. This was because I believe 'survival' to be a game genre and it is interesting that reference [2] does not include 'survival', only 'survival horror', implying 'survival' is a relatively unexplored genre. As such, it offered a suitable framework to work within. There are relatively few existing games in this genre to prejudice the style of the game to be created. Given the restricted time frame the game did not need to be developed to a level that could be published. It did, however, need to be expandable into a full game or give ideas on which future games could be based. Criteria the game had to satisfy: Whether the player-controlled character survived the event when the game was over had to be an absolute yes or no question, not requiring more than 2 different endings. The game was required to educate the player in the basic concepts of survival (for example, the need to eat and drink) but warn them that it is not a detailed or complete simulation of survival. This was not intended to heavily impact the entertainment value of the game. The game was to support the collection of in-game items that could then be used by the character controlled by the player. The game was required to be suitable for players with little knowledge of computers. To this end it had to be easy to use and understand without requiring a large User Manual to be read or any training to be given. Characters and any computer controlled enemies within the game were to move with some limited level of intelligence, for example, they could not pass through solid walls unless intended and all enemies had to be able to attack the player-controlled character. The game did not need to be able to support multiple players. It was a requirement that the game did not require any special hardware, a high-quality or a fast computer to be run. As users may not have time to play the whole game from start to finish a way to save and load a started game was needed, ensuring that the items the player had collected are retained. The game could not involve vivid scenes of violence or gore. Any scenes like this had to be stylised or kept to a minimum to encourage younger players. Strong language was not to be used. 1.2 How the problem was solved This report aims to show how and to what extent the above problem was solved. Firstly, a "Project Specification and Plan" document was created listing the objectives of the project and game. It also listed in detail the requirements of the solution. This document is given as an appendix on page  PAGEREF _Ref163713181 \h 41. The success of the solution at solving the problem with respect to the objectives is listed in the "Evaluation and critical appraisal" section on page  PAGEREF _Ref161627449 \h 29. The "Project Specification and Plan" also included a context survey which listed and evaluated other work in some popular game genres. This context survey was limited to non-commercial games of a similar size to that which could be created in the time constraints of the project. After this document was completed I created a "Literature review and system design" document. The first part of this document was a more complete survey and review of relevant material, including books and websites. This, like the context survey, was needed to ensure I was not just performing work that had already been done. The second part was the design of the game I would create. This included the design of a prototype with limited functionality and what would be done to expand that prototype into the final game. The "Literature review and system design" document is given as an appendix on page  PAGEREF _Ref163713221 \h 57. I also created a more detailed design document which is not included but can be downloaded from the project website [1]. This contained details that I thought unnecessary in the included design document such as screen layouts and level designs, for example. Next I implemented the game using the Game Maker game development environment [3] that is described in the "Implementation Plan" of the "Project Specification and Plan". I included an evaluation of whether Game Maker was a good development environment to choose on page  PAGEREF _Ref161627497 \h 25. I first implemented and tested a prototype version of the game to ensure I had the skills needed to complete at least some of the game and achieve some of its objectives. This prototype was demonstrated to supervisors and a presentation was given to explain it. The Microsoft PowerPoint slides used for this interim presentation can be downloaded from the project website [1]. The prototype game was expanded into the full game as designed. Testing of the game was performed and a summary is given on page  PAGEREF _Ref163713327 \h 85. Due to time constraints I was unable to perform as much testing as desired. At various stages of the project I provided a small number of game testers with a copy of the game which they could play and provide feedback on how the game was developing. More detail about testing and its success is given in the next section. I evaluate whether this proved useful or not on page  PAGEREF _Ref161627546 \h 27. A User Manual was written so users of the game could understand how to play and use all implemented features. This and all other documentation and project related material can be viewed electronically via the project website [1]. The User Manual is also given as an appendix on page  PAGEREF _Ref163732995 \h 90. A Maintenance Document explains strategies to be used if errors are found after the game was released and how the game can be maintained. It is listed on page  PAGEREF _Ref163713479 \h 104. After this report was finalized and delivered the final version of the game was demonstrated and a final presentation given. This presentation gave an overview and summary of parts of this report for which Microsoft PowerPoint slides are given on the project website [1]. 1.3 Success in solving the problem The "Project Specification and Plan" document listed the objectives of the project and game in enough detail for them to be evaluated when finished. There were rather a lot of requirements for the project and game software but they were detailed and complete. Having many requirements made it difficult to ensure I had met all of them. Unfortunately, the plan of the project contained in this document was not very accurate. I found that many planned stages took longer than estimated. This could be because I had never created a computer game of my own design before or that I had very little experience of using the Game Maker development environment. No stage was delayed a catastrophically long time however, which was fortunate. The "Literature review and system design" document was long but did contain a brief review of 10 books and websites related to game design and/or implementation. The actual design of the game was good enough to implement the game from start to finish. It included UML diagrams to aid understanding. This document was essential in monitoring everything that had been and still needed implementing in the game. However, it did not include any pseudo code or details of how features of the game would be implemented. Inheritance diagrams would have made the structure of the game easier to understand but I did not realise how much use I would make of inheritance until later in the project. The implementation of a prototype version of the game was useful but, due to university coursework, it did not contain all of the features it was designed to include. It was useful in that it showed that I could implement at least part of the game. It also increased my confidence that I would actually get the game developed on time. I could perform some limited testing on this prototype to ensure that things designed were feasible and could be implemented. However, because this prototype did not include all intended features, I decided not to release it to testers for feedback when planned. Only when I had implemented these features did I release it as explained in the section "Involving separate game testers" on page  PAGEREF _Ref161627619 \h 27. The feedback from testers was useful as they highlighted some errors I had overlooked or did not consider a problem. One example of a result of feedback is given in section "Picking up items" on page  PAGEREF _Ref161627664 \h 23. The prototype was expanded into the final version of the game. This was actually done in parallel with other stages of the project and took longer than initially planned. This is likely because I had never created a computer game of my own design before and I had very little experience of using the Game Maker development environment. Whether the final version met all its original objects or not is evaluated in section 3.2 on page  PAGEREF _Ref162843319 \h 32. An almost complete final version was released to game testers who provided feedback on the game. This feedback was useful on how to develop the game further. Not all testing performed is documented in the testing summary on page  PAGEREF _Ref163713563 \h 85. As explained in the "Literature review and system design" document given as an appendix on page  PAGEREF _Ref163713600 \h 57, there were two different types of testing; Software testing and Game testing. Software testing was essential in order to ensure the game met its objectives and requirements. It was infeasible, due to time constraints and lack of resources, to test the game on a variety of hardware and operating systems as would be done for a commercial game. This was defined to be outside the scope of the project in the initial stages of its development. Game testing was performed by a small group of game testers, a type of user identified in the "Project Specification and Plan" document on page 43. This was achieved by releasing prototype versions of the game to the game testers at various stages throughout the project. The game testers were also given a questionnaire to complete and return to the designer. This allowed them to give feedback and their opinions on how the game was developing. All versions of this questionnaire are downloadable from the project website [1]. Game testing was a small-scale approximation to beta testing and usability testing. These are usually performed as part of commercial game development to evaluate a range of users' opinions of a game. I evaluate whether game testing proved useful or not on page  PAGEREF _Ref161628053 \h 27. The User Manual written for the game was an important area of the game design. It was intended that it should not be very large nor be required reading in order to play the game. On first inspection the User Manual does appear to be quite large but the majority of its length consists of pictures. I decided it was better in terms of understand-ability to have a document the user could easily relate to the game than a short and concise one containing few pictures. Some of this document is more required reading than initially hoped. For example, the section of the User Manual titled "Playing Hunger" is necessary to explain each stat and what they are used for. This is a problem that could not be solved as I cannot think of any feasible way to communicate this information in-game. I have attempted to minimise the required reading by splitting the manual into sections. It was intended that a user will only need to read the section they are having problems with and not the whole document. This also allows the user to lookup individual sections only when needed and get only the information they need. Another way I tried to reduce the reliance on the User Manual was by making use of the in-game help facility provided by the Game Maker development environment. This displays a summarised version of User Manual whenever "F1" is pressed while the game is being played. However, the information in this summary had to be brief in order not to slow the game down and reduce gameplay into reading a document, so it cannot be used as a substitute for the actual User Manual. Writing a Maintenance Document proved difficult as no one involved in the project was really sure what maintenance for a computer game is. Most software maintenance is involved with improving existing functionality and adding new features. These would not usually apply to a game because when a game is released it is considered a final product with any new features being reserved for an expansion pack or sequel. Also there is no on-line multiplayer element to the game so keeping any security algorithms updated for the latest attacks would not be an issue. This leaves: Adaptive maintenance involved with ensuring the game runs correctly on new versions of operating systems or hardware. Corrective maintenance to ensure any bugs discovered after the project has been released are fixed. This would be done by releasing patches and new versions of the game. I have written a Maintenance Document but it will be limited when compared to other projects. More information about game maintenance is given in reference [15]. As the project demonstration and final presentation had not been given when this report was delivered I can not comment on their success. In hindsight, the, potentially, most catastrophic problem encountered in the development of the project was related to Digital Rights Management as mentioned in the "Evaluation and critical appraisal" on page  PAGEREF _Ref161651946 \h 35. Game Maker, the development environment used to create the game, comes in two versions; a registered version and a free non-registered version. The registered version costs 10 and gives access to more functions than the free version. For the majority of the project I was able to create the game using the free version. However, about half-way through development of the project I discovered a required feature could only be implemented with extra functions provided with the registered version. Normally this would have been easy to correct by simply registering Game Maker via the website. However, at the same time the creator of Game Maker merged with another company, YoYo games [4], and decided to release a new version of Game Maker, version 7.0. They also opted to change the registration system. Due to this change, registration of the previous version of Game Maker, the version I was using to develop the game, was disallowed until the new system was implemented. This would not be done until Game Maker 7.0 was released. I therefore had to wait without being able to complete the project. I also had the risk of the game created with version 6.1 not being compatible with version 7.0 and version 7.0 being delayed beyond the deadline of the project. These risks were both potentially catastrophic but were not included in the risk analysis section of the "Literature review and system design" document on page 79 simply because they were completely unexpected. Fortunately, despite a delay, the new version was released in time and could be registered. The game was fully compatible with version 7.0 and development could be completed. 2. Project Details This section summarises the achievements of the project and aspects of the project of particular interest. 2.1 Main ideas of design A full design for the game can be found in Design section of the "Literature review and system design" document given on page 63. Also a more detailed design is given in the "Detailed Design" document available on the project website [1]. Here I will highlight and give reasons for the main design decisions. 2.1.1 Allow the player to do what they want Different people have different things they want from a game. Some may want to just complete the game as quickly as possible, while others will want to investigate the story behind why the Rot are there. This decision was made to try and keep the game entertaining for a wide audience of users and not force them into a particular play style they dislike. A good example of this is the inclusion of newspapers as items which expand the games story when used. These items can be collected at various points within the game world but there is no rule to do this. The game can be successfully completed without collecting any or all newspapers. This provides the user the opportunity to discover and investigate the games story but does not force it. I realised in the early stages of the project that the inclusion of newspapers as items would significantly increase development time. Since delays to the project were unacceptable this feature had to be left as desirable functionality. 2.1.2 Why zombies Zombies are very common in computer games today. It was therefore not an obvious choice for an original game. I chose to use zombies as enemies as I really wanted to show that there is more to zombies than how they are portrayed in most games. In most games they are just used as place-filler enemies, just to be shot and killed. I tried to show them as a general threat to people. Also the game is, or was intended to be, at least partially educational. Teaching the user that it was okay to kill other humans is to be avoided. Zombies inspire horror. They are often grotesque, half-decayed humans. Naturally, this requires large amounts of gore. Since the game created was required to keep any scenes of violence or gore to a minimum this presented a problem. I had multiple ideas of how to solve this problem. My first idea was to design and implement the game using stylized graphics. However, this did not work as explained in section 2.2.2 on page  PAGEREF _Ref161652035 \h 14. The solution I eventually decided upon was to move away from the stereotypical image of a zombie and design something more humorous and far less threatening. The design had to be somewhat threatening as it needed to be immediately obvious to the player that the new design of zombie was still an enemy to be avoided. Whether or not this new design achieved these goals is largely decided by individual users. Another reason was the event the player needed to survive could be more fictional than it could be if a more natural event was used. This meant the event could be an outbreak of zombies as opposed to a volcanic eruption or an earthquake for example. The event being easily recognised to be fictional reinforces the idea that the survival techniques used in the game are only basic guidelines and do not provide a complete guide to survival. 2.1.3 No guns Most modern games involve guns, especially games involving zombies. Again this was a main idea to keep the game original and to minimise scenes of violence and gore as required. It also hopefully teaches users not to buy or use guns. I have stated that allowing the player to do what they want was a major design concept so I needed to include some form of weapon in the game. I decided to include only a single weapon that was simple to use. This was a simple wooden spear that could be rammed into enemies. Since the spear is wooden it breaks after a few collisions with enemies requiring the user to think before killing. 2.1.4 Allow players to make mistakes Items are relatively frequent and there are fire barrels scattered around the play area to help survival. Without these it is very difficult to complete the game. Items and fire barrels are not in random places so players (users) can form strategies after multiple plays of the game. To make it obvious which buildings contained a certain type of item, buildings would have special symbols on them to indicate the type of item they contained. This design choice was made early on in development but after more work on the project I discovered that having separate buildings to enter to collect items was a waste and would slow down gameplay. I decided that just representing buildings by walls and not switching and loading different game areas would be more efficient and still achieve the same purpose. 2.1.5 Top down view I decided on a top-down view for the game with 2D (2-dimensoinal) sprites (pictures of objects for example, items). This was because the game covers a relatively large area and a town which is more difficult to depict with a side-on view. I could have used isometric sprites on a top-down background. I decided against this because it would be possible to lose sight of the playable character (the character controlled by the user) behind an object such as a wall. This problem would become worse if the character became partially visible and partially hidden by an object.  SHAPE \* MERGEFORMAT  Isometric sprites would have made the game look almost 3-dimensional and more attractive but would be more difficult and time-consuming to implement. 2.2 Unusual design features Since this game was never intended to be a marketable game I was free to experiment with unusual ideas. Commercial games have to make money so must use tried and tested ideas that users like and will pay money for. Commercial games often do contain unusual features but far less than are seen in non-commercial games. The following list gives a brief description and explanation of any unusual features in the game I developed. 2.2.1 Fear I decided to include a Fear stat for the player. This slowly increases over time and receives a large increase when the playable character "sees" enemies. What is meant by "seeing" an enemy and how it was implemented is stated in the "Literature review and system design" document on page 71. At high levels of Fear the user will start to see hallucinations ('Fear effects'). A complete list of 'Fear effects' is given in the "Design" section of the "Literature review and system design" document on page 67. The occurrence of 'Fear effects' was implemented to add another aspect of learning to the game, in that people can't go on indefinitely without sleep. It was originally designed that 'Fear effects' become more frequent at higher-levels of Fear until the maximum level is reached. This was removed as it would have caused 'Fear effects' to become annoying and predictable. Instead, they would simply occur at random times beyond the threshold value of Fear. When Fear reached its maximum level the playable character moves randomly and falls asleep where ever they are. 'Fear effects' affect the user's perception of the game more than actual gameplay. For example, many static enemies suddenly appear around the playable character and then quickly vanish. This poses no danger to the playable character as the enemies that appear are not real enemies and cannot attack them. This involves the user in the game more and hopefully makes them want to complete the game and escape the town where the game is set. I included the fact that greater levels of Fear increase the movement speed of the character to add some balance or trade-off to the game. How much sanity are you prepared to sacrifice for movement speed? I also included a Speed stat in order to make it clear that the playable character's movement speed does increase. Without a visual representation of movement speed increasing at high-levels of Fear the user may miss or not understand the trade-off, therefore, ruining the sense of balance I tried to create. Once I began implementing this feature I discovered that if the speed increase was directly related to the current value of the Speed stat this made the playable character move at uncontrollable speeds around the game world. I therefore implemented a separate speed increase value. This value was incremented by a small amount each time the Speed stat increased and was added to the base movement speed of the playable character each time they moved. This imposed a smaller maximum and minimum speed up than could be achieved without the special speed increase value. 2.2.2 Graphics I originally designed for the graphics of the game to be a black and white 'pen and ink' style. This had the advantage of making the images used simpler and less time consuming to draw. I also chose this for some other reasons. The style is original and has rarely been used in computer games before. It 'masks' scenes of violence and gore by not having detailed or coloured images. It makes available the use of random coloured objects as a 'Fear effect'. Unfortunately this idea was not included in the final version of the design. This was because it was too difficult for the artist and, when implemented, would not have made the game as attractive to younger players as required. 2.2.3 Stat icons As mentioned in the "Literature review and system design" document the user has to balance several stats in order to keep the playable character alive and complete the game. Some of the stats need to be kept low and some need to be kept high. For example, the user will want the playable character's health to remain high while their thirst is kept low. While the need to maintain and balance several stats is quite unusual in games, it can be quite confusing if you have not read a User Manual. This is partly because it is unusual and therefore not familiar to the majority of users. I have tried to make this easier to understand by putting different types of stats on different sides of the screen. This means the stats to be kept low are located on one side of the screen and the stats to be kept high on the other. This aims to provide symmetry linking the two groups of stats but also showing they are different. A good improvement to this would be to add small good and bad icons to each end of a stat bar representing a stat. These icons would have to be consistent between stats to avoid confusing the player and would be placed at appropriate ends for stats that need to be kept high and stats that need to be kept low as shown below.  SHAPE \* MERGEFORMAT  This would immediately show the player how to maintain different stats. Also since many stats can affect the playable character's health, icons would allow the player to easily and quickly recognise the stat which was causing their health to decrease. 2.2.4 Dual purpose wood The in-game item Wood was given two uses. The first is to make a fire to increase the playable character's Warmth stat. If the Warmth stat reaches zero the playable character gets too cold, will start loosing health and will eventually die if no action is taken. The second use of the Wood item is the ability to use it as a weapon which can kill enemies. Killing enemies will likely make it easier for the playable character to survive in some situations but once it is used as one it cannot be used as the other. Using all Wood items as weapons will make it harder for the user to maintain the playable character's Warmth as they cannot make fires. Using all Wood items to make fires will mean the user has no alternative but to avoid enemies. The user will have to decide which use is best for the current situation. This puts an element of 'choice' or strategy into the game. The game was required to educate users in the basic concepts of survival and I believe that making users think for themselves and form their own strategies is a good way to do this. There is no reward for killing. This decision is intended to show users that there is no advantage to killing both inside and outside the game. 2.2.5 Stat bars I could have added more realistic effects to the playable character's stats. For example, if the Warmth stat got too high the playable character would get hyperthermia causing their health to decrease. Effects like this may have increased the amount that could be learned from the game but I decided not to include them early on in the design of the game. Too many effects for the user to remember would decrease the entertainment value of the game. The Game Definition given in the "Project Specification and Plan" document on page 47 states that the learning experience provided by the game should not heavily impact its entertainment value. 2.2.6 Safe and unsafe areas I designed that if a user chose the playable character to sleep outside then they have a higher chance of letting the playable character die and loosing the game. If they chose the playable character to sleep inside a building there is less chance of this happening. There were two reasons for doing this: The first was to add another element of strategy to the game to make the user think. I have already stated I believe that making users think for themselves is the best way to educate them. There are actually two levels to the choice made by the user. One is whether the playable character should sleep inside a building or outside. Hopefully the user will immediately recognise that sleeping inside a building is safer than sleeping outside. The other choice is whether to barricade that building. Buildings can only be barricaded using barricade items collected by the playable character. Barricade items are in limited supply and can only be used once. Sleeping in a barricaded building means the playable character has no risk of dieing in their sleep. As most films and fictional books involving zombies suggest, a barricade can be broken by zombies. Therefore, the playable character sleeping in a barricaded building should really have a small risk of death. It is good game design to minimise the number of randomly occurring deaths, making the user feel that they could have done something differently and they were responsible for the death of the playable character. Consequently, sleeping in a barricaded building has no risk of death. The second reason was that since the game is designed, in part to be an educational game it could not sensibly teach people that they could sleep anywhere. 2.2.7 Progressive learning As well as enemies there are also computer controlled characters in the game called survivors. These are friendly towards the playable character and will not attack them. The playable character can "talk" to these survivors. Most survivors display text containing general survival hints that can be used by the playable character such as remembering to drink to stay healthy. A full list of what survivors can "say" is given in the "Detailed Design" document on the project website [1]. It was originally designed that some survivors would have special text to display the first time they are talked to. This special text would explain a survival tactic used in the game. For example, there will be a survivor who explains to the playable character, and therefore the user, how to sleep and what benefit sleeping gives them. This survivor would be placed early in the game. When the playable character then encounters and talks to that survivor the user will learn that the playable character needs to sleep in order to survive. This minimises the amount of information the user needs to remember before playing the game. There are also survivors later in the game that explain more advanced tactics that are not needed in the first stages of it. This design decision aims to keep the user interested in the game by making them learn new skills throughout it instead of giving them all information at the start. It also may encourage the user to play the game again after completion so they can use the skills they learnt in later areas in earlier parts of the game. The main tactics used in the game are given in the User Manual but using this method re-enforces and demonstrates those tactics only when they are needed. Sadly, due to time constraints and because it was not explicitly expressed as a requirement, the use of 'special text' was not implemented. It would be good to implement as a future development since I believe it would greatly increase the usability of the game. 2.2.8 No examine function for items My original intention was to include a examine item function for each item. This would be accessed by the action menu of each item in the playable character's inventory. Invoking this function would have displayed a screen which informed the user what the item examined was for, for example what stat it increased. I later decided not to include this feature in the final design for two reasons. The first is that designing, implementing and testing a separate screen for each item adds a lot more work and development time to the project. The second is involved with the cognitive dimension of secondary notation, particularly redundant recoding. Most, if not all, of what could usefully be put into a examine screen about an item would simply be a repeat of the information given in the User Manual for the game or what could be accessed via the in-game help. The only advantage of the examine function would be to give the user only the information they need when it is needed instead of requiring them to remember what every item can be used for. It is worth noting that if more complex items for example, keys to specific buildings, had been used then the examine function would be required. 2.3 Novel features This section lists and describes any novel features of the game that may be of interest. Most are not uncommon in modern games. 2.3.1 In-game help There is a permanent message bar across the top of the screen stating how the user can get help containing a list of the game's controls. This help information is not the game's complete User Manual but only a summary of it. It aims to provide only the information that is of use when playing the game. 2.3.2 Levels as areas Most games, particularly older ones, have a linear sequence of levels. There is commonly an exact sequence in which levels must be traversed. When a user completes level 1, for example, they start level 2 and cannot return to level 1 without starting a new game. Since the game I created relies on the user collecting items and using them efficiently an exact sequence of level transitions to follow would ruin the strategy element of the game. For example, a user may not need all items in a level, but realise that they may need more items than have been placed in the next level in the next level. Not allowing the user to return to the previous level would mean any uncollected items are wasted and would not allow the user to plan ahead. This may frustrate the user by not allowing them to do what they want and may cause them to stop playing the game. 2.3.3 The minimap The minimap, which is located at the centre of the bottom of the screen, provides users with an aerial view of the entire game level. It shows the location of the playable character, all survivors, all items and all Rot. This allows the user to plan strategies about how best to complete that level. For example, the playable character may be safe inside a barricaded building but require drink items to lower their Thirst stat. They can see a drink item on the minimap but they can also see there is a large number of Rot around the area where the drink item is. The user can then decide to look for another drink item further away from the Rot or wait until the Rot move away from the drink item. A minimap is usually only included in strategy games where a user controls multiple units. I have briefly discussed strategy games in section 10 of the "Literature review and system design" document on page 62. I also evaluate an example strategy game in the context survey of the "Project Specification and Plan" document on page 44. 2.4 Special Algorithms This section explains any special and complex algorithms used in the game. It describes the Artificial Intelligence (AI) given to computer controlled characters. 2.4.1 AI of survivors In the "Literature review and system design" document there is a finite-state machine showing the AI of a survivor given on page 72. Survivors are friendly towards the player character and are not able to attack them. They can also not attack Rot, the only enemies in the game. Survivors required enough intelligence so that they did not walk through walls or other solid objects. As described in section 2.2.7 on page  PAGEREF _Ref162614813 \h 17 the playable character can "talk" to survivors. This is an important method used to convey information to the user so I did not want survivors moving around the game world at random. To solve this, survivors could be forced to simply stay in one place and not move. This would have considerably simplified the required AI. I decided against this, however, as I wanted to show the different movement and behaviours of survivors compared to zombies (Rot). Apart from feeling more "natural" it would also make it immediately obvious for the user to determine friendly human characters from unfriendly enemy characters. The actual solution was to restrict survivors to only a limited area of movement as explained in the description of the finite-state machine in the "Literature review and system design" document. While I attempted to capture part of natural human behaviour in the AI of survivors it is obvious that there are some limitations. For example, survivors will not "learn" routes and often collide with objects they have collided with before. Another limitation is the lack of diagonal movement. Sprites (images) for diagonal movement are very hard to draw accurately and because the player character cannot move diagonally I decided to force survivors to only be able to move north, east, south and west. This makes for more "jerky", less smooth movement but removes the need for extra sprites and it would be bad design to make the user feel they cannot do something others are able to. The incorporation of diagonal movement may be considered for an improvement to the game in the future. A further possible improvement would be to include and monitor basic survival stats for each survivor as well as the playable character. These stats may be limited to only Hunger and Thirst as documented in "Literature review and system design" document on page 66. There would then be a separate state for each high stat. When the survivor entered one of these states they would ignore the restriction on movement and move to try and find an item that lowered the high stat. If they found that item, the high stat would automatically be lowered and the survivor would return to their start location. There are problems with this idea. It would be very difficult and time consuming to implement successfully. Depending on how it was implemented, it may lower game performance as there are more stats to monitor and more state transitions. For the most part the behaviour would be hidden from the user as they will likely be concentrating on other areas for example, approaching Rot. Survivors would effectively "steal" items from the playable character since the items survivors "pick up" are destroyed. This will be more of a problem when the game is played for long periods of time. This concept may be more realistic of human behaviour but could cause the user to think of survivors more as competition than helpers which is not what was intended. 2.4.2 AI of Rot In the "Literature review and system design" document there is a finite-state machine showing the AI of a Rot given on page 71. Rot act as enemies and attack the playable character whenever possible. However, they do need some intelligence so they can not move through walls or other solid objects. Since I have described how Rot move in each state and how they enter and exit those states in that section of the "Literature review and system design" document I will not describe them here. In summary they should behave approximately as the user would expect as often as possible, for example, Rot should act "naturally" and not move directly to the position of the playable character unless the playable character is in the Rot's line of sight. This said, Rot are not normal humans, they are zombies and possess limited intelligence. They will not "learn" that if they repeatedly collide with a solid object they should find a different route. They will change direction whenever they collide but they can and often will return to the same route again causing a further collision with the same object. This had the advantage that it made the AI simpler but also the disadvantage that, without a strict plan, it was difficult to determine if the AI was actually working correctly. For example, if a computer-controlled enemy hit a wall, moved away and shortly after moved back the way it had come to hit the same wall again it could easily be thought that there was a problem when this is actually the correct behaviour. This behaviour is perhaps better described by "artificial dumbness" than "artificial intelligence". Another problem that I had was diagonal movement. An example of this is in the Chasing state when a Rot must move to the playable characters position providing they can see the playable character. The playable character will, at some point, be at a diagonal to the chasing Rot. This would therefore require the Rot to move diagonally but since sprites for diagonal movement are very hard to draw accurately and the player character cannot move diagonally I decided to force Rot to only be able to move north, east, south and west. This makes for more "jerky" less smooth movement but removes the need for extra sprites and it would be bad design to make the user feel they cannot do something others are able to. This is less of a factor than for the human survivors as they would be expected to move more "naturally". Support for diagonal movement would be a possible improvement of the game. One feature that was only added later in the implementation of the project was the shading used when Rot change state. When a Rot performs the transition to the Chasing state they are shaded red to indicate this. They remain shaded red until they exit the Chasing state. This makes it clear to the user what danger the Rot poses to them. Another advantage is that it made the state-based AI of Rot much easier to test as I could tell exactly which state the Rot was in at all times. Coloured shading was used for changes in state in the game I evaluated in "Games featuring intelligent enemies" documented in the context survey of the "Project Specification and Plan" document on page 46. I originally discounted using coloured shading in the game developed as I thought it would make the game far less 'real' and cartoon like. I originally intended for a different way for Rot to transition from the Chasing state to the Searching state. In the Chasing state a Rot moves towards the playable character. In the Searching state a Rot "knows" the playable character is nearby but cannot see them. The new state transition would be "Playable character out of sight or other survivor close by". This would make Rot immediately start chasing the computer-controlled survivor instead of the playable character. This would make the threat Rot pose and need to escape the town more obvious as Rot can be seen to want to kill all humans and not just the playable character. In addition to being more realistic, it gives another way for the playable character to escape chasing Rot. This would be achieved by "leading" the chasing Rot into the path of survivors. This design was dropped from the final finite-state machine because of the partially educational nature of the game. It would be wrong to show users that they should condemn other humans to death in order to save themselves. Another reason is that it would have made the AI needed for survivors more complex. There would need to be ways in which the survivor could escape a chasing Rot. 2.5 Odd implementation decisions This section explains any features of the game that were implemented in unusual ways. 2.5.1 Walls To implement in-game walls I first obtained a sprite (image) for each section of the wall, for example, a sprite for corners and a sprite for vertical segments. Walls needed to be solid objects so the playable character cannot move though them but background sprites could not be made solid in Game Maker. In order to make walls solid I had to make every wall sprite an object. This led to a large amount of objects for the game to keep track of. While testing the game I found it was possible for the playable character to become "stuck" on an edge of some of the walls. I did not think making the wall sprites more rounded would solve the problem so I decided on another solution. I would create one sprite which was a black square. I would then use this sprite to make a single wall object. This object would be solid but also invisible within the game. I deleted all of the old wall objects from the game and replaced them with the original non-solid wall sprites. I then placed the invisible wall object over the top of those sprites. When the game was played the playable character would collide with solid but invisible wall object and not pass through the wall sprite. The game would now have only one wall object to keep track of. I implemented and tested this approach but found many problems: The playable character could still become "stuck" on walls. To enable the single invisible wall object to work its sprite had to be larger than each original wall sprite which meant there were areas of the game that looked unblocked but the playable character could not move there. Creating buildings and connected sections of walls was harder because the wall sprites could not overlap. I therefore reverted back to the original version of the game. Unable to think of a way to avoid the playable character getting "stuck" I implemented a method which is likely to free a "stuck" character so play can continue. When the Home key on the keyboard is pressed the playable character will be move to a nearby position on the screen. This solution works in most cases and does not drastically affect the overall game. By resizing the sprites of walls and the playable character, the problem of the playable character becoming "stuck" on walls seems to have been solved. The playable character getting "stuck" occurs almost randomly and so is very hard to test. Feedback from game testers indicates this problem occurs much less frequently than in previous versions of the game. I will keep the solution described in the above paragraph until I am sure the problem has been eliminated. 2.5.2 Invisible zones In order to detect whether the playable character was inside a building I placed transparent, non-solid objects inside each building. At each step in the game (there are 30 steps every second) the location of the playable character is tested to determine if it is in the same position as any of the non-solid objects. This gives the immediate problem of a possible decrease in performance and "slow-down" in the game as it carries out this test almost continuously. I could avoid this by limiting the test to be performed only once every second, for example. However, because this is only a simple test with minimal complexity it is unlikely to cause a problem. In practice this assumption proves correct but that may just be due to the machines I have tested the game on. Depending on the location of the playable character different text is displayed at the top of the game screen. If the playable character is in the same position as any of the non-solid objects inside buildings, this text displays "Unbarricaded". Whereas, if they are not the text displays "Outside". The location of this text never changes so provides the user with a consistent, always visible view of the current system state. Knowledge of the system state is crucial when allowing the playable character to sleep as it will inform the user of the risk of the playable character dieing. Associated with this text is the "Death risk" text. This text displays the associated risk, "High", "Low" or "None", with allowing the playable character to sleep in that system state or location. 2.5.3 Picking up items As originally intended, the implementation of items uses solid objects to represent each item. For each item, I used the collision event between that item object and the playable character to determine when items are "picked-up". When an item is picked-up it is removed from the level and stored in the playable character's inventory. This method worked correctly as long as there was an empty space in the inventory. If there was not an empty space the item would not be picked-up but remain in the level. Because a collision event was used and since every item was solid items became impassable to the playable character once their inventory was full. I thought this was not too much of a problem but the feedback from releasing the prototype version of the game to testers made it clear that it was. Making the item objects non-solid did not solve the problem and only when the collision event was removed were the item objects always passable. I therefore, had to use some other method of picking up items. I considered just clicking with the mouse on items to pick them up but this would require a limitation on the items that could be picked-up to stop the user simply clicking on every item in the game view independent of where the playable character was. This would require the user to understand that limitation. Since a main design decision was to keep the game easy to use and understand the idea of limiting the items that could be picked-up was not used. I also considered a separate control to pick-up an item but this would have the same learn-ability problem. I found that creating a script (a small program) that ran at the end of every step in the game solved the problem keeping the simplicity of colliding with items to pick them up. The script works by first assuming there is a collision and immediately exiting if that collision returned nothing, meaning there was no collision with an item. It will also exit immediately if the playable characters inventory is full. If however, there is an empty space in the inventory and an item has been collided with that item is added to the inventory. The item is removed from the level. The major drawback to using this script is inefficiency in that the script needs to be run at the end of every step. There are 30 steps every second so if the script itself was more complex it may lead to performance decreasing and "slow-down" in the game. In practice this "slow-down" does not occur but this may only be true on machines which the game has been tested. 2.5.4 Error Handling Throughout the game it is possible that errors will occur. These maybe caused by differing hardware on which the game is executed or are unexpected software failures. The default used by the Game Maker development environment is to display all error messages when they occur. It is desirable, in terms of software usability, not to give the user irrelevant information. Since the user cannot and should not attempt to correct errors themselves, displaying information about errors to them is useless. The method of hiding error messages from the user, provided by Game Maker, is to record them in a log file. This would allow the user to continue playing after the error had occurred. This is not safe and may cause the user to believe the game has not been developed well resulting in them never playing the game. This can be solved by instructing Game Maker to automatically exit the game as soon as an error occurs. This causes the game to immediately and unexpectedly exit should an error occur. There is no warning or explanation given to the user of what happened. The solution I used was to record the information about an error in a log file and display a general error message. This general error message states only that an error has occurred and to please report it to the developer attaching the log file. The message does not contain any information about the error. The message contains only a single button which the user must press to exit the game. Users cannot continue a game which caused an error. This was intended to improve usability. In order to implement this it meant a test whether an error had occurred had to be performed every game step. There are 30 steps every second. I am not sure how the default method of error handling is implemented in Game Maker so the solution chosen may be more inefficient than the default. The test is only a single if statement so I do not believe it will cause performance problems. Testing has shown this belief to be true. I consider the sacrifice of efficiency for usability acceptable. 2.6 Other important decisions in the project This section lists parts of the project that should be described that do not fall into any of the above categories. 2.6.1 The use of Game Maker I decided to implement the game using the development software, Game Maker. This was described in the "Project Specification and Plan" document on page 53. An important point about how Game Maker works is the inheritance structure. This was omitted from the description because of the page limit applied to the "Project Specification and Plan" document. In Game Maker every entity, for example, the playable character, is represented by an object. Game Maker uses a single inheritance mechanism on the objects it creates. This means each object can only have a single parent object. Many objects can share the same parent object. This allows the common functions of an object or group of objects to be abstracted away and placed in a single parent object. The events specified in the parent object are automatically copied to each child object of that parent, reducing the amount of repeated code. An example of inheritance in the game created involves the playable character object. There are actually two playable character objects that, because of the abstraction provided by inheritance can be thought of as one. One object represents the character without a spear, which will lose health if they collide with an enemy, and the other represents the character with a spear, which does not lose health on collisions but kills the enemy. Both of these objects share the same functions. These shared functions are implemented only in the parent playable character object and can be performed by both child objects. In addition I only needed to test for the parent playable character object in if statements and the test would automatically be applied to each child object. I have included the Game Maker source file of the game on the project website [1]. I have also included some of the scripts (small programs) used as text files. These and all other scripts are stored in the Game Maker source file. In this section of the report I will evaluate the use of Game Maker as a development environment stating ways it helped and ways it hindered development of the game. Note that these are only concerned with version 7.0 of Game Maker and may not apply to later versions. Ways it helped development A large advantage of using Game Maker was its community. This meant I could use pieces of code written by others and published on the Game Maker website in the game I created. Of course, I had to adhere to the copyright issues in using any such work but being able to reuse pre-written and pre-tested sections of code helped development greatly. Also tutorials, both about the use of Game Maker and about game design helped. An obvious advantage was the reduced implementation time required because of the use of inheritance as described above. I have not seen other free game development environments use inheritance. Also scripts, being reusable sections of code, reduced implementation time considerably. Game Maker handles the saving and loading of games at a high level. To perform these operations requires only one function call provided a suitable file name to save to or load from is given. This made it very easy to implement the save and load game features required and allow the user to save the current game and return to a previously saved game. I originally thought I would need to override the default saving and loading functions in order to save all game data for example, collected items. With testing I found the provided functions did all I required, reducing development time significantly. Ways it hindered development I originally designed for all menus and game screens involving multiple buttons to be controlled by both the keyboard and mouse. Unfortunately, I found this extremely difficult to implement in Game Maker. It was much easier and less time consuming to use one control mechanism and not both. The help text provided by Game Maker is complete in that it covers all standard functions and variable names that could be used within the game. The problem is that some of the descriptions of what functions do are very limited. Many standard functions do similar but slightly different things. For example, the functions place_free() and place_empty() do very similar things according to the help description and it is difficult to determine how they differ. In some cases the use of one may not achieve the desired output where the other does. This became a problem when implementing the code to place a fire in an empty location around the playable character when the Wood item is used. The one disadvantage with inheritance is that it does not appear to be able to be used in collision checking with a large number of child objects of different shapes. For example, it would have been helpful if all wall objects could have been grouped under a single wall parent object so collision with any wall would stop the playable character. When initially testing this I found it did not work correctly so I had to implement and event for collisions with each individual type of wall where necessary. While implementing other features of the program I found that it was possible to do this. Whether this was or was not possible was not clear from the start or in any documentation read. 2.6.2 Involving separate game testers Throughout the project I distributed versions of the game to game testers, described as a type of user in the "Project Specification and Plan" document on page 43. There were only a small number of game testers. They would play the game and provide feedback making suggestions as to how it could be improved, things they did not like about the game and what, if any, errors had occurred. To help them do this a questionnaire was written and given to each game tester to complete. The results were taken into consideration when continuing development of the game. This form of testing was not designed to replace software testing which was necessary to ensure the game met its objectives and requirements. A summary of the feedback from game testers is shown on page 88 as an appendix. As can be seen in the "Project Specification and Plan" document I initially planned for only two such tests. The first test would be performed after the early prototype version of the game was implemented whereas; the second would be performed on the almost completed final version. Due to a loss of time because of university coursework, identified as a risk in the "Risk Analysis" on page 79, the release of the early prototype version of the game to game testers was delayed until after Christmas 2006. I had not had time to implement one part of the prototype I had planned. Unfortunately, this was a key part of the game so I decided that releasing the incomplete prototype for evaluation was a waste of time. The release of the almost completed final version was delayed a week. The release was delayed as I wanted the saving and loading system available. In my opinion, saving and loading the game is relatively complex so I wanted to see how the game testers reacted to it. The majority of feedback from this version of the game would be considered for future development due to the time constraints of the project. 2.6.3 The use of UML in game design To relate the design of the game to Computer Science I used the technique of including UML (Unified Modelling Language) diagrams. As explained in reference [5] the use of UML in game design is widely debated. In this section I will indicate any benefits and problems that UML gave. I will also state whether or not I recommend the use of UML in game design or not. The main benefit of UML diagrams is that they are a good communication tool. They help the clients, who want the game to be created, understand in-game features and how they relate to each other. Part of the game may seem obvious to the game's designer who has had time to think about the game but may be difficult for a person not involved in the design to understand. Diagrams also become important in development of a game that involved a design team of more than one person. What one designer may understand another may not and a diagram is a useful way to convey ideas. Diagrams are abstract dealing with only one part of the system. This makes diagrams clear and avoids unnecessary details but also causes problems. It is difficult to split a game into individual components that are not affected by any other part of the game. I would imagine that in modern games designs can become very complex and any diagrams would be too large to be much use. An example of this in the game I developed is the design of items and stats as given in the "Literature review and system design" document on page  PAGEREF _Ref163715349 \h 57. I intended to draw a single diagram of how each item was used and their effects. I realised however that a single diagram involving each item would be too large. Consequently, only the use of the more complex Wood item was shown in diagram form. The use of other items and there effects was only described in words. Another difficulty, especially related to sequence diagrams and state transition diagrams is that there must be some pre-defined sequence in which actions are performed. In games this sequence is initially unknown. There are several different orders in which users can use in-game items for example. To consider any diagrams requiring a sequence to be useless in game design would be incorrect. Most games have a high-level sequence of game screens and level transitions. A flow control diagram showing this high-level sequence for the game created is given in the "Flow Control Diagram" document on the project website [1]. A lot of early games also had more low-level sequences to levels. As an example consider the PC game DOOM [6]. An example sequence for a level might be: Enter room, shoot enemies, collect yellow key, open yellow door. However, a sequence diagram could only rarely be created for the order that user must shoot the enemies in a room. Particularly in the game I designed, I found some diagrams could be quite misleading without further information. For the 'Fear effects' I included a use-case diagram for how the playable character interacts with 'Fear effects' and the fear stat. Using the standard interpretation of this type of UML diagram it is clear that the playable character uses fear. That does not really make sense and could be interpreted in different ways. Another example of confusing diagrams is whether to keep the playable character and their inventory as a single entity or make them into two separate entities. Since the inventory is an attribute of the playable character and items within it can only be used by the playable character it may be natural to represent the playable character and their inventory as a single entity. However, items, when collected, are stored in the playable character's inventory. It does not make sense to describe collected items as being stored in the playable character. 3. Evaluation and critical appraisal This section will give an analysis of the project and created game. I will evaluate the outcome of the project in relation to the main objectives identified in the "Project Specification and Plan" document. I will evaluate the game with respect to its objectives and state which objectives have or have not been met. I will briefly compare the game created to some of the work done by others. 3.1 Evaluation with respect to the main project objectives The main project objectives, given in italics, are taken from the main objectives section of the "Project Specification and Plan" document on page 42. 3.1.1 Computer game development as a branch of Computer Science Research and explain the emergence of computer game design and implementation as a branch of Computer Science. Explain how this relates to the game that will be created giving terms of reference that relate its development to Computer Science. I achieved this objective by reviewing several books and websites based on game design and implementation. It is quite surprising how many books there are on the subject of developing computer games and a lot of the ones reviewed use terms of reference that relate to Computer Science. For example, many books explaining how to implement artificial intelligence in games cover the A* algorithm which is used in the artificial intelligence branch of Computer Science. The reviews performed are documented in the "Literature review and system design" document on page 59. The reviews were concluded with a brief paragraph explaining how they relate to the game developed. Some books and websites gave very abstract and high-level ideas that could not easily be applied to a single game. I have not read all of the books reviewed so the reviews may not be a complete account of their content. 3.1.2 Applying Software Engineering techniques Show how Software Engineering techniques can be applied to game creation. This was achieved both with the review of books mentioned earlier and the use of UML (Unified Modelling Language) when designing the game. The game design is given in the "Literature review and system design" document on page  PAGEREF _Ref163715551 \h 57. This document also includes a risk analysis and testing plan used in Software Engineering projects. It does not, however, include a fall-back plan. This is because a fall-back plan is not really necessary for a computer game. Reference [10] explains how game design can be and is used to teach Software Engineering. 3.1.3 Conclusion on the use of Software Engineering techniques Give a conclusion stating whether or not the use of Software Engineering techniques was helpful in terms of game design. I have stated my opinions on the use of UML in section 2.6.3 on page  PAGEREF _Ref161652859 \h 28. However, these are only my opinions and reference [5] shows that the use of UML is still debated. 3.1.4 Originality The game created must be original in some way in terms of gameplay, style of graphics or concept for example. I believe the created game to be original. Through a context survey documented in the "Project Specification and Plan" I have shown that 'survival' is a relatively unexplored genre in computer games. 'Survival-horror' however, is not. I have discussed the reasons for and problems with using zombies for enemies in the game in section 2.1.2 on page  PAGEREF _Ref161652894 \h 11. It was hoped that the involvement of zombies in the game added to its originality in the different way that zombies are used. Whether this is true or if zombies remove all sense of originality from the game can only be decided by the individual user of the game. I have highlighted any other original features throughout this report. The game also uses techniques demonstrated in other games. For example, nearly all RPGs (Role Playing Games) use an inventory system allowing the collection and storage of items. Most items in RPGs are complex or powerful weapons and armour. By restricting the game created to simple items for example, food and drink, I aimed to re-enforce the underlying theme of survival. Hopefully, this makes the game slightly more original. The need of the playable character to sleep, the use of Fear, 'Fear effects' and the lack of weapons are also quite original and uncommon features. 3.1.3 Required hardware The game must not require any special or high-quality hardware to run. Unfortunately, the game software could not be tested on a wide variety of systems so I cannot guarantee this objective has been met. The game does work as expected on all systems on which testing was performed. The minimum requirements need to install and run the game are listed on the project website [1]. 3.2 Evaluation of the created game with respect to its objectives The game objectives, given in italics, are taken from the "Project Specification and Plan" document on page 48. 3.2.1 Allowing a user to control and move a character Allow a user to control a character on the screen and move about. The character should not be able to move through any "solid" objects within the game. This has been met. The user controls the playable character and can move them about the screen via key presses on the keyboard. The playable character cannot move through walls, or anything else users would not expect them to be able to move through. It is worth noting here that the playable character often gets "stuck" on walls and is unable to move. In the first release of the game to the game testers, this problem alone was enough to stop many of them playing the game long enough to give useful feedback. The playable character getting "stuck" on walls was a re-occurring problem throughout the project as it happened randomly and was very difficult to test for. Judging from the feedback from game testers following the release of the almost complete game, I think I solved this problem. If, however, it does occur again and has not been solved it is a major disadvantage for the playability of the game. 3.2.2 Computer-controlled characters and their intelligence Computer-controlled characters and enemies must move with some degree of intelligence and must not be able to move through "solid" objects. This has been achieved as it is stated. A further description of the artificial intelligence of both types of computer-controlled character is given in section 2.4 on page  PAGEREF _Ref162688696 \h 19. 3.2.3 In-game items The player must be able to collect, store and use in-game items. This has been achieved by giving the playable character an inventory. When the playable character moves over an in-game item it is collected. That item is removed from the current level of the game and placed in the playable character's inventory. Any item in the inventory can be used via action menus as described in the "Literature review and system design" document on page 69. The inventory was based on an example created by someone else as credited in the "Acknowledgements" appendix on page  PAGEREF _Ref163715772 \h 108. 3.2.4 Education of survival techniques and complexity The game must allow the player to learn basic survival concepts without being overly complicated. It must make clear that these are only guidelines to help survival and the game does not provide a complete or detailed simulation. The complexity (in the non-technical sense) and understand-ability of the game can only be determined by the individual user. In an effort to make the survival concepts less complex I have removed certain features. For example, in reality if a human became to hot for long periods they may die of hyperthermia. In the game survival requires the user to keep the Warmth stat from becoming zero. Most users will therefore keep the stat as high as possible at all times. Introducing hyperthermia if the Warmth stat is too high would increase the educational value of the game at the sacrifice of playability. I consider playability to be more important. This is re-enforced by the statement "The game must educate the player [but] this should not heavily impact the entertainment value of the game" in the Game Definition of the "Project Specification and Plan" document on page 47. At certain points in the game there is a large amount of information on the screen at one time. This may detract from the playability of the game by increasing complexity. Software development and Human-Computer Interaction has shown that is not user-friendly to have more than 7 2 things on screen at one time. Disregarding in-game objects like enemies and items the amount of information shown is probably small enough to avoid confusion but if more was added then this would have to be taken into account. In answer to the second part of the objective I have added a message to the main menu of the game that clearly states it does not provide a complete or detailed simulation of survival. 3.2.5 Saving and loading a game There should be a way of saving game and returning to an already started game. This was achieved in a sense. A way of saving a game and loading a previous game is given. The problem is that it is not very user-friendly. When the user wishes to save the game they must manually type in the name of the file to save to. If this file exists a warning is displayed. Whether this message is displayed is completely dependent on whether the user can remember or guess the names of save games they have already made. A secondary helper device could be used to store a list of save games but I would have preferred if this list could have been integrated into the game. Also a short description and/or screenshot of each saved game may help the user determine if they do or do not want to overwrite a particular file. However, due to time constraints this was left as a desirable feature for future development. Loading a previous game works in a similar way. Here the user is required to remember the exact name of the save game file and to know that it exists. This has similar problems as mentioned above and would definitely benefit from further development. Manually typing the name is neither robust nor reliable as users often make typing mistakes and spelling errors so a method where the user simply clicks on the name of the game they wish to load is desirable. 3.2.6 Endings There should only be 2 different endings: Win and lose. This implies that the player can lose the game. This objective has been met. If the playable character reaches the cable car then they win the game and the game complete screen is shown. If the playable character loses all their lives they lose the game and the game over screen is displayed. 3.2.7 Story based upon survival The games story should be based around survival of some event. This has been achieved in an unusual way. This objective may be thought to mean the survival in the aftermath of some natural event like a hurricane or volcanic eruption. While these may produce interesting concepts for games I decided a game where the playable character needed to survive an outbreak of zombies to be more entertaining in terms of gameplay. In section 2.1.2 on page  PAGEREF _Ref161653620 \h 11 I gave another reason for choosing an outbreak of zombies over a natural event. This was that it re-enforced that the survival concepts shown in the game are only general rules and not completely accurate. 3.2.8 Involvement of strong language The game must not involve strong language. This has been achieved and will hopefully encourage younger players to the game. 3.2.9 Involvement of violence and gore Any depiction of violence or gore must be stylized. This has been achieved and will hopefully encourage younger players to the game. 3.3 How my work compares to that done by others This section describes any interesting differences to work done by others. These comparisons will mainly relate to the game created as part of the project and other games. 3.3.1 Death In most games the character controlled by the user dies when they are killed by enemies. This gives the user some idea that the playable character might be killed during a battle. For example, if a user sees enemies swarming around the playable character they get a mental warning that the character may die. If the playable character dies too often the game is lost. Clearly, death is to be avoided. It is important to give an indication of death so as to avoid confusing the user and to make the user feel they should act quickly to save the character. In Hunger, the game I created, this mental warning is harder to achieve. In most other games the playable character dies only when attacked by enemies. In Hunger the playable character can die simply because a stat is low or high. For example, if the Thirst stat is at its maximum value the playable character will start to lose health and eventually die when their health becomes zero. It therefore may not be obvious to the user the danger of being killed. In this way death can seem sudden as reported in feedback from the prototype version of the game. To try and solve this problem I implemented a near death warning system. This will flash a red screen and play a sound at regular intervals when the health of the playable character is low. 3.3.2 Digital Rights Management (DRM) DRM is often used by publishers or copyright owners to control access to and usage of digital data or hardware [7]. DRM is used in many commercial computer games as a digital lock which stops people from running those games without a proper license [8]. This license is often a textual key that must be entered before the game can be run. There is a lot of debate as to whether DRM is needed. One example of DRM that is commonly overlooked is the restriction manufacturers place on games so they can only be run on one particular platform [9]. For example, a company may limit a game to only run on an Xbox 360 or PC. The game I created is only available to run on PCs using particular versions of Microsoft Windows operating system. This is only because the Game Maker development environment enforces that restriction on all games created with it. Apart from this the game has no DRM. This is largely because the game involves the work of several different people. Agreeing on a particular form of DRM would be difficult. Also for a game of its size and the fact that it was not designed as a marketable game reduces the need for suitable DRM. 3.3.3 Length Most RPGs (Role Playing Games), the genre that is closest to the game created, are very long. They may be divided into levels or provide a single large world for the playable character to explore. They rely on a user creating a character, sometimes through a detailed and time-consuming process, starting at a base experience level and then raising that level as they play the game. This is normally because of the length of the game. If a game takes a long time to complete it is important for the user to feel that the character belongs to them and that they are helping that character become more skilful every time they play the game. The created game skips the character creation process entirely by offering only a single playable character that cannot be customised. This could be seen as an advantage as the game can be started quicker or a disadvantage because users may feel alienated from the character thus, meaning they do not want to save the playable character and help them escape the town. If users do not feel involved they are unlikely to play the entire game. The game length could be ignored as just an implication of the restricted development time of the project but actually it was a design decision. There are not many games that can be completed in such a sort time. Again this can be seen as an advantage or a disadvantage depending on the user. Personally, I like games that can be completed quickly, but not too quickly. Other people like games taking weeks to complete. 4. Conclusion In this section I will summarise the work of the project and show any strengths and weaknesses in it. I will also describe future directions in which the project and game could be taken. 4.1 Summary of work done The problem, described in the introduction of this report, was solved as described in section 1.2 on page  PAGEREF _Ref162709218 \h 6. The following is a list of the work done in the project. The description of the problem the project was intended to solve was documented. A way plan for achieving the solution was formed. A limited survey of other work in some popular game genres was performed to give ideas for the game to be created and ensure a very similar game had not already been made. Game design and implementation were linked to Computer Science concepts and techniques by reviewing a number of books and websites. A game was designed using Software Engineering techniques for example, UML diagrams, and was related to the above reviews. The game was implemented using Game Maker by first developing a prototype version and increasing that into the final version for submission. Software behaviour was tested to ensure the game performed as expected and met its objectives. The prototype version and almost complete version of the game were distributed to game testers, along with questionnaires. This allowed them to provide feedback on their opinions of the game and how they thought the game was progressing. A summary of feedback from testers and other tests performed was created and is given on page  PAGEREF _Ref163715977 \h 85 as an appendix. Documentation was produced about all aspects of the project. Much of this occurred in parallel with other stages of the project. Two short presentations about the project were given and a demonstration of the finished game was given to the two project supervisors. All documentation and source file for the game can be downloaded from the project website [1]. 4.2 Strengths and weaknesses of the game I have already described many points I feel have and have not worked well. The following have come to light after further use of the game or have been indicated by game testers. 4.2.1 Strengths The entire process can be considered a major achievement or strength of the project. I have never created a game of my own design before so the majority of this project was a new experience. This is especially important because in the future I wish to work in the games industry. Having completed a Software Development Project in previous years [13], I assumed all computer games were designed in the same way as other software. Having researched this I have realised that not all games are designed this way and Software Engineering techniques are not always beneficial. Like most games, many strengths and major achievements in terms of programming are hidden from the user. One such strength is the clipping mechanism used when dropping items or placing fires with the Wood item. This ensures fires and items cannot be placed underneath solid objects or outside rooms. It also ensures the playable character cannot "throw" dropped items over walls for example. I will not go into detail about how this works but essentially it checks each direction around the playable character and, if that direction is free of obstacles, provided it is inside the room, it places the item or fire there. In the case of placing fires they must always be placed in front of the playable character if possible. This provided another challenge but was overcome in a similar way. 4.2.2 Weaknesses There is no immediate way to exit the game software during play. In order to exit the game the user must press Esc on the keyboard to open the in-game menu, click on the quit button, answer yes to a warning about a loss of unsaved data and, finally, click on the exit button when the main menu is displayed. This is a relatively long process so I considered implementing a feature to exit the game software immediately after a specific key was pressed. However, I think this would be a bad idea as it introduces the problem of users pressing the key accidentally and permanently losing there progress in the game. The movement of the playable character is a minor problem. The user can move the playable character around with the directional keys on the keyboard. Some of the keys "override" the movement provided by another key but others do not. For example, if the user has the right key held down and presses the left key the playable character will continue moving right. If the user has the left key held down and presses the right key the playable character will immediately change direction to move right. Other games I have tested that have also been made with Game Maker have this problem suggesting it is inherit with Game Maker. However, I have seen games created with Game Maker that do not appear effected by this problem. 4.3 Future directions In terms of the analysis of whether Software Engineering techniques are useful in game development I could evaluate game design documents used for commercial games. Unfortunately, it is very unlikely that a company that develops commercial games will make their design documents publicly available. This is likely because of competition from other game development companies and because many game designs are different, sometimes very different, to the games they are developed into. There is one partial game design document which I have found. It is for the game DOOM [6] and is available from reference [11]. It was written in 1992 so is unlikely to be much use to competitor companies anymore. In addition to the desirable functionality listed in the "Literature review and system design" document on page 76 I could also implement more levels in the game. This would be required if I wanted to make the game publicly available. With only three levels I think it is just too short and easy to complete. The majority of feedback from game testers also indicates the quickness in which the game can be completed is a problem. To attempt to solve this problem and increase the length of the game I could simply add more levels, ordering them based on their difficulty to complete. Another solution would be to add episodes to the game. Each episode would be a similar length to the game and take place in different environments with similar but slightly different stories. For example, I could add another three levels to the game that were set in a desert environment. I could then decrease the amount of drink items available and increase the rate the playable character's Warmth stat increased. Adding new challenges to a game in this way is a good way to increase replayability [14]. These extra episodes could be downloaded later after the game has been released and accessed in a similar way to starting a new game. Episodic-content for games is highly debated but is proving to be popular in modern commercial games as explained in reference [12]. Other possible future developments would be: Correcting any errors that were found towards the end of the project which I did not have time to correct before the deadline. Expanding the saving and loading system as mentioned in section 3.2.5 on page  PAGEREF _Ref161653766 \h 33. Implementing support for the deletion of saved games within the game software. Currently, the user is forced to exit the game and manually delete the file representing the save game from a directory. Adding a pop-up description of an item in the inventory when the mouse cursor hovers over it. The description would be as short as possible, containing only the item's name and effect. This would mean the user does not have to remember what each item looks like or what it is used for. References Title: Hunger - Project Website Website URL:  HYPERLINK "http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.html" http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.html Title: Wikipedia - Video game genres Website URL:  HYPERLINK "http://en.wikipedia.org/wiki/Computer_and_video_game_genres" http://en.wikipedia.org/wiki/Computer_and_video_game_genres Title: Game Maker by Mark Overmars Website URL:  HYPERLINK "http://www.gamemaker.nl/" http://www.gamemaker.nl/ Title: YoYo games Website URL:  HYPERLINK "http://www.yoyogames.com/" http://www.yoyogames.com/ Title: GameDev.net - UML in game design? Website URL:  HYPERLINK "http://www.gamedev.net/community/forums/topic.asp?topic_id=357428" http://www.gamedev.net/community/forums/topic.asp?topic_id=357428 Title: Wikipedia - Doom Website URL:  HYPERLINK "http://en.wikipedia.org/wiki/Doom" http://en.wikipedia.org/wiki/Doom Title: Wikipedia - Digital Rights Management Website URL:  HYPERLINK "http://en.wikipedia.org/wiki/Digital_Rights_Management" http://en.wikipedia.org/wiki/Digital_Rights_Management Title: Valve, Steam and DRM Website URL:  HYPERLINK "http://www.kuro5hin.org/story/2003/9/13/03945/7308" http://www.kuro5hin.org/story/2003/9/13/03945/7308 Title: DRM in games Website URL:  HYPERLINK "http://www.ploob.com/2006/07/07/drm-in-games" http://www.ploob.com/2006/07/07/drm-in-games Title: Teaching software engineering through game design Website URL:  HYPERLINK "http://web.cs.wpi.edu/~claypool/papers/game-se/paper.pdf" http://web.cs.wpi.edu/~claypool/papers/game-se/paper.pdf Title: 5 years of DOOM - The DOOM bible Website URL:  HYPERLINK "http://5years.doomworld.com/doombible/" http://5years.doomworld.com/doombible/ Title: Why bother with episodic games? Website URL:  HYPERLINK "http://www.gamasutra.com/features/20070103/sanchez_01.shtml" http://www.gamasutra.com/features/20070103/sanchez_01.shtml Title: Xchange - A 2005-2006 software team project for the University of St. Andrews by team 1. Website URL:  HYPERLINK "http://lab-cs3.dcs.st-and.ac.uk/~jh20051/Website/Xchange.html" http://lab-cs3.dcs.st-and.ac.uk/~jh20051/Website/Xchange.html Title: IFWiki - Replayability Website URL:  HYPERLINK "http://www.ifwiki.org/index.php/Replayability" http://www.ifwiki.org/index.php/Replayability Title: Wikipedia - Game Programming Website URL:  HYPERLINK "http://en.wikipedia.org/wiki/Game_programming#Maintenance" http://en.wikipedia.org/wiki/Game_programming#Maintenance Appendices Project Specification and Plan Contents  TOC \o "1-4" \h \z \u  HYPERLINK \l "_Toc161572017" Problem Definition  PAGEREF _Toc161572017 \h 42  HYPERLINK \l "_Toc161572018" Main Objectives  PAGEREF _Toc161572018 \h 42  HYPERLINK \l "_Toc161572019" Project Boundaries  PAGEREF _Toc161572019 \h 42  HYPERLINK \l "_Toc161572020" Users  PAGEREF _Toc161572020 \h 43  HYPERLINK \l "_Toc161572021" Context Survey  PAGEREF _Toc161572021 \h 43  HYPERLINK \l "_Toc161572022" 1. Strategy Games  PAGEREF _Toc161572022 \h 44  HYPERLINK \l "_Toc161572023" 2. Action Games  PAGEREF _Toc161572023 \h 44  HYPERLINK \l "_Toc161572024" 3. Horror Games  PAGEREF _Toc161572024 \h 45  HYPERLINK \l "_Toc161572025" 4. Games aimed at younger players  PAGEREF _Toc161572025 \h 46  HYPERLINK \l "_Toc161572026" 5. Games featuring intelligent enemies  PAGEREF _Toc161572026 \h 46  HYPERLINK \l "_Toc161572027" Game Definition  PAGEREF _Toc161572027 \h 47  HYPERLINK \l "_Toc161572028" Game Objectives  PAGEREF _Toc161572028 \h 48  HYPERLINK \l "_Toc161572029" Requirements Specification  PAGEREF _Toc161572029 \h 48  HYPERLINK \l "_Toc161572030" 1. Interface Requirements  PAGEREF _Toc161572030 \h 48  HYPERLINK \l "_Toc161572031" 2. Performance Requirements  PAGEREF _Toc161572031 \h 49  HYPERLINK \l "_Toc161572032" 3. Security Requirements  PAGEREF _Toc161572032 \h 49  HYPERLINK \l "_Toc161572033" 4. Operational Requirements  PAGEREF _Toc161572033 \h 50  HYPERLINK \l "_Toc161572034" 5. Data Requirements  PAGEREF _Toc161572034 \h 50  HYPERLINK \l "_Toc161572035" 6. Physical Environment  PAGEREF _Toc161572035 \h 51  HYPERLINK \l "_Toc161572036" 7. Operational Environment  PAGEREF _Toc161572036 \h 51  HYPERLINK \l "_Toc161572037" 8. Functional Requirements  PAGEREF _Toc161572037 \h 51  HYPERLINK \l "_Toc161572038" 9. Non-Functional Requirements and Constraints  PAGEREF _Toc161572038 \h 52  HYPERLINK \l "_Toc161572039" Implementation Plan  PAGEREF _Toc161572039 \h 53  HYPERLINK \l "_Toc161572040" Deliverables and other key deadlines  PAGEREF _Toc161572040 \h 54  HYPERLINK \l "_Toc161572041" Project Monitoring Sheet  PAGEREF _Toc161572041 \h 54  HYPERLINK \l "_Toc161572042" Semester 1  PAGEREF _Toc161572042 \h 55  HYPERLINK \l "_Toc161572043" Weeks after exams and before semester 2  PAGEREF _Toc161572043 \h 55  HYPERLINK \l "_Toc161572044" Semester 2  PAGEREF _Toc161572044 \h 55  HYPERLINK \l "_Toc161572045" References  PAGEREF _Toc161572045 \h 56  HYPERLINK \l "_Toc161572046" Background Bibliography  PAGEREF _Toc161572046 \h 56 Problem Definition "Gaming has blasted its way into the mainstream to become a multi-million dollar business, rivalling the film and record industries." - Quoted from reference [6] The project will research and show how the expanding field of computer games design and implementation is related to Computer Science concepts and techniques. A game will be created as an example, ensuring it is clear how the game relates to this field. The development of the example game must show how Software Engineering techniques can be applied to game creation. At the end of this project an opinion on whether or not these techniques are helpful will be given. In addition to the above there are also requirements which the developed game will meet as explained after a context survey of similar work has been performed. In general the game must be original yet fun to play and not require any special or high-quality hardware to run. Main Objectives The main objectives of the project are listed in order of priority. Research and explain the emergence of computer game design and implementation as a branch of Computer Science. Explain how this relates to the game that will be created giving terms of reference that relate its development to Computer Science. Show how Software Engineering techniques can be applied to game creation. Give a conclusion stating whether or not the use of Software Engineering techniques was helpful in terms of game design. The game created must be original in some way in terms of gameplay, style of graphics or concept, for example. The game must not require any special or high-quality hardware to run. Project Boundaries This section lists what will not be addressed by the project. Testing the developed game on many different types of computer with varying hardware and operating systems. Illegal or unauthorized access to the game software. External computer problems, such as viruses, preventing the game from running. Due to time constraints it is not feasible to consider the following as part of the project. With more time they could be included. Many modern game technologies for example, dynamic lighting, accurate in-game physics and animated 3D (3 dimensional) cutscenes. Multi-player either co-operative or challenging. Modification or map making tools allowing a user to modify the game. Users The people who will use the system are: The player They will operate the game and control the playable character while it is being played. They will have limited knowledge of computers so the game and controls must be easy to understand and use. The client They potentially represent the company who issued the problem and wish the game to be created. They are the potential distributor of the game on a non-commercial level or will adapt the game for marketing. They will distribute the game to the player or may be the player. Game testers They will perform the same role as the player but will try to break or discover faults within the game. They may have more technical knowledge than the player. Game designer They will be required to design, document and create the game. They will also be required to perform testing. They will be able to communicate with the game testers and, potentially, the client but not necessarily the player. Any maintenance to the project will be carried out by the game designer. Throughout the project the game designer will be able to release prototype versions of the game to game testers. Using these, and a questionnaire created by the designer, testers will give their opinions on the development of the game. Context Survey In this section I will evaluate other work in some popular game genres. It is sometimes difficult to split examples into these categories as they usually involve a slight mix of genres. Each example game was obtained from the reference with number given in [ ] after the name of the game. The references used are listed on page  PAGEREF _Ref161570895 56. There are many different game genres. I consider only a few games and genres here, but there is a much more complete list of game genres, including descriptions of each, given in reference [5]. 1. Strategy Games Most strategy games involve a single user controlling multiple units, ranging from vehicles to infantry. The games are usually based around a high-level concept of war between factions, but can also be based around a small group of characters. The user must employ strategy to direct these characters to destroy the enemy team. Example: Hovendall Tactics [1] Good Points: Well made and simple main menu for game. Good interface to the game which always provides a way to get help. Being turn-based and using the mouse it is easy to control multiple characters at a time. Only information relative to the currently selected player is displayed on the interface to avoid clutter and avoid confusing the user. Bad Points: No obvious user manual. Only available through game interface. User Manual long and complex without screenshots linking document to game. Have to click on (i) symbol for help which users might not recognise as a way to get help. 2. Action Games Action is the broadest game genre. Any game that involves the user's quick re-actions can be considered an action game. The list of genres referred to above shows platform games as a separate genre, but I would include fast-paced platform games as action games. Platform games involve pressing keys at exactly the right time to overcome obstacles. They are often very simplistic, which is synonymous with action games. Example: Sonic Zone [2] Good Points: Easy to play without reading the user manual by using simple controls. Brightly coloured detailed graphics. Obvious objectives: To get to end of level and collect brightly coloured rings. Bad Points: Heavily based on older Sonic the Hedgehog games. User manual does not contain pictures to link to game. No health so player forced to restart from beginning of level when hit by an enemy. 3. Horror Games Horror games try to scare, horrify or shock the user in some way. This may be done by setting the game in a scary location, such as a haunted mansion, through clever use of sound or through visually disgusting enemies. Horror games often make use of elements seen in other genres, such as character development or item-collection in role-playing games. Example: Cursed Undead [1] Good Points: 3D graphics make the game look more attractive and realistic. Use of inventory to collect, store and use in-game items. Detailed game design document given with game. Contains pictures a screenshots to relate with game. Simple to use way of saving and loading a game by loading a game saved in one of 3 slots. Good interface showing all information related to player without cluttering screen. Can use mouse or keyboard to control playable character. It is good to have different control methods so the user can choose the one they prefer. Bad Points: User manual is very short and does not contain pictures linking it to the game. Many scenes involving blood and gore. Can only be played above a set monitor resolution. Change in control method from keyboard to mouse when trying to load a game from "Load Game" menu. This may confuse the user. 4. Games aimed at younger players This is not an individual genre but any game designed to appeal to younger players. They are usually simple games with unrealistic concepts. There are very few 'survival horror' games designed for young people. Example: Ness' Christmas Journey [2] Good points: It has a colourful and well written user manual. It is divided into sections corresponding to different elements of the game. For example, there is one section that shows and explains all the in-game items which the player can pick up. It is also short, readable and understandable. Objects within the game are brightly coloured and are not overdone with minor details. Simple main menu to begin the game containing only 4 buttons, including a button to get help. Good use of foreground and background images to make the game seem more realistic. Simplistic un-animated cutscene at beginning of game is like a comic book which relates well to younger gamers. Bad points: Information to do with player (for example, health) is hard to see because of transparency. Seemingly unnecessary questions at the start of the game slow it down. 5. Games featuring intelligent enemies This is not an individual genre as intelligent enemies are used in almost every type of game. For this survey intelligent enemies means computer-controlled enemies that cannot pass through solid objects and that react to the character controlled by the player by, for example chasing them. Example: Pyramid Panic [3] Good points: Short, understandable user manual. Enemies change colour using coloured shading when they are near or have detected the playable character, giving a visual warning to the player. Different ways to play game from the beginning requiring the user to make decisions. Objects within the game are well-drawn and brightly coloured. Enemies change starting position within the game world each time it is played adding replayability and providing the user with slightly different challenges each time a new game is begun. Bad Points: User manual does not contain pictures linking it to the game. I could not get the way of saving a game to work. Game Definition I believe 'survival' to be a game genre and it is interesting that reference [5] does not include 'survival', only 'survival horror', which implies 'survival' is a relatively unexplored genre. As such, it offers a suitable framework to work within. The game will be based on survival of a particular event. There are relatively few existing example games in this genre to prejudice the style of the game to be created. Given the restricted time frame the game does not need to be developed to a level that could be published. It does, however, need to be expandable into a full game or give ideas on which future games can be based. Whether the player-controlled character does survive the event when the game is over has to be an absolute yes or no question without requiring more than 2 different endings. The game must educate the player in the basic concepts of survival (for example, the need to eat and drink) but warn them that this is not a detailed or complete simulation of survival. This should not heavily impact the entertainment value of the game. The game should support the collection of in-game items that can then be used by the character the player controls. It must, however, be suitable for players with little knowledge of computers. To this end it must be easy to use and understand without requiring a large user manual to be read or any training to be given. Characters and any computer controlled enemies within the game must move with some limited level of intelligence, for example, they must not pass through solid walls in the game unless intended and all enemies must be able to attack the player-controlled character. The game does not need to be able to support multiple players. As mentioned in the problem definition the game must not require any special hardware, a high-quality or a fast computer to be run. Users may not have time to play the whole game from start to finish so a way to save and load a started game should be given where the items the player has collected are retained. The game should not involve vivid scenes of violence or gore. Any scenes like this must be stylised or kept to a minimum to encourage younger players. The game must therefore not involve strong language. Game Objectives The game requirements are listed in order of priority. Allow a user to control a character on the screen and move about. The character should not be able to move through any "solid" objects within the game. Computer-controlled characters and enemies must move with some degree of intelligence and must not be able to move through "solid" objects. The player must be able to collect, store and use in-game items. The game must allow the player to learn basic survival concepts without being overly complicated. It must make clear that these are only guidelines to help survival and the game does not provide a complete or detailed simulation of survival. There should be a way of saving game and returning to an already started game. There should only be 2 different endings: Win and lose. This implies that the player can lose the game. The games story should be based around survival of some event. The game must not involve strong language. Any depiction of violence or gore must be stylized. Requirements Specification 1. Interface Requirements This details any requirements on how the game interacts with the user. 1.1 The interface must be easy to use, understandable and readable by users who do not necessarily have experience with using computers. Users can also not be given special training to use the interface. 1.2 The interface must be simple since the user must not be required to read a large User Manual in order to use it. 1.3 The interface must display a message stating that the game does not provide a detailed or complete guide to survival but only gives the basic concepts. 1.4 The main menu of the interface should allow the user to begin a new game, load a saved game, get help for playing the game and exit the game software. 1.5 The game screen itself must clearly show any data that is associated with the player for example, their number of remaining lives. This must be easily visible while the user controls the playable character. 1.6 The interface must display computer-controlled enemies, items and other in-game objects clearly. 1.7 When the player's character health reaches 0, they die. The interface must show this. 1.8 When the playable character reaches the end of the game the interface must show that the game has been completed. 1.9 The game screen may indicate a way to get help on playing the game. 1.10 The interface must provide a simple way to quit the game and return to the main menu mentioned above. 1.11 The game is controlled by the user pressing keys on a keyboard and clicking with the mouse. 2. Performance Requirements This details performance requirements on the game for example, speed and response time. 2.1 The game must always be available for use while it is installed. 2.2 When the game software is run it should not take long for the game to load. 2.3 Loading a saved game should not take long. 2.4 When the user presses a key on the keyboard, clicks the mouse or activates a button on the screen it should cause a seemingly immediate response within the game. 3. Security Requirements This lists any requirements that will be needed if problems occur in the project and other security concerns. 3.1 There may be a fall-back plan to provide a different solution to the problem or to explain features which can be left out to achieve a solution. 3.2 The game must not interfere with other software while it is running. 4. Operational Requirements This specifies actions that are required to be performed by the game. 4.1 The game must allow the user to control an on-screen character (the playable character). 4.2 The game must not allow the playable character to disappear off the visible area of the screen while being controlled by the user. 4.3 The game should provide no more than 2 possible endings and clearly inform the user when an ending is reached. 4.4 The game must allow the playable character to collect and store in-game items. The user must be able to view the items they have collected. 4.5 The game must maintain information associated with the playable character's survival for example, thirst. The use of in-game items will effect that information. This will allow the user to learn the basic concepts of survival. 4.6 The game is required to provide some limited degree of intelligence for computer-controlled enemies and characters so, for example, they cannot walk through "solid" objects within the game and can identify and attack the playable character. 4.7 The game should provide a simple way of saving and loading previous games so they can be continued. The game may retain all items previously collected by the playable character when loaded. 4.8 The game must hide or stylize scenes of violence and gore. 4.9 The game must remove the playable character when their health becomes 0 or they die and reduce the number of remaining lives by one. The playable character is then repositioned in the game screen unless they have no more lives where the game will be over. 4.10 The game may be able to "Pause" or temporarily stop gameplay (ie. remove control from the player and stop all enemies) when instructed by the user. The game should then be able to restore gameplay when instructed by the user. 5. Data Requirements This details memory requirements and the amount of data the game will handle. 5.1 The game will include only 1 playable character. 5.2 The game will contain several objects (for example, walls) and images. 5.3 The game will include several computer-controlled characters and enemies. 5.4 The game will include no more than 3 playable areas due to time constraints. 6. Physical Environment This details the physical requirements of the game for example, required hardware. 6.1 The game must not require any special, fast or high-quality hardware in order to be played. 6.2 The game must run on 'standard' computers with a mouse, keyboard and monitor. 7. Operational Environment This details the non-physical requirements of the game for example, required software. 7.1 The game will run on any computer meeting the physical environment and using the latest version of the Microsoft Windows operating system. 7.2 The game may also run on different operating systems. 7.3 The game may not require any other special software to be played. 8. Functional Requirements The game software must be able to do the following: 8.1 Load a menu screen allowing the user to begin a new game, load a previously saved game or exit the game. It may also provide a way to view high scores left by other users playing the game. 8.2 Allow the user to control the playable character on the screen without allowing the character to pass through solid objects in the game or disappear off the screen. 8.3 Maintain information associated with the playable character for example, thirst. This information will change while the game is being played so must be updated automatically. The information that will be maintained and displayed to the user is explained in the Literature review and design document. 8.4 Display computer controlled characters and enemies that have a limited degree of intelligence. These cannot move through solid objects and enemies should be able to identify and attack the playable character. The artificial intelligence of enemies should be based upon the following model.  SHAPE \* MERGEFORMAT  The Wandering state is the default behaviour of the enemy. When the playable character gets close to an enemy they "sense" the character and change to the Searching state. Here the enemy moves in the general direction of the playable character but not necessarily towards them. When the enemy "sees" the playable character they switch to the Chasing state. Here they will move towards the playable character. If the playable character manages to evade the enemy and hides behind an obstacle where it can no longer be seen by the enemy the enemy will revert back to the Searching state and eventually the Wandering state if they do not see the playable character again in a fixed time. Variations of this model can be used for different computer controlled enemies. 8.5 Display in-game items that the playable character can collect. A way to store these items should be provided. The user must be able to view and use stored items. 8.6 Allow the user to quickly save a game to be continued later. 8.7 Allow the user to access the menu at any point while they are in control of the playable character. 8.8 Show a screen to indicate the user has completed the game and remove control of the playable character when they reach the end of the game. 8.9 When the playable character's health reaches 0 or they die they must be removed from the game and their number of lives must be reduced by 1. The playable character will be repositioned on the game screen unless they have no more lives where the screen indicating that the user has lost the game must be displayed and control removed from the playable character. 9. Non-Functional Requirements and Constraints This lists other constraints on the project and software reliability. The project is required to show and document the emergence of computer game design and implementation as a branch of Computer Science. This must be related to the game that will be created. There is a time constraint on the project. It must be released, fully tested and documented by Tuesday the 17th of April 2007. Other documents and logs need to be submitted to the client at various stages throughout the project and are listed in the "Deliverables and other key deadlines" section on page  PAGEREF _Ref162329746 \h 54. A meeting with the project supervisor must be held and logged each academic week of the project. These logs must be submitted to the client electronically by the end of that week. The software of the project should be completed approximately a week before the deadline to allow it to be documented and tested. The game should always be available for use while it is installed. The game should run with a minimum amount of errors. The game must be easy to use and understand by people with limited technical knowledge. Implementation Plan The game will be created using Game Maker (GM) which is explained in more detail at reference [4]. I chose GM because it is easy-to-use and I have used it in the past. It provides many features that are very useful for meeting the requirements listed above. For example, the embedded scripting language, GML (Game Maker Language), provides pre-written, tested and documented functions to implement artificial intelligence in games. It provides a GUI (Graphical User Interface), with drag-and-drop capabilities. It is object orientated. It works by registering objects with events and giving them actions to perform when these events occur. An example is when two objects collide and move off in separate directions. GM also provides a very easy way to define and create a game world in which objects can move around by allowing backgrounds to be placed within a game area or "room". While a game created using GM is being played the user can press 'F1' on the keyboard to automatically open a help file written by the developer. Another major advantage of Game Maker is that it has a lot of community support where I can find tutorials and ask for help if needed. The main and only disadvantage is that GM does not provide an easy way to produce software listings or UML (Unified Modelling Language) diagrams. This is mainly because it is not reliant on a single long program file containing code. Instead the code is split between objects each containing only the functions they require. Deliverables and other key deadlines The project must be heavily documented. Some of these documents will only be used internally within the project (a milestone) but others will be required to be given to the client (a deliverable). This section lists those documents and any other deadlines set by the client. All presentations are 10 minutes long, allowing 5 minutes for questions. Slides for these presentations are to be created using Microsoft PowerPoint. Each demonstration is 30 minutes long. A more detailed list of deliverables can be found in reference [7]. TypeForDateDeliverableDescription and Objectives document (Desc.)8/10/06DeliverableSpecification and Plan document (Spec.)29/10/06DeliverableLiterature review and system design document (Design)13/11/06MilestoneDetailed design document for game (Detailed design)20/11/06DeadlinePrototype software demonstration.15/12/06DeliverableInterim Presentation and PowerPoint slides (Interim)15/12/06DeliverableRevised Specification, Design and Plan documents (Revise docs.)09/02/07DeliverableComplete first draft of project report (Report draft)16/03/07MilestoneCompleted and tested software30/03/07DeliverableFinal project report, software and documentation including software listings (Final)17/04/07DeadlineProject Demonstration (Demo)20/04/07DeliverableFinal Presentation and PowerPoint slides (Talk)20/04/07 I have not included the logs of supervisor meetings to be delivered to the client each week to avoid clutter. Project Monitoring Sheet The main tasks of the project, when they are scheduled to be completed and when they must be submitted are shown in the tables below. There are weekly meetings with my supervisor to discuss the project. I have not included these on the tables to avoid clutter. I have not scheduled much time to write the project report which is a large document. I will work on this for a part of most weeks where possible. I will use a sort of depth-first approach to the way the game is created. For example, I will implement and test the game first to ensure basic gameplay and then create the main menu to allow access to the game around that. Black bars indicate the time (in person-weeks) to spend on each task. A vertical grey bar indicates a deadline, deliverable or milestone. The final column in each table is used to show if the tasks are completed. Semester 1 23456789101112Desc.SpecDesignDetailed designImplement prot. gameImplement prot. menuPrototype testingGive game to testers for feedbackInterimWeeks after exams and before semester 2 12Revise docs.Create test data for final gameImplement gameSemester 2 123456789Revise docs.Implement gameComplete menuTesting summaryGive game to testers for feedbackReport draftFinalTalkDemo I have not scheduled for the spring vacation between the 24th of March 2007 and 8th of April 2007 as this is to be used as "catch-up" time for anything which is not complete. References Title: Universiteit Utrecht - Game Design Website URL:  HYPERLINK "http://www.cs.uu.nl/docs/vakken/gds/games.html" http://www.cs.uu.nl/docs/vakken/gds/games.html Title: Game Maker by Mark Overmars - Games Showcase: Standalone games Website URL:  HYPERLINK "http://www.gamemaker.nl/games_exe.html" http://www.gamemaker.nl/games_exe.html Title: The Game Maker's Apprentice - Game development for beginners: Companion CD Authors: Jacob Habgood and Mark Overmars Publisher: Apress Publication Year: 2006 Title: Game Maker by Mark Overmars Website URL:  HYPERLINK "http://www.gamemaker.nl" http://www.gamemaker.nl Title: Wikipedia - Video game genres Website URL:  HYPERLINK "http://en.wikipedia.org/wiki/Computer_and_video_game_genres" http://en.wikipedia.org/wiki/Computer_and_video_game_genres Title: BBC NEWS | Technology - Gaming comes of age Website URL:  HYPERLINK "http://news.bbc.co.uk/2/hi/technology/2583697.stm" http://news.bbc.co.uk/2/hi/technology/2583697.stm Title: CS4099 (major) / CS4098 (minor) Software Project Author: James McKinna, University of St. Andrews. Publication Year: 2006 Background Bibliography Title: Software Engineering Lecture notes - Software Engineering Management Author: Ishbel Duncan, University of St. Andrews. Publication Year: 2005 Title: Xchange - A 2005-2006 software team project for the University of St. Andrews by team 1. Website URL:  HYPERLINK "http://lab-cs3.dcs.st-and.ac.uk/~jh20051/Website/Xchange.html" http://lab-cs3.dcs.st-and.ac.uk/~jh20051/Website/Xchange.html Literature review and system design Contents  TOC \o "1-4" \h \z \u  HYPERLINK \l "_Toc162761070" Literature review  PAGEREF _Toc162761070 \h 59  HYPERLINK \l "_Toc162761071" 1. Better Game Characters by Design: A Psychological Approach [1, 2]  PAGEREF _Toc162761071 \h 59  HYPERLINK \l "_Toc162761072" 2. Rules of Play: Game Design Fundamentals [3]  PAGEREF _Toc162761072 \h 59  HYPERLINK \l "_Toc162761073" 3. Programming Believable Characters for Computer Games [4]  PAGEREF _Toc162761073 \h 60  HYPERLINK \l "_Toc162761074" 4. AI Game Programming Wisdom [5, 6]  PAGEREF _Toc162761074 \h 60  HYPERLINK \l "_Toc162761075" 5. Programming Game AI by Example [7]  PAGEREF _Toc162761075 \h 61  HYPERLINK \l "_Toc162761076" 6. Game Design Complete [8]  PAGEREF _Toc162761076 \h 61  HYPERLINK \l "_Toc162761077" 7. The Game Maker's Apprentice: Game Development for Beginners [10]  PAGEREF _Toc162761077 \h 61  HYPERLINK \l "_Toc162761078" 8. Game studies: Where the action is [11]  PAGEREF _Toc162761078 \h 62  HYPERLINK \l "_Toc162761079" 9. Gender and Computer Games: Exploring Females' Dislikes [12]  PAGEREF _Toc162761079 \h 62  HYPERLINK \l "_Toc162761080" 10. Game Research - Strategy [13]  PAGEREF _Toc162761080 \h 62  HYPERLINK \l "_Toc162761081" Design  PAGEREF _Toc162761081 \h 63  HYPERLINK \l "_Toc162761082" Part 1: The final version of the game  PAGEREF _Toc162761082 \h 63  HYPERLINK \l "_Toc162761083" 1.1 Overview  PAGEREF _Toc162761083 \h 63  HYPERLINK \l "_Toc162761084" 1.2 Gameplay design  PAGEREF _Toc162761084 \h 64  HYPERLINK \l "_Toc162761085" 1.2.1 Game summary and main objective  PAGEREF _Toc162761085 \h 64  HYPERLINK \l "_Toc162761086" 1.2.2 Sleeping  PAGEREF _Toc162761086 \h 65  HYPERLINK \l "_Toc162761087" 1.2.3 Stats  PAGEREF _Toc162761087 \h 66  HYPERLINK \l "_Toc162761088" 1.2.4 'Fear effects'  PAGEREF _Toc162761088 \h 67  HYPERLINK \l "_Toc162761089" 1.2.5 In-game items  PAGEREF _Toc162761089 \h 67  HYPERLINK \l "_Toc162761090" 1.2.6 Using items and inventory  PAGEREF _Toc162761090 \h 69  HYPERLINK \l "_Toc162761091" 1.2.7 Being attacked  PAGEREF _Toc162761091 \h 70  HYPERLINK \l "_Toc162761092" 1.3 Artificial Intelligence design  PAGEREF _Toc162761092 \h 70  HYPERLINK \l "_Toc162761093" 1.3.1 AI of Rot  PAGEREF _Toc162761093 \h 70  HYPERLINK \l "_Toc162761094" 1.3.2 AI of survivors  PAGEREF _Toc162761094 \h 71  HYPERLINK \l "_Toc162761095" 1.4 None gameplay screens and interface design  PAGEREF _Toc162761095 \h 73  HYPERLINK \l "_Toc162761096" 1.4.1 Main Menu  PAGEREF _Toc162761096 \h 73  HYPERLINK \l "_Toc162761097" 1.4.2 In-game Menu  PAGEREF _Toc162761097 \h 73  HYPERLINK \l "_Toc162761098" 1.4.3 Game over screen  PAGEREF _Toc162761098 \h 74  HYPERLINK \l "_Toc162761099" 1.4.4 Game complete screen  PAGEREF _Toc162761099 \h 74  HYPERLINK \l "_Toc162761100" 1.4.5 Conversation screen  PAGEREF _Toc162761100 \h 74  HYPERLINK \l "_Toc162761101" 1.4.6 Credits screen  PAGEREF _Toc162761101 \h 75  HYPERLINK \l "_Toc162761102" 1.4.7 Saving and loading  PAGEREF _Toc162761102 \h 75  HYPERLINK \l "_Toc162761103" 1.5 Level design  PAGEREF _Toc162761103 \h 75  HYPERLINK \l "_Toc162761104" 1.6 Media design  PAGEREF _Toc162761104 \h 76  HYPERLINK \l "_Toc162761105" Part 2: The prototype  PAGEREF _Toc162761105 \h 76  HYPERLINK \l "_Toc162761106" Part 3: Desirable functionality  PAGEREF _Toc162761106 \h 76  HYPERLINK \l "_Toc162761107" Part 4: How testing will be performed  PAGEREF _Toc162761107 \h 78  HYPERLINK \l "_Toc162761108" 4.1 Software testing  PAGEREF _Toc162761108 \h 78  HYPERLINK \l "_Toc162761109" 4.2 Game testing  PAGEREF _Toc162761109 \h 79  HYPERLINK \l "_Toc162761110" Part 5: Risk Analysis  PAGEREF _Toc162761110 \h 79  HYPERLINK \l "_Toc162761111" 5.1 Risk analysis table  PAGEREF _Toc162761111 \h 79  HYPERLINK \l "_Toc162761112" 5.2 Alternative development environment: RPG Maker XP [14]  PAGEREF _Toc162761112 \h 80  HYPERLINK \l "_Toc162761113" References  PAGEREF _Toc162761113 \h 80  HYPERLINK \l "_Toc162761114" Background Bibliography  PAGEREF _Toc162761114 \h 81  Literature review This section will include a review of several computer game development books and articles. Their usefulness with respect to the game I will develop is also evaluated. 1. Better Game Characters by Design: A Psychological Approach [1, 2] This book deals with character design within games. It discusses how real-world people react to certain events and explains how these reactions can be incorporated into games. It focuses more on realistic human behaviour and psychology than the technical side of computer game creation or Computer Science. A large part of the book is devoted to animation styles and how to portray the emotion of in-game characters, in particular characters body language and movement in relation to other characters. All techniques discussed in the book are reinforced by examples. There are even interviews with expert game character designers and researchers pushing the boundaries of the social behaviour of game characters. In general the book seems to focus more on large-scale games for marketing and not any game I could develop in the limited time frame of this project. It may be a useful book for future work or in computer graphics and animation courses. 2. Rules of Play: Game Design Fundamentals [3] Described as "...a monumental examination of the emerging field of games design..." by The Guardian in November 2003. The book adopts a unified model for all types of games be it board games, sports, computer games, etc. The book has been reported to have been used by some professional game creators. It defines many core features of games such as design and interactivity. It is heavily based on game design theory as an emerging field that is being seen increasingly more as a serious profession. With 672 pages and small print it is a large book that may be difficult to understand by novices to games development. It covers every aspect of computer game use from a story telling medium to a communication method. It is divided into 4 sections with a different game design document written by experts in the field, at the end of each. The book was published in 2004 so may be starting to show its age but it is one of the only books available that focuses on game design theory without focus on practice. It is a good book to have for anyone considering games design as a profession. However, with 672 pages, it presumably goes into too much detail than the example game to be created would need. 3. Programming Believable Characters for Computer Games [4] This book is aimed at game programmers rather than game designers but therefore does involve Computer Science more than the other books reviewed. It focuses more on enemies in games but does explain artificial intelligence (AI) well using familiar techniques like finite state machines. While not attempting to push forward any boundaries it does give programmers tried and tested ways of creating believable AI in games. The book focuses on the step-by-step creation of 3-dimensional (3D) animated characters with relation to common AI techniques used in Computer Science. These techniques include path-finding, rule-based systems, goal-orientated planning and decision trees. These can be applied to AI in general and not just to game programming. Since it is focused more on 3D characters it does not apply much to the game I can create in the restricted time scale of this project. 4. AI Game Programming Wisdom [5, 6] This book contains a collection of formal articles by experienced authors concerning useful techniques that can help game developers avoid reinventing the wheel. There is a large section of the book devoted to machine learning believing that the next major development of Computer Science and computer games will be to create a machine that learns. Complex AI techniques are broken down into easily understandable sections and most are accompanied by program code or pseudo-code. It includes descriptions of A* path-finding which is often used in commercial games. Some of the examples can be hard to follow without a good programming background. As the articles are written by professionals in the game industry they often explain decisions made and problems encountered in game development projects. Many articles make use of UML diagrams and C++ but a detailed understanding of C++ syntax is not required. The book focuses a lot more on AI development for PCs and does not take the restricted resources available to consoles or handheld computers into account. It is definitely not for beginners to computer science but when you have some experience and understanding of computer systems it becomes a good resource for taking common computer science techniques and applying them to games. From the review it goes into more detail than needed for the AI I will need to create for the game. 5. Programming Game AI by Example [7] The book includes many AI techniques used in Computer Science and computer games. Explanations of concepts are entertaining to keep the reader interested and helpfully depicted with diagrams and illustrations. It discusses Finite State Machines for state based AI and Messaging so objects within the game can send messages to each other to co-ordinate attacks for example. Scripting, fuzzy logic, goal-oriented AI using states and path tree search are also covered. The book also covers path-finding in large detail with many descriptive diagrams. A plus side for the game I am to develop is that all the examples in the book are based upon 2-dimensional games. That said the techniques discussed can still be applied to 3-dimensional games. The book does assume the reader is familiar with C++ and STL (Standard Template Library), which I am not. This book may be of use in the project if the AI of computer-controlled characters is developed further. 6. Game Design Complete [8] This book understands that most games are developed under constraints, be it hardware limitations, marketing issues, time, money or sales potential. The book tries to make you think of these as more of an opportunity to create exciting and original games rather than a problem. It covers many aspects of game design including designing for licenses when a game is based on a film for example and how to design games for technology that has significant limitations for example, limited memory or limited display size. It also covers controversial design ideas such as dealing with strange and challenging environments such as Mars or the arctic. The book features many useful design techniques and modern approaches. It even includes a section on Disaster Management for when things go wrong in game development. Overall, I think this is a very good book for game design which is a very important part of game development. After all, if a game isn't designed well it won't sell well and may be difficult to implement. It may be of use for the game I will develop. 7. The Game Maker's Apprentice: Game Development for Beginners [10] This book is a must for all beginning game developers. It takes you through all the stages of game development from having no idea for a game to implementing state-based AI using Finite State Machines. It is written by both former computer scientists and current professionals in the games industry. Since I will be using Game Maker to create the game this book is essential. There is a website with very useful tutorials that can be downloaded and a list of other recommended game design books. 8. Game studies: Where the action is [11] This website contains links to many academic papers analysing computer game design. In particular "Formal models and game design" describes how games are thought of as systems which are designed using mathematical models. Many of those models are theoretical including state-transitions, mappings and logic but there are also more practical techniques related to computer science. The article also describes why formal methods are important when designing a game in the same way that they can be important for designing any computer software. Most of the mathematical models it gives appear far too complex for the game I will create in this project. In my opinion I would need to consider using these formal methods if I was creating a marketable game. That said they do have the disadvantage of requiring special knowledge to use in the same way that formal methods used in any other computer projects require. Also the use of formal methods in design would, most likely slow the entire project which I can not afford. 9. Gender and Computer Games: Exploring Females' Dislikes [12] This article shows results of studies into the gender of game players and describes how these relate to game design. It provides many statistics, facts and figures. In general it shows that women play games a lot less than men and when they do they play for a shorter time. The main reason for this is the lack of meaningful social interaction and the violent and sexual content of most games. It also suggests that women gamers do not like the competitive elements of games. I have seen many articles on the debate about the gender of players. The game I will develop will not involve much violence since this is a requirement. There may not be much competition in the game I will create, but I think competition adds to the enjoyment of a game. Many game design books support this argument. 10. Game Research - Strategy [13] This article focuses on strategy games. These are games in which you control several characters called units. The article describes how strategy games started as turn-based games where the player moves and gives orders to there units in one turn. The computer or other player then takes their turn, moving units and constructing buildings. Play continues in this fashion with a break between each turn. Strategy games have evolved into "real-time" games where there is no concept of turns and every action takes place almost immediately. Every player, including computer controlled players, play (for example, ordering units to move) at the same time so a useful analogy is to think of each turn in a turn-based game being joined to form one overall turn. It would be more difficult to design a strategy game that met all the main objectives given in the "Project specification and Plan". I do, however, need to keep strategy in mind during the design stage of the project. Since the game is required to educate the player in the basic concepts of survival via the collection and use of in-game items it will need some elements of strategy and planning for success. I believe making players think for themselves and form their own strategies is a good way to educate them. Design In this section I will design the game that will be created. The game definition, objectives and requirements given in the "Project Specification and Plan" document will be taken into account. I will adopt a Software Engineering process for the design including the use of UML diagrams. The design will be split into five parts. The first part is the design for the final version of the game. This will endeavour to meet all the game objectives and main objectives of the project. The second part will be the design for the prototype system that will meet some but not all the stated objectives. Part 3 includes desired functionality which should be considered optional and may or may not be included in the final version of the game. Part 4 summarises how the game created will be tested. Part 5 includes a risk analysis and a brief description of an alternative game development environment. Part 1: The final version of the game 1.1 Overview The game will have the title Hunger and run on a PC. It is a game that focuses mainly on survival with limited reliance on fighting enemies or horror. It provides some limited educational content and aims to show the basic concepts of survival for example, the need to eat and drink. There will be enemies but they are mainly enemies to be avoided instead of fighting directly. As described in later sections the game provides the user with choices as to how to play while keeping focus on the main objective of the game as stated in section 1.2.1. The game requires the user to think about when to use in-game items for maximum effect in order to survive. The majority of the game is 2-dimensional with a top-down perspective. The game can be divided into five main areas of design. 1.2 Gameplay design This is the design of the actual game that is played. In general all gameplay will be 2-dimensional and viewable only from the top down. 1.2.1 Game summary and main objective The game will be set in a town called "Fondville" which consists of an island connected to the main city via two bridges and a cable car. The island is divided into 3 main areas as described in the "Level design" section. The two bridges are inaccessible so the player (user) must guide the playable character from the southern end of the island to the cable car in the north in order to complete the game. To make things more difficult the town has been overrun by zombies called 'Rot'. These will act as enemies and attack the playable character. They are entirely controlled by the computer. There will also be computer controlled characters called survivors which the playable character will meet at various stages throughout the game. These will provide the user with survival tips and tell them how to play the game successfully. In order to educate the user in the basic concepts of survival, various stats will be maintained as described in section 1.2.3. The playable character will be able to move over and pick-up in-game items which are then stored in the inventory described in section 1.2.6 on page  PAGEREF _Ref162429278 \h 69. These items can then be used to increase or decrease the maintained stats. The user must therefore manage the stats of the playable character while trying to progress and not be killed by the Rot. The playable character will be able to move around the game world by key presses on the keyboard. They will never be able to move out of viewable area of the game world or through solid objects. Information about the game story, the text that is or can be displayed by survivors and other details are given in the "Detailed Design" document on the project website [15]. A high-level flow control diagram of the game is given in the "Flow Control Diagram" document on the project website [15]. 1.2.2 Sleeping During gameplay the user can instruct the playable character to sleep. Sleeping is used to affect the "Fear" stat described in the next section. Sleeping will be indicated with a static screen and will temporarily stop gameplay. There is a progress bar to indicate how long until the sleep cycle ends. When the current sleep cycle ends the playable character "wakes up" and gameplay is restored to normal. Since the game world has become inhabited by Rot obviously the playable character should not be able to sleep anywhere with no risk of being killed. There are 3 categories of place where the playable character can sleep. It is safest to sleep inside barricaded buildings. Buildings are initially unbarricaded but can be barricaded using the barricade item described in section 1.2.5 on page  PAGEREF _Ref162364030 \h 67. Where character sleepsRiskDescriptionOutsideHighRandom chance of death. High chance.Inside a unbarricaded buildingLowRandom chance of death. Low chance.Inside a barricaded buildingNoneNo chance of death.  SHAPE \* MERGEFORMAT  When the playable character dies as a result of sleeping a dialog box is displayed informing the user of the death. When the user clicks the button labelled 'OK' the playable character is removed from the game screen and one live is lost. After a short time the character reappears at another position on the screen. 1.2.3 Stats These will be shown on the game screen at all times when the user has control of the playable character. The stats will be represented using horizontal bars that increase or decrease with their numeric value. The following is a list of all stats. StatWant to keepDescriptionHealthHighDecreases when playable character collides with Rot or if 0 of an indicated stat. Increases by using bandage or medkit item. When becomes 0 playable character dies. The playable character is removed from the game screen and 1 live is lost. After a short time they reappear at another position on the screen. If no more lives Game Over is displayed.WarmthHighDecreases over time when playable character not near fire. Increases when playable character is near a fire. When becomes 0 health slowly decreases.ThirstLowIncreases over time. Decreases by using drink item. When maximum value is reached health rapidly decreases.HungerLowIncreases over time. Decreases by using food item. When maximum value is reached health slowly decreases.FearLowIncreases slowly over time. Large increase if playable character "sees" Rot (explained in "Detailed Design" document on the project website [15]). When maximum value is reached the playable character moves around randomly at a high speed and after a short time sleeps where ever they are. The playable character needs to sleep to reset this stat to 0. Has the advantage of slightly increased movement speed at higher levels but the disadvantage of 'Fear effects' (described in next section).SpeedHighStays at constant level until Fear stat increases above a certain value then starts to increase over time making the playable character move faster. To make it clear which stats the user should maintain at a high level and which should be at a low level they will be divided into two categories. Each category will be shown on a different half of the game window to provide symmetry. 1.2.4 'Fear effects' 'Fear effects' are experienced as the Fear stat increases beyond a certain value. They only occur at high-levels of Fear so as never to become annoying and predictable. There are many 'Fear effects' and when one is to occur (they occur at random past the threshold value) it will be chosen at random from the following list: Static Rot suddenly appear near playable character and then disappear again. The user sees items which are not there. When the playable character gets close to them they disappear. They also disappear after sleeping. The screen suddenly goes black for a few seconds and then returns to normal. While the screen is black the game is stopped. A large picture of a Rot is displayed on the screen for a few seconds. A sound file plays and then the screen returns to normal. While the picture is displayed the game is stopped.  SHAPE \* MERGEFORMAT  1.2.5 In-game items All items can be collected by the playable character in the game. To do this they simply move over of the item. Collected items can be viewed and used from the inventory designed in section 1.2.6 on page  PAGEREF _Ref162429278 \h 69. When items are used none, one or more of the stats described in section 1.2.3 are altered. ItemEffect when usedDescriptionFoodDecrease hunger-DrinkDecrease thirst-MedkitIncrease health a large amount-BandageIncrease health a small amount-BarricadeStops Rot entering buildingsUse of this item will make the current building that the playable character is in inaccessible to the Rot and therefore safe. Safe areas are desirable for sleeping. The playable character is not affected by used barricades and can move through them. Used barricades will be removed from the game after 4 sleeps.WoodVariableThis is a dual purpose item with a different use depending on the purpose selected by the user. In its default state wood can be used to make a fire near to the playable character. This will increase their Warmth stat provided the playable character stays close to the fire. The playable character, enemies and other characters will be able to move through fires. Used fires will be destroyed after a set period of time. If the user decides to convert the wood into a spear they can use it as a weapon to kill Rot. When the user uses a spear the graphic representing the playable character will change and they can then simply move into Rot to kill them. Once killed, Rot are removed from the game. After 4 Rot have been hit by the spear the spear will break and the playable character will revert to normal with the spear removed. Once the wood has been converted to a spear it cannot be converted back to use as wood. In addition to wood being used to create fires and increase the playable characters Warmth stat there are also fire barrels. Like fires made with wood, fire barrels only increase the Warmth stat if the playable character is within a limited radius of them. Barrels are not moveable or collectable game objects. Below is a state diagram for the more complex wood item.  SHAPE \* MERGEFORMAT  An expansion of the path leading to the Fire state as a sequence diagram:  SHAPE \* MERGEFORMAT  1.2.6 Using items and inventory The game will allow the playable character to collect and store items. Collected items are viewable from the inventory screen. The inventory can be viewed at anytime while the user has control of the playable character. Gameplay will not be stopped while the inventory is open and the inventory screen will not occupy the entire game window. A diagram showing the layout of the inventory screen is shown in the "Detailed Design" document on the project website [15]. Items in the inventory can be used or dropped by selecting options from an action menu specific to the type of item clicked on. The "Detailed Design" document gives a table of the options in each items action menu. When items have been used they are removed from the inventory and cannot be used again. Dropped items are removed from inventory and placed at a random location near the playable character. All dropped items can be collected again and used as normal. 1.2.7 Being attacked As mentioned before the enemies in the game are Rot and when the playable character collides with a Rot their health decreases. Upon this collision the playable character is also moved back slightly and made invulnerable for a short time. While invulnerable the playable character cannot be attacked and the graphic representing them is made partially transparent. This is summarized in the below statechart diagram.  SHAPE \* MERGEFORMAT  1.3 Artificial Intelligence design As mentioned in the "Gameplay design" section there will be two types of computer controlled entities: Rot and survivors. Neither will be able to move through solid objects such as walls. This rule will not be represented on diagrams to avoid clutter. 1.3.1 AI of Rot Rot will act as enemies within the game and attack the playable character. The following finite-state machine describes their behaviour.  SHAPE \* MERGEFORMAT  Initially Rot are in the Wandering state. Here they will move around at random with a slow movement speed. If the playable character moves too close to a Rot, that Rot will "sense" them and switch to the Searching state. Here they will move in the general direction of the playable character but not necessarily towards them. They will receive a slight increase to there movement speed. If a Rot in the Searching state then "sees" the playable character they will switch to the Chasing state and move towards the playable character. They will receive another slight increase to their movement speed. To "see" the playable character a line drawn from the centre of the Rot to the centre of the playable character must not be broken by solid objects, including other Rot. The graphic representing the Rot will be shaded red to indicate they are in the Chasing state. If the playable character hides behind an obstacle and can no longer be seen by the Rot the Rot will switch back to the Searching state. Also if the playable character moves far away from the Rot (out of their visible range) the Rot will switch back to the Searching state. This will remove the red shading and start a timer. Once that timer has reached 0 the Rot will switch to the Wandering state as long as the playable character has not been seen by the Rot. If the playable character dies while a Rot is in the Chasing state that Rot will revert back to the Wandering state. The red shading will be removed from the Rot. 1.3.2 AI of survivors Survivors will act as friendly characters and advisors to the playable character. The following finite-state machine describes their behaviour.  SHAPE \* MERGEFORMAT  The initial state for all survivors is Stationary. In this state they will not normally move. After a random time they will switch to the Moving state. In this state the survivor will walk in a random direction. When the survivor has walked far from their start location (original position in game world) they will switch to the Returning state and move towards their start location. When the survivor is close to their start location (within their normal movement range) they revert back to the Moving state. In this way they will never move far from their start location. After a second longer random time they will switch back to the Stationary state. If the playable character is within a short distance of a survivor in any state except the Talking state, and the user presses a particular key on the keyboard it will start a conversation. This immediately transfers the survivor to the Talking state. Here they will not move but will turn to face the playable character. They will then choose a random statement from a list of possible statements to display in the "Conversation screen" designed in section 1.4.5 on page  PAGEREF _Ref162352341 \h 74. If this was the first time that survivor was talked to they will display a special statement if they have one. Once a conversation has ended the survivor will switch to the Stationary state. The user can end a conversation by pressing the "End conversation" key on the keyboard. If the survivor sees a Rot nearby the survivor will switch to the Fearful state. Here they move away from the Rot at an increased speed. This could occur in any state but is ignored in the Talking state. After a time, the survivor will stop and return to the Stationary state. If they can still see the Rot they will return to the Fearful state and move again. If they can't see the Rot they will move back to their start location. When they are at that position they return to the Moving state. 1.4 None gameplay screens and interface design This section covers the design of screens where the user does not control the playable character in the game for example, the main menu and end game screens. All none gameplay screens except the game complete screen use the mouse to select and activate buttons. 1.4.1 Main Menu This will allow users access to the actual game and initiate gameplay. It will contain several buttons that can be clicked by the user to perform various actions. The buttons and associated actions are: Button nameActionNew gameBegin a new game.Load gameLoad a previously saved game.CreditsView the names of people involved in the project.HelpDisplay the help information for the game.ExitExit the game software and return to the operating system.There will be a logo showing the title of the game and some text stating that the game does not provide a detailed or complete survival guide and only illustrates basic concepts. A diagram showing the layout of the main menu is shown in the "Detailed Design" document on the project website.  SHAPE \* MERGEFORMAT  1.4.2 In-game Menu There will also be a sub-menu that can be accessed while the game is being played. It will contain the buttons: Button nameActionContinue gameClose this menu and return to the game being played.Save gameSave the current game.Load gameLoad a previously saved game.HelpDisplay the help information for the game.Quit to main menuQuit the current game and return to the main menu. A diagram showing the layout of the sub-menu is shown in the "Detailed Design" document on the project website [15]. Gameplay must be temporarily stopped while this menu is viewed and continued when the "Continue game" button is pressed. If development time for this part is short the in-game menu can be implemented as the main menu with some disabled buttons. 1.4.3 Game over screen This will be displayed when the number of lives is equal to 0. It will contain the words Game Over in large text and provide 3 buttons: Button nameActionReturn to main menuRedisplay the main menu.Load gameLoad a previously saved game.ExitExit the game software and return to the operating system.A diagram showing the layout of the game over is shown in the "Detailed Design" document on the project website [15]. 1.4.4 Game complete screen This will be displayed when the playable character reaches the cable car at the end of the game. After 1 or 2 minutes this screen disappears and the main menu is displayed. 1.4.5 Conversation screen This will be displayed when the playable character starts a conversation with a survivor. This screen will therefore be viewable while the game is being played. It will not occupy the whole of the game screen. The game will stop while this screen is being viewed and resume when the user presses the "End Conversation" key on the keyboard. If the conversation is larger than will fit on one conversation screen the user will have to press a key on the keyboard to view the remaining text on another screen. A diagram showing the layout of the conversation screen is shown in the "Detailed Design" document on the project website [15]. If time is short the conversation screens can be replaced by default Game Maker message boxes. 1.4.6 Credits screen This will display the names of all the people involved in the project and their role within it. The names will scroll upwards. The screen will also include a button to return to and redisplay the main menu. 1.4.7 Saving and loading At many points in the game the user can save their progress through it by clicking the save game button. The user is prompted for a name for the save. All game progress is saved in .sav files where is the name the user input. If is the empty string or if it contains any of < > \ / ? " * : | it is said to be invalid and a new name is asked for. If a file with already exists a warning is displayed asking the user if they wish to overwrite that save game. If they do not a new name is asked for. If they do the game is saved and a conformation message displayed. Loading of save games is done in a similar way. When a load game button is clicked the user is prompted for the name of the save game to load. In the same way as saving the game, this name cannot be invalid. If a saved game with the input name does not exist an error is given and no save game is loaded. When saving the game or loading a save game, if the input name is CANCEL the prompt asking for a name disappears and no game is saved or loaded. 1.5 Level design The game will be divided into 3 levels or "areas". Each area will usually be too big to fit in a single window. Views (provided by Game Maker) will be used on each area that follows the playable character as they move about that area. In each area there will also be a view that represents a smaller map or mini-map of that area. The mini-map will show the location of the playable character, location of obstacles, location of enemies, location of survivors and the location and type of in-game items. Each area will depict a different part of the virtual town where the game is located. The area the playable character starts in (level 1) will represent the sub-urban village area of the game. That will connect to the thinner tunnel area (level 2). Finally, there will be a large area representing a more urban landscape (level 3). This last area will contain more enemies and obstacles than the first two to make the game progressively more difficult as the user advances through it. The third area will contain a stylized picture of a cable car which the playable character can move into to complete the game. Diagrams of level layouts can be downloaded from the project webpage [15]. A diagram of level 1 is given in the file "Level1.bmp". A diagram of level 2 is given in the file "Level2.bmp". A diagram of level 3 is given in the file "Level3.bmp". The designs shown in these files are not an exact match to level layouts used in the final version of the game. 1.6 Media design This section covers the pictures used to represent in-game objects and any sound effects required by the game. Since the actual graphics and sound are not an important part of this project I will only list and briefly describe them in the Detailed Design document available on the project website [15]. If time is short some of these may be omitted or simplified. Part 2: The prototype This will: Allow the user to control the playable character on the screen via key presses. This character will not be able to move outside the viewable area of the game world. Contain only a single level which the character can move around in and collect items. Include all stats specified above that change dynamically. Store collected items and allow all those items to be used as specified above. Note this does not include 'Fear effects'. Include a main menu screen with all buttons. Many buttons will not yet have any functionality. Note that any pictures and sounds used in the prototype may not accurately represent the final version of the game. Part 3: Desirable functionality These are extra functions that could be performed in order of most desirable. They are not required and therefore may not be implemented. The inclusion of the newspaper item: ItemEffect when usedDescriptionNewspaperDiscover game storyUse of this item will show a part of the games story. There will be a maximum of 4 newspapers and they will not be removed from inventory when used. Since there are only 4 in total there is not the problem of them taking up too much inventory space. The text they will show when used is given in the "Detailed Design" document on the project website [15]. Via the in-game menu the user can access a map of the town to check their progress through the game. This will require an extra button: Button nameActionView MapDisplay the map of "Fondville" and highlight the area the playable character is in. A procedure to automatically detect the resolution of the monitor displaying the game and resize the game window accordingly. This would be done between the activation of the game software and the main menu being displayed. Giving the playable character a score that is 0 at the beginning of a new game. It would increase by collecting newspapers and completing tasks set by survivors. The score would be maintained when the game is saved and loaded. At the Game Over and Game Complete screens the score would be automatically compared to other scores and stored if high. If a score was stored the user is able to input their initials. There would also need to be an extra button on the main menu: Button nameActionView High ScoresDisplay the top 15 highest scores and the initials entered by the user who made them. Scores are ranked from 1-15 with 1 being the highest. SHAPE \* MERGEFORMAT  The inclusion of the following additional 'Fear effects'. All Rot in the current game view move towards the playable character independent of obstacles for a short time. For example, Rot move through walls while effect is activated. Game window goes blurry but eventually becomes clear again. All graphics become greyscale for a limited time before returning to normal. An Options screen that can be accessed by clicking a button on the main menu. This would contain a slider to set the game difficulty and menus that allowed the game controls to be changed. If desirable function 3 is not met then there could also be a control to manually set the resolution of the game. Allow survivors to be killed by Rot. Part 4: How testing will be performed The created game will be tested in 2 different ways. 4.1 Software testing The game software will be tested to ensure it meets all the requirements listed in the "Project Specification and Plan" document. This will be done by testing components in the sections designed above. For example, once the stats have been implemented they will be tested before the implementation of the in-game items is started. Sections already tested will need to be tested again when other sections that affect them are implemented. For example, it will be tested that all in-game items correctly affecting only the stats they are designed to. When the final version of the game is complete it will be tested for any errors that were not detected and fixed in earlier stages. 4.2 Game testing As briefly mentioned in the "Project Specification and Plan" the game created will be given to game testers at various points during development. There will only be a small number of game testers. They will provide feedback on the development of the game and complete a questionnaire, created by the game designer to assess a range of people's reactions to the game. All versions of this questionnaire used in the project can be found on the project website [15]. The feedback and answers to the questions will be taken into consideration when continuing development of the game. If the results of game testing indicate any new features should be added to the game these will be considered desirable functionality and may or may not be incorporated in the final version of the game. Game testing will not affect the prototype of the game. A summary of the testing performed and feedback from game testers will be produced. Part 5: Risk Analysis This section analyses the risks involved in the project and gives a brief description of an alternative game development environment which can be used to create the game if needed. 5.1 Risk analysis table RiskRisk ProbabilityRecovery PlanLoss of time due to university coursework or other reasons.HighImplement only core functionality. Delay or cancel releasing of prototype game software to testers.Planned stages taking longer than estimated.MediumImplement only core functionality.Unreliable code.LowPerform frequent testing and rewrite code if needed.Game Maker development environment not capable of implementing all requirements of the game.LowRe-implement game using different development environment and re-draft documentation.5.2 Alternative development environment: RPG Maker XP [14] RPG Maker XP is another game development environment which, like Game Maker, only creates games to be run on the Windows operating system. Also like Game Maker it is event-driven, registering objects with events and performing some action when the event occurs. The main difference between this and Game Maker is that it only creates RPGs (Role-Playing Games). This is okay for the game I will create as it is similar to a short RPG. More information can be found at reference [14]. I now list the advantages and disadvantages of RPG Maker XP in relation to Game Maker. AdvantagesDisadvantagesMany professional sprites, sounds and images provided with environment. Isometric sprites and layering of objects gives created games a 3-dimensional look. Pre-programmed way of entering and exiting buildings with separate interiors. Support for encryption and decryption of game files to increase security. Easy to implement conversations with computer controlled characters.Limited to 30-day trail version and then costs $60 for full version. Game Maker is free for non-commercial use. No official tutorials on software use or game design. Stats for character creation are overcomplicated for game I will create. For example, it will not make use of a characters strength or dexterity. Unclear how to add new functionality for example, an inventory. No built-in debug feature.References Title: Book Excerpt - Better Game Characters By Design Website URL:  HYPERLINK "http://www.gamasutra.com/features/20060602/isbister_01.shtml" http://www.gamasutra.com/features/20060602/isbister_01.shtml Title: Better Game Characters By Design Website URL:  HYPERLINK "http://friendlymedia.sbrl.rpi.edu/bettergamecharacters/" http://friendlymedia.sbrl.rpi.edu/bettergamecharacters/ Title: Rules of Play - Game Design Fundamentals Website URL:  HYPERLINK "http://www.amazon.co.uk/Rules-Play-Game-Design-Fundamentals/dp/0262240459/sr=1-1/qid=1161366626/ref=sr_1_1/026-6976647-0885206?ie=UTF8&s=books" http://www.amazon.co.uk/Rules-Play-Game-Design-Fundamentals/dp/0262240459/sr=1-1/qid=1161366626/ref=sr_1_1/026-6976647-0885206?ie=UTF8&s=books Title: Drama princess - Tale of tales develops an autonomous character for real-time 3D - Programming Beliveable Characters For Computer Games Website URL:  HYPERLINK "http://www.tale-of-tales.com/DramaPrincess/wp/?p=17" http://www.tale-of-tales.com/DramaPrincess/wp/?p=17 Title: Review of AI Game Programming Wisdom Website URL:  HYPERLINK "http://www.omlettesoft.com/document.php3?did=108" http://www.omlettesoft.com/document.php3?did=108 Title: IGDA Forums Website URL:  HYPERLINK "http://www.igda.org/Forums/showthread.php?threadid=1534" http://www.igda.org/Forums/showthread.php?threadid=1534 Title: GMAN-GAMES - Programming game AI by example Website URL:  HYPERLINK "http://greggman.com/edit/editheadlines/2005-02-12.htm" http://greggman.com/edit/editheadlines/2005-02-12.htm Title: Paraglyph Press - Game Design Complete Website URL:  HYPERLINK "http://www.paraglyphpress.com/pr12062005.php" http://www.paraglyphpress.com/pr12062005.php Title: ibs.it Internet Bookshop - Game Design Complete Website URL:  HYPERLINK "http://www.internetbookshop.it/ame/ser/serdsp.asp?shop=2293&e=1933097000" http://www.internetbookshop.it/ame/ser/serdsp.asp?shop=2293&e=1933097000 Title: The Game Makers Apprentice - Game Development for Beginners Authors: Jacob Habgood and Mark Overmars Publisher: Apress Publication Year: 2006 Title: Game Studies - Where the action is Website URL:  HYPERLINK "http://www.gamestudies.org/0501/" http://www.gamestudies.org/0501/ Title: Gender and Computer Games - Exploring Females' Dislikes Website URL:  HYPERLINK "http://jcmc.indiana.edu/vol11/issue4/hartmann.html" http://jcmc.indiana.edu/vol11/issue4/hartmann.html Title: Game Research - Strategy Website URL:  HYPERLINK "http://game-research.com/?page_id=33" http://game-research.com/?page_id=33 Title: RPG Maker XP Website URL:  HYPERLINK "http://www.enterbrain.co.jp/tkool/RPG_XP/eng/index.html" http://www.enterbrain.co.jp/tkool/RPG_XP/eng/index.html Title: Hunger - Project Website Website URL:  HYPERLINK "http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.html" http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.html Background Bibliography Title: CS4099 (major) / CS4098 (minor) Software Project Author: James McKinna, University of St. Andrews. Publication Year: 2006 Title: Tutorial - What is a good game? Author: Mark Overmars Publisher: Mark Overmars Publication Year: 2004. Title: Software Engineering - Seventh Edition Author: Ian Summerville Publisher: PEARSON - Addison Wesley Publication Year: 2004 Title: Practical UML - A hands on introduction for developers Website URL:  HYPERLINK "http://dn.codegear.com/article/31863" http://dn.codegear.com/article/31863 Changes to original documents Project Specification and Plan 6/11/2006For requirement describing what the AI of enemies must be based on (Requirement 8.4) the following changes were made: Phrase finite-state machine is replaced with model as clients may not understand finite-state machine. Base model only applies to enemies and not characters. Description of base model changed to clearly relate to diagram.6/11/2006Contents page changed to be consistent with other documents.20/11/2006References updated to clearly relate to text and Background Bibliography section created. Contents page updated.31/01/2007Added statement of plan for spring vacation.20/02/2007Added that development of game must show standard software engineering techniques. Problem definition re-worded.27/02/2007Complete re-formatting. Project requirements and objectives separated from game requirements as recommended by supervisor. Contents page updated.12/03/2007Short description of games in context survey added. Quote about gaming industry being big business put at top of problem definition.13/03/2007More explanation of choice of game genre. Paragraph with example educational game removed. Re-formatted and contents page updated.Literature review and system design 20/11/2006References updated to clearly relate to text and Background Bibliography section created. Contents page updated.20/11/2006Inclusion of part 4 detailing how the game will be tested. Contents page updated.24/11/2006Adding statement of how menus and other none gameplay screens are controlled.22/01/2007Included risk analysis table. Contents page updated.24/01/2007Added statement that all collected items can be dropped and collected again later. 25/01/2007Added description of credits screen. Added reference to high-level flow control diagram. Contents page updated.26/01/2007Included a description of what happens when the playable character dies as a result of sleeping.30/01/2007Added "If time is short the conversation screens can be replaced by default Game Maker message boxes."31/01/2007Included short description of alternative game development environment and compared to Game Maker. Changed some diagrams and words to keep document consistent. Updated contents page.11/02/2007Added to description of finite-state machine of Rot that if player moves out of visible radius of Rot then Rot switches back to searching state. Rot switches back to wandering state when playable character is killed.17/02/2007Change finite-state machine of survivors to switch back to the stationary state from the moving state after a random period of time. 19/02/2007'Fear effects' will not get more frequent at higher-levels of fear. Contents page updated.22/02/2007Complete change of finite-state machine for survivors.08/03/2007Added to 'Fear effects' that after sleeping all remaining items that are not actually there are destroyed.23/03/2007Included section "Being attacked" about what happens when the playable character collides with a Rot. Also added "Saving and loading" section explaining how the user saves the game. Contents page updated.30/03/2007Increase of Fear stat by seeing Rot referred to "Detailed Design" document. I thought design of how it is done too low-level for the submitted design document.05/04/2007'Fear effect' that was to increase speed of all Rot and survivors removed as caused AI not to work correctly when implemented. Also it affected the game more than just the user. 'Fear effects' were intended only to affect the user psychologically. Testing summary Contents  TOC \o "1-3" \h \z \u  HYPERLINK \l "_Toc163555449" Software testing  PAGEREF _Toc163555449 \h 85  HYPERLINK \l "_Toc163555450" 1. Testing Rot AI  PAGEREF _Toc163555450 \h 85  HYPERLINK \l "_Toc163555451" 2. Testing survivor AI  PAGEREF _Toc163555451 \h 86  HYPERLINK \l "_Toc163555452" 3. Testing item placement and clipping  PAGEREF _Toc163555452 \h 87  HYPERLINK \l "_Toc163555453" 4. Other tests  PAGEREF _Toc163555453 \h 87  HYPERLINK \l "_Toc163555454" Game testing  PAGEREF _Toc163555454 \h 88  HYPERLINK \l "_Toc163555455" 1. Feedback from prototype version of game  PAGEREF _Toc163555455 \h 88  HYPERLINK \l "_Toc163555456" 2. Feedback from almost complete version of game  PAGEREF _Toc163555456 \h 89 Software testing The following tests are only a very small proportion of the tests performed. 1. Testing Rot AI TestReasonExpected ResultActual ResultSatisfied2 Rot placed in level without survivors present.Rot can move around the game level without passing through solid objects eg. walls.Rot move anywhere around the game level without passing through solid objects. They walk in random directions.Rot move anywhere around the game level without passing through solid objects. They walk in random directions.YesYellow circles drawn around Rot to show their "sensing" range. Playable character moved into circle. After a short time playable character moved out of circle.1. When playable character enters the "sensing" circle of a Rot that Rot transfers to the Searching state. 2. When the playable character leaves the circle for a time the Rot switches back to the Wandering state.1. Rot move as for above test until the playable character enters the circle. When playable character inside circle Rot begins to move slightly faster. They randomly move towards or away from the playable character but do not pass through solid objects. 2. Playable character leaves circle for a time. Rot starts moving slowly again and in random directions. Rot never moves through solid objects.1. Rot move as for above test until the playable character enters the circle. When playable character inside circle Rot begins to move slightly faster. They randomly move towards or away from the playable character but do not pass through solid objects. 2. Playable character leaves circle for a time. Rot starts moving slowly again and in random directions. Rot never moves through solid objects.Yes2. Testing survivor AI TestReasonExpected ResultActual ResultSatisfied2 survivors in the Stationary state placed in level without Rot present. Transition to Returning state disabled.Survivors can move around the game level without passing through solid objects eg. walls. With the Returning state disabled survivors can move anywhere in the level.Survivors move anywhere around the level without passing through solid objects. They walk in random directions and stop at random intervals.Survivors move anywhere around the level without passing through solid objects. They walk in random directions and stop at random intervals.YesTransition to Returning state enabled. Additional survivor placed in level. Yellow rectangles drawn to show survivors normal movement range.Survivors can change from the Moving state to the Returning state when far from their start location. When inside their normal movement range survivors move as in previous test.As for previous test plus survivors do not move far outside normal movement range.As for previous test plus survivors do not move far outside normal movement range.Yes1 Rot placed in level.Survivors can change from any state to the Fearful state. They should move at a much greater speed away from the Rot and do not pass through solid objects. Eventually they stop and if they can no longer see the Rot they return to their normal movement range.As for above tests plus when a survivor sees the Rot the survivor changes to the Fearful state. They move at a much greater speed away from the Rot and never pass through solid objects. After a time they stop and if they can no longer see the Rot they return to their normal movement range. Here they move with the same results as above tests.As for above tests plus when a survivor sees the Rot the survivor changes to the Fearful state. They move at a much greater speed away from the Rot and never pass through solid objects. After a time they stop and if they can no longer see the Rot they return to their normal movement range. Here they move with the same results as above tests.Yes3. Testing item placement and clipping TestReasonExpected ResultActual ResultSatisfiedWood item collected. Playable character positioned with a wall on their right side and another above them. Playable character faces to the right. Wood item used to place fire.Fires cannot be placed under wall objects and must be placed at the first space around the playable character that does not contain a wall. Fires must not appear behind walls.Fire placed below the playable character and not far away from them. Fire does not appear behind any walls.Fire placed below the playable character and not far away from them. Fire does not appear behind any walls.YesWood item collected. Playable character positioned with wall on their left side and the edge of the level below them. Playable character faces downwards. Wood item used to place fire.Fires cannot be placed under wall objects or outside the level. Fires must be placed at the first space around the playable character that does not contain a wall and is inside the level. Fires must not appear behind walls.Fire placed to right of the playable character and not far away from them. Fire does not appear behind any walls.Fire placed to right of the playable character and not far away from them. Fire does not appear behind any walls.YesItems collected. Playable character positioned in bottom left corner of level touching left and bottom edge. Playable character facing bottom edge. 2 Items dropped.Items dropped are removed from inventory and appear on the ground at first available space around playable character. Items must not be dropped outside the level.The 2 items dropped are removed from inventory and appear on the ground above the playable character and not far away from them. Both items appear inside the level. Both items are dropped in the same place.The 2 items dropped are removed from inventory and appear on the ground above the playable character and not far away from them. Both items appear inside the level. Both items are dropped in the same place.Yes4. Other tests TestReasonExpected ResultActual ResultSatisfiedItems collected. Playable character killed by Rot with inventory open.User cannot use items or open inventory when playable character dead.Inventory automatically closed when playable character dies. Any open item action menu is closed.Inventory automatically closed when playable character dies. Any open item action menu is closed.Yes8 items collected. All stats altered. Game saved. Game exited and restarted. Game loaded.User can save the game and load it to continue playing. Saving and loading a game does not change stat values or remove collected items from the inventory.When game loaded: - All items collected before save are located in inventory. - All stats set to values before save. - Game continues as before save with all characters in the same positions as before save.When game loaded: - All items collected before save are located in inventory. - All stats set to values before save. - Game continues as before save with all characters in the same positions as before save.YesGame save started. Name: the?game."Save game names can not contain invalid characters.Error message output stating the?game." is invalid. New name asked for when OK clicked.Error message output stating the?game." is invalid. New name asked for when OK clicked.Yes2 barricade items collected. 1 barricade placed (barricade 1). Sleep. When wake, place second barricade (barricade 2) in same level. Sleep.Barricades decay over time when the playable character is in the same level as them. Barricades should decay independently of each other.Yellow barricade appears when placed. After sleeping barricade does not appear to have changed. 2nd yellow barricade appears when placed. After next sleep barricade 1 changed to green. No change to barricade 2.Yellow barricade appears when placed. After sleeping barricade does not appear to have changed. 2nd yellow barricade appears when placed. After next sleep barricade 1 changed to green. No change to barricade 2.Yes Game testing The following section lists sample responses to questions on the provided feedback questionnaires. All responses are written by game testers whose name is given at the bottom of the response. Both questionnaires and all feedback from game testers are available on the project website. 1. Feedback from prototype version of game Did you find any errors with the game, for example, you got stuck on an object and could not "unstick" yourself, the game did not display properly etc.?  2. Feedback from almost complete version of game Did you press the HELP button or F1 at anytime to access the in-game help? Did this solve any problems you had? If it did not solve the problem did you look at the User Manual? Did you know where to find the user manual?  Did you understand the aim of the game and how to get from level to level?  How often did you find yourself going back to read the user manual? Did you even need to read it at all? Approximately how much time did you spend reading after playing the game?  If you ever used the save game and/or load game features did you understand how to use them?  User Manual Contents  TOC \o "1-3" \h \z \u  HYPERLINK \l "_Toc163731744" 1. Introduction  PAGEREF _Toc163731744 \h 91  HYPERLINK \l "_Toc163731745" Story  PAGEREF _Toc163731745 \h 91  HYPERLINK \l "_Toc163731746" 2. Getting started  PAGEREF _Toc163731746 \h 91  HYPERLINK \l "_Toc163731747" Installing Hunger  PAGEREF _Toc163731747 \h 91  HYPERLINK \l "_Toc163731748" Uninstalling Hunger  PAGEREF _Toc163731748 \h 91  HYPERLINK \l "_Toc163731749" Running Hunger  PAGEREF _Toc163731749 \h 92  HYPERLINK \l "_Toc163731750" 3. Controls  PAGEREF _Toc163731750 \h 92  HYPERLINK \l "_Toc163731751" 4. Main Menu  PAGEREF _Toc163731751 \h 93  HYPERLINK \l "_Toc163731752" 5. Starting a new game  PAGEREF _Toc163731752 \h 93  HYPERLINK \l "_Toc163731753" 6. Playing Hunger  PAGEREF _Toc163731753 \h 94  HYPERLINK \l "_Toc163731754" 7. Inventory  PAGEREF _Toc163731754 \h 96  HYPERLINK \l "_Toc163731755" 8. Items  PAGEREF _Toc163731755 \h 97  HYPERLINK \l "_Toc163731756" 9. Enemies  PAGEREF _Toc163731756 \h 98  HYPERLINK \l "_Toc163731757" 10. Other survivors  PAGEREF _Toc163731757 \h 98  HYPERLINK \l "_Toc163731758" 11. Sleeping  PAGEREF _Toc163731758 \h 99  HYPERLINK \l "_Toc163731759" 12. Pausing the game and the in-game menu  PAGEREF _Toc163731759 \h 100  HYPERLINK \l "_Toc163731760" 13. Saving a game  PAGEREF _Toc163731760 \h 100  HYPERLINK \l "_Toc163731761" 14. The game over screen  PAGEREF _Toc163731761 \h 101  HYPERLINK \l "_Toc163731762" 15. Exiting the game during gameplay  PAGEREF _Toc163731762 \h 101  HYPERLINK \l "_Toc163731763" 16. Resuming a saved game  PAGEREF _Toc163731763 \h 101  HYPERLINK \l "_Toc163731764" 17. Taking screenshots  PAGEREF _Toc163731764 \h 102  HYPERLINK \l "_Toc163731765" 18. Deleting a saved game  PAGEREF _Toc163731765 \h 102  HYPERLINK \l "_Toc163731766" 19. Viewing the game credits  PAGEREF _Toc163731766 \h 102  HYPERLINK \l "_Toc163731767" 20. Getting help  PAGEREF _Toc163731767 \h 102  HYPERLINK \l "_Toc163731768" 21. The Hunger website  PAGEREF _Toc163731768 \h 103  HYPERLINK \l "_Toc163731769" 22. Known problems  PAGEREF _Toc163731769 \h 103 1. Introduction Thank you for downloading Hunger developed by Tom Clark as a computer science major software project. Other people involved in the project, including my supervisor, are listed in the credits section of the game. This manual will tell you everything you need to know to play the game. I hope you enjoy playing the game as much as I enjoyed making it! Story Fondville is a peaceful place. It consists of an island just off the coast from the continent and main city. Few, if any, distinguishing features, flooding and job shortage have lead to its sharp decline. Today the population of Fondville is mere thousands, most of which reside in the main city. However, it is not the main city but the island to the west, where our story begins On the night of the 5th of June 2009 the Rot appeared. Where they came from is not known. What they are is not known. Why they are here is not known. All that is known is that they will stop at nothing to kill living people. In an effort to control the situation the government has ordered the 2 bridges connecting the island to the main city destroyed. The cable car in the Northern district of the island was left intact so any survivors could escape the abandoned island, based on the assumption that the Rot are to stupid to use it. 2. Getting started Installing Hunger Hunger can only be downloaded as a zipped file. You will need to double click the zipped file to open it and extract the installer before it can be run. To install Hunger simply double click on the installer called "Install.exe" and follow the on-screen instructions. Uninstalling Hunger To uninstall the game: Open the Start menu Navigate to Programs Expand the folder labelled Hunger Select the option Uninstall. Running Hunger Once you have successfully installed Hunger navigate to the folder where it was installed. By default Hunger is installed in the Program Files folder on your hard disk. Double click the Hunger icon  to start playing. The installer will automatically create a shortcut to this on the desktop. You can also run the game from the Start menu. To do this: Open the Start menu Navigate to Programs Expand the folder labelled Hunger Select the option Play Hunger. Also available in the Start menu is this User Manual in Microsoft Word and PDF format. 3. Controls ActionKeyMovementMove upwardsW or (Move downwardsS or (Move leftA or (Move rightD or ("Unstick" characterHomeSleepRConversationsStart/Continue/End conversationEImmediately end conversation and open in-game menuEscItem use and InventoryOpen or close inventoryI or FUse itemLeft-click on itemOthersOpen in-game menuEscOpen in game helpF1Use buttonLeft-click on buttonTake screenshotF12Toggle between windowed mode and fullscreen modeF4 4. Main Menu When you have started the game and it has loaded, the Main Menu will be displayed. This lets you start a new game (see section 5), load a saved game (see section 16 on page  PAGEREF _Ref161905910 \h 101), get help on what to do next and about playing the game (see section 20 on page  PAGEREF _Ref161906117 \h 102), view the credits of the game and who was involved in making it (see section 19 on page  PAGEREF _Ref161906176 \h 102) and exit the game, returning to the operating system. 5. Starting a new game From the Main Menu click the NEW GAME button with the left mouse button to start a new game of Hunger. The first area, Southern Fondville, is loaded and you are given control of the female skater in the middle of the screen. From here you must survive the mindless Rot, control your fear and keep your body healthy until you reach the cable car to safety in the third area, Northern Fondville. To progress through the first two areas look for roads leading north. Good luck! 6. Playing Hunger   This is you, the playable character.  This is your health bar. If health gets low the screen will flash red periodically. If this gets to 0 you will die so try to keep it full. Your health will go down when you: Collide with a Rot Have a full thirst bar. Have a full hunger bar. Have an empty warmth bar. To increase health, use a medkit or bandage. A solid green bar shows you are at maximum health and cannot increase it further.  This is your warmth bar. Warmth slowly goes down over time and if this gets to 0 you will start to lose health. Use a wood item to place a fire to increase it. You can also increase warmth by standing near a fire barrel   This is your speed bar. Your speed will never decrease but once your fear bar (described later) has reached a high level your speed will slowly increase until the speed bar area is completely filled. The playable character will begin moving faster as well.  This is your thirst bar. Your thirst will steadily increase until the bar area is full. When this happens your health will go down rapidly so always keep thirst as low as possible. Drink a drink item to decrease thirst. Note that thirst cannot decrease below the level shown.  This is your hunger bar. Your hunger will slowly increase over time until the bar area is full. When this happens your health will start to go down. You should keep hunger low to remain healthy. Eat a food item to decrease hunger. Note that hunger cannot decrease below the level shown.  This is your fear bar. This slowly increases over time. It will also increase if you see Rot (see section 9 on page  PAGEREF _Ref163107010 \h 98). If your fear reaches a high level you will start to hallucinate. If your fear fills the bar area with a solid yellow bar you will lose all control, move around randomly for a short time and immediately fall asleep wherever you end up. The only way to decrease fear is by sleeping but you do not want to sleep too often as you will not get the speed increase. Can you sacrifice your sanity for higher movement speed?  This shows how many lives you have left. Each time you die, by your health reaching 0 or if you are killed in your sleep, you lose a life. You have only three lives and which can never be replenished if lost. If you lose your last life (the last skater icon disappears) you will lose the game.  This shows your current location in that area of Fondville. If you are not inside a building the location text will display OUTSIDE. If you are inside a building (for example,  ) the location text will change to UNBARRICADED. If you are inside a building and that building has been barricaded (see barricade item on page  PAGEREF _Ref161906246 \h 97) the location text will change to BARRICADED.  This represents the likelihood of your character dieing during her sleep. The text will change depending on the location you are in with OUTSIDE having a HIGH risk, UNBARRICADED having a LOW risk and BARRICADED having no risk or NONE. See section 11 on page  PAGEREF _Ref161906283 \h 99 for more about sleeping. 7. Inventory Throughout the game you will need to pick up items to stand any chance of survival. To pick up items simply move over them. If there is room in your inventory they will be picked and stored in your inventory. When your inventory becomes full a sound will play and  is displayed in the top-right of the screen. You must use or drop items before you can pick up any more. Press I or F on the keyboard to open your inventory and display the cursor. You can still move your character while the inventory is open and the game is not paused. Left-click with the mouse cursor over an item to open its action menu. The action menu allows the clicked on item to be used or dropped by pointing to the desired action and left-clicking on it. All items are deleted when used. When items are dropped they are removed from inventory and placed near your character. You can re-collect dropped items later by moving over them. Some items have more options in their action menus. To close an items action menu click the CLOSE action in the menu or left-click on another item. You can also left-click and hold down the mouse button to drag items around the inventory and change which slot they are stored in. Press I again to close the inventory. When your character dies the inventory will immediately be closed if it is open. All collected items are retained when your character loses a life so you will not have to collect them again. 8. Items Drink EMBED PBrush Drink to decrease thirst Food EMBED PBrush Eat to decrease hunger Medkit EMBED PBrush Use to give a large increase to health Bandage EMBED PBrush Use to give a small increase to health Barricade EMBED PBrush Place to barricade a building so Rot cannot enter. Barricades can only be placed on spaces marked by . If a barricade cannot be placed a sound will play and the item will not be used. If the barricade was placed successfully the space will change to  which Rot cannot pass.Wood EMBED PBrush 2 uses: Place Fire to place a fire nearby and increase warmth. Warmth will only increase while near a placed fire. Placed fires will eventually burnout. If a fire cannot be placed a sound will play and the item will not be used. Use as spear to convert the wood into a wooden spear and use it. When you collide with Rot now you will kill them. The spear will break after hitting 4 Rot. Wood used as a spear cannot be placed as a fire. 9. Enemies Apart from simple survival, the only enemies you will face are Rot. Very little is known about Rot. What are they? Is "Rot" their true name? Where do they come from? Why do they relentlessly attack all living creatures? These are a few of the questions that need answering. From their movements Rot are thought to be stupid and slow but when approached they will move towards their prey until they can no longer see it or they kill it. For this reason Rot should be avoided wherever possible, making sure to keep a safe distance. It has been discovered that if Rot see prey they turn red and immediately give chase. As soon as they lose sight of their prey they lose the red colour. The reason for this colour change is unknown. Rot are also capable of striking fear in the hearts of nearby people. If you get close to a Rot, providing you can see them, they darken and cause your fear to increase. Fortunately, darkened Rot cannot cause additional fear after this increase. When you move out of sight, darkened Rot will become normal again enabling them to cause fear. If you collide with a Rot they will hurt you, unless you have a spear equipped as described for the wood item on page  PAGEREF _Ref161906384 \h 97. Your health will decrease and the playable character will become partially invisible for a few seconds. While partially invisible you can still move normally but cannot be hit. The Rot will continue to chase you so it is advisable to find somewhere to hide until they give up. 10. Other survivors On your journey across the island you will encounter other humans  trying to survive the Rot. You can talk to these survivors to get survival advice. When you get close to a survivor a yellow circle will appear around them. Press E on the keyboard to start a conversation. To continue the conversation press E again. If the survivor has no more to say the conversation will be ended when you pressed E. If you want you can end a conversation immediately and open the in-game menu (see section 12 on page  PAGEREF _Ref161906763 \h 100) by pressing Esc. 11. Sleeping Pressing R on the keyboard will make the playable character sleep. Sleeping is important for your survival as it is the only way to reduce fear. You must choose where you sleep wisely as not everywhere is safe. The risk of being killed in your sleep is displayed in the DEATH RISK at the top of the screen (see page 96). Your current location is displayed in the LOCATION (see page 95). Changing location from outside to inside a building will lower the risk of being killed in your sleep. To ensure there is no chance of being killed during your sleep you must barricade the building. See the barricade item on page  PAGEREF _Ref161906246 \h 97 for how to do this. When a building is barricaded the LOCATION will change to BARRICADED and you can sleep without risk of death. Note that some buildings require more than one barricade item to be placed before they become barricaded. Such buildings have multiple spaces marked by . While sleeping you have no control of the playable character. Control will be restored when the purple bar fills the black area. If you die during sleep a message will be displayed to explain this. Click OK to return to the game but with 1 life lost. Provided you do not die during sleep, any placed barricades  in that area will decay once you wake. They decay in stages depending on the number of times you have slept. After one sleep they remain unchanged and strong. After two sleeps they change to . After three sleeps they become weak and change to . When you wake from a fourth sleep any weak barricades collapse and will no longer keep out Rot. A sound will indicate one or more barricades have collapsed. 12. Pausing the game and the in-game menu By pressing Esc on the keyboard during gameplay and while sleeping, you can pause the game. This will display the in-game menu as shown below.  To unpause the game and continue playing simply press the Esc key again or left-click on the CONTINUE GAME button. This menu also lets you save the current game (see section 13 on page  PAGEREF _Ref161906958 \h 100), get help on what to do next and about playing the game (see section 20 on page  PAGEREF _Ref161906117 \h 102), load a saved game (see section 16 on page  PAGEREF _Ref161905910 \h 101), and quit the current game. Clicking on QUIT TO MAIN MENU will display a question asking you to confirm if you want to quit or not. If you click YES you will quit the current game and return to the main menu (see section 4 on page  PAGEREF _Ref161907106 \h 93). Any unsaved progress will be lost. If you clicked NO you will be returned to the in-game menu from where you can continue the game. 13. Saving a game You can save the current game to continue later by following these steps. Press Esc on the keyboard to open the in-game menu. Click SAVE GAME. Enter a name for the saved game. If you do not wish to save the game type CANCEL. If the name is invalid a message will be displayed. Click OK to repeat step 3 and enter a new name. If a save game with that name already exists you will be prompted whether or not you wish to overwrite it. If it did not exist go to step 7. If you click YES go to step 7. If you click NO you will have to repeat from step 3 entering a new name. The game has been saved and a conformation message will be displayed. The message displays the name game has been saved as. Do not forget this name as you will need it to resume that game. Click OK to continue. 14. The game over screen When all your lives are lost, either from your health reaching 0 or dieing during sleep, you have lost the game. The game over screen will be displayed. This lets you return to the main menu of the game (see section 4 on page  PAGEREF _Ref161907145 \h 93), load a saved game (see section 16 on page  PAGEREF _Ref161905910 \h 101) and exit the game. You cannot continue a game ending in game over. To continue playing you must click RETURN TO MAIN MENU and then start a new game from the first area by clicking NEW GAME. 15. Exiting the game during gameplay To exit the game during gameplay and return to the operating system follow these steps: Open the in-game menu by pressing Esc on the keyboard. Click QUIT TO MAIN MENU. Click YES. If you click NO you will return to the in-game menu without exiting the game. On the main menu click the EXIT button. If you are playing the game in windowed mode you can also exit the game by clicking the X in the top-right corner. Click YES to exit or NO to continue playing. 16. Resuming a saved game To continue a game you have saved, follow these steps from the main menu: Click the LOAD GAME button. Enter the name of the saved game you wish to load. If you do not wish to load a game type CANCEL. Click OK. If no save game with the entered name exists a message will be displayed and no game will be loaded. Click OK to return to the main menu. If a save game with the name you entered exists in the "Save_games" folder, that game will be loaded. After clicking OK on a conformation message the in-game menu is shown (see section 12 on page  PAGEREF _Ref161907315 \h 100). From here you can click CONTINUE GAME to continue playing the loaded game. Alternatively, if you are already playing a game you can load a previous game by pressing Esc on the keyboard to open the in-game menu. Click LOAD GAME and follow the stages described above. 17. Taking screenshots Press F12 at any point in the game to take a screenshot. A small picture of a camera will appear for a short time near the top right corner of the screen to show that the screenshot has been taken successfully. Screenshots are saved in bitmap files in the "Screenshots" folder contained in the folder Hunger was installed. If the "Screenshots" folder is accidentally deleted screenshots it will be re-created the next time the game is run. You can take as many screenshots as you like. 18. Deleting a saved game All saved games are saved in the "Save_games" folder contained in the folder Hunger was installed. By default Hunger is installed in the Program Files folder on your hard disk. Simply find the file named .sav where is replaced by the name of the save game you want to delete, and delete it. 19. Viewing the game credits To view who a list of people involved in creating Hunger click the CREDITS button on the main menu. To return to the main menu (described in section 4 on page  PAGEREF _Ref161907359 \h 93) click the RETURN TO MAIN MENU button or press Esc on the keyboard. 20. Getting help Clicking on a HELP button or pressing F1 while playing the game will open a help window giving a summary of this document. While the help window is open the game is paused. To continue playing close the window by pressing the X button in the top right corner of the window. If you still have questions you can e-mail them to the game's developer at tdc1@btinternet.com 21. The Hunger website For more information about the game and how it was produced, please visit the Hunger website at:  HYPERLINK "http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.html" http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.html 22. Known problems During a game it is possible for your character to become stuck on wall objects. If this happens press the Home key on the keyboard. This should nudge your character off the object but if you find you are still stuck change direction by pressing one of the movement controls and try again. Keep changing direction and pressing the Home key until you can move about freely. If this does not work after several attempts you will have to exit the game and restart it. Any progress you have made will be lost. Maintenance Document Contents  TOC \o "1-2" \h \z \u  HYPERLINK \l "_Toc163556470" Overview  PAGEREF _Toc163556470 \h 104  HYPERLINK \l "_Toc163556471" Corrective Maintenance  PAGEREF _Toc163556471 \h 104  HYPERLINK \l "_Toc163556472" Adaptive Maintenance  PAGEREF _Toc163556472 \h 105  HYPERLINK \l "_Toc163556473" Commentary  PAGEREF _Toc163556473 \h 106  HYPERLINK \l "_Toc163556474" References  PAGEREF _Toc163556474 \h 107 Overview This document explains how maintenance to the project should be performed. There are two types of maintenance to consider: Corrective maintenance - Ensuring any bugs discovered after the game has been released are fixed. This is done by releasing patches and new versions of the game. Adaptive maintenance - Ensuring the game runs correctly on new versions of operating systems or hardware. The "Commentary" section gives the standard used for commenting source code. Corrective Maintenance  SHAPE \* MERGEFORMAT  The game was created using the development environment Game Maker [1]. Irrespective of the environment used it is almost impossible to create a game without errors and bugs that are only detected after it was released. Users will often report these errors to the game developer. Changes must be made to the game software in order to eliminate the error. If a user did report an error, it is important that they give the developer a copy of the game_errors file in the folder Hunger was installed. This will contain a record of the text message that was generated by the error. This message will give the section of code that caused the error. All code used in the game software is contained in individual objects or in scripts. Objects have been labelled with the prefix obj_ and scripts with the prefix scr_ so they can be easily identified. The section contained in the error message will contain one of these labels. Once the section of code has been identified it is often useful to insert show_message function calls into the program. These stop the game running until the OK button is clicked. Identifying which messages do display and which do not can be a good indication of exactly where the error occurs. Note that a line number recorded in the error message will only indicate where the error was detected and not necessarily where the error occurred. By running the game in debug mode the values in global and instance variables can be determined. The times they change value can also be seen. This is done by entering the name of the required variable in the watch list. Using the debug feature simple expressions can be evaluated during run-time and their result displayed. For example, entering the expression instance_exists(obj_rot) will display 1 if there are any Rot objects present in that level and 0 if there are none. For more information about how to use debug mode see reference [1]. Once the error has been fixed the software can be re-released as a patch [3]. The easiest way to do this would be to make sure the new version of the game will overwrite the previous version when it is installed. The new version is distributed and replaces the previous version. Adaptive Maintenance  SHAPE \* MERGEFORMAT  The game was created using the development environment Game Maker [1]. This is documented to produce games that are portable to any hardware and any version of the Microsoft Windows operating system. However, it is possible that some types of hardware or versions of operating system may stop the game executing as expected. The problem here is that there are so many different types of hardware it is almost impossible to ensure the game runs correctly on each one. The most feasible way to test whether the game works on a particular set of hardware is to release it to users. The same applies for operating systems. If users find any errors with the game they will hopefully report these errors to the game developer. The developer can repeat the procedure leading to the error on different hardware and on the operating system the user was running. If this produced an error the problem is likely a bug in the games software (see "Corrective Maintenance"). If, however, no error was produced the problem is caused by the different hardware or operating system. Assuming the reported error was a problem caused by different hardware or a different operating system there are three ways the problem might be solved. The most drastic option is to access the Game Maker website [1] and check the latest version of the Game Maker software. If the latest version is the same as the version used to create the game this option will not work. If the latest version of Game Maker is different, download that version. The majority of versions of Game Maker are backwards compatible with games made in older versions. Update the game, or part of it which may be causing the problem, with any new functions if available. Test the game to ensure it works as before the update. If this reveals no problems the new version of the game can be released. Carry out more testing to narrow down the part of the game software in which the problem is caused. Once the general area of the problem is known the Game Maker community can be asked if they have had similar problems. This can be done by posting the section of code on the Game Maker forum [2]. Copyright over the section of code posted would need to be stated to protect it from being illegally copied and used. If this did not solve the problem, the creator of Game Maker can be e-mailed as there may be a bug in Game Maker. Many standard functions in Game Maker have equivalents that perform the same task in different ways. Carry out more testing on the game to narrow down the part of the game software in which the problem is caused. Once the area of the problem is known these equivalent functions can be used in place of functions that could be causing the problem. Commentary The source code has been commented to explain any difficult sections. Any code written after the game is released should also be commented in this way. The date the code was changed, a brief summary of the change or changes made and the problem those changes solve should be placed at the top of the section of code as a comment. If the task or tasks performed by a script is changed, its new task must be summarised and placed at the top of the script as a comment. Any new scripts written must also be commented in this way. References Title: Game Maker by Mark Overmars Website URL:  HYPERLINK "http://www.gamemaker.nl/" http://www.gamemaker.nl/ Title: Game Maker Community (Powered by Invision Power Board) Website URL:  HYPERLINK "http://forums.gamemaker.nl/" http://forums.gamemaker.nl/ Title: Wikipedia - Patch (computing) Website URL:  HYPERLINK "http://en.wikipedia.org/wiki/Patch_(computing)" http://en.wikipedia.org/wiki/Patch_(computing) Acknowledgements During this project I have made use of work done by others. I have used their work with their permission and in agreement with the copyright they have set. Some of the sprites, pictures and other images were drawn by Kat Davis. Version 6.1 and version 7.0 of the Game Maker development environment used to create the game were developed by Mark Overmars and YoYo games. Version 7.0 can be downloaded from:  HYPERLINK "http://www.gamemaker.nl/" http://www.gamemaker.nl/ The Game Maker implementation of the player's inventory was adapted from the example by Nick Koza (tahnok100). His example can be found at:  HYPERLINK "http://www.tahnokgames.com/" http://www.tahnokgames.com/ The music and midi files used in the game were created by Mathew Duguayof Zer0mus Midi co. The website of Zer0mus Midi co. is located at:  HYPERLINK "http://www.freewebs.com/zer0mus/" http://www.freewebs.com/zer0mus/ The background for the conversation screen and the code to create the textbox for conversations were created by J-Factor. The Textbox 2.0 example used can be downloaded at:  HYPERLINK "http://forums.gamemaker.nl/index.php?showtopic=130501" http://forums.gamemaker.nl/index.php?showtopic=130501 Feedback on the development of the game was provided by several game testers. These are: Kristoffer Marc Getchell, J Ross Nicoll, Angus Macdonald, Alex Lupu, Christopher Jackson Tom Clark Hunger: A Survival Game CS4099 Software Project PAGE  PAGE 108 Fear Hunger Thirst Minimap Speed Warmth Health After time Sensed PC Sees PC PC Out of sight Chasing Searching Wandering PC = Playable character The playable character is completely hidden behind other objects. The playable character is partially hidden behind an object and partially visible. An activity diagram of this Initial state End state No Yes Game software High score table User Show table Store initials Enter initials Show table Delete score Store score High? Calculate score Game over or Game complete Exit Load game New game Help Use-case diagram of the main menu Credits User Returning Conversation ended Moving Conversation started Conversation started Conversation started Conversation started Stationary Time expires Sees Rot Sees Rot Sees Rot Inside movement range Outside movement range Random time Random time Talking Fearful Chasing PC dies PC = Playable character After time Sensed PC Sees PC PC Out of sight Searching Wandering = Initial state Short time elapses PC collides with Rot Game started PC = Playable character Invulnerable PC cannot be hit Normal PC can be hit Playable character Increase 'Warmth' Create Use Inventory Store Pickup object: Fire item: Wood Playable character collide with Rot Use Fire Less than 4 Rot killed 4 Rot killed Playable character collide with Rot Convert Pickup Wood Decrease 'Health' Kill Rot Playable character Spear hasWood A use-case diagram of 'Fear effects' Playable character Increase Fear 'Fear effect' Determine Risk A summarised statechart diagram of Sleeping Playable character Sleep None Alive Low Death Low chance High Death High chance Yes, I got stuck between a number of items and couldn't find a way to release the player. This was quite frustrating. - Kristoffer Marc Getchell I used the F1 help quite a lot. It was occasionally useful when I wanted to grasp basic game concepts (I didnt find the user manual). It was good for this task, but would have been better if it explained what specific inventory icons were for, as this wasnt clear. - Angus Macdonald Not really, I wasn't sure if the aim was just to stay alive, keeping in mind all of the variables such as fear and thirst etc, or to kill the Rot, or to try and save the princess. Maybe it was just to avoid those annoying other characters that you can't kill for fun. A clear indicator (maybe on the mini-map) should indicate the aim of each level, and where the end is. Going up isn't really that well defined. - Alex Lupu I dont think it was necessary to read the manual, it is pretty obvious what you're supposed to do. It is nice for the storyline though! - Christopher Jackson I did understand how to use the save and load features, however it was somewhat difficult to use as there was no way to browse for a saves game. If the name was forgotten, how would I be able to find my previous progress? Having a file browse window would greatly improve this! - Kristoffer Marc Getchell Corrective maintenance - Ensuring any bugs discovered after the game has been released are fixed. This is done by releasing patches and new versions of the game. Adaptive maintenance - Ensuring the game runs correctly on new versions of operating systems or hardware.  /01356?@ABNO\]nopq{|}O P Q ˸ϙzrjrbZhq!CJaJh?CJaJhFsCJaJhp1@CJaJh,CJaJ hph hph,h3ShZN\aJhhn&hCJaJhZN\CJaJhCJaJhZN\hZN\CJaJhCJaJhh (hZN\hCJaJjh Ohh (CJUaJhh (CJaJ h5#{hh ( h5#{h5#{" 01236@ABO]opq|. / F q gq Bq Bq Bq :q Bq gq Bq Bq Bq gq gq Bq Bq gq {q {q Bq Bq g $dha$gdL2YmPgd3S $dha$gd $dha$gdh (pgdZN\Vnn{Q [ ^ b  " # , . /  E M U E F G ' Y [ _ j ͽ͵͵ͽ𽵭ťť}u}}haACJaJh7CJaJhl CJaJh1MCJaJh,CJaJhL@CJaJhWCJaJhCJaJh{CJaJhZCJaJh?CJaJhkW?CJaJhzxCJaJhq!hq!CJaJhFsCJaJhq!CJaJhbCJaJ,F G Z [ ()c6 # g dhgdO $ g dhgdO 9$a$gd7g 9$@& a$gdL2Y9$a$gdL2Y $dha$gdL2Y &'/012ABɽwnwTwIhOmHnHu2jhe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHuhKL5;CJ\aJ jhKL5;CJU\aJh,h$!h$!h$!>*CJaJh-CJaJhC<CJaJhkCJaJh CJaJhqCJaJh,CJaJ hph,BC]^_`abcde𶢶q`O hO:CJaJmHnHtH u jhOUmHnHu2j{he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu&hO5;CJ\aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHu jhOUmHnHuhOmHnHujhOUmHnHu;<=>abc}~ź~u[źJ~ jhOUmHnHu2johe4hO>*B*UmHnHphuhOmHnHu hO:CJaJmHnHtH uh/ gmHnHu jhOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu2juhe4hO>*B*UmHnHphu/0߼߱rX߱G jhOUmHnHu2jche4hO>*B*UmHnHphu&hO5;CJ\aJmHnHtH uh/ gmHnHu jhOUmHnHujhOUmHnHuhOmHnHu2jihe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu01345678TUVWҳҳtbҳHҳ2jWhe4hO>*B*UmHnHphu#hO6CJ]aJmHnHtH u jhOUmHnHuhOmHnHu2j]he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu hO:CJaJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHujhOUmHnHu6Nofv=DOX f # g dhgdO % g dhgdO+,-GHIKLMNOPlm淥tc淥 jhOUmHnHu2jQhe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHu jhOUmHnHujhOUmHnHuhOmHnHumno    ź}tZźI} jhOUmHnHu2jEhe4hO>*B*UmHnHphuhOmHnHu#hO6CJ]aJmHnHtH uh/ gmHnHu jhOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu2jKhe4hO>*B*UmHnHphu-./0LMNhijlmnopq߼߱u[߱J jhOUmHnHu2j9he4hO>*B*UmHnHphu hO:CJaJmHnHtH uh/ gmHnHu jhOUmHnHujhOUmHnHuhOmHnHu2j?he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu   /012CDE_ӳӳtӳZӳ2j- he4hO>*B*UmHnHphu jhOUmHnHuhOmHnHu2j3he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHujhOUmHnHuh/ gmHnHu_`acdefgh°¢¢ttc°¢I2j!"he4hO>*B*UmHnHphu j!hOUmHnHuhOmHnHu2j'!he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHujhOUmHnHu j hOUmHnHu4567STUopqstuvwx׻רsb׻ר j#hOUmHnHu2j#he4hO>*B*UmHnHphuhOmHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHu j"hOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu678:;<=ź}tZźI} j%hOUmHnHu2j%he4hO>*B*UmHnHphuhOmHnHu#hO6CJ]aJmHnHtH uh/ gmHnHu j$hOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu2j$he4hO>*B*UmHnHphu=>?[\]^qrs߼߱u[߱J j'hOUmHnHu2j'he4hO>*B*UmHnHphu hO:CJaJmHnHtH uh/ gmHnHu j&hOUmHnHujhOUmHnHuhOmHnHu2j &he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu    !"#=>?ABCDEFbcdewxyӳӳtӳZӳ2j(he4hO>*B*UmHnHphu jz(hOUmHnHuhOmHnHu2j'he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHujhOUmHnHuh/ gmHnHu°¢¢ttcR¢ hO:CJaJmHnHtH u jn*hOUmHnHuhOmHnHu2j)he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHujhOUmHnHu jt)hOUmHnHu,-.HIJLMNOPQmnopź}tZźI} jb,hOUmHnHu2j+he4hO>*B*UmHnHphuhOmHnHu#hO6CJ]aJmHnHtH uh/ gmHnHu jh+hOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu2j*he4hO>*B*UmHnHphu  &'()567QRS߼߱u[߱J jV.hOUmHnHu2j-he4hO>*B*UmHnHphu hO:CJaJmHnHtH uh/ gmHnHu j\-hOUmHnHujhOUmHnHuhOmHnHu2j,he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHuSUVWXYZvwxyӳӳtӳZӳ2j/he4hO>*B*UmHnHphu jP/hOUmHnHuhOmHnHu2j.he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHujhOUmHnHuh/ gmHnHu    +,-.CDE_`acdefgh°¢¢ttc°¢I2j1he4hO>*B*UmHnHphu jD1hOUmHnHuhOmHnHu2j0he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHujhOUmHnHu jJ0hOUmHnHu012456789UV׻רtc׻רQ#hO6CJ]aJmHnHtH u j83hOUmHnHu2j2he4hO>*B*UmHnHphuhOmHnHu hO:CJaJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHu j>2hOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHuf7 qtj !!"""n##$$$$\%% &&& $ g dhgdO % g dhgdO # g dhgdOVWX~ ź}tZźI} j,5hOUmHnHu2j4he4hO>*B*UmHnHphuhOmHnHu#hO6CJ]aJmHnHtH uh/ gmHnHu j24hOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu2j3he4hO>*B*UmHnHphu   '()*NOPjklnopqrs߼߱rX߱G j 7hOUmHnHu2j6he4hO>*B*UmHnHphu&hO5;CJ\aJmHnHtH uh/ gmHnHu j&6hOUmHnHujhOUmHnHuhOmHnHu2j5he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHuQRSmnoqrstuvҳҳtbҳHҳ2j8he4hO>*B*UmHnHphu#hO6CJ]aJmHnHtH u j8hOUmHnHuhOmHnHu2j7he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu hO:CJaJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHujhOUmHnHu    G H I c d e g h i j k l 淥tc淥 j:hOUmHnHu2j9he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHu j9hOUmHnHujhOUmHnHuhOmHnHu !!!!!!!ź}tZźI} j<hOUmHnHu2j;he4hO>*B*UmHnHphuhOmHnHu#hO6CJ]aJmHnHtH uh/ gmHnHu j;hOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu2j:he4hO>*B*UmHnHphu!!!:!;!*B*UmHnHphu hO:CJaJmHnHtH uh/ gmHnHu j<hOUmHnHujhOUmHnHuhOmHnHu2j<he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu""""""":";"<"="y"z"{""""""""""""""""""ӳӳtӳZӳ2jm?he4hO>*B*UmHnHphu j>hOUmHnHuhOmHnHu2js>he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHujhOUmHnHuh/ gmHnHu"""""""""####K#L#M#g#h#i#k#l#m#n#o#p#####°¢¢ttc°¢I2jaAhe4hO>*B*UmHnHphu j@hOUmHnHuhOmHnHu2jg@he4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHujhOUmHnHu j?hOUmHnHu#################$$$$$$!$"$#$$$%$&$B$C$׻רsb׻ר jBhOUmHnHu2j[Bhe4hO>*B*UmHnHphuhOmHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHu jAhOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHuC$D$E$e$f$g$$$$$$$$$$$$$$$$$$$$$$$$ź}tZźI} jDhOUmHnHu2jODhe4hO>*B*UmHnHphuhOmHnHu#hO6CJ]aJmHnHtH uh/ gmHnHu jChOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu2jUChe4hO>*B*UmHnHphu$$$%%%%9%:%;%U%V%W%Y%Z%[%\%]%^%z%{%|%}%%%%%%%߼߱tZ߱I jFhOUmHnHu2jCFhe4hO>*B*UmHnHphu#hO6CJ]aJmHnHtH uh/ gmHnHu jEhOUmHnHujhOUmHnHuhOmHnHu2jIEhe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu%%%%%%%%%%%%%%&&&&&& &!&"&>&?&@&A&g&h&ӴӴucӴIӴ2j7Hhe4hO>*B*UmHnHphu#hO6CJ]aJmHnHtH u jGhOUmHnHuhOmHnHu2j=Ghe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu hO:CJaJmHnHtH u$jhe4hO0J UmHnHujhOUmHnHuh/ gmHnHuh&i&&&&&&&&&&&&&&&&&&&&&&&&&&&&𶤶sb𶤶 jIhOUmHnHu2j1Ihe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHu jHhOUmHnHuhOmHnHujhOUmHnHu&&& ' ' '&'''('*'+','-'.'/'K'L'M'N'g'h'i'''''''ź{rXźG jKhOUmHnHu2j%Khe4hO>*B*UmHnHphuhOmHnHu&hO5;CJ\aJmHnHtH uh/ gmHnHu jJhOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu2j+Jhe4hO>*B*UmHnHphu&-'''K(((H)))_**+b++,,", . .+/ $dha$gdL2Y $dhha$gdL2Y $dha$gdO % g dhgdO # g dhgdO $ g dhgdO''''''''''''''''''''(((((()(*(D(E(ΫΠu[ΠJ jMhOUmHnHu2jMhe4hO>*B*UmHnHphuh/ gmHnHu jLhOUmHnHujhOUmHnHuhOmHnHu2jLhe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu hO:CJaJmHnHtH uE(F(H(I(J(K(L(M(i(j(k(l(}(~(((((((((((((((((((ҲҲsҲYҲ2j Ohe4hO>*B*UmHnHphu jNhOUmHnHuhOmHnHu2jNhe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu#hO6CJ]aJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHujhOUmHnHu((((((((())))%)&)')A)B)C)E)F)G)H)I)J)f)g)±££uudP£&hO5;CJ\aJmHnHtH u jPhOUmHnHuhOmHnHu2jPhe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu hO:CJaJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHujhOUmHnHu jOhOUmHnHug)h)i)s)t)u)))))))))))))))))))))))ź{rXźG jxRhOUmHnHu2jQhe4hO>*B*UmHnHphuhOmHnHu&hO5;CJ\aJmHnHtH uh/ gmHnHu j~QhOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu2jQhe4hO>*B*UmHnHphu))))****<*=*>*X*Y*Z*\*]*^*_*`*a*}*~********ΫΠu[ΠJ jlThOUmHnHu2jShe4hO>*B*UmHnHphuh/ gmHnHu jrShOUmHnHujhOUmHnHuhOmHnHu2jRhe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu$jhe4hO0J UmHnHu hO:CJaJmHnHtH u*************** + ++++++++1+2+3+4+?+@+A+[+ҳҳtҳZҳ2jUhe4hO>*B*UmHnHphu jfUhOUmHnHuhOmHnHu2jThe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu hO:CJaJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHujhOUmHnHu[+\+]+_+`+a+b+c+d+++++++++++++++++++++±££uud±£J2jWhe4hO>*B*UmHnHphu jZWhOUmHnHuhOmHnHu2jVhe4hO>*B*UmHnHphuhOmHnHuhe4hO0J mHnHu hO:CJaJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHujhOUmHnHu j`VhOUmHnHu++++, , , ,,,,,,,,!,",,׻ר}l[G@5hV*htCJaJ hWAh,&hrh,5>*CJOJQJ^JaJ!hrhM5>*CJOJQJ\!hrh,5>*CJOJQJ\h,>*CJaJ jhKL5;CJU\aJ hO:CJaJmHnHtH u$jhe4hO0J UmHnHuh/ gmHnHu jTXhOUmHnHujhOUmHnHuhOmHnHuhe4hO0J mHnHu,,-- ---[-a-.. .+.-.<.d.j.{.....*/+/@/A/]/{////////////yqyqyiyayahc;CJaJhE4CJaJh#CJaJh #CJaJhch6o`CJaJh6o`CJaJ'hrhta56>*CJOJQJ\]'hrhj56>*CJOJQJ\]hWAhtaCJaJhY CJaJhV*hjCJaJh,CJaJhV*h?KCJaJhV*htCJaJh$CJaJ&+/A/0011123445366a778=8Y;Z;==>>AA$ & Fdha$gdL2Y $dha$gdL2Y $dhha$gdL2Y/0000000&0'0-0:0B0H0I0J00001 111)1=1[1]1^1f1g111111111122/272:2;2`2a2b2e22222233D3E3G3P3ʿݷݷݯhNa}CJaJh?CJaJhCJaJhCJaJh2CJaJh?h?CJaJh?hCJaJh6o`CJaJhch #CJaJh3CJaJhc;CJaJh #CJaJ;P3W3[3_3j333333333444434m4~444444444440585d5e5f5s5x5}555555555562636Q6V6Y666666666 7!7"7սյսխխhCJaJhCJaJh}CJaJh=CJaJhaACJaJh85CJaJhch #CJaJhCJaJh?CJaJh2CJaJh #CJaJ?"7/7G7H7a7j7o7777778888&818=888888888989<9D9E9H9M9O9e9®~~u~uiu`~h7RCJ]aJhY hDCJ]aJhDCJ]aJhY hY CJ]aJhJCJaJhY hY CJaJ!h56>*CJOJQJ\]'hz"h,56>*CJOJQJ\]hhB\CJaJhCJaJhCJaJhch #CJaJhCJaJh #CJaJhCJaJ#e9f999999999 : :::9:::;:=:>:D:E:c:d:e::::::W;Y;Z;;;;;xog[[hQ hQ CJ]aJh,CJaJhY CJ]aJh/ gCJ]aJmHnHu&jNYhrh QCJU]aJ jhY hY CJU]aJhJCJ]aJhY hY CJ]aJhY hY CJaJh/ gCJaJmHnHu#jXh7Rh7gCJUaJh7RCJaJjh7RCJUaJ#;;;0<d=h=i============M>Q>>>H?I?\?]?e?f????ȴѥ󝑈ul`XuXuhJCJaJhhCJ]aJhCJ]aJhhCJaJhh+CJaJh<+CJ]aJh=hh+CJ]aJh,CJaJh/ gCJ]aJmHnHu&jYh7Rh7gCJU]aJh7RCJ]aJjh7RCJU]aJhJCJ]aJhQ hQ CJaJhQ hQ CJ]aJ??@@@ @ @>AHA]AlAAA B B$B%B&B(B)B%ClCCCCCCCCCCCCCD1D3DADCDJDD垾ƞzqhh#NCJ]aJhaACJ]aJ#jB[hrh QCJUaJ#jZh#Nh7gCJUaJjh#NCJUaJh,CJaJhhCJ]aJh#NCJaJh/ gCJaJmHnHu#jHZhrh QCJUaJhhCJaJjhhCJUaJ(ACCEEFFIILLnPoPRRXX]]^^.aaOb$ & F 7bdh^7`ba$gdL2Y $dhha$gdL2Y $dha$gdL2YDDDDDDDEEEE"E8ELEhEtExEEEEEEEEEtF}FFFFFFF亲|Ŗtltltdt\h=CJaJhE;ACJaJhLCJaJh,CJaJ#j<\h-wh7gCJUaJh-wCJaJjh-wCJUaJhCJaJhxSCJaJh~CJaJhhCJaJh/ gCJaJmHnHu#j[h&h&CJUaJh&CJaJjh&CJUaJh#NCJaJ FFFFFFGGG'GKGTGjGnGIIIIIIJJKKpKKKKKLLNN8O9OXOYOaObOcO}OμμμγμΪΕΕ΀wiwjh%rCJU]aJh%rCJ]aJhACJ]aJh\h\CJ]aJh\CJ]aJhB\hB\CJ]aJhB\CJ]aJh'sCJ]aJhLCJ]aJhJCJ]aJh=h=CJ]aJ!h56>*CJOJQJ\]'hz"h=56>*CJOJQJ\](}O~OOOO1P2PBPCPKPLPMPgPhPiPkPlPmPnPoPPPPQQ!Q"Q)QmQvQQQúúñޱÔypd[dydydRhKoCJ]aJh0dCJ]aJh=hDqCJ]aJh6>CJ]aJhDqCJ]aJhACJ]aJh(CJ]aJh=CJ]aJ&j6]h%rh~[CJU]aJh%rCJ]aJhJCJ]aJh=h=CJ]aJh/ gCJ]aJmHnHujh%rCJU]aJ&j\h%rh~[CJU]aJQQR R R RRR!R"RR@RARBRRRRS S)S*SDSESFSHSISNS_Sֳ䪡xo[xxRhDuCJ]aJ&j0^h-wh7gCJU]aJh-wCJ]aJjh-wCJU]aJhQCJ]aJh8CJ]aJh(CJ]aJhACJ]aJh{CJ]aJh/ gCJ]aJmHnHu&j]hKoh ,CJU]aJjhKoCJU]aJhDqCJ]aJhKoCJ]aJhzCJ]aJ_S`SSSSSSSSSSSSSS TTTT$UUUUVVVVVVVVʸҫ~r~i~`~Wh#CJ]aJh-wCJ]aJhzbCJ]aJh=h77JCJ]aJh77JCJ]aJhr2CJ]aJhtCJ]aJh8CJ]aJhDuCJ]aJh/ gCJaJmHnHu#j^h-wh7gCJUaJh-wCJaJjh-wCJUaJhACJaJhJCJaJhDuCJaJhJCJ]aJVVVVVVVlWuWWWWWWWWWW2X;XFXLX`XaXtXXXXXXXXXXϽƴƫƢƫ}uc}V}h/ gCJaJmHnHu#j*_h/h~[CJUaJh/CJaJjh/CJUaJhaACJaJhCJaJhCJ]aJh;CJ]aJh\CJ]aJh7eCJ]aJhE;ACJ]aJh CJ]aJhgCJ]aJhghgCJ]aJhFCJ]aJh#CJ]aJhACJ]aJ!XXXXXYYY/YAYDYUYXYYYZZZZ[ [ [[[]]]]]]^^^__)_A_i_r_y_z_`ڿ㪞wnwnwwh rCJ]aJh|~CJ]aJh~CJ]aJhhCJ]aJh)CJ]aJh[uh[uCJ]aJh[uhB\CJ]aJhJCJ]aJh/CJ]aJhB\CJ]aJh[uCJ]aJhaACJ]aJhB\hB\CJ]aJhzbCJ]aJhP<CJaJ)```!`(`r`t``!a/aaaaaaaabNbOb`btbbbbNcUc{c|c}cc"d#dDdEdNdҷɥɜ~r~f]f]fhJCJ]aJhAhACJ]aJhP<hP<CJ]aJh~CJ]aJhP<CJ]aJhhmCJ]aJhc&]CJ]aJh~CJ]aJh?GCJ]aJh[CJ]aJh6gCJ]aJhmCJ]aJhNCJ]aJh[uCJ]aJhDCJ]aJh|~CJ]aJhCJ]aJ#Obbb|c}c2j3jjj`kzkll@nAnoopprrAvBvw $dhha$gdL2Y $dhha$gdL2Y $dhha$gdL2Y $dha$gdL2YNdOdidjdkdmdndffggg gggiiiiijjjj`kzkk򺱺skWLh@fh,CJaJ'hz"h,56>*CJOJQJ\]h,CJaJ!hz"h,5>*CJOJQJ\hACJ]aJhFCJ]aJhJCJ]aJhV1CJ]aJhoCJ]aJhlCJ]aJhAhACJ]aJh/ gCJ]aJmHnHu&j_hRL%h nCJU]aJhRL%CJ]aJjhRL%CJU]aJkkkkkk(l)l8l9ldlhlillll0m9mmm@nAnooooopppp q)q7q8q;q`qNrɽɣɚɎɅ|||ph`h`h`hh^3CJaJh,CJaJhWAhACJ]aJhDCJ]aJhm6CJ]aJh)Oh,CJ]aJh-"/CJ]aJhiJCJ]aJ!hz"h,5>*CJOJQJ\hWAh,CJ]aJh@fh,CJ]aJhE;ACJaJhGTCJaJhD*CJaJh@fh,CJaJhJCJaJ%Nrrrrr"s{ss}tttttttttttt#uFu|uuuuuuv vv:v=v@vAvBvQvȼȪЕЅ}}}uuuul`h@fh,CJ]aJh">CJ]aJhS4&CJaJhGCJaJhRPCJaJhtCJaJh">CJaJh/ gCJaJmHnHu#j$`h nh nCJUaJjh nCJUaJh nCJaJh]CJaJh!TCJaJhvCJaJh7CJaJh7hCJaJh^3CJaJ#Qvpv{vvvvvvvvvv!w$w*CJOJQJ\hWAh,CJ]aJhtjCJ]aJheKCJ]aJh@fh"YCJ]aJh@fh,CJ]aJh"YCJ]aJ-w x{zz}}8΀ΌތÍ _$ & F dha$gdL2Y $dhha$gdL2Y $dha$gdL2Y $dhha$gdL2YN{Y{~{{{{{{||| ||Q|Z|||}}}}}} ~~F~H~M~s~~~VZd345ǿ📟&jhiamCJUaJmHnHtH ujhiamCJUaJhiamCJaJhCJaJh;CJaJh^LSCJaJh{wyCJaJh@fCJaJ!hz"h,5>*CJOJQJ\hCJaJh,?CJaJh,CJaJhH CJaJ/5679Qq΀dhҁӁف()Âق԰yh]U]I]h@fh,CJ]aJhCJaJh@fh,CJaJ!hz"h,5>*CJOJQJ\h CJaJh h CJaJh9 CJaJh CJaJh9 h6CJaJhCJaJ'hz"h,56>*CJOJQJ\]h{wyCJaJh,?CJaJh,CJaJhiamCJaJjhiamCJUaJj`hiamhi=CJUaJق./34>|ăƃȃރ4?@HIMNTUef7VWe{؆홑hCJaJh;CJaJh-"/CJaJh@fh-"/CJaJh@fh@fCJaJh@fhc&CJaJhCJaJh0CJaJh@fhT*xCJaJhT*xCJaJhJCJaJh@fh,CJaJhDCJaJ2؆lz_bvΌތ͍ύ|º󱨟ՓphhhpCJaJ!hz"h,5>*CJOJQJ\h`^CJ]aJhZSCJ]aJh?h?CJ]aJh?CJ]aJh,CJ]aJhhCJ]aJhFCJaJh@fh,CJaJh,CJaJhFCJ]aJh^LSCJ]aJh@fh@fCJ]aJh@fh,CJ]aJ(}~יؙhyLM,-ɣͥΥIJ $dha$gdL2Y $dhha$gdL2Y$ dha$gdL2Y׏؏ƐȐSΑՑ=j~ѿѿѶѶѭѤћђѤрrirh$v CJ]aJjh$v CJU]aJh?CJ]aJh0CJ]aJhaACJ]aJhnCJ]aJh[)*CJ]aJhkjCJ]aJhCJ]aJhJCJ]aJh=CJ]aJh?h?CJ]aJ!hz"h?5>*CJOJQJ\!hz"hkj5>*CJOJQJ\#D_cƖҖ ¶vnf^n^nV^nNnFnhECJaJhnCJaJh&|CJaJh"CJaJh:CJaJh,CJaJ!hz"h,5>*CJOJQJ\!hz"hkj5>*CJOJQJ\h?CJ]aJh@1CJ]aJh?h?CJ]aJh?h$v CJ]aJh?CJ]aJjh$v CJU]aJ j1ah$v h CJU]aJ)jh$v CJU]aJmHnHtH u!LZ—ӗ  :FJQY !"*-BGimnx}Ιՙؙ֙ݙ.FКȒh?CJaJhP$CJaJh>KhhCJaJh>Kh]qCJaJh]qCJaJhhCJaJh]SCJaJhfCECJaJh%CJaJhpCJaJh&|CJaJhCJaJh,CJaJhECJaJ4FghmyښACTϛۛޛ?N\]{/3:Fŝ$+/멱롙hk;ECJaJha$CJaJhK0CJaJh]CJaJh1QCJaJh>CJaJh9LUCJaJhZCJaJhpPCJaJ!hz"h,5>*CJOJQJ\!hz"h(>5>*CJOJQJ\h,CJaJh?h?CJ]aJ0ΞҞ BD>uvڠ۠+?A})\^adikx|ĢŢҢ𨑨h>gh,CJaJh>gh>g6CJaJh,6CJ]aJh>gCJaJh CJaJhkjLCJaJh"CJaJh1eCJaJhQCJaJh2FCJaJh9%CJaJh&MCJaJh,CJaJhsnCJaJ4Ң +rtɣΣ%1C.[]˥̥ϥǶ}}}tkhqUCJ]aJh$2CJ]aJhJqCJ]aJh&8CJ]aJhfCJ]aJh@fh,CJ]aJhaCJ]aJh CJ]aJ!hz"h,5>*CJOJQJ\!hz"h(>5>*CJOJQJ\h CJaJh CJaJh>gCJaJh,CJaJh"CJaJ*VZӦԦ}IJ;FЫѫmn󻲻Ỳudu[[h`@CJ]aJ!hz"h 5>*CJOJQJ\!hz"hO5>*CJOJQJ\!hz"h,5>*CJOJQJ\h,CJ]aJh2CJ]aJhZ8CJ]aJh$2CJ]aJhaCCJ]aJhaACJ]aJh,6CJ]aJhJqCJ]aJh|CJ]aJhqUCJ]aJh@fh,CJ]aJ"ѫ'VlƵٵ $dha$gdL#M $dhha$gdL2Y $dhha$gdL2Y $dha$gdL2Y̬\ǭܭ6-̯ưҰ'qyUVɷҷۥ~~me~e]e]ehLfCJaJh,CJaJ!hz"hVR5>*CJOJQJ\hU}pCJaJhVRhVRCJaJ'hz"h,56>*CJOJQJ\]h>CJ]aJhU}pCJ]aJhECJ]aJhaACJ]aJhOCJ]aJh+*CJ]aJh(%yCJ]aJh,CJ]aJh`@CJ]aJhJCJ]aJ VZ[\]lps˳ͳ9+ŵƵʵ˵ٵ"^Ŷ˶ݶļrjbZRZbZbh0 CJaJh~ CJaJh2iCJaJh<CJaJ!hz"h,5>*CJOJQJ\!hz"h<5>*CJOJQJ\hcuCJaJhNCJaJh }CJaJhr0CJaJh CJaJho9CJaJhCJaJ!hz"ho95>*CJOJQJ\!hz"hK05>*CJOJQJ\!hz"hg S5>*CJOJQJ\ݶ(yz˷ͷ -.QRdfgFGXYcdب|pgpgphl@CJ]aJh\h\CJ]aJh\CJaJhK0CJaJ'hz"h,56>*CJOJQJ\]hL#MCJaJhPCJaJhi\CJaJhJCJaJhT'CJaJhD*CJaJh<CJaJh1CJaJh SCJaJh~ CJaJh56CJaJh8CJaJ#823=>XYstuwxy|=ǾǵǧǓxoxoxch\h#CJ]aJhfCJ]aJh\hqLCJ]aJh/ gCJ]aJmHnHu&jahl@hmCJU]aJjhl@CJU]aJhqLCJ]aJh#CJ]aJhl@CJ]aJhi\CJ]aJhJCJ]aJh\h\CJ]aJ!hz"h,5>*CJOJQJ\$=>:WX_`þmvIJOP6S&,-uwh\h'^SCJ]aJh7DCJ]aJh`CJ]aJh'^SCJ]aJhC CJ]aJh\hkCJ]aJhkCJ]aJhJCJ]aJhqLCJ]aJh\h\CJ]aJh\CJ]aJ::op+, `m-. $dhha$gdL2Y$ dha$gd $dhha$gdL2Y$ & F dha$gdL2Y $dha$gdL2YBC ]^[\jmyzklqrWX9:MN差h1CJ]aJhGHCJ]aJh;CJ]aJh`CJ]aJhfCJ]aJhJCJ]aJhsh \CJ]aJ!hz"h \5>*CJOJQJ\!hz"hf5>*CJOJQJ\!hz"h,5>*CJOJQJ\h\CJ]aJ2NTUlmpwb+K7>@  ABOj*+,Cᨤ᜔ሀxh bCJaJh#KCJaJh\hCJ]aJhHQWCJaJhCJaJhi*hi*CJ]aJh \CJ]aJh#KCJ]aJh1CJ]aJhshG(CJ]aJhmCJ]aJhCJ]aJhJCJ]aJhsh \CJ]aJ/C[u79OPXYZ ?HMdF ,ਠynh*ah CJaJ'hBh,56>*CJOJQJ\]h bh bCJaJhsCJaJhfCJaJhfCJaJh*CJaJhXCJaJh_8CJaJhJCJaJhtCJaJhN#CJaJhmCJaJh[r<CJaJh bCJaJh#KCJaJ),8_`m}~JPƾƾƾƶƶƮƮƮƮƮƮƶƶƦƞƶƶƶƶƕƦh;FCJaJh8$CJaJh,5CJaJhXuCJaJhCJaJh4CJaJhJCJaJhe<CJaJh,CJaJ!hBh,5>*CJOJQJ\h*ahCJaJh*ah CJaJh*ah*aCJaJ4. $dha$gdL $dhha$gdL $dhha$gdL2Y$ & F dha$gdL2Y $dha$gdL2Y'b*+45r73S  !P޾޾榞ƖƖƖƎ~vnnnhuCJaJhA2GCJaJhVNCJaJh rCJaJhK]tCJaJhtFCJaJhw!_CJaJh26CJaJhECJaJhH`CJaJhC'CJaJhJCJaJhCJaJhY\CJaJhTsCJaJh^6CJaJ!hBh,5>*CJOJQJ\+PQUVXY\]abfgn .0?Zfk3<ǾhJCJ]aJh!G*CJ]aJhKCJ]aJhVuCJ]aJhK0hK0CJ]aJhK0hSCJ]aJhSCJ]aJ!hBhx>C5>*CJOJQJ\h,CJaJhw!_CJaJh+=CJaJhuCJaJhJCJaJ3<RU@D.N&.?I, "*tx;| $%./;NOXYhJCJ]aJhRCJ]aJhK0h*aCJ]aJh*aCJ]aJh?CJ]aJh~CJ]aJhm'CJ]aJhSCJ]aJhKCJ]aJhxCJ]aJhK0hK0CJ]aJ8N9^ip'^;<μγŪŪŪ}t}k}b}bhiCJ]aJhjyCJ]aJh3CJ]aJh dCJ]aJhhCJ]aJh.~CJ]aJh PCJ]aJh (CJ]aJh&YCJ]aJhLCJ]aJhHQWCJ]aJhpmpCJ]aJhLCJ]aJhL5>*CJOJQJ\!hBhL5>*CJOJQJ\hK0CJ]aJ&n   'H I f  ;$ & Fdha$gdL2Y $dhha$gdL2Y $dha$gdL2Y $dhha$gdL2Y $dha$gdw$+,7&m5<`n#Ǿǵwfw]wTwTwhJCJ]aJhRCJ]aJ!hBh,5>*CJOJQJ\h@fh,CJ]aJ'hBh,56>*CJOJQJ\]h 'hhCJ]aJh3=CJ]aJhSCJ]aJhTj_CJ]aJh%'CJ]aJh RCJ]aJh6 CJ]aJhiCJ]aJh!c.CJ]aJh9CJ]aJhC6CJ]aJhDCJ]aJhF!vCJ]aJhz#CJ]aJho8CJ]aJh!X0CJ]aJh+=CJ]aJhkCJ]aJ0J!@,/4_   &'䷫䍄xofo^Vh6 CJaJh~CJaJh6 >*CJaJh~>*CJaJhU/hU/CJ]aJh,CJ]aJhK0hK0CJ]aJhK0CJ]aJhASoCJ]aJh@fh,CJ]aJh|bCJ]aJhH5CJ]aJhlCJ]aJhBCJ]aJhF3^CJ]aJh+CJ]aJho8CJ]aJhSCJ]aJG       V 8 F G H I e   # E ]   \ _ n  蟗woh!CJaJhUoCJaJhQ:CJaJh@0CJaJhXCJaJh~y3CJaJh~y3>*CJaJh+CJaJh|CJaJhh8CJaJh0SCJaJhU/CJaJh"cCJaJhCCJaJh~CJaJhyCJaJh6 CJaJhE;ACJaJ* ):;u{s6TU`a|踰谥vvmdhJCJ]aJhkCJ]aJhJCJ]aJh[CJ]aJh@fh,CJ]aJ!hBh,5>*CJOJQJ\h~y3heCJaJheCJaJhH`CJaJh)?@CJaJhPCJaJhsxCJaJh"cCJaJhQ:CJaJh^CJaJh~CJaJh&|CJaJ#()FG#$cd  C#D#$$q((*[* $dhha$gdL2Y $dhha$gdL2Y $dha$gdL2Y $dhha$gdL2Y|}HIb'()?@^_FG]Ң|pg^h%CJ]aJh,CJ]aJhj[hDCJ]aJh@fCJ]aJhj[CJ]aJhJCJ]aJh,6CJ]aJhjCJ]aJh9|CJ]aJhj[h!CJ]aJh!CJ]aJhb0iCJ]aJhj[hj[CJ]aJhj[h,CJ]aJh@fh,CJ]aJhdKCJ]aJ$]r}<NdHSTVhsɷxxphp`hhj[CJaJhSCJaJhx`}CJaJh CJaJh5;hCJaJ!hBh5;h5>*CJOJQJ\h@fhUbh_h7gCJUaJh_CJaJjh_CJUaJhCJaJh[fHCJaJh(]CJaJh5;hCJaJhSCJaJ """&#D#Y#^#####$j$n$$$$$$M%g%u%%%&&F&&&O'b'm''''۷ۥ|sjsasXjXhPCJ]aJhMCJ]aJhKqCJ]aJhNCJ]aJh@h@6CJ]aJhdCJ]aJh@CJ]aJh!CJ]aJhm1CJ]aJh}FCJ]aJhJa&CJ]aJhG(CJ]aJhDYCJ]aJhzCJ]aJh}'CJ]aJh"*VCJ]aJh xCJ]aJh8LCJ]aJ"''-(p(q(((((((())))')c)d)~)))))))))) ***C*ǻyp\'hBhI56>*CJOJQJ\]hQCJ]aJhZCJ]aJh?'CJ]aJhRCJ]aJhbyCJ]aJh8CJ]aJhPCJ]aJhBNMhPCJ]aJhBNMhBNMCJ]aJ!hBh,5>*CJOJQJ\h;#h5;hCJ]aJh7_CJ]aJhPCJ]aJhKqCJ]aJ C*O*[*_*k*v***************2+3+',(,˹˰˞˕ˌ{jYMF h?Ah?Ah?Ah?A6CJaJ!hBh+a5>*CJOJQJ\!hBhA5>*CJOJQJ\!hBhr5>*CJOJQJ\hBNMCJ]aJh%9CJ]aJh|'CJ]aJhXVCJ]aJhJCJ]aJh?ACJ]aJh+aCJ]aJhBNMhBNMCJ]aJ'hBhI56>*CJOJQJ\]'hBh+a56>*CJOJQJ\][**3+',(,//00_223333c4d4172788u9999 ; $dh*$a$gdL2Y $dhha$gdL2Y $dha$gdL2Y(,~,,,$------..(.L.^.`.a.b.e.l.m.n..........///////º~m!hBhI5>*CJOJQJ\hBNMh+aCJ]aJh9CJaJhOCJaJhACJaJhi[CJaJhoICJaJh*oCJaJh%9CJaJhkCJaJh ZCJaJhkCJ]aJh:fCJ]aJh ZCJ]aJh*oCJ]aJh CJ]aJ%//////00000000111111L1f1g1o1p11111ѽviaYaYaYQYh9CJaJh-/CJaJh/CJaJh/ gCJaJmHnHu#jbh%9h7gCJUaJh%9CJaJjh%9CJUaJhJCJaJhJCJ]aJhXCJaJhrCJaJh"h?ACJaJh G6CJaJh"h"6CJaJ!hBhk5>*CJOJQJ\!hBhr5>*CJOJQJ\122220232H2I2Q2R2_2c2f222222333^3_3y3z3{3ǶvnbZHb#j8ch]~hPlCJUaJh]~CJaJjh]~CJUaJhCJaJh"h"CJaJhMhM6CJaJhMh"6CJaJh"h"6CJaJ!hBhM5>*CJOJQJ\!hBhU5>*CJOJQJ\!hBh?5>*CJOJQJ\h9CJaJhG(CJaJhCJaJh/CJaJhsCJaJ{3}3~3333333333c4d44444444444Ƶ|tldXOFO=Oh9CJ]aJhJCJ]aJhXVCJ]aJhBNMhXVCJ]aJhJCJaJhXVCJaJhPnCJaJh"h"CJaJh"h"6CJaJ!hBh5>*CJOJQJ\!hBh'B5>*CJOJQJ\!hBhlk5>*CJOJQJ\hUCJaJh'BCJaJhG(CJaJhCJaJjh]~CJUaJh/ gCJaJmHnHu444445 5555*5,5-5<5=5555555555556686J6O6V6y6|6660717һ҆҆}Ɇ}}thh?'h?'CJ]aJh?'CJ]aJhcSCJ]aJhCJ]aJh/ gCJ]aJmHnHu&jch]~hPlCJU]aJh]~CJ]aJjh]~CJU]aJhaOCJ]aJhGSCJ]aJhCJ]aJhCJ]aJhXVCJ]aJh9CJ]aJ%17?7B7D7y777777$888t9u9z9|99999[:;; ; ;Ƚ~skc[SkhE;ACJaJhz>CJaJhp~CJaJhfCJaJh"h"CJaJh"h"6CJaJ!hBhEO5>*CJOJQJ\!hBhf5>*CJOJQJ\!hBhlk5>*CJOJQJ\hchtNCJaJhtNCJaJhCJaJhLCJaJhXw+CJaJhUCJaJhPnCJaJh CJaJ ;M;;;<<@\@@@AA BB$D[DAEBEHHJJ$7dh*$^7`a$gdL2Y $dh*$a$gdL2Y $dhha$gdL2Y $dha$gdL2Y $dhha$gdL2Y ;M;Q;U;`;s;;;;;;;;;;;;;;;;9<C<k<l<q<r<<<< =߻֪|s|s|j|j|_WOhxCJaJh.CJaJhbhbCJaJhJ6CJaJh`6CJaJhbhb6CJaJ!h,. hz>5>*CJOJQJ\!h,. hx5>*CJOJQJ\!h,. hj5>*CJOJQJ\h\cCJ]aJhJCJ]aJhbCJ]aJhz>CJ]aJhBNMhz>CJ]aJ'h Qhz>56>*CJOJQJ\] =K=P=W=[=g=l======>>>>>,?X?a??????????@@%@&@[@\@@@@@@@AȷyqhCJaJ hbhbhJ6CJaJhbhb6CJaJ!h,. h s5>*CJOJQJ\!h,. hZ/5>*CJOJQJ\!h,. h.B5>*CJOJQJ\hMJCJaJh sCJaJhZCJaJh.BCJaJhJCJaJh$9CJaJh.CJaJ)AAAAAAAAAAAAA BB$BRBSBTBCCC C#C*CJOJQJ\!h,. h_@5>*CJOJQJ\h_@CJaJhCJaJh/ gCJaJmHnHu#j2dh Qh QCJUaJh QCJaJjh QCJUaJhCJaJ CCCDDDDD!D"D#D$D+DKDZD[DEE E@EAEBEQEmEEEEܵ𤖈|n|e|ZRJRhZnCJaJh"[CJaJhbhbCJaJhb6CJaJhbhb56CJaJhbhb6CJaJhWS@5>*CJOJQJ\h%P5>*CJOJQJ\!h,. h5>*CJOJQJ\h/ gCJaJmHnHu#jdh\ch7gCJUaJh\cCJaJjh\cCJUaJh(CJaJhCJaJhJCJaJEnFrFwFxFFFFFFGG4G=GSGGGGGGGGH H?H^H`HHHHHHH/IFIJITI\I_IbIvIzI{IIIȘzqzqzzzhZnCJ]aJh7|CJ]aJhj[hkjCJ]aJhgECJ]aJhz>CJaJh ?8CJaJhoCJaJhoCJaJh])CJaJhLCJaJhCCJaJhWS@CJaJh<(CJaJh"[CJaJh)CJaJhyCJaJh7|CJaJ,IIIIJJJJlKnKuKKKKKKK LL:LL%NXNYNOOʿ{ph`XPHPhq=CJaJhWCJaJh CJaJh|NCJaJh?CJaJhbhbCJaJh?6CJaJhArhAr6CJaJh?5>*CJOJQJ\!h,. hE}5>*CJOJQJ\hE}CJaJhaCJaJhahaCJaJh$!hlkCJaJhkjhkjCJ]aJhj[hkjCJ]aJhgECJ]aJh7|CJ]aJJnKKKKOOPP\Q]QRRsRRRTT#UIUtUuUUU"V$ dh*$a$gdL2Y $dh*$a$gdL2Y $dhha$gdL2Y $dha$gdL2YOOOO0PBPPPPPPPP\Q]QQR"RQRRRYRrRsRRRRR4T5TOTĶĪ膶znz`WhZ/CJ]aJjhZ/CJU]aJh?'hVuYCJ]aJh?'h?'CJ]aJ!h,. hI5>*CJOJQJ\hICJaJhArhArCJaJhArhAr6CJaJhMJ5>*CJOJQJ\!h,. hF5>*CJOJQJ\hahlFWCJaJh?CJaJhFCJaJhq=CJaJhlFWCJaJOTPTQTSTTT"U#U*UHUIUtUuUUUUU"V#VsVtVvVwVVQWúé|hThHh'"h3CJ]aJ'h,. hk*[56>*CJOJQJ\]'h,. h,56>*CJOJQJ\]h?'h \CJ]aJ hArhArhArhAr6CJaJh5>*CJOJQJ\!h,. hI5>*CJOJQJ\h?'CJ]aJh?'h?'CJ]aJh/ gCJ]aJmHnHujhZ/CJU]aJ&j,ehZ/hPlCJU]aJ"V#VtVVQW^WYYu\\a$acc^e_egggghh $dhha$gdL2Y $dhha$gdL2Y $dhha$gdL2Y$ dh*$a$gdL2Y $dha$gdL2YQWSWTW^WyWWWWIXRXoXXXXXXXY Y$Y6Y?YYYYYYYYZ Z#ZBZZZZZZZ[ [t\u\w\ѿѶѭѤѶѿѿщщщщрo!h,. hb5>*CJOJQJ\h3CJ]aJhHCJ]aJh:CJ]aJh!CJ]aJhICJ]aJhs%CJ]aJhY70CJ]aJhCJ]aJhWCJ]aJh'"h3CJ]aJ!h,. hk*[5>*CJOJQJ\!h,. h35>*CJOJQJ\+w\x\\\ ] ]]]^^^^_`_a_x_y_z____aa$aaaaabbb7c>cccvmvmvbvYh:CJ]aJh+L6CJ]aJh?ikCJ]aJh+LCJ]aJh?'h?'CJ]aJ!h,. h?'5>*CJOJQJ\hbCJ]aJhvyCJ]aJh CJ]aJhs%CJ]aJh@LhbCJ]aJ!h,. h,5>*CJOJQJ\!h,. hb5>*CJOJQJ\!h,. hk*[5>*CJOJQJ\"cccde8e;e]e^e_eeeeeeNfPfffgggggggghh9hQhƺᑅ؅ye\ShCJ]aJhQCJ]aJ'h,. h56>*CJOJQJ\]hh CJ]aJhhCJ]aJ!h,. h5>*CJOJQJ\h?'hCJ]aJh?'h3CJ]aJh?'h ?8CJ]aJh?'CJ]aJh ?8CJ]aJh3CJ]aJh?'h?'CJ]aJh:CJ]aJh+LCJ]aJQhRhlhmhnhohphhh.i/i0i;i@iDiIiOikiiiiiiii_j`jjjjjjjjjgkhkkk鴨xlcllllllh(CJ]aJhhCJ]aJh''\CJ]aJh@CJ]aJh]2CJ]aJhhZQCJ]aJhZQCJ]aJhZQhZQCJ]aJh;&CJ]aJh#CJ]aJh/ gCJ]aJmHnHu&jehhQ|CJU]aJhCJ]aJjhCJU]aJ&h0ii`jjhkklDmmMnnnooqqtugwhw;zRz $dhha$gdL2Y $dhha$gdL2Y $dha$gdL2Y$ & F8 dh^`a$gdL2Ykkkk%lAlBlWlllllllmmm.m/m0m2m3mDmmmLnMnOnnnnnnnHownwwZ'h,. h56>*CJOJQJ\]h}PCJ]aJhh@CJ]aJhCJ]aJh@CJ]aJh/ gCJ]aJmHnHu&j&fh}h7gCJU]aJh}CJ]aJjh}CJU]aJh7PCJ]aJh,CJ]aJhZQCJ]aJh#CJ]aJhhCJ]aJ!HoOoooXppp7q=qEqqqUrrr1s2s7s8stutwwxxxxûóè|ssbVMVsVDhhnzCJ]aJh&kCJ]aJhqhqCJ]aJ!h,. hq5>*CJOJQJ\hJCJ]aJhOLCJ]aJhqhCJ]aJh4ubhCJ]aJh4ubhYCJaJh4ubh4ubCJaJh''\CJaJhL$CJaJh4ubh{CJaJh4ubhZCJaJ!h,. h5>*CJOJQJ\hhCJ]aJhR-CJ]aJxx_xx*CJOJQJ\]hCJ]aJhZBCJ]aJh&kCJ]aJhCJ]aJhhnzCJ]aJhqhqCJ]aJhJCJ]aJRz } }~~\] yA_k'LUg dh^gd9 & Fdhgd9 dh^gd9 & F dhgd9 dhhgd&I$ & F9dha$gdL2Y $dha$gdL2Y } }+}7}F}G}j}k}}}}}}}}}~~A~~~~rʀ߀<CJ~u~lccc~h#CJ]aJhQ|CJ]aJhX#;CJ]aJh7 ACJ]aJh5vfCJ]aJh/CJ]aJhy?eCJ]aJhCpCJ]aJh _CJ]aJh~CJ]aJh7PCJ]aJh}CJ]aJhsh=xCJ]aJhJCJ]aJhfCJ]aJh=xCJ]aJhqCJ]aJ&JO؁$+?[\] ANWXrxl[OhOh?ACJ]aJ jhOh?ACJU]aJhOhZ/CJ]aJhOhWCJ]aJhOh/CJ]aJhOhDHCJ]aJhOhy?eCJ]aJhOhkkCJ]aJhOhQ|CJ]aJhQ|CJ]aJhDHCJ]aJhX#;CJ]aJh#CJ]aJh/CJ]aJhy?eCJ]aJh7 ACJ]aJrstvwxy@AGJOQ^_`jk{{s{k{dS>(h&Ih@L5>*CJOJQJ\]aJ!h&Ih@L5>*CJOJQJ\ hO5\h CJaJhlCJaJhCJaJhKCJaJh&ICJaJhOhOCJaJhOh/CJaJhOhJhCJaJhOhkkCJ]aJhOhWCJ]aJh/ gCJ]aJmHnHu jhOh?ACJU]aJ&jfhOhPlCJU]aJk%&'YZ9:;STUgtuº{i{\{QI{h~CJaJh>ch>cCJaJh>ch>c0J CJaJ#j(ih>chQCJUaJjh>cCJUaJh>cCJaJh2h #0J CJaJ#j'hh2h #CJUaJjh #CJUaJh #CJaJh<+h<+CJaJh<+h<+0J CJaJ#j gh<+hmECJUaJjh<+CJUaJh<+CJaJ?@Aوڈۈɾ{ssgsUgHghhnzhhnz0J CJaJ#jkhhnzhKbCJUaJjhhnzCJUaJhhnzCJaJhDYhx`}0J CJaJ#jjhDYhKbCJUaJhDYCJaJjhDYCJUaJhWaCJaJhx`}CJaJhx`}hx`}CJaJh>ch~CJaJh>ch>c0J CJaJjh>cCJUaJ#jih>chQCJUaJg+ӉWkԋ@g] & Fdhgdc&] dh^gd7 A & Fdhgd[\ & Fdhgd9 dh^gd9*+89}~҉Ӊ!"#UVW^jkxyɷѪwi`XXho9CJaJh:eCJ]aJh?Xh:e0J CJ]aJ&jqmh?Xh CJU]aJh?XCJ]aJjh?XCJU]aJh:eCJaJh?XhP0J CJaJ#jzlh?Xh CJUaJh?XCJaJjh?XCJUaJh@LCJaJhCJaJhPCJaJhhnzhhnzCJaJ)*pqrӋԋ>?@tǾǾ޵ޓ޾s_sQsHhgCJ]aJhjhj0J CJ]aJ&j>phjh CJU]aJjhjCJU]aJhjCJ]aJhfCJ]aJh?Xh0J CJ]aJ&jCoh?Xh CJU]aJh?XCJ]aJhCJ]aJh\CJ]aJh?Xho90J CJ]aJjh?XCJU]aJ&j`nh?Xh CJU]aJtu\jk"#^򾵬{nf^V^NBNjh7 ACJUaJh7 ACJaJh/KCJaJh[\CJaJhL$CJaJhqhB0J CJaJ#jrhqhBCJUaJjhBCJUaJh .hBCJaJhBCJaJhBCJ]aJhL$CJ]aJhgCJ]aJh$Khg0J CJ]aJ&jqh$Khu&CJU]aJh$KCJ]aJjh$KCJU]aJ^_`  CDEPQpyĹĥ{jWE<h_>*CJaJ#hK"h_56>*OJQJ\]%h,. h15>*CJOJQJ\aJ!h,. h15>*CJOJQJ\hc&]hc&]CJaJh/Khc&]0J CJaJ#jth/Kh~CJUaJjh/KCJUaJh/KCJaJh/Kh/KCJaJhc&]CJaJh7 ACJaJh7 Ah7 A0J CJaJjh7 ACJUaJ#jsh7 Ah&ICJUaJEQpy;ڐ,ԑ'IXu # g dhgd N $ g dhgd N <gd_ $dhha$gdK" $dh<a$gd N dh^gdc&]yzŏƏǏ ̩̞~s_E2juh h_>*B*UmHnHphu&h_5;CJ\aJmHnHtH uh/ gmHnHu j~uh_UmHnHujh_UmHnHuh_mHnHu2juh h_>*B*UmHnHphuh_mHnHuh h_0J mHnHu$jh h_0J UmHnHu hph_jhph_U45689:;<=YZ[\nop淣ra淣 jrwh_UmHnHu2jvh h_>*B*UmHnHphuh_mHnHuh h_0J mHnHu&h_5;CJ\aJmHnHtH u$jh h_0J UmHnHuh/ gmHnHu jxvh_UmHnHujh_UmHnHuh_mHnHuӐԐՐאِؐڐېܐ   %&')*+ź{rXźG jfyh_UmHnHu2jxh h_>*B*UmHnHphuh_mHnHu&h_5;CJ\aJmHnHtH uh/ gmHnHu jlxh_UmHnHujh_UmHnHuh_mHnHuh h_0J mHnHu$jh h_0J UmHnHu2jwh h_>*B*UmHnHphu+,-.JKLM^_`z{|~͑˨˝}raG˝2jzh h_>*B*UmHnHphu h_:CJaJmHnHtH uh/ gmHnHu j`zh_UmHnHujh_UmHnHuh_mHnHu2jyh h_>*B*UmHnHphuh_mHnHuh h_0J mHnHu$jh h_0J UmHnHu&h_5;CJ\aJmHnHtH u͑ΑϑёґӑԑՑ֑ !"$%&'()EFGH±££uud±£J2j|h h_>*B*UmHnHphu jT|h_UmHnHuh_mHnHu2j{h h_>*B*UmHnHphuh_mHnHuh h_0J mHnHu h_:CJaJmHnHtH u$jh h_0J UmHnHuh/ gmHnHujh_UmHnHu jZ{h_UmHnHuHijkӒԒՒ׻רtc׻ר jH~h_UmHnHu2j}h h_>*B*UmHnHphuh_mHnHu h_:CJaJmHnHtH u$jh h_0J UmHnHuh/ gmHnHu jN}h_UmHnHujh_UmHnHuh_mHnHuh h_0J mHnHu&'(BCDFGHIJKghijyz{ź{rXźG j<h_UmHnHu2jh h_>*B*UmHnHphuh_mHnHu&h_5;CJ\aJmHnHtH uh/ gmHnHu jBh_UmHnHujh_UmHnHuh_mHnHuh h_0J mHnHu$jh h_0J UmHnHu2j~h h_>*B*UmHnHphuדؓٓ567Q˨˝}rX˝2jh h_>*B*UmHnHphuh/ gmHnHu j6h_UmHnHujh_UmHnHuh_mHnHu2jh h_>*B*UmHnHphuh_mHnHuh h_0J mHnHu$jh h_0J UmHnHu&h_5;CJ\aJmHnHtH uQRSUVWXYZvwxy֔הؔٔ±££uud±£J2jh h_>*B*UmHnHphu j*h_UmHnHuh_mHnHu2jh h_>*B*UmHnHphuh_mHnHuh h_0J mHnHu h_:CJaJmHnHtH u$jh h_0J UmHnHuh/ gmHnHujh_UmHnHu j0h_UmHnHuٔ3456RSTnoprstuvw׻רtc׻ר jh_UmHnHu2jh h_>*B*UmHnHphuh_mHnHu h_:CJaJmHnHtH u$jh h_0J UmHnHuh/ gmHnHu j$h_UmHnHujh_UmHnHuh_mHnHuh h_0J mHnHuǕȕɕ˕͕̕ΕϕЕ #$%'()*ź~u[źJ~ jh_UmHnHu2jh h_>*B*UmHnHphuh_mHnHu h_:CJaJmHnHtH uh/ gmHnHu jh_UmHnHujh_UmHnHuh_mHnHuh h_0J mHnHu$jh h_0J UmHnHu2jh h_>*B*UmHnHphuuΕ*ZuØ.|ʙ%9ۚܚĝԝ $ & F hhdh*$^ha$gd_ $dha$gd N DgdK" $ g dhgd N # g dhgd N *+,HIJKfghŖƖǖ߼߱u[߱J jh_UmHnHu2jh h_>*B*UmHnHphu h_:CJaJmHnHtH uh/ gmHnHu j h_UmHnHujh_UmHnHuh_mHnHu2jh h_>*B*UmHnHphuh_mHnHuh h_0J mHnHu$jh h_0J UmHnHu 789STUWXYZ[\xyz{ӴӴuӴ[Ӵ2j}h h_>*B*UmHnHphu jh_UmHnHuh_mHnHu2jh h_>*B*UmHnHphuh_mHnHuh h_0J mHnHu h_:CJaJmHnHtH u$jh h_0J UmHnHujh_UmHnHuh/ gmHnHuϗЗїҗ789® } rra® G2jqh h_>*B*UmHnHphu jh_UmHnHuh_mHnHu2jwh h_>*B*UmHnHphuh_mHnHuh h_0J mHnHu&h_5;CJ\aJmHnHtH u$jh h_0J UmHnHuh/ gmHnHujh_UmHnHu jh_UmHnHu9:RSTnoprstuvw˜ØĘŘԴũߌraũPߌ h_:CJaJmHnHtH u jh_UmHnHu2jkh h_>*B*UmHnHphuh_mHnHu&h_5;CJ\aJmHnHtH uh/ gmHnHu jh_UmHnHujh_UmHnHuh_mHnHuh h_0J mHnHu$jh h_0J UmHnHu   '()+,-./0LMNOYZ[uvwyz{|ź~u[źJ~ j܏h_UmHnHu2j_h h_>*B*UmHnHphuh_mHnHu h_:CJaJmHnHtH uh/ gmHnHu jh_UmHnHujh_UmHnHuh_mHnHuh h_0J mHnHu$jh h_0J UmHnHu2jeh h_>*B*UmHnHphu|}~ÙęřǙșəʙ˙̙߼߱rX߱G jБh_UmHnHu2jSh h_>*B*UmHnHphu&h_5;CJ\aJmHnHtH uh/ gmHnHu j֐h_UmHnHujh_UmHnHuh_mHnHu2jYh h_>*B*UmHnHphuh_mHnHuh h_0J mHnHu$jh h_0J UmHnHu "#$%&9ٚښۚܚCRZ[ayzmĝԝԟٟ01>Ҿuuuuuuj_____hch_CJaJhrfh_CJaJhh_CJaJhTh_CJaJh_CJaJh_6CJaJhI5h_6CJaJ h0sh_jhph_CJUaJ&h_5;CJ\aJmHnHtH u$jh h_0J UmHnHuh/ gmHnHujh_UmHnHu% WП?נCxǡȡɡM΢DJr$dha$$ & F dha$gd N $ & F< hWdh^`Wa$gd A $dha$gd N DgdK"$ & F hhdh*$^ha$gd_>?DJ-.=gy«/0@{|>?wldhlCJaJhSh_CJaJhTh_CJaJh h_>*CJaJh_>*CJaJh_h0h_>*CJaJhfbFh_CJaJh/ gCJaJmHnHujh_CJUaJhVh_CJaJ htp2h_h_5CJaJ h0sh_hch_CJaJh_CJaJ'r}@K[h .=gy« $dhxa$gd N EgdK"dhgd N $dha$gd N DgdK"$dh^a$gd N $dh^a$$ & F=dha$gd A[=>Jԭ/0@ Rwǰ$ & F dha$gd_ $dhxa$gd N EgdK"?gd N $ & F dha$gd_ $dha$gd N $ & F dha$gd_ǰȰ԰<,jbHIU˵$ & F dha$gd_$ & F dha$gd_ $dhxa$gd N EgdK"$ & F dha$gd_ $dha$gd N ˵{|qrtǹ78D$ & Fdha$gd N $ & F dha$gd_ $dhxa$gd N $dha$gd N EgdK"?gd N $ & F dha$gd_?NOqr8D34O\^k۾vw  IOce6R\hch_CJaJhhh_CJaJ h~h_hYh_>*CJaJhwh_CJaJ h=h_h&h_CJaJhQ(h_>*CJaJh3Zh_CJaJhlCJaJh_CJaJ:1234O\d^_k۾deDgdK"$ & F dha$gd_$ & F dha$gd_ $dhxa$gd N $dha$gd N  )-.8DE  M 47$%A8h;h_CJaJ h_5\h_5CJ\aJhc&CJaJhj%h_CJaJh;h)h_5CJaJ hBvh_h_hch_CJaJh_CJaJ9 N@6aV`$dh^`a$gd N EgdK"DgdK"$ & F dh*$^a$gd_ $dha$gd N Hc S7:! $dha$gd N EgdK"$dh^`a$gd N f4Q%Au68VT$dh^`a$gd;$dh^`a$gd N $dha$gd N EgdK"89:QRSTUABD!"#%&-.BC:JOPźغغخ؜؈غغغغ}vغ hbRh_h;hsCJaJ hzh_h/ gCJaJmHnHu#jݒh{h_CJUaJh;h_CJH*aJh;h_CJaJh_jMhyih_CJUaJh_CJaJjh_CJUaJ&jh_CJUaJmHnHtH u*T;3T(^.B:DgdsDgdK"$ & F> -dh*$^`a$gdB $dha$gd N EgdK"$dh^`a$gd N :MNOPUY^_k`kdZ$$IfF mN0S!    44 la $$G$Ifa$gd N $dha$ P^()1XY/~)*ͻ°°¥ufWjhN[h_CJUaJjXhN[h_CJUaJjXhN[h_CJUaJjhN[h_CJUaJhN[h_CJaJ hzWh_hN[h_CJaJhoDh_CJaJ hQh_h!wh_CJaJh_CJaJh!wh_CJaJh_CJaJhlpgh_CJaJhlpgh_5CJaJ"xjjj $$G$Ifa$gd N kd$$IfF mN0S!    44 la )xjjj $$G$Ifa$gd N kd$$IfF mN0S!    44 la)*4hqxjjj $$G$Ifa$gd N kd/$$IfF mN0S!    44 laqr{xjjj $$G$Ifa$gd N kdʕ$$IfF mN0S!    44 laxjjj $$G$Ifa$gd N kde$$IfF mN0S!    44 la>Gvhhh $$G$Ifa$gd N kd$$IfF mN0S!    44 laGHTxjjj $$G$Ifa$gd N kd$$IfF mN0S!    44 laxjjj $$G$Ifa$gd N kd:$$IfF mN0S!    44 la'0xjjj $$G$Ifa$gd N kd՘$$IfF mN0S!    44 la01:W`xjjj $$G$Ifa$gd N kdp$$IfF mN0S!    44 la`amxjjj $$G$Ifa$gd N kd $$IfF mN0S!    44 la/xpe`eeeee[EgdsDgds $dha$gd N $dha$kd$$IfF mN0S!    44 la $Ifl7FfÜ$Ifl7'$Ifl7Ff3$Ifl7$Ifl7Ff$Ifl7$Ifl7Ff^$Ifl7 !"#$%&'()+,6ABCDEFGHIJ$Ifl7\Ff $Ifl7JKLMNOPQRSTUVWYZopqrstuvwx$Ifl7Ff$Ifl7\*WX  7OPvwzk\Mj8hoDh_CJUaJjlhoDh_CJUaJjhoDh_CJUaJjhoDh_CJUaJj?hoDh_CJUaJhoDh_CJaJ hzWh_jhN[h_CJUaJjhN[h_CJUaJjPhN[h_CJUaJj hN[h_CJUaJjhN[h_CJUaJhN[h_CJaJxyz{|}~$Ifl7TFfX$Ifl7$Ifl7Ff$Ifl7T$Ifl7Ff$Ifl7    78:<=$$Ifa$gd N l7'$Ifgd N l7'EgdsFfL$Ifl7=>KLMNOP=====$Ifgd N l7kd$$Ifl\m}a !2   t05"644 lapOQ$Ifgd N l7QRkd$$Iflֈm }a !j  t05"644 lap2Rrstuvx$Ifgd N l7xy kdj$$Iflֈm }a !j  t05"644 lap2y$Ifgd N l7Egdskd $$Iflrm }a !   t(05"644 lap($Ifl7\Ff $Ifl7'$Ifgd N l7'$Ifl7TFf$Ifgd N l7\$Ifl7\     $Ifl7Ff$Ifgd N l7T$Ifl7T'()*+,-./01234567$Ifl7\Ff%$Ifgd N l7$Ifl79:pq "68wwsleZOh .h_CJaJhph_CJaJ h7h_ hGh_h_h~8h_CJH*aJh_CJaJjZhoDh_CJUaJjxPhoDh_CJUaJjnFhoDh_CJUaJj<hoDh_CJUaJjP3hoDh_CJUaJj)hoDhCJUaJhoDh_CJaJjr hoDh_CJUaJ789;<^_`abcdefghijklmnop$Ifl7TFfv.$Ifgd N l7\$Ifl7\prs$Ifgd N l7$Ifl7Ff7$Ifgd N l7TFf>K$Ifgd N l7\$Ifl7\FfpA$Ifl7FfFU$Ifgd N l7T$Ifl7TDgds $dha$gd N FfZ_$Ifgd N l7$Ifl7GMw9 dh`gd N  dh^gd N  dh^gd N dhgd N  ydh^ygd N  & F dhgd N dh^gd N & Fdhgd N EFNi?LFGOsh2h_0J CJaJ#jgh2h_CJUaJ#j^fhph_CJUaJh&h_CJaJ#jehph_CJUaJh .h_CJaJhph_0J CJaJ#jdhph_CJUaJh_CJaJjh_CJUaJ&OPQ&HJK#$%pqŕ̶̶̲̙o#hOthOt56>*OJQJ\]h3 h[CJaJhqh_0J CJaJ#jihqh_CJUaJ h`h_h_hh_CJaJh .h_CJaJh_CJaJhI5h_0J CJaJjh_CJUaJ#jhhI5h_CJUaJ(kN  J  3    #$ g dha$gdOt$$ g dha$gdOtgdOt $dhha$gdOt Sdhgd N S@dhgd N  & F. dhgd N Dgds dhgd N     + , - G H I K L M N O P l m rgS&hOt5;CJ\aJmHnHtH uh/ gmHnHu jjhOtUmHnHujhOtUmHnHuhOtmHnHu2j jhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu$jhcothOt0J UmHnHuhOt5;\jhOt5;U\hOt>*CJaJm n o                 ' ( ) C D E G H I J ź~u[źJ~ j}lhOtUmHnHu2jlhcothOt>*B*UmHnHphuhOtmHnHu hOt:CJaJmHnHtH uh/ gmHnHu jkhOtUmHnHujhOtUmHnHuhOtmHnHuhcothOt0J mHnHu$jhcothOt0J UmHnHu2jkhcothOt>*B*UmHnHphuJ K L h i j k                    , - . ߼߱u[߱J jqnhOtUmHnHu2jmhcothOt>*B*UmHnHphu hOt:CJaJmHnHtH uh/ gmHnHu jwmhOtUmHnHujhOtUmHnHuhOtmHnHu2jlhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu$jhcothOt0J UmHnHu. 0 1 2 3 4 5 Q R S T z { |                  ӴӴuӴ[Ӵ2johcothOt>*B*UmHnHphu jkohOtUmHnHuhOtmHnHu2jnhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu hOt:CJaJmHnHtH u$jhcothOt0J UmHnHujhOtUmHnHuh/ gmHnHu             b c d ~             ±££uud±£J2jqhcothOt>*B*UmHnHphu j_qhOtUmHnHuhOtmHnHu2jphcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu hOt:CJaJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHujhOtUmHnHu jephOtUmHnHu                 S T U o p q s t u v w x   ׻רtc׻ר jSshOtUmHnHu2jrhcothOt>*B*UmHnHphuhOtmHnHu hOt:CJaJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHu jYrhOtUmHnHujhOtUmHnHuhOtmHnHuhcothOt0J mHnHu  v  &8EZm9?&$ g dha$gdOt%$ g dha$gdOt$$ g dha$gdOt#$ g dha$gdOt                    !#$%ź~u[źJ jGuhOtUmHnHu2jthcothOt>*B*UmHnHphuhOtmHnHu hOt:CJaJmHnHtH uh/ gmHnHu jMthOtUmHnHujhOtUmHnHuhOtmHnHuhcothOt0J mHnHu$jhcothOt0J UmHnHu2jshcothOt>*B*UmHnHphu%&'(DEFGlmn˨˝}raG˝2jvhcothOt>*B*UmHnHphu hOt:CJaJmHnHtH uh/ gmHnHu jAvhOtUmHnHujhOtUmHnHuhOtmHnHu2juhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu$jhcothOt0J UmHnHu&hOt5;CJ\aJmHnHtH u12356789:VWXY°¢¢ttc°¢I2jxhcothOt>*B*UmHnHphu j5xhOtUmHnHuhOtmHnHu2jwhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu#hOt6CJ]aJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHujhOtUmHnHu j;whOtUmHnHuY׻רve׻ר j)zhOtUmHnHu2jyhcothOt>*B*UmHnHphuhOtmHnHuhOtCJaJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHu j/yhOtUmHnHujhOtUmHnHuhOtmHnHuhcothOt0J mHnHu"#$>?@BCDEFGcdef{|}źӀw]źLӀ j|hOtUmHnHu2j{hcothOt>*B*UmHnHphuhOtmHnHuhOtCJaJmHnHtH uh/ gmHnHu j#{hOtUmHnHujhOtUmHnHuhOtmHnHuhcothOt0J mHnHu$jhcothOt0J UmHnHu2jzhcothOt>*B*UmHnHphu789STUWXλ񰡰v\񰡰K j~hOtUmHnHu2j}hcothOt>*B*UmHnHphuhOtCJaJmHnHtH uh/ gmHnHu j}hOtUmHnHujhOtUmHnHuhOtmHnHu$jhcothOt0J UmHnHu2j|hcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHuXYZ[\xyz{ЭТw]ТL jhOtUmHnHu2jhcothOt>*B*UmHnHphuh/ gmHnHu j hOtUmHnHujhOtUmHnHuhOtmHnHu2j~hcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHuhOtCJaJmHnHtH u$jhcothOt0J UmHnHu89:;JKLfghjklmnoҲҲsdҲJҲ2j|hcothOt>*B*UmHnHphuhOtCJaJmHnHtH u jhOtUmHnHuhOtmHnHu2jhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu#hOt6CJ]aJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHujhOtUmHnHu2346789:;WX淨wfT#hOt6CJ]aJmHnHtH u jhOtUmHnHu2jvhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHuhOtCJaJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHu jhOtUmHnHujhOtUmHnHuhOtmHnHuXYZjklźӀw]źLӀ jhOtUmHnHu2jjhcothOt>*B*UmHnHphuhOtmHnHuhOtCJaJmHnHtH uh/ gmHnHu jhOtUmHnHujhOtUmHnHuhOtmHnHuhcothOt0J mHnHu$jhcothOt0J UmHnHu2jphcothOt>*B*UmHnHphu89:<=>?@A]^_`{|}λ񰡰v\񰡰K jۆhOtUmHnHu2j^hcothOt>*B*UmHnHphuhOtCJaJmHnHtH uh/ gmHnHu jhOtUmHnHujhOtUmHnHuhOtmHnHu$jhcothOt0J UmHnHu2jdhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu234NOЭТw]ТL jψhOtUmHnHu2jRhcothOt>*B*UmHnHphuh/ gmHnHu jՇhOtUmHnHujhOtUmHnHuhOtmHnHu2jXhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHuhOtCJaJmHnHtH u$jhcothOt0J UmHnHuU\/c  EgdOt $dha$gdOtDgdOt$$ g dha$gdOt#$ g dha$gdOt%$ g dha$gdOt&$ g dha$gdOtOPRSTUVWstuvҵҵvҵ\ҵ2jFhcothOt>*B*UmHnHphu jɉhOtUmHnHuhOtmHnHu2jLhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHuhOtCJaJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHujhOtUmHnHu %&'(9:;UVWYZ[\]^z{|}°¢¢ttc°¢I2j:hcothOt>*B*UmHnHphu jhOtUmHnHuhOtmHnHu2j@hcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu#hOt6CJ]aJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHujhOtUmHnHu jÊhOtUmHnHu}67׻רtc׻ר jhOtUmHnHu2j4hcothOt>*B*UmHnHphuhOtmHnHu hOt:CJaJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHu jhOtUmHnHujhOtUmHnHuhOtmHnHuhcothOt0J mHnHu789^_`z{|~ź~u[źJ jhOtUmHnHu2j(hcothOt>*B*UmHnHphuhOtmHnHu hOt:CJaJmHnHtH uh/ gmHnHu jhOtUmHnHujhOtUmHnHuhOtmHnHuhcothOt0J mHnHu$jhcothOt0J UmHnHu2j.hcothOt>*B*UmHnHphu  ()*,-./01MNOPefg̩̞~sY̞H jhOtUmHnHu2jhcothOt>*B*UmHnHphuh/ gmHnHu jhOtUmHnHujhOtUmHnHuhOtmHnHu2j"hcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu$jhcothOt0J UmHnHu#hOt6CJ]aJmHnHtH u@ҳҳtbҳHҳ2jhcothOt>*B*UmHnHphu#hOt6CJ]aJmHnHtH u jhOtUmHnHuhOtmHnHu2jhcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu hOt:CJaJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHujhOtUmHnHu@AB\]^`abcde淥tcO&hOt5;CJ\aJmHnHtH u jhOtUmHnHu2j hcothOt>*B*UmHnHphuhOtmHnHuhcothOt0J mHnHu#hOt6CJ]aJmHnHtH u$jhcothOt0J UmHnHuh/ gmHnHu jhOtUmHnHujhOtUmHnHuhOtmHnHu       #ź{pleZeReF=F=hOtCJ\aJh>KhOtCJ\aJhlhOt>*h>KhOtCJaJ h hOthOtjhOt;U\&hOt5;CJ\aJmHnHtH uh/ gmHnHu jhOtUmHnHujhOtUmHnHuhOtmHnHuhcothOt0J mHnHu$jhcothOt0J UmHnHu2jhcothOt>*B*UmHnHphu/089kl8#########E$F$N$O$`$d$o$x$$$$$$$%%%%%%%&&&&&&&9'C'I'O'`'~'''((((((+ɽhOthOtCJaJh>KhOtCJaJ hehOthlhOt>* h>KhOthOtCJ\aJh>KhOtCJ\aJJ>"?"##%%&&`''++,,-o0p000"4#45c56S7EgdOt $dha$gdOt++[,l,,,,---L-M-U-V-&.+.5.8.P.T.s....////P000000;1<1455]5b5c5R7S7x7}7~77ȽϮׇhghOt>*hOtB*CJ\aJph h>KhOtB*CJ\aJph h@&ChOthOtCJaJh>KhOtCJaJ h3rhOthlhOt>* h>KhOthlhOtCJ\aJh>KhOtCJ\aJhOtCJ\aJ/S7~799|;;==>>AACCzGGGJJJJ`KKNNPPogdingdiDgdOt $dha$gdOtEgdOt77777n9w999::: ;;|;;;;:=?=T>o>>>>>OA[AaAdARBnBqBrBxByBBBBBCJCCCCCCCCCCCCCC6DvDDEûûʩhOtCJ]aJhu AhOtCJ]aJ hghOthOt h@&ChOthghOt>* h>KhOthOtCJaJh>KhOtCJaJhOtCJPJ_HaJnHtH$h>KhOtCJPJ_HaJnHtH:E9E=EEE#F4FFyGzGGGGGJJ`KKMMOOOOOPPQRRRR6R;R*CJUaJmHnHtH uhOt>*CJaJhOtCJaJjhOtCJUaJh/ gCJaJmHnHu#@VeVfVVVV`kd$$IfF +  S!    44 la$dh$G$Ifa$gdOtVVVVVV.`kd˘$$IfF +  S!    44 la$dh$G$Ifa$gdOt`kd4$$IfF +  S!    44 laVVWWAXBXOXFYKYXYdY dh$G$IfgdOtogdi $dha$gdOt $dha$gdOt dYeYlYqYZ}ooo dh$G$IfgdOtkd$$IfF Ha0    44 laZZZZp[}ooo dh$G$IfgdOtkd$$IfF Ha0    44 lap[q[x[|[[}ooo dh$G$IfgdOtkd2$$IfF Ha0    44 la[[[[^\}ooo dh$G$IfgdOtkdқ$$IfF Ha0    44 la^\_\d\h\T^}ooo dh$G$IfgdOtkdr$$IfF Ha0    44 laT^U^[^`^^}ooo dh$G$IfgdOtkd$$IfF Ha0    44 la^^^^__>aa}rrrm`E$ & F= Vdh^`Va$gdO; $dhxa$gdOtogdi $dha$gdOtkd$$IfF Ha0    44 laabbHceczcdddd dh$G$IfgdOtogdi $dha$gdOt$ & F= Vdh^`Va$gdO;$ & F= @Vdh^`Va$gdO; adbdcdedfddd9gNgRgpgsgggggg~hqjrjsjj'k,k3kkkkkllllNlOlflglhl̸̸̸̸̸̨|k| jh |hOtCJU]aJ)jhOtCJU]aJmHnHtH ujhOtCJU]aJhOtCJ]aJhOthu AhOtCJ]aJhu AhOtCJaJhOt>*CJaJhOtCJaJh/ gCJaJmHnHujhOtCJUaJ#jh8hOtCJUaJ%dddddd1`kd$$IfF * { S!    44 la dh$G$IfgdOt`kd_$$IfF * { S!    44 ladeeeee=e?e`kd$$IfF * { S!    44 la dh$G$IfgdOt?e@eHegeieje1`kdɡ$$IfF * { S!    44 la dh$G$IfgdOt`kd2$$IfF * { S!    44 lajeteeffff9g~hqjxx & F dh$If^gdOt`kd`$$IfF * { S!    44 la dh$G$IfgdOt qjrjsjkkklNlkll`nan3pIpqrogdi $dha$gdOt $dhxa$gdOt`kd$$IfF * { S!    44 lahliljlklolll`nannn3p5pHpIppp2q6qqqqqrrrrrr+r's7sssssźųͳااا͟yrųffjhOtCJUaJ h 8hOthWhOtCJaJjʤhKhOtUjhOtUmHnHtH ujhOtUh8hOtCJ]aJ h{lhOth)uhOtCJaJhOtCJaJhOt h7_GhOthOtCJ]aJjhOtCJU]aJ j:h|hOtCJU]aJ#r+r's7sss>w?wyyyyyZzwzxz}} :@Q $dhha$gdOtogdi $dha$gdOtngdissssyyyyZz[zrzsztzuzvzwzz{{/{{{{S|T|v|||}K}W}}~~~~~ɽѫɈ|q|q||q|q|_#jzh}hOtCJUaJh)hOtCJaJh)hOtCJ]aJhOtCJ]aJhO`hOtCJaJjhH:hOtCJUaJh\hOtCJaJ h{lhOthOt5>*CJ\aJhOtCJaJjhOtCJUaJjZhzH hOtCJUaJ&jhOtCJUaJmHnHtH u$~~ -Wwȁ :@Q/GH_`abcdxnrs#1267N޷棔޷޷ޅh|ehOtCJaJhOtj hhOtCJUaJ&jhOtCJUaJmHnHtH uhOt>*CJaJ h{lhOth)hOtCJ]aJh)hOtCJaJhOtCJaJjhOtCJUaJh/ gCJaJmHnHu4(/09KLVt^Hkd$$If0  44 laHkd$$If0  44 la$dh$G$Ifa$gdOttu}^Hkd$$If0  44 la$dh$G$Ifa$gdOtHkd$$If0  44 la!"ՅօGd^QQFF $dha$gdOt $dhxa$gdOtHkd$$If0  44 la$dh$G$Ifa$gdOtHkd $$If0  44 ladx ?Mkd$$If0  S!44 la$dh$G$Ifa$gdOt $dha$gdOtogdi?@JablTMkd$$If0  S!44 la$dh$G$Ifa$gdOtMkd*$$If0  S!44 la·TMkd$$If0  S!44 la$dh$G$Ifa$gdOtMkd,$$If0  S!44 lan#$dh$G$Ifa$gdOtogdi $dha$gdOtMkd.$$If0  S!44 la#$8QR\zTMkd9$$If0  S!44 la$dh$G$Ifa$gdOtMkd$$If0  S!44 laz{2NTIDIogdi $dha$gdOtMkd1$$If0  S!44 la$dh$G$Ifa$gdOtMkd$$If0  S!44 laՏ]^?@qr rs֙VWmx$ & F?dha$gdOtEgd/Ul$a$gdOtngd/U $dha$gdOtogdiՏُڏ܏&'^msڑۑϒr֙Vm%·tthu AhOtCJ]aJ h-hOthLhOt5CJaJhOtCJ]aJhy,hOt5CJ\]aJhy,hOtCJ]aJh'hOtCJaJ+hOtB*CJOJQJ^JaJnH phtH h=!hOt5CJaJhOt5CJaJhOt h{lhOthOtCJaJ-%) gj̞rslmnNO*=ۤܤݤ34jxlo鰠鍅zzzzzh>hh(pCJaJh(pCJaJh>hhOtCJaJj hOtUjhOtUmHnHtH ujhOtUhQ$hOtCJaJ hk0nhOt h[1hOthOt>*CJaJh/UCJaJ h-hOthOthOtCJaJhOt5CJ\aJ.s(̞ў dh$G$IfgdOt$ & FPdhxa$gd/U$ dhxa$gd/UEgd/Ul$a$gdOt $dha$gdOt$ & F?dha$gdOt  qr;[kdR$$IfFHO     44 la dh$G$IfgdOt[kd$$IfFHO     44 larslMkd$$If03 ]!44 la dh$G$IfgdOt$ & FPdhxa$gd/U$hdh^ha$gdOtlmnNO*6=zll dh$G$IfgdOt$ & FPdhxa$gd/U$hdh^ha$gdOt$ & FPdha$gd/U $dha$gdOtMkdx$$If03 ]!44 la=>Oۤܤ4WL>$ & FPdha$gd(p $dha$gdOtMkd$$If0  ]!44 la dh$G$IfgdOtMkd$$If0  ]!44 la4l2۪45Tmngd(p $dha$gdOtEgd(p$ & FPdha$gd(p$ & FT dha$gd(p$ & FS dh^a$gd(p$ & FR dh^a$gd(p2.1۪wTm̯ͯ78cdڰ۰67ɱαϱ "0;BNP깲ŨŲŲŨЌh.hOtCJ\aJhOtCJ\aJhKhOt>*CJaJ h1QhOthLahOt\] hLahOthLahOt>*CJaJhLahOtCJaJhOth\hOtCJaJh>~hOtCJaJ h-hOthOtCJaJ hx"4hOt1mrίӯ7^HHHdh$IfgdOtl7\kd$$IflF   3J t0 6    44 ladh$IfgdOtl7'78elt^^^dh$IfgdOtl7kd$$IflF   3J t0 6    44 laڰt^^^dh$IfgdOtl7kd$$IflF   3J t0 6    44 laڰ۰8<t^^^dh$IfgdOtl7\kd$$IflF   3J t0 6    44 laϱ "tobLLdh$IfgdOtl7' $dhxa$gdOtngd(pkd$$IflF   3J t0 6    44 la"#k W BԶ/nnnnnnnnnn & FNdh$IfgdOtl7xkd$$Ifl08  t0644 la /0;r 3¸qaP; pdh^`gdOt & FF hpdhgdOt dh^gdOt & FF pdhgdOtDgdozkd_$$Ifl08  t0644 laPqrs˷̷ͷ  AB¸-.PԶȩԗȩȌԈvȩȈo]"hl0JjCJOJQJaJmH sH hUhOt#jøhK@hOtCJUaJhOthBhOtCJaJ#jʷhK@hOtCJUaJhK@hOt0J CJaJ#jǶhK@hOtCJUaJjhOtCJUaJhOtCJaJhOtCJ\]aJh=hOtCJaJh.hOtCJ\]aJ¸/EFrȼS0# & FFdhgdOt dh^gdOt hdh^gdOt hdh^`gdOt & FF hdhgdOt hndh^`gdOt & FF hpdhgdOt̺ͺCDEZ[\ּ׼QRl߻~l[ hqhOtB*CJ]aJph#j?hK@hOtCJUaJ#jFhK@hOtCJUaJhK@hOt0J CJaJ#j[hK@hOtCJUaJjhOtCJUaJhOtCJaJhK@hOt0J jjhOtUjhOtUhOthUhOtCJaJ"hOt0JjCJOJQJaJmH sH #ɽʽ˽0=>޾߾QSTƺѨщ{cPEh^hOtCJaJ$hK@hOt0J CJ_HaJnHtH/j2hK@hOtCJU_HaJnHtHhOtCJ_HaJnHtH#jhOtCJU_HaJnHtHhK@hOt0J CJaJ#jhK@hOtCJUaJjhOtCJUaJh-KhOtCJaJhOtCJaJ hqhOthK@hOt0J jhOtUj4hOtUhOt#Nb{ESgq dh^gdOt & FF dhgdOt hdh^gdOt & FF hdhgdOt hdh^`gdOt hndh^`gdOt & FF hdhgdOt Sdh^`gdOt T+,-QRtu"#opq4GtieZZh .hOtCJaJhOthlhOtCJaJhThOtCJaJh<+hOt0J CJaJ#jh<+hOtCJUaJ#jhK@hOtCJUaJ#jhK@hOtCJUaJh 9hOtCJaJhK@hOt0J CJaJjhOtCJUaJ#jhK@hOtCJUaJhOtCJaJ#5Mu*By Sp@dh^gdOt Spdh^gdOt pdh^gdOt SSdh^SgdOt & FU pdhgd(p SdhgdOt SdhgdOt & FU dhgd(pDgdomgdOtGHJM'EKL01ַ֬ttm h,h]$Shh]$S6CJaJhh]$SCJaJ hl)#h]$S#hs>h]$S56>*OJQJ\]h]$SCJaJh3 hOtCJaJh3 hOt0J CJaJ#jh3 hOtCJUaJjhOtCJUaJh .hOtCJaJhOtCJaJhhOtCJaJ*B'1F & F6dh$Ifgd]$Sl7'dh$Ifgd]$Sl7'Dgd]$S $dhha$gds> hSS}dh^S`}gdOt & FU pdhgd(p qqdh$Ifgd]$Sl7xkd$$Ifl03  t0644 laKqqdh$Ifgd]$Sl7xkd)$$Ifl03  t0644 laKLWqqdh$Ifgd]$Sl7\xkd$$Ifl03  t0644 laqqdh$Ifgd]$Sl7xkdW$$Ifl03  t0644 la qqdh$Ifgd]$Sl7xkd$$Ifl03  t0644 la0qqdh$Ifgd]$Sl7\xkd$$Ifl03  t0644 la01<qqdh$Ifgd]$Sl7xkd$$Ifl03  t0644 la`lS$dh$Ifa$gd]$Sl7'dh$Ifgd]$Sl7'Dgd]$Sxkd$$Ifl03  t0644 la_aklYZ56OPorpqIJ ûjhK,>*CJUaJhK,>*CJaJhBhK,CJaJ#hK,hK,56>*OJQJ\]hK,CJaJh3 hgCJaJh;bh]$SCJaJh\h]$SCJaJh]$S5CJaJhh]$SCJaJh]$SCJaJ1`alqqdh$Ifgd]$Sl7xkdJ$$Ifl03  t0644 laqqdh$Ifgd]$Sl7\xkd$$Ifl03  t0644 la$Yqqdh$Ifgd]$Sl7xkdx$$Ifl03  t0644 laYZeqqqdh$Ifgd]$Sl7xkd$$Ifl03  t0644 la5qqdh$Ifgd]$Sl7\xkd$$Ifl03  t0644 la56Aqqdh$Ifgd]$Sl7xkd=$$Ifl03  t0644 laqqdh$Ifgd]$Sl7xkd$$Ifl03  t0644 la!qqqqdh$Ifgd]$Sl7\xkdk$$Ifl03  t0644 lauqqqdh$Ifgd]$Sl7xkd$$Ifl03  t0644 laOqqdh$Ifgd]$Sl7xkd$$Ifl03  t0644 laOP[qqqdh$Ifgd]$Sl7\xkd0$$Ifl03  t0644 laqqdh$Ifgd]$Sl7xkd$$Ifl03  t0644 lapqqdh$Ifgd]$Sl7xkd^$$Ifl03  t0644 lapq|Iqqdh$Ifgd]$Sl7\xkd$$Ifl03  t0644 laIJUqqdh$Ifgd]$Sl7xkd$$Ifl03  t0644 laqqdh$Ifgd]$Sl7xkd#$$Ifl03  t0644 la uh`XL $ g dhgdK,dhgdK,$a$gdK, $dhha$gdK, hSdhgd[gd]$Sxkd$$Ifl03  t0644 la/012NOPQabc}~ǾǤǙynZǾ@2jKh]vahK,>*B*UmHnHphu&hK,5;CJ\aJmHnHtH uh/ gmHnHu jhK,UmHnHujhK,UmHnHuhK,mHnHu2jQh]vahK,>*B*UmHnHphuhK,mHnHuh]vahK,0J mHnHu$jh]vahK,0J UmHnHujhK,>*CJUaJhK,>*CJaJ./0234567ST׻רtc׻ר jhK,UmHnHu2jEh]vahK,>*B*UmHnHphuhK,mHnHu hK,:CJaJmHnHtH u$jh]vahK,0J UmHnHuh/ gmHnHu jhK,UmHnHujhK,UmHnHuhK,mHnHuh]vahK,0J mHnHu5C'9$IfgdK,l7'EgdgdK,Dgd $ g dhgdK, # g dhgdK,TUV}~ź~u[źJ~ jhK,UmHnHu2j9h]vahK,>*B*UmHnHphuhK,mHnHu hK,:CJaJmHnHtH uh/ gmHnHu jhK,UmHnHujhK,UmHnHuhK,mHnHuh]vahK,0J mHnHu$jh]vahK,0J UmHnHu2j?h]vahK,>*B*UmHnHphu !"<=>@ABCDEabcd߼߱rX߱G jhK,UmHnHu2j-h]vahK,>*B*UmHnHphu&hK,5;CJ\aJmHnHtH uh/ gmHnHu jhK,UmHnHujhK,UmHnHuhK,mHnHu2j3h]vahK,>*B*UmHnHphuhK,mHnHuh]vahK,0J mHnHu$jh]vahK,0J UmHnHu !"$%&'(89ҳҳtjcZRGh)whK,CJaJhK,CJaJhQhK,aJ hQhK,jhK,CJU jhK,UmHnHuhK,mHnHu2j'h]vahK,>*B*UmHnHphuhK,mHnHuh]vahK,0J mHnHu hK,:CJaJmHnHtH u$jh]vahK,0J UmHnHuh/ gmHnHujhK,UmHnHuS0146<6;Ak&+1[&BCoԾԳԳԳԳԧԧԕԊh)whK,CJaJ"hBhK,5CJOJQJ\aJh?umhK,CJH*aJh~1hK,CJaJ h qhK, h-89hK,hCJaJhK,CJaJh3hK,CJaJhK,>*CJaJhshK,>*CJaJhK,5S15N;;;;;$IfgdK,l7kd!$$Iflrt }  N t0644 la56BCN;;;;;$IfgdK,l7kd$$Iflrt }  N t0644 la==x$Ifgdl7$IfgdK,l7NI6666$IfgdK,l7'Egdkdm$$Iflrt }  N t0644 la6;(($IfgdK,l7kd$$Iflr|t }  N t0644 la$IfgdK,l7'6PTU;kd$$Iflr|t }  N t0644 la$IfgdK,l7U:>?;kd_$$Iflr|t }  N t0644 la$IfgdK,l7T?VY  ;kd$$Iflr|t }  N t0644 la$IfgdK,l7\6;BR`j$IfgdK,l7'Egdjk7N;;;;;$IfgdK,l7kd$$Iflr3& 2 t0644 la`@$(N;;;;;$IfgdK,l7\kdQ$$Iflr3& 2 t0644 la()qAN;;;;;$IfgdK,l7kd$$Iflr3& 2 t0644 laA&;6Egdkd$$Iflr3& 2 t0644 la$IfgdK,l7&+2BPZ[;kdC$$Iflr| } AN t0644 la$IfgdK,l7'[J;kd$$Iflr| } AN t0644 la$IfgdK,l7 vEI<$IfgdK,l7\$IfgdK,l7\IJcnRN;;;;;$IfgdK,l7kd$$Iflr| } AN t0644 laRVWm;(($IfgdK,l7kd5$$Iflr| } AN t0644 la$IfgdK,l7m@;kd$$Iflr| } AN t0644 la$IfgdK,l7&Co  =iklmn!#$ dhxgdK,gdK,EgddhgdK,Dgd0dhh^`0gdK,   =ijk!"仳}u}bTKThymHnHuh@hy0J mHnHu$jh@hy0J UmHnHuhyCJaJjhyCJUaJhyhy>*CJaJhHhyCJaJ#hyhy56>*OJQJ\]h]$SCJaJh qhK,CJaJhK,CJaJmHnHsHjhK,UhK,hhK,CJaJ&jhK,CJUaJmHnHtH u VYLNB # h dhgdy $ h dhgdydhgdy $dhha$gdydhgdK,gdK,    +,-.345OPQSTUź{rXźG jhyUmHnHu2j{h@hy>*B*UmHnHphuhymHnHu&hy5;CJ\aJmHnHtH uh/ gmHnHu jhyUmHnHujhyUmHnHuhymHnHuh@hy0J mHnHu$jh@hy0J UmHnHu2jh@hy>*B*UmHnHphuUVWXtuvwΫΠuaGΠ2joh@hy>*B*UmHnHphu&hy5;CJ\aJmHnHtH uh/ gmHnHu jhyUmHnHujhyUmHnHuhymHnHu2juh@hy>*B*UmHnHphuhymHnHuh@hy0J mHnHu$jh@hy0J UmHnHu hy:CJaJmHnHtH u !"#678RSTVWXYZ[wxyz±££uud±£J2jch@hy>*B*UmHnHphu jhyUmHnHuhymHnHu2jih@hy>*B*UmHnHphuhymHnHuh@hy0J mHnHu hy:CJaJmHnHtH u$jh@hy0J UmHnHuh/ gmHnHujhyUmHnHu jhyUmHnHuz׻רtc׻רO&hy5;CJ\aJmHnHtH u jhyUmHnHu2j]h@hy>*B*UmHnHphuhymHnHu hy:CJaJmHnHtH u$jh@hy0J UmHnHuh/ gmHnHu jhyUmHnHujhyUmHnHuhymHnHuh@hy0J mHnHu)*+EFGIJKLMNjklmź{rXźG jhyUmHnHu2jQh@hy>*B*UmHnHphuhymHnHu&hy5;CJ\aJmHnHtH uh/ gmHnHu jhyUmHnHujhyUmHnHuhymHnHuh@hy0J mHnHu$jh@hy0J UmHnHu2jWh@hy>*B*UmHnHphu+,-G˨˝}rX˝2jEh@hy>*B*UmHnHphuh/ gmHnHu jhyUmHnHujhyUmHnHuhymHnHu2jKh@hy>*B*UmHnHphuhymHnHuh@hy0J mHnHu$jh@hy0J UmHnHu&hy5;CJ\aJmHnHtH uGHIKLMNOPlmnoxyz® } rra® G2j9h@hy>*B*UmHnHphu jhyUmHnHuhymHnHu2j?h@hy>*B*UmHnHphuhymHnHuh@hy0J mHnHu&hy5;CJ\aJmHnHtH u$jh@hy0J UmHnHuh/ gmHnHujhyUmHnHu jhyUmHnHu    !;<=?@ABCD`aԴũߌraũߌ jhyUmHnHu2j3h@hy>*B*UmHnHphuhymHnHu&hy5;CJ\aJmHnHtH uh/ gmHnHu jhyUmHnHujhyUmHnHuhymHnHuh@hy0J mHnHu$jh@hy0J UmHnHuabcpqrź{rXźG jhyUmHnHu2j'h@hy>*B*UmHnHphuhymHnHu&hy5;CJ\aJmHnHtH uh/ gmHnHu jhyUmHnHujhyUmHnHuhymHnHuh@hy0J mHnHu$jh@hy0J UmHnHu2j-h@hy>*B*UmHnHphuBY!;Ouv EgdODgdOEgdydhgdyDgdy $ h dhgdy !"#567QRSVWXYZ[wxyz˨˝}rX˝2jh@hy>*B*UmHnHphuh/ gmHnHu jhyUmHnHujhyUmHnHuhymHnHu2j!h@hy>*B*UmHnHphuhymHnHuh@hy0J mHnHu$jh@hy0J UmHnHu&hy5;CJ\aJmHnHtH u !"#?@A® } rra® G2jh@hy>*B*UmHnHphu jhyUmHnHuhymHnHu2jh@hy>*B*UmHnHphuhymHnHuh@hy0J mHnHu&hy5;CJ\aJmHnHtH u$jh@hy0J UmHnHuh/ gmHnHujhyUmHnHu jhyUmHnHuAB\]^xyz}~Դũߌraũߌ jhyUmHnHu2j h@hy>*B*UmHnHphuhymHnHu&hy5;CJ\aJmHnHtH uh/ gmHnHu jhyUmHnHujhyUmHnHuhymHnHuh@hy0J mHnHu$jh@hy0J UmHnHu34589:;<=YZ[\yz{ź{rXźG jzhyUmHnHu2jh@hy>*B*UmHnHphuhymHnHu&hy5;CJ\aJmHnHtH uh/ gmHnHu jhyUmHnHujhyUmHnHuhymHnHuh@hy0J mHnHu$jh@hy0J UmHnHu2jh@hy>*B*UmHnHphu+,-G˨˝}rX˝2jh@hy>*B*UmHnHphuh/ gmHnHu jthyUmHnHujhyUmHnHuhymHnHu2jh@hy>*B*UmHnHphuhymHnHuh@hy0J mHnHu$jh@hy0J UmHnHu&hy5;CJ\aJmHnHtH uGHILMNOPQmnop® } rra®UNChyhyCJaJ h'A~hyjhyCJUaJ jhhyUmHnHuhymHnHu2jh@hy>*B*UmHnHphuhymHnHuh@hy0J mHnHu&hy5;CJ\aJmHnHtH u$jh@hy0J UmHnHuh/ gmHnHujhyUmHnHu jnhyUmHnHu   uv' ( < = ^ _ { |  Q R             vk jhyCJaJ jhyCJaJ jhyCJaJ jhyCJaJh?hy5CJaJjh=KhyCJUaJhy hhyhAohyCJaJ hF2ohyh^hyCJaJhy?khyCJH*aJ h'A~hyhyCJaJh8hyCJaJ* ( = _ |  4      7 V     $dh$Ifa$gdyl7'DgdO & FZdhx^`gdy & FZdhgdydhgdyEgdO & FYdhgdy   n$dh$Ifa$gdyl7xkd$$Ifl0c z t0644 la    dh$Ifgdyl7ekd"$$Ifl J! t0644 la    qqdh$Ifgdyl7xkdp$$Ifl0c z t0644 la    qqdh$Ifgdyl7xkd$$Ifl0c z t0644 la    qqdh$Ifgdyl7xkd8$$Ifl0c z t0644 la ! 5 : qqdh$Ifgdyl7xkd$$Ifl0c z t0644 la: ; A C qqdh$Ifgdyl7xkd$$Ifl0c z t0644 laC D R n$dh$Ifa$gdyl7xkdd$$Ifl0c z t0644 la D R     i m n            efSTnvdv#j h;{hyCJUaJh/ gCJaJmHnHu#j6 hb2hyCJUaJjhyCJUaJh|hyCJaJjhyUmHnHu hF2ohy hChyhyhyCJ]aJhPhyCJ]aJhPhyCJaJh?hy5CJaJhyCJaJ%R S s u dh$Ifgdyl7ekd$$Ifl J! t0644 lau v   qqdh$Ifgdyl7xkd $$Ifl0c z t0644 la   n$dh$Ifa$gdyl7xkdz $$Ifl0c z t0644 la    dh$Ifgdyl7ekd $$Ifl J! t0644 la    qqdh$Ifgdyl7xkd, $$Ifl0c z t0644 la   n$dh$Ifa$gdyl7xkd $$Ifl0c z t0644 la   ! dh$Ifgdyl7ekd $$Ifl J! t0644 la! " 4 7 qqdh$Ifgdyl7xkdB $$Ifl0c z t0644 la7 8 C X qqdh$Ifgdyl7xkd $$Ifl0c z t0644 laX Y i m qqdh$Ifgdyl7xkd $$Ifl0c z t0644 lam n   ppdh$G$Ifgdyl7xkdn $$Ifl0c z t0644 la        }uuuuuudhgdyDgdOgdyxkd $$Ifl0c z t0644 la nopstopMNQRU̹̽{laRCjhXhyCJUaJjhF%hyCJUaJhXhyCJaJjhhhyCJUaJjh^hyCJUaJjhyUmHnHuh48hyCJaJjh@GhyCJUaJ h`qVhyhy hF2ohyh-hy>*hyCJaJh/ gCJaJmHnHujhyCJUaJ#j0h;{hyCJUaJnoqOPQSTUWkl & FVdhgdy $dha$gdydhgdyDgdOUVlm !#$56PQRTU謾r`Qj hchyCJUaJ#js h^EhyCJUaJjh[hyCJUaJjhPhyCJUaJj\hOhyCJUaJh/ gCJaJmHnHu#jh}hyCJUaJjhyCJUaJjEhI'hyCJUaJj*h ChyCJUaJhyCJaJjhd5hyCJUaJlnDE!!""c#d#e#f#g#DgdOdhgdy $dha$gdyCf#h#i#r#x#y###############̵̒̇tlaYj/hyUj3?lI hyUVj-hyUj>lI hyUVjhyUh[hyCJaJhy5CJaJhyCJ]aJ j(h0hyCJU]aJhNlihyCJ]aJ h`qVhyhyhyCJaJh/ gCJaJmHnHujhyCJUaJ#je(h^EhyCJUaJ"g#h#r#x####dhx$Ifgdyl7'dh$Ifgdyl7'DgdOdhgdy######t^F^^dhx$Ifgdyl7\dh$Ifgdyl7\kd,/$$IflF    t06    44 la####$$t^F^^dhx$Ifgdyl7dh$Ifgdyl7kd1$$IflF    t06    44 la#####%$&$5$6$7$8$9$l$m$|$}$~$$$$${%|%%%%%%%%b'c'd'p'q'າأؔvoZ)jh`qVhy5>*U\mHnHu h}hyh[hyCJaJj=hyUje@lI hyUVj:hB\hyCJUaJjb9h" hyCJUaJj7hyUjBlI hyUVj4hyUj@lI hyUVhyCJaJhyjhyUjU2hyUj?lI hyUV"$$%$9$`$a$t^F^^dhx$Ifgdyl7Tdh$Ifgdyl7Tkdh4$$IflF    t06    44 laa$b$l$$%t^F^dhx$Ifgdyl7\dh$Ifgdyl7\kd7$$IflF    t06    44 la%%%%%&t^F^- & FWdh$Ifgdyl7dhx$Ifgdyl7dh$Ifgdyl7kd<$$IflF    t06    44 la&a'b'c'p'''L*[RMEEEdhgdyDgdO dh@&gdykdB?$$IflF    t06    44 la & FWdh$Ifgdyl7q''''(d(((((((()+++,,4,5,6,8,9,P-R-e---`/a/{/|/}/////Эީm`h/ gCJaJmHnHu#jHCh8hyCJUaJjhyCJUaJj9@h'0hyCJUaJhyCJaJ h`qVhyhyh/ gCJ]aJmHnHu&j?h^EhyCJU]aJjhyCJU]aJh6hyCJ]aJhyCJ]aJh~3PhyCJ]aJ%L*M*++P-e---..//B2C2L3M333I4J466H66688 $dha$gdyDgdOdhgdy////00"1$1 22(2)2*2,2-2A2B2I3J3J4q44444444,5G5H5]5|5߹ˬߧߘߏtc jzGhhyCJU]aJjEhB\hyCJUaJh<hyCJ]aJhyCJ]aJjBDh" hyCJUaJ hy>*h/ gCJaJmHnHu#jCh(hyCJUaJjhyCJUaJhOCJaJhyCJaJjhyUmHnHu h`qVhyhy |5}5566666H666777777788 8!8"8%8&8(8)8S8T8n8o8p8s8ȼpeS#jbhykhyCJUaJht]hyCJaJ#jhykhyCJUaJh/ gCJaJmHnHu#jhh(hyCJUaJjhyCJUaJjJh ohyCJUaJhyCJaJhy h`qVhyh@PhyCJaJhyCJ]aJh<hyCJ]aJ j&IhhyCJU]aJ s8t8_9`9z9{9|9~99::::::<=&='=(=@=A=#>$>>>?>@>B>C>p>q>>ŸŌr`rrr#j\h.dhyCJUaJjh.dhyCJUaJh.dhyCJaJ(jh.dhyCJUaJmHnHuhy5CJ]aJh!UhyCJ]aJhyCJ]aJhy h`qVhyh/ gCJaJmHnHu#jߝhykhyCJUaJhyCJaJjhyCJUaJ8::c::::^;;S<&=@=Q?w??@@x@@@AA\AAA$B & F[dhgdy & FXdhgdy & F\dhgdyDgdOdhgdy>>>>>P?Q?v?w?@AAABACA\A}A~AAAA|C}CCCCCCCtDDƾƾr^rOrh/ gCJ]aJmHnHu&jVh1 shyCJU]aJjhyCJU]aJh!UhyCJ]aJhyCJ]aJh~3PhyCJ]aJhy h`qVhyh&hyCJaJ h.dhyhyCJaJh.dhyCJaJh/ gCJaJmHnHujh.dhyCJUaJ#jٞh.dhyCJUaJ$B.BBCCDDFFGGGHI*IJJJJKK.M/MMMdhgd`dhxx`gdyDgdOdhgdy & F[dhgdyDDDDFFFFFGGGGGGGGHHHHHHHHHHII*IHItIJJJJJJ¹«}rj_hbhOCJaJhOCJaJh>ShyCJaJhbhyCJaJh/ gCJ]aJmHnHu&jӟhf~hyCJU]aJjhyCJU]aJhyCJ]aJhuhyCJ]aJhyhyCJaJhy5CJaJhhyCJaJhyCJaJhy hChy%JJJJJKKcKdKeKKKKKKKK$L(LMMMMMMMMMMMậ펆~le]Y]h`%jh`%U hEh`%#h`%h`%56>*OJQJ\]h`%CJaJhhCJaJhOhyCJaJhy5CJaJh hyCJaJhphp0J CJaJhphy0J CJaJ#jPhpht+ CJUaJhpCJaJjhpCJUaJhyCJaJ hChyhyMMM:NNN=OOOPPQkQQQ7U8UVVYY.Zdhgdg $dha$gdg$ & F_dha$gdg $dha$gdg$ g gdgDgd`% $dhha$gd`%MMM N N NNNNN2N3N4N7N8N9N:N;N*B*UmHnHphu&h`%5;CJ\aJmHnHtH uh/ gmHnHu jԡh`%UmHnHujh`%UmHnHuh`%mHnHu2jWh.h`%>*B*UmHnHphuh`%mHnHuh.h`%0J mHnHu$jh.h`%0J UmHnHuNNNNNNNNNNNNNNNNNNNNNNNN O OOOOOO5OҾҰҰqҾҰWҰ2jEh.h`%>*B*UmHnHphu jȣh`%UmHnHuh`%mHnHu2jKh.h`%>*B*UmHnHphuh`%mHnHuh.h`%0J mHnHu&h`%5;CJ\aJmHnHtH u$jh.h`%0J UmHnHuh/ gmHnHujh`%UmHnHu5O6O7O:O;OO?O[O\O]O^OhOiOjOOOOOOOOOOkQuQ® } rra®YULUh`%CJ]aJh`%jh`%U jh`%UmHnHuh`%mHnHu2j?h.h`%>*B*UmHnHphuh`%mHnHuh.h`%0J mHnHu&h`%5;CJ\aJmHnHtH u$jh.h`%0J UmHnHuh/ gmHnHujh`%UmHnHu j¤h`%UmHnHuuQQQQQQQQQ[S_SfSTTTTUU^XvX-Z.ZBZCZDZ[Z\Z]Z^Z_Z`Ze e eggg̽ᱨ}vodh2h`%CJaJ h2h`% h P#h`%jɦh`%Ujh`%UmHnHtH ujh`%Uhth`%CJaJh`%5CJaJh4h`%5CJaJj9hyh`%CJUaJ)jh`%CJU]aJmHnHtH uh`%CJaJjh`%CJUaJh`% hEh`%$.ZCZ`Z\\^^%_&_aacce eWfXfg)gLggg1hVh dh^gdg & F^dhgdg & F]dhgdgdhgdg$a$gdgDgd`%g(g)gYgZgggggggghhh/h0h1hchdhhhhhhhhhiiynfTfLh`yCJaJ#hs\hs\56>*OJQJ\]hs\CJaJhzBh`%CJaJhzBh`%0J CJaJ#jըhzBh`%CJUaJh Oh`%CJaJh Oh`%0J CJaJ#jh Oh`%CJUaJh>ch`%0J CJaJ#jYh>ch`%CJUaJjh`%CJUaJh`%CJaJh`% h{sh`%Vhhhhiiiijj1kkkkvlwll$mmmUn dh^gds\dhgds\ & F7dh*$gds\ $dha$gds\ $dhha$gds\ dh^gdgi j.j/j6jMjej~jjjjjjjk0kNkOkxkykzkkkkkll#l$lRlSlTltlul$m%mhm}}k^hm|hs\0J CJaJ#j8hm|hs\CJUaJhshs\CJaJhwNhs\0J CJaJ#jwhwNhs\CJUaJjhs\CJUaJh]hs\B*CJaJphjh 5hs\0J Uh 5hs\0J jh 5hs\0J Uh`yCJaJhxCJaJhs\CJaJ$hmimjmmmmmm?nTnUnVn_n`nwnxnnnnnnnnnnnnnnnnn̫tpf`f`pf`fUf`pQh/ gh/ g0J"mHnHu hl0J"jhl0J"Uhlhchl>*CJaJh=hl>*CJaJhchlCJaJhl>*CJaJh^~hX CJaJhn0hs\CJaJhT hs\CJaJhs\ h8Nhs\hs\CJaJhdhs\0J CJaJjhs\CJUaJ#jhdhs\CJUaJUnVnnnnnnnnnnnnnnnnnnnnnngd0`gd0$a$gd0h]hgd8; &`#$gd8;gdOdhgd`%nnnnnnnnnnnnnnnnnnnnnnnnoooooooo'o(o2o3oJoKoLoqowoooooooooo6r>r?rFrGrHr_r`rarkrlrmrvrwrxrrrrh7ehlCJaJh,hlCJaJhkkhlCJaJhlCJaJh0hlCJaJh0hlCJaJhlhYhlCJaJhlCJaJCnnnnnnnnoooooo'o(o2o3oKoLoooooop$a$gdOtgdi=$a$gd N gd N $a$gd0ppppppp"p#p1p2pCpDpIpJpUpVpepfpupvppppppppp$a$gdOtgdOtpppppppppppppqqqq#q$q.q/qBqCqJqKq`qaqvq$a$gdOt$a$gdOtgdOtvqwqqqqqqqqqqqqqqqqq r rrr#r$r,r-r5r6r>r$a$gdOtgdOt>r?rGrHr`rarlrmrwrxrrrrrrrrrrrrrrrrr s ss$a$gdOtgdOtrrrrrrrrrrrrrrrrrs sguuuuuwwwwxxxxNyaybycy}zzzz9{;{{{{{͵͵֩鑆h^~hX CJaJh hlCJ]aJhhlCJaJhK3jhl6CJaJh }hl6CJaJhhl6CJaJhl6CJaJhlCJaJh,hlCJaJhlhkkhlCJaJhlCJaJ-s(s)s0s>s?sRsSsesfsmsnsrsss}s~ssssssssssssssgdOt$a$gdOtssssss!t"t*t+t7t8tJtKtTtUthtitotptxtyttttttt$a$gdOtgdOt$a$gdOtttttt uu!u"u(u)u.u/u5u6u7u;u}Y}U%͡50@@'&A@@ I#@@@ ph@@ H@:0r@@'&A@@ I'N~o{ߕ[>ثbT>BnI=9&[?jyʴZ*j-hȁvfAz◤w`Й]^hGN^Z`hj`+GRJTQnNdՐUa^L-pxH}_ﶽ>yKkO[{bdg5?WA{sV Y%Ч2~"-H sbGV<j6cCkFo~K˳៼{S`拚l?o֐O{~F$:@m'= *\矓e]4'. 'tNAҩkO*@3KKUg gkyME>y/ZT~-#zQ:EhIGGu7*0};,{iPsansY Vd%|MT_tJ`k@ Nb^|?l7=@co`/wy^"OUI_V YDU!F󇴟r}34̲ (M4iBʷGOϭ(wjJ42nZ~4)ч̧6P+2 ϟNzM71CAN}("J h%a9;ן/B7wR1Y5dd zε9ܔ=#OX )6% 痧I/pVb2:QihEȟ8yH3!LRFJE_je-ku9@:-wdبm:Y[T{Ӣ+_Ѝieokw}y/ kR hKBȋw珃),ʾ[`p~kgh"ehgHaP\\.ƓKwD,SIPij :/ѿ\FL,1˦:1͢9(M@Y@OM{_yb_Fݩ^mџs>/Q俵_eϿMzti\2.Ls&v@PhKvgVN gl5sa#M XkJTΓ]HՈ}G=2|N"D}7={JiQ.PpN=ћ_mr2-X{2|xɎtl< kO#̀Ѥ~-|EXؗ+d&MDh Ϩڮ>8*/<=s֜unVqvn:Ǣ=wC[cMR@З MNZi~ +wwܔõ'GD$4*8?Ҋ{ 6pa ͈kLvbkf^q|@+ fiuHI7ʵn%=O/I4 @*T.dD`wEۘݦgEm"! ` :$]#5@@@ ph@@ H@/lvVE',WI{vnm-%͂&iMKMu*.j0K @=Rv+笋ӻZEEsGOu`~? %RދZU*5:b<48 Y XD~D=}J'G-~"ۃs@1キzXSڛzf!.X_\=4>FjͅGP(fm+ -6$]t A辅mu|fUK z.=֑eL%k_5{Ok[b +\^y|-a_~ 7įgow^yV\EIFQ]# GN6װ˯yä:=IqnGC3 9(OV: "C =HU~W_`D"^ |ʜ?goNv:^5b `~;-; eܿx/UޜjW79anVGCjך^to2ozC{S-پW\t*z{ka.<лu_LRzT=Lgïi]\W>O(4$/dk iR~6Q+w5rЌb^:âEhNt."=aoN5Ox׼'y`X}K|[n,*^e}$RiIvO -y ; 8)ݦ SMC"9omM4AGouh^>^@T/NУw/!Sҿl]5!k]<(_nCz 7 oiIB$LN;M՗}r~)M!+w.h4>һb(阤F{;>u~syۗMNw:җyrQM;ޅw29 eSѼt%kM iEP.GF|]V9M"}^$o;],6zbE/C.n>0FםώD}f[~e4RX -zzV{]i*3ͻ貮.z<-$Oo-{ƽ_,hVmaT%{%,Tr/8j%0t*''UƋ|UmZާh [R[?px{׏n$yh2sy^ϚN5oh79-U;rFau:]gT[׿])/LD+4^j[xT爣\/IvY6ZξINƛ3YMK/e&+Ǻ{r&șjX=49-n0Ƈ(;Mޛ>ln={ce\ ,k_eO ?7ɟ:iRͫMz Fl5[ "*֜/ߩ!*VjB8ILi1l|ͿU>zlf8ڂPT7'ٺw -o4t|C{w e E ohnW@ `w|?VӬx  @̓ w@@ 1pya35@b@  $fk A@I≮   @̓ xqGA@'&0^$&N4  0LaHL8h@@` Ì;z   8q<0 @w@@ 1pya35@b@  $fk A@I≮   >x`b<@W\yp `Hl @ zU .#>4I |Z37=I `&vܔEb&6V![Baȝ@qԀ[˶J5A:.C#Gs k5b[蹅ӊy׻wJ)]ХD ~@(ڡ71O2>8= <9Wpε({y=$`J(MPy ـswhYDК-5Ews:&Uȭ_ӅmuDwlMXP =#yh0Rv}q3gV4J&thW ps]7ĪsSIpYv_@C0w˰iپC9oZ-kVV֜uê![V].0K`Uq9еda1Ob=B M0AQ!rN/ A#ltaH wYeC(z @G^bcG .4pp{B pX+sM3\ J/@p]4x:eMh{W^ɎiB)]z|4V } j|phȡG8 ZնbwK<pсЇdPW 8!|IPŇ~%[/ÇG;F_-bVeA,.2 nt#/bmE_iJ|੧}򼖥De\tE{O\uU%1t~לߣг E`h+fb"+E.#]R-*隆rJc$=&yMXCMdUNԉfAjR0-,VYRJVYlr6wR TpT* V&KJ)~0 \ ^n@`.U$Y l#[\l;} "Է-;y,ҚbOZ)^_Z"E<}mmYb9ٔ&uա C1VBw!축=5g^JÌqF}O~U_Q̼$QRCjI[&=&LZ*<8v_ ı}ŸnݵܻچnI搙 pŵ*Mw56Q_vJ['Z{VۧM m̵Mw,|Aen?yIYM8BZgVe%5m-#7kXEYt}v\S#|֞PCaabaymxyp0YUU_ru5? dI2LHBC_Җ0'?j!H̀P}mk]|5H2L 4-ۢl}^ {Ӄ2لI7,VVg9+}"; dvڡ[e5>uU.8 ߘ@cDu Ubtm@y@ @`Ͷ^LuR*zD@Bs2'4qZ)o/!kݢZ@A} aŀ6:;T T.Eh "Eю8ؙjF @#x1:.{? Q )vs4KZD.97#7$8q#/̉L$'OW b$D:Cv=mЈj? bC%hM܎V޹5imפV#Qkq4o 9&cXi2 ۦd3?Vy 8e\lA}uPߠ8c نf1۹C&Lâ5J/G;;Tv\-gVP@@ @eBM55Zo9V(#NSoW]7S$3 \}@8@}}= g ~Ic].hbASƤ:,ؗڨS8;3Qh=Ne*awP NZdá]S[!KǁGjRm f%f2!&>t[DȤS(0 AkAՙ]؊n=HIdȋOsN %u&vFWS̓&g`C(MzB}x` ~E|oM x';6ޑ+se5V1d@ C˕PA~vܕ8SO=ug?dht4ڗPJ аn88jL0V^!7py, grJ"*ҭvăitK-P Y'A[ jaR.OC !v3KipUG+I^ 8$tc@x ;kX]qv9bPlC؍ۨ_3a[%h)aVz[[^8ڰ(L@gq-N9 q꽕ڽVw=ڇEk$zA z3qsS5%X٪AbAim&pL,  1MWJˊKO?Q=C 3-,*dGsҟ=* y#[/1S @ IS!^Dz6QpBexg!1ۄ!w7Wbռl*   B-,`O؆l5[,he5H=U^x%,`FQLVp Cb`#> .m?>"J@=R7d7YG m6|Ȇl3`V_҇Dꪫ`Uh~?_O,%OH5Bnux iGzkDMʘ;WX}i}Qү3J->L*`ӠLn1GYG ^d3ZDejTd L)>~T]=6u~.. @/BM2fث3B,/1q\Ť;(ep~eEx9% 3!g]}MTwe 7NǼEvF{B>Jd@IB`\.0@prHh}@"Gf@@@@&-D-(@ @=D+^V{L@ {+%IXh ֟zD$ؔ5ʁ@dt@@ ?`1 n=%{@   0sG ! 2Q6\> 6r@@zA'] RnL U`YPv@@+p+"Bٔ- M@ -c=399~Tg x G@D}ۭD,A 1h @ k^a:(^p?aOp"n!]7X`jnu_7E @@ p)'RrD  'Q MJ}Xa0 @^e`ѷOh  + @eDX3o\{p^/jJpa  @] C!~W`#Xnb2J6md( 00$t?<@@jObn;5+7]l]LK8 ̀Mu)]P@@@CKV^0h%nEԷW\*=?`#X6hkD|MqCr4;F:f'VpאW@zc,_5\ƫI@J3`GA)L    ƨP; wDo&k*>j(# >L@2(Rld h ]%.B}% 11*@=Aqkјz3`3N6]%ʂt"2֢`Qp`*ψ҆XA6@@؅Z?@}G@PBog@Gc f!'gfP/%4%+&;x =-ПA @ %F >OKŇ(Ĩg @!:  P"pQ  Bt@@DA@'.>@ %F >O\| @K|(  %5   P<p!D@@J$.1j@@xCH\b3@ Ň(Ĩg @!:  P"pQ  Bt@@DA@'wbځ%yGaN[wB&[O15kMe !oj|+[_[:*etu0&[,&t7\ʖ) =2G9V0~^jZԤ,8H"`|*LƷbUj69Ӕ"'SUǷyiVRJaR*Rn-)5 !+ibAbF[VJ~vrcBrVno 0Vc\sY!`| A58[SpiŲa.BhІy@o)e\̐\gߜхFqJ.,'OT"`|*L9oQY%9#&s)ƷI& 3:T[pjL) Js[0eRǧdDZ$xrCnzJ<|@ c|3'd[$FO;sT & fШp| .DmB ]`|B/I|Ʒ̈kTЇ'IFVWQsǷx0B:'M35I(-UT[26cLS%eS-̍8c|-7bo08,4'f2 Pqa0e*rxF!Cp Z*Ʒura g㎗ύ߷zGڽ}藥[obZFMqs+_g{s2oqMT/`6m3;n;pk8I&۳Hn9~ F$]d̬aQ+]o >"T'5Ʒ'4˻G?UU^uEev΅[\"O/xӖlTH5`Rhsyd'=:~dߖ(׆+>ف5|QMXͮ]r*- bckԾ$El?iƷ#ē1V ɤ|ݓϣv?}\%-僌s|Eeh>֨ڦ ״fceA ߎm;gt5qc=Gs܊5zۣ35'-%VipZE^"s/NI[<#rxdyr(S3Pa2'WߊCR6^A-or +۩E# BgØ`tg[%.騯p݄eȖƷpm|+FI!\R6Y-Y@ Ʒ8Vrrj^b5&~R9$kQG[8VSo9 0*uN{A;oޑ5s|E7XqzV@ o!a|K,8 CGHh}AC 7/s0h|K 8!(Y 7/s6q|$Hʜ)oJしc %08?]8`6Ԭv:o [TD%wW.g0"Q gI[$߲\Ư(`ZK#lh S[$ɧ.[$ .1=钚1!5-u$șr&3Ƿ,`V!96=5Sa4yvs~>7PXF1!.1 }*E2Q4~Ƿ !<75=:72 eȮAf?Dvui[ %VBfwZ-`Q; %6Z 7e$A¥fb( 6V!r/Dz|N!ɯЩj^a%6 6Uz-Sƺt8'5=#L_Pb_ N-wƄ8Zڙ435Mi-b( q1Voepӄ(  Fqb3TuTvco p8 ć-t-'*OTq?)ƒvs&朣S2rf߆CUyW<'>L0O,-_sd-kmdnds~΅lv?Xlԫ* }& {hR\Go:o\Fӟ4&PTR#gh=;5ddw:-jp:a_iѝH׮8j?u7#hT{ئw-eaT) D ~^qք',8kL'dA L-S'{w][qhrSHRێ5(X!*#v( ^0&K'ƮTLvōZxdxF][Wb_{3h4Eydo@{JtĚ@kzz?WqH|^kv`-Xg߿;Хى*OןBnFј-m6*+?.t,ʃ@6BC}a{BK aep)`h2CuF=&qp5XnLor<؍$jOD_wBeqwP"pQϑ` :Z1g6aŧ1-@CCzU$Q'F'F " N@3H F+̅l.ĨVڱ vLv{cos8'cLvCgErco3--K$\^6ݲ)ZL.CtåD斕3?b|eU8TSU2Ϲ>ew#ۿ Uo]M2&dr+P-M0frqf}4Ʒ-V#5J&g?kyRDrRN]:B/Z][[Jrei(ٚ-TzfcǷ|iK88b]:a9Ʒ.%s` Y3-T|`gR w[B>e$%;&Gꭹ(j,rkDEˇoY0N C$GжvCa+l .g2J8`ń~ ;4]"JBZƔ7tYOr c ֗墥S^_il'-csΡ@q Hpl-H!@D`f hguxSu$j f:!ml|[pjsTsk]nQKRN濭[YIq!4%W \m *OLڭ^'" 0r$Q9SÁ P% NѠG[pN#9k3.6dߊ~>[ Wy&q>'x́[<V=.+kgjY `|++Ro\19-[13p=[nr`qnYhOL5e@"a|T`1'dC @Uop为qF{.Xڽ}C}2&%jVgoyݮVݳNirsfaw~bqkK~ aR8\VA /U=F7-<WWMUb3u/1q1V<{nffT3\>P)1;Q:qN(ֹn-Qj՗ݱ{-++7*4cnY[ [ &UX>#q[.Gxuз*sp~}|+OxO;V5sR9U:s42-]W7F֭%҉ɱ4$!p'slZ5{ ZRKMF}o TMg=84*Qj-znTUѝ{7ZxXycjtNFϏΙ,oJZ`?: /a*lphȠ t<7L'3?OW5Ll1GuBןCo>#O[s'uG_.>pti3DYGkL7pɶnEnРQХE@o{< ޺W7e^ƷXb⯬݉'xp:^n. G>xE12-={ɯRFeщ؏?(cc Bz=B DqC- nHr[BmN5ퟧ S,ל=RbDG _ΌTy9RA)x# P.xWF$x(p[6Hdaly^,֊-l$E}{[4*L./%!T d>$mT/[Ʒx,'%?mo4O,ux85iyYX⮖jtzN.GTYd:sk@_ d1ŁF7{D puN~Qj]0s\874Vt3ȐjDj|YFU}b5삱ڕH@Wa=ɠ#(9l|aشGQ3)  k"O 0sGZQ!_Ij?7#-Ts9Vjt;-8s6R廇GMY6 tc6@Ƿq~S4Ip-GQ}uƏo\J9aӺz[Ki <M8w.2hRBE$-IIRB3+Ʒ̣Ss`0gg`J̄[b`y 1MБ0x 1N 87I IFA7+\%8E`$eyg%Y/Ta$+߲ GLg:ŏۢdg#gE~vߢ w;kz͐}"OѴ|ym8T^NM̀YrIL.9Lbu0(7vnwߢ 褜Xq}浺f{ D[sF1!qJ#B׆@^FR!=KP380 @{[z]/4]PH͂WAQo 0&ƱpY" z2$CKIЩY   ö●3e*Xp-IMsP %%0p1Ƿ4fjfq8@ñ|+C&VpQ<I@K(2[a\;!!735}2pߊTA   @Է!rv@@@t#A@$.2lp@@t#A@$.2lp@@t#A@$.2lp@@t#A@$.2lp@@t#A@$.2lp@@t#A@$.2lp@@t#A@$.2lp@@t}|-W:? 7/V.pM>kTJ+/3gmfE?⦅~aUz%=ˮ|QP# -kba]`Ձ| ֪}Ŏ#pds706gNwOzj=B}Yw雦mi}5O`:0ڃNj34Jjy}/,Y7}W>xҳ+vbȐ8pEKā 0-f~ٯw旿vFc iPO}Q 䘿egˋ#ʄ&=֡=t93)bP\)4^n>uW_Nzṋ>5?| %:+hGXP.̬ԍ&WjܑڤjKSE`5hxhR6ͪ7?9D4=fKg~srmX(G}O|V_/ono+1F9Sퟔ-(eտNdɸIǕ.dEK#㋲Q鶦T]\ZSbX2h .h^1ipSRNJ*}L·7֖,82E)ry5/]j{T}}[ =7#$fxoл0:V^ڽc1*8Z(]Xݡ!W!G?~!żGIqNހ^Nр/8 Xc7zñ=Itg.w1t0z86UԪv^1$#1gn#o^HMFmѻECry`i 'q6(:Ee{M}? yʫ4-"w/ݹS @~w:mA&JMn[yy|ږ%7TFM pZ'xaU`dE'bФ  &bg2U1Z1TY]/$/q7VKKU)wk#hzBH[m Jʐ%v֮.` @auu{X8[ ` :  xx1GA@2  p@@`x Ë9z   pA  #^c @3\bd@A@s@@  @@G}QR:IENDB`nj/ 9\@6x5PNG  IHDR+sRGB pHYs 3{IDATXGW{lSUJ7&nCgb)DАL`B41 `0>.c[ @pa@Єp(` 2ܦݣcu-YޭmHMs9}i˵|lja0(I( x@I @fxqd|P]1,CI tXQ1e2C\{Z Dxl)vbȲv>x,s)qh||vDDz[29m^ij2υ@mԭx(]N&zXB%zo"?DfjL/Ij }Dntb|=)ٙGj _zșgc1[0Y}zeT|%'%qh?(Y9@RW;ۉ\=;>7jKL!Erx7O;9.҂XI쿰>Mb $m#8 羿(txCh2\\ DNUI-))qt 8`lI# A;'"_!¡%0 gFz:SRۑ.˒`@] üZŸ=n/, rh>[ń zLǹʊ 46Ac'/p7V:g AwZ>cJS()3Wa6G'c[]PTe3ff$eIvXNGم3,bE6GX`0NE1Oͳ9rHAd'|L_vԕkٞ>A=}vĸaSF;@@oC*h# pd -ԅ.(%IhmoLyH4|^ ˃utcCW>߳3iH'A^ dSwW `o\ uBPƐS$W,=Qt t ¶kc$ ei!_-{Ǯ[xa;ЀW)_ e x⊲IKQVh3ƟolׁR}9DO#z03`B񇣫ˊ[ώs7سgOJA >X}KkXAijȌdkOҲS'Өشn"rzۯK[/wd<t3Gt^&25˶2|Ei( dMXdCɑ#G0^㔠uq,ցJ]gGR=@ID)TvDJv:vDUU)oCaċF$Ugaiʿ㪜tǣc3d@bSbu4̮. L23t;^o;Og] ~03B$AKkQǭo&v¸ۭ\R@VgVW|xڅW4N⢜}ܱxZfm o™;np.tqc͓W1O-jB#2[#ё>8XAhՙEdTEk{ĕ0NY‘DN^6pWuIENDB`n4p8^R%PNG  IHDR sRGBcIDATHKVKAވQJĀECQ9? Hop^tы<Bi$'{(Ah[" bK^&3ð+sY Z}@$ fWq&B 6´mJ:A4rDZxv\6LJtߓ3/AU [˴ Pzo`'A2eNhute/kE&xDb`K%jT6]Y,wv3oc .jqs[~uƇU evM^[߻jTa* dh'x&[Iv-jmѕ]5 uXpT b Fd]I\/Mah~*R8ƚwXܟ%*i|?ft__,JWmJTrE[iI雿&F?TJ9U%1jbq ˱Pf},}8!5S-/_#d~L@d߾H1) SxUk= ;=@ݣF--1{ e/} IENDB`nrJ<8I@km+:!sPNG  IHDRKsRGB pHYs+JIDATx^[mYID/8%ǧRbٱ V!GvRR#>AD5(}9>R5R1lۊDDlB g6scs5/߸~[G>c|c<}ppp@xQ\wx @`E @    q @@@@p踄   @ 8t\B`z :.!@0=@H@N x_=??ެ?7ط@ S#}?~%; GwwpԘEkF3-,EvS ן/9Rբ[$JJq)u!92,ɚ1  _>wS+C(OƛW\'TA92lJ}‹yEuA߱pY"v%p n&mby'~/?wc?'-J?3?yY]C'o:;H5~7_ʋuT .6*%[aj-?ݞI- j7_ 5rt|ު*V vj RS#?JՅbvS@FSm(]?6?_ .ܩş*UWk뷮]ef*Qٟ3r^iJ O/s3iS RmթbA!ԕ S|;_zMߋ<ȁ_f*b3t9Ts߫>ܿ7_0 vn;ը}8{_:*1O|^klKcV W2y-O_;;zqbV-S)Wbޟ=-**U(_W{G\톯z_qƆɜE&FVFyU_UQ许R>7^ҁ~<+Wbs{~JmU3=6TF=+*)S1Yp~Q)4@(B<+uUJ_V^Lj3ʺZ@u (Asܗ?W]~[Ǡoy}𣧟& Ja]w Sc}^8o4|zx#3y p^6S)ASDϐaQlBR4;X/ˉz .}Tgʵo;%2_=Kf%g}Ssb^ATz+V{ũRS~Z9WIEF 1e}k˯sGRU_bVݭL{_%~PSqNid?NG{˨Or XIM5j$cP>m$"'RuQZ}@O>6/7ۂ+fiKvJ_Z/# Wՙ6=YnSũ[7{6wu t>]Пx</\v;Hs[c{V~UB_j͐_ ^y_Ah|sݑT6^"3`%7Ө7Yw"K kHbE_]'fTN5vJ_^ ; t&BGSw҅HENEȈ?-ڍi:m ں~$K BtH؆ L`Lk@@@% @ @  s CvWo'¬&8wtVKU; {֦A[k>Fe4Xԇ00y]Lxh`ֱ.NveyA꥾Szzޱ)ygziT/#1t#H=8ڝE)ޏ@(ZO(_0x}W}jU܁c'I{^>ljڧ2 kح&&^#j-ޏ@(fM(* W-5'G]zK.g:1둣Wujoϰ꿶]d~p\?֎+ulߨw՟Sv9ꅏuy {5ꥄaRjz⵿^hhB]u!G?m{VT |շ/]ISϾgW~Ae^ېN;)ũkݞ2;wf%N=6NOo&xegBY5x_.;xs{^?lB?ԋ̧>5o_nE_ U"OBA"F{_ 轸H_)37QJ> bk.{0'ՙB_ӤW3WG.U%Sf~CCJx|uS9UfQ;xO~Mӓ\3=_yߨFͩ~{wwWV\YS?UjizeW6D>?X]~.kؕv'jo]ߙU&AW_KЇxow'@S^{9ejU(݆ iKo1g@uTo&cmQSeMO}Ug~Ѽ5mږw;< hj}|}B+F5:&owS w|b/39qxC>?Xo.gTd;+?:'0 e(]4 CPI ѢzR'ԋD{/ņH-xzz}vX1c"}Bg [ej0vG yzF{VuNme~A.y%'՚@}'?.VTs#ݣ,6URhه>>kB?W?F=ȧafm1 ; +wcwxFww_f޿P?Zϼ]r-|/Tj^NvGH/g/=}}U;+J5"5c<5EWpHhGZ J}s";xs6e]_}uˤ(}ose8C7WϪͫ6~.eb9: lNE5OOW=VA1=ŔAjwCw՝ٽ}=[{qecC/zMY}X?j5?zh:uݟ]6]}% dn ]_ht_wH ݆8A.ۘdG[}uY]wJN-6%zYTvk_CeV7[(BE`\t J2@]ӏBKHLN\C@f@ &ͺ5 $&'.!@Mpu'k@HLN\C@6N  6 m֝!@ 18qp@m@۬;YC@bp$Yw = Ind @ {@hf@ &ͺ5 $&'.!@Mpu'k@HLN\C@6N  6 >88h3s oA$+V!, kih)1 .,5_e\PοFD ,b9bXDEh,15U?5%E.HHpBΗT"QivX]m5WSJIFI4])ہbL _? uR bgYD,ĘV|27OoF^AJ*<~$PͲ: lLh8ntR+LA8~F 4(Z-``h2}YXB?2 `wYuZZLi!aL@i ,Bj#3'g^,Q .e(E0Jӥ̅@VQX0-^K$ɲ$=4pKXBIB1hZ(dGgKXcϒSppp:/vHPv`3 .YꃆDC//v]oJS }M!5"vWC>v >1RQZfQc1q;Prju ΐaQ҇̕8&.\ZDӌ{B7#%%fK0qU2`pyQu $ T~[5C`Lc xY6*&W\ĩ"pbpk;BRM/c[LTGD*!b/Er9t T.-%@Ve dmb] ݟC s> rVCY 1\MJ$PДp31sh>-@P 0[h-J3(Ix-֔("Xl9!ҋC d .-\(O9ݫ^j]J PېVd޷?GbqC&tܬ ާ Kvw!LYL7cF~@ӳ"P8+|nEW=kܒ;K'KZtc|Z8װ= k(A!araD+w!LY\@AdpY|K-9 ׻[K@Ilt̊e5jta Ly% pג- MІ""SpK-@Am``  vp\<2#X4%i3҄ !d@<l1RNN$M^虗Bcu]_jxUhY|<#prp7h9%ۮ5bG,#LLA@N kfٶzMkM !d-!Ʀ/<\ɴvЪ2|mz;"LJz}|%0L0k5LPĚ$F#c r ԊH!@"pEŌJn;WӋQ $j@!@̪꣸`ϽB$Lۖӵ'%}y7h٩L@!B Ui,٩ T @_Ca}rxD0TvR@R/F 4 6Qf,@Bہ\/\뷍Z gRhᒄ]'XS J5k&D6f;%3*KD*f %]$m[O LTS:2z &Kbm LrH%.h}z\0zHs}x郃|21ݫ!3E|a5 O1x ׎˧F1)]ȞD8"@tFڙrr N3|1 8aeoH 3õ-\nnd G%8sw9@& ުioo mWy>d5˃wi8^\"97rL _q hCP-s~ G ID E>P5ʿGhi6y` o-AשPm*Ko3xY O-`d2۶),1T)& |Ay8ې#ҙj M2R7\~7_nK=Ϥ|*&`t}QOH2,>DvIw3!~+' _UZ#`RI(^i^Y~DYڿ};ȑ@5q4/n㯶vYLRZ߾yqH?E!8ɑXFy;U4t!b;vslp#0ZH=S,.o uG%1S+]5 * E!dN d-m̡ 37Ua ,Gyq݀ [.Y1,"b $ O5,KКŢzE_ٍDn0U]B :a.颋ֽ"wB^,K.u;a @e^햣Ku2bl; ywƩЋ<žz\| ϻ>UnFvU VcFBm=c\Ȅ (pa1=`.>m9~a"$:_ќ[Hmf ՗eIʾ|eb -PP!]J:K@ɊZA:)hO':p :$5ߚgz~ĹK8 eJN+AK"1EE;E/[؁@Yvϗ'{.$C=hETXBiXx_x1[@@P :@ g%pEl KoǰFiwb+m d; ζ4@ {A 7oK@̒RB|$^Ƥk$ ?܄WL/!nHlFJ3(l/:PFvgY3 u0]F!2#`}ZO,Er :p!jݒ!qV|ƬcWfK_aeC_ntPAgٕѓc h% Wvص0;+Z{Q 8c)4L :V^\H{RB3{iחc"\@vG]@naQ@(*/en-ԨC&a(@ՅK 97ȝ]C4Gw.cCE'mإ-@Ѓ1ҖMLQ\<_^<|eё`aAg_!}:VOн@T?ASR.x8E%#/Z˺_ }2"{Qޒc!}"q*6 0ܗQBIH$?G[XM'k!J fW{A{HUQ#Sbj|BX@}Ȭwem|`tHyڥ,jfF6bMp9\榥אǻ 5@v:K<6NΑgdT:֮]ew\P,=Yvs`;nJI@rpuZ'+0zsRbZs$/1K ԂH #W K~6\鞋) ]XD3pr_M\#`׮b~B~s{/՜Z;`24rdL3LM%UHA'l u?i%ˁ-C`!(G@rgUPDV zLr|))@LM2!YPLmL.a)W#Unp! \P8J ˥{wol22pe0QB>DN2LpIҟ.-abwy.8 "P#PѠNRQƤL(F@ k_{:Ιb *$L =pq4о{"t創F TF4ZьӖ\֮!:q&Cc\bZK3;m`6`VXfaae]?F  bz)>_+\豦#!@ Pb' ‱vΪfW0BC j%,@1 68/npc$H7-|^G:bCU9Lr8VqzT!Pm#6s@;E[d L)\t^D E%*}Al#vNp^ER~Q{Av&ca!܏/T ;,#rV,@kK'Ym#6>(fgή$@|Qn;ip?OY-1 NKp>A[h$8 3qK*YyfG㛪T2쒤pqqwnqMk P F9jr$HP#povO p$;dz=C"@`p`o@@UI @ P3ז/;wpPc2,>88( .ѶIʴ@y <6ލ/Ô_3E60Scn<юx) r`,?3 `zA!乲L3e#3Mۖ+bGE4 /fl`lǍYC 5gYUHs`x2eD)'//+5P hVMQ3# ,uq/`/1@+Neڢ<u`hũ-$)k0yם㯩)*eP.+ &.ٲ[V7tM$ad+ I$ 3N.$ᬂ 3b5f{Ah^DĀ  hˍ<%85$9$"jK FvMqMgx7 J' 8sd_4^_$FyG%L{7A@u!As!P7rm~=A0^!282p!@^WD_IgXFCK/hN{^?\[Eˇ-oq%k*IF"!bSDabPf$=άPPBDw++( $%%<P;z=`Djq p++nn*^D;C{i_`_$3BʹEˎE:Up*e[yKOmuO~}W2Bki!.fW C RRHlyKV M@I#&Ȑ Dx`~ȐaQr͹W/>tG>|jQL$Zy@1#>O%/@0\^xn,HNhǃu.q5m-xg/aQ iTb v(qO=~e Z:(qkO/0lz-Z*up)8j JNggS\ #WFQk7rnr8z< w|}3Pj{ӳ8}=}{yOŶҋoߟ<ΛQcHCڊuEYYWHFJxdc "f%y_M6e|]o)%'޿xwtnzSؤ& i)VGCGG %7["WO!Ms<pzÃ!H̙͹޲ߣgF}w(Zڳ,$Q , Ub7nV̶CHw~񱍼\{쉜62D{{FSW?u͘L^-'9amh0{Suu5OCk{{k_W/#_zz$޺ߣ; `S6 i=qX?rf3 [a?L۰Q̲Wg7mjyG7So?utifS=sꗗ>td-I85k}٤GORVΉ$g{eFoC1gpf/uFxjs|xx'gm&IܻӐNt:amr2d'=6rۋvuSҹ;Aj#}IbG^ڭ7[Ni0'mtz{e5~ssC.~Zo S:_5cV' 6j|w\@`Lc! T\?V_ChVbj7߱ކ'v}oozj7hn,$) SRq Vؘ&]qu};v!sK\~jwM_JVn{n?ztJ;חw\ d$$yזw*(7sr\$/"b$[NvWCOOlfs{Ɂ5{Wog_z>~vsS5񣃯ߛr> B:\% UͮC2ՆlC9}ghtY O.߻Es}Gw2Lv+*?xۇf~sp H?/# EwJh`,Ի-x{-'nQZb6sas0{w鍢UxtΌk=sͩ`#m>~X={/#Rj`-*$7UE&Gސѝ1ޕcyqWjݏFvsմ㽬Y/tc{Om4KG,%}'HF͇df=z̻aGʠ`Y 09\~͓nz{NeO`IL=ZtڌqW\)zQ'ןYm_FR61Մ1 LM}nb `I!Yc;ч|,@`E@?4{醬 Y`b 3Gz}Ş77E@1gvv_m>'}8ZɆL+x'0i;j rV HKb$Q1Fixb;g#&8&m|  Dl7?#k11}xF _lڈq+)pj+_-^D;J%1@ñm2F @ڈqE"wZY"`wZ@t-X]$.c|gv5N;* @ +,Y#X9˪T0rn!_m[-D$X`7rhy$an㛷?Kwݤorv[ήwy쑵vG@=o@ܗGL8E<k՟>mPێ=sꗗ>zX# >,Hӧ. o&j>[ݗPuO_IZNt,x2ս 7)o[Tw7$mxCxc-CuO gww|vجݧ/(#w9[3k@ˣ [tzPs .v!P̗mMOw:܃9'=h&82ĝ<}󽽋t3gp9]Y\6,G>us)]\_5=e$޺Ľ[J#s3Y '=S!h&Z1t9؍ύܬQC/M.Ce!@f5{WouۯKM|vH+CC#=Ǫs:$mͭa׬#~YqZ'YX'4xFnf}SWw7 NXH @qwTWom'' H?_F:vDZ= Ώ?|Ro\:M<|eAo}٧t]? jGxat O RBqb[Q'BُY?r;wYY@ =>|C9VYxL.޾u񽋆Ks[;W`}ۖՏ O{w~r?xO?M~;8_ȇF~|w|( ޜwoCN4/xo{9>}p79 >}'`w "Sp601x=>[O}>puN3<"~~|w5.;oz>Oxx}}oFqN.?yUF둳04!/`] ]{UCۧ}/>_"yR.;5oPC]#|i#㮱ǁ\U̽ojzݓ)%:?}/s|Y~SB6 ݻz/Mo5!Z|Un{ }=Rl/#`_ twƣm'1-O9J_$7:Ms>6yauGM>u$kn]lsA9K}zֹݜ=E]^GTޟ;8k~?Ǐ>v9VSݍ(?2$LވHO>h2aG'gs!{pAćÚlq0;^|_ghVCG>=<:vk=ɧwQ&;0Nn^.d^699ɿ OM!x=Du 8ylk=ɧv}Îl_oڷ5Mi{;HNޅ}|2_e#|w4gG?>>yAqGݝoRLflyq?`wg"7w)m=KoMwA=sI}]O!^e@u-?.(ܯ}6:J5coqw\둀M>u{[}v,`g" _lФsF{86 ͗?8H*K6|xM9y`cAy0#£I+7wIO:`_ lڨ]F"8m/Y"kކ_Ǜ\aRyTiSǟowW+ xAyr|J;OVvs 𬞃g @@ @@ @@ @@ @@ @@@@ @@ @@ @@  @@ @@ @@ @@ @@ ///˿|Ek! B@! B@! B@! B@! B@! B@! B@! B@! B@! p??i^yg/4W~7oWgO?8_}g/3"B@! ""B@!ED ! "~ ! B@! B@! B@! |l? |կa_Γ2ko<kü~ͷ Vz v B@! B@! B@! B@! B@! B@! B@! B@! B@! B@!? ^/? @@ @@ @@  _.i,O /.5 Ez@@Ŏಎ#@@ @@_ gKZEN@@pQ% \T.D 3@,J J8K3fJ)N۪y'qXrwB"aڐԔL,ԔVIJ>y_վB@"Kr.J,hqiye)-ഈ$QJѲki! Zyҥuk ߩLtn@@pbڲu5ei! 8RuKh`"WV081) M].M4]a=;OѬoyAp,GC@pj, uXbMW `D&DuFCc_e?"֍5u4cK;fq4 cpkM`M熀ȀCmWZmu{j:inB^aڛP8u(%QBrJkk'w8O7g>NV C1cYhp!YEN9e9a94Ϙ&^^;i۽]۷? ܅P7h ú qBm*+V)&ŔNPNh'z4*쪀cuM].hfe_udLش~{d ,)R/Kk˾&n8pOkO㌔-6wiTAU', Q#}(t?TnĒD\;AҨ"jf,5Juʰ,M1"Jv0K?h_Z|єF[d&&b}ix5sV%3AM֌R+!k*WrP2OFr9 DrϮ\e^`D&*+4*W0VQ]@/Z?7lG$ovyk̝RLIDrD8J4A &Tζ}bfh+~T jCV}zSNIQA ŕϼ;J@?{?R>ѯ塕l&w1BEDhDW_\ԙh4u(Vg]k|h]^@g#C-$BJxT=EM,`2n 9eK{EZ>Jz;/ Smo_6_Wk*m>PO gP? Te}Ǩ{ӴjK^rlz'>/UQ2too0O\Qk}-Ov=iI{Dmm;Q-W\c,A|-gKhSe0cmc"KUeoKuK#y{]w7rX_GMͣ\&K`}$Qe۠: E\vITSrH _+OO%)6+"j yqTy?IPRħQWC%GnE Kt(V} q@HϘl3gTT1i3NvgÌ5#k'J/ROչ1VFEpQ;"Dgk v݀U kQmM]?;YaK;Ԫ\ݓM) +ݹzr^M6Lxw(F8cPEAU֥"*`EL(Ͻ?>Sgɬhr%ߊ^-xk1.hZ$i"Onlۤ5Q^⟫xzͩ}ETx̷Yq"&dF0|TxyJNOkS=zy:cլzZ$E $cyEZTWnpi[u2!:v ioȥkN`:Rb4d9oE44pfBs4.0Qo9[E׽BR_9I/·]HIgY ԅMg(A\S嬙}pH-θ,5i++kgǯAjEbbfWXrS X\bB=w~@gGY[sn0Y2RP'! yIFG 4.6Zt],}!j,G(% ~N8'mO-GV~$\7S…R.Ȱ&DGϊQ8matyeɨS$[dM-:.lxqza L_!r:sxm ,R۞d@V1G{]蛷Je~~L6,$#MDie*O[J#<ďī ֿvcz^^[ߏ@! qӏ}L'sM+L3O3S⥐H:L,U@x!\W1\,ڭ>.K*-$qH2u˾Ve`ؾsC^o=TZ&Oge+㫀J]F~rp:^e;4cufIV{k0R$;m&`TE/ /"d[r>=yey^k)ݼqe@!)SK?gvchƪZ^eF`KQJڇoG#> x~O!D۽!PuROIiڬ %=3G/! ,OmyvgoafKH* [Anw1[j\># ^0wseo[2uxI󌱜?oeƉ~K?\[gڄjgoʕ%9\[/ l&j~ڔ!ର+e5~U)vJcaJfyVd, KÕvS4wDc!$/l[ x{wsдrqKV JX,. ι6,tP@s@J*&彘iG+.څR_TĎF5ZxK}4513x$DB!9mFՙ* TٺiW>rU :!Cƺs,auiJkj"~jm.o6fcE0m/WC( _$RZŒX%_e{R]E_1k rFo1^ 9JhvF0<+FS8 /U<$uɇ1}Gң>xVѣ9 ЌЭ@up3E^ D{ܣfԸ5ӥ_U)r6ya[顀> eN=/41Y]iטmqy,ts_#ʥdZV7>{V{|pЭgyŮ)7NedvreSJAr7Cii;whK&U$K2]5%_.rb*?9pqi P\/=C#Z0ֺ^g볤4,͒ȩsB0BY]~5]x>"jwj5PHUW 7T4w],(e5R;,,qqrJ6i.u WƦ$oOQ<[pQ QrGvJB`92m~hc(4dmKL4"2(baǨX sO=_ 65),c**m͎n4Ȍtںa$*<'Q̘Uͼ m We[ɇӽh۴f'"xKG~,\-%ˤ_`ŵvy^dh_گv\QM푍`xH H%uh_Noy\Aqc\/F Q c mv/lw|\MT~:)\])hAq˾Ň:g JFd]܁rNŸQ gZeT3a{m.GǶA !lȶKH{2>}2!d7/hgjHc)>}JAf?AWjw4v˾Ԋ[-U} YfO][͓e~@ {a$?Cg-lZTJ8TiB)2}w*>mf(焎70FA]QZN}CJ+U$ȲUL / -ւJn9x.4t  <xS6KezrQ>Iݛ=+E$)#pF)WGg_Ř}n.@n@s (t2lÇ߰i1)3=]bŸ3:4gyy*H!"s(a]!٤>ҾF둗DJbP \G#}guF+JVO.dX-V~]VIE<'*u͚wfTYP0Qw5C[OQR,|M])M\ao\kIYKzc'Px˅򇺪;KeB q\'W3bxf,Ma"SlO*POsUO,Y.,!l0:tDㇱN~R@:εv|3HA@@$z~!lg$;piDTp>rOIrvt"jteUsO!%УgPɕ{`늖RyflH.sr(ʎX$M@&< 1eUrbҐ_t'vc %x.KpZq,` &OTkz+8p\ql.!LlV|fx6隀:6Zk!\$?\"l&@jJ"GM\WkW<ݦktIXU=%-:5<*Z?˙\~NLkkh?Tcy ]|*) ք%D~i!٠Xi6"gC|_b~33!l4h )XLյ uQM sF4tJ2FI\%ћA@7ЬA @@ @@ @@ @@(;LIENDB`Dd J   C &An5#HhbzɂwnE+ggDnzɂwnE+ggPNG  IHDR4sRGBPLTE333@@MMMUUUXXX```hhhpppxxxԇ4 98ԋ8ԈZԈ* X l 7gԈ0`9Ԅԅ|Գ)ԋ)ԳԳ`gԳԳB r)B B },B XԋXԈZԈ*B h  p#8gԈ0Ԉ*?B vL1vH18H!6H!>LhHLG_hLZ ЬԄԆ 9B f f 0\ԇ4)B B ԋԈZԈ*)B ZxHgԈ0Ԉ*?B )0 J pHYsod?IDATx^v("8',GqԭrrNl7 @H Y`zPΗp^j0NRx: 3[̣~+un(g弿b wYbeK>ˀ#4 ﮂQUZ8Ky)AzA}0 7΂ep6LpBF4")ɡ<(u gEb[OsgV9OIIrO%HiE*yGq[@t)zd~$͑ឍ0Ca6,TTiβpѲlZwvArrķw W 'gĭ”R%ֿBG*8iYٳݲ FVhIKὪ' Z\ȵܭπpwh2;2I7b GNĹB|x<1MPS- e%Fe-MVk9sL<u&40>='dv"yhn8.TJwTg"VmlqR܎p%q 4}JflmKc'HvR2l"T/UNY[‰.)`8A3=|\o-G1k8 ؞(ɞ<⍭ACc:˝Z:-W)$S]s]$F#T*qbęj0N^49%AYk z ~`JP-p+JNi!=g8[yN:Sfұ>YjKgk9BBz8[ÉL EoY!jӘ'Ts_&t,vWg8ۗ6ng6ȝP(+ʝU2f3o 6;4ljFL[ /I\¯)'bWqO1=>9w ;B8ݽDu ȶ̤KG \8fj$(s<lV'98C |-M48C8ȁ9Dʧ{X8YKAkB"xytrvIPZy3*I=DFfuYdL"o[ U$y0ӟwr?(xqƽ -:K2!N`x:8噡:r¡SMvC$B+RkvxDG6?@-LĹcyT\˼1*@+*tq%%}-88cSZ$ Qi _‰m;_9Gp,'*qDIR)ϦY&qb$ʳtn!l͐8ɇW8c* 5%wsWNתфr_^VjxLzspr [ڈS&I1uVG/JT%댚w,hfΓ {Hu2c<#Dz[,$6ݐ淙vA FhIο \1lNs5<>B'h &|uN5q/?}0N,1x<d*Yw{MN##t r"1o߻]9LO&*}ygkT'AhiqNυ^ u3ͯ~w>t ʗ@.(QCYz@mA.:Mhz-2x V{vSrM)A$ "oB3:}}y|e2Y379%l'$S#W zy7w*hy׭$fxn݁3/#݂<}pGq27SEGw ΗB^o#d1TsNSlp¹о4m &xFsS>XpQxv7T'[8֐N2'3dvhY$N(A48[d2-3䌶sHqi`B&P `eg0E J!ZsԼ-hag4prFx4!ل 簉ZKlJ0q j-< '|CYh9 _p\Ɋ"SwԚqY9 /scPYBs8N)gBu`_apF\=MU7 p>Ng xX;^Ưh: '(Iq R ^'vZLWV|҇韅|OuVѳfn>.ϑ8ᵪ%BBW.~I ] !;OPPPPPPPPPPPPPPOP,PtPh  t03"````44 lapDd  `  C <A$MCWB01114_0000[1]bơPi+~@SGpnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`"$$If!vh5;5O5P5P5P5P5P5P5 P5 P5 P5 P5 P5 P5P5P5O5P5,5P5t5P5h5#v;#vO#vP#vO#vP#v,#vP#vt#vP#vh#v:V7l  tF3"5;5O5P5O5P5,5P5t5P5h5/ /  /  / / / / / apSkdߪ$$Ifln ^ N>.~I ] !;OPPPPPPPPPPPPPPOP,PtPh  tF03"````44 lapDd  `  C <A$MCWB01114_0000[1]bơPi+~@SGpnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`}$$If!vh5;5O5P5P5P5P5P5P5 P5 P5 P5 P5 P5 P5P5P5O5P5,5P5t5P5h5#v;#vO#vP#vO#vP#v,#vP#vt#vP#vh#v:V7l  tn3"5;5O5P5O5P5,5P5t5P5h5/ / / / / / / / apqkdߴ$$Ifln ^ N>.~I ] !;OPPPPPPPPPPPPPPOP,PtPh  tn03"````44 lapqDd  `  C <A$MCWB01114_0000[1]bơPi+~@SGpRnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5;5O5P5P5P5P5P5P5 P5 P5 P5 P5 P5 P5P5P5O5P5,5P5t5P5h5#v;#vO#vP#vO#vP#v,#vP#vt#vP#vh#v:V7l  tx3"5;5O5P5O5P5,5P5t5P5h5/ / / / / / / / apqkd$$Ifln ^ N>.~I ] !;OPPPPPPPPPPPPPPOP,PtPh  tx03"````44 lapqDd  `  C <A$MCWB01114_0000[1]bơPi+~@SGp nơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5;5O5P5P5P5P5P5P5 P5 P5 P5 P5 P5 P5P5P5O5P5,5P5t5P5h5#v;#vO#vP#vO#vP#v,#vP#vt#vP#vh#v:V7l t֠3"5;5O5P5O5P5,5P5t5P5h5/ / / / / / / / apqkdc$$Ifln ^ N>.~I ] !;OPPPPPPPPPPPPPPOP,PtPh t֠03"````44 lapqDd  `  C <A$MCWB01114_0000[1] bơPi+~@SGpNnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5;5O5P5P5P5P5P5P5 P5 P5 P5 P5 P5 P5P5P5O5P5,5P5t5P5h5#v;#vO#vP#vO#vP#v,#vP#vt#vP#vh#v:V7l " t֪3"5;5O5P5O5P5,5P5t5P5h5/ / / / / / / / apqkd$$Ifln ^ N>.~I ] !;OPPPPPPPPPPPPPPOP,PtPh " t֪03"````44 lapqDd  `  C <A $MCWB01114_0000[1] bơPi+~@SGpnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5;5O5P5P5P5P5P5P5 P5 P5 P5 P5 P5 P5P5P5O5P5,5P5t5P5h5#v;#vO#vP#vO#vP#v,#vP#vt#vP#vh#v:V7l $ tִ3"5;5O5P5O5P5,5P5t5P5h5/ / / / / / / / apqkd$$Ifln ^ N>.~I ] !;OPPPPPPPPPPPPPPOP,PtPh $ tִ03"````44 lapqDd  `  C <A $MCWB01114_0000[1] bơPi+~@SGpnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`{$$If!vh5;5O5P5P5P5P5P5P5 P5 P5 P5 P5 P5 P5P5P5O5P5,5P5t5P5h5#v;#vO#vP#vO#vP#v,#vP#vt#vP#vh#v:V7l & t־3"5;5O5P5O5P5,5P5t5P5h5/ apqkd5$$Ifln ^ N>.~I ] !;OPPPPPPPPPPPPPPOP,PtPh & t־03"````44 lapqDd  `  C <A $MCWB01114_0000[1] bơPi+~@SGpnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5;5O5P5P5P5P5P5P5 P5 P5 P5 P5 P5 P5P5P5O5P5,5P5t5P5h5#v;#vO#vP#vO#vP#v,#vP#vt#vP#vh#v:V7l , t3"5;5O5P5O5P5,5P5t5P5h5/ / / / / / / / apq2kdI$$Ifln ^ N>.~I ] !;OPPPPPPPPPPPPPPOP,PtPh , t03"````44 lapq$$If!vh55 5 5h#v#v #v #vh:V7l t5"6552 5 5/ apDd  `  C <A $MCWB01114_0000[1] bơPi+~@SGpnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh55555Z5h#v#v#v#v#vZ#vh:V7l  t5"655555j5/ ap2Dd  `  C <A $MCWB01114_0000[1]bơPi+~@SGp'nơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`'$$If!vh55555Z5h#v#v#v#v#vZ#vh:V7l  t5"655555j5/ ap2Dd  `  C <A$MCWB01114_0000[1]bơPi+~@SGpnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5555 5h#v#v#v#v #vh:V7l  t(5"65555 5/ ap($$If!v h595 5 5 5 5 5 5 5  5 5 #v9#v #v #v #v #v #v #v #v #v :V7l t3"6595 5 5 5 5 5 5  5 5 / apdkd/ $$Ifl  % !9         t03"6,,,,44 lapdDd  `  C <A$MCWB01114_0000[1]bơPi+~@SGpnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5955555555 5 5 5 5 5 55555[5#v9#v#v#v #v #v #v#v#v[#v:V7l  t3"659555 5 5 555[5/ / / / / / / / ap־kd$$IflּQ[ e q}% !9[  t03"6PPPP44 lap־Dd  `  C <A$MCWB01114_0000[1]bơPi+~@SGp|nơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5955555555 5 5 5 5 5 55555[5#v9#v#v#v #v #v #v#v#v[#v:V7l  tF3"659555 5 5 555[5/ / / / / / / /  / ap־kd$$IflּQ[ e q}% !9[  tF03"6PPPP44 lap־Dd  `  C <A$MCWB01114_0000[1]bơPi+~@SGp nơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5955555555 5 5 5 5 5 55555[5#v9#v#v#v #v #v #v#v#v[#v:V7l  tZ3"659555 5 5 555[5/ / / / / / /  / ap־kd!$$IflּQ[ e q}% !9[  tZ03"6PPPP44 lap־Dd  `   C <A$MCWB01114_0000[1]bơPi+~@SGp*nơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5955555555 5 5 5 5 5 55555[5#v9#v#v#v #v #v #v#v#v[#v:V7l  td3"659555 5 5 555[5/ / / / / / / /  / ap־kdU+$$IflּQ[ e q}% !9[  td03"6PPPP44 lap־Dd  ` ! C <A$MCWB01114_0000[1]bơPi+~@SGp3nơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`$$If!vh5955555555 5 5 5 5 5 55555[5#v9#v#v#v #v #v #v#v#v[#v:V7l  tn3"659555 5 5 555[5/ / / / / ap־kd4$$IflּQ[ e q}% !9[  tn03"6PPPP44 lap־Dd  ` " C <A$MCWB01114_0000[1]bơPi+~@SGp<nơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`5$$If!vh5955555555 5 5 5 5 5 55555[5#v9#v#v#v #v #v #v#v#v[#v:V7l  tւ3"659555 5 5 555[5/ / / / / / / / ap־kd9>$$IflּQ[ e q}% !9[  tւ03"6PPPP44 lap־Dd  ` # C <A$MCWB01114_0000[1]bơPi+~@SGpFnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`G$$If!vh5955555555 5 5 5 5 5 55555[5#v9#v#v#v #v #v #v#v#v[#v:V7l $ tִ3"659555 5 5 555[5/ / / /  / ap־8kdG$$IflּQ[ e q}% !9[ $ tִ03"6PPPP44 lap־Dd  ` $ C <A$MCWB01114_0000[1]bơPi+~@SGpPnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`E$$If!vh5955555555 5 5 5 5 5 55555[5#v9#v#v#v #v #v #v#v#v[#v:V7l & t־3"659555 5 5 555[5/ / / / ap־DkdQ$$IflּQ[ e q}% !9[ & t־03"6PPPP44 lap־Dd  ` % C <A$MCWB01114_0000[1]bơPi+~@SGpZnơPi+~@SGpPNG  IHDR lΤPLTEffTtRNS@f cmPPJCmp0712Om&IDATc`  [f]KYIENDB`E$$If!vh5955555555 5 5 5 5 5 55555[5#v9#v#v#v #v #v #v#v#v[#v:V7l & t־3"659555 5 5 555[5/ / / / ap־Dkd\$$IflּQ[ e q}% !9[ & t־03"6PPPP44 lap־DyK yK vhttp://www.cs.uu.nl/docs/vakken/gds/games.htmlyX;H,]ą'cDyK yK fhttp://www.gamemaker.nl/games_exe.htmlyX;H,]ą'cDyK yK Jhttp://www.gamemaker.nl/yX;H,]ą'cDyK yK http://en.wikipedia.org/wiki/Computer_and_video_game_genresyX;H,]ą'cDyK yK |http://news.bbc.co.uk/2/hi/technology/2583697.stmyX;H,]ą'cDyK yK http://lab-cs3.dcs.st-and.ac.uk/~jh20051/Website/Xchange.htmlyX;H,]ą'c}DyK _Toc162761070}DyK _Toc162761070}DyK _Toc162761071}DyK _Toc162761071}DyK _Toc162761072}DyK _Toc162761072}DyK _Toc162761073}DyK _Toc162761073}DyK _Toc162761074}DyK _Toc162761074}DyK _Toc162761075}DyK _Toc162761075}DyK _Toc162761076}DyK _Toc162761076}DyK _Toc162761077}DyK _Toc162761077}DyK _Toc162761078}DyK _Toc162761078}DyK _Toc162761079}DyK _Toc162761079}DyK _Toc162761080}DyK _Toc162761080}DyK _Toc162761081}DyK _Toc162761081}DyK _Toc162761082}DyK _Toc162761082}DyK _Toc162761083}DyK _Toc162761083}DyK _Toc162761084}DyK _Toc162761084}DyK _Toc162761085}DyK _Toc162761085}DyK _Toc162761086}DyK _Toc162761086}DyK _Toc162761087}DyK _Toc162761087}DyK _Toc162761088}DyK _Toc162761088}DyK _Toc162761089}DyK _Toc162761089}DyK _Toc162761090}DyK _Toc162761090}DyK _Toc162761091}DyK _Toc162761091}DyK _Toc162761092}DyK _Toc162761092}DyK _Toc162761093}DyK _Toc162761093}DyK _Toc162761094}DyK _Toc162761094}DyK _Toc162761095}DyK _Toc162761095}DyK _Toc162761096}DyK _Toc162761096}DyK _Toc162761097}DyK _Toc162761097}DyK _Toc162761098}DyK _Toc162761098}DyK _Toc162761099}DyK _Toc162761099}DyK _Toc162761100}DyK _Toc162761100}DyK _Toc162761101}DyK _Toc162761101}DyK _Toc162761102}DyK _Toc162761102}DyK _Toc162761103}DyK _Toc162761103}DyK _Toc162761104}DyK _Toc162761104}DyK _Toc162761105}DyK _Toc162761105}DyK _Toc162761106}DyK _Toc162761106}DyK _Toc162761107}DyK _Toc162761107}DyK _Toc162761108}DyK _Toc162761108}DyK _Toc162761109}DyK _Toc162761109}DyK _Toc162761110}DyK _Toc162761110}DyK _Toc162761111}DyK _Toc162761111}DyK _Toc162761112}DyK _Toc162761112}DyK _Toc162761113}DyK _Toc162761113}DyK _Toc162761114}DyK _Toc162761114}DyK _Ref162429278}DyK _Ref162364030$$If!vh5 55#v #v#v:V S!5 55/ / / / a$$If!vh5 55#v #v#v:V S!5 55/ / / a$$If!vh5 55#v #v#v:V S!5 55/ / / a$$If!vh5 55#v #v#v:V S!5 55/ / / aDd D  3 @@"?$$If!vh5H55a#vH#v#va:V 05H55aa$$If!vh5H55a#vH#v#va:V 05H55aa$$If!vh5H55a#vH#v#va:V 05H55aa$$If!vh5H55a#vH#v#va:V 05H55aa$$If!vh5H55a#vH#v#va:V 05H55aa$$If!vh5H55a#vH#v#va:V 05H55aa$$If!vh5H55a#vH#v#va:V 05H55aaDd *D  3 @@"?}DyK _Ref162429278$$If!vh5{5 5#v{#v #v:V S!5{5 5/ / / / a$$If!vh5{5 5#v{#v #v:V S!5{5 5/ / / a$$If!vh5{5 5#v{#v #v:V S!5{5 5/ / / a$$If!vh5{5 5#v{#v #v:V S!5{5 5/ / / a$$If!vh5{5 5#v{#v #v:V S!5{5 5/ / / a$$If!vh5{5 5#v{#v #v:V S!5{5 5/ / / / a$$If!vh5{5 5#v{#v #v:V S!5{5 5/ / / / aDd `D  3 @@"?Dd D  3 @@"?Dd RD  3 @@"?Dd (D   3 @@"? Dd tD   3 @@"? }DyK _Ref162352341$$If!vh5 5#v #v:V 5 5/ / / / a$$If!vh5 5#v #v:V 5 5/ / / a$$If!vh5 5#v #v:V 5 5/ / / a$$If!vh5 5#v #v:V 5 5/ / / a$$If!vh5 5#v #v:V 5 5/ / / a$$If!vh5 5#v #v:V 5 5/ / / aDd D   3 @@"? $$If!vh5 5#v #v:V S!5 5/ / / / a$$If!vh5 5#v #v:V S!5 5/ / / a$$If!vh5 5#v #v:V S!5 5/ / / a$$If!vh5 5#v #v:V S!5 5/ / / a$$If!vh5 5#v #v:V S!5 5/ / / a$$If!vh5 5#v #v:V S!5 5/ / / a$$If!vh5 5#v #v:V S!5 5/ / / / z$$If!vh5 5#v #v:V S!5 5/ / / z$$If!vh5 5#v #v:V S!5 5/ / / z$$If!vh5 5#v #v:V S!5 5/ / / $$If!vh555#v#v#v:V 555/ / / / a$$If!vh555#v#v#v:V 555/ / / a$$If!vh55#v#v:V ]!55/ / / / a$$If!vh55#v#v:V ]!55/ / / a$$If!vh5 5#v #v:V ]!5 5/ / / / a$$If!vh5 5#v #v:V ]!5 5/ / / aDd GD   3 @@"? x$$If!vh5 535J #v #v3#vJ :V7l t 65 535J ax$$If!vh5 535J #v #v3#vJ :V7l t 65 535J ax$$If!vh5 535J #v #v3#vJ :V7l t 65 535J ax$$If!vh5 535J #v #v3#vJ :V7l t 65 535J ax$$If!vh5 535J #v #v3#vJ :V7l t 65 535J ab$$If!vh55#v#v:V7l t655af$$If!vh55#v#v:V7l t655aDyK yK http://www.gamasutra.com/features/20060602/isbister_01.shtmlyX;H,]ą'cDyK yK http://friendlymedia.sbrl.rpi.edu/bettergamecharacters/yX;H,]ą'cDyK yK 6http://www.amazon.co.uk/Rules-Play-Game-Design-Fundamentals/dp/0262240459/sr=1-1/qid=1161366626/ref=sr_1_1/026-6976647-0885206?ie=UTF8&s=booksyX;H,]ą'cDyK yK http://www.tale-of-tales.com/DramaPrincess/wp/?p=17yX;H,]ą'cDyK yK zhttp://www.omlettesoft.com/document.php3?did=108yX;H,]ą'cDyK yK http://www.igda.org/Forums/showthread.php?threadid=1534yX;H,]ą'cDyK yK http://greggman.com/edit/editheadlines/2005-02-12.htmyX;H,]ą'cDyK yK rhttp://www.paraglyphpress.com/pr12062005.phpyX;H,]ą'cDyK yK http://www.internetbookshop.it/ame/ser/serdsp.asp?shop=2293&e=1933097000yX;H,]ą'cDyK yK Zhttp://www.gamestudies.org/0501/yX;H,]ą'cDyK yK ~http://jcmc.indiana.edu/vol11/issue4/hartmann.htmlyX;H,]ą'cDyK yK bhttp://game-research.com/?page_id=33yX;H,]ą'cDyK yK http://www.enterbrain.co.jp/tkool/RPG_XP/eng/index.htmlyX;H,]ą'cDyK yK http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.htmlyX;H,]ą'cDyK yK bhttp://dn.codegear.com/article/31863yX;H,]ą'c$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a$$If!vh55#v#v:V7l t0655a}DyK _Toc163555449}DyK _Toc163555449}DyK _Toc163555450}DyK _Toc163555450}DyK _Toc163555451}DyK _Toc163555451}DyK _Toc163555452}DyK _Toc163555452}DyK _Toc163555453}DyK _Toc163555453}DyK _Toc163555454}DyK _Toc163555454}DyK _Toc163555455}DyK _Toc163555455}DyK _Toc163555456}DyK _Toc163555456$$If!vh555 5N5#v#v#v #vN#v:V7l t6555 5N5a$$If!vh555 5N5#v#v#v #vN#v:V7l t6555 5N5a$$If!vh555 5N5#v#v#v #vN#v:V7l t6555 5N5a$$If!vh555 5N5#v#v#v #vN#v:V7l t6555 5N5a$$If!vh555 5N5#v#v#v #vN#v:V7l t6555 5N5a$$If!vh555 5N5#v#v#v #vN#v:V7l t6555 5N5a$$If!vh555 5N5#v#v#v #vN#v:V7l t6555 5N5a$$If!vh555255#v#v#v2#v#v:V7l t6555255a$$If!vh555255#v#v#v2#v#v:V7l t6555255a$$If!vh555255#v#v#v2#v#v:V7l t6555255a$$If!vh555255#v#v#v2#v#v:V7l t6555255a$$If!vh55A55N5#v#vA#v#vN#v:V7l t655A55N5a$$If!vh55A55N5#v#vA#v#vN#v:V7l t655A55N5a$$If!vh55A55N5#v#vA#v#vN#v:V7l t655A55N5a$$If!vh55A55N5#v#vA#v#vN#v:V7l t655A55N5a$$If!vh55A55N5#v#vA#v#vN#v:V7l t655A55N5a}DyK _Toc163731744}DyK _Toc163731744}DyK _Toc163731745}DyK _Toc163731745}DyK _Toc163731746}DyK _Toc163731746}DyK _Toc163731747}DyK _Toc163731747}DyK _Toc163731748}DyK _Toc163731748}DyK _Toc163731749}DyK _Toc163731749}DyK _Toc163731750}DyK _Toc163731750}DyK _Toc163731751}DyK _Toc163731751}DyK _Toc163731752}DyK _Toc163731752}DyK _Toc163731753}DyK _Toc163731753}DyK _Toc163731754}DyK _Toc163731754}DyK _Toc163731755}DyK _Toc163731755}DyK _Toc163731756}DyK _Toc163731756}DyK _Toc163731757}DyK _Toc163731757}DyK _Toc163731758}DyK _Toc163731758}DyK _Toc163731759}DyK _Toc163731759}DyK _Toc163731760}DyK _Toc163731760}DyK _Toc163731761}DyK _Toc163731761}DyK _Toc163731762}DyK _Toc163731762}DyK _Toc163731763}DyK _Toc163731763}DyK _Toc163731764}DyK _Toc163731764}DyK _Toc163731765}DyK _Toc163731765}DyK _Toc163731766}DyK _Toc163731766}DyK _Toc163731767}DyK _Toc163731767}DyK _Toc163731768}DyK _Toc163731768}DyK _Toc163731769}DyK _Toc163731769Dd 0  # A bU>?$5j0wL1n)>?$5j0wLPNG  IHDR sRGBIDATHKVLw'mi W"[iBuiEbLDM heqqc1K&1N?,8~,el-j10)Wz]z m1?޽y}}aD 7"MMM ,tz}q8SbeEBQ޽L& ߺwO~F.d렗=xP t2C?1!_[' bnnnvvX,[D%!{ E33r<b`0xO}}Wd$$tA$t_{ݠHw霾uE5ry{PVQssHuu5loBV*O@+tv`'Eݒq(*VqXAQ*?CCdE(0DGׯ\pX׳pZ<:<:Çbi"gAioVVr /MBQ"R$h8T)mmj4X~qðA0B:7q߸ѕ9Hd}yyJp.*zPt@x~ S@ޞ""R+\_B,6[V~XbWOsG jѣ+7.lo\݋%wC43Nat]]ߗuN%(.9 39"Fј\w8~u-B lIeQ\ e.#3""* ndT" A%l/yyuw~i]unݯέNթS+0=-  t۶w|O;:}?/ @`ӦM7s%? @ pi.gKvխt'rOuwZ% x2:m⒀RFgYjKLŶ' !gE}) δ%=Jۼcz<ũb6-q"GAXZ_~lR.=Z8)&<0A$}#jO.ξq)f$ )"1{=_.s1sݸe XЖb#8}eu7on1T-Vg0op-/8N9g/[90$ϻjI*5L{f^u;CVjGۍf  %{A[oF&g\v~mCJyEo-}F=k#>o.0\8OMͫNv7md rbTRiUk+^BV׾.N|#-Iw0o_|衇={ NzDp x\.O+óFsX&\Eq\fob!> PEgu;ܳrztfߠ!^ :sPT/hDY-"" $քcp_[.͇6pWD:?125 ,aЍ3Wnj oT.z0\w[.-mr:~|!f^L^0 {B];[s^tTx Lf sːb7U1| |饦t1&MYI<`\_.42oeY3snaƱ\!Ė0{E lT oy-MkKC Tݠv.sG>m̮2W+B 6޲  UW]Iƌ8v/76o63JpaƪU?aZֱe~ԜW 2x^c2%_lב .*Jt}k5st- V[)w;3nCb~umEb77!/zuc_2B% /t24>ƃwfӔFRV7T gNu/Ty,st,VWj/ĢׂqeE.ede/RGSNk޷\rǶX5tusUҸGyy8!b.n>8^NtLW$r˸ Fu_io?LRl l{Jm~`ٷ75W~v+^Xb?Ogd/{s[[\T;P)g,Un7g)G[e^ kH3B;MߐMg_/Tٟx'0,RTE/]RtNN/-VsLg"WZ3J 0//bhVߕ##ض?<ƓG{'x1EFH ŰF4)}>EL`w=ϴYѝ 3TP3(n񵯩֬QZ+=t5]6l76;sѰwaro+#ꀎկ6׷x>R$,Id'KZa&<]hCʍF@1lhd߽5`3Gp%6mX-Vfb{߃_:f R:"g'.#%GG 3tk13%oβ&GZa,&Gټ%92 Od%MD;Qm} `^3Ij?c<G]ܹ?sә+3y7-95!2_g}makЈE#Ly5WՕ gOv:p3]a5״!/:mocl笼 I?+4X푰<~U^[ 4pёkVkC^֬v&)F/B'"`m8xMwĝc7 `.0vnx鏼It |)jKۼK&9GiC/llzl9〇sA<}n9`2G:p3ۊ,9*wK~=x#hFIlNmK@\j!{R Q8]b qО'*{dF26sA^#鶧Mk~ў}51wcC[#^wtWZ? | .CftӧW]ȁb/d'v3w Ð򣏶&`hAxSX+x7 Lܓ }>]{;p-zan:\XfW5,Y$4}%'cL>^# vǨ;-h6y=fqD/jPћ?nkMT뗰\x#,x2ȕ_ݵ -%Ip=9`9{hl{4;pѐ t=уo*hsMN_ʙ\!SϡFG}pW4?+s_|ĝ߻s+/9_! iܵ< F%#)i[vs ZDȁ80KJ^v O,$H㡺>M'uw.U0[bmN.qf4zRAhJR nco'd##C،A8I*vau mrD:/)<\N/Fì`|+!6ڞ\^V1x+ AHR~ a6gێ0Y'T { !wÜ-5^Gt9_~se_;13%EG7Qh)1гe~U9<sVڽ{}f@I pIyOn޳ddٳҏ^þtJt!/:@!rDEћ g~U>U(Zш4.mKܟư.i2OϳSiw]Vː:ܝọ |ƒ$Lg=HA`diN8ש뿫5F3@[4Gv,|o^u2}* ,әc.A@z{{) D儵vڇ|xV -  jZwf  b2u,~|ytA@!oߴCåyC #ySNJ&S7׈%fOrx!Pox; =Z&wAob0~-ݿwNejpя}V-AXn/Znj2cd ~VBU*U !a<Ai!|vh~qdv<%яLh{eT܀V[HfDJ|DUgŤZR 2˕K_ ןڦ,= U*>0 Wti_u >&>Iڢi\2gb\5*5E |hCH~[H)o,.#6sn42E=Ӭ?ďY@4 !}5%*J\VP}-D;џџbXEHUeJь!fi. 4APV3[42qp'wP|VSp3DHxpbw/h't>Ͼ'rP0P yJC5UՁLkF=Yrn̻$#h*I.7E4fbd}G1y^&7F@;ܷḣ< _BH¾j7؏alA8, G >~o!t>)5 pU#hDraܛkC0 d#Tf-UP\;cUY)Ꮩ}xXp>4+NipH|tU&'pe8wp*p?쳓7n[4<؜7g?'0Wp*YY,[7Gޡێ=\ٱ|L ۯ9G\<r<#bhM|_]4xdx@ vD;KcWo~Njyo~  |ޜ!+0WSL׽.?Լr9ÈJR{}bD~'@$#U/jiKA Vtt}E @jla׶ c/`B3bBYXDj >Ojn0"j#~TA|ZZr)0]r =y|3z#D} X^[&q1|WhWf5 5JuESfD??Iי2P(J-OLPoO~'m}Ef|jZ|`vDW8GI&uZaѥnt. dꈨLӉO΍49 g-xl] "V >̶Ӡ?t?x{Ri>{U*I#yHEOlK+w-3r:bOMg Bmy~'ABi_EHQ{HZt|' >OF|/Hξ_5kָ1Dn/fH tkTP8ywx}sIA@lP "@$,bOl׋ '=y? iQ$ʙmR[+5`+W䧨|F@We};->Gi9%1?SƊaJk]t nL QاU2hnՔhhK&f!џY?s~ e8d!~՟JSW9{p_nR NE.D IJg`umOyࡓxɸ7 YcAʪp欭ͨ*!%×"â4A\dY3Pd/07G-tOO\L8NHtdl\_~@lp-?n1;h碹[6[Gku&uCi4ϸ-#P}S_dOFjj wרajg:YDEO69O/j;[-ڷ᙭ ᧿~O|l^roG&{ϩcOr #.4+ľt0c1yw|ЫqU˥`aegsfU]uP1"EO3GxA=rkqī_į_ySI ST-[_?en2L<4L+ #m@׹D+V>ʬ%p Qu5T Nd 7`k贞F#&>Qߩ}֖e?k|O7WO ,m5>Q_-ԙ[ sN+nDtL&G:\Nץq#غ$4m_|s5P'||gfU`/9=?{f+)?rhM|6= ^$ 0x7W?:Ǽ>y//zc9lp|ľ_G.T8's&}] a^? KyuOTG "`tt>WU %2Y6mb2Ĩ'}mخPuAs'~4`nINBjˣ}jAO$>a#4 Ǔ8-= 5l6~k?kdOy,l)?v$  iG8b^};>{h'T0f6 o~4<wΡԐ c*jaS ]' A lu͒b!џF4v0P]>ge/0[hd8@ P 9#BS)%3T8?HΛ;Poib<,.OQ/$mU.7,X"j$A\z +$>>ie{ʿ_)8_tмζ?Yn?E}@E-J@( (ƕzx*$ttm˹Z͚:yu+B-341է} AT7Muar&JhyvQ A/ܿ4E5eP f 0מsɑ)SF8^jVaB!t-p@<Ŵ:f`VV ވ(_'`݁A+#nt1_1#=wwL .91X; thE %XD/hYup~Ƹ 1 A')o413+] z m_C Ι7|JNԦۯD.0ğ`:` طX"e;.Y6 'AO }99c/Vb_0O@^ʊ+7@"GH~lѱrw,mːjUP1iV0i`*S۔  5v#[b3R8ľtJ-SjD1Z+WO[.`| -PvȂے|'ޛmMDG$Eu+Iߌl9RS! *  HԣBTCɟ?Zk)ؾUư:Q/AM* tbQQMEEQ(boL4,[|6nS+t۷rqPe:@% >h8hB0L <B@j?VľxczkbsGBVO54OvC{}K jy!: D7ni@F$uP]Lxz[qap9k/F ]z+e{YV.@R#  ؞Am2PJ{) >݆O5l*ߨph<hiϤ6.!sbi`*E[6c*YXtoy 24T<+;6)c<;as)~Ps~WCˁt_m|7>?ZKri]"-ڞԯb_Fl G'y-  g !D?bjN_g_@)A@5 eu8%*%|Lt;):;%eښ؁ʹHW$?՟d{sJ  /؉[!32W'>Nȷٶ3T`]5Cm<\˟_E?$)[.a4uj]%J%MN4Y#AWZVExU%j ȿrP:Y]D!>![ϙz/0b2Qv'lIΏE6g?iޗn@KhНxY샃###CCCξwc5(w*3roY L$>a#4Ӡ?[x.CMC{}K /b^ul&sQ3w;mIఱ/pHדq)* wDb"|$o\ǵl! \.O Og`~Ə{ G)^O8lT*3C==bWü Ff#kb_z1Q%l4LrmN;]tsFٙ=LkF]4#dST W|D*F&Bb(%>!_%d}?mƧ?f7)R_RNuC] LGF!('dtBSw,SCHG'R0@ty!-w++z1?xhۺٻiMNfBqȀfhr{4Ar^`tbhQL&K4".GBZ _1] >~7]!=߿|_>z.?dzE̮ĵd,ZڡSUơsFYK~U? s/T+ԖwNOOMKReܿs!K^?[}f6uJrXJ0kD[ľ|+?<@۟)E#HTyW`FN_|zYݩlmEfFx>LStY䩅_|]铋. h,f"C(^ DEMmڢ3Ͻ}gZ;k%).12r`ջ ΁]7jzeYD~ .a,X\2be) H c )fl*>~Ԏ,m?Ÿ-|7_8lvQٍH&/mTrXuvOQ~xӍT~`EyEp`ztgA8'B*R T/ϴW*rbБ:ej q'z ASzEs[iQ7(m):|6T|)||itf1HL :Pћuxܘ9pfnZLdLqlK?^何o{ټ6?,yA@PD /@\}+~1!1<]~Ɠ8)MSD/GbsOwT1r-MAYyA ы|I?}M̠k|rG{WTQKw Ej(<Ƶj ]RiPE]̈́̓Nȏ һ_r%XTTS~dѰ6N+{tO{}K /!?6?fmӝJpf\xh:6KE~Tl*6W yP+bz#O/_No']#'& vi,i<%J !A2%$^-kۚiF@ >^֏菿߅oS)aJNiB5;!!!&_|H[z=RGaM-Ub!ľ&O^3%`3EP"\џ_ >IS:yAJ@yVh!ms”?<Δx(V?[*1:H׎#thD?U?c_%-<5W /4|3߽021q@86J"ӆB &>Iڢ٠?>]~GZ6pJ' 0:|7߅) ʁ  tv6C"߿%>}l J/;a6_!> ,߃7|I"7GfQNO0L_!󚚖WRTr8W]OrvZKx H[~$|*tS8.VW9S|'%I0 xy޾b2NmҼ/͕GT3K6|@>AhoBm&aP·,| >OK`'|A޾ n˿]{>wBkTju3!H_~GRTx||<'iq-[t{]~ZRyFMΏ5k8]HԅI0< 6· ܏?7v~>üɝ(^֒Fz |scއ?1C~;[M<7g}- b>b>v:ݶtsFٙ=]`\L򇩧i\7L2#y҈txW`E'yA+Q4Qid4[= Z!aطX!8R%Nџxm5S>Ir~޷s{t-fm0Z3fF&*^ dF%>^([bџ՟03;&h.Ca2|JS\&+}A0]4+| wl%ŪHZ,镦XpƇP3: >mk.~i.?ZkhVkmC' Zfn_OKBGyw>W 2VUJ5۞򣋢zI8`ҙ ƕkUhMङF[H>"Qx @W6l~ Wr"Z|rLCMWt%3c~-Ml^u4ٷX,ʌ`.U7@՚EȪR 9i&--|'L#w!~Ŕ4ߞpew)l+- E*= :Ny0 d3} 6p _RZ~!D'KIm&LW*?0k4H+Ùcaȧ*|K-r9/t,Uw lT͹A2ykǴblεq?Q_ Kw5zM 4L'DxDFݴ/+q7qs1?&Oz޸-`s(r mr22S< #|$Gx=@!J zn+j*#-[sa@Yw"wO.άܡ 5I(';d]k9V3us&-Yarކ鰝Ȏ=#{Y ["dAXk Dp܊-p `|W!Z%:~%ߕ5-YҫǖlqAGv-xVu:Ғ_7֌|5ÌJ>4` 4=syam+ՍI!zKa2~Ә!¡>MTA"N^_j;ھM$X1{i?df%"!dk\DhV s)' Hx*[w,_\,P`Je{l.5/"듀lߩIpx|d\b'&GHc )gl->I/B_>h_ف|cOdN7s6ZD<o+>Prm+#CDh3aZ=\%dt́KG.V0.R(ҁhj |\˂qN XSև㯮_+V;g?HkG~r~x㍠4FԢO2;pFJ!!x z'GīK9s ڱJ+v߆۷aɆ\ܾ;8X @O `ǜ$N_ե!][ξ:!?f}y#Npd^K%jzh'׋Kjp6<2}u3>3Y, L鹛Ŏ@\}0wl4:E$9`#\b d{Rn뱷p=| !8+za<>>qٱ|ܴxKx?,gG>_c_=~ļ)Ϋ t'^QKGok͢e'fEKbe*% X$l1G0 STVAJ31\)<>Pejz70pMԧX1tp 7nT:31&J/MG[ 4ޯHy$7R4^UrTҝH&>wG^iAzFssVƊ##S½N3a|w+SZ#DEL,Q_|;8%XTTR'Fd"U".GBDW^^C~l~HeV`X64 n Jg7i}f7cĐ_]**9fF4d1*={SE_qŇ7c~OG‡">O`Fc$yukBgŐOe7Z(TeHNZ/~3k׮ŸfmTtHH'Y%_ ur64UʟP.I'+ӈp<|skϐק f:`̫\ 8_"3 j+[H}Q dN7k9/W?wIm>g/#5(ڤaZCD~T4GIu+>Zr~T뀭Idx9VhX ,f4! PX귳 R%;a<Ĝ6_!㘜g|WSS7W|"ѧ3P|b.QxuQ A8ݦ@Ŗo=BӲ`KmLnY}/ߵ"Iԕ2޷URC$>/ONۉ~g1+mNҼ/AvGT3K샃###ji6wH/CS8SWy`J#D> \hq#@%,g2mcֹיջJ|4 KQWE"|t8H~id ?>kTju3' i]7uxoG  $xfb?ܰyRD18i;-wqg~Y{}?IA@rvVi|Cm]mxi_c$43!ml3ʩߺ~OC}{/0N=+Iǫʟ:-D~-Em?v/| e(^hTCRWf'kAGOiO)9fٚ'\gߝla+wo"i<7)x?ɋ̋NpvJNW2IAOviNj°oB~l^+ko^9aQvxzʅh3u| tTnI|MwmnG'QG[^s5bx)NQ2 >ONkǕ}C~NB~lEr0M"uH0%iͤp.}43R$1gmsR,;3 d_Ƕg=.\~P_ui-JS*8N|PW''|"zb wW[oڅ/9?@hn8|gOSJ7d<ٙ]n4 V)#9Xt†U`i;KGQlFI)Dغ@^px>o)O8mJ2wj̃i_ c ׶cǴ >O׊8'4g^Ϩ"'ߴ}PO7 xiє*$!ԋ>/N87m?y?&Z\qYH~g<3 `.n;H ͕_$e^` >Ɵ菿q; i|TUs`u\h;K]1s73rИ3E@Jzrpڻ~6MǑH_2;mj4{f `_ffط-YaZ-׶xN̠\2SNd+}:hS; \6(,A q*?dbľ? >!_5{2yhS7wWPZ3-TPs3]e C=w[`2+{f)ށvֻ 'xG\2ze) N c )VhlU >I/8~Ÿ6J-1LK ,ֶXKm~uW7s6zҽ%9tPF>U}j+9%㜸 bR N>M{p b¤mzedh0mC0-,`zǀ}<EzSܩ_ጔRC1;߾;ARzP!܏; u ec+*¨j)`9-E)',Ayܘل兿E+{9EؗJkLA@dnծ>SS$7?\R+s8pԇ6 Ʀ60Th m;Oe#%gyV_[qM@w#`J~^eN[\wS'48T,;VT&Ptظnd\ayWKj֋uȬu-`ʊWCzh {ǷۛmPP_E~4g7uޭ\7&j۷I 'rJE Ù@۶dǞ Jϴ/ GFJ]{/=6g>V0v{k_얬."x& +BXYH 0[ѵiZ} .WwGIz71;8mspH15QhaT?` ~FT?|dE 3jEFKåPlҨ \?-~x/݀DbrjQW 3%FYw5G#=K_hۉDҟR%°3 _=on"B?958\ݳ]0s=pGf͚5BitڇAMZ S~ϱI'"jT] l}?};f<`Ao>#|fTeHN:LJQ 2Lm7cžy_Չ368&9;҉yV7cP $5bdWz ̚CrDW?[<|N-ldUT8rcyuo?M_*Amgh w*[Nv1ҟsՍ< 6 FZhHa40  >^ !`џY?'?z̭J܉Nxcm9:2";<'َF 8+O'˩rP|b?]?l,e֭[GNRdvEyi$(\US!`u IJŤv-?xu$՗݃yʧ9`}!5uGPh=O`RQ&6p%#3sfծ/[7pi /q-YVJOzm/6ʟr*vLQ+Y쬠wh|vK{ECǟ`g_z[E@8'ONdCSzI nWŗ2WC1X( IϠ >?~Iti@CD:R2pV]xk9`.'mk*Ih+$p+f_i Z{a%7?>i?;Mzdq<5HC(蚺<;`~o&\Һ?E?cn~+E>XwYW(XK{pϸUB3j-wzߨ& ]LܯnMH 5"A@U(/hFazxpO׌yZ^z۹hzQ9Je['Mtd*eFW|9Y(hx}mߖ|v+?r"'my6q]w}Ɖc)N`e0ckFٱx|\Wxz U&ҡtjvnWm˶—R nuAff/2ОCؗ$&.rl9KRipjחƱržd9<ݾmT^(+=>>!nne-肷]A _5xFj=|iiϹ .:ٚurxO maY8_ãRjf,.U):̮ ^}yv@wIG'jqgw ALѪ 9;W9載x̛rޢRAF]D! iŁ?hֆX!$j-yA@z+~$/ۯ$t|fXroA@F@9a1qؔWh~H]lekb)ڷRI]kߴ|>;482;^DY?ђBqԲ(|aOV > ʳi8V݅eH< M2HNV>_tŇbA! "QVe*^["lZE~[<}l,V%>ڲb\5*5+TT)7G}3) @#?b,8\n)5H5zPGHK|"PDʝwyd`KnLɈoxZAoɹ FQo~dL4lԪF5YӀc<9cTchs^RW|l^qQZka_$^ZW_l/DjlEDD}νD!̩N'-DLԫBID_DJa( Q+4XպQ 5ن)ӳőܽ'^J3>:^U, lJ`fw|sTk GK`ۇM7ݤdNщb&s]]p*WMHАyÊٌT'`8)ۚr@Np`L> sz^|e 7}2 `9QzNI_Gڟj3k֬?WBճ,!r!p~2ol xmGOժb4JqIA&܌Tٛf. `l˓|v5wB*6n>EDPL~)/h} V p0B'flK:`&zE0fމb^Y\<}i(m?0|ga#T N7cK#A| ?/BAfn`ӭJY{ ,FY j`>jHEc [9f!;S>-Ǡ:ƙ]*8Զs ,"?NE?cb~@k!_JyɲIᜥCa1S"#ʌ=ЭS"q|xoG n:@6`8 dFO}%qBfpTj|j5L/Oյ'OOƂ03- tS-2|'+bZg+jYKǨ~xHm :'C_iL;VP$Cy(襚A2^_9>/Eg`Opƙ%[p|<GM+| bf*_VA(YT??!y¿_Y'*qI.G@J<ɷe^pªadGd3[~jP.M*SỌ8 "1GNOޯH:`pe悯oK& >'(|d D2Nέ93>SَfQ1]=ג4+{D??I џmلuL9SmY||l>2*W5[hۨ$WC*>I^:џ=y&TCDZj(I) *1tLສܝ3_kC`^|l!YS| '[mB)Rwi'^DukLS 1mD~P !$#\?Okk#ؗgBywk);- 0O\ w5#TdBD?~ɝwyD v@)΃fHMsh5u7޸o<Kf ;./[oϑ夲qi^"fً ̟lA@fwUHQ!@#}^zmC] \WD4tKOДCuއ?1C~l럫eH_[0ZVՊt3Z!U̙h60Kco]Uym7_ȱT@#WVH{fMtku Z2Q;lѡ/]}AHrZj:`u]H _:yl۸\3ꥧG!P.9FaR|'{FGN۷/npN]6c'_;0wcy,sF|[ qbǮ-փ|liΌ"?-۲Egڟ m1w撙,r_Cũ{,|659CAxAo:*y6)͇nc ; gJiL; q\^W,aF^]ALY޼ys$vȏ_9㿼Vd+3,/3*WkurV|!Sg_GXlZ|8Luk/ |rJC͌˳5#D(71$ K~$ z4\rp=ٌ%^|G/iLa6gy:2:&$b>#t%lNoڴ)|SZö vs8G"`/= i>#D?-Bi-1Z}Wp+z<yVsiXE:\W#UO 5G/E!>IPџ.ۭ^Y6Hi$MdJA2#?I}H^A@A Y;1.F 2XI I~{yORf+ $A k@ KWw" =Y7H:%&Ĺ\s ޫl"?p8Ķ\ G >>*$_xfheHr&5HD884+E۲`r|] Zΰo\E5WQ |;/@? MMuX髋r,gݸqc$[2泾%_x^ir[k4`ڣOȫ«-N|-} _}YE$epa`ZH O???vv/M;Wge,uɼBQ>D#3R%i6GQ0VRǟ<OFNr"(e .$bq߾}1#K ڕQ$~a2T1nQpB_6it=Q!|jƥ9s7"rU RNې,"`͑jsRZ,nދ i1|nj"@' AkKWeƷbXgK'6:-vaj){0n)>IG@뵒"FGI̬d֭[F΀D`>(=rx}{A;#f ^ ڧ1  xe >OWOG ZiY;me‘#6N7P%ԿI^-Kݔr$|l''#3SyofYpƙ%r`U= :\ _+?bCHG'FYSNjFBliY0s[Ã_~W9jYaE*៲˨w L)!|'OOf͚5P)44gJ?s9` >'z>ճ,I# >$iDG4l:})iigu'WfCj-ɭ !$ >OLGg9lj+=O҈.34XX88"Gp;"?ר)iQ&gn_7rU$$yA@$X+E6^^]W%Ѹsי=]2He7C? H  IJGPcrEԨ9`,NiD2mv3PwVC?Ԏߖs;[#}|6?DD41e/zde+^ѮiivH9|88LyOX͈;#$yDD_rwWN@`RYˉCۄЯ˟<9T 3F50h?pߞ#Ie?:z/ZؕS9N7GG @fg| T|~kW^1Mh zEELguI"la]b{޺a)K03*E2 gZf.d֮]Kmmf\/-%eSXpkQcᅌc:S{}Í@m-hmW;a~hh@$#QGh'Zm4R_l͗µo`a ,9CizǦɩTA0匯{ݐx:I]7to$l/_~V!sX 1UjU+}GCPF00c|tv- ЧdnyىhÜ,4}ta(SQ ȅ4|ʟ??a{9!]IX yxy4bJmYGݰK3mOu\խ\/)Q!,Fr4\hd# ȊőFը4 "f[ːxeH!5k2.j Nת1UY'mx!p |Ziz}bn;&F^պUFqpQ/sDLP׊I/c:#Su膐ZU6LE@d MC: ͘_X.bJss/$b4-Sf@~JԂL蕊''Bq|^xQ[Mx֙8k7TQ:}2*XHRד|G/,ȐEA΂ԶBCmBH>Q>5i` D;!QVsqi>V_mԶaE{*S9V:\hnm"?68sџџ:E=hpBQ c!I7Z?o_^$  ď2Qnh} `D68X VtB#;S-A@/Cѱ(+wG8\6GZ40h2?ˆpaR4j Ձ}Rqi.1oL)  ΢`D_"[b3R{8PZ- RiļZy<(OrpF06DZ/>RjQb$ >OwMG{a]m77\UTX[( <ãC/'`}A49j#dQw3C WǮ`7}P&3OGjW>۔401E;”Sn^PMŢ^|b_Ej!F@C'>~Iq'# &4'~׫R)aRnzզd7sx,m߿o.>b +ӵ|pT BK&Nĸt0N>EAK\G zELJ })RIN0GЭjMUC2ozM|_>7ҺXІ͍P$IOHŵ<+QwtNk3xHo>9v>nQ8]|, F|zdTXi::"Ldm»S~P>C@ ]5JfƂƳhv {יz<"R|n~&t̺uxk2F($#OwjWOIv@'ƉtHTL(ݞ>z̪fK'. _q/?^rFN.KV|}??3?fuzNO \0dG7wSdӴn1,~O?DDb4;e:'JsH; !mO4ܝ}#b,$UD##-/8aFYɮ]ɋX*\'!qL D \zEɥA *'=ygI3K^(} # ) 8S?!Q%KŒ3 FSz`ù3kE>&+،<#ﯔ8!cȔ"?zeg-hsln- 8n4iBmPD>O* >Ls *O&gϵ,`s/+g^-B@1>dg^+W9{"ؗY|B}c|"X8*%nĮ8GX zGAݷٔiNl+G "_|JUUt6ˇ!buNEVWj5c+hL3C~r ň04?9a<.-=#ZPEL7{|qY[&Ki5{Ͻg]'JtQWKu皍)Eest1,g?; Mߒ:>dRR~EӵutC)gK=%eH4h D4dPRo`hds`5T-`q䔋lh)d/=cۏ_E9~ Gc7q]`Z쁹D~Mf`0T$ _)]\7mݴt5ӉYw >s?85#K @AV¥=WU JΨ%XVTADv Wcfr22S<ǂڣ@T3Vw6's??2b^OC4dիo=EGTmKϥ0‹Cܾyg*eFW* K7 IᚌKڄ͵8b/Xz{xYi̬ßp2}ƉcL]`5W+ށ Lkˊ'Iu$&;ѓu0Z_OE`dYlçfڌ·+dq![Xğ Ws7LZ0w֨gZ08? f<"anbnV:żK=H^a>AE0I3 P5?Tjjv2L k # L/l< O}9#<;ۇ怛#jIma"?hLق!CZ=YvOn9hpX5wNMVG]t9WkX.ZՒZ?ija]w rֱL͙QB7D e.JݹmHlÃťD/OӒi"Jʀ=ph~4:obh"9T0LѲ\ 6M"KEx߆۷͙2r!+(jA`0޶H_[,7*S V"MM) 8BP:>! !G!\o-DN" p]o0${ކ_{ ١ő񜋗( G?ZRȫmCX&U\kY]̻u.m9"%ڈ%RbowW!!(4`2bZM'!%r%.7PNXSAAi@O T#s#4?3dZUT)7G=Ѽ:?GJLy#eXtU&f|S,Qȏ :xb} :.T]{=?Fl!Gw3iFR {e2nD$pxAbA^l+ UVJ8xB<\2B֨/>hN̮>ElԫNʊwzitQ >CӉNYC5jǶ_B<5S#~eDt%ܵb1Wo`㏦;:@)߬[|2Gs;s%Z EO7\ >6LK\HiOI* hi8&tg]Z%ߴـI@ӓa5aM3D_Ԥy9Co>"i >'φ#zHz"6MNHC87c`o`ϓs 6 zv@5E(t&&RH*˷J㨮3uo! O|>nbs 28 @,EmHMgJ>MpA*<>meC ̸ڻK>%htXO'{7ﯔ? *(Zr&ZXBw _`1AmAjl4yP8|}BU?ٰS?S׶WJ'|Ie`]K >6)[|8aM]8l{󗖈Ht|icVW23|&yS$`/@k8Ӗ| 24m^:3{'6W fr:*7S?W Ⱦ$ *E5,[|<{_`QkK>>$bd|b -Wa("@[ƛ;tC:Ǽ>y//zc8|ݠqf'Z3 :]ϣ~\~hgmd8_/nH%dp/mhuMyַ SÈrM3G#`ؼb{ _O>8g?3N=e㎃Q/[v4otO}_gO,zE;S^//)Uxmġh Uw,YQ~6?/ͨa:9OGcRÎ?|fmY&6:xΩh}Gw!>6}Ͼ;Q{űi,_vWj'}3%nppٴԠNG=Q|b0vq +]bmgˏPS~ Z7T hka4.:W>]:sk/ icߌNum֭݉׮XFd&eۗ^w>O<(W性|wmy|XhaiL[zymG?_z!U4da*j/lDg*W"_!rj\Ka=t'Ct S>-)P;@^"~Rz/~z3vB>m a걽`_N& ^߿-Ov . ̝ a4*oC|TՔ ͨzHc׺ s|Vs'#zt>x68^xŋ'6A}<9>f瘆U~?{/ 'Dpd͈JoKًc7$,Wf_zNX{VZw6%_xX5.]E>݉9/ydÓᇷ9doʎG7߶mSOɟ{yQ=Zg*4mm-b_(sύ'7i6QY܃CHVֆ?MŸ>c !u"F2{ !O$tz#CN](+Y}Cnc`c0z~ESb+&Lgs t}[ny S0ኵmbc"H,?b0^*,4UOE"Yz]ǣha} UXw2~.Gߵ,]c?>w#df5ݖ&l~{ XsJ C+#W%_k5ijtk$.yR@[i}?&׼e.T32OE'><"xiF:>+',gʰPW@kg7no.55ʸkͥhv',,,nh1nFzt1@$}+_ Z',hSE]L:t/Br-[b*G%_t~b=/?;'姾|ij=_r( >EGHO]44]o`6LjΕ 8k5Ut@&a(9ӑxSRo\Ѷgd ׇ\HD>޽yKN+¢g|ȼ|!o<_U.?Hݚ^c@$b'E JDW7gs3VS8KܶLoVWxVUww=,tB9J r(%Nte/MMp=D>U>,$ןyOMF}QǢ_tpwPq#/'諛ڣ$y8#!mo lM|=?ܔe7ΰe I^V +g >osS?Qըixk0U ürnizf]ɭzqGҊk:O,aJ4" >& 4(E9~_/7|^y$w緂$h}VWOȂiK*ctP/.~Η^m&nىVNps-xHD>*( ePŊeB@ 򕯐) -C"}/|mː cRsźa01WC`ggjaiv"'TG'N߾k?s+M6,MZ_Y>;]>$ u%U yUA Xd.kw玻kS;2isG?<&$ħgɽm5BϿIbL?sƞp+){rkg/c>{[ 6ja՘ݐQi62J."c ġk7Z O6d[|xxchYss߻ʗ?Q/ۇxϯU~}[e(ͻ?Utw{yJH a-FhQZMj!s\Bz5RϋޓYm#M>Ɂk{rRBL=>~ |{4myOÓ{o4>ճܵvo{pT)zT38>w}5 Q3ȸK,Rjg|!>ꥃC$|b_ (&̕Ӯ0+oD`] `rk')PeVҩF"՚ J,#]?Jl!NO&g >~^\SN $|ɩju9p2c;L1k\uE55W\ ۗ_z??q):x2gx V I\ھytyyifGh\|*yGe{r~mG[w%Xr4cǎl\qKü4-?nOpr58<அooCIa@д.'5"@ 9"|fGd,"_qgZ3# EXSںT}ќ=5|*ŞľW}}'S> +)9ܵ@iK >{NcNtJ񈖗|0АyU_$M?Vwڇ78RN~c?<ߊmB4E ѥȾ$ KQW&W0Vo%_u?ŶmW-Op < ig_{_ju.]5scٕoU+6☿@UCڗS =8+>^m" }6!OhY:[.ϟwNH )?*$UA۟l_Ÿ>t/ﲠ빼B#z_B,U?ҟx3=~F `s1KxNKiX!?^ZdrAZ\GOr|")W>nipBǣY ]\焰/rLmZ#H[_lꙤ?~7=#/-"u9)#'Z*D IO8%;>#4OМG8 b$ ƇѨ"PM2'j+ Nj| ڎn:|#? ᾕ1 ^'ԏܽ|ϖ{(~ɂ2mE8\TT,2! ,E*j_"_1UU'# ٻ8(D9Ll6G\7rJK`Eci?g!Ns#5yNz,3,n4!@Zq]u&#&RğA$ X7m*/SE'-u{Ea])F4뼴>_FI=hҊ%GbӔN h9?; 5/Dt}ihs/3-y{} S#|k/)D8BsflͅIq|"Zvcueq!E~ |q*SR%g,_8Ulz)ALܯ:cόHx9% Xy,5H0|(4L{ cw) Klu[`c9fש9LU~ի`E{ՋjûZ##-\j͑}ˮ;cF)bfΩRf-_q$<ڇ(H>2$K`կK2+wOs|tB1=tCpX|UˣǼExIA\,ɜmuAԫmIOn;0hdv'~*!|vƔF8SfǞzr6z_~Z} e,_3l.BoPFQ\ AO!ph"6@ dѺSe=\wډE>Z<41:wαGM ϟeCOh2Rճ ^!}{_LKScq(Of?Mofs_{"ى[ ဉ1񴀱kIW7gW hW* ҈|cHEcxt2o4rSC|ʹ\mPsZfKe>f-`}5UrjWmCi|y /-|s$0W8W+WI`O6o,2x|S>8\v۸Z#W* 9P.3%3238TaXhxdh}9Gcs`ґCr>7_O|q%AGз#M59};-g_M^.=ׯ1{=!Oe7_C|Z̛r;@@jYnYG5H(J{߆۷͙Ɇ\s0]GApF '}==؄^'E[~%#xOܨL J8‹mϴEnuuU2K  Xy16򌋇H>c"Q %\m+I'op\GoK-)hCXzv8,.oR&[āː0mbFfZM'xU/,y1}>BփZN̛_/Çtv*&UATmd˕8W1a8s@<)wJg0Z Vl~X-WJ͚*As+u5ר-}T=kO_S,Qȏ :xb}sﯔ?֯(9Mţ=r^B\.ɭF >NeUJb{g$;yɇZ}q·VMV R`>-4Vm̮+@j|Z)LjZ!5*Zb`W%KwS~ɝ|3ԀZc>mQ`f\B0rdM| eH̻<ۊ+ CoG8޾*;Ѳ 4RrxfBsȵ^ɹ4U e,7>'a:%U 01+`keM"_~ø{4;[U>~|WBlVPƤQP@\XWr 1EGҕiI ;8[\xSAu@ӧZ_`WU'RHc'@m1> 'v3Ɵ^ 􍗨M>ɢ *\HNXʼqd?` 5ᶣjb\fO瓞7n[4<ܿ7c(U2{f&ǂZ~ `ʅ[PYj-][gZc[LW4~7Mg^JNmo%Eb:`&z vD;KcWdo PXw\k$Ǿ@#4Oh6$|M}"R(߻j! e -lE!1^KٻgC})%7n3Pe{ Wـpp OL+ys^jc\}_-Dhc̆ ` 9DY'j_pTD?b1L@|ȋ=|I3W9X!PwTSG1 *iGm3mDeKb]K(ͨ' ୤40j>Au9|(Uǧҡ&j6]QA?MZɦDBy dҬͱ ΐ& EWQk |4KE7a}K7[`fˈH–Aw-||[>:;.'5"i - a.^W4M4#/ |H0_3u`3M:KϾ}Jk#d/@k8Ӗס| ǐ>ϑls9/`!s/ @D"V#a`j[קh 5Y'RT#n R+bu9Qk/S,VUE>PxspL6f]4`!߼+'|Rl0IX !WRUmO65ax^A=n+w"aMD̵vz";O`E?PN'z&?\L*^K5G0Isȴ7|sZ.] _0#)W>~ Н uP b M=8!_*D`7|{A\K/+b0Y?)gHO1@D>G KtW9#i}а.l?s/C:Bd g^ AQEkVS5z5(>?{F5|/xvXTmWcbE|n%q|'uC3iJnLiXE#+-3 ʤ(Ֆu˪uVVHVE0Px?Dcj0/^CI-(4C/y?96|b_,6>M '{iU/|USo`p"_{>.M>^|Rl9U>q6 t$~"'(y|PÁ/Lsm:ż5\Z1D(>l&P8-[9`[F/D't4s0ؗ6lOZrzT!57@Bb#s%,"?#Bb? N+iFQc|(FE;^]ӝə7g_,/}RG&6ԣhcS%_OdL'ܕӈ|O OX>[Jiw~"_o_|衇8f]G (:<?=x饑?dd om x[|gq4*!ன )H!/1DƋt_G/9/2B2La%B61N^gͪ[xȋ4>*5e#2X܌y2HO~2|$:Xڀ(uּ.MOQ:wܫyy .1pzy}76p |΋u{O,\'vɿrQmO:x/߇Xz슜pjd}p8,yى@Tƒ}+_է;^{Waϋo ʋv\<{v90j/hgy> D~H4s.zh9_q_quNX׹r T륒:}A8!ƥ\84LOP)(3gysPԫw&o#? !1Z5;uIZp" ,Z!x"AlHEK.;?0k׮O4/Kt?Ë $.*(RTT JE57̀$FtN tQ,O`pNN 4Q" Y,hy̰0 А5 Qh[ Y A}G̃o-r,DQDME):Ҩ(Ϣ.%"x(X<=L @q\t,xk6?5quq$ 0 ,Ϙd2ϑ+Rpφo@<6tiԈ)ɒ2yJXh؎Eu׽vR=51 x@zjƎ H }pU۟x9aqQ ȩ 3]33>tNpWʥ.6HىO*tVg$SDuD {^IΤy_re89"[rzK6iK_GqЭE6Qe>zYϼ-fyyؙO0ˍx1~\|QCߕw~*Ofɕ~ 1/Ȓ_?5W{ ݌p7׎mp:U~aX^DTTo(A'N"aȌ+eJ-¹2{Y>H\,!ɮAQ zs$Og䖂@ 0ݱ>Z[&N+O1RƳܐy08f\FcdWkI]nQ7[^3V,aƲ`zZHXA YX{޶3^4A7~ukNu\mߠ71#[.TVUw)U2_z O"aqQ9* P/'Bpϓz(py. WE: k֒*[Ve S ҿNxk5BMړmɮ͚[cʗcV#03"`[\nVh9˞={dt'|}Vk\'7iy2SFBp_xG?EȜ%_'f8"\da2ixAp0U&܉nHEepL6ChFiNşnGɣ p_ͧLOM\(ĂP$!`CƂƷ^V[j4 "4#lNkOpkXi>t0Zw9'l K <F›0Dx|} -g_ Z?yծ`/\8BF.\DJ>\7c"`.*.ص@ϼؼgbܻ>E FEL{.~SiD62jssÆV#iFɳތ<LЛ0nv.ۍTwnfv 4ypc`M~s/k0Hl}Exsq7@}C*d쮉1ܗ>@&9Xy+~R܌!9^5g|'l|j ;GT/t!b\wclП-XXذf䪫I0ܓNX+盏6n7?8Cu;zebk#=I1dh}tD&h#h%]O%?:/}W| lBK9^rcOAr}(5ka"=cw&ި| cwu e$hץ1fjs͈"7X3>boq.qnF]#L}6̹Wu0Iwnx q^Mi]\UI8LO<|?;p.Y|qp*>z4aws:awnέS\ӭK[`,q3n{6>x~/١f#U4?v id SLn^J GRp#0铦[*)駯EdsV:hqX-EM4aL$M߮$E]Go-<#UI7M7y3#+::(ʭSC#a,C^ 床)*W1w/D$YJFDːycFFF\IFi2*QKz8⠛~!q /wt\Q>܌2zwhR͈P 愅7޲\i@_XԞ=᠐20"iAh08Yj<WI_Vbg$C^ׅx)Kk8N'3)A݄B9^|eҒ(ׇJQ>DuS G,nfSs ccc[\2\ŴCDJoCC٭=P{?ؑ,ԳN'HwH;W_; LZ}6)iF:o$یzfbAG9gv9k׮9NpO`+4#]Rk6#BVNNNًUnh/ĬAn +'łcֶ8A\o: :<ݓRnԛ!W+ޜTBQH/@Ȏtb3&NlK[΀0EuyQ;p ҌtCݥތwZ)&C\">q:s a6׉;. $~,V0@XT/4#iIMVRSxx. gCo ȆQaMnu"%0bLԋsIwwƟl**?, ;9W \pŢ E+?۳}"I 5r㤙**=S_~s뮍Nng&``iF"Cی#WV_>wTy9]'VכuUuE[ٝ0lw֭B0uQ،1vDٟ<%݋`}MNRT-*e[$[ӡKH JƺDK3xӐ fde?{D74OWeKݛikHE X/U Ǵ-cu5 ߜxAEN77~#9C_`cmxDQNІ>z,ßq85;M6W_a7OA8fq)M+\."@&Qk6և[p;Z-@vꪫ.ԛ0 Ee|swA52f4KlfV4V dzm14~cqky-xfy})NJ1u1>cׁ Rg䅱1ckKrؚ7L~7Yek.79>Go-)"/"cڣ2$ꍯ;5v4?7CӃ|E hF]ԟzϥ?9N>+>UԩWSdh.>9'8m%omwf֫h_gG3Lkϯ4iFR55#>Jneܤ |/0Ly7֍k3kXL3ѭ7ޢm3.~:.Ht|Zf^Ͽ9hQeY_gәWm9j|5ΛY֘Q1ظln6s܌- S k$?iMlY}hVW)Mx #%?p?`FEE4um ~V,3hzgYex]f;`~n-{llV)x 8|%HygB,OP.|_x/y{S{0e'yΩ\ִfngld c)p\yܯ,+6^yPУY'Ur `p&xmd5$c1*%p?TZ\*.˽3k_Ov-nwnٻ6f9T@:Em:|;]s/Stf3k0MfLfX[grڣ8BOs(.-ǵq)#v"NÞ"+b ]2az6֖9;?8P` ڑAɴA=ӎ|mn_ / LI;E///3wg!wrSoG~8Z(Jx洚,kIm$ҌD}C;>fĿmMԛmwifW/mYAۤ4_79|ܱVp鄈 ڵk:GABľ䂤s/WC;l夔sDxH㉊GatwӠK9, 0&''ŌW~(iyIn + 8 0 3: Hz-[V9^ ?ܞqZ@ 4#Ӣz7Ix){K%u] [ovdt14M}U]h㓘@ʐ>k\nԛ!W+T1Ϛvj bQ QgہZh^:ϗgd?`漵po]LEphcH3 z3"<.n{pTƟqa6W#$$W2͋QqpOS\ A֑4#Qߚӧތ^G"pV @" !~My4`>f9$Nf39%]QdA%#')KAIʼR/"WlzG* 8箋U͊ԓ5,J,45Ud,DճHvr|6ٍ/m+D0Νּ~GqA.w[~m^G? ںXL!`A U16nzg|E%EQD@" ܧ+!7ݜ; Q: N$6dkn=Yj"=|}N}-Qpu[.w-UȢ߆k݇fiC&ͫ9fK$ݵTዪ?W:Zk"\{3@&65ʁm[ \|h"|綅יZ21^I69wf:喂@! e">|6EanK1ѮJǶ07rnr?EuI.YJ$L7BӍܯA~֔M 9a0_αFHv!xjnI}m[ _3QęMLLp. |;QT]~§EHQ"ЙݯѶZM::fnehmkkk$9{^&w}#XZRx†cukN[w:vFW-ُ5éGC ]w~plt_ )rt_ ޻׃=ulɾN_/>CT={ NzU(xӍ2&//4[ B>)A')1߿Γ=u k1+^f4TPvg Ld;#[٘78@8_]9ʹ&/'HQT5jF3*5[9#D4N9{*aE1k22-eN# s5#^uo]7nS`hֿj.=nZ-gE Z4O6.A(,>M]NȢ巺[F{ P%Y 16'C$Wy;XY2@3haR{yT.s]Բ](Ic{NІS>?OO7RsY|p2'J_s?๋OLMٻvN\.Npls6o:RclX lھ[66f?} 纟"Թ EDه?|/.>rm=?ȟ>| ]'ǟgq[ !}{_?M<ҷƟtQ6N!n8N'v5e.یA.i*bҁm*(55Ia.xc+76OͿ %߼ڄu,#`&;漕ՙ[-xkcl͸ s+H:@tv[,y }f#w@`5#`}HCğ`bE8X!e-3gmrrb*.yY!; 8/1"PRԭ_/=6Fű>Tz`HE%aW_xom뻏n>vE ^(iF>mF;^hмًVM?b/nȁ+ 8 ~|Cl.;S4,+,``0,`Fw$߰Պ&"&!싋Bs@`iZ8\4:I?q۫.'Ͽ0N)wO_~A4ڹEXݥҌtC}ތwZдJ" !ёNlc]aـJߊlGZ4L#d4. nMa6\Ӷ02mǔ^WsyŘϮFћ9Ev%`iFfތOGtvaMewr7VSq?,/xA%F9JC?{uo?idF3/YMFozt#0M?]DS9JiFf jFgN=pMvO{>&9LlM20EE$38//4EBDŠ d{)$kH2lL6Cq) R \nDE0e?֜7dh7N 5Yi߿<۔̅ Zp,*Lt$^O^  D@!: $H$H"P^b_YU0/Ixƴw*< Ў@梋.?  L[r ! <IENDB`=Dd ,> ' C A#bP3"0MK;H9hnP3"0MK;H9hPNG  IHDRJؕsRGB pHYs0?ZIDAThCYo@[N5J6Re`,tU)bSYb$F};Gr-;e8{{~$@ ~M AB`7nU f;%3_6;5B7w/re9ShJ_&DCLLZrT^!5pfF?&豖9ʙj7nzMX}4BA8O,ܩF^6 HWO>YɳV%("JUIZ \yr.}ԍ{'<9M!o~ %BRƻ)b?!PQ>s˂*MMmZ:Ӭц8:4N1n|FTv~ D+,_I=+ui5ga˓#j H6QT+W!3U7 Ym@^}\o"-G)! V? rh|T,Hڹק\Փ1Q+ϵ(^eE2iT0jXjy\*>F9A 5ϦZ&E4]͎9xXjSNʞ5_&G `F?qlB5cZoO0t4 !كkZP6oJϾl#pv5T`0WƘFJyEJ1Q 6 0H( kKk NIENDB` Dd ,> ( C A$by*CY UAnM*CY PNG  IHDR`hdusRGB pHYs0?ZIDAThC횽o7wqe(@NN`oM-V 6CtP EC,v)Ph$[Co!C7d.pHI'@PΑl;Icy{w} `!c%u ď?L\I(*P#X!D5"l,vf#nB?81w?|W pT*-h=YaԮp|g]T%oG;la;.Nm%%rdCǭ7=lF/3̑]vgpZM$r: 2''5wD49H*4avuo0:NhDa4!Jm8@|IRȐNT숣 Z eG(7V) GZ]ꃴ_gs}$kbd#GꊣÃ)!evt}BQ>:6-A8&3PȢx_ !a M8m! u7F(qG rOn iUAUjU%A}Xŗ+ˎ{/;<85m܀tɊ(} چ+Ă/xG/O_Cb{-xD|}E<=\'dԋ,cnb_z.ogDo@5zB.#IENDB`Dd ww0  # AbVwjRB˘02n*wjRB˘0PNG  IHDRK4sRGBIDATHK=OAg-I[cL(J=~Wh%gX؋$BA :s{ѠBnv{]!&D~)ˮAA$5'x8n*<䈅 VCΠaȣ5Y"82 QlMNsb95Y*!n˱ԙ|^xRYlQLJK0G5Yb^ꗐ6Jɴ0 nV0e+n 'fJr*N}썡;R$'N0 KX%z/en$e*I9nOɯYea=yiBƷ8(_~*bQݫr\i,uxIź0}w@CPgtZ,+fW7I2j.J6>䶽g+c5%j8gIb~sy~~0ɔHJIENDB`Dd ;> ) C A%b>6Y@öhv"&n6Y@öhv"PNG  IHDR}msRGB pHYs\^IDAThCZ1O@;&J% Ea+[g`bCtH)S# ]X.̈́TA*SFzF2HRi8gJLr'w޻{ϵg@6PPmRDF@J@<0 TN3 gX&Zuj#ǽHddU_7PѬo4i>X>~t~~vmkvX'WjKbt˖+a lUT/w cͻF7tK/J_SR!BVCTm\AV0;o9r"y0tH8gǏY^kkkU{_2t:&/Hk)mW@: *:dEڪ\WL'm26H?vZUJuQ5\ 5b4|@dX GV-*pt:t2q X_"=Pat|GBr Bᎌ@uĿ1 D a>"!j :hlZp݉Țn peQyKVh<&`I̵:4yPb0yN!aEm1-/"yD wGc9:ؗ(kX}0QRE ik#5:6źфl@+ثp<߭V*bniUn+M՗E)W~Vl* 0vF3jH8>nwi Ф8)%Ψ9W aU#u(R45L,.O|$">)mʚi%?eIENDB`xDd ;> * C A&b3|Gϵ&vn3|Gϵ&vPNG  IHDR68sRGB pHYsYNIDAThCZo@ *"[鐱5ClQtK1K,.eBL U0gaQT lLc,d={F/e#88Ba)XP/㔤\-ţ]TKp,* ?Dy]Vr0#6hx\Xmb_ CC')X>~V:f~}Nqq|f(k ? Fuq (w<+D  ]^~s?rc[}b6D42H(4(z(ʼnvUd}6,+Lyx<:zx<^{ XS.9%AFX{*@ j,LBvUN#\ryh< 2@lĒ#'衿N7 )S^F9*+閡XsLr8k[,@K`TR&{/tD#Lp(v w A'}ZFj%GɓCafMB`6bQУx~=QIj|L:UF,2'ί;وȽZ^⺠kf"";pY!`*K4(nax!W*| (78Qn E>b Qעjnj?I󑏵F{Zf0K5$t7Fr"&_-vr0~lA.\~lWn[߷[grF]cY42 V8@ x `3BǚЛ XПB WQ g3M୺< #IENDB`Dd] ;> + C A'bs:[ F0enn]s:[ F0PNG  IHDRSL'sRGB pHYsYIDAThCZO@R$@"JU1΀T 1!Ytk4SBE2Q6 C<A?R#`>αMb;r's}޽{OLj&npq f/䆸2)jrI7na}"3/Wյ,Rpk z/+jFca =%FG)<;q?\q$<̛_ԶLZ;gj}xhv&ˑ'pCÍo{ )ḅa̓J*̋Qz|Y2ܪomWME]KbA ŌzTآH.îQ^/5G >)4g5;.K@ 'ҼWrqˮ D<ypqPƬV]'*71E<*eGׄMV\݃Š[|R,+lD43\*>1ܞնȶlE#/?@L7Dh0`M!-}NUkpC-EV`}֛6Xjft)`\ELaP%8^2~f."p3X|RV jH09&DWS~d2Ƽn$0o&8%Sl.<`^HC8[023䍁my+@poo/GHޒAFIENDB`Dd J> , C A(bq'yqM*qnq'yqM*qPNG  IHDRn JsRGB pHYs.>pIDAThCZo@;7$ R%ePRt%S`ԅ XU)*J7hұQ#5$u%w~gT~'p A8o`o|Cw]$H{#ud XsR>oAُ dygR>w%nL&c koxw_` 0 }[d؏&/-SeiګkC[r_FPx=%]68Trj fЂOI0MRY|RR9tJ&$MqqpbE2:X`JQSkA#8?Mc ݒt7?qAtL kVd) A!?3GR8 a; \9~wtb%-4WcO.ԼƮk @l&F%UlP&u;)|P]Gҁ>qvRHԏL+dt3W j b82$I(?}c#tj2 ۓWC ziXc+LMm|{-JʹB5q 7_"m-0+8 Ɲ |N( -Hf[Z/!x ]9|mrrq!8lmUbSvݜЏMd,]D{/Î,\,.D"a[yxqdmĸHTQۿoZs"\ΝKB*3 k)d7]L |1IaW7j"=(Zլ|(?h :QIENDB`}DyK _Ref163107010Ddw> - C A)b%&Q 0|~(qn%&Q 0|~(qPNG  IHDRosRGB pHYs\!]IDAThCՙLeǟ+ЁjQ" hm Yl[KP㐍nEMHbdNL_sT4b40۴nNF{k kr}ӴM}xwSdtGcTTD(P _ }VU%IҸ䠘 ʷѮ[RYiVP8r׽Ɵl$u*gR=!D",e~ '3l8%rߥB9KT-R~w +},zn(|z_V)`^Ovd|rHj[Ol@qZ̐4Z 1 n&]4.OtGdS f#C&ou?'Ŧ?d JlڈKE((/ לȫ%@%欅"2(fϹRc>\H8xdIEu&t[X1sF(3nɷ޼wPUo?.JMSFnOc7hm]-x`W^QHmM`_eQeѣWsQKJ ",MS 84[B5Mb\t>r@u>sjNg (ClP! (AMzS9d|8N _+ÃJj֖ng*Vs 7q-Uir։XŖ e5}hivݑ^̪ݸ-+Idu| N8,#%(BVyY%~h{֯0`l.Lo4oMO%&442Zcq8i_iW%+y'_~- S{qł BUͰEFlDE+]Md _k@?lyWl!F Ω+NQv;0U<9 M,iEP?-|L C|ŽX_6-#)}ñU<4LIc|TS5;K#9s+w?Ǝ3R]q,M^sH*ob"&DCtMR쓰uqFח8z3ab3kdA93|\׸(1T2m] j˹!<J2 qT· WMۓ*anݒ0UBz M}Q%5Q~sy` Qb*\Hn|Qb,69@{5ҽckN ow,gљ =ߣ!UnY,N\ʱ:r{/s:-D&*j%r|` . C A *b \ǀBnk'n\ǀBnkPNG  IHDR'sRGB pHYs.>IDAThCZMLTW 0lPgdhJZbCIӍFKR1F6!Q6 1MqՍT~RFcn13ꢫa"(3} s;=s9?"}%.Xdȋ,zz@YcL_P䶧-j`:R/r RgYguD ՋoR 9ͥK9uɫ2'K#FӈwQ(Cwc 9r2ɉGGG􇲲26}ЊG:x<BY$TP ~"G3f!{ܤ6(MR9<iNEl sN<{Ƿ{Ar EF>y3ٴtuqɀĠ<[Wk@>;;j2NatR,='Q +>CCHm}>Ov4o]_Hv{tI/~~TnEZeIX:kkICÒwTQҌpf`('*-a@bݟG`diҚk`8+-%Od.K:vc'<~L%# Xν{$XgtQI$(' l Px'ݚW- r[MI~? ZkV?^6>nl %cPJp&Iqyδ3Li4 Oě@K*&{xդ7M([s*x (>~e1Igꕀ^eEiiRhB7<)=ZG"([be!(ڿmۄ hGVLq訫sTTӊR\bg1.)M_0RUX<=Z7*8!{ҤG"+5&a'dTT(P`3wΝ2v綶rݵ,myMО?W:jtҡeF~x4.q(z8>'ӹ!\5=%.O[ƳY^}4ŅI>.v\K+an޴@-[\JJe#{wAxpqfqf*ӥ / C A!+bL WjY8)9!( n WjY8)9!PNG  IHDRh$usRGB pHYs+IDATx^ݎDvM@BG=r= NWB**-nq;l~N&dkYș3ؓi``60nZ~䙽~]nn2/L~}*m(W~NӾ(ߵi縶`g߾*w$%|^xaE=5*/]Ȱ|xoYuٽhgAۈN["C˜kڿLnЎ% uypG uA'n6ZO\ܑq +l nε39;+Eo5¸ w筻w`@V% ~^ي {q30?|/{ 2ٳgbߠ?p=_ ݙ,VY<T2|*J˶?721C Y?A E$=}z믏EuNǧ=y90^u]9&l;^'%=+̈́uF(>> Yܮ+u(.h- BdH !gݰ[BiKqOPS`J4'Z.k9pZ9daC/!yŕd z:ԢҮ dzALI JZRpyHFU5-Fd(%CTV2L0 ~Hni 4 BF)uFԾ+Hcne| Ӄ m!4H9}ظa\9d fFfU=9yqi'=79Ϟt{O>M-TO~60 ?hz^'jNt`wNe!yawrUcE %)|(+'^".2t4bQl @dhl60 yCf[uF%hMe z.Xߺ.^pZ͓]ȽcX`(_ǝ 8_;FM?ҍ[|xO˾ 0 C A",b_YbK\Tf4!n_YbK\TfPNG  IHDRՠhsRGB pHYs+KIDAThCZMH\WFh6Y<ɠ]*i đ2"򳘪YD"cl H nʄY(,j%HTF3!d#ɠn{s̛ѱ-es9s犻Qmh5koI=P{7#:1]vixs,o.qivIKEMxx5 Q2g^LERZ;NX: n"B^_tدf`+A^N '_ZZZ8kA67 D"܀:d$i&]N cko03Ny^i o[9SI2HN"\k§4M@zaa0{ʠ 0&&{P6[Honl~64455pՓ0C" e;IoSD"-&H̫=2cjjj oDtzj*yA׮y(u2 t>"?߿Gr9*5:GgϢKh A667oCcx8Uw;˳1yx9r}Ni\6:`FK{XRb0y2x:',YڢsZ<1o+%\tWSaJǍ:SbY 쎣59 pL*9B<9[got:j=(4!-bXM6p< xf9 حAlRT݊Krù!duf^+ᨽx' _~= =)!+H>CBHԕ,rxAy`;!zzT]Pv 6c> h|Wv#<|X2qծvipog}Vo+Qv Nho\7PS,&6x[WW*eT)榦z4U_ؾ"D/yPsiR^.c֥s!]RN=`yEH>ϭolnN?UE-4E]lPkh>CK { EScC\64>o5QJRӴ+N٥Ule?/Nl33 IENDB`}DyK _Ref161906283Dd> 1 C A#-b ϳ6TS*M0&)nϳ6TS*M0PNG  IHDR exsRGBPLTEBA ))$9,9  ]Pdi]P    pCog CyCyTpCxCCDTCn;t> )]Pdi]P )) )$Cog )$)@CCD)@Cn)@B@ BB@ETidStTb i  @Q 4AA!T TCjCjCj`Hv pHYs(J|IDATWM 0 Cs5d&t%J})I~"5+|rqd'c|Fz0VKmQ/ɛz{ vŭОUu/ :WtIENDB`Dd 6  3 A?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,Root Entry/ F,}Data WordDocument.&ObjectPool1 Pt,},}_1231830735 FPt,}Pt,}Ole PRINTV CompObj+M  !"#$%&'()*,/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ '    A ( 鲲鲲qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq FPBrushPBrushPBrush9q BM 6( ObjInfo -Ole10Native .$ Ole10ItemNameW_1231830835 FPt,}Pt,}鲲鲲qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqdOle XPRINT Y CompObjMObjInfo44    A ( **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** FPBrushPBrushPBrush9q BM 6( ***************Ole10Native Ole10ItemName_1231830987 FPt,}Pt,}Ole *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************d C)  )A PRINT CompObjMObjInfoOle10Natived (  FPBrushPBrushPBrush9q` BMF 6(       !"#$%&'()*+,-./012345678:=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[_`abcdefghijklmnopqrstuvwxyz{|}~dOle10ItemName_1231831058  FPt,}Pt,}Ole PRINT4   A (@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ FPBrushPBrushPBrush9qBM6(@@@@@@@@@@CompObj9MObjInfo;Ole10Native<Ole10ItemName\@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@d   A ( _1231831694'" FPt,}Pt,}Ole ]PRINT!$^F CompObjM FPBrushPBrushPBrush9q BM 6( ObjInfo#%Ole10Native& Ole10ItemName_1231831141) FPt,}Pt,}dOO ;!   !A (  Ole PRINT(+~ CompObjMObjInfo*,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx9^xxxxx9^9^9^9^xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx9^9^xxxxxx9^9^xxxxx9^9^9^xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx FPBrushPBrushPBrush9q@ BM6 6(  xxxxOle10Native-D Ole10ItemName%1Table4SummaryInformation(0.V      !"#$'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx9^xxxxx9^9^9^9^xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx9^9^xxxxxx9^9^xxxxx9^9^9^xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd  FMicrosoft Word Document MSWordDocWord.Document.89q       !"#$%&'()*+,-./123?56789:;<=>0@ABCDEFGHIJKLMNOPQSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~b=b ːQ,n=b ːPNG  IHDRsRGB pHYst%vIDATHKcܴi/l޼haqi~K!Y%DD4G򠠡KiQR&hR9FVM" ZR7hRsss8ɓM)tIENDB`x$$If!vh5 55#v #v#v:V7l t65 55a5Dd 0  # Ab^5ͫ_߄(c.n^5ͫ_߄(PNG  IHDŔnsRGB pHYs+IDATHK 0 ޸uX #2p%`8GNirh-FiR>ˆKO8~Ω8kAM`w.sIzZ@1zH[ǫ[G$. &,8hHǝйyu6$<պ=WO dy~G"i¥ôhczg(F*/7aRJVF;%,CL=s )"d$.})Boьcz IENDB`x$$If!vh5 55#v #v#v:V7l t65 55aDd 0  # Abb a=b%QeUk1ncb a=b%QeUPNG  IHDRsRGB pHYs 3{IDATHKՖ DCWOfDF -QըQw%6 9ұ1>v3/̸tbO5B[ō4.y:3P) h*tQqC8otQ|0ԥQrD;ܜ|ɀQF)].i.eyޒtF{߶'L@l,`:Y@wT4gB5D\\jUt5MB@Xڦmth=D{ 3XX-¾znfiIENDB`x$$If!vh5 55#v #v#v:V7l t65 55a;Dd ,0  # A b1(١3n1(١PNG  IHDR qsRGB pHYs0?ZIDATHKU NVWaEXE7[-咆i۶&Kxjho=¼?a9Tb\CX N?Ap&.tvAτq!5B9b!H=~\*zHY{e_NtapK9"9eLv;rQ}c28ގ{ߥ&&$ȱǑKJ|tgfL=IENDB`x$$If!vh5 55#v #v#v:V7l t65 55aDd 0  # A bGU7K}dB6)#T6nU7K}dB6)PNG  IHDRR9sRGB pHYs(JIDATHKՖ Egr#А]7%8D]$[QZO&*xZ|OgKҕ>&%iLRߜ|fx"5,1uLj/%ڕ{kI7Ywȏ|0'nO;u6U IENDB`Dd 0  # A b (X/8n(X/PNG  IHDR sRGBIDATHKV[ ;7So͜-%a_K XZcLG8 8B*B#PJ7F3~Y0$̀DHU@M O*0x!/ɗ tFk2IENDB`Dd 0  # A b%2-IDL: 9n2-IDL: PNG  IHDR sRGBIDATHKA ŗѤh1YnxHFJ)R;/[o(::-xFotNSM3?$KӋ[IENDB`x$$If!vh5 55#v #v#v:V7l t65 55a}DyK _Ref161906384Dd 0  # Abeͺ w[2`g>n_eͺ w[2`PNG  IHDR sRGBIDATHKc?-- Ms obċ7W|>4MM S 8-:_Ph/a@ӅDxD%0)cCֲ24#h*7\kf@ pUs $/݌l s *CB91MG qT7uo^Xr4!|ԛ7o0`@S<S,]uqE,AQ  z9pG-2kApjPb.X BsDoP(OŘpGul~gR@h^;ptny б#L%P ;vs&r \@$x-dpeO@G'ĤbǷ*}4gb@k[@ZQt)8CLǟH, 9TD$ Qn!Ẽ֋eХRys}ٹDaHn(a(c@j KwkZ7DJpCF4OnDU&.3(*M-D^o_@&p䯋[[mG ?={nȑ6^  @X_߸+:* @H@q @T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@T @@@sGr|qR{:Ϙp$+rHb) I .\,>Wq$hHM~ʑG#eۯlZ"WT-jZle [6w3C*eIڻA3]@-2k2|s<m2WY=s|/% ,ּ}HPdO ׀%KTXԧb H ,˰">gOT*)6^!CA\2ʸtY5/~' P!#Gxicss~YeK;VWWWVVf$= P}ѩިuU.s2Y~ʥ9;^ ؎ 0,2.a[e]x`@epetd@_ }AUK] V"+7;#%JߌC9@&["! @9! p7/YKyHjkUfWrgVu\ږ@$\~ԳuԄӯbm7#q|YzY|;Zl)N4fvi`:7}ɝrW#]Yu/k'_x)hdx罾 |gP-ogji*{kP !wi;;5KTQϫYǥkZه#,#s:|Pu%T0_7f4:y|M <?OWe'ku'OQ'ktFC=iR"ג[r!եԡO0biZHвizEH=-V}VkJ *ݖR2y)?χ|#dؼiTIe MTq뭑JӇՕ>圙% C&(? Gՙ~˩u_Eb>UG'G/dTo듇3*fG˓c5[ep!7kf- J?#-dzWv4FV$<ԋ#Wc44'NDFPiSpe?}(fȅyMocF B Y羠BsUlzAG)TŴfQoJ'!g:ݯUUgu[n<=ᢙ-q*! 3#ϱ3K=Ӈ{i/LoN } N{ g/tT/#d0LWqPdo z}X\DD!{F.}XZZ*wD%2첵$  m1u[ Tiz/4s֒a%BB^ buJ]y(V>Y=:J8w'GA+!~K@VgӸ= 3f:RM-@]oƈ`sk#ϱKpAB{?MW:ˊ(̒q7Vpd2<98V>;L-ĉV$|WJՒ' .(z٪zRCLXU#TfZ`J, Ծ_9|Jr)gc"?rrY`RK9mĕTQֱ3}>9xzz{$NI2kPWv3Je`sn#Zȥ^[|Hzƨ?m+Zw>B#/HK_ΜY3˩W~3[ Bq!J6Tp]]w]rRgl0A{kpmtu)JrڗjK`%:e`9Syƪ9KvՒU%lՉJ먎A K{ڢBJ%bg>/P^-'%.Lz][Vt$R>LJ?<:RN[*qY; '$xq93.ej]5y%W@A }(X4|9s.9uf봖Nl_^ʌGG$YuʶRM,Q{]6YHbt.goz/R2mYZPblgټҝUd(q7_H[ǬLV3Gg)j]GW^n,Z*'fpf;/L2}ؾudOܫ={ :HF#"QPq7tb3Rmb14}hϰCʪZ69m2ΊZRFM6̼8OE=2-r:"#KТ(e%\Z$grIJ&1y@@&vU :$.|Cݱ# 8o7}cO[(]+2 3)t$'y`㥍;VWWWVV} '2%}Jh8$x;w/5gƥW/ mJjjMeuڔO@]@M]*Ku򖪈&M8vlzWYn ط@D7H@[` Ai$ FG 4|##@A@f @@}  At3  @@ FBo`z{ @ pL#!@7o== 8n ط@D7H@[` Ai$ FG 4|##@A@f @@}  At3  @@ FBo`z{ @ pL#!@7o== 8n ط@D7H@[` Ai$ FG '?,3?H@#|(ir S8yrtr7q<mS*D?=h~>_DMa#R}3y$.I_\zh"k~ig(h$RG6 ($Yeq,)MFEMf\&)ߛ2=\l>q"ZP?A_&M]V&d&!^۱cxf^UQ[(eMQ0ɜOhI,:ttX,5U+֙T#I)OuP֗|$yWEizgɴs1rcͻl,8, =1;(!j"})F [6gN%ͪYF+DibCb7ocen5P(YH{j-D ˲,ߛr˨ITZ 7H{I" PM3L㲌;DgL75=yZ< Xz4#Gxicss{(vJUS& Ӭ}QeQmȔ1eUhLFk,u|2J6-BuyyyqqGwo{gJVWo\z3`7&M6g$>IJzeXHLff' `OB U{ΕS"хQݹhsQ^Ж3 ,@*GPm@&{rQ'2gbkQ9W'i"T7P_ S @ I' @ S% @ @ S% @ @ S% @ @ S% @ @ S% @ @ S% @ @ S% @ @ S% @ @ S% @ @9KW~mwt_u5ygS?^j1 ^D9??`-Z_߸%fIVzHuAm-{̀YLW7P&EFgXԋߨm|/"œ0\0Fwka=KHAGs1܋ mn'jw)p/0*7&oA;;b3u*8R> 01\'kH 4(qKA̶b[O]3)IR.rdEOJ̶MC8ח0VCtZ"gO8︥l.Hat҅Xj0*j:1,϶K!R׌agv6~"v/>{>s| Ĭmo gb+cd/%}O8]ܟ[iH/ItDDJ E?WĬ0bf@Mh_81{JRBV;\ʙJ^et7@vùZOnC ]NVۈqS9rZ}op5"bYO aaĶ=+R Ɨ`E;l2 _lOt>xĬ[6gXӆt)p@u?SpE L\K/=tmfi+}liv9QS}# _9zC{ڷOSnZ*jCKSUoNB˺YmcVD4W)yf/f^k-(:c? 0#)=}C*g&nTk7j\{<,N g Pz_QmvN?EU˛d_/f_}Na 'Yc|br n)p Pz$ؗ&Pk E'N⶙q|ؼ$J\mHktK\V&ÙgnMąxq<rZ3uv4E,k7+}VigZ?d[)pgٛE${,u?/f$t 7kc6/'綅wO$XjkQ=9wɳ55Gׁ3͝ATe*-Z(N:ROkbUm4Z0Lzeԥg3.['T/#oӾ@RvCM`cלL_掊{ Bt#GxicssfA~+++ʒ@ 2zKP{b, ;>C }YO8]ܟ[>wۈY'-+%f-A% E?tWuGUw1[B`{ykKKBTĹ~1H%!K!e ve8Ĭ}JPX_\LAnj$f{el EN~tvMal. IXxs)g qzA` b֫i1mH p{ b1i'hme* f+>?1;{'BjE'8Yl2 _QPwE{&3;XwȐ'N[謹ozG;/_L$co`wIkw;y0NX*{*(zٌK07~fi8vTudEY2MFy.2ҶRy]1D6chtNg>rSe~iO>P?fEIs^>z认F/ω㦥s9?/5WITОVjT`1;v;:}csǞxZ"7o՞یyZJK_9MeZ2--%YeGknxn{!<3*]+UDbzzRxX|Z&cxqN וeRsҠcTjt)WsD[#zR]&FKN<6D3zʳ,Gᬣt[O {!/;bk[g(xFcv:]{V˞9dhV=ݳNjϟ.ܲ7_kLX>_K>XKWqqFU wMq, ѫIҏ}͕أNhRn\&83uv4A2: ^́KQԬ8K{sFg2)ϵ?JGѼywVz.q/^qڱa,pθ3IVX N+>:'/}ܤbAll4̔[?S93lkza<<z䮡əwtߞPR z&UM*p  ܊NBhF[-.`uNzJYyjNm,mt_}|Uf&M~xyGKq" ^웑:4~JGƻ#b|J~G?ck1$flC Ph3!ٛC3vJ-Kg.ЩLt_l<'IJ%t+w Ĭ&R"2}֨+̌>gC` gOh0GWIRISI6fӏ=r*w3Sυ+U3f\"bֆRA#GxicssfA~+++ʒރ䪽]֫ԗ=]2.b^o6Œ ֻZuEh9~v>b l#T7qβ W~#j$eOgNe\;(WY01H21qmouk.77آ_1 .l(ǫ &ZLM fiW1z :w"Tv ٪g" 0p 6]t+)b,IYGfET֭ӟ'@̖g>E=`NGdC8A13q'1;`Ny q؃각ĬCTY"&<%<>4KO5ng12`}7C zܓ7g5Ȕ!l(l:(w 2\-edPc66+}mH:{bA&|̆";|2&+4h޹T,ĬC$f`S6da]u a6FW *KY=ҞAl]5yAsڝ@v٠uc zU^uG}cY8v5ᆱ3l{Dv*Y8`\rmxGe=,m*1+(l%҄q_zm;ٶ 7U>1I"ENWS!F9qT^&1sAܕk+L]%""zY:쎹#Gxicss޺;VWWWVVfY& eY^?T)UP672b fn=!@ ̀ 8!&,'ةB'@`R@~@pBvJ!@ tp@!@  v* { '`'ةB'@`R@~@pBvJ!@ tp@!@  v* { '`'ةB'@`R@~@pBvJ!@ tp@!@  v* { 'y`㥍;VWWWVVN;wFǝUMŞX^^^\\<~ѝ;绷j}}ҫwOkE}k >r! ` ="ݫ.x4"]i`3)p@2Ey2[2"t)\$@b}x5K2zGtb#TcO qGGʦH2zdA_dNyYm{#OkTWgGΦ0m$tI.i.xڛF7]w: j@k#s5lƍ\ZaIZDRo-Ly{I!h"!9HmEKS^<9:Zx $xQzbn bg`g]1SaSҫ0-D[=E-¥r@OKXme h1}wo ɑH$% z.ۺIWêMlshIVֱoIsYf6gg&ؚ4*.̉IiB H`Sjv=3aKL]ʤqҮXş þvҼ \r?zq0m(V\LOgkϪ̩g)-h\٪.m-W嬯=Y-{m45L/~s f;ggv =PU;>l?Uݙқhօ7^ZuB)Ӫkv+5u0N]/^M6bޥhrv']\/\5ϪىInQhI=y~44OqI ckpԵiU5g׾cl W^?zẸigyx,7xB%IZpG'VҵOɢ]Y &xO,}POvN6g0X+5=2Ҽth<Þuؙ4ek-z:t:;rZ@QК)*SܙfLafOn^֘xJZFumG.n*Xdfپ/IiOgEJ[=)ͶZvO~/nWW}/MJd*QޅxS&_ssQsf¤iIvA If^71ٵq5Nn)1F6ɦm)RWO pQrV%;otyX݀yތtV6mM)43jorC -@L1noZ|66,{z䑇ʺTG߫:M=icUnq+&cyvrHsԃ%&L2۲m=hۑY{ݔrlj)͞lϊBD=}ٿOְaDmʭ[}T'7oX8sQ턶)J9[4$Ijo2] =Df r2F֨Ϟ;ʨK %uZҤTMEVEG3&9snM=+dyky[O-oF'wٴ$RijMʗQJ 6Z̧{vwq+m2}!ԗ=̾7v6$oC<#PF]5zl9X>hZM򆀚Ho:C2[xM !#֪^7 %B) @I1~.&\XW@qMdo8R l@bЬs%I('G&kI;0sak[9SB^& d1&SVIpI`$o@zR7}i bJONuůmzic/!H# i Vg|.. @;LV`Zܣꯩp3A'a,,B^\.xN qۅN NR%`0VMBMpMd&L@'@qo䕂YFAh@uTB%k]5,F(WA0w.z#\Mo1RF .;%63࠻Ƴ.d pjAk-e]%}M魍2 Ew2ץA]PSyHoyf%ے"]7Z"b5gpFv 8H7n8SK.֥q E !r?Ȅ4P+ށv͚;r䁍66777X]]]YYjjXia@,///..?7y}}ҫwOt!+L$j?ѕ̀]^@pC+;p 0%4@p@v*!@0>@p@&W^yA'nCr ˥Y @n|{ W]KV@uWn xǎ3P!p_E|O7 @ dssW_uW]u Q#|OOpȁ@!tM+qŎ+g<#]A@ϥꞄ%L x.@i9 8$;O .8ܾ >UC@pCCCT @@{Z@ S5 Ki9 8$;O .8ܾ >UC@pCCCT @@{Z@ S5 Ki9 8$;O .8ܾ >UC@pCCCT @@{Z@ S5 Ki9 8$;O .8ܾ >UC@pCCCT @@{Z@ S5 Ki9 8$;O .8ܾ >UC@斗Ϗ2 /B@@?y\^IENDB`}DyK _Ref161906958}DyK _Ref161906117}DyK _Ref161905910}DyK _Ref161907106}DyK _Ref161907145}DyK _Ref161905910}DyK _Ref161907315}DyK _Ref161907359DyK yK http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.htmlyX;H,]ą'c}DyK _Toc163556470}DyK _Toc163556470}DyK _Toc163556471}DyK _Toc163556471}DyK _Toc163556472}DyK _Toc163556472}DyK _Toc163556473}DyK _Toc163556473}DyK _Toc163556474}DyK _Toc163556474Dd _D  3 @@"?Dd}TD  3 @@"?DyK yK Jhttp://www.gamemaker.nl/yX;H,]ą'cDyK yK Phttp://forums.gamemaker.nl/yX;H,]ą'cDyK yK vhttp://en.wikipedia.org/wiki/Patch_(computing)yX;H,]ą'cDyK yK Jhttp://www.gamemaker.nl/yX;H,]ą'cDyK yK Phttp://www.tahnokgames.com/yX;H,]ą'cDyK yK Zhttp://www.freewebs.com/zer0mus/yX;H,]ą'cDyK yK http://forums.gamemaker.nl/index.php?showtopic=130501yX;H,]ą'c8Num8z0CJOJQJ^JaJ>O> g WW8Num8z1CJOJQJ^JaJ>O> g WW8Num9z0CJOJQJ^JaJ>O> g WW8Num9z1CJOJQJ^JaJ@O@ g WW8Num10z0CJOJQJ^JaJ@O@ g WW8Num10z1CJOJQJ^JaJ@O@ g WW8Num11z0CJOJQJ^JaJ@O@ g WW8Num11z1CJOJQJ^JaJ@O!@ g WW8Num12z0CJOJQJ^JaJ@O1@ g WW8Num12z1CJOJQJ^JaJ4OA4 g WW8Num14z0OJQJ8OQ8 g WW8Num14z1 OJQJ^J4Oa4 g WW8Num14z2OJQJ4Oq4 g WW8Num15z0OJQJ8O8 g WW8Num15z1 OJQJ^J4O4 g WW8Num15z2OJQJ4O4 g WW8Num16z0OJQJ8O8 g WW8Num16z1 OJQJ^J4O4 g WW8Num16z2OJQJ4O4 g WW8Num17z0OJQJ8O8 g WW8Num17z1 OJQJ^J4O4 g WW8Num17z2OJQJ4O4 g WW8Num18z0OJQJ8O8 g WW8Num18z1 OJQJ^J4O!4 g WW8Num18z2OJQJ4O14 g WW8Num20z0OJQJ8OA8 g WW8Num20z1 OJQJ^J4OQ4 g WW8Num20z2OJQJ4Oa4 g WW8Num24z0OJQJ8Oq8 g WW8Num24z1 OJQJ^J4O4 g WW8Num24z2OJQJLOL gWW-Default Paragraph Font1JOJ g entryheader1CJOJ QJ aJo(phbOb gHeading 1 Char.5CJ KH OJQJ\^J_HaJ mH sH tHO!qd@d Normal$*$1$A$a$+B*CJOJPJQJ^J_HaJmH sH tHZ@Z k4p Heading 1$<@&5CJ KH OJQJ\^JaJ \@\ @WA Heading 2$<@& 56CJOJQJ\]^JaJV@V fC Heading 3$<@&5CJOJQJ\^JaJJ@J g Heading 4$<@&5CJ\aJDA@D Default Paragraph FontVi@V  Table Normal :V 44 la (k(No List 2O2 WW8Num2z0OJQJJOJ Absatz-StandardschriftartPOP WW-Absatz-Standardschriftart2O!2 WW8Num3z0OJQJ6O16 WW8Num3z1 OJQJ^J2OA2 WW8Num3z2OJQJDA@QD Default Paragraph FontROaR WW-Absatz-Standardschriftart1JOqJ WW-Default Paragraph Font:O: Numbering SymbolsNON Heading x$CJOJPJQJ^JaJ6B@6 Body Text x(/@( List^JH"@H Caption xx $6CJ]^JaJ.O. Index $^J4@4 Header  9r 4 @4 Footer  9r 6U@6 h Hyperlink >*B* phFV@F n7hFollowedHyperlink >*B* ph.)@!. / Page Number:@: aTOC 2 #^ :CJaJ@@@ aTOC 1 $xx5;CJ\aJ<@< aTOC 3 %^6CJ]aJ6@6 aTOC 4 &^CJaJ66 aTOC 5 '^CJaJ66 aTOC 6 (^CJaJ66 aTOC 7 )^CJaJ66 aTOC 8 *^CJaJ66 aTOC 9 +^CJaJHH ~[ Balloon Text,CJOJQJ^JaJ2O2 Pl WW8Num1z0OJQJ2O2 Pl WW8Num5z0OJQJ6O6 Pl WW8Num5z1 OJQJ^J2O2 Pl WW8Num5z2OJQJ.O. Pl WW8Num6z0CJ6O!6 Pl WW8Num1z1 OJQJ^J2O12 Pl WW8Num1z2OJQJ>OA> PlBulletsCJOJPJQJ^JaJ<OR< PlTable Contents5 $BOQbB Pl Table Heading6$a$5\@s Pl Table GridA:V70a7_HmH sH tH O! f:Style Heading 2 + Times New Roman 11 pt Not Bold Underline856>*CJOJQJ\O IBStyle Heading 1 + Times New Roman 11 pt Not Bold Underline Line... 9dhh5>*CJOJQJ\^JaJ\O\ * Not heading 1:$dh@&a$5>*CJOJQJaJO IFStyle Style Heading 2 + Times New Roman 11 pt Not Bold Underline + ... ;dhh ]^JaJO K4Style Heading 1 + Times New Roman Not Bold Underline <dhh5>*CJOJQJ\O1 KBStyle Heading 3 + Times New Roman 11 pt Not Bold Underline Line... =dhh5>*CJOJQJ\^JaJO "CStyle Heading 1 + Times New Roman 11 pt Not Bold Underline Line...1 >dhh5>*CJOJQJ\^JaJO!" A"BStyle Heading 2 + Times New Roman 11 pt Not Bold Not Italic Und... ?dhh56>*CJKH OJQJ\]dOd "Heading 2 Char056CJOJQJ\]^J_HaJmH sH tHO ?"GStyle Heading 2 + Times New Roman 11 pt Not Bold Not Italic Und... Char >*CJKH RY"R 9: Document MapB-D M OJQJ^JO2 _BStyle Heading 1 + Times New Roman 14 pt Not Bold Underline Line... Cdhh5>*CJOJQJ\^JaJLOBL K" Non-heading 1Ddhh<>*CJ:OAR: K" Non-heading 2ECJ.Oa. g WW8Num4z0CJ>Oq> g WW8Num6z1CJOJQJ^JaJ>O> g WW8Num7z0CJOJQJ^JaJ>O> g WW8Num7z1CJOJQJ^JaJ>O> g WW gBStyle Heading 2 + Times New Roman 12 pt Not Bold Not Italic Und...l$dhh*$'56>*CJOJQJ\]^JaJtH O g:Style Heading 1 + Times New Roman 14 pt Not Bold Underline mdhh5>*CJOJQJ\JOQJ ] Non-heading 3n$dhha$aJFOF ] Non-heading 4o$dhha$JOJ 5#{MyTitlep$dha$CJ(OJQJ^JaJ$&.6BMVgp{6Sbmqv$*5?Ehqw$.E]jw  6D]|$*BPu~$4au|Mk scba`[ZYdRS$   "! }|ywvtsed_^\[YXWVTRNHG%&'()41&.6BMVgp{6Sbmqv$*5?Ehqw$.E]jw  6D]|$*BPu~$4au|Mk       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstusss0 } 01236@ABO]opq|./FGZ[()c  6 N  o fv=DOX f7 qtjn$\ -K H!!!_""#b##$$"$ & &+'A'(()))*+,,-3..a//0=0Y3Z3556699;;==>>AADDnHoHJJPPUUVV.YYOZZZ|[}[2b3bbb`czcdd@fAfgghhjjAnBno p{rruux8xxxzz΄ބÅ _}~בؑhyLM,-ɛ͝ΝIJѣ'Vlƭ٭:op+, `m-. n  'HIf;  ( ) FG#$cdCDq  "[""3#'$($''((_**++++c,d,1/2/00u1111 3M333448\88899 ::$<[<A=B=@@BBnCCCCGGHH\I]IRJsJJJLL#MIMtMuMMM"N#NtNNQO^OQQuTTY$Y[[^]_]____``0aa`bbhccdDeeMfffggiilmgoho;rRr u uvv\z]zz {y{A|_}k}}'~L~~Ug+ӁWkԃ@g]EQpy;ڈ,ԉ'IXu΍*ZuÐ.|ʑ%9ےܒĕԕ WЗ?טCxǙșəMΚDJr}@K[h .=gy£[=>Jԥ/0@ RwǨȨԨ<,jbHIU˭{|qrtDZ78D1234O\d^_k۶deվ־ N@6aV`Hc S7:!f4Q%Au68VT;3T(^.B:MNOPUY^_k )*4hqr{>GHT'01:W`am/ !"#$%&'()+,6ABCDEFGHIJKLMNOPQRSTUVWYZopqrstuvwxyz{|}~    78:<=>KLMNOQRrstuvxy     '()*+,-./0123456789;<^_`abcdefghijklmnoprsGMw9kNJ3v&8EZ   m  9   ?   U  \/c  >?`##$$%o(p(((",#,-c-.S/~/11|33556699;;z???BBBB`CCFFHHIIJJ_L`L N N!N&N2N3N;N@NeNfNNNNNNNNNNOOAPBPOPFQKQXQdQeQlQqQRRRRpSqSxS|SSSSS^T_TdThTTVUV[V`VVVVVWW>YYZZH[e[z[\\\\\\\\\]]]]]=]?]@]H]g]i]j]t]]^^^^9_~`qbrbsbcccdNdkdd`faf3hIhij+j'k7kkk>o?oqqqqqZrwrxruuxx z:z@{Q{|(|/|0|9|K|L|V|t|u|}|||||||!}"}}}G~d~x~~~~~ ?@Jabln#$8QR\z{2NՇ]^?@qr rs֑VWmxs(̖і qrslmnNO*6=>Oۜܜ4l2ۢ45TmrΧӧ78elڨۨ8<ϩ "#k W BԮ/0;r 3°/EFrȴS0#Nb{EʸSgʺ5Mu*B'1FξϾھKLW 01<`al$YZe56A!uOP[pq|IJU 5C'9S156BC==6PTU:>?VY  6;BR`jk7`@$()qA&+2BPZ[J vEIJcnRVWm@&Co  =iklmn!#$ VYLNBY!;Ouv(=_|47V  !5:;ACDRSsuv  !"478CXYimn            n o q O P Q S T U W klnDEcdefghrx%9`ablabcpL"M"##P%e%%%&&''B*C*L+M+++I,J,..H...0022c2222^33S4&5@5Q7w7788x888A9\999$:.::;;<<>>???@A*ABBBBCC.E/EEEEE:FFF=GGGHHIkIII7M8MNNQQ.RCR`RTTVV%W&WYY[[] ]W^X^_)_L___1`V````aaaabb1ccccvdwdd$eeeUfVfffffffffffffffffffffffffffffgggggg'g(g2g3gKgLgggggghhhhhhh"h#h1h2hChDhIhJhUhVhehfhuhvhhhhhhhhhhhhhhhhhhhhhiiii#i$i.i/iBiCiJiKi`iaiviwiiiiiiiiiiiiiiiii j jjj#j$j,j-j5j6j>j?jGjHj`jajljmjwjxjjjjjjjjjjjjjjjjj k kk(k)k0k>k?kRkSkekfkmknkrksk}k~kkkkkkkkkkkkkkkkkkk!l"l*l+l7l8lJlKlTlUlhlilolplxlylllllllllll mm!m"m(m)m.m/m5m6m7m;m0>0>0>0>0>0>0>0>0>0>0>0>0>0> 0> 0>0>0>0>0>0>0>0>00b0b0`c(0`c0d0d0d0d0d(0`c0h0h0h0h0h(0`c0o(0`c0{r(0`c0u0u0u0b0x(0x0z0z0z0z0z(0x0΄ 0΄ 0΄ 0΄0΄(0x00000(0x000(0x0h(0x00000(0x0ɛ0ɛ0ɛ0ɛ0ɛ0ɛ0ɛ0ɛ0ɛ(0x0000b0(00(00V(00ƭ0ƭ0ƭ0b0(000000 0 0 0 0(00000000000b0(00`0`0` 0` 0` 0`0`0`0`(0000(000000(00000000b0(00n0n0n0n0n0n0n0n0n 0n 0n 0n0n0n 0n 0n 0n(00 0 0 0 0 0 0 (00000000000000q 0q 0"(0"0"0"0" (0"0'0'0'(0"0_*0_*0_*(0"0+0+0+0+0+0+0+(0"0u10u10u10q 0 3(0 30303030(0 3080808(0 3090909(0 30$<0$<0$<80$<0$<0$<0$<(0 30nC0nC0nC0nC0nC(0 30H0H0H(0 30RJ0RJ0RJ0RJ0RJ(0 30#M0#M0#M(0 30M0M0M0q 0tN(0tN0QO0QO0QO(0tN0uT(0tN0Y0Y0Y0Y0Y00_0_0_0_8 0_8 0_`8 0_8 0_8 0_8 0_8 0_8 0_8 0_8 0 _0_`0_0f(0f0g0g0g(0f0l0l0l0_0;r0;r0;rp0;r0;r0;r0;r9 0;r9 0;r9 0;rx9 0;rx0 0_}0_} 0_}0_} 0_}0_} 0_}0_} 0_}0_} 0_}0_} 0_}0_} 0_}0_} 0_}0_} 0 _}0_} 0 _}0_} 0 _}0_} 0 _}0_} 0 _}0_} 0_}0_}00E0Q$0Q$0Q$0Q$0Q$0Q#0Q#0Q#0Q#0Q#0Q$0Q$0Q$0Q#0Q#0Q0#0Q#0Q0#0Q#0Q0#0Q#0Q0#0Q$0Q0$0Q$0Q0#0Q0#0Q0#0Q0$0Q0$0Q0D0Q0Q0Q0Q0Q0QD0Q0Q 0Q 0Q 0Q 0Q 0QD0Q0Q< 0Q< 0Q< 0Q0Q0Q0Q 0Q 0Q 0QD0Q0Q= 0Q0Q= 0Q0Q= 0Q0Q= 0Q0QD0Q0Q0Q0QE0Q0Q0Q0Q0Q 0Q 0Q 0Q 0Q0Q0Q 0Q 0Q 0Q?0EE0/0/0/0/0/0/ 0/ 0/ 0/0/0/ 0/ 0/ 0/E0/0/0/0/0/ 0/ 0/ 0/ 0/ 0/ 0/0/0/ 0/ 0/ 0/ 0/?0EE0{0{0{0{0{ 0{ 0{ 0{ 0{ 0{0{0{ 0{ 0{0{E0{0{0{0{0{0{0{ 0{ 0{ 0 { 0 { 0 {0{0{ 0{ 0{D0{0{0{0{0{0{D0{0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{D0{E0{0{0{0{0{0{0{0{0{0{0{0{0{E0{0{0{0{0{0{E0{0{0{0{E0{E0{0{0{0{0{0{0{0{0{0{0{0{E0{0{0{0{0{0{E0{0{0{0{E0{0{0{0{0{E0{0{0{0{0{0{0{0{0{0{0{0{0{E0{0{> 0{> 0{> 0{> 0{> 0{> 0{> 0{> 0{D0{0{0{0{0{D0{0{0{0{0{0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{0{D0{0{0{0{0{0{E0{0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ E0{0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ E0{0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{ 0{0{D0{ 0{0{ 0{0{ 0{0{0{0{ 0{0{ 0{0{ 0{0{ 0{0{0{D0{. 0{0{0{. 0{0{0E0$0#0#0#0#0#0#0#0#0#0#0$0#0%0%0&0&0&0&0&0&0&0%0&0&0%0&0&0&0&0&0&0&0%0%0#0#0#0%0%0#0%0%0$0$0D00E0000E0000E000000E00000E0000E0000E000E0000E0000E0000D00E0n0000n00o00000000o000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000o0o000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000o00= 0= 0= 0= 00o000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000000o0000o000n00o0000000080o0q0q0q0q0q0q0q0q0qn0q0qo0q0q0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q0q0q0qo0q0q0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q0qo0q0q0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0q 0qo0q0qo0q0qo0q0qo0q0q0q0q0q0q0q0qn0q0q0q0q0q0qn0q0ql0EE0V0V? 0V? 0V? 0V? 0V? 0V0Vl0EE000P 000 0 0 0 0 0 0 0P 00 0 0 0 0 0 0P 00P 00 0 0 0 0 0 0P 0R 0S 0T 0P 0P 0E00n00n0000E00n00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 n000 0 0 N 0N 0N 0N 0N 0 N 0N 0N 0N 0N 0  0 D0F 00F 00F 00F 000F 00F 00F 00F 00F 00F 0 000F 0 0F 0 0F 0 0F 0 0F 00m0D0U 000U 00000U 0000U 000D00 06 06 06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D00 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 000 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000$0#0#0#0#0$0#0#0D00E00 0 0 0 0 0 0 0 0 0 0 0 0 000 0000 0000 0 0 E00 0 0 0 0 0 0 0 0 0 0       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0 0 0 0 0 0 0 0 0 0 0 0 0 E00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 000 0 0 E00 0 0 0 0 0 0 0 0 0 0 0 0000 0 0000 0000 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0D00E000E0E000000000000000000000000$0#0$0#0#0#0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0D00E0000D0E0000E00Y 0Y 0Y 0Y 0E00000Z 0Z 0Z 0Z 00D00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000D0000000D00D0000000V 0V 0V 0V 0000000000000000000000000000D0000000000000D00 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0 0 0 0 0W 0W 0 0 0D0b0b0b0b0b0b0b0bD0b0b0b0b0b0b0D0b0b0b0b0b0b0b0b0b0b0bD0b0b0b0b0b0bD0b0b\ 0b\ 0b\ 0b\ 0b\ 0b\ 0b\ 0bD0b0b0D0b0bX 0bX 0bX 0bX 0b0b0bD0b0b[ 0b[ 0b[ 0b[ 0b[ 0b00b00b8D0b80b8D0b80b80b80bD0b0bD0b80b80b80b@D0b@0b@D0b@0b@0b@0b@0b@0b@D0E$0E$0E@$0E@$0E@$0E@D0E0E@_ 0E@_ 0E@0ED0E@0E@0E00E@0EH0EH0EH0EH0EHD0EH0EP0E0E0EP0EP0E0EP] 0EP0EP] 0EP0EP] 0EXD0EX0E0EX0EXD0E^ 0E0EX^ 0EX0EX^ 0EX0EX0b0`0`X0`X7 0`X0`X7 0`X0`X7 0`00`0``7 0``0`0``7 0``0`0``0``7 0`0`0@0@0@0@0@0@0@0@0@00k d0000000000000H00000000000000H0000000000000000000000000000000000000000H00000000000000H000000000000000000000000000000000000H000000000000000000H000000000000000H000000000000000000000000000000000000000000000H00000000H0000000000000000000000H000H00H00000000H000H000 01236@ABOopq|./FGZ[()$"$ & &+'A'(()))*+,,-3..a//0=0Y3Z3556699;;==>>AADDnHJPPUUVV.YYOZZZ|[}[2b3bbb`czcdd@fAfgghhjjAnBno p{rruux8xxxzz΄ބÅ _}~בؑhyLM,-ɛ͝ΝIJѣ'Vlƭ٭:op+, `m-. n  'HIf;  ( ) FG#$cdCDq  "[""3#'$($''((_**++++c,d,1/2/00u1111 3M333448\88899 ::$<[<A=B=@@BBnCCCCGGHH\I]IRJsJJJLL#MIMtMuMMM"N#NtNNQO^OQQuTTY$Y[[_]____``0aa`bbhccdDeeMfffggiilmgoho;rRr u uvv\z]zz {y{_}k}}'~L~~Ug+ӁWkԃ@g]EQpy;ڈ,ԉ'IXu΍*ZuÐ.|ʑ%9ےܒĕԕ WЗ?טCxǙșəMΚDJr}@K[h .=gy£[=>Jԥ/0@ RwǨȨԨ<,jbHIU˭{|qrtDZ78D1234O\d^_k۶deվ־ N@6aV`Hc S7:!f4Q%Au68VT;3T(^.B:MNOPUY^_k )*4hqr{>GHT'01:W`am/ !"#$%&'()+,6ABCDEFGHIJKLMNOPQRSTUVWYZopqrstuvwxyz{|}~    78:<=>KLMNOQRrstuvxy     '()*+,-./0123456789;<^_`abcdefghijklmnoprsGMw9k >?`##$%o(p(((",#,-c-.~/11|3355699;;z???BBBB`CCHHIIJJ N N!N&N2N3N;N@NeNfNNNNNNNNNNOOAPOPFQKQXQdQeQlQqQRRRRpSqSxS|SSSSS^T_TdThTTVUV[V`VVVVWW>YYZZH[e[z[\\\\\\\\\]]]]]=]?]@]H]g]i]j]t]]^^^^9_~`qbrbccdNdkdd`fIh+j'k7kkk>o?oqqZrwrxruxx:z@{Q{|(|/|0|9|K|L|V|t|u|}|||||||!}"}}G~x~~~~~ ?@Jabln#$8QR\z{2NՇ rs֑mxs(̖і qrlmN*6=>Oۜܜl2ۢ45mrΧӧ78elڨۨ8<ϩ;r 3°/rȴS0#N{EʸSgʺM*B`alAS56=>?VY  BR`jk7`@$()qA2BPZ[JvEIJnRVW $uv(=_|47V  !5:;ACDRSsuv  !"478CXYimn            n o q O P Q S T U W klnDEcdefghrx%9`ablabcpL"M"##P%e%%%&&''B*C*L+M+++I,J,..H...0022c2222^33S4&5@5Q7w7788x888A9\999$:.::;;<<>>???@A*ABBCC.E/EEEE:FFF=GGGHHIkIII7M8MNNQQ.RCR`RTTVV%W&WYY[[] ]W^X^_)_L___1`V````aaaabb1ccccvdwdd$eeeUfVffffmrs0000000000000000000 @90@0@0@0@0@0@0@0 @90@0@0@0@0@0@0@0@0@90 @90@0 @0@0G$@0G$@0G$@0G$@0^'@0^'@0^'@0^'@0^'@ 0^'@ 0^'@ 0^'@ 0^'@ 0^'@ 0^'@ 0^'@ 0^'@ 0^'@ 0 ^'@0G$@0N0@0N0@0N0@0N0@0N0@0N0@0N0@0N0@0N0@0N0@0N0@0N0@0N0@0G$@0 >@0 >@0 >@0 >@0 >^>0O0(^>0O0@0 >@0 >@0 >@0 >@0 >@0 >@ 0 >@ 0 >@0 >@0 >@0 >@0 >@0 >@0 >@0 > @0@0"_@0"_@0_*@0_@0`@0`@0`@0`@0`*@0_@0d@0d@0d@0d@0d*@0_@0#l*@0_@0n*@0_@0q@0q@0q@0"_@0u*@0u@0v@0v@0v@0v@0v*@0u@0@ 0@ 0@ 0@0*@0u@0@0@0@0@0*@0u@0̉@0̉@0̉(@0u@0*@0u@0%@0%@0%@0%@0%*@0u@0Z@0Z@0Z@0Z@0Z@0Z@0Z@0Z@0Z*@0u@0;@0;@0;@0"_@0*@0@0*@0@0*@0@0U@0U@0U@0"_@0j*@0j@0$@0$@0$@0$@0$@ 0$@ 0$@ 0$*@0j@0@0@0@0@ 0$@ 0$@ 0$@0@0@0"_@0N*@0N@0@0@0@ 0@ 0@ 0@0@0@0*@0N@0@0@0*@0N@0@0@0@0*@0@0"_@0*@0@0@0@0@0@0@0@0@0@0@ 0@ 0@ 0@0@0@ 0@ 0@ 0*@0@0@0@0@0@0@0@0*@0@0@0@0@0@0@0@0@0@0@0@0 @0@0p@0p@0*@0@0@0@0*@0@0@0@0*@0@0E@0E@0E*@0@0@0@0@0@0@0@0*@0@0N!@0N!@0N!@0p@0"*@0"@0#@0#@0#*@0"@0(@0(@0(*@0"@0)@0)@0)*@0"@0,@0,@0,@0,@0,@0,@0,*@0"@0H3@0H3@0H3@0H3@0H3*@0"@08@08@08*@0"@0%:@0%:@0%:@0%:@0%:*@0"@0<@0<@0<*@0"@0=@0=@0=@0p@0G>*@0G>@0$?@0$?@0$?*@0G>@0HD*@0G>@0H@0H@0H@0H @0@0N@0N@0O@0O@8 0O@8 0O@8 0O@8 0O@8 0O@8 0O@8 0O@8 0O@8 0O@8 0 O@0O@0N@0dV*@0dV@0;W@0;W@0;W*@0dV@0\@0\@0\@0N@0a@0a@0a@0a@0a@0a@0a@9 0a@9 0a@9 0a @0@ 0k@0k@ 0k@0k@ 0k@0k@ 0k@0k@ 0k@0k@ 0k@0k@ 0k@0k@ 0k@0k@ 0k@0k@ 0 k@0k@ 0 k@0k@ 0 k@0k@ 0 k@0k@ 0 k@0k@ 0k@0Z @0@0@0@'0@'0@'0@'0@'0@(0@(0@(0@(0@(0@'0@'0@'0@(0@(0@(0@(0@(0@(0@(0@(0@(0@'0@'0@'0@(0@(0@(0@'0@'0 @0@0 @0 @0 @0 @0  @20@0f@ 0f@ 0f@ 0f@ 0f@ 0f @20@0(@ 0(@ 0(@ 0(@0(@0(@0(@ 0(@ 0(@ 0( @20@0@ 0@0@ 0@0@ 0@0@ 0@0 @20@0@0@0@10@0 @0 @0 @0 @ 0 @ 0 @ 0 @ 0 @0 @0 @ 0 @ 0 @ 0 @10@10@0@0@0@0@0@ 0@ 0@ 0@0@0@ 0@ 0@ 0@10@04"@04"@04"@04"@ 04"@ 04"@ 04"@ 04"@ 04"@ 04"@04"@04"@ 04"@ 04"@ 04"@ 04"@10@10@0'@0'@0'@0'@ 0'@ 0'@ 0'@ 0'@ 0'@0'@0'@ 0'@ 0'@0'@10@0+@0+@0+@0+@0+@0+@ 0+@ 0+@ 0 +@ 0 +@ 0 +@0+@0+@ 0+@ 0+ @20@0{/@0{/@0{/@0{/@0{/ @0@0C8@& 0C8@& 0C8@& 0C8@& 0C8@& 0C8@& 0C8@& 0C8@& 0C8@& 0C8 @20@106<@0Q<@0Q<@0Q<@0Q<@0Q<@0Q<@0Q<@0Q<@0Q<@0Q<@0Q<@0Q<@106<@0JB@0JB@0JB@0JB@0JB@106<@0)D@0)D@0)D@106<@0E@0E@0E@0E@0E@0E@0E@0E@0E@0E@0E@106<@0L@0L@0L@0L@0L@106<@0%N@0%N@0%N@106<@0CO@0CO@0CO@106<@106<@0P@0P@0P@0P@0P@0P@0P@0P@0P@0P@0P@0P@106<@0C[A 0C[A 0C[A 0C[A 0C[A 0C[A 0C[A 0C[A 0C[ @20@0_@0_@0_ @20@0e@0e@0e@0e@0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e @0e@0e @20@0k@0k@0k@0k@0k@10k@0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o@0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @0o @10k@0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @0p @10k@0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q@0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q@0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q @0.q@0.q @0.q@0.q @20@# 03s@03s@# 03s@03s@# 03s@03s@03s@03s@# 03s@03s@# 03s@03s@# 03s@03s@# 03s@03s@03s @20@ 0w@0w@0w@ 0w @0z@0@0 @0@06 @06 @0 @0 @0 @06 @0@0@0@06 @0g@0g@0g@0g@0g@06 @0A@0A@0A@06 @0v@0v@0v@06 @0/ @0/ @0/ @06 @0F$@06 @0~&@0~&@0~&@06 @0*@0*@0*@06 @0.@0. @0@0h3@0h3*@06@06@06@06*@06@09:@09@03:@03:@03:@03:@03::@09@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A@0#A:@09@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE@0ZE:@09@ 0L@ 0L@ 0L@ 0L@ 0L@0L:@09@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@0O@ 0O@ 0O @0O@0O@0O@0O@0O@0O:@09@0m:@0Y*@06@0Y:@0Y@0Z@0Z@0Z@0Z@0Z:@0Y@0?_@0?_@0?_@0?_@0?_@0?_*@06@0e:@0e@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f@0f:@0e@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j@0 j:@0e@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n:@0e:@0e@0p:@0e@0dq@0dq^~00@0dq*@06@0u@0u@0u^~00@0*@06@0h3@0{@ 0{@ 0{@ 0{@ 0{@ 0{@0{@0X~@0X~@ 0X~@0X~ @0X~@0X~@0X~@0X~@0X~@0X~@0X~@ 0X~@0X~ @0X~@0X~@0X~@0X~@0X~@ 0X~@ 0X~@0X~@0X~@0X~@0X~@0X~@0X~@0X~@ 0X~@ 0X~@ 0X~@ 0X~@0h3@0*@0*@0*@0@0@0@0h3@0h3@0h3@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|@0|*@0| @0@ 0d@0d@ 0d@0d@ 0d@0d@ 0d@ 0d@0d@ 0d@0d@ 0d@0d@ 0d@0d@ 0d@0d@ 0 d@0d@0d@ 0 d@0d@ 0 d@0d@ 0 d@0d@ 0 d^~01@ 0@0@0@0@ 0@ 0@0@0^~0o1@ 0@0Rt^~00&^~00 @0 ^~00 ^~00 @q 0@ ^~004[^~00@0T^~00^~00@0RT @0h۝@0Rt^~00^~00 @0 ^~00^~00^~00^~00(^~00^~00(^~00^~00^~00 @0^~0 0ؚ^~00^~00^~00^~00^~00^~00@0T ^~00J^~00^~00^~00@0T^~00 ^~00 ^~00 ^~00 ^~00@0T ^~0$0^~00 ^~00 ^~00 ^~0$0@0T ^~0&0^~0'0^~0(0^~00^~00^~00^~0&0@0T ^~00^~00^~00^~00@0T^~0&0^~0&0^~0&0^~0&0^~0&0 @0 ^~090^~070^~070^~070^~00^~080@0T ^~0=0w^~0=0^~0=0@0^~0=0@0T @0@0^~0H0|^~00^~00^~00^~00^~00^~00@0@0@0@0 @ 0@0@!0@0 @0 @0  @ 0@!0 @0 @0 @0 @!0 @0@ 0@ 0@ 0@ 0@!0 @0@0@0@0@ 0@ 0@ 0@ 0@0 @ 0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0 @ 0@0@0@0@0@0@0 @ 0@0 @ 0@0@0@0@0@0@0@ 0@ 0@ 0@ 0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0 @ 0@0#@0#@0#@0#@0#@0#@0#@0#@0#@0#@0#@0# @ 0@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@0i)@ 0i)@ 0i) @0i) @0 @ 0@0d-@0d-@0d-@0d-@0d-@0d-@0d- @ 0@0P3@0P3@0P3@0P3@0P3 @ 0@05@05@05@05@05@05@05@05@05@05 @ 0@0<@0<@0<@0<@0< @ 0@0?@ 0?@ 0?@ 0?@ 0?@ 0?@ 0?@ 0? @ 0@0C @ 0@0GE@ 0GE@ 0GE@ 0GE@ 0GE@0GE@0GE @ 0@07G@ 07G@ 07G@ 07G@ 07G@ 07G@07G0@07G @ 0@@0J @ 0@0L@0L@0L @ 0@0M @ 0@0 O @ 0@0 @ 0@0Q@0Q @0Ý@0 @0@'0@'0@'0@'0@'0 @0@0@+ 0@+ 0@0 @0@0@0@0@0@0@0@0@0 @0@0n @0n @0n @0n @0n @0n @0n @( 0n @0n @( 0n @0n @( 0n  @0@0B@0B@0B @0@) 0]@0]@) 0]@0]@) 0] @0 @0@0@0@0@ 0@0@ 0@0@ 0@0@0@ 0@0@0@ 0@0@0@0@ 0@0@0 0=B(cA0@0<GVVVYQ B0m_=SV  !""#C$$%h&&'E((g))*[++,/P3"7e9;?DF}OQ_SVX`NdkNrQvN{5ق؆FҢVݶ=NC,P<#J|]"'C*(,/1{3417 ; =ACEIOOTQWw\cQhkHox }Jrkt^y+͑HQٔ*9|>?8P*Om J .    %YXXO}7@+7EVadhls~%PTGTUzGaAG nU#q'/|5s8>DJMN5OuQgihmnr{     !"$%&'(*+,-./12345689:;<=?@BCDEGHIKLMNOQRSTVWXYZ[\]^_`bcdefghjoqux  !689:;<=>?@BCDEFGHR_acglnoprtuwxyz|~F 6f&+/AObw.[* ;J"VhRzgu rǰ˵T:)qG0`Jx=OQRxy7p S7P@VVVdYZp[[^\T^^add?ejeqjrtd?#zrl=4m7ڰ"/¸#BK0`Y5OpI56U?j(A&[IRmB       : C R u      ! 7 X m  lg###$a$%&L*8$BM.ZVhUnnppvq>rsstu{ #)07>AFJPUaiklmnprstvwyz{|}~    "#$%&'()*+,-./0123457AIJKLMNOPQSTUVWXYZ[\]^`bdefhijkmqsv{}{  1 B ^ ` a c     = b ~  0 3 4 6 V  , H K L N n  / M i l m o 1D`cdf6Tpstv7:;=]r ">ABDdx-ILMOo(6RUVXx   -D`cdf1457W )OknoqRnqrtHdghj<<zLhkln!"$Df:VYZ\| @h '*+-Mh ) E H I K k ~ !&!B!E!F!H!h!t!!!!!!!!!!!"="Y"\"]"_""""""""" ####3#@#\#_#`#b######### $ $$$e1112:2=255578 8 :%:(:;;;<<<===bG~GGLHhHkH!J=J@J)KEKHKKKKPPPN\j\m\lllx3x6x~Xtws())^+z+}+---999<<!<4LPLSLQ`m`o`e/e2eW{s{v{}}%~Y~~~:St@ڀ8~"Ux)q>tj"_ CyƇ589;[oԈ׈؈ڈ &)*,L_{~Ήщ҉ԉ!$%'GjԊ'CFGIiz؋6RUVXx،5Sorsuȍˍ̍΍$'(*JgƎ8TWXZzя9SorsuÐ (+,.NZvyz|đǑȑʑ"#%9QT"%EFP$q,HKLNn(DGHJj-013S{cTpstv #$&Fm2568X#?BCEe| 8 T W X Z z            : K g j k m         3 6 7 9 Y k             9 < = ? _ |            3 O R S U u        ':VYZ\|8_{~ ),-/OfA]`ac   GGHMNNNNOH[`[c[F\b\e\ccdNdfdidijjkkkZrrrurvvvG~_~b~ܜ̯ A-̲C[ִQʵ=޶Sȸ,Qt"p¼/0Pb~/235U~!=@ACc!$%'   -4PSTVv"7SVWYy*FIJLl,HKLNny  <?@Bbq"6RVWYy!A]y}~489;[z,HLMOoeSos #5QTx%57l|~$5$8$`'|'' *)*,*///0!0%0S0o0s0_1{1~1#6?6B6p666|;;;@@@CdCCEEE FF3F7F8F:FZFrFFFFFFFFFFFGG6G:G;G=G]GiGGGGGIIICR[R^RY____`/`c```~bbbNcycc#dSdtd$eiees X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%̕%%%%%%%%%%%%%%%%__%%%%%%%%%%%XXXXXXXXXXXXXXX X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%̕%_%XXXXXX X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%̕%%__%_____%__XXXXXXXXXXXXXXX X%X%X%X%X%X%X%X%̕ X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%̕%%%%%%::::::%%%%%%%%%%%X X%X%X%X%X%̕__XXXXXXX<CGNRY!!9:_b$v)"7tzr\6b$/ 9\@6x5rtb$4p8^R%{b$<8I@km+:!szJ}b$!@֙C+#"V@n9m(  X  L" /3  s"*?` 0 c $X99? L"T 1 # v1 " vX  L"p 23  s"*?` 3 c $X99? L"pT 4 # u4 " u  ; ! E3  s"*?` F c $X99?; !4T G # aGU \T4 aT H # `Hb ad4 `42 I  V 4TB JB C D 4TB KB C D4TB L C D/4TB M C D2I34n N C _N"`s4 _ZB OB S DGCvO4ZB P S D !4ZB Q S DT44T R # ^R43*4 ^ZB S S DC4T T # ]T7!,4 ]ZB U S DT4n V C \V"`b -(4 \n W C [W"` l4 [n X C ZX"`s4 Zn Y C YY"`&4 YZB Z S Da44n [ C X["`4 XT \ # W\ d4 WZB ]B S DI* 4n ^ C V^"` +4 Vn _ C U_"`'4 UTB ` C D[4ZB a S D[[4  . b3  s"*?` c c $X99?.4T d # Tdg4 TT e # Set4 S42 f 6m4TB gB C D`4TB hB C DCV4TB i C DV4TB j C D64TB k C D  4TB l C D4TB m C Dtu4ZB n S Dytu4ZB oB S DY   44 p b  s 4ZB q S Ds  44 r s 4n s C Rs"`f t4 Rn t C Qt"`] H 4 QTB u C D4T v # Pv t4 Pn w C Ow"`  a 4 OZB x S D  4n y C Ny"`  4 N4 z  4ZB {B S D9:4n | C M|"` 74 Mn } C L}"`9gL 4 LN 3 ),##A ~3  s"*? `  c $X99?3 ),##A44  Q -X"\?4TB  C D-\?4TB  C D}-~\?4H2  #  .P O/4T  # " 0w044 "T  # !0 24 !T  # 3"74  T  # 4S64 T  # 8) <:4 T  # b:;4 42   =j =4T  #  6CN84 T  # 794 T  # : ^<4 ZB  S D O/ 04ZB  S Dj114ZB  S DD'2E34ZB B S D554ZB  S DD"7E84ZB  S DD.:E:4ZB B S D664ZB  S D67 84ZB  S D,9-b:44  =~=4ZB  S D,;- =4ZB B S Dd{=D|=4TB  C DD]<E{=4ZB B S D] {=|=4H2  #  T=) =4n  C "` T-.4 n  C "`-/4 n  C "`-!.4 n  C "`04 u54 n  C "`&6!&84 42   i? @4H2  # H ?| ?4n  C "` ?`@4 H2  # v?,@4n  C "`?`@4  3 3"^ 3  s"*? `  c $X99?3 3"^4T2  # D 4 DT2  # C4 CZB  S D4ZB  S D}4ZB  S DPdQ4ZB B S D=y=4n  C B"`7'"4 Bn  C A"`/A4 An  C @"`VE4 @n  C ?"`04 ?n  C >"` x04 >ZB  S DN4n  C ="`]R4 =T2  # <bQ4 <, 3 S%~ 3  s"*? `  c $X99?3 S%~442   \ 4TB B C DTO a 4TB B C D aD4TB  C Da D4TB  C D  4n  C )"`eV4 )T2  # (,Q4 (TB B C Di/S4TB B C D4TB  C D4TB  C DI4TB  C D.4n  C '"` ^"4 'T2  # &"4 &T2  # %x %4 %T2  # $ \4 $T2  # #9$4 #x   f + 3  s"*?`  c $X99? f +4T  # ow 'B)4 oTB  C Dw Q(5S(4ZB B S D+%'4n  C n"`^%5&4 nT  # m ')4 mTB  C DD(F(4ZB B S D4%5'4n  C l"`u8%&4 lT  # k^&( )4 kTB  C D^7( 9(4ZB  S D%&4n  C j"`kR%&4 jZB B S Du"4n  C i"`N h!4 i42  Ai4TB B C D\4TB B C DNS4TB  C DS4TB  C DA4n  C h"`G4 hn  C g"` *+4 gT  # fiy"+%4 f 3 S% 3  s"*?`  c $X99?3 S%4T2  # e3d4 e42  e  4TB B C D  4TB B C Dr  4TB  C D  4TB  C De 5 64TB  C D] vw4T2  # dL4 dTB  C D] 4n  C c"`3 4 cn  C b"`  /4 b0 3 ;S%/ 3  s"*? `  c $X99?3 ;S%/4T2  # ;@ I%[l'4 ;T2  # :8I%S%l'4 :ZB  S D!d%4n  C 9"`l$"z$4 9ZB  S D!d%4n  C 8"`B"_$4 8ZB  S D'U+4n  C 7"`__'*4 7ZB  S Dy'U+4n  C 6"`'E+4 6ZB B S DG!z~%4ZB B S DPh&h&4ZB  S D:R'@,4n  C 5"`#%9&4 5n  C 4"`|+-4 4n  C 3"` K">#4 3TB  C D7 ] 7 %4ZB  S D7 ] ^ 4n  C 2"`  !4 2T2  # 1!4 1ZB  S D ?%4ZB  S Dh&;h&4ZB  S D'LM,4TB  C D! E'! ?/4TB   C D! L/r"M/4ZB   S Dr"_'s"L/4n   C 0 "` -L/4 0n   C / "`-+P -4 /n   C . "`3""!$4 .n  C -"`Q$&4 -T2  # ,c%'4 ,TB  C D\#P \#W%4ZB B S DC \#C 4n  C +"` #e"4 +T2  # *H+k-4 * 3 S%' 3  s"*?`  c $X99?3 S%'4H2  #   4T  # KJ  4 KTB  C DJ0 14T  # J 4 JTB  C D 014ZB  S DC D 4ZB B S DD4ZB  S DQ4n  C I"` J 4 In  C H"`5{ <" 4 Hn   C G "` va4 Gn ! C F!"`3O 54 Fn " C E""`:$4 EH2 # # wI>4p 3 " W3  s"*?` X c $X99?3 "<T2 Y # Y < T2 Z # Z<  T2 [ # [bQ<  ZB \ S D<ZB ] S D}<ZB ^ S DPdQ<ZB _B S D=y=<n ` C  `"`7'"<  n a C  a"`/A<  n b C  b"`VE<  n c C c"`0< > l '@  3  s"*?`  c $X99?l '@ 4  l '@ T  #   T  #    n  C "` S   T  #   T  # z% T  #  %  T  # 8 %x  4  W4  4    4  8 x 4  e  4   fS  R 3 'S%. L#  s"*?` K c $X99?3 'S%.V4 M f T(*V\ N 3 "`(L5*V4 O Ia( *U\ P 3 "`^a(K)U4 Q ^'a(Uh R 3 R"` F+#-U h S 3 S"`F+#`.U b d C d"`< b $ C $"` 4 H % # p%/ pV & # q&"?/ q ' Hrqq'/ rH ( # s(/ sH ) # t)/ td 5 C &A"Hh"`d 6 C &AN}Hh"`J 7 # A"`j 8 S ,A!Hh"` 9 S XA:Screenshot_10_53_9_18_3_2007"`B S  ?4x8RNa[dgdjksr`~i! p'@5I\RsLq (t!tdN  tW tlzt q tEt b t q Vt t q ;tq \ t~3t$ct%]t&i@t'"\t(nt)Jt51 T6T7T9}+ T8n+ T2}t/} t_ _Toc161749117 _Toc161832884 _Toc161833553 _Toc161834754 _Toc161836323 _Toc162750662 _Toc163705006 _Toc163712608 _Toc163732690 _Toc161749118 _Toc161832885 _Toc161833554 _Toc161834755 _Toc161836324 _Toc162750663 _Toc163705007 _Toc163712609 _Toc163732691 _Toc161832886 _Toc161833555 _Toc161834756 _Toc161836325 _Toc162750664 _Toc163705008 _Toc163712610 _Toc163732692 _Hlt164069974 _Hlt164069975 _Hlt164072831 _Hlt164073299 _Hlt164070124 _Hlt164077308 _Hlt164077421 _Hlt164077523 _Hlt164090593 _Hlt164090594 _Hlt164094264 _Hlt164146956 _Hlt164146957 _Hlt164094290 _Toc163732693 _Toc163732694 _Ref162709218 _Toc163732695 _Hlt164071696 _Toc163732696 _Toc163732697 _Toc163732698 _Toc163732699 _Ref161652894 _Ref161653620 _Toc163732700 _Toc163732701 _Toc163732702 _Toc163732703 _Toc163732704 _Toc163732705 _Ref161652035 _Toc163732706 _Toc163732707 _Toc163732708 _Toc163732709 _Toc163732710 _Ref162614813 _Toc163732711 _Toc163732712 _Toc163732713 _Toc163732714 _Toc163732715 _Toc163732716 _Ref162688696 _Ref162688697 _Toc163732717 _Toc163732718 _Toc163732719 _Toc163732720 _Toc163732721 _Toc163732722 _Ref161627664 _Toc163732723 _Toc163732724 _Toc163732725 _Ref161627497 _Toc163732726 _Ref161627546 _Ref161627619 _Ref161628053 _Toc163732727 _Ref161652859 _Toc163732728 _Ref161627449 _Toc163732729 _Toc163732730 _Toc163732731 _Toc163732732 _Toc163732733 _Toc163732734 _Toc163732735 _Ref162843319 _Toc163732736 _Toc163732737 _Toc163732738 _Toc163732739 _Toc163732740 _Ref161653766 _Toc163732741 _Toc1      !"#$%&'()*+ /0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~63732742 _Toc163732743 _Toc163732744 _Toc163732745 _Toc163732746 _Toc163732747 _Ref161651946 _Toc163732748 _Toc163732749 _Toc163732750 _Toc163732751 _Toc163732752 _Toc163732753 _Toc163732754 _Toc163732755 _Toc163732756 _Hlt161305563 _Hlt161305564 _Hlt161306095 _Hlt161306096 _Hlt161311223 _Hlt161311224 _Hlt161292241 _Hlt161292242 _Hlt162756574 _Hlt162756575 _Hlt161378318 _Hlt161378319 _Hlt161378244 _Hlt161378245 _Hlt161656781 _Hlt161656782 _Toc163732757 _Ref163713181 _Toc163732758 _Hlt163715436 _Hlt163714976 _Hlt163714702 _Hlt163715830 _Hlt163715647 _Hlt163715669 _Hlt164146961 _Hlt163714889 _Hlt164094253 _Toc161572017 _Toc161572018 _Toc161572019 _Toc161572020 _Toc161572021 _Toc161572022 _Toc161572023 _Toc161572024 _Toc161572025 _Toc161572026 _Toc161572027 _Toc161572028 _Toc161572029 _Toc161572030 _Toc161572031 _Toc161572032 _Toc161572033 _Toc161572034 _Toc161572035 _Toc161572036 _Toc161572037 _Toc161572038 _Toc161572039 _Toc161572040 _Ref162329746 _Toc161572041 _Toc161572042 _Toc161572043 _Toc161572044 _Toc161572045 _Ref161570895 _Hlt151778319 _Hlt151778320 _Hlt163724589 _Hlt163724590 _Hlt151780846 _Hlt151780847 _Hlt161480305 _Hlt161480306 _Toc161572046 _Ref163713221 _Ref163713600 _Ref163715349 _Ref163715551 _Toc163732759 _Hlt163715488 _Hlt163713808 _Hlt163713809 _Hlt163714515 _Hlt163714572 _Hlt163715265 _Hlt163715724 _Hlt163714417 _Hlt163714614 _Hlt163715175 _Hlt164094294 _Hlt163709855 _Toc162761070 _Toc162761071 _Toc162761072 _Toc162761073 _Toc162761074 _Toc162761075 _Toc162761076 _Toc162761077 _Toc162761078 _Toc162761079 _Toc162761080 _Toc162761081 _Toc162761082 _Toc162761083 _Toc162761084 _Toc162761085 _Toc162761086 _Toc162761087 _Toc162761088 _Ref162364030 _Toc162761089 _Ref162429278 _Toc162761090 _Toc162761091 _Toc162761092 _Toc162761093 _Toc162761094 _Toc162761095 _Toc162761096 _Toc162761097 _Toc162761098 _Toc162761099 _Ref162352341 _Toc162761100 _Toc162761101 _Toc162761102 _Toc162761103 _Toc162761104 _Toc162761105 _Toc162761106 _Toc162761107 _Toc162761108 _Toc162761109 _Toc162761110 _Toc162761111 _Toc162761112 _Toc162761113 _Hlt150242027 _Hlt150242028 _Hlt150581602 _Hlt150581603 _Hlt151781540 _Hlt151781541 _Toc162761114 _Hlt162354723 _Hlt162354724 _Hlt162429802 _Hlt162429803 _Toc163732760 _Ref163713327 _Ref163713563 _Ref163715977 _Toc163732761 _Hlt163710626 _Hlt163710884 _Toc163555449 _Toc163555450 _Toc163555451 _Toc163555452 _Toc163555453 _Toc163555454 _Toc163555455 _Toc163555456 _Toc163732762 _Ref163732995 _Hlt163731772 _Hlt163731773 _Toc163731744 _Toc163731745 _Toc163731746 _Toc163731747 _Toc163731748 _Toc163731749 _Toc163731750 _Ref161907106 _Ref161907145 _Ref161907146 _Ref161907359 _Toc163731751 _Toc163731752 _Toc163731753 _Hlt163637429 _Hlt163637430 _Toc163731754 _Ref161906246 _Ref161906384 _Toc163731755 _Ref163107010 _Toc163731756 _Toc163731757 _Hlt163637482 _Ref161906283 _Toc163731758 _Ref161906763 _Ref161907315 _Toc163731759 _Ref161906958 _Toc163731760 _Toc163731761 _Toc163731762 _Ref161905910 _Toc163731763 _Toc163731764 _Toc163731765 _Ref161906156 _Ref161906176 _Toc163731766 _Ref161906117 _Toc163731767 _Hlt161903694 _Hlt161903695 _Toc163731768 _Hlt164094560 _Toc163731769 _Ref163713479 _Toc163732763 _Toc162780515 _Toc162840839 _Toc163556469 _Toc163556470 _Toc163556471 _Toc163556472 _Toc163556473 _Toc163556474 _Hlt162779992 _Hlt162779993 _Ref163715772 _Toc163732764 _Hlt159932615 _Hlt159932616 _Hlt150935363 _Hlt150935364 _Hlt159933462 _Hlt159933463}}}}}}}}}: : I %  %!!!,"$+'00e1>b`cdhhho{ruxz΄΄hɛɛVƭ`nn    q q ""'_*+u1 3 3389$<nCnCHRJ#MMtNQOuTuTY__fgl;r`}~~~~~~KK))22̅̅FQQ&yz&ĕD.g/{۶$.$$//  (""# J J `$(-S/|36;z??B`CJAPWe[e[kdkd3hj'kq z@{d~n2Շ֑WۢT0&&ҼҼ(C ,,| hhhddP%`'''...22&5Q7A9A9<>???AABBBCCEEEEEGkI.R]___``cccc`d`ds @@@@@@ @!@"@#@$@%@&@'@()*+,@-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     @@@@ !"#$%&'()*@+@,-./0123@456789:;<=>?@ABCDEF@G@HI@JKLMNOPQRSTU@V@WXY@Z@[@\@]@^@; ; J &  &!!!-"!$@'<0<01>bycdhhh pruxz݄݄xУ&kح l      Z"2#'*+1L3L33[89Z<uCCHrJHMMN]OTT#Y__fgmQrj}~~~~~~LL**33ͅͅPoo'zȑ8ӕI<x? @A99.6%%00  )##$ K K   %(b-}/36;??BCJNPWy[y[ddHh*j6kq9zP{w~Ml1lΩ:''ɺӼӼ    85%%n<MM $$qqqood%'''G.G.G.22?5v7[9[9<>@@@)A)ABBBCCEEEEEGIBR ](___``ccccadads!J$!J !J7"!J !J0"!Jt !Jt%!Ju!Jd !J !Jd !J !J!Jd !J !JL!J̳!JL!J!J !J^ !J !Jd !J< !J$= !J< !J4 !J 1"!J$g RR`88F(ϾL1aZ6Ps     \kkBQQ$33پV ;k#d@ Zs 8*urn:schemas-microsoft-com:office:smarttagsdateV*urn:schemas-microsoft-com:office:smarttagsplacehttp://www.5iantlavalamp.com/Z*urn:schemas-microsoft-com:office:smarttags PlaceTypehttp://www.5iantlavalamp.com/Z*urn:schemas-microsoft-com:office:smarttags PlaceNamehttp://www.5iantlavalamp.com/ 111121317192202006200722242526273303168DayMonthYear                      VfffsVfffs$9$`'' *-*//0&0S0t0_11#6C6p66|;;@@F8FrFFFFG;GiGGUfVffffffffffffffffffffffffffffffghhhhhjjjj kk'k(k=k>kll5m6mLmMmemfmanbnqqss$9$`'' *-*//0&0S0t0_11#6C6p66|;;@@F8FrFFFFG;GiGGUfVffffffffffffffffffffffffffffffffffffffffgggggggggggg'g'g(g(g2g2g3g3gKgKgLgghhhhhhhhhhhhhh"h"h#h#h1h1h2h2hChChDhDhIhIhJhJhUhUhVhVhehehfhfhuhuhvhvhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiii#i#i$i$i.i.i/i/iBiBiCiCiJiJiKiKi`i`iaiaiviviwiwiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii j jjj#j$j,j-j5j6j>j?jHjHj`j`jajajljljmjmjwjwjxjxjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj k k kkk'k(k(k)k/k0k=k>k>k?kRkSkekfkmknkrksk}k~kkkkkkkkkkkkkkkkkkk!l"l*l+l7l8lJlKlTlUlhlilolplxlylylllllllllllllllllllllllll m mmm!m!m"m"m(m(m)m)m.m.m/m/m6m6m7m7m;m;m/M1*p)jjj/=Ҧj}2y~flC / m#!D0!>0%8"[ *$,d]$tJ6&@SUf&N$>U&0)(p($`(`n,8/ E3A`y,681Y=8\i978fJ h0;  <ӂv>8u9>:Rd>znX"B6|N9BfJ 4suDfJ }EVC/:G>wJT~=VKB/+Mt49:O 3:RkPΎOPT%R7{T6{qUbVEV0eܸ<\X򜬿Y"^@Zl [̊v"HT]rc8`wh}+:a &k8qcgr?fcd~)ud&4d&7eD}V J~fT(g:r6ifJ uJjػ01j^o6p4$Q(~^tT7qu|P:wjgznL6,zp(2{:R)q}Lge}0)_~d~kLD1^`.88^8`.^`.^`.pp^p`.  ^ `.@ @ ^@ `.  ^ `.^`.^`OJQJ^`^`^`^`^`^`^`^`^`^`OJQJ% ^`OJQJ^Jpp^p`OJQJ%@ @ ^@ `OJQJ% ^`OJQJ^J^`OJQJ%^`OJQJ% ^`OJQJ^JPP^P`OJQJ%^`.^`CJOJQJ^JaJ%88^8`CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%pp^p`CJOJQJ^JaJ  ^ `CJOJQJ^JaJ%@ @ ^@ `CJOJQJ^JaJ%  ^ `CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%^`CJOJQJ^JaJpp^p`CJOJQJ^JaJ%@ @ ^@ `CJOJQJ^JaJ%^`CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%^`CJOJQJ^JaJPP^P`CJOJQJ^JaJ%^`CJOJQJ^JaJ%88^8`CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%pp^p`CJOJQJ^JaJ  ^ `CJOJQJ^JaJ%@ @ ^@ `CJOJQJ^JaJ%  ^ `CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%88^8`CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%pp^p`CJOJQJ^JaJ  ^ `CJOJQJ^JaJ%@ @ ^@ `CJOJQJ^JaJ%  ^ `CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%88^8`CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%pp^p`CJOJQJ^JaJ  ^ `CJOJQJ^JaJ%@ @ ^@ `CJOJQJ^JaJ%  ^ `CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%88^8`CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%pp^p`CJOJQJ^JaJ  ^ `CJOJQJ^JaJ%@ @ ^@ `CJOJQJ^JaJ%  ^ `CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%88^8`CJOJQJ^JaJ^`CJOJQJ^JaJ%^`CJOJQJ^JaJ%pp^p`CJOJQJ^JaJ  ^ `CJOJQJ^JaJ%@ @ ^@ `CJOJQJ^JaJ%  ^ `CJOJQJ^JaJ^`CJOJQJ^JaJ%^`^`^`^`^`^`^`^`^` :S^`:o(hH[] ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.^`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH^`OJQJo(hH#pp^p`56CJOJQJaJo(hH.@ @ ^@ `OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hHPP^P`OJQJ^Jo(hHo  ^ `OJQJo(hHh hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.^`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH^`OJQJo(hHpp^p`OJQJ^Jo(hHo@ @ ^@ `OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hHPP^P`OJQJ^Jo(hHo  ^ `OJQJo(hH^`OJQJo(hH^`^`^`^`^`^`^`^`h ^`hH.h pp^p`hH.h @ L@ ^@ `LhH.h ^`hH.h ^`hH.h L^`LhH.h ^`hH.h PP^P`hH.h  L ^ `LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.^`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH hh^h`o(--^-`o(.Z0Z^Z`0o(.. 0 ^ `0o(... LL^L`o( .... ^`o( ..... >`>^>``o( ...... `^``o(....... `^``o(........ ^`o(hH[] ^`hH. pLp^p`LhH. @ @ ^@ `o(hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.M^`Mo(M^`Mo(.0^`0>*o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... `^``o(........h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH. :^`:o(hH. ^`hH. L^`LhH.   ^ `hH.   ^ `hH. SLS^S`LhH. ##^#`hH. ^`hH. L^`LhH.h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.hyy^y`OJQJo(hHhII^I`OJQJ^Jo(hHoh  ^ `OJQJo(hHh  ^ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHhYY^Y`OJQJo(hHh))^)`OJQJ^Jo(hHoh^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH hh^h`o(--^-`o(.Z0Z^Z`0o(.. 0 ^ `0o(... LL^L`o( .... ^`o( ..... >`>^>``o( ...... `^``o(....... `^``o(........XX^X`OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH| | ^| `OJQJo(hHLL^L`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hHhh^h`o(hh^h`>*o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... `^``o(........h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.^`OJQJo(hH^`^`^`^`^`^`^`^` ^`o(hH[]TT^T`OJQJo(hH pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH. 88^8`o(hH. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.--^-`o(. ^`hH.  L ^ `LhH.   ^ `hH. mm^m`hH. =L=^=`LhH.   ^ `hH. ^`hH. L^`LhH.8 V^`Vo(hH[]8 ^`hH.8 pLp^p`LhH.8 @ @ ^@ `hH.8 ^`hH.8 L^`LhH.8 ^`hH.8 ^`hH.8 PLP^P`LhH.^`.hh^h`.^`.88^8`.^`.^`.pp^p`.  ^ `.@ @ ^@ `. :S^`:o(hH[] ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.M^`Mo(M^`Mo(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... `^``o(........ hh^h`o(hH. ^`o(hH. 88^8`o(hH. ^`o(hH. ^`o(hH. pp^p`o(hH.   ^ `o(hH. @ @ ^@ `o(hH.   ^ `o(hH. ^`o(hH[] ^`hH. pLp^p`LhH. @ @ ^@ `o(hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. ^`o(hH[] ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.8 V^`Vo(hH[]8 ^`hH.8 pLp^p`LhH.8 @ @ ^@ `hH.8 ^`hH.8 L^`LhH.8 ^`hH.8 ^`hH.8 PLP^P`LhH.h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.^`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH8 V^`Vo(hH[] ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. ^`o(hH. 88^8`o(hH. ^`o(hH. ^`o(hH. pp^p`o(hH.   ^ `o(hH. @ @ ^@ `o(hH.   ^ `o(hH. ^`o(hH. hh^h`o(hH. ^`o(hH.DocumentSummaryInformation8L`CompObj&j Oh+'0XV  0 < H T`hpxProject Reportroj Tom Clarkpoom Normalr Tom Clarkpo5m Microsoft Word 10.0@F#@}@}@L}pGTRt  W)   ."System $ 0p  -@"Tahoma- 12 T University of St. Andrews6.),%)..2..,>% 2  o.@Times New Roman- 2 # o 2 <# o 2 # o ,)A 6Q(@@###### ## ## ## ## ## ##                                                   '' 2  o 2 *# o-"2  A Survival Game2..)),7,F, 2 P o.- 2 # o 2 _# o 2 # o-2 & by.) 2 &N o.2 h  Tom Clark0-F2,) 2  o.- 2 +# o 2 z# o-2 A  Supervisors:...,)%-% 2  o.@"Tahoma-2 p   Colin Allison# #  2 p  o!%2 7 Tristan Henderson"  '  2  o!- 2 3 # o 2 # o-2 M  17/04/2007-- .- .-.- 2  o.@Times New Roman--                           7496_Toc1637317486_Toc1637317476_Toc1637317466_Toc1637317456_Toc1637317443_Toc1635554563_Toc1635554553_Toc1635554543_Toc1635554533_Toc1635554523|_Toc1635554513v_Toc1635554503p_Toc163555449WYk%http://dn.codegear.com/article/31863oh?http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.html.Qe8http://www.enterbrain.co.jp/tkool/RPG_XP/eng/index.htmlDb%http://game-research.com/?page_id=33pb_3http://jcmc.indiana.edu/vol11/issue4/hartmann.htmlV\!http://www.gamestudies.org/0501/DYIhttp://www.internetbookshop.it/ame/ser/serdsp.asp?shop=2293&e=1933097000CV-http://www.paraglyphpress.com/pr12062005.phpBSS6http://greggman.com/edit/editheadlines/2005-02-12.htmx1P8http://www.igda.org/Forums/showthread.php?threadid=1534TM1http://www.omlettesoft.com/document.php3?did=1087jJ4http://www.tale-of-tales.com/DramaPrincess/wp/?p=17q*Ghttp://www.amazon.co.uk/Rules-Play-Game-Design-Fundamentals/dp/0262240459/sr=1-1/qid=1161366626/ref=sr_1_1/026-6976647-0885206?ie=UTF8&s=books8|D8http://friendlymedia.sbrl.rpi.edu/bettergamecharacters/kA=http://www.gamasutra.com/features/20060602/isbister_01.shtml4_Toc1627611144 _Toc1627611134_Toc1627611124_Toc1627611114_Toc1627611104_Toc1627611094՜.+,D՜.+, P hp|   6+d DProject Report Abstract Declaration Contents1. Introduction 1.1 The created game$ 1.2 How the problem was solved( 1.3 Success in solving the problem2. Project Details 2.1 Main ideas of design5 2.1.1 Allow the player to do what they want 2.1.2 Why zombies 2.1.3 No guns. 2.1.4 Allow players to make mistakes 2.1.5 Top down view! 2.2 Unusual design features 2.2.1 Fear 2.2.2 Graphics 2.2.3 Stat icons! 2.2.4 Dual purpose wood 2.2.5 Stat bars% 2.2.6 Safe and unsafe areas$ 2.2.7 Progressive learning- 2.2.8 No examine function for items 2.3 Novel features 2.3.1 In-game help 2.3.2 Levels as areas 2.3.3 The minimap 2.4 Special Algorithms 2.4.1 AI of survivors 2.4.2 AI of Rot& 2.5 Odd implementation decisions 2.5.1 Walls 2.5.2 Invisible zones 2.5.3 Picking up items 2.5.4 Error Handling2 2.6 Other important decisions in the project% 2.6.1 The use of Game Maker/ 2.6.2 Involving separate game testers- 2.6.3 The use of UML in game design%3. Evaluation and critical appraisal@ 3.1 Evaluation with respect to the main project objectivesI 3.1.1 Computer game development as a branch of Computer Science8 3.1.2 Applying Software Engineering techniquesH 3.1.3 Conclusion on the use of Software Engineering techniques 3.1.4 Originality! 3.1.3 Required hardwareG 3.2 Evaluation of the created game with respect to its objectives? 3.2.1 Allowing a user to control and move a characterE 3.2.2 Computer-controlled characters and their intelligence 3.2.3 In-game items? 3.2.4 Education of survival techniques and complexity) 3.2.5 Saving and loading a game 3.2.6 Endings) 3.2.7 Story based upon survival. 3.2.8 Involvement of strong language0 3.2.9 Involvement of violence and gore5 3.3 How my work compares to that done by others 3.3.1 Death/ 3.3.2 Digital Rights Management (DRM) 3.3.3 Length4. Conclusion 4.1 Summary of work done. 4.2 Strengths and weaknesses of the game 4.2.1 Strengths 4.2.2 Weaknesses 4.3 Future directions References Title HeadingsCT 8@ _PID_HLINKSApTd6http://forums.gamemaker.nl/index.php?showtopic=130501I\!http://www.freewebs.com/zer0mus/q/http://www.tahnokgames.com/http://www.gamemaker.nl/w/http://en.wikipedia.org/wiki/Patch_(computing)p>http://forums.gamemaker.nl/http://www.gamemaker.nl/3_Toc1635564743_Toc1635564733_Toc1635564723_Toc1635564713_Toc163556470o?http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.html69_Toc16373176963_Toc1637317686-_Toc1637317676'_Toc1637317666!_Toc1637317656_Toc1637317646_Toc1637317636_Toc1637317626 _Toc1637317616_Toc1637317606_Toc1637317596_Toc1637317586_Toc1637317576_Toc1637317566_Toc1637317556_Toc1637317546_Toc1637317536_Toc1637317526_Toc1637317516_Toc1637317506_Toc163731_Toc1627611084_Toc1627611074_Toc1627611064_Toc1627611054_Toc1627611044_Toc1627611034_Toc1627611024_Toc1627611014_Toc1627611005_Toc1627610995_Toc1627610985_Toc1627610975_Toc1627610965_Toc1627610955_Toc1627610945_Toc1627610935_Toc1627610925_Toc1627610915_Toc1627610905}_Toc1627610895w_Toc1627610885q_Toc1627610875k_Toc1627610865e_Toc1627610855__Toc1627610845Y_Toc1627610835S_Toc1627610825M_Toc1627610815G_Toc1627610805A_Toc1627610795;_Toc16276107855_Toc1627610775/_Toc1627610765)_Toc1627610755#_Toc1627610745_Toc1627610735_Toc1627610725_Toc1627610715 _Toc162761070N>http://lab-cs3.dcs.st-and.ac.uk/~jh20051/Website/Xchange.htmlA2http://news.bbc.co.uk/2/hi/technology/2583697.stmT<http://en.wikipedia.org/wiki/Computer_and_video_game_genreshttp://www.gamemaker.nl/n'http://www.gamemaker.nl/games_exe.html0`/http://www.cs.uu.nl/docs/vakken/gds/games.html7_Toc1615720467_Toc1615720457_Toc1615720447_Toc1615720437_Toc1615720427_Toc1615720417_Toc1615720407_Toc1615720397_Toc1615720387_Toc1615720377_Toc1615720367_Toc1615720357_Toc1615720347_Toc1615720337_Toc1615720327_Toc1615720317_Toc1615720307_Toc1615720297{_Toc1615720287u_Toc1615720277o_Toc1615720267i_Toc1615720257c_Toc1615720247]_Toc1615720237W_Toc1615720227Q_Toc1615720217K_Toc1615720207E_Toc1615720197?_Toc16157201879_Toc161572017(U4.http://en.wikipedia.org/wiki/Game_programming MaintenanceIE1.http://www.ifwiki.org/index.php/ReplayabilityN.>http://lab-cs3.dcs.st-and.ac.uk/~jh20051/Website/Xchange.html `+<http://www.gamasutra.com/features/20070103/sanchez_01.shtmlh`('http://5years.doomworld.com/doombible/%9http://web.cs.wpi.edu/~claypool/papers/game-se/paper.pdfZ"-http://www.ploob.com/2006/07/07/drm-in-games+33http://www.kuro5hin.org/story/2003/9/13/03945/7308N7http://en.wikipedia.org/wiki/Digital_Rights_ManagementZ"http://en.wikipedia.org/wiki/DoomO{Bhttp://www.gamedev.net/community/forums/topic.asp?topic_id=357428\http://www.yoyogames.com/                          ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a http://www.gamemaker.nl/T <http://en.wikipedia.org/wiki/Computer_and_video_game_genreso ?http://uk.geocities.com/tdc1@btinternet.com/Hunger/Hunger.html6_Toc1637327646_Toc1637327636_Toc1637327626_Toc1637327616_Toc1637327606_Toc1637327596_Toc1637327586_Toc1637327576|_Toc1637327566v_Toc1637327556p_Toc1637327546j_Toc1637327536d_Toc1637327526^_Toc1637327516X_Toc1637327506R_Toc1637327496L_Toc1637327486F_Toc1637327476@_Toc1637327466:_Toc16373274564_Toc1637327446._Toc1637327436(_Toc1637327426"_Toc1637327416_Toc1637327406_Toc1637327396_Toc1637327386 _Toc1637327376_Toc1637327366_Toc1637327356_Toc1637327346_Toc1637327336_Toc1637327326_Toc1637327316_Toc1637327306_Toc1637327296_Toc1637327286_Toc1637327276_Toc1637327266_Toc1637327256_Toc1637327246_Toc1637327236_Toc1637327226_Toc1637327216_Toc1637327206_Toc1637327196_Toc1637327186_Toc1637327176_Toc1637327166_Toc1637327156_Toc1637327146z_Toc1637327136t_Toc1637327126n_Toc1637327116h_Toc1637327106b_Toc1637327096\_Toc1637327086V_Toc1637327076P_Toc1637327066J_Toc1637327056D_Toc1637327046>_Toc16373270368_Toc16373270262_Toc1637327016,_Toc1637327007&_Toc1637326997 _Toc1637326987_Toc1637326977_Toc1637326967_Toc1637326957_Toc1637326947_Toc163732693 88^8`o(hH. ^`o(hH. ^`o(hH. pp^p`o(hH.   ^ `o(hH. @ @ ^@ `o(hH.   ^ `o(hH.h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.^`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH^`o() ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH. ^`o(hH[] ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.h   ^ `hH.h ^`hH.h L^`LhH.h | | ^| `hH.h LL^L`hH.h L^`LhH.h ^`hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH. S:S^S`:o(hH. T ^`o(hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.8 V^`Vo(hH[] ^`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#hh^h`56CJOJQJaJo(hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h ^`hH.--^-`o(.0^`0o(..O0O^O`0o(...   ^ `o( .... q q ^q `o( ..... 6`6^6``o( ...... `^``o(....... `^``o(........h#^`56CJOJQJaJo(hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH. 77^7`o(hH[] ^`hH. L^`LhH. z z ^z `hH. J J ^J `hH. L^`LhH. ^`hH. ^`hH. L^`LhH.^`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hHhh^h`o(hh^h`o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... `^``o(........h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.z^`zo(z^`z>*o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... `^``o(........h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.h hh^h`hH.h ^`hH.h L^`LhH.h pp^p`hH.h @ @ ^@ `hH.h L^`LhH.h ^`hH.h ^`hH.h L^`LhH. hh^h`o(--^-`o(.Z0Z^Z`0o(.. 0 ^ `0o(... LL^L`o( .... ^`o( ..... >`>^>``o( ...... `^``o(....... `^``o(........^`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH hh^h`o(hH. ^`o(hH. 88^8`o(hH. ^`o(hH. ^`o(hH. pp^p`o(hH.   ^ `o(hH. @ @ ^@ `o(hH.   ^ `o(hH.--^-`o(. ^`hH.  L ^ `LhH.   ^ `hH. mm^m`hH. =L=^=`LhH.   ^ `hH. ^`hH. L^`LhH.h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.h ^`o(hH)h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH. hh^h`o(hH. P^`Po(hH4. ^`o(hH2.1 x^`xo(hH1.3.3.1  ^`o(hH .....  X@ ^ `Xo(hH ......  ^ `o(hH.......  8x^`8o(hH........  `H^``o(hH.........h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH. ^`o(hH[] ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. 88^8`o(hH. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH. S:S^S`:o(hH. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.^`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hHhh^h`o(hh^h`o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... `^``o(........h^`OJPJQJ^Jo(hH-h^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH. ^`o(hH[] ^`o(hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH._m#!OP *$_~ge}01jh0;Y=81*YwJVK [MHT] u9 lC U&9:O$`(uJj{TnX"Bv>n, E3{qUSUf&6,z0)(%R= <2{u9>}0!J~f9y,6~d>J k)ud/:G|%8"&7ep)/|N9B97814suDifcd8`(~^tp /+M(g}E@ZVEV6&0 0`^)q}+:a/ u :RkPqusk;8qc<\Xd]$jgz6p_WW8Num1WW8Num2WW8Num4WW8Num29WW8Num5WW8Num52_         v        v kL                v        v        v                  v        @                 ֪                          v        v                 v@v                0        F                 @        @        z        v                 v                @                                   ֪       z        @         kL                           kL        @        v                                            v        z3m                 (>                 @        ޘ                 ֪        v        x@B<                 @        CB b6| 2FV\GTjy)WZ"j0T'(>o O7Pq!zxH   t+ X l ,. / 0 6 N $v @KEWl#KLLr~!S#Bkj;U/iNOYhk;iJqU~CQ~':DZ[3q=.B\jy[kkar!1?$KY e<]`h"I8L7_A$4 G } 9 !$!Q"'"K"8$P$a$9%RL%Qv%S4&;&Ja&C'?'m'}'(h ( (<(h*[)*D*D*!G*V* +D+<+h+Xw+K,h,$-R-!c.//-"/_/Y70@0H0!X0r01@1V1m12[2]2~y3E46>??,?kW?|?p1@)?@L@WS@`@ A>A7 AE;A?AZBBB'BaCx>CfCD.Ek;EfCE/OEmE}F;F}FGA2GDH[fHI!IJ77J?:JMJMJ#KdKeK.LOLkjLqLML#M1MBNM#NVNtN|NEOROaOPRP%PpP}P QZQR RRU`H`6o`o`a*aWaIbKb4ubzb|b>c dgn7h7h5;hJhb0i&>i?i_ij:j)1j\4jlkkH k&k?ikPl{liam lmsn*oKoASoUoCpfppmpU}pqq]q r rCr%r,dr]tr ss'sFsTshestOtK]tVu[uF!v=x xxT*x~xsxy(%y`ybyvy{wy5zhnz{ {5#{/9{Z{&|7|9|<|k|E}x`}Na}~~.~]~|~:z#CpH57e -h8fhLXu #(u&Af7_@g#+FX~["cr{s\f}L$=bgOJg[hL/COs1_!HQt?GB\? Pci$26BUjR=VRZ?$&-HY`^ N#KMeioI^~NOW#B=yz"7D nuF`*^3P3~ /KQz{w$K c}i*  ?v85WA(pG~"9UntqrDSnp%'P%k,|'2$RI"[\[ ,8@oo"tF~JVH`u$XS,:C P|8;z 5N0E"YY]3Wi Zi\4pxQ &Io|r2;]f}t"+L&MZn-w FXi[Mo8j[#c&tak{`%s%(9s)O\yp=LOa+alDqmMPx Jq;#S"PaAB{?Bf 7RXZPnFo)&Yac&Ucu^gp<HG}6 A@L[\ bQ:>.p,DE?*D+oCW0dh (FIGSb2ixnK0@mS+*>?p &87:GH?Kb:ef$2\ckmn 8]),/Ud%Z/89:xG]u-/fm56  #G(B`S?OSlKq,w3=z>l@;JLDup~0^gEh6!g3DA1Q0SAr}?5NOPUY^_k )*4hqr{>GHT'01:W`am !"#$%&'()+,ABCDEFGHIJKLMNOPQRSTUVWYZopqrstuvwxyz{|}~    78:<=>KLMNOQRrstuvxy     '()*+,-./0123456789;<^_`abcdefghijklmnoprs N N!N&N2N3N;N@NeNfNNNNNNNNNOPFQKQXQdQeQlQqQRRRRpSqSxS|SSSSS^T_TdThTTVUV[V`VVVz[\\\\\\\\\]]]]]=]?]@]H]g]i]j]t]]^^^^qbrbQ{|(|/|0|9|K|L|V|t|u|}|||||||!}"}x~~~~~ ?@Jabl#$8QR\z{̖і qrslmO*6=>OۜܜTmrΧӧ78elڨۨ8<ϩ "#/0'1ξϾھKLW 01<`al$YZe56A!OP[pq|IJUS156=6PTU:>?VY  6;BR`jk7`@$()qA&+2BPZ[J vEIJnRVWm@  !5:;ACDRSsuv  !"478CXYimnrx%9ablabCsQQK N Zcy/|WAq3O)DoyK@s@@Unknown Gz Times New Roman5Symbol3& z ArialO& k9?Lucida Sans Unicode?5 z Courier New;Wingdings5& zaTahoma_ StarSymbolArial Unicode MS?Wingdings 2K@Palatino LinotypeBhqcrcqcp+p+!r4ddd 3QH@fProject Report Tom Clark Tom Clark_                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^