From 147e155d52c7049f69fd569ba053490f9495d529 Mon Sep 17 00:00:00 2001 From: dewdude Date: Mon, 29 Oct 2018 15:41:46 -0400 Subject: [PATCH] Initial C64 Commit --- LICENSE | 674 ++++++++++++++++++++++++++++++++++++++++ drugwar64.bas | 765 +++++++++++++++++++++++++++++++++++++++++++++ drugwar64.baz | 836 ++++++++++++++++++++++++++++++++++++++++++++++++++ drugwar64.d64 | Bin 0 -> 174848 bytes drugwar64.zip | Bin 0 -> 35157 bytes readme.md | 799 +++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 3074 insertions(+) create mode 100644 LICENSE create mode 100644 drugwar64.bas create mode 100644 drugwar64.baz create mode 100644 drugwar64.d64 create mode 100644 drugwar64.zip create mode 100644 readme.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d199723 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED 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 FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + Drugwar2e + Copyright (C) 2018 Jay Moore + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR 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 with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Drugwar2e Copyright (C) 2018 Jay Moore + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/drugwar64.bas b/drugwar64.bas new file mode 100644 index 0000000..6294757 --- /dev/null +++ b/drugwar64.bas @@ -0,0 +1,765 @@ +10 rem drugwar64v101.bas - 29/10/2018 - 04h45 +20 rem drugwar/64 - version 1.01 +30 rem codebase: drugwar//e 1.03 +40 rem ported by: jay moore +50 rem "damn that was annoying" +60 rem 28-oct-2018 +70 rem copyright 2018 jay moore +80 rem released under gpl v3 +90 rem drugwar2e.sourceforge.io +100 rem twitter: _nq4t +110 poke 646,1 : poke 53281,0 : poke 53280,0 +120 rv=1.01 +130 goto 6960 +140 rem->titlebar +150 poke 214,0:poke 211,14:sys 58640 : ?"drugwar/64" +160 print chr$(18)" " +170 return +180 rem->wait +190 print +200 input "press enter to continue.";x$ +210 return +220 rem->twofifteen +230 poke 214,1 : poke 211,14:sys 58640 +240 return +250 rem->twosixteen +260 poke 214,1:poke 211,15:sys 58640 +270 return +280 rem->twoseventeen +290 poke 214,1:poke 211,16:sys 58640 +300 return +310 rem->twoeighteen +320 poke 214,1: poke 211,17:sys 58640 +330 return +340 rem->twonineteen +350 poke 214,1:poke 211,18:sys 58640 +360 return +370 rem->jetalthere +380 gosub 350:print chr$(18)"jet" +390 return +400 rem->timera +410 for j = 1 to 2500 +420 next j +430 k = int(rnd(2)+.5) +440 return +450 rem->timerb +460 for j = 1 to 1000 +470 next j +480 return +490 rem->timerc +500 for j = 1 to 2000 +510 next j +520 return +530 rem->howmuchbuy +540 print "you can afford ";j +550 print "you can carry ";f +560 rem->howmanybuy +570 print +580 input "how many? (enter 0 cancel): ";k +590 if k=0 goto 1200 +600 if k>f then print chr$(18)"you can't carry that much!" : goto 570 +610 if k>j then print chr$(18)"you can't afford that much!" : goto 570 +620 return +630 rem->howmuchsell +640 print "you can sell: ";j +650 print +660 rem->howmanysell +670 input "how many? (enter 0 to cancel.): ";k +680 if k>j then print "you don't have that many!" : goto 670 +690 if k=0 goto 1200 +700 return +710 rem->freespace +720 f=i-((g*5)+m+n+o+u+t+q) +730 return +740 rem->chase +750 gosub 230: print chr$(18)"being chased" +760 return +770 rem->gmod +780 gosub 260:print chr$(18)"game over" +790 return +800 rem->bronxcheck +810 if p$ = "the bronx" then return +820 print "you need to head to the bronx" +830 print "to take care of this business." +840 gosub 500 +850 goto 1200 +860 rem->daily +870 c=int(rnd(5)*12000+16000.5) +880 h=int(rnd(5)*7000+5000.5) +890 a=int((rnd(5)*34+10)*100+.5) +900 z=int((rnd(5)*42+33)*10+.5) +910 s=int((rnd(5)*15+7)*10+.5) +920 l=int((rnd(5)*4+1)*10+.5) +930 b=int(rnd(5)*20+.5) +940 d=d+1 +950 rem->checkday +960 if d >= 31 goto 7400 +970 return +980 rem->scorecalculate +990 k=(w+e)-v +1000 if k<0 then k=0 : return +1010 k=int(sqr((k/31.5)+.5)) +1020 if k>100 then k=100 +1030 return +1040 rem->gamestart +1050 w=2000 +1060 e=0 +1070 v=5000 +1080 p$="the bronx" +1090 g=0 +1100 i=100 +1110 m=0 +1120 n=0 +1130 o=0 +1140 u=0 +1150 t=0 +1160 q=0 +1170 gosub 870 +1180 goto 1200 +1190 rem->menu +1200 print chr$(147) +1210 gosub 720 +1220 gosub 150 +1230 poke 214,1:poke 211,3:sys 58640:print chr$(18)"day: "d +1240 poke 214,1:poke 211,17:sys 58640:print chr$(18)"location: "p$ +1250 print +1260 print "(c)heck prices" +1270 print "(t)renchcoat" +1280 print "(b)uy" +1290 print "(s)ell" +1300 print "(j)et" +1310 print "see (l)oan shark" +1320 print "(v)isit bank" +1330 print +1340 input "please make your selection: ";x$ +1350 if x$ = "c" goto 1440 +1360 if x$ = "t" goto 1580 +1370 if x$ = "b" goto 1720 +1380 if x$ = "s" goto 1930 +1390 if x$ = "j" goto 2170 +1400 if x$ = "l" goto 2420 +1410 if x$ = "v" goto 2560 +1420 goto 1200 +1430 rem->prices +1440 print chr$(147) +1450 gosub 150 +1460 gosub 320:print chr$(18)"prices" +1470 print +1480 print"cocaine:","$"c +1490 print"heroin:","$"h +1500 print"acid:","$"a +1510 print"weed:","$"z +1520 print"speed:","$"s +1530 print"ludes:","$"l +1540 print"wallet:","$"w +1550 gosub 190 +1560 goto 1200 +1570 rem->inventory +1580 print chr$(147) +1590 gosub 150 +1600 gosub 260 :print chr$(18)"trenchcoat" +1610 print +1620 print"cocaine:",m +1630 print"heroin:",n +1640 print"acid:",o +1650 print"weed:",u +1660 print"speed:",t +1670 print"ludes:",q +1680 print"free space:",f +1690 gosub 190 +1700 goto 1200 +1710 rem->buy +1720 print chr$(147) +1730 gosub 150 +1740 gosub 350: print chr$(18)"buy" +1750 print +1760 print"what do you want to buy?" +1770 print +1780 print "(c)ocaine" +1790 print "(h)eroin" +1800 print "(a)cid" +1810 print "(w)eed" +1820 print "(s)peed" +1830 print "(l)udes" +1840 input "enter selection: ";x$ +1850 if x$="c" goto 2700 +1860 if x$="h" goto 2790 +1870 if x$="a" goto 2880 +1880 if x$="w" goto 2970 +1890 if x$="s" goto 3060 +1900 if x$="l" goto 3150 +1910 goto 1200 +1920 rem->sell +1930 print chr$(147) +1940 gosub 150 +1950 gosub 320: print chr$(18)"sell" +1960 print +1970 print "what would you like to sell?" +1980 print +1990 print "(c)ocaine" +2000 print "(h)eroin" +2010 print "(a)cid" +2020 print "(w)eed" +2030 print "(s)peed" +2040 print "(l)udes" +2050 rem->sellsel +2060 input "enter selection: (0 to cancel)";x$ +2070 if x$="c" goto 3240 +2080 if x$="h" goto 3340 +2090 if x$="a" goto 3440 +2100 if x$="w" goto 3540 +2110 if x$="s" goto 3640 +2120 if x$="l" goto 3740 +2130 if x$="0" goto 1200 +2140 print "invalid selection!" +2150 goto 2060 +2160 rem->jet +2170 print chr$(147) +2180 gosub 150 +2190 gosub 380 +2200 print +2210 print "(b)ronx" +2220 print "(g)hetto" +2230 print "(c)entral park +2240 print "(m)anhattan" +2250 print "coney (i)sland" +2260 print "broo(k)lyn" +2270 print "(o)ops...stay!" +2280 input "where to dude? ";x$ +2290 if x$="b" then y$ = "the bronx" : goto 2380 +2300 if x$="g" then y$ = "the ghetto" : goto 2380 +2310 if x$="c" then y$ = "central park" : goto 2380 +2320 if x$="m" then y$ = "manhattan" : goto 2380 +2330 if x$="i" then y$ = "coney island" : goto 2380 +2340 if x$="k" then y$ = "brooklyn" : goto 2380 +2350 if x$="o" then goto 1200 +2360 goto 2170 +2370 rem->jetb +2380 if y$=p$ then goto 3840 +2390 p$ = y$ : y$ = "" +2400 goto 3930 +2410 rem->loan +2420 print chr$(147) +2430 gosub 150 +2440 gosub 260:print chr$(18)"loan shark" +2450 print +2460 gosub 810 +2470 print "your debt is: $";v +2480 print "you have: $";w +2490 print +2500 input "(r)epay, (b)orrow, (l)eave: ";x$ +2510 if x$ = "r" then goto 6540 +2520 if x$ = "b" then goto 6630 +2530 if x$ = "l" then goto 1200 +2540 goto 2420 +2550 rem->bank +2560 print chr$(147) +2570 gosub 150 +2580 gosub 230: print chr$(18)"bank o'murica" +2590 print +2600 gosub 810 +2610 print "your balance: $";e +2620 print "your wallet: $";w +2630 print +2640 input "(d)eposit, (w)ithdraw, (l)eave: ";x$ +2650 if x$ = "d" then goto 6760 +2660 if x$ = "w" then goto 6860 +2670 if x$ = "l" then goto 1200 +2680 goto 2560 +2690 rem->cokebuy +2700 print chr$(147) +2710 gosub 150 +2720 gosub 260: print chr$(18)"buy cocaine" +2730 print +2740 j=int(w/c) +2750 gosub 540 +2760 m=m+k : w=w-(c*k) +2770 goto 1200 +2780 rem->herbuy +2790 print chr$(147) +2800 gosub 150 +2810 gosub 260: print chr$(18)"buy heroin" +2820 print +2830 j=int(w/h) +2840 gosub 540 +2850 n=n+k : w=w-(h*k) +2860 goto 1200 +2870 rem->acidbuy +2880 print chr$(147) +2890 gosub 150 +2900 gosub 290:print chr$(18)"buy acid" +2910 print +2920 j=int(w/a) +2930 gosub 540 +2940 o=o+k : w=w-(a*k) +2950 goto 1200 +2960 rem->weedbuy +2970 print chr$(147) +2980 gosub 150 +2990 gosub 290: print chr$(18)"buy weed" +3000 print +3010 j=int(w/z) +3020 gosub 540 +3030 u=u+k : w=w-(z*k) +3040 goto 1200 +3050 rem->spdbuy +3060 print chr$(147) +3070 gosub 150 +3080 gosub 290: print chr$(18)"buy speed" +3090 print +3100 j=int(w/s) +3110 gosub 540 +3120 t=t+k : w=w-(s*k) +3130 goto 1200 +3140 rem->ludbuy +3150 print chr$(147) +3160 gosub 150 +3170 gosub 290: print chr$(18)"buy ludes" +3180 print +3190 j=int(w/l) +3200 gosub 540 +3210 q=q+k : w=w-(l*k) +3220 goto 1200 +3230 rem->cokesell +3240 print chr$(147) +3250 gosub 150 +3260 gosub 230:print chr$(18)"sell cocaine" +3270 print +3280 j=m +3290 gosub 640 +3300 m=m-k +3310 w=w+(c*k) +3320 goto 1200 +3330 rem->hersell +3340 print chr$(147) +3350 gosub 150 +3360 gosub 290:print chr$(18)"sell heroin" +3370 print +3380 j=n +3390 gosub 640 +3400 n=n-k +3410 w=w+(h*k) +3420 goto 1200 +3430 rem->acidsell +3440 print chr$(147) +3450 gosub 150 +3460 gosub 290: print chr$(18)"sell acid" +3470 print +3480 j=o +3490 gosub 640 +3500 o=o-k +3510 w=w+(a*k) +3520 goto 1200 +3530 rem->weedsell +3540 print chr$(147) +3550 gosub 150 +3560 gosub 290:print chr$(18)"sell weed" +3570 print +3580 j=u +3590 gosub 640 +3600 u=u-k +3610 w=w+(z*k) +3620 goto 1200 +3630 rem->spdsell +3640 print chr$(147) +3650 gosub 150 +3660 gosub 260:print chr$(18)"sell speed" +3670 print +3680 j=t +3690 gosub 640 +3700 t=t-k +3710 w=w+(s*k) +3720 goto 1200 +3730 rem->ludsell +3740 print chr$(147) +3750 gosub 150 +3760 gosub 260:print chr$(18)"sell ludes" +3770 print +3780 j=q +3790 gosub 640 +3800 q=q-k +3810 w=w+(l*k) +3820 goto 1200 +3830 rem->alreadythere +3840 print chr$(147) +3850 gosub 150 +3860 gosub 380 +3870 print +3880 print "you're already in:" +3890 print " ";p$ +3900 gosub 500 +3910 goto 2170 +3920 rem->subway +3930 print chr$(147) +3940 gosub 870 +3950 v=int(v*1.1+.5) +3960 e=int(e*1.06+.5) +3970 gosub 150 +3980 gosub 320:print chr$(18)"subway" +3990 print +4000 if b=1 then goto 4250 +4010 if b=2 then goto 4300 +4020 if b=3 then goto 4350 +4030 if b=4 then goto 4410 +4040 if b=5 then goto 4410 +4050 if b=6 then goto 4470 +4060 if b=7 then goto 4470 +4070 if b=8 then goto 4530 +4080 if b=9 then goto 4630 +4090 if b=10 then goto 4630 +4100 if b=11 then goto 4630 +4110 if b=12 then goto 6020 +4120 if b=13 then goto 6020 +4130 if b=14 then goto 6160 +4140 if b=15 then goto 6230 +4150 if b=16 then goto 6310 +4160 if b=17 then goto 6480 +4170 rem->nothinghappened +4180 rem->nothinghappens +4190 print +4200 print "welcome to ";p$ +4210 print +4220 gosub 500 +4230 goto 1200 +4240 rem->cheapludes +4250 print "rival dealers are selling cheap ludes!" +4260 l=2 +4270 gosub 500 +4280 goto 1200 +4290 rem->cheepweed +4300 print "weed prices have bottomed-out!" +4310 z=122 +4320 gosub 500 +4330 goto 1200 +4340 rem->pigheroin +4350 print "pigs are selling cheap heroin" +4360 print "from last week's raid!" +4370 h=int((rnd(9)*1150)+850.5) +4380 gosub 500 +4390 goto 1200 +4400 rem->heroinbust +4410 print "addicts are buying heroin" +4420 print "at outrageous prices!" +4430 h=int((rnd(9)*25000)+18000.5) +4440 gosub 500 +4450 goto 1200 +4460 rem->cokebust +4470 print "pigs made a big coke bust!" +4480 print "prices are outrageous!!!!" +4490 c=int((rnd(9)*60000)+80000.5) +4500 gosub 500 +4510 goto 1200 +4520 rem->mugged +4530 print "you got mugged!" +4540 print +4550 j=int(w/3) +4560 j=int(j*2) +4570 k=int(w-j) +4580 print "you lost $";k +4590 w=j +4600 gosub 500 +4610 gosub 1200 +4620 rem->cops +4630 k=m+n+u+o+t+p +4640 if k<50 then goto 4180 +4650 if b=9 then b = 2 +4660 if b=10 then b=4 +4670 if b=11 then b=5 +4680 print "it's the cops!" +4690 print +4700 print "officer hardass and ";b-1;" of his" +4710 print "deputies are after you!" +4720 print +4730 gosub 500 +4740 goto 4760 +4750 rem->police +4760 print chr$(147) +4770 gosub 150 +4780 gosub 750 +4790 print +4800 print +4810 print "view (g)uns" +4820 print "view (d)amage" +4830 print "(n)umber of pigs" +4840 print "(r)un" +4850 print "(f)ight" +4860 print +4870 input "what do you want to do? ";x$ +4880 if x$="g" goto 4950 +4890 if x$ = "d" goto 5050 +4900 if x$ = "n" goto 5170 +4910 if x$ = "r" goto 5280 +4920 if x$="f" goto 5450 +4930 goto 4760 +4940 rem->pgun +4950 print chr$(147) +4960 gosub 150 +4970 gosub 750 +4980 print +4990 print +5000 print "you have ";g;" guns. +5010 print +5020 gosub 190 +5030 goto 4760 +5040 rem->damage +5050 print chr$(147) +5060 gosub 150 +5070 gosub 750 +5080 print +5090 print +5100 print "your current damage is ";bb;"." +5110 print +5120 print "50 and you die!" +5130 print +5140 gosub 190 +5150 goto 4760 +5160 rem->ncops +5170 print chr$(147) +5180 gosub 150 +5190 gosub 750 +5200 print +5210 print +5220 print "there are ";b;" pigs still chasing you!" +5230 print +5240 print +5250 gosub 190 +5260 goto 4760 +5270 rem->run +5280 print chr$(147) +5290 gosub 150 +5300 gosub 750 +5310 print +5320 print +5330 print "running..." +5340 gosub 410 +5350 if k = 0 then print "you lost them in an alley!" : goto 5410 +5360 print "you can't shake them!" +5370 print +5380 gosub 190 +5390 goto 4760 +5400 rem->loserun +5410 print +5420 gosub 190 +5430 goto 1200 +5440 rem->fight +5450 if g>0 then goto 5510 +5460 print +5470 print "you don't have any guns!" +5480 gosub 190 +5490 goto 4760 +5500 rem->fightc +5510 print chr$(147) +5520 gosub 150 +5530 gosub 750 +5540 print +5550 print "you shoot!" +5560 gosub 410 +5570 if k=0 then goto 5600 +5580 print "you got one!" : b = b-1 : goto 5620 +5590 rem->miss +5600 print "you missed!" +5610 rem->next +5620 print +5630 print +5640 if b <= 0 then goto 5840 +5650 gosub 460 +5660 print "they're firing at you!" +5670 gosub 410 +5680 if k=0 then goto 5740 +5690 print "you've been hit!" +5700 bb=bb+3 +5710 if bb >= 50 goto 5790 +5720 goto 5760 +5730 rem->theymiss +5740 print "they missed!" +5750 rem->nexta +5760 gosub 190 +5770 goto 4760 +5780 rem->ded +5790 print +5800 print "you've been killed!" +5810 gosub 190 +5820 goto 7400 +5830 rem->allgone +5840 print "you killed all of them!" +5850 print +5860 gosub 410 +5870 j=int(((rnd(7)*1250)+750)+.5) +5880 w=w+j +5890 print "you found $";j;" on officer hardass'" +5900 print "carcass!" +5910 if w>=1200 then goto 5940 +5920 goto 1200 +5930 rem->doctor +5940 gosub 500 +5950 print +5960 print "will you pay $1000 for a doctor" +5970 input "to sew you up? (y/n)";x$ +5980 if x$ <> "y" then goto 1200 +5990 w=w-1000 +6000 bb=0 +6010 rem->gunbuy +6020 if w < 500 then goto 4180 +6030 gosub 720 +6040 if f < 5 then goto 4180 +6050 j=int((rnd(4)*2)+.5) +6060 if j = 0 then y$ = "baretta" +6070 if j = 1 then y$ = "saturday night special" +6080 if j = 2 then y$ = ".44 magnum" +6090 print "will you buy a ";y$ +6100 input "for $400? (y/n)";x$ +6110 if x$ <> "y" then goto 1200 +6120 g = g+1 +6130 w = w-400 +6140 goto 1200 +6150 rem->dedweed +6160 print "there's some weed here that smells" +6170 print "like good stuff!!" +6180 print +6190 input "will you smoke it? (y/n)";x$ +6200 if x$ = "y" then goto 7270 +6210 goto1200 +6220 rem->newcoat +6230 if w<300 then goto 4190 +6240 print "will you buy a new trenchcoat" +6250 input "with more pockets for $200? (y/n)";x$ +6260 if x$ <> "y" then goto 1200 +6270 i=i+10 +6280 w=w-200 +6290 goto 1200 +6300 rem->dedguy +6310 gosub 720 +6320 if f<8 then goto 4190 +6330 j=int((rnd(3)*7)+1.5) +6340 k=int(rnd(3)*5+.5) +6350 if k=0 then q=q+j : y$ = "ludes" +6360 if k=1 then t=t+j : y$ = "speed" +6370 if k=2 then u=u+j : y$ = "weed" +6380 if k=3 then o=o+j : y$ = "acid" +6390 if k=4 then n=n+j : y$ = "heroin" +6400 if k=5 then m=m+j : y$ = "cocaine" +6410 print "you found ";j;" units of" +6420 print " ";y$ +6430 print "on a dead dude in the subway!" +6440 print +6450 gosub 500 +6460 goto 1200 +6470 rem->homeacid +6480 print "the market has been flooded" +6490 print "with cheap home-made acid!" +6500 a=int((rnd(4)*550)+250.5) +6510 gosub 500 +6520 goto 1200 +6530 rem->payme +6540 input "repay how much? ";k +6550 if k>w then print:print "you don't have that much!" : gosub 460 : goto 2420 +6560 if k>v then print:print "you don't owe that much!" : gosub 460 : goto 2420 +6570 w=w-k +6580 v=v-k +6590 print:print "thank you." +6600 gosub 500 +6610 goto 1200 +6620 rem->borrow +6630 print +6640 input "how much do you want? ";k +6650 print +6660 j=int((rnd(10)*10000)+5000) +6670 if k>14000 then print "he's not that stupid!" : gosub 500 : goto 1200 +6680 if k > j then print "he doesn't feel like it." : gosub 460 : goto 1200 +6690 v=v+k +6700 w=w+k +6710 print +6720 print "here's your money." : print : print "remember, i break thumbs." +6730 gosub 500 +6740 goto 1200 +6750 rem->deposit +6760 print +6770 input "how much? ";j +6780 if j>w then print "you don't have that much cash." : goto 6760 +6790 e=e+j +6800 w=w-j +6810 print +6820 print "thank you for your deposit." +6830 gosub 500 +6840 goto 1200 +6850 rem->mymoney +6860 print +6870 input "how much? ";j +6880 if j>e then print "you don't have sufficient funds." : goto 6860 +6890 e=e-j +6900 w=w+j +6910 print +6920 print "thank you for your business." +6930 gosub 500 +6940 goto 1200 +6950 rem->instructions +6960 print chr$(147) +6970 poke 211,3:sys 58640:print "welcome to drugwar/64 version";rv +6980 poke 211,5:sys 58640: print "ported from drugwar//e v 1.03":?:?:?:?:? +6990 ?: ? : poke 211,5:sys 58640:? "based on the ti-basic clone of" +7000 poke 211,7:sys 58640:print "john e. dell's 1984 drugwar" +7010 poke 211,11:sys 58640:print "for ibm and trs-80":?:? +7020 ?:?:poke 211,6:sys 58640:?"applesoft version by jay moore" +7030 poke 211,10:sys 58640: print "c64 port by jay moore" +7040 poke 211,1 : poke 214,23 : sys 58640 +7050 input "would you like instructions? (y/n)";x$ +7060 j=rnd(-ti) +7070 if x$ = "y" then goto 7100 +7080 goto 1050 +7090 rem->inst +7100 print chr$(147) +7110 gosub 150 +7120 print +7130 print "this is a game of buying and selling." +7140 print "your goal is to pay off your debt and" +7150 print "make as much money as possible in a one" +7160 print "month period. prices fluctuate every day" +7170 print "and interest on your loan is calculated as well." +7180 print:print "if you deal too heavily, you'll attract the attention" +7190 print "of the police." +7200 print +7210 print "commands are entered using the letter" +7220 print "highlighted (l)ike (s)o. y is yes and" +7230 print "anything counts as no." +7240 gosub 190 +7250 goto 1050 +7260 rem->weedend +7270 print chr$(147) +7280 gosub 150 +7290 gosub 230: print chr$(18)"smoke weed" +7300 print "you hallucinate on the wildest trip" +7310 print "of your life, stumble on to the tracks," +7320 print "and get creamed by a train!" +7330 print +7340 print +7350 poke 211,7:sys 58640:? "just say no to drugs!" +7360 gosub 500 +7370 gosub 460 +7380 goto 7540 +7390 rem->endgame +7400 print chr$(147) +7410 gosub 150 +7420 gosub 990 +7430 gosub 780 +7440 print +7450 print "your score on a scale of 1 to 100: ";k +7460 print +7470 input "would you like to play again? (y/n)";x$ +7480 if x$ = "y" then goto 1050 +7490 print "thanks for playing." +7500 print "remember, watch your back." +7510 print "have a nice day!" +7520 end +7530 rem->ironicend +7540 print chr$(147) +7550 gosub 150 +7560 gosub 780 +7570 print +7580 print "you died from smoking weed." +7590 print +7600 print +7610 gosub 500: print"see? games are totally fake." +7620 print +7630 input "would you like to play again? ";x$ +7640 if x$= "y" then goto 1050 +7650 end diff --git a/drugwar64.baz b/drugwar64.baz new file mode 100644 index 0000000..f0b1622 --- /dev/null +++ b/drugwar64.baz @@ -0,0 +1,836 @@ +rem Drugwar/64 - Version 1.01 +rem Codebase: Drugwar//e 1.03 +rem Ported by: Jay Moore +rem "Damn that was annoying" +rem 28-OCT-2018 +rem Copyright 2018 Jay Moore +rem Released under GPL v3 +rem drugwar2e.sourceforge.io +rem twitter: _nq4t + poke 646,1 : poke 53281,0 : poke 53280,0 {set border,bg,text colors} + rv=1.01 + goto @instructions {because we're sticking subroutines up here} + +£titlebar {this literally just draws the game title at the top of the screen} + poke 214,0:poke 211,14:sys 58640 : ?"drugwar/64" + print CHR$(18)" " + return +£wait {ubiquitious "Press ENTER to continue} + print + input "Press enter to continue.";x$ + return +£twofifteen + POKE 214,1 : poke 211,14:sys 58640 + return +£twosixteen + POKE 214,1:poke 211,15:sys 58640 + return +£twoseventeen + POKE 214,1:poke 211,16:sys 58640 + return +£twoeighteen + POKE 214,1: poke 211,17:sys 58640 + return +£twonineteen + POKE 214,1:poke 211,18:sys 58640 + return +£jetalthere + gosub @twonineteen:print CHR$(18)"Jet" + return +£timera + for j = 1 to 2500 + next j + k = int(rnd(2)+.5) + return +£timerb + for j = 1 to 1000 + next j + return +£timerc + for j = 1 to 2000 + next j + return +[ +"Common logic" has been moved to buy/sell subroutines. +This has cleaned the code up a bit +] + +£howmuchbuy {some common purchase code} + print "You can afford ";j + print "You can carry ";f +£howmanybuy + print + input "How many? (Enter 0 cancel): ";k + if K=0 goto @menu + if k>f THEN print CHR$(18)"You can't carry that much!" : goto @howmanybuy + if k>j THEN print CHR$(18)"You can't afford that much!" : goto @howmanybuy + return + +£howmuchsell {common sell code} + print "You can sell: ";j + print +£howmanysell + input "How many? (Enter 0 to cancel.): ";k + If k>j then print "You don't have that many!" : goto @howmanysell + if K=0 goto @menu + return + +£freespace + f=i-((g*5)+m+n+o+u+t+q) + return +£chase + gosub @twofifteen: print CHR$(18)"Being Chased" + return +£gmod + gosub @twosixteen:print chr$(18)"Game Over" + return +£bronxcheck + if p$ = "THE BRONX" then return + print "you need to head to the bronx" + print "to take care of this business." + gosub @timerc + goto @menu + + +£daily {randomizes drug prices, adds a day, calculates interests, checks day number} + c=int(rnd(5)*12000+16000.5) + h=int(rnd(5)*7000+5000.5) + a=int((rnd(5)*34+10)*100+.5) + z=int((rnd(5)*42+33)*10+.5) + s=int((rnd(5)*15+7)*10+.5) + l=int((rnd(5)*4+1)*10+.5) + b=int(rnd(5)*20+.5) + d=d+1 +£checkday {so I can check the day by itself} + if D >= 31 GOTO @endgame + return + +£scorecalculate + k=(w+e)-v + if k<0 THEN k=0 : return + k=int(sqr((k/31.5)+.5)) + if k>100 then k=100 + return + +£gamestart {set wallet, debt, location, inventory space, zero out inventory} + w=2000 + e=0 + v=5000 + p$="The Bronx" + g=0 + i=100 + m=0 + n=0 + o=0 + u=0 + t=0 + q=0 + gosub @daily {the only time we'll call this outside of the subway} + goto @menu {the real start of the game} + +£menu {main menu. everything should loop back here} + PRINT CHR$(147) + gosub @freespace + gosub @titlebar + POKE 214,1:POKE 211,3:SYS 58640:print CHR$(18)"Day: "D + POKE 214,1:POKE 211,17:SYS 58640:print CHR$(18)"Location: "p$ + print + print "(C)heck Prices" + print "(T)renchcoat" + print "(B)uy" + print "(S)ell" + print "(J)et" + print "See (L)oan shark" + print "(V)isit Bank" + print + input "Please make your selection: ";x$ + if x$ = "C" goto @prices + if x$ = "T" goto @inventory + if x$ = "B" goto @buy + if x$ = "S" goto @sell + if x$ = "J" goto @jet + if x$ = "L" goto @loan + if x$ = "V" goto @bank + {if x$="debug" goto @debug} + goto @menu + +[ +£debug +print "Testing Screen" +print +print "(w)allet,(g)uns,(v)debt,(e)savings,(i)nventory space" +input "What to change?";db$ +input "To?";dx +if db$ = "w" then w=dx +if db$ = "g" then g=dx +if db$="v" then v=dx +if db$="e" then e=dx +if db$="i" then i=dx +goto @menu +] + +£prices + PRINT CHR$(147) + gosub @titlebar + gosub @twoeighteen:print CHR$(18)"Prices" + print + print"cocaine:","$"c + print"heroin:","$"h + print"acid:","$"a + print"weed:","$"z + print"speed:","$"s + print"ludes:","$"l + print"wallet:","$"w + gosub @wait + goto @menu +£inventory + PRINT CHR$(147) + gosub @titlebar + gosub @twosixteen :print CHR$(18)"Trenchcoat" + print + print"cocaine:",m + print"heroin:",n + print"acid:",o + print"weed:",u + print"speed:",t + print"ludes:",q + print"free space:",f + gosub @wait + goto @menu +£buy + PRINT CHR$(147) + gosub @titlebar + gosub @twonineteen: print CHR$(18)"Buy" + print + print"What do you want to buy?" + print + print "(C)ocaine" + print "(H)eroin" + print "(A)cid" + print "(W)eed" + print "(S)peed" + print "(L)udes" + input "Enter Selection: ";x$ + if x$="c" goto @cokebuy + if x$="h" goto @herbuy + if x$="a" goto @acidbuy + if x$="w" goto @weedbuy + if x$="s" goto @spdbuy + if x$="l" goto @ludbuy + goto @menu + +£sell + PRINT CHR$(147) + gosub @titlebar + gosub @twoeighteen: print CHR$(18)"Sell" + print + print "What would you like to sell?" + print + print "(C)ocaine" + print "(H)eroin" + print "(A)cid" + print "(W)eed" + print "(S)peed" + print "(L)udes" +£sellsel + input "Enter Selection: (0 to cancel)";x$ + if x$="c" goto @cokesell + if x$="h" goto @hersell + if x$="a" goto @acidsell + if x$="w" goto @weedsell + if x$="s" goto @spdsell + if x$="l" goto @ludsell + if x$="0" goto @menu + print "Invalid Selection!" + goto @sellsel +£jet + PRINT CHR$(147) + gosub @titlebar + gosub @jetalthere + print + print "(B)ronx" + print "(G)hetto" + print "(C)entral Park + print "(M)anhattan" + print "Coney (I)sland" + print "Broo(K)lyn" + print "(O)ops...stay!" + input "Where to dude? ";x$ + if x$="B" then y$ = "The Bronx" : GOTO @jetb {we can use strings} + if x$="G" then y$ = "The Ghetto" : GOTO @jetb + if x$="C" then y$ = "Central Park" : GOTO @jetb + if x$="M" then y$ = "Manhattan" : goto @jetb + if x$="I" then y$ = "Coney Island" : goto @jetb + if x$="K" then y$ = "Brooklyn" : goto @jetb + if x$="O" then goto @menu + {if x$="COPTEST" then b = 5 : goto @police} + goto @jet +£jetb + {input "event: ";ev testing/debug} + if y$=p$ then goto @alreadythere {more advanced thatn Bronx only on TI} + p$ = y$ {it's valid, copy it and move along} : y$ = "" + goto @subway + +£loan + PRINT CHR$(147) + gosub @titlebar + Gosub @twosixteen:print CHR$(18)"Loan Shark" + print + gosub @bronxcheck + print "Your debt is: $";v + print "You have: $";w + print + input "(R)epay, (B)orrow, (L)eave: ";X$ + If X$ = "R" THEN goto @payme + If X$ = "B" Then goto @borrow + If X$ = "L" then goto @Menu + goto @loan + +£bank + PRINT CHR$(147) + gosub @titlebar + gosub @twofifteen: print CHR$(18)"Bank O'Murica" + print + gosub @bronxcheck + print "Your balance: $";e + print "Your wallet: $";w + print + INPUT "(D)EPOSIT, (W)ITHDRAW, (L)EAVE: ";X$ + if x$ = "d" then goto @deposit + if x$ = "w" then goto @mymoney + if x$ = "l" then goto @menu + {if x$ = eg$ then goto @egg} + goto @bank + +£cokebuy + PRINT CHR$(147) + gosub @titlebar + gosub @twosixteen: print CHR$(18)"Buy Cocaine" + print + j=int(w/c) {calculate how many we can buy} + gosub @howmuchbuy + m=m+k : w=w-(c*k) {when the subroutine sends us back when the purchase is valid} + goto @menu +£herbuy + PRINT CHR$(147) + gosub @titlebar + gosub @twosixteen: print CHR$(18)"Buy Heroin" + print + j=int(w/h) + gosub @howmuchbuy + n=n+k : w=w-(h*k) + goto @menu +£acidbuy + PRINT CHR$(147) + gosub @titlebar + gosub @twoseventeen:print CHR$(18)"Buy Acid" + print + j=int(w/a) + gosub @howmuchbuy + o=o+k : w=w-(a*k) + goto @menu +£weedbuy + PRINT CHR$(147) + gosub @titlebar + gosub @twoseventeen: print CHR$(18)"Buy Weed" + print + j=int(w/z) + gosub @howmuchbuy + u=u+k : w=w-(z*k) + goto @menu +£spdbuy + PRINT CHR$(147) + gosub @titlebar + gosub @twoseventeen: print CHR$(18)"Buy Speed" + print + j=int(w/s) + gosub @howmuchbuy + t=t+k : w=w-(s*k) + goto @menu +£ludbuy + PRINT CHR$(147) + gosub @titlebar + gosub @twoseventeen: print CHR$(18)"Buy Ludes" + print + j=int(w/l) + gosub @howmuchbuy + q=q+k : w=w-(l*k) + goto @menu + + +£cokesell + PRINT CHR$(147) + gosub @titlebar + gosub @twofifteen:print CHR$(18)"Sell Cocaine" + print + j=m {write amount to variable} + gosub @howmuchsell {some buy logic} + m=m-k {sub sends back here if valid, adjusts inventory} + w=w+(c*k) {adds money to wallet} + goto @menu + +£hersell + PRINT CHR$(147) + gosub @titlebar + gosub @twoseventeen:print CHR$(18)"Sell Heroin" + print + j=n + gosub @howmuchsell + n=n-k + w=w+(h*k) + goto @menu + +£acidsell + PRINT CHR$(147) + gosub @titlebar + gosub @twoseventeen: print CHR$(18)"Sell Acid" + print + j=o + gosub @howmuchsell + o=o-k + w=w+(a*k) + goto @menu + +£weedsell + PRINT CHR$(147) + gosub @titlebar + gosub @twoseventeen:print CHR$(18)"Sell Weed" + print + j=u + gosub @howmuchsell + u=u-k + w=w+(z*k) + goto @menu + +£spdsell + PRINT CHR$(147) + gosub @titlebar + gosub @twosixteen:print CHR$(18)"Sell Speed" + print + j=t + gosub @howmuchsell + t=t-k + w=w+(s*k) + goto @menu + +£ludsell + PRINT CHR$(147) + gosub @titlebar + gosub @twosixteen:print CHR$(18)"Sell Ludes" + print + j=q + gosub @howmuchsell + q=q-k + w=w+(l*k) + goto @menu + +£alreadythere + PRINT CHR$(147) + gosub @titlebar + gosub @jetalthere + print + print "You're already in:" + print " ";p$ + gosub @timerc + goto @jet + +£subway + PRINT CHR$(147) + gosub @daily + {b=ev debugging code} + V=int(V*1.1+.5) {loan calculation} + E=int(E*1.06+.5) {savings calculation} + gosub @titlebar + gosub @twoeighteen:print CHR$(18)"Subway" + print + if b=1 then goto @cheapludes + if b=2 then goto @cheepweed + if b=3 then goto @pigheroin + if b=4 then goto @heroinbust + if b=5 then goto @heroinbust + if b=6 then goto @cokebust + if b=7 then goto @cokebust + if b=8 then goto @mugged + if b=9 then goto @cops + if b=10 then goto @cops + if b=11 then goto @cops + if b=12 then goto @gunbuy + if b=13 then goto @gunbuy + if b=14 then goto @dedweed + if b=15 then goto @newcoat + if b=16 then goto @dedguy + if b=17 then goto @homeacid +£nothinghappened +£nothinghappens + print {the only way you should wind up here is if nothing happens} + print "Welcome to ";p$ {i hope} + print + gosub @timerc + goto @menu + + +£cheapludes + print "Rival dealers are selling cheap ludes!" + l=2 + gosub @timerc + goto @menu +£cheepweed + print "Weed prices have bottomed-out!" + z=122 + gosub @timerc + goto @menu +£pigheroin + print "Pigs are selling cheap heroin" + print "from last week's raid!" + h=int((rnd(9)*1150)+850.5) + gosub @timerc + goto @menu +£heroinbust + print "Addicts are buying heroin" + print "at outrageous prices!" + h=int((rnd(9)*25000)+18000.5) + gosub @timerc + goto @menu +£cokebust + print "Pigs made a big coke bust!" + print "Prices are outrageous!!!!" + c=int((rnd(9)*60000)+80000.5) {the infamous line 930} + gosub @timerc + goto @menu +£mugged + print "You got mugged!" + print + j=int(w/3) + j=int(j*2) + k=int(w-j) + print "You lost $";k + w=j + gosub @timerc + gosub @menu +£cops + k=m+n+u+o+t+p {cops only active when inventory > 50} +[ +my improved revisions will likely add some additional +conditions on how/when we run cops +] + if k<50 then goto @nothinghappened + if b=9 then b = 2 + if b=10 then b=4 + if b=11 then b=5 + print "It's the cops!" + print + print "Officer Hardass and ";B-1;" of his" + print "deputies are after you!" + print + gosub @timerc + goto @police +£police + PRINT CHR$(147) + gosub @titlebar + gosub @chase + print + print + print "View (G)uns" + print "View (D)amage" + print "(N)umber of pigs" + print "(R)un" + print "(F)ight" + print + input "What do you want to do? ";x$ + if x$="G" goto @pgun + if x$ = "D" goto @damage + if x$ = "N" goto @ncops + if x$ = "R" goto @run + if X$="F" goto @fight + goto @police +£pgun + PRINT CHR$(147) + gosub @titlebar + gosub @chase + print + print + print "You have ";g;" guns. + print + gosub @wait + goto @police +£damage + PRINT CHR$(147) + gosub @titlebar + gosub @chase + print + print + print "Your current damage is ";bb;"." + print + print "50 and you die!" + print + gosub @wait + goto @police +£ncops + PRINT CHR$(147) + gosub @titlebar + gosub @chase + print + print + print "There are ";b;" pigs still chasing you!" + print + print + gosub @wait + goto @police +£run + PRINT CHR$(147) + gosub @titlebar + gosub @chase + print + print + print "RUNNING..." + gosub @timera + if k = 0 then print "You lost them in an alley!" : goto @loserun + print "You can't shake them!" + print + gosub @wait + goto @police +£loserun + print + gosub @wait + goto @menu +£fight + if g>0 then goto @fightc + print + print "YOU DON'T HAVE ANY GUNS!" + gosub @wait + goto @police +£fightc + PRINT CHR$(147) + gosub @titlebar + gosub @chase + print + print "You shoot!" + gosub @timera + If K=0 THEN GOTO @miss + print "You got one!" : b = b-1 : goto @next +£miss + print "You missed!" +£next + print + print + If b <= 0 THEN goto @allgone + gosub @timerb + print "They're firing at you!" + gosub @timera + if k=0 then goto @theymiss + print "You've been hit!" + bb=bb+3 + if bb >= 50 goto @ded + goto @nexta +£theymiss + print "They missed!" +£nexta + gosub @wait + goto @police +£ded + print + print "You've been killed!" + gosub @wait + goto @endgame + +£allgone + print "You killed all of them!" + print + gosub @timera + j=int(((rnd(7)*1250)+750)+.5) + w=w+j + print "You found $";j;" on officer Hardass'" + print "carcass!" + if w>=1200 then goto @doctor + goto @menu +£doctor + gosub @timerc + print + print "Will you pay $1000 for a doctor" + input "to sew you up? (Y/N)";x$ + if X$ <> "Y" then goto @menu + w=w-1000 + bb=0 + +£gunbuy + if w < 500 THEN goto @nothinghappened + gosub @freespace + if f < 5 THEN goto @nothinghappened + j=int((rnd(4)*2)+.5) + if j = 0 then y$ = "Baretta" + if j = 1 then y$ = "Saturday Night Special" + if j = 2 then y$ = ".44 Magnum" + print "Will you buy a ";y$ + input "for $400? (Y/N)";x$ + if x$ <> "Y" then goto @menu + g = g+1 + w = w-400 + {i = i-5} + goto @menu +£dedweed {don't smoke the weed} + print "There's some weed here that smells" + print "like good stuff!!" + print + input "Will you smoke it? (Y/N)";X$ + If X$ = "Y" THEN GOTO @weedend + goto@menu +£newcoat + if w<300 then goto @nothinghappens {only if you can afford it} + print "Will you buy a new trenchcoat" + input "with more pockets for $200? (Y/N)";X$ + if X$ <> "Y" then goto @menu + i=i+10 + w=w-200 + goto @menu +£dedguy + gosub @freespace + If f<8 THEN goto @nothinghappens {only if you have enough freespace} + j=int((rnd(3)*7)+1.5) + k=int(rnd(3)*5+.5) + if k=0 THEN q=q+j : y$ = "Ludes" + if k=1 THEN t=t+j : y$ = "Speed" + if k=2 THEN u=u+j : y$ = "Weed" + if k=3 THEN o=o+j : y$ = "Acid" + if k=4 THEN n=n+j : y$ = "Heroin" + if k=5 THEN m=m+j : y$ = "Cocaine" + print "You found ";j;" units of" + print " ";y$ + print "on a dead dude in the subway!" + print + gosub @timerc + goto @menu +£homeacid + print "The market has been flooded" + print "with cheap home-made acid!" + a=int((rnd(4)*550)+250.5) + gosub @timerc + goto @menu + + +£payme + INPUT "Repay how much? ";k + IF k>w THEN PRINT:PRINT "YOU DON'T HAVE THAT MUCH!" : GOSUB @timerb : GOTO @LOAN + IF k>v THEN PRINT:PRINT "YOU DON'T OWE THAT MUCH!" : GOSUB @timerb : GOTO @LOAN + W=W-k + v=v-k + PRINT:PRINT "THANK YOU." + GOSUB @timerc + GOTO @MENU +£borrow + print + Input "How much do you want? ";K + print + j=int((rnd(10)*10000)+5000) + if K>14000 then print "He's not that stupid!" : gosub @timerc : goto @menu + if K > J then print "He doesn't feel like it." : gosub @timerb : goto @menu + v=v+k + w=w+k + print + print "Here's your money." : PRINT : PRINT "Remember, I break thumbs." + gosub @timerc + goto @menu + +£deposit + print + INPUT "How much? ";j + If j>w then print "You don't have that much cash." : goto @deposit + e=e+j + w=w-j + print + Print "Thank you for your deposit." + gosub @timerc + goto @menu +[ +£egg + print "You found the easter egg!" + print + print "$1,000,000 has been deposited in to your account." + gosub @timerc + goto @bank +] +£mymoney + print + INPUT "How much? ";j + If j>e then print "You don't have sufficient funds." : goto @mymoney + e=e-j + w=w+j + print + print "Thank you for your business." + gosub @timerc + goto @menu + +£instructions + PRINT CHR$(147) + poke 211,3:sys 58640:print "welcome to drugwar/64 version";rv + poke 211,5:sys 58640: print "ported from drugwar//e v 1.03":?:?:?:?:? + ?: ? : poke 211,5:sys 58640:? "based on the ti-basic clone of" + poke 211,7:sys 58640:print "john e. dell's 1984 drugwar" + poke 211,11:sys 58640:print "for ibm and trs-80":?:? + ?:?:poke 211,6:sys 58640:?"applesoft version by jay moore" + poke 211,10:sys 58640: print "c64 port by jay moore" + poke 211,1 : poke 214,23 : sys 58640 + input "would you like instructions? (y/n)";x$ + j=RND(-TI) {c64} + {j =RND(-1 *(PEEK(78)+256*PEEK(79))) - applesoft} + If X$ = "Y" THEN GOTO @inst + GOTO @gamestart + +£inst + PRINT CHR$(147) + gosub @titlebar + print + print "This is a game of buying and selling." + print "Your goal is to pay off your debt and" + print "make as much money as possible in a one" + print "month period. Prices fluctuate every day" + print "and interest on your loan is calculated as well." + print:print "If you deal too heavily, you'll attract the attention" + PRINT "of the police." + print + print "Commands are entered using the letter" + print "highlighted (L)ike (S)o. Y is yes and" + print "anything counts as no." + gosub @wait + goto @gamestart +£weedend + PRINT CHR$(147) + gosub @titlebar + gosub @twofifteen: print CHR$(18)"SMOKE Weed" + print "You hallucinate on the wildest trip" + print "of your life, stumble on to the tracks," + print "and get creamed by a train!" + print + print + poke 211,7:sys 58640:? "Just say NO to drugs!" + gosub @timerc + gosub @timerb + goto @ironicend + +£endgame + PRINT CHR$(147) + gosub @titlebar + gosub @scorecalculate + gosub @gmod + print + print "Your score on a scale of 1 to 100: ";k + print + input "Would you like to play again? (Y/N)";x$ + if x$ = "Y" then goto @gamestart + print "Thanks for playing." + print "Remember, watch your back." + print "Have a nice day!" + end + +£ironicend + PRINT CHR$(147) + gosub @titlebar + gosub @gmod + print + print "You died from smoking weed." + print + print + gosub @timerc: print"See? Games are totally fake." + print + input "Would you like to play again? ";x$ + if x$= "Y" THEN GOTO @GAMESTART + end diff --git a/drugwar64.d64 b/drugwar64.d64 new file mode 100644 index 0000000000000000000000000000000000000000..355073fe1af991f6e29d9d2dbb76485f6f7c6d95 GIT binary patch literal 174848 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 literal 0 HcmV?d00001 diff --git a/drugwar64.zip b/drugwar64.zip new file mode 100644 index 0000000000000000000000000000000000000000..2e65f85ae888fc2b2cee7115d077677424a460c7 GIT binary patch literal 35157 zcmc$_LzFH|u&!C=F59-NzOrrGwr$(C?b>DAwr$(q_rE%s_ZU6M2BT9SLS{+H10-SuU6a`U!(8fIQ$wLVwUG1ned*aSVw50UXeekh z+|fHXBqI`g6gD`a|}TI(q|bcDQkAfjL${5@Y-zm}AEr;4$T z(vS!@Yf!RyQ}p_h1guScurIv+{CU0VTT7FlV~*6(sZ+Y_$wq~Kbqzd6<*zGGrc}~{w~*sPw3tNM_8{#)7oyZ z%Zx>CEFj34vt+Q@-Pp!b_pWsY(m;9vHTRwd=J1>}=X$5-gVFFY3YA{1)h|RKWm{1p zPq7|N)3kbsfg;E)aW}zzo@Rh^7c@IH2IQaf`HN6QZLY{-dXhP}Nc)JXt<;b&y*Ua_ z8inpuRi#C1LK%hY-P z(QtI769*4XOtF4TbOM%l2`d~!Ebm$rT}jb|L%_6sr%Z)Cym9hl2yRrutJ*~f!>FD; zS(mum)4W?u{wSZ#OE?-Q{0NQTPA5Ciad(wz=p3ER+_~0)_%|C5ZD6yIATk=CSZrN63@On`8GE~ontor#d^99ojTo2Q0V9>58@@*Mk& zM8l1m#Bd{(g=S8^hBRvMdL!;Q(0uj?8cc8dk~7Cc*wxex~Wx?cj& zbwE~sZarn!R4@5C&^QhKmDfn<-rwj%%0j zk3Q&W`ot!3dE?Z5SEYe1|3k3(xK*hyVFRnX{15Mw>?zry@~y(`Fqq!T_2;}Nc)s;Qa}ub~;-09c*6==aZ?QEM zQopoW_Ct3wO(HHn{F^9eeb58B+%v5m&XY{T_TE=$dwv}bqOU~81(^-!8w-cas=oW= zZRRzxw2-tOpTl#0dGMOgeSXmi>U*w`f!uhpA>o00M-KYdb&fqzk_kM%>#vp2ZT#M@ z+umXdKGn7H^@9A)n7L1N(wt`6bC6+95`5H*0hG|u*;)>+%?*XoF?bfTDB#nhCz2Va-)b1*1lbxjMukggt=ntbx zJ!%#K<7gEk6aLL{W|5%E-P($d0*JNU>|}qAvE7q;WO$%di~=)ou$f!Ml}#Cgw=)Ge zT3utt;@0uFSy^MdVRHXvz2X<%aFH_N;u5U@!a@cZwKYsBI_Edw+&>*QbZJct5_;EU zD0qBp#{ulrB?)LCB!6=)*GSexAuzQj1}NX@ZdxfRLz#O zFq6TdepHSMGoZK`vW>qLj*1E$OXJ^rEcG)|BNl~1wB^V?ML1kHBsGb-1CcrjmKc^e zlzm9MmEk&V;FVx!D@o1~4`yba{~W}i@ZEMV_jiA}=dNJ^^sBUg;X!v<(iDu2A^ID> zg~I?(z<}Bc(si-h=qf8z?W=fl)fyL<5A#3OX1H<`lv90GsyN!eKQ=8_wExH|+0e5L zW`W?fe$AEWU?`V#O{`XpbJ~15kXp`{5vHJ1pD$4DU>q~eFzobqP5w0gm|(V{KuR+F zX?PwCp2DF%kbQ9YK?<6piZu}rD-{y)(B~1%56d5Bc@Br}jR_9T$;bp6TJ)rLVorp$ z)$e?!rgpLc85J;#>%G1&Vv{>#SKZ#lFCV$*JBUJzfwJ-h z{}-;6J}KUh%hdguU)L)~6$iN)xo~9Y_d5S4ue9e(vuL`u;VRTZp1uRT{A zT$T+4TJg3?R-M;lD@_sjpV#GUJ1$i?cw^*TMv1N=O0@cx5ELw2Z>-K}#5RQG} zGdFJu*bcrjggqfcH}RGyElwbMNE+*aSXW$Qe_(CSm0$8z5w1^&ud$a9^@K>q2$TUy z@}NR3Lct;FphAeYrs%SL-@=Zt1gWbk4Ec?Hn!+Zr>>M(@S8N+zB-jK^sL{B>tZgp) zi~E&&SH5keQF}RiKV~Fb!7X0(>x@dtA(637)?_R+wcB-6SIMVpR~!A{EjqS7$+5he z4=_u=ueji*nY%T|KbCwsCNl&pj#j-N$=tI`S$%a!k9*d7TRZj_?ZDZ6UjAm)JT;t#T?B#}{d&pdE5O;5DE0@9^s&_}ZjKl$j!^ueRh3YlZ zLr%WFS!IQD+U1(tn{CJoxD+D-Iy-{c?y7_>5^ zB*Q4RTWt+$ALzbYW;5%x_HQ~TejM$0{hd1YxJ<cvrE?Uvi`N!S6RUz0UQu)nD|r zOJ*{}n6b$5CiBwwdRv96qy&IanP5ge>x}20blWji)9~J(XX?Y-dHtpa`@RBd{@0sK z>eX$FFIm;$F^0=;T-(I0yGkkHil2t6iD>}orhbJ{ai7>%w(7Wx!!x_}zxJrO-h7RE zs_5%tCK-HiVo%2yVg3*%&>>mSenQyNnPSC!qrZ?DsP8}7Doln6D#BV`y7=m7*onrWQ#IPgp+~E_vM~@fHamMIv71_}oG81j zQ$7QytI0AQ*}Dr~X^}h6yQ|T%HbQt7JrLGh+g><+d4|3L&0Hvh%`L8jVanJhD>f1!z|~5?S@^CIRZ~SZWIM&W&c}6S z#;us~2_wx8_r`Az5GD+f+>-5r#hZf9*ih{T|4|Nj2kj`Ef67fG|irDB^TB0mQEp@IAr0$Cd}-~oZZMO?ypRl;S=*m!s6xW6WubWP7?bUI*}6)nbW+ag6+9-q!7Hwj}<%I6!aFt4YD_| zAq-%{g{Z?AIT73=mjqsP&_-KtM2yRYNWp^LMN(K&VaBYMvB~Rg@DjG?`|0x09|kwP zlf(rleUAPuH0I1I0ZgA2E4i=Lbz`(^fja<+CaD_d|$K(eyU3Kiqo*_Da=A)cl zvBa`xf;K~1)PK+#ZTkrb5vkTQ?&P3o!Db}mB_8A|O4dPsGzjj>Y?qniG8K2!@rNqw zfFxVjkGWU?L(l79IIQ{@l}B0={~=Q86xmkd4_5X$H45JmgnVUlH17#Q1}95OkHSZM zGi}9=vb*W3i$gl5_`Izk$;7aocW~{0^F=VlS`ta&`KMrEH4`2Oxx?#6;w1+y^_5TL z5;F=p^Yhor^zlGY{oj|XmIsjUkN#@uz{WooKZvg>$$KK5Or&PDa0kHQPnp*%rfs&L zG}|hnE<1kIQZh?bYvlFnUTNZ2hhJrHzgrB({`YU<$b%@O$o6pRPoS5}JKtV6?4J>n zcYQkqHDflI@PEOt9;{e?V&J`Y`aN1Wze|i3=}1x%vG)bD73d@M*!r`!lFn;1 zob6$ZmnVo8Z#hEjVH2j~g(s4W2qAzgE^MsrV9Pd#L#zxxo>yv}%>f9N4)53+Hl39? zQoF(%`mcvIYmHS-$DSaxeKanNOSU@D5yg)m?(1yH@S%51|CbL$>)3CpM2p(BTueoj zB1ruG{#AR3dA1t@YvpIU3t%su!%=$Ybw!dC^CAAp*qQZ9lWJ*#G06;^F|?Sb&#}{? zF_|liWFnr=Q<6C<8qRy=&Wfb=72*s$GnK%$_sKy_O(j)g?E38gi~RDx~m z0L2xKjgF_~YIuutdB;X5e9gUuVplrLCN}5Tmm2$nE}?rt+|^W=!`MJ1X>2s-idW9m zz}_i0$J{X2NzaIUmY0*!zg2xciwWBbMlKrtvcrzGWN^_tHcp;71<`stb{;QDI=Fx1 zH^3oUrvtDIuDoTB4UKL|=J}O$@wbsNB{z({wPz(^yQOEw8;Du&?TP{e2PARVckKc~ z;~|KjCO*!)xd?)jyTDO818I1{WquBC@sraCigD6V>~7t%8!woW(u2i2V>`)CdQP}F zn7^)Z2)MU=GwyH3Rsj165IIT4Q2r9P1;&_VlQRw`2ZCe2+sd}vT6p!Eo;Z4MM*|d2 zw2meFIwZU+P>^Zb2NItu+2jV|j|i;?+fEdE$V{KH^_)pbk_Kpz$Z2$gEhkg=jm{MW z6Y~5G(0Nn@<+dYcM*s=J!Jtn*hWLY%c4W14U`Z3l_F)PmL&H(<(J0lXHp3cHnxdN5 zsuT1Q0akcAA=ewasZzn39{UcL*N>@)bqcpAzx!3bK%vopnY2&?o9PN-Y~19DhAW$G zia}5M$u%(A%YIQwBD54z{ktuD#SvaKv@2$3 za4kkuyd7M{A_*9?gFP+2r5&pOJZjrgYCq+z)u~G>nTXtzJ?bYkRFjr;jk*g%LfukF zyQDNK1&>I`t`h={O%@*3bXYMfV)w@f%0|!7FSsE5i*ZNgNXrrHMQTu5*?RSo!h&N6 z(hxDO+Q8BNr6k;ZDaYz7H(1ed1hCqNoJ7oxy34wrn2Hc? zQN}l{W}eTb#M(IsyQVRlfp6Uhx#}LXvrWF{!(EmzyBI&`z)T#__-%sPq_3CSmBf5F z^FN%Ocam}x(HBev$%F~}ndyooPpGf~NC#G2t1TK)Q{fP#9Q=1WvuFiP=qG3frd+eF z8yQm*6Mft4#u|mejAa}0^N^nsVi>&!Jj2zWLUTWBqk}iBgO8KMyNIvc>B!H}HptSw z^}OX|D_^ibf1=fAbX~a5bm_at>uzfDY2=RUIC-9eJEX_X<*DJ%=nYdlXwEL?s9#NQ z9GEvwKBJ>SGyA(i?UwYFr-gX`p~{JPX!&bD7zzcLJn6yHEo6E-39<1yOi4XeR>8=IE+H} z$gqaT!39Da_u?=E&jX8s$a-yIon%QPwkqZS4I>-y=09agUVpa zO68@zN%gB}@nYqJjX|xmtm`bj=78kV>@e!)fcI^3eQ+Fag6(-!v6GEinVRIwP6^Tv zk0lxK-`NB# zh!aL>U=bR3eJ8Nlm+tVfXktUiQyD+{g2se0p+3F+4bX5TX?QfLTowY(-1 zeM989x^5R}XrpoJwWKf#HN9}w9BohWItT(C^$!I>I8uM$HdQ`h>-O?TRTclL$Df=| zg5ApR#(Ke`U&)g>m7nU#$0AP3YUb6&A-+3ye_5`@@N(S!Y_s{3w_)_$xZ0vpIQ@GHpVmg{!S`~YsaJP!Eb6BUAuDO4TY%~waysjAMPfWziG;a{P2bv81EQRYrN*C1{1aTNEYLPg_I4EmTHMeR;%?7fZ zh=WdbZqIW^&Tw2`rQ5D$iUFCCS;YJa1?G0Sk=}q<_+)_C$bmq(C>#k(%+LiI1yHu- z;`m|kCy3#e_T-F}CDBTD82M9HDL4-Uh}zR=DQ6N!sNhp;DQ8%E2=vo!si#-D z(4>!nW!_fppX}`T!M$O5=w-!12V6HmehpKX@AR2T=FY*XG;|Y*q5YH*%_`EO7oK;()= zBkJYVK0X&k_WHr(N4BC<@rTzG_TzN+B|epIKO1tTPhp&0zQVsL!9Gv@-vdamr|eG~ z?EC4?i|EPb&OZNpNpIEn+j%+Ko3U{sNZ+|WRoA4J5mp6jx3-LsBr=Jd>9|u) zu-?$w2&r4ofK_hiaOfR|0)}lc8XQ0R(oqER(r8}+rj+!l!KeYHAj)|)Srx9jA)c_a zB(<>bJ$cwHG8xIhD}?ui%zxD?j&Vj6S~2LjV|(V?+R`!o%G@ECX82F<=eaOU_UAK;VwDMSV}|g9c`$RY%|7V z&jFvwMk|u^0B7iAlzDMA9S%cT3=jwmg};s@xaJ|tiBkk(1Y{fArg+gzCl1`d^bR!H zoV$zN*wBL?6f0ktVRyMog|o40SUak2aZv$h>>+bRrs9Qcw>IiNabBX~Mk*zLVhLT+ zgu}lkQOGcd@~E3a0fWH)TR|m9tCC~zmb~^|*U&6<)TXkeAvD24?`l!|(QfeoQC`0! zMjC={XgSj+>ddI1tRf@k#)Tc=AglT?c!Yk9H;3i)&ZnoW&jWe21|^cKB_qjot-2JP zOy2r#Hj8n(zm4tQFbYCKYFx6I4spKMP0pjjBGw#{;6dT@D6|Jk#E^xa=i*mJt}(qx z`FCYFy5-erM~}4 z3_yplQ0zZYO$^QXt*cVC&|sv`$QZ)}p=6703#P*3-M<$^U$8+wYFx8M{s4uPM-;$o&jzwP~aq7P2<)Wrr#t9GF! zId2mjc8ZQW=~-*rE*}zR=;&tWer!xVfzCCX#ZOCjxh4WI9Vkp~d7{KM`BY^(l%9O; zF%i8fe0oVsnquEJEL(&V1hIKcFIM3Bd2A7@iN&07-~wo)53kr0ON`2sYxLg0rUO;q zkV|bV&pj-1!k|z(+XP{e=5I%q;mTa|2XSjkzw~I*plXGpZ|Z0?aW#+ijKX|fS*1_+ z!E}$1YZHPpX|=AUa@*TAZdb6|_13~i@E1K>j9|=wEi2z#X-=e|qn{M+EA5b@(bTJI zGAtwixb}T7{<{CBW*(sx47?vPn6~tN|MD*}^r8OSKvGRx z=hkVVwfqmT81IS*F6&|s&rErwRfApIkO+zOY?c^;uuGa`SUFsODA^V+KaqP>*Ur~n zdoq|pv+b*labmx$V(1M@thR2o+PXesXnd4-T(2G?F|$w1x|dr1x_>bdSBN(zczgqj zuo?F|b|UyTbFHquSkTw#wO(PZSly0kSD@F_` zmE$Sys0?T#bymqJW?ueBNxfZuNEP`3a1t-Rw}^0Gpr$^NuW*Q$>TFh7TvtSLV3j15 z^&#%%>5wOLRbdt{t<^59sL!ugdKYOYNwOxkH>$~UWY|Bq6s%*-QAeui*=`5joH4hw zgf@}B@)TcCZ~D_Xa8=xP&KfmQrSRpHCfKg_%_3&s^amL?0Bj|^cZY{Gdd$2v!!(m* z!Y8R(bJSj9RGK)GJ1O)^`_p$V0<`T~K_7jqm$t!Iv+C=%YwDqU_wVeQ#VGSp$CI^t z+^Q;$sQ&g>wYBE8^m^Ol$D=zgq*J|K z7)r>JlahmyN#32aJI^yS&pWR|f6A@s%s4~#dROHU5W4s`4jM z$}=0Ud|3-HSWw^=u20k+XaZBIljzu=G-vV9Sj^qW>{zB?r9we68Fs_Db6!aWEBO;l@XNe=TrC&DuBn<}CBH$|h7^pw~Ua`_BZ6zVD2qqu| zp*=2pMW~$>+97@CF92A+l?x~{{yq=350+Ko$c%y{{neK}Hi+i0TzO{X zr2)8)_Im8`4>bTsc`XxV!TluZYMUbazlzv2Gsjo}SGrmneK>F7c`f%PBAMHiZw-405sEIg{y6VD zh2voKSgd`ys>g;<;hME@=tHY;&DRUu=PEZ|7}&!yAyc*%2u7S2YPz5wI@5e zeql5m#f@wJ07lbyH!*jrY@R7V+HPZJBQcC#VJl?>U>U|$U@4Og8iIAvg(Nf%AuEz0%HY>& zB{IQW9z@HcmI{zd437{_<{*{|u2Uu(F_p+R zhyoypZj?p?4W*m@rB*VER#ciwTT6)sc4#oQTo)91S*HIp zC-)}jEtuRn#c%OBWCKFa+bYn~YNJwc#X_2F$fp`tffJbX;U>j9T1NuB^nkdXSCexQ zF#%1o962hsIJ7iaRmN{g9^p#p6o-2;0aT@1-;{8UBX))i7j!D)^H*J>Zvi~~{3K7^ zeuOz&+WLrfrI7afYd>rS6<-TRn5pYGuo!m)Bj{F6)vD_TC&re}nO@<;mK7 zbL4S@`NWH>x8P^ht=5QyFlxuNtR7m`&Ajot4O9FOW?Y%0V3TvL?z+fI_34GBzFA7q zs+_0;f3Gfz*I4P8t)zj$NTkd30Vs?FjkG&|7T{Hznpq{76?5xsfj+Hqsx}y2M`EW` z7m_#`+&R^dP>{|HnW;t;pP^!VMF`IH_X6pCnt4i;ow4LJ4k?;}^U6cyf4*I;Xb~GYX;fvQN}q96{luGS5dc$B z`gq!ixfNe7JS0T5rxrJ;z`|ggCyo_6s^IFnG-xmd$%wT|V#NkfSLbGO12~lJLw=x9 zJ+zmOeHYc0NgaLZ>tIsToQ|jVl=Q&83Gd%)QerUXP5xDBX6Es-_@?F&I_}RoV}W^3 z!=Cp$*R)z&XzXvzf|@(o+f(|zH5g#^69LZ!IZJww9DcR)_Fphe=08 z?PHEu4mw)E3O*e}4yDYgi(E95k;ZLW1$hwHO7yEeZgD$OjoOU?JBu~5>m-zJQ{FT# znjzO|aXViyetq3ar>gY7WwQ>}|bxW$Jtow&vdP0;L32@K3Q$AcAB`35E{4XO;HTYm|<<=Vmu~l^0WdCHe>4>v%zQ1 z{+FhSg0&3{HJP+QKp8TPE{%m8u_44#T`YvetgTUQ>$TmaGlO=+8yB5$6x20?tIFFN zMdLYN{ov2*TQa48Hwv+`KKHBatq};3ehDMs6|U;8qc|?N|E&u# z|HglGmT`+mEO0R@AOv0@ZP$N*tc>2rfvzeuAKRj>$Lx#N=oQ;DOed@ZPQ6+&EM6)t zM24LTLAgP*QZX%V%2dc4Yov_2M2TPEB;*)7Sze)23_~!YB!q^o`bkNzSc>GyIWVGz z_kfCllk*p`R|YB_Q-^D$6e9hjJp+ZFh2!)HnG>Id!S1 z$i*DTH`W-(hNK#T#!N)L2$k!+NZn0=>39g&mqVAFobvds_3p zG8{>*NVvT4vighIBZ%bN?QgTrx1_pPw0H>XhY%^95X4k~;1{B3Y$VPpl0e%~4O_Ms zFEx4MSfKcrZd$vUG1$uUik!=tVD&91tE7Equ`O?Vv9a}tej50C?+QUL1%N?AQ*ue!8hy9TXTXq zjV1VEx!ftisJb3ThlRQaRI{oixrkm6Kv<$`BUe2$cxwkoISYZGxj>|%hB$?{YX^^$ zb^sV{$QW8PQJd$7yP5*((bnGK&@{&~fA|`cm%ITzmkERI( z{~;2`P4u*aR&2$}mlmdV;~+@L_z?*iDdpi$2}iQv5<$iEU{3-8%Tz18YXTcH3JP`u zCr>OJge@?o*Qu2>z#l2fp_5x4a{VM_B2?0>}7Ri-q5U<8=fU)7uRi zV3QJ40$6S@W8*^9!}LFtVf1;PnQ*GH(e_mB1$AIszE2o%qefPfc(PZF$>yOR3Y2G9 z&VQHz`U}n5Dy;mAjV`0Sj1hlcu)(_xHG$GJ zsW?m2RJ9WM`{I_=vcd5>)-Qa?O~U|vtPK8aFhazyL%!0c|jQs?Ik^}gAUAU7c5LaMA= zt;=4UtH)21R#>gvlUh0ivfUT$cXn|Nvj=`ze6?jEy^P#pr^d`iVmRUV$a!6Pr9iFys%y2)sKgSoj`&;JUXxZhNb1gV3804eQX4A&q}6ouXcCh2sQ#eTZHT!_H6`w zh?@{bDbjSA$+#{S!5Z;_5s_1B_N3D&A42+fuPKO#WwYdPM_(Mndd-8(c%58j5*L|gq{Q~2h|6(1HA1l{BnaZ3BPlJWP%7HXwa!lO- z6pI`VUO&A?U+PRqjIyBV@(*6PUEUW@mSygLA%^hLa=>Aux{p1Z<}jB%8MPdDq-G#I zT~D+oNbIak)l6Bzk3(~;T^C}XVanzRPw0xRL#&}TB>ejdc6dF$6N&8%Lh zXbjh6^syDY-sNP}h(5Mg>n++!)h3RIHRPvhUAOkqib!TNPn2=rBeq$pS+pL#-0^~$ zpM)5zZtK+5WFNc6NJ%~hF=>ht4qbow+@mA?@b{NqW_e+1(?bSxn8 z4rxk~Hw3D$3u;u(P)zM>TeE6nuvI)B_)aBot9W7%^Dq9dAS7hpKEykfcgPAK;hKOy zSMGI`LZrTw9^lN2P;9@j1xLh41+jRo79qx)S2K22X@pm+WcBnQK)@-9H&vADO4-#> znvULK$hY`KUsRLW${4N$o?GJ+cWDvooeSzQtO)CCHx#@?tTL2J*G7}=B?=1lhUxeb zbJuI%e@^zjb@E1_lSr0WeiP~XbsjcKf6*yUh!EnH+N8Lk3`SPn<|hUlwHR)e8A2;W z6s<5m2<6!=g$FX&Bj`tMVirYko z}t3diXZD}-l#FfA&=Ay}8H!d`># z0ZJ6`@UnA-U`obrw)m4_E!> z+X^2T5alP;wrjdtP{np>g#=uywXvSt8bw# z5Zx)F8mB;zAma=)^`t8Pz761jm*!r_vu6P*y4!CI#{C^YC@Cn68KDOtT~Q;EtW zZ$Gz+lhI~p_@BG0o_8~WY^;}0F?@ZgzSXt|EuU(JqYnGhtT&Gg1utxFnF_kwn4%vZ z-D!J!vE*-s>5gAPn3^%AxnAau7(WKr-t4|zL9B=Q;Rm6mqdlu2t2?Bf3hNW6IhN{- zPgs&A{^Hn-J8EvI@+RI$8ky=&qKKfXd_YWSQ+lsmYG;)~jfAcCS0C_reD6Z2_s&zk z2nXj64wU{)!64zV=?I|cqc=76pp%xpDJdh4LtzU5-lcNn^*7xvL%r3RzECcv7+pCI z1T-_y4SCV|2EXW*8=z2s9hVf$ZcysM`S10O z*R)I_f->D|hxou62%Y zkMqrN%+MpNS2Dk*Z)NO)@6UhEQ#UJ{+U8B&n>w{>RT4f^`y!Y2`eF+Cw{^C!@#1w@ z&{ezEP1Yd%F#5YKCjRkH-UF~5wE1X8srISQDbUyG9+SHv#zPQ;o`!N@X)(7!bhqhi zLa1~-#%3@FbN{dJ`nH}WtGjAWv#D{MIAk$dGMV)4Gq)JY#r_i{?p}|vQzs{NccHQ(EH%ju0E{wR)U zl)20RQ}ps5N*NS}eI{vhn_&_^XiSh} z8w+_(l-$hRh&0li1_#34QMqAHhvN4w%RAc^_~o@%HSaq@z0sPce=h%VmzEtHO4^u6 zo`Qq$^7QPNH$Pz`w;u>%Vmy+?0fFJ6H)PjbH{SY62uc#h|8Yq?aT^Pocjw3 z@*lBz^{uDiO@IYFPoUN(yzJGdzc^m-$VHKbtE=?0d-zDnUP#q8=#ZnkYmfao zE?jN!N6z@$O!pVIpqwe~JoNJCO>0UYo?dJq*f?dapy~vL{Z{yG;|&v7!ODR|T{WYdNjq!k4$Fvd$cEJ2u^qMxzC}ilpHL zOT7+!XNrEbGQ{tfG3_jsNb*f^8QGyHW`7yx=KNYpQcUh_G}98)`b%A7+hzSjU!Zi< zR%5kppea<3oW356G>l~+FxhKkjBIZ>HDQQ4ThE40iMbtyD&Jzqj6f+0Ie2!BTCYYK zRo3+E3}N;peYph*;?eWQpuM14jV=d*TsF^;08J?D)(Y}|ZzxlQ>V`$`E3mB5Ij@Q39xG504s zpGL{-t!GB>$75;Fz$oY6f@KIOf=1tDRcjRTZd(Nj6*l8U41{=ve3&7BKPD_5IU0&Z zAmm|1n0Pjfpl}~9!sBFt7tzy_T2~PLq}CVFzebA_210S5+O=IyX8XI|Gu*ik$83tN zUkIbtq{za-o=NePKk?_qB?zc|NuM9U3ACtE9}_u-fc6SXh!sc(z@0*wQK%Zuoba>_ z_Xo+7V#uZcAhr3DW3K8-g0Krsnf|T30gvfr!wL_j56mMTP|WzGCk=Y9wdY1bgRRrm z$;*35(O>so9gmpZmRl_{9u>+d=xuFtL#X4^pI|KP{_1N;zfZSUi?`zw}Sw(9>n_4~KD-?6Kn)AZRTCV?|L z9!K60M}VUj)Bn_hm!XED9`yv0o%A=zI@+S^AnsUjG_7P#Kh&J3Ib|wcj}qb1QlTuz z^V}NlrabhOW`~}g8T4Hg6tU%GYwyC1Am$X9pb4v=3}_8xvBg03LSbk)KD+4e51ba| zrnQs~FD6ChUMdHTMwO=URdiVM+Gl+t#DkjeZokF%aqN1YF>Y43*n&%KR?-W_rX~~X zYq!C;zSi8%{{b{W%fJ4HhV?@F{j~$Q&rE|KCI=OFu(BL_nQ7l4 zi)lp=K}iZ>Nd#$`|D??P7u`UPQEDPu2Y0dFPanv%K0Z~WwVdlxf2I1nA-NgsdH~4t z$xCaMqm-h_d9jm*5KXS-RRf~Q{r=Q|Bnl35R&03JAkkQv?~`Hj)oO>=wH)m?92_k{ zsDX?$1j|(b*cw2qR)8!t1nXCX#F-PE6#;(c>{1CZYemLNKJ#I#rA)QDT37jX1?)zqNsa%xC*Jxh?5 zl{-siyq^Yh+xJ|<;<}}EK*>U;H6EY@CJ9nqzt@f838sFGXeCKPE5F3>j1j`Q3q%;E z`F+CT@Rxb5IB$frxY=wXN?fiR`}{#FAN# zJf@KUq!98xrgL20;;TVF6zr-HbZ2Nxh9RHViNtA-dGP_;u%6HJAd!O+&5KH`UcYSc z8J+lHt6>y{i!BQIxfozQ|8+yAcYYNNUt03aD!Im}DbIsn18mlzFR$ILuTFcA z-lxWC@8r$pt4~6bN3T8}X-S%+g*I6cnjZ{vNDK`otZn8N{ZkW;v)6EI2 zZP8t9*PX``U|E1CV$7tT@fFFJ7|vK8=yea1P4<*Q-;@GVIEeq0{}UOPRM{UjRWh-90XyU5=LOP6pMcfM7svaXLY}c_>U>8`iL*9C==cxqs(7HSw7N!0D0B(Vm{EK!VQI(QPL`d6)GT}&o)-x zb_wi6n+(Y-R26R{aLDL)ajX!>i6IUa`nL3=aGM_=x0`Lce__`Ypz1p@IyIxuk?3=T zKCP#+lSKBPnNYR^PkPJ?$!U_K**)6m^KbcTtA&(YAm zJXC`E@RS4}5kPaK8}5Vi63%KNQE!GCtd_TOsXRAqC+KQ;@&RV7qs~ z_KI=3n-^)jAeMkHC?T5xpO!`rb6B4h1U#X6gm*x=~&uGc#J4;k@*) z*}|l39~&j3n`-hVG`;A|MDKNrZfbY#zz^h^4jX#$LtR(Px`KX~Bw)bZ##w-He#1(C z2WzJL8P*GLxQftGDbF~F!YT7@REB}33DN|S?YT7R$Xq%9fZOJFr`6cp@6avx-IN$Z z%I0|Gx}K9rYM_Q7rb33D&@E|X4>^jxlrXAPP#qD-Xz#aL-zP*{Wlq9e3N)0{h_y=8_0xeVxKq6^LTBPcF!N8sp2R@zQe%Ni@+)bl&4uz}+;7m5J zuLyZ}8~XeB@eaOEWc&8GQ9$B{aYAQ$vC)l7H0Ym3P_vjYQQb+p8KUlF#;&PRTB41N z>YU3XsJUu?!8%~>x7rjN+H@9)DyoRjy;#&NEc0vx{Lx_`r^^{Vf!@{<;m|f z2c4at5PCX0M`^$WLBFetf=$xK z4w(l~*ejHO^!S3+kLl{wDmA`o*i(C$zkN7sh`JYIX$B+7K`wzH_w(llZSK0kq@Szz zRrp!XLmy|C;={CXCH*G5b{2%?L1!8i&*GUN-B^%a6Y6~&Yy zTd%H=rd}LZc2A@_Na$ia=x?_(@l#DOD5Wt)Bc>MGZULk|MViFC!1W_mJbzJu#T{a% zB9;BTiZAKZH}LR#hzfh5(YI(*x3Dnyx-2vHXwGH5^2igS>G!++{^qXS+WJ(r*J+uk z9J6E`+u%xLEKpZw+y0Kz%HoujbWLEq0$CM_DI^4%Ol$^+8cXIvJ5bdMjJ$O4Bcrfq zRGLX~=`(!LX;mKUiD|&I~^y3RK zw&I?I(w&4?C`XHAtxkP{7xp7G#3*nzl&V$-ih%W&6O)$ zJ}z}F18(QRS2ij?sVeo1oCzhH9MAT1y?64xn|pigy*)(9u2qq;NTS-{zAUyenyzs1-P`VzZ(h_nnqA8Z@pu|am(Hm5rnvV#ie*SF z22cZC;?fwZRxs>P1PyvZ7n@@`7_6_Cs}c>zYCbPf>=kc0iMzbtq(Yv4_flEl$~ZmJ9K7%>0MZHoc)EHNcs83%Y!HDcmMdlotqj&q_|DOjFi<@?%? zs$FlhjpY$`utN(~TppFIsA@UMXz=5{5YIiB6%ii~!gM%d8IqfV8SJ7e9H-P~M<391 zYsc8eL~mqtTQSaV-(?z8cWKKmbmL;Wh#YLzWk+_QTO-ruQ@+Qp>_Hb_rU$a$rpKP_ zL05OChfLpReUuNN+e_0YyY;9#T2>Qq ziJQOv)ETF|rQx_AL8Z)dpMei+%2L=$`&4R#5Nyl*fFpAtcEPoEXqVafZVChv12v+K zAiGJw|VM+kmJfm$!2Qr4+6DA{1xJ z>1e)%*BgD@AJEGUoYlpnXV_yh|wQupI{ot8^5~N`40&s#fKG!sK@eGfpW0_2{fV055S)oN5vw&h2q2n8n}Q z#ChM>Qh)uKdsw{cG@rc;-8BzG5458+S#{UE?4HYa-PZGHo*UlD4cB6r$tT?+-|U(v z-*fTk+d6ou|E;aP#FJvkWFXP#+fBq0wmIZGXn(&Fujv&8jzr>{*x6$a|ILR*Zly zf#_i$u+h4!iv?O8edE!ziYc;TX!|rK3F#1qF$n0g3d2I_t$5>O$HKCubEaSLAF zNradet!4oFAdHyt$P3-3dbNaD17c25946mt(R({H0`p~W5P?flA}(Y-bJxmUns)(q zGG4Sco(kf{jT9IX4=m@n{N18fdVOXmxV>;hI*Pu--H@4TNn7fDnLOPaLFvEZwKPZ+ z$!z(S9<-2`8H#ZzAwiSjW`qNqkN-e1l?RfZp+G%svd_fMl8elFo_Y0hO?Y1bX}4~! z%pDkQp_@c?Zn=-be7~CV>ODPF6R~nBr|V*Q=ht z5S?WIXNd?eQ5+#ch*Rce9+HVJzW>ac>1pxmytEj=M0_7(9GPnNreD0YuAXQs?9a9`D1*)QJFcH?mPMne2P_b~iJ}20?!2n5)teAvNB7_8` zJRhc#tA!=f@oIw7$>{aAwAv(0#Q*kVU{7G-4-|7w!WCbB z{OUbQ-(Ow!q!j)JP)h>@6aWAK2mo+vT}`lnomeF{002y$000UA0044jVPtJ(E_8Tw z#a(M}8%-7dj3xhvRRn5-T({*8MM!Cy@*2`4BtpsQ{N*_5YUOuBl(Rk+^up?dhR^?j2Qk5) z{v@9=`HNo}PJhP#%kMf&zxb031q6lkU;p`E!MMFIvZKq*ebF3cr}b)8&C&OXoX z^Xjh1ex0w1;ov*?W8+V<)1Uk(yQ-T_Rxh$Q&GzmgZ=OHrpad#Ft#?g%cfZMg@Z#mq zvft#p>|I?qMfMC3-d^6^1jzB3`^{$E{^I%bxdQ#kkH&4iZDz%yZtjY4St}lU<9<-= zkIVFbr**X{s!jWg;b1s8nbzCQa4@ObO|zYC%DQTYgSX|fz+dmz^L)d9+-%qDy1}sX za#mDr!3V>`0>+mNDwJ)OXX`yujI(cwrg+k35BK;xD>vCnC~;Q+?yRmB+qSIk#>o?a zgkf#5Tx5BbovhbDs$Oie*C#iV)2u0GO_38}&V#MO%5Epm^v9>Slb`+YIJ*Nivp3i8 zfBpNDYs_2D?nef3ls)8aHqF~&j>j>9j{Qx2UkwLmz@k_#vxlbM6d4F8;3u!&Wml&_ zWuDz$-#q)-i*cq@h!_(no+>w>Z&vQ(EK3w%_r-EeywB^uKWPEy=-aZ{Z1ZLII&aI_ zQI_M$awf|g3pdu_o3g@yutwe9Y*x=XFM({inoXU}xB76Qi&_9vSoc&&PK9^ zb%VVG^{b+hY49LG7*z{W{3zc7)oMe0iqGp3+g8o6kG(a&9KZOXARyD@Z#*Pefx3Zu z!VsKSKQ#5MXu(*^A{UHT7+6+wQYX)*+dB{s0~NNw!l!(b-DC8$0Bu)g%gNf}6R=+n z2b*$LU^~g|h0&{8?y^<>S4=NLD?e`@`0!7DM7S>n8(YASvb-S!-PaG&?q{ zz07yT{FR{66z#@2?P!L1js!7b_Zhbi^KGkVz@^^K?u+?2n~*B;$9%dhxYjMG(%Wu) z?K`2Q0~D-Ro`3n`#rLRP@cn9yog$Qcu_+pSQDONT5RKA=IS6K1KNQU@Z)Kle*PDAR zdzN#~RUH-(Nb*2Y{FEq-T?aY6F!hR?&?j=Z}E?IJ8hM{xPxU=S34qnpMMg@ zAQhC4me9t|A`74bQdeY!tbV8{&<%+U%6~PpfwOoWi)&-PJE21%iNMkw8NSIe-7f?SHk=Vn5awG;QImW|5S9kwH zs8?qkmqn#K%GTQrXCqgC6w=kCNdsY!B@`7o>iqKLO?LGCqtVYm!{MNw8ED3IFu`xcpc^vmf7=An3cI0gEZ#GL=4I3~rDC2#W-ztIarj3%1ySZ}3-D zXMfuktxP@=tOBSH*+R#O)Qiw<@%?b{P%f9)iCMAcX6=*&#j-7^@-D_1h<-H9XCE`L z(Gk(eWlafq0TbA5W10{X0J$sv-Kv&riob2krr`cyn+&g`7osIN!*C#+TFq6*w>AD9 zs6EbZYSNq!EadnuykvMMeSJW%GPD zQX$6w)hm1p{4fU6LNz1PtOV17)IS4v;eHHMGy?adxs4@(u^#J3tpSrg`;oWX=q5BrM>+u3LIGP&_+4h9$M4yr4tC zI`y{NkTjsWPW!Pa)=)ASv?yM|?rp$t%Vja!0NWD3`|^BOUKbE&Y~K`2grRFyr>pJV zUD3!Ma3Kp!Gk39sN`2tMCkrA81jSm`H5`!q6Q&p?Y>|=0$?;}j_=Hm65KOa}WDYQi z7`8P`#Jo_wl26NJxhZLOchD0J#64cwAhoo__oR&@h@DJybQjooV3`Aj71 zfsUAJN`tu*?%F~@ZY!C0A%0|B$2faU%s?s_gOTv93?^do;0!{sg~Na+p>C2%m-VI{ z3!%5drVw6CFZ??mk7>?y?*x=s8xUg+>4pI3v{eiFLHJm0X8|OL{t7+;{|0}wG~s6E zTtybuTpVM?abD8j1De#9knkVAAonU}>YS^d|A4vNy@f6K**@lX)LXE|Wn~to zUSct%{sPa+qu+^-&0zwbWpBhTtdeIr-bP`32tPi(eDQKT#ZsPGWW@L-^+*p4{yPQ} zk&f3R$cUj%-5-vlWmAxVb$xd7=H1zN^LYaxw~%qFk@>2S$Bl@serkm$b24oH2?9iq zi+U19SnX$BxzhbBg=~%0jxmK0B!oNs^n;&2yF9&p#whI<*|!ib=uvSRW$2_TH&_J> zP(c^BUWDimtmh#`3}m7kYqNdlN*<)Ukc# zj_>%*7~;}h|)(r4vujVEE z#B#dDE@SKz5Lf)MB+Fyp&4B9C;poqxA}hoIctBkM3p6l@N-(ERL6{?J_`;tnu=Q%H zqAH0MrJsoVGP~MNF=J)~*WAGZs~-v4%VMz!7%jvlHKK4q=Ba965<1mjs zs9}aiKl@L|P(U764Kgp<@~)!mK=~8#fWZ^hF38dE!7uH-fpQNC01b&Od%Y93ZSr-w^xX7vdOvff3c!1DwZ~73fa9xDcO`L84|jidF z`Vl#PI1qmr^Il?x!%Ob+PnPb0xU=ebOO%6^COex5r^)0VhS^iw_U6unL0s)pHUC4| z-XD*`ButML@NPO;qPh`s-4%>;?LqoU6+g#kIViGpM8M+e4A{*CKY>zZh^U7HK{b*c zs0MhFBZxk-m^6TqI4H<#&4)L%6S9G#5L<2vz>|{vU1AO8kygX(c~LRe)P)FGdy=^3 z?MM3!k8=+iNSH*6K58tAqM`B8phyBxIJHGX4~U71HRP&vU)E@LaI-q38ex76*64-V z;|2Ni7kdDKn0$wIrwjpbx=bSvV^^AF`h%k{BGHPU=^G*O3E>O}__!%a7M1sGK^>dK zRxP7&^Eb#mB_JZO(^W}Q+Hh<4cx+BlG)O&u=i@sO!jX*zpumRwxx=9VbW+VDTJ60i zmsZX)uxl+I5U|66=blRA7pK-6Fv_xq5ma1-X@ds7IzPl|8i8&ez$cqxP51ig%VTg5 z^dYQYu+VkY*=FVQr$0ER!>0k0s;l5Y+?Ai42baZNzEsoPQeC@k9wj?Tc+cx5vP|56 z&9a1*J>gK-g->irqMA8SmN|n0ZI(OcZkJU2mQ>u3={Qy@ifz$Tx9v`{nYP(C0!x=pdC5^P{cA3CcbA zUIltylc3_7sHlFbODzD=;$aK2Ir+7b(Tq(tGaqdY+`_+9PegHo$?wYLMo9y)R;?3lCa(Qv1!(Xsii9lDUH5f;? zi4{6hpO%{)1nY-nw=YK}4l2Z_N9wDuio9y0O?)QF?!UD5aP6w+aX8~^X3}O%Z7&t9=vdtV?GN5GCL;*S2S8~pbUW!1mS7AAh|ks5En5&V>1ZtTTv73XxG zuSFR7VVz60JOq%;gp&F5_8zd!u7Z)`@)JK|lvJ$D;Lz`tU=XHDGCA^~nF1_+yQBe; zsVrH(BssF9zMVTVtR#`SEG;$@{PkZ)S{1`cnK~V16ggqF6yPw5-yRt~iqeoSux~!C z?|L$Uz=tN4rTOm(u_^fZ9Rzuw-t#&XYSfOF8)4Cre3G_@l!_0cBB@-=y#@zBu@aZI zAg98D;N!9+>ruS9OABsGL6xcOXN7wXiJL{~7{QLv1mdq^w)LVdwZU-UN;C_epJvLT z(LP~izIj)+RI-Go({gHEiC;WJpKOR!rF-1ZeGp9`E=631YK)=+1`eEBxglr|p0NlE9X!q%XRQ8p zYFt)85(7&6NaqXoCYUFf-VM>wt*7U^X@D0ri-?K(;hx!&6_BXT!Bv|fLy`kY6@fs$8!3FSg;f851fC#_1ey;2uMu2n2MJq}5rEnxOT zWQF)7&MirhID6#0iWtN=1&Cm`sHtroUyBG#$39i&4P26}!=EVCw^kPkZjL7-mabT- zMUA!!gpgfnM{{M!O5|5#?Zt!b4|b|EPMkc6`onIBNp97Pz{KswohmZI3Sg{vmMIrGp6=s898vrp5c{#R>HE6hr1u8T&_T@UffRE(p*f|szJp=JXCKfahMe!16&X2AXSunTVX9W#LNNqJDp3Wj z8n>t>uu(!01QZ60bGU-mhJ+IAT@o(K+C}NA(s3A_&AO2w3H&u}a;m!{ zwV|rAqsQT58?4L7RhOAy9VVQGSg1zM#zZzh1_}M~xl^LT2IWiN{^3AtcxnRPv4e?) zHl&R_8y`Y0O1JwCGJ^~U9$~x*{`5G55TN76+Ba&`xujLfaiSfKpnEgp6CRWf4h<2q zeGcLx6g}}h!eBF6?ViEO)ZUO3iKqxIm<)m+*2Ck-7znVKUxy+ZIoDdd7kxVk@G!t0 zLN@0kBHm(2{g1YV2aAW5Jn(5@6O9hWgFuOVlhaV!U;rr>-1B1$*G2MyJ?>~wmKJKM z`9XoK@wmbx)L1IuK#{2^$0~bJ3!C^LfkNU_W<9MN%_g!ir|PGxVoHY^N$QkZLUwzp zw-B7hQtZgnAjU<2(2)jH;m3j;z@^h+AYqw1lPovZ5?g4|^+q!ZQYxvJ7Cc7(0zB|d z{lEwqPcon^gy{`RB;ymf{5|QFJ?O`)%tS8RMA_|5`~S8J=kh( z94M?1b+)FY0&xRfwDoEyhv6kk6Aftbc%QF1v{XboJC=m!~@rSa31TG&C61Iw3g zTX*$4X!f>F-1$%-(@H{0jnJDmE$;K>!dhJ9E6r$-eyp|69T_^&x;$BaC&|7N`7ykx z9%H3Z3+-_w#XKyY0^`MylEM2@ca81RvL|@b*!I+^XL!aQfLYm~0j1qYcVVZeh0KDL z>Jz#mv6rMW=V2PBDp&?WCfShuA-elw)#bfZ zT`a)ARtbJfDxJWfJv$Y&p(h0Jd63VGy0ee4xMY_p?KvFedGHVNDyFqFOnG0`()Yz^ z3(lJqRwJomvWcny^@kY+sPhsj< z#)qu;#a3*k7wu771)s-Oy5NTd z$c(IIRZvIBW?8l;N>N)}B(qu zfUsUw>7EEIH;g2Nh>)IgyE?4It9Fg_fz*nva2=Cm_)22W_MV(xph_U3@U>LhtKmSq zwzVY@Qfxn{>T&O}!yud+|AQONyo@_CpF-hiZpi?)h&SrS2i^43P*Cx6Rga<&iI`7Y z9@WA}P8)K1uZW1aF&YBK635{b8;8}FJWn^LyP?*S#F_NOfS$0>f0LaeapT^Y!=aXF zr+}=9qSd}uKnaK^?G3Sg#jyBs%6ae188nyL`z{Z&V5h{;_ij~EdVWVIgfG>*OrP@P zmgjO(9uA5FD%ib=u**L>z`tH?D`bmpYunV={lW`|$Sd8Nz^h*{1L1Ztnb~L2IEQ=B z0*7MdEFuP9n(#hh2NSFBW-qm?#HbtY2v-vvR`rmQ7+$=0eg?whQ_38K*CD1m3)=%L6@^%8yS zx~LYN1z<@2mKI0dWk^fkP$){J(5kX7)}Gxl*o z86M8L*>sOa_{LjR5zH@jQpfO~hB|L=w8 z0>Lj^P}gxJN7)s7umyb#N>Iat6zEKmWN|t~t!tXzau;;XbsP6LMxN-J@@e6`?rK(8 z{*pFTEMBzrX5jhXKDDf{%3{8)DEi@FOcSdgknT}n1xHFS{6da%beJ&&hLQbWXN-}e zWln!pJ4Lix!E#a!Hl)_V<4li*gjoSUR#c+z6w_4hkVyW|6 zIy*R39#h0q68|a>Mn}CzDomk{sNn*5Q5o!O*mjSRM~^aOK(1{A`yob(dzx=#-(pJ#$9IASBMa6ViKa!2bW3wp1n8b2=OPoxD!O-ZL=jTaG5@NgIOZONXlx<014qe^``UFx``LCY)}_^dWYttC zk21f8<(EEIju-pA6mW9V z1P^G!nWT`G`#Bpr@r=Y5cyLqDD4QT^|EI4^RZ)Mv>_x4&(+$cI(&g2LYKPtYqtssD zH~`x()j!Ea&%W)oeT5?((RfXFoe>}o)!$KvSe>qM5PP?#k70KzpfikvLeCWP@uDjN z`rRBysAO-$fsX$41T4R(eJQ;=Xn!ac6fcYNjVeB~a3E%{Z0(bX7>9^vchuMt6@AWw z#P1^STb2T0?jbz~GaN+Ufp&ksrTeYqV!qmEFod@iVT-#U-(W&*x&%hyf*>-Rq)jy+ zM`8z>M@+omeK78K5kgq;k!^( zFC%c*#Pj65m*gX?!Kv6kz_uS{dpltlMd~Dg+5@0RX4}V|zam9Y5>0G&VY_9~w?S6+ zL?U8K<*=^ zq+k8mQ}E-{89_S*rtP|WXJxG`Y+Y=&xTGdHvBQBx;o4C1^kDk5i(@Oc6Q2rjG5e?$ zl>OMx;gcjeAO%wRL>%-)aY@`@r%@>Q=bu! z)8p%3+!G}&@@M1{FT!-l{&bNx%Ee?Yx0x*HAl0f|U%oqzjaKO*VhHy5`u92vxqn?4 zLFy8C<`t`_$$tA#xf15y`o%J_!%KuXN>L<6lPqVt>v9-@X-i+9NRhM4uR)~^@xY0z zvp~W_gn2R)zuW@z*XRn<8aT)~f0I+sn4rEJ$oHWRVIF`yJe87?ExP_OL9;u`GEyq*u)MrBwKxDZH%? zvwBG;>$X9Ep$B?6=y&~T>?`v-FM~b({G^=Q2PL?}G(piNmYf%;u=emhCt9(wU<7P=kLJ6);(m$p9o6qqa;=B;xDs{vE)Zw z4x*uR6BR3S85v_iE|gf*>7izr;_3EnDJn17dd3`;X6ocqe`HGJ??S=!XggiaW zE=IzTi;K<3R;Q{T91%PS7Oz~59f{g`@wBV*Ul$o;;^IX=a9Wp;*!dO^( z`D0PDFMrZU;}w7>HIM6X5?5lL=2I|m@#s>_a%;&iHs@%G)~M!pS_lGUy$+Eu*z%V9 zWnY2fwO_9e%NA&TFulO9+{g-IX8S7X*8|&x;4NBezigVHx=4+D3GqboBUgQRw_kWP zx%3Kbo)8gyaGF8>VLb|l6BUTUJ2uyry$}s?2@{asqVJ3XrzOigB$8CLdPPS+CHqw47pZerN&(miVlC@ zgIyTSiAEe4V%oNN3~)S`Ed&5# z?`suTNC=?P$#jHA-LajRK0wE+_Zk=}1>()8mW*G;dpmPe8wY!+5<~uIzg{j&vd0MT z&|0E8S7R*0b`)D%>NRs-N)`6 zNsex<`)Iy_MAo0n+a!E=CE+jcYyZ?Or`Vc{(tF1Y=bw!wz=0Lv^WDxA5+fdyi5D>R zHqoY6L})Qv`r*!4`)!PRlNq33MbKa2uncJ&r;9z_JG(6j7vyNfDy@FK!)6;>gkB5T zu{}L^KK50Zf&pEFWb7XWD>QK7E;!#Y?^vV6Pz|G?MgO26Kd}!ck z2#9g-B=Ps$#!T{0lC#ig`q-%LWpB?zYsL=Y&hnu984i|tssjAorDgY2Q#dazY@O=` z3|wy)`f#A&d2UPY!V;NUSoKr~N0Ll;;sGQMk0!C@LPDHI&dky$zju6d6`)5iBz#r!wKXI&X z?Xj%Ye40MS@qon)8S)~m`k*`!;Zvcf1i0+{^`?v{kOwd2Hl zJ-c`4#=9Wh7%Os#=VO%n`B;*SYdOBfP{ll0t7Cp6r~CGfhj<@lTAHy}F6^DVs~b!l zu~l6v=N^Tfds!7x$1|u@6o7;NeWY(vstEM8y#kVZoefyov5K$N<%ffanPDU^VW0_c zMu`c%Jdi3m?;c+j5wCaZP(jtW%4p01JZ4}hNBief3+iu+f$cJ*R2`Iy&hf?lt?1t7 zN5!DCskammIdJ$^m`{C>V9_ES`l^RURo>%m#(+5oM;cvLO3cJwDc@Z$~iV{jp2+ zqTj3XC5EPv6_+$Em-s||N{Ay3SHfXy7h0N?PP#gJ$I#hUOQ<4Fq zpM9%)8ijMP+c*x8CL_vh)b)TG2J;^}*AuxUb1uhACBNe@_|P|7;VZl0klDWIoyB`i zgMY@$`|&xqB4+;#$>SBnbQOVfAH!-SR~YvO=+T8u_cCeau;>r)3?;k7_ML5u-l>ib zg<-9g0R7-)EX8)OF~Ib8Q@~^Hcf4LBhL*!Y#2}U6f@kLI9eOTzu~{IwYCFYdIQZ&? z3hs@>Maz{Pl=vn7zO#OtPWQ7Ex1LFE(-?u9AfF|Il+(6bW?xvvqi7i0CJw%hj;eef z>n|fUS^7p3{v)(z+Qs_$QY2HTBQF(8?Wd0`l($~jUb2X!!?od)Q3EnAo`^3;2rKj^i}o8 zhKq(e^tVbGX6Ss475U4_T!F?CZwfiw*$ohS2W>txZ;1OuV=Mk^_*yGQc75Trh?^h$ zbU1$%Jc@XPemL0g1z+?S1+zJ?XmM_zGVoFG8HPEnnA>t6LrQ92cIjHzrwZ!ez^Ug$ zv#X2`2T6`s*A%bFL0_2B`Y7DB7kfWEjT>%)rB!kbE<$IN)0AM#A#O@LnFmhYbI_x| zk)ocuY`Nr0!qp8UGWBwfJItakdZrf=rQv%Jl6~Gi%#PxN==BEj(gsxkCjFw@MDk7S zskmaY;tQ@znBSKF7>jtCtm?jqNKa)%dnT!^qwYdgZ&W+axC{pvTL{6ulds(H)5uTR zv3a4k;Af)xCm;-VOKuRStX4fueUx;TAFD>Opg;ox7;Q(by??l&)jgd`j~kKt52@4%ZUf7@pozdbT0d#s2P?mZHl zAYBTcPU!O(A5N0&N}IiGx?M;szM4D{QG3!R{d>K@zVoP>rXaMPc9ar&gb6Tgs$&=` zw8McxkWXQ;=KCsJEK6vk*d`KW5Ed9*u+6oPOnhywwJJJy*tVoyqIWxmw)auEL#ORWKI)LS$qj1Zq6+mM;?Q0{RrGRV%T%|w z_6zaLxD&C3o$3tphnRy~?hPkTysNhq;Dd63xf zb`U(C9%c873awPUhoTp6^p%B@Y~VbWiAniK4!G#IJ-R&PAp#%84F3;)hAVJ!BvoFc z=j~9MM(sEF`Joh|CNEI-I-|wpX;+a(+2u-JOyMX5_ksb3XMH+epdhY!hu~9V!cGGy zX|UHv=!=c_`@Q_Zn0JWX_)Dy~^Ou0htH|E!3q+!;*S&91TzeG({ls(iqAGVUB|a9 zBkPyjn}I~qyO*HtrxwWGX>**sOI?;9pHthjR|1F$rHG@v)K2b@86SLMm(mwF$1;7G zN&r%mg%<$l9t6@=^3XWyt0=^TNS(8aP65#Bbd-i;IrbJqO*1;_MpD!$32OQ{gY zYr$pFK&q|D)SK%fX8RXKy~GWA@2#aTymaJ*0cicmyGQ<;PR8he_OF_$*n935jO-Oe z%vN<@Dq_vHo%g2vYfBJ?=I$Jj(P=xr*CyUrvG-mM29S@oRcm)ZJctl)?+D&nI7Yaq zeKl*7zJ{k0BmBz?1e{R!`=N9$p?OxD4&#d%V!-CXnc$w{8)#$Q@p`t*S?5P%lyN@E z8{ofcFCSsA@)f14J7Izw+F9Luw8m(EqI;&TM=(I?QtZgG$2{^8)2jBOCwrMelv_ol zUR(OFlQcT~t|bfGz2!0BI2;5d`Qttg&Jvc0?J*Frh#a)n(ic2^qZMpam#m!fYp+O+ zO>eXN+R7pUN`ZekhMu$i0*?p#FQXpYNHWjooxQDohDcWxg}u8hP^|s>`=JO!k0*Ez zT46tFJvY;7R_j)GBe6OSDX|{l2GIy3@cj`niTh^e9FxV)7+;7`_s()KX~!pEgnr}H zR&*|%uj=Fxv(|?^D?Qb1o!#|*7mj!ks^UW=qD#|$V&ii9IUNplHTdIkXnj}4`n@&3 zyYl>&stXpS&Aox0mwy><_nR7q{6J-YGV@ zy*+!Az5amnHdj}8i}lIt^Rw*y+WIx0ACQV)E_e%~^^S4jkP8 z@gv+ud;87h`&&mJC|$k)fh{~HkMj4T5D-6sjao|N*StAs&;~s zAhnK9bVQjdsuDVFZAZt_jTFgP+D>XMMS}>XQMH872qK-d^UXOq$Nh1i``#bVbI<+# zKJP<@gF$e6GC8+6Ykd3*c~IOFut9>(UC&bigX)&(R6wN{Q$bZv55DOfr}IN^oPKcq zM!f`tmGgsE3KEgNCvI8QS%vk8v-0yy)cizBxNs z1IL@eCd5JaIP41|D)U3JV+bG>nV684M;g5roX20N?wNNLut2$7uH}q1*yb_p5u$0aL&loDP zGZHg~VliiKX%}ENFzg@w7x~-QPN9&yVGKkfO($1KpJ1_{HA$)IGs8Qvb{4;AE^jH+ zyXH&AtG0&nQ?Z@U-7jRf9(8PzX^TmF(c{X-Cu1U&z zw1C_=L2$DmE2M3=Ye3gOi7kySQ>W{+SDlGa3mH{m+y-sWLFYaK~^$=KM= zB)ARhrVO++p{o^_h>@lIALp|d_XgwVPJvz7%+N#*=f!X?cAxPXWAH!F0)mxadBss8 zRkgD7WoRAsJq;KYP9>P(fdn~j$LF-jLnBuKW3aQVzp9O?Ax=6$HX)?>%#E3pCrIPE zXezA%a?~L^^wX)9vohR(l&t=uq-MulnJrq}j( zDA@LEg4W-g*R#8aUq97(J)UNda5M66+IBS9y6SCwcfJRRrv*%&b2JKVD3d(kzj5bg zzbrIl>{l;DPDr)frcZlW$PS8Ts)h)iUZvns-1JYu9kv*~0h391>xaS>pP%>@vC_4r z5&_cxO~~QC+ln8@vQEd(=^$yX`#lpAhsRp2SdA-L*l3OZ7yWbfmUj4Q$`sErTo<& zD5u4I;fcgOk`ZGeh>Y{-)QVC+%$68n=s^+Ioe@|SmyKh;xY>`ZreU$)Ht z29{0gh>6nHV5G*7pI6m3!yjfX!#J|qClWL(R0`$)+AiOz6o*-HJv_a=y{x9Gn{U6e zW>Dv=zB(71`#+Z|P0}mq&Ri?KaVvSUZMt9a=pFZ%sK5vJnsZ5$F|FOA9n2)0?X%f) z1Xm+7b-yf56b|bXsk(jwKS~{_S#FIy>O*;eGsgKvyeYLN3iHKzfBhT;8n(Rn`RbJO zOv$84`4SyIJY@B-b>!rFbFA(}8$Xd#quH%og;DRcP%C;asKToCb{9Cla}{P?pO1ER z8t~|J24gJ@eU6t?&gUYc!yq+j^0U73@fr&AsY~{|`QfA2<|$B=O0eU`%*V4cvif+3 zbOoCIaPey2)BIq@$t{75gA6IXMqlB(YPAE`nv3Qx$8JU(kSmw&{}@SMy%fAxm-TcK z$_$JsJ42xMB;*tzbp|7jmN$58>t26EBw2XN$rrkP0KHlB(uTVnw@kq1my!%|hDW;uq1K5JB}w5eGOx)q zc|JNWO3eFhI2Ee_f1SNOw^(hJIyFpzZ zs_Bj}u;MX;51ee7r~fFdt7eZY7Hqdjie@ulz~!CYsj@RO^s4N4!)3^okF1O*0h}nd zho=jW&k7*JHI4}bM7R^s++Od>_#Nk#jeG!cfCl&QZK;0Wd9qaWLLtVY|Gx$TWOzOt%la7kMQPd+vB861;dFc)Z+3O^uC@xZM9?NY=l# Wr;FhC)EfbS03aI(01(jM{`wy}yzPqs literal 0 HcmV?d00001 diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..8dee0c4 --- /dev/null +++ b/readme.md @@ -0,0 +1,799 @@ + _____ _____ _ _ _______ __ _____ ____ _ _ + | __ \| __ \| | | |/ ____\ \ / /\ | __ \ / / /| || | + | | | | |__) | | | | | __ \ \ /\ / / \ | |__) | / / /_| || |_ + | | | | _ /| | | | | |_ | \ \/ \/ / /\ \ | _ / / / '_ \__ _| + | |__| | | \ \| |__| | |__| | \ /\ / ____ \| | \ \ / /| (_) | | | + |_____/|_| \_\\____/ \_____| \/ \/_/ \_\_| \_\/_/ \___/ |_| + + The "Other" Commodies Exchange Game + A C64 Port of Drugwar//e + Copyright 2018 Jay Moore - A FOSS Game + https://drugwar64.sourceforge.io + https://drugwar2e.sourceforge.io + + +Contents: + +About +Instructions +Files +Updates +Support +License + + + +About: + +Drugwar/64 is a port of Drugwar//e. Here's where it might get +confusing. Drugwar//e is itself an Applesoft BASIC recreation of the +TI-BASIC (TI83) game DRUGWAR which, itself, was based off a game John +E. Dell wrote for the IBM PC and TRS-80. + + +Drugwar//e was written in Applesoft BASIC using the help of Loz's +"Virtual Basic" application. The original TI-BASIC source code was +used to duplicate game mechanics, logic, and price generation to +recreate an "authentic" expierence. + +Drugwar//e 1.03 was used as the codebase for the port and the process +lead to me finding a bug in the 1.03 code that had been missed several +times before. The only major changes between 64 1.01 and //e 1.04 are +how text is displayed; the rest of the "core" code is actually un- +touched. I was actually able to use "Virtual Basic" to generate code +that was 100% C64 compatible after converting it all to lowercase. +Both because most of the changes were valid syntax in Applesoft, and +the program doesn't actually know the syntax; it largely just numbers +lines and resolves for goto and gosubs. + +The irony of having a C64 port lies in the fact I never owned or used +one in my youth. I knew practically nothing about it other than it was +6502 based with a SID chip and what I'd seen from YouTube videos. In +fact this port was the first and, so far, only game I've actually +played on a C64. + +Instructions: + +To play Drugwar/64, put the disk in to your 64 and enter LOAD "*",8 or +something. It's the only thing I put on the disk. + +Playing the game is rather simple. Various options on menus have a +letter emphasised (L)ike (T)his. Merely enter the letter of the option +you want. For yes or no questions, simply enter Y for yes; the computer +will accept anything else as N. To "back out" of a menu, simply enter +nothing at the prompt. Promps that require you to enter "0" to back +out indicate so in the game. Some interactions, like the police, you +cannot escape out of. + + +Drug prices change every day, and random events can cause them to be +really high or really low. You start out with a debt of $5000 that +you must pay the loan shark; interest on this loan is calculated +every day. The Loan Shark can only be visited in The Bronx. Also in +The Bronx is the bank, where you can deposit money in a savings +account to not only keep it safe; but collect daily interest. + + +Beware, both cops and muggers can be found on the subway. If you deal +too heavily, the police will come after you. Also found on the subway are +chances to upgrade your abilities by purchasing a larger trechcoat for more +inventory space as well as the ability to buy guns to fight the police. Be +warned, every gun you buy consumes five inventory slots. + +Buy low, sell high...just not on your own supply. Pay off your debt and +earn as much as possible. + +The game ends when you die or complete 30 days. + + +Files: + +Your DRUGWAR64.ZIP package contains the following file: + + DRUGWAR64.d64 - Disk image containing DRUGWAR + drugwar64v101.bas - Commodore BASIC source + drugwar64v101.baz - the Virtual Basic file used to generate the C64 BASIC + README.txt - This readme file + +These files are also available indvidually on the project page. + + + +Updates + +29-OCT-2018: Version 1.01 + + Inital release of C64 Port. Based off Drugwar//e 1.03 code. + + Please see Drugwar//e readme for updates to the core logic. + + + +Support + + If you encounter problems while running Drugwar//e, please make a + note of the exact error (including line number) and file a ticket + on the Sourceforge Project page; https://drugwar64.sourceforge.io. + + You may also contact me by email: dewdude(at)gmail.com + You may also find me on Twitter: _NQ4T (yes, underscore) + + + + +License + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED 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 FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR 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 with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file