GNU GENERAL PUBLIC LICENSEVersion 2, June 1991Copyright (C) 1989, 1991 Free Software Foundation, Inc.51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USAEveryone is permitted to copy and distribute verbatim copies of this licensedocument, but changing it is not allowed.PreambleThe licenses for most software are designed to take away your freedom to shareand change it. By contrast, the GNU General Public License is intended toguarantee your freedom to share and change free software--to make sure thesoftware is free for all its users. This General Public License applies tomost of the Free Software Foundation's software and to any other program whoseauthors commit to using it. (Some other Free Software Foundation softwareis covered by the GNU Lesser General Public License instead.) You can applyit to your programs, too.When we speak of free software, we are referring to freedom, not price. OurGeneral Public Licenses are designed to make sure that you have the freedomto distribute copies of free software (and charge for this service if youwish), that you receive source code or can get it if you want it, that youcan change the software or use pieces of it in new free programs; and thatyou know you can do these things.To protect your rights, we need to make restrictions that forbid anyone todeny you these rights or to ask you to surrender the rights. These restrictionstranslate to certain responsibilities for you if you distribute copies ofthe software, or if you modify it.For example, if you distribute copies of such a program, whether gratis orfor a fee, you must give the recipients all the rights that you have. Youmust make sure that they, too, receive or can get the source code. And youmust show them these terms so they know their rights.We protect your rights with two steps: (1) copyright the software, and (2)offer you this license which gives you legal permission to copy, distributeand/or modify the software.Also, for each author's protection and ours, we want to make certain thateveryone understands that there is no warranty for this free software. Ifthe software is modified by someone else and passed on, we want its recipientsto know that what they have is not the original, so that any problems introducedby others will not reflect on the original authors' reputations.Finally, any free program is threatened constantly by software patents. Wewish to avoid the danger that redistributors of a free program will individuallyobtain patent licenses, in effect making the program proprietary. To preventthis, we have made it clear that any patent must be licensed for everyone'sfree use or not licensed at all.The precise terms and conditions for copying, distribution and modificationfollow.TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION0. This License applies to any program or other work which contains a noticeplaced by the copyright holder saying it may be distributed under the termsof this General Public License. The "Program", below, refers to any such programor work, and a "work based on the Program" means either the Program or anyderivative work under copyright law: that is to say, a work containing theProgram or a portion of it, either verbatim or with modifications and/or translatedinto another language. (Hereinafter, translation is included without limitationin the term "modification".) Each licensee is addressed as "you".Activities other than copying, distribution and modification are not coveredby this License; they are outside its scope. The act of running the Programis not restricted, and the output from the Program is covered only if itscontents constitute a work based on the Program (independent of having beenmade by running the Program). Whether that is true depends on what the Programdoes.1. You may copy and distribute verbatim copies of the Program's source codeas you receive it, in any medium, provided that you conspicuously and appropriatelypublish on each copy an appropriate copyright notice and disclaimer of warranty;keep intact all the notices that refer to this License and to the absenceof any warranty; and give any other recipients of the Program a copy of thisLicense along with the Program.You may charge a fee for the physical act of transferring a copy, and youmay at your option offer warranty protection in exchange for a fee.2. You may modify your copy or copies of the Program or any portion of it,thus forming a work based on the Program, and copy and distribute such modificationsor work under the terms of Section 1 above, provided that you also meet allof these conditions:a) You must cause the modified files to carry prominent notices stating thatyou changed the files and the date of any change.b) You must cause any work that you distribute or publish, that in whole orin part contains or is derived from the Program or any part thereof, to belicensed as a whole at no charge to all third parties under the terms of thisLicense.c) If the modified program normally reads commands interactively when run,you must cause it, when started running for such interactive use in the mostordinary way, to print or display an announcement including an appropriatecopyright notice and a notice that there is no warranty (or else, saying thatyou provide a warranty) and that users may redistribute the program underthese conditions, and telling the user how to view a copy of this License.(Exception: if the Program itself is interactive but does not normally printsuch an announcement, your work based on the Program is not required to printan announcement.)These requirements apply to the modified work as a whole. If identifiablesections of that work are not derived from the Program, and can be reasonablyconsidered independent and separate works in themselves, then this License,and its terms, do not apply to those sections when you distribute them asseparate works. But when you distribute the same sections as part of a wholewhich is a work based on the Program, the distribution of the whole must beon the terms of this License, whose permissions for other licensees extendto the entire whole, and thus to each and every part regardless of who wroteit.Thus, it is not the intent of this section to claim rights or contest yourrights to work written entirely by you; rather, the intent is to exercisethe right to control the distribution of derivative or collective works basedon the Program.In addition, mere aggregation of another work not based on the Program withthe Program (or with a work based on the Program) on a volume of a storageor distribution medium does not bring the other work under the scope of thisLicense.3. You may copy and distribute the Program (or a work based on it, under Section2) in object code or executable form under the terms of Sections 1 and 2 aboveprovided that you also do one of the following:a) Accompany it with the complete corresponding machine-readable source code,which must be distributed under the terms of Sections 1 and 2 above on a mediumcustomarily used for software interchange; or,b) Accompany it with a written offer, valid for at least three years, to giveany third party, for a charge no more than your cost of physically performingsource distribution, a complete machine-readable copy of the correspondingsource code, to be distributed under the terms of Sections 1 and 2 above ona medium customarily used for software interchange; or,c) Accompany it with the information you received as to the offer to distributecorresponding source code. (This alternative is allowed only for noncommercialdistribution and only if you received the program in object code or executableform with such an offer, in accord with Subsection b above.)The source code for a work means the preferred form of the work for makingmodifications to it. For an executable work, complete source code means allthe source code for all modules it contains, plus any associated interfacedefinition files, plus the scripts used to control compilation and installationof the executable. However, as a special exception, the source code distributedneed not include anything that is normally distributed (in either source orbinary form) with the major components (compiler, kernel, and so on) of theoperating system on which the executable runs, unless that component itselfaccompanies the executable.If distribution of executable or object code is made by offering access tocopy from a designated place, then offering equivalent access to copy thesource code from the same place counts as distribution of the source code,even though third parties are not compelled to copy the source along withthe object code.4. You may not copy, modify, sublicense, or distribute the Program exceptas expressly provided under this License. Any attempt otherwise to copy, modify,sublicense or distribute the Program is void, and will automatically terminateyour rights under this License. However, parties who have received copies,or rights, from you under this License will not have their licenses terminatedso long as such parties remain in full compliance.5. You are not required to accept this License, since you have not signedit. However, nothing else grants you permission to modify or distribute theProgram or its derivative works. These actions are prohibited by law if youdo not accept this License. Therefore, by modifying or distributing the Program(or any work based on the Program), you indicate your acceptance of this Licenseto do so, and all its terms and conditions for copying, distributing or modifyingthe Program or works based on it.6. Each time you redistribute the Program (or any work based on the Program),the recipient automatically receives a license from the original licensorto copy, distribute or modify the Program subject to these terms and conditions.You may not impose any further restrictions on the recipients' exercise ofthe rights granted herein. You are not responsible for enforcing complianceby third parties to this License.7. If, as a consequence of a court judgment or allegation of patent infringementor for any other reason (not limited to patent issues), conditions are imposedon you (whether by court order, agreement or otherwise) that contradict theconditions of this License, they do not excuse you from the conditions ofthis License. If you cannot distribute so as to satisfy simultaneously yourobligations under this License and any other pertinent obligations, then asa consequence you may not distribute the Program at all. For example, if apatent license would not permit royalty-free redistribution of the Programby all those who receive copies directly or indirectly through you, then theonly way you could satisfy both it and this License would be to refrain entirelyfrom distribution of the Program.If any portion of this section is held invalid or unenforceable under anyparticular circumstance, the balance of the section is intended to apply andthe section as a whole is intended to apply in other circumstances.It is not the purpose of this section to induce you to infringe any patentsor other property right claims or to contest validity of any such claims;this section has the sole purpose of protecting the integrity of the freesoftware distribution system, which is implemented by public license practices.Many people have made generous contributions to the wide range of softwaredistributed through that system in reliance on consistent application of thatsystem; it is up to the author/donor to decide if he or she is willing todistribute software through any other system and a licensee cannot imposethat choice.This section is intended to make thoroughly clear what is believed to be aconsequence of the rest of this License.8. If the distribution and/or use of the Program is restricted in certaincountries either by patents or by copyrighted interfaces, the original copyrightholder who places the Program under this License may add an explicit geographicaldistribution limitation excluding those countries, so that distribution ispermitted only in or among countries not thus excluded. In such case, thisLicense incorporates the limitation as if written in the body of this License.9. The Free Software Foundation may publish revised and/or new versions ofthe General Public License from time to time. Such new versions will be similarin spirit to the present version, but may differ in detail to address newproblems or concerns.Each version is given a distinguishing version number. If the Program specifiesa version number of this License which applies to it and "any later version",you have the option of following the terms and conditions either of that versionor of any later version published by the Free Software Foundation. If theProgram does not specify a version number of this License, you may chooseany version ever published by the Free Software Foundation.10. If you wish to incorporate parts of the Program into other free programswhose distribution conditions are different, write to the author to ask forpermission. For software which is copyrighted by the Free Software Foundation,write to the Free Software Foundation; we sometimes make exceptions for this.Our decision will be guided by the two goals of preserving the free statusof all derivatives of our free software and of promoting the sharing and reuseof software generally.NO WARRANTY11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FORTHE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISESTATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESSFOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCEOF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUMETHE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITINGWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTETHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANYGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USEOR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATAOR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIESOR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCHHOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.END OF TERMS AND CONDITIONSHow to Apply These Terms to Your New ProgramsIf you develop a new program, and you want it to be of the greatest possibleuse to the public, the best way to achieve this is to make it free softwarewhich everyone can redistribute and change under these terms.To do so, attach the following notices to the program. It is safest to attachthem to the start of each source file to most effectively convey the exclusionof warranty; and each file should have at least the "copyright" line and apointer to where the full notice is found.one line to give the program's name and an idea of what it does. Copyright(C) yyyy name of authorThis program is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the Free SoftwareFoundation; either version 2 of the License, or (at your option) any laterversion.This program is distributed in the hope that it will be useful, but WITHOUTANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESSFOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along withthis program; if not, write to the Free Software Foundation, Inc., 51 FranklinStreet, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on howto contact you by electronic and paper mail.If the program is interactive, make it output a short notice like this whenit starts in an interactive mode:Gnomovision version 69, Copyright (C) year name of author Gnomovision comeswith ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software,and you are welcome to redistribute it under certain conditions; type `showc' for details.The hypothetical commands `show w' and `show c' should show the appropriateparts of the General Public License. Of course, the commands you use may becalled something other than `show w' and `show c'; they could even be mouse-clicksor menu items--whatever suits your program.You should also get your employer (if you work as a programmer) or your school,if any, to sign a "copyright disclaimer" for the program, if necessary. Hereis a sample; alter the names:Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision'(which makes passes at compilers) written by James Hacker.signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice